【ネットワーク】OSI参照モデルって聞いたことありますか?
みなさま、こんにちは! 株式会社ホワイトボードのフロントエンジニアの末ちゃんこと、末吉です。
山のある田舎ではたくさんのトンボが飛び交い、いよいよ秋が来るのかなと思いつつ残暑に悩まされています。
子供の頃は春、夏、秋、冬どの季節もすごく長く感じていました。
きっと季節をしっかり楽しめていたんだと思います。大人になっても季節情緒をしっかり楽しみたいですね。
インターネットってどうやって繋がっている?
さて本題に入りたいと思います。今日はネットワークの構造のお話をしたいと思います。
インターネットがどうやって繋がっているのか、ちょっとお勉強してみましょう。
ネットワークってそもそも何・・・?
ネットワークって横の言葉を使われても・・・、とお悩みの方もいらっしゃると思います。
以前どこかで聞いたんですが、とてもいい例えがあります。
地下鉄に例えてみます。
皆さんのPCひとつひとつを、地下鉄の駅としましょう。
地下鉄の駅は線路で繋がっていて、電車に乗って別の駅へ行くことができますね。
同じようにPCとPCはケーブルで繋がっていて、別のPCへ接続することができます。
ホームページを駅の掲示板に貼られたポスターだとしましょう。
別の駅へ行っていろいろな掲示物をみて情報を集めることができます。
でもどこに何があるのかわからないし、乗り換えもどうすればいいのかわからない。
そんなときは時刻表や乗換案内を頼りに目的の駅へ移動します。
PC、いえネットワークでは「ネームサーバー(DNS)」がその役割を担います。
そして日本の中だけでは情報が少なくて飽きてしまいます。
(仮に)世界中の地下鉄同士が繋がったら・・・?このネットワーク状態をインターネットと言います。
でもお互いに言葉がわからないので会話ができません。運行もままなりません。
なので共通のルールを設けました。それが「プロトコル」です。
プロトコルはインターネット上で世界共通の言語です。いわば翻訳機のようなものです。
プロトコルという共通言語を使用して、「あそこに行きたい」「あのサイトを見たい」などと会話しています。
OSI参照モデルって聞いたことありますか?
さて、プロトコルという共通言語があったとしても、いろいろなルールが必要です。
たとえば電車では、信号に対するルール、速度制限標識に対するルール、勾配標や曲線標や・・・他にもいっぱいありますね。
しかも信号といっても、進行信号とか閉塞信号とかさらに細かく区分されます。
インターネットにも同じような仕組みがあります。
プロトコルを大きく7つに分けて、そこからさらに多数のプロトコルが細かく存在します。
OSI参照モデルとは、そのプロトコルの定義をしているものです。
OSI参照モデル
レイヤ7 | アプリケーション層 | HTTP,FTPなど |
レイヤ6 | プレゼンテーション層 | UTF-8など |
レイヤ5 | セッション層 | 接続・切断を管理 |
レイヤ4 | トランスポート層 | TCP,UDPなど |
レイヤ3 | ネットワーク層 | IPなど |
レイヤ2 | データリンク層 | PPPなど |
レイヤ1 | 物理層 | RJ-45などケーブルの規格 |
レイヤ1 物理層について
名前の通り物理的な規格を指定しています。たとえばケーブルのコネクタの形状、電気信号の電圧や周波数などを決めています。
身近な例でいうと、普段PCにさして使うLANケーブルの規格もここで決められています。
レイヤ2 データリンク層
データリンク層は簡単に言うとデータを転送したいという要求を物理層に命令するための規格と思っていただければ良いと思います。
身近な例で言うと、プロバイダに接続するときに使うPPP(PPPoE)やIEEE802.11(無線LAN)などがこれです。
レイヤー3 ネットワーク層
ネットワーク層は接続されているネットワーク同士の通信をするための方法を取り決めています。
たとえばよく聞くIPアドレスなどはネットワーク層で指定されています。
それ以外にも、データの転送経路やパケットサイズを決めています。
レイヤー4 トランスポート層
データの転送の信頼性を約束するための規格です。データの誤り訂正や再送のリクエストを行います。
TCPやUDPやSCTPなどがこれにあたります。
レイヤー5 セッション層
セッション層は通信の開始から終了までの規格が制定されています。
簡単に言うと、面接会場への入室の仕方、退室の仕方が決まっています。
間違えてしまうと、面接の相手にされてしまわないようにです。。。
レイヤー6 プレゼンテーション層
データの圧縮方式や文字コードなどデータの表示の仕方が決められています。
たとえば今このブログの日本語が正しく読めるのは、プレゼンテーション層によって人間が読める文字に変換してくれているからなんです。
文字コードの例で言うと、UTF-8やShift_JIS、ECU-JPなどです。
レイヤー7 アプリケーション層
これは普段見ることの多い規格です。HTTPやFTP、TelnetやNTP、SSHなどがこれに値します。
HTTPなら、このページみたいんだけど見せてくれる?という依頼などを、まるで生命保険の契約のようにみっちり書くように指定されています。
以上ずばーっと書かせていただきました。
要は今あなたが読んでいるこのブログ記事を読むにも、この7層(7段階)の規格に沿ってデータのやりとりが行われていたんです。
しかも、これらの層の中にさらに細かくやりとりが存在します。
そう思うとPCのスピードの速さに驚きます。
いろいろな仕組みが少しずつわかると、普段使うPCやスマホがより楽しく感じられますね。
あなたのサイバーライフがより充実したものになりますように。
それではまた来週お会いしましょう!