IP는 패킷 분할 및 조립을 답당합니다. 데이터를 보낼때에는 수신주소를 지정하고, 패킷에서 보낸 수신 주소와 자신의 주소를 비교합니다. 만약 비교했을 때 일치하지 않는다면 다음 호스트로 전달하고, 일치한다면 전송 계층으로 받은 패킷을 전달합니다.
1. IP version : IP의 버전을 나타내는 영역입니다.
2. Header Length : 헤더길이는 4바이트를 기본으로 규정합니다. IPv4에서는 헤더 길이가 가변이므로, 이를 규정하는 영역이 필요합니다. defualt는 5이고, 최소크기는 20바이트 옵션영역을 사용하게 되면 60바이트까지 확장이 가능합니다.
3. Total Length : 헤더와 데이터를 합한 IP패킷 전체길이를 바이트 단위로 나타내며, 65,535바이트의 크기를 가지고 있습니다.
4. Identification : IP패킷을 식별하기 위해 사용됩니다. 이 영역의 값을 참조하면 어느 원본 패킷으로부터 분할되었는지를 알 수 있습니다.
5. Fragment offset : 분할된 패킷을 재조립할 수 있도록 원래 위치를 알려주는 영역입니다.
6. TTL : 네트워크 자원잠식을 방지하는 옵션이며, 라우터를 지날때마다 TTL값을 감소시켜 값이 0이된 패킷을 받으면 폐기합니다. 폐기된 패킷을 수신하면 전송지에 이를 알리는 메시지를 보냅니다.
7. Protocol : 데이터에 어떤 상위계층 프로토콜이 포함되었는지를 나타냅니다.
8. Checksum : 네트워크를 통해 패킷이 전송될 때 발생한 오류를 검출하기 위해 사용하는 영역입니다. 데이터 전체가 아닌 헤더의 오류만을 검출하며, 오류가 검출되면 복구하지 않고 폐기합니다.
9. Source address : 패킷을 전송하는 호스트의 주소를 나타내는 영역입니다.
10. Destination address : 패킷을 수신하는 호스트의 주소를 나타내는 영역입니다.
인터넷 제어 메세지 프로토콜은 일부 데이터가 예상대로 도착하지 않는경우, 수신장치에서 전송장치로 오류를 생성합니다. 이는 네트워크 성능 평가 진단 도구로써 활용되며, DDos공격 실행에 사용할 수 있습니다.