最終更新:ID:1NZz4bJK8w 2015年06月30日(火) 22:16:24履歴
- タネンバウム、他,"コンピュータネットワーク 第5版", 日経BP社, 8,640円
- 教科書に沿った講義ではないが、良い本なので入手するのはお勧め。できれば原書が良い
- 第三版のATM、第二版のOSI
- 詳細や待ち行列理論のサマリといった過去の版にしかない内容も
- W. Stallings, "Data and Computer Communications - 9th Ed.", Prentice Hall, US$95.00
- タネンバウムに並ぶ定番教科書。ハンドブック的な使いでもある
- W. Richard Stevens, "TCP/IP Illustrated, Volume 1: The Protocols", Addison-Wesley Professional, US$79.99
- TCP/IPに特化するが、ひとつのプロトコルの実例を通じてプロトコルが何をやらねばならないかがよくわかる.この分野に進む人は必須。
- 訳書は"詳解TCP/IP〈Vol.1〉プロトコル"という書名
- 小口正人, "コンピュータネットワーク入門 - TCP/IPプロトコル群とセキュリティー", サイエンス社, 2,048円
- 比較的バランスよく書かれている最近の学部向け教科書
- 田坂修二, "情報ネットワークの基礎", 数理工学社(発売:サイエンス社), 2,300円
- 学部用なので個々のトピックの掘り下げは浅いが、待ち行列理論への言及もあり、下位層中心に全体の構成がよくできている。
- 絶版だが中古で入手しやすい
- 江崎浩,"ネットワーク工学―インターネットとディジタル技術の基礎", 数理工学社, 2,415円
- 学部向け教科書で、インターネット時代の教科書としてふさわしい新しい構成
- 浅野理森, "まるごと図解最新TCP/IPがわかる", 技術評論社, 1,980円
- 入門用副読本:全くIPネットワークの概念を持っていない場合には最初に一読するとよい。
- 絶版だが中古で1円
網状に接続された何か.
物流、人間関係のように色々な意味で使用されるが,
ここで扱うのは通信ネットワークの中の計算機ネットワーク (テレネットワークともいう)
- 基本形は一対一の接続
- 全ての通信相手と総当たりで接続されるのが究極形態
- どのような形の通信も可能としつつ、コストを節減するための技術が必要
アドレッシング能力(通信形態)は以下の4つ.
名称 | 通信方法 | その他備考 |
---|---|---|
ユニキャスト unicast | 一対一 | 特定の相手に伝送 |
マルチキャスト multicast | 特定の(論理的)グループのメンバ全てに伝送 | |
ブロードキャスト broadcast | (物理的に)届く範囲全てのノードに伝送 | 放送 |
エニーキャスト anycast | 特定の(論理的)グループのメンバのうちどれかに伝送 | 同じデータを持っているBDが複数あるとして,どれでもいいのでどれか一つからデータをもってくる |
- ユニキャスト,ブロードキャスト が通信形態としては基本になる.
一方, 同時性・方向性は以下の3つを覚える必要がある.
名称 | 説明 | 備考 |
---|---|---|
単方向(simplex) | 一方向にのみデータが伝送 | |
半二重(half-duplex) | 双方向にデータ伝送可能であるが同時には一方向のみ | トランシーバーなど |
全二重(full-duplex) | 双方向に同時データ伝送が可能 |
ここで考えるべきには通信路単位.
例えばあるコンピュータに2つの通信路を持っていて,これでコンピュータ的には両方向の通信をしている場合でも,
ひとつの通信路では,simplexである.
ここで話したい話題はそれこそ,一昔前の電話の交換手の交換.要は,どうやって相手とつなぐかという話.
全通信形態を全通信相手の組み合わせだけ用意するのは現実的ではない
- 任意の通信相手との接続を可能にするしくみが交換
- 結局のところは資源の共有(=完全には持たない)
- これが通信事業者が成り立つ原理
交換方法には2種類ある.
- 事前に通信経路を設定して(シグナリング) 、(仮想)回線を確保: なんであれ,事前に通信経路を設定したら回線交換
- あたかも物理的な線を独占しているかのような使い勝手
- 実際に使っていなくても資源は占有
- 情報をパケット(小包)に分割して各々に宛先情報をつけて送り、中間の中継地点ではそのときの状況に応じて適切な方面に送る
- 個々のパケットごとに通ってきた経路が異なったり到着する順序が入れ替わる可能性がある
- 必要な情報だけを送ることになる
- 情報を一連の流れ(フロー)として捉える
- c.f. 人間の会話でも途中で会話が途切れるというのと、話が終わるということは異なる. この話が続いている、というのが流れ
- 何らかの意味での仮想回線を用意する
- 回線交換で実現すると容易
- パケット、あるいはメッセージはあくまでも単体ごとに扱う: 何かにコマンドを送るみたいなやつ.
- 事前のセットアップや仮想回線を実現する手間を回避
- パケット交換で実現すると容易
今はコネクション指向の通信もパケット交換で実現している場合も多い.
- ブロードキャストを活用する
- 自分宛以外は聞かなかったふりというやり方を多用
- 最近はセキュリティの観点から状況が変わりつつある
- 自分宛以外は聞かなかったふりというやり方を多用
- コンピュータ(プログラム)は爆発的に喋る: バースト性
- 送信したいデータがあるとき急に発生する: 人間の会話では相手との間みたいなものが連続的に存在する.
- パケット交換との相性が良い
- 一方、自然界の情報源は通常時間的な流れ、つながりを持っていて回線交換に適する
- コンピュータは自分の一部を他と共有したりする
- 独立した単体同士のコミュニケーションとして捉えられない部分がある
以下ではノードとリンクの組み合わせでできる形についての議論をする.
- 基本形は一対一の接続
- 複数の相手と総当たりで一対一接続されるのが究極形態
- 全員と専用の線でつながるということ
- 共通の線で複数の相手に渡すことも可能
- 識別、アドレシング
- メディア(媒体)アクセスコントロール
- 論理的トポロジと物理的トポロジは一致しない
- 元々のEthernet (10Base5, 10Base2)、無線、赤外線、etc.
- あるノードからでる信号がすべてのノードに伝わる(そのため,色々なことが起きる).
- 物理的な共有媒体(バス)にノードを接続
- バスを適切に利用するための取り決めが必要
- バス媒体そのものの物理的特性に性能が依存する
- バスに問題が生じると全体に被害が及ぶ
- ノードの付け外しの際にバスに悪影響を及ぼさないようにせねばならない(これを注意していればだいたいOK)
- 回線容量を分け合うことになる
- TokenRing, FDDI, SONET ring, etc. (今はあんまり一般では使わない)
- 隣のノードとの接続を順次繰り返して輪をつくる
- リング型の媒体があるわけではなく、あくまでの隣のノードとの一対一接続の連続: 上流と下流がある
- リングを適切に利用するための取り決めが必要
- 他のノードを経由して通信が行われる
- 一ケ所でも切れるとリングが成り立たなくなり、被害が全体に及ぶ
- ノードの付け外しの際にはリングが切れる
- 回線容量を分け合うことになる
- 集線装置(ハブ)にノードを接続
- Ethernet (10BaseT), スイッチを使ったEthernet, ATM, etc.
- ハブが通信方式を決める
- 物理的なスターが論理的なスターとは限らない
- ハブが壊れると全体に被害が及ぶが、線が切れても該当するノードだけの問題で済む
- ノードの付け外しはハブの許す限り自由
- 回線容量がどうなるかは集線装置次第
- 集線装置(ハブ, コンセントレータ)にノードを接続し、ハブを上位のハブに接続
- スター同士の接続と考えることも可能だが、上下関係がある
- FDDI, CDDI
- スターと類似した性質だが、枝単位で運命共同体なのと、トラフィックの集約が起る
距離、規模、技術、運用 に応じて以下のように分類: 誰が持っているのか(組織-> LAN, NTT -> WAN)
- 距離がすべてではないことに注意(詳細は後の回で)
The Intermet | 10,000km | Planet |
WAN (Wide Area Network) | 1000km | Continent |
100km | country | |
MAN (Metropolitan Area Network) | 10km | City |
LAN (Local Area Network) | 1km | Campus |
100m | Building | |
10m | Room | |
PAN (Personal Area Network) | 1m | Square meter |
SAN (Storage Area Network) | ストレージ関係のデバイスを使う用 | |
DAN (Desk Area Network) | Mac のサンダーボルト的なやつ. サンダーボルトから画面に繋いで,そこから,いろんなポートにつなげるやつ | |
I/O channel | プロセッサーと,メモリみたいな | |
Processor interconnect | プロセッサーとコア |
複数のコンピュータによる効率的、効果的な分散処理を可能とするためのハードウェア、ソフトウェアの設計体系
- 1970年代に大きく進展
60年代後半からオンラインシステムの実現: 電話線にコンピュータ同士のやり取りをのせるようになった
- 1971年の第一次回線開放(電話線、専用線複数企業利用)
- ここまででは, 日本では電話線にコンピュータ同士の通信を載せては行けなかった(複数企業が一本の線に流してはいけない感じだった).
- 守秘義務とかそこら辺の影響.
- ここまででは, 日本では電話線にコンピュータ同士の通信を載せては行けなかった(複数企業が一本の線に流してはいけない感じだった).
オイルショックによるコンピュータ導入推進
- 人をリストラするため
- これで色んなベンダが出てきて仕様が乱立した.
各ベンダ独自のアーキテクチャから国際標準へ
- OSI (Open Systems Inter-connection)
- 1978年から国際標準化機構ISOによる標準化
二つのプロトコルスイートが存在した.
ネットワーク層プロトコルとしてCLNP(Connectionless Network Protocol = ISO IP) があり, ルーティングプロトコルも独自(ES-IS).
結局, 重すぎて実現できなかった.
- MAP(Manufacturing Automation Protocol)
- TOP(Technical and Office Protocol)
ネットワーク層プロトコルとしてCLNP(Connectionless Network Protocol = ISO IP) があり, ルーティングプロトコルも独自(ES-IS).
- ISO Presentation, ISO Session, ISO Transport(TP4)
- Transportについてはネットワーク層の種類に応じて0-4の五種類
結局, 重すぎて実現できなかった.
仮想化、階層化
- サービス
- ある層が自分の上の層に対して提供するプリミティブ(基本操作)の集合
- どのようなプリミティブがあるかは示すが、どう実現されているかは規定しない
- 上下2つの層はインタフェースを挟んで上がサービス利用者、下がサービス提供者
- インタフェース
- 一つ上位の層がその層を(SAP : Service Access Point)を通じてアクセスする方法を定義したもの
- プロトコル
- 同位エンティティによってやりとりされる情報の意味や手順に関する取り決め: 上下はプロトコルとは言わない.
- あるエンティティはプロトコルを利用してサービス定義を実現する
- エンティティはサービスを変えなければプロトコルは自由に変えることができる
OSIモデルにおけるサービスの提供方法
サービスを明確に整理する上で様々なネットワークにおいて有効
- 4種類に分類される
- 1. 要求(request)
- 2. 指示(indication)
- 3. 応答(response)
- 4. 確認(confirm)
サービスを明確に整理する上で様々なネットワークにおいて有効
物理媒体からプログラムの間の一連の処理を分割
- カプセル化: 各層で必要な情報を、一つ上の層の情報を包み込むような形で付加してゆく: どんどん大きくなる
- 送信側上位から下位、受信側下位から上位
- 中継点では下位の必要な部分のみを解釈
- 分割は分け過ぎず、詰め込み過ぎずが肝要
- 実際のところはシステムに依存して最適な形態が存在
- 各種のスタックモデル
- インターネットを扱う上では5層くらいが適当
- OSI: 7層
- TCP/IP: 4層
- ATMなど、ISDN系はまた異なったモデル
レイヤ名 | 機能 |
---|---|
アプリケーション | |
プレゼンテーション | データの表現形式、エンコード方式変換、暗号化 |
セッション | アプリケーション同士の会話制御. コネクション(レス/オリエンテッド)とは違う概念 |
トランスポート | |
ネットワーク | |
データリンク | |
物理 |
あくまでもデファクトスタンダード的なモデル
- OSIから下の部分、TCP/IPから上の部分
- 現実にインターネットを考える上でよく適合
- OSI 各層の性格上、トランスポートまでの下位層はネットワークの仕事、セッションから上はアプリケーションサポート
- モデルとしての考え方はOSI、実装的にはTCP/IPで、どちらにもぴったりしないことも
- 現実にインターネットを考える上でよく適合
レイヤ名 | 扱うデータの単位 | 例 | アドレス | 機能 |
---|---|---|---|---|
アプリケーション | メッセージ,データ | ftp, telnet, http | なし(トランスポート) | ユーザーの仕事 |
トランスポート | メッセージ,セグメント | TCP, UDP | ポート番号 | フロー制御、アプリケーションプロセスの識別 |
ネットワーク | パケット,データグラム | IP | IPアドレス | インターネット中での配送 |
データリンク | フレーム | LLC, MAC | MACアドレス | 直接つながった相手への配送 |
物理 | bit | PLS, PMA | なし | ビットを実際に送る |
インタフェースが実現されていれば入れ替えがきく
- どの層でどの機能を実現するかは任意性がある
- 例: コネクション、誤り訂正、フロー制御
- 2層と4層の類似性
- 重複しても無駄ではあるが通信は可能
- 一つの層の上に異なる層が同時に載りうる
- IPの上にTCPとUDP
- Ethernetの上にIPとAppleTalk
- 下位プロトコルを上位に載せることも可能
- トンネリング、VPN
高い通信品質、高い性能の実現には層構造自体が邪魔になることもある
- レイヤバイオレーション技術
- 通信の形態(unicast, multicast, broadcast, anycast)について、各々どのようなものか説明してください。
- 全二重通信、半二重通信、単方向通信について例をあげて説明してください。
- LANでよく使われるトポロジを3つあげ、各々の性質を説明してください。
- 完全結合、バス型、スター型、リング型の各トポロジについて、nノードを接続するのに必要なリンクの数を示して下さい。
- 交換という概念を簡単に説明してください。
- 回線交換とパケット交換について説明してください。
- 回線交換でコネクションレスな例、およびパケット交換でコネクションオリエンテッドな例をあげてください。
- LAN, WAN, MANといった分類の基準を述べて下さい。
- OSI参照モデルが明確にした重要な概念に、サービス、インタフェース、プロトコルがあります。これらを説明し、その関係を図示して下さい。
- プロトコルスタックとは何ですか? また、カプセル化という概念はプロトコルスタックでどのように用いられますか?
- OSI参照モデルの各層の名前と役割を簡単にあげてください。
- 実際のコンピュータネットワークでは5層のモデルがよく使われます。この5層モデルについて、各層の名称、各層で取り扱うデータの単位、各層で利用するアドレス、各層の役割をあげてください。
- OSI参照モデルにおけるサービスプリミティブについて図を用いて説明してください。
コメントをかく