TCP/IPの4階層がいまいち理解できない人の為の解説

スポンサーリンク




インターネットでよく使う、TCP/IPについて解説します。

OSI参照モデルは、基本概念として広く知られています。しばらくそれを運用していたのですが、実際の現場で「7階層じゃなくて4階層で十分じゃん」ってことになり、バージョンアップされたのがTCP/IPです。

TCP/IPをちょっと難しく定義するなら、「インターネットの核となるプロトコルの総称」です。簡単に言えば、「インターネットを実現するために用意されたルール」です。

TCPとは、通信エラーを防ぎ確実にデータを届けるためのプロトコル。
IPとは、パケットデータを、IPアドレスで送信相手を特定するためのプロトコル。

これを世界中統一させなければ、インターネットが実現しないので、皆さんルールを守る必要がありました。

さて、4階層を1つずつ解説していく前に、「プロトコル」と「パケットデータ」についてちょっと触れておきます。

プロトコルとは?

インターネットをする上での約束事です。

例えば、「データをどんな方法で、一回どのくらい送るの?」みたいなものです。

昔、ファミコンやゲームボーイがありましたが、強引に通信環境を整えてもデータを送ることはできません。何故なら、ファミコンやゲームボーイがそのプロトコルに対応していないからです。「なんじゃこのデータは?読めないぞ?」となるわけです。

Wiiとかプレステ3で通信ができるのは、インターネットの情報を読むためのプロトコルが組み込まれているからです。インターネットの情報を読むためのソフトが入っている、と考えればいいでしょう。

プロトコルにはいろいろあり、携帯電話の電波を読むためのプロトコル、LANケーブルからの情報を読み込むためのプロトコル、WEBページのデータを読むためのプロトコル、メールを正常に送るためのプロトコル、ファイルをサーバーに転送するためのプロトコルなど、ハード面からソフト面まで様々です。ちなみに、HTTPとかFTPのPはプロトコルのPです。

HTTP・・・ハイパーテキスト転送プロトコル
FTP・・・ファイル転送プロトコル

とりあえずは漠然と「ルール」でインプットしておけばいいと思います。

TCP/IPは、いろいろあるプロトコルのうち、「インターネット」をするためのプロトコルの総称となります。

パケットデータってなに?

では次にパケットデータについてです。携帯電話で使う「パケット代」のパケットです。

パケットは小分けしたものです。例えば、製造工場長のAさんが巨大ロボットを作ったとします。巨大ロボットをそのまま塗装工場へ郵送してしまうと、大きすぎて高速道路を占領してしまいそうです。しかもスピードが時速10kmしかでません。それだと他の人が高速道路を使えないので、パーツごとに分解して送ることにしました。

塗装工場へは巨大ロボット以外の荷物も届くので、何のパーツか間違わないようにしなければなりません。なので、それぞれのパケットには、ちゃんと伝票がついてます。

この様に、データはパケットに分けられます。1つのパケットは、ヘッダ(伝票)と、データ部で成り立っています。これもプロトコル(=ルール)で定められたものです。

TCP/IPの4つの階層を巨大ロボットで解説してみます…

この4階層ですが、難しいし面倒で勉強する気がなくなりますので、ロボットを使って説明してみます。

おさらいですが、インターネットでデータをちゃんと送るための様々なルールを、まとめて「TCP/IP」といいます。

製造工場長が巨大ロボットを作成して塗装工場に届けるとしましょう。発送に関しては、世界が決めたTCP/IPというルールが定められています。そのルールは大きく4つに分かれており、それぞれに対応する4つの部署があります。

というわけで1つ1つの部署(階層)を見て行きましょう。

アプリケーション部署

実際に巨大ロボットを作る部署です。

今回はHTTPタイプのロボットを作りたいので、アプリケーション部署内にあるHTTPの作業場(ノートエディタなど)で作りました。

このアプリケーション部署で作られたロボットがデータの本体となります。それを塗装工場へ発送するために、次のトランスポート部署へ発送をお願いしました。

トランスポート部署

ここは、TCP/IPの「TCP」のルールを使う部署です。前述のとおり、

「TCPとは、通信エラーを防ぎ確実にデータを届けるためのプロトコル。」です。

できあがっている商品を、どうすれば「確実に破損なく」塗装工場へ届けられるか?という点ですね。

世界が決めたルールでは、「商品をパケットにわける」とあります。それにのっとり、商品をパーツごとに分けるのがこのトランスポート部署の仕事です。


スポンサーリンク



また、確実に届けるため、
「今から発送しますよ」
「最初はこのパーツを送りますよ」
「届かない場合はどうしますか?」
ということを塗装工場に確認するのもこのトランスポート階層の仕事です。

準備ができたら、「これはHTTPロボットのどの部分のパーツですよ」というラベルを貼り、次のインターネット部署へ渡します。尚、このラベルのことを「ポート番号」といいます。

これにより、別のロボットのパーツと混同しなくて済むわけです。

届く住所は同じですから、混同しないように何のパーツかを区別する必要がありますね。このためのラベルが「ポート番号」です。

トランスポート階層で貼られる「ポート番号」により、HTTPロボットのパーツはHTTPの作業場へ、FTPロボットのパーツはFTPの作業場へ届けられるということですね。

ちなみに、TCPルールではなく、UDPルールを採用を許可された工場があります。それは「今から発送しますよ」などの確認を省略できるのです。それにより、より早く相手に届きますが、もちろん事故の可能性も高くなります。このUDPは、正確性より早さを重視するIPフォンやストリーミング動画のルールに適用されています。

インターネット部署

この部署では、郵便業者(ルータ)が正しい宛先にパーツを届けられるように、トランスポート層で作られたパケットに住所(IP)を書いたラベルを貼る仕事をします。

ラベルには、宛先のIPと、送信元のIPが記載されています。

また、この部署ではどのルートを通って行けば一番早く安全かを判断し、決定する仕事もします。

さて、ここまでできたらネットワークインターフェース部署に実際に発送してもらいます。

ネットワークインターフェース部署

インターネット層から送られてきたパケットを、実際にトラック(LAN)を使って郵便業者(ルータ)へ渡さなければなりません。

尚、郵便業者(ルータ)まではトラック(LAN)で運びますが、業者は飛行機(光通信など)で運ぶということにしておきましょう。飛行機で塗装工業近くの郵便局に到着したら、今度は郵便業者(ルータ)が塗装工場までトラック(LAN)で届けにいきます。

さて、トラックには交通法が適用されます。つまり、LANにはLANのルール(プロトコル)があるということです。それを「イーサネット」といいます。イーサネットでは、道路設備(ケーブル)に関するルールも定められています。

現在のコンピュータネットワーク(LAN = ローカルエリアネットワーク)は、イーサネットという規格により全国統一されているのです。もしイーサネットがないと、自分のPCで使ってるLANケーブルが他社で使えない!なんてことになるわけです。

ところで、インターネット部署から送られてきた伝票には、住所(IP)がかいてあるものの、いつも宛名が書いていません。なので、ネットワークインターフェース部署では、宛先の住所から名前を調べて伝票に書き加えます。この名前を、MACアドレスといいます。MACアドレスがないと、住所はわかっても確実にその人に荷物を届けられませんね。なのでMACアドレスが必要なのです。

受信側(塗装工場)での動き

受信側の工場にも、同様に4つの部署があります。発送時とは作業部署の順番が逆に展開されていきます。

さて、塗装工場の入口に郵送業者が到着しました。

郵送業者(ルータ)は、MACアドレスを確認して目的地に向かいます。

ネットワークインターフェース層で届けられた荷物(パケット)のMACアドレスに間違いないかを確認し、インターネット層へ送ります。間違っていれば受け取りません。

インターネット層では、IPアドレスをもう一度チェックし、間違いなければトランスポート層へ送ります。

トランスポート層では、ポート番号を確認し、アプリケーション層のHTTP組み立て所(ブラウザ)へ送ります。

アプリケーション層で、部品を組み立て、ロボットを完成させます。

各階層の働き

さて、4つの階層の動きをロボットを例に解説しましたが、塗装工業ではなく、大金持ちの家に送る場合にも、外国に送る場合にも同じルールが適用されます。

アメリカに送るからMACアドレスは書かなくていいや、とか、むかつく客だからポート番号はかかなくていいや、というのは許されません。全国の発送者が全く同じように処理をするわけです。

受け取り側も、自分のMACアドレスで間違いないか、IPは合っているか?を確認することが義務付けられています。

このおかげで、世界全国各地どこであっても、正しいお客さんに破損することなくデータが送れるということになります。

TCPとは、通信エラーを防ぎ確実にデータを届けるためのプロトコル。
IPとは、パケットデータを、IPアドレスで送信相手を特定するためのプロトコル。

世界中のルールがTCP/IPに統一されたので、インターネットが実現した、というわけです。



スポンサーリンク

コメントは停止中です。

サブコンテンツ


このページの先頭へ