技術概要BGPルーティングおよびコンフィギュレーションは、Huawei社のルータコマンド

ボーエン概要:

  • まず、BGPの概念は
    1.自律システムとは何ですか?
    2、動的ルーティング分類
    3、前記BGP
  • 第二に、BGPの原理
    1は、BGPネイバー関係
    2のBGPルーティング方法アドバタイズ
    相互作用原理3、BGPピア
    ソースネイバー関係が確立されている更新プログラム、4を
    その次のジャンプを確実にするために、5までIBGP
    6、EBGPマルチホップ
    7、制御BGPルーティング
    8、BGPルーティング原理
    3は、BGP構成例
    のように、内部ASの隣接関係との間の1、
    2は、BGPが宣言されたセグメントの
    複数3ルーティング経路制御方法
    4、BGPをローカルルーティングエントリ注入する
    非直接EBGPネイバー関係を確立するために5を、
    第四に、コンフィギュレーションの概要

BGPの概念と、それが多すぎると、オペレータは、一般的にのみBGPルーティングプロトコルを使用しますが、またネットワークに行く私の仕事で、何の実構成されたBGPプロトコルが存在しない、唯一の紙の上に置くことができ、この属性ボーエン主にBGPの概念(大丈夫、私は怠け者)ダウンの書き込みに関連し、あまりにも深く書きませんが、実際にはおそらく、何のナンセンスをデバッグないとき、それは容易になります、BGPの仕組みについて理解しています。

BGPの最初に、概念

BGP(ボーダーゲートウェイプロトコル、BGP)は、距離ベクトルルーティングプロトコル、およびAS(自律システム)プロトコルに基づいて異なる次のホップに基づく従来のIGPプロトコルです。BGPはAS間のルーティング問題に対処する外部ゲートウェイルーティングプロトコル、です、それはそれは、インターネットのために、より適している、これです。キーは、BGP BGPパケット、確立隣人、BGPルーティング属性、ルーティングの原則を理解することです。

1、どのような自律システム?

AS(自律システムは、「AS」ともいう)、(同じダイナミックルーティングプロトコル実行中の)統一ルーティング戦略を使用して、同じ管理技術機関によって管理されるルータのセットです。1から65535の範囲の自律システム番号。インターネット上で登録された1〜64511のパブリックIPアドレスに似た数のクラス、AS公開されている、世界のユニークかつ非再利用可能であり、65535から64512は、プライベートIPアドレスに似た番号、ASプライベートではなく、インターネット上で、再利用することができます目に見えます。

2、動的ルーティング分類

多くの動的ルーティングプロトコルの分類があり、自律の分類システムによれば、プロトコルタイプの分類によれば、最も一般的です。

ASカテゴリに応じて1:

IGP:インテリアゲートウェイルーティングプロトコルは、主にRIP、OSPF、ISIS、EIGRP(シスコ独自のプロトコル)が含まれています。ルーティングの問題を解決するため、AS内で実行するIGPは、内部のASです。主な役割は、経路計算を見つけることです。

EGP:エクステリアゲートウェイルーティングプロトコルは、一般的に問題がAS間のルーティングされた解決するために、ASとAS間を走るBGPを指します。BGP主な役割は、エントリをルーティングし、最適なルートを選択するの広がりを制御することです。

通常計算しIGPを使用して、自律システムルーティングエントリ内に見出され、IGPルートがBGPを介して他のAS(自律システム)を生成するために再び通過します。

3、BGP機能

BGPルーティングソリューションは、AS間の問題を研究することで、今日のインターネットは、中国では、モバイルインターネット事業者、テレコムとチャイナユニコムがあり、グローバルなインターネットです。各企業は、独自の自律システム、およびIGPの内部動作を持っています。しかし、インターネットは、インターネットを要求し、そのためにはテレコムとチャイナユニコムのユーザーの間で相互に通信するので、あなたは、テレコムとチャイナユニコムの間で互いの内部ルーティングのようにBGPで学習することができます。

BGPは、次の特性があります。

  • トランスポートプロトコル:TCP、ポート番号179
  • BGPはAS間のルーティング情報を通過させるための外部のルーティングプロトコルであります
  • これは、拡張パスベクトルルーティングプロトコルであります
  • 信頼性の高いルーティングアップデートメカニズムを持っています
  • これは、メトリックの富(標準の尺度)の測定方法を持っています
  • ループフリープロトコル設計
  • ルーティングエントリのための多くの属性情報を含めます
  • サポートCIDR(サブネット化した後、ドメイン間ルーティングアドレスをサポートすることです)
  • 豊富なルーティング経路フィルタリングポリシー
  • 定期的に更新する必要はありません
  • 更新情報をルーティングするときにのみ、増分ルートを送ります
  • 定期的に接続TCPを維持するために、キープアライブ(キープアライブ)パケットを送信します

二、BGP作品

公衆ネットワークを介してBGP、ルーティングプロトコル間-AS(自律システム)は、AS間のルーティングを学ぶことができます。BGPダイナミックルーティング研究は隣人、のみ通常の隣接関係に基づいており、BGPは、正常に動作することができます。

1、BGPネイバー関係

BGPルータは、多くの場合、互いの間スピーカ(ピア)との間に、BGPSpeaker(スピーカ)と呼ばれるピア相互転送パケットと呼ばれます。作成、更新、および削除BGPネイバー関係は、ピア間の5つのパケット、BGPネイバーを形成する状態機械の6種類と5つの表及び他の情報、を介して達成されます。

(1)BGPパケットタイプと機能:

BGPパケットヘッダタイプは、BGPメッセージタイプを定義します。オープン、更新、通知、キープアライブおよびルート更新:情報の相互作用をルーティング5つのパケットによるBGPピア間で、パケットの5種類があります。

  • メッセージを開く:番号、ホールドタイム(持続時間)及び他の情報などのローカルBGPのバージョンを含むBGPピアとの接続を確立するために使用されるTCP接続が確立された後に送信される最初のメッセージです。
  • 更新パケット:情報更新ルーティングBGPピアとの間で使用される更新メッセージは、更新メッセージは、同じ特性の複数までの経路情報を広告することができる複数不可能経路を引き出すことができます。
  • 通知メッセージ:BGP接続はすぐに中断されます後BGPは、エラー状態を検出し、すぐに、ピアに通知メッセージを発行しました。どんなにBGPの現在のステータスは、限り、メッセージが受信されると通知がアイドル状態に戻りますどのような状態。
  • ルート更新メッセージ:ピアルートリフレッシュ機能を通知する地方公共団体のためのケースは、すべてのBGPルータでルートリフレッシュ機能でサポートされ、BGPルーティングポリシーは、ピアへの入り口、ローカルBGPルータを変更した場合ルート・リフレッシュ・メッセージは、このメッセージで受信したので、ローカルBGPルータへのルーティング情報を再体験送ります。
  • キープアライブパケット:パケットが定期的にOSPFプロトコルハローパケットと同様の有効性、に接続されたままにピア間で送信されます。
(2)BGP状態:

BGP状態は成功を構築する(BGPネイバー、6つの状態のBGPの合計、すなわちアイドル(アイドル)、接続(接続)、アクティブ(活動)、OpenSent(オープンセンド)、OpenConfirm(オープン確認)と設立を確立するプロセスを説明します)。

  • アイドル状態:BGP任意の着信接続要求を拒否し、アイドル状態がBGPの初期状態です。
  • 状態を接続します。この状態では、次の動作へのTCP接続を確立するために待っているの完了後にBGPの決定を。
  • アクティブ状態:この状態では、BGPは、BGPの中間状態で、TCPコネクションを確立しようとします。
  • OpenSent状態:この状態では、BGP待機はメッセージを開きピア、およびAS番号オープンメッセージは、バージョン番号、ホールドタイムと他のチェックを受けました。
  • OpenConfirm状態:この状態では、BGPは、キープアライブまたは通知メッセージを待ちます。
  • 確立された状態:この状態では、すべてのBGPメッセージは、ピア間で交換されてもよい、BGP状態を機能しています。

BGPピアを確立するプロセスにおいて、3つの状態が、典型的に設立され、アクティブ、アイドル見出されます。両方の状態のBGPピアは、すべての確立されなければならない、BGPネイバー関係は、更新メッセージを介してルーティング情報を両側交換を確立することができます。

(3)BGPデータベース:

BGP BGPデータベースは、次のカテゴリに分けることができ、異なる保存された内容に基づいて、記憶空間の適切な動作のために必要とされます。

  • IPルーティングテーブル(IP-RIB):すべての最高のIPルーティング情報を含むグローバルルーティング情報ベース、。
  • BGPルーティングテーブル(LOC-RIB):ローカルBGPルーティング情報を含む情報ベースルーティングBGPは、スピーカー、IPルーティングテーブルに、前記最適ルートをアドバタイズ。注意:BGPルーティングテーブルには最適なルートではない場合我々は、BGPルーティングテーブルに焦点を当て、それがIPルーティングテーブルに見ることができません。
  • 近隣:隣人のリストであるピアの両端を含むピアインベントリリスト本体の隣人、ネイバー情報、。
  • ADI-RIB-において:スピーカー未処理のローカルルーティング情報ベースを宣言するピア。
  • ADJ-RIBアウト:スピーカーローカルルーティング情報ベース指定されたピアに宣言しました。
(4)BGPネイバー関係タイプ:

IBGPとEBGPネイバーのネイバー:BGPでは隣接関係は、大きく二つのタイプに分けることができます。

  • IBGP:内部AS、IBGPネイバーとのBGPネイバー関係は、通常、実行BGPピアの両端を指し、ドメインと同じである同じ内部BGP ASに属します。
  • EBGP:AS、EBGPネイバー間のBGPピア関係は、通常、各ASに異なるランBGPピアの両端を指します。

BGPピア数とそのための番号と同じでIBGP(近隣)であるとして、それは違うのEBGPネイバーです。

IGP(OSPFなどの内部ゲートウェイプロトコル)に直接接続された一般的な要件レイヤ近隣装置、及び隣接確立ブロードキャストまたはマルチキャストを確立します。BGP(外部ゲートウェイプロトコル)ネイバー関係があれば、直接、BGPピアの隣接関係が互いの間に確立することができるかどうか、アップTCP / IPのようなことを意味するTCPに基づいています。だから、BGPネイバーの設立前に考慮すべき最初の事はピア・アップ間のパスは、(ルートが存在する場合、pingを実行することができます)です。両方がIGPまたはスタティックルーティングによるピア交換を終了させるようにしてください。

2、アドバタイズBGPルートの方法

BGPによってアドバタイズBGPルートが作成コマンド、および方法は、アドバタイズ2つのBGPルートがありますネットワークとインポート。

(1)ネットワーク方法:

BGPアナウンスメントに、セグメントのみ+を宣言するために、ネットワークコマンド、現在のデバイスのルーティングテーブルのルーティング(非BGP)は、BGPルーティングテーブルに発行され、ネイバにアドバタイズすることができ、OSPFネットワークコマンドとほぼ同じ方法で、しかし必要ネットワーク12.12.0.0 16:のようなマスクの数、です。

(2)インポート方法。

直接ルート、スタティックルートおよびダイナミックルーティングが学習した経路をプロトコル:使用インポートは、BGPルートを宣言するための方法である、BGPルートが導入されてもよい、情報ルータへのルートがBGPルーティングテーブルを学習した再配布するためのコマンド。フォーマットは、ほぼ重いRIPでOSPFを配布されています。

インタラクティブ原則3、BGPピア。

BGPデバイスは、BGPルーティングテーブルへの最適なルートは、BGPルートが形成されます。BGPピアデバイスとの隣接関係は、次のような相互作用の原則を確立しています。

  • 得られたIBGPピアのBGPルーティング、BGPデバイスは、そのEBGPピアに配信します。
  • 得られたEBGPピアのBGPルーティング、BGP装置及びそれをすべてのEBGP IBGPピアを通過する(ピア・ホップ伝送のみIBGPで、EBGPピアが限定されるものではありません)
  • 同じ宛先の複数、BGPデバイス同業他社への唯一の最適経路への有効なルートがある場合。
  • ルートが更新されると、BGPデバイスにのみ更新BGPルーティングを送信します
  • 送信されたすべてのルーティングピアは、BGPは、デバイスを受信します
  • 送信プロセスのすべてのEBGPピアネクストホップの変更
  • 同じ次ホップ伝送プロセスのすべてのIBGPピア(注意します)
  • 1個のEBGP送信TTLの既定値は、(特別な注意が必要です)
  • TTL値255送信デフォルトのIBGP

図4に示すように、ソースネイバー関係を更新します

ピア、インターフェースがあれば、機器が動作しているように、任意の物理インターフェースよりも安定であることがあるため、互いのループバックインターフェイスを使用し、ループバックポートはできるだけ長くリンクがあるように閉じられ、互いにされないときに白が指定されている概念通信するために、ループバックアドレスは、物理インターフェイスがダウンした後も、その後BGP、完成BGP、物理インターフェイスの使用状況の変化を引き起こし、その隣人を確立するために、BGPネイバーのループバックインターフェイスを確立するために、このメソッドを使用することはありませんアップデート元を呼ばれ、通常、 BGPの安定性を確保するために、同じAS内の冗長リンクを使用しています。(私のテストでは、私は唯一の隣接関係を確立するために使用することができ、それはこのようにASだけ同じにしなければならないことがわかりました)

技術概要BGPルーティングおよびコンフィギュレーションは、Huawei社のルータコマンド

R1とR3は、ソースネイバー関係を更新するために使用される場合、以下のように上図のように、AS 100領域における3台のルータで、構成があります。

R1ルータ:

[R1]bgp 100              <!--设置BGP编号为100-->
[R1-bgp]router-id 1.1.1.1 
<!--配置该路由器本身的route ID,该地址一般为loopback接口地址-->
[R1-bgp]peer 3.3.3.3 as-number 100    
<!--指定对端的loopback地址,“100”是对端路由器所在的BGP编号-->
[R1-bgp]peer 3.3.3.3 connect-interface LoopBack0   
<!--指明对端的这个地址是哪个loopback接口,这里是loopback接口 0-->

R3ルータ(関連コマンドは、ルータR1の構成を参照して説明します)。

[R3]bgp 100                     
[R3-bgp]router-id 3.3.3.3               
[R3-bgp]peer 1.1.1.1 as-number 100                 
[R3-bgp]peer 1.1.1.1 connect-interface LoopBack0             

注:ローカルループバックインターフェイスは、最初の(つまり、互いのループバックアドレスに対してpingを実行することができます)ピアアップをしなければならない、エントリをルーティングループバックインターフェイスを手動ピアを追加したり、OSPFを使用する必要があり、RIPおよびその他の自動ルーティング互いにループバックインターフェイスから学びます。

次のジャンプアップしていることを確実にする5、IBGP

エッジデバイスとしてBGPには、上伝達EBGP隣接ピアのBGPルーティング情報を受信します。Iは、上述した:転送中に転送プロセス内のすべてのEBGPピアネクストホップの変更、すべての次ホップピアIBGPは定数。およそマップ直感的な​​話には:

技術概要BGPルーティングおよびコンフィギュレーションは、Huawei社のルータコマンド

图中,用A——J分别来代替路由器的接口IP地址,结合所有EBGP对等体在传递过程中下一跳改变, 所有IBGP对等体在传递过程中下一跳不变这个结论,可以看到图中存在什么问题(自己看图理解吧,是在是懒癌晚期,不想解释了),就是图中R3路由器以后的路由器收到的路由条目中的下一跳是错误的,解决办法就是在R3和R5路由器上对R4和R6宣称下一跳为它自己,然后就会发现,R4学到的下一跳地址是E。R6学到的下一跳就是I。这只是解决了R1宣告路由时出现的问题,那么如果现在R6又宣告了一条路由,就还需要在R4和R2路由器上对R3和R1宣称下一跳为它自己。这样才算保证了IBGP的下一跳可达。

配置如下(就拿一个路由器来举例,前三条配置命令的解释可以参考上面的注释,主要是最后一条命令,来改变路由的下一跳):

[R3]bgp 200
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 34.1.1.4 as-number 200   <!--34.4.4.4是R4的地址,用来和R4建立邻居关系-->
[R3-bgp]peer 34.1.1.4 next-hop-local              
<!--这条命令用来改变向邻居传递路由时,宣称所有传给邻居的路由条目,下一跳都是自己-->

6、EBGP多跳

这个好理解,由于默认BGP中EBGP邻居之间的TTL值为1,(TTL,数据包的生命周期值,每经过一个路由器该值会-1,当该值为0后,数据包将会被丢弃)。若EBGP对等体非直连(通信时需要经过一个以上的路由器,TTL值就不够用了),TTL值限制会使非直连的对等体无法正常建立邻居关系,所以需要用EBGP多跳的命令来解决非直连的邻居关系。如下图,若不配置EBGP多跳,那么R1和R3将无法正常建立邻居关系:

技術概要BGPルーティングおよびコンフィギュレーションは、Huawei社のルータコマンド

配置上图中的R3路由器多跳(R1路由器也需要进行类似的配置,进而改变TTL值,这里只拿R3为例):

R3 配置如下:

[R3]bgp 200
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 12.0.0.1 as-number 100
[R3-bgp]peer 12.0.0.1 ebgp-max-hop 2             <!--指明跳数为2,也就是TTL值为2-->

7、控制BGP选路

BGP协议包含很多路由属性,这些属性可以非常灵活的控制BGP的选路。

BGP的属性分为共有必遵,公认任意、可选过渡可选非过渡四大类,如下表为BGP的属性及对应的分类:
技術概要BGPルーティングおよびコンフィギュレーションは、Huawei社のルータコマンド

(1)公有必遵:所有BGP路由器都可以识别,且必须存在update报文中。
(2)公有任意:所有BGP路由器都可以识别,但不要求必须存在于update报文中,可以根据具体情况来决定是否添加到Update报文中。
(3)可选过渡:BGP路由器可以选择是否在Update报文中携带这种属性。接收的路由器如果不识别这种属性,可以转发给邻居路由器(这就是过渡的含义),邻居路由器可能会识别并使用这种属性。
(4)可选非过渡:BGP路由器可以选择是否在Update报文中携带这种属性。在整个路由发布的路径上,如果部分路由器不能识别这种属性,可能会导致该属性无法发挥作用。因为接收的路由器如果不识别这种属性,将丢弃这种属性,而不再转发给邻居路由器。

BGP属性的介绍:

BGP常用的属性有:Origin、AS-PATH、Next-Hop、Local-Perf和MED等。

(1)Origin(起源)属性:属于公有必遵,用来定义路径信息的来源,其作用是标记一条路由是怎么成为BGP路由的。它有以下三种类型:
IGP(I):优先级最高,通过Network命令注入BGP路由表的路由,其Origin属性为IGP。
EGP(e):优先级次之。通过EGP得到的路由信息,其Origin属性为EGP。
Incomplete(?):优先级最低。通过其他方式学习到的路由信息。如BGP通过Import-route命令重分发引入的路由,其Origin属性为Incomplete。可以使用 display bgp routing-table 命令查看,将显示在最后一列,其列名是Path/Ogn

(2)AS-PATH(AS路径)属性:该属性按照矢量顺序记录某条路由从本地到目的地址要经过的所有AS编号,在接受路由时,设备如果发现AS-PATH列表中有本AS号,则不接收该路由,从而避免了AS间的路由环路。
若在查看BGP路由表时,看到了AS编号,如(100,200,300),则表示该路由条目是经过了AS300、AS200和AS100传播到本设备,其中AS100是离本设备最近的AS。

(3)Next-Hop(下一跳)属性:又回到保证IBGP下一跳可达这个问题了,这么说吧,在前面提到的保证IBGP下一跳可达,就是利用了Next-Hop属性,不解释了。

(4)Local-Perf属性:用来标识BGP路由的优先级,,用于判断流量离开AS时的最佳路由。当BGP的设备通过不同的IBGP对等体得到目的地址相同但是下一跳不同的多条路由时,将选择优先级Local-Perf属性值较高的路由。Local-Perf属性仅在IBGP对等体之间有效,不会通告给其他AS,本地优先级在AS内部传递,数值越高越优先。默认优先级为100,可以手动更改。下面是我在网上找到的一个配置图(可以使用ACL来定义一些流量,也可以直接修改本地的优先级,下图是基于ACL来对不同网段设置不同的优先级)。
技術概要BGPルーティングおよびコンフィギュレーションは、Huawei社のルータコマンド

(5)MED属性:用于判断流量进入邻居AS时的最佳路由,当一个运行BGP的设备通过不同的EBGP对等体得到目的地址一样但是下一跳不同的多条路由时,在其他条件相同的情况下,将选择MED 值较小者作为最佳路由,用来改变下游的选路。
MED属性仅在相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给其他任何第三方AS。NED属性可以手动配置,默认为0,具体配置看图吧:

技術概要BGPルーティングおよびコンフィギュレーションは、Huawei社のルータコマンド

在RT3上配置如下可以控制AS200中两个路由器的选路:

技術概要BGPルーティングおよびコンフィギュレーションは、Huawei社のルータコマンド

8、BGP的选路原则

BGP 选路原则
(1)若去往目的网络的路由下一跳不可达,则可以忽略此路由
(2)Preferred-Value优先级以数值高的路由优先
(3)Local-Preference优先级以数值高的路由优先
(4)聚合路由优先级高于非聚合路由
(5)本地手动聚合路由的优先级高于本地自动聚合的路由
(6)本地通过Network命令引入的路由的优先级高于本地通过Import-route命令引入的路由
(7)AS路径长度最短(最少个数)的路径优先级高
(8)比较Origin属性,IGP优先级高于EGP,EGP优先级高于Incomplete
(9)选择MED优先级较小的路由
(10)EBGP路由优先级高于IBGP路由
(11)BGP优先选择到BGP下一跳的IGP度量低的路径
当以上全部相同,则为等价路由,可以负载分担(注:AS-PATH必须一致),当负载分担时,以下3条原则无效
(12)比较Cluster-List长度,短者优先
(13)比较Originator_ID(如果没有Originator_ID,则用Router ID比较),选择数值较小的路径
(14)比较对等体的IP地址,选择IP地址数值最小的路径

三、BGP的配置实例

上面的BGP理论啰嗦了那么多,其实真正的配置倒很简单(这也符合网络的特色),来个实验图配置一下吧!

网络拓扑如下(下载环境):
技術概要BGPルーティングおよびコンフィギュレーションは、Huawei社のルータコマンド

需求如下:

1、AS 200内部使用OSPF协议使AS 200内部互通,并在AS 200内部各个路由器上都运行BGP协议(R1和R2、R3建立邻居关系,R4和R2、R3及R5建立邻居关系,),各个AS之间运行BGP协议。

2、分别在R1和R5使用BGP协议宣告21.0.0.0/24和20.0.0.0/24,使所有路由器学到这两条路由信息。

3、通过BGP的属性控制选路,实现PC 1→R1→R2→R4→R5→PC 2→R5→R4→R3→R2→R1→PC 1的路由通信。顺便将多个控制选路的方法测试一下。

4、在R2、R3和R4路由器上分别向BGP协议中注入本地的OSPF路由信息,使全网互通(虽然在第三个要求实现了控制路由选路,但是并不意味着PC1可以ping通任何一个路由器,比如R2)。

5、为了引出EBGP多跳的配置,尝试一下R1和R4直接建立对等体关系。

开始配置:

1、自行配置各个PC、路由器物理接口及loopback接口的IP地址(我是懒癌晚期患者,请多多担待),路由器IP配置参考:

<R1>sys                          <!--进入系统视图-->    
[R1]in g0/0/0                  <!--进入物理接口--> 
[R1-GigabitEthernet0/0/0]ip add 12.1.1.1 24               <!--配置IP地址--> 
[R1-GigabitEthernet0/0/0]int loop 0                  <!--进入loopback接口--> 
[R1-LoopBack0]ip add 1.1.1.1 32              <!--配置IP地址--> 

2、配置AS 200内部的OSPF路由协议:

R2路由器配置如下:

[R2]ospf 1              <!--开启OSPF进程1--> 
[R2-ospf-1]area 0       <!--配置OSPF区域ID为0--> 
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0        <!--宣告该路由器所有直连网段--> 
[R2-ospf-1-area-0.0.0.0]net 12.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]net 24.1.1.0 0.0.0.255
<!--OSPF宣告网段时需要写反掩码-->

R3路由器配置如下(相应注释请参考R2):

[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]net 13.1.1.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 34.1.1.0 0.0.0.255

R4路由器配置如下(相应注释请参考R2):

[R4]ospf 1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]net 4.4.4.4 0.0.0.0 
[R4-ospf-1-area-0.0.0.0]net 24.1.1.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]net 34.1.1.0 0.0.0.255

3、开始配置BGP,使相应路由器为邻居关系:

R1配置如下:

[R1]bgp 100               <!--配置BGP编号为100-->
[R1-bgp]router-id 1.1.1.1               <!--指定路由器ID-->
[R1-bgp]peer 12.1.1.2 as 200               <!--与R2路由器的GE 0/0/0接口建立邻居关系-->
[R1-bgp]peer 13.1.1.3 as 200               <!--与R3路由器的GE 0/0/1接口建立邻居关系-->
[R1-bgp]network 21.0.0.0 24               <!--宣告本路由器上的21.0.0.0/24网段-->

由于配置BGP时,很多重复性的命令,所以,没有特别不一样的配置时,我接下来就不写注释了

R2配置如下:

[R2]bgp 200
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 12.1.1.1 as 100               <!--与R1路由器的GE 0/0/0接口建立邻居关系-->
[R2-bgp]peer 4.4.4.4 as 200                <!--与R4路由器的loopback接口建立邻居关系-->  
[R2-bgp]peer 4.4.4.4 connect-interface LoopBack 0  <!--指明4.4.4.4是对端的loopback接口编号为0-->
[R2-bgp]peer 4.4.4.4 next-hop-local     <!--由于与R4属于IBGP,所以要保证下一跳可达-->

R3配置如下:

[R3]bgp 200
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 13.1.1.1 as 100
[R3-bgp]peer 4.4.4.4 as 200
[R3-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[R3-bgp]peer 4.4.4.4 next-hop-local

R4配置如下:

[R4]bgp 200
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 2.2.2.2 as 200
[R4-bgp]peer 3.3.3.3 as 200
[R4-bgp]peer 2.2.2.2 next-hop-local
[R4-bgp]peer 3.3.3.3 next-hop-local
[R4-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[R4-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[R4-bgp]peer 45.1.1.5 as 300   <!--与R5路由器的GE 0/0/0接口建立邻居关系-->

R5配置如下:

[R5]bgp 300
[R5-bgp]router-id 5.5.5.5
[R5-bgp]peer 45.1.1.4 as 200
[R5-bgp]network 20.0.0.0 24

现在BGP的邻居关系已经建立完成,可以通过以下命令查看:

[R1]dis bgp peer

 BGP local router ID : 1.1.1.1
 Local AS number : 100
 Total number of peers : 2        Peers in established state : 2

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  12.1.1.2        4         200        5        8     0 00:02:11 Established    
   1
  13.1.1.3        4         200        7       10     0 00:04:34 Established    
   1
<!--State列为Established则表示BGP邻居关系正常建立,可以正常运行BGP协议-->

至此,PC 1已经可以和PC 2进行通信了,当然是BGP协议做的咯,但是现在除了非直连网段及AS 200内部路由器以外,也只有PC1和PC2可以通信,如PC1并不能ping通R2路由器。

4、开始做第三个需求,通过BGP的属性控制选路,实现PC 1→R1→R2→R4→R5→PC 2→R5→R4→R3→R2→R1→PC 1的路由通信。

先使用tracert命令查看PC1和PC2通信时的路由,看看都是经过哪个路由器。

PC1到达PC5所经过的路由器如下:

PC>tracert 20.0.0.1                     #使用tracert命令进行查看
traceroute to 20.0.0.1, 8 hops max
(ICMP), press Ctrl+C to stop
 1  21.0.0.254   <1 ms  16 ms  15 ms
 2  12.1.1.2   16 ms  15 ms  16 ms
 3  24.1.1.4   31 ms  32 ms  31 ms
 4  45.1.1.5   31 ms  47 ms  31 ms
 5    *20.0.0.1   31 ms  32 ms

PC5到达PC1所经过的路由器如下:

PC>tracert 21.0.0.1

traceroute to 21.0.0.1, 8 hops max
(ICMP), press Ctrl+C to stop
 1  20.0.0.254   15 ms  <1 ms  16 ms
 2  45.1.1.4   16 ms  31 ms  16 ms
 3  24.1.1.2   31 ms  31 ms  31 ms
 4  12.1.1.1   47 ms  16 ms  47 ms
 5  21.0.0.1   31 ms  31 ms  31 ms

来吧,开始配置选路问题(共三个方法可实现):

实现方法1:修改Local-Perf属性来改变R3路由器的优先级

在R3路由器上配置如下:

[R3]route-policy lop permit node 10    <!--创建名为lop的路由策略-->
Info: New Sequence of this List.
[R3-route-policy]apply local-preference 222      <!--设置本地优先级是222-->
[R3-route-policy]quit
[R3]bgp 200              <!--进入bgp  200-->
[R3-bgp]peer 4.4.4.4 route-policy lop export       <!--向R4通告该策略-->
[R3-bgp]quit
[R3]quit
<R3>reset bgp all         <!--刷新BGP-->

此时再查看PC5到达PC1所经过的路由器,就发现中间不经过R2路由器,而经过了R3路由器到达的PC1,如下:

PC>tracert 21.0.0.1

traceroute to 21.0.0.1, 8 hops max
(ICMP), press Ctrl+C to stop
 1  20.0.0.254   <1 ms  16 ms  16 ms
 2  45.1.1.4   15 ms  16 ms  31 ms
 3  34.1.1.3   31 ms  32 ms  31 ms
 4  13.1.1.1   47 ms  31 ms  47 ms
 5    *21.0.0.1   47 ms  31 ms

实现方法2:使用AS-PATH属性控制选路

为了还原最初走R2的效果,需要清除上一步R3路由器配置的Local-Perf属性,在R3路由器执行以下命令进行删除:

[R3]bgp 200
[R3-bgp]undo peer 4.4.4.4 route-policy lop export

删除后,稍等会可以自行查看,PC2和PC1时是否又恢复了走R2路由器而不走R3。

然后在R2路由器修改AS-PATH属性(就是让R2路由器在向R4路由器通告21.0.0.0网段时,告诉R4经过了好多区域,当然,这些区域是虚造出来的,这个区域数肯定比R3所经过的区域数多,所以R4就会选择走R3而不走R2,因为要走最优路径嘛):

R2配置如下:

[R2]route-policy as permit node 10   <!--创建名为as的路由策略-->
Info: New Sequence of this List.
[R2-route-policy]apply as-path 123 123 123 add   <!--添加几个as区域-->
[R2-route-policy]quit
[R2]bgp 200            <!--进入bgp  200-->
[R2-bgp]peer 4.4.4.4 route-policy as export   <!--向R4通告该策略-->
[R2-bgp]quit
[R2]quit
<R2>reset bgp all        <!--刷新BGP-->
<!--随便添加的AS区域,并不会影响通信,当R3路由器down掉后,R4路由器还是会把数据包发到R2路由器-->

现在在PC2再测试一下,会发现又开始走R3路由器了:

PC>tracert 21.0.0.1

traceroute to 21.0.0.1, 8 hops max
(ICMP), press Ctrl+C to stop
 1  20.0.0.254   16 ms  <1 ms  15 ms
 2  45.1.1.4   32 ms  15 ms  31 ms
 3  34.1.1.3   16 ms  31 ms  32 ms
 4  13.1.1.1   31 ms  31 ms  31 ms
 5    *21.0.0.1   47 ms  31 ms

实现方法3:使用MED属性控制选路

在一开始测试过,PC1去往PC5是经过R2路由器,而不是R3路由器,那么现在就增加R2路由器的MED属性并通告给R1路由器,使它经过R3路由器而不是R2路由器。

[R2]route-policy med permit node 10   <!--创建名为med的路由策略-->
Info: New Sequence of this List.
[R2-route-policy]apply cost + 500     <!--增加500的med值-->
[R2-route-policy]quit
[R2]bgp 200
[R2-bgp]peer 12.1.1.1 route-policy med export    <!--通告给R1路由器-->
[R2-bgp]quit
[R2]quit
<R2>reset bgp all        <!--刷新BGP-->

在PC1测试一下:

PC>tracert 20.0.0.1

traceroute to 20.0.0.1, 8 hops max
(ICMP), press Ctrl+C to stop
 1  21.0.0.254   16 ms  <1 ms  16 ms
 2  13.1.1.3   15 ms  16 ms  15 ms
 3  34.1.1.4   47 ms  16 ms  16 ms
 4  45.1.1.5   31 ms  31 ms  31 ms
 5    *20.0.0.1   32 ms  31 ms

已经改走R3路由器了,说明配置生效,通过这三个选路的实现方法不难发现,BGP控制选路主要都是通过BGP属性值来调整完成的。BGP包含大量的属性,而这些属性直接影响着选路,所有BGP比IGP具有更强大的控制能力。

5、第四个需求:在R2、R3和R4路由器上分别向BGP协议中注入本地的OSPF路由信息,使全网互通。

R2路由器:

[R2]bgp 200
[R2-bgp]import-route ospf 1                  <!--将OSPF注入BGP,其中“1”代表OSPF的进程号-->

其余路由器配置基本一致:

R3:

[R3]bgp 200
[R3-bgp]import-route ospf 1

R4:

[R4]bgp 200
[R4-bgp]import-route ospf 1

自行查看各路由器的路由条目验证吧!文章末尾有相关查看命令。

6、第五个需求:尝试一下R1和R4直接建立对等体关系。

R1配置如下:

[R1-bgp]bgp 100
[R1-bgp]peer 34.1.1.4 as 200
[R1-bgp]peer 34.1.1.4 ebgp-max-hop 2            
<!--由于中间隔着一个路由器,又不在同一个AS内,属于EBGP,
默认TTL值为1,所以要改变一下跳数-->

R4配置如下

[R4]bgp 200
[R4-bgp]peer 13.1.1.1 as 100
[R4-bgp]peer 13.1.1.1 eb    
[R4-bgp]peer 13.1.1.1 ebgp-max-hop 2

查看验证(可能需要等一会才可建立邻居成功,等待时间不会超过两分钟)

[R1-bgp]dis bgp peer       <!--查看BGP的邻居关系-->

 BGP local router ID : 1.1.1.1
 Local AS number : 100
 Total number of peers : 3        Peers in established state : 3

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  12.1.1.2        4         200       27       38     0 00:17:49 Established    
   8
  13.1.1.3        4         200       55       70     0 00:45:35 Established    
   8
  34.1.1.4        4         200       12       13     0 00:00:02 Established    
   8
<!--34.1.1.4的State列为Established,表示建立邻居成功-->

相关查看命令:

[R4]dis ip routing-table                    <!--查看路由器的所有路由信息-->
[R4]dis ospf routing                      <!--查看通过OSPF协议学到的路由信息-->
[R4]dis bgp peer                     <!--查看通过BGP协议学到的路由信息-->
[R1-bgp]dis bgp peer       <!--查看BGP的邻居关系-->

四、配置总结

設定中に、エラーを回避するために、次の点に注意してください
1は、ネイバー関係が確立され、ルータの指定アドレスの終了前に、あなたはピアルータにpingを実行できることを確認してください。
2、指定するのではなく、ソースを更新することを忘れないでください、それは、「[R3-BGP]ピア4.4.4.4であるAS、ループバックアドレスの範囲内の各他のベストをBGPネイバー関係を確立接続インターフェイスループバック0」 このコマンドを実行します。
3は、私は成功したエンドを構築することはできませんループバックアドレスを使用するように2つのネイバー間の関係の確立は、それは物理インタフェースアドレスのみネイバー関係などの2つの間で使用することができることが結論されました。
図4のような2つの近隣関係の確立、および2つのルータが直接接続されていない、ホップ数を変更してくださいだけでなく、に「[R1-BGP】ピア34.1.1.4 EBGP-MAXホップ2」 このコマンド、あなたはライン値は、実際のホップ数ではなく、ホップの実際の数よりも少ないよりも大きくなるように設定されている上で、いくつかを置くために数回ジャンプする必要があります。
AS内のBGPプロトコルを実行している複数のルータがあれば5は、内部ASのために、これはまた、IBGPプロトコルは、前述のある財産のネクストホップを変更することを忘れないことです「かもしれIBGPネクストホップを確保アップ「コマンドリファレンス:」[R4-BGP】ピア 2.2.2.2次ホップローカル」

----これは記事で、読書のための感謝を終えます。

おすすめ

転載: blog.51cto.com/14154700/2425735