Information Security ˗ˋˏ ♡ ˎˊ˗

Security/Network

[Network] Ethernet/TCP/IP Header 구조

토오쓰 2020. 9. 7. 20:09

 

Ethernet/TCP/IP Header 구조 살펴보기

 

 

1. Ethernet Header(IEEE 802.3)

 

 

DA(Destination Address) 목적지의 2 계층 주소를 나타내며 6byte(48bit), 주소의 첫 번째 비트가 1이면 멀티캐스트, 모든 비트가 1이면 브로드캐스트
SA(Source Address) 출발지의 2계층 주소를 나타내며 6byte(48bit)
Ethernet Type MAC 프레임 데이터 부분에 있는 상위계층의 프로토콜 종류 표시, 0x0800이면 IPv4 패킷, 0x0806이면 ARP, 0x8100이면 VLAN Tag가 Ethernet 헤더와 L3 패킷 사이에 붙는다는 의미
Length 데이터 영역의 길이를 표시
Data 상위 계층으로부터 받은 데이터 또는 상위 계층에 전달할 데이터, 최대 1500byte, 최소 46byte
Frame Check Sequence Preamble과 FXS 부분을 제외한 유효한 MAC 프레임의 비트열에서 오류를 검사

 

2. TCP Header

Source Port/Destination Port TCP로 연결되는 가상 회선 양단의 송수신 프로세스에 할당된 네트워크 포트 주소
Sequence Number 순서 번호, 송신자가 지정하는 송신 번호
Acknowledgement Number 응답 번호, 수신 프로세스가 제대로 수신한 바이트의 수를 응답하기 위해서 사용
Data Offset TCP 세그먼트가 시작되는 위치를 기준으로 데이터의 시작 위치를 나타내므로 TCP Header의 크기가 된다. 32bit WORD 단위로 표시
Checksum TCP 세그먼트에 포함되는 프로토콜 헤더와 데이터 모두에 대한 변형 오류를 검출하려고 사용

 

TCP Flags

URG Urgent Pointer 필드가 유효한지를 나타낸다.
ACK Acknowledgement Number 필드가 유효한지 나타낸다.
PSH 현재 세그먼트에 포함된 데이터를 상위 계층에 즉시 전달하도록 지시할 때 사용한다.
RST 연결의 리셋이나 유효하지 않은 세그먼트에 대한 응답용으로 사용한다.
SYN 연결 설정 요구를 의미하는 플래그 비트
FIN 한쪽 프로세서에서 더는 전송할 데이터가 없어 연결을 종료하고 싶다는 의사를 상대방에게 알리는 데 사용한다.

 

2. IP Header

 

Version TCP/IP 제품은 IPv4
Header Length  IP 헤드의 길이를 32bit 단위로 나타낸다. 대부분의 IP 헤더의 길이는 20바이트이고 필드 값은 거의 5(5*32=160bit=20byte)이다.
Type-of-Service Flags 서비스의 우선순위
Total Packet Length 16bit, 전체 IP 패킷의 길이를 바이트 단위
Fragment Identifier 16bit, 다시 결합하기 위해 원래의 데이터를 식별하기 위해서 사용
Fragmentation Flags 3bit, 처음 1bit는 항상 0으로 설정, 나머지 2비트는 IP 라우터에 의해 분열되는 여부, 원래 데이터의 분열된 조각이 더 있는지 여부 판단
Fragmentation Offset  13bit, 8byte offset 조각에 저장된 원래 데이터의 바이트 범위
Time-to-Live 데이터 전달할 수 없는 것으로 판단되어 소멸되기 이전에 데이터가 이동할 수 있는 단계의 수, 1에서 255 사이의 값을 지정하여 라우터들이 패킷을 전달할 때마다 이 값을 하나씩 감소시킨다.
Protocol Identifier 8bit, 상위 계층의 프로토콜
Header Checksum 16bit, IP 헤더의 Checksum을 저장

 

참고

https://www.linux.co.kr/security/certcc/IP%20Fragmentation.htm