コンピュータネットワーク 第 7 回 2013 年 6 7 ( )
第 2 回課題 : 内容と提出物 課題内容 Wireshark を使ってパケットデータを取得 そのときに Web でどこかのサイトにアクセスする パケットデータより 分が利 したホスト (PC) の IP アドレスを調べよ TCP で通信している通信のポート番号 ( 送信元 宛先 ) を調べよ 提出内容 分が利 したホスト (PC) の IP アドレス TCP 通信におけるポート番号と その該当パケットの番号 パケットデータ 2013/6/7 コンピュータネットワーク 2
第 2 回課題 : 提出 法と締切 提出 法 電 メール 分の IP アドレスはメール本 に記載 パケットデータ中のパケット番号と そのパケットにおける TCP の宛先ポートと送信元ポートの番号をそれぞれメール本 に記載 パケットデータはファイルをメールに添付 メールタイトル ( 件名 ) に [ コンピュータネットワーク :( 学籍番号 )] と れること akira.kanaoka@is.sci.toho-u.ac.jp ( アットマークが全 になっていますので 半 に直してから送ってください ) 締切 2013 年 6 14 ( )18:00 注意 : 電 メールで提出した場合 必ず私から 受領しました というメールを返信します 返信がない場合は メールば届いていない可能性があります 課題提出後は 岡からの受領メールを必ず確認してください 英語ではメール返信はしません データが全く同じ 達がいた場合 最初に提出した のみを通常の評価 にし 後の は 半分の評価 とします 2013/6/7 コンピュータネットワーク 3
先週までのおさらい 通信の階層 リンク層 イーサネット (Ethernet) CSMA/CD インターネット層 IP(Internet Protocol) ルーティング トランスポート層 TCP(Transmission Control Protocol) 2013/6/7 コンピュータネットワーク 4
OSI 参照モデル 階層の名称応 層プレゼンテーション層セッション層トランスポート層ネットワーク層データリンク層物理層 役割特定応 サービスと共通応 サービスの提供抽象構 と転送構 の相互変換セッション制御 : 向 半 重 全 重順序制御や誤り制御機構データ転送のための経路選択や中継機能フレーム ( ビット列 ) の順序制御 誤り制御機能 2 ノード間においてビット列の伝送を なうための規格 順 機能特性 2013/6/7 コンピュータネットワーク 5
TCP/IP 階層モデル 階層の名称概要具体例 アプリケーション層 (Application) トランスポート層 (Transport) アプリケーションを実現 HTTP DNS SMTP POP IMAP FTP SNMP NNTP アプリケーションのためにエンド間の通信サービスを提供 TCP UDP インターネット層 (Internet) リンク層 (Link) データを送信元から宛先に運ぶ 直接接続されたネットワーク上で通信されるための通信プロトコル IP ICMP ARP RARP イーサネット FDDI X.25 ISDN 同軸ケーブル UTP 光ファイバー 2013/6/7 コンピュータネットワーク 6
リンク層 TCP/IP 階層モデル 階層の名称概要具体例 アプリケーション層 (Application) トランスポート層 (Transport) インターネット層 (Internet) リンク層 (Link) アプリケーションを実現 HTTP DNS SMTP POP IMAP FTP SNMP NNTP アプリケーションのためにエンド間の通信サービスを提供 データを送信元から宛先に運ぶ 直接接続されたネットワーク上で通信されるための通信プロトコル TCP UDP IP ICMP ARP RARP イーサネット FDDI X.25 ISDN 同軸ケーブル UTP 光ファイバー 2013/6/7 コンピュータネットワーク 7
リンク層 直接接続されたネットワーク上での通信を確 する層 代表的なものは以下の 3 つ イーサネット (Ethernet) トークンリング FDDI(Fiber Distributed Data Interface) LAN( ローカルエリアネットワーク ) 上でデータ転送を なうためのプロトコル いずれもデータ転送に フレーム と呼ばれるデータのかたまりを いる リピータ 直接接続 リピータ ハブを介した接続 2013/6/7 コンピュータネットワーク 8
イーサネットフレームの構造 プリアンブル 1010101010 フレーム開始デリミタ 10101011 データ FCS フレームチェックシーケンス 最 7 1 6 6 2 46 1500 4 宛先アドレス 送信元アドレス タイプフィールド データがどのプロトコルを使っているかを す情報 単位はオクテット 1 オクテット = 8 ビット MAC アドレス 48ビット (6オクテットのデータ) イーサネット上の端末を識別するためのデータ 上位 3オクテットは ネットワーク製品の製造者を す 2013/6/7 コンピュータネットワーク 9
CSMA/CD イーサネットではデータフレームはすべてのホストに送られる ホストは 分の MAC アドレス宛に来たもの以外は破棄する すべてのホストに送られるため データの衝突が起る それを排除するための仕組みが CSMA/CD(Carrire Sense Multiple Access/Collision Detection) 送る データ 全員に届く 2013/6/7 コンピュータネットワーク 10
インターネット層 TCP/IP 階層モデル 階層の名称概要具体例 アプリケーション層 (Application) トランスポート層 (Transport) インターネット層 (Internet) リンク層 (Link) アプリケーションを実現 HTTP DNS SMTP POP IMAP FTP SNMP NNTP アプリケーションのためにエンド間の通信サービスを提供 データを送信元から宛先に運ぶ 直接接続されたネットワーク上で通信されるための通信プロトコル TCP UDP IP ICMP ARP RARP イーサネット FDDI X.25 ISDN 同軸ケーブル UTP 光ファイバー 2013/6/7 コンピュータネットワーク 11
リンク層とインターネット層 LAN A LAN B ホスト X ホスト Y ホスト X からホスト Y へ通信する場合 リンク層プロトコルは同 ネットワーク内しか送ることができない インターネット層プロトコルを利 し ホスト Y まで中継してもらう 2013/6/7 コンピュータネットワーク 12
リンク層とインターネット層 リンク層プロトコルとインターネット層プロトコルの違い リンク層では同 通信路上のホスト間 インターネット層は複数のネットワークを越えてネットワーク間のデータ伝送を実現 ルーティング (Routing) 経路制御 ネットワークを越えてデータ転送を なう機能 経路制御を なうネットワーク機器をルータ (Router) と呼ぶ インターネット層のプロトコル IP (Internet Protocol) ICMP (Internet Control Message Protocol) ARP (Address Resolution Protocol) RARP (Reverse Address Resolution Protocol) 2013/6/7 コンピュータネットワーク 13
中継器 ( ルータ ) とパケットの転送? どっちに転送したらいい?? ホスト X ホスト Y 2013/6/7 コンピュータネットワーク 14
IP (Internet Protocol) インターネットにおいてデータ転送の 基礎となるプロトコル さまざまな特徴 コネクションレス ベストエフォート 経路選択 ( ルーティング ) データグラム と呼ばれるデータの かたまりごとに通信を う 2013/6/7 コンピュータネットワーク 15
直接ルーティングと間接ルーティング ルータ 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/6/7 コンピュータネットワーク 16
トランスポート層 ( 先週の部分 ) TCP/IP 階層モデル 階層の名称概要具体例 アプリケーション層 (Application) トランスポート層 (Transport) インターネット層 (Internet) リンク層 (Link) アプリケーションを実現 HTTP DNS SMTP POP IMAP FTP SNMP NNTP アプリケーションのためにエンド間の通信サービスを提供 データを送信元から宛先に運ぶ 直接接続されたネットワーク上で通信されるための通信プロトコル TCP UDP IP ICMP ARP RARP イーサネット FDDI X.25 ISDN 同軸ケーブル UTP 光ファイバー 2013/6/7 コンピュータネットワーク 17
TCP と UDP IP が出来ること 経路制御 ( ルーティング ) を いて 遠くの相 とでもデータをやり取り可能 IP が出来ないこと 信頼できる通信 複数のサービスを同時提供 そこで TCP と UDP TCP (Transmission Control Protocol) UDP (User Datagram Protocol) HTTP DNS SMTP POP3 IMAP FTP SNMP NNTP TCP UDP IP (ICMP ARP RARP) イーサネット FDDI X.25 ISDN 同軸ケーブル UTP 光ファイバー 2013/6/7 コンピュータネットワーク 18
TCP(Transport Control Protocol) 信頼性のある通信を実現するプロトコル 信頼性提供のための機能 コネクション指向 順序制御 再送制御 フロー ( 流量 ) 制御 輻輳回避 Web やメールは TCP の上で動いている セグメント と呼ばれるデータのかたまりごとに通信を う 2013/6/7 コンピュータネットワーク 19
TCP コネクションと 3-Way Handshake きちんとした通信を確 するため TCP には コネクション という概念がある コネクション確 状態の制御のためにフラグが いられ フラグの状態によりパケットの 途が決まる フラグの種類 SYN コネクション確 の要求 ACK 応答確認 SYN+ACK その他 RST FIN URG 元気? おれも元気だよ で 件なんだけど SYN SYN+ACK ACK 元気だよ おまえは? 2013/6/7 コンピュータネットワーク 20
ポートを利 した多重化 ポート 複数サービスを提供する通信相 に対して どのサービスを利 するかを特定するもの TCP と UDP はともにポート番号でサービスを指定する 0-65535 番 特に 1024 番未満の数を Well-Known ポート番号と呼ぶ TCP における代表的なサービスとポート番号 22 ssh 23 telnet 25 smtp 80 http 110 pop3 123 ntp 443 https 2013/6/7 コンピュータネットワーク 21
UDP(User Datagram Protocol) TCP が持っていた機能を持たない シンプルなプロトコル コネクションレス 順序 再送制御なし フロー制御なし リアルタイム性の いサービスは UDP の上で動いている VoIP ストリーミング データグラム と呼ばれるデータのかたまりごとに通信を う 送信元ポート セグメント データ あて先ポート チェックサム 2013/6/7 コンピュータネットワーク 22
実際の Web アクセスでのデータの流れ A から B へデータを渡す A S1 R1 B 送りたいデータ TCP ヘッダ 送りたいデータ IP ヘッダ IP データ Eth ヘッダ Eth データ ここでは 3 階層の通信でそれぞれがパケット通信をすることを仮定しています 2013/6/7 コンピュータネットワーク 23
実際の Web アクセスでのデータの流れ A から B へデータを渡す A S1 R1 B Eth ヘッダ Eth データ 2013/6/7 コンピュータネットワーク 24
実際の Web アクセスでのデータの流れ A から B へデータを渡す A S1 R1 B Eth ヘッダ Eth データ Eth ヘッダ S1 は L1 だけのヘッダを て中継する機器 2013/6/7 コンピュータネットワーク 25
実際の Web アクセスでのデータの流れ A から B へデータを渡す A S1 R1 B Eth ヘッダ Eth データ 2013/6/7 コンピュータネットワーク 26
実際の Web アクセスでのデータの流れ A から B へデータを渡す A S1 R1 B Eth ヘッダ Eth データ IP ヘッダ IP データ R1 は L2 のヘッダを て中継する機器 2013/6/7 コンピュータネットワーク 27
実際の Web アクセスでのデータの流れ A から B へデータを渡す A S1 R1 B Eth ヘッダ Eth データ IP ヘッダ IP データ TCP ヘッダ TCP データ 元々の送りたいデータ 2013/6/7 コンピュータネットワーク 28
今週やること アプリケーション層 (1) DNS(Domain Name System) 電 メール SMTP (Simple Mail Transfer Protocol) POP (Post Office Protocol) 2013/6/7 コンピュータネットワーク 29
DNS Domain Name System 2013/6/7 コンピュータネットワーク 30
DNS(Domain Name System) IP アドレス 意な番号で世界中と通信可能 間の記憶には向かない情報 202.16.211.113 と 202.16.210.** と などなど 間が覚えやすいように名前をつけよう 202.16.211.113 さんは cheese ね 130.158.81.38 さんは kanaweb ね でもこれも数が多いとわからなくなる 所属をつけるようにしよう 130.158.103.51 さんは 本の 筑波 の リスク 学専攻の 暗号 情報セキュリティ研究室の kanaweb さんね 所属 ( ドメイン ) ごとに名前を管理し 表記する命名規則とその解決システム DNS cheese.klab.is.sci.toho-u.ac.jp 岡研究室 情報科学科 理学部東邦 本学術機関 2013/6/7 コンピュータネットワーク 31
ドメイン名スペース (Domain Name Space) 分散型 構造 単 のルートと ローカルに管理されるエリア ( ドメイン ) 世界に13 台のサーバ ルート jp com net ac co go toho-u tsukuba risk kanaweb cipher 2013/6/7 コンピュータネットワーク 32
FQDN と正引き / 逆引き FQDN(Fully Qualified Domain Name) 完全修飾ドメイン名 ドメインやホストに対する絶対指定を なう際に使われる 例 :www.klab.is.sci.toho-u.ac.jp 正問い合わせ ( 正引き ) と逆問い合わせ ( 逆引き ) 正問い合わせ : ドメインやホスト名からリソース (IP アドレス ) を問い合わせる 逆問い合わせ : リソース (IP アドレス ) からドメインやホスト名を問い合わせる www.klab.is.sci.toho-u.ac.jp 正引き 逆引き 202.16.211.113 2013/6/7 コンピュータネットワーク 33
名前解決の 法 クライアント ( リゾルバ ) は DNS サーバに名前解決をリクエスト DNS サーバは 分の管理下かどうかをチェック 管理下であれば 答えて終了 管理下でない場合は 別の DNS サーバ ( 上位サーバ ) にそのリクエストを転送 ルート jp com net ac co go toho-u tsukuba みんなの PC risk cipher kanaweb 2013/6/7 コンピュータネットワーク 34
名前解決しているところを てみる (1) Wiresharkを ち上げて キャプチャを開始する Webを るなどして 定時間したあと Filterをかける udp.port == 53 DNSのパケットを眺めて きちんと リクエスト 回答 があるかをチェックしよう 2013/6/7 コンピュータネットワーク 35
名前解決しているところを てみる (2) 分でやるのが難しい 向け 授業 のページから toho_comnet_002.pcap をダウンロードし 開いてみる Filter 部分に udp.port == 53 と し Enter 出てきたパケットの 番上 (No.13) をクリック 真ん中のエリアの Domain Name System の + マークをクリック その中の Queries とか Answers に注 その他のパケットも てみよう 2013/6/7 コンピュータネットワーク 36
電子メール 2013/6/7 コンピュータネットワーク 37
電 メール メッセージを交換するシステム メールアドレス 相 を特定するための情報 akira.kanaoka@is.sci.toho-u.ac.jp 名前 ( ユーザ ) 場所 ( アドレス ) DNS の FQDN が記載される ドメイン ホスト名 2013/6/7 コンピュータネットワーク 38
電 メールのプロトコル :SMTP SMTP(Simple Mail Transfer Protocol) メール配送のためのプロトコル TCPのポート25 番利 される SMTP の主なコマンド HELO *** 通信開始 MAIL FROM: *** 送信者の指定 RCPT TO: *** DATA 受信者の指定メール本文 HELO mail.example.com VRFY *** QUIT ユーザ名の確認終了 コマンドのやりとり RCPT TO:a@example.com 2013/6/7 コンピュータネットワーク 39
SPAM メール ( 迷惑メール ) 受信する の意図にかかわらず 送られる電 メール 送信者は無差別 量に送ることが多い 語源 モンティ パイソンのコントから http://jp.youtube.com/watch?v =anwy2mpt5re 送信の 段 当初は 第 3 者中継を許可していた SMTP サーバを利 現在は Bot を使うことが多いとされている 2013/6/7 コンピュータネットワーク 40
Raymond Samuel Tomlinson (1941-) 1971 年 2 台のコンピュータ間で初めて電 メールを送信した ユーザーがローカルマシン上ではなく他のホスト上にいることを す記号として @ を初めて使 した 2013/6/7 コンピュータネットワーク 41
Scott Fahlman (1948-) 2013/6/7 コンピュータネットワーク 42
電 メールのプロトコル :POP POP(Post Office Protocol) 電 メールをサーバから受け取るためのプロトコル もともと SMTP だけで成り つものだったが メールサーバとしての常時稼動が必要 TCP のポート 110 番が利 される (POP3) 認証機能 POP SMTP POP 2013/6/7 コンピュータネットワーク 43
POP の認証 POP メールをサーバから取り出すときにユーザ名とパスワードが必要 通常では暗号化されていない USER kanaoka PASS hirosue 盗聴が可能 LIST RETR 1 POP の主なコマンド USER *** PASS *** LIST *** ユーザ名パスワードメール一覧取得 RETR :** メール本文の取得 2013/6/7 コンピュータネットワーク 44
POP のデータを てみる http://www.klab.is.sci.toho-u.ac.jp/classes/ のコンピュータネットワークのページから toho_comnet_005.pcap をダウンロード Wireshark を起動し ファイルを開く Filter 部に tcp.port == 110 を 通信の情報 サーバは 130.158.103.33 クライアントは 192.168.0.144 番上のエリアの中の Info に注 クライアントからの Request サーバからの Response 2013/6/7 コンピュータネットワーク 45