TCP・IP超初心者入門(ルータから内部・外部のルーティングについて)

# Routerのルーティングについて
　ここでは送信先PCからLANの異なる受信元PCまでパケットが届く際の、ルータのルーティングについて深掘りしていきたいと思います。

## 同一ネットワーク内と通信の際のルーティング
　同じネットワーク内（LAN内）の通信では、宛先のネットワークIPアドレスが同じなため他のルータにパケットを送らず内部の(自身のネットワーク)　PCに転送する。
　手順としては**ARP**(IPアドレスからMACアドレスを求めるプロトコル)を利用し宛先IPアドレスとMACアドレスを対応付ける。その後**イーサネットフレーム**(物理層・データリンク層)に宛先MACアドレスを入れて送信する。<font color="OrangeRed">同一のLAN内（セグメント内）ではルーティングは行わない。</font>

## 異なるネットワーク内と通信の際のルーティング
　異なるネットワーク内の場合、ブロードキャストを使って問い合わせを行うことはできない。そこで複数のネットワークに接続しているルータとPCを中継し、転送する。
# 異なるネットワークでのルーティング
　宛先のIPアドレスがルーティングテーブルに記載されていない場合、送信元のネットワーク内のデフォルトゲートウェイ（ルータ）に転送する。デフォルトルータのMACアドレスをARPを利用し求め、デフォルトルータにパケットを送信。その後宛先のネットワークIPアドレスからルーティングテーブルを参照し、テーブル内に該当する宛先がない場合はデフォルトルータに対するデフォルトルータにARPを利用しMACアドレスを求め送信する。そうして宛先のネットワークに接続しているルータがあるまで中継し続ける。
### ルーティングテーブルについて
　インターネットの多くの接続された機器の中から自身と自身の通信先との通信路を決定するのは困難です。そこで通信前に"自動的にこのネットワークに行きたいならここのネットワークと繋がっているルータに飛ばす"といった地図があれば非常に便利です。そこでネットワーク上の地図のことを<font color="OrangeRed">ルーティングテーブル</font>と言います。**ネットワークの異なるルータから送られてきたIPアドレスと一致するIPネットワークアドレスをルーティングテーブルから調べ、それに対応したIPアドレスをもつルータに送信**します。
　つまりルーティングテーブルとは**インターネットを構成する各ネットワークのIPネットワークアドレス**とそのネットワークに**接続するコンピュータに宛てたパケットを送り出す場合のIPアドレス**を紐づけて記載しています。
![スクリーンショット 2023-06-10 22.14.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299864/0cd682d2-c716-f5bb-127f-afa58a5055f9.png)
### ルーティングテーブルへのルートの追加方法について
**<font color="OrangeRed">スタティックルート</font>**

**メリット**
* 管理者が宛先ネットワークへの最適なルートを手動で設定したルート
* ルーティングの際にトラフィック量（通信量）を減らすことができる（ネットワーク内の負荷を減らせる）
**デメリット**
* 設定された情報が他のルータに通知されない
* 経路で障害が発生しても自動的に切り替わらない

**<font color="OrangeRed">ダイナミックルート</font>**
**ルータ同士で**経路情報のやりとりを行い、常に最適なルーティングテーブルを更新する方法
**メリット**
* ネットワーク内の経路情報が変更になっても、ルータ同士で情報のやり取りを行うためその都度ネットワークを設定する必要がない
* 経路に障害が発生しても動的にルーティングテーブルが更新され、迂回ルートを自動で案内してくれる
### インターネット接続のルーティング
　前回の記事にて自身のネットワーク(LAN)から**インターネットに接続する場合は、プロバイダのルータを介して行う。** 宛先IPアドレスに関係なくプロバイダのルータに転送するため、この場合のルーティングテーブルは、宛先のネットワークテーブルがどこであれ対応する送り先のIPアドレスは同じです。つまり**宛先のネットワークアドレスがたくさんあっても対応する転送先のIPアドレスは、全て同じもの。**そのままルーティングテーブルに登録するのは非効率です。そこで<font color="OrangeRed">デフォルトルート</font>の機能が活躍します。
**<font color="OrangeRed">デフォルトルート</font>**
　経路表(ルーティングテーブル)にIPv4アドレスでは0.0.0.0/0として表される特殊なアドレスを記載する。それに対応する送り先IPアドレスに特定のIPアドレスを登録している場合、受け取ったパケットの宛先ネットワークアドレスが経路表に乗ってないと0.0.0.0/0に転送する。
　この機能を利用することでネットワークアドレス0.0.0.0/0とそれに対応する送り先IPアドレスとしてプロバイダのルータを指定しておくことでインターネット上のネットワークアドレスを一切登録せずとも組織内のネットワークPCからインターネットに接続されるパケットは、全てプロバイダのルータに転送される。転送先として指定されたルータなどのことを<font color="OrangeRed">デフォルトゲートウェイ</font>と呼ぶ。
**メリット**
* ルーティングテーブルの情報量を大幅に下げることができる
* インターネット上のネットワークが変化しても影響を受けない（経路表を変えなくて良い）
# インターネットを介したルーティングまとめ
![スクリーンショット 2023-06-13 0.02.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299864/5b9fbe2d-b168-b8d3-08fb-96b3357ec36b.png)





 
### 参考文献
[【ルーターの基礎知識】ルーティングテーブルの見方と設定](https://milestone-of-se.nesuke.com/nw-basic/grasp-nw/inner-and-inter-segment/)
[【図解】ルーティングの流れ ～同一セグメント内通信とデフォルトゲートウェイによる別セグメント間通信](https://www.juniper-ne.jp/blog/provider/routing-table.html)
[【初心者用】デフォルトゲートウェイの役割と設定方法](https://ict-skillup.com/network/504/)
[デフォルトゲートウェイに送るとはいかに？](https://qiita.com/infinite1oop/items/ee2425b95719b664a1dc)
例：[ネットワーク接続にデフォルトゲートウェイの設定が必要な理由](https://qiita.com/pink/items/0bdcd84fabf60d801262)

https://qiita.com/pink/items/0bdcd84fabf60d801262