Version : IP 프로토콜 버전
Header Length : IP헤더의 길이
TOS(Type of Service) : 패킷 처리의 우선 순위 결정
Total Packet Length : IP 헤더와 데이터를 포함한 전체 패킷의 길이
Identification : 패킷을 구분하기 위한 고유 번호, 패킷이 분할 되었을 때 각 조각을 다시 원래의 패킷으로 조립하는데 사용
Flags : 패킷의 분할 가능 여부와 분할된 패킷의 마지막 조각인지 여부를 나타냄
Fragment Offset : 분할된 패킷의 순서
TTL(Time to Live) : 패킷이 네트워크에서 살아있을 수 있는 시간 패킷이 라우터를 통과할 때마다 1씩 감소, 0이 되면 패킷을 폐기
Protocol : IP 데이터 필드에서 사용 프로토콜
Header Checksum : IP 헤더의 오류 검출
Source IP Address : 패킷을 보낸 호스트의 IP 주소
Destination IP Address : 패킷을 받을 호스트의 IP 주소
Options : 필요에 따라 추가할 수 있는 옵션 정보, 실제로는 거의 사용하지 않음.
Hardware Type : 사용중인 Hardware 주소 타입을 나타내는 필드. 네트워크 유형을 나타낸다.
Protocol Type : 프로토콜 타입 (0x0800은 IPv4를 의미)
Hardware Address Length: 물리 주소의 길이 ex) MAC Adress 48bit가 들어감 -> 06
Protocol Address Length: 프로토콜 주소의 길이 ex) IP주소 32bit가 들어감 -> 04
Operation Code : 이 요청은 네트워크 내의 모든 장치에게 브로드캐스트 되며, 해당 IP주소를 가진 장치는 이 요청에 응답하여 자신의 MAC 주소 제공
Sender Hardware Address : ARP 요청을 보낸 호스트의 물리 주소
Sender Protocol Address : ARP 요청을 보낸 호스트의 프로토콜 주소
Target Hardware Address : Arp 요청의 대상인 호스트의 물리주소 ARP 요청의 경우, 목적지 시스템의 물리주소를 알 수 없기에 모두 0으로 설정
Target Protocol Address : ARP 요청의 대상인 호스트의 프로토콜 주소
-MAC 주소를 기반으로 IP 주소를 찾는 역할을 하는 프로토콜이다.
네트워크 장치들이 정보를 교환하거나 오류 메시지를 보내는 데 사용된다.
데이터가 의도한 대상에 도달하는지를 확인하는 데 사용된다.
일반적으로 ICMP 프로토콜은 라우터와 같은 네트워크 장치에서 사용된다.
대표적인 활용으로는 ping , traceroute, tracert 등이 있다.
IPv4 헤더의 "protocol type"이 1이면 ICMP packet 임을 나타낸다.
![]()
Type : 메시지의 유형
Code : 메시지 유형에 대한 추가 정보 제공
Checksum : 메시지의 오류를 검출
Rest of header : ICMP 유형 및 코드에 따라 내용이 달라짐
수신측 IP가 존재하지 않을 경우 라우터에서 패킷을 파기하고, 이를 ICMP로 전송.
-> ICMP Echo Request and Echo Reply Messages
Type : ICMP 메시지 유형
Code : Echo Request 및 Echo Reply 메시지에 대한 코드
Checksum : 메시지의 오류를 검출
Identifier : Echo Request와 Echo Reply를 연결하는 식별자
Sequence Number : 메시지의 순서 일련번호
Data : 메시지에 대한 추가 데이터, 가변 길이의 데이터 포함 기능