
TCPとUDPは、インターネット接続を介してデータを交換する方法を確立するために使用される接続プロトコルです。 IPが何を表すか(つまりインターネットプロトコル)をすでに知っている場合は、TCPとUDPの両方がその上に開発されているため、すでに知っています。
ただし、それらが実質的に同じであると考えるのは間違いです。 TCPとUDPはどちらも、インターネット上でのデータの送受信方法に「発言権があります」が、実際には大きく異なり、このため、さまざまな目的で使用されます。
簡単に言うと、インターネットにアクセスするときに、これら2つのプロトコルを毎日誤って使用しているとしましょう。これにより、デバイスがオープンWeb(およびそれに接続されているデバイス)と通信する方法や、その逆の方法でこれらのプロトコルが最も重要になります。
TCPとUDPはどちらもインターネットプロトコルに基づいて構築されているため、TCP / UDPの入門レッスンに直接進む前に、IPについて詳しく理解することをお勧めします。 あなたが知っている、あなたはあなたが走ることができる前に歩く方法を学ぶ必要があります。
IPアドレスとは何ですか?
インターネットプロトコルの略であるIPは、私たちが知っているインターネットがその上に構築されたまさにバックボーンです。 その重要性は、インターネットにアクセスするためにすべてのデバイスに一意のIPアドレスが割り当てられているという事実から簡単に理解できます。
以前は数字と小数のみで構成されていたアドレス。 具体的には、IPv4アドレスは4つの個別の番号で構成でき、各番号の値は0〜254です。IPv4では、合計43億の一意のIPアドレスが提供されました。
必然的に、インターネットは新しい一意のIPアドレスを生成できなくなるまでになり始めました。それは、IPv6システムがその日を救うためにやってきたときです。 パブリックIPv6アドレスは16進数を使用し、それぞれに128ビットが含まれます。つまり、ベース10(0から10)の代わりにベース16(0から10に加えて「a」から「f」)を使用します。
IPv6システムの助けを借りて、私たちが持つことができるパブリックIPv6アドレスの合計範囲は340百億(3.4 * 10 ^ 28)です。 それが頭を悩ませることが不可能な場合は、IPv4アドレスとIPv6アドレスが次のようになっていることを確認してください。
IPv4アドレスの例:10.238.126.215
IPv6アドレスの例:fe80:0db8:0412:2001:3c5e:0000:10a9
最終的な目標はIPv6がIPv4に取って代わることですが、現在、2つのプロトコルは連携して機能します。
IPアドレスを使用すると、インターネット対応デバイスは、相互に検索、通信、および情報交換を行うことができます。 データの共有、ビデオのストリーミング、または電子メールの送信は、IPアドレスなしでは不可能です。 オンラインで行うことはすべてデータに転記できます。
最適な機能を保証するために、IPはこのデータをより小さなチャンクに分割して、より適切に管理できるようにします。 これらのデータチャンクをパケットと呼びます。 ただし、これらのパケットは、伝送するはずの情報だけでなく、到達する必要のあるデバイスの宛先IPアドレスも保持します。 この宛先はヘッダーと呼ばれます。
パケットがデバイスを離れると、ゲートウェイに向かいます。ゲートウェイは、ドメイン上のパケットの宛先IPアドレスをスキャンします。 ゲートウェイはインターネット上の特定のIPアドレスのセットしか見ることができないことに言及する価値があります。
したがって、ゲートウェイがドメイン内のアドレスを見つけることができない場合、ゲートウェイはパケットを別のゲートウェイに送信するだけであり、この操作は、パケットがヘッダーで指定された宛先IPアドレスを検出して送信できるゲートウェイに到達するまで続行されます。そのアドレスに関連付けられているデバイスに送信します。
注目に値するもう1つの点は、データが小さなパケットに分割されているということは、データが順番に到着する必要はなく、同じルートを使用する必要もないことを意味します。 実際のところ、パケットは通常、毎回可能な最速のルートを見つけようとします。
最後になりましたが、インターネットプロトコルはフォーマット固有ではないため、ビデオ、画像、オーディオ、電子メール、インスタントメッセージ、さらにはゲームなど、あらゆる形式のデータに最適です。
TCPとは何ですか?
TCPは、Transmission Control Protocolの略で、インターネットプロトコルスイートで使用される主要なプロトコルの1つです。 これはUDPの前に登場し、プログラムとデバイスがネットワークを介して情報を交換できるようにするために使用されていました。
IPとペアになって、TCP / IPと呼ばれることもありますが、それは同じことを意味します(つまり、TCPとTCP / IPはまったく同じものです)。
上で説明したように、データは小さなパケットに分割され、この断片化された形式で他のデバイスに送信されます。 TCPは、これらのパケットを元の形式に再構成する必要があるために考案されました。
TCPは、すべてのパケットが到着するのを待ち、それらをカウントし、チェックサムを使用してエラーをチェックし、宛先に到着したパケットを確認し、最初に到着しなかったパケットを再送信するように発信元のコンピューターに要求します。 すべてのパケットを受信した後、TCPはそれらを元のデータに再構成し、適切なアプリケーション(電子メールクライアント、画像ビューア、ビデオプレーヤーなど)に配信します。
このプロセスは最近非常に高速に行われ、データが送信者のデバイスとまったく同じように受信者のマシンに到着することを保証します。 さらに、このプロセスは、データが到着して100%確認されるまで、参加しているデバイス間を行き来するプロセスとして実際に説明できるため、両端での継続的な通信が含まれます。
言うまでもなく、デバイス間のこの絶え間ない通信はTCPにひどい負担をかけます。失われたパケットや破損したパケットは、欠落したビットが宛先に安全に到着するまでプロセスを停止する可能性があるためです。 ただし、TCPはそれ自体ですべてを行う必要はないため、UDPはすぐに発明されました。
簡単に言えば、TCP:
パケットがドロップされないことを確認します
欠落しているパケットを検出した場合、再送信するパケットを要求します
パケットを順番に送信して、簡単に再組み立てできるようにします
最も人気のあるインターネットプロトコル
すべてのパケットが確実に到着するようにする必要があるため、UDPよりも低速です
Webサイト、電子メール、FTP(ファイル転送プロトコル)、P2Pファイル共有に適合
UDPとは何ですか?
UDP(User Datagram Protocolの略)はTCPの代替手段であるため、基本的に同じタスクを実行すると想定しても問題ありません。 ただし、TCPはパケットデータのチェックに非常に細心の注意を払っていますが、UDPはもう少し不注意であるため、これらは同時に大きく異なります。
郵便区分ステーションで手紙を扱う2人の従業員を想像してみてください。TCPは各手紙を注意深く調べ、すべての手紙が到着するまですべての通信を差し控えます。一方、UDPは手紙の整合性をチェックし、宛先に転送します。到着せず、再送を求めていませんでした。
したがって、UDPの方が高速であると言っても過言ではありませんが、途中でデータを失うことを犠牲にして速度を犠牲にしたいのはなぜですか? さて、基本的に、パケットを失うことが正確に悲劇ではないいくつかのアプリケーションがあります。
たとえば、VoIPクライアントを使用していて誰かと話している場合、フレームが失われたり、音声が少し途切れたりすることがあります。これはほとんどの場合無視しやすいため、重要ではありません。 同じことがゲームにも当てはまります。ゲームのスタッターやラバーバンドに時々気付くことがあります。 UDPは転送中に失われたパケットをドロップするだけなので、再生を再開するだけで終了です。
言い換えれば、UDP:
TCPよりも高速で、使用するリソースが少なくて済みます
必ずしも順番にパケットを送信する必要はありません
欠落しているパケットをすべてドロップして、接続を高速化します
送信者は、パケットがドロップされたかどうかを確認する方法がありません
主にビデオストリーミング、VoIP、ゲーム、およびライブブロードキャストに使用されます
VPNの使用におけるTCPとUDP
今日、ますます多くのVPNがWireGuardを採用したり、使用する独自のプロトコルを作成したりし始めていますが、何年にもわたって信頼性、高速性、安全性を維持しているため、多くのVPNがOpenVPNに依存しています。
ただし、OpenVPNはTCPとUDPの両方で動作し、ほとんどの場合、これら2つのプロトコルから選択できることをご存じないかもしれません。 これは大きな決断のように聞こえるかもしれませんが(データの整合性と速度)、本当の問題は別の場所にあります。
VPNを使用している間は、速度の点でTCPとUDPの大きな違いに気付かない場合があります。 ただし、接続でファイアウォールをバイパスする必要がある場合は、主にこれらのプロトコルが異なるポートで動作するために状況が変わり、一部のファイアウォールは特定の種類のトラフィックのデフォルトポートをブロックする場合があります。
したがって、VPNプロバイダーがTCPとUDPのどちらかを選択できるのはなぜですか。 1つのプロトコルで接続が機能しないことに気付いた場合は、他のプロトコルに切り替えて指を交差させるだけです。 一部のVPNプロバイダーは、ファイアウォールを回避するために接続用のカスタムポートを選択できる詳細設定を提供します。
TCPとUDPの違い
TCP
UDP
TCPは、インターネットで最も広く使用されているプロトコルです。
送信されたすべてのデータは受信者に送信され、パケット損失は保証されません
パケットは順番に送信されます
より多くのリソースが必要になるため、処理も遅くなります。
UDPは、ゲーム、ビデオストリーミング、VoIP、ライブブロードキャストに使用されます
送信者は、パケットが欠落しているかどうか(受信されていないかどうか)を知りません
パケットは必ずしも順番に送信される必要はありません
必要なリソースが少なく、高速です。
TCPとUDP:結論
まとめると、TCPとUDPは非常によく似たプロトコルであり、データが途中で変更されることなく安全に宛先に到達することを保証します。
TCPは、データの送信中にいくつかのチェックを実行し、通常、パケットを失わないようにすることをより徹底的に行います。これにより、Webサイト、電子メール、インスタントメッセージ、写真、およびファイル共有に最適です。
UDPは、宛先が正しいかどうかをチェックし、パケットの整合性をチェックしますが、送信者に失われたパケットを再送信するように要求せず、代わりにそれらをドロップします。つまり、接続が高速になりますが、パケットをドロップする可能性があります。道。 UDPは主に、ゲーム、VoIP、ストリーミングビデオ、およびライブコンテンツのブロードキャストに使用されます。ここで、いくつかのパケットを失っても、最終結果にそれほど影響はありません。