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
© Copyright 2024 ExpyDoc