PDA

View Full Version : next-hop-self command trong BGP



sinhvienngheo
05-06-2003, 12:49 AM
xin chào các anh,

Có phải lệnh next-hop-self chỉ được dùng giữa các IBGP mà không được dùng giữa các EBGP?

xin các anh chỉ giáo,

nuoctra
14-06-2003, 11:20 AM
Hi!

Để dễ hiểu hơn, mình nên tìm hiểu về thuộc tính Nexthop trong BGP

150.10.0.0 (AS 100)
RouterA--------(150.10.3.1)---IBGP--------RouterB---|
|(170.10.20.1)
|
| (170.10.20.2)
RouterC
|_ 170.10.0.0 (AS 300)

Thuộc tính BGP nexthop là một địa chỉ next hop IP mà nó sẽ được dùng để đi đến một số destination.

Đối với EBGP, next hop luôn luôn là địa chỉ IP của neighbor đã được khai báo trong câu lệnh neighbor. Theo ví dụ trên, RouterC sẽ quảng cáo network 170.10.0.0 cho RouterA với một next hop là 170.10.20.2 và ngược lại RouterA sẽ quảng cáo lại 150.10.0.0 cho RouterC với một next hop là 170.10.20.1.

Đối với IBGP, có một nguyên tắc là: “the next hop advertised by EBGP should be carried into IBGP”. Chính vì quy luật này, nên Router A sẽ quãng cáo lại 170.10.0.0 cho các IBGP peer của nó, trong trường hợp này là RouterB với một next hop là 170.10.20.2. Vì thế, lúc này RouterB sẽ có next hop để đi đến network 170.10.0.0 sẽ là 170.10.20.2 chứ KHÔNG phải là 150.10.30.1

Lúc này thì bạn phải đảm bảo rằng RouterB có thể reach 170.10.20.2 thông qua IGP, nếu không RouterB sẽ drop những packet có dest. là 170.10.0.0 vì lúc này địa chỉ next hop address trở nên inaccessible.

Đến đây thì bạn hãy hình dung nếu như trong môi trường NBMA, và có thêm một RouterD (network 180.20.0.0) được add vào trong AS 300, mà RouterA không có PVC kết nối trực tiếp đến RouterD thì lúc này nexthop của RouterD quãng cáo cho RouterA mà RouterA sẽ không reach được. Lúc này routing sẽ fail.

Để khắc phục tình trạng này thì NEXT-HOPE-SELF được sử dụng.

neighbor {ip-address| peer-group-name1 } next-hop-self

Câu lệnh này sẽ cho phép mình ép BGP dùng địa chỉ mình khai báo thành next hop thay vì để protocol tự chọn next hop.

RouterC#
router bgp 300
neighbor 170.10.20.1 remote-as 100
neighbor 170.10.20.1 next-hop-self

RouterC sẽ quãng cáo 180.20.0.0 với NextHop = 170.10.20.2

Lưu ý: next-hop-self chỉ có lợi trong môi trường nonmeshed.

nuoctra.

hainchain
14-06-2003, 11:43 AM
bài viết của bạn rất dễ hiểu, hi vọng bạn có thể post nhiều hơn nữa để mọi người có thể học hỏi thêm thanks.