.com Master ADVANCE 試験対策備忘録 (1/5)

ネットワークスペシャリスト試験の前哨戦にNTTコミュニケーションズが実施している.comMaster Advancdeを受験しようと思い立ちました。その受験に向けた備忘録メモをまとめておこうと思います。

# インターネットの仕組みと関連技術

## OSI参照モデルとプロトコルの関係

|階層|名称|プロトコル|
|---|---|---|
|第7層|アプリケーション層|アプリケーションプロトコル(HTTP/SMTP/POP3/FTPなど多数)|
|第6層|プレゼンテーション層|同上|
|第5層|セッション層|同上|
|第4層|トランスポート層|TCP/UDP|
|第3層|ネットワーク層|IP|
|第2層|データリンク層|Ethernet|
|第1層|物理層|同上|

## IPv4
### 送信方式

|方式|説明|
|---|---|
|ユニキャスト|1対1で通信を行う最も一般的な送信方式|
|マルチキャスト|1対多の通信を行う。登録された複数のホストに対してデータを送信する。マルチキャストアドレスという特殊なアドレス宛にデータを送信すると、経路上のルータで必要なだけ複製され、最終的に多数のホストに届く。送信側サーバーのネットワーク負荷が軽減されるため、ストリーミングなどの動画配信で使用する。|
|ブロードキャスト|1対多の通信を行う。ある1つのサブネットワーク内の全てのホストに対して通信を行う。|
|エニーキャスト|1対1の通信を行う。同じIPアドレス(エニーキャストアドレス)が割り当てられている複数のホストのうちどれか1つにデータを送信する。|

### 特殊なアドレス

|アドレスの種類|説明|
|---|---|
|ネットワークアドレス<br>(Network Address)|サブネットワークの最初のアドレス(ホスト部が全て0のアドレス)はそのネットワーク全体を代表する。「ネットワークの代表番号」に当たる。<br>例: 192.168.0.0|
|ブロードキャストアドレス<br>(Broadcast Address)|サブネットワークの最後のアドレス(ホスト部が全て1のアドレス)はブロードキャストを行う際に使用する宛先アドレスでディレクティッドブロードキャストともいう。<br>例: 192.168.0.255|
|ループバックアドレス|自分自身を表すアドレス<br>例: 127.0.0.1|
|リンクローカルアドレス|DHCPからIPv4アドレスが取得できなかった場合などにOSが自動的に付与するアドレス<br>例: 169.254.0.0 ~ 169.254.255.255の範囲内のアドレスが自動的に付与|

### クラスフルアドレッシング

|クラス|先頭ビット|備考|
|---|---|---|
|クラスA|先頭ビットは必ず0|-|
|クラスB|先頭2ビットは必ず10|-|
|クラスC|先頭3ビットは必ず110|マルチキャストアドレスとして使用|
|クラスD|先頭4ビットは1111|研究用アドレス|

### プライベートアドレス

|クラス|プライベートアドレスの範囲|サブネットマスク|
|---|---|---|
|クラスA|10.0.0.0 ~ 10.255.255.255|255.0.0.0|
|クラスB|172.16.0.0 ~ 172.31.255.255|255.255.0.0|
|クラスC|192.168.0.0 ~ 192.168.255.255|255.255.255.0|

## IPv6

### 特殊なアドレス

|アドレス範囲|先頭ビット|割り当て用途|説明|
|---|---|---|---|
|2000::/3|001|グローバルユニキャストアドレス|IPv4におけるグローバルIPv4アドレスに相当|
|fd00::/8|1111 1101|ユニークローカルアドレス|IPv4におけるプライベートIPv4アドレスに相当|
|fe80::/10|1111 1110 10|リンクローカルアドレス|同一リンク内のホスト同士の通信で使用|
|::1/128|-|ループバックアドレス|-|

### IPアドレスの配布

|アドレス自動設定|説明|
|---|---|
|ステートフルアドレス自動設定|DHCPv6サーバで128ビットのIPv6アドレスをホストに配布する。(IPv4のDHCPと同様の動作)|
|ステートレスアドレス自動設定|SLAAC(スラーク:StateLess Address AutoConfiguration)。プレフィックス(上位64ビット)をRA(ルータ広告)によってルータから取得しインタフェースID(下位64ビット)は自分で生成する。|

### 近隣探索

|メッセージ|目的|
|-|-|
|近隣要請(NS:Neighbor Solicitation)→近隣広告(NA:Neighbor Advertisement)|$\cdot$ IPv6アドレスの重複を検出<br>$\cdot$ IPv6アドレスとMACアドレスの解決<br>$\cdot$IPv4のARPに相当|
|ルータ要請(RS:Router Solicitation)→ルータ広告(RA:Router Advertisement)|$\cdot$ ステートレスアドレス自動設定のためのプレフィックス通知<br>$\cdot$ デフォルトルート(ルータ)の発見と通知|

## TCP/UDP

|プロトコル|通信相手との接続タイプ|特徴|メリット|デメリット|
|-|-|-|-|-|
|TCP|コネクション|確認応答を受けつつデータを転送|確実なデータ送信が出来る|処理負担が大きく、データ転送速度が遅い|
|UDP|コネクションレス|確認応答を受けずデータ転送|データ転送速度が高速|データ転送に関して信頼性が劣る|

## ネットワーク機器

### ハブ

|種類|説明|
|---|---|
|リピータハブ|入力された信号の増幅機能とポート同士の接続機能だけを持つ。ホストが送信したフレームは全てのポートから送出され宛先以外にも届く。|
|スイッチングハブ<br>(スイッチ)|フレームの宛先を調べて宛先のホストが接続されているスイッチのポートのみにデータを送出する。そのため無駄な通信や信号の衝突(コリジョン)が少なくなる。|

### 無線LAN

|規格|転送速度|周波数帯|説明|
|---|---|---|---|
|IEEE 802.11b|11Mbps|2.4GHz|無線LAN普及の初期から利用されている方式|
|IEEE 802.11g|54Mbps|2.4GHz|IEEE 802.11bに工夫を加えて高速化している|
|IEEE 802.11a|54Mbps|5GHz|ISMバンドではないので家電製品との干渉問題が起きにくい|
|IEEE 802.11n|600Mbps|2.4GHz/5GHz|MIMOやチャンネルボンディング技術等によって高速化|
|IEEE 802.11ac|1Gbps以上|5GHz|IEEE 802.11nの技術を更に高速化しギガビット無線LANを実現|
|IEEE 802.11ad|1Gbps以上|60Ghz|帯域の広い60GHzを利用。アクセスポイントとホスト間に障害物が無いことが前提|

### IPv4とIPv6の共存

|技術|説明|
|---|---|
|NAT64|IPv6ネットワークからのパケットの宛先IPv6アドレスをIPv4アドレスにNAT変換した上でIPv4ネットワークのサーバ等に転送する。|
|DNS64|IPv6ネットワークからの名前解決要求についてIPv4アドレスをIPv6アドレスに変換した上で返答する。|

## IPv6ヘッダでの変更点

|フィールド|主な変更点|
|---|---|
|ヘッダ長|ヘッダが固定長になったため廃止|
|識別子、フラグ、フラグメントオフセット|経路上でのフラグメントを行わないため廃止|
|ヘッダチェックサム|IP層でのエラーチェックは無くなったため廃止|
|ホップ制限|IPv4におけるTTLに相当|
|次ヘッダ|拡張ヘッダを運用するために追加|

## DHCPv6のフラグ

|Mフラグ|Oフラグ|方式|IPv6アドレス|その他の情報|
|---|---|---|---|---|
|1|1|ステートフルDHCPv6|DHCPv6から取得|DHCPv6から取得|
|1|0|同上|同上|同上|
|0|1|ステートレスDHCPv6|RAにより決定|同上|
|0|0|ステートレス|同上|手動で設定|

## スタティックルーティング/ダイナミックルーティング

|方法|メリット|デメリット|
|---|---|---|
|スタティックルーティング|ネットワーク上にルーティングテーブル情報更新のための余分なトラフィックが流れない。|$\cdot$ 手動でメンテナンスを行う。<br>$\cdot$ 経路障害時の切り替えも手動で行う。|
|ダイナミックルーティング|$\cdot$ ルーティングテーブルのメンテナンスに必要な労働力が軽減される。<br>ルータ故障時のルーティングテーブルの更新が自動的に行われる。|ネットワーク上にルーティング手ブルの情報を更新するための余分なトラフィックが流れる。|

### ダイナミックルーティングプロトコル

|タイプ|IPv4|IPv6|特徴|
|---|---|---|---|---|
|ディスタンスベクタ型|RIP/RIP2|RIPng|経由するルータ数(ホップ数)が少ない経路を選択|
|リンクステート型|OSPF|OSPFv3|ネットワーク構成についてのリンクステートデータベースを各々のルータが保持して経路を決定|
|パスベクタ型|BGP4|BGP4+|AS(ISPなどの規模の大きなネットワーク)間の経路制御を行う。|

## ウェルノウンポート

|アプリケーション|ポート番号|用途|
|---|---|---|
|FTP(File Transfer Protocol)データ用|20|ファイル転送|
|FTP制御用|21|ファイル転送|
|SSH(Secure SHell)|22|暗号化シェル|
|Telnet|23|遠隔ログイン|
|SMTP(Simple Mail Transfer Protocol)|25|メール送信|
|DNS(Domain Name System)|53|名前解決|
|HTTP(HypterText Transfer Protocol)|80|Web|
|POP3(Post Office Protocol version 3)|110|メール受信|
|HTTPS(HyperText Transer Protocol Security)|443|暗号化HTTP|

## DNSのリソースレコード

|レコード|説明|
|---|---|
|SOAレコード|SOA(Start Of Authority)レコードにはドメイン情報を告知する上で基本的な設定項目を記述する。|
|NSレコード|NS(Name Server)レコードはドメインのネームサーバを指定する。プライマリDNS、セカンダリDNSを記述している。|
|MXレコード|MX(Mail eXcahnge)レコードはドメインのメールサーバを指定する。MXの後ろに掛かれる数字はメールサーバの優先順位で数字が小さいほど優先順位が高い。|
|Aレコード|A(Address)レコードは正引き情報。ドメイン名、ホスト名とIPアドレスを対応付ける。|
|CNAMEレコード|CNAME(Canonical NAME)レコードはホスト名に別名を付ける時に使用する。|
|AAAAレコード|AAAA(Quad Address)レコードはIPv6用の正引き情報、IPv6対応のDNSサーバでのみ設定する。|
|PTRレコード|PTR(PoinTeR)レコードは逆引き情報。逆引きはIPv4、IPv6共にPTRレコードを使用する<br>※「192.168.10.11」を「www.example.co.jp」に逆引きする例<br>11.10.168.192.in-addr.arpa. IN PTR www.example.co.jp.|
|TXTレコード|TXT(Text)レコードは様々な情報をテキストとして記述する。スパムメール対策のSPF/SenderIDやDKIMなどに利用している。<br>※ SPF用のTXTレコードの例<br>example.co.jp IN TXT "v=spf1 +mx -all"|

## メールサーバ

|メールサーバ|プロトコル|役割|
|---|---|---|
|SMTPサーバ|SMTP(Simple Mail Transfer Protocol)|$\cdot$ クライアントからのメール送信の受付<br>$\cdot$ メールサーバからメールサーバへの転送|
|POPサーバ|POP3(Post Office Protocol version 3)|$\cdot$ クライアントへのメール受信<br>$\cdot$ メール保存領域に有るメールをクライアントに転送し、サーバから削除する。|
|IMAPサーバ|IMAP4(Internet Message Access Protocol)|$\cdot$ クライアントへのメール受信<br>$\cdot$ クライアントにメールを転送した後も削除せず、サーバに有るメールの保存領域でメールを管理する。|

## Web技術

### Cookieのパラメータ

|パラメータ|意味|
|---|---|
|変数名と値|任意の変数名と値。セッションIDなど|
|expires|有効期限|
|domain|返送するドメインやサーバ名とパス情報|
|path|同上|
|secure|HTTPSの時のみCookieを送信する|
|httponly|JavaScriptなどによるCookieへのアクセス禁止|

### その他のWeb通信技術

|技術|説明|
|---|---|
|プッシュ|Webサーバ側からWebブラウザ側に通知を送るための仕組み|
|WebSocket|WebブラウザとWebサーバがリアルタイムな双方向通信を行うためのプロトコル。リクエスト-レスポンスの形だけでなく、WebブラウザとWebサーバが繋がりっぱなしになり、効率的な双方向通信が可能。|
|SPDY|Googleが提唱したHTTPの通信を効率化するプロトコル。HTTPの次期バージョンHTTP/2の基礎となった。|

## 画像ファイル

|種類|形式|説明|
|---|---|---|
|ビットマップ|JPEG|1677万色以上のフルカラーで保存でき写真の保存に使われる。圧縮率を指定して不可逆圧縮保存することが出来る。ダウンロード中に徐々に鮮明な画像を表示する「プログレッシブJPEG」という拡張形式が有る。|
|同上|GIF|256色しか表現できないため、アイコンやシンプルなイラストに利用されることが多い。ダウンロード中に徐々に鮮明な画像を表示する「インターレースＧＩＦ」や複数の画像を切り替えることで擬似的な動画を見せる「アニメーションＧＩＦ」、背景の透ける透明色を指定出来るなどの特徴が有る。|
|同上|PNG|W3Cが推奨している次世代のＷｅｂ用画像ファイイル。フルカラー、透明色や透明度を指定出来る、可逆圧縮が出来るなど優れた特徴が多い。|
|ベクタ|SVG|XML形式で保存されるベクタ画像形式|

## 動画ファイル

### 動画形式

|動画形式|説明|
|---|---|
|MPEG|動画の標準フォーマット。用途によってＭＰＥＧ−１(ＶＴＲ掃討・ＣＤ−ＲＯＭ向け)、ＭＰＥＧ−２(ハイビジョン映像・ＤＶＤ向け)、ＭＰＥＧ−４(モバイル端末向け)の種類が有る。|
|WMV|MPEG-4をもとにマイクロソフト社が開発した動画形式。Ｂｌｕ−ｒａｙディスクの動画規格としても採用されている。|
|DivX|DivX社が開発した動画形式。高い圧縮率においても高画質で、インターネットでよく利用される。|
|H.263|ITU-Tによって定められた形式。テレビ電話や携帯端末への配信でよく利用される。|
|RealVideo|リアルネットワークス社が開発した動画形式。ストリーミングでの利用が多い。|
|VP9|オープンソースの動画フォーマット。Google社のコンテナWebMで採用されている。|

### コンテナ

|コンテナ|説明|
|---|---|
|AVI, ASF|マイクロソフト社が開発したコンテナ形式。サポートする動画、音声形式が多い。ＡＶＩの後継がＡＳＦである。|
|MP4|ISO/IECによって定められたコンテナ形式。主にＭＰＥＧ動画データ用のコンテナ。|
|3GPP|3GPP社によって定められたコンテナ形式。主に携帯端末向け動画に使用される。|
|QuickTime|アップル社が開発したコンテナ形式|
|RealMedia|リアルネットワークス社が開発したコンテナ形式|
|Flash Video|マクロメディア(現アドビシステムズ)社が開発したコンテナ形式。リッチコンテンツファイルFlashとの連携で動画共有サービスでよく利用される。2020年7月をもって全面的に廃止された。|
|WebM|Google社の開発しているオープンな方式。YouTube等で利用されている。|

## 圧縮技術

|名称|特徴|主なアーカイバ、解凍ツール|拡張子|
|---|---|---|---|
|Zip|Windows/Macで主流|WinZipなどWindows/Macでは対応アーカイバが内蔵|.zip|
|LZH|日本の身で普及。lha.exeによって圧縮|Lhaca, Lhasaなど|.lzh|
|tar, tzip|UNIX系OSで主流|tar, gzipアーカイバ|.tar, .gz|
|RAR|圧縮率が高い。電子署名を付加できる。|WinRAR, MacRARなど|.rar|
|7z|圧縮率が高い。|LZMAなど|.7z|

## HTTPのステータスコード

|コード|状態|
|---|---|
|100番台|一般的なレスポンス|
|200番台|正常|
|300番台|リダイレクト|
|400番台|クライアントエラー|
|500番台|サーバエラー|

### 主要ステータスコード

|コード|ステータス|説明|
|---|---|---|
|200|OK|正常終了|
|301|Moved Permanently|ファイルが恒久的に移動された|
|302|Found|ファイルが一時的に移動された|
|304|Not Modified|指定日以降にファイルが変更されていない|
|401|Unauthorized|認証に失敗した|
|403|Forbidden|リソースへのアクセスが拒否された|
|404|Not Found|リソースが存在しない|
|408|Request Timeout|時間内に転送処理が終わらなかった|
|500|Internal Server Error|サーバ内部のエラー。CGI実行エラー|
|503|Service Unavailable|サービスが利用不可。一時的な過負荷やメンテナンス中など|

# Referece
* [.com Master教科書 .com Master ADVANCE 第3版 (2019年;翔泳社)](https://www.shoeisha.co.jp/book/detail/9784798161389)