第2章 TCP/IPの基礎知識

Download Report

Transcript 第2章 TCP/IPの基礎知識

第2章 TCP/IPの基礎知識
情報通信ネットワーク
1
2.1 TCP/IP登場の背景と
その歴史
4407056 田端晃一
情報通信ネットワーク
2
軍事技術の応用から
アメリカ国防総省(DoD)はネットワーク
の一部が破壊されても通信が停止しないよ
うなネットワークを望んだ
回路がたくさんある分散型のネットワークが
理想
パケット通信が重要
情報通信ネットワーク
3
ARPANETの誕生

1969年にパケット交換技術の実用性を試験するた
めのネットワークが構築される(ARPANET)
◦ 当初のネットワークは、アメリカ西海岸の大学と研究機関
のうちの4つのノードを結んだものであった

その後3年間でノードの数が34に増える

この実験によって、パケットによるデータ通信手
法が実用に耐えることが証明された
情報通信ネットワーク
4
TCP/IPの誕生

ARPANETの実験では相手先のコンピュータ
との間で信頼性の高い通信手段を供給する
総合的な通信プロトコルの実験も行われた
1970年代前半にTCP/IPが開発される
1983年にARPANETで使う唯一のプロトコル
となる
情報通信ネットワーク
5
UNIXの普及とインターネットの
拡大





TCP/IPが登場した当時、OSとしてBSD UNIX
が利用されていた
このOSにTCP/IPが実装された
1980年代に、LANの発達により、UNIXワー
クステーションが普及し始める
大学や企業の研究所などがARPANETやその
後継のNSFnetに接続するようになる
TCP/IPによる世界的なネットワークを「イン
ターネット」と呼ぶようになる
情報通信ネットワーク
6
商用インターネットサービスの
開始
インターネットは当初、実験や研究目的で
スタートしたが、1990年代に企業や一般家
庭に普及し始める
 研究ネットワークとして長い間インター
ネットを運用してきた結果、TCP/IPは商用
サービスにも耐えうる成熟を遂げていた
 インターネットは有料の商用サービスとし
て急成長した

情報通信ネットワーク
7
2.2 TCP/IPの標準化
4407036 榊原 悠
情報通信ネットワーク
8
2.2.1 TCP/IPという語は何を指すのか

TCPとIPという2つのプロトコルである
か?

多くの場合は、IPで通信をする時に必要と
なる多くのプロトコル群の総称として使われ
る。
情報通信ネットワーク
9
2.2.2 TCP/IP標準化の精神
1.
2.
オープンである。
標準化するプロトコルが実際に使える
プロトコルであるかどうか重視する
情報通信ネットワーク
10
オープン

TCP/IPのプロトコルは、IETFでの議論
(通常電子メールのメーリングリスト)を通
して決められ、このIETFには誰でも参加
することができる。
情報通信ネットワーク
11
標準化するプロトコルが実際に使えるプ
ロトコル

プロトコルの仕様を決めることを重視するの
ではなく、互いに通信できる技術を追い求め
てきた

実用性が高いプロトコルに仕上がる。
情報通信ネットワーク
12
2.2.3 TCP/IPの仕様書RFC
標準化しようとするプロトコルは、RFCと
呼ばれるドキュメントになり、インターネッ
トで公開される。
 RFCになったドキュメントには番号が付け
られる。
 一度RFCになると内容を改訂できないの
で、拡張する場合は新しい番号が付けら
れる。
 変更する場合も新しいRFCが発行され、
古いRFCが無効になる。

情報通信ネットワーク
13
STD や FYI

STDやFYIでは、どの番号がどのプロトコ
ルの仕様を示すかが決められていて、同
じプロトコルならば仕様が更新されても
番号は変化しない。
情報通信ネットワーク
14
2.2.4 TCP/IPプロトコルの標準化の流れ
プロトコルの標準化作業は、IETFでの議
論を通して行われる。
 IETFでは年三回のミーティングが行われ
るが、通常はメーリングリストによる電子
メールで議論が行われる。

情報通信ネットワーク
15
プロトコル標準化の流れ
情報通信ネットワーク
16
特徴

TCP/IPの標準化は、標準を決めてから
普及させようとするほかの標準化団体と
違い、標準になった時には既に普及が
終わっている。
非常に実用性が高い技術となる。
情報通信ネットワーク
17
RFCの入手方法
インターネットを利用して入手する
 RFCのオリジナル(英語)は次のURLから
配布されている。

ftp://ftp.isi.edu/in-notes/
情報通信ネットワーク
18
2.3 インターネットの基礎知識
4407402 丹野 雅弘
情報通信ネットワーク
19
2.3.1 インターネットとは
今の意味
昔の意味
・ ネットワーク間接続という2
つのイーサネットセグメント
をルーターで接続する方
法
・企業内部の部署間や社内、
企業間で互いに通信でき
るように接続したもの
・地域や世界的規模でのネッ
トワーク間接続
・
ARPANET
(Advanced
Research Projects
Agency Network)か
ら発展し、全世界を
接続しているコン
ピュータネットワーク
情報通信ネットワーク
20
2.3.2 インターネットとTCP/IPの関係
インターネットをするためにはプロトコル
は絶対に必要
インターネットのプロトコル
TCP/IP
情報通信ネットワーク
21
2.3.3 インターネットの構造
• インターネットは、階層的な構造をもっている
世界中を結ぶ巨大なインターネット
地域ネットワーク
組織ネットワーク
小さなネットワーク
情報通信ネットワーク
22
• それぞれのネットワークは、バックボーンと呼
ばれる基幹ネットワークとスタブと呼ばれる末
端のネットワーク部分から構成される
• 一言でネットワークを表現すると、“異なる組
織が、IXによって接続された巨大なネットワー
ク”
・NOC(Network Operation Center)
ネットワーク同士の接続
・IX(Internet Exchange)
ネットワークの運営者や運用方針、利用方針
など異なるネットワークを対等に接続するポ
イント
情報通信ネットワーク
23
図1.インターネットの構造
情報通信ネットワーク
24
2.3.4 ISPと地域ネット
• 会社や家庭でインターネットを利用するため
にはISP(Internet Service Provider/通称:プロ
バイダー)や地域ネット(特定の自治体やボラ
ンティアが管理運営)と接続契約を結ばなけ
ればならない
• サービス内容、価格、条件が様々なので、良
く調べた上で自分の利用目的に合わせ契約
しましょう
情報通信ネットワーク
25
2.4 TCP/IPプロトコルの
階層モデル
4407402 丹野 雅弘
情報通信ネットワーク
26
2.4.1 TCP/IPとOSI参照モデル
OSI参照モデル
アプリケーション層
プレゼンテーション層
TCP/IPの階層モデル
アプリケーション
プログラム
アプリケーション層
オペレーティング
システム
トランスポート層
デバイスドライバと
ネットワークインター
フェイス
ネットワーク
インターフェイス層
(ハードウェア)
セッション層
トランスポート層
ネットワーク層
データリンク層
物理層
情報通信ネットワーク
インターネット層
27
2.4.2 ハードウェア(物理層)
• ハードウェア=イーサネットや
電話回線等
• 通信媒体は何でもよく、利用
に制限がない。
情報通信ネットワーク
28
2.4.3 ネットワークインターフェイス層
(データリンク層)
• データリンクを利用して通信をす
るためのインタフェースとなる階
層
• NIC(Network Interface Card)を動
かすためのデバイスドライバの
役割を果たす。
情報通信ネットワーク
29
2.4.4
インターネット層(ネットワーク層)
• IPプロトコル(IP、ARP、ICMP)を使用
ホストA
ホストB
ATM(専用回線)
イーサネット
イーサネット
情報通信ネットワーク
30
2.4.4
インターネット層(ネットワーク層)
• IPプロトコル(IP、ARP、ICMP)を使用
ホストA
ホストB
インターネット
情報通信ネットワーク
31
2.4.4
インターネット層(ネットワーク層)
• IP(Internet Protocol)
ネットワークをまたいでパケット転送し、イン
ターネット全体にパケットを送り届けるプロトコ
ル
→地球の裏側まで送ることが可能
ホストを識別するためにIPアドレスを使用
情報通信ネットワーク
32
2.4.4
インターネット層(ネットワーク層)
• ICMP
(Internet Control Message Protocol)
IPパケットに異常が発生してパケット転送でき
なかったときに異常を知らせるプロトコル
• ARP(Address Resolution Protocol)
物理的アドレス(MAC)をIPアドレスから取得す
るプロトコル
情報通信ネットワーク
33
2.4.5 トランスポート層
• アプリケーションプログラム間の通信を実現
する。
情報通信ネットワーク
34
TCP(Transmission Control Protocol)
• コネクション型で信頼性のあるトランスポート層
のプロトコル
ホストのデータの到達を保証
→順番が入れ替わっても、解決
→帯域幅の有効利用
→ネットワークの混雑緩和
※コネクションの確立、接続の制御を行う
→データやり取りが多いので、パケット量が少な
いファイルや音声や映像には不向き。
情報通信ネットワーク
35
UDP(User Datagram Protocol)
• コネクションレス型で信頼性のないトランス
ポート層プロトコル
ホストのデータの到達をチェックしない
→アプリケーションプログラムがチェックする
→TCPでの欠点であった、パケット量が少ない
もの、ブロードキャストの通信、映像、音楽向
き
情報通信ネットワーク
36
2.4.6 アプリケーション層
(セッション層以上の上位層)
• TCP/IPはセッション層以上はアプリケーション
層に全て統一
情報通信ネットワーク
37
WWW(World Wide Web)
・インターネットで情報をやり取りする仕組み。
・サーバーに公開された様々な情報を閲覧でき
る。
・HTTP(HyperText Transfer Protocol)がブラウ
ザとサーバーの間の通信で使われるプロトコ
ル、HTML(HyperText Markup Language)が送
信に使われるデータフォーマット
情報通信ネットワーク
38
電子メール(E-Mail)
・ネットワーク上で連絡を取り合える(Outlook
Expressなど)
→SMTP(Simple Mail Transfer Protocol)はアプ
リケーション層、MIMEはプレゼンテーション
層のプロトコル
※電子メールの発展がTCO/IPの発展に大きな
影響をもたらした。
情報通信ネットワーク
39
ファイル転送
・ 異なるパソコンのハードディスクにあ
るファイルを転送・受信すること。
・ファイル転送のプロトコルとして、
FTP(File Transfer Protocol) が利用さ
れている。
・TCPが2種類(制御、データ転送)存
在
情報通信ネットワーク
40
遠隔ログイン(TELNETとSSH)
• 遠く離れたコンピュータにログインして、その
コンピュータでプログラムを走ることができる
ようにする機能
情報通信ネットワーク
41
ネットワーク管理
(SNMP(Simple Network Management Protocol))
• SNMPは、エージェントとマネージャの通信に
使われるプロトコル。
• SNMPのエージェントは、ネットワークインター
フェイスの情報や通信パケットの量、機種の
温度の情報などの様々な情報を格納してい
る。
• SNMPを利用することでネットワークの混雑具
合の調査や、障害の発見、ネットワーク拡張
のための情報収集に役立てることができる。
情報通信ネットワーク
42
2.5.TCP/IP階層モデルと通信例
4407003 飯田 正成
情報通信ネットワーク
43
2.5.1. パケットヘッダ(1)
パケットの構造
ヘッダ
運びたい情報(データ)
ヘッダ
• 送信されるデータに付加
• 運んでいるデータに関する情報が入っている
• 階層を動くことによってヘッダが変化する
情報通信ネットワーク
44
2.5.1. パケットヘッダ
• パケットヘッダの階層化
イーサネット
(IPヘッダ) (TCPヘッダ) (データ)
ヘッダ
インサーネットではデータ
IPヘッダ
(TCPヘッダ) (データ)
IPではデータ
黄・・・データ
オレンジ・・・ヘッダ
TCPヘッダ
データ
TCPでのデータ
下位層から見ると、上位層から受け取るものはすべてひとつのデータになる。
情報通信ネットワーク
45
2.5.2. パケットの送信処理
1.アプリケーションの処理
2.TCPモジュールの処理
3.IPモジュールの処理
4.ネットワークインタフェースの処理
情報通信ネットワーク
46
2.5.2.1. アプリケーションの処理
アプリケーションプログラムでメールの作成
文字を入力 送信ボタンクリック
符号化の処理
TCPにコネクションの確立を指示
データの送信
TCPへ
情報通信ネットワーク
47
2.5.2.2. TCPモジュールの処理
 アプリケーションの指示によってコネクションの確立やデータ
の送信、コネクションの切断を行う
 信頼性のあるデータ転送の提供
アプリケーションからデータを受け取る
TCPのヘッダを付ける
IPへ
情報通信ネットワーク
 TCPヘッダ
• ポート番号
• シーケンス番号
• チェックサム
48
2.5.2.3. IPモジュールの処理
TCPからデータを受け取る
IPのヘッダを付ける
ネットワークインタフェースへ
IPヘッダ
• 宛先のIPアドレス
• 送信元のIPアドレス
• プロトコルタイプ
情報通信ネットワーク
49
2.5.2.4. ネットワークインタフェース
(イーサネットドライバ)の処理
IPからデータを受け取る
イーサネットのヘッダ
• 宛先のMACアドレス
イーサネットのヘッダを付ける
• 送信元のMACアドレス
• イーサネットタイプ
相手先に送信
• 送信処理中にFCSが計算されフレームの最後に付けられる
情報通信ネットワーク
50
2.5.3. データリンクを流れる
パケットの様子
データ
リンク層
データリンク層
ネットワーク層
宛先 送信者 イーサ 送信元 宛先
プロト
MAC
MAC
IP
IP
ネット
コル
アドレス アドレス タイプ アドレス アドレス タイプ
イーサネットヘッダ
IPヘッダ
トランスポート層 アプリケーション層
送信元
ポート
番号
宛先
ポート
番号
TCPヘッダ
データ
FCS
アプリケーション
のヘッダやデータ
データの流れる方向
データが処理される順
情報通信ネットワーク
51
2.5.4. パケットの受信処理
1.ネットワークインタフェースの処理
2.IPモジュールの処理
3.TCPモジュールの処理
4.アプリケーションの処理
情報通信ネットワーク
52
2.5.4.1. ネットワークインタフェース
の処理
相手側からデータ受信
イーサネットヘッダの宛先MACを確認
自分宛でない
削除
イーサネットタイプを確認
IPの処理ルーチンにデータを渡す
情報通信ネットワーク
53
2.5.4.2. IPモジュールの処理
データの受け取り
宛先IPアドレスの確認
プロトコルタイプの確認
TCPの処理ルーチンにデータを渡す
情報通信ネットワーク
54
2.5.4.3. TCPモジュールの処理
チェックサムを計算してデータが壊れてないか確認
番通り受信しているか確認
ポート番号の確認
送信ホストに「確認応答」を返す
送信したホストに届かない
データを繰り返し送信
アプリケーションプログラムにデータを渡す
情報通信ネットワーク
55
2.5.4.4. アプリケーションの処理
送信側が送信したデータをそのまま受信
受信したデータを解析
メールボックスが存在しない
エラーを返す
メッセージを格納
格納できない
異常終了のメッセージ送信
処理が正常に終了された事を送信元へ伝える
メールソフト起動後、ディスプレイ上に文字が表示される
情報通信ネットワーク
56
2.5.5. まとめ
パケットのヘッダにはプロトコルの仕様が
明確に表されている
つまり
ヘッダを見ればプロトコルの仕様がわかる
ヘッダはプロトコルの顔
情報通信ネットワーク
57