web-dev-qa-db-ja.com

TCPとUDPの両方によってICMPポート到達不能エラーが生成されますか?

マシンXのプログラムは、マシンYのポート5376へのUDP接続、およびマシンZのポート8632へのTCP接続を開こうとします。ただし、Yおよびの対応するポートでリッスンしているアプリケーションはありません。 Z. ICMPポート到達不能エラーは?によって生成されます。


私の試み:

到達不能なICMPポートは、タイプ3内のコード3です。

3.3 .Port Unreachable-指定されたトランスポートプロトコル(UDPなど)が最終宛先のトランスポート層でデータグラムを逆多重化できないが、送信者に通知するプロトコルメカニズムがない場合に生成されます


私はこのトピックに関連する多くのオンラインコンテンツを読みました。しかし、それでも、私は疑問です。正しい参照でTCPについては何も言えません。 ICMPはネットワーク層プロトコルであり、トランスポート層プロトコル(つまり、TCP、UDP)とは関係がないため、TCPとUDPの両方に対応する必要があると結論付けます。したがって、TCPまたはUDPについては気にせず、TCPとUDPの両方に対してエラーを返します。確認が必要です。

2
ً ً

宛先到達不能は、ホストまたはそのインバウンドゲートウェイによって生成され、何らかの理由で宛先が到達不能であることをクライアントに通知します。 TCP、UDP、または別のICMP送信の結果として、DestinationUnreachableメッセージが生成される場合があります。 Unreachable TCPポートは、予想されるようにDestinationUnreachableタイプ3ではなくTCP RSTで特に応答します。

差出人: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Destination_unreachable

2
ChrisInEdmonton