トランスポート層 TCPとUDP ネットワークシステムⅠ 第10回 インターネット層の復習 できること 宛先のノードまでパケットを送る 直接つながっていなければルータで中継 できないこと(制約) パケットが届くことを保証しない 送り出した順に届くことを保証しない ひとつのパケットが,複数個届くことがある データが変化する(おかしくなる)可能性がある 重要なこと(できること・できないことの他に) IPアドレス インターネット上のノードを区別 32ビット 不足 ルーティングテーブル 直接配送と間接配送 トランスポート層 今回の本題 特にTCP 基 本 機 能 (2) 4つの機能が モジュール化され,右 図のように 層をなしている (階層化) これで通信が行われ る 今回はトランスポート 層 第6回のスライド トランスポート層の概要 TCPとUDPの2種類のプロトコル 信頼性・到達性のあるパケット 正しいパケットが相手に確実に届く 信頼性・到達性が保証されないIP層を使って 実現する ポートの管理 1台のPCで,複数のアプリケーション(プログラ ム)が,それぞれ通信できる ポート番号とポートによる通信 同じホストなので IPアドレスは同じ ポ ー ト 番 号 (1) 1台のホストで,複数のアプリケーション メール,ブラウザなど異なるアプリケーション 複数の同じアプリケーション どのアプリケーションが送り出したパケットなのか, どのアプリケーション宛のパケットなのか区別 IPアドレスだけでは不可 ある住所にあ そのためのものがポート番号 るアパートの アプリケーションを区別する番号 部屋番号 ポ ー ト 番 号 (2) 実際にはポート番号だけでなく, 終点IPアドレス 始点IPアドレス 終点ポート番号 始点ポート番号 プロトコル番号(TCP 6,UDP 17) で,通信(パケット)を区別する この組合せをアソシエーション(association) ポ ー ト 番 号 (3) 0~65535 (2オクテット) 0 ~ 1023 1024 ~ 49151 Well Knownポート番号 予約済みポート番号 49152 ~ 65535 動的割当て又はプライベート用ポート番号 ポ ー ト 番 号 (4) Well Knownポート番号 代表的なアプリケーションは使用するポート番 号が決められている サーバの管理者が勝手に決めると,クライア ント側は困る(意識的に変える場合もある) 20,21 ftp 25 smtp 80 http 110 pop ポ ー ト に よ る 通 信 (1) サーバ(例えばWebサーバ)は リクエストを受け付けるポート番号(80) プロトコル(TCP) を決め(決まっている場合もある),クライアント (利用者)からの要求を待つ アクセスしたいアプリケー ションのポート番号が必要 ポ ー ト に よ る 通 信 (2) クライアントは,サーバのIPアドレス,ポート番号, プロトコルでアクセス 自分が通信に使うポート番号(サーバからの 返事を受けるポート番号 49152~)を決めて, サーバに送る アソシエーション 終点IPアドレス 始点IPアドレス 終点ポート番号 始点ポート番号 プロトコル番号(TCP・UDP) ポ ー ト に よ る 通 信 (3) サーバは,クライアントのポート番号宛てに返事 を返す ポ ー ト に よ る 通 信 (4) サーバは,複数のクライアントからのリクエストを 区別するために,ポート番号だけではなく,IPアド レスを含む5つのデータ(アソシエーション)を用 いる TCPとUDP データの信頼性 IPとは異なり,データもチェックサムの対象として いる U D P データが壊れていないことは保証 データ部分もチェックサムの対象 パケットの到達性は保証されない 送りっぱなし TCPでのパケットの到達保証 到達性の保証 (1) 交信するホスト間で,データが届いたかどうかの 確認をすることにより,データの到達性の保証を する 受け取ったら返事をする 返事があるまで,次を送らない 確認応答 ACK(アック,ACKnowledgement) 到達性の保証 (2) TCPのパケットの一部 到達性の保証 (3) シーケンス番号 送信するデータに付ける連続番号 1オクテットごとにつける シーケンス番号3001のパケットの データの大きさが1000オクテットなら, 次のパケットのシーケンス番号は4001 この番号でパケットの順序が分かる 到達性の保証 (4) 確認応答番号 受信側で,次に受け取るパケットのシーケンス 番号を返答する シーケンス番号3001の大きさ1000オクテットの データ(パケット)を受け取ると,確認応答番号 4001の返事を送る 到達性の保証 (5) パケットの大きさを1000オクテットとする 送信側 シーケンス番号3001のパケットを送る 受信側 このパケットを受け取ると,確認応答番 号4001の返事を返す 送信側 この返事を受け取ると,シーケンス番号 4001のパケット送る 以下同様 到達性の保証 (6) 一定時間,確認応答のないパケットは再送 確認応答があるまで,送信済みであってもパケッ トは保存 実際には確認応答を待たずに,次のパケットを 送る いくつかまとめて送る(詳細略) UDP 簡単に ストリーム型・データグラム型 UDPは,アプリケーションから渡されたデータに ヘッダを付けて,そのまま送る データグラム型 TCPは,データを加工してから送る ストリーム型 即 時 性 TCPは,到達性を保証するためなどのために, 即時性は低い UDPは,即時性が高い 通信相手の数 TCPはユニキャストのみ UDPはユニキャスト,マルチキャスト,ブロード キャスト 省略事項 コネクションの管理 フロー制御 複数のパケットをまとめて送る 輻輳制御 など ま と め トランスポート層 信頼性・到達性のあるパケットのやりとりを実現 信頼性・到達性が保証されないIP層を使って ポートの管理 複数の通信を混乱なく処理 TCPとUDP TCP 時間がかかっても,確実に相手と通信したい IPというあまり当てにならないものを使って, 信頼性のある通信を実現する UDP 確実性を欠いても,直ぐに相手に届けたい ライブ中継 少ないデータ キーワード ポート番号 シーケンス番号と確認応答番号 次 回 アプリケーション層
© Copyright 2024 ExpyDoc