34
1 2008/8/28 校内研修会(樟葉南小学校) 1 インターネットの仕組み 京都教育大学 多田 知正 [email protected] 2008/8/28 校内研修会(樟葉南小学校) 2 インターネットの普及 インターネットはごく身近な存在に 子どもが普通にネットを使う時代 子どもの「なぜ」の対象に 大人は答えられる? 2008/8/28 校内研修会(樟葉南小学校) 3 子どもの「なぜ」 なぜインターネットはあんな細い線で写真や音 楽を送れるの? なぜ1つのデータをわざわざパケットに分ける の? 「光」はどうして速いの? パケットはどうやって世界中に届くの? もしパケットが途中で消えるとどうなるの? 2008/8/28 校内研修会(樟葉南小学校) 4 情報伝達の方法 2008/8/28 校内研修会(樟葉南小学校) 5 ここでのテーマ 電気でどうやって文章,画像,音声などを送るのか? ところが これで何でも送ってしまう 日記,写真,音楽 etc. インターネットの計算機はケーブルでつながっている ケーブル上は電気が流れるだけ 2008/8/28 校内研修会(樟葉南小学校) 6 電気で何かを伝えよう どういうわけか2本のケーブルでつながっている2つの家 鈴木家 佐藤家 何かを伝えたくてこうしてみた

インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

1

2008/8/28 校内研修会(樟葉南小学校) 1

インターネットの仕組み

京都教育大学

多田 知正

[email protected]

2008/8/28 校内研修会(樟葉南小学校) 2

インターネットの普及

インターネットはごく身近な存在に

子どもが普通にネットを使う時代

子どもの「なぜ」の対象に

大人は答えられる?

2008/8/28 校内研修会(樟葉南小学校) 3

子どもの「なぜ」

なぜインターネットはあんな細い線で写真や音楽を送れるの?

なぜ1つのデータをわざわざパケットに分ける

の?

「光」はどうして速いの?

パケットはどうやって世界中に届くの?

もしパケットが途中で消えるとどうなるの?

2008/8/28 校内研修会(樟葉南小学校) 4

情報伝達の方法

2008/8/28 校内研修会(樟葉南小学校) 5

ここでのテーマ

電気でどうやって文章,画像,音声などを送るのか?

ところがこれで何でも送ってしまう日記,写真,音楽 etc.

インターネットの計算機はケーブルでつながっているケーブル上は電気が流れるだけ

2008/8/28 校内研修会(樟葉南小学校) 6

電気で何かを伝えようどういうわけか2本のケーブルでつながっている2つの家

鈴木家 佐藤家

何かを伝えたくてこうしてみた

Page 2: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

2

2008/8/28 校内研修会(樟葉南小学校) 7

電気で何かを伝えよう

スイッチOFF

スイッチON

電球は消えている

電球がつく

当たり前ですが...

鈴木さん

佐藤さん

2008/8/28 校内研修会(樟葉南小学校) 8

電気で何かを伝えよう

ここで,2つの約束を決める1. スイッチOFFで0,スイッチONで1を表す2. 1秒間隔でスイッチを切り替える

ON,OFF,ON,ON,OFF→1,0,1,1,0ね

1,0,1,1,0を伝えましょう→ON,OFF,ON,ON,OFF

「0と1のならび」が電気を使って伝わった!!

2008/8/28 校内研修会(樟葉南小学校) 9

0と1だけで数字を表そう

0と1だけじゃつまらない

→普通の数字も伝えたい

普通の数字は0から9を使って表せる16, 256, 1024, 65536,etc.→10で桁が繰り上がるから(10進法)

だったら「2で桁が繰り上がる数」を使おう!(2進法)0, 1, 2, 3, 4, 5, …→ “0”, “1”, “10”, “11”, “100”, “101”,…

どんな数でも0と1だけで表せる!(とりあえず整数だけ)

でも...

普通の101と区別するためこの資料では“ ”ではさみます

2008/8/28 校内研修会(樟葉南小学校) 10

0と1だけで数字を表そう

さっき電気で伝わった「0と1のならび」ですが...

100101001010010100011001…いったいどこで切れるの!!

約束を1つ追加1. 0はスイッチOFF,1はスイッチON2. 1秒間隔でスイッチを切り替える

3. 8個ごとに切れる

100101001010010100011001

“10010100”, “10100101”, “00011001”=140, 165, 25ね

と,いうわけでどんな数字でも電気で伝えられる!!“11111111”(255)以上の数は...

2008/8/28 校内研修会(樟葉南小学校) 11

大きい数を送りたいとき

あらかじめ切れ目を大きめにしておく

1. 0はスイッチOFF,1はスイッチON2. 1秒間隔でスイッチを切り替える

3. 8個ごとに切れる

32個にしておけば,“11111111111111111111111111111111”=4294967295(42億9496万7295)まで大丈夫(まあこれくらいあれば)

32個

その代わり,1つの数字を伝えるのに時間がかかる

2008/8/28 校内研修会(樟葉南小学校) 12

数字で何でも表そう

電気を使って数字が伝えられる→数字で表せるものは,何でも電気で伝えられる

何でも数字で表してやろう→どうやって?

213,3,32,65,53,…

日記日記を表した数字

213,3,32,65,53,…

もとの日記日記を表した数字

送る側

受け取る側

数字を送る

数字を受け取る

Page 3: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

3

2008/8/28 校内研修会(樟葉南小学校) 13

数字で文章を表そう

文章=文字の集まり→それぞれの文字を数字で表せば,文章が数字で表せる!

A→1, B→2, …, Z→26 と決める

“I AM VERY HAPPY”を数字で表すと?Iが9だから, 初が9で...あれ,空白はどうする?

空白記号→0とすると

“I AM VERY HAPPY”= 9,0,1,13,0,22,5,18,25,0,8,1,16,16,25

と,いうわけで「文章」は電気を使って送ることができる!

2008/8/28 校内研修会(樟葉南小学校) 14

文字に数字を割り当てる

英語の文字• アルファベット26文字 x 2• 記号(コンマ,ピリオド etc.)

文字への数字の割り当て「文字コード」

大文字A(65)

空白記号(32)

コード(code): 符号

あることを表すために,一定の体系に基づいて作られたしるし

英語の標準文字コード「情報交換のための米国標準コード」略してASCII(アスキー)

2008/8/28 校内研修会(樟葉南小学校) 15

文字に数字を割り当てる

日本語の文字• かな50文字 x 2(ひらがな,カタカナ)• 漢字たくさん• 記号が少々

もちろん日本語の文字にもそれぞれ数字が割り当てられている

例えば,“数”の文字コードは...→知らなくていいです

日本語の文字コードは?

延々と続く...

2008/8/28 校内研修会(樟葉南小学校) 16

文字化けはなぜ起きるか?

実は日本語の文字コードにはいくつか種類があるJISコードEUCコードシフトJISコードユニコード

送られてきた文章の文字コードを,違う文字コードとして解釈するとめちゃくちゃな文字が表示される

→同じ文字でも割り当てられている数字が異なる

� �$BJ8;z2=$1 (B(“文字化け”って書いてます)

正しい文字コードを計算機に教えてあげれば直ります

2008/8/28 校内研修会(樟葉南小学校) 17

数字で画像を表そう

ここに一枚の写真があります

この部分を拡大すると

2008/8/28 校内研修会(樟葉南小学校) 18

数字で画像を表そう

さらにこの部分を拡大すると

Page 4: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

4

2008/8/28 校内研修会(樟葉南小学校) 19

数字で画像を表そう

写真というのは小さな点の集合それぞれの点には色がついている

グレー

「画素」という

2008/8/28 校内研修会(樟葉南小学校) 20

数字で画像を表そう

それぞれの点の色に数字を割り当てると,画像が数字で表せる!

たとえば白:0,黒:1,赤:2とすれば1,1,1,1,1,1,1,1,1,1,1,1,11,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,2,2,2,0,0,0,0,11,0,0,0,2,2,2,2,2,0,0,0,11,0,0,0,2,2,2,2,2,0,0,0,11,0,0,0,0,2,2,2,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,11,1,1,1,1,1,1,1,1,1,1,1,1

と,いうわけで「画像」は電気を使って送ることができる!

2008/8/28 校内研修会(樟葉南小学校) 21

色に数字を割り当てる

色にどの数字を割り当てるか?→世の中にはたくさんの色がある→適当に数字を割り当てると大変なことに

水色→じゃあ,32(みずで32)

うすい水色?→うーん,132( 初の1は薄いってことで...)じゃ,これは?

緑色→とりあえず3(みどりだけに)

こんな調子で全ての色に数字を割り当てていると日が暮れる→というかそもそも覚えられない

2008/8/28 校内研修会(樟葉南小学校) 22

色に数字を割り当てる光の3原色=赤,緑,青

3つの色を混ぜることでいろんな色が表せる

3つの色の強さ(明るさ)によって色が決まる

+ =

+ =

混ぜれば混ぜるほど明るくなる→絵の具とは逆

赤 暗い青 赤紫

暗い赤 青 青紫

強い

弱い

2008/8/28 校内研修会(樟葉南小学校) 23

色に数字を割り当てる

赤,青,緑の色の強さ(明るさ)を数字で表そう

+=赤の強さ100赤紫

+

+赤の強さ100

青の強さ50

青の強さ100+

緑の強さ0

緑の強さ100

→(100,0,50)=

→(100,100,100)

強を100, 弱を0とすると

あらゆる色が,3つの数字を使って表せる!

このような割り当て方を「RGBカラーモデル」という(RGBはRed Green Blueの略)

2008/8/28 校内研修会(樟葉南小学校) 24

数字で動画を表そう

動画=画像の連続したもの

画像が数字で表せるのだから,動画ももちろん数字で表せる!

と,いうわけで「動画」は電気を使って送ることができる!

Page 5: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

5

2008/8/28 校内研修会(樟葉南小学校) 25

数字で音を表そう

音ってそもそも何でしょう?→音とは,空気の振動です

「空気の振動」をどうやって数字で表すか?

楽器は,自分が振動することで空気を振動させる

人間は,鼓膜の振動を音として感じる

振動は,空気中を伝わって耳の中の鼓膜を振動させる

2008/8/28 校内研修会(樟葉南小学校) 26

数字で音を表そう

「振動」を数字で表すには?

地震計の記録

振動といえば地面の振動→地震

地面の振動する様子をギザギザ(波形)で表している

横軸:時間の経過縦軸:どのくらいずれたか(振幅)

2008/8/28 校内研修会(樟葉南小学校) 27

数字で音を表そう

「音=空気の振動」も同じように波形であらわせる

例えば,時報の「ポーン」はこんな感じ

時間

振幅

音量の小さい「ポーン」→振幅が小さい

時間

振幅

時間

振幅音の高い「ポーン」→周波数が高い

2008/8/28 校内研修会(樟葉南小学校) 28

数字で音を表そう

波形を数字で表すには

時間

振幅

一定時間ごとに振幅を調べて,数字で表す

0

103

-3 -10

0,3,7,9,10,9,7,3,0,-3,-7,-9,-10,-9,…

2008/8/28 校内研修会(樟葉南小学校) 29

数字で音を表そう

0,3,7,9,10,9,7,3,0,-3,-7,-9,-10,-9,…

時間

振幅

数字の列

点の並び

元の波形→音声

音声も数字で表せる!

間を適当に埋めると

数字の列から元の波形に

2008/8/28 校内研修会(樟葉南小学校) 30

数字で音を表そう

スピーカーは,音の波形に合わせて振動して,空気を振るわせる→音が鳴る

と,いうわけで「音声」も電気を使って送ることができる!

Page 6: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

6

2008/8/28 校内研修会(樟葉南小学校) 31

計算機はどうやっているのか?

1. 送りたいデータを0と1のならび

で表す2. それに合わせて高速なスイッ

チでON/OFFを切り替える

電流が流れたり止まったり

1. 電流の変化から0と1のならびを読み取る

2. 0と1のならびを元の

データに直す

計算機は のように電球を点けたり消したりはしていない

2008/8/28 校内研修会(樟葉南小学校) 32

ネットワークの速さとは?

スイッチを高速に切り替えるほど,たくさんのデータが送れる

実はネットワークの速さは,この切り替えの速さで決まる→電気の流れる速さとは関係がない

例えば,50Mbpsとは,1秒間に5千万回スイッチを切り替えるという意味→1秒で5千万個の0と1のならびが送れる→日本語の文章なら1秒で312.5万文字送れる

ネットワークの速さ=一定時間にどれだけのデータが送れるか

ON,OFF,OFF,ON,ON,ON,OFF,ON…

Mbps:メガビーピーエス• M(mega):100万• b(bit):0か1• p(per):~あたり• s(second):秒

2008/8/28 校内研修会(樟葉南小学校) 33

ネットワークの速さとは?

ネットワーク速さは電気の速さとは関係がないでも遠くは近くよりデータの移動に時間がかかるのでは?

...その通りです実際にデータは遅れて到着します

速いネットワーク(でも遠い)

遅いネットワーク(でも近い)

2008/8/28 校内研修会(樟葉南小学校) 34

ネットワークの速さとは?

速いネットワーク(でも遠い)

遅いネットワーク(でも近い)データは少し遅れてドバッとつく

データはちょっとずつチョロチョロとつく

データの到着の仕方はどう違うのか?

パイプにたとえると速いネットワーク:太いパイプ遅いネットワーク:細いパイプ

01011011010101101

1 1 0 1

2008/8/28 校内研修会(樟葉南小学校) 35

ネットワークの速さとは?ネットワークの速さのことを帯域幅(bandwidth)という

ブロードバンドとは,帯域幅(bandwidth)が広い(broad)ことちなみに逆はナローバンド(narrowband)です(なぜあまり耳にしないかというと「自慢にならないから」)

帯域って何?帯域とは本当は周波数帯域のことでそもそも...→どうでもいいのでやめときます

要するにネットワークの速さのことを幅で表すということ

2008/8/28 校内研修会(樟葉南小学校) 36

ネットワークは光の時代

光ファイバーを使ったネットワークが広まりつつある

速い「光」に乗り換えよう

Page 7: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

7

2008/8/28 校内研修会(樟葉南小学校) 37

「光」はなぜ速いのか?

そりゃあなんたって「光」ですから

299,792,458 m/s

この世で一番速い

あのー,電気が伝わるのも同じ速度ですが...

2008/8/28 校内研修会(樟葉南小学校) 38

電気による通信と光による通信

電気の強弱(電圧の変化)で信号を送る

光の強弱で信号を送る

導線

光ファイバー

2008/8/28 校内研修会(樟葉南小学校) 39

「なぜ光が速いのか」の答え

http://ja.wikipedia.org/プリズムによる分光

2008/8/28 校内研修会(樟葉南小学校) 40

光の色と波長

光の色は波長の違い

http://www1.c3-net.ne.jp/kato/colcube/index.html

2008/8/28 校内研修会(樟葉南小学校) 41

プリズムの意味するもの普段我々の目にする光は波長の異なる複数の光が合わさったもの

波長ごとに光を分解することができる

と,いうことは

2008/8/28 校内研修会(樟葉南小学校) 42

光をまとめて送る

波長の異なる複数の光を1つにまとめて

目的地で元の光に分解する

1本の光ファイバーにのせて送る

Page 8: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

8

2008/8/28 校内研修会(樟葉南小学校) 43

だから光は速い1本の光ファイバーにたくさんの波長の光をのせることが出来る

もし1000波長のせれば1000倍の情報を送れる

→速いネットワーク

http://www.ntt.co.jp/RD/OFIS/active/2005pdf/hot/nw/07.html2008/8/28 校内研修会(樟葉南小学校) 44

余談:データの大きさ

何もしないとデータはハンパじゃなく大きくなる画像の場合• 点(画素)の数が縦640個,横480個の写真(約30万画素)• 約167万色で,約46万文字に相当

動画の場合• 1秒間に約30枚の画像で,1秒あたり約1380万文字(+音声)

音声の場合• CDと同じ音質で,1秒あたり約88000文字に相当

→さすがにそのまま送るのは大変

2008/8/28 校内研修会(樟葉南小学校) 45

余談:データの圧縮

さまざまな圧縮方法が用いられている画像:GIF, JPEG, PNG音声:MP3, WMA, AAC動画:MPEG1, MPEG2, MPEG4, DivX, WMV

データを変換して大きさを小さくする→「データの圧縮」

インターネットでいろいろなものを送れるのは,実は圧縮のおかげ

2008/8/28 校内研修会(樟葉南小学校) 46

ここまでのまとめ

電気でいろんなものが送れるのはなぜか?

いろんなものが数字で表せる

文章,画像,動画,音声

数字が0と1だけで表せる

電気で0と1の並びが送れる

ネットワークの速さは電気の流れる速さとは関係がない

ネットワークの速さは帯域の広さで表される

2008/8/28 校内研修会(樟葉南小学校) 47

LANでの通信の仕組み

2008/8/28 校内研修会(樟葉南小学校) 48

ここでのテーマ

asahi.com

なぜ同時にたくさんの通信を行えるのか?

電話では同時に通信できるのは1人だけ

インターネットは同時に多数通信できる

メール

WWWダウンロード

Page 9: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

9

2008/8/28 校内研修会(樟葉南小学校) 49

電話の場合

交換機線と線をつなぐスイッチ

通話する相手と直接線をつなぐ電話を切るまでずっとつなぎっぱなし→同時に1人としか通信できない

ネットワークは方法がぜんぜん違う→どう違うのか?2008/8/28 校内研修会(樟葉南小学校) 50

先ほど説明したネットワーク

送信側 受信側

お互いにデータを送りあうにはどうするか?通信できる計算機の数を増やすにはどうするか?多数の通信を同時に行うにはどうするか?

2台の計算機からなるネットワーク

送信側から受信側にデータを送ることができる

2008/8/28 校内研修会(樟葉南小学校) 51

お互いにデータを送りあう

送信側 受信側

もともとケーブルには方向なんて無い→一方がデータを送ってないときはもう一方が送ってもかまわない

受信側 送信側

54,67,32,12

93,34,15,77

2008/8/28 校内研修会(樟葉南小学校) 52

データの終わり

データはいつ送り終わるのか?

電流が流れていない

• 00000…を送り続けている?• 何も送っていない?

どちらか分からない

そう言えば言い忘れていたことが...

「データの終わり」を知らせるにはどうすればいいか?

2008/8/28 校内研修会(樟葉南小学校) 53

データの長さ

「本当に送りたい数字」の前に,「今から送る数字の数」をくっつけて送る例えば9,0,1,13,0,22,5,18,25,0,8,1,16,16,25(15個の数字)

を送りたいとき15,9,0,1,13,0,22,5,18,25,0,8,1,16,16,25を送る

「約束」を1つ追加4. 初の数字は送りたい数字の数を表す

全部で4つ12,49,0,0はい終了12,49,0,0

4,12,49,0,0

2008/8/28 校内研修会(樟葉南小学校) 54

データを送りあう方法

4,12,49,0,0

6,8,97,20,1,24,11

送りたいが少し待とう

送り終わったな

データが送られてきた

1本のケーブルでは両方同時に送れない

→データを送る前に相手がデータを送っていないか調べる

Page 10: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

10

2008/8/28 校内研修会(樟葉南小学校) 55

みんなで1本のケーブルを使う

通信できる計算機の数を増やしたい→なるべく安く簡単に

1本のケーブルにみんなつないでしまおう

1本のケーブルでどうやって通信するのか?

2008/8/28 校内研修会(樟葉南小学校) 56

1本のケーブルでのデータの届き方

1つの計算機が送ったデータはもちろん全員に届く

→本当に送りたいのはそのうちの1つ

どうやって1つの計算機だけにデータを送るのか?

1本のケーブルでつながっているということは...

2008/8/28 校内研修会(樟葉南小学校) 57

計算機に名前をつける

とにかく,計算機を区別しないといけない→計算機に名前をつける

18 7 36 12 56

同じ名前が2つあってはいけない

名前は何でも良いとりあえず数字にしておく

2008/8/28 校内研修会(樟葉南小学校) 58

データのあて先

「本当に送りたい数字」の前の「今から送る数字の数」の前に「データのあて先の計算機の名前」をくっつけて送る

例えば4,97,3,77,2(5個の数字)を計算機12に送りたいとき12,5,4,97,3,77,2を送る

「約束」をちょっと変更4. 初の数字はあて先の計算機の名前を表す5. 次の数字は送りたい数字の数を表す

どの計算機に送りたいのかを指定しないといけない

2008/8/28 校内研修会(樟葉南小学校) 59

あて先のついたデータの受信

18 7 36 12 56

12,5,4,97,3,77,2

「あて先のついたデータ」が全員に届く→各計算機は「自分あてのデータ」のみを受け取る「自分あてでないデータ」は見て見ぬふりをする

無視 無視 無視4,97,3,77,2

2008/8/28 校内研修会(樟葉南小学校) 60

通信のための約束

これまでにいくつかの約束を決めた1. 0はスイッチOFF,1はスイッチON2. 1秒間隔でスイッチを切り替える3. 8個ごとに切れる

4. 初の数字はあて先の計算機の名前を表す5. 次の数字は送りたい数字の数を表す

Page 11: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

11

2008/8/28 校内研修会(樟葉南小学校) 61

通信プロトコル

電気を使うかどうかにかかわらず,通信を行うには約束が必要→ある信号を送って,それを相手が解釈することで通信が成り立つ

モールス信号野球のサイン暗号文

約束がちゃんとされてないと,解釈に失敗し,通信は成り立たない文字化け(約束の取り違え)ノストラダムスの大予言(そもそも約束すらしていない→勝手な解釈)

ネットワークでは,この約束のことを通信プロトコルという

ちなみに,IPアドレスのIPはInternet Protocolの略

→要するにインターネットで通信する際の約束という意味

2008/8/28 校内研修会(樟葉南小学校) 62

1本のケーブルで送る方法

誰か送っているな

1本のケーブルでは同時に送れない

→データを送る前に誰かがデータを送っていないか調べる

空いたな

2008/8/28 校内研修会(樟葉南小学校) 63

通信が待たされる

12,50000,4,97,3,77,2,18,44,37,91,35,63,8…

18 7 36 12 56

まだ? まだ? まだ?長いな…

これでは不便→「1本のケーブル」で「同時にたくさんの通信」を行うには?

前の人が送り終わるまでデータを送れないもし,だれかが長ーいデータを送ると...

2008/8/28 校内研修会(樟葉南小学校) 64

データの分割

長いデータを送るには時間がかかる→他の人が長時間待たされるそこで,送りたいデータを小さな断片に分ける

12,50000,4,97,3,77,2,18,44,37,91,35,63,8…

多数の断片

すごく長いデータ

小さく分割する

2008/8/28 校内研修会(樟葉南小学校) 65

断片について

それぞれの断片には「あて先」と「長さ」がついている

あて先の計算機名

断片の長さ

12,50000,4,97,3,77,2,18,44,37,91,35,63,8…

12,20,54,22,74,88,24,6,1,0,55,19,66,24,72,7…

1つ1つの断片は小さいので,一瞬で送ることができる

2008/8/28 校内研修会(樟葉南小学校) 66

断片を用いた通信各計算機が順番に断片を1つずつ送る(1)

(2)

(3)

(4)

(5)

(6)

各計算機は待たされることなく少しずつデータを送る→同時にたくさんの通信が可能!

Page 12: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

12

2008/8/28 校内研修会(樟葉南小学校) 67

通信を行う順番

各計算機は「順番に」データの断片(パケット)を送る→順番はどうやって決めるのか?

次? 次?次?

2008/8/28 校内研修会(樟葉南小学校) 68

順番はどうやって決めるか?

実は順番なんて決めていない→各計算機は「空いていればいつでも」データの断片を送れる

誰か送っているな

空いたな

Go!

送り終わった

2008/8/28 校内研修会(樟葉南小学校) 69

通信の衝突

誰か送っているな

空いたな

あ!あ!

たまにこういうことも...

複数の通信が同時に発生することを通信の衝突という

続けて送ろう

2008/8/28 校内研修会(樟葉南小学校) 70

衝突の検出

通信が衝突するとどうなるか??2つ以上の計算機が同時に電流のON/OFFを切り替えようとする

→お互いに混じりあってごちゃごちゃになる

データを送信しているときのケーブル上の電流の変化がおかしい→衝突が起きたことがわかる

ON,OFF,OFF,ON,ON,ON,OFF,ON…

OFF,OFF,ON,OFF,ON,OFF,ON,ON…

2008/8/28 校内研修会(樟葉南小学校) 71

衝突を検出したら

やられた!1秒待とう

今度はOK!

少し待って送りなおす

残念!2秒待とう

今度はOK!衝突の1秒後

衝突の2秒後

待ち時間はランダムに決める(もし 初から決まってたら?)2008/8/28 校内研修会(樟葉南小学校) 72

おさらい(電話の場合)

電話は通話時に相手と直接線をつなぐ→同時に1人としか通信できない

このような方法を回線交換方式という

Page 13: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

13

2008/8/28 校内研修会(樟葉南小学校) 73

おさらい(ネットワークの場合)

ネットワークはもともと全員がつながっているデータを細かく分割して順に送りあう→同時にたくさんの通信が行える

このような方法をパケット交換方式という分割されたデータの断片をパケットという

2008/8/28 校内研修会(樟葉南小学校) 74

じゃあインターネットって...

世界中が一本のケーブルでつながっている?

さすがにそういうわけではありません

2008/8/28 校内研修会(樟葉南小学校) 75

LANとインターネット

じつは,ここまでは小規模のネットワークに関する話会社のxx部xx課のネットワーク大学の研究室のネットワーク家庭内のネットワーク

このような小規模のネットワークのことをLAN(Local Area Network)という

インターネットはこのようなたくさんの小さなネットワークがお互いにつながって巨大なネットワークを構成しています

「ネットワークをつなぐ」とは?いったいどのようにつながっているのか?

2008/8/28 校内研修会(樟葉南小学校) 76

ここまでのまとめ

同時にたくさんの通信が行えるのはなぜか?もともと全部の計算機がつながっているただし小規模のネットワーク(LAN)での話

データを細かく分割して順番に送る(パケット交換方式)

1回に送れるデータは少しでも,順番がすぐ回ってくる

実は順番なんてない空いていれば送る衝突したら少し待って送りなおす

インターネットはたくさんの小さいネットワークがつながったもの

2008/8/28 校内研修会(樟葉南小学校) 77

LANからインターネットへ

2008/8/28 校内研修会(樟葉南小学校) 78

ここでのテーマ

インターネットは非常に大きなネットワーク→データの通り道はかなり複雑

ところがすべてのデータは正しく目的地にたどり着く

データが迷わず目的地にたどりつくのはなぜか?

Page 14: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

14

2008/8/28 校内研修会(樟葉南小学校) 79

ここでのテーマ

インターネットは膨大な数の機械が集まったもの機械はいつか壊れる→インターネットはいつもどこかが必ず壊れている

ところがインターネット自体はめったに壊れない

インターネットはなぜ壊れにくいのか?2008/8/28 校内研修会(樟葉南小学校) 80

復習

小規模なネットワーク:全部の計算機が 初からつながっているデータを細かく分割して順に送りあう→同時にたくさんの通信が行える

この小さなネットワークをLAN(Local Area Network)というインターネットは膨大な数のLANがつながったもの

どのようにつながっているか?

2008/8/28 校内研修会(樟葉南小学校) 81

2つのLANをつなぐ

1つのLANは1本のケーブル

単純な方法ケーブルを直接つないでしまう

これで何とかなりそうただし困ったことが...

2008/8/28 校内研修会(樟葉南小学校) 82

困ったこと

各計算機はデータの断片を順番に送りあう

同時にデータを送る計算機も増える

なかなかデータを送れない

データを送る速度が遅くなる

LANをつなぐと計算機が増える

順番がなかなか回ってこない

2008/8/28 校内研修会(樟葉南小学校) 83

LANに玄関を作る

そこで,LANの玄関を用意する他のLANへの出口

LANの玄関同士がつながっている

この玄関のことをゲートウェイ(gateway)というLANの内側と外側を仕切っている

2008/8/28 校内研修会(樟葉南小学校) 84

ゲートウェイの仕事

LANと外のネットワークの両方につながっている

必要なデータだけを転送する

外の計算機あて

LAN内の計算機あて

LAN

LAN内の計算機あて

外の計算機あて

LAN

OK! だめ!

Page 15: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

15

2008/8/28 校内研修会(樟葉南小学校) 85

ゲートウェイがあるとLANにデータを流したときLAN内のすべての計算機に届く(あて先以外は見て見ぬふり)

ゲートウェイの外側には出て行かない

2008/8/28 校内研修会(樟葉南小学校) 86

LANの中の計算機にデータを送る

同じLAN内の計算機にデータを送るとき両方のLANで同時にデータを送ることができる

LANをつないでも遅くならない

2008/8/28 校内研修会(樟葉南小学校) 87

LANの外の計算機にデータを送る

別のLAN内の計算機にデータを送るには1. まず自分のLANのゲートウェイにデータを送る2. 自分のLANのゲートウェイから相手のLANのゲートウェイ

にデータが送られる3. 相手のLANのゲートウェイから目的の計算機にデータが

送られる

2008/8/28 校内研修会(樟葉南小学校) 88

データのあて先は?

でも本当はここに送りたい

とりあえずここに送る

ゲートウェイにも普通の計算機と同じく名前がある→データのあて先はどちらの名前を書けばいいのか?

ゲートウェイ,目的地の計算機?

2008/8/28 校内研修会(樟葉南小学校) 89

データのあて先は目的地

• データには 終的な目的地をあて先として書く(そうしないとデータを届けようがないので)

• ゲートウェイの名前は各計算機にあらかじめ登録しておく• 各計算機は

• あて先がLAN内の計算機→そのまま送る• あて先がLAN外の計算機→ゲートウェイにとりあえず送る

2008/8/28 校内研修会(樟葉南小学校) 90

まだある困ったこと

計算機の名前はそれぞれのネットワークでつける

2つのLANをつないで1つにすると

計算機の名前が重複する場合がある

17 1724 5 48 33 59 4

LANをつなぐときは,両方のLANで重複が無いように

計算機の名前をつけておかなければならない→かなり面倒

Page 16: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

16

2008/8/28 校内研修会(樟葉南小学校) 91

しかも

ゲートウェイではLAN内の計算機あてのデータとそれ以外のデータを

区別しなければならない

データのあて先で区別するしかない

えーと,うちのLANの計算機の

名前は2と5と12と54と67と87と98,…

だから,あんたはだめ

LAN内の計算機の名前をいちいち覚えておくのは大変

18あてのデータ

2008/8/28 校内研修会(樟葉南小学校) 92

LANに名前をつける

この2つの問題を一度に解決できるいい方法が

それはLANに名前をつけること

14 36データのあて先を(LANの名前,計算機の名前)にする

2008/8/28 校内研修会(樟葉南小学校) 93

LANに名前をつけると

17 1724 5 48 33 59 4

いいことその1違うLANに同じ名前の計算機があってもあて先が重複しない

14 36

(36,17)あて

計算機の名前はLAN内で重複がないようにするだけでよい

2008/8/28 校内研修会(樟葉南小学校) 94

LANに名前をつけると

いいことその2ゲートウェイの仕事が楽になる

うちのLANの名前は43だから

あんたはだめ(24,18)あてのデータ

LAN内の計算機の名前を覚える必要がない

2008/8/28 校内研修会(樟葉南小学校) 95

たくさんのLANをつなぐ

簡単なやり方ゲートウェイ同士をLANのようにそのままつないでしまう

こうなると2つと言わずもっとたくさんつなぎたくなる

LAN LAN LAN LAN

2008/8/28 校内研修会(樟葉南小学校) 96

困ったこと

LAN LAN LAN LAN

LAN LAN LAN LAN

LANの間を結ぶケーブルは1本→LAN間の通信は順番に行う

LANを越えてデータを送る場合も増える

なかなかデータを送れない

データを送る速度が遅くなる

世界中のLANをつなぐと大変な数に

順番がなかなか回ってこない

Page 17: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

17

2008/8/28 校内研修会(樟葉南小学校) 97

ネットワークの中継地点

そこで,中継地点を用意する

この中継地点をルータ(router)という

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

2008/8/28 校内研修会(樟葉南小学校) 98

ルータ

3つ以上のケーブルにつながっているケーブルの先はLANまたは別のルータ

あるケーブルから来たデータをあて先に応じて適切なケーブルに転送する

えーっと,24のLANはこっちでーす

(24,18)あてのデータ

2008/8/28 校内研修会(樟葉南小学校) 99

データが送られる様子

それぞれのルータで適切な行き先が選ばれて目的地にたどり着く

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

2008/8/28 校内研修会(樟葉南小学校) 100

ルータのなぞ

なぜルータはデータをどのケーブルに転送すればいいかがわかるのか

えーっと,長年の経験とあとは勘ですね,勘

そんなわけはない

2008/8/28 校内研修会(樟葉南小学校) 101

実は...

表に全部書いてある

この表のことを経路表という

...

2008/8/28 校内研修会(樟葉南小学校) 102

経路表

4番のケーブルそれ以外

3番のケーブル462番のケーブル371番のケーブル241番のケーブル17どのケーブル?LANの名前

1 2 43

すべてのルータがこういう表を持っている経路表は自動的に作られる

LANごとにどのケーブルに転送するか書いてある

Page 18: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

18

2008/8/28 校内研修会(樟葉南小学校) 103

経路表の例

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

4他

346237124117

37

2417

4650

各ルータは自分の経路表を見てデータを転送する

66

2他

366428150131

3128

1481

21

43

2

12

3 4

2008/8/28 校内研修会(樟葉南小学校) 104

LAN

ルータの故障

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

もしルータが壊れたら...

2008/8/28 校内研修会(樟葉南小学校) 105

LAN

経路表の更新

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

1他

346237124117

1

43

2

自動的に代わりの経路を発見して,経路表を更新する

37

2417

4650

663128

1481

2

2008/8/28 校内研修会(樟葉南小学校) 106

ルータが直ったら

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

4他

346237124117

37

2417

4650

663128

1481

2

再び経路表を更新し,もとの経路でデータを送る

1

43

2

2008/8/28 校内研修会(樟葉南小学校) 107

経路制御

ネットワークの状況が変化したときルータが壊れた

新しいルータが追加された

など...

各ルータは自動的に良い経路を見つけ出し,自動的に経路表を更新

→インターネットがめったに壊れないのはこのため

このように経路を自動的に決定することを経路制御という

2008/8/28 校内研修会(樟葉南小学校) 108

ここまでのまとめ

世界中の計算機はどのようにつながっているか?小さなネットワーク(LAN)がルータを通じてつながってい

ルータはデータを目的地まで導いてくれる

LANの入り口にはゲートウェイがあり,必要なデータだ

けを転送してくれる

LAN内の計算機は1本のケーブルでつながっている

Page 19: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

19

2008/8/28 校内研修会(樟葉南小学校) 109

IPのはたらき

2008/8/28 校内研修会(樟葉南小学校) 110

ここでのテーマIPアドレスのIPはインターネットプロトコルの略

インターネットで通信するために必要ないろいろなことを決めている

IPはどういうことを決めているのか?

2008/8/28 校内研修会(樟葉南小学校) 111

IPの話の前に

これまでの話に出てきた「データの断片」のことを以下ではパケットという

パケット(packet): 小さな包み

「パケ代半額」の「パケ」はパケットのこと

2008/8/28 校内研修会(樟葉南小学校) 112

IPで決めていること

パケットにくっつける情報あて先,パケットの大きさ,etc.

あて先の指定の仕方

パケットの送り方どうやって目的地に届けるか?道に迷ったパケットをどうするか?

インターネットを使って,世界中にパケットを送るために必要なことを決めている

2008/8/28 校内研修会(樟葉南小学校) 113

IPアドレス

インターネットでの計算機のあて先

LANの名前と計算機の名前からなる

0~255までの数字が4つ並んだもの”.”(ピリオド)で区切って書く

133.1.244.14

LANの名前 計算機の名前

2008/8/28 校内研修会(樟葉南小学校) 114

IPアドレスのクラス

IPアドレスはいくつかのクラスにわかれているクラスによって切れ目がちがう→作れるLANの大きさが異なる

クラスA(1~127で始まるアドレス)

60.120.122.5

133.1.244.14クラスB(128~191で始まるアドレス)

202.112.2.16クラスC(192~223で始まるアドレス)

LANの名前 計算機の名前

LANの名前 計算機の名前

LANの名前 計算機の名前

Page 20: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

20

2008/8/28 校内研修会(樟葉南小学校) 115

IPアドレスの決め方

IPアドレスは自分勝手につけてはいけない→世界でただ1つでなければならない

IPアドレスはどうやって決めるのか?

世界中の人が話し合う?

2008/8/28 校内研修会(樟葉南小学校) 116

IPアドレスの割り当て

IPアドレスを管理する団体があるICANN(Internet Corporation for Assigned Names and Numbers )

IPアドレスを使いたいときは,申請をして配布してもらう

覚えなくてよい

ください133.1.244.0から133.1.244.255まであげます

もちろん誰でももらえるというものではない

2008/8/28 校内研修会(樟葉南小学校) 117

パケットにくっつける情報

パケットのあて先:データを送るのに当然必要

パケットの大きさ:パケットの終わりを区別するために必要

パケットの送り主:返事を返すために必要

パケットにどういう情報をどの順番にくっつけるかがIPで決められている

パケットの寿命:後で説明します

他にも

前回までに説明したもの

など...

2008/8/28 校内研修会(樟葉南小学校) 118

パケットの送り方

「パケットを受け取ったら,あて先により近いと自分が思うところにパケットを転送すること」とだけIPで決められている

LAN

LAN

データが無事に目的地に着くかに関してだれも責任を持たない→この無責任さこそがインターネットの真髄

2008/8/28 校内研修会(樟葉南小学校) 119

道に迷ったパケット

こういうことも起こりうる

永遠に回り続ける...

普通はこうならないように努力するが絶対ないとは言い切れない• ルータの故障• 人間の設定ミス

2008/8/28 校内研修会(樟葉南小学校) 120

パケットの寿命

そこで,パケットに寿命をくっつけて送るようにIPで決められている• TTL(Time To Live)

初にパケットを送り出すときにある値に設定するルータを通過するたびに1減る0になったパケットはそこで捨ててしまう

→永遠に回り続けることはない

43

2 10

Page 21: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

21

2008/8/28 校内研修会(樟葉南小学校) 121

ルータの仕事

3つ以上のケーブルにつながっているケーブルの先はLANまたは別のルータ

あるケーブルから来たパケットをあて先に応じて適切なケーブルに転送する

えーっと,133.1のLANはこっちでーす

133.1.244.14あてのパケット

2008/8/28 校内研修会(樟葉南小学校) 122

ルータでのパケット処理

あて先をもとに経路表を調べて,どのケーブルに送るかを決める

どこかのケーブルからパケットが入ってくる

ケーブルにパケットを送り出す

2008/8/28 校内研修会(樟葉南小学校) 123

ルータにたまるパケット

パケットを処理するのに少し時間がかかる→パケットが一度にくると処理できないパケットがたまっていく

今忙しいからちょっと待ってね

2008/8/28 校内研修会(樟葉南小学校) 124

パケットがたまると

後から来たパケットは転送するまでに長い時間待たされる

ただいまの待ち時間約2時間悪

2008/8/28 校内研修会(樟葉南小学校) 125

さらにパケットがたまると

ルータがためられるパケットの量には限界がある→パケットをこれ以上ためられなくなる

Oh My God!!

2008/8/28 校内研修会(樟葉南小学校) 126

パケットがいっぱいになると

ルータはパケットを捨ててしまう!

もう限界!

Page 22: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

22

2008/8/28 校内研修会(樟葉南小学校) 127

日々捨てられるパケット

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

じつはインターネット上では今日もあちこちでパケットが捨てられている

2008/8/28 校内研修会(樟葉南小学校) 128

捨てられたパケットはどうなる?

基本的にはほったらかしです

少なくともIPでは「捨てられたパケットをどうするか」は

決められていませんパケットは必ず相手に届くとは限らないのです

文章は,写真はどうなる...→後で話します

2008/8/28 校内研修会(樟葉南小学校) 129

ここまでのまとめ

インターネットは相当いい加減

パケットはたらい回し

ちゃんと目的地に着くか誰も知らない

忙しくなると平気でパケットを遅らせる

場合によっては捨ててしまう

2008/8/28 校内研修会(樟葉南小学校) 130

TCPのはたらき

(パケットの再送)

2008/8/28 校内研修会(樟葉南小学校) 131

ここでのテーマ

しかし,生中継はともかく,データはきちんと送られている

「インターネットはもともとデータを確実に送るためのもの」とかいいながら実際にはパケットを途中で勝手にぼんぼん捨てている

なぜか?

2008/8/28 校内研修会(樟葉南小学校) 132

もう一人の主役IPはインターネットで重要な役割を果たしている

もう1つの重要なプロトコルTCP(Transmission Control Protocol)

パケットにくっつける情報パケットの送り方パケットの分割

「TCP/IP」という風に

常にセットで語られる→それくらい重要

Page 23: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

23

2008/8/28 校内研修会(樟葉南小学校) 133

TCPは何を決めているか?

データを確実に相手に届ける方法来るはずのパケットが来ないときにどうするか?

2008/8/28 校内研修会(樟葉南小学校) 134

送信側と受信側

以降ではデータを送り出す方の計算機を送信側データを受け取る方の計算機を受信側という

送信側 受信側

2008/8/28 校内研修会(樟葉南小学校) 135

復習

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

インターネット上では今日もあちこちでパケットが捨てられている

2008/8/28 校内研修会(樟葉南小学校) 136

来るはずのパケットが来ない

ネットワークの途中でパケットが捨てられると来るはずのパケットが来ない

あれ?

それでもデータが飛び飛びになっては困る

捨てられてしまったパケットをどうするか?

2008/8/28 校内研修会(樟葉南小学校) 137

パケットが来ないとき

どうするか?といっても...送信側にもう一度送ってもらうしかない

ところがこれがなかなか難しい→どうして難しいのか?

おーいもう一回

あいよ

2008/8/28 校内研修会(樟葉南小学校) 138

能天気な計算機IPでは

送信側はパケットを送りっぱなし受信側はパケットを受け取るだけと決められている

これは大きな問題になる

? ?

今送ったパケットすら覚えてない

さっき受け取ったパケットすら覚えてない

Page 24: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

24

2008/8/28 校内研修会(樟葉南小学校) 139

捨てられても気づかない

受信側は「パケットが途中で捨てられたこと」に気がつかない→当然「もう一回送って」ということもないので...

後のパケットが先に来る

前のパケットが捨てられる

飛び飛びのデータ2008/8/28 校内研修会(樟葉南小学校) 140

なぜ気づかないのか?

• 本当に受け取るはずのパケット• 後で受け取るはずのパケット→区別できない

受信側はこれまでにどんなパケットが来たか覚えていない→次にどんなパケットが来るはずなのかわからない

順調順調

私が先なのに...

2008/8/28 校内研修会(樟葉南小学校) 141

捨てられたことに気づくには

受信側は次に来るパケットが何番目かわかってないといけない→これまでにいくつパケットを受け取ったか覚えてないといけない

6

5

4321

5

2008/8/28 校内研修会(樟葉南小学校) 142

複数の通信

しかもインターネットでは同時に複数の通信を行う→送信側は1台とは限らない

結局「誰からいくつパケットを受け取ったか?」を全て覚えてないといけない

63

8

2008/8/28 校内研修会(樟葉南小学校) 143

通信相手を覚えておく

ということで,TCPでは

送信側,受信側ともに「現在誰と通信しているのか」を覚えておくように決められている

133.1.244.2と通信開始

56.4.2.87と通信開始

133.1.244.2と通信中

56.4.2.87と通信中

133.1.244.2と通信終了

56.4.2.87と通信終了

2008/8/28 校内研修会(樟葉南小学校) 144

誰と通信しているか覚えていれば

をもう一度送ってもらうにはどうするか?

6

5

4321

133.1.244.2と通信中これまでに133.1.244.2から4個受け取っている今133.1.244.2から が来た

→ が捨てられたらしい56

5

Page 25: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

25

2008/8/28 校内研修会(樟葉南小学校) 145

良さげな方法

受信側が送信側に「もう一回送って」というメッセージの書かれたパケットを送る

もう一回送って

送信側はパケットを送りなおす

なかなか良さげでも,この方法はまずい

2008/8/28 校内研修会(樟葉南小学校) 146

問題点

もし「もう一回送って」というメッセージの書かれたパケットが途中で捨てられたら?

送信側,受信側ともにそのことに気づかない捨てられた元のパケットは永遠に届かない

2008/8/28 校内研修会(樟葉南小学校) 147

もっと良い方法

パケットを受け取ったら受信側は必ず返事を返す

返事を受け取ってから次のパケットを送る

送信側は返事が来るまで次のパケットを送らない受け取りました

届いたかな

返事まだ?

OK!では次

2008/8/28 校内研修会(樟葉南小学校) 148

もっと良い方法

しばらく待って返事が来なければ同じパケットをもう一度送る

失敗したか

送信側はそれでも返事を待つ

届いたかな

返事まだ?

送信側の送ったパケットが捨てられた時

捨てられた

2008/8/28 校内研修会(樟葉南小学校) 149

どこが「もっと良い」のか

送信側は返事が来なければ同じパケットをもう一度送る• 元のパケットが捨てられた場合• 返事のパケットが捨てられた場合どちらの場合もパケットがもう一度送られる

失敗したか

実はまだここにいる

ただし,• 返事のパケットが捨てられた場合• 返事が来るのが遅い場合元のパケットが捨てられていないのに同じものを送ってしまう→同じパケットが2つ届く

2008/8/28 校内研修会(樟葉南小学校) 150

返事を待たずに送る

いちいち返事が来るのを待っていては遅くなる

返事が来る前に続けてどんどん送ってしまう→返事も続けてどんどん届く

...もちろんこのままでは問題がある

おりゃー

遅い!

Page 26: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

26

2008/8/28 校内研修会(樟葉南小学校) 151

どんどんデータを送ると

パケットが捨てられても返事がどんどん来る→どのパケットが捨てられたのかわからない

おりゃー

捨てられたパケットをどうやって知るか?

捨てられたのどれ?

2008/8/28 校内研修会(樟葉南小学校) 152

良さげな方法

受信側は返事に何番目のパケットの返事か書いておく

10 9 7 6

1 2 4

3つ目来ないなぁ

35

1312109

送信側はしばらく待って返事の来なかったパケットをもう一度送る

3つ目だめだった

のかなぁ2122 20

なかなか良さげでも,この方法はまずい

2008/8/28 校内研修会(樟葉南小学校) 153

問題点

送信側は「これまでに送った中でしばらく待って返事の来なかったパケット」をもう一度送る

「これまでに送ったパケットの中でまだ返事の来ていないパケット」についてどのくらい待っているかをすべて覚えておかないといけない

3

1312109

まだ返事が来ていないのは

(4秒経過),(3秒経過), …

35

2008/8/28 校内研修会(樟葉南小学校) 154

もっと良い方法

返事に「今何番目のパケットを待っているか」を書いておく

同じ返事が3つ続いたらそのパケットから後ろをすべて送り直す

10 9 8 7 6

2 3 3 3

3つ目来ないなぁ

57

3333

3つ目だめだった

のか46

33

2008/8/28 校内研修会(樟葉南小学校) 155

どこが「もっと良い」のか

どのパケットを送り直すかは返事に書いてある→返事の来ないパケットについて覚えておく必要がない

「しばらく待って」がない→送り直すまでの時間が短い

捨てられたパケットから後ろをすべて送り直す→データが前の方から確実に届く

10 9 8 7 6

2 3 3 3

3つ目来ないなぁ

ただし,捨てられたパケットから後はすべて送り直し→多くのパケットが無駄になる

無駄になる2008/8/28 校内研修会(樟葉南小学校) 156

ルータの混み合いと無駄なパケット

みんながどんどんパケットを送り出すとルータは混み合う→ルータでパケットが捨てられる

捨てられたパケットは後で送りなおすはめになる

あるルータでパケットが捨てられた場合そのパケットは無駄に送られたことになる

Page 27: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

27

2008/8/28 校内研修会(樟葉南小学校) 157

混み合うと遅くなる

ルータが混み合うと多数のパケットが捨てられる→無駄なパケットが大量にネットワークを流れることに→ネットワークが普段よりさらに遅くなる

2008/8/28 校内研修会(樟葉南小学校) 158

パケット数の調節

そこで,TCPでは

ネットワークが混みすぎることの無いようにパケットを送り方を調節するよう決められている

2008/8/28 校内研修会(樟葉南小学校) 159

パケット数の制限

一度に送り出せるパケットの数を制限する

いくつかパケットを送ったら返事を待つ

返事が1つ返ってきたら次のパケットを1つ送る

2008/8/28 校内研修会(樟葉南小学校) 160

一度に送り出せるパケット数

一度にいくつのパケットを送り出せるのか?

これまたいろいろあって結構ややこしい

この後しゃべります

5個? 10個? 100個?

2008/8/28 校内研修会(樟葉南小学校) 161

ここまでのまとめ

IPのおかげでデータを世界中に送ること

ができる

TCPのおかげでデータを確実に送ること

ができる

パケットが捨てられたときの再送を行う

2008/8/28 校内研修会(樟葉南小学校) 162

TCPのはたらき

(フロー制御)

Page 28: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

28

2008/8/28 校内研修会(樟葉南小学校) 163

ここでのテーマTCPの話のつづき

ネットワークの速度調節の方法

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

LAN

5080

30 60

2008/8/28 校内研修会(樟葉南小学校) 164

復習

ルータが混み合うと多数のパケットが捨てられる→無駄なパケットが大量にネットワークを流れることに→ネットワークが普段よりさらに遅くなる

2008/8/28 校内研修会(樟葉南小学校) 165

復習

なので,一度に送り出せるパケットの数を制限する

いくつかパケットを送ったら返事を待つ

返事が1つ返ってきたら次のパケットを1つ送る

2008/8/28 校内研修会(樟葉南小学校) 166

ウィンドウフロー制御

TCPはウィンドウフロー制御という方法でフロー制御を行う

ウィンドウとは?

このようにパケットの流れる(flow)量を制御(control)することを

フロー制御という

覚えなくて良い

? ?

2008/8/28 校内研修会(樟葉南小学校) 167

ウィンドウ

ウィンドウ=窓のこと

パケットの列の上にウィンドウがある

データ:パケットの列

ウィンドウを通して見えるパケットは?

2008/8/28 校内研修会(樟葉南小学校) 168

ウィンドウ内のパケット

送信ずみ 送信中 送信前

返事が来るとウィンドウを1つずらす

このパケットは相手に届いた 新たにこのパケットを送り出す

ウィンドウは「現在送信中のパケットが見える窓」

Page 29: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

29

2008/8/28 校内研修会(樟葉南小学校) 169

ウィンドウサイズ

ウィンドウサイズ大

ウィンドウサイズ小

ウィンドウサイズ=一度に送り出せるパケットの数

2008/8/28 校内研修会(樟葉南小学校) 170

パケットの再送とウィンドウサイズ

送信ずみ(忘れてよい)

送信中(忘れるとまずい)

送信前

もし送信中のパケットが捨てられた場合同じパケットをもう一度送る必要がある

ウィンドウサイズが大きいほど,覚えておかなければならないパケットが増える→ウィンドウサイズはできれば小さくしたい

2008/8/28 校内研修会(樟葉南小学校) 171

ウィンドウサイズとネットワーク

ウィンドウサイズが小さすぎると

ウィンドウサイズが大きすぎると

返事を待つ時間が長い→遅くなる

パケットが大量に捨てられる→やっぱり遅くなる2008/8/28 校内研修会(樟葉南小学校) 172

理想的なウィンドウサイズ

ネットワークが混みすぎず,かつ空きすぎない

理想的なウィンドウサイズをどうやって決めればよいか?

2008/8/28 校内研修会(樟葉南小学校) 173

ウィンドウサイズに影響するもの

ネットワークの混み具合

ネットワークの距離

ネットワークの速さ(道の広さ)

ウィンドウサイズを決めるにはいろいろなことを考える必要がある

2008/8/28 校内研修会(樟葉南小学校) 174

ネットワークの混み具合

ネットワークが混んでいるとき

ネットワークが空いているとき

→ウィンドウサイズを大きく

→ウィンドウサイズを小さく

Page 30: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

30

2008/8/28 校内研修会(樟葉南小学校) 175

ネットワークの距離

ネットワークの距離が遠いとき

ネットワークの距離が近いとき

→ウィンドウサイズを大きく

→ウィンドウサイズを小さく

2008/8/28 校内研修会(樟葉南小学校) 176

ネットワークの速さ

ネットワークが速いとき

ネットワークが遅いとき

→ウィンドウサイズを大きく

→ウィンドウサイズを小さく

2008/8/28 校内研修会(樟葉南小学校) 177

ウィンドウサイズの自動調節

いろいろな条件を考えてウィンドウサイズを決めるのは難しい

ネットワークの混み具合は時間とともに変化する

ウィンドウサイズを自動的に調節するしくみが必要どうやって?

2008/8/28 校内研修会(樟葉南小学校) 178

基本的な方法初は1からスタート

無事に返事が来たときウィンドウサイズを1増やす

パケットが再送されたとき(捨てられたとき)ウィンドウサイズを1に戻す

2008/8/28 校内研修会(樟葉南小学校) 179

ウィンドウサイズの増え方

返事が返ってくるたびにウィンドウサイズが1増える

一度にパケットを1つ送る→返事は1つ

一度にパケットを4つ送る→返事は?

ウィンドウサイズはあっという間に大きくなる

一度にパケットを2つ送る→返事は2つ

2008/8/28 校内研修会(樟葉南小学校) 180

ウィンドウサイズが増えすぎる

ウィンドウサイズは倍々ゲームで増えていく→限界を超えたときにははるかに大きいサイズになっている

0

2

4

6

8

10

12

14

16

18

ウィンドウサイズ

時間

多数のパケットが捨てられる

Page 31: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

31

2008/8/28 校内研修会(樟葉南小学校) 181

少し改良

パケットが捨てられたときのウィンドウサイズを覚えておく→そこから先は慎重に増やしていく

0

2

4

6

8

10

12

14

16

18捨てられるパケットは

少しですむウィンドウサイズ

時間2008/8/28 校内研修会(樟葉南小学校) 182

ウィンドウサイズが減りすぎる

0

2

4

6

8

10

12

14

16

18

ウィンドウサイズ

時間

パケットが1つでも捨てられると,ウィンドウサイズは1になる

→ウィンドウサイズが小さい時間が長くなる

2008/8/28 校内研修会(樟葉南小学校) 183

ウィンドウサイズの減らし方パケットが捨てられた(パケットの再送が起きた)→ネットワークが混んでいる

パケットの数を減らさないといけない→ウィンドウサイズを小さくする

でもパケットの再送が起きるたびにいちいちウィンドウサイズを1にすることはないんじゃないの?

2008/8/28 校内研修会(樟葉南小学校) 184

2種類のパケットの再送

実はパケットの再送には2種類ある

普通の場合

深刻な場合

まあそういうこともあるでしょ

大変だわ

2008/8/28 校内研修会(樟葉南小学校) 185

復習(パケットの再送)

返事に「今何番目のパケットを待っているか」を書いておく

同じ返事が3つ続いたらそのパケットから後ろをすべて送り直す

10 9 8 7 6

2 3 3 3

3つ目来ないなぁ

57

3333

3つ目だめだった

のか46

33

2008/8/28 校内研修会(樟葉南小学校) 186

パケットの再送(普通の場合)

一部のパケットのみ捨てられた場合

同じ返事が連続で返ってくる→同じ返事が3つ来た時点で再送

いくつかのパケットは届いている→ネットワークはそんなには混んでいない

Page 32: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

32

2008/8/28 校内研修会(樟葉南小学校) 187

パケットの再送(深刻な場合)

送ったパケットがすべて捨てられてしまった場合

返事がまったく返ってこなくなる→かなりの時間待った後に再送

パケットがまったく届かない→ネットワークはめちゃくちゃ混んでいる

2008/8/28 校内研修会(樟葉南小学校) 188

さらに改良

普通の場合に限り,ウィンドウサイズを今の半分にする深刻な場合,ウィンドウサイズを1にする

「パケットが再送されたときにウィンドウサイズを1にする」

というのはどうなの

「深刻な」場合はまあ仕方ない(どうせ届かないし)「普通の」場合には減らしすぎ(なにもそこまでしなくても)

この方法を高速リカバリ(fast recovery)という

覚えなくて良い

2008/8/28 校内研修会(樟葉南小学校) 189

改良の効果

0

2

4

6

8

10

12

14

16

18

ウィンドウサイズ

時間

「普通の再送」であればウィンドウサイズは半分以下にはならない→ウィンドウサイズが小さくなりすぎることはない

2008/8/28 校内研修会(樟葉南小学校) 190

通信をしているのは誰か?

これまでは計算機同士が通信していると言ってきました

実際には計算機の上で動いているプロセス同士が通信をしている

プロセスって?

2008/8/28 校内研修会(樟葉南小学校) 191

計算機とプログラムとプロセス

ハードディスクは「本棚」

プロセスは「社員」

プログラムは「仕事の仕方を書いた本」

計算機を会社に例えると(かなり強引ですが...)

メモリは「社屋」

CPUは「社員の能力」

2008/8/28 校内研修会(樟葉南小学校) 192

プロセス同士の通信

データ(パケット)は計算機から計算機に移動しているが実際にデータを送ったり受け取ったりしているのは計算機で動いているプロセス

Page 33: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

33

2008/8/28 校内研修会(樟葉南小学校) 193

プロセスの処理

ネットワークがめちゃくちゃ速くて,かつ空いている場合送信側のプロセスはウィンドウサイズを大きくする

一度にたくさんのデータが受信側プロセスに到着→処理が間に合わない

ひー

2008/8/28 校内研修会(樟葉南小学校) 194

もう1つのウィンドウ

受信側のプロセスは返事のパケットにあとどれくらい処理できるかを書いておく

いっぱいいっぱいだ

送信側はもう1つウィンドウを持つ

→受信側の都合で変化するウィンドウ

あとこれくらい

2008/8/28 校内研修会(樟葉南小学校) 195

2つのウィンドウ

送信側がパケットを送るときはどちらか小さい方のウィンドウにあわせて送る

このパケットまでしか送れない

を輻輳ウィンドウ(congestion window)

を広告ウィンドウ(advertised window)

という

2008/8/28 校内研修会(樟葉南小学校) 196

TCPの弱点

IPだけではデータが消えることがありますがTCPと組み合わせることで

データを確実に届けられます

• 途中で捨てられたパケットは送りなおします• ネットワークが混みすぎないようにパケットの数を調整します

ただしいつ届くかは知りません

あといろいろやらないといけないのでちょっと遅いです

2008/8/28 校内研修会(樟葉南小学校) 197

いつでもTCP...とは限らない

そんな場合はTCPの代わりにUDP(User Datagram Protocol)を使います

「少々データ消えててもいいからごちゃごちゃ言わんとさっさと送ってくれ!!!」っていう状況があります

インターネットの生中継→確実性より速さが重要

「もう試合終わってるんですけど」

「さっきのホームランの画面やっと来ました」

2008/8/28 校内研修会(樟葉南小学校) 198

UDPは何を決めているか?

→ほとんど何も決めていない

プロセスを区別するためにポート番号をつけるということだけ

ようするにIPそのまま

パケットは捨てられっぱなしその代わり速い

TCPはいろんなことを決めていた

UDPは何を決めているか?

Page 34: インターネットの仕組み - Kyoto University of ...teched.kyokyo-u.ac.jp/~htada/class/kuzuha/20080828.pdf · インターネットの仕組み 京都教育大学 多田知正

34

2008/8/28 校内研修会(樟葉南小学校) 199

ここまでのまとめ

パケットを送る速度を調節するのもTCPの役割

結構ややこしいことをしている

TCPにも弱点はある

遅いこと

確実性より速さが重要な場合にはUDPを使う

2008/8/28 校内研修会(樟葉南小学校) 200

ホームページURL

http://homepage2.nifty.com/htada/kuzuha/