80
ネットワーク (Communication and Network) 第1 ,第2 :インターネットプロトコル 概要 ネットワーク ネットワークプロトコル Ethernet (イーサネット) インターネットプロトコル アドレス プロトコル (ARP) プロトコル:DHCP, TCP,NAT, DNS, HTTP, SMTP, FTP 1

通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

通信とネットワーク(Communication and Network)

第1回,第2回:インターネットプロトコル

概要

• 通信とネットワークの役割• ネットワークプロトコル• Ethernet (イーサネット)

• インターネットプロトコル• アドレス解決プロトコル (ARP)

• 各種プロトコル:DHCP, TCP, NAT, DNS, HTTP, SMTP, FTP

1

Page 2: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

1 はじめに1.1 本講義の目的

なぜ国際開発工学を勉強するべきか

• 「情報処理概論」(1回目)では,工学の視点から

– 工学は変わらなくてはいけない

• 「線形システム論」(2回目)では,技術者の視点から

– 国際化 (交通・ネットワークの低価格化)

– コンピュータの発展– 普通の技術者には興味ありません

• 「通信とネットワーク」(3回目)は,少し変わった?視点から

– 人間は何のために生きているかを科学的に考えてみよう

2

Page 3: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

持続的に開発するため

• 自然を破壊するため。• エントロピーをより速く増大させるため。• すべてをより速く約2.7Kの輻射に変えるため?

3

Page 4: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

限界

• 持続的な社会と言うけれど。• 現在のような,1.2%の人口増加が続くと,

– 120億光年:L = 120× 108× 356× 24× 3600× 3× 108 = 1.11× 1026m

– 120億光年の球の体積:V = (4π/3)L3 = 5.69× 1078m3

– 現在のP = 7× 109 (70億)人の人間が,宇宙全体で1m3に1人ずつになるまで増える年nは,次の方程式を解けば良い。

V = P × 1.012n

– n = log(V/P )/ log(1.012) = 68.910/0.005181 =13,302年となる。– 光速を突破できない。⇒1.3万年では120億光年に広がることはできない。

– 宇宙にそんな物質もない。

• 増えすぎた人口は宇宙でも吸収できない。

4

Page 5: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• 人口をコントロールする必要がある。ただ,まともな手段では無理。• 遺伝的進化の呪縛から脱しなくてはいけない。誰もが文化的に生き,自由意志により子供を作るような環境⇒人口をコントロールしようとする遺伝子より,人口を増やそうとす る遺伝子の方が優位になる。• 現在人口をコントロールしようとする遺伝子が残っている理由は,そのような遺伝子が存在した方が,結局は人口が増やすことができたから。• 時間が経つほど,人口を増やそうとする性質の遺伝子が増える。• 結局は,生存できるかできないかぎりぎりのところまで,人口を押し上げてしまう。

⇒遺伝子をコントロールする必要がある。⇒人間を設計する必要がある。

• 何を基準にして最適化すれば良い?• 人間は何のために生きている?

5

Page 6: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• エントロピー (乱雑さの尺度)

• エントロピー増大の法則• しかし,乱雑にならずに構造を持ったものが現れる。例:対流セル,渦,複雑な化学反応系,生物,人間• プリゴジン:散逸過程「系が熱的非平衡状態 (エントロピーが低い状態)にあった場合,散逸過程 (構造を持ったもの)は,その存在によってより早くその非平衡状態を解消することができるときに生じる。そして,複数の散逸過程が考えられる時は,エントロピー生成速度が最も速いものが選ばれる。」• 人間はエントロピーを最速に増大させるものであるので存在できる。• 逆に言えば,同じ資源を使い,人間よりもエントロピーを速く増大させる過程が存在すれば,人間は存在できなくなる。• やはり,エントロピーをより速く増大させる開発こそ人の進むべき道• だた,無配慮に開発すれば良いというものではない。

6

Page 7: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• 勾配法:最も勾配が急な方に登っていけば,高いところへ到達できる。• 極大点(その近傍で最高な点)に捕まってそれ以上大きくなれない。• 人間の知恵はこの極大点を捕まらないためにある。• 例:火– 酸化反応によってエントロピーをかなり高速に増大できる。– しかし,やがて燃えるものがなくなって消えてしまう。– もし,火に知恵あったら,燃えやすいものは逆に取っておく。⇒雨が降った時などのため⇒その方が長期的にはエントロピーを増大させることができる。

– ところが,火はバカだからどんどん燃やして消えてしまう。

• でも,人間もあまり変わらない?– 化石燃料をどんどん消費して,地球温暖化などの問題を引き起こしている。(この問題を解決することは難しそう。)

– 自然エネルギーを推進しようという現実逃避も流行している。

7

Page 8: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• 自然を保護しなくていはいけない。⇒さらなる開発のため。• 自然保護は手段であって,目的でなはない。はき違えている方も多いので,念のため。• 自然保護が目的ならば,人間などいなくなった方が良い。• 人的資源や資金をもっと開発・科学技術の発展に使うべき。– ゼロサムゲーム,無駄な競争,特許回避のための発明

• 目的が幸福というのも良く分からない。– 明確な不幸な状況は減らすべきとは思う。

(不幸にはある程度普遍性がある)

– 普遍的なものではないし,幸福感が設計できるようになったら?幸福感を設計する基準が幸福では,どんな不幸な状況でも幸福感を得られるようにすれば良い。それでは麻薬と同じ。⇒目的ではありえない。

• 目的は開発←結論

8

Page 9: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• 国際開発工学の目的は,持続できる開発⇒ 国際開発工学は自然のグローバルな破壊を目指す由緒正しい学問• 「通信とネットワーク」は世界で仕事を行うための, 基本的知識• ネットワークの建設・維持の仕事も国際開発のために非常に重要。 立派な道路があってもネットワークがなければ使えない場所になる。• ネットワークのトラブル対策にも,基礎知識が必要。 基礎知識がないと機器のマニュアルが読めない。• ネットワークをささっと設定できるとカッコいいかも知れない(残念ながら現実はそんなに甘くはないが)。• 皆さんが研究室に所属したとき,ネットワークの設定などの管理ができれば,私が呼ばれることがなくなり,私の仕事が減って嬉しい。

9

Page 10: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

1.2 ネットワークの歴史

• 駅伝 (BC6–4, 古代ペルシャ)

• のろし(BC3, 中国)

• 郵便 (中世,ヨーロッパ)

• 腕木 (1793–,ヨーロッパ)

• 電信 (1832, イギリス), Telex (1933–2000年代)

• 電話 (1876–, グラハム・ベル)

• 無線通信 (1894–, マルコーニ)

• パソコン通信・モデム (1980–) ISDN (Integrated Service Digital Network)

• インターネット (1969–, 1990年から普及) すべての通信がインターネット化されようとしている。

– データ通信– 電話,携帯電話

10

Page 11: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

1.3 情報通信の目的

過去:

• 戦争:戦況を知る。軍を動かす。• 統治:状況を把握する。指示の伝達する。

現在:

• 世界の人々とコミュニケーションをする。• 情報を集める・発信する。– 社会:電子メール,ウェブ,電子政府,社会情報– 経済:電子メール,ウェブ,電子商取引,広告,経済情報– 生活:電子メール,ウェブ,娯楽(2ch, ニコ動),ブログ,生活情報– 学術:電子メール,ウェブ,論文の電子発行,学術情報

11

Page 12: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

1.4 講義予定1. インターネットプロトコル(TCP/IP) 12/2 計算機ネットワークの役割,Ethernet, IP,ARP

2. インターネットプロトコル(TCP/IP) 12/6 TCP, DNS, DHCP, SMTP, FTP, HTTP

3. ネットワーク理論 I 12/94. ネットワーク理論 II 12/135. ネットワーク理論 III 12/166. ルーティング 12/207. 通信方式 I 12/238. 通信方式 II 1/69. 中間試験 1/1010. 通信方式 III 1/1711. 情報源符号化 I 1/2012. 情報源符号化 II 1/2413. 通信路符号化 I 1/2714. 通信路符号化 II 1/3115. 暗号 2/316. 期末試験 2/7?12

Page 13: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

2 ネットワークプロトコル

• プロトコル:規約,約束ごと• 階層:– ケーブルで接続され1 or 0を送ることができる。– ケーブルで接続されたコンピュータで,パケットデータを送ることができる。

– 世界中に動画を配信する。• ISO (International Standard Orgaizaiotn)のOSI (Open System Interconection)の7階層モデル。• アプリケーション層:データの意味内容• プレゼンテーション層:表現形式 (圧縮,暗号)

• セッション層:アプリケーションに共通な機能,送信権制御• トランスポート層:トランスペアレント (UDP, TCP)

• ネットワーク層(レイヤー3):パケット単位 (IP, Internet protocol)

• データリンク層(レイヤー2):point to point (Ethernet, Modem)

• 物理層:ビット単位の伝送 (電圧,コネクタ形状, RS-232C)

13

Page 14: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

余談:

• OSIもインターネットのようなネットワークの規格。• 昔,KDDが導入しようとがんばっていたが,インターネットに負けた。• インターネット以外のネットワーク:– マイクロソフトネットワーク– NetBIOS

– DECNet

– トークンリング (IBM)

– CAMAC (計測のネットワーク)

14

Page 15: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

2.1 Ethernet

• 物理層とデータリンク層のプロトコル• Xerox社とDEC社がLAN (Local Area Network)のために開発• CSMA/CD (Carrier Sense Multiple Access with Collision Detect)1本のケーブルに多数のコンピュータを接続できる(当時は結構革新的だったそうです)

• パケット伝送• IEEE 802.3 で標準化• 10Base-2 : 1本の同軸ケーブルに多数のコンピュータを接続する。• 10Base-5 : 同軸ケーブルとコネクタで接続• 10Base-T : スター結線,コンピュータとハブ(スイッチ)を接続する。• ハブ : すべてのケーブルに同じ信号を流す。• スイッチ : 信号の宛先を見て,特定のケーブルに信号を流す。(レイヤー2スイッチ,レイヤー3スイッチ)

15

Page 16: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• 10Base-2~10Base-Tの伝送速度は10M bit/s

• 100Base-T (100 Mbit/s)

• 1000Base-T (1000 Mbit/s)

• 10GBase-T (10 Gbit/s)

16

Page 17: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

2.2 Ethernetのパケット2.2.1 MACアドレス

• Media Access Control address

• 例:00:14:22:0A:1A:D4

• 上位 24 bitが組織のアドレス (OUI, Organizationally Unique Identifier,IEEEに1,650ドル支払って割り当てを受ける)

• 下位24 bitは,その組織が自由に付けることができる。• 「ハードウエアアドレス」とも呼ばれる。• 原則として,Ethernetの機器1つに1つの番号が割り当てられ,同じ番号が重複することはない。

余談:

• MACアドレスは機器固有のため,ソフトウエアのライセンス管理や,ケーブルテレビの接続管理のために使われたりしていた。• 通信のために,MACアドレスを直接指定することは少ない。

17

Page 18: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

2.2.2 Ethernet パケットの構造

• パケット:その通信路が扱うデータの単位– 長いデータは分割して,複数のパケットとして通信する。– データの他に,送信先,発信元,通し番号などの情報を付加する。

• Ethernet (RFC 894)

– RFC : Request For Comments :インターネットの規格のための書式番号

• IEEE 802.2/802.3(RFC 1042)として標準化された。しかし,Ethernetの規格しか対応しない機器も多い。

18

Page 19: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• パケットの構造– あて先アドレス (6 byte,MACアドレス)

– 発信元アドレス (6 byte,MACアドレス)

– 形式 (2 byte) (0800 : IPデータグラム,0806 : ARP,8035 RARA) 載せているデータの種類

– データ(40~1500 byte)

– CRC (Cyclic Redundancy Check) (0~4 byte)

余談:回線交換 (従来の電話) ⇔ パケット交換

19

Page 20: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

2.3 インターネットプロトコル (IP)

• ネットワーク層 (レイヤー3)のプロトコル• Advanced Research Project Agency (ARPA) による支援・指揮の下で研究された。• ARPANET (1969-)が,インターネットの原型である。• 「ネットワークをつなぐ」という意味• 目的:負荷共有,メッセージサービス,情報の共有,プログラム共有,遠隔ログイン• 「パケット交換」を採用。• 日本の最初のARPANETへの接続は,1981年の東北大学のハワイのALO-HAnetへの参加である。• 日本のnetworkは,UUCP (Unix to Unix Copy Protcol, データ転送を行うためのUNIXのコマンド群,IPパケットをUUCPを使って送ることができる) による東大,慶応,東工大を接続した1984年から始まったJUNET (Japan University NETwork)が有名。

20

Page 21: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• WWW(World Wide Web, 1989–)の実用化と共に,インターネットが爆発的に広がった。

余談:

• タイム誌の「インターネットは核攻撃下でのコミュニケーションの生き残りを想定して開発された」というのは本当ではない。• マイクロソフトは,Windows 95から「インターネットはマイクロソフトです。」と言うようになった。それ以前は・・・・

21

Page 22: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

22

Page 23: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

2.4 インターネットプロトコル (IP)パケット2.4.1 IPアドレス

• IPアドレス:コンピュータやネットワークに付ける識別番号• 32 bit (最大 4294967296個)

• ネットワークIDとホストIDからなる。• クラスが分けされた。(次ページ)

余談:

• インターネットでは,日本からアメリカに通信しても,アメリカから日本に通信しても,接続料は日本側が支払う。少し前までは,日本からフィリピンに通信しても,フィリピンから日本に通信しても,両者がアメリカに料金を支払っていた。Tier 1 のプロバイダー (10社)

• アドレスがだんだん不足してきている。• 東工大はクラスB (65536個のアドレス) を持っている。

23

Page 24: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

24

Page 25: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• サブネットマスク– クラスによる分類だけでは柔軟性がない。– ネットワークIDとホストIDの区別は,サブネットマスクによって行う。

– サブネットマスクも 32bitで,前半に1が並び,後半に0が並ぶ。– 1が並んでいる部分がネットワークIDで,0が並んでいる部分がホストIDである。

– 例えば,IPアドレスが131.112.80.201,サブネットマスク255.255.255.192のネットワークアドレスとホストIDを考えてみよう。

• ネットワークアドレス– ホストIDが0の場合は,ネットワーク自体を示す。

• ブロードキャストアドレス– ホスト IDのビットがすべて1の場合は,そのネットワークに対してブロードキャストすることを意味するアドレスになる。

– ブロードキャストアドレスに送ると,そのネットワーク全てのホストがそのパケットを受け取る。

25

Page 26: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• ネットワークアドレスとブロードキャストアドレスを,ホストにつけてはいけない。• マルチキャストアドレス– 目的別にアドレスが決まっていて,目的に合致した複数のホストが受信する。

– 1つのパケットで,その情報を必要とする複数のホストへ送ることができるので効率的である。

• IPパケットは,その到達が保証されない。すなわち,送信側は受信されたかどうか直接的にはわからない。

26

Page 27: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

IPパケットの構成

• バージョン (4 bit)

• ヘッダ長 (4 bit)

• サービスタイプ (TOS 8 bit)

• 全長(バイト単位) (16 bit)

• 識別 (送り手側がパケットの識別のために使う) (16 bit)

• ビットフラグ (3 bitの中で2bitを利用: More Fragment bit,Don’t Fragment bit)

• フラグメントオフセット (このフラグメントされたデータの先頭が,もとのデータ先頭からどの位置にあるか8byte単位で示す,13 bit)

• 生存時間(異なるネットワークに転送される度に1ずつ減らす,現在の推奨値は64,TTL 8 bit)

• プロトコル (搭載するデータのプロトコルの番号 (TCP:6, UDP:17, ICMP:1など),8 bit)

• IPヘッダチェックサム (16 bit)

• 発信元IPアドレス (32 bit)

27

Page 28: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• 宛先IPアドレス (32 bit)

• オプション (ない場合もある)

• データ (長さは最大パケット長で制限を受ける)

TOSの構成

• 使われていない (3bit)

• 最小遅延 (1bit)

• 最大スループット (1bit)

• 最大信頼性 (1bit)

• 最小金銭コスト (1bit)

• 0 (1bit)

28

Page 29: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

29

Page 30: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

フラグメントフラグ

• Ethernetでは,1500byteのデータしか格納できない。MTU (Maximum Transmission Unit)が1500byte

• IPパケットがそれより長い場合,分割する必要がある。• 1つのEthernetパケットに,1つの分割されたIPパケットを格納する。• 分割されたパケットにも,ヘッダーを付ける。• 使われていない (1bit)

• フラグメント禁止ビット (1bit)

• モアフラグ (フラグメントされたデータ他にあることを示す,1bit)

30

Page 31: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

2.5 ARP (Address Resolution Protocol)

• 同じEthernet上にあるコンピュータにIPパケットによってデータを送る。– 送りたいデータを分割し,送り先のIPアドレスなどと共にIPパケットを構成する。

– IPパケットをEhternetパケットに格納する。– 送り先のMacアドレスはどうする?

Macアドレスがないと,データを送ることができない。

Ethernetのブロードキャストアドレス:• 直接接続されているすべての機器を表すアドレス。• ブロードキャストアドレスに送られたパケットは,すべての機器が受け取り,その内容に応じた処理を行う。• MACアドレスでは,FF:FF:FF:FF:FF:FF (すべてのビットが1)(IPアドレスのブロードキャストは,ホスト番号の部分のビットが1)

31

Page 32: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• Ethernetの規格にある ARP (Address Resolution Protocol,アドレス解決プロトコル)を使って,IPアドレスからMACアドレスを調べる。• ARPパケット形式はEthernetの規格で決まっている。• 送信先のIPアドレスを格納したARPパケット (Ehternetのパケット)を,ブロードキャストアドレス宛に送る。• そのパケットをEthernet上の全ての機器が受けとる。• そのパケットに格納されていたIPアドレスが自分のIPアドレスと等しい場合,自分のMacアドレスを格納したEthernetのパケットを作成し,送り返す。• Macアドレスを受け取ったら,(分割した)IPパケットのデータを格納したEhternetパケットをそのMacアドレスに宛てに送る。• IPアドレスとMacアドレスの関係はキャッシュしておく(一時的に蓄えておく)。

32

Page 33: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

余談:

• RARP (Reverse Address Resolution Protocol):自分のMACアドレスを送って,だれかにIPアドレスを教えてもらう。ディスクレスシステムなどに使う。

2.6 IPv6

• IPv4 (インターネットプロトコル バージョン4)

– 現状のインターネットプロトコル(IPv4)では,32bitのアドレスしかないため,最大でも,40億個程度のアドレスしかない。

• IPv6 (インターネットプロトコル バージョン6)

• 128 bit (16進数で32個,4ずつコロンで区切って記述する)

– 例:FE80:CD00:0000:1234:00CD:0000:2342:DC2F

– 4つの区切りで,先頭の0は省略できる。FE80:CD00:0:1234:CD:0:2342:DC2F

33

Page 34: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

– 0が続くときの表記法がある。ループバック0000:0000:0000:0000:0000:0000:0000:0001は,::1/128と記される。

• ユニキャスト:その番号をもつ唯一のインターフェースに対応する。• エニーキャスト:その番号をもつ近くのインターフェースに対応する。• マルチキャスト:その番号をもつ複数のインターフェースに対応する。• ユニキャストアドレスは,前半64bitがサブネットプリフィックス,後半64bitがインターフェース識別子からなる。• サブネットプリフィックスは,48bitのグローバルルーティングプリフィックス,16bitのサブネット識別子で構成されている。• これらの長さは可変になる。• Windowsはコロンをドライブ(C:など)を示すために使うので,-を使うことがある。• 3G/4G携帯はIPv6の番号が付いている。• アジア太平洋地域では,IPv4のアドレスが枯渇して新規配布はできない。• 環境問題と同じで,IPv6になかなか移行しない。

34

Page 35: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

3 TCPとUDP

• TCP : Transmission Control Protocolの略• UDP : User Datagram Protocolの略• トランスポート層のプロトコル

35

Page 36: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

3.1 TCP

• IPパケットのデータ領域に,TCPヘッダとデータを格納する。• コネクション指向:– 大きなデータは,自動的に分割される。アプリケーションはパケット長を意識しないで良い。

– 受信側では,データが届くと「確認応答」を送り手側に通知する。– 一定時間以内に届いたとの通知がない場合は,送り手はパケットを再送する(再度パケットを送り出す)。

– 受信側は,チェックサムによりデータをチェックし,正しくない場合は,確認応答を送信しない。

– パケットの順番が伝送中に変化することがある。受信側はデータをそれを元の通りに並び替え,アプリケーションに渡す。

– 同じデータパケットが届いた場合は,1つ以外を破棄する。– ポート番号で相手のアプリケーションを指定できる。– データをバッファする。

36

Page 37: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

3.1.1 TCPヘッダ

• 発信元ポート番号 (16 bit)

• あて先ポート番号 (16 bit)

• シーケンス番号 (32 bit):全体の中で,何バイトまで送信したか示す。• 確認応答番号 (32 bit) : 全体の中で,何バイトまで受信したか示す。• ヘッダ長 (4 bit)

• 予約済み (6 bit)

• フラグ (URG, ACK, PSH, RST, SYN, FIN, 各1 bit)

– URG : 緊急であること示す。– ACK : 確認応答番号が有効であることを示す。– PSH : すぐにアプリケーションに引き渡すこと示す。– RST : TCP接続の中断または拒否した場合を示す。– SYN : TCP接続を要求することを示す。– FIN : TCP接続を終了することを示す。

37

Page 38: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• ウィンドウサイズ (16 bit):受信側のバッファサイズ• TCPチェックサム (16 bit)

• 緊急ポインタ (16 bit)

• オブジョン (16 bit)

• 送信・受信側のIPアドレスなどを書き込んだ,擬似ヘッダを加えることができる。• その理由は,TCPのレベルでも本当に正しいホストに到着したどうかを確かめ,信頼性を向上させるため。

38

Page 39: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

39

Page 40: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

3.2 UDP

• IPパケットのデータ領域に,UDPヘッダとデータを格納する。• データグラム(パケットのようなもの)指向:

– ポート番号でアプリケーションを相手の指定できる。– チェックサムでエラーを検出し,エラーがある場合パケットを破棄する。

– データが届いたかどうかは,UDPでは関知しない。– データを自動的に分割しない。

3.2.1 UDPヘッダ

• 発信元ポート番号 (16 bit)

• あて先ポート番号 (16 bit)

• UDPデータ長 (16 bit)

• UDPチェックサム (16 bit)

40

Page 41: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

3.3 ポート番号

• コンピュータにIPパケットが届いても,そのデータをどのプログラムが使うか分からない。• あて先ポート番号によって受け取るべきプログラムを指定する。• 受け取ったプログラムがデータを返すとき,受け取ったTCP or UDPパケットの発信元ポート番号をあて先ポート番号として送り返す。• 例:– 15/tcp : netstat : NETwork STATstics

– 20/tcp : ftp-data : data of File Transfer Protocol

– 21/tcp : ftp : control of File Transfer Protocol

– 22/tcp : telnet : TELE-NETwork login

– 25/tcp : smtp : Simple Mail Transform Protocol

– 53/tcp,udp : DNS : Domain Name Server

– 80/tcp,upd : http : Hyper Text Transfer Protocol

– 995/tcp,udp : pop3 : Post Office Protocol V.3

– 443/tcp,udp : https : Hypertext Transfer Protocol over SSL

41

Page 42: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

– 995/tcp,udp : pop3s : pop3 over SSL

4 gateway (router)

• インターネットは,ネットワークの集合体• 1つのネットワーク:

– 同じネットワークアドレス(サブネットマスクで1が立っているbitの部分の値) をもつホストからなる。

– ブロードキャストアドレスを使ってすべてのホストに連絡できる。

• gateway,router

– 2つのIPアドレスを持つ。– LANに接続されされた方は,LAN側のIPアドレスで通信する。– WAN (Wide area network) に接続された方は,WAN側のIPアドレスで通信する。注意:LANとWANという名前は相対的

– ネットワーク間でデータの受け渡しをする。

42

Page 43: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

– LAN側の IPアドレスを1つだけ持っている一般のホストが,外部のネットワークと通信する時には,まず,gateway (router) にパケットを送る。

– gatewayは,そのパケットを,目的のホストに近いgatewayに渡す。– その経路を決める操作を,routingと呼ぶ。– gatewayは,来たパケットをどこに送るか決めなくてはいいけない。– routing tableに従って,パケットを転送する。– default gateway (default router):転送先がすぐにわからないときに送る gateway (router)

– 通常のホストは,default gateway のアドレスを指定するだけ。– 基幹となるような gatewayは,routing tableを 動的に書き換える。

(東工大の外部接続のgatewayは10万個以上のネットワークアドレスのルーティング情報を持っている。)

– ネットワークにgatewayは1つとは限らない。

43

Page 44: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

traceroute または tracepath (Windowsでは,tracert)コマンド: どのgatewayを通ったか調べるためのコマンド(gateway側が教えてくれる場合)。

yamasita@white:~$ traceroute www.stanford.edu

1: black.ide.titech.ac.jp 0.097ms pmtu 1500

1: sekisho.ide.titech.ac.jp 0.612ms

1: sekisho.ide.titech.ac.jp 0.585ms

2: 131.112.80.66 2.256ms

3: 131.112.254.246 2.325ms

4: 131.112.254.254 2.942ms

5: 131.112.255.106 1.515ms

6: 131.112.255.118 1.358ms

7: 131.112.254.233 1.051ms asymm 8

8: 150.99.186.229 1.515ms

9: tokyo-dc-gm2-ae0-vlan10.s4.sinet.ad.jp 1.624ms

10: lax-dc-gm1-xe1-1-0-vlan10.s4.sinet.ad.jp 102.183ms

11: cenichpr-1-lo-jmb-702.lsanca.pacificwave.net 102.717ms

12: svl-hpr2--lax-hpr2-10g.cenic.net 110.399ms

13: hpr-stanford--svl-hpr2-10ge.cenic.net 111.048ms

14: boundarya-rtr.Stanford.EDU 111.231ms

15: no reply

16: no reply

17: www-v6.Stanford.EDU 111.552ms reached

Resume: pmtu 1500 hops 17 back 239

44

Page 45: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

4.1 NAT

Network Address Translation

4.1.1 目的

• IPアドレスの枯渇

– アドレスは最大でも232個しかない。– しかも,実際にはネットワーク単位であるため有効に利用しにくい。

(東工大は65536個のアドレスを持っている。コンピュータの数はそんなに多くない。)

• セキュリティ:外から直接アクセスでできないようにしたい。

4.1.2 NATの処理の概要

• グローバルIPアドレス:世界中で唯一つのIPアドレス• プライベートIPアドレス:LAN (local area network)の中だけで通じるIPアドレス別のLANの中で同じIPアドレスが使われていても良い。

45

Page 46: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• LANに含まれるコンピュータ間の通信は,プライベートIPアドレスを使って行う。• LANの中のホストが外部のホストへ通信したい時は?

– gateway が単純にパケットを転送するのではなく,送信元の IPアドレスを,gateway のグローバルIPアドレスに書き換える。

– 書き換える前のパケットのLAN側(発信元)アドレスとWAN側(あて先)アドレスを記憶しておく。

– WAN側に送ったパケットに対する,WAN側ホストからの返信のパケットのあて先アドレスは,すべてgatewayのグローバルアドレスになる。

– gatewayは,そのパケットの発信元IPアドレスと,それが以前に転送したLAN内のホストからのパケットのあて先アドレスを比較する。

– アドレスに一致したものがある場合,WAN側からのパケットのあて先アドレスを,一致したパケットのLANのホストのローカルアドレスに書き換えて,LANのホストに転送する。

46

Page 47: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

– 一致しない場合は,破棄する,あるいは,LAN内の決まったホストに転送する。

• 利点:1つのグローバルアドレスで,多数のホストがインターネット上のホストとデータをやりとりできる。• 利点・欠点:LAN内のホストから外部のホストに通信することはできるが,外部から内に直接通信することができない (決められた1台は可能である)。• 欠点:LAN内の2つ以上のホストが,同じ外部のホストと通信した場合に,gatewayはそのパケットをLAN内のどのホストに転送すればよいか分からない。

47

Page 48: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

48

Page 49: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

49

Page 50: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

50

Page 51: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

4.2 NAPT

Network Address Port Translation

• IP Masqueradeとも呼ばれる。この名前は, Linuxでの実装名。• NATにおける,LAN内の異なるホストが,外部の同じアドレスのホストへ通信できないという問題を解決すする。• UDP, TCPのポート番号を使う。• 一般に,UDP, TCPでパケットに対して返信するとき,そのパケットのあて先ポート番号は,初めに送られてきたパケットの発信元ポート番号を使う。• 処理の概要– 異なるLAN内のホストから,同じWAN側のホストへ通信する時に,発信元のポート番号を異なるように書き換える。

– もとのパケットのLAN側(発信元)アドレスとポート番号,WAN側(あて先)アドレスとポート番号を記憶しておく。

– WANからの返信のパケットの発信元アドレス,あて先ポート番号と,以前に転送したLAN内のホストからパケットのあて先アドレス,書

51

Page 52: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

き換えた発信元ポート番号を比較する。– それらが一致するものがある場合,WAN側からのパケットのあて先アドレスとあて先ポート番号を,一致したパケットのLANのホストのローカルアドレスと書き換える前の発信元ポート番号に書き換えて,LANのホストに転送する。

– 一致しない場合は,LAN内の決まったホストに転送等を行う。

余談:

• 最近ならば,一家に一台は存在している「ブロードバンドルータ」は,NAPTを行っている。

52

Page 53: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

53

Page 54: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

54

Page 55: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

5 DHCP

• Dynamic Host Configuration Protocolの略• ネットワークの設定は面倒– IPアドレス– サブネットマスク– ディフォルトルータ– DNSサーバ (DNSサフィックス)

– NISサーバ,プリンタサーバ,NTPサーバ,WINSサーバなど

• DHCPは自動的に設定を行うためのプロトコル。

– DHCPサーバ : 設定情報を送るホスト。– DHCPクライアント : 設定情報を受け取るホスト。(初めは,IPアドレスなどは設定されていない)

55

Page 56: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• 手順1. クライアントがDHCPサーバを探すために,ブロードキャスト

(255.255.255.255)宛にUDPパケットを送る(DISCOVER)。2. そのネットワークの全てのホストが受け取る。3. DHCPサーバは自分のIPアドレスを含んだパケットを,クライアントのMACアドレスに送る(OFFER)。(DHCPサーバー以外のホストは,そのパケットを破棄する。)

4. DHCPクライアントは,DHCPサーバの IPアドレスを含んだパケットをブロードキャスト宛に送る(REQUEST)。

5. 指定されたサーバは,DHCPサーバが自分か管理しているIPアドレスの中から空いているアドレスを探し,その他の情報と共にクライアントのMACアドレスに送る(PACK)。だめな場合は,PNAKパケットを送る。

6. PACKパケットの情報を使って,クライアントが自分のネットワークを設定する。

7. クライアントは通常のIPプロトコルで,通信を開始する。

56

Page 57: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

6 DNS

• Domain Name Service (System) の略• IPアドレスは覚えにくい。名前で呼びたい。• 例:www.ide.titech.ac.jp, www.google.co.jp

• 通信するためには,IPアドレスが必要。• ドメイン名:インターネット上のホストのグループの名前。• 名前からIPアドレスに変換できるようなシステムが必要。「解決(resolve)する」と呼ぶ。• 管理容易なように,階層化され,木構造で管理されている。(IPアドレスは,ネットワークの柔軟性のために階層化していない。)

• www.ide.titech.ac.jpは,www, ide, titech, ac, jpという5階層からできている。

– www.ide.titech.ac.jpというホストは,ide.titech.ac.jp ドメインに属する。

– ide.titech.ac.jp ドメインは,titech.ac.jp ドメインに属する。– titech.ac.jp ドメインは,ac.jp ドメインに属する。

57

Page 58: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

– ac.jp ドメインは,jp ドメインに属する。– jp ドメインは,ルートノードに属する。

• ルートノード : ’.’

• TLD (Top Level Dmain) : com, org, jp など

6.1 ドメインネームサーバ (DNS)

• ドメインに関する情報を提供するサーバー• ある階層に対するドメインネームサーバ (DNS)は次の情報を保持している。

– 自分のドメイン(以下)に属するホスト名とそのIPアドレス– 自分のドメイン (以下)に属するドメイン名とそドメインネームサーバのIPアドレス

• ドメインネームサーバは,自分の階層以下のホスト名に関する問い合わせが来たとき,

– 自分がその情報を持っている場合は,その情報を返信する。

58

Page 59: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

– 持っていない場合は,下層のドメインネームサーバに問い合わせて,その返答を返信する。

• 自分が管理していないドメインに関する問い合わせが来たときルートノードのDNSに問い合わせる(13台の IPアドレスが指定されている)。

6.2 逆引き

• IPアドレスから,ホスト名を検索できるようにする。• IPv4の場合,in-addr.arpaというドメイン名を用いる。• 例えば,131.112.80.21には,21.80.112.131.in-addr.arpaというドメイン名を用いる。• ドメインネームサーバには,逆引き専用のレコードを使う(PTRレコード)。ホスト名検索のためのレコード(Aレコード)を使うわけではない。

59

Page 60: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

7 HTTP

• Hypertext Transfer Protocol の略• Hypertext : 文書中に,他の文書へのリンク(ハイパーリンク)を埋めこみ,複数の文書を相互に連結できる文書• WWWで用いられ,HTML (Hyper Text Markup Langage)で書かれた文書を送るなどのために用いられる。• データの受け渡し形式– ヘッダ部– 空行– データ部

60

Page 61: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• ブラウザからサーバーへのヘッダの例(http://www.ide.titech.ac.jp/)

ET /ja/ HTTP/1.1

Host: www.ide.titech.ac.jp

User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: ja,en-us;q=0.7,en;q=0.3

Accept-Encoding: gzip, deflate

Cookie: wp-settings-2=editor%3Dhtml%26urlbutton%3Dfile%26libraryContent%3Dbrowse; wp-settings-time-2=1368139624; wp-settings-1=editor%3Dtinymce%26wplink%3D1%26align%3Dleft%26imgsize%3Dmedium%26libraryContent%3Dbrowse%26urlbutton%3Dpost%26ed_size%3D797; wp-settings-time-1=1373258101; __utma=61248425.1886381902.1373336598.1381555557.1382424630.3; __utmz=61248425.1381555557.2.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); _ga=GA1.3.1886381902.1373336598; __utmb=61248425.3.10.1382424630; __utmc=61248425

Connection: keep-alive

61

Page 62: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• サーバーからブラウザへのヘッダの例

HTTP/1.1 200 OK

Date: Tue, 22 Oct 2013 07:00:14 GMT

Server: Apache

X-Powered-By: PHP/5.3.3

X-Pingback: http://www.ide.titech.ac.jp/ja/xmlrpc.php

Connection: close

Transfer-Encoding: chunked

Content-Type: text/html; charset=UTF-8

62

Page 63: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

• ブラウザからサーバーへのデータの例(一部)<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta http-equiv="Content-Style-Type" content="text/css" />

<meta http-equiv="Content-Script-Type" content="text/javascript" />

<title>東京工業大学</title>

<meta name="description" content="東京工業大学大学案内、入学案内、学部・大学院等の紹介、研究活動、図書館・研究所、産学連携・国際交流など、東京工業大学に関する情報をご覧頂けます。" />

<meta name="keywords" content="東京工業大学,東工大,とうこうだい,Tokyo Institute of Technology,TOKYO TECH,titech,

理工系,東京,大学,国立大学,教育,研究" />

<meta name="verify-v1" content="2e/g2jAwGrA7LItr726JNTI2TORHz0dw75JZ14wOSYA=" />

<meta property="og:image" content="http://www.hyoka.koho.titech.ac.jp/main/3rd_academic_group.jpg" />

<link rel="stylesheet" type="text/css" href="/reb2012/common/css/cmn_layout.css" media="all" />

<link rel="stylesheet" type="text/css" href="/reb2012/common/css/cmn_style.css" media="all" />

<link rel="shortcut icon" type="image/x-icon" href="/img/favicon.ico" />

<script type="text/javascript" src="/reb2012/common/js/jquery.js"></script>

<script type="text/javascript" src="/reb2012/common/js/common.js"></script>

<script type="text/javascript" src="/reb2012/common/js/liquidImg.js"></script>

<script type="text/javascript">

var _gaq = _gaq || [];

_gaq.push([’_setAccount’, ’UA-7676767-1’]);

_gaq.push([’_setDomainName’, ’titech.ac.jp’]);

63

Page 64: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

_gaq.push([’_setAllowLinker’, true]);

_gaq.push([’_trackPageview’]);

(function() {

var ga = document.createElement(’script’); ga.type = ’text/javascript’; ga.async = true;

ga.src = (’https:’ == document.location.protocol ? ’https://ssl’ : ’http://www’) + ’.google-analytics.com/ga.js’;

var s = document.getElementsByTagName(’script’)[0]; s.parentNode.insertBefore(ga, s);

})();

</script>

</head>

<body>

<div id="fb-root"></div>

<script>(function(d, s, id) {

var js, fjs = d.getElementsByTagName(s)[0];

if (d.getElementById(id)) return;

js = d.createElement(s); js.id = id;

js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";

fjs.parentNode.insertBefore(js, fjs);

}(document, ’script’, ’facebook-jssdk’));</script>

<div id="wrapper">

<div id="headerTop" class="clearfix">

<h1 id="hd_logo"><a href="/"><img src="/reb2012/common/img/logo01.gif" width="230" height="75" alt="東京工業大学" /></a></h1>

<div id="hd_lang" class="clearfix">

<ul class="clearfix">

<li><a href="/"><img src="/reb2012/common/img/btn_lang01_on.gif" width="40" height="23" alt="日本

64

Page 65: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

語" /></a></li>

<li><a href="/english/"><img src="/reb2012/common/img/btn_lang02_no.gif" width="40" height="23" alt="English" class="over" /></a></li>

</ul>

<!-- /hd_lang --></div>

<div id="hd_search">

<p class="tit"><img src="/reb2012/common/img/tit_serch01.gif" alt="サイト内検索" width="69" height="20" /></p>

<form action="http://www.titech.ac.jp/search.html" id="cse-search-box">

<input type="hidden" name="cx" value="016737275621795016578:dqlkmknbecu" />

<input type="hidden" name="cof" value="FORID:10" />

<input type="hidden" name="ie" value="UTF-8" />

<p class="txt"><input type="text" name="q" value="" maxlength="300" /></p>

<p class="icon"><input type="image" name="sa" src="/reb2012/common/img/icon_serch01.gif" alt="検索" /></p>

</form>

<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=ja"></script>

<!-- /hd_search --></div>

<!-- /headerTop --></div>

<div id="contentsTop">

<div id="leftArea" class="png">

<div id="gNaviTop">

<ul>

<li id="gNavTop01"><a href="/main.html">メインページへ</a></li>

<li id="gNavTop02"><a href="/prospect/">高校生・受験生の方へ</a></li>

<li id="gNavTop03"><a href="/enrolled/">在学生の方へ</a></li>

<li id="gNavTop04"><a href="/alumni/">卒業生の方へ</a></li>

<li id="gNavTop05"><a href="/company/">企業・研究者の方へ</a></li>

<li id="gNavTop06"><a href="/public/">一般・社会人の方へ</a></li>

65

Page 66: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

</ul>

<!-- /gNavi --></div>

<ul class="topBanner">

<li><a href="/admission/colleger/request.html"><img src="/reb2012/img/ban_top01_no.jpg" width="200" height="143" alt="

資料請求 大学紹介やカリキュラムの詳しい内容を知りたい方はこちらから資料をご請求ください。" class="over" /></a></li>

<!-- /topBanner --></ul>

<!-- /leftArea --></div>

<div id="rightArea">

<p><a href="/admission/introduction/category3.html"><img src="http://www.hyoka.koho.titech.ac.jp/main/3rd_academic_group.jpg" alt="

東工大で学ぶ 自分に最適な道へ進むため、まずは類を選んでスタートします。 第 3類 人の役に立つ化学技術を学びたい!" width="1600" height="912" /></a></p>

<!-- /rightArea --></div>

<!-- /contentsTop --></div>

<div id="footerTop" class="clearfix">

<ul id="ft_social" class="clearfix">

<li class="tweet"><a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.titech.ac.jp/">Tweet</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li>

<li class="fb"><div class="fb-like" data-href="http://www.titech.ac.jp/" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false"></div></li>

</ul>

<p id="ft_copyright">Copyright &copy; 2012Tokyo Institute of Technology. All rights reserved.</p>

<!-- /footerTop --></div>

<!-- /wrapper --></div>

</body>

</html>

66

Page 67: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

8 SMTP

• Simple Mail Transfer Protocol の略• MTA (Mail Transfer Agent):メールサーバ– SMTPを使って,MTA間でメールを配送する。– 複数のMTAを仲介してメールを転送することができる。

(最近はあまりその必要はないけれど。)

• MUA (Mail User Agent):メールクライアント( Outlook, Thunderbird)

– MUAがMTAにメールを配信を依頼するときは,SMTPを使って通信する。

– MUAがMTAに届いたメールを取得すときは,POPあるいは IMAPを使って取得する。

– メールアドレスは,ユーザ名@ドメイン名で,ドメイン名は,POPでメールを取得するMTAに付けられたもの。

– MTAのドメイン名は,ドメインネームサーバーから得られる(MXレコード)。

• SMTPの通信はテキストベース,例 (Linux):

67

Page 68: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

telnet mx1.mail.yahoo.co.jp 25

Trying 124.83.171.244...

Connected to mx1.mail.yahoo.co.jp.

Escape character is ’^]’.

220 mta303.mail.ogk.yahoo.co.jp ESMTP YSmtp service ready

HELO goat.ide.titech.ac.jp

250 mta303.mail.ogk.yahoo.co.jp

MAIL FROM: <[email protected]>

250 sender <[email protected]> ok

RCPT TO: <[email protected]>

250 recipient <[email protected]> ok

DATA

354 go ahead

To: [email protected]

Subject: testtest

From: [email protected]

kougino test

.

250 ok dirdel

QUIT

221 mta303.mail.ogk.yahoo.co.jp

Connection closed by foreign host.

68

Page 69: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

9 FTP

• File Transfer Protocol の略• レンタルサーバにデータをアップするときになどに使っている学生もいるのでは?

9.1 FTPに関して

• anonymous FTP (匿名FTP)

• ファイルタイプ (クライアントから指定する)

– ASCII (英文)

– Binary (データ)

• SFTP (secure FTP)

– データを暗号化して通信する。

69

Page 70: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

9.2 アクティブFTP

• 昔ながらのFTP

• 手順の概要1. あて先ポート番号21番で,クライアント側が,login,データに関するクライアント側ポート番号,転送するファイル名の指定を行う。

2. データに関するサーバー側ポートは20番に固定されている。3. クライアント側ポートは,先にクライアント側で指定している。4. データ転送時にサーバー側からクライアントに向けて,転送要求

(SYN)を出す。5. データ転送を行う。6. 通信の終了

• もともとは,同じデータを持った複数のサーバから,効率的にデータを転送するための仕組みだった。• 最近のクライアントは,外部から直接は接続できないものも多い(NAT,firewall)ので,この方式は使えない。

70

Page 71: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

9.3 パッシブFTP

• 手順の概要1. 宛先ポート番号21番で,loginを行う。2. 21番ポートで,サーバーからデータを取得するホストのIPアドレスと,そのサーバのポート番号が送付される。

3. クライアントが,指定されたIPアドレスとポート番号に向けて,要求を出す。

4. データの転送を行うサーバに対してやデータ転送するファイル名の指定を行う。

5. データ転送を行う。6. 通信の終了

• データ転送時もクライアント側から通信を開始するので,NATやfire-wallを越えることができる。

71

Page 72: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

10 ネットワークの設定

• 研究室に配属されたら,コンピュータをネットワークに接続する。• 電話は業者が設定することが普通であるが,コンピュータやルータに関しては自分達で設定する。• 接続ができない ⇒ 先輩に聞く⇒ 先生に聞く ⇒ · · ·• コンピュータやルータの設定はできるようになってほしい。

10.1 Windowsパソコン のネットワークの設定

• IPアドレス

– ネットワークアドレス– ホストアドレス

• サブネットマスク• ディフォルトゲートウェイ• DNS (Domain Name Server)

72

Page 73: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

73

Page 74: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

74

Page 75: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

75

Page 76: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

76

Page 77: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

77

Page 78: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

78

Page 79: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

79

Page 80: 通信とネットワーク (Communication and Network)yamasita/CN/lecNote/lec01-02.pdf通信とネットワーク (Communication and Network) 第1回,第2回:インターネットプロトコル

10.2 今日の最後に

• telnetをWindows 7で使いたい場合,「コントロールパネル」→ 「プログラム」→「プログラムと機能」の下の「Windowsの機能の有効化または無効化」をクリックして,「Telnetクライアント」をチェックして,OKをクリックする。• しっかりと,復習しておこう。

80