インフラエンジニアの羅針盤

インフラエンジニア1〜3年目のための技術ガイド

TCP/IP基礎入門:IPv4/IPv6アドレス計算と主要ポート番号・プロトコル一覧【LinuC102】

公開
,
LinuC Level 1 第14回 主題1.06 ネットワークの基礎



Linuxサーバーが外部と通信し、Webやデータベース、ファイル共有などのサービスを提供するためには、TCP/IPネットワークの論理構造を正確に理解しておく必要があります。LinuC 102試験の主題1.07.1「インターネットプロトコルの基礎」は重要度4が割り当てられており、TCP/IP 4層モデルの役割分担、TCPとUDPのプロトコル特性、IPv4のサブネット計算(CIDR)、IPv6の基本表記、そして主要なウェルノウンポート番号と設定ファイル(/etc/services, /etc/protocols)が広範に出題されます。本稿では、インフラエンジニアの基礎体幹となるこれらネットワーク基礎概念を、実機検証ログとともに論理的に解説します。

  • TCP/IP 4層モデル(アプリケーション、トランスポート、インターネット、リンク)の役割と各層の主要プロトコルを説明できる状態を目指します
  • TCPのコネクション型通信(3ウェイハンドシェイク)とUDPのコネクションレス型通信の特徴および用途の相違を理解します
  • IPv4アドレスのクラス分け、プライベートIPアドレスの範囲(RFC 1918)、サブネットマスクおよびCIDR表記によるネットワーク部・ホスト部の算出ができるようにします
  • IPv6アドレス(128ビット)の表記規則と連続するゼロの省略ルール(::)を把握します
  • 主要なウェルノウンポート番号(22, 25, 53, 80, 110, 123, 143, 443等)とプロトコル番号(1, 6, 17)を即答できるようにします
項目 仕様・設定値
検証機ホスト名 linuc-node01
ディストリビューション AlmaLinux 9.8 (Olive Jaguar)
IPアドレス / サブネット 192.168.2.138 / 24(CIDRプレフィックス長 24)
ネットワークインターフェース eth0(物理Ethernet) / lo(ループバック 127.0.0.1/8)
対象試験 LinuC レベル1 102試験(主題1.07.1 重要度4)
目次
  1. 1. TCP/IP 4層アーキテクチャとカプセル化
    1. 1.1 OSI 7層参照モデルとTCP/IP 4層モデルの対応関係
    2. 1.2 データのカプセル化と非カプセル化
  2. 2. トランスポート層プロトコル:TCP vs UDP
    1. 2.1 TCPの特徴:コネクション型・高信頼性・順序制御
    2. 2.2 TCPの3ウェイハンドシェイク
    3. 2.3 UDPの特徴:コネクションレス・軽量・リアルタイム性
    4. 2.4 プロトコル番号の定義ファイル(/etc/protocols)
  3. 3. IPアドレス体系(IPv4 / IPv6)とサブネット計算
    1. 3.1 IPv4アドレスの基本構造
    2. 3.2 ネットワーク部とホスト部、サブネットマスクとCIDR表記
    3. 3.3 ネットワークアドレスとブロードキャストアドレスの算出
    4. 3.4 プライベートIPアドレス(RFC 1918)と特殊用途アドレス
    5. 3.5 IPv6アドレスの構造と表記省略ルール
  4. 4. ポート番号と主要ネットワークサービス
    1. 4.1 ポート番号の範囲分類
    2. 4.2 LinuC 102試験で必須の主要ウェルノウンポート完全一覧
    3. 4.3 サービス定義ファイル(/etc/services)
  5. 5. 実機ハンズオン演習:AlmaLinux 9でプロトコルとサービス定義を調査
    1. 5.1 実機検証環境の確認
    2. 5.2 演習1:/etc/protocols からプロトコル番号を抽出
    3. 5.3 演習2:/etc/services を用いた主要ポート番号の逆引き検索
    4. 5.4 演習3:実機IPアドレスに基づくネットワーク部・ホスト部・CIDRの特定
  6. 6. LinuC 102試験対策まとめとコマ問頻出チェック
    1. 6.1 主要ポート番号・プロトコル番号完全対比表
    2. 6.2 コマ問(記述式)頻出キーワード一覧表
    3. 6.3 Ping-t演習へのブリッジ(対象分野と推奨学習順)
  7. 7. まとめと次回予告

1. TCP/IP 4層アーキテクチャとカプセル化

現代のインターネット通信は、通信機能を階層ごとに独立させた「TCP/IPプロトコルスイート」によって標準化されています。

TCP/IP 4層プロトコルモデルとデータのカプセル化フロー
図1: TCP/IP 4層プロトコルモデルとデータのカプセル化フロー

1.1 OSI 7層参照モデルとTCP/IP 4層モデルの対応関係

国際標準化機構(ISO)が定めた概念モデルである「OSI基本参照モデル(7層)」に対し、実際のインターネット実装で広く普及したのが「TCP/IPモデル(4層)」です。

TCP/IP 4層モデル 対応するOSI 7層参照モデル 主なデータ単位(PDU) 代表的プロトコル・技術
第4層:アプリケーション層 アプリケーション層 (7)
プレゼンテーション層 (6)
セッション層 (5)
メッセージ / データ HTTP, HTTPS, SSH, FTP, DNS, DHCP, SMTP, POP3, IMAP, NTP
第3層:トランスポート層 トランスポート層 (4) セグメント (TCP)
データグラム (UDP)
TCP, UDP
第2層:インターネット層 ネットワーク層 (3) パケット IP (IPv4, IPv6), ICMP, ARP
第1層:リンク(ネットワークI/F)層 データリンク層 (2)
物理層 (1)
フレーム (L2)
ビット列 (L1)
Ethernet, Wi-Fi, MACアドレス, 光ファイバー, ツイストペアケーブル

1.2 データのカプセル化と非カプセル化

送信側ホストにおいて、アプリケーション層で生成された実データは、下位層へと渡されるたびに各層の制御情報(ヘッダ)が付加されます。これをカプセル化(Encapsulation)と呼びます。

  • トランスポート層: 送信元・宛先ポート番号を含む「TCP/UDPヘッダ」を付与
  • インターネット層: 送信元・宛先IPアドレスを含む「IPヘッダ」を付与
  • リンク層: 送信元・宛先MACアドレスおよび誤り検出符号(FCS)を含む「イーサネットヘッダ」を付与

受信側ホストでは逆順に下位層からヘッダを検証・除去(非カプセル化)しながら上位層へとデータを引き渡します。

2. トランスポート層プロトコル:TCP vs UDP

トランスポート層では、通信の信頼性を最優先するTCPと、速度・軽量性を最優先するUDPの2大プロトコルが使い分けられます。

2.1 TCPの特徴:コネクション型・高信頼性・順序制御

TCP(Transmission Control Protocol)は、通信開始前に送信元と宛先の間で仮想的な通信路を確立する「コネクション型」プロトコルです。

  • 順序制御と再送制御: シーケンス番号と確認応答番号(ACK)を用いて、パケットの抜け漏れや到着順序の狂いを検知し、欠落したパケットを自動再送します。
  • 輻輳制御とフロー制御: ネットワークの混雑度や受信側のバッファ空き容量に応じて、一度に送信するデータ量(ウィンドウサイズ)を動的に調整します。

2.2 TCPの3ウェイハンドシェイク

TCPセッションは、3つのパケット交換(3ウェイハンドシェイク)によって確実に開始されます。

  • ステップ1:SYN(接続要求)

    クライアントからサーバーへ、接続開始フラグ(SYN)と初期シーケンス番号を送信します。

  • ステップ2:SYN + ACK(受領確認と逆方向の接続要求)

    サーバーはクライアントのSYNを受理した旨の確認応答(ACK)と、サーバー側のSYNフラグを併せて返信します。

  • ステップ3:ACK(最終確認)

    クライアントからサーバーへ確認応答(ACK)を送信し、双方向の論理コネクションが確立(ESTABLISHED)します。

切断時は、互いに終了フラグ(FIN)を送信し、それぞれにACKを返す4ステップのシーケンスで正常終了します。

2.3 UDPの特徴:コネクションレス・軽量・リアルタイム性

UDP(User Datagram Protocol)は、事前のコネクション確立や到達確認(ACK)を一切行わず、データを一方的に送り出す「コネクションレス型」プロトコルです。

  • ヘッダサイズが小さく(TCPの20バイトに対しUDPは8バイト)、遅延が極小であるため、リアルタイム性が重視される音声通話(VoIP)、動画配信、DNS名前解決、DHCP、NTPなどで採用されます。

2.4 プロトコル番号の定義ファイル(/etc/protocols)

IPヘッダ内には、上位のトランスポート層がどのプロトコルであるかを示す「プロトコル番号(8ビット)」が記録されます。Linuxシステム上では /etc/protocols ファイルで番号と名称のマッピングが定義されています。

プロトコル番号 プロトコル名 用途・概要
1 ICMP Internet Control Message Protocol(ping, tracerouteの到達確認・診断)
6 TCP Transmission Control Protocol(高信頼性コネクション型)
17 UDP User Datagram Protocol(高速コネクションレス型)

3. IPアドレス体系(IPv4 / IPv6)とサブネット計算

インターネット層において、通信ノードを一意に識別する論理アドレスがIPアドレスです。

IPv4サブネット構造と主要ウェルノウンポート番号一覧
図2: IPv4 サブネット(CIDR)構造と主要ウェルノウンポート番号一覧

3.1 IPv4アドレスの基本構造

IPv4アドレスは32ビット(4バイト)の数値であり、人間が視読しやすいよう8ビットずつ4組に区切り、10進数でドット表記(Dotted Decimal Notation)します(例: 192.168.2.138)。

3.2 ネットワーク部とホスト部、サブネットマスクとCIDR表記

IPアドレスは、「どのネットワークに属するか」を表すネットワーク部と、「そのネットワーク内のどの端末か」を表すホスト部に分かれます。この境界線を明示するビット列がサブネットマスクです。

  • サブネットマスク表記: ネットワーク部に相当するビットを 1、ホスト部に相当するビットを 0 で表現(例: 255.255.255.0)。
  • CIDR(Classless Inter-Domain Routing)表記: ネットワーク部のビット長をスラッシュ(/)に続く数値(プレフィックス長)で簡潔に表記(例: /24)。

3.3 ネットワークアドレスとブロードキャストアドレスの算出

ホスト部のビットがすべて0、およびすべて1のアドレスは特別な用途に予約されており、個別のサーバーやPCに割り当てることはできません。

例: 192.168.1.0 / 24 の場合
・ネットワークアドレス:      192.168.1.0   (ホスト部8ビットが全0 ➔ ネットワーク自身を表現)
・ブロードキャストアドレス:  192.168.1.255 (ホスト部8ビットが全1 ➔ セグメント内全員宛の一斉同報)
・利用可能ホスト範囲:        192.168.1.1 〜 192.168.1.254 (最大 256 - 2 = 254 台)

3.4 プライベートIPアドレス(RFC 1918)と特殊用途アドレス

インターネット上で重複が許されない「グローバルIPアドレス」に対し、組織内LANなどの閉じた環境で自由に使用できるアドレス帯が「プライベートIPアドレス」です。

クラス CIDRプレフィックス アドレス範囲 最大ホスト数(理論値)
クラスA 10.0.0.0 / 8 10.0.0.010.255.255.255 約1,677万台
クラスB 172.16.0.0 / 12 172.16.0.0172.31.255.255 約104万台
クラスC 192.168.0.0 / 16 192.168.0.0192.168.255.255 約6万5千台

特殊用途アドレス:

  • ループバックアドレス: 127.0.0.0/8(通常 127.0.0.1 / localhost)。自身を指し示す仮想アドレス。
  • リンクローカルアドレス(APIPA): 169.254.0.0/16。DHCPサーバーからIPを取得できなかった場合に自動割り当てされる自己構成アドレス。

3.5 IPv6アドレスの構造と表記省略ルール

IPv4アドレスの枯渇対策として策定されたIPv6は、128ビット(16バイト)の広大なアドレス空間を持ちます。16ビットずつ8つのブロックに分け、コロン区切りの16進数で記述します。

省略ルール(試験頻出):

  • 各ブロック内の先行するゼロは省略できる(例: 00424200000)。
  • 連続するゼロのブロック群は、全体で1度だけ ::(ダブルコロン)に圧縮できる(2箇所以上で使うと元のビット長を復元できなくなるため不可)。
  • ループバックアドレスは ::1(IPv4の 127.0.0.1 に相当)。
  • 未指定アドレスは ::(IPv4の 0.0.0.0 に相当)。
  • リンクローカルアドレスは fe80::/10 で始まる。

4. ポート番号と主要ネットワークサービス

1台のサーバー上で複数のネットワークサービス(Web、SSH、メール等)を同時に稼働させる際、どのプロセス宛のパケットかを識別する数値がポート番号(16ビット: 0〜65535)です。

4.1 ポート番号の範囲分類

  • ウェルノウンポート(Well-known Ports): 0 〜 1023
    IANAによって標準プロトコル向けに予約されたポート。セキュリティ上、root(管理者権限)で動作するプロセスのみがリッスン(bind)できます。
  • 登録ポート(Registered Ports): 1024 〜 49151
    各種ベンダー製アプリケーション(MySQLの3306、PostgreSQLの5432等)向けに登録されたポート。
  • 動的・私用ポート(Dynamic / Ephemeral Ports): 49152 〜 65535
    クライアント側が通信送信元として一時的にランダム使用するポート。

4.2 LinuC 102試験で必須の主要ウェルノウンポート完全一覧

以下のポート番号とプロトコルの組み合わせは、記述式問題を含めて暗記が必須です。

ポート番号 主要サービス名 トランスポート層 プロトコル概要
20 / 21 FTP TCP ファイル転送プロトコル(20: データ転送, 21: コマンド制御)
22 SSH / SFTP TCP 暗号化リモートログインおよびファイル転送
23 Telnet TCP 平文リモートログイン(非暗号化・セキュリティ上非推奨)
25 SMTP TCP メールの送信およびサーバー間配送
53 DNS UDP / TCP ドメイン名とIPアドレスの名前解決(通常UDP、ゾーン転送等はTCP)
67 / 68 DHCP UDP IPアドレスの自動配布(67: サーバー待受, 68: クライアント待受)
80 HTTP TCP Webコンテンツの平文転送
110 POP3 TCP メールボックスからのメール受信
123 NTP UDP ネットワーク時刻同期プロトコル
143 IMAP TCP サーバー上でメールを管理・閲覧するプロトコル
161 / 162 SNMP UDP ネットワーク機器の監視(161: 要求・ポーリング, 162: トラップ通知)
443 HTTPS TCP SSL/TLSで暗号化されたWeb通信

4.3 サービス定義ファイル(/etc/services)

サービス名とポート番号の対応関係は、/etc/services テキストファイルに記載されています。Linux上のネットワークコマンド(ss, netstat等)はこのファイルを参照してポート番号をサービス名(22ssh)に変換して出力します。

[user01@linuc-node01 ~]$ grep -E '^sshs' /etc/services
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol

5. 実機ハンズオン演習:AlmaLinux 9でプロトコルとサービス定義を調査

実機linuc-node01のネットワーク設定とシステム定義ファイルを調査します。

5.1 実機検証環境の確認

稼働しているネットワークインターフェースとIP構成を確認します。

[user01@linuc-node01 ~]$ ip -brief addr
lo               UNKNOWN        127.0.0.1/8 
eth0             UP             192.168.2.138/24

5.2 演習1:/etc/protocols からプロトコル番号を抽出

IPヘッダで使用されるプロトコル番号の定義を閲覧します。

[user01@linuc-node01 ~]$ grep -E '^(icmp|tcp|udp)s' /etc/protocols
icmp    1       ICMP            # internet control message protocol
tcp     6       TCP             # transmission control protocol
udp     17      UDP             # user datagram protocol

ICMPが1、TCPが6、UDPが17であることが明確に記録されています。

5.3 演習2:/etc/services を用いた主要ポート番号の逆引き検索

試験頻出のポート番号(DNS、NTP、HTTPS)の設定を逆引き検索します。

# DNS (53)
[user01@linuc-node01 ~]$ grep -w '53/udp' /etc/services | head -n 1
domain          53/udp

# NTP (123)
[user01@linuc-node01 ~]$ grep -w '123/udp' /etc/services | head -n 1
ntp             123/udp                         # Network Time Protocol

# HTTPS (443)
[user01@linuc-node01 ~]$ grep -w '443/tcp' /etc/services | head -n 1
https           443/tcp                         # http protocol over TLS/SSL

5.4 演習3:実機IPアドレスに基づくネットワーク部・ホスト部・CIDRの特定

実機の 192.168.2.138/24 についてパラメータを算出します。

  • プレフィックス長: /24(サブネットマスク: 255.255.255.0
  • ネットワーク部: 192.168.2(先頭24ビット)
  • ホスト部: 138(末尾8ビット)
  • ネットワークアドレス: 192.168.2.0
  • ブロードキャストアドレス: 192.168.2.255
  • アドレス分類: クラスCプライベートIPアドレス(RFC 1918)

6. LinuC 102試験対策まとめとコマ問頻出チェック

主題1.07.1から、記述式(コマ問)として出題されやすい重要キーワードを総整理します。

6.1 主要ポート番号・プロトコル番号完全対比表

プロトコル名 階層 番号 / ポート 通信方式
ICMP インターネット層 プロトコル番号 1 IP直接
TCP トランスポート層 プロトコル番号 6 コネクション型(3ウェイハンドシェイク)
UDP トランスポート層 プロトコル番号 17 コネクションレス型
SSH アプリケーション層 ポート番号 22 TCP
SMTP アプリケーション層 ポート番号 25 TCP
DNS アプリケーション層 ポート番号 53 UDP(主に利用) / TCP
HTTP アプリケーション層 ポート番号 80 TCP
POP3 アプリケーション層 ポート番号 110 TCP
NTP アプリケーション層 ポート番号 123 UDP
HTTPS アプリケーション層 ポート番号 443 TCP

6.2 コマ問(記述式)頻出キーワード一覧表

以下の設問に対する数値、ファイルパス、またはプロトコル名を想起してください。

  • 問題1: SSH(Secure Shell)プロトコルが標準で使用するTCPポート番号は何か?
  • 問題2: DNS(Domain Name System)が名前解決で使用する標準ポート番号は何か?
  • 問題3: NTP(Network Time Protocol)が使用する標準UDPポート番号は何か?
  • 問題4: HTTPSが標準で使用するTCPポート番号は何か?
  • 問題5: サブネットマスク 255.255.255.0 をCIDRプレフィックス長で表すといくつになるか?
  • 問題6: ポート番号とサービス名の対応関係を定義している設定ファイルはどこか?
  • 問題7: IPv6において、ループバックアドレスを表す省略記法は何か?
  • 問題8: IPプロトコル番号において、TCPを表す数値は何か?
解答と解説を見る
設問 正解(記述内容) 補足・別解
問題1 22 Telnetは23
問題2 53 UDP/TCP両対応
問題3 123 UDP
問題4 443 HTTPは80
問題5 /24(または 24 先頭24ビットが1
問題6 /etc/services プロトコル定義は/etc/protocols
問題7 ::1 IPv4の127.0.0.1に相当
問題8 6 ICMPは1、UDPは17

6.3 Ping-t演習へのブリッジ(対象分野と推奨学習順)

LinuC 102試験の「インターネットプロトコルの基礎」は、数字を答える問題が多いため、Ping-tでの反復演習が最も効果を発揮します。

  • 主題1.07:ネットワークの基礎
    • 「インターネットプロトコルの基礎」分野(重要度4):ポート番号(20〜443)の記述、CIDRプレフィックス計算、プライベートIPの範囲判別、IPv6のゼロ省略ルールを重点的に演習し、全問正解できるまで周回します。

7. まとめと次回予告

  • TCP/IP 4層モデルは「アプリケーション、トランスポート、インターネット、リンク」で構成され、データはカプセル化されます
  • 信頼性のTCP(3ウェイハンドシェイク: SYN/ACK)と高速性のUDPを使い分けます
  • IPv4アドレスはCIDRで表現され、ホスト部全0(ネットワーク)と全1(ブロードキャスト)は割り当て不可です
  • ウェルノウンポート(0〜1023)は /etc/services に定義され、SSH(22)、DNS(53)、HTTP(80)、HTTPS(443)、NTP(123) が最頻出です
  • IPv6は128ビットであり、連続ゼロは1度だけ :: に圧縮可能、ループバックは ::1 です

次回は主題1.07の総仕上げとなる「ネットワーク設定・ルーティング・トラブルシューティングとクライアントDNS(nmcli / ip / ping / traceroute / dig / /etc/resolv.conf)」を詳細に解説します。

前の記事
次の記事