インターネットの見える部分

インターネットの中の中の中を見る-インターネットを分解してみよう-

サーバー
LAN

インターネットの目に見える部分
としては、次のようなハードウェアがあります。
・サーバー:インターネット上でサービスを提供する。
・通信回線:データを電気的に通信する。
・ルーター:データの通信を制御する。
・端末:PC、タブレット、携帯など
でインターネットを使用する

インターネット
WAN
ルーター・
通信装置
インタネットの分解って何かな、パソ
コンやルーターを分解するのかな

でも、中の中の中ってなんだろう。

普段インターネットを使っている時はその中の仕組みを意識する必要はあまりありません。ただし、トラブルが発生した時や機器の設定、セキュリティの設定などでは、仕組みを理解していた方がいいでしょう。

端末

目に見える部分としてルーターや通信装置はいろいろな形態があります。例えばWANの通信回線だけとっても有線(光ファイバー、メタル)と無線(衛星通信を含む)などあり、皆さんが聞いたこともあるイーサネット以外にATMやFDDIなどの通信機器が使われています。

© Go Ota, 2015/02/12 1

画像引用:http://blogs.yahoo.co.jp/pory61dw8000/23284822.html

インターネットの中を見る:インターネット・プロトコル・スイート
インターネットの中を見る インターネット・プロトコル・スイート

ネットワーク・LANの歴史の歴史 (1970年～年～)
ネットワーク・年～

プロトコル(代表的なもの)

階層

インターネットの中(プロトコルを実現プロトコルを実現トランスポート層
するものの集まり)するものの集まり2

インターネット・プロトコルは一日にしてならず
インターネット・プロトコルは一日にしてならず

インターネット・プロトコル・スイート

アプリケーション層

無線LAN
ルーター

LAN

HTTP

SMTP

FTP

Telnet(Web)(メール送信)(ファイル転送)(端末通信)

Telnet
FTP
SMTP

階層
アプリケーション層
HTTP
トランスポート層

プロトコル(代表的なもの)
HTTP

SMTP FTP

TCP

NetBEUI

IP

インターネット層

TCP

UDP

TCP/IP
IPX/SPX

IP

インターネット層

ネットワークインターフェース層

TelnetUDP

Ethernet

PPP

ATM

Apple Talk
ネットワークインターフェース層

Ethernet

ARPPPPATM

Ethernet
トークン・リング

インターネットの中ってなんでしょうか? インターネット自体、いろいろなハードやソフトから作られていますが、何を中身と呼んだらいいのでしょうか?
一つの見方としてインターネット・プロトコル・スイートというものがあります。これはインターネットとして通信など動作するため、またウェブのようなサービスを提供するための約束や手順に従って作られたもの(ハード・ソフト)の集まりを示します。
例えばHTTPのプロトコルに従ってWebを実現するものにはサーバーとブラウザもあるし、またブラウザにもいろいろな種類があります。これらをすべて合わせて、プロトコル・スイートと呼んでいます。
3

プロトコルはもう少し後で説明します

インターネット・プロトコルは通信のサービスの規則や規約を示します。前に説明ようにインターネット・プロトコル・
スイーツは、プロトコルを実現するためのハード・ソフトの集まりを示します。

インターネット・プロトコル・スイートは今の形が急に割れではありませ。1970年代から多くの製品や規格(プロトコル)が集まった物です。
下位の層ではいろいろな物がありましたが、TCP/IPがベースになり、Ethernetが主流です。アプリケーションではインター
ネット以前のものも残り、現在でも多くのものが開発され続けています。
4

どうしてTCP/IPは生まれたかは生まれたか (TCP トランスポート層)
どうして
トランスポート層

いろいろな意味を持つTCP/UP
いろいろな意味を持つ
TCP/IP(プロトコル):
インターネット・プロトコルと同等の意味

昔の電話の交換手による接続

アプリケーション層

TCP/IP:
UDPを含めたトランスポート層とIPのインターネット層を合わせた物

HTTP

SMTP FTP

TCP

トランスポート層

Telnet
UDP

IP

インターネット層
ネットワークインターフェース層

TCP:
パケットでデータを確実に転送する
通信方法のプロトコル

昔の電話は交換手が一本一本線を繋いで通話していました。コンピュー
タも以前は、一本の線をつなぐことによって通信していました。電話と違ってコンピュータは常に通信しているわ
けでなく、回線を効率的につかう方法が必要になりました。
そこで通信の内容のデータを細かく分けて荷物のようなパケットにして、同じ回線を複数のコンピュータで利用するようになりました。このパケット交換の方法としてTCPが生まれました。

プロトコル(代表的なもの)

階層

Ethernet

PPP

ATM
回線交換によるコンピュータのデータ通信

通信時は物理的に一つの回線を継続して使用する。

TCP/IPが設計・開発された時に、すでに、これまで示した階層構造や基本的に仕組みがすでにできあがっていました。
別の見方をするとTCP/IPをもとにして作られた世界的なネットワークがインターネットであると考えることもできます。

パケット交換によるコンピュータのデータ通信

インターネット(Internet)はInter=間、相互とNetwork=通信網を合わせてものと理解されますが、TCP/IPが生まれた米国国防高等研究計画局では、TCP/IPが動き始めた時あたりから、これを使ったネットワークをインターネットと呼んでいたという話もあるようです。
あと、初めはTCPという規格の中にTCPとIPの機能がありましたが、後5にTCP/IPという規格の名前に変更されました。

TCP/IPの具体的な通信方法の具体的な通信方法 (TCP トランスポート層)
トランスポート層

A

A->B

A->B

A->B

C

C->D

C->D

C->D

B

D

一つの回線を複数の通信で使う。
画像引用:NTT東日本 http://www.ntt-east.co.jp/business/magazine/nw_system/01/

6

IPはどうして生まれたかはどうして生まれたか?
はどうして生まれたか その前に根本の通信方法

パケットに分割した通信
元のデータ

元のデータ

B

A
No.1

①小さい塊に分割する。

No.2
No.3

No.3

No.2

B

A

Ethernet
00-1C-C0-7F-66-2F

Ethernet
00-1B-40-7A-01-5E

No.1

AからからCへ送る場合の一つのパケット内容から へ送る場合の一つのパケット内容③小さい塊を受信して集める②小さい塊単位に送る

パケットとして分割されたデータ

パケット通信で途中でパケットが無くなった場合

送信先

送信元

00-2A-8943-AB-D3

00-1C-C07F-66-2F

No.2

B

A
No.3

①受信したパケットの番号を確認する。

No.1

No.2が届いていません。

③再度、抜けているパケットを送信する

C
Ethernet
00-2A-89-43-AB-D3

ネットワークで通信を行う装置としてEthernetにはMACアドレスアドレス（マック・アドレス、Mediaアドレス
Access Control address )と呼ばれる物理ア物理アドレスが番号がつけられています。原則としてドレス個々の製品が作られた時に、アドレスが与えられ世界中にあるMACアドレスは重複がありません。

②抜けたパケットがある場合はそのことを通知する。

No.2

7

コンピュータ同士の通信は、最終的には物理アドレスをもとにして行われます。
Ethernetの場合は、個々のパケットには送信先と送り先のMACアドレスとデータが入ります。
受信するコンピューターは、送信先に自分のMACアドレスが入っているパケットだけを取り出して処理します。

8

IPはどうして生まれたかはどうして生まれたか?
世界中で物理アドレスだけで通信するとはどうして生まれたか

IPはどうして必要かはどうして必要か?
IPアドレスとルーター
アドレスとルーターはどうして必要か
千葉県

イギリス

アメリカのパソコン
日本のパソコンCA

Ethernet

Ethernet
00-1C-C0-7F-66-2F
Ethernet

B 00-2A-89-43-AB-D3

DE・・・・・・・・・・・・・
アメリカ

Ethernet
Ethernet
00-2A-89-43-AB-D3
00-2A-89-43-AB-D300-1B-40-7A-01-5E

霞が関
3-2-2

東京都

ルーター

東京都千代田区
霞が関3-2-2

日本
千代田区

例えばアメリカのパソコンから日本のパソコンにパケットを使ってデータを送る場合
問題点1
おくる場合に相手のパソコンのMACアドレスを知らないと送れない。MACアドレスはパソコンを変えると変わってしまう。
問題点2
少なくともアメリカと日本のパソコンが全部一つの線につながっていると、そこに流れるパケットは非常に多く、自分宛てのパケットを探すのが非常に難しくなる。

実際に1本の通信回線が使用出来たり、家庭や1フロアーなどでは、物理アドレスだけのデータ通信が可能です。但し、不特定多数のパソコン同士で通信する場合は限界があります。

9

インターネットの中の中を見る:
インターネットの中の中を見る プロトコルって何プロトコル(代表的なもの)

階層
アプリケーション層
トランスポート層

HTTP

SMTP FTP

TCP

Telnet
UDP

IP

インターネット層
ネットワークインターフェース層

Ethernet

PPP

ATM

ファーストフードのプロトコル

物理アドレスだけで通信する問題点を解決する方法がIP層で、ここではIPアドレスとルーターという2つが働きます。
IPアドレスは物理アドレスにつけられた住所みたいなものです。また、ルーター自体はこのIPアドレスをもとに、どのような経路でデータを送ればいいか知っている機械で、また、その経路にあるルーターが丁度伝言ゲームのように、パケットを送っていきます。
例えば、上図でアメリカから日本の比喩で「東京都千代田区霞が関3-2-2 」のパソコンにデータを送る場合は、まず「アメリカ」ルーターから「日本」ルーターへ送信します。次々「日本」->「東京」, 「東京」->「千代田区」, 「千代田区」->「霞が関3-2-2」のルータへパッケージが伝言されます。
ルーティングには最適なルートを見つける機能もあり、例えば「アメリカ」->「日本」の回線が使えない場合、イギリス経由で送ることもあります。

IPアドレス=202.232.190.211

注意:
この説明で使用している住所はあくまで比喩で、実際のインターネッ
トは、このように明確に地域や地区でわけられているものではありません。

10

インターネットの中の中を見る:
インターネットの中の中を見る ウェブのプロトコルを見る
プロトコルは通信規約又は通信手順という意味です。
通信の場合は2個の機械でデータのやりとりをするため、その手順や約束を決めていないと、うまく会話することができません。
人間の世界でもプロトコルがあります。明確なものではありません
が、ファーストフードで注文するときも暗黙のプロトコルが存在するかと思います。

「いらっしゃいませ、こんにちは」「店内でお召し上がりでしょうか？」「はい」「かしこまりました」「何をご注文しますか」「ハンバーガーセットを」「セットのお飲み物をお選びください」「コーラください」「かしこまりました」「ほかにもご注文はございますか？」「いや、いいです」
11

ブラウザ

HTTP (Hypertext
Transfer Protocol,ハイパーテキスト・トランスファー・プロトコル）

ウェブ
サーバー

ネットワーク上ではいろいろなサービスがありますが、サービスを要求する方をクライアント、サービスを提供する方をサーバーと呼びます。

ホームページを見る場合は、ブラウザからウェブサーバーに見たいページを送るように要求します。
このときのやりとりはHTTPというプロトコルに従って行われます。
ここでは、単純なページを表示するときに、どのような通信が行われているか見ていきましょう。

12

ブラウザの機能を使ってウェブのプロトコルの概要を見る – Chrome編
編-

ブラウザの機能を使ってウェブのプロトコルの概要を見る その2編その – Chrome編

Chromeの「その他のツール」の「デベッロッパーツール」の中の「Network」を見てみましょう。Chromeのネッ
トワークのやりとりを表示することができます。

履歴データを消してからアクセスすると、結果がどうなるか確認しましょう。一回ごとに履歴を消して確認してください。

上図のように「Network」のウィンドウが開いたら
http://beyondbb.jp/Hello.html
http://beyondbb.jp/GHello.html
http://beyondbb.jp/no.html
をアクセスしまししょう。どんなふうに動作しているか判りますか?
13

14

ブラウザの機能を使ってウェブのプロトコルの概要を見る – I.E編
編-

送られてきたHTMLファイルを見る
ファイルを見る – Chrome編
編送られてきたIEの「開発者ツール」の「ネットワーク」を見てみましょう。ブラウザのネットワークのやりとりを表示することができます。

HTMLファイル

現在表示されているブラウザ画面のもとになっているHTMLファイルの内容を表示することができます。ブラウザはこのHTMLをもとに、画面を表示しています。

15

上図のように「キャプチャー開始」を指定した後http://beyondbb.jp/Hello.html
http://beyondbb.jp/GHello.html
http://beyondbb.jp/no.html
をアクセスしまししょう。どんなふうに動作しているか判りますか?

16ブラウザの機能を使ってウェブのプロトコルの概要を見る その2編その – I.E編

送られてきたHTMLファイルを見る
ファイルを見る – I.E編
編送られてきた右ボタンを押してHTMLファイル

履歴データを消してからアクセスすると、結果がどうなるか確認しましょう。一回ごとに履歴を消して確認してください。

現在表示されているブラウザ画面のもとになっているHTMLファイルの内容を表示することができます。ブラウザはこのHTMLをもとに、画面を表示しています。

17

HTTPのの ウェブのプロトコルの流れの概要

ブラウザ
ウェブ
サーバー

18

インターネットの中の中のインターネットの中の中の中を見る
中の中の中を見る
ウェブサーバーとパソコンの間のHTTPのプロトコルは非常にシンプルです。GETで表示するファイル名を要求すると、サーバーがそのファイルの内容を返します。
もしファイルが無い場合は、見つからないことを示す、404というステータスを返します。

ブラウザ
ウェブサーバーコンピュータの中の情報は電気的なオン・オフで表されています。通信を行う場合でも基本は同じです。ではインターネットの中(プロトコル)の中(プロトコルの流れ)の中(1/0で表せる通信の内容)を見ていきましょう

正しいファイルを指定した場合(A)正しいファイルを指定した場合
GET http://beyondbb.jp/Hello.html

正しいファイルを指定した場合(B)正しいファイルを指定した場合
GET http://beyondbb.jp/Hello.html
ステータス 304 “Not Modified “

No.3

No.2

No.1

Ethernetフレーム
フレーム“Not Modified”が帰ってきた場合は、普通はキュッシュで持っている情報が最新なので、それを表示します。

パケット交換の場合、送りたい情報は小さいパケットに分けられて送ると説明しました。ここでは、ここのパケットを見ていきましょう。
また、現在はEthernetが主流ですので、このEthernetのパケットであるEthernetフレームを見ることになります。

存在しないファイルを指定した場合
GET http://beyondbb.jp/Hello2.html
19

ステータス 404 "Not Found"BA

ステータス 200 “OK“
Hello.htmlファイルの内容

20

Ethernet フレームの構成

Ethernet フレームをもとにした通信と実社会の郵便の配達の対比
拝啓・・・・・・・・・・・

プロトコル(代表的なもの)

階層
アプリケーション層
トランスポート層

HTTP

SMTP FTP

TCP

1つにEthernetフレームはインターネットプロトコルの構成に対応しています。各階層の情報が順番に積み重なって、一つのフレームができあがります。

UDPIP

インターネット層
ネットワークインターフェース層

TelnetEthernet

アプリケーションの情報

分割1

分割2

・・・・

分割n

非常に長い手紙の内容= アプリレーションの情報・・・・・・・・・・・・・・
No.1
拝啓・・・・・

No.2
・・・・
・

東京都千代田区
霞が関32-2

東京都千代田区
霞が関32-2

東京都千代田区
霞が関32-2

駅前のポストに入れて・・・・・・

分割last・・・・

アプリケーションの情報(分割)

アプリケーションの情報(分割)TCPの情報アプリケーションの情報(分割)TCPの情報

IPの情報

アプリケーションの情報(分割)TCPの情報

IPの情報

No.3
・・・・
・

東京都千代田区
霞が関32-2

別々のハガキに書いて番号がつけられた状態= TCPの情報+アプリケー
ションの情報ハガキに相手先の住所を書いた状態= IPの情報+TCPの情報+アプリケーションの情報

Ethernetフレームの内容を実社会の郵便にたとえて説明してみました。
Ethernetレベルの情報は具体的にハガキどう運ぶ(移動させる)ということになります。そのため、基本的に次の場所までどうするかの指示になり、実際のネットワークでも、この情報だ
け書き変わっていきます。

ハガキにポストイットでどう移動させるか指示を書いた状態= Ethernetの情報+IPの情報+TCPの情報+アプリケーションの情報

・・・
Ethernetの情報

1つのつのEthernetフレーム
フレーム
つのインターネットの中の中のパソコンの情報
インターネットの中の中の中を見るための基本情報の収集
中の中の中を見るための基本情報の収集(1)
中を見るための基本情報の収集

インターネット層

IPアドレス

ネットワークインターフェース層

Ethernet:
MAC/物理アドレス

XX郵便局に持っててXX郵便局に集めて21宛先に配達して22

インターネットの中の中のパソコンの情報
インターネットの中の中の中を見るための基本情報の収集
中の中の中を見るための基本情報の収集(1)
中を見るための基本情報の収集コマンドでipconfig /allで使っているパソコンのMAC/物理アドレスとIPアドレスを調べることができます。

インターネット層

IPアドレスコマンドでnslookupでサーバー名からIPアドレスを調べることができます。

ウェブサーバー

これからフレームの中をみますが、そこに入っている通信に必要なアドレスを調べておきましょう。まずパソコンのアドレスです。

23

相手になるウェブサーバーのIPアドレスも調べましょう。

24インターネットの中の中のインターネットの中の中の中を見るツール
中の中の中を見るツール

ネットワークプロトコルアナライザーが提供する情報

ネットワークアナライザー/ネットワークプロトコルアナライザー
ネットワークアナライザー ネットワークプロトコルアナライザー
ネットワークアナライ
ザーを使うと、パソコンやLANの中の通信の内容を詳細まで見ることができます。
またプロトコルアナライ
ザーとして、どのようなプロトコルの流れで動作しているか表示・分析できます。

多くのネットワークプロトコル
アナライザーは下記のような情報をキャプチャーし提供します。
フレームリスト
ネットワーク上を順番に流れたフレームのリストで発信元・送信先や使用しているプロトコルなどの概要の情報が個々のフレームごとに表示。
フレーム詳細フレームリストで選択したフレー
ムの内容の詳細を表示。
フレームの生データ
フレームの1/0データを16進数とテキストで表示。
(フレームの詳細はこの1/0データの意味を表示したもの)

ここではWiresharkというソフトを使用しています。
25

26

フレームの中の個々の階層を見る:
フレームの中の個々の階層を見る Ethernet

フレームの中の階層を見る
フレーム全体の情報
フレームが438バイトの大きさであることを示す。

ここの階層のプロトコルの内容を見ることもできます。

フレームの中の階層に対応した分析結果
Ethernet, IP(Intenet Protocol),TCP(Transmission control
protocol), HTTP(Hypertext
Transfer Protocol)の4階層情報がフレームに入っていることを示す。
上のウィンドウのフレーム詳
細で指定したプロトコルがどの生データに対応するか色が変わる。(この図ではIPを指定した場合)

他のルーターへ
MACアドレス:
78:dd:08:d4:22:cb
東京都千代田区
霞が関32-2

27

駅前のポストに入れてMACアドレス:
4c:e6:76:f8:18:cc

パソコンから出ているフレームはまず、初めにデェフォルゲートウェイとよばれるルーターに送信されるのが判ります。家庭などではインターネットに接続されている無線LANルーターなどにあたります。
これは、前に説明したまずハガキを郵便ポストにいれるような作業に類似しています。

28

参考:
参照モデルとTCP/IPプロトコル
プロトコル
参考 OSI参照モデルと参照モデルとフレームの中の個々の階層を見る:
フレームの中の個々の階層を見る HTTP

OSI参照モデル
参照モデル
レイヤー

送信されたHTMLファイ
ルの内容

今度はアプリケーション層の情報を見てみてみましょう。

この例では、ウェブサーバーからの返信のフレームを見ています。
ステータスが200 “OK”だということがわかります。またフレームの中には、要求したHTMLファイルの内容が入っています。

29

階層

TCP/IP プロトコル
階層

7

アプリケーション層

6

プレゼンテーション層

5

セッション層4

トランスポート層

トランスポート層

3

ネットワーク層

インターネット層

2

データリンク層

ネットワークインターフェース層1

物理層

OSI参照モデル（OSI reference model）
は、国際標準化機構(ISO)によって策定された、コンピュータの持つべき通信機能を階層構造に分割したモデルである。通信機能（通信プロトコル）を7つの階層に分けて定義している。OSI自体は普及せずにOSI参照モデルがネットワークの基本モデル(概念)として広く参照されるようになった。

アプリケーション層

プロトコル(代表的なもの)
HTTP

SMTP

FTP

TCP

TelnetUDP
IP

Ethernet

PPP

OSI参照モデルはあくまで現在では理論的なものと考えた方がいいと思います。またTCP/IPプロトコルはOSI参照
モデルとは先に、別に開発され現在最も普及しているものです。よくTCP/IPの階層をOSI参照モデルで説明したものがありますが、あくまで、対応を考えた場合のものです。
但し公式な試験などではISO参照モデルが出てくることもあります。

ATM30