View Full Version : lệnh network của bgp
phieudu
30-01-2004, 11:52 PM
Xin hỏi mọi người về lệnh này
network 10.0.0.0 mask 255.255.0.0
nếu ko có mask 255.255.0.0 thì network 10.0.0.0 sẽ để default là mạng
lớp A phải ko.Xin cảm ơn
dangquangminh
31-01-2004, 06:01 PM
hi phieudu,
Trong các routing protocol IGP, lệnh network được dùng để chỉ ra các interface/ nhóm các interface cho phép chạy IGP trên đó.
Tuy nhiên trong EGP/BGP, ý nghĩa của lệnh network hơi khác. Lệnh network trong BGP sẽ chỉ ra 'prefix' (network) sẽ được quảng bá. Đối với mỗi prefix được dùng với lệnh network, BGP sẽ tìm kiếm trong bảng routing table. Nếu trong bảng routing có một entry giống hệt (exact match), prefix trên sẽ được đưa vào bảng BGP và sau đó được quảng bá.
Quay trở lại câu hỏi của bạn, nếu bạn không chỉ ra net-mask thì giá trị prefix classful sẽ được dùng.
Thân mến,
cho em hỏi thêm là khi cấu hình BGP có bắt buộc phải có lệnh network không anh Minh?Vì em đọc tài liệu thấy nó cấu hình thấy không có lệnh network(Cisco network acedemy)?
tuaninbox
02-02-2004, 12:52 PM
Hi Lee,
Nếu không sử dụng lệnh command. Lee có thể dùng redistribution để quảng cáo network thuộc protocol khác vào BGP.
Thân mến.
Mikami
11-02-2004, 02:05 AM
Lee hãy xem 1 ví dụ này tự khắc sẽ hiểu ra ngay :wink:
http://www.vnpro.org/forum/download.php?id=425
Ở San jose chỉ có các lệnh này thôi :
router bgp 100
network 192.168.1.32 mask 255.255.255.224
neighbor 192.168.1.6 remote-as 200
no auto-summary
Ở ISP1A
router bgp 200
no synchronization
network 10.1.1.1 mask 255.255.255.255
neighbor 172.16.1.2 remote-as 200
neighbor 192.168.1.5 remote-as 100
no auto-summary
Ở ISP1B
router bgp 200
no synchronization
network 10.2.2.2 mask 255.255.255.255
neighbor 172.16.1.1 remote-as 200
no auto-summary
Liệu với những câu lệnh như trên thì các network bên trong của các BGP có được advertise ra ngoài hay kô?
Câu trả lời là có.
Nhưng khi show ip bgp ở ISP1B thì thấy Net 192.168.1.32/27 muh, nhưng khi show ip route thì vẫn kô thấy , tại sao thế nhỉ? :wink:
Vấn đề ở đây chính là các lện neighbor chỉ thiết lập các BGP connection giữa các BGP peer trong bảng BGP routing table thôi, BGP lúc này chưa làm nhiệm vụ routing !!!!!
Vấn đề chính là đây. Vậy làm thế nào để từ ISP1B ping được Net 192.168.1.32/27 :wink:????
minhtit
11-02-2004, 05:24 PM
Thêm vào ISP1A lệnh
neighbor 172.16.1.2 next-hop-self
?????
Mikami
11-02-2004, 09:23 PM
Nghĩa là theo anh minhit là sau khi thêm lệnh, thì đứng ở ISP1B :
ping 192.168.1.33 thì sẽ được ah :?:
minhtit
12-02-2004, 07:30 AM
Đấy là cách mình thử đưa ra, và "?????" là đang chờ bạn trả lời đấy.
Mình suy nghĩ như sau: "show ip bgp" thì thấy có route tới 192.168.1.32, còn "show ip route" thì không, điều đó chứng tỏ BGP connection giữa các router là tốt, việc quảng bá route cũng tốt (tức là "nguyên liệu" đầu vào là được) . Vấn đề trên chắc là liên quan đến quá trình xử lý của bản thân BGP tại ISP1B mà thôi. Một trong những nguyên nhân gây ra việc route xuất hiện trong BGP table, nhưng lại không có trong bảng route của router là do BGP không "reach" được next-hop (ở đây là 192.158.1.5). Với cấu hình mà bạn đã đưa ra, mình nghĩ rằng cách đơn giản nhất là dùng next-hop-self như trên.
Nếu vẫn không được thì bạn có thể post "show ip bgp", "show ip route" (và cấu hình OSPF nếu có) bạn lên không.
Cảm ơn nhiều.
Mikami
13-02-2004, 01:35 AM
Như anh minhtit nói, hoàn toàn chính xác :wink: . Nghĩa là chỉ có nguyên liệu đầu vào thì có, nhưng vấn đề chính là wá trình xử lý của BGP.
Như em đã nói trên, khi chỉ có các lệnh neighbor thì BGP lúc này chỉ làm các nhiệm vụ là thiết lập các connection giữa cac BGP peers, chưa làm nhiệm vụ routing. Chúng ta fải config để BGP làm nhiệm vụ routing luôn .
Theo đề xuất của anh minhtit thì dùng next-hop self là hoàn toàn chính xác. nghĩa là sau khi dùng next-hop thì next-hop for ISP1B tới 192.168.1.32/27 là 172.16.1.1/24, nhưng bảo đảm với anh vẫn kô ping được mặc dù show ip route ra, đều có bản route của nhau trong bảng routing table :wink: ???
Thật chất, vấn đề ở đây chính là câu lệnh ping của chúng ta. Nếu anh đứng ở ISP1B ping tới 192.168.1.33/27 thì hoàn toàn kô thấy gì mặc dù có trong bảng route bởi vì khi ping , ISP1B sẽ lấy IP address của interface 172.16.1.2/24 làm source :!: :!: mà trong bảng routing table, đâu thấy cái Net 172.16.1.0/24 đâu nhỉ :wink:
Giải quyết vấn đề rất đơn giản
1. Dùng extend ping, thêm source là 10.2.2.2 destination là 192.168.1.33 :wink:
2. Thêm câu lện network cho các net 172.16.1.0/24 và 192.168.1.4/30 ở cá router.
Chúc vui.
minhtit
13-02-2004, 07:56 AM
À, hiểu rồi. Nhưng vẫn còn một thắc mắc nhỏ:
1. OK
2. Chỉ cần thêm network 172.16.1.0/24 tại một trong hai ISP1A hoặc ISP1B thôi chứ?????
Cảm ơn nhiều.
Mikami
14-02-2004, 06:48 AM
Lại 1 vấn đề nữa fát sinh :wink:
Trong AS 200, ta nhận thấy rằng ngoài BGP còn có OSPF, nên việc routing trong AS 200 (Area 0) còn có OSPF đảm nhiệm. Vậy thì việc câu lệnh network đặt ở đâu kô wan trọng nếu OSPF đã thực hiện nhiệm vụ routing trong OSPF, cái wan trọng là câu lệnh "no synchronization " đã được đặt ở ISP1A.
Vậy nếu ở ISP1A, chưa có câu lệnh "no synchronization " thì việc đặt câu lệnh "network" ở ISP1A hay ISP1B mới là vấn đề cần xem xét.
Theo anh minhtit, thì câu lệnh network, nên đặt ở đâu trong trường hợp này :wink:
còn theo như em hiểu thì nguyên nhân để đứng từ ISP1B không thấy được mạng 192.168.1.32/27 là do khi ISP1A quảng bá mạng này cho ISP1B thì B sẽ vẫn cố sử dụng 192.168.1.5/30 là nexthop của nó, nhưng không thể được vì không có VC nào được thiết lập giữa B và San, do đó phải làm cho B sử dụng A làm nexthop để đến được San==>cách anh minhtit là chính xác.Còn như chị Mika thì theo em nếu không có no synchronization thì phải đặt network ở A, để nó quảng bá mạng cho EBGP peer của nó mà không cần có trong bảng routing.
Mikami
15-02-2004, 04:53 AM
Exactly lee !!! :wink:
minhtit
15-02-2004, 10:49 AM
Hi all,
Thử phân tích lại thế này:
1. giả sử có toplogy và cấu hình như của Mikami
2. ping có S=172.16.1.2, D=192.168.1.33
3. Kết quả không được do ISP1B không biết route đến 192.168.1.33
4. Thêm next-hop-self tại ISP1A
5. Bây giờ packet ping đã đến được SANJOSE1, nhưng gói ping echo không quay về được, do SANJOSE1 không biết route đến 172.16.1.2
6. Bây giờ sẽ thêm lệnh network để quảng bá net 172.16.1.0 sang SANJOSE (không cần thiết phải quảng bá 192.168.1.4/30, vì đây là directly connected network giữa SANJOSE và ISP1A, nên chẳng cần đến BGP thì ISP1A cũng quẳng gói ra đây)
Đối với cả hai trường hợp có hay không có OSPF, "no synchronization" là không quan trọng nếu chỉ cần giải quyết vấn đề ping được (S=172.16.1.2, D=192.168.1.33). Lý do là 172.16.1.0 là directly connected vào cả hai router này, nên trước sau 172.16.1.0 cũng sẽ được quảng bá sang SANJOSE. Vậy theo mình đặt lệnh "network 172.16.1.0" ở một trong hai router ISP1A hoặc ISP1B đều được (nhưng tốt hơn nếu đặt ở ISP1A).
:?: :?:
Mikami
17-02-2004, 04:03 AM
Okie. Bây giờ ta xét trường kô có OSPF gì ở đây hết cả mà chỉ có BGP.
Theo anh minhtit thì việc đặt ở câu lệnh network ở đâu kô wan trọng :wink:
Ta xét lại định nghĩa của "Rule synchronize" : BGP router sẽ kô advertise tới các external neighbor( tới các EBGP khác) về destination mà học được từ các inside BGP neighbor (IBGP) trừ khi nó có trong bảng IGP routing table trước đó."
Vậy nếu anh đặt ở ISP1A và ISP1B mà kô có "no synchronization" thì sao nhỉ :wink:
minhtit
17-02-2004, 07:06 AM
Hi,
Như mình đã nói, 172.16.1.0 là directly connected network, hiển nhiên là nó phải có trong bảng route chứ. Nên chỉ cần có lệnh network là nó sẽ được BGP quảng bá. Nếu đặt network tại ISP1A, nó sẽ được ISP1A quảng bá sang SANJOSE. Nếu đặt tại ISP1B, route này sẽ được quảng bá sang ISP1A, sau đó sẽ được ISP1A quảng bá tiếp sang SANJOSE.
Đúng không vậy?
sinhvienngheo
17-02-2004, 09:41 AM
SVN thì nghĩ rằng nên thảo luận trường hợp này qua hai khả năng:
* Nếu có NO SYNC:
Anh Minhtit có thể đặt lệnh network 172.16.1.0 ở bất cứ router nào mà anh muốn. Như trong trường hợp của anh, anh có thể đặt ở ISP1A hoặc 1B
* Nếu không có NO SYNC (nghĩa là SYNC):
Chỉ có thể quảng bá một route nếu route đó đã có trong bảng routing thông qua một IGP nào đó. Trong trường hợp của anh, anh chỉ có thể đặt trong router nào có net 172.16.1.0 trong bảng routing.
Mến,
minhtit
17-02-2004, 10:34 AM
Hi all,
Thực ra chuyện về synchronization chúng ta đều hiểu giống nhau. Qua thảo luận thì chỉ còn đúng một điểm mà chưa thống nhất: xét trường hợp "synchronization"
- liệu BGP có quảng bá directly connected network [x.y.z.t] hay không, hay bắt buộc [x.y.z.t] phải được học qua một IGP nào đó.
Nói cách khác, route (1) "bắt buộc phải được học qua một IGP" hay (2) "chỉ cần có trong bảng route" thì mới được BGP quảng bá.
(1) hay (2) vậy? Với quan điểm (2), mình cho rằng trong trường hợp cụ thể nêu trên, đặt ở ISP1A hay ISP1B đều được.
dangquangminh
17-02-2004, 10:27 PM
Hi,
Thật ra thì một route "chỉ cần có trong bảng route" + network command là route đó đã được quảng bá. Do yếu tố "chỉ cần có trong bảng route" bao trùm một trường hợp khác là route x được có trong bảng route thông qua IBGP (không là IGP) nên cũng cần khảo sát thêm trường hợp một route x có trong bảng route nhưng route đó được học qua IBGP. Khi này thì route x sẽ không được quảng bá tùy tiện ở bất kỳ một router nào theo cách mà anh minhtit đã đề xuất (Luật BGP Split-horizon).
Ở cấp độ CCNP, có thể kết luận một cách an toàn (2) là một quan điểm đúng.
Chúc vui vẻ
Có một điểm cơ bản, đa số các bạn chắc đều biết nhưng tôi xin nhắc lại: BGP speaker có routing table và BGP table riêng biệt.
Luật Synchronization được phát biểu như sau: Một route được learn từ một IBGP neighbor (tức là route này đã có trong BGP table) chỉ được đưa vảo routing table hoặc quảng bá (advertise)tới BGP peer khi nó đã được biết tới nhờ một IGP.
Như vậy chúng ta có thể tách bạch vấn đề: Connected network ko liên quan tới luật Synchronization, bạn có lệnh network đúng (đúng subnet) thì chắc chắn Connected network sẽ được advertise.
Ví dụ của Mikami chính xác là do "no syn", ISP1A learn 192.168.1.32/27 từ external neighbor (EBGP) nên nó advertise sang ISP1B. Lúc này BGP table của 1B có 192.168.1.32/27 như bạn nói, nhưng vì nó learn qua IBGP nên không thể đưa prefix này vào routing table.
Giải quyết vấn đề này có 2 các, redistribute BGP -> OSPF ở ISP1A (chú ý có kiểm soát bằng route-map) hoặc no syn ở ISP1B .
Hy vọng tôi ko trình bày sai
dangquangminh
18-11-2006, 04:05 PM
Lệnh network trong BGP
Phần này và phần kế tiếp giả sử rằng lệnh no auto-summary đã được cấu hình. Lưu ý là từ IOS 12.3 trở đi, lệnh no auto-summary trong BGP là mặc định. Sau đó, phần kế tiếp sẽ khảo sát sự ảnh hưởng của câu lệnh auto-summary đối với câu lệnh network và đối với quá trình redistribution.
Câu lệnh network trong BGP khác nhiều so với câu lệnh network được dùng trong các giao thức nội IGP. Câu lệnh network trong BGP ra lệnh cho tiến trình BGP của router thực hiện các việc sau: Tìm kiếm một route trong bảng định tuyến của router hiện hành trong đó đúng bằng với các thông số của câu lệnh network. Nếu route đó là tồn tại, sẽ đặt địa chỉ mạng NLRI tương đương vào trong bảng BGP nội bộ.
Với cơ chế này, các mạng kết nối trực tiếp, các tuyến đường tĩnh và các IGP route có thể được lấy ra khỏi bảng định tuyến IP và đặt vào trong bảng BGP để quảng bá về sau. Khi router xóa route đó ra khỏi bảng định tuyến IP, BGP sẽ xóa địa chỉ NLRI ra khỏi bảng BGP và router sẽ lưu ý router láng giềng về việc route đã bị xóa. Lưu ý rằng địa chỉ IP route phải trong bảng routing phải giống hệt trong bảng BGP khi lệnh no auto-summary được cấu hình hay được dùng.
Bảng dưới đây liệt kê vài đặc điểm chủ yếu của câu lệnh network trong BGP. Cú pháp tổng quát là network { network-number [mask network-mask]} [route-map map-tag]
Đặc điểm:
- Nếu thông số mask không được cấu hình trong câu lệnh network: Giá trị mask mặc định được dùng
- Cơ chế lựa route để quảng bá khi tùy chọn no auto-summary được cấu hình: một ip route phải so sánh đúng bằng với phần mạng prefix và chiều dài prefix-length
- Cơ chế chọn lựa route để quảng bá khi tuỳ chọn auto-summary được cấu hình:Nếu câu lệnh network khai báo một địa chỉ mạng classful, router sẽ quảng bá nếu có bất kỳ một mạng con nào của mạng classful trên tồn tại.
- Thuộc tính NEXT_HOP của BGP route được thêm vào bảng BGP. Dùng thuộc tính NEXT_HOP của IP route.
- Số địa chỉ mạng tối đa được đưa vào tiến trình BGP bằng câu lệnh network: 200. Nghĩa là chỉ đc dùng câu lệnh network 200 lần.
- Mục đích của tùy chọn route-map trong câu lệnh network: Có thể dùng để lọc route và thao tác các thuộc tính PA, bao gồm thuộc tính NEXT_HOP. NEXT_HOP là một thuộc tính đường dẫn PA của BGP mô tả địa chỉ IP kế tiếp cần đến để đi về mạng đích NLRI.
Powered by vBulletin® Version 4.2.1 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.