BGP 基本(neighborを作る)





今まで dynamips のみでやってましたが、GNS3 を入れてみました。
図を作るのにもいいしやりやすいなぁ。 ということで上記構成にて neighbor を作ってみます。

とりあえず条件としては下記。
・neighbor アドレスは 互いの lo0 アドレスとする。
・lo100 をそれぞれのネットワークに見立て、お互いに広報する。


R2
interface e1/0
ip add 23.23.23.2 255.255.255.0

interface lo0
ip add 2.2.2.2 255.255.255.255

interface lo100
ip add 22.22.22.22 255.255.255.0

router bgp 200
neighbor 3.3.3.3 remote-as 300
neighbor 3.3.3.3 ebgp-multihop 2
neighbor 3.3.3.3 update-source Loopback0

ip route 3.3.3.3 255.255.255.255 23.23.23.3

R3
interface e1/0
ip add 23.23.23.3 255.255.255.0

interface lo0
ip add 3.3.3.3 255.255.255.255

interface lo100
ip add 33.33.33.33 255.255.255.0

router bgp 300
neighbor 2.2.2.2 remote-as 200
neighbor 2.2.2.2 ebgp-multihop 2
neighbor 2.2.2.2 update-source Loopback0

ip route 2.2.2.2 255.255.255.255 23.23.23.2


neighbor のアドレスを相手端末の lo0 にしているため ebgp-multihop
を 2 に設定してやります。デフォルトは 1 なので到達できまん。
また、相手端末の lo0 にアクセスできるようスタティックルートを
設定しています。

参考:
BGP(eBGPマルチホップ その1)

R2 にて sh ip bgp summary を見てみます。

R2#sh ip bgp  summ
BGP router identifier 22.22.22.22, local AS number 200
BGP table version is 3, main routing table version 3
2 network entries using 234 bytes of memory
2 path entries using 104 bytes of memory
3/2 BGP path/bestpath attribute entries using 372 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 734 total bytes of memory
BGP activity 2/0 prefixes, 2/0 paths, scan interval 60 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
3.3.3.3         4   300      66      66        3    0    0 01:02:46        1


3.3.3.3 とネイバーが張れてることがわかります。
失敗している場合は State の項目が Active と表示されます。


sh ip bgp で経路を確認します。

R2#sh ip bgp
BGP table version is 5, local router ID is 22.22.22.22
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 22.22.22.0/24    0.0.0.0                  0         32768 i
*> 33.33.33.0/24    3.3.3.3                  0             0 300 i


22.22.22.0 の Path は "i" なので自分のASから広報されていることがわかり、
33.33.33.0 は "300 i" となっているので AS 300 から広報されていることが
わかります。

sh ip bgp neighbor を見てみます。

R2#sh ip bgp neighb
BGP neighbor is 3.3.3.3,  remote AS 300, external link
  BGP version 4, remote router ID 33.33.33.33
  BGP state = Established, up for 00:17:08
  Last read 00:00:07, last write 00:00:07, hold time is 180, keepalive interval is 60 seconds
  Neighbor capabilities:
    Route refresh: advertised and received(old & new)
    Address family IPv4 Unicast: advertised and received
  Message statistics:
    InQ depth is 0
    OutQ depth is 0
                         Sent       Rcvd
    Opens:                  2          2
    Notifications:          1          0
    Updates:                2          2
    Keepalives:            94         91
    Route Refresh:          0          0
    Total:                 99         95
  Default minimum time between advertisement runs is 30 seconds

 For address family: IPv4 Unicast
  BGP table version 5, neighbor version 5/0
 Output queue size : 0
  Index 1, Offset 0, Mask 0x2
  1 update-group member
                                 Sent       Rcvd
  Prefix activity:               ----       ----
    Prefixes Current:               1          1 (Consumes 52 bytes)
    Prefixes Total:                 1          1
    Implicit Withdraw:              0          0
    Explicit Withdraw:              0          0
    Used as bestpath:             n/a          1
    Used as multipath:            n/a          0

                                   Outbound    Inbound
  Local Policy Denied Prefixes:    --------    -------
    Bestpath from this peer:              1        n/a
    Total:                                1          0
  Number of NLRIs in the update sent: max 1, min 1

  Connections established 2; dropped 1
  Last reset 00:18:53, due to BGP Notification sent, hold time expired
  External BGP neighbor may be up to 2 hops away.
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 2
Local host: 2.2.2.2, Local port: 57174
Foreign host: 3.3.3.3, Foreign port: 179

Enqueued packets for retransmit: 0, input: 0  mis-ordered: 0 (0 bytes)

Event Timers (current time is 0x73688C):
Timer          Starts    Wakeups            Next
Retrans            24          3             0x0
TimeWait            0          0             0x0
AckHold            20          4             0x0
SendWnd             0          0             0x0
KeepAlive           0          0             0x0
GiveUp              0          0             0x0
PmtuAger            0          0             0x0
DeadWait            0          0             0x0

iss: 3177747779  snduna: 3177748257  sndnxt: 3177748257     sndwnd:  15907
irs: 3160585952  rcvnxt: 3160586430  rcvwnd:      15907  delrcvwnd:    477

SRTT: 279 ms, RTTO: 446 ms, RTV: 167 ms, KRTT: 0 ms
minRTT: 36 ms, maxRTT: 300 ms, ACK hold: 200 ms
Flags: active open, nagle
IP Precedence value : 6

Datagrams (max data segment is 536 bytes):
Rcvd: 38 (out of order: 0), with data: 20, total data bytes: 477
Sent: 27 (retransmit: 3, fastretransmit: 0, partialack: 0, Second Congestion: 0), with data: 21, total data bytes: 477



holdtime が180秒で、keepalive が 60秒になっていることがわかります。
ここで timer を変えてみます。

R2
router bgp 200
timers bgp 30 10

R3
router bgp 300
timers bgp 30 10


タイマーを変えてキャプチャをとってみると、10秒おきに keepalive が流れている
ことがわかりますね。




BGP neighbor is 3.3.3.3,  remote AS 300, external link
  BGP version 4, remote router ID 33.33.33.33
  BGP state = Established, up for 00:53:10
  Last read 00:00:00, last write 00:00:00, hold time is 30, keepalive interval is 10 seconds
  Configured hold time is 30,keepalive interval is 10 seconds, Minimum holdtime from neighbor is 0 seconds
  Neighbor capabilities:


更新日:2013/3/23
TOPに戻る