第3回 - コンピュータ・ネットワーク

0. コンピュータ・ネットワークとは

複数のコンピュータどうしを線でつないで通信すること。 コンピュータにとっては、入出力装置の一種。

演算装置 ネットワーク 入力 出力

「道路」と同じく、インフラの一部である。

なにに使うのか?

どうやって送るのか?

信号線は基本的に 1本しかないのに、 複数のコンピュータどうしが同時に双方向で通信できる。

これを実現するためには、究極的にはふたつの方式しかない。

A. 通信中は回線を占有させる (回線交換)

Telephone Switchboard Operators

B. 信号を小分けにして送る (パケット通信)

1. ネットワークにおける課題

ネットワークは構築するのが大変だ。(道路と同じ)

いくつかの取り替え可能な「部品」から作る。(ソフトウェアと同じ)

アプリケーション層
TCP層
IP層
データリンク層

テレビと比較すると、インターネットでは上の要素はどれも可変である。 唯一の規格はパケット送受信の方式 (プロトコル) だけ。

2. インターネットの基本的なしくみ

Ethernet (データリンク層)

0 と 1 の列をどうにかして隣のマシンに送る。 (電気を使わなくてもかまわない: http://www.blug.linux.no/rfc1149/)

Ethernetはよく使われている方式のひとつ。 ブロードキャストが基本。無線LANもEthernetの一種。

海底ケーブル

IP層 (ネットワーク層)

データ (0/1) が2点間で信頼できる方法で送れるようになったら、 次はそれを使って離れた地点にパケットを送る。

コンピュータから見ると、インターネットの世界の正確な全体像はわからない。 (道路と同じ) Atlas of Cyberspaces

IPアドレス

インターネット上のある「地点」とは、「IPアドレス」によって表現される。 これは物理的な場所とは何の関係もない。

全世界で32ビット。 インターネットを使うすべての機器には IPアドレスが必要である。→ アドレスが足りない。

そこで、以下のアドレスは組織内で勝手に使うことができるという 決まりになっている。(プライベート IPアドレス)

TCP層 (トランスポート層)

パケットは途中で失われたり、二度届いたりする。 送られてきたパケットをうまくつなぎ合わせて、仮想回線を構築する。 途中で失われたパケットは再度、送ってもらうよう要求する。

ここまでくると、インターネット上のあるコンピュータから別のコンピュータに 「任意の長さの 0 と 1 の列」を送れるようになる。 それをどう使うかはお互いの自由。

ルータ

IPパケットは、複数台のコンピュータを経由して転送される。 このようなIPパケットを転送するコンピュータを「ルータ (router)」とよぶ。

ルータは受けとったパケットをいったんメモリに保管し、 適切な送り先に向けて送信する。

サーバとクライアント

「サービス」と「客」

サーバ クライアント クライアント クライアント

サーバ上でサービスを提供することを「クラウド (cloud) サービス」と呼んだりする。

アプリケーション層

World Wide Web (WWW)

  1. クライアント (ブラウザ) がコンテンツを要求する。
  2. サーバがコンテンツを提供する。

たとえばブラウザで

というURL を開くと、PC はインターネット上のサーバ "www.example.com" と通信し、以下のような HTML文書を取得する。
<html>
...

これをブラウザが画面に表示し、ユーザが閲覧する。

電子メール

  1. クライアント (メーラ) がメッセージを送る。
  2. サーバがメッセージを受けつける。

たとえば電子メールソフトで

shinyama@example.com
というメールアドレスにメールを送ると、PC はインターネット上のサーバ "mail.example.com" と通信し、そのサーバ上に登録されている ユーザ "shinyama" 宛に電子メールの本文を送信する。

3. セキュリティとは何か?

セーフティ (Safety) とセキュリティ (Security)

セキュリティの要件

コンピュータセキュリティの価値

「悪者は個人のPCなんかには興味がないだろう」と思ったら大間違い。 いまや大量のPCに侵入すれば金銭的な価値が生まれる。

ハックされたPCの価値

ハックされたアカウントの価値

4. ネットワークのセキュリティ

コンピュータネットワークのセキュリティは、 コンピュータ全体のセキュリティのうちのごく一部。

TCP/IPでは、データは信頼性ある方法で通信できるが、通信が安全かはわからない。 (ルータはパケットを中継しているため、途中で流れている情報を盗み見ることができる。)

これを防ぐため、 現在では HTTP のかわりに、暗号を使った HTTPS を使っているところも多い。

暗号とは何か?

通信が暗号化されているかどうかの確認

暗号化だけが行われている場合

「現実世界との関係」が証明されている場合

「信頼の連鎖」

  1. 世界中の人々は VeriSign (Symantec) という会社を信頼している。
  2. Paypal は VeriSign からお墨付 (証明書) をもらう。
  3. パソコン (ブラウザ) はその証明書を使って、通信が正しいことを確認する。
  4. ユーザはパソコンが正しく動作していると信じる。

「VeriSign を信じる」 → 「Paypalを信じる」 → 「パソコンの動作を信じる」

これで初めてお金の決済ができることになる。

5. インターネットと監視社会

検索エンジンによる情報の漏洩

たとえば Google は、個人が検索したキーワードや見たサイトをすべて記録している。 「検索エンジンはあなたよりもあなたのことをよく知っている」と言われる。 2006年、AOL での検索エンジン記録が流出。 記事1, 記事2

広告業界による監視

商品を宣伝するときには、 客の情報を詳しく知っていたほうが有利 → 個人情報は金になる。 雑誌広告の価格一覧。 Google AdWords: 1クリック およそ 100円。

「ネットのものがタダであるとき、売られているのは自分」

国家レベルの盗聴

2013年、NSA元職員によるリーク。 米国・英国政府は日常的に国民・外国人の通信を盗聴し、 何年間も蓄積していると言われている。


Copyright (c) 2015 Yusuke Shinyama