荷物を送りたいんですよ~!【OSI参照モデルによるネットワーク通信のおはなし】

公開日時:12/11/2024, 10:16:48 PM

共著:ainoyaGMA22DSN

この記事は 群馬高専 Advent Calendar 2024 11日目の記事です。


荷物を送りたくなることってあるよね

ここに、クソデカ消しゴムがあります。これを電算部部長に送りたいんですよ~!

なに言ってんすかねえ、まあでも部長にクソデカ消しゴム送りつけてみたいかも~!

あれ、でも、自分で部長の家に突撃するわけにもいかないし、どうやって送ったらいいんだー!?


挨拶

改めまして、こんにちは。名前が定まっていません。ここではarrowと名乗らさせていただきます。

上記の文章では何について語っている記事なのか分からないですよね。
本時期では、荷物が送られるプロセスから、インターネットの仕組みを考えていきたいと思います。

また、自分自身も勉強中の身のため、内容に不備があるのはご承知の上記事を読み進んでいただけると幸いです。

また、本記事は ainoyaGMA22DSN との共著となります。

※ガチ勢へ

み、みないで...


と、いうことで

荷物が送られるプロセスを考えていきたいと思います。

目的

荷物が送られるためには、その目的がなければいけませんね。
この場合では、クソデカ消しゴムのスパムを部長の意識に送り付けることです。

しかし、このままではクソデカ消しゴムを送ろうとしても空間で消失してしまう恐れがあります。

梱包

ということで、クソデカ消しゴムを段ボールに包みます。
こうすることで、空間で消失することを防ぎ、また他の荷物と規格をそろえることが出来ます。

しかし、このままではどこを目的として送ったらいいのかわかりません。

宛先人

そうですね、部長の名前に送り付けなければなりません。当たり前ですね。

しかし、このままでは部長の所在が分かりません。

宛先人の住所

そう、部長の家の住所が送付先となります。

でも、段ボールに部長の住所を書いたところで、どうしろと?となるわけですね。

最初の宛先

ということで、我々は郵便局にまず荷物を届けなければなりません。
最初の目的地は最寄りの郵便局になります。

運送手段

でも、具体的に郵便局にどうやって運ぶのかを考えなければなりません。
車か、自電車か、あるいは徒歩かもしれませんね。


インターネット?

ところで、インターネットってどういう仕組みで動いていると思います?

実はですね、部長にクソデカ消しゴムを送り付けるプロセスって、インターネットの仕組みにとても近いんですよ。

OSI参照モデル

第7層:アプリケーション層

アプリケーション層では、ユーザーのインターネット利用を快適にするため様々なプログラムが提供されています。

ユーザーに相当するのが私の意識ですね。

前の話と照らし合わせると、送るものを選んだり情報を送ろうとするユーザーのインターフェイスになるのがアプリケーション層のはたらきになります。

第6層:プレゼンテーション層

プレゼンテーション層では、アプリケーション層から送られてきた情報を、伝送に適した形に変換しています。

ASCIIコードに相当するのが段ボールですね。

前の話と照らし合わせると、段ボールにくるんで配送に適した形になおす操作がプレゼンテーション層のはたらきになります。

第5層:セッション層

セッション層では、安全かつ確実に通信を行うため、通信相手との連絡を取って通信の約束を取り付けています。

また、この通信を行うにあたって発生した一連の操作を1つの通信としてまとめるのもセッション層です。

前の話と照らし合わせると、郵便局が配送の流れなどの利用履歴を記録したりする操作がセッション層のはたらきになります。

第4層:トランスポート層

トランスポート層では、相手先との交渉によって確実にデータを届けるためのコネクションを確立しています。

また、通信データの誤りの検出などもトランスポート層が担います。

ポートに相当するのが受けとる人、すなわち部長の名前ですね。

前の話と照らし合わせると、郵便局に荷物を預けて確実に配送してもらったり、はたまた郵便局側が 住所の指定先を書き間違えていないかなどの検閲を行う操作がトランスポート層のはたらきになります。

第3層:ネットワーク層

ネットワーク層では、相手先までの通信網を接続し、その経路を選択しています。

IPアドレスに相当するのが部長の屋号、苗字ですね。

前の話と照らし合わせると、部長の家までの配送手順を調べたり、

郵便局が相手の最寄りの郵便局まで(県をまたいで)荷物を運ぶ際のルートを決める操作が

ネットワーク層のはたらきになります。

第2層:データリンク層

データリンク層では、ネットワーク層で割り振られた通信先の内、

次のアドレスにデータを送信しています。

また、次で説明する物理層での通信に最適化するため、

1度に送るデータを少なく分割する作業なども行います。

前の話と照らし合わせると、最寄りの郵便局まで荷物を届けたり、またその郵便局が

集配所まで荷物を預けたりする操作がデータリンク層のはたらきになります。

MACアドレスに相当するのが次の営業所の住所ですね。

第1層:物理層

物理層では、機器間の通信を実際に電気信号として行っています。

前の話でいうトラックや車などの運送手段に相当します。ヒトでも伝承鳩でもいいですね。

ところで伝承鳩を使うなら鳥類キャリアによるIPというプロトコルがあります。

TCP/IP

ところで、実は今まで語ったOSI参照モデルは、現代のインターネットで直接的に反映されているわけではありません。

実際には、OSI参照モデルより少ない層に分かれているTCP/IPモデルによりインターネットは支えられています。

ま、IETFはインターネット・プロトコルと構造の開発はOSIに準拠する事は意図しないと言っているらしいですが。(Wikipedia情報)

第1層:リンク層

リンク層は、OSI参照モデルの第2層:データリンク層、第1層:物理層に対応するといわれています。

リンク層は、すべての通信機器に対して一意に定まっている、MACアドレスを対象として通信が行われます。

物理的に相当近い場所にあるコンピュータと通信する場合を除き、ほとんどの通信は複数のルーターを経由しますね。

その各ルーター同士で通信を行うためには、リンク層で定義されているイーサネットと呼ばれるプロトコルを使用して通信を行います。

第2層:ネットワーク層

ネットワーク層は、OSI参照モデルの第3層:ネットワーク層に対応するといわれています。

ネットワーク層は、ネットワーク内でコンピュータを一意に定めるための、IPアドレスを対象として通信が行われます。

リンク層により確立された通信機器間の通信を利用して、通信したい最終目的のコンピュータとIP通信を行います。

第3層:トランスポート層

トランスポート層は、OSI参照モデルの第4層:トランスポート層に対応するといわれています。

トランスポート層は、ネットワークで到達したコンピュータの内部の、ポートと呼ばれるものを対象として通信が行われます。

そして、ポートには任意のアプリケーションにつながっており、ポートを介してコンピュータ間でアプリケーション同士の通信を行うのです。

リンク層により確立されたコンピュータ間の通信を利用して、コンピュータの対象のポートと通信を行います。

第4層:アプリケーション層

アプリケーション層は、OSI参照モデルの第7層:アプリケーション層、第6層:プレゼンテーション層、第5層:セッション層に対応するといわれています。

Webサイトを提供するHTTP通信や、リモートデスクトップ接続のためのSSH通信など、まさにコンピュータを扱う目的となる層が規定されています。

トランスポート層により確立されたアプリケーション間の通信を利用して、実際にアプリケーション間で通信を行うのです。

特に、HTTP通信においては、ドメインを対象として通信が行われます。

ところで、プレゼンテーション層やセッション層などで語られた事柄は、実際には現在のネットワークにおいては考えなくてよいか、OSI参照モデルにおける第7層でまとめて実装してしまいます。そのため、あまり考えられることがありません\[


終わりに

これね、情報を送っているという意味で手紙でたとえたほうが分かりやすかったんですよ。
でも意地でも荷物に例えました。だって、クソデカ消しゴムで例えちゃったんだもん。
...(ほ?)

2024年12月18日水曜日の電算部IT勉強会において、セキュリティ班として、ネットワーク通信にまつわる話をします。
楽しみにしていてね。

次の記事は「"NullPointerExeption"」さんの『"#ref!"』です。
(おい予約入ってねぇじゃねぇかよ!)

と、いうことで、二日後の記事は「Lime」さんの『普段レポートに使ってるLaTeXテンプレ』です。

参考文献

[1] おれ (ainoyaGMA22DSN)

[2] 『徹底攻略 令和6年度版ネットワークスペシャリスト教科書』(インプレス、瀬戸美月、2023年9月)

出典

アイキャッチ画像:https://www.amazon.co.jp/ヒノデワシ-でかでかまとまるくん-消しゴム/dp/B0091G52W0