【ネットワーク】OSI参照モデル / ネットワーク層

■ はじめに

https://dk521123.hatenablog.com/entry/2022/12/10/000000

の続き。
今回は、ネットワーク層(IP)を扱う。

目次

【1】ネットワーク層の役割
【2】関連用語
【3】IPアドレス
  1)特別なIPアドレス
【4】その他の関連するプロトコル
 1)ICMP(Internet Control Message Protocol)
 2)DHCP(Dynamic Host Configuration Protocol)
 3)NAT/NAPT/UPnP
 4)ARP(Address Resolution Protocol)
 5)RARP(Reverse ARP)

【1】ネットワーク層の役割

* ネットワークに直接接続された機器間を伝送できるようにする
 => IPアドレスから経路を選択する
 => 宛先情報を付加してデータリンク層に渡す

【2】関連用語

IPアドレッシング

* IPアドレスを設定すること

生存時間 (TTL ; Time To Live)

* パケットの寿命で、実際は何個のルータを中継してもいいかを設定
 => ルータを通過するたびに、1づつ減っていく
 => 0になったら、パケットを破棄

【3】IPアドレス

* TCP/IPが使う論理アドレスで、
 この論理アドレスを使ってルータは経路選択をする

1)特別なIPアドレス

a) ループバックアドレス

* 同じコンピュータ上で通信する時に利用
* 127.0.0.0-127.255.255.255 (e.g. 127.0.0.1: localshot)

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

* 同一ネットワーク内の全てのアドレスに対して、
 同時に同じパケットを送付する場合に利用
* 255.255.255.255

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

* 特定グループ内で通信する時に使用
* 224.0.0.0 ~ 239.255.255.255

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

* 内部ネットワークでの利用に限定して割り当てることができるIPアドレス
* RFC1597において、以下のアドレスを利用できる
 + 10.0.0.0 ~ 10.255.255.255
 + 172.16.0.0 ~ 172.31.255.255
 + 192.168.0.0 ~ 192.168.255.255

【4】その他の関連するプロトコル

1)ICMP(Internet Control Message Protocol)

* 以下の関連記事を参照のこと

ICMP(Internet Control Message Protocol)
https://dk521123.hatenablog.com/entry/2022/05/03/000000

2)DHCP(Dynamic Host Configuration Protocol)

 * ホスト(クライアント)に対して自動的にIPアドレスを割り当てるプロトコル
 * UDPを使用(UDPは以下の関連記事を参照のこと)

仕組み

1) DHCPクライアントは、要求を出すとき、
   宛先のIPアドレスを「255.255.255.255」(※1)向けて送信する。これを、DHCPサーバのみ応答する

 ※1 ブロードキャストアドレスといい、同じLANの全ての機器に送信するための特殊なアドレス
 ※2 要求を出している時点でのDHCPクライアントのIPアドレスは「0.0.0.0」である

2) DHCPサーバは、使用可能なIPアドレスをその返信として、送り返す
3) IPアドレスを付与したDHCPクライアントは、
   再度、IPアドレス「255.255.255.255」宛に確認を送る
4) DHCPサーバが応答したら、やり取り完了。(IPアドレスを使用できるようになる)

動画
https://www.youtube.com/watch?v=zaeX1bbGsI0

3)NAT/NAPT/UPnP

* 以下の関連記事を参照のこと

NAT / NAPT / UPnP
https://dk521123.hatenablog.com/entry/2016/09/21/231938

4)ARP(Address Resolution Protocol)

* ARP(アープ)
 => Address Resolution Protocol (アドレス解決プロトコル)

* IPアドレスから送信先のMACアドレス(イーサネットアドレス)
 を知るためのプロトコル

MAC = Media Access Control

手続き手順

[1] ネットワークデバイスは、データ送信先のIPアドレスを
 ネットワーク上の各ルータに問い合わせる (ARPリクエスト)
[2] 知っているルータがリプライを返す (ARPリプライ)
[3] [2] で答えたルータが[1] のように問い合わせる
 => この繰り返しでアドレス解決する

【実験】

* コマンドプロンプトで「arp -a」と入力すると、
 MACアドレスが格納されているARPテーブルが表示される

 => 以下の関連記事も参照のこと。

https://dk521123.hatenablog.com/entry/2016/10/03/223638

5)RARP(Reverse ARP

* RARP(ラープ)
* MACアドレスを元に、IPアドレスを求めるプロトコル

関連記事

【ネットワーク】TCP/IP
https://dk521123.hatenablog.com/entry/2022/12/10/000000
【ネットワーク】リンク層
https://dk521123.hatenablog.com/entry/2015/02/05/000813
ICMP(Internet Control Message Protocol)
https://dk521123.hatenablog.com/entry/2022/05/03/000000
IPアドレスに関するコマンド
https://dk521123.hatenablog.com/entry/2016/10/03/223638
インターネット層でのセキュリティ攻撃
https://dk521123.hatenablog.com/entry/2016/01/10/031335