• 検索結果がありません。

traceroute(3)

ドキュメント内 tcp/ip.key (ページ 33-48)

これを繰り返す

送信先に届いても、通常は受け取れないポート番号 になっているために

ICMP Port Unreachable

を発信元

発信元

送信先

TTL=5

ICMP Port Unreachable

TTL=1 TTL=2

TTL=3 TTL=4

中継ルータ1

中継ルータ2

中継ルータ3

中継ルータ4

traceroute の仕組み

1 2 3 4

IP

ICMP TTL=4

IP ICMP TTL=1

Time Exceeded

IP

ICMP TTL=2

Time Exceeded

IP

ICMP TTL=3

Time Exceeded

Time Exceeded TTL=5

始点 終点

ところで、経路制御は

どうやって行うの?

経路制御のための課題

End-to-End

の到達性を保証する

最短経路の自動発見

動的な対応の必要性

障害が生じたときの迂回路の発見

トラフィックの分散

管理ポリシーとの調和

経路制御プロトコル

経路情報

隣接ルータを認識

トポロジー情報を交換

リンク情報を交換

目的に応じて複数の経路制御プロトコル

距離ベクトル型

RIP :

Routing Information Protocol

リンク状態型(

OSPF:

Open Shortest Path First)

パスベクトル型(

BGP:

Border Gateway Protocol)

IP 経路制御 (routing)

各routerが制御表に基づいて単純に判断

宛先が同一ネットワーク→直接転送

宛先が別ネットワーク→

default

ルータに転送

制御表(routing table)の構造

宛先

addr

hop

方向

(InterFace)

宛先

addr

hop

方向

(InterFace)

宛先

addr

hop

方向

(InterFace)

宛先

addr

hop

方向

(InterFace)

… … …

Routing Table の利用

Router

IP

パケットを受け取ると経路制御表を検索

1. 宛先IP addrに適合するエントリ発見→データ転送

宛先とPtoP接続してる場合

2. 宛先Network addrに適合するエントリ発見→データ転送

宛先がlocalなnetworkに接続してる場合

3. defaultエントリ発見→データ転送

他のnetworkのrouterへ転送

4. 全てに該当しない場合→エラーを返す

host到達不可、network到達不可

Router

は次の順番でパケット処理

経路制御表の取得

% netstat -rn  Routing tables 

Internet: 

Destination        Gateway       Flags    Refs      Use  Netif  Expire  default      133.99.135.254   UGSc       4        6     en0 

10.37.129/24    link#8      UCS         0        0    en2  10.37.129.2      127.0.0.1      UHS        0        3     lo0  10.211.55/24    link#9      UCS         0        0    en3  10.211.55.4      127.0.0.1       UHS         0        3     lo0  127      127.0.0.1       UCS         0        0     lo0  127.0.0.1      127.0.0.1       UH         18   7029    lo0  133.99.135/24  link#2       UCS         2        0     en0  133.99.135.42   127.0.0.1      UHS         0        3     lo0 

133.99.135.251 0:17:f2:93:f2:6c   UHLW      1  109148  en0    663 

パケットの宛先

自ホストが接続しているネットワークのルータアドレス

宛先に向いている通信デバイス

現経路制御表にある経路が 失効するまでの時間()

じゃぁ、通信量制御

はどうやって行うの?

TCP パケットの構造

TCPパケット

IPパケット

Ethernetパケット

本当に送りたいデータ TCPヘッダ

データ部

ポート番号

列番号

発信元 送信先

TCPパケットのデータ

IPヘッダ

TCP( 伝送制御プロトコル)

双方向の信頼性のある接続を実現

パケットをシークエンス番号順に並べ替える

データの破壊・損失重複・順序誤りがないこ とを保証

パケットの損失・誤りの際は再送要求

通信状況に応じて通信量を制御

輻輳を防止する

データがどのアプリで使われるかを知らせる

ポート番号

TCP の状態構造と動作は複雑

設計思想

ネットワークにでなく端点に責任を持たせ る

役割

セッションの形で

1

1

通信を実現

コネクション指向(接続確認)

信頼性ある通信を実現

欠損パケット再送などのエラー検出機能

輻輳回避

輻輳制御は難しい

輻輳は悪化していく傾向にある

IP

ネットワークには輻輳制御機能がない

端点に高度な機能を要求

公衆電話網と違 う

端点はネットワークの状態が分からない

自己責任で推測して送出せねばならない

窓サイズを増減させて転送制御

送信者の輻輳窓と受信者の窓広告

2

段階の通信状態

slow

スタート、パケットロスで輻輳回避

宛先コンピュータにパケットが到達するための 経路制御

パケットでやり取りしてネットワーク回線を共有

パケットは途中多くのルータを通過

迂回路を用意して通信の信頼性に寄与

コンピュータ同士の

1

1

の信頼性ある双方向通

信を実現通信の輻輳回避、品質・信頼性の確保

伝走経路でのデータ落ちの際に再送を要求

容易なネットワーク拡張性

端点に機能・責任を持たせる

IP と TCP のまとめ

通信基盤としての TCP/IP

様々な機種のコンピュータを接続

互いに独立に

1

1

双方向通信を可能

IP

アドレスで指定したマシンにパケットを配 送

各種のアプリケーションプロトコルを利用

(互いに聞こえるけど、相手の話している言葉がわからないことがある)

では、ホスト間で実際にオシャベリをするには?

IP と TCP で情報の到達性は確保した

ドキュメント内 tcp/ip.key (ページ 33-48)

関連したドキュメント