情報科学
B(7
回目
)
ネットワーク 佐藤尚
課題(宿題)
• 以下のどちらかのアルゴリズムを記述して下さい。どの 程度まで細かく書くかは任せます。 • ピザ屋(食品系)の注文手順 • 鉄道の自動券売機の処理手順 • または、前田ブロックhttp://junk.wise9.jp/maedaj/ で何かを作る • 提出日:6月3日の授業時 • A4用紙 • 名前と学生番号を忘れずに!!ソフトウェアの話(まとめ)
• アルゴリズム • 計算量 • プログラミング • プログラミング言語 • 抽象化と仮想化 • バグ • 確率コンピュータ技術の流れ
• 初期から1980年代前半までは集中 • メインフレームに代表されるように使われ方 • 1980年代後半から割と最近までは分散 • 安価なパソコンやワークステーションを中心 • サーバとクライアント • 最近は分散+集中 • パソコン・タブレット端末などとインターネット上のサービスを組み合わせる • Gmailなど • クラウドサービス通信
• メッセージを持って人が移動する • 腕木通信(光学テレグラフ) • 電話 • 無線通信 • インターネットネットワーク
• 帯域:どれくらい速くデータを送ることができる • 伝送遅延・遅延:ある情報の塊がシステムを通過するのどれく らい時間がかかるか • ジッター:伝送遅延の変動 • 範囲 • 一対一、一対多 • ネットワークシステムの共通点 • 送信元:何らかの媒体を通じて伝送できるような物理的な表現に変換 • 受信先:その物理的な表現から、元データを復元ネットワーク
• (固定)電話 • 世界的規模で成功しているネットワーク • すべての電話機が電話会社の交換機と物理的につながってる • ADSL • ケーブルテレビ • xbox <- マイクロソフトの作っているゲーム機 • xbox one:新発売予定 • ps3 <- ソニーが作っているゲーム機 • ps4:新発売予定ネットワーク(
LAN
とイーサネット)
• コンピュータ同士をつなぐための技術
• Local Area Network
• 媒体(物理的な接続):イーサネット(Ethernet) • PARC(xeroxの研究所) • Alto開発の中で登場(1960年代後半から1970年代前半) • Altoは現在のパソコンの原型のようなコンピュータ • 通信の仕方 • 通信媒体は複数のコンピュータでshare • 通信をする前に、今通信をしてるコンピュータがあるかをチェック • 通信してるものがなければ、自分が通信をする • 通信しているものがいれば、少し待ってから(待ち時間は乱数で決定)、再度 挑戦 • のぞき見ることが可能 • それぞれの機械が48ビットの識別番号を持っている
ネットワーク(無線
LAN
)
• 使用する周波数帯など細かく規定されている • 政府が管理 • ITU(国際遠距離通信連合) • 無線LAN • パソコンで使って無線LAN:イーサネットの無線版 • IEEE(国際電気電子技術者協会) 802.11b/g/n • b:11Mbps • g:54Mbps • n:600Mbps • 2.4〜2.5GHz,5GHz • Bluetooth,RFID • GPSInternet とは?
•コンピュータネットワーク
• 複数のコンピュータを結び、情報交換出来るようにしたもの • 90年代最初ころまでは、多くの異なった方式のネットワーク が使われていた。これをインターネット用のプロトコルで、つ ないで一つのネットワークにしたものがインターネット。 •特徴:階層的
、
単純
。
• 大きな世界的ネットを作ることに適していた。 • “最善”ではなく、“実現しやすさ” に徹し「標準化」のパワー を引き出す。
インターネット(歴史)
•1969年:米国国防総省が核戦争になっても切断され
ないネットワークの実験を行う
•1970年:多くの研究機関がARPANETに参加
•1983年:TCP/IPがARPANETの標準プロトコルとして
決定
•1984年:日本で初めて東大
、
東工大
、
慶応大がネット
ワーク(
junet)に結ばれる
•1995年:インターネット接続が急増
•1999年:携帯向けWWWサービス(i-mode)開始
Internet の通信の階層
•一般にネットワークは階層的に作られる
。
• 下のレベルは、上のレベルが必要とする機能をサービスす ることに専念する。 • 上の層は下の層が提供する機能を利用して作業を進める。 • コンピュータの作り方等と同じ発想。 •
上位層は
、
階層が物理的にどう作られているかを知
る必要がない
。
• 下部の層では異種類のネットを使って、単一のネットを作る ことが容易になる。
Internet の階層
•
ネットワークの階層化の標準
• OSI(Open System Interconnection)が世界標準
• 現実の社会では、インターネット・プロトコル・スィート
(Internet Protocol Suite)が事実上の標準
• de facto standard
•
OSI の方が詳細なので参照モデルとして使用
• 参照モデル:関係者が共通に参照できるいわば参考書の役
割をするモデル
Internet の階層
• Internet で採用された階層:TCP/IP • TCP,IP という二つのレイヤー(層)からで構成 • IP という低レベルのプロトコル • TCP という一つ上のレベルのプロトコル • 「必要最小限」のことしか決まってない単純な仕組み。インターネット
(TCP/IPの仕組み)
• Transmission Control Protocol/Internet Protocol
• インターネットに接続するコンピュータはユニークなIPアドレス
(数字)を持っている
• 仕様はRFC (Request for comments)として管理されている
TCP/IPの仕組み(階層構造)
•階層構造に分けることにより
、
構成の単純化
、
拡張を容易に行うことができる
5 アプリケーション層 ユーザプロセス間の通信 4 トランスポート層 コンピュータ間の通信 3 インターネット層 異なるネットワーク間の通信 2 データリンク層 電気信号が直接伝わる範囲でのデータ通信 1 ハードウェア層 電気信号そのものの伝送TCP/IPの仕組み(階層構造)
5 アプリケーション
層
HTTP,SMTP,FTPなど
4 トランスポート層 TCP
3 インターネット層 IP
2 データリンク層
Ethernet,PPPなど
1 ハードウェア層
TCP/IP: Internet 通信方式の代名詞
•
プロトコル
(protocol)
• 通信規約, 通信の方式を決めるもの。
•
公式には
Internet はInternet protocol suite という
プロトコル集として定義されている
。
• RFC (Request For Comments)という文書
• HTTP, PPP,Ethernet などの色々なプロトコルの集まり。
•
TCP/IP という名前が
、
Internet の代名詞
Ethernet
•ハワイ大学の
ALOHANET という「パケット・ラジオ網」
にいきつく
。
• ハワイの電話網は信頼性がなかったらしく、これを代替する ものとして、無線を使ったALOHANET を開発した。 •
ALOHANET の特徴
• 一つの通信バンドしか使わないこと、つまり、ネットの全員 が通信「媒体」を共有することだった。 • 常に完全混線状態。Ethernet
• ALOHANET のような通信を「放送型チャンネル」 (broadcasting channel)型通信という。 • すべての端末が一斉に、すべての他の端末に向かって、通信を broadcast(放送) することにより通信する。 • この方式で、有線「放送」するものがEthernet 。ルーティング
(Routing)
•ルーティング
• “適切な経路”を選び、情報を配送すること。 •ルータは
IP のヘッダつきのデータ受け取ると次の
ようにして転送する
1. 適当な方法で、IP address をネットワーク番号とホスト 番号に分離する。 2. ネットワーク番号に指定されたネットワークに届くように、 自分につながれている通信線(少なくとも2つある)の内、 なるべく適切な線を選びデータを流す。 –インターネット上では
、
ルーティングがとても重要
。
Internet の基本構造
• ホスト( host )とルータ( router ) • ホスト: PCなどの端末。データを発信したり受信したりする装置。 • ルータ:データを転送する装置。 • Internet というネットワークは、自律するネットワーク(subnet という)が沢山あり、それがルータ を使ってつなげてできると 考える。IP address
• IP で指定するアドレスをIP address という。 • 32bit (4 octet)の2進数 • 192.168.0.1 のようにoctet ごとに区切って10進で書くことが多い(0から255)。 • すべてのホストはIP アドレスを持つ。 • IPv4 • IP addressの構造 • ネットワーク番号+ホスト番号 • 各ネットワーク自身もネットワーク番号network number という「アドレス」を持つ。 • たとえば、192.168.0.11 の192.168.0.の部分。 • 残りをホスト番号という。 • Windows などでPC のネットワークの設定をするとき、「netmask 255.255.255.0」を入力することがあるが、これがネットワーク番号を指定する方 法の一つ。 • IPv6IP diagram
• インターネットで送るデータには、「ヘッダ」という宛名書きのよ
うなものを、何重もつける。(普通は3重。)
IPとその役目
• ネットワーク層と呼ばれる階層(レイヤー)のプロトコル。 • ネットワーク層は、任意の二つのホスト間のデータのやりとり を担当。 • 送り元とあて先のアドレスを指定するとデータが届くというサービス(機 能)を提供する。IPはデータの損失に責任を持たない
•IP の階層では
、
途中での事故などでデータが失わ
れたりすることがあっても良いと考える
。
• それを防ぐのは、ネットワーク層の上のトランスポート層の 仕事と考える。 •
インターネットのトランスポート層が
TCP
。
• データが届かなかったら、再送して確実に届くようにする。 • 理論上は、データが届かない可能性がある。
TCP (Transmission Control Protocol)
• トンラスポート層(transport layer) • ネットワーク層の一つ上の層をという。 • ネットワーク層では、データが途中でなくなっても気にしなかったが、トン ラスポート層では、ネットワーク層の機能を利用して、送達確認、誤り制 御などの機能を提供する。 • これがネットワーク層の提供すべきサービス。 • TCP • Internet のトランスポート層のプロトコルポート番号
• TCPのヘッドにはポート番号という16 bit の情報が入っている。 • port という仮想的な通信経路の「港」を考えて、それごとに別に通信を 行う。 • その「港」の識別番号がポート番号。 • Well-known port • WEB 用のHTTP 80番, メール送信用のSMTP 25番というように、標準的 に使われる通信方式に振られている番 • 104番以後のport 番号は、勝手に使ってよい • これをIP address の拡張部分のように使って通信を行う方法もある。Domain Name
•
www.rikkyo.ac.jp
•
DNS (Domain Name Server)
• ドメイン名でホストを指定しても、そのIP address が分から
ないと通信はできない。
• ドメイン名がついたコンピュータ(端末)のIP address をドメ
イン名から割り出してくれるDNS (domain name server)に
IP address を聞くという方式をとっている。
WWW
• WWW = World Wide Web
• インターネット上の文章などを表示するシステム • WWW(web)の魅力 • インターネットとハイパーテキストの合体 • どこにある情報であるかを意識しないでよい • 画像、音、動画像を問わずに、情報を見て回ることが出来る • 検索エンジン:www.google.com
WWW≠Internet
• WWWはInternet上で提供されるサービスの一つにすぎない
WWW のポイント
• Global に共有された読み書き可能なリソースからなる情報の空 間 • Webでのリソースとは、テキスト、画像、音声ファイル、プログラ ムなど多種多様な形式 • データすべての(Web)リソースには、一意的に付けられた名前 (識別子、identifier)をもっている。WWWの性格
• 中央管理なし、自己増殖的。 • Internet の技術的性格・運営上の性格を、そのまま引き継いでいる。 • WWW は、Internet 同様に参加者が自主的にルールを守ることを前提として構 築された自由経済市場の一種であるといえる。空間の一部をどうしようが、それ も自由。 • すべてのリソースにURIという名前がついている。しかし、各リソースは勝 手に追加し、削除し、変更できる。名前により瞬時にアクセスできる、一定 しない世界。 • ローカルに見れば情報管理が可能でもある。WWWの性格
• すべてのリソースにURIという名前がついている。しかし、各リ
ソースは勝手に追加し、削除し、変更できる。名前により瞬時 にアクセスできる、一定しない世界。
Web 以前
• 中心のない自己増殖可能な自由空間、すべてが公開、しかし、検閲もでき るなどは、Internet の性格であり、WWW が付け加えた特徴ではない。 • 扱える情報が多種多様という点はWWW の大きな特用だったが、あらゆる 情報はデジタルデータ(bit 列)だから、ファイル転送の機能さえあれば、ど んな情報でも転送できるともいえる。• Web 以前にも、FTP 、Net News、Gopher、E-mail などのサービスがあっ
Webの普及した理由は?
•Gopher はWWW と良く似たものだったし
、
WWWより
先に普及していた
。
•
WWW が爆発的に一般社会に普及した原因
• Mosaic, Netscape, IE などのグラフィカルな直感的な Hypertext ベースのブラウザが次々に開発されたことにあ るが、 • これがGopher (の改良版)で起きてもおかしくはなかった。 最初に普及したブラウザMosaic はGopher 用でもあった。 •WWW の勝因
• URI とHTMLWebを支える基本要素
• Webの基本要素
• URI(Uniform Resource Identifier)
• 記述言語(情報の構造化,HTML) • 情報の送受信(サーバクライアントモデル) • プロトコル(Protocol) • Webを支える技術 • インターネット(internet) • ハイパーテキスト(Hypertext)
URI,URL
• URI=リソースにつけた名前
• URL
• Uniform Resource Locator
• 世界中(ネットワーク上)にあるファイルを示すための仕組み
• プロトコル名+(Web)サーバ名+組織名+ファイル名
• 例えば、
• http://www.mycompany.com/myfolder/mytext.html
記述言語
(HTML)
• 記述言語:HTML
• Hyper Text Markup Language
• タグと呼ばれる付加情報を挿入して作成 • 仕様はW3Cという標準化団体が勧告 • HTMLファイルは”.htm”または”.html”という拡張子をもったファイルで、可 読テキストとなっている • 最近では、xhtml,css,xmlなど様々な記述言語が利用されるようになってき ている
HTMLの基本構造
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” http://www.w3c.org/TR/html4/strict.dtd>
<html>
<head>文書のヘッダ情報</head> <body>文章本文</body>
情報の送受信
• Webサーバ • WWWにおいて情報を発信する • Apache, IISなど • Webブラウザ(クライアント) • WWWにおいて情報を受信するURL, HTML 方式の利点
• 人間が書きやすい。分かりやすい。 • すべてテキストなので、Windows のメモ帳で十分書ける。 • コンピュータが分析しやすい。 • 成熟した情報処理技術(形式言語の構文解析 )で処理可能WWW から情報を探す
1. Web browser でWWW をサーフする。 2. 雑誌などでURL を探す。 3. Yahoo などの情報ディレクトリを調べる。 4. Google などの検索エンジンを利用 • WWW 上の情報検索の主流になりつつあるの • 特にGoogle はリンクという人間の判断や知識を利用する優れた「社 会的方式」による正確なマイニングとして知られている • データマイニング:統計学、パターン認識、人工知能などのデータ解 析技法を大量のデータに網羅的に適用することで知識を取り出す技 術プロトコル(
Protocol)
•
複数のコンピュータが通信するためには必ず
プロトコルが必要
•
HTTP (Hyper-Text Transfer Protocol)
• Webサーバとwebブラウザの間の通信ルール •
HTTPはTCP/IPを利用(子プロトコル)
HTTP ブラウザ サーバ 要求(HTMLファイルを見せて) 応答(ファイルの内容を送る)ハイパーテキスト
• リンクをたどりながら、次々に渡り歩くための仕組み • リンクでつながれた文書をノードと呼ぶ • ノードには、文書、画像、音声などの多彩に情報を集めた 入れ物となっている • 人間の記憶の構造に似ているために、直感的に理解しや すいと言われているハイパーテキスト
•Web以前にポピュラーであったハ
イパーテキスト
•Macintoshに搭載されていた
HyperCard
• “カード”と呼ばれるメディアで情報を 統一的に表現 • 関連するカード同士にリンクを作成 • 1台のコンピュータ上のカードだけにし かリンクを張ることが出来るハイパーテキスト
•1945年:V. Bushによるマイクロフィルムを用い
たハイパーテキスト構想
(memex)
•1965年:T. Nelsonによる世界的規模のハイ
パーテキスト構想
(Xanadu)
•1987年:HyperCard発売
•1991年:Tim Berners-LeeによるWWWの発表
Webの発展
• クライアントサーバ方式 • Webシステムが普及する以前によく利用 • Webシステムの特徴 • ユーザの所にはWebブラウザだけがあればよい • ユーザは使い慣れたwebブラウザで作業が出来る • Webの広範囲での利用 • 情報検索:googleなど • 電子商取引:Amazonなど • 予約サービス:航空券の予約など • コミュニケーション:webメールや掲示板(2chなど)など • Web2.0Webシステムを拡張する仕組み
•
CGI (Common Gateway Interface)
•
ブラウザから要求をうけた
webサーバが
、
指定された
プログラムを呼び出し処理を行い
、
その処理結果をブ
ラウザに返す仕組み
ブラウザ サーバ プログラムによ る処理 ブラウザからの 要求Webシステムを拡張する仕組み
•Java,JavaScript
•Webブラウザ上で実行されるスクリプト型のプログラミ
ング言語
•特徴など
• Webサーバと通信することなく画像の切り替えや計算などを 行うことが出来る • 実行環境にあわせてコンパイルする必要がない • Webサーバに計算負荷や通信負荷がかからない • サーバサイドプログラムの実行を禁止されているサーバでも 動作可能 • 互換性の問題があり •Cookie(クッキー)
暗号化の仕組み
•暗号化
• 他人がデータを見てもその内容がわからないように、ある規 則に従ってデータを変えてしまうこと。 • 暗号化されたデータは、復号という処理によって元のデータに 戻す。 •暗号化鍵(あんごうかかぎ)
• データを暗号化するときに使われる特別な値のこと。Cookieとは?
•Cookie
• Webサーバーがクライアントコンピュータに保存するファ イル nCookieの利用のされ方
1. Webサーバーに初めて接続した際 に、そのWebサーバー専用の Cookieファイルを作成する。 2. Webサーバーに接続したときには、 WebブラウザがそのCookieをWeb サーバーに送信する。 3. このような仕組みによって、個々の Webブラウザが前回使用していた 情報を読み取ることが出来る。Cookieの問題点
• Cookieの問題点 • 別のWebサーバー用のCookieの情報を取得できてしまうというWebブラウザ のセキュリティホールが発生し、情報セキュリティ上のひとつの懸念事項と なっている • 現時点での解決策 • Webブラウザではセキュリティの設定やプライバシーの設定といった機能に よって、WebサイトごとにCookieの利用を指定が可能 • 信頼出来るWebサイトにだけCookieの使用を許可するのがもっとも現実的 な利用方法 • セキュリティホール • OSやソフトウェアにおいて、情報セキュリティ上の欠陥となる不具合 • セキュリティホールが残された状態でコンピュータを使用すると、クラックキン グに利用されたり、ウィルスに感染したりする可能性も • Windowsの場合には、サービスパックやWindows Updateによって、それま でに発見されたセキュリティホールを塞ぐことが出来るWebシステムを拡張する仕組み
•
SSL (Secure Socket Layer)
•
WebブラウザとWebサーバ間で安全な通信を行なう
ために
Netscape社が開発したセキュリティ機能
•トランスポート層とアプリケーション層間に位置するプ
ロトコル
、
HTTPに限らずTelnetやFTP
、
SMTPなどのさ
まざまなアプリケーションプロトコルを暗号化できる点
が特徴
https://ではじまる http://ではじまるXML
•eXtensible Markup
Language
•拡張性に富んだわかりや
すいデータ形式
•複雑なデータを他のアプリ
ケーションでも統一的に扱
えるようになる
<個人情報> <名前>牧瀬里穂</名前> <性別>女性</性別> <誕生日> <年>1971</年> <月>12</月> <日>17</日> </誕生日> <血液型>B</血液型> </個人情報>
電子メールの仕組み
•
送信
:SMTP(Simple Mail Transfer Protocol )
電子メールの中身
• ヘッダ
• 発信者や転送経路の情報を記載
• ボディ
• 送りたいメッセージ本文
Received: from rcpt-expgw.biglobe.ne.jp (rcpt-expgw.biglobe.ne.jp [202.225.89.184])
by ic.******.ac.jp (8.9.3/3.7W) with ESMTP id BAA11840 for <***@ic.*******.ac.jp>; Mon, 7 Jul 2003 01:31:26 +0900 (JST)
Received: from smtp-gw.biglobe.ne.jp
by rcpt-expgw.biglobe.ne.jp (nkrw/5508310702) with ESMTP id h66GUkW28241;
Mon, 7 Jul 2003 01:30:46 +0900 (JST) X-Biglobe-Sender: <******@mui.biglobe.ne.jp>
Received: from HISA (133.205.115.243 [133.205.115.243]) by smtp-gw.biglobe.ne.jp
id BAABC0A826BB; Mon, 07 Jul 2003 01:30:41 +0900 (JST) Message-ID: <001401c343db$f0cde4f0$0b01a8c0@HISA> From: “**********" <*****@mui.biglobe.ne.jp> To: "=?iso-2022-jp?B?GyRCOjRGIxsoQiAbJEI+MBsoQg==?=" ***@ic.*******.ac.jp Subject: =?iso-2022-jp?B? GyRCPSlNVTg2JEs5VCRDJEYkLSReJDckPxsoQg==?= Date: Mon, 7 Jul 2003 01:30:40 +0900
MIME-Version: 1.0 X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2720.3000 Status: