プログラマとしてとりあえず知っておいた方が良いと思うサーバ・ネットワークの知識を簡単にまとめた。
ドメイン名と名前解決
サーバとネットワークは切り離せない関係にある。
- インターネットの仕組み
- インターネットとは、ある一定の決まりで作られた、世界で最も大きなコンピュータネットワーク
- インターネットを使うシーン
- webページ
- メール
- IP電話
など。
いずれの場合も、目的のサーバを最初に探す必要がある。その時に使われるのがドメイン名。
- ドメイン名
例えば、このYahooのURLは、http://www.yahoo.co.jp/
ドメイン名は、www.yahoo.co.jp
このドメイン名は、以下のように分割できる。
-
- サーバ名:www
- 組織名:yahoo
- セカンドレベルドメイン:co
- トップレベルドメイン(TLD):jp
ドメイン名が重複すると、サーバが特定できないので、webサーバは世界で唯一の(ユニークである)ドメイン名を持つ。
ドメイン名は、NIC(Network Information Center)などのドメインを管理している団体に申請して発行してもらう。
IPアドレス
インターネット上では、ドメイン名は、IPアドレスという番号に変換される。
IPアドレスとは、インターネットなどのIPネットワーク上のコンピュータを区別するために、一台ずつに割り振られた識別番号。
8つの0または1の数字でできたかたまり4つからなる数字の羅列で構成されている。
例えば、
00000001 10001011 10100010 11000011
など。
通常は、以下のように10進数で扱う。
1.147.162.195
こんな数字は覚えにくい、ということでドメイン名が考案された。
もちろん、IPアドレスも、世界で一つの値がそれぞれのサーバに割り当てられる。
似た例で言うと、電話番号。これも数字でできていて、世界で唯一の番号が一つの電話に割り当てられる。
- IPアドレスとLAN
NICからIPアドレスを発行してもらうと、必ず複数個のIPアドレスが発行される。因みに、個人で一つだけIPアドレスが欲しい時は、IPアドレスをNICから複数発行してもらっている業者から一つをもらう。
「何個のIPアドレスを使ってよいか」でAからEの5つのクラスに分けられる。
A | 1〜127(ネットワークアドレス) | ホストアドレス | ホストアドレス | ホストアドレス |
B | 128〜191(ネットワークアドレス) | 1〜254(ネットワークアドレス) | ホストアドレス | ホストアドレス |
C | 192〜223(ネットワークアドレス) | 1〜254(ネットワークアドレス) | 1〜254(ネットワークアドレス) | ホストアドレス |
D | ||||
E |
-
- NICから発行された部分をネットワークアドレスと言う。
- 自由に付与してよい範囲をホストアドレスと言う。
- D、Eは特別なクラスで、発行されることはない。
IPアドレスは、32ビットからなるので、2^32=約43億のIPアドレスが考えられる。しかし、全世界にはそれ以上多くのコンピュータがある。従ってIPアドレスが足りないと考えるかも知れないが、今のところそうはなっていない。
それはなぜかというと、インターネットに直接接続していないコンピュータは、ユニークなIPアドレスでなくてもよいという決まりがあるから。つまり、インターネットに直接接続していないコンピュータの中には、同じIPアドレスがある。ただし、同じネットワークの中では、IPアドレスはユニークでなければならない。
- ローカルIPとグローバルIP
- 上述したようにIPアドレスには、インターネットに直接接続しているものと、直接接続していないものがある。
- 直接接続しているコンピュータ用のIPアドレスをグローバルIPアドレスと言う。
- 直接接続していないコンピュータ用のIPアドレスをプライベート(ローカル)IPアドレスと言う。
- グローバルIPアドレスは、全世界においてユニーク
- プライベートIPアドレスは、所属するネットワークの中でユニーク。
- ルータやDNSサーバはプライベートIPアドレスを無視するので、プライベートIPアドレスと同じIPアドレスがインターネット上にあっても問題ない。
- 上述したようにIPアドレスには、インターネットに直接接続しているものと、直接接続していないものがある。
サブネット化
サブネット化とは、IPアドレスのうち、自由に使ってよいホストアドレスを複数に分割すること。一つのネットワークに属するPCを減らすことで、ネットワーク内での通信速度やセキュリティレベルを高めたり、管理者が管理しやすくする。(細かく分割しすぎると、ネットワーク数が増え、経路情報が増え、広域通信におけるルーティングが非効率になるので注意。)
例えば、192.168.1.0〜192.168.1.255を5つに分ける場合、0と255は特別な意味を持ち使えないので、1〜254の254個が使える。これを5つに分割するには、3ビット必要(000,001,010,011,100,101,110,111の8種類。2ビットだと4種類)。
8ビットのうち、最初の3ビットを割り当てる。この3ビットをサブネットワークアドレスという。
残り5ビットをコンピュータに割り当てられる。00000と11111は特別な意味を持ち使えないので、このサブネットには残り30台ずつのコンピュータを接続することができる。
サブネットマスク
- サブネットマスクとは、IPアドレスのうち、何ビットをネットワークを識別するためのネットワークアドレスに使用するかを定義する32ビットの数値。
- 例えば、上記の例だと、サブネットマスクは255.255.255.224(27ビット)になる。
- つまり、27ビット(255.255.255.224)がネットワークを示す部分ということ。
インターネットのプロトコル
インターネットでは、TCP/IPと呼ばれるプロトコルを用いる。TCP/IPは複数のプロトコルの集まり。
TCP/IPプロトコルをOSI参照モデルで分類すると以下のようになる。
7 | アプリケーション層 | HTTP、FTP、Telnet、SMTP、POP3 |
6 | プレゼンテーション層 | HTTP、FTP、Telnet、SMTP、POP3 |
5 | セッション層 | HTTP、FTP、Telnet、SMTP、POP3 |
4 | トランスポート層 | TCP、UDP |
3 | ネットワーク層 | IP |
2 | データリンク層 | PPP |
1 | 物理層 | イーサネット |
インターネットの主なサービスは、主にアプリケーション層のプロトコルにより提供される。
プロトコル名 | サービス |
---|---|
HTTP(HyperText Transfer Protocol) | webページを転送するプロトコル。webページを発信し、閲覧するために使われる。 |
FTP(File Transfer Protocol) | ファイル転送サービスを行うプロトコル。インターネットを経由してファイルをダウンロードする際などに使われる。 |
Telnet | 他のコンピュータにログインして機能を利用するプロトコル。 |
SMTP(Simple Mail Transfer Protocol) | 電子メールの配送を行うプロトコル。 |
POP3(Post Office Protocol Version 3) | 電子メールの受信を行うプロトコル。メールサーバから受信メールを読み出す際に使われる。 |
SNMP(Simple Network Management Protocol) | ネットワークの管理を行うプロトコル。 |
NTP(Network Time Protocol) | 時刻を合わせるプロトコル |
ポート
- ポートとは、インターネット上で利用されるアドレスの一種。PC側の窓口と言える。
- 具体的には、インターネット上での通信時に、複数の相手と同時に接続するための、IPアドレスの下に設けられたサブアドレス。
- ネットワークで送受信されるデータは多岐にわたり、データの種類によって必要になるソフトが異なる。そのため、ネットワーク上ではIPアドレスだけでなく、ポート番号あるいはポートと呼ばれる情報が利用される。
- IPアドレスに従って端末に届けられたデータは、その後ポート番号によって振り分けられ、適切なプログラムに手渡されて処理される。
- ポートは1〜65535まで存在する。送受信する頻度の高いデータに関しては、以下のように専用のポートが設けられている。
ポート番号 | サービス名 | サービス内容 |
---|---|---|
23 | telnet | Telnet用のポート |
25 | smtp | メール送信ポート |
53 | domain | DNS用ポート |
80 | www-http | HTTP用ポート。webページにアクセスする時に使用 |
110 | pop3 | メール受信用ポート |
443 | https | SSLによる暗号化プロトコル、HTTPS用のポート |
8000 | http-proxy | HTTP-proxy用ポート。webページにアクセスする時に使用 |
8080 | http-proxy | HTTP-proxy用ポート。webページにアクセスする時に使用 |
IPルーティングテーブル
- ルーティングテーブルとは、ルータや端末が保持するパケットの配送先に関する経路情報。
- TCP/IPネットワークでパケットを送ろうとするとき、ルーティングテーブルを参照してパケットを送付すべき相手を判断する。ある端末から他の端末へとパケットを送ろうとする場合、目的の端末が自ネットワーク内にない場合、端末内にあるルーティングテーブルを参照し、パケットを中継させる端末を決定する。
セキュリティ
サーバのセキュリティホールを突いて、情報が盗まれたり改竄される事件が多発している。
堅牢なサーバにしなければならない。
堅牢なサーバにするには
重要な点は大きく2つ。「入られない」ことと「解読されない」こと。
- 入られない
サーバに入るとは、サーバ内の情報を操作できる権限を持つこと。管理者権限をとられると、改竄したり情報を盗んだりシステムを壊したり、何でもできてしまう。
-
- サーバに入られないために気をつけること
- パスワードを簡単に類推できないようにする
- パスワードを定期的に変更する
- パスワードを知る人を最小限にする
- 遠隔操作はできるだけしない
- 不要なソフトウェアを起動させない
- サーバソフトウェアの実行権限を最小限にする
- ファイルやディレクトリのアクセス権限を制限する
- サーバに入られないために気をつけること
-
- 進入された場合、ログファイルにその痕跡が残るはずなので、定期的にログファイルをチェックして、覚えのない操作が行われていないかチェックする。
- 解読されない
- 万が一データが取得されても、解読できなければ悪用されにくい。
- 暗号化する際、多くの場合、sshを使用する。
鍵認証
- 暗号化の方法の一種に鍵認証方式がある。
- 原文を平文、変換した文を暗号文という。平文を暗号文に変える手続きを暗号化という。
- 暗号文を平文に戻す手続きを、復号という。
- 暗号化や復号に使われるデータを、「鍵」と呼ぶ。
共通鍵方式(秘密鍵方式)
- 共通鍵方式とは、暗号化と復号を、共通の鍵を使って行う方式。
- この鍵は、第三者に知られないように秘密にしておく必要がある。
- 代表的な共通鍵方式には、DES(Data Encryption Standard)がある。
公開鍵方式
- 公開鍵方式とは、暗号化と復号を別々の鍵で行う方式。
- 受信者はまず、公開鍵と秘密鍵をペアで作成。公開鍵方式では、公開鍵から秘密鍵を推測するのが困難なものを使う。
- 暗号化は、受信者の公開鍵を使って行い、復号は、受信者の秘密鍵で行う。
- 公開鍵から秘密鍵を推測するのは困難なので、秘密鍵さえ安全に保管していれば、第三者は暗号を解読できない。
- 代表的な公開鍵方式には、RSA(Rivest Shamir Adleman)がある。RSAは、因数分解に計算時間がかかることを利用した仕組み。
- 公開鍵方式では、公開鍵で暗号化を行うため、不特定多数の人間からメッセージを受け取ることができる。これは、電子メールや電子商取引など、不特定多数の人間とメッセージをやり取りする際の暗号化方式として適している。
参考
図解 パソコン用語事典―「基本用語」から「新語」「略語」まで、厳選200 (I・O BOOKS)
- 作者: I O編集部
- 出版社/メーカー: 工学社
- 発売日: 2006/10
- メディア: 単行本
- この商品を含むブログ (1件) を見る
- 作者: 大滝みや子
- 出版社/メーカー: 翔泳社
- 発売日: 2009/06/27
- メディア: 単行本(ソフトカバー)
- クリック: 2回
- この商品を含むブログ (6件) を見る
- 作者: 瀬下貴加子
- 出版社/メーカー: 翔泳社
- 発売日: 2006/02/21
- メディア: 単行本
- クリック: 56回
- この商品を含むブログ (5件) を見る
お読み頂きありがとうございます。
少しでもお役に立てたらクリックお願いします↓。
◆◆このブログのサイトマップへ◆◆