[정리] Ethernet Frame의 기능과 구조

Data link 계층은 상위 계층의 패킷을 전달받아 프레임 형태로 변환하여 Physical 계층에 전달한다. 이때, 이더넷 헤더에는 상위 계층의 프로토콜 정보와 src, dst MAC address 정보가 담긴다. 


[그림 1] Ethernet V2 구조


위 그림은 Ethernet V2 프레임의 구조를 나타낸 것으로 IEEE802.3의 경우 'Type'이 아닌 'Length' 정보가 담겨있고 DSAP, SSAP, Control 필드가 추가적으로 구성되어 있다.


Preamble : Physical 계층에서 전송된 비트패턴으로 송신자와 수신자의 동기를 맞추는데 사용된다. 7byte크기이며 항상 10101010 으로 설정된다. 패킷 캡쳐 범위 밖이다.


SOF(Start Of Frame) : 물리계층이 끝나고 이제부터는 Ethernet 헤더라고 알려주는 신호 역할을 한다. 1byte크기이며 항상 10101011로 설정된다. 패킷 캡쳐 범위 밖이다.


Destination address : 프레임을 수신할 MAC 주소정보가 담겨있다. 6byte


Source address : 프레임을 송신한 호스트의 MCA 주소가 담겨있다. 6byte


Type : 상위계층 프로토콜 정보를 담고있다. (IP=0800, ARP=0806) 2byte


Data : 상위계층으로 부터 전달받은 데이터가 담긴다. 최소 46byte 최대 1500byte 크기를 가질 수 있다.


PAD : Data가 46byte이하 크기로 설정되면 46byte크기를 임의로 채워주는 역할을 한다.


FCS : 프레임의 오류를 확인한다. 4byte크기를 가지며 패킷 캡쳐 범위 밖이다.


[그림 2] Ethernet 프레임 캡쳐


캡쳐를 해보면 [그림 1]의 캡쳐 범위 내 필드들을 모두 확인 할 수 있다. 또한, [그림 2]에는 Ethernet 헤더의 Type 이 IP(0800) 로 표기되어 있으므로 상위 계층의 프로토콜이 IP임을 알 수 있고 실제로 하단의 IP 탭이 존재한다. IP 탭을 열면 Protocol 필드에 TCP (6) 정보가 담겨있고 아래 탭에 TCP 탭이 존재한다. 이와 같이 프레임-세그먼트-패킷의 프로토콜 조합을 그림으로 도식화 하면 아래와 같은 형식으로 구성 된다.


[그림 3] 프로토콜 조합 도식화


[그림 4]는 ICMP 패킷을 캡쳐한 화면으로 Ethernet Type은 0800 Protocol은 1로 설정된 것을 확인 할 수 있다.


[그림 4] ICMP 패킷


[그림 5] ARP 패킷