160 likes | 253 Vues
第 7 章 Internet Protocol (IP). コネクションを使わない Datagram. 応用サービス. 信頼度の高い transport. コネクションを張らない packet 配送. Internet の階層. Internet は仮想ネットワークに見える. 物理ネットワークの抽象化 階層化 他に影響を及ぼすことなく並行して各個の改良が可. コネクションのない配送システム. Unreliable (配送の保証がない) 紛失・2重・順不同の検知・通知をしない. Connectionless (各パケットは独立に配送)
E N D
第7章 Internet Protocol (IP) コネクションを使わない Datagram
応用サービス 信頼度の高い transport コネクションを張らない packet 配送 Internet の階層 • Internet は仮想ネットワークに見える. • 物理ネットワークの抽象化 • 階層化 • 他に影響を及ぼすことなく並行して各個の改良が可
コネクションのない配送システム • Unreliable(配送の保証がない) • 紛失・2重・順不同の検知・通知をしない. • Connectionless(各パケットは独立に配送) • Best effort(精一杯の配送努力をする) • かってに(気まぐれに)packetを廃棄しない. • Unreliable になるのは • 資源が尽きた • 基盤ネットワークのfail の時だけである.
Datagram header Datagram data area Frame header Frame Data Area Internet Protocol (IP) • Packet の format • routing の方法 • packet の取り扱い方、エラーの処理 • Internet Datagram • 物理ネット ・・・ フレーム • 仮想ネット ・・・ IP データグラム
Datagram format /usr/include/netinet/ip.h Type-of-service フィールド
IP header components • vers バージョン番号 4=IPv4 • 次世代 IP … 6=IPv6 • 異なるバージョンのパケットは廃棄される. • hlen ヘッダ長 (32ビット語長) • 最小5、最大15 • service type • 優先度 0 ~ 7 • 0: 通常、7: 網制御
IP header components • service type • サービスのタイプ • D 遅延を重視 (delay) • T スループットを重視 (throughput) • R 信頼性を重視 (reliability) • 要求ではなく、ヒント
IP header components • Total length • ヘッダ+データの長さ (octet) • ident • datagram の識別番号 (プロトコルごとに設定) • (src-addr, ident) が一意にデータグラムを決める. • Flag • DF don’t fragment • MF more fragment DF MF
IP header components • Offset • フラグメントが元のデータグラム・データ中に占める位置 8 octet を単位とする数 元のデータグラム・データ
Fragment 制御 • MTU (maximum transfer unit) • ethernet 1500 octet • その他にたとえば 128 octet, 2044 octet など 共通の最大公約数がない → 1 frameで運べないものは、いくつかの fragment に分解する→ 任意の大きさのデータグラムを保証
Reassembly of fragments • 組立て • どのルータで fragment されるか分からない. • 各フラグメントはみな同じデータグラム形式 • どこで組立てを行うのか?→ 最終地 • 欠点 • 一度小さなMTUのnetworkを通ると小さいまま • 一つでも未着だと全部が廃棄 (reassembly timer) • 長所 • 途中のルータで蓄積再構成をしないですむ. • それぞれのフラグメントが独立に配送される.
IP header components • Time to live 生存時間 • 経路表が損傷 → パケットのループ • ループを断ち切る. • 時間をどう測るか? • 遅延の大きな通信路 • 広帯域幅の通信路 • forward するたびに1を引く • 0 になったら廃棄して誤りを通知 • traceroute
IP header components • protocol • data 部分の高位プロトコル番号 • Hdr checksum • ヘッダだけの検査 (16ビット整数の加算) • 長所 • 処理時間を短くで切る • 高位プロトコルが独自の検査を持てる. • 短所 • 高位プロトコルで付けなければならない. • ダメなデータに気づかず送る.
0: option list 終了 1: NOP 2: security 3: loose src routing 9: strict src routing 7: record route 8: (stream id) 4: timestamp オプション • オプション・コード • クラス • データグラム/ネットワークの制御 • デバグと計測 • 番号 • オプションの長さ、ポインタ (next avail)
Record route • ルータを通るたびにIP addr レコードを追加 • source routing • path (経路)の指定 • throughput の測定など • strict source routing この通りに • loose source routing この順に • timestamp • 通過時刻の記録、ネットワークのモニタ