IPとは?
- Internet Protocolのこと
- OSI参照モデルの第三層のネットワーク層に該当
- ip(or ifconfig)コマンド叩くと確認できる
IPアドレスの3つの役割
- IPアドレスを用いてホスト(コンピューター)を識別する
- 経路探索をしてパケットを届ける
- パケットを転送する際に、最大転送範囲に応じてパケットを分割する
TCPとIP
- IPは相手にパケットを届けるが、その保証はしない
- TCPは、IPを利用してデータが確実に届くように処理をする
- IPがパケット転送を保証すればいいやんという指摘
- プロトコルをシンプルにしたかったかららしい
グローバルIPとプライベートIP
- IPの不足によってプライベートIPが誕生
- グローバルIPはユニーク、プライベートIPはユニークではない
- NATによってプライベートIPとグローバルIPのアドレス変換が可能に
IPを支える技術
- DNS
- ARP
- ICMP
- DHCP
- NAT
- IPトンネリング
- etc...
DNS
- Domain Name System
- IPアドレスとドメイン名を変換する
- nslookupコマンドで、ドメイン名を使用したとIPアドレスの確認ができる
➜ ~ nslookup www.google.co.jp
Server: 102.232.2.39
Address: 102.232.2.39#53
Non-authoritative answer:
Name: www.google.co.jp
Address: 172.217.25.67
ARP
- Address Resolution Protocol
- IPアドレスを使用てMACアドレスを割り出す
- 通信にはmacアドレスも必要になるため
- RARP(Revrese Address Resollution Protocol)という、MACアドレスからIPアドレスを割り出すプロトコルもある
ICMP
- Internet Control Message Protocol
- IPが目的のパケットまで届くかどうかの到達確認
- IPパケット廃棄の原因調査
- ネットワーク設定の調査
TTLとtraceroute
- TTL(Time TO Live)
- IPパケットのフィールド。ルーターを1つ通過するごとに1つずつ減らされ、0になるとパケットが破棄される。
- 経路探索のエラーによって、パケットがネットワークを回り続けるのを防ぐために使用
- tracerouteコマンドを使うことによって、辿った経路を調べることができる
- 使い方:
traceroute <宛先>
➜ ~ traceroute www.google.co.jp
traceroute to www.google.co.jp (216.58.197.131), 64 hops max, 52 byte packets
1 172.17.1.1 (172.16.1.1) 1.344 ms 2.017 ms 1.017 ms
2 tokyo10-n438.flets.2iij.net (203.180.20.87) 2.741 ms 3.047 ms 2.830 ms
3 tokyo10-ntteast1.flets.2iij.net (210.149.34.229) 4.007 ms 3.402 ms 3.469 ms
4 tky001lip31.iij.net (160.13.162.5) 3.701 ms 3.931 ms 4.314 ms
5 tky001bb11.iij.net (210.138.115.213) 3.559 ms 4.225 ms 3.730 ms
6 tky001ix02.iij.net (58.138.100.58) 3.861 ms
tky001ix04.iij.net (58.138.100.66) 3.290 ms 3.921 ms
7 202.232.1.86 (202.232.1.86) 2.894 ms 5.158 ms
72.14.242.38 (72.14.242.38) 4.194 ms
8 108.170.242.129 (108.170.242.129) 5.690 ms 4.606 ms
108.170.242.97 (108.170.242.97) 5.103 ms
9 216.239.62.25 (216.239.62.25) 7.656 ms
216.239.62.23 (216.239.62.23) 3.683 ms
216.239.62.25 (216.239.62.25) 3.592 ms
10 nrt12s01-in-f3.1e100.net (216.58.197.131) 3.260 ms 4.623 ms 3.679 ms
DHCP
- Dynamic Host Configuration Protocol
- IPアドレスを動的に変更するプロトコル
- 一台ごとにIPアドレスの設定をしなくても勝手にやってくれるので、楽
- 一般家庭ではルーターにこの機能が備わっている
- 確かにIPアドレス設定した覚えはない
- 組織などではDHCPサーバーを設定する。
- DHCPサーバーを複数設定する場合は、DHCPリレーエージェントを用いる。
NAT
- Network Address Tramslator
- プライベートIPアドレスをグローバルIPアドレスに変換する
- IPv4のアドレス枯渇問題を受けて誕生
IPトネリング
- IPv4とIPv6の通信を可能にする
- ネットワークがどちらかのプロトコルしかサポートしていない場合に、通信できない問題を解決する
- IPヘッダ(v4)の後に、IPヘッダ(v6)をつけることによって解決する
参考
「マスタリングTCP/IP」入門編 第5版