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. TCP/IP 4層アーキテクチャとカプセル化
現代のインターネット通信は、通信機能を階層ごとに独立させた「TCP/IPプロトコルスイート」によって標準化されています。

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アドレスです。

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.0 〜 10.255.255.255 |
約1,677万台 |
| クラスB | 172.16.0.0 / 12 |
172.16.0.0 〜 172.31.255.255 |
約104万台 |
| クラスC | 192.168.0.0 / 16 |
192.168.0.0 〜 192.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進数で記述します。
省略ルール(試験頻出):
- 各ブロック内の先行するゼロは省略できる(例:
0042➔42、0000➔0)。 - 連続するゼロのブロック群は、全体で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等)はこのファイルを参照してポート番号をサービス名(22 ➔ ssh)に変換して出力します。
[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)」を詳細に解説します。
LinuC Level 1 学習シリーズナビゲーション
