ネットワーク基礎02
コンピュータネットワークの基礎知識03-04
通信プロトコルの必要性
共通のルールを決めていないと通信ができない
日常生活で世界共通のルール付けができていないものの例が日付の表記
24/08/01
日本人の感覚だと2024年8月1日だが、国によっては2001年8月24日だったりする
01のデータを電気信号や電波に変換して送受信ができたとしても、そのデータが何を意味するものか、どの部分が何をさすものかが送信側と受信側の間で認識がずれていると、データを正しく利用することができない
階層化のメリット
階層化のメリットは
実装しやすい
修正しやすい
機能拡張しやすい
障害発生個所の特定がしやすい
通信の仕組みはかなり複雑
例) Webページの閲覧をざっくり考えてもこれだけの動作
URLから、宛先の住所・途中経路を特定
宛先に対して、データほしいよーのリクエスト送信
リクエストも01の組み合わせから電気信号・電波に変換
宛先から戻ってきた電気信号・電波を01信号に変換
01信号をWebブラウザで閲覧できる形にして表示
当然、もっと面倒!
プログラムを作成していればわかる通り、複雑な処理は単純な処理の組み合わせで作成するのが現実的
クラスとか関数にわけて組み合わせる
なので、プロトコルの階層化のメリットはオブジェクト指向のメリットにちょっとちかい
OSI参照モデル
OSI
ISOが定めた、世界標準規約
まったく普及しなかったことでも有名
とはいえ、通信手順を規定したものとしてはわかりやすいためOSI参照モデルだけがいまも使われている
とくに教育で
アプリケーション層
アプリケーション固有のデータ形式や手順
メール送るならメール用のデータ形式や手順、Webサイト閲覧ならWebサイト閲覧用のデータ形式や手順をさだめているということ
プレゼンテーション層
データの表現形式
文字コード
バイトオーダー( ビッグエンディアン・リトルエンディアン )
僕は0x1234のつもり!
相手には0x3412として扱われちゃった!
https://scrapbox.io/files/663c1af0c09d7f001d426cb9.png
など
セッション層
通信の開始から終了までの手順
トランスポート層
信頼性の高いデータ伝送の実現
エラーがない
再送処理
ネットワーク層
複数のネットワークを介したコンピュータ間のデータ伝送の実現
https://scrapbox.io/files/663c1bbd5c71af001ce1b192.png
データリンク層
単一ネットワーク内でのデータ伝送の実現
https://scrapbox.io/files/663c1c02ca011f001cfbb21f.png
物理層
通信に使われる媒体などの規格・仕様
LANケーブルなど
TCP/IP4階層モデル
TCP/IP
世界中に普及した通信プロトコル
通信プロトコルのデファクトスタンダード
アプリケーション層
アプリケーション固有のデータ形式や手順
トランスポート層
プログラム間でのデータ伝送
インターネット層
インターネット( 複数のネットワークをつなげたやつ )におけるコンピュータ間のデータ伝送
ネットワークインタフェース層
単一ネットワーク内でのデータ伝送
通信に使用する媒体の規格・仕様
https://scrapbox.io/files/663c1d232d7eac001dab6708.png
https://scrapbox.io/files/663c1dfece03d4001c75269d.png
#ネットワーク基礎