マルチアクセス（CCNA第４回） 座学編


# マルチアクセス（CCNA第４回） 座学編
前章では隣接しているルーター間でHelloパケットを送ってから、Fullステートになるまでの流れを学習した。

## 前章
こちらの続きになります。まだ読んでない方はこちらからお読みください。

https://qiita.com/YukiTetsuka/items/7859cd301d7945f720f6

## マルチアクセス場合は？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847927/13c2b48e-1f15-08d7-b9b1-6b136c14a28e.png)
このようにスイッチを使ったネットワーク構成があったとする。
理論上以下のような隣接関係が構築されることになる。（隣接関係 **15**）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847927/7142febc-7e41-f65a-ae37-3bcaa827b7f8.png)

このような状態で各ルーターがHelloパケットやLSUを送信するとトラフィックが増えてしまう。
そこで、**完全な隣接関係を全ルーターで結ばずに一部にすること**で、トラフィックを減らすことができる。

### DR(Designated Router 代表ルーター)
DRは、全ルーターとの完全な隣接関係を築き、それぞれのルーターのLSAを収集し、それを全ルーターへと送信する。
それにより、各ルーターがそれぞれと完全な隣接関係を結ばなくてもDRからすべてのLSAの情報を得ることができる。（隣接関係 **5**）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847927/9d7762f1-c41d-3d87-889e-a70ddc7e60f1.png)


### BDR(Backup Designated Router バックアップ代表ルーター)
もし、DRがダウンした際にDRとして動作するルーター。
BDRも全ルーターと完全な隣接関係を築く必要がある。（隣接関係 **9**）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847927/2605658f-840a-de4a-cec6-2569dba85ddb.png)

### 他のルーターは？
DRとBDRに選ばれなかったルーターは**DROther**という。DROtherはお互いをネイバーとして認識をしているが、DBDパケットやLSUパケットを**直接交換することはない**。
そのため、**DROther同士は2-Wayステートのまま**になる。

### ネットワーク変更時
ネットワークに変更が発生した場合、**DRとBDRだけにLSUパケットを送信**し、DRからのみ全ルーターに送信する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847927/d8b482b6-f819-4f35-17af-bc66dd594a99.png)

## DRとBDRの選択
OSPEは、ルータープライオリティとルーターIDを選択の基準として規定している。

### ルータープライオリティ
ルータープライオリティは、インターフェースごとに決定できる値で、Helloパケットに含まれているためお互いのルータープライオリティを知ることができる。
マルチアクセスの環境では、ルータープライオリティ値が**1番大きいルーターがDR**、**2番目がBDR**に選出される。

### ルーターID
ルータープライオリティが同じである場合、その次にルーターIDを比較する。
ルーターIDは、各ルーターが識別する一意の値でIPアドレスと同じ書式。
ルータープライオリティと同じく、ルーターIDの値が**1番大きいルーターがDR**、**2番目がBDR**に選出される。

#### ルーターIDの決定
ルーターIDは次の順序で決定される。
1. コマンド上で手動で設定している値
2. ルーターの有効なループバックインターフェースのIPアドレスで最大のアドレス
3. 有効な物理インターフェースのIPアドレスで最大のアドレス

> **ループバックインターフェース**
システム管理者が作成することができる仮想的インターフェイスで、手動でシャットダウンしない限りダウンしない。
>
> 林口 裕志; 浦川 晃. シスコ技術者認定教科書 CCNA 完全合格テキスト＆問題集［対応試験］200 -301 (p.341). 株式会社 翔泳社. Kindle 版. 

#### ルーターIDの選出例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847927/005e4c1a-8c3f-e426-bb6a-772404c4acd3.png)
こちらの例では、手動設定はなく、ループバックインターフェースも無いため、物理インターフェースの最大IPが選択される。
`192.168.52.5`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847927/f2d9f5fb-edfd-9728-af94-3d319195bdf1.png)
こちらの例では、手動設定はないが、ループバックインターフェースはあるため最大ループバックインターフェースIPアドレスが選択される。
`10.156.44.42`

### DRとBDRの選出例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847927/ee63b4f7-1d9d-208a-e3c8-0a7c941b9c5a.png)
こちらの例では、`192.168.1.0/24`と`192.168.10.0/24`のマルチアクセス環境となっている。
**DRとBDRはネットワークセグメントごとに選出する**ので、それぞれ前項の規則に沿って決めていく。

## マルチアクセス環境でのLSUパケット
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3847927/1fc1059e-db91-cbe0-b506-b8bffb7d8fbe.png)
1. `192.168.10.2`のルーターは変更を伝えるため、LSUパケットをDRとBDR宛て(`224.0.0.6`)に送信する。このとき、`192.168.10.0/24`のネットワークセグメントのDRとBDRのみに送られる。
2. LSUパケットを受け取った`192.168.10.5`のルーターはLSUパケットを同一ネットワーク内のルーターに向けて送信する。(`244.0.0.5`)
3. `192.168.1.3  /  192.168.10.4`のルーターは左側のネットワークセグメント内では**DR**であるため、LSUパケットを受け取ると同一ネットワーク内のルーターに向けて送信する。(`244.0.0.5`)

これにより、マルチアクセス環境で障害が発生してもLSDBが更新される。また、LSUパケットを受け取り後、LSAckパケットを送り、DRはLSAckが受け取る。LSAckが送られてこない場合、DRは再度LSUパケットを再度送る。

### BDR
BDRは変更を検知したルーターからLSUパケットを受け取り、DRからも受け取る。
DRからのLSUパケットが届かなかった場合、DRがダウンしていると判断し、DRとして動作するようになる。

# 参考文献
- 林口 裕志; 浦川 晃. シスコ技術者認定教科書 CCNA 完全合格テキスト＆問題集［対応試験］200 -301 (p.325). 株式会社 翔泳社. Kindle 版. 
- https://note.com/sato_manabi/n/nb179b5e60762