ネットワーク層

ネットワークアーキテクチャ
第02回(2003/10/06)
「回線交換とパケット交換」
改め、
「もうインターネットのアーキテクチャ
を分かっちゃおう!」
村井 純
2016/7/9
Network Architecture 2003f
2003年度秋学期授業日程
09/29
10/06
10/13
10/20
10/27
11/03
11/10
11/17
11/24
11/26
12/01
12/08
12/15
12/22
~
01/08
01/12
01/19
2016/7/9
(最新情報はSoI*で確認してください)
(1)
講義概要/インターネットのアーキテクチャ
(2)
もうインターネットを分かっちゃおう
今日はここ
体育の日
(3)
階層モデルとIP(Internet Protocol)
(4)
識別子
文化の日
(5)
データリンク
(6)
ルーティング
勤労感謝の日の振替休日
(7)
TCP/UDP
<-(水曜日)
(8)
DNS
(9)
セキュリティ
(10)
モバイル
(11)
サーバ/クライアント ・ P2P
冬休み
(12)
これからのシステム
<-(木曜日)
成人の日
(13)
最終試験
Network Architecture 2003f
今日のお品書き
回線交換とパケット交換
階層化について
データリンク層
ネットワーク層
トランスポート層

2016/7/9
Network Architecture 2003f
回線交換
2016/7/9
Network Architecture 2003f
回線交換
• 相手と直接繋がる回線を用意して通信するモデル
• 代表的な例
– 電話
交換機
2016/7/9
Network Architecture 2003f
回線交換
• 2組の端末を結ぶと、中間の全ての交換機で2回線分
の資源が必要
回
線
交
換
機
2016/7/9
回
線
交
換
機
Network Architecture 2003f
回
線
交
換
機
回線交換
• 特徴
– 通信が始まる前に回線を確保→終わるまでずっと
• 利点
– 誰かに邪魔されない
– 常に一定の帯域幅が保証される
• 欠点
– データがなくても回線を占有
– 回線の数以上は接続できない
回
線
交
換
機
2016/7/9
回
線
交
換
機
Network Architecture 2003f
回
線
交
換
機
パケット交換
2016/7/9
Network Architecture 2003f
パケット交換
• データをパケットという単位で、リレーしながら相手まで届ける通
信モデル
• 特徴
– データをある程度の大きさに分割
• 最大のパケットサイズ = MTU(Max Transfer Unit)
• データがMTUに収まりきるなら、一つのパケットで送れる
– それぞれに宛先を書いて送信
• このような通信情報部分をヘッダ(Header)と呼ぶ
– 途中にいる人に中継してもらう
送信したいデータ
2016/7/9
宛先はA
Network Architecture 2003f
A
宛
パケット交換
• 回線を共有できる
A
A
A
A
B
A
B A C A C B C
C
B
B
C
C
2016/7/9
Network Architecture 2003f
C
パケット交換
• 利点
A
– 資源を効率的に利用できる
– 多地点間で同時に通信できる
– 一つの回線に、複数の種類のデータを流せる
FTP
チャット
映像
AA
A
A B C B C A C
FTP
B チャット
B
B
C
C
C
映像
2016/7/9
Network Architecture 2003f
CCC
パケット交換
• 欠点
– 恒常的な品質を保つのが難しい
– ルールを守らないやつがいると困る
• DOS(Deny Of Service)、ウイルス
2016/7/9
Network Architecture 2003f
階層化について
階層化の概念
OSI7層モデル

2016/7/9
Network Architecture 2003f
前回の講義から。。
複雑なことは他の技術に任せよう! →役割分担
認証
信頼性
帯域保証
インターネット
アドレス付け
ADSL
2016/7/9
ルーティング
送りかたは各リンクの
技術を使おう
Ethernet
各伝送媒体の技術
Network Architecture 2003f
電話線
階層化モデル
各役職は自分の役職の仕事のみに責任を持つ。
自分の上下の役職とのみやりとりを行う
社長
名刺
名刺
命令
命令
部長
部長
命令
命令
課長
課長
命令
平社員
2016/7/9
社長
命令
取引
Network Architecture 2003f
平社員
OSI7層モデル
Open System Interconnection
7 Layers Model
アプリケーション層
アプリケーション層
プレゼンテーション層
プレゼンテーション層
セッション層
セッション層
トランスポート層
トランスポート層
ネットワーク層
ネットワーク層
ネットワーク層
データリンク層
データリンク層
データリンク層
物理層
エンドノード
2016/7/9
物理層
中継ノード
Network Architecture 2003f
物理層
エンドノード
OSIモデルとインターネットアーキテクチャ
インターネットでは、上3層は全てアプリケーションに任されている
アプリケーション
プレゼンテーション
アプリケーション
HTTP,FTP,SMTPなどのプロトコルや
アプリケーションごとの通信手順
セッション
TCP
トランスポート
2016/7/9
UDP
ネットワーク
IP
データリンク
Network Interface
物理
物理
Network Architecture 2003f
インターネットの階層化
送信元から中継ノード(ルータ)を通ってあて先に
到達する例
Application
Application
TCP
TCP
IP
IP
Ethernet/10M
CAT5
エンドノード
2016/7/9
10M
IP
100M
CAT5 CAT5
中継ノード
Network Architecture 2003f
100M/Ethernet
CAT5
エンドノード
プロトコルスタックとカプセル化
ビルからビルの間で荷物を送るとき、上の階から各階で順番にラッピングをする
受け取った荷物は、ラッピングを順番にほどいていく
包装紙をかける
リボンを付ける
宛先をつける
宛先
2016/7/9
宛先
Network Architecture 2003f
物理層
2016/7/9
Network Architecture 2003f
物理層
• 使用するケーブル(伝送
媒体)の規格
– コネクタ
– 銅線、ファイバ、無線
• 流れるデータの電気的な
規格
– 符号化
– 変調・復調
• Bitレベルでの伝送機能
を提供
2016/7/9
Network Architecture 2003f
データリンク層
2016/7/9
Network Architecture 2003f
データリンク層
• 隣接する装置(ホスト)間における通信手順
– 同一の伝送媒体
– 伝送媒体に適した送受信の手順
• 送受信されるデータのフォーマット
– データリンクフレーム
• 装置(ホスト)間におけるデータの誤り検出、訂正
方法
– 物理層の特性を考慮して安定したデータ転送
2016/7/9
Network Architecture 2003f
前回の糸電話の例を思い出してみよう
複数の友達同士が糸電話を使って
コミュニケーションをとる例を考えてみよう!
Q1. 複数人でどうやって一本の糸をシェアする?
Q2. 皆が平等にコミュニケーションを取るためには
どんなルールが必要?
→実はこれはデータリンク層におけるアーキテク
チャの設計そのもの
2016/7/9
Network Architecture 2003f
みんなが勝手に喋ったら。。。
声が混ざって何を言っているかわからない
→ 特定のルールが必要
おーい
2016/7/9
おーい
Network Architecture 2003f
おーい
CSMA/CD
Carrier Sense Multiple Access/Collision Detection
Ethernet で使われているアクセス制御方式
複数人が同時に喋ったら、衝突を検知
はっ
2016/7/9
おーい
はっ
おーい
Network Architecture 2003f
はぁ?
CSMA/CD
Carrier Sense Multiple Access/Collision Detection
各自がランダムなタイマを設定し、ちょっと待ってみる
2016/7/9
Network Architecture 2003f
CSMA/CD
Carrier Sense Multiple Access/Collision Detection
タイマが解けた人が喋る
ふむ
ふむ
2016/7/9
おーい
Network Architecture 2003f
ふむ
ふむ
その他の例
• トークンリング方式
おーい
– トークンを持ってる人が話す
– どのステーションも平等にデータを送信
ふむ
ふむ
ふむ
ふむ
2016/7/9
Network Architecture 2003f
その他の例
ふむ
ふむ
• トークンリング方式
– トークンを持ってる人が話す
– どのステーションも平等にデータを送信
ふむ
ふむ
おーい
2016/7/9
Network Architecture 2003f
その他の例
• トークンリング方式
– トークンを持ってる人が話す
– どのステーションも平等にデータを送信
おーい
ふむ
ふむ
2016/7/9
Network Architecture 2003f
ふむ
ふむ
ネットワーク層
2016/7/9
Network Architecture 2003f
データリンク層では
• 近くにいる人の名前を呼ぶことは出来る
– 「山ちゃん」 「はーい!」
– 「田中さん」 「はーい!」
→でも、どこの山田君かは分からない
– 「僕、長野県の山ちゃんです」
– 「わてかて、京都の山ちゃんどす」
2016/7/9
Network Architecture 2003f
ネットワーク層(IP)の役割
• アドレス付け
– 世界中にコンピュータに一意な識別子をふる
• ルーティング
– 宛先アドレスに従ってデータを配送
2016/7/9
Network Architecture 2003f
アドレス付け(前回の復習)
• IPアドレス
– 133.27.4.121 など
– 世界中で一意な識別子
– 各コンピュータは一つ以上のIPアドレスを持つ
216.239.57.99
www.google.com
133.27.4.121
Ns0.sfc.keio.ac.jp
203.178.142.130
133.27.10.11
203.178.138.99
www.soi.wide.ad.jp
2016/7/9
133.27.100.100
Network Architecture 2003f
ルーティング(前回の復習)
• バケツリレーでデータを配送
– データの中継装置 = ルータ
– 宛先のIPアドレスを見て、誰に渡すかを判断
216.239.57.99に届けて
こっちだ
あっちだ
216.239.57.99
www.google.com
あっちだ
2016/7/9
ここだ
Network Architecture 2003f
ベストエフォート
• 中継システムは、データを “なるべく”努力して転
送しようとする
– インターネットでは、データが必ず相手に届く保証は
ない
2016/7/9
Network Architecture 2003f
トランスポート層
2016/7/9
Network Architecture 2003f
トランスポート層の役割
トランスポート層の役割

フローの形成
ポート番号
→データを適切なアプリケーションに届ける
通信の性質に合わせた転送
→トランスポートプロトコル
ネットワーク層(IP)の役割
IPでは相手のコンピュータにパケットを届けるだけ。
-通信相手がどのような状態にあるかは関係ない。
-途中のネットワークの状態も関知しない。
→データが確実に届くかどうかは保証していない。
→通信の性質も前提としていない。
2016/7/9
Network Architecture 2003f
ポート番号
• 1つのホスト中で個別の通信を識別する。
• フロー
– (ホストAのIPアドレス、ポート番号)と(ホストBのIPアド
レス、ポート番号)の組み合わせ
• サービス毎の識別子
– 16bit(65536)
– トランスポートプロトコル独立
– Wellknownポート(1~1023番)
• ftp
• dns
21番
53番
telnet 23番
http
80番
– /etc/services
2016/7/9
Network Architecture 2003f
日常の使い道を想像してみよう!
FTPサーバ(A)
203.178.142.155
• FTPサーバからファイルを転送しつつ、
ブラウザでSOIのサイトを見て、ついで
にメールを受信しているとします。
自分のコンピュータ
209.242.128.21
A
A
A B C B C A C
SOIのWWWサーバ(B)
SOIのWWWサーバ(B)
203.178.138.99
B
B
C
それぞれのデータはIP的には
単なるIPパケット群として自ホ
ストに送られてくる
→混ざってる? どうしよう?
2016/7/9
Network Architecture 2003f
C
メールサーバ(C)
133.27.4.120
C
フローの形成
FTPサーバ(A)
203.178.142.155 :21
• IPアドレスとポート番号を指定して、
それぞれのフローを形成
自分のコンピュータ
209.242.128.21
#3792
#2190
A
A
A
A
B
SOIのWWWサーバ(B)
203.178.138.99 :80
B
B
B
#5992
C
C
C
C
短命ポート番号
トランスポート層が自分と相手の
ポート番後によって、それぞれの通
信を識別
2016/7/9
Network Architecture 2003f
C
メールサーバ(C)
133.27.4.120 :110
C
階層別に見てみると(FTPによる接続の例)
クライアント
サーバ
クライアントのポート64381番
からサーバのポート21番まで
のフローが形成される
アプリケーションFTP Client
Port 64381
TCP
133.27.61.175
IP
データリンク
物理
2016/7/9
FTP Server アプリケーション
Port 21
TCP
203.178.143.233
IP
データリンク
物理
Network Architecture 2003f
プロトコルスタックとカプセル化(Webの場合)
• 送信側
各層がそれぞれ必要な情報
(ヘッダ)を付加して下層へ渡
す。
HTTPヘッダ
データ
TCPヘッダ
IPヘッダ
Ethernet Frame
信号へ
アプリケーション
アプリケーション
TCP
TCP
IP
IP
Network Interface
Network Interface
物理
物理
送信側
2016/7/9
• 受信側
各層はヘッダの情報をもとに
処理を行い、そのヘッダ部分
を取り除いて上層へ渡す。
受信側
Network Architecture 2003f
データ
トランスポートプロトコル
• 通信の性質に応じた転送方法の選択
• トランスポート層ではUDP/TCPとして提供される
– UDP(User Datagram Protocol)
• 信頼性のないデータグラム型通信
• CL (Connectionless)
– TCP(Transmission Control Protocol)
• 信頼性のあるストリーム型通信
• CO (Connection Oriented)
• Virtual Circuit
2016/7/9
Network Architecture 2003f
UDP
2016/7/9
Network Architecture 2003f
UDP
• User Datagram Protocol
• 非コネクション指向
• データグラム型通信
• 要は、、、、、
– パケットのサイズを決めて一方的に相手に送りつける
– 相手が受け取れているかはおかまいなし
2016/7/9
Network Architecture 2003f
UDPを用いたサービス
• パケット損失率や伝播遅延の変動が少ない安定
した通信路を想定
– NFS, TFTP, SNMP
• 即時性、実時間性重視
– DNS(パケット一つ分くらいのデータ)
– 音声や動画のストリーミングアプリケーション
• 一対多通信
– ブロードキャスト/マルチキャストを利用するアプリ
ケーション
2016/7/9
Network Architecture 2003f
TCP
2016/7/9
Network Architecture 2003f
TCP
• コネクション指向
• ストリーム型通信
• 特徴
– 信頼性がある通信を提供
• 到達するデータの完全性
• データの逐次性
2016/7/9
Network Architecture 2003f
TCPの仕組み(コネクションの確立方法)
• 3 way handshake
– SYN: コネクションを初期化する
– ACK: 確認応答
コネクション要求者
アクティブオープン
コネクション提供者
SYN
パッシブオープン
SYN + ACK
ACK
コネクション
確立
2016/7/9
Network Architecture 2003f
TCPの仕組み(再転送)
パケット送信者
パケット受信者
1パケット目送信
3
2
1
1パケット目届いた
2パケット目送信
あれ?
返事がない
しょうがない
もう1回送ろう
Packet loss
1
2パケット目送信
2パケット目届いた
3パケット目送信
3パケット目届いた
2016/7/9
1
Network Architecture 2003f
2
1
3
2
1
TCPの仕組み(送受信データ量の制御)
• フローコントロール
– 相手のバッファ要領にあわせたフロー制御
– 通信の高速化
• コンジェスチョンコントロール
– 途中経路でのパケットの損失に対処
2016/7/9
Network Architecture 2003f
flowコントロール
• 相手があふれたら、送信者が加減する
– 電話や放送にもあるコントロール
2016/7/9
Network Architecture 2003f
フローコントロール(1/2)
②
もちょっとゆっくり
送って。
受信者
送信者
もちょっとゆっくり
③ 送るか。
①
キュー(バッファ)
早すぎてバッファがあふれる
2016/7/9
Network Architecture 2003f
フローコントロール(2/2)
②
もっとはやく
送って。
受信者
送信者
③
じゃはやくおくるか
①
キュー(バッファ)
遅いから余裕があるな
2016/7/9
Network Architecture 2003f
congestionコントロール
• congestion = 輻輳
• ネットワークが混んでたら、やっぱり送信者が
加減する
– 電話や放送にはないコントロール
2016/7/9
Network Architecture 2003f
コンジェスチョンコントロール
②
もうちょっとゆっくり
送ろう。
送信者
受信者
輻輳
①
2016/7/9
受信者からしばらく応答がない
輻輳(コンジェスチョン)が発生して
パケットがとどいてなさそうだ
Network Architecture 2003f
まとめ(1)



回線交換
特定の通信ごとに回線を用意する
電話など
パケット交換
パケットという単位に分割されたデータをリレーしなが
ら相手まで届ける
インターネットはこれ!
階層モデル
通信は役割に応じて階層化されており、各層ごとの連
携によって全体の通信を支える。
2016/7/9
Network Architecture 2003f
まとめ(2)



データリンク層
伝送媒体に適した送受信の手順
装置間におけるデータの誤り検出、訂正方法
データリンクフレーム
ネットワーク層
End-Endを指定する世界中で一意な識別子を提供
ルーティング
トランスポート層
各Endホストにおけるポートを指定し、フローを形成
TCP:データの完全性や逐次性を保証する
UDP:即時性、実時間性重視
2016/7/9
Network Architecture 2003f
次回からは
• アプリケーションや、最近よく耳にするシステムの
アーキテクチャを見ていきます
– メール
– i-mode
– データセンタ
• リクエストがあったら、TA/SAのメーリングリスト
まで!
2016/7/9
Network Architecture 2003f
今日はここまで
2016/7/9
Network Architecture 2003f