IP 패킷 헤더: 형식, 필드

⚡ 스마트 요약

IP 헤더는 모든 IP 패킷의 시작 부분에 배치되는 메타데이터로, 버전, 헤더 길이, 전체 길이, TTL(Time to Live), 프로토콜, 체크섬, 출발지 및 목적지 주소와 같은 필드를 포함하며, 라우터는 이를 읽어 데이터를 전달합니다.

  • 🧭 목적 : IP 헤더에는 라우팅 및 전달 정보가 저장되어 모든 패킷이 네트워크를 통해 올바른 목적지에 도달합니다.
  • 📏 크기 : IPv4 헤더의 크기는 인터넷 헤더 길이 필드에 의해 결정되며 20바이트에서 60바이트 사이입니다.
  • 🧱 주요 분야: 핵심 필드에는 버전, IHL, 서비스 유형, 총 길이, TTL, 프로토콜, 체크섬 및 주소가 포함됩니다.
  • 🔀 분열: 식별자, 플래그 및 조각 오프셋을 통해 대용량 데이터그램을 올바르게 분할하고 재조립할 수 있습니다.
  • 🆚 IPv4 대 IPv6: IPv6는 가변 헤더를 고정된 40바이트 헤더로 대체하고 체크섬 필드를 삭제합니다.
  • 🤖 AI 지원: AI 패킷 분석기는 IP 헤더를 자동으로 분석하여 이상 징후를 표시하고 문제 해결 속도를 높입니다.

IP 패킷 헤더 형식 및 필드

IP 헤더란 무엇입니까?

IP 헤더는 IP 패킷의 시작 부분에 있는 메타 정보입니다. 여기에는 IP 버전, 패킷 길이, 출발지 및 목적지와 같은 정보가 표시됩니다.

IPv4 헤더 형식은 길이가 20~60바이트이며, 라우팅 및 전송에 필요한 정보를 포함합니다. 헤더는 버전, 헤더 길이, 전체 길이, 식별자, 플래그, 체크섬, 출발지 IP 주소, 목적지 IP 주소와 같은 필드로 구성됩니다. 이러한 필드들은 라우팅 및 전송에 필요한 필수 데이터를 제공합니다. transmit 패킷을 한 호스트에서 다른 호스트로 안정적으로 전송합니다.

IPv4 헤더 구성 요소/필드

아래 다이어그램은 IPv4 헤더의 전체 형식을 보여주며, 각 필드는 올바른 위치와 비트 너비로 그려져 있습니다.

IPv4 패킷 헤더 형식 다이어그램으로 모든 필드와 해당 비트 위치를 보여줍니다.

다음은 IP 패킷 헤더의 다양한 구성 요소/필드입니다.

  • 버전 : 첫 번째 IP 헤더 필드는 4비트 버전 표시기입니다. IPv4에서 이 4비트 값은 0100으로 설정되며, 이는 이진수로 4를 나타냅니다. 라우터가 지정된 버전을 지원하지 않으면 패킷은 삭제됩니다.
  • 인터넷 헤더 길이: 인터넷 헤더 길이(IHL)는 4비트 크기입니다. HELEN(Header Length)이라고도 합니다. 이 IP 구성 요소는 헤더에 포함된 32비트 워드의 개수를 나타냅니다.
  • 서비스 유형: 서비스 유형은 차별화된 서비스라고도 합니다. Code DSCP(데이터그램 우선순위) 필드는 데이터 스트리밍이나 VoIP 통화의 서비스 품질과 관련된 기능을 제공합니다. 처음 3비트는 우선순위 비트입니다. 또한 데이터그램을 처리하는 방법을 지정합니다.
  • 총 길이: 전체 길이는 바이트 단위로 측정됩니다. IP 데이터그램의 최소 크기는 20바이트이고 최대 크기는 65,535바이트입니다. HELEN 함수와 전체 길이를 사용하여 페이로드의 크기를 계산할 수 있습니다. 모든 호스트는 576바이트 데이터그램을 읽을 수 있어야 합니다. 그러나 네트워크의 호스트가 데이터그램을 읽기에 너무 큰 경우, 데이터그램 분할 방식이 널리 사용됩니다.
  • 신분증: 식별자 필드는 IP 데이터그램의 각 조각을 고유하게 식별하는 데 사용됩니다. 일부에서는 이 필드를 패킷 정보 추가와 같은 다른 용도로 사용할 것을 권장하기도 합니다. tracING.
  • IP 플래그: 플래그는 조각을 제어하고 식별하는 데 도움이 되는 3비트 필드입니다. 가능한 구성은 다음과 같습니다. 비트 0은 예약되어 있으며 0으로 설정해야 합니다. 비트 1은 조각화를 하지 않음을 의미하고, 비트 2는 더 많은 조각을 의미합니다.
  • 조각 오프셋: 프래그먼트 오프셋은 특정 데이터그램에서 특정 프래그먼트보다 앞쪽에 있는 데이터 바이트 수를 나타냅니다. 8바이트 단위로 지정되며 최대값은 65,528바이트입니다.
  • 생존 시간: TTL(Time To Live)은 데이터그램이 인터넷 시스템에서 유지될 수 있는 최대 시간을 나타내는 8비트 필드입니다. 데이터그램이 처리될 때마다 TTL 값은 1씩 감소합니다. TTL 값이 0에 도달하면 데이터그램은 폐기되어 패킷이 무한정 전송되는 것을 방지합니다. TTL 값의 범위는 0에서 255까지입니다.
  • 프로토콜 : 이 IPv4 헤더 필드는 데이터그램의 뒷부분에 어떤 인터넷 프로토콜이 사용되는지를 나타냅니다. 예를 들어, 숫자 6은 TCP를, 17은 UDP 프로토콜을 나타냅니다.
  • 헤더 체크섬: 다음 구성 요소는 16비트 헤더 체크섬 필드로, 헤더에 오류가 있는지 확인하는 데 사용됩니다. IP 헤더는 체크섬 값과 비교됩니다. 헤더 체크섬이 일치하지 않으면 패킷은 폐기됩니다.
  • 소스 주소: 소스 주소는 IPv32 패킷에 사용되는 소스의 4비트 주소입니다.
  • 목적지 주소: 목적지 주소 역시 32비트 크기이며 수신자의 주소를 저장합니다.
  • IP 옵션: 이는 IPv4 헤더의 선택적 필드로, IHL(인터넷 헤더 길이) 값이 5보다 큰 경우에 사용됩니다. 보안, 레코드 경로, 타임스탬프 및 유사한 옵션과 관련된 값과 설정이 포함됩니다. 옵션 목록은 일반적으로 EOL(End of Options List) 표시로 끝납니다.
  • 날짜 : 이 필드는 프로토콜 계층에서 IP 계층으로 데이터를 전달한 후의 데이터를 저장합니다.

IPv4 헤더 길이 계산 방법

인터넷 헤더 길이(IHL) 필드는 라우터에게 헤더의 정확한 길이를 알려주어 헤더가 어디에서 끝나고 데이터가 어디에서 시작되는지 알 수 있게 해줍니다. 이 필드는 4비트 폭이기 때문에 길이를 바이트 단위로 직접 저장하지 않습니다. 대신 32비트 워드 단위로 헤더 길이를 계산하며, 각 워드는 4바이트에 해당합니다.

IHL 값을 바이트로 변환하려면 4를 곱하십시오.

  • 최소 : IHL에서 허용되는 최소값은 5이므로 5 × 4 = 20바이트입니다. 이는 옵션이 없는 헤더입니다.
  • 최고: 가장 큰 IHL 값은 15이므로 15 × 4 = 60바이트입니다. 나머지 40바이트는 선택적 필드를 저장하는 데 사용됩니다.

예시를 통해 살펴보겠습니다. 패킷이 IHL 값 6으로 도착하면 헤더 길이는 6 × 4 = 24바이트입니다. 즉, 표준 20바이트 헤더 뒤에 4바이트의 옵션이 있다는 의미입니다. 페이로드의 크기를 구하려면 다음과 같이 하면 됩니다.trac총 길이 필드에서 헤더 길이를 가져옵니다. 총 길이가 1,500바이트이고 헤더가 24바이트인 경우 페이로드는 1,500 - 24 = 1,476바이트입니다.

이 계산은 단편화 과정에서 중요합니다. 라우터는 헤더 크기를 알아야 각 단편이 네트워크의 최대 허용량을 초과하지 않고 전송할 수 있는 데이터 양을 계산할 수 있기 때문입니다. Transmission 단위(MTU).

IPv4 헤더와 IPv6 헤더 비교

IPv6 헤더는 IPv4 헤더보다 더 간단하고 처리 속도가 빠르도록 재설계되었습니다. 고정 길이 헤더를 사용하고 사용 빈도가 낮은 옵션은 별도의 확장 헤더로 이동시켜 라우터가 회선 속도로 패킷을 전달할 수 있도록 했습니다. 아래 표는 두 헤더를 필드별로 비교한 것입니다.

제품 특장점 IPv4 헤더 IPv6 헤더
헤더 크기 20~60바이트(가변) 40바이트(고정)
필드 수 13개 필드와 옵션 8개 분야
주소 길이 32비트 소스 및 대상 128비트 소스 및 대상
헤더 체크섬 선물 제거됨
파편화 필드 기본 헤더(식별, 플래그, 오프셋) Fragment 확장 헤더로 이동됨
형식 헤더 내부에 포함됨 확장 헤더에 포함됨
길이 필드 전체 길이(헤더 + 데이터) 페이로드 길이 (페이로드만 해당)

IPv6는 체크섬과 가변 길이 옵션을 생략하기 때문에 헤더에 포함되는 필드 수가 적고, 홉별 재계산 없이 하드웨어에서 처리할 수 있습니다.

IP 헤더가 중요한 이유

IP 헤더의 모든 필드는 라우터와 호스트가 영구적인 연결 없이도 여러 네트워크를 통해 패킷을 전송할 수 있도록 존재합니다. 헤더는 패킷 교환이 작동하는 데 필수적인 요소입니다.

  • 라우팅 : 목적지 주소는 각 라우터에게 패킷을 어디로 전달해야 하는지를 알려주고, 출발지 주소는 응답 및 오류 메시지를 반환할 수 있도록 합니다.
  • 루프 방지: TTL(Time to Live) 필드는 각 홉마다 감소하므로, 잘못 전송된 패킷은 인터넷을 영원히 순환하는 대신 폐기됩니다.
  • 올바른 프로토콜에 따른 배송: 프로토콜 필드는 수신 호스트에게 페이로드를 TCP, UDP 또는 다른 프로토콜로 전달할지 여부를 알려줍니다.
  • Integrity 그리고 재조립: 체크섬은 헤더의 손상을 방지하고, 식별, 플래그 및 조각 오프셋 필드를 통해 조각난 데이터그램을 올바른 순서로 재구성할 수 있습니다.

네트워크 엔지니어에게 있어 이러한 필드를 읽는 것은 매우 중요합니다. TCP / IP 패킷 캡처는 패킷 손실, 라우팅 루프 및 잘못된 구성 문제를 진단하는 가장 빠른 방법인 경우가 많습니다. IP 주소.

자주 묻는 질문

헤더 길이(IHL)는 헤더 부분만 32비트 워드 단위로 측정하며, 20~60바이트 범위입니다. 전체 길이는 헤더와 데이터를 포함한 전체 데이터그램의 길이를 바이트 단위로 측정하며, 최대 65,535바이트입니다.trac하나를 다른 하나와 비교하면 페이로드 크기를 알 수 있습니다.

단편화는 링크의 최대 크기보다 큰 데이터그램을 분할합니다. Transmission 패킷을 더 작은 조각으로 분할합니다. 식별, 플래그 및 조각 오프셋 필드를 통해 목적지는 분할된 조각들을 순서대로 다시 조립할 수 있습니다. 이는 패킷이 더 작은 MTU를 가진 네트워크를 통과해야 할 때 발생합니다.

IPv4 헤더는 버전, IHL, 서비스 유형, 총 길이, 식별자, 플래그, 단편 오프셋, TTL, 프로토콜, 체크섬, 출발지 주소, 도착지 주소의 13개 고정 필드와 선택적 옵션 필드로 구성됩니다. 그 뒤에 오는 데이터 섹션은 헤더 필드가 아니라 페이로드입니다.

아니요. IPv4 헤더 체크섬은 헤더 필드만 검사하고 페이로드는 검사하지 않습니다. TCP 및 UDP와 같은 상위 계층 프로토콜은 데이터를 보호하기 위해 자체 체크섬을 사용합니다. TTL(Time To Live)은 홉마다 변경되므로 라우터는 모든 포워딩 시 헤더 체크섬을 다시 계산합니다.

TTL 값이 0에 도달하면 라우터는 패킷을 버리고 출발지에 ICMP 시간 초과 메시지를 반환합니다. 이는 패킷 손실을 방지합니다.ping 라우팅 루프에 영원히 갇히게 됩니다. traceroute 이 도구는 이러한 동작을 이용하여 경로를 따라 각 단계를 매핑합니다.

프로토콜 필드는 목적지에서 페이로드를 수신할 상위 계층 프로토콜을 식별합니다. 일반적인 값은 TCP의 경우 6, UDP의 경우 17, ICMP의 경우 1입니다. 수신 호스트는 이 번호를 읽어 데이터를 올바른 처리기로 전달합니다.

AI 및 머신러닝 도구는 캡처된 IP 헤더를 분석하여 스푸핑된 소스 주소, 비정상적인 TTL 값 또는 단편화 공격과 같은 이상 징후를 감지합니다. 이러한 도구는 수동 검사보다 빠르게 트래픽을 분류하고 위협을 표시하지만, 조치를 취하기 전에 엔지니어가 발견 사항을 확인해야 합니다.

GitHub 부조종사 초안을 작성할 수 있습니다 Python 또는 짧은 주석에서 IP 헤더 필드를 풀고, 플래그를 디코딩하고, 체크섬을 검증하는 C 코드. Rev생성된 비트 마스킹 로직을 주의 깊게 살펴보십시오. 1만큼의 오프셋 오차는 구문 분석 오류의 일반적인 원인입니다.

이 게시물을 요약하면 다음과 같습니다.