情報ネットワーク (基礎編) 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ お知らせがあることがあるので、講義の前日 あるいは当日の午前中に確認してください。 情報ネットワーク.

Slides:



Advertisements
Similar presentations
TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
Advertisements

OSI 7 階層. 情報ネットワーク 2 通信(伝達)における階層モデルとプロト コル 階層モデル – 上下、上~より具体的、下~より抽象的 – カプセル化 プロトコル – 同じ階層間の約束 CD ・ DVD ・本 ケース・包装 封筒 CD ・ DVD ・本 ケース・包装 封筒 プロトコル.
Step.5 パケットダンプ Wiresharkでパケットをキャプチャする PC 1 PC 2 PC 3 PC 4 ネットワーク
インターネットのプロトコル階層 ネットワーク層(IPアドレス)
第1回.
情報ネットワーク特論 - インターネットの基礎 -
前回の課題 IPv6アドレス IP ARP ICMP NAT インターネット層 2003年12月4日 情報ネットワーク論 新村太郎.
情報ネットワーク 岡村耕二.
仮想ブロードキャストリンクを利用した 片方向通信路の透過的経路制御 藤枝 俊輔(慶應義塾大学)
2004年度 情報システム構成論 第2回 TCP/IPネットワーク
ネットワーク層.
TCP (Transmission Control Protocol)
Step.4 基本IPネットワーク PC 1 PC 2 PC 3 PC
WindowsNTによるLAN構築 ポリテクセンター秋田 情報・通信系.
輪講: 詳解TCP/IP ACE B3 suzuk.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Copyright Yumiko OHTAKE
トランスポート層.
ネットワークと コミュニケーション技法 第6回 -コンピュータネットワーク-.
コンテンツ配信 エンコード (符号化) CBR (Constant Bit Rate) VBR (Variable Bit Rate)
ネットワーク機器接続 2SK 情報機器工学.
ま と め と 補 足 ネットワークシステムⅠ 第15回.
岡村耕二 情報ネットワーク (基礎編) 岡村耕二 情報ネットワーク.
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
イーサネット.
Copyright Yumiko OHTAKE
Ibaraki Univ. Dept of Electrical & Electronic Eng.
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
情報ネットワーク特論 インターネットの歴史
第11章 UDPユーザ・データグラム・プロトコル
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
インターネットの基礎知識 その3 ~TCP・UDP層編~
イーサネットフレームの構造とデータリンク層アドレス
第9章 Error and Control Messages (ICMP)
情報ネットワーク特論 インターネットの歴史
分散システム特論 岡村耕二.
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
岡村耕二 トランスポート層 ソケットプログラミング 岡村耕二 情報ネットワーク.
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
ネットワーク技術II 第9.1課 TCP/IPプロトコルスイート
ネットワークの基礎知識 電子制御設計製図Ⅰ   2014年5月2日 Ⅲ限目.
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
TCP/IP入門          櫻井美帆          蟻川朋未          服部力三.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Step.1 LinuxとIPコマンド ifconfig [-a] [インタフェース名] arp [-n]
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
ネットワーク技術II 第10.3課 サブネット化のメカニズム
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
最低限インターネット ネットワークにつなぎましょ!
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
情報実験 第五回 最低限 internet ~ネットワークの仕組みを知ろう~
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
OSI7層に関係する機器、仕様、機能など 物理層 データリンク層 ネットワーク層 トランスポート層 セッション層 プレゼンテーション層
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
岡村耕二 TCP通信プログラム 岡村耕二 情報ネットワーク.
4.3 IPとルーティングテーブル 国際産業情報学科 2年 大竹 雅子.
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
情報ネットワーク 岡村耕二.
プロトコル番号 長野 英彦.
岡村耕二 情報ネットワーク 岡村耕二 情報ネットワーク.
ネットワークシステム ネットワークシステム概要.
岡村耕二 TCP通信プログラム 岡村耕二 情報ネットワーク.
Presentation transcript:

情報ネットワーク (基礎編) 岡村耕二 http://okaweb.ec.kyushu-u.ac.jp/lectures/in/ お知らせがあることがあるので、講義の前日 あるいは当日の午前中に確認してください。 情報ネットワーク

講義の進め方と単位認定について Power Point と必要に応じて板書 自習 図書館 インターネットの検索エンジンの活用 単位認定 Power Point は配布する(インターネットからDownload もできる。) Power Point にも、板書にも書かれない口頭のみの説明、話も多い。(特に最新のトピックスなど。) 時々、演習問題を出す。演習問題に答えられるかどうかで理解度を自分で考えてほしい。 自習 図書館 インターネットの検索エンジンの活用 誤った情報もあるので、3つくらいのサイトから調べること。 単位認定 試験のみで評価する。 インターネットの基本的な知識を習得できていること インターネットの仕組みついて、まま、正確に説明できること インターネットについて考察ができること 情報ネットワーク

インターネットの基本的な知識を習得できていること 7階層の知識 イーサネット動作原理 (第2層) IP 一般 (第3層) 歴史 アドレス 経路制御 TCP/UDP (第4層) 情報ネットワーク

インターネットの仕組みついて、まま、正確に説明できること 例えば、、、、 郵便物が配送される仕組みは説明できると思う。 同様に、電子メールが配送される仕組み、Web でデータを取得できる仕組みを、基礎知識による用語を用いて説明できるはず。 情報ネットワーク

インターネットについて考察ができること 基本的な知識があって、仕組みが理解できていれば、 などの説明、考察ができるはず。 インターネットアクセスがどうして速かったり、遅かったりするのか インターネットのセキュリティ問題はどうしてたびたび取り上げられるのか などの説明、考察ができるはず。 情報ネットワーク

情報ネットワーク (担当 岡村) 通信の基礎 インターネットの基礎 応用 ISO 7階層モデル 1~4層までの深い理解 インターネットの歴史と新しい技術 IPアドレスと経路制御 応用 可~良 優 情報ネットワーク

目次 階層とプロトコル インターネットの歴史 データリンク・ネットワーク層での通信の仕組み 情報ネットワーク

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

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

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

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

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

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

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

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

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

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

物理層 情報ネットワーク

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

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

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

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

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

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

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

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

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

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

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

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

UNIXの ifconfig コマンド MACアドレスは、LANアダプタ固有である。 $ ifconfig vmnet1 vmnet1 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アダプタ固有である。 情報ネットワーク

MAC アドレスからベンダを調べる http://coffer.com/mac_find/ 情報ネットワーク

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

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

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

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

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

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

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

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

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

クラス A,B,C クラスA 01000000101010000000101000100001 クラスB 10000000101010000000101000100001 クラスC 11000000101010000000101000100001 情報ネットワーク

クラス A クラスA 01000000101010000000101000100001 ネットワークアドレス 1.0.0.0 – 127.0.0.0 ホストアドレス 1.0.0.1 – 1.255.255.254 情報ネットワーク

クラス B クラスB 10000000101010000000101000100001 ネットワークアドレス 128.0.0.0 – 191.255.0.0 ホストアドレス 128.0.0.1 – 128.0.255.254 情報ネットワーク

クラス C クラスC 11000000101010000000101000100001 ネットワークアドレス 192.0.0.0 – 223.255.255.0 ホストアドレス 192.0.0.1 – 192.0.0.254 情報ネットワーク

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

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

IP アドレス 192.168.10.33 11000000101010000000101000100001 192.168.255.0 192.168.10.0 192.168.11.0 情報ネットワーク 情報ネットワーク

ネットワークとホスト 192.168.255.0 192.168.10.0 192.168.11.0 192.168.10.33 11000000101010000000101000100001 192.168.11.10 11000000101010000000101100001010 192.168.255.1 11000000101010001111111100000001 情報ネットワーク

HostのIPアドレスと、ネットワーク長が与えられば、ネットワークアドレスは求められる。 ネットワーク長:24 ネットワークアドレス→192.168.10.0 Host: 192.168.128.233 ネットワーク長:26 ネットワークアドレスは? ネットマスクは? ブロードキャストアドレスは?  情報ネットワーク

Host: 192.168.128.233 ネットワーク長:26 ネットワークアドレスは? ネットマスクは? ブロードキャストアドレスは? 192=128+64 = 11000000 168=128+32+8 =10101000 128=10000000 233=128+64+32+8+1 =11101001 192.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 情報ネットワーク

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

Netmask/Broadcast Address 192.168.10.0 1 2 3 Netmask= 255.255.255.0 11111111 1111111 1111111100000000 192.168.10.1 11000000101010000000101000000001 192.168.10.2 11000000101010000000101000000010 192.168.10.3 11000000101010000000101000000011 Broadcast 192.168.10.255 11000000101010000000101011111111 情報ネットワーク

Netmask/Broadcast Address 192.168.255.0 192.168.255.1 11000000101010000000101000000001 255.255.255.252 11111111 1111111 1111111 111111 00 情報ネットワーク

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

キャッシュされたARPの情報 $ arp -a ryu1.nc.kyushu-u.ac.jp (133.5.10.30) at 00:02:B3:23:7A:22 [ether] on eth0 ryu2.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 情報ネットワーク

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

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

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

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

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

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

ARP: IP address から MAC address を得る 192.168.0.1 192.168.0.2 192.168.0.3 PC-A PC-B PC-C 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 をデータリンクフレームのあて先に指定して通信を開始する。 ルータ PC-D 192.168.1.1 情報ネットワーク

DNS: Domain Name System www.cc.kyushu-u.ac.jp www.csce.kyushu-u.ac.jp www.u-tokyo.ac.jp www.snu.ac.kr www.nus.edu.sg www.yahoo.co.jp www.google.com Mypc.jp www.xx.jp www.yy.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 www.zz.jp Google.com Google.com 情報ネットワーク

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 情報ネットワーク

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

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

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

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

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

そのルータに直接接続されているセグメントの いずれかのIPアドレスになる。 #0 Network next-hop PC-A 192.168.1.0/24 PC-B #1 192.168.1.10 192.168.1.2 192.168.2.11 192.168.10.1 192.168.10.0/30 192.168.2.0/24 192.168.1.1 192.168.10.2 #2 #0 192.168.10.5 192.168.2.1 192.168.10.6 192.168.10.4/30 192.168.10.9 192.168.10.14 192.168.10.8/30 192.168.10.12/30 #3 192.168.10.10 PC-A Network next-hop 0.0.0.0 192.168.1.1 192.168.2.0/24 192.168.1.1 192.168.10.13 Next-hop: 次ルータ そのルータに直接接続されているセグメントの いずれかのIPアドレスになる。 #0 Network next-hop 192.168.2.0/24 192.168.10.6 192.168.2.0/24 192.168.10.2 情報ネットワーク

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

PC-A 192.168.1.0/24 PC-B #1 192.168.1.10 192.168.1.2 192.168.2.11 192.168.10.1 192.168.10.0/30 192.168.2.0/24 192.168.1.1 192.168.10.2 #2 #0 192.168.10.5 192.168.2.1 192.168.10.6 192.168.10.4/30 192.168.10.9 192.168.10.14 192.168.10.8/30 192.168.10.12/30 #3 192.168.10.10 PC-A Network next-hop 0.0.0.0 192.168.1.1 192.168.2.0/24 192.168.1.1 192.168.10.13 #0 Network next-hop 192.168.2.0/24 192.168.10.10 #3 Network next-hop 192.168.2.0/24 192.168.10.14 情報ネットワーク

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

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

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

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

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

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

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

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

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

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

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

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

決められたポート番号 http://www.iana.org/assignments/port-numbers 情報ネットワーク The 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 <postel@isi.edu> tcpmux 1/tcp TCP Port Service Multiplexer tcpmux 1/udp TCP Port Service Multiplexer # Mark Lottor <MKL@nisc.sri.com> compressnet 2/tcp Management Utility compressnet 2/udp Management Utility compressnet 3/tcp Compression Process compressnet 3/udp Compression Process # Bernie Volz <VOLZ@PROCESS.COM> 情報ネットワーク

通信アプリケーション 電子メール WWW DNS VoD テレビ会議 SMTP/POP/IMAP HTTP/FTP DNS RTSP RTP 情報ネットワーク

トランスポート層通信プログラム(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 "); listen(sock, 5); 情報ネットワーク

トランスポート層通信プログラム(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"); 情報ネットワーク

トランスポート層通信プログラム(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; 情報ネットワーク

トランスポート層通信プログラム(TCP/UDP) read(sock, buf, 1024); write(sock, buf, 1024); 情報ネットワーク

通信アプリケーション 一定の手順(プロトコル)に従って動作している インターネットの通信プロトコルは RFC として公開されている どのように実現されているかプログラムによって固有 設定方法がプログラムによってまちまち 通信プロトコルの重要な部分を押さえておけば設定すべき箇所は予想がつく 情報ネットワーク

メールソフト メール配送サーバ メール受信サーバ メールフォルダの設定などは通信機能とは別の次元の話 SMTP POP/IMAP 情報ネットワーク

通信アプリケーション プロトコルは公開されている 物理層からすべて公開されている ビット列がわかれば、通信内容は全て解析可能 ビット列 フレーム列 パケット列 パケットに含まれるデータ内容 ポート番号から既知のサービスは察しがつく ビット列がわかれば、通信内容は全て解析可能 情報ネットワーク

インターネットの歴史と運用 1969年 ARPANET (Advanced Research Projects Agency Network) 国防総省がスポンサー 1975年 TCP/IPの研究開発 1980年 NSFNET (National Science Foundation Network) 全米科学財団 1990年 商用インターネットの急成長 WWW,電子メールの普及 情報ネットワーク

インターネットに関連する組織 1984年 インターネットアーキテクチャ委員会(IAB) 1984年 インターネットアーキテクチャ委員会(IAB) RFC(Request For Comment) 発行開始 1992年 インターネット学会(ISOC; Internet Society) IAB はISOC の一部となる 備考: IEEE 情報ネットワーク

インターネットの運用 インターネットガバナンス インターネットの運用 インターネットガバナンス 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) 情報ネットワーク

ICANN ICANN ドメイン名支持組織 アドレス支持組織 プロトコル支持組織 IPアドレス、ドメイン名、プロトコルパラメータなどのインターネット資源の割当の調整を世界規模かつ民主的に行う。 ドメイン名支持組織 営利、非営利企業、レジストラ、通信事業者、など アドレス支持組織 ARIN(旧 InterNIC),RIPE NCC, APNIC プロトコル支持組織 IETF, W3C, ITU, ETSI 情報ネットワーク

ICANN IEPG (Internet Engineering Planning Group) ISPに対する技術援助、運用ポリシの調整 CERT (Computer Emergency Response Team) コンピュータネットワークへの不正侵入などの方法を解析し対策を研究する。 情報ネットワーク

インターネット技術の開発と標準化 ISOC (インターネット学会) IAB (アーキテクチャ委員会) IRTF 次世代技術委員会 ISOC (インターネット学会) IAB (アーキテクチャ委員会) IRTF 次世代技術委員会 標準化は行わないが、先進技術の研究を担当 必要であればIETFに標準化を提案 IETF 技術標準化委員会 RFC による技術標準化に責任を持つ 年3回のミーティング、電子メールによる議論 IESG(運営管理委員会) 複数のワーキンググループによって遂行 http://www.ietf.org ISTF 社会政策委員会 情報ネットワーク

RFCのできるまで アイディアが浮かぶ IETF で6ヶ月保存 IESG が標準化すべきと判断 6ヵ月後 IESG審議 RFC 個人、WGで提案 Internet Draft IETF で6ヶ月保存 IESG が標準化すべきと判断 Proposed Standard RFC 番号 実装、テスト 6ヵ月後 IESG審議 Draft Standard 4ヶ月の運用試験 STD 番号の付与 RFC Informational Experimental Historical 情報ネットワーク

IETF 風景 情報ネットワーク 情報ネットワーク

ITU 風景(参考) 情報ネットワーク

日本におけるインターネットの歴史 1984年 JUNET (インターネットではない) 1988年 WIDE プロジェクト 1993年 1984年 JUNET (インターネットではない) 1988年 WIDE プロジェクト 1990年 九州大学 WIDE プロジェクトに接続 大阪大学と 64Kbps 1993年  日本インターネット協会 (IAJ) 日本での商用ネットワークの始まり 情報ネットワーク

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