@sustny note

忘れっぽさを補うためのメモ

マスタリングTCP/IP 入門編 を読む会 - 第1章 - 3日目

こんばんは.大晦日が仕事納めのわたくしです.

激務を言い訳に読書を後回しにしていたので,前回同様無理やり一人読書会をねじ込んでいくことにしました.


1.3 プロトコルとは

1.3.1 プロトコルがいっぱい!

ポイント

  1. プロトコルの例:TCP, IP, HTTP...
  2. 様々なプロトコルを体系的にまとめたものを「ネットワークアーキテクチャ」と呼ぶ(TCP/IPTCP, IP, HTTPなどをまとめたもの)
  3. TCP/IPの他,Novel社のIPX/SPX,AppleAppleTalkIBMのSNA,旧DEC社のDECnetなどがある

1.3.2 プロトコルが必要な理由

ポイント

  1. プロトコルとは:コンピュータ同士がネットワーク通信をする際の「約束ごと」
  2. 環境が異なるコンピュータ同士でも,プロトコルがあることにより滞り無く通信ができる

1.3.3 プロトコルを会話で考えると

ポイント

  1. 言語をプロトコル,言語を使って話すことを通信,話の内容をデータとし,日本語が分かるAさん,英語が分かるBさん,どちらも話せるCさんがいたとすると,(以下)
  2. AさんとBさんは共通の言語(プロトコル)がないため会話(データのやりとり)が成立しないが,(以下)
  3. AさんとCさん(or BさんとCさん)は共通の言語(プロトコル)があるため会話(データのやりとり)が成立する

1.3.4 コンピュータでのプロトコル

ポイント

  1. (上記ではプロトコルを人間に例えたものの)人間のコミュニケーションはアバウトなやりとりで伝わることが多いがコンピュータはそう柔軟にはいかない
  2. そのため,コンピュータのプロトコルは厳密に定義する必要がある
  3. 通信中に起こる障害などをあらかじめ想定し,滞り無く通信ができるようにしておく必要がある

1.3.5 パケット交換でのプロトコル

ポイント

  1. パケット交換とは:大きなデータをパケット(packet/直訳:小包)と呼ばれる単位に分割して送信する方法
  2. パケットで分割されたデータには,それぞれのパケットにヘッダと呼ばれる伝票のようなものが付与される
  3. ヘッダには送信元や宛先,データ番号などが記載されており,それぞれの情報を正確に汲み取るためには送受信元それぞれで同じプロトコルが使われる必要がある

1.4 プロトコルは誰が決める?

1.4.1 コンピュータ通信の登場から標準化へ

ポイント

  1. コンピュータ通信が始まった当初は各社がそれぞれプロトコルを定義していたためそれぞれ互換性がなく,ユーザには不便な状況だった
  2. コンピュータの重要性が増してくると,メーカが違っても互いに通信できる互換性が重要であるという認識が強まった(マルチベンダ化)

1.4.2 プロトコルの標準化

ポイント

  1. 互換性を持たせるため,ISO(国際標準化機構)がOSI(Open Systems Interconnection)と呼ばれる通信体系を標準化した
  2. OSIの定めるプロトコルは普及していないが,OSIプロトコルを設計する際の指針として提唱されたOSI参照モデルはネットワークプロトコルを考えるときによく引き合いに出される
  3. TCP/IPはISOの国際標準ではないが,デファクトスタンダードとして世界中で使われているプロトコルである
  4. TCP/IPは,IETF(Internet Engineering Task Force)で提案・標準化作業が行われているプロトコルである

1.5 プロトコルの階層化とOSI参照モデル

1.5.1 プロトコルの階層化

ポイント

  1. OSI参照モデルとは:通信に必要な機能を7つの階層に分け,ネットワークプロトコルを単純化するためのモデル
  2. 各階層は下位層から特定のサービスを受け,上位層に特定のサービスを提供する
  3. 上下位層間のやりとりをする際の約束ごとをインタフェースと呼び,同位層同士のやりとりをする際の約束ごとをプロトコルと呼ぶ
  4. 階層化を行うことで,ある階層の仕様を変更してもシステム全体に影響を与えにくく,拡張性を維持できるという利点がある

1.5.2 会話で階層化を考えると

ポイント

  1. 前述したAさん, Cさんが同じ電話機を使って会話していることを例に考えると,(以下)
  2. AさんとCさんは同じ日本語(言語層)を使い,同じ電話機(通信装置層)を使っているために会話(データのやりとり)が成立する
  3. 仮に階層の仕様変更(別の言語を使用,携帯電話を使用,など)を行っても,それぞれの階層が独立しているため会話には影響を与えない

1.5.3 OSI参照モデル

ポイント

  1. OSI参照モデルは,1:物理層 2:データリンク層 3:ネットワーク層 4:トランスポート層 5:セッション層 6:プレゼンテーション層 7:アプリケーション層 の7つに別れる
  2. 上記の各階層は,各層で何をするかという役割を定義しているだけ(モデル)で,具体的な役割を定義するのがプロトコル(仕様)である
  3. 多くの通信プロトコルはこの7階層のどれかに当てはめることができるため,ネットワークを勉強するにあたり大事な基礎/指針となる

1.5.4 OSI参照モデルの各層の役割

ポイント

  1. アプリケーション層:特定のプログラム(電子メール用プロトコル,ファイル転送用プロトコル,など)
  2. プレゼンテーション層:アプリケーションが扱う情報を通信に最適な形式にしたり,下位層からきたデータを上位層が処理できる形式にしたりする
  3. セッション層:通信の管理.コネクションの確立/切断.トランスポート層以下の層の管理(コネクションをいつ確立して,いつ切断するか/いくつ確立するか)
  4. トランスポート層:両端ノード(終端の機器)間のデータ転送の管理.データに抜けがないかなど,転送の信頼性を提供する(途中のルータでは処理されない)
  5. ネットワーク層:アドレスの管理と経路の選択(どの経路を使って宛先まで送信するか)
  6. データリンク層:直接接続された機器間でのデータフレームの識別と転送(0と1の数列を意味のあるかたまり:フレームに分けて相手に伝える)
  7. 物理層:ビットの列を電圧の高低や光の点滅に変換したり,またはその反対の処理を行う

以上です.第1章はさくっと終わらせて年内に第2章に移りたいなと思っていたけど思うようにはいきませんね.

1ヶ月で第1章の半分しか終わっていないとか無能の極みなので来年から本気だす.