Search code examples
sipipv6icmp

ICMPv6 Protocol Unreachable (Protocol Not Supported)


SIP RFC 3261 - Section 18.4 -

If the transport user asks for a message to be sent over an unreliable transport, and the result is an ICMP error, the behavior depends on the type of ICMP error. Host, network, port or protocol unreachable errors, or parameter problem errors SHOULD cause the transport layer to inform the transport user of a failure in sending.

For IPv4 - Protocol Unreachable can be simulated by sending a SIP message over SCTP to a node which does not support SCTP.

I am confused for IPv6. There is no "Protocol Unreachable" error in ICMPv6. I do not have IPv6 set up to test. I have below questions -

  1. Does IPv6/ICMPv6 not supports "Protocol Unreachable"?
  2. RFC 4443 about type = 1, code = 3

    If the reason for the failure to deliver cannot be mapped to any of other codes, the Code field is set to 3. Example of such cases are an inability to resolve the IPv6 destination address into a corresponding link address, or a link-specific problem of some sort.

Does it mean type = 1, code = 3 maps to "Protocol Unreachable"? The intent behind asking the question here is to get maximum information about this issue.


Solution

  • You are looking at this through IPv4 glasses. The IPv4 packet header has a Protocol field, but the IPv6 packet header does not, so the Protocol Unreachable message does not apply to IPv6. The IPv6 packet header uses the Next Header field instead.

    ICMPv6 does have the Parameter Problem Message, which includes a code for: Unrecognized Next Header type encountered.