TCP/IPとウェルノウンポート
ポート番号を1つずつ丸暗記しようとすると、必ずどこかで混ざります。メール系、Web 系、ディレクトリ系のように機能のかたまりで束ねると、暗号化版が元の番号とセットで頭に入ります。
ウェルノウンポートの上限は 1024 ではなく 1023
| 区分 | 範囲 | 説明 |
|---|---|---|
| ウェルノウンポート | 0 から 1023 | 主要サービス用。バインドには root 権限が必要 |
| 登録済みポート | 1024 から 49151 | IANA に登録して使う。MySQL や PostgreSQL はここ |
| 動的ポート | 49152 から 65535 | クライアントが接続のたびに一時的に使う |
境界の数字がそのまま出題されます。1023 と 1024、49151 と 49152 です。
| 番号 | プロトコル | トランスポート |
|---|---|---|
| 20 / 21 | FTP データ転送 / FTP 制御。23 は Telnet | TCP |
| 22 | SSH, SFTP, SCP | TCP |
| 25 | SMTP | TCP |
| 53 | DNS | UDP と TCP の両方 |
| 67 / 68 | DHCP サーバー / クライアント | UDP |
| 69 | TFTP | UDP |
| 80 | HTTP | TCP |
| 110 | POP3 | TCP |
| 123 | NTP | UDP |
| 143 | IMAP | TCP |
| 161 / 162 | SNMP / SNMP トラップ | UDP |
| 389 | LDAP | TCP |
| 443 | HTTPS | TCP |
| 465 | SMTPS | TCP |
| 514 | syslog | UDP |
| 587 | Submission (メール投稿) | TCP |
| 636 | LDAPS | TCP |
| 993 / 995 | IMAPS / POP3S | TCP |
POP3 の 110 と IMAP の 143 に対し、暗号化版は 995 と 993 で順序が入れ替わります。引っかけの定番です。番号は /etc/services に一覧があるので、覚える前に自分で引いてみると記憶に残ります。
DNS だけが UDP と TCP の両方を使う
TCP はコネクション型で、3ウェイハンドシェイクで接続を張り、届かなければ再送し、順番も並べ直します。確実さが要る HTTP や SSH や SMTP が使います。UDP はコネクションレス型でいきなり送り、到達も順序も保証しない代わりに軽くて速く、DHCP や NTP や SNMP が使います。
DNS が両方を使うのは、通常の問い合わせは軽い UDP で済ませ、ゾーン転送や応答が大きい場合は TCP に切り替えるからです。ここは頻出です。
階層の対応も問われます。OSI の上位3層 (セッション、プレゼンテーション、アプリケーション) は TCP/IP のアプリケーション層1つに、下位2層 (物理、データリンク) はネットワークインターフェース層1つにまとまります。トランスポート層はそのままで、OSI のネットワーク層が TCP/IP のインターネット層です。
172.32 はプライベートアドレスではない
| 範囲 | CIDR 表記 | クラス |
|---|---|---|
| 10.0.0.0 から 10.255.255.255 | 10.0.0.0/8 | A |
| 172.16.0.0 から 172.31.255.255 | 172.16.0.0/12 | B |
| 192.168.0.0 から 192.168.255.255 | 192.168.0.0/16 | C |
172 系の上限が 172.31 であることを覚えてください。最も狙われる境界です。
クラスは先頭のオクテットで決まります。1 から 126 がクラス A で既定のマスクは /8、128 から 191 が B で /16、192 から 223 が C で /24 です。224 から 239 はマルチキャスト、240 以上は実験用で、127 で始まるアドレスはループバック用の予約でどのクラスにも属しません。
CIDR の数字は先頭から 1 が並ぶビット数です。/24 が 255.255.255.0、/25 が 255.255.255.128、/26 が 255.255.255.192 です。ホストに使えるアドレス数は 2 の (32 引く CIDR) 乗から 2 を引いた値で、引く 2 はネットワークアドレスとブロードキャストアドレスのぶんです。/24 なら 254 個になります。
IPv6 は 128 ビットを 16 ビットずつ 8 ブロックに区切って16進数で書きます。各ブロック先頭の 0 は省略でき、0 だけが連続するブロックは一度だけ二重コロンにまとめられます。二度使うと 0 の個数が決まらないので、1アドレスに一度だけです。ループバックは ::1 です。
試験で狙われるところ
ウェルノウンポートの上限は 1023 です。DNS は UDP だけでなく TCP も使います。SMTP は 25 ですが、クライアントからの投稿は 587 が現在の標準です。プライベートアドレスの B は 172.16 から 172.31 までで、172.32 は含みません。そして IPv6 の二重コロンは1アドレスにつき一度だけです。