본문 바로가기
기타/데이터통신

데이터링크 계층(Data Link layer)

by kyumin 2022. 7. 13.

이번 주제는

Data Link layer

...

 


 

더보기

MAC Address

= LAN 카드 주소

 

  • Media Access Control
  • 네트워크 카드 NIC (Network Interface Card)에 부여되는 고유 번호
  • 길이는 48 bits (6 byte)
    • 상위 24비트는 제조사 구별 코드, 하위 24비트는 제조사가 제품에 부여한 일련 번호
  • IEEE에서 MAC 주소를 unique 하게 관리!!
    • 전 세계적으로, 동일한 MAC 주소를 가진 LAN 카드는 존재하지 않아야 함.
  • 다들 cmd에서 "ipconfig/all"로 MAC 주소 체크해 보세여

 

  • frame(이더넷에 올라오는 데이터)에는 frame을 전송한 발신 호스트 NIC의 MAC주소와 수신 호스트 NIC의 MAC 주소가 저장됨.
    • 네트워크 카드가 프레임의 전기신호를 보내서 데이터 형태로 만듦..
    • 즉, 프레임을 보내는 녀석이 네트워크 카드!!

 

  • 프레임(frame) = 헤더 + 데이터
  • 프레임의 데이터 = 데이터그램(datagram) = 헤더 + 데이터
  • 데이터그램의 데이터 = 패킷(packet) = 헤더 + 데이터

 

  • 각 호스트는 수신되는 프레임을 읽어 들여 destination MAC 주소 체크
    • 자신의 MAC 주소와 일치하는지 체크, 일치 시 해당 프레임 처리
      • 네트워크 계층(상위 계층)으로 데이터(frame의 데이터 = 데이터그램) 전달
      • 에러 체크도 함께 수행

 

  • 데이터링크 계층은 LAN 안에서 돌아감.
  • 라우터와 라우터가 연결되어 인터넷을 만듦.
  • 네트워크 카드끼리 데이터를 주고 받음.

 

 

 

 

 

더보기

Ethernet 이더넷

 

  • 유선 LAN에서 가장 널리 사용되는 기술
    • 당시 사용되고 있었던 링 방식(node가 죽어버리면 다 망가지는...)에 비해 설치 및 유지 비용이 저렴
  • 버스 형태, 전송 속도: 10Mbps - 10Gbps(1초당 10억 비트 전송)(bps = bits/sec)

 

 

 

 

더보기

이더넷 프레임 구조 **

 
 
Preamble
Start of frame delimiter
MAC destination
MAC source
optional
Ethertype or length
Payload
CRC
Interframe gap
7B of 10101010
1B of 10101011
6B
6B
4B
2B
46-1500B
4B
12B
동기화!!
(시간 맞추기)
시험(?) 삼아 보내는...
11이 되면 읽기 시작!
목적지
맥 주소
수신지
맥 주소
 
데이터의 길이
데이터
(=데이터그램)
-에러검출용
- 기존/새로운 쳌섬이 같은지 확인..
다음 프레임까지 시간차를 둔 후에 프레임을 띄움

 

헤더 header

데이터 data (= 데이터그램)

테일 Tail

 

 

 

 

 

 

 

 

 

 

  • NIC을 가지고 이더넷 LAN에 연결되어 있는 PC S --> PC R
  • S가 LAN 상에 모든 NIC한테 프레임 전송(버스 상에 전자기 신호가 브로드 캐스팅), 목적지 MAC 주소 덕분에 맞는 곳으로 찾아갈 수 있음. / 해당 프레임의 헤더에 R의 MAC 주소, S의 MAC주소가 차례로 기록
    • R의 NIC는 LAN에 올라오는 프레임을 계속 체크. 프레임 헤더의 목적지 MAC 주소가 자신의 MAC 주소와 같기 때문에 에러체크 후 상위 계층으로 올림!
      • payload에 있는 데이터만 상위 계층으로 올려줌
      • 응답이 필요하면 R도 프레임을 만들어 S로 전송!
      • 다른 PC들은 프레임 무시

 

 

 

 

 

더보기

MAC 주소와 IP 주소

 

MAC 주소를 이용하여 LAN 안에서 데이터를 보냄. 

 

그런데 이때 S는 R의 MAC 주소를 어떻게 아는가

 

ex)...

 

LAN 안에 웹 서버가 하나 있고, 이 웹 서버의 도메인 주소를 unknown.school.ac.kr.

브라우저 주소 창에 도메인 주소를 입력하면, 웹 브라우저는 DNS를 통해 웹 서버의 IP 주소를 알아낼 수 있음!!

 

하지만 여기서...

어떻게 웹 서버의 MAC 주소를 알아내지?

 

ARP(Address Resolution Protocol) 이용하기..!!

  • ARP 프로토콜
    • 데이터 링크 계층 프토로콜.
    • 인터넷은 IP 주소에 기반하는 반면에, 데이터링크 계층은 MAC 주소에 기반!!
    • IP --> MAC 주소의 주소 맵핑이 필요한데, 이를 위한 프로토콜이 바로 ARP..
  • 프레임을 생성할 때마다 ARP를 수행하면 비효율적이므로, 각 호스트는 알아낸 MAC 주소를 캐시하여 사용..
    • IP:MAC ADDRESS
    • 캐시된 주소가 재사용되지 않으면? 20분 후 무효화!!!!

 

# X의 MAC 주소를 질의하도록 설계된 프레임을 전송, 즉 브로드캐스트 프레임(D라고 가정)을 LAN상에 보낸다.

    • 이때, 목적지 주소 값이 FF.FF.FF.FF.FF.FF이면 브로드캐스트 프레임!!
    • 브로드캐스트 프레임의 경우에는 모든 호스트들이 해당 프레임을 읽어 들여야 함. 즉, 프레임 D를 모든 호스트(네트워크 카드)가 읽어 들임.
    • D를 읽어들인 호스트 중 서버 X도 있음. 이에 맞춰 X는 자신의 MAC 주소를 알려줌.

# 프레임 D를 읽어 들인 웹 서버

    • 프레임에 들어있는 데이터 부분에 저장되어 있는 ARP 질의 데이터를 체크.
    • 질의 내용에 자신의 IP가 있다면 자신의 MAC 주소를 질의한 것으로 보고 응답 프레임을 ARP 질의를 보낸 호스트로 보냄.

 

 

 

 

ARP 응답은 일반적으로 유니캐스트

ARP 요청은 일반적으로 브로드캐스트

 

 

 

더보기

허브 Hub

 

  • (동일) LAN 구성을 위해 사용하는 통신장비, 이전에는 dummy hub가 주로 사용됨
  • 여러 대의 컴퓨터를 LAN(이더넷)에 연결하기 위해 사용(버스 형, 성 형)
  • 포트에 커넥터를 연결. 멀티 포트 지원.

 

  • 더미 허브(dummy hub)에 여러 대의 컴퓨터가 연결 돼 있다면 충돌이 자주 발생..
    • 그로 인해 congestion이 쉽게 발생할 가능성이 높음.
    • 즉, 노드 수가 많을 수록 충돌 확률이 높음
    • 이를 해결하기 위해선???

 

 

 

 

더보기

브릿지 Bridge

 

  • 하나의 LAN 안에 여러 개의 호스트를 연결해야 할 경우 >> 브릿지를 통해 congestion 발생으로 인한 성능 저하 빈도를 줄일 수 있음
  • 브릿지는 프레임의 MAC 주소를 참조하여...
    • 러닝 Learning: 포트 별 MAC 주소의 자동 인식 및 저장
    • 플로딩 Flooding: 들어온 포트를 제외한 다른 모든 포트로 프레임을 넘겨줌
    • 포워딩 Forwarding: 지정된 destination port로 프레임을 relay 시킴
    • 필터링 Filtering: 목적지 포트가 아니라면 프레임 통과를 막음(포워딩과 동시 수행!)

 

  • congestion을 피할 수 있는 이유?
    • 여러 개의 PC들이 허브에 직접 연결되어 있다면 데이터 충돌 확률은 PC 개수에 비례하며 증가
    • 3개의 세그먼트로 분리 후 각 허브에 PC를 나누어 연결 한다면, PC간에 데이터 충돌 발생하여 확률 감소
    • 서로 다른 세그먼트 간에는 프레임 전송 빈도가 낮을수록 성능에 긍정적 효과 발생.
    • 필터링을 해주기 때문에..

 

  • LAN 전체적인 측면에서 볼 때, 최대 데이터 전송률을 높이는 효과!!!
    • 브릿지를 사용하지 않는다면, 허브의 전송 대역폭 R이 최대 데이터 전송 속도
    • 세그먼트가 3개라면, 각 세그먼트 안에서 전송 대역폭 R의 속도로 데이터 전송 가능. 즉 3배의 데이터 전속 속도로 LAN 동작 가능

 

 

 

 

더보기

스위치 Switch

 

  • 브릿지 기능을 가진 허브
    • 더미 허브의 성능을 개선한 제품
    • 브릿지가 현재는 스위치!

 

  • MAC 주소 테이블을 유지함 (브릿지와 같은 기능)
    • 더미 허브와는 달리 목적지 호스트로 프레임을 relay
    • 두 개의 서로 다른 프레임 전송 가능
    • 가격대 성능이 좋은 가성비
    • (dummy)허브와 브릿지를 대체해가고 있음

 

# 브릿지와 차이점: 허브 대신 스위치를 놓고 PC와 연결!! (브릿지는 허브를 놓고 PC와 연결)

 

더보기

LAN을 넘어서....

 

  • WAN: LAN들의 연결
    • LAN은 기본적으로 브로드캐스트 데이터를 보낼 수 있는 곳.
    • 인터넷과 같이 수 백/수 천 만개의 LAN으로 구성된 거대 네트워크에서 브로드캐스트 데이터를 보낼 수 있게 한다면 문제 발생
    • 따라서 이런 브로드 캐스트는 막혀 있음.
      • 다른 LAN과 ARP를 사용할 수 없음. ARP는 동일 LAN 안에서만 수행 가능

 

그러면...

동일 LAN에 없는 컴퓨터와 어떻게 통신을 하는가???????

 

이때!! 라우터 개입..

 

다음 글에 계속!!

 

2022.07.13 - [Data/개념] - 네트워크 계층(Network layer)

반응형

'기타 > 데이터통신' 카테고리의 다른 글

네트워크 계층(Network layer)  (0) 2022.07.13