1章 ネットワーク層
2章 ICMP
3章 ルーティングプロトコル
4章 TCP/UDP
5章 FTP/TELNET
4.1 トランスポート層の役割
4.2 コネクション型とコネクションレス型
4.3 ポート番号
4.4 UDP
4.5 TCP
4.6 TCP-基本-
4.7 TCP-データ転送の流れ-
4.8 TCP-ウインドウ制御-
4.9 TCP-効率的なデータ転送のために-
演習問題
4.2 コネクション型とコネクションレス型
ここでは、トランスポート層において重要な概念である
コネクション型
と
コネクションレス型
の通信について説明する。
コネクション型
コネクション型による通信では、データを送信する前に相手に送信することを通知し、了解を得てからデータを送信する。さらにデータ送信中も常にデータが届いているかを確認しながら通信を行う。この方法の場合、データのやり取りをするために、双方で準備を整えてから送信するので、安定した通信を実現できる。しかしながら、この方法は、確認のためのデータを送信するので時間がり、ネットワークのトラフィックの増大などの問題がある。
コネクションレス型
コネクションレス型による通信は相手に確認を取ることなく一方的にデータを送信する方法である。この方法では、相手にデータがきちんと送信されたかどうかの確認をしないので、ある程度のリスクはあるが、手順が簡単であるので高速な通信をすることができる。
TCPはコネクション型であり、データ通信の信頼性を保証するプロトコルである。そのためさまざまな複雑な処理を行うので、TCPに関する事はRFC793を基本として、30以上のRFCによって規定されている。一方、UDPはRFC768のみで規定されている。
まずはTCPがどのような手順をもってデータ通信を行っているかを説明する。コネクション型の通信とTCP通信の考え方について以下の図4.2.1を参照してほしい。(1)ではコネクション型の通信における基本的な考え方を示している。コネクション型とは前述のように常に双方で確認しあいながらデータを送受信する考え方である。
コネクション型通信に対応させたTCP通信の基本的な考え方は(2)のようになっている。
図4.2.1 コネクション型通信とTCP通信の関係
次にUDPについてだが、こちらはコネクションレス型での通信を行う。コネクションレス型は前述のように、相手に送信する確認をせずに一方的にデータを送信する。このことによるメリットは、いちいち確認することがないので高速なデータ転送が実現できることである。多少のデータが届かなくても高速にデータを送りたい場合はUDPが便利である。