2017-04-06 204 views
1

SIP RFC 3261 - 第18.4節 -ICMPv6協議不可達(協議不支持)

如果傳輸用戶要求一個多 不可靠的傳輸要被髮送的消息,並且結果是一個ICMP錯誤,則該行爲 取決於ICMP錯誤的類型。主機,網絡,端口或協議 不可達錯誤或參數問題錯誤應該導致傳輸層通知傳輸用戶發送失敗。

對於IPv4 - 協議不可訪問可以通過在SCTP發送SIP消息,該消息不支持SCTP的節點來模擬。

我對IPv6感到困惑。 ICMPv6中沒有「Protocol Unreachable」錯誤。我沒有設置IPv6來測試。我有以下問題 -

  1. IPv6/ICMPv6不支持「協議無法訪問」嗎?
  2. RFC 4443約類型= 1,代碼= 3

    如果用於傳送失敗的原因不能被映射到任何其他 代碼,代碼字段被設置爲3的這樣的情況下實施例是 無法將IPv6目標地址解析爲相應的鏈接地址或某種鏈接特定的問題。

莫非類型= 1,代碼= 3名映射到 「協議不可訪問」?這裏提出問題的目的是爲了獲得關於這個問題的最大信息。

+2

我投票結束這個問題作爲題外話,因爲它屬於http://networkengineering.stackexchange.com/ –

回答

1

您正通過IPv4眼鏡正在看這件事。 IPv4數據包標頭有一個協議字段,但IPv6數據包標頭沒有,因此無法訪問協議消息不適用於IPv6。 IPv6數據包標題使用「下一個標題」字段。

ICMPv6確實有參數問題消息,其中包含的代碼爲:遇到的無法識別的下一個頭類型

+0

嗨Ron, 這個問題也適用於IPv6下一個頭。如果「Next Header」包含指示SCTP傳輸爲有效負載的值(132),但目標不支持SCTP,該怎麼辦?我應該收到哪個ICMP錯誤? 該參數對TCP,UDP也有效。儘管這兩個協議都得到了每個堆棧的支持,但這個問題在理論上是有效的。 如有任何錯誤,請糾正。 – Sudhansu

+0

正如我在我的回答中解釋的那樣,如果主機接收到一個IPv6數據包,其目的地是主機不支持的協議(SCTP,例如),那麼網絡堆棧中的IPv6應該生成一個ICMPv6類型4(_Parameter Problem_)消息,其中Code 1(_Unrecognized Next Header type encounter_),並且通常是指針40(_Next Header_)。這全部在_ [RFC 4443,互聯網協議版本6(IPv6)規範的互聯網控制消息協議(ICMPv6),第3.4節,參數問題消息](https://tools.ietf.org/html/rfc4443) #部分-3.4)_。 –