用語
クラス
IPアドレスをカテゴリ分類する考え。先頭ビットのパターンで分類
クラス | 先頭ビット | IPアドレス範囲 | 1NWのホスト数 | プライベートアドレス |
---|---|---|---|---|
A | 0 | 0.0.0.0〜127.255.255.255 | 16777214(2の24乗-2) | 10.0.0.0〜10.255.255.255 |
B | 10 | 128.0.0.0〜191.255.255.255 | 65534(2の12乗-2) | 172.16.0.0〜172.31.255.255 |
C | 110 | 192.0.0.0〜223.255.255.255 | 254(2の8乗-2) | 192.168.0.0〜192.168.255.255 |
D | 1110 | 224.0.0.0〜239.255.255.255 | マルチキャスト用 | - |
E | 1111 | 240.0.0.0〜255.255.255.255 | 実験用 | - |
CIDR(Classless Inter-Domain Routing)
クラスレスアドレッシング
クラスに縛られずネットワークアドレスを定義
VLSM(Variable-Length Subnet Mask)
クラスレスアドレッシングを使ったサブネット分割
プリフィクス
クラスレスアドレッシングのネットワークアドレスのこと
ネットワーク表記
プリフィクス表記→192.168.0.0/24
サブネットマスク表記→255.255.255.0
AS(Autonomous System:自律システム)
共通のポリシーや管理下で運用されるネットワークの集合体
1〜65535の範囲でNICが管理。
64512以降はプライベートで利用可能
ISPやキャリア等が該当
IX(Internet Exchange)
ISPやキャリア等が相互接続してAS間通信を行う接続ポイント
双方の配下のNW情報のみをやりとり。
インターネット等の他ネットワークへの経路はやりとりされない。※トランジットでない(後述)。
ルーティングプロトコルのポイント
主に以下情報を伝達
プリフィスク
NextHop
メトリクス
→複数経路がある時の経路選択する為の情報、ループを検知する為の情報等
RIPとの比較
プロトコル | 方式 | 伝播方法 | NextHop | VLSM対応 | パス選定メトリクス | 隣接ルーターの場所 | ループ対策 |
---|---|---|---|---|---|---|---|
RIP | ディスタンスベクタ | 520/udpのブロードキャスト(V1) 定期送信 |
IPヘッダの送信元アドレス(V1) ペイロードに情報格納(V2) |
未対応(V1) 対応(V2) |
ホップ数 | 同NW内 ※ブロードキャスト伝播だし |
スプリットホライズン ポイズンリバース |
BGP | パスベクトル | 179/tcp・ユニキャストで隣接ルータとピア接続 ピア確立後、変更時に更新 |
ペイロードに情報格納 | 対応 | ASパス長 | 別NWの場合もあり(マルチホップ) 但し該当NWへの経路がルーティングテーブルに存在する必要あり |
APパス内重複ASチェック(EBGP) IBGPスプリットホライズン(IBGP)※後述 |
BGPメモ
トランジットASと非トランジットAS
トランジットAS→外部ASに自AS以外の経路情報も伝播。外部ASが経路情報に含まれるNWへ通信する際、自ASを経由する。
非トランジットAS→外部ASに自ASの経路情報のみ伝播。
基本動作
ピア確立→経路情報交換→生存監視(KeepAlive)/変更時に経路情報通知
ピア確立
双方より確立要求。先に確立したものが有効に。
PASSIVEモードの場合、要求せず受け身。
BGPヘッダ
フォーマット。以下URLより引用
【図解】BGPの広報シーケンスとメッセージ種類/フォーマット,UPDATEのタイミング | SEの道標
Typeはペイロードに格納されるメッセージ種別(Open、Update、KeepAlive等)の識別情報
OPENメッセージ
TCP確立後のピア接続確立する為のBGPレベルのネゴシエーション
バージョン、ルーターID、AS番号、ホールドタイム等を通知
フォーマット。以下URLより引用
【図解】BGPの広報シーケンスとメッセージ種類/フォーマット,UPDATEのタイミング | SEの道標
UPDATEメッセージ
経路情報(プリフィクス、NextHop、メトリクス等)・取り消し経路の情報を交換
フォーマット。以下URLより引用
【図解】BGPの広報シーケンスとメッセージ種類/フォーマット,UPDATEのタイミング | SEの道標
Paht Attribute(パス属性)がポイント。複数の属性が格納される。
KEEPALIVEメッセージ
ヘッダのみ
UPDATEメッセージでやりとりされるパス属性のポイント
タイプが複数あり。重要なタイプは以下。
タイプ番号 | 属性 | 説明 | 必須 | BGPルーターサポート要否 |
---|---|---|---|---|
1 | ORIGIN | 経路情報の生成元を示す 0: IGP(AS内部) 1: EGP(AS外部) 2: 上記以外 |
必須 | ○ |
2 | AS_PATH | 経由するAS番号のリスト | 必須 | ○ |
3 | NEXT_HOP | ネクストホップ | 必須 | ○ |
4 | MULTI_EXIT_DISC(MED) | 外部AS→自ASへのパス制御で利用 | 必須でない | オプション |
5 | LOCAL_PREF | 自AS→外部ASへの経路制御で利用 | 必須でない | ○ |
ORIGIN、AS_PATH、NEXT_HOPはUPDATEメッセージに必須で特に重要!!
2種類のタイプあり
AS間接続はEBGP、AS内接続はIBGPで動作が異なる。
動作の違いは以下の通り。
タイプ | ピア間接続NW | NEXTHOP要件 | AS_PATHにAS追加 | LOCAL_PREF属性 | MED属性伝播 | 自NW以外の伝播 |
---|---|---|---|---|---|---|
EBGP | 原則同NW※1 | 原則同NW※1 原則自ピアソースIPに置き換え※2 |
必須 | NG | NG | 可 |
IBGP | 別NW可 | 同NWでなくても可 但し到達可能でないと破棄 |
NG | 必須 | 可 | NG※3 |
※1 EIGPマルチホップ構成では可能。但しNEXTHOPが到達可能でなければ破棄。
※2 アナウンス先とNEXTHOPアドレス(アナウンス元のピアソースIP)が同NWの場合、自ピアソースに書き換えしない。
ルータA,B,Cが同一NWに接続
ルータA→ルータB→ルータCで伝播される場合
ルータBはNEXTHOPを自ピアソースIPに書き換えずにルータCに伝播。(NEXTHOPはルータAのピアソースIPのまま)
※3 IBGPスプリットホライゾン
IBGPピアからの受信ルートを他のIBGPピアにはアドバタイズしない。ルーティングプロトコルによるループ問題は、隣接ノードからアドバタイズされた経路情報を、他にアドバタイズする事が原因
https://xtech.nikkei.com/it/article/COLUMN/20100729/350807/
EBGPはピアからのアップデートのAS_PATHに自AS番号がある場合、ルーブを検知し破棄するためループは起きない。IBGPはAS_PATH更新しない為、ループ対策必要。
https://atmarkit.itmedia.co.jp/ait/spv/1209/13/news147.html
IBGPでは隣の隣のルータの経路情報を知るためフルメッシュ構成 or ルートリフレクタ、BGPコンフェデレーションの対策が必要。
詳細は以下URL参照 BGPスプリットホライズンとは
【図解】iBGPとeBGPの違い,スプリットホライズンとフルメッシュ,NEXT_HOP属性とnexthop-selfの関係 | SEの道標
ベストパス選定プロセス
①NEXTHOP到達性の確認
IBGPの場合、IGP(OSPF等)で事前にNEXTHOPへのルーティング定義が必要
②LOCAL_PREF属性の値比較
値が大きい方が優先
③AS_PATH属性の比較
値が小さい方が優先
④ORIGIN属性の比較
値が小さい方が優先
0(IGP)→1(BGP)→2(他)
⑤MED属性の値の比較
値が小さい方が優先
ピアタイプを比較
EBGPがIBGPより優先される。
※EBGP or IBGPか?は、OPENメッセージ内でAS番号を交換してるのでルータは判断できるのだろう。
NEXTHOPまでのIGPコスト比較
値の小さい方を有線
ルータIDの比較
より若いIDが有線
マルチパス機能
BGPでなくルータによる機能
ベストパス選定プロセスで、どこかの時点まで同一優先度のパスが複数ある場合、複数パスを使った負荷分散ができる。
但し、BGP的にはベストパスとしては1つのみを選出。