🍄

2. TCP/IPとIPアドレスの基礎

に公開

はじめに

この研修では、ネットワークエンジニアとしての第一歩としてTCP/IPについて学んでいきます。

研修の目的とゴール

  • ネットワークの基礎(TCP/IPなど)を理解する
  • IPアドレスやサブネットマスクの仕組みを理解する
  • ネットワーク機器(ルーター、スイッチ)の基本的な役割を知る

第1部: ネットワークの基本 - TCP/IPを学ぼう

1. 通信の成り立ち

私たちが普段何気なく使っているインターネットやメール。これらはすべて「通信」です。
物理的に離れた場所にあるコンピュータ同士が情報をやり取りすること、これが通信の基本です。

では、どうやってコンピュータ同士は情報を正確にやり取りしているのでしょうか?
それには、共通の「ルール」が必要です。この通信におけるルールを「通信プロトコル」と呼びます。

2. TCP/IPとは?

現在、インターネットで標準的に使われている通信プロトコルの集まりが「TCP/IP」です。
HTTP(Webサイト閲覧)、SMTP/POP3(メール送受信)、FTP(ファイル転送)など、皆さんがよく耳にするプロトコルもTCP/IPの一部です。

3. 通信の階層モデル:OSI参照モデルとTCP/IPモデル

通信プロトコルは、役割ごとに階層に分けて考えると理解しやすくなります。代表的なモデルが「OSI参照モデル」(7階層)です。

  • 第7層: アプリケーション層 (身近なサービス)
  • 第6層: プレゼンテーション層 (データの表現形式)
  • 第5層: セッション層 (通信の開始/終了)
  • 第4層: トランスポート層 (アプリ間の通信制御)
  • 第3層: ネットワーク層 (最終目的地までの経路)
  • 第2層: データリンク層 (隣接機器間のデータ伝送)
  • 第1層: 物理層 (ケーブルや電気信号)

TCP/IPは、このOSI参照モデルをよりシンプルにした「TCP/IPモデル」(4階層)で考えられることが多いです。

  • アプリケーション層 (OSIの5〜7層に相当)
  • トランスポート層 (OSIの4層に相当)
  • インターネット層 (OSIの3層に相当)
  • ネットワークインターフェイス層 (OSIの1〜2層に相当)

4. データを送る仕組み:カプセル化

データを送る時、荷物を送るように「梱包」していくイメージです。
各階層で、必要な制御情報(ヘッダ)を元のデータに付加していきます。これを「カプセル化」と呼びます。

  1. アプリケーション層: 送りたいデータを作成
  2. トランスポート層: TCPヘッダなどを付加
  3. インターネット層: IPヘッダなどを付加
  4. ネットワークインターフェイス層: Ethernetヘッダなどを付加

データを受け取る側は、この逆の手順でヘッダを取り除きながら元のデータを取り出します(非カプセル化)。

5. 通信に必要な3つの住所情報

データを正確に届けるためには、宛先を示す「住所」が必要です。TCP/IP通信では主に3つの情報が使われます。

  • MACアドレス:
    • ネットワーク機器(NIC)に割り当てられた物理的な固有番号。
    • 同じネットワーク内の隣接する機器へデータを届けるために使われます。
    • 例: B8:E5:56:C5:E4:56
  • IPアドレス:
    • ネットワーク上の機器を識別するための論理的な住所。
    • ネットワークを越えて、最終的な目的地までデータを届けるために使われます。
    • 例: 192.168.1.100
  • ポート番号:
    • コンピュータ内で動いているどのアプリケーション宛の通信かを識別するための番号。
    • IPアドレスで届けられたデータを、目的のアプリケーションに仕分けます。
    • 例: HTTPは80番、HTTPSは443番

これらの情報は、カプセル化の際に各層のヘッダに含まれます。

6. TCPとUDPの違い

トランスポート層には代表的なプロトコルとしてTCPとUDPがあります。

  • TCP (Transmission Control Protocol):
    • コネクション型通信。
    • 確実にデータを届けるための仕組み(3ウェイハンドシェイク、再送制御など)を持つ。
    • 信頼性が高いが、UDPより少し速度が遅い。
    • 用途: Web閲覧(HTTP/HTTPS)、メール(SMTP/POP3)、ファイル転送(FTP)など。
  • UDP (User Datagram Protocol):
    • コネクションレス型通信。
    • TCPのような確実性を保証する仕組みはないが、高速。
    • 用途: DNS、DHCP、音声通話、動画ストリーミングなど。

第2部: IPアドレスを使いこなそう

1. IPアドレス (IPv4) とは?

  • コンピュータやネットワーク機器に割り当てられるインターネット上の住所情報です。
  • 本来は32ビットの2進数ですが、分かりやすくするために8ビットずつ4つに区切り、それぞれを10進数で表記します(ドット区切り表記)。
    • 2進数: 11011101 00001011 00100001 00101100
    • 10進数: 221.11.33.44

2. 2進数と10進数の変換

IPアドレスを理解するには、2進数と10進数の変換に慣れることが重要です。
特に、IPv4アドレスの各オクテット(8ビット)は0〜255の範囲なので、以下の数値を覚えておくと便利です。

128 64 32 16 8 4 2 1

例えば、10進数の 106 を2進数にするには?
106 = 64 + 32 + 8 + 2 なので、対応するビットを1にします。
01101010 となります。

3. サブネットマスクとは?

IPアドレスは、「ネットワーク部」と「ホスト部」の2つの部分で構成されます。
どこまでがネットワーク部で、どこからがホスト部かを示すのが「サブネットマスク」です。

  • サブネットマスクもIPアドレスと同じ形式(32ビット、ドット区切り10進表記)。
  • 2進数で表記した際に、「1」が連続する部分がネットワーク部、「0」が連続する部分がホスト部に対応します。

例:
IPアドレス: 221.11.33.44
サブネットマスク: 255.255.255.0

これを2進数で見ると境界がわかります:
IPアドレス: 11011101.00001011.00100001.00101100
サブネットマスク: 11111111.11111111.11111111.00000000
=> 最初の24ビットがネットワーク部、残りの8ビットがホスト部。

4. CIDR表記 (サイダー表記)

サブネットマスクをより簡潔に表現する方法として「CIDR表記」があります。
IPアドレスの後ろに /(スラッシュ)とネットワーク部のビット数を記述します。

例: 221.11.33.44/24
これは、サブネットマスク 255.255.255.0 と同じ意味です(ネットワーク部が24ビット)。

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

  • ネットワークアドレス:
    • 特定のネットワーク範囲全体を表すアドレス。
    • ホスト部がすべて0のアドレスです。機器には通常割り当てません。
  • ブロードキャストアドレス:
    • 特定のネットワーク範囲内のすべての機器にデータを一斉送信するためのアドレス。
    • ホスト部がすべて1のアドレスです。機器には通常割り当てません。

例: IPアドレス 172.31.162.5/20 の場合

  1. IPアドレスとサブネットマスクを2進数に変換。
    IP: 10101100.00011111.10100010.00000101
    Mask: 11111111.11111111.11110000.00000000 (/20 なので)
  2. ネットワークアドレスを計算: ホスト部(末尾12ビット)をすべて0にする。
    10101100.00011111.10100000.00000000 => 172.31.160.0
  3. ブロードキャストアドレスを計算: ホスト部(末尾12ビット)をすべて1にする。
    10101100.00011111.10101111.11111111 => 172.31.175.255

このネットワーク (172.31.160.0/20) では、172.31.160.1 から 172.31.175.254 までのIPアドレスを機器に割り当てることができます。

まとめ

今回はネットワークの基本となるTCP/IPの概念と、IPアドレスの仕組みについて学びました。
少し難しかったかもしれませんが、これらの知識はネットワークエンジニアにとって必須の基礎となります。
繰り返し復習し、実際に手を動かしながら理解を深めていきましょう!

何か質問はありますか? 遠慮なく聞いてくださいね!

Discussion