ルーターには、エンドツーエンドの原則を促進する必要があるという特別な役割があります。
ルーターの仕事は、基本的に、宛先IPアドレスを解釈し、それを送信する次のルーター(またはエンドノード)を決定することです。ルーターは通常、次の2つのことを行います。
- TTLをデクリメントします
- 宛先IPアドレスに基づいてネクストホップを検索します
一般に、パケットをさらに解釈するべきではありません。
現在、NATはパケットをさらに解釈して変換するため、エンドツーエンドでブレークします。NATは、たとえば、パケットの送信元アドレスを変更する場合があります。その場合、別のインターネットホストがパケットを送信した特定のホストを識別できないため、エンドツーエンドで壊れています。NATの送信元アドレスのみを識別できます。
編集:RFC 1812は、セクション2.2.1でこれを明確にしています。ここでは、階層化の責任について説明しています。
o Transport Layer
The Transport Layer provides end-to-end communication services.
..。
TCP is a reliable connection-oriented transport service that
provides end-to-end reliability, resequencing, and flow control.
..。
o Internet Layer
All Internet transport protocols use the Internet Protocol (IP) to
carry data from source host to destination host. IP is a
connectionless or datagram internetwork service, providing no
end-to-end delivery guarantees.
セクション2.2.3では、次のように述べています。
Routers provide datagram transport only, and they seek to minimize
the state information necessary to sustain this service in the
interest of routing flexibility and robustness.
「通常の」ルーターは、「エンドツーエンド」の原則をまったく処理しません。その仕事は単にインターネット層でパケットを配信することであり、それは定義上「エンドツーエンドの配信保証を提供しない」ことです。それがトランスポート層の仕事です。NATは、単なるインターネット層ではなくトランスポート層で動作し、各接続についてあまりにも多くの状態を維持することにより、「エンドツーエンドで機能しなくなります」。
これが理にかなっていることを願っています。私はそれが混乱する可能性があることを知っています。