インターネットで通信を行うためには、IPアドレスが必要。
WebではURLを使用してサイトにアクセスするが、内部的にはURLからIPアドレスに変換されている。
IPアドレスは管理が難しいため、ドメイン名で管理をする。
ドメイン名に紐づくIPアドレスを集中的に管理する仕組みがDNS。
IPアドレス意外にもいろいろな資源管理を行っている。
Aレコードは、IPアドレス。
複数のホスト名に同一のIPアドレスを対応させることも出来るし、一つのホスト名に複数のIPアドレスを対応させることも出来る。
ネームサーバはNSレコード。
ゾー ン分割を行ってサブドメインに権限委譲する場合は、そのネームサーバをNSレコードで指定する。
1:ループバックアドレス
現在使用しているコンピュータを指す
IPv4の127.0.0.1に相当
2:グローバルユニキャストアドレス
IPv6ネットワーク全ての中で一意
IPv4のグローバルアドレスに相当
3:リンクローカルユニキャストアドレス
ルータを超えない範囲内
4:ユニークローカルユニキャストアドレス
インターネット接続が発生しない範囲
IPv4のプライベートアドレスに相当
5:マルチキャストアドレス
複数のアドレス宛に同報通信を行うためのアドレス
IPv4のマルチキャストとブロードキャストを兼ねた役割
2〜4はスコープが異なる。
リンクローカル<ユニークローカル<グローバル
5でブロードキャストが廃止されたのは、マルチ キャスト機能で十分だから。
マルチキャストで全グループに同報通信をするとブロードキャスト。
たくさんのユーザからのリクエストを一旦受け取り、Webサーバに中継する。
メリット
・複数のWebサーバでサービスを稼働させることで負荷分散できる。
・サーバのコンテンツのうち、変化しない部分をキャッシュしておくことで、Webサーバの負荷低減が出来る。
・暗号化通信をリバースプロキシサーバが行うことで、Webサーバの負荷低減が出来る。
DMZ1にリバースプロキシサーバを配置して公開、DMZ2にWebサーバを配置することで、外部から直接DMZ2のWebサーバにアクセスできないため、コンテンツの改ざん防止が期待できる。
DMZは日本語訳すると、非武装地帯というカッコいい名前になる。
DeMilitarized Zoneから来ているらしい。
内部ネットワークからインターネット接続をする場合に、通信を中継するサーバ
メリット例
・キャッシュを用いることで高速なアクセスが可能
・通信を遮断出来るので安全
設定方法
・手動設定
・自動設定(DHCPサーバまたはDNSサーバ側で設定されている前提)
WPADプロトコルに対応していることが必要
・設定ファイルから自動設定(PAC)
Javascriptで書かれた設定ファイル(pacファイル)を読み取って自動で設定
HTTPには認証のためのプロトコルが用意されている。
ベーシック認証は、パスワード秘匿されないので盗聴が可能(SSL/TLSを使用している場合は安全らしい)
ダイジェスト認証は、秘匿化のためにハッシュを用いる。
1:サーバ側でランダムな値をつくる。
2:画面側でランダムな値を受信する。
3:画面側でユーザがIDとパスワードを入力すると、ランダムな値と合わせてハッシュ化される。
4:3でハッシュ化した情報を、サーバ側でも同様に作成して、受信した情報と比較して認証を行う。
最初に HTTPS でアクセスして Strict-Transport-Security ヘッダーが返されると、
ブラウザはこの情報を記録して、以降は HTTP を使用してサイトへアクセスすると、
自動的に HTTPS を使用するようになる。
1年間期限でHTTPSを使用する設定(サブドメインにも適用される)
Strict-Transport-Security: max-age=31536000; includeSubDomains
さらに、preloadオプションを付与することで、
初回アクセス時でもHTTPS通信を行うことが可能だが、
仕様書では定義されていない非公式なオプションらしい。
TCPは、透過的なデータ転送を行うためにコネクションを確立し、通信網の品質の差を保管する。
コネクションには、SYN/ACKの仕組みを使う。
「透過的」って何?
透過的:トランスペアレント
送信データの内容を書き換えることなく、そのままの形で相手に送られる通信のこと。
ユーザデータにTCPやIPなどのヘッダを付けて、ヘッダを用いてうまいこと通信する。
TCPとUDPの両方のヘッダに共通して存在するのは、送信元ポート番号、送信先ポート番号
UDPは、DNS、SNMP、NTP、DHCP、RIPなどで使われている。