2.1 TCP/IP登場の背景と その歴史

第2章
TCP/IP基礎知識
4405019
4405020
4405023
4405071
4405074
4405082
小尾
帯金
加治
野村
濱田
松浦
雅人
秀行
正記
尚吾
洋之
研斗
2.1
TCP/IP登場の背景と
その歴史
4405074
濱田 洋之
2.1.1
軍事技術の応用から
1960年代後半
障害が発生しても分散型ネットワークであれば、
迂回路がある限り通信を続けられる
パケット通信を利用すれば回線の利用効率が向上する
DoD
(アメリカ国防総省)
A
B
中心に障害が発生すると
多くの通信に支障がでる
図.障害に弱いネットワーク
A
B
いくつかのサイトに障害が
発生しても、迂回路を通って
パケットを配送できる
図.障害に強いパケットネットワーク
2.1.2
ARPANETの誕生



1969年に誕生し、当初はアメリカ西海岸の大学
と研究機関のうちの4つのノードを結んだもの
3年間で4つのノードから34のノードを
接続する形に発展
パケットによるデータ通信手法が実用に
耐えることが証明された
2.1.3
TCP/IPの誕生




1975年にARPANET内の研究グループが開発
した通信プロトコル
1982年頃までかかって仕様が決定
1982年からTCP/IPを実装したUNIXの
提供が始まる
1983年にARPANETの正式接続手順に
決定
2.1.4
UNIXの普及とインターネットの拡大



1980年代、LANの発達とともに
UNIXワークステーションが急速に普及
TCP/IPネットワークの構築が盛んに
1980年代半ばごろから、
各コンピューターメーカー独自の
プロトコルもTCP/IPに対応する
2.1.5
商用インターネットサービスの開始




1990年代になるとISPを通じて企業や一般家庭がイン
ターネットを広く商用利用するように
TCP/IPは商用サービスにも耐えうる成熟した
プロトコルになっていた
インターネットは当初の研究ネットワークの
形ではなく、有料の商用サービスとして
急成長している
自由でオープンなインターネットは急速に
受け入れられていった
2.2
TCP/IPの標準化
4405082
松浦 研斗
2.2.1 TCP/IPという語は何を指すのか
・TCPとIPという2つのプロトコルで
あるか?
・多くの場合は、IPで通信をする時に必要
となる多くのプロトコル群の総称として使
われる。
2.2.2 TCP/IP標準化の精神
1.
2.
オープンである。
標準化するプロトコルが実際に使
えるプロトコルであるかどうか重視
する
オープン
 TCP/IPのプロトコルは、IETFでの議
論(通常電子メールのメーリングリス
ト)を通して決められ、このIETFには
誰でも参加することができる。
標準化するプロトコルが実際に使
えるプロトコル
 プロトコルの仕様を決めることを重
視するのではなく、互いに通信で
きる技術を追い求めてきた
・実用性が高いプロトコルに仕上がる。
2.2.3 TCP/IPの仕様書RFC
・ 標準化しようとするプロトコルは、RFCと
呼ばれるドキュメントになり、インターネット
で公開される。
• RFCになったドキュメントには番号が付け
られる。
• 一度RFCになると内容を改訂できないので、
拡張する場合は新しい番号が付けられる。
• 変更する場合も新しいRFCが発行され、
古いRFCが無効になる。
STD や FYI
 STDやFYIでは、どの番号がどのプ
ロトコルの仕様を示すかが決められ
ていて、同じプロトコルならば仕様が
更新されても番号は変化しない。
2.2.4 TCP/IPプロトコルの標準化
の流れ
 プロトコルの標準化作業は、IETF
での議論を通して行われる。
 IETFでは年三回のミーティングが
行われるが、通常はメーリングリ
ストによる電子メールで議論が行
われる。
プロトコル標準化の流れ
特徴
TCP/IPの標準化は、標準を決めて
から普及させようとするほかの標準
化団体と違い、標準になった時には
既に普及が終わっている。
非常に実用性が高い技術となる。
2.2.5 RFCの入手方法
インターネットを利用して入手する
 RFCのオリジナル(英語)は次のURLから配
布されている。

ftp://ftp.isi.edu/in-notes/
2.3
インターネットの基礎知識
4405019
小尾 雅人
2.3.1.インターネットとは
元は複数のネットワークを結び1つのネットワー
クにすること
 現在ではARPANET(アーパネット)から発展し、
全世界を接続しているコンピュータネットワーク
を指す
 インターネットは固有名詞

2.3.2.インターネットとTCP/IP
インターネット用に開発されたプロトコルが
TCP/IP
2.3.3.インターネットの構造
小規模のネットワーク同士を接続して中規模に
↓
中規模のネットワークも接続、徐々に巨大化
↓
現在のような世界的なネットワーク
2.3.3.インターネットの構造
その他必要なもの
 バックボーン(基幹ネットワーク)
 スタブ(枝葉となるネットワーク)
 NOC(ネットワーク間の接続するポイント)
 IX(運用、利用方針の違うネットワークを接続
するポイント)
2.3.4.ISPと地域ネット
インターネットを利用するためにはISP(通称
プロバイダー)や地域ネットと接続契約を結ば
なければならない。
 サービス内容、価格、条件を良く調べた上で
契約するようにしましょう。

2.4
TCP/IPプロトコルの
階層モデル
4405020
帯金 秀行
2.4.1
TCP/IPとOSI参照モデル
OSI参照モデル
アプリケーション層
プレゼンテーション層
セッション層
トランスポート層
ネットワーク層
データリンク層
物理層
TCP/IPの階層モデル
アプリケーション層
トランスポート層
インターネット層
ネットワークインターフェイス層
(ハードウェア)
2.4.2
ハードウェア(物理層)
物理的に転送してくれるハードウェア
→イーサネットや電話回線などの物理層
→ケーブルや無線でつなぐ
 信頼性やセキュリティ、帯域、遅延時間に制
限なし
※事項のネットワークインターフェイス層とまと
めて扱うことが多い。

2.4.3
ネットワークインターフェイス層

データリンクを利用して通信するためのイン
ターフェイス層=デバイスドライバ
※デバイスドライバ
・OSとハードウェアを橋渡しするソフト
→これがないと、パソコンで拡張したパーツ
(CD/DVDドライブ、グラフィックドライバ等)が
動かない!
2.4.4
インターネット層(ネットワーク層)

IPプロトコル(IP、ARP、ICMP)を使用
ホストA
ホストB
ATM(専用回線)
イーサネット
イーサネット
2.4.4
インターネット層(ネットワーク層)

IPプロトコル(IP、ARP、ICMP)を使用
ホストA
ホストB
インターネット
2.4.4
インターネット層(ネットワーク層)

IP(Internet Protocol)
ネットワークをまたいでパケット転送し、イン
ターネット全体にパケットを送り届けるプロトコ
ル
→地球の裏側まで送ることが可能
ホストを識別するためにIPアドレスを使用
2.4.4
インターネット層(ネットワーク層)
ICMP
(Internet Control Message Protocol)
IPパケットに異常が発生してパケット転送でき
なかったときに異常を知らせるプロトコル
 ARP(Address Resolution Protocol)
物理的アドレス(MAC)をIPアドレスから取得
するプロトコル

2.4.5 トランスポート層
2つの重要なプロトコルが含まれる層
・TCP ・UDP
 アプリケーションプログラム間の通信を実現
→識別にポート番号を使用

2.4.5 トランスポート層
TCP(Transmission Control Protocol)
ホストのデータの到達を保証
→順番が入れ替わっても、解決
→帯域幅の有効利用
→ネットワークの混雑緩和
※コネクションの確立、接続の制御を行う
→データやり取りが多いので、パケット量が少
ないファイルや音声や映像には不向き。

2.4.5 トランスポート層

UDP(User Datagram Protocol)
ホストのデータの到達をチェックしない
→アプリケーションプログラムがチェックする
→TCPでの欠点であった、パケット量が少な
いもの、ブロードキャストの通信、映像、音楽
向き
2.4.6
アプリケーション層(セッション層以
上)

TCP/IPはセッション層以上はアプリケーション層
に全て統一
応答
ホストA
Httpd
Webブラウザ
メールソフト
Sendmail
telnet
telnetd
サーバー
クライアント
要求
ホストB
2.4.6
アプリケーション層(セッション層以
上)

WWW(World Wide web)
サーバーに公開された様々な情報を閲覧でき
る(Internet Explorer、Sleipnir等)
→HTTP(HyperText Transfer Protocol)がア
プリケーション層、HTML(HyperText Markup
Language)がプレゼンテーション層のプロトコ
ル
2.4.6
アプリケーション層(セッション層以
上)
電子メール(E-Mail)
ネットワーク上で連絡を取り合える(Outlook
Express、npopなど)
→SMTP(Simple Mail Transfer Protocol)は
アプリケーション層、MIMEはプレゼンテー
ション層のプロトコル
※電子メールの発展がTCO/IPの発展に大きな
影響をもたらした。

2.4.6
アプリケーション層(セッション層以
上)

ファイル転送
FTP(File Transfer Protocol)
異なるパソコンのハードディスクにファイルを
転送・受信できる(FFFTPなど)
TCPが2種類(制御、データ転送)存在
2.4.6
アプリケーション層(セッション層以
上)
遠隔操作(Telnet、HHS)
自分のパソコンで相手のパソコンのように使う。
 ネットワーク管理
SNMP(Simple Network Management
Protocol)
ルータやサーバなど、ネットワーク全体を管理

2.5
TCP/IP階層モデルと
通信例
4405023
加治 正記
2.5.1. パケットヘッダ(1)
 パケットの構造
ヘッダ
運びたい情報(データ)
 ヘッダ


送信されるデータに付加
運んでいるデータに関する情報が入っている
2.5.1. パケットヘッダ

パケットヘッダの階層化
イーサネット
(IPヘッダ) (TCPヘッダ) (データ)
ヘッダ
IPヘッダ
黄・・・データ
オレンジ・・・ヘッダ
(TCPヘッダ) (データ)
TCPヘッダ
データ
2.5.2. パケットの送信処理
アプリケーションの処理
TCPモジュールの処理
IPモジュールの処理
ネットワークインタフェースの処理
2.5.2. アプリケーションの処理
アプリケーションプログラムでメールの作成
文字を入力 送信ボタンクリック
符号化の処理
TCPにコネクションの確立を指示
データの送信
TCPへ
2.5.2. TCPモジュールの処理


アプリケーションの指示によってコネクションの確立やデータ
の送信、コネクションの切断を行う
信頼性のあるデータ転送の提供
アプリケーションからデータを受け取る

TCPのヘッダを付ける


IPへ

TCPヘッダ
ポート番号
シーケンス番号
チェックサム
2.5.2. IPモジュールの処理
TCPからデータを受け取る
 IPヘッダ
IPのヘッダを付ける


ネットワークインタフェースへ

宛先のIPアドレス
送信元のIPアドレス
プロトコルタイプ
2.5.2. ネットワークインタフェース
(イーサネットドライバ)の処理
IPからデータを受け取る
イーサネットのヘッダを付ける
相手先に送信
 イーサネットのヘッダ



宛先のMACアドレス
送信元のMACアドレス
イーサネットタイプ
• 送信処理中にFCSが計算されフレームの最後に付けられる
2.5.3. データリンクを流れる
パケットの様子
データ
リンク層
データリンク層
ネットワーク層
宛先 送信者 イーサ 送信元 宛先
プロト
MAC
MAC
IP
IP
ネット
コル
アドレス アドレス タイプ アドレス アドレス タイプ
イーサネットヘッダ
IPヘッダ
トランスポート層 アプリケーション層
送信元
ポート
番号
宛先
ポート
番号
TCPヘッダ
データ
アプリケーション
のヘッダやデータ
データの流れる方向
データが処理される順
FCS
2.5.4. パケットの受信処理
ネットワークインタフェースの処理
IPモジュールの処理
TCPモジュールの処理
アプリケーションの処理
2.5.4. ネットワークインタフェース
の処理
相手側からデータ受信
イーサネットヘッダの宛先MACを確認
自分宛でない
削除
イーサネットタイプを確認
IPの処理ルーチンにデータを渡す
2.5.4. IPモジュールの処理
データの受け取り
宛先IPアドレスの確認
プロトコルタイプの確認
TCPの処理ルーチンにデータを渡す
2.5.4. TCPモジュールの処理
チェックサムを計算してデータが壊れてないか確認
番通り受信しているか確認
ポート番号の確認
送信ホストに「確認応答」を返す
送信したホストに届かない
データを繰り返し送信
アプリケーションプログラムにデータを渡す
2.5.4. アプリケーションの処理
送信側が送信したデータをそのまま受信
受信したデータを解析
メールボックスが存在しない
エラーを返す
メッセージを格納
格納できない
異常終了のメッセージ送信
処理が正常に終了された事を送信元へ伝える
メールソフト起動後、ディスプレイ上に文字が表示される
2.5.5. まとめ
パケットのヘッダにはプロトコルの仕様が
明確に表されている
つまり
ヘッダを見ればプロトコルの仕様がわかる
ヘッダはプロトコルの顔