まずはGoogle様提供のお堅い定義から
「プロトコルとは、コンピュータでデータをやりとりするために定められた手順や規約、信号の電気的規則、通信における送受信の手順などを定めた規格を意味します。
異なるメーカーのソフトウエアやハードウエア同士でも、共通のプロトコルに従うことによって、正しい通信が可能になります。」
ふむふむ、わからん。
ということで僕なりにザックり分解してみるので、一緒に理解を深めていきましょう。
【プロトコルは約束事】
コンピュータ同時の通信において
・どんな形式で
・どんなケーブルを使って
・相手がどうやって受け取るか
など、上記が決まっていないと情報の送受信ができない。
実はこれは実生活で考えても同じこと。
手紙であれば相手の住所やこちらの住所を書き、切手を貼ってポストへ投函
電話であれば通信環境下で相手の電話番号を入力(指定)
「送る」一つとっても実は様々な決まり事やプロセスが存在します。
コンピューター同士の通信において、こういったプロセスや決まり事を7階層に分けてみたのが
OSI基本参照モデル
(1~7を合わせることでコンピューター同士のコミュニケーションが成立します)
7 アプリケーション層
具体的にどんなサービスを提供するのか
↑
6 プレゼンテーション層
データはどんな形式にするか
↑
5 セッション層
通信の開始から終了までをどう管理するか
↑
4 トランスポート層
通信の信頼性はどう確保するか
↑
3 ネットワーク層
ネットワークとネットワークをどう中継するか
↑
2 データリンク層
同一ネットワーク内でどう通信するか
↑
1 物理層
物理的にどう繋ぐか
なぜ階層ごとに分けるの?
例えば、「光ファイバってごっつ早いらしいやん!!」という話を小耳に挟んで導入してみたくなったとします。階層ごとの区切りをハッキリさせておかないと、カスタムしたいってなった時にイジりづらいですよね。これを階層に分けていれば「ホイだら第一階層使おまい!」と即座に対応できるわけです。
※ちなみに現在の標準は「TCP/IPプロトコル」
このプロトコルでは通信データをパケットという単位に分割して通信します。
→通信路上を流せるデータ量は有限、分割せず一気に送ると、それを処理し切るまでその通信路上の他の通信が行えなくなっちゃいます。
(100BASE-TXのネットワークの場合、1秒間に流せるのは100Mbiまで)
とまぁプロトコルやらパケットの解説はここまでにして、基本情報を受ける予定の人は以下の計算式も覚えましょう。
【伝送に要する時間の計算式】
ネットワークの伝送に要する時間は以下の計算式によって求められる
伝送時間=データ量÷回線速度
※ケーブルによって、必ずしも理論値100%が出るとは限らない
※また、一つのパケットに対しても様々な制御情報が付加される
(TCPの宛先情報、IPの宛先情報、イーサネットのアドレス情報など)
実際に出る速度:実行速度
(理論値×伝送効率)
理論値に対して実際に出る速度の割合:伝送効率
実行速度×理論値
以上、基本情報合格したら焼肉奢ってください。
では。