第3章 情報の伝達と通信

Download Report

Transcript 第3章 情報の伝達と通信

第3章 情報の伝達と通信
• プロトコル (3.2.2) (a)
– 通信の際の決めごと
• 通信の秘密と相手の認証 (3.2.3) (a)
– 暗号 盗聴を防ぐ
– (認証 通信参加者の身元の保証)
– (署名 通信内容の改竄の防止、否認の防止)
1
Information n.
1. facts provided or learned about something or someone
2. what is conveyed or represented by a particular
arrangement or sequence of things
(OED)
情報
ある事柄に関して伝達(入手)されるデータ(の内容). [通常は送り
手・受け手にとって何らかの意味を持つ(形に並んでいる)データを
指すが、データの意味内要そのものを指すこともある。さらに、そ
のデータをもとにして適切な判断を下したり行動をとったりすると
いう判断材料としての側面に重点を置く場合が多い。また、個別
のデータが生のままの未整理段階にとどまっているというニュアン
スで用いられることもあり、知識に比べて不確実性を包含した用
語] (新明解国語辞典(第四判)三省堂)
2
Shannonの情報理論
• C.E. Shannon, A mathematical theory of
communications, Bell Syst. Tech. J. 27 (1948),
pp.379-423.
• C. E. Shannon, A mathematical theory of
communications, Bell Syst. Tech. J. 27 (1948),
pp.10-21
• C. E. Shannon, Communications in the presence
of noise, Proc. IRE 37 (1949), pp.10-21.
• C. E. Shannon and W. Weaver, The Mathematical
Theory of Communication, Univ. Illinois Press,
1949.
• 甘利俊一「情報理論」ダイヤモンド社, 1970.
3
情報とは何か
( Shannon の情報理論の中で)
• 情報の「定義」
L を非空有限集合。その元を記号と呼ぶ。
「情報」とは有限の長さの記号列のことである。
ここでは この定義が最適である。
----パターンで表したものは、情報として扱えない。
現在、Shannon 流のほかの情報理論は、知られてい
ない。Shannon は「通信の数学的理論」を作ったの
であって、情報理論を作ったわけではない。
4
3.1.2 情報量の定義
情報量 (ビット bit (binary digit))
(1)確率事象の生起に伴う情報量
確率 p で生起する事象が起こったことを伝達されたとき得る情報量
H   log
2
p
ビット
(2)記号列としての情報量
H  log 2(記号列のとりうる場合の総数)
[注] 8ビット (bit) を1バイト (byte) と呼ぶ。
5
(2) 記号列の長さから定義された情報量
10 進法の記号列 A=2008 の場合の数 10000 をかりに情報量と思う
10 進法の記号列 B=101 場合の数 1000
並べた記号列としてAB= 20081010 : 場合の数 10000+1000 にはならな
い
しかし 情報量=記号列の長さ とすると
Aの列の長さ+Bの列の長さ=ABの列の長さ
しかし、使える記号が増えれば、短い長さで同じ場合の数が表せる
2種類 {0,1} の記号の記号列として表現したときの列の長
さとして情報量を決めれば、比較可能に一意にうまく定ま
る。記号列 A の場合の数 M を 0,1 列に直すと
log
2
M
の長さが必要になる。この量の単位をビット (bit) と呼ぶ。
01100011 8ビット 2^8 = 256 通りのパターンを表
現できる
ほかの記号種類の記号列のメモリ容量(情報量)
・ {a,b,c,…,x,y,z,w}長さ 3 の列  26*26*26=17576 通り
・ {0,1,2,3,…,9} 長さ 3 の列  1000 通り
これらを 0, 1 の記号列として表すのに必要な長さは
n
17576  2 , n  log 2 17576  14 . 101 ... ビット
n
1000  2 , n  log 2 1000  9 . 96578 ... ビット
7
必要なメモリの容量を見積もってみよう。 1冊200ページ
からなり、1ページに20行、1行に45文字例題:1 冊の日
本語の本を収納するのに 計算上あるとする。1文字2バイ
ト必要と考えて
200 ページ * 20 行 * 45 文字 * 2 バイト
= 360 * 10 の 3 乗 バイト = 360 K Byte (キロバイト)
のメモリ容量が必要と考えられる。これと同じサイズの本を
10万冊蔵書にもつ図書館があるとすれば、その図書館
の本の全体を記録するのに、計算上
36 G Byte (ギガバイト)
必要だということになる。現在のパソコンのハードディスク
の容量が40から60ギガバイト程度だということを考えると、
逆に、いかに大きな容量のメモリが身近に使えるように
なっているかが分かる。
8
(1) 事象の生起確立 p から定義される情報量
場合の数
m
n
k
n/m
k/n
場合の数の減少率が 小 --> 情報量 少ない
場合の数の減少率が 大 --> 情報量 大
情報量が場合の数の減少率で定まるとして、その関
数を f とする。当然、以下を満たす。
f(
n
k
n k
k
) f( ) f(
) f( )
m
n
m n
m
• 場合の数の減少率は、確率 p=n/m, q=k/n と考え
た方が一般的になる。
• 前提:情報量は確率によって決まる。
・ 前提: 情報量の加法則が成立する。つまり
確率事象AとBが独立で、それぞれの生起確立
がp と qとするとき 以下が成立する。
f ( p )  f ( q )  f ( pq )
確率p の事象の生起を知って得られる情報量は
f ( p )   C log p ( C  0は定数 )
特に f ( p )   log 2 ( p )
をビットという単位で呼ぶ
10
微分の定義
f '( x) 
lim
多項式を微分すると
1/x だけが現れない
f ( x  e)  f ( x)
e
e 0
x  3x
3
積分: 微分すると f(x) になる関数を探して F(x)
とする。
dF
( x)  f ( x)
つまり
dx
このとき
(a は定数)
x

f ( t ) dt  F ( x )  F ( a )
a
2
x  2x
2
x1
x 1 0
0
x
x
1
 x
2
2
 2 x
3
定義から
d
dx
x

a
f ( t ) dt 
d
dx
F ( x)  f ( x)
? x
1

1
x
対数関数、指数関数の定義
log( x ) 

x
1
1
dt t
exp( x )  log
d
log( x ) 
dx
1
( x ) d
1
x
exp( x ) 
dx
1
dx
 y  exp( x )
dy
log( xy )  log( x )  log( y )
//
d
1
log( xy ) 
dx
y
xy
1
log( xy )  log( x )  C
x
x  1 log( y )  C //
exp( xy )  exp( x ) exp( y )
// a  exp( x ), b  exp( y )
x  y  log( a )  log( b )  log( ab )
exp( x  y )  ab  exp( x ) exp( y ) //
exp( 1)  e  2 . 718 ...
exp( n )  e n
n : 整数
12
f ( pq )  f ( p )  f ( q )
加法則
f ( p )  f ( p )  f (1)
f ' ( x )  lim
f ( X   )  f ( x)

0

1
x
lim
0
ゆえに
ゆえに
f ( X   / x )  f (1)
/x
f (1)  0
 lim
f (1   / x )

0
 f ' (1)
1
x
C
1
x
f ( x )  C log( x )
13
• ここでCの値を決めると、それぞれの単位の
取り方に対応する
C 
1
log
のとき
2
f ( p)  
log( p )
log
C 1
2
  log 2 ( p ) ビット
のとき
f ( p )   log
p
ニット
14
例
サイコロの目
-log2(1/6)  2.59 ビット
ルーレットの目
-log2(1/100)  6.64 ビット
コイン投げの裏表 -log2(1/2) = 1 ビット
記号列の長さとしての情報量ビットと確率事象の生起の情報
量ビットの同値性
0,1 の2値がどちらも確率 1/2 で生起するとすると、そのひ
とつの値の情報量は 1 ビットになる。このとき 0,1 の特定の
長さ n の記号列が発生する確率は 1 / 2 n で、ゆえにその生起
確率から計算される情報量は  log 2 (1 / 2 n )  n ビットである。
ゆえに、長さ n の 0,1 列の情報量を n ビットとした記号列の長
さで定義した情報量と、整合的である。
15
• 事象AとBが独立でないときは、必ずしも加法
則はなりたたない。
熱力学的観点から:熱力学のエントロピーと情報エント
ロピーの関係
・ 1 ビット

0.7 k erg (エルグ)
 23
ボルツマン定数
k  1 . 38  10
J /K
・ 1 erg は 1 dyn の力で 1cm 物を動かしたときの仕
事・エネルギー のCGS単位
・ 1 dyn は 1 g の質量に 1cm / s 2 の加速度を与える
力の大きさ (約98グラムの重さ)
17
3.1.3 平均情報量
事象 A1,A2,…,An が独立に確率 (p1,…,pn) で発生する情報源が
あったとする。この情報源の1文字あたりの平均情報量(情報源
のエントロピー)を H とすると、それは
n
H    p i log
pi
i 1
情報源の生起事象を復元可能な符号化によって 0,1 に符号化し
た列で通知しようとすると、その長さの平均値を L ビットとすると、
常に以下の不等式が成立する。
n
L

p i l ( Ai )  H
i 1
18
情報源符号化定理
任意の   0 に対して平均符号長 L が以下を満たす
ような符号化が存在する。
H   L  H
つまり、良い符号化を使えば平均符号長が、情報源のエン
トロピー(平均情報量) H にいくらでも近くできるということが
保証されている。
19
通話路
復号化 Decoding
符号化Coding
A1’
A2’
・・・
C ビット/秒
情報源
H
事象{A1,A2,…An} が確率的に生起する
H 情報源の出す1事象あたりの平均情報
量(情報源のエントロピー) ビット
C 通話路容量
最適な符号化を取れれば、平
均 C/H 文字(事象)伝送できる
20
雑音のない通信路の基本定理(情報源符号化定理)
平均情報量 H の情報源と単位時間当たり C の容量を
持つ通信路があるとき、任意の正の数   0 に対して、
単位時間当たり少なくとも 事象で M 個分の情報を送る
ような符号化で以下を満たすものが存在する。
C
H
  M 
C
H
21
良い符号化を見つけよう
[ハフマン 符号化の原理]
データに出現する記号の個数を求める。 それが木構造の葉に相
当すると見なし、木を構成する。
まず、葉を含むすべての節点のうち、親を持たないものを集める。
その中から、最小の値をもつものと2番目に小さい値をもつものを
取り出す。 それらを子供にもつ新しい節点を作る。 このとき、新
しい節点の値は、両方の子供の値の和とする。
22
以上を繰り返して根節点まで到達して木が完成される。
次に、根から順に左右に0と1の値を割り振っていく(左右のどちら
に0と1を与えるかは任意)。 すると、それぞれの葉(記号)に対し
て、一意にビット列が与えられる。 この記号とビット列の関係をも
とに、もとのデータの記号をビット列に変換していくことで符号化
が行われる。
ハフマン符号は一意復元可能である。
23
Sample データ :
DAEBCBACBBBC
出現頻度と割り当てられた符号
B
C
A
D
E
個数
5
3
2
1
1
推定確率
5/12 3/12 2/12 1/12 1/12
記号
符号
0
10
110
1110 1111
24
12桁 を0,1のビット列に符号化
[例] DAEBCBACBBBC
A:000, B:001, C:010, D:011, E:100 と符号化すると
011000100001010001000010001001001010 36 ビット
平均符号号長 3.0 ビット
A:1110, B:0, C:10, D:110, E:1111 と符号化すると
110 1110 1111 0 10 0 1110 10 0 0 0 10
25ビット
この列の平均符号長
2.08333… ビット
列の長さを無限にするとハフマン符号化の平均符号長 2.1666… ビットになる.
[注] 観測列が1事象 B で符号化 0 とすると平均符号長は 1.0 ビット! である。
情報源のエントロピー
n
H    p i log
2
pi
i 1
 (
5
12
log 2 (
5
)
12
 2 . 0545 ....( ビット
3
12
log 2 (
3
12
)
2
12
log 2 (
2
)
12
1
12
log 2 (
1
12
)
1
12
log 2 (
1
))
12
)
ハフマン符号化の 2.1666… は良い近似である。
25
同じ例で違う木による符号化
左の木による符号化
12
00
5
B
B 0
1
C 10
7
0
3
C
A 111
D 1100
1
E 1101
4
0
2
0
1
1
D
1
E
1
2
A
前の例での符号化
B 0
C 10
A 110
D 1110
E 1111
26
Huffman Code の例
確率
Code
A
0.5
0
B
0.2
10
C 0.1
1100
D 0.08
1101
E
0.05
1110
F
0.04
11110
G 0.02
111110
H 0.01
111111
0
0.5
A
1.0
0
0.2
B
1
0.5
1
0
0.18
0 1
0.1
0.08
C
D
0.3
1
0
0.12
0.05
0
E
0.04
F
1
0.07
1
0.03
0
0.02
G
1
0.01
H
27
Shannon 最適に近づける ---反復を用いる
生起確率
ハフマン符号化
A
2/3
1
B
1/3
0
平均符号長
l1  1 . 0
ハフマン符号化しても、少しも良くなっていない。
情報源のエントロピーの値
2
2
1
1
2
H  { log 2 ( )  log 2 ( )}  log 2 3   0 . 918295 .....
3
3
3
3
3
28
生起確率
ハフマン符号
単純符号
AA
4/9
0
00
AB
2/9
10
01
BA
2/9
111
10
BB
1/9
110
11
ハフマン符号化の平均符号長
l 2' 
4
 2
2
 3
2
 3
1

17
 1 . 88888 .....
9
9
9
9
9
もとの1文字あたりの平均符号長
l 2
1
2
l2 ' 
17
 0 . 944444 .....
18
ゆえに以下のように情報源のエントロピーの値により近づく
l1  1 . 0  l 2  0 . 944444 .....  H  0 . 91829 ....
29
結合エントロピー
• 結合エントロピーH(X,Y)
30
3.5.3条件付きエントロピー
H(X|Y):Yを受信したときのXのエントロピー
(エントロピーはあいまい度のこ
と)
H ( X | Y )   p( y j )H ( X | y  y j )
j
 
i
 
i

p( y j )
j

p ( xi , y j )
p( y j )
log(
p ( xi , y j )
p( y j )
p ( x i , y j ) log( p ( x i , y j )) 
j
 H ( X ,Y ) 

i

)
p ( x i , y j ) log( y j )
j
p ( y j ) log( y j )  H ( X , Y )  H (Y )
j
31
例 情報伝送速度
0.9
1
1
入力側で0,1を1/2 ずつの確
0.
0.
率で毎秒 1000個発生するとし、
0 1
0
1
通信路の誤り確率を 0.1 とす
0.9
る。すると、
1
1
1
1
H ( X )  1000  (  (log )  log( ))  1000
ビット/
2
2
2
2
秒
が発信されるので、900 ビット/秒 の情報が受け取れ
るかというとそうではない。出力が 0でもとの信号が正
しく0であった確率は0.9, 出力が0でもとの信号が1で
あった確率は0.1, 信号1についても同様なので, あい
H ( X | Y )  1000  (  0 . 9 log 0 . 9  0 . 1 log 0 . 1)
まい度は
 469 ビット/ 秒
32
だから伝送速度は R=1000-469=531 ビット/秒であ
る。わずか1割の雑音で情報量はほぼ半分に減っ
てしまうのである。
3.5.4 相互情報量
I(X;Y): 受信Yを観測して得られるXに関する情
報量
I ( X ;Y )  H ( X )  H ( X | Y )
 H ( X , Y )  H ( X )  (Y )
 H (Y )  H (Y | X )  I (Y ; X )
33
情報伝達速度 R:1秒当たり受信によって得られる
情報量 R を情報伝送速度と呼ぶ。このとき、
R  H ( X )  H ( X | Y )  I ( X ;Y )
通信路容量 C: 情報伝送速度 R は、入力 の
xi
確率 によって決まる。このRの最大値を通信路
pi
容量と呼ぶ。
C  max{ I ( X ; Y ) | p ( x i ) i 1,..., n }
34
通信路容量
• Xの確率分布を変更したときの相互情報量
I(X;Y)の最大値
• 符号化の方法によって相互情報量を通信路
容量に近づけることが出来る
35
通信路容量Cの計算例
情報の構造の一様性を仮定する。すると、
m
H (Y | x i )    p j log p j ,
i 1
m
H (Y | X )    p j log p j
i 1
ゆえに
m
C  max{ H (Y )  H (Y | X )}  max{ H (Y )} 

p j log p j
i 1
1
p
(
x
)

H(Y)が最大の値を取るのは i
m
のときだから
m
C  log( m ) 

p j log p j
j 1
36
例
1
p
0
1-
p
1
p
1-p
0
m=2,
誤り率: p
この通信路の容量は
C  log
2
2  (1  p ) log 2 (1  p )  p log
 1  (1  p ) log 2 (1  p )  p log
2
2
p
p
(注:p=1/2 ならば C=
0)
37
定理(誤りを持つ通信路の基本定理)
容量 C の通信路と1秒当たりKのエントロピーを持
つ情報源があるとき、K<C ならば、情報源の情報
をこの通信路を通して任意に小さい誤り確率で送れ
るような符号化が存在する。
このことは、雑音の混入が避けられない通信路で、誤
りのない通信ができる。しかも、そのときの情報伝送速
度を最大 C まで高められるという、一見常識に反する
ことを意味するので、通信理論にたずさわる人たちを
驚かせた。
38
3.2 情報通信
• 3.2.2 プロトコル
• 3.2.3 通信の秘密と相手の認証
共通鍵暗号、公開鍵暗号(非対称鍵)、
ハッシュ関数、電子指紋
• 3.3 情報ネットワークの枠組み
回線交換、パケット交換
• 3.4 インターネット
TCP/IP, LAN, IP アドレス、MACアドレス
DNS (Domain Name Server)
プロトコル (protocol)---通信の規格
クライアント
• WWW
HTTPプロトコル
Webブラウザ
サーバ
Webサーバ
• 電子メイル --- 送信プロトコル smtp
メイルソフト
メイルサーバ
• 電子メイル受信のプロトコル --- pop 方式, imap 方式
メイルソフト
メイルサーバ
40
Web
サーバ
ブラウザ
データ
HTTP
TCP
TCP
IP
IP
ヘッダ データ
41
3.3.3 通信の秘密と相手の認証
・ 共通鍵暗号(対称鍵暗号)
– 送信する暗号化での鍵と受信での復号化の鍵が同じもの。
(シーザー暗号など)
• 公開鍵暗号(非対称鍵暗号)
– 暗号化と復号での鍵が違うもの(RSA方式など)
42
共通鍵暗号(対称鍵暗号)
• ヴァーナム使い捨て鍵暗号 (Vernam‘s one-time
pad)
 全ての受動的攻撃に耐えられる完全秘匿
(perfectly secure)な暗号系
• 欠点
– 文書と同一の長さの真正ランダム鍵が必要
– その鍵が、安全に届けられなければならない(ワ
シントンモスクワ間での信頼できる特使により運
搬されていたそうである)
43
公開鍵暗号
P Aさんの公開鍵
E Aさんだけが知っている秘密鍵
P で暗号化
平文
文
E で復号化
暗号文
Aさんだけが復号化できる
E で暗号化
平文
暗号文
発信者が A さんであると分かる
平
P で復号化
平文
共通鍵暗号
• 一つの鍵で暗号化と復号化が両方できるモデ
ル
鍵を秘密に保つ必要がある
45
公開鍵暗号
46
署名と検証
これによりメッセージの発信者が特定でき、かつメッセージが
改ざんされていないことが分かる。別掲PDFファイルへ
47
インターネットの通信
• ネットワークの集合体: グループごとに管理
• ルータ: ネットワーク間の通信を中継
• 様々なプロトコル: 役割毎に分割
ネットワーク間通信-IP
• ネットワーク間伝達の仕組み
– 同一ネットワーク内に宛先があれば直接転送
– そうでない場合は,宛先に送るのに適した同一
ネットワーク内のルータに転送
• IPアドレスネットワークアドレス
• 経路制御
– 経路表の利用
• 静的経路制御
• 動的経路制御
インターネット通信の実際
例: 東大からテルアビブ大学へのメッセージ
ux104$ traceroute post.tau.ac.il
traceroute to post.tau.ac.il (132.66.16.11), 30 hops max, 40 byte packets
1 133.11.50.158 (133.11.50.158) 0.78 ms 0.226 ms 0.224 ms
2 192.168.254.65 (192.168.254.65) 0.612 ms 0.49 ms 0.466 ms
3 133.11.249.242 (133.11.249.242) 0.775 ms 0.67 ms 0.647 ms
4 ra36-vlan2.nc.u-tokyo.ac.jp (133.11.127.43) 0.757 ms 0.76 ms 0.701 ms
5 ra37-vlan3.nc.u-tokyo.ac.jp (133.11.127.78) 0.803 ms 0.74 ms 0.721 ms
6 tokyo-s1-g2-0.sinet.ad.jp (150.99.197.169) 0.939 ms 1.229 ms 0.882 ms
7 jt-tokyo-s1-p3-0.sinet.ad.jp (150.99.197.37) 2.186 ms 2.924 ms 2.31 ms
8 nii-s1-p4-0.sinet.ad.jp (150.99.197.22) 2.779 ms 2.615 ms 2.598 ms
9 nii-gate2-p2-0.sinet.ad.jp (150.99.199.174) 2.641 ms 2.473 ms 2.468 ms
10 nii-gate3-p3-0.sinet.ad.jp (150.99.198.246) 189.415 ms 189.298 ms 189.368 ms
11 sinet.ny1.ny.geant.net (62.40.103.233) 199.775 ms 199.893 ms 199.924 ms
12 ny.uk1.uk.geant.net (62.40.96.170) 263.855 ms 263.747 ms 263.851 ms
13 uk.nl1.nl.geant.net (62.40.96.181) 280.256 ms 280.372 ms 280.351 ms
14 nl.il1.il.geant.net (62.40.96.118) 345.219 ms 344.887 ms 345.015 ms
15 iucc-gw.il1.il.geant.net (62.40.103.70) 343.861 ms 343.667 ms 343.758 ms
16 tau-gp1-fe.ilan.net.il (128.139.191.69) 343.89 ms 343.845 ms 348.009 ms
17 * * *
18 * * *
3.3 交換の方式
• 通信の交換の方式
(1) 回線交換
(2) パケット交換
--パケットごとに送られて受信側に到達すると、受信側でもと
に組み立て直す。
– ネット内でのパケットの大きさは、数十から数千バイト程度
の大きさ。
– イーサネット内では 1500 Byte
– 携帯電話のデータ通信では通常、1パケットは128バイト 。
51
交換方式の特性
交換方式
回線 (電話)
パケット (インター
ネット)
流れる情報の種類
音声のように途切れ
ては困るもの
WWWのように時間
がかかっても構わな
いもの
料金体系
回線を占有している
時間に対して課す
全体の設備を使う権
利に対して課す
端末の能力
単純でよい
データをためる・送り
直す等の能力が必要
交換機の能力
高くないといけない
比較的低い
52
IPアドレス
• IPアドレス: インターネット内の住所
8ビット. 8ビット.8ビット.8ビットの32ビット
これらの8ビットは通常0~255の整数で表す
(ゆえに 172.16.11.13 のように表示する)
– インターネットに接続するホストは、すべて一意
のアドレスを必ず持つ
– 連続する番号が意味を持つ
• 組織毎にIPアドレスのまとまりで使用を許可される
• ネットワークの住所を表す
53
IPアドレスは、ネットワーク番号と機器のホスト番号をつ
なげたもの。
最初の何ビットがネットワーク番号となるかは、ネットワー
クごとに異なる
IPアドレス
ネットワーク番号
ホスト番号
左から何桁がネットワーク番号になるかは、ネットマスク
で表される。
54
各機器はホスト番号を持つ
ルーターのネット
ワーク番号
ルーター
各機器は同じネットワーク番号
インターネットの世界
55
IPアドレスとネットマスクの例
・ 172.16.30.6 / 255.255.255.0
ネットマスクの値が 111....1100000000 で左
から24 個1が並んでいるので24ビットまでが
ネットワーク番号、その後がホスト番号。
・ 上を 172.16.30.6 /24 と表記しても、同じ意味
である。
56
IPアドレス, もう少々
• ホストのアドレスとネットワークのアドレス
– IPアドレスの2進表示の末尾に0が並んでいるも
のがネットワークアドレス
192.168.12.240
= 11000000 10101000 00001100 11110000 2
192.168.12.241~192.168.12.254までがそのネット
ワークで使えるホストのアドレス (192.168.12.255は
同報のために使う)
このようなネットワークを 192.168.12.240/28 と書く
28は先頭から28ビットまでがネットワークアドレスの範
囲
LAN (Local Area Network) の通信
• 通信の媒体によって異なる
• 代表的な通信媒体であるイーサネットの例
– コンピュータを識別する48ビットのMACアドレスと
は、製造会社の番号24ビットと会社の製造機械
ごとの24ビットからなる(世界中で一意に決まる)
– IPアドレスとの変換にはARP(Address
Resolution Protocol)が利用される
図3.16 TCP の働き: データの分割
データ
送信側:データの分割
1
3
2
4
インターネット
2
1
4
3
受信側で並べ直してデータを復元する
1
2
3
4
カプセル化-1つのパケットを作る
• 階層毎に制御用のデータを付加する
– ヘッダ: 先頭に付加されたもの
– トレーラ: 末尾に付加されたもの
• 役割
– データの宛先
– 誤り訂正
– 順序の制御など
パケットを作る
1. TCP がデータの前に TCP ヘッダをつける。
2. IP が TCP ヘッダの前に IP ヘッダをつける
3. IP がさらに IP ヘッダの前に MAC ヘッダを
つける。
4. これでパケットが完成する
MAC
IPヘッダ
TCPヘッダ データ
MACアドレスとはイーサ-ネットで使われる機器固有の48ビット論理アド レス。
61
A. TCPヘッダ(その中身)
アプリケーション間の通信に使う
1. 送信元ポート番号
2. 宛先ポート番号
3. シーケンス番号-このパケットデータ
の先先位置が、このパケットの何バイ
ト目かを受信側に知らせる
4. ACK 番号
5. など
62
• ポート番号 計算機では、ネットワーク通信
を行うアプリケーションが複数同時に働いて
いる。アプリケーションごとの通信で、相手の
計算機の中のどのアプリケーションと通信す
るのかを特定する必要がある。そのために、
開いているアプリケーションごとにポート番号
(16ビット)を付与して、区別できるようにして
ある。
63
B. IP ヘッダ(その中身)
ーネットワーク間通信に使う
1.
2.
3.
4.
5.
生存期間(TTL)
プロトコル番号
送信元 IP アドレス
発信元 IP アドレス
など
64
ドメイン名
mail. ecc. u-tokyo. ac. jp
情報基
盤センタ
東京大学
学術
機関
日
本
• 32ビットの IPアドレスは人間には扱いづらい。
• ドメイン名:
IP アドレスのかわりに人間が使うためのもの・
階層化されている
– 各ドメインには、ドメイン名サーバ(DNS)とい
うコンピュータが用意されている
– DNSとインターネットを使って通信して IP ア
ドレスを調べる
(WWW シミュレータを実演してみせる)
65
DNSによるIPアドレスの解決
root
jp
co
de
1
ac
2
3
u-tokyo
klee
uk
4
tu-berlin
WWW
66
HTTPリクエストメッセージ送信手順
1. パケットを作る (データが大きいときには複数
のパケットに分割する)
2. DNS サーバに問い合わせてURLに対応す
る相手の IP アドレスを取得する。
3. LAN アダプタを通して電気信号に変換され
て出力される
4. リピータハブスイッチングハブルータ
インターネット
67