안녕하세요. 취업한 공대누나입니다.
오늘은 데이터링크 계층에 대해서 알아보도록 하겠습니다.
1. 데이터링크 계층의 역할과 의미
데이터링크계층에서 데이터링크는 바로 인접한 기기 사이에 만드는 논리적인 전송로를 의미합니다.
인접한 네트워크 장치 간의 데이터 전송을 담당하게 되는데요.
어떤 단말에 대해 데이터링크를 만드는지, 데이터링크 안에 비트가 누락되지는 않았는지를 판단하기 위해
캡슐화 처리로 물리 계층의 신뢰성을 확보한다.
데이터링크 계층의 주요한 기능은 아래와 같습니다.
1) 프레이밍(Framing)
데이터에 헤더와 트레일러를 추가하여 프레임 단위의 데이터 프레임을 만듭니다.
자세한 내용은 아래에서 설명하도록 하겠습니다.
2) 흐름 제어(Flow Control)
송/수신측 간에 데이터를 주고 받을 때, 너무 많거나 너무 적게 데이터를 송수신하지 않도록 데이터 흐름을적절하게 제어합니다.
송/수신자의 데이터를 처리하는 속도 차이를 해결합니다. 두 대의 PC가 통신을 하는데, 한 대의 PC의 속도는 1Gbps, 또 다른 한대의 속도는 100Mbps이면 100Mbps에 맞춰서 보내도록 해줍니다.
3) 오류 제어(Error Control)
프레임 전송시에 발생한 오류를 복원하거나 재전송을 합니다.
2. 이더넷 프레임 포맷
이더넷에 의해 캡슐화된 패킷을 이더넷 프레임이라고 부른다.
이더넷 프레임은 프리앰블, 수신지/송신지 MAC 주소, 타입, 이더넷 페이로드, FCS라는 5개 필드로 구성되어 있습니다.
이 중 프리앰블, 수신지/송신지 MAC 주소, 타입을 합쳐 이더넷 헤더라고 부릅니다. 그리고 FCS는 이더넷 트레일러라고 부릅니다.
프리앰블 : 이제부터 이더넷 프레임을 보냅니다. 라는 의미의 8바이트의 특별한 비트 패턴입니다. 수신 측에서는 비트 패턴을 보고 이제부터 이더넷 프레임이 온다고 판단합니다.
수신지/송신지 MAC 주소
Dest Addr -> 수신지 MAC 주소
Src Addr -> 송신지 MAC 주소
타입
네트워크 계층에서 어떤 프로토콜을 사용하는지 나타내는 2바이트의 ID입니다.
IPv4라면 0x0800 IPv6라면 0x86DD의 프로토콜을 사용하여 버전에 따라 값이 달라집니다.
이더넷 페이로드 : 데이터 자체를 나타냅니다.
FCS(Frame Check Sequence) : 에러 체크를 위한 4바이트 필드입니다.
3. MAC 주소
이더넷에서 중요한 필드 중 하나가 바로 수신지 MAC 주소, 송신지 MAC 주소입니다.
MAC 주소는 이더넷 네트워크에 접속되어 있는 단말의 식별 ID입니다.
6바이트로 구성되며 00-0c-29-57-9e-12 또는 00:0c:29:57:9e:12와 같이 표현한다.
4. 통신 종류에 따른 MAC 주소의 차이
이더넷 네트워크에서의 통신은 유니캐스트, 브로드캐스트, 멀티캐스트 3가지입니다.
이 통신은 수신지에 따라 구분해서 사용하며 수신지 MAC 주소에 설정한 MAC 주소가 조금씩 다릅니다.
유니캐스트
유니캐스트는 1:1 통신을 말합니다.
송수신하는 각 단말의 MAC 주소가 송신지 MAC 주소와 수신지 MAC 주소가 됩니다.
브로드캐스트
브로드캐스트는 1:n 통신을 말합니다.
여기에서의 'n'은 같은 이더넷 네트워크에 접속되어 있는 자신 외의 모든 단말을 말합니다.
어떤 단말이 브로드캐스트를 송신하면 그 이더넷 네트워크에 있는 자신 이외의 모든 단 말이 그 프레임을 수신합니다.
브로드캐스트 시 수신지 MAC 주소에는 6바이트가 모두 1, 16진수로는 ff:ff:ff:ff:ff:ff라는 특별한 값을 사용합니다.
멀티캐스트
멀티캐스트는 1:n 통신을 말합니다.
브로드 캐스트와 비슷해 보이지만 여기에서의 'n'은 특정 그룹에 속하는 단말입니다.
그래서 어떤 단말이 멀티캐스트를 송신하면 그 그룹에 있는 단말들만 패킷을 수신하게 됩니다.
'전자 공학 > 기타' 카테고리의 다른 글
히트 싱크(heat sink)란? (1) | 2022.01.11 |
---|---|
[네트워크 기초] 5. 네트워크 계층, IP(IPv4), 서브넷 마스크 (0) | 2022.01.04 |
[네트워크 기초 쌓기] 3. 물리계층 (0) | 2021.12.26 |
[네트워크 기초쌓기] 1. 네트워크의 기초 (패킷, 프로토콜, TCP/IP 참조 모델) (0) | 2021.12.05 |
KC인증이란? (0) | 2021.03.26 |