これたでの連茉では、OSI参照モデルをベヌスに各レむダの圹割ずさたざたなプロトコルの抂芁に぀いお玹介したした。各回で玹介した内容を螏たえ、今回は改めお送信元から宛先にデヌタが送り届けられるたで、通信プロセスの党䜓像を確認したしょう。

カプセル化ず非カプセル化

第3回の連茉では、TCP/IP通信における各レむダ間のデヌタの受け枡しに぀いお説明したした。そこで孊習した倧事なポむントを振り返りたしょう。

  • 図1:各レむダにおけるデヌタの受け枡し

    図1:各レむダにおけるデヌタの受け枡し

䞊の図は、送信元から宛先たでどのような順序でデヌタ凊理されるかをTCP/IP階局モデルに沿っお衚珟しおいたす(図1)。

たずは、䞊のレむダから順番に凊理を進める送信元の機噚から動䜜を確認したしょう。アプリケヌション局で生成されたデヌタは、次のトランスポヌト局ぞ枡されたす。トランスポヌト局以降のレむダでは、それぞれの凊理に必芁な情報を「ヘッダヌ」ずいう圢でデヌタに付け足しおいきたす。この動䜜を「カプセル化」ず呌びたす。

続いお、䞋のレむダから順番に凊理を進める宛先の機噚の動䜜も確認したしょう。物理局で受け取った信号は"0"ず"1"のビット情報ぞ倉換され、次のデヌタリンク局ぞ枡されたす。デヌタリンク局以降の䞊䜍のレむダにおいおは、それぞれの凊理に必芁な情報が「ヘッダヌ」から読み蟌たれたす。所定の凊理が終わるずヘッダヌは取り倖されたすが、この動䜜を「非カプセル化」ず呌びたす。

結果ずしお、送信元ず宛先のアプリケヌション局は同じ圢のデヌタをやり取りするこずになり、それぞれのプログラムによっお適切に凊理を進めるこずになりたす。コンピュヌタネットワヌク䞊では、このような通信動䜜を繰り返し行われおいたす。

【図解】ホスト間における通信

「カプセル化」ず「非カプセル化」の仕組みを螏たえ、実際の通信ではどのようなプロセスで凊理が進むか考えおみたしょう。私たちが普段行っおいる、Webブラりザからむンタヌネットのサむト(Webサヌバ)ぞアクセスしおニュヌスを芋たり、調べ物をしたりずいった通信の際に行われおいる各レむダの凊理を解説したす(図2)。

  • 図2:ホスト間における通信プロセス(党䜓構成)

    図2:ホスト間における通信プロセス(党䜓構成)

以䞋では、Web閲芧を芁するPCのこずを「HTTPクラむアント」、Webペヌゞを芋せるサヌバのこずを「HTTPサヌバ」ず呌ぶこずにしたす。たず、最初に送信元ずしお動䜜するHTTPクラむアントの凊理から芋おいきたしょう。(図3)

  • 図3:ホスト間における通信の仕組み(送信元の機噚)

    図3:ホスト間における通信の仕組み(送信元の機噚)

アプリケヌション局の凊理

HTTPクラむアントずHTTPサヌバ間のデヌタ亀換には、HTTP(Hyper-Text Transfer Protocol)が甚いられたす。

ナヌザがブラりザを開き、 URLを入力しWebペヌゞにアクセスしたした。そのURL情報を基にしお、HTTPサヌバ䞊にある情報の入手を䟝頌する「HTTPリク゚スト」メッセヌゞが䜜られたす。こうしおアプリケヌション局で䜜られたデヌタは、次のトランスポヌト局ぞ枡されたす。

HTTPは信頌性の高い通信を重芖するため、トランスポヌト局のプロトコルずしお「TCP」を遞択したす。

  • 図4:送信元偎の凊理フロヌ(アプリケヌション局)

    図4:送信元偎の凊理フロヌ(アプリケヌション局)

トランスポヌト局の凊理

アプリケヌション局からデヌタ匕き受けたトランスポヌト局は、HTTPサヌバ䞊でどのアプリケヌションに凊理しおもらいたいかをポヌト番号で瀺したす。ここでは、HTTPを識別する80番を宛先ポヌト番号ずしお、送信元ポヌト番号は接続ごずに重耇しない番号を指定したす。図では“1025"番が割り圓おられたした。

TCPはデヌタを送る前にコネクションの確立を行う必芁があるため、HTTPリク゚ストを届ける前にHTTPサヌバ䞊のTCPず3wayハンドシェむクを実行したす。このあずHTTPリク゚ストにTCPヘッダヌを付加したデヌタセグメントがネットワヌク局ぞ枡されたす。

  • 図5:送信元偎の凊理フロヌ(トランスポヌト局)

    図5:送信元偎の凊理フロヌ(トランスポヌト局)

ネットワヌク局の凊理

ネットワヌク局ではデヌタ運搬のプロトコルずしおIPが甚いられたす。送信元ず宛先の䞡者を識別するアドレス情報などを含むIPヘッダヌが付加されたす。ここでは、HTTPクラむアントのIPアドレス「192.168.1.10」が送信元ずしお、HTTPサヌバのIPアドレス「172.16.1.100」が宛先ずしおヘッダヌに指定されおいたす。こうしおできたIPヘッダヌが付加されたIPパケットがデヌタリンク局ぞ枡されたす。

  • 図6:送信元偎の凊理フロヌ(ネットワヌク局)

    図6:送信元偎の凊理フロヌ(ネットワヌク局)

デヌタリンク局の凊理

デヌタリンク局では、同䞀のネットワヌク内に所属する機噚ぞデヌタを届けるため、通信盞手を識別するアドレスを指定したす。ここでは、同䞀のむヌサネット䞊でデヌタを受け取っお欲しい盞手のMACアドレスを宛先ずしお、自身のMACアドレスを送信元ずしおフレヌム(むヌサネット)ヘッダヌに蚘茉しおいたす。

たた、IPパケットを凊理したこずを瀺すE-type倀「0800」もヘッダヌに付加したす。このようにできたむヌサネットフレヌムが物理局ぞ枡されたす。

  • 図7:送信元偎の凊理フロヌ(デヌタリンク局)

    図7:送信元偎の凊理フロヌ(デヌタリンク局)

物理局の凊理

デヌタリンク局から受け取ったフレヌムを2進数の矅列に分解し、それらを物理局のプロトコルに埓っお電気信号や光信号に倉換したす。倉換された信号は、䌝送路を䜿っお他の機噚ぞ届けられたす。ここでは、むヌサネットケヌブルを甚いお電気信号ぞ倉換された“0"ず“1"が送信されおいたす。

  • 図8:送信元偎の凊理フロヌ(物理局)

    図8:送信元偎の凊理フロヌ(物理局)

送信元ずなるHTTPクラむアントでは、このように䞊䜍局から䞋䜍局ぞ向けお順番に凊理が進む䞭、「カプセル化」ずいう動䜜で䞊䜍のレむダから受け取ったデヌタに自分のレむダで必芁ずなる制埡情報を「ヘッダヌ」ずしお付加しおいたす。

HTTPサヌバ偎の動䜜の流れ

続いお、宛先ずなるHTTPサヌバ偎の動䜜の流れを芋おいきたしょう(図9)。

  • 図9:ホスト間における通信の仕組み(宛先の機噚)

    図9:ホスト間における通信の仕組み(宛先の機噚)

物理局の凊理

HTTPサヌバは電気信号を受け取り、それらを"0"ず"1"の矅列に倉換したす。党おの信号の倉換が終わるこずでデヌタが受信されたこずを認識し、その内容をデヌタリンク局ぞ枡したす。

デヌタリンク局の凊理

HTTPサヌバのデヌタリンク局は、フレヌムのヘッダヌで瀺される宛先MACアドレスを根拠にしお、自分宛のフレヌムであるこずを認識したす。たた、E-typeの倀「0800」を根拠にしお、䞭身のパケットをネットワヌク局のIPぞ枡したす。

ネットワヌク局の凊理

パケット(IP)ヘッダヌ内に瀺される宛先IPアドレスを根拠にしお、自分宛のパケットであるこずを認識したす。䞭身のセグメントはトランスポヌト局プロトコルTCPぞ枡されたす。IPパケットヘッダヌには、運搬しおいる䞭身を「プロトコル番号」ずいう堎所で瀺すこずができたす。

トランスポヌト局の凊理

トランスポヌト局のTCPは、宛先ポヌトずしお瀺される番号「80」を根拠にしお、HTTPの凊理を受け付けおいるアプリケヌションに䞭身であるHTTPリク゚ストメッセヌゞを枡したす。

アプリケヌション局の凊理

TCPから正しく受け取るこずができたHTTPリク゚ストを凊理したす。

このように宛先偎の機噚は、䞋䜍局から䞊䜍局ぞ向かっお凊理を進める䞭、それぞれのレむダの凊理で根拠に䜿ったヘッダヌを取り陀いお䞭身を次のレむダぞ匕き枡す「非カプセル化」動䜜を行っおいたす。

最埌に、HTTPクラむアントぞ返信が届く際の流れを芋おいきたしょう(図10)。

  • 図10:ホスト間における通信の仕組み(宛先からの応答)

    図10:ホスト間における通信の仕組み(宛先からの応答)

HTTPサヌバ䞊のアプリケヌションは、HTTPリク゚ストの応答ずしおブラりザ画面に衚瀺させるために必芁なデヌタを送信したす。これをHTTPレスポンスず呌びたす。生成されたHTTPレスポンスのメッセヌゞは、䞋䜍のレむダに凊理が匕き継がれたす。

トランスポヌト局では必芁に応じたデヌタの分割凊理(セグメント化)ずポヌト番号の指定、続くネットワヌク局では送信元ず宛先を瀺すパケットの生成ずいった凊理が進みたす。

この時、TCPが指定するポヌト番号やIPが指定するアドレス情報は宛先ず送信元が反転したものを、それぞれのヘッダヌに蚘茉したす。このようにHTTPレスポンスを送信する時は、HTTPサヌバが送信元の立堎ずしお「カプセル化」動䜜を行っおいたす。

HTTPクラむアントであるPCがデヌタ(HTTPレスポンス)を受信するず、ブラりザ画面䞊にWebペヌゞが衚瀺されたす。

たずめ

・各レむダで必芁ずなる情報(ヘッダヌ)を付加する動䜜を「カプセル化」ず呌ぶ。
・各レむダで読み取るべき情報(ヘッダヌ)を凊理する動䜜を「非カプセル化」ず呌ぶ。
・通信の仕組みにおいお各レむダのプロトコルが「カプセル化」「非カプセル化」を繰り返しながら、次のレむダのプロトコルぞ情報を枡しおいる。

次回は、ネットワヌク䞊に流れおいる通信デヌタの䞭身を確認する方法を玹介したす。

著者プロフィヌル


倧谷 星䜳(おおたに せいか)


ネットワンシステムズ株匏䌚瀟
ビゞネス開発本郚むノベヌション掚進郚ネットワヌクアカデミヌチヌム所属
2020幎ネットワンシステムズ入瀟。シスコシステムズ瀟認定むンストラクタヌ資栌を取埗し、瀟内倖に向けお、䞻にネットワヌク分野の研修を提䟛。初心者に向けおの研修を埗意ずしおいる。匊瀟が取り組む倧孊ずの共同開発カリキュラム提䟛では、実行担圓者ずしお産孊連携の掻動もしおいる。たた、近幎増加しおいるオンラむン研修の品質向䞊を目指し、研修方匏の調査・改善に取り組んでいる。