第1章ネットワーク基礎知識
コンピュータネットワーク登場の背景
複数のコンピュータを互いに接続して使うコンピュータネットワークが考え出される。
個々のコンピュータに格納されている情報を共有したり他のコンピュータに送ることができる。
コンピュータネットワークはLANやWANなどに分類される。
初期は管理者が指定した特定のコンピュータ同士を接続するprivateなネットワーク。
私的なネットワークを相互に接続するのが活発になりpublicなネットワークとしてのインターネットが利用されるようになる。
コンピュータとネットワークの発展の7つの段階
1950年代
プログラムやデータをカードやテープに記録しておき、それを順番にコンピュータに読ませて一括処理する形態になっていた。
当時のコンピュータはとても高価で、コンピュータの管理や運用を行う計算機センターにあるのが普通。
一般ユーザが使うためにはプログラムやデータを打ち込んだカードやテープを持って計算機センターまでいく必要がある。
操作は複雑なため専門のオペレータに依頼し、後日計算機センターまで結果を取りに行く必要がある。
1960年代
TSSの登場で仮想的に一人が一台のコンピュータを占有して利用することが可能になる。
特にインタラクティブ(対話的)な操作が可能になったことが重要。
対話的プログラミング言語のBASICが開発され、バッチ処理を前提にしたCOBOLやFORTRANよりも初心者に優しく、より多くの人にプログラミングを学習してもらうために開発された。
TSSではコンピュータを端末の間は通信回線でスター型で接続され、この時ネットワークとコンピュータの結びつきが始まる。
コンピュータ間通信
1970年代
TSSはコンピュータと端末が回線で結ばれただけで、コンピュータ同士が接続された訳ではない。
コンピュータの性能の飛躍的な向上と小型化、価格が急激に安くなる。
コンピュータからコンピュータにデータを移す場合は磁気テープやフロッピーディスクなどの外部記録媒体にデータを保存して物理的に輸送する必要があった。
コンピュータ間を通信回線で接続するだけでデータを瞬時にやりとりできるようになる。
1970年代初期にはパケット交換技術によるコンピュータネットワークの実験が開始され、メーカーが異なるコンピュータ同士の相互通信に関する技術が研究されるようになる。
コンピュータネットワークの登場
1980年代
同時に複数の作業を行うことが可能になる。
インターネットの普及
1990年代
ダウンサイジング、マルチベンダ接続が流行し、ここにインターネットの通信技術が使われた。 同時期にインターネットメール(E-Mail)の利用とWWW(World Wide Web)による情報発信のブームにより企業や一般家庭にインターネットが普及し始める。
一般家庭やSOMO(Small Office/Home Office)向けのネットワーク接続サービスや各種のネットワーク製品が登場するようになる。
インターネット技術中心の時代へ
IP網が用意され、その上で電話やテレビ放送、コンピュータ通信、インターネットが構築されるようになる。
「単につなぐ」時代から「安全につなぐ」時代へ
コンピュータウイルスによる被害、企業・個人情報の流出、ネットワークを介した詐欺などのトラブルも増加。
安全に接続することが強く求められる。
プロトコルとは
代表的なプロトコルはIP、TCP、HTTP、LANでよく使われていたIPXやSPXなど。
様々なプロトコルを体系的にまとめたものをネットワークアーキテクチャと言うことがある。
table:protocol
ネットワークアーキテクチャ プロトコル 主な用途
TCP/IP IP,ICMP,TCP,UDP,etc... インターネット、LAN
IPX/SPX(NetWare) IPX,SPX,NPC,etc... パソコンLAN
AppleTalk DDP,RTMP,AEP,etc... 現Appple社製品のLAN
DECnet DPR,NSP,SCP,etc... 旧DEC社のミニコンなど
OSI FTAM,MOTIS,VT,etc... -
XNS IDP,SPP,PEP,etc... Xerox社ネットワーク
パケット交換
大きなデータをパケットと呼ばれる単位に分割して送信する方法。
ヘッダに送信元コンピュータと宛先コンピュータのアドレスを書き込んで通信回線に送り込む。
複数のパケットに分けた場合は元のデータのどの部分かを示す番号も書き込まれる。
受け取った時はこの番号を調べることで元データを再構築することができる。
プロトコルは誰が決める?
1974年にIBMが自社コンピュータ通信技術を体系化したネットワークアーキテクチャSNA(System Network Architecture)を発表。
各社独自のネットワークアーキテクチャとプロトコルは互換性がないので、異なるメーカーの製品を物理的に接続しても正しく通信することはできなかった。
ISO(International Organization for Standardization)が国際標準としてOSI(Open Systems Interconnection)と呼ばれる通信体系を標準化。
OSIの定めるプロトコルは普及してないがOSIプロトコルを設計する際の指針として提唱されたOSI参照モデルは、ネットワークプロトコルを考える時によく引き合いに出される。
TCP/IPはISOの国際標準ではないがIETF(Internet Engineering Task Force)で提案や標準化作業が行われているプロトコルで、インターネット上の標準でデファクトスタンダードとなっている。
プロトコルの階層化とOSI参照モデル
各階層は下位層から特定のサービスを受け、上位層に特定のサービスを提供する。
上位層と下位層の間でサービスのやりとりをするときの約束事を「インターフェース」と呼ぶ。
通信相手の同じ階層とやりとりする約束事を「プロトコル」と呼ぶ。
階層化による利点
各階層を独立したものとして扱うことができる。
システムのある階層を変更しても影響はシステム全体には及ばないため拡張性と柔軟性が高い。
階層化による欠点
処理が重くなる。
各モジュールで似たような処理をしなければならなくなる。
OSI参照モデル
あくまで各層の大まかな役割を決めるだけでプロトコルやインターフェースの詳細を決めるものではない。
table:osi
層 機能
7 アプリケーション層 特定のアプリケーションに特化したプロトコル。
6 プレゼンテーション層 機器固有のデータフォーマットとネットワーク共通のデータフォーマットの交換。
5 セッション層 通信の管理。コネクションの確立・切断。トランスポート層以下の層の管理。
4 トランスポート層 両端ノード間のデータ転送の管理。データ転送の信頼性を提供。
3 ネットワーク層 アドレスの管理と経路の選択。
2 データリンク層 直接接続された機器間でのデータフレームの識別と転送。
1 物理層 "0"と"1"を電圧の高低や光の点滅に変換する。コネクタやケーブルの形状の規定。
アプリケーション層
ファイル転送や電子メール、遠隔ログインなどを実現するプロトコルがある。
プレゼンテーション層
アプリケーション層が扱う情報を通信に適したデータ形式にしたり、下位層から来たデータを上位層が処理できるデータ形式にするなど。
機器固有のデータ表現形式(データフォーマット)などをネットワーク共通のデータ形式に変換する役割。
セッション層
コネクションの確立・切断、転送するデータの切れ目などデータ転送に関する管理を行う。
トランスポート層
宛先のアプリケーションにデータを確実に届ける役目がある。
通信を行う両端のノードだけれ処理され、途中のルーターでは処理されない。
ネットワーク層
宛先までデータを届ける役割をもつ。
複数のネットワークがルーターで繋がった先にある場合などのアドレス体系決めやどの経路を使うかの経路選択の役割をもつ。
データリンク層
物理層で直接接続されたノード間(1つのイーサネットに接続された2つのノード間)での通信を可能にする。
0と1の数字の列をフレームに生成するのとフレームを受信する。
物理層
ビット列を電圧の高低や光の点滅に変換(またはその逆)を行う。
OSI参照モデルによる通信処理の例(電子メール)
アプリケーション層
電子メール本文内容や宛先の情報を表すヘッダがつけられて、メールの受信処理をするアプリケーションに届けられる。
受信側は送信された情報からヘッダとデータを解析してハードディスクや不揮発性メモリに保存する。
もしメールの保存領域不足で受信できなかった場合にエラーメッセージを返すのもアプリケーション層。
プレゼンテーション層
送受信するデータをコンピュータ固有の表現形式とネットワーク全体で共通の表現方式に変換する。
文字列を決められた符号化方式によってネットワークzねたいで統一された表現形式に変換するなど。
セッション層
コネクションの確立・切断とその方法の判断。
データの送信方法をが書かれたヘッダを付与する。
トランスポート層
コネクションの確立・切断処理を行い、ホスト間の論理的な通信手段を作る。
データを確実に相手に届けるために通信するコンピュータ間でデータがきちんと届いたかどうかを確認したり、届かなかったデータを再送する。
データ転送の信頼性を保証するために送り出すデータを識別する印を含んだヘッダが付与される。
ネットワーク層
送信ホストから受信ホストへデータを配達する。
ネットワーク層の上位層から渡されたデータにアドレス情報などが付与されてデータリンク層に送られる。
データリンク層
物理的媒体を使って通信を行う。
直接接続された機器同士でデータのやりとりをできるようにする。
物理層
データの0と1を電圧や光のパルスに変換して物理的な通信媒体に流し込む。
通信方式の種類
コネクション型とコネクションレス型
コネクション型
データの送信前に受信ホストと送信ホストの間で回線の接続を行う。
コネクションレス型
コネクションの確立・切断処理がなく、送信したいコンピュータはいるでもデータを送信することができる。
回線交換とパケット交換
回線交換
従来の電話で利用されてきた通信方式。
コンピュータは交換機に接続され、交換機間は複数の通信回線で接続される。
通信をしたい場合には交換機を通して目的のコンピュータをの間に回線を設定する。
一度コネクションを確立するとコネクションが切断されるまでその回線は占有利用される。
回線に複数のコンピュータを接続し相互にデータのやりとりをしようとすると、t区亭のコンピュータが送受信を行うことで回線を占有するため、他のコンピュータはその間に回線を利用してデータの送受信ができない。
転送がいつ終わるかもわからない。
パケット交換
1960年代後半から必要性が認められ始めた通信方式。
回線に接続しているコンピュータが送信するデータを複数のパケットに分けて、転送の順番を待つ行列に並べて、各コンピュータが一斉にデータを送受信できるようになる。
パケットにヘッダがあり、そこに自分のアドレスと相手のアドレスが書き込まれているので、一つの回線を複数のユーザーで共有していても、それぞれのパケットの送信先を区別できる。
パケット交換機(ルーター)によって通信回線が結ばれる。
ルーターの中にはバッファという記憶領域があり、流れてきたパケットは待ち行列を作りながらバッファに格納され、先に入ってきたパケットから順に転送されていく。
パケット交換では回線速度が異なっていたりネットワークの混雑度によってパケットの到着間隔の長短が発生する。
ルーターのバッファが溢れるほどのパケットがくると、パケットが喪失して相手に届かないことがある。
通信相手の数による通信方式の分類
table:通信方式
ユニキャスト 一対一 従来の電話
ブロードキャスト 全てのコンピュータ(同じデータリンク内に限る) テレビ電話
マルチキャスト 特定のグループ内の通信 ビデオ会議
エニーキャスト 特定のグループのいずれか一つ DNSのルートネーム
アドレス
アドレスの唯一性
アドレスがユニークであること。
アドレスの階層性
階層性により探しやすくなる。
最終的に実際の通信を担うMACアドレスは階層性があるとは言えず、IPアドレスはネットワーク部とホスト部という複数の階層を持つ。
各パケットの宛先アドレスをみてどのネットワークインターフェースに送り出すかを決めるのに送出インターフェースを記したテーブルを参照する。
MACアドレスの場合は転送表(フォーワーディングテーブル)、IPアドレスの場合は経路制御表(ルーティングテーブル)を参照する。
転送表にはMACアドレスがそのまま書かれているのに対し、経路制御表に書かれるIPアドレスはネットワーク部とそれを示すサブネットマスクが書かれている。
ネットワークの構成要素
table:network_device
機器 役割
ネットワークインターフェース コンピュータをネットワークに接続するための装置
リピーター ネットワークを物理層で延長する装置
ブリッジ ネットワークをデータリンク層で延長する装置
ルーター/レイヤ3スイッチ ネットワーク層によってパケットを転送する装置
レイヤ4-7スイッチ トランスポート層より上の情報でトラフィックを処理する装置
ゲートウェイ プロトコルの変換をする装置
通信媒体とデータリンク
接続するケーブル
table:datalink
データリンク名 通信媒体 転送速度 主な用途
イーサネット 同軸ケーブル 10Mbps LAN
ツイストペアケーブル 10Mbps〜10Gbps LAN
光ファイバーケーブル 10Mbps〜100Gbps LAN
無線 電磁波 数Mbps〜 LAN〜WAN
ATM ツイストペアケーブル、光ファイバーケーブル 25 or 155 or 622Mbps LAN〜WAN
FDDI 光ファイバーケーブル、ツイストペアケーブル 100Mbps LAN〜WAN
フレームリレー ツイストペアケーブル、光ファイバーケーブル 64k〜1.5Mbps程度 WAN
ISDN ツイストペアケーブル、光ファイバー 64k〜1.5Mbps WAN
bps(Bits Per Second)
データ通信をするとき、2つの機器間を流れるデータの物理的な速さ(伝送速度または帯域(Bandwidth))の単位。
媒体中を流れる信号の速度は一定。
転送速度が大きくなるのは、短い時間でより多くのデータを送れるようになること。
スループット
実際にホスト間でやりとりされる転送速度。
単位はbps
ホストのCPUの能力やネットワークの混雑度、パケット中にデータがしめる割合なども考慮した実効転送速度。
利用するデータリンクの種類によって変わる。
媒体が電波やマイクロ波になることもある。
ネットワークインターフェース
NIC、ネットワークアダプタ、ネットワークカード、LANカードと呼ばれる。
リピーター
OSI参照モデルの物理層でケーブル上を流れた電気や光の信号を受信し、増幅や波形の整形などをしたのちに別の側へ再生する機器。
伝送速度の異なる媒体間を接続することはできない(速度交換にはブリッジまたはルーターが必要。)
リピーターによるネットワークの延長ではリピーターの接続段数に制限がある場合がある。
ブリッジ/レイヤ2スイッチ
OSI参照モデルのデータリンク層でネットワーク同士を接続する装置。(なのでレイヤ2スイッチとも呼ばれる。)
データリンクのフレームを認識してブリッジ内部のメモリに一旦蓄積、接続された相手のセグメントに新たなフレームとして送出。
転送速度が異なるデータリンクを接続でき、多段接続に関する制約も無い。
データリンクのフレームにFCS(Frame Check Sequence)と呼ばれるフィールドがあり、ブリッジはこれをチェックして壊れていれば他のセグメントに送信しないようにする。
アドレスの学習機能とフィルタリング機能により無駄なトラフィックを流さないよう制御
アドレスはMACアドレスやハードウェアアドレス、物理アドレス、アダプタアドレスと呼ばれるもの
パケットを隣のセグメントに流すかの判断を行うブリッジはラーニングブリッジと呼ばれる。
一度そのブリッジを通過したフレームのMACアドレスが一定時間ブリッジ内部のテーブルに登録されるので、どのセグメントにどのMACアドレスを持つ機器が存在するかを判断する。
イーサネットで理想されるスイッチングハブはほぼのこブリッジの一種。
ルーター/レイヤ3スイッチ
OSI参照モデルのネットワーク層で、ネットワーク同士を接続してパケットを中継する装置。
ネットワーク層のアドレス(IPアドレス)で処理を行う。
異なるデータリンクを相互に接続可能。
ネットワークの負荷を仕切ったり、セキュリティの機能を備えたものもある。
レイヤ4-7スイッチ
OSI参照モデルのトランスポート層からアプリケーション層の情報に基づいて配送処理を行う。
帯域制御、遠方の回線間でデータ転送を高速化するWANアクセラレータ、特定アプリケーションの高速化、ファイアーウォールなど。
ゲートウェイ
OSI参照モデルのトランスポート層からアプリケーション層まででデータを変換して中継する装置。
proxy serverはゲートウェイの一種でアプリケーションゲートウェイと呼ばれる。
現在のネットワークの姿
実際のネットワークの構成
バックボーン
大量のデータを高速に送受信することが目的で高速なルーターで繋がれている。
エッジ
多機能ルーターや高速なレイヤ3スイッチが利用されている。
アクセス(アグリゲーション)
コンピュータネットワークでエッジと接続されている部分で、ここで内側のネットワークの情報が集約されてエッジを超えてやりとりする情報とネットワーク内に留まる情報を制御する
レイヤ2スイッチやレイヤ3スイッチが使われることが多い。