コンピュータネットワーク
第11回(最終回)
課題(第4回):内容
課題1)SaaSサービスの具体的事例を3つ調べよ。その際、 それぞれについて以下を記載すること。 ◦ サービス名 ◦ サービスの提供者名 ◦ サービスの概要 課題2)「toho_comnet_006.pcap」をWiresharkで⾒て、 以下の問いに答えよ 2-1:攻撃ターゲットとなっているホストのIPアドレスを答えよ 2-2:攻撃ターゲットが提供しているサービスのポート番号をこたえよ 2-3:攻撃者がスプーフィングしているIPアドレス群を⼀覧にし、答え よ 2-4:攻撃者の本当のIPアドレスを答えよ第4回課題:提出⽅法と締切
提出⽅法 ◦ 電⼦メール 課題1、2ともにメール⽂中に記載すること。 メールタイトル(件名)に「[コンピュータネットワーク:(学籍番 号)]」と⼊れること ◦ akira.kanaoka@is.sci.toho-u.ac.jp (アットマークが⼤⽂字になっていますので、⼩⽂字に直してから送っ てください) 締切 ◦ 2013年7⽉12⽇(⾦)18:00 注意: ◦ 電⼦メールで提出した場合、必ず私から「受領しました」というメールを返信し ます。返信がない場合は、メールば届いていない可能性があります。課題提出後 は、⾦岡からの受領メールを必ず確認してください。 英語ではメール返信はしません ◦ データが全く同じ⼈達がいた場合、「最初に提出した⼈のみを通常の評価」にし、 後の⼈は「半分の評価」とします今週以降の予定
6⽉28⽇
◦
第10回講義
7⽉5⽇
◦
第11回講義(
最終回
)
7⽉12⽇
◦
休講
7⽉19⽇
◦
休講
7⽉26⽇
第3回課題 第4回課題 (2週間) 第5回課題 (3週間)授業の⽬標と概要
授業の到達⽬標とテーマ
◦
広く使われているインターネットの原理や技
術について幅広く理解することを⽬標とする。
それを通じて、インターネットの原則である
1.
サービスの⾼度さに⽐べて⽐較的単純で誰にでも分
かる技術の積上げから成っていること、
2.
全体を管理する1つのシステムが居るのではなく参
加者全員が協⼒して制御すること(⾃律分散)、の
考え⽅に触れる。
授業概要
◦
インターネットの原理を通じて、コンピュー
タネットワークの概要を理解することを⽬的
とする。また、授業内容にそって、ネット
ワークパケットの動作解析や、ネットワーク
通信
情報の伝達
昔からいかに「通
信」が⾏なわれてき
たか
◦
⾳、光
◦
郵便
◦
電気通信
有線と無線
話す<⾳> 信号<光> ⼿旗信号<光> 郵便ネットワーク
ノードとリンクから構成(グラフ)されて、なんらかのモノの 流れ(フロー)があるもの いろいろなネットワーク ◦ ⼈の繋がり(社会的ネットワーク) 「ソーシャルネットワーク」 ◦ 回路網 ◦ 交通網 ◦ コンピュータネットワーク ノード リンク ⼈の繋がり 回路網 交通網機械による処理:計算機、コンピュータ
タビュレーティングマシン IBM 407 (1961)
コンピュータネットワークへ
計算を お願いする⼈ 実⾏する⼈計算を 基本の形 通信 ネットワーク 分散処理 複雑な 計算をお願い する⼈ 計算Aを 実⾏する⼈ 作業分担 する⼈ 計算Bを 実⾏する⼈ 計算Cを 実⾏する⼈ 計算結果を コンピュータネットワーク世の中にあふれるコンピュータネットワーク
ATM
コンピュータネットワークを構築するには
どうやって通信する
どんな内容を通信に乗せる?
通信の順番は?
なにを使って送る?
決めないと いけない 合意して 使わないといけないVint Cerf and Bob Kahn
Vinton Gray Cerf (1943-)
Robert Elliot Kahn (1938-)
TCP/IP
インターネットで利⽤されるプロト コル群 ◦ プロトコル(通信規約とも) コンピュータ同⼠が通信を⾏ううえで、相 互に決められた約束事 TCP:Transmission Control Protocol IP:Internet ProtocolRobert Elliot Kahn (1938-)
Vinton Gray Cerf (1943-)
2005年に
TCP/IPの階層
プロトコル ◦ 通信規約とも ◦ コンピュータ同⼠が通信を⾏ううえで、相互に決められた約束事 複数のプロトコルを階層的に使う ◦ 電気信号という最も低い層から、より上位の⼈間と親和性の⾼い層 へ アプリケーション層 (Application) HTTP、DNS、SMTP、POP、IMAP、FTP、SNMP、NNTP トランスポート層 (Transport) TCP、UDP インターネット層 (Internet) IP、ICMP、ARP、RARP リンク層OSI参照モデル
オープンなネットワークアーキテクチャの確⽴を⽬
的に国際標準化機構で開発されたもの
開放型システム間相互接続基本参照モデル(Open
Systems Interconnection Basic Reference
Model: OSI参照モデル)
Application Presentation Session Transport Network Data Link Application Presentation Session Transport Network Data LinkOSI参照モデル
階層の名称
役割
応⽤層
特定応⽤サービスと共通応⽤サービスの
提供
プレゼンテーション層 抽象構⽂と転送構⽂の相互変換
セッション層
セッション制御:⽚⽅向、半⼆重、全⼆
重
トランスポート層
順序制御や誤り制御機構
ネットワーク層
データ転送のための経路選択や中継機能
データリンク層
フレーム(ビット列)の順序制御、誤り
制御機能
物理層
2ノード間においてビット列の伝送を⾏な
うための規格、⼿順、機能特性
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、光
リンク層
階層の名称 概要 具体例 アプリケーション層 (Application) アプリケーションを実現 HTTP、DNS、SMTP、POP、 IMAP、FTP、 SNMP、NNTP トランスポート層 (Transport) アプリケーションのためにエンド間の通信サービスを提供 TCP、UDP インターネット層(Internet) データを送信元から宛先に運ぶ IP、ICMP、ARP、RARP
リンク層 (Link) 直接接続されたネットワーク上で通信されるための通信プ ロトコル イーサネット、 FDDI、X.25、 ISDN、同軸ケー ブル、UTP、光
TCP/IP 階層モデル
リンク層
直接接続されたネットワーク上での通信を確⽴する層 代表的なものは以下の3つ
◦ イーサネット(Ethernet) ◦ トークンリング
◦ FDDI(Fiber Distributed Data Interface)
LAN(ローカルエリアネットワーク)上でデータ転送を⾏なうための
プロトコル
◦ いずれもデータ転送に「フレーム」と呼ばれるデータのかたまりを⽤いる
データの衝突を排除するための仕組み:CSMA/CD(Carrier Sense
Multiple Access/Collision Detection)
インターネット層
階層の名称 概要 具体例 アプリケーション層 (Application) アプリケーションを実現 HTTP、DNS、SMTP、POP、 IMAP、FTP、 SNMP、NNTP トランスポート層 (Transport) アプリケーションのためにエンド間の通信サービスを提供 TCP、UDP インターネット層(Internet) データを送信元から宛先に運ぶ IP、ICMP、ARP、RARP
リンク層 (Link) 直接接続されたネットワーク上で通信されるための通信プ ロトコル イーサネット、 FDDI、X.25、 ISDN、同軸ケー ブル、UTP、光
TCP/IP 階層モデル
リンク層とインターネット層
LAN A LAN B ホスト X ホスト X ホスト Yホスト Y ホストXからホストYへ通信する場合 ・ リンク層プロトコルは同⼀ネットワーク内しか送ることができないIP (Internet Protocol)
インターネットにおいてデータ転送の
基礎となるプロトコル
さまざまな特徴
◦
コネクションレス
◦
ベストエフォート
◦
経路選択(ルーティング)
「データグラム」と呼ばれるデータの
かたまりごとに通信を⾏う
直接ルーティングと間接ルーティング
ホストX→Y
• 同じネットワークの中なので、ARPで聞くとホストYのMACアドレスが返ってくる
• ホストYのMACアドレスを宛先にIPデータグラムをイーサネットフレームに載せて送信 LAN A LAN B ホスト X ホスト X ホスト Yホスト Y ホスト Zホスト Z ルータ V ルータ V ホストX→Z ルータ W ルータ W
トランスポート層
階層の名称 概要 具体例 アプリケーション層 (Application) アプリケーションを実現 HTTP、DNS、SMTP、POP、 IMAP、FTP、 SNMP、NNTP トランスポート層 (Transport) アプリケーションのためにエンド間の通信サービスを提供 TCP、UDP インターネット層(Internet) データを送信元から宛先に運ぶ IP、ICMP、ARP、RARP リンク層 (Link) 直接接続されたネットワーク上で通信されるための通信プ ロトコル イーサネット、 FDDI、X.25、 ISDN、同軸ケー ブル、UTP、光
TCP/IP 階層モデル
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、光ファイバー
TCP(Transport Control Protocol)
信頼性のある通信を実現
◦
信頼性提供のための機能
コネクション指向 3-Way Handshake 順序制御 再送制御 フロー(流量)制御 輻輳回避
ポートを⽤いた多重化
◦
ポート番号(0-65535番)
WebやメールはTCPの上で動いている
「セグメント」と呼ばれるデータのかたまり
ごとに通信を⾏う
で、⽤件 なんだけど・・・ おれも 元気だよ。 SYN SYN+ACK ACK 元気? 元気だよ。 おまえは?UDP(User Datagram Protocol)
TCPが持っていた機能を持たない、シンプルなプロトコ
ル
◦ コネクションレス、順序・再送制御なし、フロー制御なし リアルタイム性の⾼いサービスはUDPの上で動いている
◦ VoIP、ストリーミング 「データグラム」と呼ばれるデータのかたまりごとに通
信を⾏う
送信元ポート あて先ポート セグメント⻑ チェックサム データアプリケーション層
階層の名称 概要 具体例 アプリケーション層 (Application) アプリケーションを実現 HTTP、DNS、SMTP、POP、 IMAP、FTP、 SNMP、NNTP トランスポート層 (Transport) アプリケーションのためにエンド間の通信サービスを提供 TCP、UDP インターネット層(Internet) データを送信元から宛先に運ぶ IP、ICMP、ARP、RARP リンク層 (Link) 直接接続されたネットワーク上で通信されるための通信プ ロトコル イーサネット、 FDDI、X.25、 ISDN、同軸ケー ブル、UTP、光
TCP/IP 階層モデル
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」さんね。cheese.klab.is.sci.toho-u.ac.jp
所属(ドメイン)ごとに名前を管理し、表記する 命名規則とその解決システムDNS
⾦岡研究室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
正引き 逆引き電⼦メールのプロトコル:SMTP
SMTP(Simple Mail Transfer Protocol)
◦
メール配送のためのプロトコル
◦
TCPのポート25番利⽤される
HELO *** 通信開始 MAIL FROM: *** 送信者の指定 RCPT TO: *** 受信者の指定 DATA メール本文 VRFY *** ユーザ名の確認 QUIT 終了 SMTPの主なコマンド コマンドの やりとり HELO mail.example.com RCPT TO:[email protected]電⼦メールのプロトコル:POP
POP(Post Office Protocol) 電⼦メールをサーバから受け取るためのプロ トコル もともとSMTPだけで成り⽴つものだったが、 メールサーバとしての常時稼動が必要 TCPのポート110番が利⽤される(POP3) 認証機能 SMTP POP POP
POPの認証
メールをサーバから取り出すとき
にユーザ名とパスワードが必要
通常では暗号化されていない
USER kanaoka PASS hirosue POP USER *** ユーザ名 PASS *** パスワード LIST *** メール一覧取得 RETR :** メール本文の取得 POPの主な コマンド LIST RETR 1 盗聴が可能WWW(World Wide Web)
WWWとは ◦ インターネットで提供されるサービスの1つ ◦ 世界中に広がるクモの巣(web) ◦ 単にWeb(ウェブ)とも 情報提供を⾏うサービス ◦ ハイパーテキストと呼ばれる情報をやり取りする Webブラウザ ◦ WWWの情報を表⽰するソフトウェア 使われている技術 ◦ HTML Webの情報を記述するための⾔語◦ URL(Uniform Resource Locator)
情報の場所や取得⽅法の指定 ◦ HTTP 情報の送受信を⾏うプロトコル HTML:情報の記述⽅法 URL:どこに情報があるかを⽰す WWW
URL (Uniform Resource Locator)
インターネットサービスで提供される
情報などの資源(リソース)の所在を
⽰す⽅法
http://www.klab.is.sci.toho-u.ac.jp/classes/
スキーム://ホスト名/パス名
スキーム HTTP www.klab.is.sci.toho-u.ac.jpホスト名 classes/パス名HTML(HyperText Markup Language)
WWWの⽂書を記述するための⾔語
◦
ハイパーテキスト
複数の⽂書を「リンク」で結ぶ
ハイパーリンク◦
マークアップ⾔語
⽂章を「タグ」と呼ばれる⽂字列で挟みこむ
⽂章構造や、⽂字の表現などを⽰すことができ
る
XMLやTex、SGMLなどもマークアップ⾔語
HTTP
(HyperText Transfer Protocol)