Linux基礎:ネットワークの基礎

ネットワークの基礎

 現代の IT 環境において、ネットワークは欠かせない要素です。複数のコンピュータやデバイスが相互に情報をやり取りするためには、共通のルール(プロトコル)やアドレス指定の仕組みが必要になります。Linux を用いたシステム管理や試験対策においても、ネットワークの基礎を理解することは必須です。

 ここでは、TCP/IP を中心としたプロトコル、IP アドレスの構造やサブネットマスクの意味、プライベートアドレスとグローバルアドレス、IPv6 の仕組み、そしてアプリケーションを識別するためのポート番号について解説します。さらに、Rocky Linux 環境におけるネットワーク確認コマンドの使い方も紹介します。

1.ネットワーク通信の基本

1.1. プロトコルとは

コンピュータ同士が通信を行う際の取り決めを プロトコル といいます。代表的なのが TCP/IP プロトコル群です。

主なプロトコルの概要は以下のとおりです。

プロトコル説明
TCP (Transmission Control Protocol)データの信頼性を保証する。パケット到達確認や再送制御を行う。
UDP (User Datagram Protocol)簡易で高速。信頼性は低いが、動画配信や DNS で利用される。
IP (Internet Protocol)ホストを識別するための IP アドレスを扱い、経路制御を行う。
ICMP (Internet Control Message Protocol)エラーメッセージや制御メッセージを送信する。ping コマンドなどで利用される。

1.2. IPv4 と IPv6

  • IPv4: 32 ビットのアドレス空間。約 43 億個のアドレスを表現可能だが、すでに枯渇している。
  • IPv6: 128 ビットのアドレス空間。ほぼ無尽蔵にアドレスを割り当て可能。

2.IP アドレスとサブネットマスク

2.1. IP アドレスの構造

IPv4 アドレスは ネットワーク部ホスト部 に分かれます。
サブネットマスクを用いることで、どこまでがネットワーク部かを判定します。

例:

IPアドレス       192.168.0.3
サブネットマスク 255.255.255.0

この場合、

  • ネットワーク部: 192.168.0
  • ホスト部: 3

となります。

2.2. ネットワークアドレスとブロードキャストアドレス

  • ネットワークアドレス: セグメント全体を表すために使用。例:192.168.0.0
  • ブロードキャストアドレス: セグメント内の全ホスト宛に送信するために使用。例:192.168.0.255

これらはホストに割り当てることはできません。

3.IP アドレスの分類と CIDR

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

従来のネットワークはクラス A~C に分けられていました。

クラス範囲サブネットマスクホスト数
A0.0.0.0~127.255.255.255255.0.0.0約 1677 万
B128.0.0.0~191.255.255.255255.255.0.0約 6.5 万
C192.0.0.0~223.255.255.255255.255.255.0256

3.2. CIDR

現在は CIDR(Classless Inter-Domain Routing)が利用され、
「192.168.0.0/28」のように 任意のビット数でネットワーク部を表現できます。
これにより IP アドレスを効率的に利用可能です。

4.プライベートアドレスとグローバルアドレス

種別範囲
プライベートアドレス10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
グローバルアドレスICANN により管理され、インターネットで使用可能なアドレス

 プライベートアドレスは LAN 内で自由に利用でき、インターネット通信の際は NAT を用いてグローバルアドレスに変換されます。

5.ポート番号

 1 台のホスト上で複数のアプリケーションが動作するため、ポート番号によって通信先のアプリケーションを識別します。範囲は 0~65535 です。

主なウェルノウンポートは以下の通りです。

ポート番号用途
20,21FTP
22SSH
23Telnet
25SMTP
53DNS
80HTTP
110POP3
443HTTPS

6.ネットワーク確認コマンド

6.1. ip コマンド

書式

ip [オプション] [対象] [操作]

役割

ネットワークインタフェースやルーティング情報を表示・設定する。

主なオプション

サブコマンド説明
addr showIP アドレスの確認
link showインタフェース情報を表示
route showルーティング情報を表示

使用例

[user@rocky9 ~]$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:c0:dc:12 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
       valid_lft 13662sec preferred_lft 13662sec
    inet6 fd17:625c:f037:2:a00:27ff:fec0:dc12/64 scope global dynamic noprefixroute 
       valid_lft 86033sec preferred_lft 14033sec
    inet6 fe80::a00:27ff:fec0:dc12/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

まとめ

  • ネットワーク通信はプロトコルに基づいて行われる。
  • IP アドレスはネットワーク部とホスト部で構成され、サブネットマスクにより境界を決定する。
  • ネットワークアドレス・ブロードキャストアドレスはホストに割り当てられない。
  • IPv4 の枯渇により IPv6 の利用が拡大している。
  • プライベートアドレスは LAN 内で自由に使用可能。
  • ポート番号によってアプリケーションを識別する。
  • Rocky Linux では ip コマンドでネットワーク設定や状態を確認できる。

 ネットワークの基礎を理解することで、システム管理やトラブルシューティングが効率的に行えるようになります。