第2章 TCP/IP 基礎知識

Download Report

Transcript 第2章 TCP/IP 基礎知識

TCP/IP基礎知識
4403046
4403076
4403022
4403058
4403056
4403048
1
佐藤
浜田
鎌田
高田
背山
椎葉
要太郎
ちひろ
一真
真希
有梨
洋
2.1
TCP/IP登場の背景と
その歴史
4403046 佐藤 要太郎
2
2.1.1軍事技術の応用から…
1960年代後半
障害が発生しても分散型ネットワークであれば、
迂回路がある限り通信を続けられる
パケット通信を利用すれば回線の利用効率が向上する
DoD
(アメリカ国防総省)
3
A
B
中心に障害が発生すると
多くの通信に支障がでる
図.障害に弱いネットワーク
4
A
B
いくつかのサイトに障害が
発生しても、迂回路を通って
パケットを配送できる
図.障害に強いパケットネットワーク
5
2.1.3 TCP/IPの誕生




1975年にARPANET内の研究グループが
開発した通信プロトコル
1982年頃までかかって仕様が決定
1982年からTCP/IPを実装したUNIXの
提供が始まる
1983年にARPANETの正式接続手順に
決定
6
2.1.2 ARPANETの誕生



1969年に誕生し、当初はアメリカ西海岸の
大学と研究機関のうちの4つのノードを
結んだもの
3年間で4つのノードから34のノードを
接続する形に発展
パケットによるデータ通信手法が実用に
耐えることが証明された
7
2.1.4
UNIXの普及とインターネットの拡大



1980年代、LANの発達とともに
UNIXワークステーションが急速に普及
TCP/IPネットワークの構築が盛んに
1980年代半ばごろから、
各コンピューターメーカー独自の
プロトコルもTCP/IPに対応する
8
2.1.5
商用インターネットサービスの開始




1990年代になるとISPを通じて企業や一般家庭が
インターネットを広く商用利用するように
TCP/IPは商用サービスにも耐えうる成熟した
プロトコルになっていた
インターネットは当初の研究ネットワークの
形ではなく、有料の商用サービスとして
急成長している
自由でオープンなインターネットは急速に
受け入れられていった
9
2.2
TCP/IPの標準化
4403076 浜田 ちひろ
4403022 鎌田 和真
10
2.2_1
TCP/IPの標準化
TCP/IPの標準化見られる特徴とは?
4403076 濱田 ちひろ
11
2.2.1
TCP/IPという語は何を指す
TCPとIPという2つのプロトコル?
↓
IPを利用したり、IPで通信したりするときに
必要となる多くのプロトコル群の総称
12
2.2.2 TCP/IP標準化の精神
早急なプロトコルの実現と普及ができた理由は・・?
オープンであること
→TCP/IPのプロトコルは、IETF [Internet Engineering Task Force]
の議論され標準化されるので、誰でも参加することができる
標準化するプロトコルが
実際に使えるものであるかを重視すること
→プロトコルの仕様を決めることを重視するのではなく、互いに通
信できる技術を追い求めてきた
→実用性の高いプロトコル
13
2.2.3 TCP/IPの仕様書RFC
RFC [Request For Comment]:
インターネット上で公開されているドキュメントで、プロトコルの仕様書や
プロトコルの実装や運用に関する有用な情報[FYI: For Your Information]
プロトコルの実験に関する情報などが含まれている
*RFCは決められた順番に番号が割り当てられる
*内容を改訂することは許されない
*拡張する場合は新しい番号でRFCの拡張部分を定義
*仕様を変更する場合には新しいRFCが発行され、古いRFCは無効に
STD [Standard]&FYI:
どの番号がどのプロトコルの仕様を示すかを決めたもので、
同じプロトコルなら仕様が更新されても番号は変化しない
ただし、指し示すRFCの番号は増えたり減ったり入れ替わる
14
2.2.4 TCP/IPプロトコルの
標準化の流れ
標準化作業は
IETFでの議論を
通して行われる
IETFでは年3回
ミーティングが
行われるほか、
通常はMLによる
議論が行われる
→標準になった時にはすでに十分に普及が終わっている
15
2.2.5 RFCの入手方法
RFCのオリジナル:
ftp://ftp.isi.edu/in-notes/
国内のanonymous ftp サーバ:
ftp://ftp.nic.ad.jp/rfc/
RFCに関する情報サイト:
http://www.rfc-editor.org/
16
2.2_2
TCP/IPの標準化
4403022 鎌田 和真
17
2.2.1
TCP/IPという語は何を指す
多くの場合TCPとIPという2つのプロトコルを
指すのではなく、IPを利用したり、IPで通信する時に
必要となる多くのプロトコル群の総称として使われる。
具体的には、IPやICMP、TCPやUDP、TELNETや
FTP、HTTPなど、TCPやIPに深く関係する
多くのプロトコルが含まれる.
18
2.2.2 TCP/IP標準化の精神
TCP/IPのプロトコルの標準化は、他の
標準化と比べると2つの点が大きく異なる

オープンであること

標準化するプロトコルが実際に使える
プロトコルかを重視すること
19
オープンである点について
TCP/IPのプロトコルは、IETEでの議論を
通して決められる.
このIETFには誰でも参加することが出来る.
通常この議論は、電子メールの
メーリングリストで行われる.
このメーリングリストにも誰でも参加できる.
20
2つ目の点について
プロトコルの使用を決めることを重視するのではなく、
互いに通信できる技術を追い求めてきたこと.
「TCP/IPは使用よりも先に、プログラムが
開発された」と言われるほど開発重視.
実装することを念頭に作業.
使用が決まったら複数の実装を持ち寄り
相互接続の実験
21
RFCとは

TCP/IPのプロトコルは、IETFで議論され標準化.
標準化しようとするプロトコルはRFCと呼ばれる
ドキュメントになり、インターネット上で公開される.

RFCはプロトコルの仕様書だけでなく、プロトコルの
実装や運営に関する有用な情報や、プロトコルの
実験に関する情報も含まれる.
22
2.2.4
TCP/IPプロトコルの標準化の流れ
1.インターネットドラフト (Internet-Draft)
2.提案標準 (Proposed Standard)
3.ドラフト標準 (Draft Standard)
4.標準 (Standard)
23
インターネットドラフト
プロトコルを提案する
↓
ドキュメントを書く
↓
インターネットドラフトとして公開
↓
議論
↓
実装、シミュレーション
24
提案標準
議論
↓
RFC=提案標準
25
ドラフト標準
IESGの承認
↓
ドラフト標準
26
標準
実用性に問題なし
↓
IESG承認
↓
標準
27
まとめ
標準になったプロトコルは、すでに広い
運用実績があるため、非常に実用性が高い
技術となる.
28
2.3
インターネットの基礎知識
4403058 高田 真希
29
インターネットの基礎知識
 インターネットとは
 インターネットとTCP/IPの関係
 インターネットの構造
 地域ネットワークとISP
30
インターネットとは 1

語源
複数のネットワークを結んで一つにすること。

過去の意味
2つのイーサネットセグメントをルーターで接続
(単純なネットワーク間接続)
企業内の部署間のネットワークや、
社内ネットワークを企業間で互いに通信できるよう接続
地域ネットワーク間の接続
世界的規模のネットワーク間の接続
31
インターネットとは 2

過去の意味は現在では
「Internet working」

現在の意味
全世界を接続しているコンピューター
ネットワークのこと.
たったひとつ.
誰もが参加できる.
32
インターネットとTCP/IPの関係

TCP/IPはインターネット運用の為
開発された

「インターネットのプロトコル」といえば
「TCP/IP」

「TCP/IP」といえば
「インターネットのプロトコル」
33
インターネットの構造

階層的な構造
ミクロ→マクロ

異なる組織がIXによって相互に
接続された巨大なネットワーク
34
地域ネットとISP

ISPや地域ネットに接続を依頼

ダイアルアップサービス.
ISPのアクセスポイントに電話で
接続している間だけ.

専用線サービス.
24時間接続.
35
2.4
TCP/IP プロトコル階層モデル
4403056 背山 有梨
36
TCP/IPとOSIモデル
TCP/IPとOSIでは階層モデルが少し異なる.
(教科書p62図2.6参照)
OSI参照モデルが「通信プロトコルに必要な
機能は何か」を中心に考えていることに対し、
TCP/IPの階層モデルは「プロトコルを
コンピュータに実装するにはどのように
プログラムしたらよいか」を中心に考えている.
37
●ハードウェア(物理層)
データを転送してくれる
●データリンク層
OSとハードウェアの橋渡しをする
38
インターネット層
IPプロトコルが使われる層.
以下のような種類がある

IP
ネットワークをまたいでパケットを配送するためのプロトコル

ICMP
パケットの送信元に異常があるかどうかを知らせる

ARP
通信の際、相手の物理的なアドレスを取得
39
トランスポート層
アプリケーションプログラム間の通信を実現

TCP
コネクション型で信頼性のあるトランスポート層のプロトコル.
ホスト間でのデータの到達性を保障.

UDP
コネクション型で信頼性のないトランスポート層のプロトコル.
相手に届いたかのチェックはしない。
40
アプリケーション層
セッション層以上の上位層。OSI参照モデルの
セッション層、プレゼンテーション層が、TCP/IPでは
すべてアプリケーションプログラムの中で実施。





WWW
電子メール
ファイル転送
遠隔ログイン
ネットワーク管理
41
2.5
TCP/IP階層モデルと通信例
4403048 椎葉 洋
42
2.5.1 パケットヘッダ
イーサネット
(IPヘッダ) (TCPヘッダ) (データ)
ヘッダ
IPヘッダ
(TCPヘッダ) (データ)
TCPヘッダ
データ
43
2.5.1 パケットヘッダ

ヘッダが含む情報
・送信者の宛先や情報
・そのプロトコルが運んでいるデータに関する情報
44
2.5.2 パケットの送信処理(TCP/IP)
①アプリケーションの処理
・アプリケーションプログラムによるメールの作成
・「おはようございます」と入力し、送信ボタンを押す
・符号化処理が行われる
・メール送信時にTCPにコネクション確立の指示
・コネクションを利用してデータ送信
・下位層のTCPに渡され、実際の転送処理が
行われる
45
2.5.2 パケットの送信処理(TCP/IP)
②TCPモジュールの処理
・アプリケーションの支持でコネクションの
確立やデータ送信をしたり、コネクションの
切断を行う
・信頼性あるデータ転送の提供
・TCPヘッダを付ける
・IPにデータを送る
46
2.5.2 パケットの送信処理(TCP/IP)
③IPモジュールの処理
・TCPヘッダの前にIPヘッダを付ける
・経路制御表を参照し、IPパケットを次に
受け渡すルーターやホストの決定
・ネットワークインターフェース
(イーサネットドライバ)のドライバにIPパケットを
渡し実際の送信処理をする
47
2.5.2 パケットの送信処理(TCP/IP)
④ネットワークインターフェースの処理
・IPパケットにイーサネットのヘッダが付けられ、
送信処理が行われる
・物理層により相手先に運ばれる
・送信処理中にFCSが計算され、フレームの
最後に付く
FCS:ノイズなどによりデータが破壊されたことを
検出するためのもの
48
2.5.3
データリンクを流れるパケットの様子
データ
データリンク層
ネットワーク層
宛先 送信者 イーサ 送信元 宛先
プロト
MAC
MAC
IP
IP
ネット
コル
アドレス アドレス タイプ アドレス アドレス タイプ
イーサネットヘッダ
IPヘッダ
トランスポート層 アプリケーション層 リンク層
送信元
ポート
番号
宛先
ポート
番号
TCPヘッダ
データ
アプリケーション
FCS
イーサネット
のヘッダやデータ トレイラ
データの流れる方向
データが処理される順
49
2.5.4 パケットの受信処理(TCP/IP)
⑤ネットワークインターフェースの処理
・イーサネットヘッダの宛先MACアドレスが
自分宛かどうか調べる
・自分宛ではない場合は削除
・イーサネットタイプフィールドを調べ、
イーサネットプロトコルが運ぶデータを調べる
・IPを処理するルーチンにデータを渡す
50
2.5.4 パケットの受信処理(TCP/IP)
⑥IPモジュールの処理
・IPヘッダの処理
・送信IPアドレス=自分のホストIPアドレスなら受信
・自分宛IPパケットの場合は上位プロトコルを調べる
・TCPの処理ルーチンへデータを送る
51
2.5.4 パケットの受信処理(TCP/IP)
⑦TCPモジュールの処理
・チェックサムを計算し、データの壊れたか否かを
確認
・順番通りデータを受信しているか確認
・ポート番号を調べ、通信を行っている
アプリケーションの特定
・データが届いた場合、送信ホストに
「確認応答」を返す
・確認応答が届かない場合、データを繰り返し送信
・正しく受信されれば、アプリケーション
プログラムにデータを渡す
52
2.5.4 パケットの受信処理(TCP/IP)
⑧アプリケーションの処理
・送信側が送信したデータをそのまま受信
・データを解析し、メールの宛先を知る
・宛先のメールボックスが存在しない
→「受取人がいない」とエラーを返す
・存在→メール本文を受信
・ハードディスクにメッセージを格納
・格納後、処理が正常に終了したことを
送信元アプリケーションへ伝える
・メッセージを格納できない→以上終了のメッセージ
53
2.5.5 ヘッダはプロトコルの顔
 プロトコルのパケットの構成
・プロトコルが利用する「ヘッダ」
・プロトコルの上位層が利用する「データ」
・ヘッダの構造は、細かい部分まで明確な仕様
・ヘッダを見れば、そのプロトコルが必要としている情報や
処理内容が見えてくる
プロトコルの顔!
54
パケット送受信の流れ
アプリケーション層
アプリケーション層
トランスポート層
トランスポート層
ネットワーク層
ネットワーク層
データリンク層
データリンク層
物理層
物理層
送信側
受信側
55