第2章 TCP/IP 基礎知識 - 教職員・研究者のためのコンピュータ利用案内

Download Report

Transcript 第2章 TCP/IP 基礎知識 - 教職員・研究者のためのコンピュータ利用案内

第二章 TCP/IP基礎知
識
4404014 岩崎友洋
2.1
TCP/IP登場の背景と
その歴史
4404014 岩崎友洋
2.1.1
TCP/IPとは



インターネットやイントラネットで標準的に使われ
ているプロトコル
UNIXに標準で実装されたため急速に普及し、現
在世界で最も普及している
OSI参照モデルではIPが第3層、TCPが第4層
にあたり、HTTPやFTPなどの基盤となるプロト
コルである
2.1.2
軍事技術の応用から…
1960年代後半
障害が発生しても分散型ネットワークであれば、
迂回路がある限り通信を続けられる
パケット通信を利用すれば回線の利用効率が向上する
DoD
(アメリカ国防総省)
A
B
中心に障害が発生すると
多くの通信に支障がでる
図.障害に弱いネットワーク
A
B
いくつかのサイトに障害が
発生しても、迂回路を通って
パケットを配送できる
図.障害に強いパケットネットワーク
2.1.3
TCP/IPの誕生




1975年にARPANET内の研究グループが開発した
通信プロトコル
1982年頃までかかって仕様が決定
1982年からTCP/IPを実装したUNIXの
提供が始まる
1983年にARPANETの正式接続手順に
決定
2.1.4
ARPANETの誕生



1969年に誕生し、当初はアメリカ西海岸の大学と研
究機関のうちの4つのノードを
結んだもの
3年間で4つのノードから34のノードを
接続する形に発展
パケットによるデータ通信手法が実用に
耐えることが証明された
2.1.5
商用インターネットサービスの開始




1990年代になるとISPを通じて企業や一般家庭がインター
ネットを広く商用利用するように
TCP/IPは商用サービスにも耐えうる成熟した
プロトコルになっていた
インターネットは当初の研究ネットワークの
形ではなく、有料の商用サービスとして
急成長している
自由でオープンなインターネットは急速に
受け入れられていった
2.1.6
TCP/IPの普及の要因
■より使いやすく汎用度の高さを目指して考えられ
たものであること
■インターネットが普及したこと
コンピュータネットワークの主流プロトコル
といえるTCP/IPも、UNIXと密接な関係を
持って発達し普及してきた
2.2 TCP/IPの標準化
4404035 日下 貴博
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
インターネットの基礎知識
4404096
山口 哲
インターネットの基礎知識
インターネットとは
 インターネットとTCP/IPの関係
 インターネットの構造
 地域ネットワークとISP

2.3.1

インターネットとは
語源
複数のネットワークを結んで一つにすること。

その他の意味
・2つのイーサネットセグメントをルーターで接続するという単純なネッ
トワーク間接続
・企業内の部署間のネットワークや、社内ネットワークを企業間で接
続して、互いに通信 できるように接続したもの
・地域ネットワーク間の接続、世界的規模のネットワーク間の接続
2.3.1


インターネットとは
英語で綴ると「internet」
しかし、今日、先の意味で「インターネット(internet)」を用いることはあ
まりない
過去の意味は現在では
「Internet working」
現在の意味
全世界を接続しているコンピューターネットワークのこと.
たったひとつ.
誰もが参加できる
2.3.2
インターネットとTCP/IPの関係

TCP/IPはインターネット運用の為
開発された

「インターネットのプロトコル」といえば
「TCP/IP」
(逆も言える)
2.3.3
インターネットの構造


階層的な構造
ミクロ構造
マクロ構造
一言で言えば・・・
「異なる組織がIXによって相互に
接続された巨大なネットワーク」
2.3.4
地域ネットとISP

インターネットに接続するために地域ネットとISPに依頼

ダイアルアップサービス
ISPのアクセスポイントに電話で
接続している間だけ

専用線サービス
24時間接続
2.4
TCP/IP プロトコル階層モデル
4404021 大上 進也
TCP/IPとOSI参照モデル
OSI参照モデルが「通信プロトコルに必要な機能は
何か」を中心に考えてモデル化されていることに対
し、TCP/IPの階層モデルは「プロトコルをコン
ピュータに実装するにはどのようにプログラムした
らよいか」を中心に考えてモデル化されている.
●ハードウェア(物理層)
・データを転送してくれる
●データリンク層
・NICを動かすためのデバイスドラ
イバ
・OSとハードウェアの橋渡しをする
インターネット層
IPプロトコルが使われる層.
以下のような種類がある

IP
ネットワークをまたいでパケットを配送するためのプロトコル

ICMP
パケットの送信元に異常があるかどうかを知らせる

ARP
通信の際、相手の物理的なアドレス(MACアドレス)をIPアドレス
から取得
トランスポート層
アプリケーションプログラム間の通信を実現する

TCP
・コネクション型で信頼性のあるトランスポート層のプロトコル
・ホスト間でのデータの到達性を保障

UDP
・コネクション型で信頼性のないトランスポート層のプロトコル
・相手に届いたかのチェックはしない
アプリケーション層
セッション層以上の上位層
OSI参照モデルのセッション層、プレゼンテーション層が、
TCP/IPではすべてアプリケーションプログラムの中で実施





WWW
電子メール
ファイル転送
遠隔ログイン(遠隔端末)
ネットワーク管理
TCP/IP階層モデルと通
信例
4403100
山本恭平
パケットヘッダ(1)

パケットの構造
ヘッダ



運びたい情報(データ)
ヘッダ
送信されるデータに付加
運んでいるデータに関する情報が入っている
パケットヘッダ

パケットヘッダの階層化
イーサネット
(IPヘッダ) (TCPヘッダ) (データ)
ヘッダ
IPヘッダ
黄・・・データ
オレンジ・・・ヘッダ
(TCPヘッダ) (データ)
TCPヘッダ
データ
パケットの送信処理
アプリケーションの処理
TCPモジュールの処理
IPモジュールの処理
ネットワークインタフェースの処理
アプリケーションの処理
アプリケーションプログラムでメールの作成
文字を入力 送信ボタンクリック
符号化の処理
TCPにコネクションの確立を指示
データの送信
TCPへ
TCPモジュールの処理


アプリケーションの指示によってコネクションの確立やデータの送
信、コネクションの切断を行う
信頼性のあるデータ転送の提供
アプリケーションからデータを受け取る

TCPのヘッダを付ける


IPへ

TCPヘッダ
ポート番号
シーケンス番号
チェックサム
IPモジュールの処理
TCPからデータを受け取る

IPのヘッダを付ける


ネットワークインタフェースへ

IPヘッダ
宛先のIPアドレス
送信元のIPアドレス
プロトコルタイプ
ネットワークインタフェース
(イーサネットドライバ)の処理
IPからデータを受け取る
イーサネットのヘッダを付ける
相手先に送信




イーサネットのヘッダ
宛先のMACアドレス
送信元のMACアドレス
イーサネットタイプ
• 送信処理中にFCSが計算されフレームの最後に付けられる
データリンクを流れるパケットの様子
データ
リンク層
データリンク層
ネットワーク層
宛先 送信者 イーサ 送信元 宛先
プロト
MAC
MAC
IP
IP
ネット
コル
アドレス アドレス タイプ アドレス アドレス タイプ
イーサネットヘッダ
IPヘッダ
トランスポート層 アプリケーション層
送信元
ポート
番号
宛先
ポート
番号
TCPヘッダ
データ
アプリケーション
のヘッダやデータ
データの流れる方向
データが処理される順
FCS
パケットの受信処理
ネットワークインタフェースの処理
IPモジュールの処理
TCPモジュールの処理
アプリケーションの処理
ネットワークインタフェースの処理
相手側からデータ受信
イーサネットヘッダの宛先MACを確認
自分宛でない
削除
イーサネットタイプを確認
IPの処理ルーチンにデータを渡す
IPモジュールの処理
データの受け取り
宛先IPアドレスの確認
プロトコルタイプの確認
TCPの処理ルーチンにデータを渡す
TCPモジュールの処理
チェックサムを計算してデータが壊れてないか確認
番通り受信しているか確認
ポート番号の確認
送信ホストに「確認応答」を返す
送信したホストに届かない
データを繰り返し送信
アプリケーションプログラムにデータを渡す
アプリケーションの処理
送信側が送信したデータをそのまま受信
受信したデータを解析
エラーを返すメールボックスが存在しない
メッセージを格納
異常終了のメッセージ送信
格納できない
処理が正常に終了された事を送信元へ伝える
メールソフト起動後、ディスプレイ上に文字が表示される
まとめ
パケットのヘッダにはプロトコルの仕様が
明確に表されている
つまり
ヘッダを見ればプロトコルの仕様がわかる
ヘッダはプロトコルの顔