30分でわかるTCP/IPの基礎 ~インターネットの標準プロトコル~ 所属: 法政大学 情報科学研究科 馬研究室 氏名: 川島友美 所属: 法政大学 情報科学研究科 馬研究室 氏名: 川島友美 法政大学 情報科学研究科 川島友美
目次 プロトコルとは何か TCP/IPとは何か IPについて TCPについて HTTPについて デモンストレーション 法政大学 情報科学研究科 川島友美
プロトコルとは(1) プロトコルとは何か? (IT用語辞典「プロトコル」より一部抜粋) ネットワークを介してコンピュータ同士が 通信を行う上で、相互に決められた約束事 の集合。通信手順、通信規約などと呼ばれ ることもある。 英語しか使えない人と日本語しか使えない 人では会話ができないように、対応してい るプロトコルが異なると通信することがで きない。 (IT用語辞典「プロトコル」より一部抜粋) 法政大学 情報科学研究科 川島友美
プロトコルとは(2) なぜプロトコルが必要か? →どこからどこまでが何のデータなの か を示す約束事(プロトコル)が必要 コンピュータはネットワークを通して様々なデータ(マルチメディア)を扱う (文字、音楽、映像、メール、…) しかしこれらは最終的にはすべて2進数(0 or 1)で表現される。 例:”000000010000000101000001”というデータを受信 した時、ぱっと見ただけではこのデータが文字なのか 音楽なのかは判別不可能 →どこからどこまでが何のデータなの か を示す約束事(プロトコル)が必要 法政大学 情報科学研究科 川島友美
プロトコルとは(3) 川島プロトコル(KP)を定義してみる (1)受信データの1バイト目はメディアの種類 とする 0000 0001:ASCII文字 0000 0100:写真 0000 0010:音楽 0000 0101:メール 0000 0011:映像 (2)受信データの2バイト目はメディアデータ のサイズとする 0000 0000~1111 1111 (0~255バイト) (3)メディアデータ 例: 0000 0001 0000 0001 0100 0001 ASCII文字 1バイト A 法政大学 情報科学研究科 川島友美
プロトコルとは(4) 同じプロトコルを搭載していれば →TOSHIBA Dynabookのパソコン上で動 いているWindowsXPとApple iMac上で 動いているMac OS Xが通信を行うこ とができる 法政大学 情報科学研究科 川島友美
TCP/IPさえ搭載していれば世界中の大多数 インターネットの標準プロトコル (むしろTCP/IPによって相互接続されたネットワークのことをインターネットと言う) →WEBサイトを見るだけがインターネットではない アメリカ国防総省によって開発された (核攻撃に備えるため) UNIXに標準で搭載されたため広まった (ネットを使う人はみんなお世話になってる) ↓ TCP/IPさえ搭載していれば世界中の大多数 のPCやデバイスと通信ができる。 法政大学 情報科学研究科 川島友美
TCP/IPとは(2) TCP/IPの位置付け NetWare で使用される。 ヨーロッパ で普及 インターネット 標準 世界で普及 昔のMac OSに 標準搭載 (IEEE802.3) (IEEE802.11) 法政大学 情報科学研究科 川島友美
TCP/IPとは(3) TCP/IPの構成(プロトコルスタック) IP: Internet Protocol TCP: Transmission Control Protocol UDP: User Datagram Protocol FTP, HTTP, POP, TFTP, DNS, …, etc. 法政大学 情報科学研究科 川島友美
TCP/IPとは(4) なぜレイヤー(層)になっているのか? →各層に役割を分担することで拡張性 や保守性を高めている HTMLファイルの送受信に関する役割 データを過不足なく送り届ける役割 データを特定のPCへ送り届ける役割 →各層に役割を分担することで拡張性 や保守性を高めている 他の層のことには無関心 自分の層の責任はすべて請け負う 法政大学 情報科学研究科 川島友美
TCP/IPとは(5) IP: IPアドレスを利用してデータを特定のPC に届けるプロトコル。 HTTP: HTMLファイルを送受信するプロトコル。 POP: メールを受信するプロトコル。 様々なデータ 手紙、写真、等 特定のポートへ (不確実) 宛名の人へ (不確実) 宛名の人へ (確実) 特定のポートへ (確実) 特定のPCへ 特定のお宅へ 法政大学 情報科学研究科 川島友美
TCP/IPとは(6) IP TCP HTTP IP TCP HTTP TCP HTTP ポート:TCP/IPにおける出入口 宛先 (IPアドレス) 192.168.1.20 宛名 (ポート番号) 3000 内容 (HTMLファイル) <HTML>… IP TCP HTTP 宛先 (IPアドレス) 192.168.1.20 宛名 (ポート番号) 3000 内容 (HTMLファイル) <HTML>… 宛名 (ポート番号) 3000 内容 (HTMLファイル) <HTML>… 内容 (HTMLファイル) <HTML>… IP TCP HTTP TCP HTTP ポート:TCP/IPにおける出入口 手紙の宛名に相当する 法政大学 情報科学研究科 川島友美
IP (Internet Protocol)とは(1) ネットワークのアドレス付けや経路の ルーティングを行うプロトコル IPヘッダ構成 法政大学 情報科学研究科 川島友美
IP (Internet Protocol)とは(2) PC(192.168.1.13)からヤフー(124.83.147.203)のWEBを見た場合 IP,TCP,HTTPの全サイズが 481バイトということ 現在のバージョンはIPv4 送信元のIPは192.168.1.13 付属がTCPの場合は0x06となる 送信先のIPは124.83.147.203 法政大学 情報科学研究科 川島友美
TCPとは(1) セッションという形で1対1の通信を行 うプロトコル。信頼性が必要な通信に 使用する。 ヘッダ構成 法政大学 情報科学研究科 川島友美
TCPとは(2) TCPヘッダの具体例 PC(192.168.1.13)からヤフー(124.83.147.203)のWEBを見た場合 送信元ポート番号は4242 宛先ポート番号は80 法政大学 情報科学研究科 川島友美
HTTPとは(1) WEBサーバとWEBブラウザがデータ (HTMLファイル等)を送受信するため のプロトコル HTTPのコマンド 法政大学 情報科学研究科 川島友美
HTTPとは(2) 法政大学 情報科学研究科 川島友美
HTTPとは(3) HTTPのステータス(一部抜粋) 法政大学 情報科学研究科 川島友美
TCP/IPまとめ WEBサーバの待ち受けポート番号は80 送信元のポート番号はWindowsが 世界中で統一されている 宛名等 宛先ポート:3000 自分ポート:80 宛名等 宛先ポート:80 自分ポート:3000 宛先等 宛先:192.168.1.20 自分:www.yahoo.co.jp 宛先等 宛先:www.yahoo.co.jp 自分:192.168.1.20 内容 HTTP/1.1 200 OK <HTML>・・・ 内容 (GET index.html HTTP1.1) 宛名等 宛先ポート:80 自分ポート:3000 宛名等 宛先ポート:3000 自分ポート:80 内容 HTTP/1.1 200 OK <HTML>・・・ 内容 (GET index.html HTTP1.1) 宛名等 宛先ポート:3000 自分ポート:80 宛名等 宛先ポート:80 自分ポート:3000 内容 (GET index.html HTTP1.1) 内容 HTTP/1.1 200 OK <HTML>・・・ 内容 (GET index.html HTTP1.1) 内容 HTTP/1.1 200 OK <HTML>・・・ 内容 HTTP/1.1 200 OK <HTML>・・・ 内容 (GET index.html HTTP1.1) HTTP TCP HTTP IP TCP HTTP TCP HTTP HTTP WEBサーバの待ち受けポート番号は80 世界中で統一されている FTPは21、POPは110等々 送信元のポート番号はWindowsが 空いているポートを勝手に選択する 法政大学 情報科学研究科 川島友美
デモンストレーション(1) TELNETでHTTP通信を確認してみよう コマンドプロンプトで下記コマンドを実行する 「telnet malab.cis.k.hosei.ac.jp 80」 と打ち、[Enter] 真っ黒な画面でさらに 「HEAD / HTTP/1.0」 と打ち、[Enter][Enter] 「HTTP/1.1 200 OK」を確認 → WEBサーバからの応答を コマンドプロンプトが表示してくれた。 法政大学 情報科学研究科 川島友美
デモンストレーション(2) ネットワークの状態を確認しよう コマンドプロンプトで下記コマンドを実行する 「netstat -n」 →自分のPCの通信状態が表示される デモ(1)の実行前と実行中でコマンド 「netstat -n」を実行するとどうなる? 法政大学 情報科学研究科 川島友美
デモンストレーション(3) 実際にTCP/IPのパケットをキャプチャ してみよう ネットワークプロトコル解析ソフト 「WireShark」について ダウンロード&インストール Google(日本語)で「WireShark」を検索し、 実行ファイルを実行するだけ 法政大学 情報科学研究科 川島友美
WireShark(1) インストールの注意点 インストール中に表示される下記画面で「Install WinPcap」をチェック 法政大学 情報科学研究科 川島友美
WireShark(2) –使用方法(I)– Show the capture options をクリック 法政大学 情報科学研究科 川島友美
WireShark(3) –使用方法(II) – TOSHIBA dynabook MX/27AEの人 Intel® PRO/100 VEを選択 Startを クリック 法政大学 情報科学研究科 川島友美
WireShark(4) –使用方法(III) – httpと入力 して[Enter] パケットを 1つ選択 キャプチャ したパケット の一覧 選択した パケットの 内容 選択した パケットの 内容(16進) 法政大学 情報科学研究科 川島友美
参考文献 IT用語辞典e-Words http://e-words.jp/ 法政大学 情報科学研究科 川島友美