mzgkworks.com

Stack the little bets.

ネットワークの基礎知識(プロトコル・IPアドレス・サブネットマスク・ポート)

   [Knowledge]    #Network

プロトコル

通信規約のこと。
TCP/IPは1つのプロトコルではなく、TCP及びIPという2つのプロトコルと、関連する多数のプロトコルを含めたプロトコル群を表す。

TCP

Transmission Control Protocol。
ネットワーク通信において信頼性を確保するためのプロトコル。
TCP/IPではデータを細切れに分割して通信を行っている(分割データ : パケット)。
パケットが届いたかどうかを確認し、届いていなければ再送するなどの方法で信頼性の向上を図っている。

IP

Internet Protocol。
ネットワーク上のIPアドレスを規定し、パケットが伝送されるネットワーク経路の制御を担当。
TCP/IPでは、機器にIPアドレスを割り当てている。
IPには、以下の2つのバージョンがある。
IPv4 : 32ビット IPv6 : 128ビット

UDP

User Datagram Protocol。
TCPがパケットの到達を確認しながら通信するのに対して、UDPは確認を行わない。
信頼性は劣るが、その分スピードは勝る。
主に音声や映像通信に使用。
様々なニーズに答えるためのプロトコルを別個に作成せずに、TCPに比べ何もしないプロトコルとして、必要な機能はアプリケーション側で対応させる方式。

ICMP

Internet Control Message Protocol。
通信で発生したエラーや制御に関するメッセージを伝送するプロトコル。

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

一般的に人間にわかりやすいように、32ビットを8ビットずつに区切り10進数で表す。
IPアドレスは、「ネットワーク部」と「ホスト部」から成り立つ。

  • ネットワーク部 : ネットワークを表す
  • ホスト部 : ネットワーク内の機器を表す

それぞれの境界を示すために「サブネットマスク」が使われる。

IPアドレスとサブネットマスクをそれぞれ2進数で表し、サブネットマスクの「1」で覆われる部分が「ネットワーク部」となる。
(サブネットマスクを10進数で表すと255の部分)

IPアドレス : 192.168.1.2
サブネット : 255.255.255.0 の場合
↓
IPアドレス : 11000000. 10101000. 00000001.  00000010
サブネット : 11111111. 11111111. 11111111.  00000000
↓
ネットワーク部 : 192.168.1(24ビット分)
ホスト部    : 2(8ビット分)

通信

ネットワーク部 通信
同じ 直接通信が可能
異なる ルーター(デフォルトゲートウェイ)を介する必要がある

特殊アドレス

機器に割り当てることのできないアドレスとして以下の2つが存在する。

  • ネットワークアドレス
    • ネットワーク自体を表す
    • ホスト部のビットをすべて0にしたアドレス(最小)
    • 例 : 192.168.1.0
  • ブロードキャストアドレス
    • 同じネットワーク内の機器に一斉送信するために使用
    • ホスト部のビットをすべて1にしたアドレス(最大)
    • 例 : 192.168.1.255

クラスとCIDR

クラス

ネットワーク部とホスト部を、あらかじめ決められたビット数で分割する方法。
クラスごとにサブネットの長さが決まっている。
A〜Eまであるが、通常A〜Cが使われる。
割り当てられる個数はA>B>Cの順。

クラス ネットワーク部 ホスト部 配布個数
8ビット 24ビット 2の24乗 = 約1,677万個
16ビット 16ビット 2の16乗 = 65,536個
24ビット 8ビット 2の8乗 = 256個

現在では、パターンが少なくIPアドレスの無駄が生じるので「CIDR」の仕組みで扱えるようになっている。

CIDR

インターネット上のIPアドレスの割り当てと経路選択(ルーティング)を柔軟に運用する仕組み。
クラスの概念をなくし、1ビット単位のサブネットマスクを用いてネットワーク部の大きさを指定し、ホスト部のサイズを柔軟に変更できるようにした。
表記はネットワークアドレスの末尾に「/」とサブネットマスクのビット数を付加して「192.168.0.0/18」のように記述。
192.168.0.0/18 → ネットワーク部は18ビット

表記 192.168.0.0/18
サブネットマスク 18ビット分
サブネットマスク(10進) 255.255.192.0
サブネットマスク(2進) 11111111.11111111.11000000.00000000
ネットワークアドレス(2進) 11000000.10101000.00000000.00000000
ネットワークアドレス(10進) 192.168.0.0
割当て可能 11000000.10101000.00000000.00000001
割当て可能 11000000.10101000.00111111.11111110
割当て可能 192.168.0.1 〜 192.168.63.254
ブロードキャストアドレス 192.168.63.255

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

グローバルアドレス

インターネット上で使われるアドレスで、ICANNという組織で管理され、プロバイダーなどを通じて利用者に割り当てられている。
重複なし。

プライベートアドレス

企業や家庭のLAN内で使用するアドレス。
自由に利用できるが、範囲が決められている。

  • 10.0.0.0 〜 10.255.255.255
  • 172.16.0.0 〜 172.31.255.255
  • 192.168.0.0 〜 192.168.255.255

ポート

IPアドレスは、ネットワーク上のホストを識別するのに使われる。
ポートは、1台のホスト上で送信元・先のアプリケーションを識別するために使われる。

  • IPアドレス : 建物の住所
  • ポート : 部屋番号
  • 0〜1023までが予約されている(ウェルノウンポート)

例えば、Webであれば、

  • ブラウザはWebサーバの80番ポートに接続し
  • Webサーバーは80番ポートを監視する

代表的なポートは以下。

ポート番号 説明
20 FTPデータ転送
21 FTP制御情報
22 SSH
23 Telnet
25 メール(SMTP)
53 DNS
80 Web(HTTP)
110 メール(POP)
143 メール(IMAP)
443 Web(HTTPS)