TCP/IP の基本的な仕組み

共通科目情報処理(上級)、インターネットの仕組み、2004年12月06日

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/ipe/inet-2004/2004-12-06
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/ipe/
http://www.coins.tsukuba.ac.jp/~yas/
http://www.ipe.tsukuba.ac.jp/~yshinjo/

■復習

インターネットの表面的な「使い方」

■今日の重要な話

10年後も通用する、一般的な原理と技能を身につける。 個人ごとに目標を設定する。

■インターネットとは

インターネット ( an internet ) とは、もともとネットワークのネットワーク、つまり、いくつかのネットワー クが ルータ(router)というコンピュータを使って 相互接続されたもである。

最小のinternet(小文字)

最小のinternet(小文字)

ネットワーク とは、それぞれ独立した方針で運営されているコンピュータ・ネットワーク である。

インターネットではないコンピュータ・ネットワーク

LAN は、狭い範囲のコンピュータを接続するためのネットワーク (後述)。

世界最大のインターネットは、インターネットと呼ばれる。これは、英 語で書くと、固有名詞のということで頭を大文字にして the Internet と綴られる。今日の話題は、この固有名詞としてのインターネットである。

固有名詞としてのインターネットは、次のような意味を含む。

  1. 以下で説明する TCP/IP という共通の通信プロトコルにもとづくネットワークのネットワーク
  2. このネットワークを活用し発展させる人々のコミュニティー
  3. このネットワークを通じて到達できる資源の集積
(2), (3) の意味合いも大事。

現在のインターネットは、 ARPANET という、1960年代の終りにアメリカ国防省の資金による研究プロジェクトの結 果作られたネットワークが元になっている。ARPANET の研究成果の1つとし て、TCP/IP という 通信プロトコルがある。 プロトコル(protocol)、 あるいは、 通信プロトコル(communication protocol) とは、通信を行う機器、コンピュータ、あるいは、プログラムの間でどのよう な手順で行うかを定めた規則である。

インターネットという言葉は、TCP/IP では到達できなくても、UUCP (Unix-to-Unix system copy, ファイルをダイアルアップでコピーする)などの 何らかの方法で電子メールを交換できる範囲を意味することもある。(電子メー ルが、インターネットの応用で最も重要。)

◆インターネットと電話

電話のネットワークと比較することで、インターネットの説明をする。通信量 で見た場合、1994年まで世界最大のネットワークは、電話であった。 1995年では、インターネット上を流れるデータの通信量が、電話による音 声の通信量を超えた。

ネットワークとして見た時の電話の特徴

  1. つながっている機器は、電話機(音声と電気信号を変換する機械)である。
  2. ネットワークを流れるデータは、音声のみである。
  3. 電話には、電話番号が振られている。
  4. どの電話もどの電話とも接続可能である(例外あり)。
  5. 電話を掛ける時、電話を使う人は、電話番号を指定するだけでよい。 電話を使う人は、途中の通信を中継している交換機の存在を気にしなくてもよい。

インターネットの特徴

  1. つながっている機器は、コンピュータである。
  2. ネットワークを流れるデータは、コンピュータで扱えるデータ(ビットの並び、2進数)である。
  3. コンピュータにはIPアドレスと呼ばれる番号がふられている。
  4. どのコンピュータもどのコンピュータとも接続可能である(例外あり)。
  5. 通信をするとき、使う人は、IPアドレスを指定するだけでよい。 使う人は、途中の通信を中継しているコンピュータ(ルータ)の存在を気にしなくてもよい。

電話にはない、インターネットの特徴は、末端のコンピュータの力を借りて、 さまざまなサービスが提供できることにある。

◆データグラム

インターネットでは、大きなデータを小さなデータの断片(データグラム、パ ケット)に分割して送る。

◆インターネットへの路

問題:あるコンピュータをインターネットに繋ぐにはどうすればよいか。

答え:既にインターネットに繋がっている所になんとかしてつなぐ。

◆インターネット接続サービス・プロバイダ(Internet Service Provider, Network Service Provider)

NTTと同じような通信会社に分類される。ケーブルテレビ局などをのぞいて、 自前で通信媒体を持っている所は少なく、NTTなどから専用線を借りてイン ターネット接続サービスを提供している。

法律用語: 電気通信事業法

第一種通信事業者
自前で回線設備をもっている
第二種通信事業者
第一種通信事業者から回線を借りて通信サービスを提供する

◆接続形態

インターネット接続サービス・プロバイダまでの接続

図? インターネット接続サービス・プロバタイダまでの接続方法

図? インターネット接続サービス・プロバタイダまでの接続方法

モデムは、電話回線などもともとアナログ信号しか通らないような線でディジ タル情報(ビットの並び)を送るための機器。電話回線につなぐモデムでは、 ディジタル情報(ビットの並び)は、音声(表す電気信号)に変換されて電話 回線に送られる。

◆bps (bit per second)

通信速度の単位。毎秒何ビットおくれるか。

◆ビット(bit)

ディジタル情報の量を図る単位。

◆LAN(Local Area Network)

部屋の中から大学キャンパス程度までの範囲を接続するためのネットワーク。 イーサネットとWi-Fi(無線LAN)がよく使われる。

イーサネット

Wi-Fi (無線LAN)

◆アクセスラインとブロードバンド

自宅から電話局、または、インターネット接続サービス・プロバタイダまでの 回線を、アクセスラインとよぶ。

種類

「ブロードバンド」
電話的定義
電話回線より速い
通信の専門用語
1つの線に複数の信号を同時に流す
世俗的な定義
500 k bps 以上のアクセスライン

◆ADSL(Asymmetric Digital Subscriber Line)

音声を流すための銅線(光ではない線)に、音声では使わない高い周波数の信 号を流してデータ通信を行う仕組み。DSL (Digital Subscriber Line, ディジ タル加入者回線)の一種。Asymmetric とは、上り下りを非対称にして、下りを 高速にしたもの。

◆CDMA(Code Division Multiple Access)

多重接続(Multiple Access)とは、同じ周波数帯で複数の局が同時に利用する 意味。同時といっても、複数の通信を区別する必要がある。その方法にはいく つかの方法がある。

携帯電話でデータ通信の方法 携帯電話の音声の通信でも、内部的には連続的な音声の信号を、ディジタル・ データに変換し、分割してパケットとして送り出している。

携帯電話の課金の方法には次の2つの方法がある。

◆基幹ネットワーク

インターネット接続サービス・プロバイダより先は、どうなっているか。

インターネット接続サービス・プロバイダ間も、仕組みとしては、ルータで接 続されている。 ルータ間の接続には、NTTなどから借りた専用線(銅線、光)が使われる。

図? インターネット接続サービス・プロバタイダま間の接続

図? インターネット接続サービス・プロバタイダ間の接続

インターネット接続サービス・プロバイダが直接相互接続している場合もあるが、 ある場所に置かれた特別なルータで相互接続されている場合もある。 この相互接続の場所を NSPIXP (Network Service Provider Inter eXchange Pint)CIX (Commercial Internet eXchange) とう。

世界のインターネットの中心は、アメリカである。世界各国は、基本的には、 アメリカのインターネットのどこかに接続する。 アメリカ以外の2国間の通信も、アメリカ経由になることが多い。

国内のインターネット接続サービス・プロバイダのいくつかは、独自の国際専 用回線をアメリカに向けて引いている。

アジアやヨーロッパにもアメリカを通らずに通信する回線も増えて来ている。

■インターネットで使えるサービス

インターネットで現在よく利用されているサービス(アプリケーション、 応用)には、次のようなものがある。

  1. 電子メール
  2. ネットワーク・ニュース
  3. ファイル転送(ftp)
  4. WWW (The World Wide Web)
  5. 遠隔ログイン
  6. 文字による対話、
  7. 音声、動画像

情報処理の実習でやったものは、インターネットの「応用」。「応用」は、通 信の専門用語。

◆この講義ではあまり詳しく取り上げないサービス

以下で簡単に説明する。

◆遠隔ログイン

遠隔ログインとは、遠く離れたコンピュータを直接接続されているコンピュー タと同じように利用するための仕組みである。この機能を利用すると、遠くの コンピュータの計算パワーを利用したり、そのコンピュータで動いているデー タベースを利用することができるようになる。主に、文字による対話的な利用 で使われる。

筑波大学教育用コンピュータでは、icho というサーバを遠隔ログインで利用 することもできる。遠隔ログインすると、Unix というオペレーティング・シ ステムで動作するさまざまなプログラムを利用することができる。

図? 遠隔ログインによるプログラムの実行の様子

図? 遠隔ログインによるプログラムの実行の様子

◆IRC(Internet Relay Chat)

IRC (Internet Relay Chat) は、文字による遠隔会議のプログラムある。ある参加者が打ち込んだメッセー ジは、即座に他の行単位で参加している人全員に送られる(ネットワーク・ニュー スでは、1つの文書単位で、遅延がある)。

IRCの参加者は、何種類かのプログラムを使って近くのサーバ・プログラムに 接続して、メッセージを送受信する。サーバ・プログラムは、 他のサーバ・プログラムとの間でメッセージの交換する。結果として世界中 の、地理的に離れている参加者の間でメッセージの交換することができる。

IRC のサーバには、世界規模のものもあれば、日本国内のもの、組織内のもの がある。1つの IRC のサーバでも、複数の会議室があり、この会議室のこと を IRC では、 チャネル(channel) (チャンネル、チャンネル) と呼んでいる。

◆Instant Messenger

グループ内で、他のメンバがネットワークを使っているか、使っていれば音声 による対話(chat)やファイル転送を行うことができる。 よく使われているプログラムには次のようなものがある。

◆VoIP (Voice over IP)

インターネットの仕組みを利用して音声を送る、つまり、電話をかける。

◆ビデオ会議

SIP

◆ビデオの配信

■TCP/IPによるインターネットの仕組み

電子メールでもWWWでも、TCP/IPという仕組みを用いて通信を行っている。 この節では、TCP/IP の仕組みについて簡単に説明する。 大事な考え方には、次のようなものがある。

◆TCP/IP

◆プロトコル・スタック

電子メールでもWWWでも、TCP/IPを用いた通信では、 のように、4つの プロトコルの 層(layer)( 通信の手順を決めた規則) が使われる。TCP/IP自身は、 TCP層ipそう という2つのプロトコルから成り立っている。 ネットワーク通信では、 さまざまなプロトコルが決められ、全体として層をなしている。この様子を、 プロトコル・スタック(protocol stack) と呼ぶ。

TCP/IPの4層モデル

TCP/IPにおけるプロトコル・スタック

◆IP

IP (Internet Protocol) は、(信頼性がない)データグラム転送サービスを提供する通信プロトコルである。 データグラム(datagram) は、データと電報(telegram)から作られた造語で、 次のような性質を持つ。 データグラムは、 パケット と呼ばれることもある。

データグラムは、葉書に似ている。IPのデータグラムが配達 されるときに使われる番号が、 IPアドレス である。IPアドレスとしては、現在32ビットの整数が使われている。 (IPv6 では、IP アドレスは、128ビットになる。)

ルータによるデータグラムの転送

ルータによるデータグラムの転送

ルータは、IPアドレスを見て、データグラムの送り先を判断する。

郵便局で、住所を見て、送り先を判断するのと似ている。郵便局は、一番末端 のもの(ポストから集配したり家に配ったりする)ではなくて、中間的な集配を する郵便局がある。

同様に、ルータも、自分自信は、最終到達地点のコンピュータを知らなくても、 別のルータに送るだけのようなものもある。

ルータは、隣のルータや回線が故障した時には迂回路を探す。 迂回絽がなければ通信は途絶する。

◆経路制御(ルーティング)

ルータとルータは、どの回線やルータが生きているか、通信速度はどうなって いるか等の情報を交換し会う。これらの情報を元に、各ルータは、受け取った データグラムを次の最適の経路/ルータに送る。

◆IPアドレスの表記

IPアドレス を表現する時には、普通、8ビットずつ区切って、0から255までの10進 数を4つで表現される。たとえば、次のように書く。


12.34.56.78
これは、10進数でいくつになるかを計算したい時には、次のようにして計算 する。

(((12 * 256)+34)*256+56)*256+78

◆TCP層

TCP(Transmission Control Protocol) は、IP の機能を利用して、信頼性のある(reliable)双方向の ストリーム転送サービス(stream transport service) を提供する通信プロトコルである。 ()。 ストリーム には、次のような性質がある。

TCPで通信をする時に、通信相手を識別するにはIPアドレスと ポート番号(port number) が使われる。ポート番号は、16ビットの整数で、よく使われる アプリケーション ( サービス ) には、あらかじめどの番号を使うかが決めらている。これを well-knownポート番号(well-known port number) という。

TCP/IPで2つのプロセスが通信をしている図

TCP/IPによりより提供されるストリーム

◆応用層

TCP層の上には、 応用層 が定義されている。この層では、電子メールの転送、ファイル転送、遠隔ログ イン、WWW、といった TCP/IP を利用するプログラムの間の通信方法が定義さ れている。

TCP/IPを使った通信は、まるでコンピュータ同士(プログラム同士)が電話で 会話するように進められる。

表? TCP/IPの上に定義されているプロトコルの例

--------------------------------------------------------------------
ポート番号 プロトコルの名前			目的
--------------------------------------------------------------------
21	FTP(File Transfer Protocol)		ファイル転送
23	Telnet					遠隔ログイン(telnet)
25	SMTP(Simple Mail Transfer Protocol)	電子メールの転送
79	finger					fingerコマンド
80	HTTP(HyperText Transfer Protocol)	WWWのデータ転送
110	POP(Post Office Protocol Version 3)	電子メールの受信
119	NNTP(Network News Transfer Protocol)	ネットワーク・ニュース
						の記事の転送
143	IMAP(Internet Mail Access Protocol)	電子メールの受信・保管
513	login					遠隔ログイン(rlogin)
--------------------------------------------------------------------

◆物理層

IPのデータグラムを転送するためには、さまざまな物理的な媒体 (電線、光ケーブル、電波) が使わる。

IP の視点からは、LANアクセスライン も物理層と見なす。OSI 7層モデルでは違う。

モデムなどを使った通信では、 PPP(Point to Point Protocol)とい うプロトコルの上に、IPデータグラムが転送される。

◆ホストとルータ

ホスト
ネットワークに接続されているコンピュータの中で、ネットワークに1ヵ所の 出入り口( ネットワーク・インタフェース(network interface) )を持っているもの
ルータ
2ヵ所以上の出入り口を持っているコンピュータ
ルータは、ネットワークとネットワークを接続するた めのコンピュータである。 ルータは、入ってきたIPのデータグラムのIPアドレスを見 て、どのネットワークに送ればよいかを判断する。 ルータは、 ゲートウェー(gateway) と呼ばれることもある。

■情報量の感覚

情報量は、日常的な単位で時間以外のものと対応させるとわかりやすい (かもしれない)。長さ、重さ、面積、体積など。

情報量の単位。

ビット(bit,b)
コンピュータで扱う情報の最小単位。
バイト(byte,B)
(アメリカなら)1文字を扱える程度の情報量。 1バイトは、8ビットに等しい。
情報量には次のような係数がことがある。
k (キロ、ケイ)
1024 か 1000
M (メガ)
k の 1024 倍か 1000 倍。1,000,000 くらい。
G (ギガ)
M の 1024 倍か 1000 倍。1,000,000,000 くらい。
T (テラ)
G の 1024 倍か 1000 倍。1,000,000,000,000 くらい。
情報量の感覚
1 ビット
白と黒の区別
1 バイト (8ビット)
ヨーロッパ系文字 1 文字。256色。
2 バイト (16ビット)
日本語の漢字 1 文字。60000色。
3 バイト (24ビット)
1677万色(2の24乗)。コンピュータのモニタの画素の色数。
4 バイト (32 ビット)
現在広く使われているコンピュータが 一度に計算できる情報量。整数なら40臆程度まで。
256 ビット (32バイト)
16ドット×16ドットの白黒の画像(ビットマップ)で 漢字 1 文字を表現した時の情報量。
数 k バイト
典型的な電子メール1通の大きさ。数千文字。
8k バイト (8000 バイト、64 k ビット, 64,000 ビット)
1秒間に電話の品質で音声を記録した時の情報量。
1 M バイト (1,000,000 バイト, 8,000,000 ビット)
フロッピディスク1枚に保存できる情報量。
230M バイト
光磁気ディスク(MO)1枚に保存できる情報量。 (230M バイト以外にも、128MB/640MB/1.2GBのMOもある)
64M バイト〜512M バイト
一度にメインメモリに入る量(構成によって違う)
640M バイト (640,000,000 バイト)
CD 1 枚に保存できる情報量。
4.7G バイト (5,000,000,000 バイト)
DVD 1 枚(片面2層)に保存できる情報量。
20 G バイト〜400G バイト
ハードディスクの容量(構成によって違う)

■通信速度の感覚

通信速度の単位。

毎秒何ビット、bps、bit per second、bit/second
1秒間に何ビット送れるか
Bytpe/second、毎秒何バイト
1秒間に何バイトビット送れるか。 1 Byte/sec == 8 bps。
ややこしいことに、データ量はバイトで言うことが多く、通信速度は、ビット /秒が使われることが多い。

情報量の単位と同様に、通信速度にも次のような係数がことがある。

k (キロ、ケイ)
1024 か 1000
M (メガ)
k の 1024 倍か 1000 倍。1,000,000 くらい。
G (ギガ)
M の 1024 倍か 1000 倍。1,000,000,000 くらい。
T (テラ)
G の 1024 倍か 1000 倍。1,000,000,000,000 くらい。
通信速度の感覚
10 k bps
よく普及している携帯電話で得られる速度
32 k bps - 56 k bps
電話回線経由で接続した時に得られる速度。
32 k bps または 64 k bps
PHS (Personal Handy Phone) で得られる速度
64 k bps
ISDN (電話回線と同じ電線で直接ディジタル信号を流す時)
100 k bps
MP3 などで圧縮した音楽を流す時に必要な速度。
128 k bps
ISDN で2回線同時に使った時。
1500 k bps (1.5 M bps)
ISDN (光ファイバでディジタル信号を流す時)
1500 k bps (1.5 M bps)
音楽用 CD を圧縮しないでまま流す時に必要な速度。 (1倍速のCDの速度。)
1500 k bps (1.5 M bps)
ケーブルテレビや ADSL という方式でインターネット接続を した時に得られる速度。
5000 k bps (5 M bps)
DVD-Video を再生している時にディスクから読み出されている データの速度。
10 M bps, 100 M bps, 1000 M bps (1 G bit / second)
イーサネット(LANでよく使われている)

実習室のパソコンは、100M bps で学内LANに接続されている。

学内LANの基幹部分は、1G bps - 16G bps で接続されている。

学内LANからSINETへの出口は、??M bps。その先は

■実習

◆目の前のコンピュータの IP アドレスを調べる

注意:大学の Windows 2000 では、GUI の方法は権限がなくて失敗するかもしれない。

(1) GUI

  1. スタート
  2. 設定
  3. コントロールパネル
  4. ネットワークとダイヤルアップ接続
  5. ローカルエリア接続
  1. スタート
  2. プログラム
  3. アクセサリ
  4. システムツール
  5. システム情報
    1. コンポーネント
    2. ネットワーク
    3. アダプタ

(2) コマンドプロンプトから

ipconfig

複数のパソコンで実行して、IPアドレスが全部違うことを確認しなさい。

◆コマンドプロンプト

  1. スタート
  2. プログラム
  3. アクセサリ
  4. コマンドプロンプト

◆ping コマンドで接続を確認する(Windows)

コマンドプロンプトで次のように打つ。

ping 130.158.66.10

4回くらい繰り返したら自動的に止まるはずである。 強制終了は ^C (コントロールキーを押しながら C キーを押す)。

IP アドレスとして、別のものを指定しなさい。たとえば、次のようなものが 考えられる。

◆IP アドレスを指定して WWW サーバに接続する

http://www.ipe.tsukuba.ac.jp/ という URL の代わりに次の URL を使ってペー ジを開きなさい。

http://130.158.65.1/

◆目の前のコンピュータで Unix (Linux) を走らせる

電源を入れた直後に出るメニューで、Windows ではなくてUnix (Linux) を選 ぶ。

同じユーザ名とパスワードで使える状態になる。

コマンドで操作してみる。端末を開く。


who
date
cal
bc (終了は ^D (コントロールキーを押しながら D キーを押す))

look 英単語

電源を切る方法。

Unix 入門(古い)

人間とコンピュータの対話方法

◆目の前のコンピュータで Unix (Linux) の IP アドレスを調べる

端末で次のように打つ

/sbin/ifconfig -a

スペースは大事。

◆ping コマンドで接続を確認する(Unix)

端末で次のように打つ。

ping 130.158.66.10

自発的止まらないことがあるので、^C (コントロールキーを押しながら C キーを押す))で 強制終了する。

130.158.66.10 の他に、隣のコンピュータの IP アドレスを指定してみなさい。 ケーブルを抜く/電源を落としてから、同じ実験をしなさい。

■課題

◆課題1 パスワードの登録

次の画面で、パスワードを登録しなさい。

[パスワード登録画面]

このパスワードは、次回以降、出席や講義の内部ページのアクセスに利用する。

電子メールのアドレスは、必ず有効なものを指定しなさい。講義に関する重要 な連絡事項を流します。実習期間中には変更しないこと。もし変更があった場 合には、実習時間内に新城に連絡すること(電子メールでの要望には受付けま せん)。

締め切りは、2004年12月13日(月曜日) 23:59:59 とする。 実習時間中に行うことが望ましい。

◆課題2 Wiki 掲示板への書き込み

Tiki による講義の掲示板に、今週の授業内容に関す して書き込みを行いななさい。 締め切りは、2004年12月13日(月曜日) 23:59:59 とする。 実習時間中に行うことが望ましい。

◆課題3 電子メールの発信

講義の期間中ずっと有効なアドレスから新城に次のような形式の電子メールを 送りなさい。

To: yas@is.tsukuba.ac.jp
Subject: [ipe-inet-2004] Assignment-3, Survey

学籍番号
名前

(内容)

内容としては、次のようなものを含めなさい。

  1. 情報処理(実習)を含めて、どの程度のコンピュータに関する技量があ るか。扱えるソフトウェアなど。
  2. 自宅にパソコンがある人は、その種類(オペレーティング・システム)。
  3. 自宅にパソコンがインターネットに接続可能ならば、その手段。
  4. この科目に期待している内容。
この時発信に用いた電子メールのアドレスは、講義のメーリング・リストを作 成するために用いる。

締め切りは、2004年12月13日(月曜日) 23:59:59 とする。 実習時間中に行うことが望ましい。

電子メールには返信を返す。ただし、海外出張から帰国した後になる。

◆課題4 目標の設定

この講義で、各自の目標を設定しなさい。

去年の例:

よい目標とは、次のようなものである。 このような目標を考えて、Wiki による講義の掲示板 で発表しなさい。
  1. 名前(漢字)、学籍番号、学類、学年
  2. 課題のタイトル(1行、40文字以内)
  3. 課題の内容(10行〜20行、400文〜800字)。何をどこまで 達成したいか。今どこまでできて、どこまで伸ばしたいか。
第1回締め切りは、2004年12月13日15:00。第2回締め切りは、20日15:00 と する。2004年12月13日と20日の講義の時間に設定した課題について、レビュー を行う。


↑[もどる] ・[12月6日] →[12月13日]
Last updated: 2004/12/02 15:59:57
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>