TCP/IPの仕組み(TCPとUDP) TOPへ
■ TCPとUDP (トランスポート層) [ ティーシーピー ] [ ユーディーピー ]
● TCPはコネクション型のプロトコルです。
コネクション型とは通信相手とリンクを確立して、きちんとデータが送信出来ているか確認を取りながら通信を行う手法です。途中でデータのパケットが喪失してしまった場合には再送を行います。これにより信頼性のある通信を確立しています。
● UDPはコネクションレス型のプロトコルです。
コネクションレス型とは反対に、データが届いているかの確認を取らずに一方的にデータを送りつける手法です。通信の信頼性はありませんが、確認や再送を行わない分、高速な通信が実現出来ます。音声やネットゲームなど、多少のデータロスがあっても構わない通信サービスにおいて使用されています。
■ 通信制御方法
● コネクションの確立手順
送信ホスト 宛先ホスト
(Source host) (Destination host)
SYN(コネクション確立要求) ----->
<----------- ACK(確認応答)+SYN
データ転送 ------------------>
<--------------- ACK(確認応答)
データ転送 ------------------>
<--------------- ACK(確認応答)
FIN(接続終了要求) ----->
<------------ ACK(確認応答)+FIIN
ACK(確認応答) -------------->
ACK [ アック ] SYN [ シン ] FIN [ フィン
]
● ウインドウ制御
データをひとつずつ到着の確認を取ると転送効率が悪くなるので、一定のサイズ毎にまとめて到着確認を取る手法。
送信元がで取り決めたそのサイズをウインドウサイズと言う。
● フロー制御
受信側のバッファが一杯になってしまいこれ以上受信できない時に、送信元にいったん送信を中止してもらうよう通知して通信のロスを防ぐ手法。
■ ポート番号
TCPもUDPもポート番号というのを持っています。これはTCP上で動くどのプログラムを使用するかを決定しています。
TCPポート番号の例)
| ポート番号 | アプリケーション | |
| 21 | FTP | [ エフティーピー ] |
| 23 | telnet | [ テルネット ] |
| 25 | SMTP | [ エスエムティーピー ] |
| 53 | DNS | [ ディーエヌエス ] |
| 80 | http (WWW) | [ エッチティーティーピー ] [ ダブダブダブ ] |
| 110 | POP3 | [ ポップスリー ] |
これらの予約されているポートは「ウェルノウンポート」と呼ばれます。(1〜1023番)
それ以外のポートは「ハイポート」と呼ばれ、アプリケーションによってそれぞれが規定して独自に使用しています。(1024〜65535番)
ポート番号については下記のサイトで調べられます。
http://www.iana.org/assignments/port-numbers
ハイポートを使用するのにはセキュリティを高める意味もあります。