ネットワーク コミュニケーション トランスポート層 TCP/UDP 6/28/07 1 5/24のスライド No.3 基 本 機 能 (2) 4つの機能がモジュー ル化され,右図のよう に層をなしている (階層化) これで通信が行われ る 今回はトランスポート 層の話 2 トランスポート層のプロトコル TCPとUDPのふたつのプロトコル ポートの管理 データの信頼性 パケットの到達性 信頼性のない IP を使って,信頼性のある通 信を行うものがTCP IPを下請けに使って,ホスト間で通信する 途中のルータでは利用されない アプリケーションにより,TCPとUDPを使い分ける 3 ポート番号とポートによる通信 4 ポ ー ト 番 号 (1) 1台のホストで,複数のアプリケーション メール,WWWなど異なるアプリケーション 複数の同じアプリケーション どのアプリケーションが送り出したパケットなの か,どのアプリケーションあてのパケットなのか 区別する IPアドレスだけでは不可 そのためのものがポート番号 5 ポ ー ト 番 号 (2) 実際にはポート番号だけでなく, 終点IPアドレス 始点IPアドレス 終点ポート番号 始点ポート番号 プロトコル番号(TCP・UDP) で,通信(パケット)を区別する この組合せをアソシエーション(association) 6 ポ ー ト 番 号 (3) 0~65535 (2オクテット) 0 ~ 1023 (教科書 p.341-342) Well Knownポート番号 1024 ~ 49151 予約済みポート番号 49152 ~ 65535 動的割当て又はプライベート用ポート番号 7 ポ ー ト 番 号 (4) Well Knownポート番号 代表的なアプリケーションは使用するポート 番号が決められている サーバの管理者が勝手に決めると,クライ アント側は困る(意識的に変える場合もあ る) 20,21 ftp 25 smtp 80 http 110 pop 8 ポ ー ト 番 号 (5) 参照サイト http://www.iana.org/assignments/port- numbers http://www.vwnet.jp/mura/tcpip-port.htm http://www.mm- labo.com/computer/tcpip/ipaddress/portsort.ht ml 9 ポ ー ト に よ る 通 信 (1) 教科書 p.187 サーバ(例えばwebサーバ)は リクエスト受け付けるポート番号(80) プロトコル(TCP) を決め,クライアント(利用者)からのリクエスト を待つ 10 ポ ー ト に よ る 通 信 (2) クライアント(利用者)は 自分が通信に使うポート番号(49152~)* を決め,サーバのポート番号あてに送る サーバは,クライアントのポート番号あてに返事 を送る *実際には,1024~を使っていることもある模様 もちろん,そのポート番号は別のアプリケー ションが使っていないものである 11 ポ ー ト に よ る 通 信 (3) サーバのポート番号は,あらかじめ決まっている クライアントのポート番号は,適当に決められる 12 ポ ー ト に よ る 通 信 (4) 実際にはポート番号だけでは,複数のクライアン トからのリクエストを区別できないので,IPアドレ スを含む5つのデータ(アソシエーション)を用い る 13 TCPとUDP 14 TCPとUDP 15 データの信頼性 IPとは異なり,データもチェックサムの対象として いる(p.191,204) 16 U D P データが壊れていないことは保証 データ部分もチェックサムの対象 データの到達性は保証されない 送りっぱなし 17 TCPでのパケットの到達保証 18 TCP(到達性の保証 1) 交信するホスト間で,データが届いたかどうかの 確認をすることにより,データの到達性の保証を する 確認応答 ACK(アック,ACKnowledgement) 教科書p.193~ 19 TCP(到達性の保証 2) TCPヘッダ(p.192) 20 TCP(到達性の保証 3) シーケンス番号 送信するデータに付ける連続番号 1オクテットごとにつける データの大きさが1000オクテットの時, 最初のシーケンス番号が3001なら, 次のシーケンス番号は4001となる この番号でパケットの順序が分かる 21 TCP(到達性の保証 4) 確認応答番号 受信側で,次に受け取るべきシーケンス番号 を返答する シーケンス番号3001の大きさ1000オクテット のデータを受け取ると,確認応答番号4001の 返事を送る 22 TCP(到達性の保証 6) 再送処理 ー 送信側は,一定時間内に確認応答 のないパケットを再度送る このためには,パケットのコピーを残しておか なければならない 23 コ ネ ク シ ョ ン(1) 教科書 p.198 通信相手が確実に応答するか確認するためなど データ送信の前に, 通信相手とコネクション(接続?)を確立し, 送信が終わるとコネクションを切断する 24 そ の 他 25 ウィンドウフロー制御 パケットごとに確認応答をしていると,効率が悪 い 確認応答を待たずにパケットを送ることができる 受信側で,まとめて受け取ることのできるデータ の大きさがウィンドウサイズ 26 輻 輳 制 御 確認応答が来なくなると,ネットワークが混んで いるとみなして,送信するデータ量を減らす 27 ストリーム型・データグラム型 UDPは,アプリケーションから渡されたデータに ヘッダを付けて,そのまま送る データグラム型 TCPは,データを加工してから送る ストリーム型 28 即 時 性 TCPは,到達性を保証するためなどのため に,即時性は低い UDPは,即時性が高い 29 通信相手の数 TCPはユニキャストのみ UDPはユニキャスト,マルチキャスト,ブ ロードキャスト 30 フロー制御・輻輳制御 TCPは行うが,UDPは行わない 31 と り あ え ず ま と め(1) ポート番号とは,パケットを送り・受け取るアプリ ケーションを区別するためのもの ポート番号がなく,IPアドレスだけしかなかった らどうなるのか? パケットのデータが正しいものであることをチェッ クできる 32 と り あ え ず ま と め(2) TCP 時間がかかっても,確実に相手に届けたい IPというあまり当てにならないものを使って, 信頼性のある通信を実現する どうやって? UDP 確実性を欠いても,直ぐに相手に届けたい ライブ中継 少ないデータ 33 ファイアウォール 34 ファイアウォール(1) 外部との境界に置き,外部からの不正アクセス を防ぐ “5分で絶対に分かるファイアウォール” http://www.atmarkit.co.jp/fsecurity/special/17fi vemin/fivemin00.html 35 ファイアウォール(2) IPアドレスやポート番号でパケットを制限する Webサーバを設置していなければ,外部から80 番ポートへのアクセスはありえない 通常,アクセスを認めるポート番号以外のパケッ トを規制(廃棄)する Webサーバがなければ80番ポートへのパケッ トは捨ててかまわない 36 ファイアウォール(3) 外から内への制限だけでなく,内から外への制 限を課す場合もある 実際には,もっと複雑 37 ファイアウォール(4) 専用のハードウェア ルータにその機能が含まれるの ソフト 38 ファイアウォール(5) 破棄したパケットの記録 こちらが受け付けるポートを調べている ポートスキャン 39 ファイアウォール(6) ポートスキャン(port scan)とは 攻撃・侵入の前段階に行われる標的サイトの 各ポートにおけるサービスの状態の調査 http://www.ipa.go.jp/security/ciadr/word_idx. html より 定点観測 http://www.jpcert.or.jp/isdas/ http://isc.sans.org/ 40 次 回 (予 定) アプリケーションの代表例 DNSの仕組み NATとDHCP 41
© Copyright 2024 ExpyDoc