コンピュータネットワーク 第6回 2013年5⽉31⽇(⾦) 授業⽤のWebページを⽤意しました http://www.klab.is.sci.tohou.ac.jp/classes/ 2013/5/31 コンピュータネットワーク 2 先週までのおさらい 通信の階層 リンク層 ◦ イーサネット(Ethernet) ◦ CSMA/CD インターネット層 ◦ IP(Internet Protocol) ◦ ルーティング 2013/5/31 コンピュータネットワーク 3 OSI参照モデル 階層の名称 役割 応⽤層 特定応⽤サービスと共通応⽤サービスの 提供 プレゼンテーション層 抽象構⽂と転送構⽂の相互変換 セッション層 セッション制御:⽚⽅向、半⼆重、全⼆ 重 トランスポート層 順序制御や誤り制御機構 ネットワーク層 データ転送のための経路選択や中継機能 データリンク層 フレーム(ビット列)の順序制御、誤り 制御機能 物理層 2ノード間においてビット列の伝送を⾏な うための規格、⼿順、機能特性 2013/5/31 コンピュータネットワーク 4 TCP/IP階層モデル 階層の名称 概要 具体例 アプリケーション層 アプリケーションを実現 (Application) HTTP、DNS、 SMTP、POP、 IMAP、FTP、 SNMP、NNTP トランスポート層 (Transport) アプリケーションのためにエ ンド間の通信サービスを提供 TCP、UDP インターネット層 (Internet) データを送信元から宛先に運 ぶ IP、ICMP、ARP、 RARP リンク層 (Link) 直接接続されたネットワーク 上で通信されるための通信プ ロトコル イーサネット、 FDDI、X.25、 ISDN、同軸ケー ブル、UTP、光 ファイバー 2013/5/31 コンピュータネットワーク 5 先々週の部分 TCP/IP 階層モデル 階層の名称 概要 具体例 アプリケーション層 アプリケーションを実現 (Application) HTTP、DNS、 SMTP、POP、 IMAP、FTP、 SNMP、NNTP トランスポート層 (Transport) アプリケーションのためにエ ンド間の通信サービスを提供 TCP、UDP インターネット層 (Internet) データを送信元から宛先に運 ぶ IP、ICMP、ARP、 RARP リンク層 (Link) 直接接続されたネットワーク 上で通信されるための通信プ ロトコル イーサネット、 FDDI、X.25、 ISDN、同軸ケー ブル、UTP、光 ファイバー 2013/5/31 コンピュータネットワーク 6 リンク層 直接接続されたネットワーク上での通信を確⽴する層 代表的なものは以下の3つ ◦ イーサネット(Ethernet) ◦ トークンリング ◦ FDDI(Fiber Distributed Data Interface) LAN(ローカルエリアネットワーク)上でデータ転送を ⾏なうためのプロトコル ◦ いずれもデータ転送に「フレーム」と呼ばれるデータのか たまりを⽤いる リピータ 直接接続 リピータ・ハブを介した接続 2013/5/31 コンピュータネットワーク 7 イーサネットフレームの構造 プリアンブル フレーム開始デリミタ 1010101010・・・・ 最⼩7 宛先アドレス 送信元アドレス データ 10101011 1 6 6 FCS 2 フレームチェッ クシーケンス 46〜1500 タイプフィールド 4 単位はオクテット データがどのプロトコルを 使っているかを⽰す情報 1オクテット= 8ビット MACアドレス アドレス 48ビット(6オクテットのデータ)。 イーサネット上の端末を識別するためのデータ。 上位3オクテットは、ネットワーク製品の製造者を⽰す。 2013/5/31 コンピュータネットワーク 8 先週の部分 TCP/IP 階層モデル 階層の名称 概要 具体例 アプリケーション層 アプリケーションを実現 (Application) HTTP、DNS、 SMTP、POP、 IMAP、FTP、 SNMP、NNTP トランスポート層 (Transport) アプリケーションのためにエ ンド間の通信サービスを提供 TCP、UDP インターネット層 (Internet) データを送信元から宛先に運 ぶ IP、ICMP、ARP、 RARP リンク層 (Link) 直接接続されたネットワーク 上で通信されるための通信プ ロトコル イーサネット、 FDDI、X.25、 ISDN、同軸ケー ブル、UTP、光 ファイバー 2013/5/31 コンピュータネットワーク 9 リンク層とインターネット層 LAN A LAN B ホスト X ホスト Y ホストXからホストYへ通信する場合 ・ リンク層プロトコルは同⼀ネットワーク内しか送ることができない ・ インターネット層プロトコルを利⽤し、ホストYまで中継してもらう 2013/5/31 コンピュータネットワーク 10 リンク層とインターネット層 リンク層プロトコルとインターネット層プロトコルの違い ◦ リンク層では同⼀通信路上のホスト間 ◦ インターネット層は複数のネットワークを越えてネットワーク間の データ伝送を実現 ルーティング(Routing) ◦ 経路制御 ◦ ネットワークを越えてデータ転送を⾏なう機能 ◦ 経路制御を⾏なうネットワーク機器をルータ(Router)と呼ぶ インターネット層のプロトコル IP (Internet Protocol) ICMP (Internet Control Message Protocol) ARP (Address Resolution Protocol) RARP (Reverse Address Resolution Protocol) 2013/5/31 コンピュータネットワーク 11 IP (Internet Protocol) インターネットにおいてデータ転送の 基礎となるプロトコル さまざまな特徴 ◦ コネクションレス ◦ ベストエフォート ◦ 経路選択(ルーティング) 「データグラム」と呼ばれるデータの かたまりごとに通信を⾏う 2013/5/31 コンピュータネットワーク 12 IPデータグラムのフォーマット IPデータグラムのフォーマット バージョン ヘッダ⻑ サービス種別 全⻑(オクテット) 識別⼦ ⽣存時間 フラグ プロトコル 断⽚位置 チェックサム 送信元アドレス 宛先アドレス オプション パディング データ IPアドレス:送信元と宛先のホストを指定するデータ(番号) 2013/5/31 コンピュータネットワーク 13 中継器(ルータ)とパケットの転送 ? どっちに転送 したらいい? ? ホスト X ホスト Y 2013/5/31 コンピュータネットワーク 14 直接ルーティングと間接ルーティング ルータ V LAN A ホスト X ルータ W LAN B ホスト Y ホスト Z ホストX→Y • • 同じネットワークの中なので、ARPで聞くとホストYのMACアドレスが返ってくる ホストYのMACアドレスを宛先にIPデータグラムをイーサネットフレームに載せて送信 ホストX→Z • • LAN Aを越えるので、ARPで聞くとルータVのMACアドレスが返ってくる ルータVのMACアドレスを宛先にIPデータグラムをイーサネットフレームに載せて送信 2013/5/31 コンピュータネットワーク 15 今週の部分 TCP/IP 階層モデル 階層の名称 概要 具体例 アプリケーション層 アプリケーションを実現 (Application) HTTP、DNS、 SMTP、POP、 IMAP、FTP、 SNMP、NNTP トランスポート層 (Transport) アプリケーションのためにエ ンド間の通信サービスを提供 TCP、UDP インターネット層 (Internet) データを送信元から宛先に運 ぶ IP、ICMP、ARP、 RARP リンク層 (Link) 直接接続されたネットワーク 上で通信されるための通信プ ロトコル イーサネット、 FDDI、X.25、 ISDN、同軸ケー ブル、UTP、光 ファイバー 2013/5/31 コンピュータネットワーク 16 今週やること トランスポート層 ◦ TCP(Transport Control Protocol) ◦ UDP(User Datagram Protocol) 2013/5/31 コンピュータネットワーク 17 クライアント-サーバモデル クライアント ◦ サービスを受けるもの ◦ PC、モバイル端末、携帯電話 サーバ ◦ サービスを提供するもの これやって ちょうだい かしこ まりました 2013/5/31 コンピュータネットワーク 18 実際のWebアクセスでのデータの流れ 〜AからBへデータを渡す〜 A S1 R1 B 送りたいデータ L3ヘッダ 送りたいデータ L2ヘッダ L2データ L1ヘッダ L1データ ※ここでは、3階層の通信でそれぞれが パケット通信をすることを仮定しています。 2013/5/31 コンピュータネットワーク 19 実際のWebアクセスでのデータの流れ 〜AからBへデータを渡す〜 A L1ヘッダ S1 R1 B L1データ 2013/5/31 コンピュータネットワーク 20 実際のWebアクセスでのデータの流れ 〜AからBへデータを渡す〜 A S1 L1ヘッダ R1 B L1データ L1ヘッダ S1はL1だけのヘッダ を⾒て中継する機器 2013/5/31 コンピュータネットワーク 21 実際のWebアクセスでのデータの流れ 〜AからBへデータを渡す〜 A S1 L1ヘッダ R1 B L1データ 2013/5/31 コンピュータネットワーク 22 実際のWebアクセスでのデータの流れ 〜AからBへデータを渡す〜 A S1 B R1 L1ヘッダ L1データ L2ヘッダ L2データ R1はL2のヘッダ を⾒て中継する機器 2013/5/31 コンピュータネットワーク 23 実際のWebアクセスでのデータの流れ 〜AからBへデータを渡す〜 A S1 B R1 L1ヘッダ L1データ L2ヘッダ L2データ L3ヘッダ L3データ 元々の 送りたいデータ 2013/5/31 コンピュータネットワーク 24 TCPとUDP IPが出来ること ◦ 経路制御(ルーティング)を⽤いて、遠くの相⼿とで もデータをやり取り可能 IPが出来ないこと ◦ 信頼できる通信 ◦ 複数のサービスを同時提供 そこでTCPとUDP HTTP、DNS、SMTP、POP3、 IMAP、FTP、SNMP、NNTP TCP UDP IP (ICMP、ARP、RARP) ◦ TCP (Transmission Control イーサネット、FDDI、X.25、ISDN、 Protocol) 同軸ケーブル、UTP、光ファイバー ◦ UDP (User Datagram Protocol) 2013/5/31 コンピュータネットワーク 25 TCP(Transport Control Protocol) 信頼性のある通信を実現するプロトコル 信頼性提供のための機能 ◦ ◦ ◦ ◦ ◦ コネクション指向 順序制御 再送制御 フロー(流量)制御 輻輳回避 WebやメールはTCPの上で動いている 「セグメント」と呼ばれるデータのかた まりごとに通信を⾏う 2013/5/31 コンピュータネットワーク 26 ポートを利⽤した多重化 ポート ◦ 複数サービスを提供する通信 相⼿に対して、どのサービス を利⽤するかを特定するもの TCPとUDPはともにポート 番号でサービスを指定する ◦ 0-65535番 ◦ 特に1024番未満の数を 「Well-Known」ポート番号 と呼ぶ 2013/5/31 TCPにおける 代表的なサービスとポート番号 22 ssh 23 telnet 25 smtp 80 http 110 pop3 123 ntp 443 https コンピュータネットワーク 27 TCPセグメントのフォーマット 送信元ポート あて先ポート シーケンス番号 応答確認番号 ヘッダ ⻑ 予約 フラグ ウインドウサイズ (Code bit) チェックサム 緊急ポインタ オプション データ • • 宛先/送信元ホストを指定する機能を提供していない 中継、転送機能を提供していない IPなどの下位プロトコルで提供 2013/5/31 コンピュータネットワーク 28 TCPコネクションと3-Way Handshake きちんとした通信を確⽴す るため、TCPには「コネク ション」という概念がある ◦ コネクション確⽴状態の制 御のためにフラグが⽤いら れ、フラグの状態によりパ ケットの⽤途が決まる SYN 元気? SYN+ACK フラグの種類 ◦ SYN 元気だよ。 おまえは? コネクション確⽴の要求 ◦ ACK おれも 元気だよ。 応答確認 ◦ SYN+ACK ◦ その他 ACK で、⽤件 なんだけど・・・ RST、FIN、URG 2013/5/31 コンピュータネットワーク 29 WiresharkでTCP 3-Way Handshakeを⾒る Wiresharkを⽴ち上げて、キャプチャ を開始する。 Webを⾒るなどして⼀定時間したあと、 Filterをかける ◦ 「ip.proto == 6」 TCPのパケットで、SYN、SYN+ACK、 ACKと成っている3つの組を⾒つけてみ よう 2013/5/31 コンピュータネットワーク 30 UDP(User Datagram Protocol) TCPが持っていた機能を持たない、シンプルなプロトコ ル ◦ コネクションレス、順序・再送制御なし、フロー制御なし リアルタイム性の⾼いサービスはUDPの上で動いている 「データグラム」と呼ばれるデータのかたまりごとに通 信を⾏う ◦ VoIP、ストリーミング 送信元ポート あて先ポート セグメント⻑ チェックサム データ 2013/5/31 コンピュータネットワーク 31 まとめ 階層の名称 概要 アプリケーション層 (Application) アプリケーションを実現 トランスポート層 (Transport) アプリケーションのた めにエンド間の通信 サービスを提供 • • 順序・再送・フ ロー制御 多重化 インターネット層 (Internet) データを送信元から宛 先に運ぶ • • 中継機能 順序・再送・フ ロー制御なし リンク層 (Link) 直接接続されたネット ワーク上で通信される ための通信プロトコル • • LAN内で直接通信 中継機能なし 2013/5/31 コンピュータネットワーク 32 TCPで通信しているパケットの確かめ⽅ SYN、ACKといったフラグが確認できる 2013/5/31 コンピュータネットワーク 33 第2回課題:内容と提出物 課題内容 ◦ Wiresharkを使ってパケットデータを取得 そのときにWebでどこかのサイトにアクセスする ◦ パケットデータより ⾃分が利⽤したホスト(PC)のIPアドレスを調べよ TCPで通信している通信のポート番号(送信元、宛 先)を調べよ 提出内容 ◦ ⾃分が利⽤したホスト(PC)のIPアドレス ◦ TCP通信におけるポート番号と、 その該当パケットの番号 ◦ パケットデータ 2013/5/31 コンピュータネットワーク 34 第2回課題:提出⽅法と締切 提出⽅法 ◦ 電⼦メール ◦ ⾃分のIPアドレスはメール本⽂に記載 ◦ パケットデータ中のパケット番号と、そのパケットにおけるTCPの宛先ポートと 送信元ポートの番号をそれぞれメール本⽂に記載 ◦ パケットデータはファイルをメールに添付 メールタイトル(件名)に「[コンピュータネットワーク:(学籍番 号)]」と⼊れること ◦ akira.kanaoka@is.sci.toho-u.ac.jp ◦ (アットマークが全⾓になっていますので、半⾓に直してから送ってください) 締切 ◦ 2013年6⽉14⽇(⾦)18:00 注意: ◦ 電⼦メールで提出した場合、必ず私から「受領しました」というメールを返信し ます。返信がない場合は、メールば届いていない可能性があります。課題提出後 は、⾦岡からの受領メールを必ず確認してください。 英語ではメール返信はしません ◦ データが全く同じ⼈達がいた場合、「最初に提出した⼈のみを通常の評価」にし、 後の⼈は「半分の評価」とします 2013/5/31 コンピュータネットワーク 35
© Copyright 2024 Paperzz