ネットワークスペシャリスト - SE娘の剣 -

左門至峰によるネットワークスペシャリストの試験対策サイトです。勉強方法、合格体験談、合格のコツ、過去問解説、基礎知識などの紹介します。

BGP(Border Gateway Protocol)

1.BGPに関する用語

(1)AS(Autonomous System)

・ASとは自律システムとう意味だが、自律システムというとよく分かりにくい。
・直訳は、「Autonomous=自治の、独立した」という意味。
よって、AS=独立したネットワーク(システム)と考えればいいだろう。
・ネットワークスペシャリスト試験の過去問では、自律システムのことを、「単一のルーティングポリシによって管理されるネットワーク(H18NW午前 問23)」と述べている。
・ちょっと乱暴ではあるが、AS=各ISPと思っていいだろう。

(2)AS番号

・IANA(Internet Assigned Numbers Authority:アイアナ)が割り当て、日本ではJPNICが管理している。
※IANAの業務は、1998年に設立された国際的組織であるICANN(Internet Corporation for Assigned Names and Numbers)が行っている。
・AS番号は16ビットで構成されており、1~65535の値をとる。
・このなかで、64512~65535はプライベートASと呼ばれ、プライベートIP
アドレスと同様に企業が自由に割り当てることができる。

(3)IGPとEGP
プロトコル プロトコル例 説明
IGP(Interior Gateway Protocol) RIP、OSPF 自律システム内で利用する(ことが多い)。
EGP(Exterior Gateway Protocol) BGP 自律システム間で利用する。

インターネットすべてのルーティングを統一して制御することは困難。そこで、ASという単位を設け、「AS内は自分たちで管理してよ」ということからこの仕組みが始まった。国と地方自治の関係と同じ。
しかし、愛知県と岐阜県で交換したくない情報もあるはず。だから、その点を考量しているルーティングプロトコル。
がEGPである。たとえば、BGPであれば、両者の情報交換はAS番号のみ。

(4)iBGPとeBGP
プロトコル 説明 2つのルータのAS番号
iBGP(Internal BGP) AS内のBGP 同一
eBGP(External BGP) AS間のBGP。例えば異なるプロバイダ間でのBGP 異なる

ではなぜ、IBGPとEBGPで分ける必要があるのか?
AS間は別のISP同士と思えばいいので、管理者が別になる。ということは設定も各々がバラバラ。バラバラで通信できるような設定が必要。AS内では同一管理者が一環したポリシーで設計できるので、冗長化などの高度な設定が可能。

2.BGP(Border Gateway Protocol)概要

・BGP(Border gateway protocol)の直訳は、境界ゲートウェーイでのプロトコルという意味。つまり、自律システムASの境界において、他のASとルーティング情報を交換するプロトコル。
・BGP(Border gateway protocol)は,パスベクトル型アルゴリズムです。RIPのディスタンスベクタ型と同様に、パス(ASパス)とベクター(方向)で経路を決めます。ASパス(AS_PATH)には、接続先ネットワークへのASの経路情報を含んでいます。具体的には、どのASを経由して宛先に届くかという情報です。※そのネットワークからどのASパスを通って来たかという情報、という記載もありますが、実際には同じことを言っています。
・「IGPとEGP」でも述べましたが、AS間のルーティングなので組織内の情報は伏せられている。(組織内の情報とは、IPアドレスとサブネットマスク情報。)そこで、AS番号だけでルーティングする。
・過去問では、IPネットワークのルーティングプロトコルの一つであるBGP-4の説明として、「自律システム間を接続する場合に使用され、経路が変化したときだけ、その差分を送信する。(H18NW午前 問23)」と述べている。
・BGP-4の4はVersion4を意味している。
・経路の収束時間はOSPFの方が高速
・AS間の通信を扱うBGPでは信頼性の高さが求められている。
(女性)当然ですよね。愛知県名古屋市内の道路1本が不通になるのと、県をまたぐ高速道路が不通になるのは意味合いが違いますから。

だから、RIPとは違い、BGPでは経路情報交換に、UDPではなくTCPを使っています。参考までに、BGPはTCPの179番ポート、RIPはUDPの520番を使って経路情報の交換を行う。OSPFはIP上で直接動作するので、TCPやUDPという概念はない。(TCPとUDPの違いはTCPUDPのページで確認ください。)

3.BGPの設定

では、CiscoルータでBGPの設定をしてみましょう。
RIPやOSPFと同様に、設定はシンプルです。
特徴的なのは、AS番号をルータに付与することです。
ルータ1(RT1)のAS番号を1001、ルータ2(RT2)のAS番号を1002とし、以下の構成で設定します。
BGP

(1)RT1の設定
①インターフェースの設定

interface GigabitEthernet0
 ip address 10.1.1.254 255.255.255.0
interface GigabitEthernet1
 ip address 172.16.12.254 255.255.255.0

②BGPの設定

router bgp 1001
 network 10.1.1.0 mask 255.255.255.0
 neighbor 172.16.12.253 remote-as 1002

このように、BGPのAS番号を指定し、広告(アドバタイズ)したいネットワークを指定します。さらに、BGPのピア(またはネイバー)と呼ばれる、隣接したAS(ルータ)と接続をするために、ピアとなるASのIPアドレスとAS番号を指定します。

(2)RT2の設定
①インターフェースの設定

interface GigabitEthernet0
 ip address 10.1.2.254 255.255.255.0
interface GigabitEthernet1
 ip address 172.16.12.253 255.255.255.0

②BGPの設定

router bgp 1002
 network 10.1.2.0 mask 255.255.255.0
 neighbor 172.16.12.254 remote-as 1001

(3)RT1の経路情報
経路情報をコマンドで確認しましょう。BとあるのがBGPで取得した経路です。

RT1#sh ip route
C        10.1.1.0/24 is directly connected, GigabitEthernet0
B        10.1.2.0/24 [20/0] via 172.16.12.253, 00:52:50
C        172.16.12.0/24 is directly connected, GigabitEthernet1

(4)RT1のneighbor情報

RT1#sh ip bgp neighbors
BGP neighbor is 172.16.12.253,  remote AS 1002, external link
  BGP version 4, remote router ID 172.16.23.254
  BGP state = Established, up for 01:29:06 

※最後の行にあるように、Establishedであればneighborが確立されている。
 
(5)RT1のAS_PATH情報

RT1#sh ip bgp
   Network          Next Hop            Metric LocPrf Weight Path
*> 10.1.1.0/24      0.0.0.0                  0         32768 i
*> 10.1.2.0/24      172.16.12.253            0             0 1002 i

最後の行の一番右を見てみよう。Pathのところに、AS_PATHの情報が記載されている。1002とあるように、10.1.2.0/24のネットワークに接続するには、1002のAS番号のルータを経由することが分かる。経由するルータ(AS)が多数になる場合、ここにAS番号が順番に並ぶことになる。

4.パスアトリビュート

・パスアトリビュートとは,パス(path,経路と考えてください)のアトリビュート(attribute,属性)です。経路に関して,優先度や経由したAS番号などの情報が記載されています。同じ宛先への経路情報を複数受信した際に,どの経路を利用するのかを決定するのに利用されます。たとえば,LOCAL_PREFであれば,複数の経路があるなかで,この値(優先度)が高い方が優先されます。
・パスアトリビュートの概要を以下にまとめます。

タイプコード パスアトリビュート 概要 最適経路選択の方法
2 AS_PATH 経路情報がどのASを経由してきたのかを示すAS番号の並び AS_PATHの長さが最も短い経路情報を選択
3 NEXT_HOP 宛先ネットワークアドレスへのネクストホップのIPアドレス NEXT_HOPが最も小さい経路情報を選択
4 MED(MULTI_EXIT_DISC) eBGPピアに対して通知する,自身のAS内に存在する宛先ネットワークアドレスの優先度である。MEDはメトリックとも呼ばれる。 MEDの値が最も小さい経路情報を選択
5 LOCAL_PREF iBGPピアに対して通知する,外部のASに存在する宛先ネットワークアドレスの優先度 LOCAL_PREFの値が最も大きい経路情報を選択

5.AS_PATH属性とは

(1)概要

ルート情報は、ASを経由するごとに、経由したAS番号を付加していきます。これにより、複数の経路情報があるときに、どちらが最短かを判断する基準の一つになります。
また、自分のところにルーティング情報が帰ってきても、ループを発見できます。
ルート情報の例
1)AS1からルーティング情報を発信
  [1.1.1.0/16][AS番号 1]
2)AS2を経由して転送
  [1.1.1.0/16][AS番号 1] [AS番号 2]
3)AS3を経由して転送
  [1.1.1.0/16][AS番号 1] [AS番号 2] [AS番号 3]

※ルート情報に自分のAS番号があれば、ループであることがわかる。
※このようにパス属性を用いた経路制御のことをパスベクタ型という。

(2)実際に構築してみよう

AS_PATHについて、4台構成でみてみよう。
では、AS_PATHがどのようになるのか、複数の経路がある以下の構成で確認します。
bgp2

ルータが4台あり、それそれAS番号が付与されています。RT1はAS番号が1001、RT2は1002、・・・RT4は1004です。
ここで、RT4からRT1に接続されている10.1.1.0/24への経路は、2つがあります。
1つは、RT1に直接向かう経路と、R3→RT2→RT1と経由する経路です。

まず、経路情報をみてみましょう。

RT4#sh ip route
B        10.1.1.0/24 [20/0] via 172.16.14.254, 00:08:40
B        10.1.2.0/24 [20/0] via 172.16.14.254, 00:04:16
B        10.1.3.0/24 [20/0] via 172.16.34.254, 00:07:23

経路情報としては、最短ルートのRT1に向かう経路だけが表示されます。もちろん、RT1とRT4のケーブルが断線すれば、もう一方のルートが浮かび上がります。

Q.RT4から見て、10.1.1.0/24のネットワークのパスは2つある。AS_PATH情報はどうなるか。それぞれ記載せよ。






A.AS_PATHを書かせるような問題は過去には出題されていない。だが、一度書いておくと、イメージがつかめると思う。
では、実際のAS_PATH情報を見てみましょう。

RT4#sh ip bgp

   Network          Next Hop            Metric LocPrf Weight Path
*  10.1.1.0/24      172.16.34.254                          0 1003 1002 1001 i
*>                  172.16.14.254            0             0 1001 i
*  10.1.2.0/24      172.16.34.254                          0 1003 1002 i
*>                  172.16.14.254                          0 1001 1002 i
・・・・

このように、AS_PATHとしては、複数の経路のAS_PATHが表示されています。たとえば、分かりやすいのが1行目です。PATHのところに、1003 1002 1001 iとなっていて、AS番号1003(RT3)、AS番号1002(RT2)、AS番号1001(RT1)を経由して10.1.1.0/24 のネットワークに接続することが分かります。
※「i」は iBGPのルートであることを表しています。

■参考:BGPで、嘘の経路情報を伝えたら?
BGPでは、互いに経路情報を交換する。ここでは、特に相手の認証はされていない。
sef1



じゃあ、嘘の経路情報を流すことができるのでは?
実際、嘘の経路情報が流れて、大規模な通信断が起こった事例があった。
https://xtech.nikkei.com/it/atcl/column/14/346926/082701101/
これは、GoogleがBGPにて間違った経路情報を流したことが原因である。
ネットワークスペシャリストを目指す女性SEあれ 
正しい情報も流れているんですよね?どっちを優先するのですか?
試験には出ないので、余談として。基本的には、近い方の情報を正しいと判断する。