30

私の知る限り、インターネットアプリケーションを設計する必要がある場合は、コネクション型サービスまたはコネクションレス型サービスのいずれかを使用する必要がありますが、両方を使用することはできません。

インターネットのコネクション型サービスはTCPであり、コネクションレス型サービスはUDPであり、どちらもインターネットプロトコルスタックのトランスポート層に存在します。

インターネットの唯一のネットワーク層は、コネクションレス型サービスであるIPです。つまり、設計したアプリケーションが最終的にIPを使用してパケットを送信することを意味します。

コネクション型サービスは同じパスを使用してすべてのパケットを送信しますが、コネクションレス型サービスは送信しません。

したがって、私の問題は

コネクション型アプリケーションが設計されている場合は、同じパスを使用してパケットを送信する必要があります。しかし、IPは異なるルートを使用することでそのルールを破っています。では、この意味でTCPとIPの両方がどのように連携するのでしょうか。それは私を完全に混乱させます。

4

5 に答える 5

44

私の友人であるあなたは、2つの異なるレイヤーの機能を混同しています。

TCPは、特に輻輳制御メカニズムなどのさまざまなことをネゴシエートする可能性のある2つの端の間に接続が確立されるという意味で、コネクション型です。
トランスポート層プロトコルの一般的な目的は、プロセス間配信を提供することです。つまり、ルートについては何も知りません。パケットがエンドシステムに到達する方法はその範囲を超えており、2つのエンドプロセス間でパケットがどのように送信されるかにのみ関係します。

一方、インターネットのネットワーク層プロトコルであるIPは、エンドシステム間のデータ配信に関係しますが、コネクションレス型であり、接続を維持しないため、各パケットは他のパケットとは独立して処理されます。
システムを離れると、各ルーターは各パケットに適していると判断したパスを選択します。このパスは、可用性/輻輳によって変わる可能性があります。

それはあなたの質問にどのように答えますか?
TCPは、パケットが他のプロセスに到達することを確認します。パケットがどのようにそこに到達したかは関係ありません。
一方、IPは、もう一方の端に到達してもかまいません。特定のパケットに最も適していると判断したものに応じて、それぞれの異なるパケットを転送するだけです。

注:
IPがコネクション型であると仮定しましょう。つまり、パケットは同じパスをたどりますか?必ずしもそうとは限りませんが、この層の「接続」という言葉が何を意味するかによって異なります。たとえば、セキュリティに関連する特定のオプションをネゴシエートすることを意味する場合、すべてのパケットがインターネット上のさまざまなルートを介して転送される可能性があります。

編集:
混乱しないように、ネットワーク層以下のほとんどのコネクション型サービスは、接続が確立されると、すべての「パケット」がたどる必要のある仮想パスも確立することを意味します。詳細については、次を参照してください。
仮想回線およびフレームリレーネットワーク

于 2013-03-24T17:40:35.937 に答える
7

このリンクはあなたの質問にかなりよく答えますhttp://www.tcpipguide.com/free/t_ConnectionOrientedandConnectionlessProtocols-3.htm

これ(TCP)は、上位ネットワーク層での回線交換の「シミュレーション」のようなものだと考える人もいます。これはおそらく少し疑わしいアナロジーです。TCP接続を使用してデバイス間でデータを送受信できますが、そのデータはすべてパケットとして送信されています。デバイス間に実際の回路はありません。つまり、TCPは、データの損失や誤った順序でのデータの受信の可能性など、パケット交換通信の潜在的な落とし穴をすべて処理する必要があります。

TCPプロトコルは、IPパケットが順不同で到着したり失われたりする問題を処理して、単一のFIFOチャネルを介して到着したように感じさせます。はい、TCPはそれを行うのに十分賢いので、専用の基礎となるチャネルは必要ありません。

于 2014-11-13T12:41:45.207 に答える
2

TCPプロトコルは、送信/受信マシンによって実装されます。パケットが送信マシンを離れると、それらが移動するルーターはTCPについて何も知らず、IPを使用して送信元から宛先にパケットを取得します。次に、TCPを使用して、すべてのパケットが到着し、正しい順序で到着することを確認するのは、宛先マシンのジョブです。インターネット自体はTCPについて何も知りません。それは、コネクションレス型メディア(インターネット)への接続を提供する単なるレイヤー(多くの場合、ソフトウェア)です。

したがって、パケットが宛先を離れると、上位レベルのプロトコル(TCPやUDPなど)に関係なく、宛先に到達する限り、(ほとんどの場合)任意のパスをたどることができます。

つまり、それよりも少し複雑ですが、私が覚えている限り、それは一般的な考え方です。

于 2013-03-24T17:23:51.763 に答える
1

私の短い点を正しく参照してください、

1)コネクション型とは、==>リソース(バッファ、CPU、帯域幅など)を予約することを意味します。

2)トランスポート層でのコネクション型とは==>両端のプロセス/ポートでリソースを予約することを意味します(TCPはトランスポート層であるため、中間で何が起こっているかに関係なく、その責任は両端のプロセスでのみリソースを予約することです道。)

3) Connection oriented at Network Layer means ==> Reserving the resources at Network Layers.(Now In the whole journey of a packet from source to destination, Network layer is found at all intermediate routers too(but not transport layer). Hence if any protocol at Network layer is connection oriented then,its responsibility is to reserve resources at all intermediate routeres too i.e. all packets will have to follow same intermediate path, But IP is connection less hence,intermediate resources will not be reserved. i.e journey of a packets may follow different paths etc.)

#CONCLUSION:==> Intermediate path is decided by Network Layer, hence if IP then paths may be different.(IP may contain TCP),But TCP is responsible for Resource reservation at both End processes ,irrespective of Intermediate path of packet.

于 2019-10-07T10:51:42.780 に答える
0

ルーターは3つのレイヤー(物理、データリンク、ネットワークレイヤー)でのみ機能するため、ルーターは情報のみに基づいて決定を下します。ネットワーク層(IPプロトコル)のしたがって、ルーターでのTCPまたはUDPに関する情報はありません。

于 2016-12-02T10:59:39.907 に答える