OSI 7 layer의 2계층 data link에서 여러 프로토콜 중에 이더넷에 대해 설명하고자 한다.
개괄적인 설명은 이전 글 참고
2024.02.16 - [네트워크(Network)] - OSI 7-Layer
Data link 의 protocol 종류는 다양한데 , 그중에서도 Ethernet(이더넷)이 가장 보편적으로 쓰이고 있다.
보통 LAN 환경에서는 이더넷, WAN환경에서는 PPP, HDLC, frame-relay 등이 있다고 설명하고 배우지만
이더넷 만으로도 충분히 커버 가능하기 때문에 호환도가 높은 이더넷을 많이 사용하고 있다.
2계층 구성은 Preamble + Frame으로,
이더넷의 구성에 대해 살펴보고자 한다.
frame은 (header + playload + footer) 로 나뉘어있다.
MTU란?
Maximum Transmission Unit 으로
L2 frame 에서 전송 가능한 최대의 payload 크기를 이야기한다.
이더넷의 payload 최대 사이즈는 1500bytes이므로
6 + 6 + 2 (최소 46~ 최대 1500) + 4 = 64~1518bytes 인 것이다.
이후에 자세히 설명하는 것으로 하고,
다시 구성의 처음부터 살펴보기로하자.
2계층 헤더의 시작부분에 붙어있다.
데이터 신호의 동기화 : 동일 패턴 (10101010을 7회 반복 후 마지막에 10101011)
마지막 8번째 byte = start frame delimiter(SFD) 를 의미한다.
목적지 MAC Address
ex) To
출발지 MAC Address
ex) From
## 왜 다른 계층과 달리 목적지(DA)가 먼저 나오는걸까?
통신은 순차적으로 비트처리를 하기 때문에 목적지가 먼저 나오면 주소를 먼저 알 수 있어 효율적으로 빠른 처리가 가능함
때문에 목적 주소가 아닌 곳은 해당 목적지 주소를 확인하고 자신의 MAC 주소가 아닌 경우 그냥 폐기처리
(출발지 비트를 먼저 읽고 목적지를 읽는 것보다 더욱 효율적임)
## 예외적으로 broadcast, multicast 의 경우는 목적지(자신의 MAC주소)가 아니더라도 버리지 않고 처리함
정확한 명칭은 Ether Type Code로,
상위 계층(L3)의 Protocol 코드 값을 담고있음 (ex) IP : 0x0800, ARP : 0x0806 ... )
type은 de-capsulation 했을 때 헤더의 비트 값이 달라지기 때문에 중요한 역할임
= 쉬운 말로 바꿔말하자면
type에 0x0800이 담겨있는 채로 3계층에 전달되고,
3계층에서 해당 type이 IP인걸 알고 IP 프로토콜에 맞게 처리를 하게 되는 것
위에서 언급했듯 이더넷의 payload가 1500bytes인 것
## 2계층의 payload 최대 크기가 아님!
ex) ppp는 최대 1492bytes, HDLC는 페이로드 최대 1495bytes 정도로 설정될 수있다.
Frame Check Sequence로, 무결성을 지키고 데이터 손실을 막기 위해 검증하는 단계
에러를 탐지만 함 -> 탐지된 에러가 있으면 그 데이터를 고치는 것이 아니라 값을 버리는 것으로 정리
ex) CRC32알고리즘
이렇게 2계층 프로토콜 이더넷에 대해 알아보았다
모두에게 도움이 되길 바라며
Protocol : ARP (0) | 2024.09.27 |
---|---|
Protocol : IP (2) | 2024.09.26 |
subnet mask/wild mask 구분하기 (0) | 2024.09.24 |
TCP/IP 4 Layer (0) | 2024.02.20 |
OSI 7-Layer (0) | 2024.02.16 |