インターネットの仕組み～ TCP/IPとアプリケーション
TCP/IPとアプリケーション ～株式会社日本レジストリサービス（JPRS)
宇井 隆晴 （ui@jprs.co.jp）

Copyright © 2003 株式会社日本レジストリサービス

1

はじめに
! 本チュートリアルの対象

いつも何気なく使っているインターネットの仕組みが知りたいユーザ! インターネット関連業務に携わることになった初心者! IPアドレス、TCP/IP、DNSという言葉は聞いたことがあるけど、よくわからない・知りたい人
!

! 注意
!

初心者向けに幅広い分野を説明するために、技術的な正確さよりもわかりやすさを優先する場合があります。

Copyright © 2003 株式会社日本レジストリサービス

2

全体構成
インターネットの歴史! インターネットとプロトコル! ネットワークのいろいろ! インターネットプロトコルの核心! ネットワークとアプリケーションの接続! すべてはアプリケーションのために! ドメイン名とIPアドレスの管理! アプリケーションはどう動く! インターネットと社会との融合!

Copyright © 2003 株式会社日本レジストリサービス

3インターネットの歴史「ARPANET」から「The Internet」へ

Copyright © 2003 株式会社日本レジストリサービス

4インターネットはなぜ生まれたか! 東西冷戦の産物!

ARPA(Advanced Research Project Agency)
アメリカ国防総省 高等研究計画局! ソ連に勝る軍事科学技術開発を推進するための組織! 冷戦構造を背景に、莫大な予算を駆使!

!

ARPANET（＝インターネットの原型）
1958年 国防総省内にARPA設置! 1962年 ARPA内にIPTO（情報処理技術部）設置! 1969年 ARPANET稼動!

Copyright © 2003 株式会社日本レジストリサービス

5

ARPANETが目指したもの
ARPANETが目指したもの! 「核戦争に耐えられるコンピュータネットワーク」!

当時のコンピュータネットワークは「スター型」が主流
中央の大型コンピュータにすべての機能が集中! 端末から中央に接続して機能を利用!

!

「スター型」の弱点
中央の大型コンピュータが停止すると何もできない! 端末から中央への接続が途絶えると何もできない!

Copyright © 2003 株式会社日本レジストリサービス

6

スター型ネットワーク

端末１

端末２
Copyright © 2003 株式会社日本レジストリサービス

端末３

大型コンピュータ
機能 A
機能 B
機能 C
機能 D

端末４
7

ARPANETの思想
ARPANETの思想! 核戦争に耐えるためには…

機能を集中させずに、ネットワーク上に分散配置! 局地的な攻撃によりネットワークの一部が破断しても、通信が確保できる冗長性のあるネットワーク構成! ネットワークの成長、広域展開を支えることができる、
単純で信頼性の高い通信技術!

!

パケット交換式広域分散ネットワーク＝インターネットの原型

Copyright © 2003 株式会社日本レジストリサービス

8広域分散ネットワーク
機能 A

機能 C

端末１

端末２

端末３

機能 B

Copyright © 2003 株式会社日本レジストリサービス

機能 D

端末４
9

…という建前の元に! 政治的建前と技術的本音「核戦争に耐えるネットワーク」は国防総省から予算を獲得するための建前! 研究に携わった技術者の本音は、!

コンピュータは便利だけど、専門的な処理はそれができる
コンピュータを設置しているセンターに行かなければならないし、他の研究所のデータをもらうには磁気テープを郵送してもらわなくちゃならない。
! 様々なベンダの、地理的も離れているコンピュータを接続して、遠隔処理をしたり、情報資源を共有したい。
!

!

「みんなで幸せになろうよ！」

Copyright © 2003 株式会社日本レジストリサービス

10

ARPANETの拡大
ARPANETの拡大!

1969年 最初のARPANET稼動!

!

カリフォルニア大学ロサンゼルス校（UCLA)・サンタバーバラ校、
スタンフォード研究所、ユタ大学を接続

1970年 ゼロックス社パロ・アルト研究所(PARC)設立!

1970年代 通信規格「イーサネット（Ethernet）」を開発

1972年 ARPAがDARPAと改名! 1973～74年 プロトコル「TCP/IP」開発!

!

!

DARPAのBob Kahnとスタンフォード大学のVinton Cerf

1980年代初頭 DARPAがUNIXへのTCP/IP実装を支援!
!

1983年 4.2BSDがリリースされる
UNIX＋イーサネット＋TCP/IP が標準的な形に

Copyright © 2003 株式会社日本レジストリサービス

11

ARPANETからインターネットへ
ARPANETからインターネットへ!

1982年 NSF（全米科学財団）がCSNET開始!

ARPANETで培われた技術を元にスーパーコンピュータの接続を開始

1983年 ARPANETから軍事部門（MILNET）分離! 1986年 NSFがCSNETをNSFNETとして再構築!

!
!

大学間を接続する学術研究目的の非商用ネットワークを構築
全米の基幹ネットワークに

1990年 ARPANETが役割を終えて廃止! 1991年 CIX（商用インターネット協会）設立! 1993年～1994年 NSFNETの運用が民間に移管!

!

インターネットを営利目的利用に開放

Copyright © 2003 株式会社日本レジストリサービス

12日本の政府主導学術ネットワーク（１）! 1975年 N1ネットワーク稼動

国立大学大型コンピュータネットワーク! 東京大学と京都大学を接続! 1980年にはほとんどの国立大学を接続! ARPANETとは異なる独自のプロトコルを採用! 電子メールが使えなかった!

!

1999年 運用終了

Copyright © 2003 株式会社日本レジストリサービス

13日本の政府主導学術ネットワーク（２）!

1986年 学術情報センター設立!

!

1987年 学術情報ネットワークパケット交換網開始!

国際標準として規格化が進められていた「OSI」を推進
しかしOSIはデファクト・スタンダードとなっていたTCP/IPを駆逐することはできなかった。

!

2002年 運用終了!

!

2000年 国立情報学研究所

1992年 インターネットバックボーン「SINET」運用開始

Copyright © 2003 株式会社日本レジストリサービス

14日本の草の根主導のネットワーク! 1984年 JUNET誕生

東京大学、東京工業大学、慶應義塾大学を接続! 電話線とUUCP（UNIXの通信方法）による接続! KDD研究所の協力で（こっそり）海外接続を実現、電電公社武蔵野研究所の協力で（こっそり）国内無料通信を実現! 87年5月、Inetクラブにより（正式に）海外接続を実現!

! 1988年 WIDEプロジェクト誕生!

専用線とTCP/IPによる「日本のインターネット」

Copyright © 2003 株式会社日本レジストリサービス

15

WIDEから日本のインターネットへ
WIDEから日本のインターネットへ!

WIDEによる研究インターネットの構築!

!

!

研究者の草の根活動では専用線による本格的なインターネットの構築ができない! 当時は64kbpsの専用線が月額数十万円もした
企業との共同研究という名目で資金を集め、日本のインターネッ
トを構築したのが「WIDEプロジェクト」

1990年代から商用プロバイダサービスが広がる!
!
!
!

1993年10月 AT&T Jensがサービス開始
1993年11月 IIJがサービス開始
1994年06月 富士通がサービス開始
1995年04月 東京インターネットがサービス開始

Copyright © 2003 株式会社日本レジストリサービス

16

インターネットの爆発!

WWW（World Wide Web）が出現!
!

!

Microsoft Windows95が標準でTCP/IPを搭載!

!

インターネットはUNIXを使う大学の研究者のものではなく、一般のパソコンユーザが使うものに個人向けプロバイダサービスの開始!
!

!

Mosaic、Netscapeがキラーアプリケーションに
インターネットの使い方が大きく変化

BEKKOAME、Rimnetなど、安価な個人向けサービスの普及
OCN、ODNなどキャリア系サービスによる全国展開

個人のインターネット利用環境は定額・高速化!
!

ダイアルアップ接続からADSL、FTTHに従量課金から定額課金へ

Copyright © 2003 株式会社日本レジストリサービス

17

参考図書
! 「電網創世記」!

滝田誠一郎、実業之日本社! 「インターネット」「インターネットII」!

村井純、岩波新書

Copyright © 2003 株式会社日本レジストリサービス

18

インターネットとプロトコル「通信」を成立させるために必要なもの

Copyright © 2003 株式会社日本レジストリサービス

19インターネットとは何か! 「Internet」 ＝ 「Inter」＋「Network」! 世界中のコンピュータ・ネットワークを接続した１つの大きなネットワーク
プロバイダ
企業

Copyright © 2003 株式会社日本レジストリサービス

大学

研究組織

20

通信を成り立たせるための約束! インターネットには異なるベンダの、異なるOSを搭載した様々な種類のコンピュータが接続されている! これらが通信を行うためには、その手順を決めておく必要がある! この手順を定めた約束事を「プロトコル」と言うCopyright © 2003 株式会社日本レジストリサービス

21

プロトコル! 日常世界におけるプロトコル

手紙：表に郵便番号・住所・氏名を書いて、ポストに投函する! 電話：相手の電話番号を入力し、「もしもし○○ですが…」と話し出す! 会談：あらかじめアポイントをとり、時間場所を取り決め、５分前には到着する!

! コンピュータネットワークにおけるプロトコル

ネットワーク上の通信相手を指し示す方法! データパケットを電気信号へ変換する方法など!

Copyright © 2003 株式会社日本レジストリサービス

22インターネットのプロトコル階層
アプリケーション層
アプリケーション層
トランスポート層
トランスポート層
インターネット層
インターネット層
データリンク層
データリンク層
物理層
物理層※書籍等では層の名称が違ったり7層に分けたものもありますが、本チュートリアルでは上記のような名称と定義し、また５層に分けて説明します。
Copyright © 2003 株式会社日本レジストリサービス

インターネットのプロトコルは階層的に設計されています。
! 層のことを「レイヤ」と呼びます。
!

各層の役割は？
! なぜプロトコルは1つではなくて、階層化されている
の？
!

23

プロトコル階層の上下関係
アプリケーション層
アプリケーション層

レイヤ７

トランスポート層
トランスポート層

レイヤ４

インターネット層
インターネット層

レイヤ３

データリンク層
データリンク層

レイヤ２

物理層
物理層

レイヤ１

Copyright © 2003 株式会社日本レジストリサービス

上位：論理的

下位：物理的24

ハードウェア層の役割
アプリケーション層
アプリケーション層!

トランスポート層
トランスポート層

ネットワークを構成する電気的・物理的要素を定義!
!

インターネット層
インターネット層
データリンク層
データリンク層
物理層
物理層

Copyright © 2003 株式会社日本レジストリサービス!

ソケット・コネクタの形
ケーブルの構造、特性
信号の電圧、波形メーカの違いによらない、
物理的な接続を確保! 物理的なネットワークの形
成が役割
!

25

データリンク層の役割
アプリケーション層
アプリケーション層!

信号処理手順を定義!

トランスポート層
トランスポート層!
!

インターネット層
インターネット層
データリンク層
データリンク層
物理層
物理層

Copyright © 2003 株式会社日本レジストリサービス

データ通信手順
パケットサイズ、構造
物理アドレスの規定

情報を、信号に変換して物理層に渡す! 物理層からの信号を情報として復元する! 論理的なネットワークの形
成が役割
!

26

インターネット層の役割
アプリケーション層
アプリケーション層!

!

トランスポート層
トランスポート層
インターネット層
インターネット層
データリンク層
データリンク層
物理層
物理層

Copyright © 2003 株式会社日本レジストリサービス

インターネット的な通信手
順を定義!

論理アドレスの定義
相手までの経路制御

情報に宛先情報を付加してデータリンク層に渡す! データリンク層からの情報が自分宛のものかどうかを判別する! ネットワークの中継地点では、適切なネットワークに情報を転送する!

27

トランスポート層の役割
アプリケーション層
アプリケーション層!

アプリケーション間での接続の確立が役割!

トランスポート層
トランスポート層!

インターネット層
インターネット層

通信相手アプリケーションの識別
情報パケットの順序整理

情報をパケットに分割し、イ
ンターネット層に渡す! インターネット層からのパケッ
トを並び替えて連結して、適切なアプリケーションに渡す!

データリンク層
データリンク層
物理層
物理層

Copyright © 2003 株式会社日本レジストリサービス

28

アプリケーション層の役割
アプリケーション層
アプリケーション層!

トランスポート層
トランスポート層

アプリケーション内での手
順を定義
!
!

インターネット層
インターネット層
データリンク層
データリンク層
物理層
物理層

Copyright © 2003 株式会社日本レジストリサービス

Webへのアクセス手順
メールの送受信手順

アプリケーションメッセージをトランスポート層に渡す! トランスポート層からの情報を受け取って処理する!

29

インターネットプロトコル群
アプリケーション層
アプリケーション層
トランスポート層
トランスポート層

HTTP
HTTP
（（Web
Web）
Web））

SMTP
POP
SMTP
POP
（（Mail
Mail送信）送信） （（Mail
Mail受信）Mail送信）Mail受信）
受信）

TCP
TCP

インターネット層
インターネット層
データリンク層
データリンク層
物理層
物理層

UDP
UDP
IP
IP

イーサネットイーサネット

ATM
ATM

FDDI
FDDI

※：他にも多くのプロトコルがありますが、代表的なもののみを記述しています。
Copyright © 2003 株式会社日本レジストリサービス

30

TCP/IP! インターネットを構成するプロトコルは、

トランスポート層のTCP・UDPと! インターネット層のIPを軸に、! 上位にアプリケーションを、! 下位に物理ネットワークを配している。
!

! TCP/IPとは、

狭義には中核となるトランスポート・インターネット層
を、! 広義にはインターネットのプロトコル群全体を指す!

Copyright © 2003 株式会社日本レジストリサービス

31

階層的プロトコルとカプセル化
アプリケーション層
アプリケーション層

アプリケーション
アプリケーション
データ
データ

トランスポート層
トランスポート層

TCP
TCP アプリケーション
アプリケーション
ヘッダ
データ
ヘッダ
データ
TCPセグメント

TCP
IP
TCP アプリケーション
アプリケーション
IP
データ
ヘッダ
ヘッダ
データ
ヘッダ ヘッダ

インターネット層
インターネット層

IPデータグラムデータリンク層
データリンク層

イーサネットTCP
イーサネットイーサネット IP
TCP アプリケーション
アプリケーション イーサネット
IP
トレーラ
ヘッダ
データ
トレーラ
ヘッダ ヘッダ
ヘッダ
データ
ヘッダ ヘッダ
イーサネットフレーム

Copyright © 2003 株式会社日本レジストリサービス

32

電子メール送受信のプロトコルモデル
電子メール
電子メール
アプリケーション
アプリケーション「こんにちは」「こんにちは」

電子メール
電子メール
アプリケーション
アプリケーション

TCP
TCP

メールの
メールの
データ
データ

TCP
TCP

IP
IP

インターネット
インターネット
のデータ
のデータ

IP
IP

イーサネットイーサネットイーサネットイーサネットイーサネットイーサネットCopyright © 2003 株式会社日本レジストリサービス

33

階層的プロトコルの理由
電子メール
電子メール
アプリケーション
アプリケーション

電子メール
電子メール
アプリケーション
アプリケーション

TCP
TCP

TCP
TCP

IP
IP

IP
IP

アプリケーションは
イーサネットイーサネットネットワークが何かに関知しない
Copyright © 2003 株式会社日本レジストリサービス

34

階層的プロトコルの理由
電子メール
電子メール
ネットワークは アプリケーション
アプリケーション
アプリケーションが何かに関知しない
電子メール
電子メール
アプリケーション
アプリケーション

TCP
TCP

TCP
TCP

IP
IP

IP
IP
イーサネットイーサネットCopyright © 2003 株式会社日本レジストリサービス

35

階層的プロトコルのメリット!

隣のレイヤへのデータの渡し方さえ守れば、離れたレイ
ヤが何であるかに関知しなくてよい。
!

!

電子メールアプリケーションは、それがどういうネットワークで運ばれるのか、知る必要はない。
イーサネットは、何のアプリケーションのデータを運んでいるのかを意識する必要はない。

同一レイヤ間での仮想的な接続を提供! 各レイヤの役割の明確化による実装単純化! レイヤ内での実装変更の容易さ!

Copyright © 2003 株式会社日本レジストリサービス

36

ネットワークのいろいろ
物理層・データリンク層

Copyright © 2003 株式会社日本レジストリサービス

37

インターネットは異種混合! 物理層・データリンク層の役割は、!

データを信号に変換して、媒体を通して目的の機器まで伝達すること! ところで、「インターネット」＝「イーサネット」だと思ってませんか？
インターネットにはイーサネット以外のネットワークもいろいろと接続されている! 異なるネットワークを接続することがインターネットの目的でもある!

Copyright © 2003 株式会社日本レジストリサービス

38物理層で使われる媒体
UTPケーブル
（Unshielded Twisted Pair）

Copyright © 2003 株式会社日本レジストリサービス

光ファイバケーブル

39

データリンク層プロトコル： Ethernet
LANで最も一般的に使われている方式! 正式にはIEEE802.3として規格化されている! 接続機器はMACアドレスという固有の番号を持つ! CSMA/CD方式の典型
!

!
!
!

!

Carrier Sense Multiple Access with Collision Detection
通信路を見張って、誰も話してなければ話し出す
運悪く誰かと同時に話し出したら話すのをやめて、ちょっと待つ

通信速度、ケーブルの種類によるバージョンが存在!
!

10BASE-5、10BASE-2
10BASE-T、100BASE-TX、1000BASE-T、etc…

Copyright © 2003 株式会社日本レジストリサービス

40その他のデータリンク層プロトコル
!

ATM
!
!

!

FDDI
!
!

!

物理層に光ファイバを用いた、155～622Mbpsのネットワーク
データを固定長の「セル」に分割し、ハードウェアのATMスイッ
チによって仮想的な通信路を確立さる方式
物理層に光ファイバを用いた、100Mbpsのネットワーク
トークンリング方式! リング状のネットワークに発言権を示す「トークン」を流す! トークンを持っている者だけが発言できる! 発言の必要がなければ隣の人にトークンを渡す

無線LAN（IEEE802.11x）、PPP、などなど

Copyright © 2003 株式会社日本レジストリサービス

41

ネットワークをつなぐ：物理層! 物理層での接続とは、同じ種類のネットワークを電気的に接続すること。
! 異なる種類のネットワークの接続は物理層ではできない。上位層を経由する必要がある。
!

! リピータ（Repeater）

信号の中身に関係なく、無条件に電気信号を伝達する。
! 一般的に用いられるハブ（Hub）はリピータの一種。
!

Copyright © 2003 株式会社日本レジストリサービス

42物理層での接続
転送元ホストHTTP
アプリケーション層
HTTP
アプリケーション層
TCP
トランスポート層
TCP
トランスポート層
インターネット層
IP
インターネット層
IP
データリンク層
データリンク層 イーサネット
イーサネットUTP
物理層
UTPケーブル
物理層
UTPケーブル
ケーブル

リピータ

転送先ホスト

HTTP
HTTP
TCP
TCP
IP
IP
イーサネットイーサネットUTP
UTPケーブル
ケーブル
UTPケーブル

電気信号の意味には
関知しない
UTP
UTPリピータ
リピータ
UTPリピータ

電気信号
Copyright © 2003 株式会社日本レジストリサービス

43

ネットワークをつなぐ：データリンク層! データリンク層での接続とは同じ種類のネットワークを信号的に接続すること! データリンク層が同一で、物理層の異なるネットワー
クの接続を行うことが可能。
!

! ブリッジ（Bridge）

信号の宛先MACアドレスを見て、伝達すべきもののみ伝達する。
! 一般的に用いられるスイッチングハブはブリッジの一種。
!

Copyright © 2003 株式会社日本レジストリサービス

44データリンク層での接続
転送元ホストHTTP
アプリケーション層
HTTP
アプリケーション層
TCP
トランスポート層
TCP
トランスポート層
インターネット層
IP
インターネット層
IP
データリンク層
データリンク層 イーサネット
イーサネットUTP
物理層
UTPケーブル
物理層
UTPケーブルケーブル

ブリッジ

転送先ホスト

HTTP
HTTP
TCP
TCP
IP
IP
イーサネットイーサネット
無線
無線LAN
LAN
無線LAN

信号の中身には関知しない
イーサネットイーサネット
UTP
無線
無線
UTP

ヘッダ
ヘッダ IP
IPデータグラム
データグラム トレーラ
トレーラ
IPデータグラム

Copyright © 2003 株式会社日本レジストリサービス

45

インターネットプロトコルの核心
インターネット層

Copyright © 2003 株式会社日本レジストリサービス

46IP ＝ Internet Protocol! インターネット層のIPこそが、インターネットのプ

ロトコルの中心! IPの役割
伝達する情報を「パケット」という小包にする。
! パケットには情報の送り先などの「ヘッダ情報」を付加する。
! ヘッダ情報が付加されたパケットが「IPデータグラム」! IPデータグラムを始点ホストから終点ホストまで運ぶことがIPの大きな役割!

Copyright © 2003 株式会社日本レジストリサービス

47送り先をどう特定する？

The Internet

Copyright © 2003 株式会社日本レジストリサービス

48

IPアドレス
IPアドレス! 送り先の特定方法

電話なら電話番号! 手紙なら住所・氏名! IPネットワーク（インターネット）なら「IPアドレス」!

! IPを使って（＝インターネット）通信をするものにはすべてIPアドレスが必要! IPアドレスは、インターネットにおける住所!

異なる機器が同じIPアドレスを使ってはいけない

Copyright © 2003 株式会社日本レジストリサービス

49IPアドレスの表記
IPアドレスの表記! IPアドレスは32ビット（32桁）の2進数

11000000101010000000000000001010! 人が覚えやすいように、8ビットごとにピリオドで区切って10進数で表記する

11000000 . 10101000 . 00000000 . 00001010
192 . 168 . 0 . 10
Copyright © 2003 株式会社日本レジストリサービス

50

通信相手はどこにいるの？

ネットワークD
ネットワークD

ネットワークC
ネットワークC

The Internet

インターネットは多くのネットワークの集合体
ネットワークA
ネットワークA

Copyright © 2003 株式会社日本レジストリサービス

ネットワークB
ネットワークB

51

ネットワークの識別! IPアドレスによって通信相手を特定するだけでは、

IP データグラムを届けることはできない! インターネットはネットワークの集合なので、相手がどのネットワークにいるのかが分からなけ
ればいけない! IPアドレスでは、相手のネットワークの識別と、相手ホストの特定の両方を行うことができる。

Copyright © 2003 株式会社日本レジストリサービス

52

IPアドレスのネットワーク部とホスト部
IPアドレスのネットワーク部とホスト部!

ネットワーク部・ホスト部に分かれている

３２ビット

ネットワーク部!

ネットワーク部!

!

ホスト部

インターネット全体の中でのどのネットワークかを識別

ホスト部!

そのネットワークの中のどのホストかを識別

Copyright © 2003 株式会社日本レジストリサービス

53

どこまでがネットワーク部？
! IPアドレスは０と１の羅列にすぎない!

IPアドレスを見ただけではネットワーク部の長さがわ
からない

11000000101010000000000000001010
ネットワーク部

ホスト部

？ビット

？ビット

! ネットマスクと呼ばれる目印で境目を表現
Copyright © 2003 株式会社日本レジストリサービス

54

ネットマスクの表記! IPアドレスの表記に合わせた３２ビット形式!

ネットワーク部を全て１、ホスト部を全て０と表記!

IPアドレスと併記することでネットワーク部の長さを表現

11000000.10101000.00000000.00001010
ネットマスク 11111111.11111111.11111111.00000000
IPアドレス
アドレス１が先頭から24個並んでいる
ネットワーク部の長さは24ビット
ビット
１が先頭から 個並んでいる → ネットワーク部の長さはこのネットマスクを１０進数に直すと、255.255.255.0
このネットマスクを１０進数に直すと、255.255.255.0 になる
Copyright © 2003 株式会社日本レジストリサービス

55

インターネット層での接続
転送元ホストHTTP
アプリケーション層
HTTP
アプリケーション層
TCP
トランスポート層
TCP
トランスポート層
インターネット層
IP
インターネット層
IP
データリンク層
データリンク層 イーサネット
イーサネットUTP
物理層
UTPケーブル
物理層
UTPケーブル
ケーブル

ルータ

転送先ホスト

HTTP
HTTP
TCP
TCP
IP
IP
PPP
PPP
電話線
電話線

パケットの中身には関知しない
IP
IP
イーサ
イーサ
UTP
UTP

PPP
PPP
電話線
電話線

物理的伝送路には関知しない
IP
IPヘッダ
ヘッダ TCPTCPセグメント
IPヘッダ
TCPセグメント
セグメント

Copyright © 2003 株式会社日本レジストリサービス

56

ルータと経路制御
宛先のネットワークがわかっても、IPデータグラムをどうやってそこまで運んでいくのか？
! ネットワークとネットワークを接続しているのが「ルータ」! IPデータグラムはルータによってネットワークを渡り歩いて目的地までたどり着く。
! IPデータグラムを次にどのルータに投げればよいのか？
→ 経路制御（ルーティング）! ルータは宛先ネットワークと、それに対応する中継ルータの一覧表を保持 → 経路表（ルーティングテーブル）!

Copyright © 2003 株式会社日本レジストリサービス

57

経路制御の仕組み! ルータがIPデータグラムを目的地に運ぶ! 宛先IPアドレスのネットワークアドレスを見て判断

送信側
目的地Aなら…こっち目的地Bなら…あっちCopyright © 2003 株式会社日本レジストリサービス

目的地A
目的地Aなら…こっち目的地Bなら…あっち58経路情報の実例
A
192.168.0.0

B
R1

C

172.16.0.0

10.0.0.0

R2
送信側
192.168.0.1
宛先
10.0.0.1

R1の経路情報
A direct

R2の経路情報
B directB

directC

direct

C

R2

A

R1

Copyright © 2003 株式会社日本レジストリサービス

目的地
10.0.0.159経路情報の自動生成! 経路情報はインターネットの拡大と共に増加経路情報を手動で設定していては、ネットワークの数の増加と、日常的な構造の変化に対応できない。
! 自動的に経路情報を作る仕組みが考案された。
!

! 「ルーティングプロトコル」の基本

ルータに接続されているネットワークの情報を保持! 同一ネットワークのルータと経路情報を交換! 離れたネットワークの情報もルータ同士の情報交換
でルーティングテーブルに追加される!

Copyright © 2003 株式会社日本レジストリサービス

60

インターネット上のルーティング! 組織間は大まかな経路制御! EGP（External Gateway Protocol）! 組織内部は細かい経路制御! IGP（Internal Gateway Protocol）

プロバイダA
IGP

Copyright © 2003 株式会社日本レジストリサービス

EGP

プロバイダB
IGP

61

インターネット全体の構造! 様々な組織が接続しEGPで経路制御している組織

プロバイダA

EGP

組織

研究組織
IGP

IGP

EGP
組織

IGP

IGP

企業

プロバイダB

Copyright © 2003 株式会社日本レジストリサービス

組織62代表的なルーティングプロトコル! IGP! 小～中規模なネットワーク向け! RIP（Routing Information Protocol）! OSPF（Open Shortest Path Fast）! EGP! 大規模なネットワーク向け! 主にISP同士の接続に使われる! BGP（Border Gateway Protocol）

Copyright © 2003 株式会社日本レジストリサービス

63

その他の経路情報! デフォルトゲートウェイ! デフォルトルートとも呼ばれる! 経路情報に存在しない宛先に適用される経路! インターネットへの出口が１つしかない時に使用される! 末端のPC! インターネットへの出口が１つしかないルータ

Copyright © 2003 株式会社日本レジストリサービス

64

デフォルトゲートウェイの実例! デフォルトゲートウェイをルータに向ければあとの経路制御はルータに任せられる
インターネット
ルータのIPアドレス
192.168.0.254

デフォルトゲートウェイをルー
タのIPアドレスにする

PC1
Copyright © 2003 株式会社日本レジストリサービス

・・・・・
65

ネットワークとアプリケーションの接続
トランスポート層

Copyright © 2003 株式会社日本レジストリサービス

66

トランスポート層の役割! インターネット層までの活躍で、データを送り先のホストまで届けることはできた。
! でも…
ホストの中で動いているいろいろなアプリケーションの中から、目的のアプリケーションにデータを渡すにはどうしたらよいの？
! 情報が伝送の途中で失われたりした場合、どうしたらよいの？
!

! そこでトランスポート層の出番
Copyright © 2003 株式会社日本レジストリサービス

67

トランスポート層のプロトコル! TCPとUDPの２つ

TCP … Transmission Control Protocol! UDP … User Datagram Protocol!

! TCP/IPというとTCPとIPの組み合わせ、と思いがちですが、そうではありません
UDPとIPを使った通信は「UDP/IP」とは言いません! 様々なプロトコル全体を指して「TCP/IP」と言います!

Copyright © 2003 株式会社日本レジストリサービス

68

ポート番号：アプリケーションの通信窓口! IPアドレスでホストを識別したその先にあるもの!

アプリケーションの通信窓口を識別するために用意されているのが「ポート番号」
ホストA
192.168.0.10

IPでの接続＝IPアドレス

TCP/UDPでの接続＝ポート番号
Copyright © 2003 株式会社日本レジストリサービス

TCP Port 80

Web
サーバ
WebサーバTCP Port 25

メールサーバUDP Port 53

DNS
サーバ
DNSサーバ69

ポート番号!

代表的なアプリケーションには世界共通のポート番号が割り当てられている!
!
!

HTTP → TCP ポート80番
SMTP → TCP ポート25番
DNS → UDP ポート53番

メールを送る場合ならTCPを利用しポート番号を25番にセットしてデータを送信する! 0～1023の番号をWell Known Portと呼ぶ!

!
!

標準的なアプリケーションが利用するために予約されているポー
ト番号
勝手に他の用途に使ってはいけない

Copyright © 2003 株式会社日本レジストリサービス

70

TCPと
TCPとUDPの違いは？
UDPの違いは？
! どちらも、IPで運ばれたデータをポート番号で識別されるアプリケーションに届ける、という機能は同じ。
! 違いは「信頼性の確保」に対する姿勢
IPデータグラムは、経路の途中で壊れたり失われたりする。
! IPデータグラムは、先に送信したものよりも後から送信したものが、順序が入れ替わって先に到着することがある!

Copyright © 2003 株式会社日本レジストリサービス

71

TCPは「コネクション型」
TCPは「コネクション型」! TCPでは、最初に通信をするアプリケーション同士が通信用の仮想的なパイプを作る。
このパイプは、入り口でパケットに細切れにしたデー
タも、出口で元通りに復元する! 復元するときには、パケット到着の順序が入れ替わっていても、ちゃんと元通りに並び替える! このパイプを通るデータが途中で壊れたり失われたりした場合は、自動的に再送要求をする! 相手がデータを正しく受け取ったことを確認する!

Copyright © 2003 株式会社日本レジストリサービス

72

TCPによる接続
TCPによる接続
転送元ホスト

転送先ホストHTTP
HTTP
アプリケーション層
HTTP
HTTP
アプリケーション層
信頼性のある通信路
TCP
TCP
トランスポート層
TCP
TCP
トランスポート層
IP
インターネット層
IP
IP
IP
インターネット層
IP
IP
PPP
データリンク層
イーサネット
イーサ
PPP
PPP
イーサ
データリンク層 ネットワーク上の転送には関知しない
イーサネット
PPP
UTP
UTP
電話線
電話線
物理層
UTPケーブル
UTP
電話線
電話線
物理層
UTPケーブル
ケーブル
TCP
TCPヘッダヘッダ アプリケーションデータ
アプリケーションデータ
TCPヘッダ

Copyright © 2003 株式会社日本レジストリサービス73

UDPは「コネクションレス型」
UDPは「コネクションレス型」! UDPでは、パケットに細切れにしたデータ（UDP

データグラム）を相手にどんどん投げつける。
細切れにしたパケットは、相手に届くときも細切れのまま。
! 順番が入れ替わっても知らない。
! 途中で壊れたりなくなったりしても知らない。
! 相手がデータを受け取れる状態かどうかも知らない。
! 相手がデータを受け取れなかったとしても知らない。
!

Copyright © 2003 株式会社日本レジストリサービス

74

UDPによる接続
UDPによる接続
転送元ホスト

転送先ホスト

動画
動画
アプリケーション層
動画
動画
アプリケーション層
UDP
UDP
トランスポート層
UDP
UDP
トランスポート層
IP
インターネット層
IP
IP
IP
インターネット層
IP
IP
PPP
データリンク層
イーサネット
イーサ
PPP
PPP
イーサ
データリンク層 ネットワーク上の転送には関知しない
イーサネット
PPP
UTP
UTP
電話線
電話線
物理層
UTPケーブル
UTP
電話線
電話線
物理層
UTPケーブル
ケーブル
UDP
UDPヘッダヘッダ アプリケーションデータ
アプリケーションデータ
UDPヘッダ

Copyright © 2003 株式会社日本レジストリサービス

75

TCPか
TCPかUDPかUDPか! TCPとUDPの違い

TCPは信頼性が確保できるが、その分の性能的オー
バーヘッドも大きい! UDPは身勝手だけど、伝送効率は高い!

! 利用するサービスによって使い分ける!

通信の確実性が必要なものはTCP!

!

電子メールやWebコンテンツなど

データ単位が小さかったり、多少情報を失ってもリア
ルタイムな通信を優先する場合はUDP!

映像・音声の配信や、DNSクエリなど

Copyright © 2003 株式会社日本レジストリサービス76すべてはアプリケーションのために
アプリケーション層

Copyright © 2003 株式会社日本レジストリサービス

77結局のところ! 物理層からトランスポート層までは、すべてアプ

リケーション層のためにある。
! アプリケーション層から見れば、データが相手のアプリケーションに正しく届けばよいだけ。
!

「ネットワークさん、がんばってね」! というわけで、アプリケーション層の勉強では、他の層のプロトコルはとりあえず忘れましょう。
Copyright © 2003 株式会社日本レジストリサービス

78アプリケーションプロトコルの例! DNS（Domain Name System）!

ドメイン名とIPアドレスを変換する! SMTP（Simple Mail Transfer Protocol）!

電子メールを送信する! POP（Post Office Protocol）!

電子メールを受信する! HTTP（Hyper Text Transfer Protocol）!

Webコンテンツを転送する

Copyright © 2003 株式会社日本レジストリサービス

79アプリケーション層での通信相手の識別! メールを送るにも、Webを見るにも、通信相手を指定する方法が必要。
インターネット上でのホストを識別するものとしてインターネット層のIPアドレスを利用することができる。
! が、IPアドレスは人間には使いにくい。
! おまけに、ネットワーク構造の変化でIPアドレスは変わることがある。
!

! アプリケーション層で人間が使うために考えられたのが「ドメイン名」
Copyright © 2003 株式会社日本レジストリサービス

80ドメイン名での通信相手識別! WebのURLの例

http://www.example.co.jp/~taro/
http://jprs.jp/! 電子メールアドレスの例

taro@example.co.jp
ui@jprs.co.jp
Copyright © 2003 株式会社日本レジストリサービス

81

アプリケーション「DNS
アプリケーション「DNS」
DNS」の役割! ドメイン名を使って様々なアプリケーションが通信を行う!

しかし、下位層のIPでは、通信相手を特定するために
IPアドレスが必要! ドメイン名をIPアドレスに変換するアプリケーションとして「DNS」が存在する!

つまり、DNSは、他のアプリケーションを支える、基本
的なアプリケーション

Copyright © 2003 株式会社日本レジストリサービス

82

ドメイン名のプロトコル! ドメイン名として使える文字

アルファベット、数字、ハイフン! 日本語の平仮名・片仮名・漢字など、各国言語文字!

! 文字列解釈!

アルファベットの大文字・小文字は区別されない! ドメイン名階層ピリオドで区切られた階層構造を持つ! 一番右のラベルが最上位、左に行くにしたがって階層が下がる!

Copyright © 2003 株式会社日本レジストリサービス

83ドメイン名の階層
下位

上位

example . co . jp
第１レベルドメイン（TLD：
TLD：Top Level Domain）
Domain）
第２レベルドメイン（SLD：
SLD：Second Level Domain）
Domain）
第３レベルドメイン（3LD：
LD：3rd Level Domain）
Domain）
Copyright © 2003 株式会社日本レジストリサービス

84

DNSの機能DNSの機能! クライアント・サーバモデル!

クライアントリゾルバ（多くのOSに組み込まれている）! 名前解決要求をサーバに送信する
!

!

サーバ
DNSサーバ（ネームサーバとも言う）! ドメイン名とIPアドレスの変換結果をクライアントに返す!

DNS
クライアントwww.example.jpののIPアドレスは？
アドレスは？

Copyright © 2003 株式会社日本レジストリサービス

192.168.0.10です
です

DNS
サーバ
85

DNSの特徴
DNSの特徴! DNSサーバは1台じゃない

世界中のホストがDNSを利用するため、1台では耐えられない! ドメイン名の階層構造に応じた、分散データベースとして構築されている!

! DNSサーバの役割分担!

コンテンツサーバ
ドメイン名とIPアドレスの対応表を持っている! もしくは、下位層のDNSサーバのアドレスを持っている!

!

キャッシュサーバ!

リゾルバからの要求を受け、DNS階層をたどって答を得る

Copyright © 2003 株式会社日本レジストリサービス

86

DNSの階層構造
DNSの階層構造
最上位のルートサーバは個々のドメイン名の情報を持っていないが、TLDごとのDNSサーバのアドレスを知っている
TLDのDNSサーバは個々のドメイン名のDNSサーバのアドレスを知っている

ルートサーバ「.jp」サーバ
「
.
kr
」
サーバ
「.de」サーバ「.fr」サーバ「jprs.jp」サーバ「
example.jp」
サ
個々のドメイン名の「hoge.jp「」foo.jp
サー 」サーバ

DNSサーバが、IPアド
レスなどの情報を持っている

Copyright © 2003 株式会社日本レジストリサービス

87

DNSでドメイン名をDNSでドメイン名をIP
でドメイン名をIPアドレスに変換
IPアドレスに変換②www.jprs.jpのIPアドレスは？

ルートサーバ③「.jp」のネームサーバに聞いてみて

DNSサーバ（キャッシュ
サーバ）④www.jprs.jpのIPアドレスは？

「.jp」サーバ⑤「jprs.jp」のネームサーバに聞いてみて⑥www.jprs.jpのIPアドレスは？
⑦「192.168.0.10」だよ「jprs.jp」サーバ①www.jprs.jpのIPアドレスは？

リゾルバ

www.jprs.jpのIPアドレスが知りたい！

Copyright © 2003 株式会社日本レジストリサービス

階層化されたコンテンツサーバ88

ドメイン名とIP
ドメイン名とIPアドレスの管理
IPアドレスの管理
インターネットの資源管理構造

Copyright © 2003 株式会社日本レジストリサービス

89

ドメイン名もIP
ドメイン名もIPアドレスもIPアドレスも「一意性」が必要! ドメイン名とIPアドレスは、インターネットの上でホストを識別する名前
同じIPアドレスのホストが複数存在してはいけない! 同じドメイン名のホストが複数存在してはいけない!

! 同じアドレス・ドメイン名が存在すると、どっちと通信していいのかわからなくなってしまう! だから、
好きなIPアドレスを勝手に使っていいわけではない! 好きなドメイン名を勝手に使っていいわけではない!

Copyright © 2003 株式会社日本レジストリサービス

90IPアドレスの管理構造
IPアドレスの管理構造
IANA（ICANN）

61.0.0.0 ～61.255.255.255

APNIC

JPNIC

61.112.0.0 ～61.127.255.255

61.120.0.0 ～61.120.255.255

ユーザ
ユーザはISPからIPアド
レスの割り当てを受ける
Copyright © 2003 株式会社日本レジストリサービス

61.120.151.80

ISP

61.120.151.64 ～61.120.151.127
91

トップレベルドメイン名（TLD
TLD）
トップレベルドメイン名（
TLD
）の種類
!

ccTLD（country code TLD）!

世界中の各国に１つずつ定められたTLD

日本は「.jp」! 他に、韓国「.kr」、中国「.cn」、ドイツ「.de」、イギリス「.uk」、など!

!

gTLD（generic TLD）
国とは関係のないTLD! 「.com」、「.net」、「.org」、「.info」、「.biz」など! 「.gov」、「.edu」、「.mil」はARPANET時代からの名残でアメリカ専用となっている!

Copyright © 2003 株式会社日本レジストリサービス

92

ドメイン名の管理構造! 各TLDごとに、その一意性管理を行う「レジストリ」という組織が存在する。
TLDが「.jp」であるJPドメイン名では、一意性管理を
JPRSがレジストリとして担っている。
! JPドメイン名を使うためには、使いたいドメイン名を指定事業者（ISPなど）を通して申し込むことが必要。
!

!

TLDレベルのDNSサーバはレジストリが運用している

Copyright © 2003 株式会社日本レジストリサービス

93JPドメイン名の種類
JPドメイン名の種類! 属性型JPドメイン名

１つの組織で１つだけ登録できる! 会社や大学など、組織種別によってSLD（9種）を規定!

example.co.jp … 民間企業
! example.ac.jp … 大学、研究機関など! example.ne.jp … プロバイダなど! example.go.jp … 政府組織!

! 汎用JPドメイン名!

誰でも、どんな組織でも、個人でも、いくつでも!

example.jp、jprs.jp、宇井隆晴.jp

Copyright © 2003 株式会社日本レジストリサービス

94

アプリケーションはどう動く？
Webブラウザからのアクセスを例に
TCP/IPのおさらい

Copyright © 2003 株式会社日本レジストリサービス

95

Webブラウザでホームページを見る
Webブラウザでホームページを見る! アプリケーション層から見た一連の動作

ユーザが見たいURLを指定する! DNSでWebサーバのIPアドレスを調べる! Webサーバに接続し、HTTPでコンテンツを要求する! WebサーバからHTTPでコンテンツが送られてくる! Webブラウザでコンテンツを表示する!

! ２つのアプリケーション層のプロトコルを利用

DNS … ドメイン名とIPアドレスを変換! HTTP… WebのHTMLコンテンツの送受信!

Copyright © 2003 株式会社日本レジストリサービス

96アプリケーション層での動作①URLを指定する「http://www.example.co.jp/」②DNSサーバでIPアドレスを調べる「www.example.co.jpのIPアドレスは？」③DNSサーバがIPアドレスを返す「192.168.0.10 です」

DNSサーバ④Webサーバにコンテンツを要求する「GET /index.html HTTP/1.0」⑥HTMLを表示する⑤Webサーバがコンテンツを返す
HTML
HTML
コンテンツ
コンテンツ

Copyright © 2003 株式会社日本レジストリサービス

Webサーバ
97

Webサーバへの要求送信
Webサーバへの要求送信
Webサーバにコンテンツを要求する

アプリケーションメッセージの送信
アプリケーション層
アプリケーション層

HTTP
HTTP

HTTP
HTTP

GET
GET //index.html/index.html
index.html HTTP/1.0
HTTP/1.0
Copyright © 2003 株式会社日本レジストリサービス

98トランスポート層での動作
192.168.0.10のTCP port 80番に接続してTCPセグメントを送る

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

HTTP
HTTP
TCP
TCP

信頼性のある通信路

HTTP
HTTP
TCP
TCP

TCP
TCPヘッダヘッダ アプリケーションデータ
アプリケーションデータ
TCPヘッダ
Copyright © 2003 株式会社日本レジストリサービス

99

インターネット層での動作
192.168.0.10のホストに向けて
IPデータグラムを送る

アプリケーション層
アプリケーション層
トランスポート層
トランスポート層
インターネット層
インターネット層

HTTP
HTTP
TCP
TCP
IP
IP

IP
IP

HTTP
HTTP
TCP
TCP
IP
IP

IP
TCPセグメント
IPヘッダ
TCPセグメント
セグメント
IPヘッダ
ヘッダ TCP

Copyright © 2003 株式会社日本レジストリサービス

100データリンク層・物理層での動作
信号を物理ネットワークを通して伝える

HTTP
アプリケーション層
HTTP
アプリケーション層
TCP
トランスポート層
TCP
トランスポート層
インターネット層
IP
インターネット層
IP
データリンク層
データリンク層 イーサネット
イーサネット
無線電波
物理層
無線電波
物理層

Copyright © 2003 株式会社日本レジストリサービス

IP
IP
イーサ
イーサ
無線電波
無線電波

イーサ
イーサ
UTP
UTP

HTTP
HTTP
TCP
TCP
IP
IP
イーサ
イーサ
UTP
UTPケーブル
ケーブル
UTPケーブル101

インターネットと社会との融合
社会基盤としてのインターネット

Copyright © 2003 株式会社日本レジストリサービス

102

インターネットでできること! 性能・技術の進歩!

最初は文字のやりとりしかできなかったものが、画像、音声、動画など、様々なメディアを扱うことができるよ
うになった! 特別なものから当たり前のものへ

インターネットは、研究者が使うものから、誰もが生活の中で使うものへ! 音楽を聴く、本を読む、テレビを見る、などの行動と同じレベルに「インターネットを使う」!

Copyright © 2003 株式会社日本レジストリサービス

103既存の仕組みとの融合、置き換え! インターネットの上で育ってきたサービス!

電子メールやチャットなど! 既存の媒体をインターネットが置き換えようとしているもの
固定電話とIP電話の関係! 郵便と電子メールの関係! 出版とオンラインメディア! 実生活とオンラインゲーム？
!

Copyright © 2003 株式会社日本レジストリサービス

104

「使う」ものから「使っている」ものへ! 今はまだインターネットは意識して「使う」もの「インターネットでWebを見よう」! 「インターネットでメールを送ろう」!

! これがいつのまにか「使っている」ものへ!

「○○さんに電話しよう」!

!

実はその電話、インターネットを使っています「テレビであの映画をリクエストして見よう」!

そのサービス、インターネットを使っています

Copyright © 2003 株式会社日本レジストリサービス

105

社会基盤としてのインターネット! 「あると便利なもの・役立つもの」から「なくてはな

らないもの」へ! インターネットが生活、企業活動、社会、経済を支える基盤としてなくてはならないものになった
時、インターネットは社会基盤（インフラ）になった

Copyright © 2003 株式会社日本レジストリサービス

106

おわりに

Copyright © 2003 株式会社日本レジストリサービス

107

まとめ
! インターネットは、軍事・学術研究分野から一般に広がり、社会基盤となりました。
! どんなに高度で複雑なアプリケーションでも、イ
ンターネットプロトコルの役割は同じです。
! 各層のプロトコルは、それぞれが奥深いものです。また、アプリケーションは次々と新しいものが開発されています。
! 全体像を掴むことで、個々の技術を理解しやすくなります。
Copyright © 2003 株式会社日本レジストリサービス

108

Copyright © 2003 株式会社日本レジストリサービス

109