Presentation is loading. Please wait.

Presentation is loading. Please wait.

岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ 情報ネットワーク 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ 情報ネットワーク.

Similar presentations


Presentation on theme: "岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ 情報ネットワーク 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ 情報ネットワーク."— Presentation transcript:

1 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/
情報ネットワーク 岡村耕二 情報ネットワーク

2 通信(伝達)における階層モデルとプロトコル
上下、上~より具体的、下~より抽象的 カプセル化 プロトコル 同じ階層間の約束 プロトコル CD・DVD・本 CD・DVD・本 プロトコル ケース・包装 ケース・包装 プロトコル 封筒 封筒 情報ネットワーク

3 階層とプロトコル (OSI 参照モデル) アプリケーション層 プレゼンテーション層 セッション層 トランスポート層 ネットワーク層
階層とプロトコル (OSI 参照モデル) 物理層 データリンク層 ネットワーク層 アプリケーション層 トランスポート層 プレゼンテーション層 セッション層 プロトコル 情報ネットワーク

4 7層の概略(IT辞典 http://e-words.jp)
アプリケーション層 データ通信を利用した様々なサービスを人間や他のプログラムに提供する。 プレゼンテーション層 第5層から受け取ったデータをユーザが分かりやすい形式に変換したり、第7層から送られてくるデータを通信に適した形式に変換したりする。 セッション層 通信プログラム同士がデータの送受信を行なうための仮想的な経路(コネクション)の確立や解放を行なう。 トランスポート層 相手まで確実に効率よくデータを届けるためのデータ圧縮や誤り訂正、再送制御などを行なう。 ネットワーク層 相手までデータを届けるための通信経路の選択や、通信経路内のアドレス(住所)の管理を行なう。 データリンク層 通信相手との物理的な通信路を確保し、通信路を流れるデータのエラー検出などを行なう。 物理層 データを通信回線に送出するための電気的な変換や機械的な作業を受け持つ。ピンの形状やケーブルの特性なども第1層で定められる。 情報ネットワーク

5 物理層 隣接しているシステムは通常、ツイストペアケーブル、同軸ケーブル、光ファイバなどで結合されてる。上位層から渡されてきたデータは最数的にこれらの伝送メディアを通る信号に変換される。物理層は、隣接しているシステム間で、これらの伝送メディアを利用して、デジタルで表現されたデータ(0と1からのビット列)の伝送機能を提供する。物理層のプロトコルでは、ビット列をどのような電気的信号に変換するかという規則や、ピンやケーブルの特性・形状などが規定されている。 代表的なプロトコルとして、モデムの規格を規定した ITU-TのVシリーズ(56Kモデムの標準規格 V.90 など)、モデムなどのデータ回線終端装置(DCE: Data Circuit-terminate Equipment)とパソコンなどのデータ端末装置 (DTE: Data Terminal Equipment) の規格である RS-232C などがある。 情報ネットワーク

6 物理層で大事なことは 帯域/速度 遅延時間 形状(差さること)、材質 100Mbps、1Gbps 伝搬時間 送信時間
光や電子の伝搬速度、間にある機器に起因する。 東京 (1000Km) 10msec 西海岸 (10,000Km) 100msec 欧州 200msec 送信時間 100MByte のデータは 100Mbps の速度のネットワークでは 8 秒で送信できる (?!)。 形状(差さること)、材質 情報ネットワーク

7 高速通信とは? 新幹線 vs 在来線 ? すいている電車と満員電車 ? 情報ネットワーク

8 高速通信とは? 新幹線 (300Km/h) vs 在来線 (60Km/h)?
すいている電車(10人/Box)と満員電車(100人/Box) ? 高速通信 1Gbit/sec 伝送メディアの速度は同一で単位時間あたりの伝送量が多い。 高速通信は障害が発生すると消失するデータ量が多い。 情報ネットワーク

9 0、1信号の伝搬方法 変調 メタルケーブル 無線LAN 光ファイバケーブル 電圧の値を変化させる 電波の値を変化させる
点灯と消灯(光の値を変化させる) 狼煙(のろし)と同じ 情報ネットワーク

10 物理層でよく考えたら当たり前のこと 接続されていなければ通信することはできない。 物理的に同じケーブルに接続されていれば、だれでも受信できる
光通信でもスプリッターがあれば 通信で誰とでも任意に通信できる機能は重要 通信したい人を見つけるとき 同じデータを同時に送りたいとき 物理層の通信上の個性(他と識別ができる)は速度だけ 識別は物理ケーブルのみ 回線交換 情報ネットワーク

11 物理層と速度 速度は、デバイスで決まる。 世の中は速度の違うネットワークでいっぱい ケーブルの両端のデバイスの速度は必ず等しい 参考
決められた仕様の選択肢の中から 参考 アナログモデムを用いたデジタルデータ通信における通信速度のネゴシエーションの必要性 世の中は速度の違うネットワークでいっぱい どこで、どのように速度を変えることができるか 情報ネットワーク

12 データリンク層 通信相手のシステムが隣接している場合には、一般に公衆パケット交換網や専用線などで直接的に一対一でつながっている場合と、LAN の場合のように他の多くのシステムと伝送メディアを共有している場合がある。データリンク層は、どちらの場合においても、隣接しているシステム間で上位層から見て透過的な伝送路を提供する。 確実な伝送のために、ビット列をフレームに分解し、先頭部分にデータを元通りに復元するための情報を付加する。このヘッダ情報を利用して、伝送路上で誤りが発生したときに、それを検出して再送によって誤りを回復したり、データの順序の制御やフロー(データの転送)の制御を行う。 代表的なプロトコルとしては、公衆パケット交換網や専用線などの広域網によるコンピュータ通信を想定した HDLC (High-Level Data Link Control Procedure) や LANに用いられる LAN LLC/ MAC (Logical Link Control. Media Access Control)がある。 情報ネットワーク

13 ネットワーク層 通信相手のシステムが隣接していない場合は、中継開放型システムを利用して通信を行う必要がある。ネットワーク層では、一つあるいはそれ以上の数のネットワークを介して、実際にデータを交換する終端システム間の通信路の提供を行う。基本的には、相手を指定するアドレッシングと伝達経路を決めるルーティングの二つの機能を持つ。また、誤り検出・順序制御・フロー制御の機能も持つ。 代表的なプロトコルに IP (Internet Protocol)や ITU-T (International Telecommunication Union-Telecommunication standardization sector)の X.25パケットレベルがある。 情報ネットワーク

14 トランスポート層 セッション層より上位では,個々の応用プロセスが処理を実現するのに必要な情報が、メッセージ単位まで分割される。トランスポート層以下は、このメッセージを通信相手の応用プロセスまで、詳細な伝達手段を意識せずに、確実に送り届ける機能を果たしている。 トランスポート層では、両端のコンピュータシステム内で機能してるアプリケーションプロセス間で、データ送信の保証をすることができる。データ通信の保証のために、通信エラーの検出や回復の機能を持つ。また、上位層が要求するスループットや伝送遅延などのサービス品質(QoS: Quality of Service) を保証する。 代表的なプロトコルに、インターネットにおける誤りのないコネクション型サービス TCP (Transmission Control Protocol) や、動画像などを伝送するための効率の良いコネクションレス型サービス UDP (User Datagram Protocol) などがある。 情報ネットワーク

15 セッション層 通信を利用する応用プロセス間では、送信側が受信側に簡単なデータを転送して、それで処理が終了するという場合はほとんどない。応用プロセス間では相互に頻繁に、場合によっては同時にデータを交換する必要が生じてくるので、送信順序や同期の制御を行う機能が必要である。セッション層では、このような応用プロセス間の対話の制御を行う。 会話型の応用では、受信処理と送信処理が入れ替わって行われるが、接続しているアプリケーションプロセスのどちらかがそれぞれ実行する順番であるかを明らかにしたり、交互に半二重で行うか、全二重で行うのか、どちらあコネクションを開放するのかなどを制御する。 情報ネットワーク

16 セッション層(続き) また、ファイル転送のように、一方向に大量のデータを転送する場合に、転送エラーに備えて、転送データの途中に同期店を挿入し、誤りが起きた場合にその同期点から転送をやり直す機能を提供する。 情報ネットワーク

17 プレゼンテーション層 アプリケーション層で交換される情報は、ファイルの操作や仮想的な端末の機能などのいわゆる意味を扱うものである。特定の意味を担うメッセージが通信相手に伝送されるためには、共通の形式を決めておく必要がある。プレゼンテーション層の役割は、この形式を定め、意味を表現しているアプリケーションやユーザが可読なデータ形式から、伝送に適したデータ形式への変換(および逆変換)を行うことである。(抽象構文、転送構文) 抽象構文は意味内容を示すセマンティックスに関連するものであり、プレゼンテーション層で伝達する転送構文は、意味には関与せずに、形式だけを扱うシンタックスに関連するものである。 情報ネットワーク

18 物理層 情報ネットワーク

19 データリンク 情報ネットワーク

20 ネットワーク 情報ネットワーク

21 トランスポート 一度に複数の人としゃべったり 相手によってゆっくりしゃべったり、一度にたくさんしゃべったり 情報ネットワーク

22 セッション 情報ネットワーク

23 プレゼンテーション 日本語 ドイツ語 英語 情報ネットワーク

24 典型的な構成(近距離) アプリケーション プレゼンテーション セッション トランスポート ネットワーク データリンク 物理 情報ネットワーク

25 典型的な構成(長距離) アプリケーション プレゼンテーション セッション トランスポート ネットワーク データリンク・物理
情報ネットワーク

26 典型的な構成(広域) 情報ネットワーク

27 物理層 ビット列 64Kbps, 1Gbps 電圧などの電気的条件 リンクがあがる 情報ネットワーク

28 物理層 (RJ45) 情報ネットワーク

29 物理層 ケーブルそのものではない デジタルであることが前提 物理層 → ビット列 標準化された物理層の規格にあったケーブル
物理層 → ビット列 標準化された物理層の規格にあったケーブル デジタルであることが前提 メタルケーブルは必ずしも物理層ではない アナログケーブルは通信とは関係ない 情報ネットワーク

30 Protocol for Ethernet Transmission speed Maximum length Cable Encoding
10BASE-5 10Mbps 500m Coaxial cable Manchester 10BASE-2 185m 10BASE-T 100m Twisted pair cable 100BASE-TX 100Mbps 4B/5B + MLT-3 1000BASE-T 1Gbps 4D-PAM5(8BIQ4) 100BASE-FX Multi mode:412m(half duplex) Optical fiber 4B/5B + NRZI 2km(full duplex) Single mode:20km(full duplex) 1000BASE-SX Multi mode:550m 8B/10B + NRZ 1000BASE-LX Single mode:5km 1000BASE-ZX 100km 作成: 中村 遼 (大学院 情報科学府)

31 データリンク層 ビットパターンをフレーム 8ビット=1バイト 送り元・あて先という概念 イーサネット 同一物理ネットワーク間のみ
23 C4 4E 送り元・あて先という概念 イーサネット MAC アドレス(48bit) 00:50:56:8A:00:00 ベンダ固有 24bit 最初の 24bit を見ればメーカの察しがつく 同一物理ネットワーク間のみ スイッチングハブ L2 スイッチ 情報ネットワーク

32 UNIXの ifconfig コマンド MACアドレスは、LANアダプタ固有である。 $ ifconfig vmnet1
vmnet1 Link encap:Ethernet HWaddr 00:50:56:8A:00:00 inet addr: Bcast: Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets: errors:0 dropped:0 overruns:0 frame:0 TX packets: errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 MACアドレスは、LANアダプタ固有である。 情報ネットワーク

33 MAC アドレスからベンダを調べる 情報ネットワーク

34 データリンク層通信 MAC アドレス: イーサネットカード固有 イーサネットカードは自分の MAC アドレスのフレームのみを受信する
ハードによる処理 OS によらない 情報ネットワーク

35 イーサネット CSMA/CD と CSMA/CA ARP
送信側にも規則がいるのでは? ARP 送信パケットには、宛先の MAC アドレスの情報をあらかじめ知っておく必要があります。しかし、それはどうやって、知るのでしょうか? 情報ネットワーク

36 CSMA/CD (Carrier Sence Multiple Access with Collision Detection)
搬送波感知多重アクセス/衝突検出方式の略で、複数のノードが衝突を起こさずに通信するための方法 通信が行われているか確認する 通信中なら、通信が終わるまで待ち、データ送信を開始する 衝突が起こった場合、ジャミング信号を送信し、乱数時間待ってから再転送 衝突の際、ケーブルに通常の範囲外の電圧が流れるため、検出可能 待ち時間 = 乱数 × 送信失敗回数 ジャミング信号は、衝突が起こったことを知らせる信号 16回送信失敗したら終了 資料作成者:原田義明

37 CSMA/CA (Carrier Sence Multiple Access with Collision Avoidance)
搬送波感知多重アクセス/衝突回避方式の略で、無線LANに用いられているアクセス制御方式 通信が行われていなければ、DIFS(Distributed coordination function Initial interFrame Space) +ランダム時間待ち、送信を開始する 一方、端末はSIFS(Short coordination function Initial interFrame Space)時間を待ってASK信号を返し,データの送信が完了したことを確認する。 送信データを受け取ったときにack(応答メッセージ)を送信することで、データの送信エラー(衝突)を検出する ackメッセージを受け取らなかった場合、再送する 資料作成者:原田義明

38 データリンク層通信 通信容量:フレームの流量 スイッチによって関係ない部分にフレームが出ないようにできる。
CSMA/CD スイッチによって関係ない部分にフレームが出ないようにできる。 関係ない部分→ MAC アドレスで判断 情報ネットワーク

39 スイッチ ブリッジ スイッチ MACアドレスを記憶し、通信を制御(CAMテーブル) フレーム読み取りの分だけ遅延が発生する
ブロードキャストを止めることはできない スイッチ ストア&フォワード形式 スイッチ内のメモリにデータをストアし、データの衝突を防ぐ 全二重回線(送信・受信の回線を分ける)が可能 資料作成者:原田義明

40 データリンク層通信 ブロードキャストフレーム 受信したあと 他のコンピュータのCPUを浪費させる 無条件に受信する。
OS によって吟味され不要なら破棄される 他のコンピュータのCPUを浪費させる 情報ネットワーク

41 データリンク層通信 MACアドレスの登録 登録されたMACアドレスだけ通過する設定により許可されていないホストの通信を防ぐことができる。
情報ネットワーク

42 VLAN スイッチの技術発展により、大きなネットワークの構築が可能になった ブロードキャストドメインの巨大化
ブロードキャストドメインを仮想的に分割したい VLAN (Virtial LAN) 資料作成者:原田義明

43 VLAN 仮想的にネットワークを構築する技術 レイヤ2スイッチでブロードキャストドメインを分割 VLAN1 VLAN2 資料作成者:原田義明

44 ダイナミックVLANとトランクリンク Cisco独自のものと、IEEE標準のものがある ISL(Inter-Switch Link)
IEEE802.1Q IEEE標準のタギングプロトコル ISLヘッダ (26バイト) イーサネットフレーム (26~1518バイト) FCS (4バイト) ISL 送信先(元)MACアドレス タグ タイプ データ FCS IEEE802.1Q 資料作成者:原田義明

45 ネットワークはいくつあるか? コンピュータ コンピュータ コンピュータ 情報ネットワーク

46 ネットワークはいくつあるか? コンピュータ コンピュータ コンピュータ 中継装置 情報ネットワーク

47 インターネットはネットワークとルータだけで、できている
コンピュータ コンピュータ コンピュータ コンピュータ コンピュータ コンピュータ ルータ ルータ ルータ ちなみに、ネットワークは いくつあるか? コンピュータ コンピュータ コンピュータ 情報ネットワーク

48 ネットワーク層で識別すべきもの ネットワーク ネットワーク中のコンピュータ 情報ネットワーク

49 ネットワーク層の2次元的識別子 A-1 A-2 B-1 コンピュータ コンピュータ コンピュータ 1 2 1 A B
+ホスト識別子(1,2) = 32bit 8bit . 8bit . 8bit . 8bit A-3 中継装置 ルータ B-2 情報ネットワーク

50 IP address ネットワーク識別子+ホスト識別子= 32bit ネットワーク識別子の長さ ネットワーク識別子・有効、ホスト識別子・0
ネットワーク長 ネットワーク識別子・有効、ホスト識別子・0 ネットワークアドレス ネットワーク識別子分・1、ホスト識別子・0 ネットワークマスク ネットワーク識別子・有効、ホスト識別子・1 ブロードキャストアドレス 情報ネットワーク

51 IPアドレス 133.5.1.1 は、C言語では何型か? IPv4 アドレスの数 32bit= 約40億 地球上の人口 約70億
地球上の人口 約70億 中国 約13.5億 インド 約12.1億 アメリカ 約3.2億 インドネシア 約2.3億 日本(10番目) 約1.3億 東京 約1300万 福岡県 約500万 福岡市 約147万 九州全体 約1300万 情報ネットワーク

52 ネットワーク層 インターネットの重要な階層 IPv4、IPv6 通信の単位: パケット スイッチング・ルータ、L3スイッチ 情報ネットワーク

53 ルータとスイッチングルータ ルータ スイッチングルータ 機能(経路制御など)は変わらない。 ネットワーク層でパケット交換
2.5層でフレーム交換 L3スイッチ 機能(経路制御など)は変わらない。 情報ネットワーク

54 ネットワーク層 経路制御 IP アドレス 同一物理ネットワークを越えた通信 ルータ IPv4: 32bit IPv6:128bit
IPv6:128bit 3ffe:501:2c24:a00:202:e3ff:fe00:10c5 2001:248:180:300:202:e3ff:fe00:14ea ネットワークアドレス+ホストアドレス 情報ネットワーク

55 IPアドレス 九州大学内のサブネットマスクは基本的に、24ビット 133.5.X.0 133.5.X.255 133.5.X.1 ~ 254
ネットマスク  133.5.X.0 ネットワーク識別子 133.5.X.255 ブロードキャスト識別子 133.5.X.1 ~ 254 ホスト識別子 情報ネットワーク

56 IPアドレス 32ビット 133.5.1.2 133*256^3+5*256^2+1*256+2 2231697666
$ ping PING ( ): 56 data bytes 64 bytes from : icmp_seq=0 ttl=249 time=106.0 ms 情報ネットワーク

57 クラス A,B,C クラスA クラスB クラスC 情報ネットワーク

58 クラス A クラスA ネットワークアドレス ホストアドレス 情報ネットワーク

59 クラス B クラスB ネットワークアドレス ホストアドレス 情報ネットワーク

60 クラス C クラスC ネットワークアドレス ホストアドレス 情報ネットワーク

61 クラスレス (Classless Inter-Domain Routing:CIDR)
クラスレス /22 情報ネットワーク

62 クラス D(マルチキャスト) 11100000101010000000101000100001 ネットワークアドレス
情報ネットワーク

63 IP アドレス 情報ネットワーク 情報ネットワーク

64 ネットワークとホスト 情報ネットワーク

65 まとめ 32bit ネットワーク長 ネットワークアドレス (host部が全部0)
ネットワーク長  ネットワークアドレス (host部が全部0) ネットワーク マスク (ネットワーク部が全部 1, host部が全部0) ブロードキャストアドレス (host部が全部1) Host アドレス 情報ネットワーク

66 Netmask/Broadcast Address
1 2 3 Netmask= Broadcast 情報ネットワーク

67 Netmask/Broadcast Address
情報ネットワーク

68 ネットワーク層の通信(1) www.kyushu-u.ac.jp www.kyushu-u.ac.jp 192.168.10.2
コンピュータ コンピュータ DNS IP Address MAC /24 情報ネットワーク

69 ネットワーク層の通信(2) www.kyushu-u.ac.jp www.kyushu-u.ac.jp コンピュータ
コンピュータ DNS ルータ IP Address MAC /24 /24 情報ネットワーク

70 ネットワーク層通信 IPアドレスからMACアドレスを知る IPアドレスをデータリンクブロードキャスト
ARP IPアドレスをデータリンクブロードキャスト 当該のIPアドレスを持ったホストがMACアドレスを通知 MAC アドレスはキャッシュされる。 情報ネットワーク

71 キャッシュされたARPの情報 $ arp -a
ryu1.nc.kyushu-u.ac.jp ( ) at 00:02:B3:23:7A:22 [ether] on eth0 ryu2.nc.kyushu-u.ac.jp ( ) at 00:C0:9F:04:0F:4B [ether] on eth0 ? ( ) at 00:04:80:23:72:00 [ether] on eth0 情報ネットワーク

72 ネットワーク層通信 ホスト名からIPアドレスの変換 DNS DNS サーバのIPアドレスは既知 情報ネットワーク

73 ネットワーク層通信 同一セグメント内であればルータは不要 セグメントを越えて通信する場合はルータが必要
通常は、ホストが存在するネットワーク以外を固定のルータに指名する。 $ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface U eth0 U lo UG eth0 情報ネットワーク

74 IPv4 パケット 15 31 TOS IP Packet Length Flag Fragment Off-set Identifier
15 31 Version IP Header Length TOS IP Packet Length Flag Fragment Off-set Identifier TTL Protocol Header Check Sum Source Address Destination Address Option TCP/UDP Data 情報ネットワーク

75 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パケットのうちの最後か否かを表す。 オフセットは分割前のパケットの中でのデータの位置を表す。 情報ネットワーク

76 IPv4 パケット TTL (Time To Live)は、ネットワーク上で通過可能なルータの数であり、一種のホップカウントとして利用される。ルータを通過する毎に一つずつ減らし、この値が0のパケットは配送せずに廃棄される。 Protocol は上位のプロトコルの種類を表す。例えば、1ならICMP、6ならTCP、 17ならUDP。 Checksum は、何らかの理由でヘッダ情報がおかしくなった場合にそれを検出する。 Source address と Destination address は受信元アドレスと送信先アドレスを表す。 Optionは、タイムスタンプや経路情報等の記録に利用される。 情報ネットワーク

77 管理プロトコル Internet データ通信 ICMP 相手のIPアドレスに届かない。
情報ネットワーク

78 管理プロトコル ICMP Echo Reply、Echo Request
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 時間超過 情報ネットワーク

79 経路制御 #0 どっち? ・宛先アドレス ・次ルータ #1 のテーブルを持ち、 宛先のパケットをどのインタフェースに
送信すればよいか決定する。 #1 情報ネットワーク

80 そのルータに直接接続されているセグメントの いずれかのIPアドレスになる。 #0 Network next-hop
PC-A /24 PC-B #1 /30 /24 #2 #0 /30 /30 /30 #3 PC-A Network next-hop / Next-hop: 次ルータ そのルータに直接接続されているセグメントの いずれかのIPアドレスになる。 #0 Network next-hop / / 情報ネットワーク

81 ICMP (Internet Control Management Protocol) Echo Reply TTL
PC-A /24 PC-B #1 /30 /24 #2 #0 /30 ICMP (Internet Control Management Protocol) Echo Reply TTL から までに経由するルータを調べる。 TTL=254 に設定して、 に Echo Reply パケットを送る。 ルータ#0 TTL が 255 になったので、配送をやめ、送信もとにエラーを返す。 は第1段のルータのIP address がわかる。 TTL=253… /30 /30 #3 PC-A Network next-hop / Next-hop: 次ルータ そのルータに直接接続されているセグメントの いずれかのIPアドレスになる。 #0 Network next-hop / / 情報ネットワーク

82 PC-A /24 PC-B #1 /30 /24 #2 #0 /30 /30 /30 #3 PC-A Network next-hop / #0 Network next-hop / #3 Network next-hop / 情報ネットワーク

83 経路表 アドレス 次ルータ 133.5.11.0/24 #R0 133.5.7.0/24 #R2 133.5.10.0/24 #R3
アドレス  次ルータ /24 #R0 /24 #R2 /24 #R3 アドレス  次ルータ #R0 アドレス  次ルータ /24 #R1 /24 #R2 特別なあて先 #R2 #R0 /24 #R1 アドレス  次ルータ /24 #R0 /24 #R2 /24 情報ネットワーク

84 静的制御と動的制御 スタティックルーティング ダイナミックルーティング ネットワーク管理者が手作業でルートを設定する 安定している
トラフィックや伝送障害の影響を受けない ルーティングプロトコルのためのトラフィックが発生しない ダイナミックルーティング 自動的に経路を設定する ネットワークの変化に自動的に対応 自動的に最適な経路を選択 障害時にバックアップ経路に自動切換え 情報ネットワーク 情報ネットワーク

85 ルーティング(経路制御)プロトコルの必要性
ネットワークの変化に対応しなければならない 設定が多くて面倒 自動的に最適経路を選択できる あまりにも複雑なネットワークトポロジー 自動的にバックアップ経路を選択できる 障害に強いネットワーク 情報ネットワーク 情報ネットワーク

86 経路制御プロトコル AS (Autonomous System) IGP (Interior Gateway Protocol)
自律的に運用されるネットワーク 16ビット IGP (Interior Gateway Protocol) AS 内での経路制御 小規模なネットワークが対象。 RIP,OSPF EGP (Exterior Gateway Protocol) AS 間での経路制御 大規模なネットワークが対象。 BGP 情報ネットワーク

87 経路制御の基本 経路制御:自らの情報を外部にアナウンスすることにより自分の位置を他人に知らせる。 133.5.10.0/24
情報ネットワーク

88 AS,IGP,EGP 新しいネットワークの追加、構成の変更を自動的に反映したい。 変更があれば、その情報を他のルータに知らせる必要がある。
ネットワークが細かければ、経路制御のパケットがたくさん流れてしまう。 ASは「小規模」なので、そのようなたくさんの経路制御のパケットが流れるのを許す。 IGP AS間ではこのような細かいパケットがたくさん流れないようにする。 EGP 情報ネットワーク

89 AS と EGP AS (Autonomous System) EGP (Exterior Gateway Protocol)
ポリシーの単位 EGP (Exterior Gateway Protocol) AS 間でのポリシーに従った経路制御 どこを通りたいか、通りたくないか。 通せないトラフィックは通さない。 情報ネットワーク

90 ポリシーに従った経路制御 APAN SINET (学術) OCN (商用) QGPOP 東京大学 九州大学 (研究開発)
韓国研究ネットワーク 東京大学 (学術・研究開発) APAN (研究開発) QGPOP (研究開発) SINET (学術) 九州大学 (学術・研究開発) OCN (商用) 情報ネットワーク

91 経路制御プロトコル IGP EGP RIP (Routing Information Protocol)
距離ベクトル OSPF (Open Short Path Fast) リンクステート EGP BGP (Boarder Gateway Protocol) PATH ベクトル 情報ネットワーク

92 相手の識別子・アドレスがわからないと通信は行えない
PC-A PC-B PC-C PC-A、B、C は、同一セグメント上にあるので、ルータを介さずに直接通信が可能であるが、例えば、AからCに通信を行う場合、Aは、Bと区別するために、Cを指定して通信を行う必要がある。 一方で、どういつセグメント上の通信は、データリンク層の通信機能によって行われるが、PC-Aは、PC-Cの MAC アドレスがわからなければ通信を行うことはできない。 ルータ PC-D 情報ネットワーク

93 相手の識別子・アドレスがわからないと通信は行えない
PC-A PC-B PC-C PC-A と D は、異なるセグメントにあるので、直接通信はできない。しかし、いずれにしても、A は、D のネットワーク上の識別子を知っておく必要がある。 ルータ PC-D 情報ネットワーク

94 相手の識別子・アドレスがわからないと通信は行えない
PC-A PC-B PC-C IP address が既知である場合: これだけで、通信が可能なようにも思える。しかし、PC-Aが PC-Cと通信する場合、PC-Cの MAC address をなんらかの方法で知らないと通信は行えない。 ルータ データリンク・フレーム に送ってください。 PC-D MAC address を指定する必要がある。 IP パケット 情報ネットワーク

95 相手の識別子・アドレスがわからないと通信は行えない
Mypc.jp PC-A PC-B PC-C IP address が既知ではない場合: IPパケットで指定するIPアドレスは何を指定すればいいのだろうか? ルータ データリンク・フレーム ?.?.?.? に送ってください。 PC-D MAC address を指定する必要がある。 IP パケット 情報ネットワーク

96 ARP: IP address から MAC address を得る
PC-A PC-B PC-C ARP: Address Resolution Protocol PC-A: 同一セグメントに対してブロードキャストで通信したいIPアドレスの問い合わせを行う。 という IP address の人? PC-C: ユニキャストで、MAC address を PC-Aに返す。PC-Aの MAC address は、先の問い合わせパケットに含まれている。 PC-A:PC-Cの MAC address をデータリンクフレームのあて先に指定して通信を開始する。 ルータ PC-D 情報ネットワーク

97 DNS: Domain Name System
Mypc.jp PC-A PC-B PC-C ※数が非常に多いので規模適応性を考慮する必要がある。 ルータ Kyushu-u.ac.jp Kyushu-u.ac.jp U-tokyo.ac.jp Yahoo.co.jp このサーバのIPアドレスだけは既知である。 U-tokyo.ac.jp Yahoo.co.jp Snu.ac.kr PC-D Snu.ac.kr Nus.edu.sg Nus.edu.sg Google.com Google.com 情報ネットワーク

98 トランスポート層 プロセスとプロセスの通信 TCP (Transmission Control Protocol )
信頼性があるが、速度が不定 メール、WEBアクセス UDP (User Datagram Protocol) 信頼性がないが、 速度は一定 マルチメディア通信 情報ネットワーク

99 トランスポート層 IPアドレスだけでは識別子が足りない ポート番号 特定のサービスを固定的に割り当てる
ホスト内でもっと細かく識別できる必要がある プロセス ウインドウ IP Address + Port = トランスポートアドレス ポート番号 16bit 特定のサービスを固定的に割り当てる 25: 電子メール 80: WWW 情報ネットワーク

100 ネットワーク層とトランスポート層 アプリケーション プレゼンテーション セッション トランスポート ネットワーク データリンク・物理
情報ネットワーク

101 決められたポート番号 http://www.iana.org/assignments/port-numbers 情報ネットワーク
The range for assigned ports managed by the IANA is Port Assignments: Keyword Decimal Description References 0/tcp Reserved 0/udp Reserved # Jon Postel tcpmux /tcp TCP Port Service Multiplexer tcpmux /udp TCP Port Service Multiplexer # Mark Lottor compressnet /tcp Management Utility compressnet /udp Management Utility compressnet /tcp Compression Process compressnet /udp Compression Process # Bernie Volz 情報ネットワーク

102 信頼性のある TCP 通信の実現と工夫 Slow Start Sliding Window 遅延時間に弱い なかなかスピードが出ない。 送信
受信 送信 受信 Slow Start Sliding Window 遅延時間に弱い なかなかスピードが出ない。 スループット 時間 情報ネットワーク

103 通信アプリケーション 電子メール WWW DNS VoD テレビ会議 0)SMTP(25)/POP(110)/IMAP(143)
HTTP(80)/FTP(20,21) DNS DNS(53) VoD RTSP テレビ会議 RTP 情報ネットワーク

104 TCP通信プログラム 情報ネットワーク

105 TCP通信プログラム(基本接続) 情報ネットワーク #include <stdio.h>
#include <strings.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> main(narg,arg) int narg; char **arg; { int sock,sock2,saddr2_len; int s_addr; unsigned short port; struct sockaddr_in saddr,saddr2; s_addr=inet_addr(arg[1]); port=atoi(arg[2]); bzero(&saddr,sizeof(struct sockaddr_in)); bzero(&saddr2,sizeof(struct sockaddr_in)); saddr.sin_family = AF_INET; saddr.sin_addr.s_addr = s_addr; saddr.sin_port = htons(port); sock=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); switch (arg[3][0]){ case 'b': if(bind(sock, (struct sockaddr *)&saddr,sizeof(saddr)) < 0){ perror("TCPbind "); return -1; } listen(sock,8); sock2=accept(sock,(struct sockaddr *)&saddr2,&saddr2_len); printf("connected from %s.\n",inet_ntoa(saddr2.sin_addr)); break; case 'c': if(connect(sock, (struct sockaddr *)&saddr,sizeof(saddr)) < 0){ perror("TCPconnect "); getchar(); close (sock); 情報ネットワーク

106 TCP と UDP の違い(bind) UDP: TCP bind したソケットIDから直接受信を行う
bind したソケットはID は accept により、接続要求受け付けに用いられ、accept 後、通信用のソケットIDが生成され、その ID を用いて通信が行われる。 情報ネットワーク

107 bind で与えるべきIPアドレス saddr.sin_family = AF_INET; saddr.sin_addr.s_addr = s_addr; saddr.sin_port = htons(port); sock=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(bind(sock, (struct sockaddr *)&saddr,sizeof(saddr)) < 0){ perror("TCPbind "); 接続は誰が行うかわからない。つまり、 予想はできないし、指定できる場合は少ない。そのため、誰とでも接続が行えるように を指定する。ただし、サービスを識別するためのポート番号は適切な値にする必要がある。 情報ネットワーク

108 TCP と UDP の違い(connect) UDP: TCP 通信相手が bind していなくても connect の発行は可能
connect するためには、通信相手が先に予め、 bind/listen/accept しておく必要がある。 情報ネットワーク

109 送信、受信する関数は同じ TCP も UDP と同じく write() 関数によるソケットへの書き込みで送信を行い、read()関数によるソケットからの読み出しで受信を行う。 ただし、TCP は bind したソケットIDではなく、accept したソケットID。 情報ネットワーク

110 UDP通信プログラム 情報ネットワーク

111 UDP通信プログラム(ソケットの準備) 情報ネットワーク include <stdio.h>
#include <strings.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> main(narg,arg) int narg; char **arg; { int sock; int s_addr; unsigned short port; struct sockaddr_in saddr; char ch; s_addr=inet_addr(arg[1]); port=atoi(arg[2]); bzero(&saddr,sizeof(struct sockaddr_in)); saddr.sin_family = AF_INET; saddr.sin_addr.s_addr = s_addr; saddr.sin_port = htons(port); sock=socket(AF_INET,SOCK_DGRAM, IPPROTO_UDP); } 情報ネットワーク

112 送信、受信の準備 if(connect(sock, (struct sockaddr *)&saddr, sizeof(struct sockaddr_in))<0){ perror("connect"); return -1; } if(bind(sock, (struct sockaddr *)&saddr, sizeof(struct sockaddr_in))<0){ perror("bind"); return -1; } 情報ネットワーク

113 参考文献 コンピュータネットワーク、 オーム社、 2001年、ISBN4-274-13222-6
情報ネットワーク


Download ppt "岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ 情報ネットワーク 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ 情報ネットワーク."

Similar presentations


Ads by Google