検索
連載

ネット上で経路情報を交換するときに必要なBGPとはCCNP対策講座 ROUTE編(7)(1/2 ページ)

本連載では、シスコシステムズ(以下、シスコ)が提供するシスコ技術者認定(Cisco Career Certification)から、ネットワーク技術者を認定する資格、CCNP(Cisco Certified Network Professional)のうち、【642-902 ROUTE】を解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 インターネット上で経路情報を交換するときに必要なBGP(Border Gateway Protocol)について学習します。BGPはOSPF(Open Shortest Path First)やEIGRP(Enhanced Interior Gateway Routing Protocol)などのIGPsと比べて、柔軟に経路情報を制御可能なプロトコルです。今回はBGPの概要、特徴、基本設定について学習します。

BGPの概要

 BGPを理解するためには、他のルーティングプロトコルと比べてBGPがどのように異なるのかを理解する必要があります。ルーティングプロトコルは内部と外部の2種類に分類分けされます。

  • IGPs(Interia Gateway Protocol):AS(Autonomous System、自律システム)内部でルーティング情報を交換するために使用される
    プロトコル:RIP、EIGRP、OSPF、IS-IS
    目的:情報交換の速さが求められる
  • EGPs(Exteria Gateway Protocol):AS間でルーティング情報を交換するために使用される
    プロトコル:BGP・EGP(BGPよりも古いプロトコル)
    目的:経路情報の制御のしやすさが求められる

 BGPはAS間でルーティング情報を交換するために使われます。ASとは同じルーティングポリシーで運用されるネットワークです。ISPは1つのASです。インターネットはこのAS同士が相互接続されています。

図1 BGP概要
図1 BGP概要

 企業、個人ユーザーがインターネットに接続するにはISPとの契約が必要です。ISP内部ではIGPs(OSPF・EIGRPなど)が動作しています。その各ISPの経路情報を交換するためにBGPが必要です。つまり、BGPはOSPFやEIGRPのように単独で動作するものではありません。IGPsでIPネットワークの基盤ができていることが前提で使用するプロトコルです。

 IGPsはインターネット上の膨大な経路情報を交換できるような設計になっていません。インターネット上の膨大な経路情報を交換するには、どのルートをどのように制御するのかという柔軟な経路制御が求められます。BGPでは、パスアトリビュートを使用し、柔軟な経路制御が実現できます。パスアトリビュートの詳細は次回解説します。

 またインターネット上で経路情報を交換するには、IANAから割り当てられるAS番号が必要です。番号は1〜65535の16ビットです。64512〜65535のAS番号はプライベートIPアドレスと同様に、プライベート用として使えるように予約されています。

確認問題1

  • 問題

 プライベートAS番号を選択肢の中から2つ選択しなさい。

a.65534
b.65001
c.64515
d.64511

  • 正解

 a・c

  • 解説

 正解はa・cです。64512〜65535はプライベート用に予約されているAS番号です。

BGPの特徴

 BGPではインターネット上の膨大な経路情報を交換する必要があるため信頼性が求められます。そのため、トランスポート層のプロトコルとしてTCP(ポート番号179)を使用します。

 TCPのコネクション確立後、ルータ間でメッセージを交換しネイバーを確立します。ネイバーは自動ではなく手動で確立させる必要があります。つまり対向ルータのIPアドレスをあらかじめ知っておく必要があります。ネイバー確立後にアップデートが交換されます。

 BGPでは、定期的にアップデートは交換しません。変更があったときのみ変更部分だけが送信されます。信頼性が保証されたTCPを使用するため定期的にアップデートを送信する必要がないためです。

 そして豊富なメトリックにより柔軟な経路制御が可能です。メトリックは「パスアトリビュート」と呼ばれます。

 また、OSPFやEIGRPと同様にBGPが動作しているルータは以下の3つのテーブルを保持します。

  1. ネイバーテーブル:BGPネイバーのリスト
  2. BGPテーブル:各ネイバーから学習したネットワークのリスト(パスアトリビュートを含む)
  3. ルーティングテーブル:宛先ネットワークへの最適パスのリスト

 これらのテーブルを作成するために、BGPでは以下の複数のメッセージを交換します。

  1. オープン
    TCPコネクション確立後、初めに交換するメッセージ。ネイバーを確立するために交換される
  2. キープアライブ
    オープンメッセージの確認応答と、ネイバー間で確実に接続が行われているかを確認するために使用される
  3. アップデート
    経路情報を交換するために使用される
  4. 通知
    何かしらのエラーが発生したときに、そのエラーを通知するために使用される。このメッセージが通知されるとBGP接続が切断される

 BGPで経路情報を交換するためにはオープンメッセージを交換し、ネイバーを確立する必要があります。このBGPネイバーは「EBGPネイバー」「IBGPネイバー」の2つに分けられます。

図2 BGPネイバー関係
図2 BGPネイバー関係

 EBGPネイバーは異なるASに属するルータ間の関係です。図2では、ISPAとISPBルータ、ISPAとISPCルータは所属するASが異なるためEBGPネイバーになります。このEBGPネイバーで交換するBGPメッセージのTTL値はデフォルト1のため基本直接接続している必要があります。

 IBGPネイバーは同じASに属するルータ間の関係です。ISPA内にいるルータは同じASに属しているためIBGPネイバーになります。このIBGPネイバーは直接接続されている必要はありません。しかし、OSPFなど何かしらのプロトコルを使用してそのルータに到達できる必要があります。

 もともとBGPは異なるAS間で経路情報を交換するプロトコルなので、EBGPネイバーで接続するのが基本です。IBGPネイバーが必要になるケースはトランジットASです。

 「トランジットAS」とは、他のASから送信されてきたパケットを自身のASを通過させて、さらに他のASに送信するASです。従って、AS内部でもBGPが動作している必要があります。通常ISPが運用するASはトランジットASです。

確認問題2

  • 問題

 BGPで使用するTCPポート番号を1つ選択しなさい。

a.23
b.179
c.178
d.80

  • 正解

 b

  • 解説

 正解はbです。トランスポート層のプロトコルとしてTCP(ポート番号179)を使用します。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る