情報ネットワーク論 第3回 TCP/IPの基礎知識2

情報ネットワーク論 第3回
TCP/IPの基礎知識2
笹井 一人 (非常勤講師)
東北大学電気通信研究所 助教
[email protected]
http://www.riec.tohoku.ac.jp/~kazuto/mue/infonet/
1
先週出た質問
• Q.3WAYハンドシェイクは無駄になるのでは
ないか?
• A.その通りで、結構無駄になります。
– TCP:インターネット越しにうまくデータを届けるプ
ロトコル
– UDP:データを早く届けるために、3WAYハンドシェ
イクを省略したプロトコル
– データの重要性によって、アプリケーション毎にど
ちらを使うかが決められています。
2
TCP/IPにおける機器の識別
• 識別子
– たくさんある中から特定のものを見つけるために文字や数字を使って
付ける名前のようなもの。
TCP/IP
識別子
アプリケーション層
トランスポート層
インターネット層
ネットワークインターフェイス層
→ ポート番号(TCP,UDP)
→ IPアドレス(IPプロトコル)
→ MACアドレス(イーサネット)
ソフトウェア
ソフトウェア
経由する機器
送信側
受信側
MACアドレスで識別
IPアドレスで識別
3
トランスポート層で使われる「ポート番号」
• ポート:ソフトウェアとの仮想的な通路
アプリケーション層
仮想的なデータの通路を作る
トランスポート層
通路の出入り口=ポート
• ポート番号
– ポートがどのソフトウェアとの通路なのかを識別
ソフトウェア
ソフトウェア
ポート番号
ポート番号
ソフトウェア
ポート番号
TCP/IPプロトコルスタック
同時に複数の通路を作ることができる→同時に複数のサービスを利用できる
4
トランスポート層で使われる「ポート番号」
• ポート番号を使ったデータの流れ
送信側ポート番号と宛先ポート番号
データ
セグメント
サーバ
サーバソフト
ポート番号
TCP/IP
プロトコルスタック
クライアント
あらかじめポート番号を
作っておき、クライアントか
らのデータを待ち受ける
データのやりとりを始める際
に通路を作成する
送られてきたセグメントの
ヘッダに含まれているポート
番号でどの通路かを判断
5
ソフトウェア
ポート番号
TCP/IP
プロトコルスタック
ポート番号の種類
ポート番号の種類
0~ 1023
ウェルノウンポート番号(the Wellknown Ports)
1024~ 49151
予約済みポート番号(theRegisteredPorts)
49152~ 65535
動的/プライベートポート番号(the Dynamicand/orPrivatePorts)
ウェルノウンポート番号
20 FTP(データ転送)
25
SMTP(メール)
110
POP3(メール)
21 FTP(制御用)
53
DNS
123
NTP
22 SSH
67
DHCP
443
HTTPoverTLS/SSL
23 Telnet
80
HTTP(ウェブ)
587
Submission(メール送信)
サーバ
クライアント
ソフトウェア
TCP/IP
プロトコルスタック
動的/プライベートから
一つ選んで使う
ソフトウェア
データ
宛先のサーバソフトの
ポート番号はウェル
ノウンポート番号
6
TCP/IP
プロトコルスタック
ネットワークサービスに対応する
ウェルノウンポート番号を使う
インターネットで使われるIPアドレス
• IPアドレス
– インターネット層のIPプロトコルが使う識別子
• IPプロトコルが作成するデータグラムのヘッダに含まれる
– 送信元(sourceと呼ぶ)アドレス
– 宛先(destinationと呼ぶ)アドレス
• ルーティング
– 宛先アドレスの情報に基づいて、経路を決定する
• コンピュータにIPアドレスを付ける=「割り当てる」
• IPv4:現在最も普及しているバージョン
– 192.168.10.1のようなアドレス
– IPv6(次期バージョン):2001:0db8:bd05:01d2:288a:1fc0:0001:10ee
• IPアドレスはネットワークアドレスとホストアドレスに分かれる
7
グローバルIPとプライベートIP
• グローバルIP
– インターネットの中で必ず1つしかない(重複を許さないように管理さ
れている)アドレス
– ICANNという組織によって世界的に管理
• プライベートIP
– ネットワーク管理者が自由に割り当てることができるIPアドレス
– LANでは各コンピュータや機器にプライベートIPを割り当てる
プライベートIP
インターネット
ルータ
プライベートIPはインターネットで通用
しないので、ルータ等でグローバルIP
に変換してデータをやりとりする
8
グローバルIP
IPアドレスのクラス
• IPアドレスは全32ビットのうち先頭から何ビットまでがネット
ワークなのかによって、クラスA~Eに分けられる
– クラスA:8ビット(0.0.0.0~127.255.255.255)
• プライベートIP= 10.0.0.0~10.255.255.255
– クラスB:16ビット(128.0.0.0~191.255.255.255)
• プライベートIP= 172.16.0.0~172.31.255.255
– クラスC:24ビット(192.0.0.0~223.255.255.255)
• プライベートIP= 192.168.0.0~192.168.255.255
• 各ネットワークの先頭はネットワークアドレス(全体を表す)
• 特殊なアドレス
–
–
–
–
ブロードキャストアドレス:一番最後のアドレス
マルチキャストアドレス:クラスDのアドレス
ループバックアドレス:自分自身を表すアドレス(127.0.0.1)
クラスEは実験用のアドレス
9
サブネットマスク
ネットワークアドレス
ホストアドレス
1111111111111111 11111111
IPアドレス+サブネットマスク
00000000
ネットワークを表す部分が決める
ネットワークアドレス
ホストアドレス
クラスCのプライベートIP(192.168.0.0~192.168.255.255)に
サブネット「255.255.255.240」を組み合わせてみる
①192.168.0.0と255.255.255.240を2進数にする
IPアドレス 11000000.10101000.00000000.00000000
サブネットマスク
11111111.11111111.11111111.11110000
②サブネットマスクで「1」の部分は、IPアドレスの「0」「1」をそのまま書く
11000000.10101000.00000000.0000
③サブネットマスクで「0」の部分(ホストアドレスを表す部分)の数
00000001001000110100010101100111
100010011010 10111100110111101111
④ ③で得た値をつけて10進数に
11000000.10101000.00000000.00001010 =192.168.0.10
10
MACアドレス
MACアドレス
製造時にメーカが割り当てる
MACアドレス 全48ビット
24ビット
24ビット
OUI:製造メーカを表す部分
宛先と送信元MACアドレスは順次変わる
A
フレーム
メーカが個々のイーサネットカード
に割り当てる部分
B
フレーム
C
送信側
宛先MACアドレス ----- B
送信元MACアドレス-- A
受信側
宛先MACアドレス ----- C
送信元MACアドレス-- B
11
ブロードキャスト
• ブロードキャスト
– 1台からネットワーク全体にデータを送る
– ホストアドレスの一番後ろ(2進数を1で埋める)が使われる
• ブロードキャストアドレスの種類
– リミテッドブロードキャスト(255.255.255.255)
• 同じネットワーク全体に送る
– ディレクテッドブロードキャスト(XXX.XX.XXX.255)
• 指定したネットワーク全体に送る
– MACアドレスの場合(FF:FF:FF:FF:FF:FF)
ネットワークに参加している
すべてのコンピュータにデータを送る
相手の識別子など、データを
やりとりする時必要な情報を
問い合わせる時に使う
12
マルチキャスト
• マルチキャストグループに所属するコンピュータに
データを送る
– クラスDとして予約された範囲(224.0.0.0~239.255.255.255)
– 224.0.1.0~238.255.255.255はIANAによって予約された範囲
– 239.0.0.0~239.255.255.255はLANなどで使うためのアドレス
送る
グループに参加する
マルチキャスト対応のソフト
ウェアでグループ用のマル
チキャストアドレスを設定
グループ
複数の宛先に同時にデータを送る際に、何度もユニキャスト(一対一)を
繰り返さなくても、中継機器でデータを複製して送信することができる
13
ARP(AddressResolutionProtocol)
• データをやり取りする相手のIPアドレス←ユーザが決
める(MACアドレスは指定しない)
– ARPプロトコルによってMACアドレスを調べることができる
• ARPプロトコルの仕組み
– MACアドレスを知りたい相手が同じネットワークにいる場
合
– 「このIPアドレスを持つコンピュータや機器は、MACアドレ
スを教えてください」と要求するパケットをブロードキャスト
で送信
– 「自分のMACアドレスはこれです。」とユニキャストで返信
– じぶんのIPアドレスが該当しなければ返信しない
• ARPで知ったアドレスはARPテーブルとして保存
• RARP:MACアドレスからIPアドレスを問い合わせるプロ
トコル
14
まとめ
• TCP/IPにおける識別子
– ポート番号:トランスポート層
– IPアドレス:インターネット層
– MACアドレス:ネットワークインターフェイス層
• 特殊なアドレス
– ネットワークアドレス(先頭のアドレス)
– ブロードキャストアドレス
– マルチキャストアドレス
• ARPプロトコル:IPアドレス~MACアドレス検索
15