OSI参照モデルを紐解いていこう ー第4層(トランスポート層)

2023年8月22日(火)
左門 至峰 (さもん しほう)
今回のテーマは、OSI参照モデルの第4層(トランスポート層)です。今回も郵便とゆうパックを題材にわかりやすく解説していきます。

はじめに

皆さん、こんにちは。ネットワークスペシャリストの左門です。本連載では、難しいネットワークを、身近な事例に置き換えながらわかりやすくお伝えしていきます。

第6回第7回では、第3層(ネットワーク層)について説明しました。第8回の今回は、第4層(トランスポート層)について解説します。ネットワーク層の上位層であるトランスポート層は、ポート番号を使うことで、届けられたデータが「何のサービス」かを識別したり、データの信頼性を確保する役割を担います。

今回も、身近な事例として、郵便およびゆうパックを題材にします。

ポスト投函の「郵便」と窓口の「ゆうパック」
あなたならどちらを使う?

ゆうパックなどの宅配便は、普通の郵便に比べて値段が高くなります。しかも、切手を貼ってポストに投函するだけの定形外郵便と比べると手間です。ポスト投函はできず、郵便局の窓口で手続きをする必要があります。

でも、上司はお得意様にちょっとしたカタログを送る際も、郵便ポストに投函ではなく、ゆうパックなどの宅配便を使っています。それはなぜでしょうか。

宅配便の利点の1つは、相手に届いたかどうかが分かることです。荷物には番号が割り振られ、現在の送付状況や無事に配達が完了したかをネットなどで確認できます。また、ゆうパックの「お届け通知」を利用すれば、無事に届けたというハガキ(現在はメールやLINE)を受け取ることができます。この上司は、少しの手間や値段がかかっても確実に届いたかを確認したいと考えたのでしょう。

さて、ITのネットワークにおける宅配便と郵便の違いは、TCPとUDPの違いに似ていると思います。TCPは相手に届いたかの確認が取れるため信頼性が高い通信です。確認応答パケットであるACK(後述)は、ゆうパックのお届け通知のようなものです。TCPは信頼性が高い通信のためHTTPやSMTP、DNSのゾーン転送で利用されます。

一方、UDPにもメリットはあります。宅配便と違い、郵便物であれば窓口などで手続きをする手間がありません。窓口が閉まっている夜間に出すこともできます。先方に手渡しをしてサインをもらうわけではないので、確実に届けるという信頼性の面では劣りますが、大量の郵便を一気に送る場合などは簡単に送れて便利です(速度重視と言えますね)。ITのネットワークにおいては、高い信頼性を必要としないSNMP、DHCP、TFTP、NTPなどでUDPが利用されます。

トランスポート層の役割

では、TCPやUDPに代表されるトランスポート層の役割について説明します。

第3層(ネットワーク層)の機能やIPアドレスによりて、世界中のコンピューターと通信できるようになりました。ネットワーク層の上位層であるトランスポート層は、届けられたデータがどのサービスに対応しているかを識別したり、データの信頼性を確保したりする役割を担います。

これらの役割を詳しく説明します。

役割1:サービスの識別

1つのサーバー上で複数のサービスを提供することがあります。例えば、Webページを公開するWebのサービス、メールを転送するメールサービス、ファイルを転送するFTPサービスなどです。このとき、受信したデータが対応するサービス(アプリケーション)に正しく振り分けられないと適切な処理が行われません。この振り分けに用いられるのがポート番号です。ポート番号は上位のアプリケーション層のサービス(コンピューター上で動作しているアプリケーション)に対応する番号です。

【出典】「ストーリーで学ぶネットワークの基本」(インプレス) p.223

役割2:通信の品質を保つ

データを相手に送信しても、データが破損していたり、きちんと届かなかったりしたら困りますね。そこで、トランスポート層ではTCPというプロトコルを使うことで、正しい相手に欠落なく、正しい順番でデータを届けます。つまり、通信の信頼性を保証します。また、相手にデータが届かなかったり破損したりしている場合は、パケットを再送します。

ポート番号

ポート番号は、役割1で述べた通り、サービスの識別で利用されます。ポート番号にはウェルノウンポート、レジスタードポート、ダイナミックポート(プライベートポートとも言う)の3種類があります。

【出典】「ストーリーで学ぶネットワークの基本」(インプレス) p.228

ウェルノウンポートは、あらかじめ決められており、よく知られている(well known)サービスのポート番号のことです。IANA/ICANNという組織がIPアドレスの登録と管理をしています。

代表的なウェルノウンポートをいくつか紹介します。

ポート番号 TCP/UDP プロトコル 解説
20、21 TCP FTP(File Transfer Protocol) ファイルを転送するプロトコル
22 TCP SSH(Secure SHell) サーバーやネットワーク機器などへリモートでログインしたり、ファイルをコピーしたりするプロトコル
25 TCP SMTP(Simple Mail Transfer Protocol) PCからメールサーバーへ、あるいはメールサーバー間でメールを転送するプロトコル
53 TCP/UDP DNS(Domain Name System) IPアドレスとドメイン名の対応を管理するプロトコル
80 TCP HTTP(HyperText Transfer Protocol) WebページやSNSなどのサービスにアクセスする際に利用するプロトコル
110 TCP POP3(Post Office Protocol versison 3) メールサーバのメールボックスから電子メールを取り出すときに使用するプロトコル
143 TCP IMAP(Internet Message Access Protocol) POP3を改良したプロトコル。選択したメールだけを取得する機能やサーバ上のメールを検索する機能などを持つ
443 TCP HTTPS(HTTP over SSL/TLS) HTTPの通信を暗号化して安全に通信を行うプロトコル

TCP

冒頭では宅配便をTCPに例えましたが、TCPを詳しく確認していきましょう。

TCPはTransmission Control Protocolという名前のとおり、伝送(transmission)を制御(control)するプロトコルです。例えば、通信に矛盾がないかを確かめたり、送信経路で乱れてしまったパケットの順番をきちんと並べ替えたり、必要に応じて再送したりします。

TCPがどのように信頼性を確保しているのか、その仕組みを紹介します。

❶ACK(確認応答)

TCPには、受信側がパケットを受け取ったことを送信側に知らせる、ACK(確認応答)と呼ばれる仕組みがあります。ACKは「ACKnowledgement(確認応答)」という意味の通り、通信を受け取った(=確認した)ことを通知する(=応答する)パケットです。

送信側は、ACKを受け取ることでパケットが相手に届いたことを確認できます。ACKが返ってこなかった場合は、届いていないと判断してパケットを再送します。

❷シーケンス番号

シーケンス番号とは、TCPのパケットに付けられた通し番号です。パケットの最大サイズは1,500バイトに制限されているため、大きなデータは分割されます。ネットワークでは通信の遅延などによりパケットの到着順が前後することもありますが、シーケンス番号を割り振ることで、到着したパケットを正しい順序に並べ直すことができます。この機能を順序制御と言います。また、欠落したパケットがないかを確認し、必要に応じて再送することもできます。この機能を再送制御と言います。

❸ウェイハンドシェイク

TCPでは、通信を開始する前に3ウェイハンドシェイクという方式で通信相手とのコネクション(通信の経路)を確立します。具体的には、送信側と受信側でSYN、SYN+ACK、ACKの3つのパケットを順にやり取りします。SYNはSYNchronize(同期する)を意味し、通信相手と通信を同期しながら確立するためのパケットです。

下図は、PCからサーバーに接続(例えば、PCでWebサーバーにあるホームページを閲覧)する際に必ず行われる3ウェイハンドシェイクの流れです。

【出典】「ストーリーで学ぶネットワークの基本」(インプレス) p.233

このやり取りにより、IPアドレスを偽装するなどの不正な通信を排除できます。例えば、送信元のIPアドレスが偽装されていれば、SYN+ACKのパケットは偽装した相手に届かず、そのIPアドレスを持つ本来のPCに送られます。つまり、送信者が不正な相手だとSYN+ACKのパケットが届かないため、通信が開始されないのです。3ウェイハンドシェイクは、通信の信頼性を確保するための重要な仕組みです。

UDP

続いて、郵便に例えたUDPについて解説します。

UDP(User Datagram Protocol)はTCPのデメリットを解消するために考案されたプロトコルです。UDPは信頼性よりも高速性を優先します。そのため、TCPのようにデータを再送したり、パケットの順序を並び替えたりはしません。また、3ウェイハンドシェイクのような手順も踏みません。通信相手との通信経路(コネクション)を確立せずにいきなりデータを送信するため、コネクションレス型と呼ばれます。

UDPでは、このように煩雑な手続きをせずに通信を行うため、高速な通信が可能になります。ストリーミング動画などで画像の一部が欠落していたとしても、リアルタイム性が求められる通信に適しています。

おわりに

さて、今回は第4層(トランスポート層)について解説しました。次回は、第7層(アプリケーション層)について解説します。

ストーリーで学ぶ ネットワークの基本

左⾨ ⾄峰 著
価格:2,300円+税
発売日:2021/5/11発売
ISBN:978-4-2950-0605-3
発行:インプレス

ストーリーで学ぶ ネットワークの基本

      

実務にひもづく基本知識が身に付く!
本書と本連載を併せて読めば理解力も高まる!

ネットワークの基本というと、大量の知識をひたすら暗記する単調な学習になりがちです。本書では、「情報システム部に配属となった主人公(成子)が、ネットワークトラブルを解決しながら成長していく」というストーリーに沿って解説を展開しているので、「楽しく」学べます。また、入門書でありながら、ネットワーク機器の操作手順、豊富な写真やコマンド出力例などを掲載。机上の知識ではなく、きちんと実務とひもづけられる知識として身に付きます。ベテランの現役SEである著者が、最新のトレンドに合った技術を紹介しています。

Amazon詳細ページへImpress詳細ページへ

著者
左門 至峰 (さもん しほう)
ネットワークスペシャリスト。株式会社エスエスコンサルティング代表取締役。著書にネットワークスペシャリスト試験対策「ネスペ」シリーズ(技術評論社)、「FortiGateで始める 企業ネットワークセキュリティ」(日経BP社)、「ストーリーで学ぶ ネットワークの基本」(インプレス)などがある。
研修では、オリジナルコンテンツを用いたネットワークやセキュリティーの資格対策、ハンズオン研修を数多く実施。

連載バックナンバー

ネットワーク技術解説
第10回

OSI参照モデルを紐解いていこう ー第7層(アプリケーション層) ②DNSのプロトコル

2023/11/10
今回も前回に引き続き、OSI参照モデルの第7層(アプリケーション層)のもう1つの代表的なプロトコルであるDNSのプロトコルを解説していきます。
ネットワーク技術解説
第9回

OSI参照モデルを紐解いていこう ー第7層(アプリケーション層) ①メールのプロトコル

2023/9/26
今回のテーマは、OSI参照モデルの第7層(アプリケーション層)です。今回はこの層の代表的なプロトコルであるメールのプロトコルを解説していきます。
ネットワーク技術解説
第8回

OSI参照モデルを紐解いていこう ー第4層(トランスポート層)

2023/8/22
今回のテーマは、OSI参照モデルの第4層(トランスポート層)です。今回も郵便とゆうパックを題材にわかりやすく解説していきます。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています