본문 바로가기

KITRI/네트워크 기초

2~ 4계층 헤더 구조

@ 2-4계층 통신

아래 그림은 Ethernet 헤더부터 IP 헤더, 그리고 TCP/UDP 헤더를 통해 패킷의 응용을 어떻게 구별하는지 그 과정을 보이고 있다.

 

@ L2 Ethernet Header


 


 Ethernet 헤더는 Destination MAC Address(6B), Source MAC Address(6B) 그리고 Ethernet Type(2B)로 구성된다.

그리고 위 그림과 같이 Ethernet Type의 값이 1536(0x600) 보다 크면 RFC 894에서 규정한 DIX 2.0 포맷이 되며(아래 그림 좌측과 같이). 만약 이 보다 작은 값이면 IEEE에서 정의한 SNAP 혹은 SAP 포맷이 된다. (현재 유선 Ethernet 망에서 다니는 대부분의 패킷은 이 DIX 2.0)

여기서 이 Ethernet Type 필드는 L3 패킷의 타입을 명시하는 역할을 하며, 예를 들어 Ethernet Type=0x0800이면 IPv4 패킷, 0x0806이면 ARP 패킷이다.  마지막으로 0x8100이면 VLAN Tag(아래 그림의 우측)가 Ethernet 헤더와 L3 패킷 사이에 붙는다는 의미이다. 이 VLAN Tag에는 VLAN ID와 QoS 정보를 담고 있는 802.1p(CoS라고도 부름)가 포함되어 있다. 그리고 VLAN Tag 이후에 L3 패킷 타입을 명시하기 위해 다시 Ethernet Type이 나오게 됨.


 


@ L3 IP Header



Ethernet Type=0x0800이면 IPv4(IP version 4) 패킷이다. 현재 전 지구상에 다니는 대부분의 패킷 타입이다. IPv4 헤더는 통상적으로 20Byte 이며. 여기에 Source IP Address(4B)나 Destination IP Address(4B)로 구성 되어 있다. (이 중에 Protocol ID(2B)라는 필드가 있는데 이 필드가 L4 패킷 타입을 명시하는 역할을 함.) 그래서 맨 위 그림과 같이 Protocol ID=1이면 ICMP(Ping이 ICMP 패킷의 일종), 2이면 Multicast에서 사용되는 IGMP(집에 IPTV에서 채널 바꾸면 셋톱박스에서 망으로 IGMPv2를 보내는것과 같음.), 6이면 TCP, 17이면 UDP

 

 

 

L4: TCP/UDP Header



UDP 헤더는 8B(바이트)이고 TCP 헤더는 20B이며, 이 두 헤더 모두 첫 2B가 Source Port Number(SP)이고, 다음 2B가 Destination Port Number(DP)입다. 여기서 SP에는 패킷 송신 단말에서 고른 random한 값이 들어가게 되구요(이를 Ephemeral Port라고 부름.), DP에 바로 "응용 트래픽"의 타입이 들어가게 됩니다. HTTP는 TCP를 사용하는 응용이므로 TCP 헤더의 DP=80이고, VoIP에서 사용되는 SIP는 UDP 헤더의 DP=5060

 

이와 같은 방법으로 Ethernet 헤더의 "Ethernet Type", IP 헤더의 "Protocol ID", TCP/UDP 헤더의 "Destination Port Number"를 통해 최종 응용(Application)이 무엇인지 확인이 가능하다.



출처 : http://www.netmanias.com/ko/post/blog/5372

/ethernet-ip-ip-routing-network-protocol/packet-header-ethernet-ip-tcp-ip

'KITRI > 네트워크 기초' 카테고리의 다른 글

L4 스위치의 가상IP 설정 및 로드밸런싱  (0) 2017.09.11
Bonding 종류  (0) 2017.09.04
스터디 Cacti SNMP 연동 실습 2  (0) 2017.07.31
스터디 HTTP 헤더 분류  (0) 2017.07.07
SNMP Cacti 연동실습  (0) 2017.06.12