Help us understand the problem. What is going on with this article?

Internet Protocol について

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版

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away