\r\n\r\n
TCPとUDPのプロトコル
OSIモデルでは、TCPもUDPもIP層の上のトランスポート層である第4層に適用されます。TCPとUDPはともに、TCPはコネクションオリエンテッド、UDPはコネクションレスという2種類のデータ転送をサポートしています。
パケットの伝送には、信頼性と遅延という2つの大きな制約がある。信頼性とはパケットを確実に届けること、遅延とはパケットをタイムリーに届けることです。どちらも同時にピークにすることはできませんが、最適化することは可能です。
2つのノード間でデータ通信を開始するには、送信者は受信者のIPとポート番号を知っている必要があります。IPアドレスはパケットをルーティングするために、ポート番号はパケットを正しい相手に渡すために使用されます。このシナリオをさらに実世界の例で説明すると、複雑なマルチショッピング環境で、パークアベニュー21番地のゴールデンスクエアの30番の店(美容院)に行くように指示されたとする。この場所に行くには、パークアベニュー21番地がわかればよいが、美容院でサービスを受けるには、店の番号が30であることが必要で、IPアドレスとして21、30と仮定できる。ショップ番号をポート番号として使用します。
データ通信モデルやアプリケーションサービスモデルと同様に、TCPアプリケーションはポート番号でリッスンしてTCPコネクションを受け付けます。UDPアプリケーションと同様に、ポート番号でリッスンし、UDPサービスを提供することもあります。
TCP プロトコル。
定義についてはRFC793を参照してください。
TCPは、保証されたデータ伝送をサポートするコネクション指向のエンドツーエンド信頼性プロトコルである。TCPの主な機能には、3ウェイハンドシェイク(SYN、SYN-ACK、ACK)、エラー検出、スロースタート、フローコントロール、輻輳コントロールなどがあります。
TCPは信頼性の高い伝送機構であるため、輻輳時にパケット伝送が必要な場合でも使用される。TCPのアプリケーションとポート番号の典型的な例としては、FTPデータ(20)、FTP制御(21)、SSH(222)、Telnet(23)、メール(25)、DNS(53)、HTTP(80)、POP3(3)などが挙げられる。110)、SNMP(161)、HTTPS(443)があります。これらはすべて、よく知られたTCPアプリケーションです。
UDP プロトコル。
RFC768で定義されている
UDP (User Datagram Protocol) は、信頼性の低いサービスを提供する単純なトランスポートプロトコルです。UDPがデータを伝送しないわけではありませんが、ネットワークインタフェースのオーバーヘッド処理を回避したシンプルな構成であるため、輻輳制御やパケットロスの監視などの機構はありません。リアルタイムアプリケーションでは、パケットを遅延させるよりもドロップした方が良いので、ほとんどがUDPを使用しています。典型的な例としては、Voice over IPのメディアストリーミングがあります。
概要
(1) TCPは接続指向で信頼性が高いが、UDPは接続性が低く信頼性が低い。
(2) TCPではネットワークインターフェースレベルでの処理が多くなるが、UDPではそれがない。
(3) TCPは、伝送の信頼性を確保するために、3ウェイハンドシェイク、輻輳制御、フロー制御などの機構を採用しています。