マスタリングTCP/IP―入門編
概要
本
かかった時間
28.7 時間
感想
わかりやすく全体観つかめてよかった
読書メモ
1: ネットワーク基礎知識
コンピュータネットワーク登場の背景
スタンドアロンからネットワーク利用へ
スタンドアロン
コンピュータをネットワークに接続せず、単体で使用する状態
ネットワーク利用
複数のコンピュータを互いに接続すると、個々のコンピュータに格納されている情報を複数のコンピュータの間で共有したり、遠くのコンピュータへ瞬時に送ったりできる
コンピュータ通信から情報通信環境へ
初期のコンピュータネットワークは、管理者が指定した特定のコンピュータ同士を接続したもの
プライベートなネットワーク
これらの私的なネットワークを相互に接続することが活発になり、公共ネットワークとしてインターネットが利用されるようになる
コンピュータとネットワーク発展の 7 つの段階
1: バッチ処理
処理するプログラムやデータをカードやテープに記録しておき、それを順番にコンピュータに読み込ませて一括処理する形式
2: タイムシェアリングシステム(TSS)
1960 年代に登場
1 台のコンピュータに複数の端末を接続し、複数のユーザーが同時にコンピュータを利用できるようにしたシステム
3: コンピュータ間通信
それまではコンピュータから別のコンピュータにデータを移したい時は、磁気テープやフロッピーディスクなどの外部記憶媒体にデータを一旦保存して、それを物理的に輸送しなければいけなかった
コンピュータ間の通信が可能になったことで、データを瞬時にやり取りできるようになった
4: コンピュータネットワークの登場
1980 年代になると、いろいろな種類のコンピュータを相互に接続できるコンピュータネットワークが登場した
ウィンドウシステム
コンピュータの画面上で複数の窓(ウィンドウ)を開くことのできるシステム
複数のプログラムなどをウィンドウごとに割り付け、次々と切り替えて実行できる
5: インターネットの普及
1990 年代はじめには、情報処理に力を注ぐ企業や大学にて 1 人に 1 台ずつコンピュータが割り当てられ、ユーザーがコンピュータを専有して使用できる環境になってきた
企業や一般家庭にインターネットが普及し始めた
6: インターネット技術中心の時代へ
電話網の代わりに、インターネットの技術でもある IP 網が用意され、その上で電話やテレビ放送、コンピュータ通信、インターネットが構築されるようになった
7:「単につなぐ」時代から「安全につなぐ」時代へ
いまやインターネットは社会のインフラとして必須のものになった
接続後の運用などを検討して十分な自己防衛を行い、安全で健全な通信手段として維持していくことが不可欠な時代
プロトコルとは
ネットワークアーキテクチャ
様々なプロトコルを体系的にまとめたもの
TCP/IP もネットワークアーキテクチャの 1 つで IP・TCP・HTTP などのプロトコルの集合体
プロトコル
コンピュータとコンピュータがネットワークを利用して通信するために決められた「約束ごと」
プロトコルは誰が決める?
コンピュータ通信の登場から標準化へ
コンピュータ通信が始まった当初は、体系化や標準化が重要とは考えられていなかった
しかし、コンピュータの重要性が増し、多くの企業でコンピュータネットワークが導入されていくと、メーカーが違っても互いに通信できるような互換性が重要であると認識されるようになった
これがネットワークのオープン化、マルチベンダ化
プロトコルの標準化
ISO(International Organization for Standization: 国際標準化機構) は、国際標準として OSI(Open Systems Interconnection) と呼ばれる通信体系を標準化した
現在 OSI の定めるプロトコルは普及していないが、OSI プロトコルを設計する際の指針として提唱された OSI 参照モデルはネットワークプロトコルを考える時によく引き合いに出される
TCP/IP は ISO の国際標準ではない。TCP/IP は IETF(Internet Engineering Task Force) で提案や標準化作業が行われているプロトコル
プロトコルの階層化と OSI 参照モデル
プロトコルの階層化
OSI 参照モデルでは、通信に必要な機能を 7 つの階層に分け、機能を分割することで複雑になりがちなネットワークプロトコルを単純化する
上位層と下位層の間でサービスのやり取りをする時の約束ごとを「インタフェース」と呼び、通信相手の同じ階層とやり取りをする時の約束ごとを「プロトコル」と呼ぶ
各階層は、階層から特定のサービスを受け、上位層に特定のサービスを提供する
利点
階層化すると、各階層を独立なものとして扱うことができる
また、通信の機能分割が行われるため、それぞれの階層のプロトコルの実装が容易になり、それに伴って責任の分界点も明確になる
欠点
モジュール化を進めすぎてしまうと、処理が重くなったり、各モジュールで似たような処理が必要になる場合がある
OSI 参照モデルの各層の役割
7: アプリケーション層
特定のアプリケーションに特化したプロトコル
6: プレゼンテーション層
機器固有のデータフォーマットと、ネットワーク共通のデータフォーマットの変換
データ形式に関する責任を持つ
5: セッション層
通信の管理
コネクションの確立・切断
4: トランスポート層
両端ノード間のデータ転送の管理
データを確実に相手に届ける役目
3: ネットワーク層
アドレスの管理と経路の選択
2: データリンク層
直接接続された機器間でのデータフレームの識別と転送
0 と 1 の数字の列を意味のあるかたまり(フレーム)に分けて、相手に伝える
1: 物理層
0 と 1 を電圧の高低や光の点滅に変換する
通信方式の種類
コネクション型とコネクションレス型
コネクション型
データの送信を開始する前に、送信ホストと受信ホストの間で回線の接続をする
通信の前後にコネクションの確立と切断の処理を行う必要があるが、相手が通信不可能な場合には無駄なデータを送らずに済む
コネクションレス型
コネクションの確立や切断処理がない
送信したいコンピュータはいつでもデータを送信できる。逆に受け取る側は、いつ誰からデータを受信するかわからない
そのため、データを受け取っていないかどうかを常に確認しなければならない
通信相手がいるかどうかの確認を行わないため、受信相手がいない場合や、相手に届かない場合にもデータを送信できる
回線交換とパケット交換
現在のネットワークでは、大きく 2 つの通信方法が利用されている。回線交換とパケット交換である
回線交換
従来の電話で利用されてきた方式
交換機がデータの中継処理をする。コンピュータは交換機に接続され、交換機間は複数の通信回線で接続される
通信をしたい場合には目的のコンピュータとの間にコネクションを確立する。コネクションが切断されるまで、その回線は占有利用される
回線を占有してしまうと、他のコンピュータはその回線を利用できないので、ユーザーの数が多くなると通信できなくなってしまう
パケット交換
回線に接続しているコンピュータが送信するデータを複数の小包に分け、転送の順番を待つ行列に並べる方法が考え出された
データをパケットとして細分化することで、各コンピュータが一斉にデータを送受信できるようになり、回線を効率的に利用できる
通信相手の数による通信方式の分類
ユニキャスト
1 対 1 の通信
ブロードキャスト
1 台のホストから接続される全てのホストへ向けて情報を発信する
マルチキャスト
ブロードキャストと同様に複数のホストへの通信を行うが、通信先を特定のグループに限定している
エニーキャスト(Anycast)
1 台のホストから特定の複数のホストに向けて情報を発信する通信だが、マルチキャストとは振る舞いが異なる
特定の複数台のうちからネットワーク上で最適な条件を持つ対象が 1 つ選別され、その対象 1 つにだけ送られる
アドレスとは
通信の主体、すなわち送信元と受信先は、「アドレス」によって特定される
アドレスの唯一性
1 つのアドレスとして表される対象は明確に特定される必要があり、同じアドレスで表されるものが複数存在してはならない
アドレスの階層性
コンピュータ通信で用いる MAC アドレスと IP アドレスは、両方とも唯一性はあるが、階層性は IP アドレスだけにある
IP アドレスはネットワーク部とホスト部という 2 つの部分から構成され、ホスト部が異なる IP アドレスでも、同じネットワーク部を持つものは必ず同じ組織やグループに接続されている
ネットワークの途中にある通過点では、各パケットの宛先アドレスを見て、どのネットワークインタフェースから送り出すか決める
そのためにアドレスごとに送出インタフェースを記したテーブルを参照する
これは MAC アドレスでも IP アドレスでも同じ
MAC アドレスの場合は、このテーブルを転送表(フォワーディングテーブル)という
IP アドレスの場合は、このテーブルを経路制御表(ルーティングテーブル)という
転送表には MAC アドレスがそのまま書かれるのに対し、経路制御表に書かれる IP アドレスは集約されたネットワーク部である
ネットワークの構成要素
通信媒体とデータリンク
データリンク
直接接続された機器間で通信するためのプロトコルやネットワークを指す言葉
例
データリンク名: イーサネット
通信媒体
同軸ケーブル: 伝送速度 10Mbps
ツイストペアケーブル: 伝送速度 10Mbps - 10Gbps
光ファイバーケーブル: 伝送速度 10Mbps - 100Gbps
ネットワークインタフェース
コンピュータをネットワークに接続するには、ネットワークに接続するためのネットワークインタフェースが必要になる
このインタフェースは NIC(Network Interface Card)、ネットワークアダプタ、ネットワークカード、LAN カードと呼ばれる
リピーター
リピーターは OSI 参照モデルの第 1 層の物理層でネットワークを延長する機器
ケーブル上を流れてきた電気や光の信号を受信し、増幅や波形の整形などをしたのちに別の側へ再生する機器
リピーターによるネットワークの延長では、リピーターの接続段数に制限がある場合がある
10Mbps のイーサネットでは最大 4 つのリピーターを多段接続できるが、100Mbps のイーサネットでは最大で 2 つのリピーターしか接続できない
複数の線を収容できるリピーターもあり、リピーターハブと呼ばれる
ブリッジ / レイヤ 2 スイッチ
ブリッジは OSI 参照モデルの第 2 層、データリンク層でネットワーク同士を接続する装置
データリンクのフレームを認識してブリッジ内部のメモリにいったん蓄積し、接続された相手側のセグメントに新たなフレームとして送出する
データリンクのフレームには、フレームが正しく届いたかどうかをチェックするための FCS(Frame Check Sequence) と呼ばれるフィールドがある。ブリッジはこのフィールドをチェックして、壊れたフレームを他のセグメントへ送信しないようにする働きがある
セグメント
分割、区分といった意味だが「ネットワーク」を指して使われる
ルーター / レイヤ 3 スイッチ
ルーターは OSI 参照モデルの第 3 層、ネットワーク層の処理を行う
ブリッジは物理アドレス(MAC アドレス)で処理を行うが、ルーターはネットワーク層のアドレスで処理を行う
TCP/IP でのネットワーク層のアドレスは IP アドレスになる
ルーターは異なるデータリンクを相互に接続できる
イーサネットとイーサネットを接続したり、イーサネットと FDDI を接続できる
レイヤ 4-7 スイッチ
レイヤ 4-7 スイッチは、OSI 参照モデルのトランスポート層からアプリケーション層の情報に基づいて配送処理を行う
負荷分散を実現する方法の 1 つとして、Web サーバーの手前にロードバランサーというレイヤ 4-7 スイッチの一種を設置する場合がある
また、通信が混雑した場合などは音声通話のような即応性が求められる通信を優先し、メールやデータ転送といった多少遅延しても問題ない通信を後回しに処理することがある。このような処理を帯域制御と呼び、これもレイヤ 4-7 スイッチの機能の一部
ゲートウェイ