Internet Protocol


Internet Protocol(IP)とはインターネットにおいてパケットを中継するのに使われる通信プロトコルである。
ちなみにプロトコルとは「通信を行うすべてのエンティティが守るべきルール」のこと。

🎉 データ構造

  • ヘッダ
    • 送信元IP、宛先IP、ルーティングや転送に必要となるデータ
  • ペイロード
    • 転送すべきデータ

😼 IPアドレッシングとルーティング

  • IPアドレス
    • 各機器の場所を表すのに用いられる
  • ルーティング(経路制御)
    • どのルータを経由してパケットを転送するかを制御する

🚌 IPv4とIPv6

  • IPv4
    • 256(2の8乗)の数4つを用いて、約42億個(2の32乗)のアドレスを扱う
    • 127.0.0.1は自分自身を表すIPアドレスでループバックアドレスとよぶ。
  • IPv6
    • 2の128乗のアドレスを扱う。4桁の16進数の数値を:で8つつなげる

🗽 サブネット

サブネットはルータを介さずに直接通信できるネットワークの範囲。以下はサブネットの例。

  • IPアドレス: 192.168.1.1
  • サブネットマスク: 255.255.255.0
  • サブネットマスク長: 192.168.1.1/24
    • 先頭から24ビットが固定、それ次の8ビットが変動するアドレス空間を示す

🍣 宛先として指定可能なアドレス

ユニキャストアドレス

  • 1対1通信に利用される
  • 1台のホストを指すIPアドレス。1台のホストに届くことを期待
  • パケット送信元のアドレスは例外を除いて、必ずユニキャストアドレスを指定する

マルチキャストアドレス

  • 1対多通信に利用される
  • 複数ホストに同じ通信を同時に提供したい場合
  • 検索などの目的である範囲のホスト群に同時に問い合わせ要求をしたい場合に用いる

エニーキャストアドレス

  • 1対1通信で利用される
  • グループに属するホストのどれか1台に届くことが期待される
  • どれに届くかを特定することはできない
  • 同一サービスを提供する複数のDNSサーバの中で近いサーバにアクセスしたいときに利用

ブロードキャストアドレス

  • 1対多通信で利用される
  • ネットワークに接続されているすべてのホストに届くことが期待される
  • 検索や情報通知などの目的で、全ホストに同時送信したいときに使うことが多い

🐠 アドレスのスコープ

グローバルアドレス

  • インターネット上で一意性が保証されているIPアドレス
  • IANA(Internet Assigned Numbers Authority)か管理する

プライベートアドレス

  • インターネットで利用されないことが保証されているIPアドレス
  • 自由に利用できるが、インターネット上に送出してはいけない

🗻 参考リンク

📚 おすすめの書籍