30分でわかるTCP/IPの基礎
~インターネットの標準プロトコル~
所属: 法政大学
情報科学研究科
馬研究室
氏名: 川島友美
法政大学
情報科学研究科
川島友美
目次
プロトコルとは何か
 TCP/IPとは何か
 IPについて
 TCPについて
 HTTPについて
 デモンストレーション

法政大学
情報科学研究科
川島友美
プロトコルとは(1)
 プロトコルとは何か?
 ネットワークを介してコンピュータ同士が
通信を行う上で、相互に決められた約束事
の集合。通信手順、通信規約などと呼ばれ
ることもある。
 英語しか使えない人と日本語しか使えない
人では会話ができないように、対応してい
るプロトコルが異なると通信することがで
きない。
(IT用語辞典「プロトコル」より一部抜粋)
法政大学
情報科学研究科
川島友美
プロトコルとは(2)
 なぜプロトコルが必要か?
コンピュータはネットワークを通して様々なデー
タ(マルチメディア)を扱う
(文字、音楽、映像、メール、…)
しかしこれらは最終的にはすべて2進数(0 or 1)で
表現される。
例:”000000010000000101000001”というデータを受信
した時、ぱっと見ただけではこのデータが文字なのか
音楽なのかは判別不可能
→どこからどこまでが何のデータなの か
を示す約束事(プロトコル)が必要
法政大学
情報科学研究科
川島友美
プロトコルとは(3)

川島プロトコル(KP)を定義してみる
(1)受信データの1バイト目はメディアの種類
とする
0000 0001:ASCII文字
0000 0010:音楽
0000 0011:映像
0000 0100:写真
0000 0101:メール
(2)受信データの2バイト目はメディアデータ
のサイズとする
0000 0000~1111 1111 (0~255バイト)
(3)メディアデータ
例: 0000 0001
ASCII文字
0000 0001
0100 0001
1バイト
A
法政大学
情報科学研究科
川島友美
プロトコルとは(4)

同じプロトコルを搭載していれば
→TOSHIBA Dynabookのパソコン上で動
いているWindowsXPとApple iMac上で
動いているMac OS Xが通信を行うこ
とができる
文字、映像、音楽
写真、等
VP (Virtual Protocol)
VPデータ
VP (Virtual Protocol)
WindowsXP
Mac OS X
TOSHIBA
Dynabook
Apple
iMac
法政大学
情報科学研究科
川島友美
TCP/IPとは(1)

インターネットの標準プロトコル
(むしろTCP/IPによって相互接続されたネットワークのこ
とをインターネットと言う)
→WEBサイトを見るだけがインターネットではない

アメリカ国防総省によって開発された
(核攻撃に備えるため)

UNIXに標準で搭載されたため広まった
(ネットを使う人はみんなお世話になってる)
↓
TCP/IPさえ搭載していれば世界中の大多数
のPCやデバイスと通信ができる。
法政大学
情報科学研究科
川島友美
TCP/IPとは(2)

TCP/IPの位置付け
NetWare
で使用される。
ヨーロッパ
で普及
IPX/SPX
Ethernet
(IEEE802.3)
インターネット
標準
世界で普及
TCP/IP
昔のMac OSに
標準搭載
AppleTalk
無線LAN
(IEEE802.11)
法政大学
情報科学研究科
川島友美
TCP/IPとは(3)
TCP/IPの構成(プロトコルスタック)
- IP:
Internet Protocol
- TCP:
Transmission Control Protocol
- UDP:
User Datagram Protocol
- FTP, HTTP, POP, TFTP, DNS, …, etc.

FTP HTTP … POP TFTP … DNS
TCP
UDP
IP
法政大学
情報科学研究科
川島友美
TCP/IPとは(4)

なぜレイヤー(層)になっているのか?
HTTP
HTMLファイルの送受信に関する役割
TCP
データを過不足なく送り届ける役割
IP
データを特定のPCへ送り届ける役割
→各層に役割を分担することで拡張性
や保守性を高めている
 他の層のことには無関心
 自分の層の責任はすべて請け負う
法政大学
情報科学研究科
川島友美
TCP/IPとは(5)

IP:

TCP:

HTTP:
POP:

様々なデータ
IPアドレスを利用してデータを特定のPC
に届けるプロトコル。
データを過不足なく確実に順番通りに相
手(ポート)に届けるプロトコル。データが
不足した場合データの再送を行う。
HTMLファイルを送受信するプロトコル。
メールを受信するプロトコル。
手紙、写真、等
HTTP,POP,etc
手紙の内容
特定のポートへ
(不確実)
UDP
普通郵便
宛名の人へ
(不確実)
特定のポートへ
(確実)
TCP
本人受取郵便
宛名の人へ
(確実)
IP
郵便屋
特定のPCへ
法政大学
特定のお宅へ
情報科学研究科
川島友美
TCP/IPとは(6)
宛先
(IPアドレス)
192.168.1.20
IP
宛名
(ポート番号)
3000
内容
(HTMLファイル)
<HTML>…
TCP HTTP
宛先
(IPアドレス)
192.168.1.20
IP
宛名
(ポート番号)
3000
TCP HTTP
内容
(HTMLファイル)
<HTML>…
宛名 内容
内容
(ポート番号)
(HTMLファイル)(HTMLファイル)
3000
<HTML>…
<HTML>…
TCP HTTP
ポート:TCP/IPにおける出入口
手紙の宛名に相当する
法政大学
情報科学研究科
川島友美
IP (Internet Protocol)とは(1)

ネットワークのアドレス付けや経路の
ルーティングを行うプロトコル

IPヘッダ構成
0
1
1
バージョン
ヘッダ長
2
3
2
サービスタイプ
識別子
生存時間
3
パケット長
フラグ
フラグメントオフセット
プロトコル
ヘッダチェックサム
4
送信元IPアドレス
5
宛先IPアドレス
6
4 (Byte)
オプション
パディング
法政大学
情報科学研究科
川島友美
IP (Internet Protocol)とは(2)

IPヘッダの具体例
PC(192.168.1.13)からヤフー(124.83.147.203)のWEBを見た場合
IP,TCP,HTTPの全サイズが
481バイトということ
現在のバージョンはIPv4
0100 (4)
0101 (5)
0000 0000
0000 0001 1110 0001 (481)
1011 1011 0111 1000
1000 0000 (128)
010
0000 0110 (6)
0 0000 0000 0000
0110 1011 1100 1010
1100 0000 1010 1000 0000 0001 0000 1101 (192.168.1.13)
0111 1100 0101 0011 1001 0011 1100 1011 (124.83.147.203)
なし
なし
送信元のIPは192.168.1.13
付属がTCPの場合は0x06となる
送信先のIPは124.83.147.203
法政大学
情報科学研究科
川島友美
TCPとは(1)

セッションという形で1対1の通信を行
うプロトコル。信頼性が必要な通信に
使用する。

ヘッダ構成
0
15
0
送信元ポート番号
宛先ポート番号
1
シーケンス番号
2
確認応答番号
3
4
5
Doff
予約
31
コードビット
チェックサム
ウィンドウサイズ
緊急ポインタ
オプション
法政大学
情報科学研究科
川島友美
TCPとは(2)

TCPヘッダの具体例
PC(192.168.1.13)からヤフー(124.83.147.203)のWEBを見た場合
送信元ポート番号は4242
宛先ポート番号は80
0001 0000 1001 0010 (4242)
0000 0000 0101 0000 (80)
0001 1111 0101 0100 0000 1101 1111 0001
1110 1111 0010 1000 0000 1110 1011 0111
0101
000000
011000
1111 1111 1111 1111 (65535)
1101 0011 1010 0111
0000 0000 0000 0000
なし
法政大学
情報科学研究科
川島友美
HTTPとは(1)

WEBサーバとWEBブラウザがデータ
(HTMLファイル等)を送受信するため
のプロトコル

HTTPのコマンド
コマンド
GET
HEAD
POST
PUT
DELETE
LINK
HTTP
1.0 1.1
◎ ◎
◎ ◎
○ ○
○ ○
○ ○
○
×
説明
WEBページの要求をする
ヘッダ情報のみを要求をする
サーバへ情報を送信する
ファイルをサーバにアップロードする
ファイルを削除する
・
・
リンク関係を結ぶ
法政大学
情報科学研究科
川島友美
HTTPとは(2)
法政大学
情報科学研究科
川島友美
HTTPとは(3)

HTTPのステータス(一部抜粋)
種類
番号
メッセージ
説明
200
OK
成功した時
202
Accepted
要求が受理された時
403
Forbidden
アクセスが認められない時
404
Not Found
見つからない時
成功
クライアント
エラー
サーバー
エラー
500
502
Internal
サーバでエラーが発生した時
Server Error
Bad
ゲートウェイが不正な時
Gateway
法政大学
情報科学研究科
川島友美
TCP/IPまとめ
宛名等 宛先等
内容 宛名等
内容
HTTP/1.1
(GET index.html
200 OK
宛先ポート:80
宛先:192.168.1.20
宛先:www.yahoo.co.jp
宛先ポート:80
宛先ポート:3000
HTTP/1.1
(GET宛先ポート:3000
index.html
200
OK
HTTP1.1)
自分ポート:3000
自分ポート:80
自分:192.168.1.20
自分:www.yahoo.co.jp
<HTML>・・・
自分ポート:3000
自分ポート:80
HTTP1.1)
<HTML>・・・
HTTP
TCP
HTTP
IP
TCP
HTTP
宛名等
内容
HTTP/1.1
(GET index.html
200 OK
宛先ポート:80
宛先ポート:3000
HTTP1.1)
自分ポート:3000
自分ポート:80
<HTML>・・・
TCP
内容
HTTP/1.1
(GET index.html
200 OK
HTTP1.1)
<HTML>・・・
内容
HTTP/1.1
(GET index.html
200 OK
HTTP1.1)
<HTML>・・・
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/
法政大学
情報科学研究科
川島友美
ダウンロード

TCP/IPの基礎 - 法政大学馬研究室