情報ネットワーク ( 基礎編 )
DESCRIPTION
情報ネットワーク ( 基礎編 ). 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/. 講義の進め方と単位認定について. Power Point と必要に応じて板書 Power Point は配布する(インターネットから Download もできる。 ) Power Point にも、板書にも書かれない口頭のみの説明、話も多い。(特に最新のトピックスなど。) 時々、演習問題を出す。演習問題に答えられるかどうかで理解度を自分で考えてほしい。 自習 図書館 インターネットの検索エンジンの活用 - PowerPoint PPT PresentationTRANSCRIPT
情報ネットワーク( 基礎編 )
岡村耕二http://okaweb.ec.kyushu-u.ac.jp/lectures/in/
情報ネットワーク 2
講義の進め方と単位認定について• Power Point と必要に応じて板書
– Power Point は配布する(インターネットから Download もできる。 )
– Power Point にも、板書にも書かれない口頭のみの説明、話も多い。(特に最新のトピックスなど。)
– 時々、演習問題を出す。演習問題に答えられるかどうかで理解度を自分で考えてほしい。
• 自習– 図書館– インターネットの検索エンジンの活用
• 誤った情報もあるので、3つくらいのサイトから調べること。
• 単位認定– 試験のみで評価する。
• インターネットの基本的な知識を習得できていること• インターネットの仕組みついて、まま、正確に説明できること• インターネットについて考察ができること
情報ネットワーク 3
インターネットの基本的な知識を習得できていること
• 7 階層の知識• イーサネット動作原理 ( 第2層)• IP 一般 ( 第3層)
– 歴史– アドレス– 経路制御
• TCP/UDP ( 第4層 )
情報ネットワーク 4
インターネットの仕組みついて、まま、正確に説明できること
• 例えば、、、、– 郵便物が配送される仕組みは説明できると思
う。– 同様に、電子メールが配送される仕組
み、 Web でデータを取得できる仕組みを、基礎知識による用語を用いて説明できるはず。
情報ネットワーク 5
インターネットについて考察ができること
• 基本的な知識があって、仕組みが理解できていれば、– インターネットアクセスがどうして速かった
り、遅かったりするのか– インターネットのセキュリティ問題はどうし
てたびたび取り上げられるのか• などの説明、考察ができるはず。
情報ネットワーク 6
目次
• 階層とプロトコル• インターネットの歴史• データリンク・ネットワーク層での通信
の仕組み
情報ネットワーク 7
通信(伝達)における階層モデルとプロトコル
• 階層モデル– 上下、上~より具体的、下~より抽象的– カプセル化
• プロトコル– 同じ階層間の約束
CD・ DVD・本
ケース・包装
封筒
CD・ DVD・本
ケース・包装
封筒
プロトコル
プロトコル
プロトコル
情報ネットワーク 8
階層とプロトコル (OSI 参照モデル)
物理層
データリンク層
ネットワーク層
アプリケーション層
トランスポート層
プレゼンテーション層
セッション層
物理層
データリンク層
ネットワーク層
アプリケーション層
トランスポート層
プレゼンテーション層
セッション層
プロトコル
プロトコル
プロトコル
プロトコル
プロトコル
プロトコル
プロトコル
情報ネットワーク 9
7 層の概略 (IT 辞典 http://e-words.jp)
• アプリケーション層– データ通信を利用した様々なサービスを人間や他のプログラムに提供する。
• プレゼンテーション層– 第 5 層から受け取ったデータをユーザが分かりやすい形式に変換したり、第7
層から送られてくるデータを通信に適した形式に変換したりする。• セッション層
– 通信プログラム同士がデータの送受信を行なうための仮想的な経路 ( コネクション ) の確立や解放を行なう。
• トランスポート層– 相手まで確実に効率よくデータを届けるためのデータ圧縮や誤り訂正、再送制
御などを行なう。 • ネットワーク層
– 相手までデータを届けるための通信経路の選択や、通信経路内のアドレス ( 住所 ) の管理を行なう。
• データリンク層– 通信相手との物理的な通信路を確保し、通信路を流れるデータのエラー検出な
どを行なう。• 物理層
– データを通信回線に送出するための電気的な変換や機械的な作業を受け持つ。ピンの形状やケーブルの特性なども第 1 層で定められる。
情報ネットワーク 10
物理層• 隣接しているシステムは通常、ツイストペアケーブル、
同軸ケーブル、光ファイバなどで結合されてる。上位層から渡されてきたデータは最数的にこれらの伝送メディアを通る信号に変換される。物理層は、隣接しているシステム間で、これらの伝送メディアを利用して、デジタルで表現されたデータ(0と1からのビット列)の伝送機能を提供する。物理層のプロトコルでは、ビット列をどのような電気的信号に変換するかという規則や、ピンやケーブルの特性・形状などが規定されている。
• 代表的なプロトコルとして、モデムの規格を規定した ITU-T の V シリーズ (56K モデムの標準規格 V.90 など ) 、モデムなどのデータ回線終端装置 (DCE: Data Circuit-terminate Equipment) とパソコンなどのデータ端末装置 (DTE: Data Terminal Equipment) の規格である RS-232C などがある。
情報ネットワーク 11
• 通信相手のシステムが隣接している場合には、一般に公衆パケット交換網や専用線などで直接的に一対一でつながっている場合と、 LAN の場合のように他の多くのシステムと伝送メディアを共有している場合がある。データリンク層は、どちらの場合においても、隣接しているシステム間で上位層から見て透過的な伝送路を提供する。
• 確実な伝送のために、ビット列をフレームに分解し、先頭部分にデータを元通りに復元するための情報を付加する。このヘッダ情報を利用して、伝送路上で誤りが発生したときに、それを検出して再送によって誤りを回復したり、データの順序の制御やフロー(データの転送)の制御を行う。
• 代表的なプロトコルとしては、公衆パケット交換網や専用線などの広域網によるコンピュータ通信を想定した HDLC (High-Level Data Link Control Procedure) や LANに用いられる LAN LLC/ MAC (Logical Link Control. Media Access Control) がある。
データリンク層
情報ネットワーク 12
ネットワーク層• 通信相手のシステムが隣接していない場合は、中継開放型システムを利用して通信を行う必要がある。ネットワーク層では、一つあるいはそれ以上の数のネットワークを介して、実際にデータを交換する終端システム間の通信路の提供を行う。基本的には、相手を指定するアドレッシングと伝達経路を決めるルーティングの二つの機能を持つ。また、誤り検出・順序制御・フロー制御の機能も持つ。
• 代表的なプロトコルに IP (Internet Protocol) や ITU-T (International Telecommunication Union-Telecommunication standardization sector) の X.25パケットレベルがある。
情報ネットワーク 13
トランスポート層• セッション層より上位では,個々の応用プロセスが処
理を実現するのに必要な情報が、メッセージ単位まで分割される。トランスポート層以下は、このメッセージを通信相手の応用プロセスまで、詳細な伝達手段を意識せずに、確実に送り届ける機能を果たしている。
• トランスポート層では、両端のコンピュータシステム内で機能してるアプリケーションプロセス間で、データ送信の保証をすることができる。データ通信の保証のために、通信エラーの検出や回復の機能を持つ。また、上位層が要求するスループットや伝送遅延などのサービス品質 (QoS: Quality of Service) を保証する。
• 代表的なプロトコルに、インターネットにおける誤りのないコネクション型サービス TCP (Transmission Control Protocol) や、動画像などを伝送するための効率の良いコネクションレス型サービス UDP (User Datagram Protocol) などがある。
情報ネットワーク 14
セッション層• 通信を利用する応用プロセス間では、送信側が受
信側に簡単なデータを転送して、それで処理が終了するという場合はほとんどない。応用プロセス間では相互に頻繁に、場合によっては同時にデータを交換する必要が生じてくるので、送信順序や同期の制御を行う機能が必要である。セッション層では、このような応用プロセス間の対話の制御を行う。
• 会話型の応用では、受信処理と送信処理が入れ替わって行われるが、接続しているアプリケーションプロセスのどちらかがそれぞれ実行する順番であるかを明らかにしたり、交互に半二重で行うか、全二重で行うのか、どちらあコネクションを開放するのかなどを制御する。
情報ネットワーク 15
セッション層 (続き)
• また、ファイル転送のように、一方向に大量のデータを転送する場合に、転送エラーに備えて、転送データの途中に同期店を挿入し、誤りが起きた場合にその同期点から転送をやり直す機能を提供する。
情報ネットワーク 16
プレゼンテーション層• アプリケーション層で交換される情報は、ファイルの操作や仮想的な端末の機能などのいわゆる意味を扱うものである。特定の意味を担うメッセージが通信相手に伝送されるためには、共通の形式を決めておく必要がある。プレゼンテーション層の役割は、この形式を定め、意味を表現しているアプリケーションやユーザが可読なデータ形式から、伝送に適したデータ形式への変換(および逆変換)を行うことである。(抽象構文、転送構文)
• 抽象構文は意味内容を示すセマンティックスに関連するものであり、プレゼンテーション層で伝達する転送構文は、意味には関与せずに、形式だけを扱うシンタックスに関連するものである。
情報ネットワーク 17
物理層
情報ネットワーク 18
データリンク
情報ネットワーク 19
ネットワーク
情報ネットワーク 20
トランスポート一度に複数の人としゃべったり相手によってゆっくりしゃべったり、一度にたくさんしゃべったり
情報ネットワーク 21
セッション
情報ネットワーク 22
プレゼンテーション
日本語ドイツ
語 英語
情報ネットワーク 23
典型的な構成(近距離)
物理
データリンク
アプリケーションプレゼンテーションセッショントランスポートネットワーク
情報ネットワーク 24
典型的な構成 (長距離 )
ネットワーク
アプリケーションプレゼンテーションセッショントランスポート
データリンク・物理 データリンク・物理
情報ネットワーク 25
典型的な構成 (広域 )
情報ネットワーク 26
物理層• ビット列
– 64Kbps, 1Gbps• 電圧などの電気的条件
– リンクがあがる
情報ネットワーク 27
物理層 (RJ45)
情報ネットワーク 28
物理層
• ケーブルそのものではない– 物理層 → ビット列
• 001000111100010001001110
–標準化された物理層の規格にあったケーブル• デジタルであることが前提
– メタルケーブルは必ずしも物理層ではない– アナログケーブルは通信とは関係ない
作成 : 中村 遼 ( 大学院 情報科学府 )
Protocol for Ethernet
Transmission speed
Maximum length Cable Encoding
10BASE-5 10Mbps 500m Coaxial cable Manchester
10BASE-2 10Mbps 185m Coaxial cable Manchester
10BASE-T 10Mbps 100mTwisted pair
cableManchester
100BASE-TX 100Mbps 100mTwisted pair
cable4B/5B + MLT-
3
1000BASE-T 1Gbps 100mTwisted pair
cable4D-
PAM5(8BIQ4)
100BASE-FX 100Mbps
Multi mode:412m(half duplex)
Optical fiber 4B/5B + NRZI2km(full duplex)
Single mode:20km(full duplex)
1000BASE-SX 1Gbps Multi mode:550m Optical fiber 8B/10B + NRZ
1000BASE-LX 1GbpsMulti mode:550m
Optical fiber 8B/10B + NRZSingle mode:5km
1000BASE-ZX 1Gbps 100km Optical fiber 8B/10B + NRZ
情報ネットワーク 30
データリンク層• ビットパターンをフレーム• 8 ビット=1バイト
– 001000111100010001001110– 00100011 11000100 01001110– 23 C4 4E
• 送り元・あて先という概念• イーサネット
– MAC アドレス (48bit)• 00:50:56:8A:00:00• ベンダ固有 24bit
– 最初の 24bit を見ればメーカの察しがつく
• 同一物理ネットワーク間のみ• スイッチングハブ• L2 スイッチ
情報ネットワーク 31
UNIXの ifconfig コマンド
$ ifconfig vmnet1vmnet1 Link encap:Ethernet HWaddr 00:50:56:8A:00:00 inet addr:192.168.34.1 Bcast:192.168.34.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:223989 errors:0 dropped:0 overruns:0 frame:0 TX packets:247923 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100
MACアドレスは、LANアダプタ固有である。
情報ネットワーク 32
MAC アドレスからベンダを調べる
• http://coffer.com/mac_find/
情報ネットワーク 33
データリンク層通信
• MAC アドレス: イーサネットカード固有• イーサネットカードは自分の MAC アドレ
スのフレームのみを受信する–ハードによる処理– OS によらない
資料作成者:原田義明 35
CSMA/CA (Carrier Sence Multiple Access with Collision Avoidance) 搬送波感知多重アクセス /衝突回避方式の略で、無線 LAN に用いられているアクセス制御方式 通信が行われていなければ、 DIFS(Distributed
coordination function Initial interFrame Space) +ランダム時間待ち、送信を開始する
送信データを受け取ったときに ack( 応答メッセージ ) を送信することで、データの送信エラー (衝突 ) を検出する
ack メッセージを受け取らなかった場合、再送する
情報ネットワーク 36
データリンク層通信
• 通信容量:フレームの流量– CSMA/CD
• スイッチによって関係ない部分にフレームが出ないようにできる。
• 関係ない部分→ MAC アドレスで判断
資料作成者:原田義明 37
スイッチ
ブリッジ MAC アドレスを記憶し、通信を制御( CAM テーブ
ル) フレーム読み取りの分だけ遅延が発生する ブロードキャストを止めることはできない
スイッチ ストア&フォワード形式
スイッチ内のメモリにデータをストアし、データの衝突を防ぐ
フレーム読み取りの分だけ遅延が発生する ブロードキャストを止めることはできない 全二重回線(送信・受信の回線を分ける)が可能
情報ネットワーク 38
データリンク層通信
• ブロードキャストフレーム–無条件に受信する。
• 受信したあと– OS によって吟味され不要なら破棄される
• 他のコンピュータのCPUを浪費させる
情報ネットワーク 39
データリンク層通信
• MACアドレスの登録–登録されたMACアドレスだけ通過する設定
により許可されていないホストの通信を防ぐことができる。
資料作成者:原田義明 40
VLAN
スイッチの技術発展により、大きなネットワークの構築が可能になった
ブロードキャストドメインの巨大化
ブロードキャストドメインを仮想的に分割したい
VLAN (Vertial LAN)
資料作成者:原田義明 41
VLAN
仮想的にネットワークを構築する技術 レイヤ2スイッチでブロードキャストドメインを分割
VLAN1 VLAN2
資料作成者:原田義明 42
ダイナミックVLANとトランクリンク Cisco独自のものと、 IEEE標準のものがある
ISL(Inter-Switch Link) Cisco独自のカプセル化プロトコル
IEEE802.1Q IEEE標準のタギングプロトコル
ISLヘッダ(26バイト )
イーサネットフレーム(26 ~ 1518バイト )
FCS
(4バイト )
ISL
送信先 (元 )MAC アドレス
タグ
タイプ
データ FCSIEEE802.1Q
情報ネットワーク 43
ネットワーク層• インターネットの重要な階層• IPv4 、 IPv6• 通信の単位: パケット• スイッチング・ルータ、 L3 スイッチ
情報ネットワーク 44
ルータとスイッチングルータ
• ルータ– ネットワーク層でパケット交換
• スイッチングルータ– 2.5 層でフレーム交換– L3 スイッチ
• 機能(経路制御など)は変わらない。
情報ネットワーク 45
ネットワーク層• 経路制御
– 同一物理ネットワークを越えた通信– ルータ
• IP アドレス– IPv4: 32bit
• 133.5.1.1
– IPv6:128bit• 3ffe:501:2c24:a00:202:e3ff:fe00:10c5• 2001:248:180:300:202:e3ff:fe00:14ea
• IP アドレス• ネットワークアドレス+ホストアドレス
情報ネットワーク 46
IPアドレス
• 九州大学内のサブネットマスクは基本的に、24ビット– ネットマスク 255.255.255.0
• 133.5.X.0– ネットワーク識別子
• 133.5.X.255–ブロードキャスト識別子
• 133.5.X.1 ~ 254–ホスト識別子
情報ネットワーク 47
IPアドレス• 32 ビット• 133.5.1.2
–133*256^3+5*256^2+1*256+2
– 2231697666
$ ping 2231697666PING 2231697666 (133.5.1.2): 56 data bytes64 bytes from 133.5.1.2: icmp_seq=0 ttl=249 time=106.0 ms
http://2231697666
情報ネットワーク 48
クラス A,B,C
01000000101010000000101000100001
10000000101010000000101000100001
11000000101010000000101000100001
クラス A
クラス B
クラス C
情報ネットワーク 49
クラス A
01000000101010000000101000100001
クラス A
•ネットワークアドレス•1.0.0.0 – 127.0.0.0
•ホストアドレス•1.0.0.1 – 1.255.255.254
情報ネットワーク 50
クラス B
10000000101010000000101000100001
クラス B
•ネットワークアドレス•128.0.0.0 – 191.255.0.0
•ホストアドレス•128.0.0.1 – 128.0.255.254
情報ネットワーク 51
クラス C
11000000101010000000101000100001
クラス C
•ネットワークアドレス•192.0.0.0 – 223.255.255.0
•ホストアドレス•192.0.0.1 – 192.0.0.254
情報ネットワーク 52
クラスレス(Classless Inter-Domain Routing:CIDR)
11000000101010000000101000100001
クラス C
11000000101010000000101000100001
クラスレス
192.168.10.33/22
情報ネットワーク 53
クラス D(マルチキャスト )
11100000101010000000101000100001
クラス D
•ネットワークアドレス•224.0.0.0 – 239.255.255.255
情報ネットワーク 54
IP アドレス192.168.10.33
11000000101010000000101000100001
192.168.10.0
192.168.11.0
192.168.255.0
情報ネットワーク 55
ネットワークとホスト
192.168.10.0
192.168.11.0
192.168.255.0
192.168.10.33 11000000101010000000101000100001
192.168.11.10 11000000101010000000101100001010
192.168.255.1 11000000101010001111111100000001
情報ネットワーク 56
• Host の IP アドレスと、ネットワーク長が与えられば、ネットワークアドレスは求められる。– Host: 192.168.10.1– ネットワーク長 :24
• ネットワークアドレス→ 192.168.10.0
– Host: 192.168.128.233• ネットワーク長 :26• ネットワークアドレスは?• ネットマスクは?• ブロードキャストアドレスは?
情報ネットワーク 57
– Host: 192.168.128.233• ネットワーク長 :26• ネットワークアドレスは?• ネットマスクは?• ブロードキャストアドレスは?
192=128+64 = 11000000168=128+32+8 =10101000128=10000000233=128+64+32+8+1 =11101001192.168.128.233 = 11000000 10101000 10000000 11101001ネットワークアドレス 11000000 10101000 10000000 11000000 192.168.128.192ネットマスク = 11111111 11111111 11111111 11000000 = 255.255.255.192ブロードキャスト = 11000000 10101000 10000000 11111111 = 192.168.128.255
情報ネットワーク 58
まとめ
• 32bit
• ネットワーク長 • ネットワークアドレス (host部が全部 0)
• ネットワーク マスク ( ネットワーク部が全部 1, host部が全部 0)
• ブロードキャストアドレス (host部が全部 1)
• Host アドレス
情報ネットワーク 59
Netmask/Broadcast Address
192.168.10.01
2 3
192.168.10.1 11000000101010000000101000000001
192.168.10.2 11000000101010000000101000000010
192.168.10.3 11000000101010000000101000000011
Broadcast 192.168.10.255 11000000101010000000101011111111
11111111 1111111 1111111100000000
Netmask= 255.255.255.0
情報ネットワーク 60
Netmask/Broadcast Address
192.168.255.1 11000000101010000000101000000001
11111111 1111111 1111111 111111 00255.255.255.252
192.168.255.0
情報ネットワーク 61
ネットワーク層通信
• IPアドレスからMACアドレスを知る–ARP
• IPアドレスをデータリンクブロードキャスト
• 当該のIPアドレスを持ったホストがMACアドレスを通知
• MAC アドレスはキャッシュされる。
情報ネットワーク 62
キャッシュされたARPの情報
$ arp -aryu1.nc.kyushu-u.ac.jp (133.5.10.30) at 00:02:B3:23:7A:22 [ether] on eth0ryu2.nc.kyushu-u.ac.jp (133.5.10.31) at 00:C0:9F:04:0F:4B [ether] on eth0? (133.5.10.254) at 00:04:80:23:72:00 [ether] on eth0
情報ネットワーク 63
ネットワーク層通信
• ホスト名からIPアドレスの変換–DNS
• DNS サーバのIPアドレスは既知
情報ネットワーク 64
ネットワーク層通信• 同一セグメント内であればルータは不要• セグメントを越えて通信する場合はルー
タが必要• 通常は、ホストが存在するネットワーク以外を固定のルータに指名する。
$ netstat -nrKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface133.5.10.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo0.0.0.0 133.5.10.254 0.0.0.0 UG 40 0 0 eth0
情報ネットワーク 65
相手の識別子・アドレスがわからないと通信は行えない
ルータ
PC-A PC-B PC-C
PC-D
PC-A 、 B 、 C は、同一セグメント上にあるので、ルータを介さずに直接通信が可能であるが、例えば、 A から Cに通信を行う場合、 A は、 B と区別するために、 C を指定して通信を行う必要がある。一方で、どういつセグメント上の通信は、データリンク層の通信機能によって行われるが、 PC-A は、 PC-C の MAC アドレスがわからなければ通信を行うことはできない。
情報ネットワーク 66
相手の識別子・アドレスがわからないと通信は行えない
ルータ
PC-A PC-B PC-C
PC-D
PC-A と D は、異なるセグメントにあるので、直接通信はできない。しかし、いずれにしても、 A は、 D のネットワーク上の識別子を知っておく必要がある。
情報ネットワーク 67
相手の識別子・アドレスがわからないと通信は行えない
ルータ
PC-A PC-B PC-C
PC-D
192.168.0.1 192.168.0.2 192.168.0.3
192.168.1.1
IP address が既知である場合:これだけで、通信が可能なようにも思える。しかし、 PC-A が PC-C と通信する場合、 PC-C の MAC address をなんらかの方法で知らないと通信は行えない。
192.168.0.3 に送ってください。
MAC address を指定する必要がある。
IP パケット
データリンク・フレーム
情報ネットワーク 68
相手の識別子・アドレスがわからないと通信は行えない
ルータ
PC-A PC-B PC-C
PC-D
Mypc.jp www.xx.jp www.yy.jp
www.zz.jp
IP address が既知ではない場合:IPパケットで指定するIPアドレスは何を指定すればいいのだろうか?
?.?.?.? に送ってください。
MAC address を指定する必要がある。
IP パケット
データリンク・フレーム
情報ネットワーク 69
ARP: IP address から MAC address を得る
ルータ
PC-A PC-B PC-C
PC-D
192.168.0.1 192.168.0.2 192.168.0.3
192.168.1.1
ARP: Address Resolution Protocol
•PC-A: 同一セグメントに対してブロードキャストで通信したいIPアドレスの問い合わせを行う。
•192.168.0.3 という IP address の人?
•PC-C: ユニキャストで、 MAC address を PC-A に返す。 PC-A の MAC address は、先の問い合わせパケットに含まれている。•PC-A:PC-C の MAC address をデータリンクフレームのあて先に指定して通信を開始する。
情報ネットワーク 70
DNS: Domain Name System
ルータ
PC-A PC-B PC-C
PC-D
Mypc.jp www.xx.jp www.yy.jp
www.zz.jp
www.cc.kyushu-u.ac.jpwww.csce.kyushu-u.ac.jpwww.u-tokyo.ac.jpwww.snu.ac.krwww.nus.edu.sgwww.yahoo.co.jpwww.google.com
Kyushu-u.ac.jpU-tokyo.ac.jpYahoo.co.jp
Kyushu-u.ac.jp
Snu.ac.kr
Nus.edu.sg
Google.com
U-tokyo.ac.jp
Yahoo.co.jp
Snu.ac.kr
Nus.edu.sg
Google.com
※数が非常に多いので規模適応性を考慮する必要がある。
このサーバのIPアドレスだけは既知である。
情報ネットワーク 71
IPv4 パケット0 15 31
Version IP HeaderLength
TOS IP Packet Length
Identifier Flag Fragment Off-set
Source Address
Destination Address
Option
TTL Protocol Header Check Sum
TCP/UDP Data
情報ネットワーク 72
IPv4 パケット• Version は、 IP のバージョンを表し、現在は 4 次期は 6 。 • IP Header Length は IP のヘッダ長を 32bit 単位で表す。• TOS (Type of Service) サービスタイプは、 IP データグラムのサー
ビスの品質を表すもので、優先度の指定や、少ない遅延経路、高信頼性、高スループットの経路の要求等を表す。
• Packet Length は IPパケット全体の長さを表す。• ID, Flag, Fragment offset… これらは IPパケットをフラグメント化、
つまりはより小さな単位に分割する際に利用される。 IP よりも更に下位に有る層、つまり物理的なネットワーク層で、送信可能なパケットの最小単位がより小さい場合がある。例えば ethernet では、最大 1514bytes しか送れない。従って、それより大きな IPパケットを送る場合には、それを分割して送る必要がある。 – ID は分割する前の IPパケットを認識するために用いる。– フラグは分割して良いか否かや分割した IPパケットのうちの最後か否かを表す。
– オフセットは分割前のパケットの中でのデータの位置を表す。
情報ネットワーク 73
IPv4 パケット• TTL (Time To Live) は、ネットワーク上で通過可能な
ルータの数であり、一種のホップカウントとして利用される。ルータを通過する毎に一つずつ減らし、この値が 0 のパケットは配送せずに廃棄される。
• Protocol は上位のプロトコルの種類を表す。例えば、 1 なら ICMP 、 6 なら TCP 、 17 なら UDP 。
• Checksum は、何らかの理由でヘッダ情報がおかしくなった場合にそれを検出する。
• Source address と Destination address は受信元アドレスと送信先アドレスを表す。
• Option は、タイムスタンプや経路情報等の記録に利用される。
情報ネットワーク 74
管理プロトコル
InternetInternetデータ通信
ICMP
相手の IP アドレスに届かない。相手のトランスポートアドレス (IP アドレス+ポート番号)に届かない。
情報ネットワーク 75
管理プロトコル• ICMP
– Internet Control Management Protocol– 送信したデータが届かなかった時、また何か障害があったときに利用されるプ
ロトコル • Echo Reply 、 Echo Request• Destination Unreachable 宛先到達不可(宛先の相手が存在しなかった、
もしくは障害中)– Network Unreachable 、 Host Unreachable – Protocol Unreachable 、 Port Unreachable – Fragmentation Needed and Don‘t Fragment was Set Source Route Failed – Destination Network Unknown 、 Destination Host Unknown – Communication with Destination Network is Administratively Prohibited – Communication with Destination Host is Administratively Prohibited – Destination Network Unreachable for Type of Service – その他
• Redirect ルート変更• Time Exceeded for a Datagram 時間超過• その他
情報ネットワーク 76
経路制御
・宛先アドレス・次ルータのテーブルを持ち、宛先のパケットをどのインタフェースに送信すればよいか決定する。
どっち?
#0
#1
情報ネットワーク 77
#0
#1
#2
#3
192.168.1.0/24
192.168.1.10
192.168.1.1
192.168.1.2
192.168.10.0/30
192.168.10.1
192.168.10.2
192.168.10.4/30
192.168.10.5192.168.10.6
192.168.10.8/30 192.168.10.12/30
192.168.10.9
192.168.10.10192.168.10.13
192.168.10.14
192.168.2.0/24
192.168.2.11
192.168.2.1
PC-A PC-B
PC-ANetwork next-hop0.0.0.0 192.168.1.1192.168.2.0/24 192.168.1.1
#0Network next-hop192.168.2.0/24 192.168.10.6192.168.2.0/24 192.168.10.2
Next-hop: 次ルータそのルータに直接接続されているセグメントのいずれかのIPアドレスになる。
情報ネットワーク 78
#0
#1
#2
#3
192.168.1.0/24
192.168.1.10
192.168.1.1
192.168.1.2
192.168.10.0/30
192.168.10.1
192.168.10.2
192.168.10.4/30
192.168.10.5192.168.10.6
192.168.10.8/30 192.168.10.12/30
192.168.10.9
192.168.10.10192.168.10.13
192.168.10.14
192.168.2.0/24
192.168.2.11
192.168.2.1
PC-A PC-B
PC-ANetwork next-hop0.0.0.0 192.168.1.1192.168.2.0/24 192.168.1.1
#0Network next-hop192.168.2.0/24 192.168.10.6192.168.2.0/24 192.168.10.2
Next-hop: 次ルータそのルータに直接接続されているセグメントのいずれかのIPアドレスになる。
ICMP (Internet Control Management Protocol) Echo ReplyTTL192.168.1.10 から 192.168.2.11 までに経由するルータを調べる。
1. TTL=254 に設定して、 192.168.2.11 に Echo Reply パケットを送る。2. ルータ #0 TTL が 255 になったので、配送をやめ、送信もとにエラーを返す。3. 192.168.1.10 は第1段のルータの IP address がわかる。4. TTL=253…
情報ネットワーク 79
#0
#1
#2
#3
192.168.1.0/24
192.168.1.10
192.168.1.1
192.168.1.2
192.168.10.0/30
192.168.10.1
192.168.10.2
192.168.10.4/30
192.168.10.5192.168.10.6
192.168.10.8/30 192.168.10.12/30
192.168.10.9
192.168.10.10192.168.10.13
192.168.10.14
192.168.2.0/24
192.168.2.11
192.168.2.1
PC-A PC-B
PC-ANetwork next-hop0.0.0.0 192.168.1.1192.168.2.0/24 192.168.1.1
#0Network next-hop192.168.2.0/24 192.168.10.10
#3Network next-hop192.168.2.0/24 192.168.10.14
情報ネットワーク 80
経路表
#R0
#R1
#R2
#R3
133.5.11.0/24
133.5.10.0/24 アドレス 次ルータ0.0.0.0 #R0
133.5.7.0/24
アドレス 次ルータ133.5.11.0/24 #R0133.5.7.0/24 #R2
アドレス 次ルータ133.5.10.0/24 #R0133.5.7.0/24 #R2
アドレス 次ルータ133.5.11.0/24 #R1133.5.7.0/24 #R2
0.0.0.0 特別なあて先
情報ネットワーク 81
静的制御と動的制御• スタティックルーティング
– ネットワーク管理者が手作業でルートを設定する– 安定している– トラフィックや伝送障害の影響を受けない– ルーティングプロトコルのためのトラフィックが発生しない
• ダイナミックルーティング– 自動的に経路を設定する– ネットワークの変化に自動的に対応– 自動的に最適な経路を選択– 障害時にバックアップ経路に自動切換え
情報ネットワーク 82
ルーティング ( 経路制御 ) プロトコルの必要性
• ネットワークの変化に対応しなければならない
• 設定が多くて面倒• 自動的に最適経路を選択できる
– あまりにも複雑なネットワークトポロジー• 自動的にバックアップ経路を選択できる
–障害に強いネットワーク
情報ネットワーク 83
経路制御プロトコル• AS (Autonomous System)
– 自律的に運用されるネットワーク– 16 ビット
• IGP (Interior Gateway Protocol)– AS 内での経路制御– 小規模なネットワークが対象。– RIP,OSPF
• EGP (Exterior Gateway Protocol)– AS 間での経路制御– 大規模なネットワークが対象。– BGP
情報ネットワーク 84
経路制御の基本
• 経路制御:自らの情報を外部にアナウンスすることにより自分の位置を他人に知らせる。
133.5.10.0/24
情報ネットワーク 85
AS,IGP,EGP
• 新しいネットワークの追加、構成の変更を自動的に反映したい。
• 変更があれば、その情報を他のルータに知らせる必要がある。
• ネットワークが細かければ、経路制御のパケットがたくさん流れてしまう。
• AS は「小規模」なので、そのようなたくさんの経路制御のパケットが流れるのを許す。– IGP
• AS 間ではこのような細かいパケットがたくさん流れないようにする。– EGP
情報ネットワーク 86
AS と EGP
• AS (Autonomous System)– ポリシーの単位
• EGP (Exterior Gateway Protocol)– AS 間でのポリシーに従った経路制御
• どこを通りたいか、通りたくないか。• 通せないトラフィックは通さない。
情報ネットワーク 87
ポリシーに従った経路制御
韓国研究ネットワーク
韓国研究ネットワーク
九州大学(学術・研究開発)
九州大学(学術・研究開発)
SINET(学術)
SINET(学術)
QGPOP(研究開発)
QGPOP(研究開発)
東京大学(学術・研究開発)
東京大学(学術・研究開発)
OCN(商用 )OCN(商用 )
APAN(研究開発)
APAN(研究開発)
情報ネットワーク 88
経路制御プロトコル
• IGP– RIP (Routing Information Protocol)
• 距離ベクトル
– OSPF (Open Short Path Fast)• リンクステート
• EGP– BGP (Boarder Gateway Protocol)
• PATH ベクトル
情報ネットワーク 89
トランスポート層
• プロセスとプロセスの通信• TCP (Transmission Control Protocol )
– 信頼性があるが、速度が不定• メール、WEBアクセス
• UDP (User Datagram Protocol)– 信頼性がないが、 速度は一定
• マルチメディア通信
情報ネットワーク 90
トランスポート層
• IP アドレスだけでは識別子が足りない– ホスト内でもっと細かく識別できる必要がある
• プロセス• ウインドウ
– IP Address + Port = トランスポートアドレス
• ポート番号– 16bit
• 特定のサービスを固定的に割り当てる– 25: 電子メール– 80: WWW
情報ネットワーク 91
ネットワーク層とトランスポート層
ネットワーク
アプリケーションプレゼンテーションセッショントランスポート
データリンク・物理 データリンク・物理
情報ネットワーク 92
決められたポート番号
http://www.iana.org/assignments/port-numbersThe range for assigned ports managed by the IANA is 0-1023.
Port Assignments:
Keyword Decimal Description References------- ------- ----------- ---------- 0/tcp Reserved 0/udp Reserved# Jon Postel <[email protected]>tcpmux 1/tcp TCP Port Service Multiplexertcpmux 1/udp TCP Port Service Multiplexer# Mark Lottor <[email protected]>compressnet 2/tcp Management Utilitycompressnet 2/udp Management Utilitycompressnet 3/tcp Compression Processcompressnet 3/udp Compression Process# Bernie Volz <[email protected]>
情報ネットワーク 93
通信アプリケーション• 電子メール
– SMTP/POP/IMAP• WWW
– HTTP/FTP• DNS
– DNS• VoD
– RTSP• テレビ会議
– RTP
情報ネットワーク 94
トランスポート層通信プログラム(TCP)
int sock; struct sockaddr_in server;
server.sin_family = AF_INET; server.sin_port = htons(rport);
if((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0){ perror("TCPsocket"); return -1; }
if(bind(sock, (struct sockaddr *)&server,sizeof(server)) < 0){ perror("TCPbind "); return -1; }
listen(sock, 5);
情報ネットワーク 95
トランスポート層通信プログラム(TCP)
int sock; struct sockaddr_in server; struct hostent *host; int s_addr;
host = gethostbyname(dst); memcpy((char *)&s_addr, (char *)host->h_addr, host->h_length); bzero(&server,sizeof(struct sockaddr_in)); server.sin_family = AF_INET; server.sin_port = htons(rport); server.sin_addr.s_addr = s_addr;
if((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))<0){ perror("socket "); return -1; }
if(connect(sock,(struct sockaddr *)&server, sizeof(server))<0){ perror("connect"); return -1; }
情報ネットワーク 96
トランスポート層通信プログラム(UDP)
sock=socket(AF_INET,SOCK_DGRAM,0);
saddr.sin_family = AF_INET; port = mport + i; saddr.sin_port = htons(port); saddr.sin_addr.s_addr = s_addr;
if(connect(ssock, (struct sockaddr *)&saddr[i], sizeof(struct sockaddr_in))<0){ perror("connect"); return -1; }
if (!setsockopt(ssock[i], SOL_SOCKET, SO_SNDBUF, (char *)&bufsize, sizeof(bufsize))) break; }
情報ネットワーク 97
トランスポート層通信プログラム(TCP/UDP)
データの読み出し、書き込み方法は、共通
read(sock, buf, 1024);write(sock, buf, 1024);
信頼性のある TCP 通信の実現と工夫
• Slow Start
• Sliding Window
• 遅延時間に弱い• なかなかスピード
が出ない。
情報ネットワーク 98
時間
スループット
送信 受信 送信 受信
情報ネットワーク 99
通信アプリケーション
• 一定の手順(プロトコル)に従って動作している
• インターネットの通信プロトコルは RFC として公開されている
• どのように実現されているかプログラムによって固有–設定方法がプログラムによってまちまち
• 通信プロトコルの重要な部分を押さえておけば設定すべき箇所は予想がつく
情報ネットワーク 100
メールソフト
• メール配送サーバ– SMTP
• メール受信サーバ–POP/IMAP
• メールフォルダの設定などは通信機能とは別の次元の話
情報ネットワーク 101
通信アプリケーション
• プロトコルは公開されている• 物理層からすべて公開されている
– ビット列–フレーム列–パケット列–パケットに含まれるデータ内容– ポート番号から既知のサービスは察しがつく
• ビット列がわかれば、通信内容は全て解析可能
情報ネットワーク 102
インターネットの歴史と運用
• 1969年 ARPANET (Advanced Research Projects Agency Network)–国防総省がスポンサー
• 1975年 TCP/IP の研究開発• 1980年 NSFNET (National Science
Foundation Network)–全米科学財団
• 1990年 商用インターネットの急成長–WWW,電子メールの普及
情報ネットワーク 103
インターネットに関連する組織
• 1984年 インターネットアーキテクチャ委員会(IAB)–RFC (Request For Comment) 発行開始
• 1992年 インターネット学会( ISOC; Internet Society)– IAB は ISOC の一部となる–備考 : IEEE
情報ネットワーク 104
インターネットの運用 インターネットガバナンス
• 1988年 IANA (Internet Assigned Numbers Authority) – IP アドレス、ドメイン名、TCP/IPなどで使用す
るパラメータ(ポート番号など)の割り当て管理を行う。
• 1993年 ネットワーク情報センター(NIC)– InterNIC (北米 )– RIPE NCC (欧州 )– APNIC ( アジア太平洋 )
• JPNIC
• 1998年 IANA → ICANN (The International Corporation for Assigned Nmaes and Number)
情報ネットワーク 105
ICANN• ICANN
– IPアドレス、ドメイン名、プロトコルパラメータなどのインターネット資源の割当の調整を世界規模かつ民主的に行う。
• ドメイン名支持組織– 営利、非営利企業、レジストラ、通信事業者、など
• アドレス支持組織– ARIN(旧 InterNIC),RIPE NCC, APNIC
• プロトコル支持組織– IETF, W3C, ITU, ETSI
情報ネットワーク 106
ICANN
• IEPG (Internet Engineering Planning Group)– ISPに対する技術援助、運用ポリシの調整
• CERT (Computer Emergency Response Team)– コンピュータネットワークへの不正侵入など
の方法を解析し対策を研究する。
情報ネットワーク 107
インターネット技術の開発と標準化
• ISOC (インターネット学会)– IAB (アーキテクチャ委員会)
• IRTF 次世代技術委員会– 標準化は行わないが、先進技術の研究を担当– 必要であればIETFに標準化を提案
• IETF 技術標準化委員会– RFC による技術標準化に責任を持つ– 年 3回のミーティング、電子メールによる議論– IESG(運営管理委員会)
» 複数のワーキンググループによって遂行» http://www.ietf.org
• ISTF 社会政策委員会
情報ネットワーク 108
RFCのできるまで• アイディアが浮かぶ
– 個人、WGで提案 Internet Draft• IETF で 6ヶ月保存• IESG が標準化すべきと判断
– Proposed Standard• RFC 番号• 実装、テスト
• 6ヵ月後 IESG審議– Draft Standard
• 4ヶ月の運用試験• STD 番号の付与
• RFC– Informational– Experimental– Historical
情報ネットワーク 109
IETF 風景
情報ネットワーク 110
ITU 風景 ( 参考 )
情報ネットワーク 111
日本におけるインターネットの歴史
• 1984年 JUNET (インターネットではない)
• 1988年 WIDE プロジェクト– 1990年 九州大学 WIDE プロジェクトに接続
• 大阪大学と 64Kbps
• 1993年 –日本インターネット協会 (IAJ)–日本での商用ネットワークの始まり
情報ネットワーク 112
参考文献
• コンピュータネットワーク、 オーム社、 2001年、 ISBN4-274-13222-6
• インターネット総論、共立出版社株式会社、 2002年、 ISBN4-320-12039-6