IPプロトコル(1)

by 菊地時夫 last modified 2009-05-24 13:26

インターネット層

  • OSI ネットワーク層
  • End-to-end の通信
  • ネットワークのネットワークを形成させる
  • リンク層は one hop

IPアドレス

  • 32 bit (IPv4) 又は 128 bit (IPv6)
  • インターネットに直接接続されているホストは世界でただ一つのIPアドレス
    • 直接接続されていないホストも多数ある

ルーティング

  • IPパケットに書かれた「宛先アドレス」に従ってパケットを転送する
  • 2つ以上の転送先があるとき、どちらに転送するか
  • 経路制御表
    • netstat -r

IPの(その他の)役割

  • データリンクの抽象化
    • 物理層・リンク層の種類によらず、相手ホストを指定できる
  • コネクションレス型の通信
    • 通信相手への到達性や信頼性を保証しない
    • 簡略化・高速化
    • コネクションは上位層で提供

IPv4 アドレス

  • 32bit -> 0--255 の 4個の 10進数で表す
    • 10000101011000011010011000001101
    • 10000101 01100001 10100110 00001101
    • 133.97.166.13
  • ネットワーク部とホスト部に分けられる
    • 上位 24bit がネットワーク部であるとき
    • 133.97.166.13/24
      • (/24) ... プレフィックス表記
      • (別のネットワークに属するホストであれば、ルータへ渡せばよい)

IPアドレスのクラス

  • Class A ... /8 (0.x.x.x - 127.x.x.x)
    • 0nnnnnnn hhhhhhhh hhhhhhhh hhhhhhhh
  • Class B ... /16 (128.X.x.x - 191.X.x.x)
    • 10nnnnnn nnnnnnnn hhhhhhhh hhhhhhhh
  • Class C ... /24 (192.X.X.x - 223.X.X.x)
    • 110nnnnn nnnnnnnn nnnnnnnn hhhhhhhh
  • Class D ... マルチキャスト
  • Class E ... 保留

ネットワーク/ブロードキャスト

  • ホスト部が全部 0 ... ネットワークを表す
  • ホスト部が全部 1 ... IPブロードキャストに使用
    • リンク層ではブロードキャストアドレス=ff:ff:ff:ff:ff:ff
  • 個々のホストに上記のアドレスを付ける事はできない -> /24 ネットワークでは 1?254

サブネットマスク

  • クラス B が割り当てられた組織で、
  • 部門(等)ごとにネットワークを分割したい
  • 例:133.97.0.0/16 -> 133.97.166.0/24

    (サブ)ネットマスク = 255.255.255.0 (or 0xffffff00)

IPアドレスの割当

  • ICANN/IANA -> APNIC (RIR) -> JPNIC (NIR) -> ISP
  • 昔はクラス単位で組織に割当 (133.97)
  • 今は CIDR (Classless InterDomain Routing) で可変
    • whois で、どのように割り当てられたネットワークであるか分かる
    • VLSP

プライベート・アドレス

  • インターネットに直接接続しないネットワークで使用できる
  • 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 アドレスのまとめ

  • IPアドレス(IPv4 32bit)はネットワーク部とホスト部に分かれる
    • 歴史的には、クラス による指定
  • ネットワーク部を指定する方法として
    • / を使う (133.97.166.0/24)
    • ネットマスクを使う (255.255.255.0 or 0xffffff00)
  • ホスト部が全部 0/1 は特殊用途
    • 133.97.166.0/24 ... ネットワークを指す
    • 133.97.166.255/24 ... ブロードキャスト

練習問題(1)

  • 192.168.10.160/27 のネットワークについて、ブロードキャストアドレスを求めなさい。

練習問題(1)

  • 192.168.10.160/27 のネットワークについて、ブロードキャストアドレスを求めなさい。

    最後の8bitだけみると、16010 = 101000002 であり、 ブロードキャストアドレスは、ホスト部(5bit)を全部 1 にしたものである。

    101111112 = 19110 なので、 答えは、192.168.10.191

練習問題(2)

  • あるネットワークに接続されたホストの IPアドレス設定は以下のようになっていた。

    IP address: 172.16.5.26
    Netmask: 0xfffffff8 (255.255.255.248)

    このネットワークに接続できるホストの数と、 それらのホストに割り当てることができる、IPアドレスの範囲を求めなさい。

練習問題(2)

  • あるネットワークに接続されたホストの IPアドレス設定は以下のようになっていた。

    IP address: 172.16.5.26
    Netmask: 0xfffffff8 (255.255.255.248)

    このネットワークに接続できるホストの数と、 それらのホストに割り当てることができる、IPアドレスの範囲を求めなさい。

    最後の8bitを見る。2610 = 000110102, 0xf8 = 111110002

    よって、ホストの範囲は 000110012 ? 000111102, つまり 172.16.5.25 ? 172.16.5.30 の、6つの IP アドレスをホストに割り当てできる。

その他の問題

本日の問題

  1. 172.31.72.0/22 のネットワークについて、ブロードキャストアドレスを求めなさい。
  2. 次の IP アドレス範囲をホストに使用できるネットワークを、ネットワークアドレスとネットマスクで表しなさい。

    172.17.8.145 ? 172.17.8.158

問題の解答

  1. /22 なので、3番目のオクテット (72) に注目
    1. = 01001000 -> このうち 6 bit がネットワーク部

    ブロードキャストアドレスは 01001011 = 75 -> 172.31.75.255

  2. 172.17.8.144/28 -> 0xfffffff0 -> 255.255.255.240