Automotive Software

ICMPv4 - Parameter Problem 본문

이더넷/스택 개발

ICMPv4 - Parameter Problem

AutoSW 2023. 3. 7. 00:03

이더넷 수신기가 IP 다이어그램 내에서 잘못된 필드를 인지하면 ICMPv4의 Parameter Problem 메시지를 전송하여 송신기에 잘못된 부분을 알려 줄 수 있다. 이때 수신기는 이 메시지를 전송함으로써 송신기에게 해당 메시지가 처리되지 않음을 명시적으로 알리게 된다.

IPv4에서는 대부분 헤더 옵션 필드에서 문제가 발생하며, IPv6에서는 헤더 필드상의 값이 처리 범위를 벗어나거나 옵션 중의 하나 또는 일부를 인지하지 못하는 경우에 종종 발생된다.

  • ICMPv4 Parameter Problem Message Format
0 ------- 3 4 ------- 7 8 -------  11 12 ------- 15 16 -----  19 20 ----- 23 24 ----- 27 28 ----- 31
Type = 12 Code = 0 or 1 or 2 Checksum
Pointer, only code is 0 Unused
Original IP Datagram (원본 IP 헤더 + 데이터 필드내의 첫 8 바이트)
...
  • Type : ICMP 메시지 타입 ID, 12
  • Code : 세부 문제 코드
    • 0 (Pointer Indicates the Error) :  대개의 경우 사용되며, Pointer 필드를 통해 에러로 확인된 곳을 알려줌
    • 1 (Missing a required option) : IP 계층에서 옵션 필드를 사용해야 하나 포함되지 않은 경우에 사용되며, 포함되지 않았으므로 에러로 확인된 곳을 알 수 없음
    • 2 (Bad Length) : 데이터그램의 전체 길이가 부정확할 때 사용됨
  • Checksum : 16 비트 체크섬
  • Pointer : Code가 0 일 경우, 문제가 발생한 필드의 시작점을 표시
  • Unused : 0 값으로 남겨둠
  • Original IP Datagram : 전체 IP 헤더와 페이로드상의 첫 번째 8바이트의 데이터

'이더넷 > 스택 개발' 카테고리의 다른 글

이더넷 네트워크 장비  (0) 2023.11.17
IP 주소 할당 기법  (0) 2023.11.16
ICMPv4 특성 - 에러 처리  (0) 2023.03.07
와이어샤크가 없으면 사라지는 이더넷 프레임  (0) 2023.03.03