「マスタリングTCP/IP」を読んだ (第1章)
仕事でTCP周りの処理を書くことが多い。
書くたびに体系的に学んどかないとまずいのではと思うので、名著と言われるこの本を買ってみた。
多分直接的に役に立つのは6章あたりなんだろうけど、知識の整理も兼ねて頭から読んでいく。
以下要約
第1章 ネットワークの基礎知識
1-1 コンピュータネットワーク登場の背景
- LANとかWANとか、現代におけるネットワークの活用例とか。割愛。
1-2 コンピュータとネットワーク発展の7つの段階
- 1950年代…バッチ処理の時代
- 1960年代…TSS(タイムシェアリングシステム)の時代
- 1970年代…コンピュータ間通信の時代
- 1980年代…コンピュータネットワークの時代
- 1990年代…インターネット普及の時代
- 2000年代…インターネット技術中心の時代
- 2010年代…いつでもどこでも何にでもTCP/IPネットワークの時代
1-3 プロトコルとは
ネットワークを利用するための約束事をプロトコルという
大きなデータをパケットと呼ばれる単位に分割して送信する方法をパケット交換という
- 送信元がデータを分割し、ヘッダを付加し、パケットを作る
※ヘッダには自分のアドレス、宛先アドレス、データの番号等が書き込まれる - 宛先ホストがヘッダを除き元のデータを再構築する
- 送信元がデータを分割し、ヘッダを付加し、パケットを作る
1-4 プロトコルは誰が決める?
- TCP/IPはIFEF (Internet Engineer Task Force)にて標準化が行われている
1-5 プロトコルの階層化とOSI参照モデル
OSI参照モデル
- ISO (International Organization for Standardization)が提唱した通信プロトコルの設計指標。
- 通信に必要な機能を7つに分け機能を分割することで、ネットワークプロトコルを単純化する。
- 下位層~上位層でサービスのやり取りをするときの約束事を「インターフェース」という。
- 通信相手の同一階層とやり取りするときの約束事を「プロトコル」という。
OSI参照モデルの7階層
アプリケーション層
- 特定のアプリケーションに特化したプロトコル。
プレゼンテーション層
セッション層
- データ転送に関する管理を行う。
- コネクションの確立、切断、転送データの切れ目の設定など
トランスポート層
- 宛先のアプリケーションにデータを確実に届ける責務を持つ。
ネットワーク層
- アドレス体系決めや経路選択等を行う。
データリンク層
- フレームの生成と受信を行う。
物理層
- ビット列⇔電圧の高低や光の点滅の変換を行う。
1-6 OSI参照モデルによる通信処理の例
- 電子メールの送受信を例にとって各階層の処理を解説。割愛。
1-7 通信方式の種類
コネクション型とコネクションレス型
コネクション型
- 通信の前後に接続の確立と切断を行う。
コネクションレス型
- 接続の確立と切断がないため、送信側はいつでもデータを送ることができる。
- 受信側はデータが送られているか常に確認する必要がある。
- コネクション型に比べ処理が単純なため、処理負荷軽減、低コスト化などのメリットが見込める。
回線交換とパケット交換
回線交換
- 従来の電話で利用されてきた。
- 交換機がデータの中継処理をする。
- コネクションの確立から切断まで、回線は占有利用される。
- コンピュータ間の回線速度が常に一定。
パケット交換
- TCP/IPではこちらを採用。
- パケット交換機(ルーター)によって通信回線が結ばれる。
- データをパケットとして分割することで占有化の必要がなく、回線を効率的に利用できる。
- 混雑度によってパケットの到着時間が変動する。
- ルーターのバッファが枯渇するとパケットが喪失して相手に届かなくなることがある。
通信相手の数による分類
ユニキャスト
- 1対1通信
ブロードキャスト
- 1対n通信
- 接続されている全てのホストに向けて発信する。
マルチキャスト
- 1対n通信
- ブロードキャストと同様だが、通信先を特定グループに限定。
エニーキャスト
- 特定の複数台から最適な条件を持つ一台が選別され、その対象1つにのみ情報が送られる。
1-8 アドレスとは
アドレスの唯一性
- 1つのアドレスは通信相手の特定のために一意(ユニーク)であることが必要となる。
アドレスの階層性
- アドレスの総数が多い場合に、検索を容易にするため階層性が必要となる。
- IPアドレスは階層性を持っている。
- 「ネットワーク部」「ホスト部」の二つの部分からなる。
- 同じネットワーク部を持つものは同じ組織に属している
- 組織、プロバイダ、地域などで集約可能。
1-9 ネットワークの構成要素
通信媒体とデータリンク
- 利用するデータリンクの種類によって利用するケーブル類が異なる。
ネットワークインタフェース
- NIC、ネットワークアダプタ、ネットワークカード、LANカードなどと呼ばれる。
リピーター
- 物理層でネットワークを延長する機器。
ブリッジ/レイヤ2スイッチ
- データリンク層でネットワーク同士を接続する装置。
- データリンクのフレームを認識してブリッジ内部に蓄積し、接続相手のセグメントに新たなフレームとして送出する。
ルーター/レイヤ3スイッチ
- ネットワーク層の処理を行う。
- ネットワーク間を接続して、パケットを中継する。
レイヤ4 - 7スイッチ
- トランスポート層~アプリケーション層の情報に基づいて配送処理を行う。
ゲートウェイ
1-10 現在のネットワークの姿
- バックボーン/コア
- 輸送路
- エッジ
- 出入口