LỜI CẢM ƠN 1
CÁC THUẬT NGỮ TIẾNG ANH 3
Lời giới thiệu 4
CHƯƠNG 1 5
GIỚI THIỆU TỔNG QUAN VỀ GIAO THỨC BGP 5
1.1 Giới thiệu. 5
1.2 Sử dụng BGP trong định tuyến 5
CHƯƠNG 2 7
CÁC THUỘC TÍNH VÀ THUẬT NGỮ SỬ DỤNG TRONG BGP 7
2.1 Định nghĩa Autonomous System (AS) 8
2.2 Thuộc tính Autonomous system path (AS_PATH) 9
2.3 Thuộc tính WEIGHT 11
2.4 Thuộc tính Local Preference (LOCAL_PREF) 13
2.5 Thuộc tính Metric hay MULTI_EXIT_DISC (MED) 14
2.6 Thuộc tính ORIGIN 15
2.7 Thuộc tính NEXT_HOP 15
2.8 Thuộc tính Community 17
CHƯƠNG 3 18
HOẠT ĐỘNG CỦA BGP 18
3.1 Hoạt động của EBGP 18
3.1.1 Khảo sát hoạt động của EBGP 18
3.1.2 Cấu trúc thông báo của BGP 19
3.2 Quảng bá tuyến trong BGP 25
3.2.1 Quảng bá tuyến sử dụng câu lệnh Network 26
3.2.2 Quảng bá tuyến sử dụng redistribute 33
3.3 Hoạt động của IBGP 37
3.3.1 Khảo sát hoạt động của IBGP 37
3.3.2 Giao diện loopback trong IBGP 48
3.3.3 Route-Reflector (RR) 52
3.3.4 Phân cấp định tuyến trong các AS (Confederations) 57
3.4 Giải thuật định tuyến trong BGP 60
3.5 Sự tóm tắt tuyến trong BGP 61
3.6 Quản lí lưu lượng trong BGP 67
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 71
71 trang |
Chia sẻ: lethao | Lượt xem: 3965 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Tổng quan giao thức định tuyến BGD trên router cisco, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
VE router sẽ chuyển sang trạng thái Established và trao đổi KEEPALIVE, UPDATE và thông báo NOTIFICATION.
Một thông báo NOTIFICATION được sử dụng khi có lỗi xuất hiện khiến cho phiên BGP đó kết thúc. Trong quá trình thực hiện BGP có thể có nhiều lỗi xảy ra
Thông báo NOTIFICATION có định dạng như sau:
Hình 15 : Thông báo NOTIFICATION
Trong đó các trường được mô tả trong bảng dưới đây :
Các mã lỗi của BGP
Error Code
Error Subcode
1—Message header error
1—Connection Not Synchronized
2—Bad Message Length
3—Bad Message Type
2—OPEN message error
1—Unsupported Version Number
2—Bad Peer AS
3—Bad BGP Identifier
4—Unsupported Optional Parameter
5—Authentication Failure
6—Unacceptable Hold Timer
7—Unsupported Capability
3—UPDATE message error
1—Malformed Attribute List
2—Unrecognized Well-Known Attribute
3—Missing Well-Known Attribute
4—Attribute Flags Error
5—Attribute Length Error
6—Invalid Origin Attribute
7—AS Routing Loop
8—Invalid NEXT_HOP Attribute
9—Optional Attribute Error
10—Invalid Network Field
11—Malformed AS_PATH
4—Hold Timer expired
N/A
5—Finite State Machine error (for errors detected by the FSM)
N/A
6—Cease (for fatal errors besides the ones already listed)
N/A
Một thông báo UPDATE quảng bá mạng đang có. Thông báo UPDATE sẽ quảng bá:
- Các thông tin liên quan đến mạng đích: địa chỉ, netmask..
Các thuộc tính BGP
Các tuyến không có khả năng thực hiện định tuyến và bị loại bỏ trong bảng routing
Thông báo UPDATE có cấu trúc như sau :
Hinh 16: Thông báo UPDATE
Khi các EBGP hàng xóm đạt được trạng thái Established quá trình trao đổi thông tin định tuyến sẽ được thực hiện. Khi đó ta sẽ thấy được trạng thái của router có dạng như sau :
A#show ip bgp neighbors
BGP neighbor is 172.16.15.162, remote AS 2, external link
BGP version 4, remote router ID 172.16.16.254
BGP state = Established, up for 02:02:11
!Output omitted for brevity
3.2 Quảng bá tuyến trong BGP
Các EBGP hàng xóm khi đạt được trạng thái Estabished cũng có thể không quảng bá tuyến. Điều này hơi khác so với các giao thức IGPs khi việc quảng bá và nhận diện hàng xóm có mối liên hệ ràng buộc lẫn nhau và đều sử dụng câu lệnh network. Với giao thức BGP chạy trên các thiết bị của Cisco có ba cách để địa chỉ mạng có thể được quảng bá vào trong bảng định tuyến BGP (BGP routing table).
Ba phương thức được sử dụng là :
Câu lệnh Network
Qua sự phân phối tuyến (Route redistribution)
Từ một BGP hàng xóm
Hình 17 minh họa các phương thức được sử dụng để quảng bá tuyến BGP
Hình 17 : Các phương thức quảng bá tuyến trong BGP
Tiếp theo chúng ta sẽ đi nghiên cứu cụ thể từng phương thức được sử dụng để quảng bá các tuyến BGP
3.2.1 Quảng bá tuyến sử dụng câu lệnh Network
Đây là phương thức đầu tiên để một tuyến có thể được quảng bá vào trong bảng định tuyến BGP. Câu lệnh Network được sử dụng để chuyển các tuyến từ bảng định tuyến (routing table) tới bảng định tuyến BGP giống như là các tuyến chạy BGP. Các tuyến trong bảng routing table được học từ các giao thức định tuyến nội như RIP, IGRP, EIGRP, OSPF hoặc IS-IS. Hay các tuyến tĩnh, các tuyến có kết nối trực tiếp. Dưới đây là bảng định tuyến chỉ có các tuyến kết nối trực tiếp của router A
A#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 4 subnets, 3 masks
C 172.16.15.160/30 is directly connected, Serial0/0
C 172.16.15.128/27 is directly connected, Ethernet0/0
C 172.16.15.254/32 is directly connected, Loopback0
C 172.16.15.64/27 is directly connected, Ethernet0/1
Sự hoạt động của câu lệnh Network phụ thuộc vào việc tự tóm tắt tuyến trong các tiến trình BGP. Mặc định quá trình tự tóm tắt (autosummariztion) tuyến được cho phép hoạt động vì thế ta phải khảo sát trường hợp này . Định dạng của câu lệnh network như sau:
network prefix mask subnet-mask
Tham số subnet-mask là tham số lựa chọn. Nếu subnet-mask không đượ sử dụng BGP sẽ giả thiết sử dụng tham số đó với các chế độ mặc định tùy thuộc lớp mạng . Với việc mặc định quá trình tự tóm tắt được hoạt động. Câu lệnh network được sử dụng để quảng bá các tuyến với tham số subnet-mask mặc định trong bảng định tuyến BGP. Vì thế cần phải có ít nhất một tuyến với tuyến subnet dạng classful trong bảng định tuyến. Bảng định tuyến trên router A chứa subnets 172.16.0.0/16 do vậy để quảng bá tuyến này có thể sử dụng câu lệnh :
router bgp 1
network 172.16.0.0
neighbor 172.16.15.162 remote-as 2
Khi đó bảng định tuyến BGP của router A sẽ như sau :
A#show ip bgp
BGP table version is 8, local router ID is 172.16.15.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.0.0 0.0.0.0 0 32768 i
Trong ví dụ trên next hop là 0.0.0.0 và thuộc tính AS path là trống chỉ ra rằng mạng 172.16.0.0 bắt nguồn trên router A. Ta cũng có thể thấy MED là 0 và thuộc tính Weight có giá trị mặc định là 32768. Sau khi một tuyến hợp lệ được đặt trong bảng định tuyến BGP , tuyến đó sẽ được quảng bá tới router B . Kết quả trong bảng định tuyến BGP là :
B#show ip bgp
BGP table version is 4, local router ID is 172.16.16.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.0.0 172.16.15.161 0 0 1 i
Mạng 172.16.0.0 được quảng bá thành công tới router B. Thuộc tính NEXT_HOP được đặt bằng giao diện được sử dụng để quảng bá tuyến đển router B. Thuộc tính AS_PATH được đặt bằng 1, MED và Weight có giá trị bằng 0. Sau đó một tuyến BGP hợp lệ sẽ được chuyển tới bảng định tuyến trên router B.
B#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2,
E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 4 subnets, 3 masks
C 172.16.16.164/30 is directly connected, Serial0/1
C 172.16.15.160/30 is directly connected, Serial0/0
C 172.16.16.254/32 is directly connected, Loopback0
B 172.16.0.0/16 [20/0] via 172.16.15.161, 00:09:41
Từ bảng định tuyến ta có thể nhận thấy administrative distance (AD) của EBGP là 20 và cost hoặc metric của tuyến BGP là 0. BGP không sử dụng cost để tính toán đường đi ngắn nhất mà sử dụng các thuộc tính BGP như: Weight, LOCAL_PREF, AS_PATH, MED và ORIGIN để thay thế.
Mặc định trên các thiết bị của hãng Cisco cho phép tự tóm tắt tuyến. Tuy nhiên cisco khuyến nghị rằng nên hủy bỏ chế độ này khi sử dụng BGP. Việc hủy bỏ này được thực hiện bằng cách sử dụng câu lệnh: no auto-summary trong cấu hình BGP.
Trên 2 router A và B ta có thể cấu hình như sau :
Router A
router bgp 1
network 172.16.0.0
neighbor 172.16.15.162 remote-as 2
no auto-summary
Router B
router bgp 2
neighbor 172.16.15.161 remote-as 1
no auto-summary
Sau khi hủy bỏ chế độ tự động tóm tắt tuyến một vấn đề được đặt ra. Đó là tuyến 172.16.0.0/16 có được quảng bá hay không ? Nếu khảo sát bảng BGP của hai router A và B cùng với bảng định tuyến của chúng thì ta nhận thấy rằng tuyến trên không được quảng bá
A#show ip bgp
!no output
B#show ip bgp
!no output
B#show ip route
172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
C 172.16.16.164/30 is directly connected, Serial0/1
C 172.16.15.160/30 is directly connected, Serial0/0
C 172.16.16.254/32 is directly connected, Loopback0
Sở dĩ tuyến 172.16.0.0/16 không được quảng bá khi tự động tóm tắt tuyến được hủy bỏ là do nó làm thay đổi cách hoạt động của câu lệnh network. Qúa trình hủy bỏ tự tóm tắt tuyến sẽ tạo ra một quy tắc mới khiến cho địa chỉ mạng và mask sử dụng trong câu lệnh network phải chính xác so với trong bảng định tuyến. Câu lệnh network 172.16.0.0 sẽ kéo theo việc router tìm trong bảng định tuyến của nó một địa chỉ phù hợp. Tuy nhiên chỉ có các mạng con của tuyến 172.16.0.0 trong bảng định tuyến trên router A mà không có tuyến 172.16.0.0 đã chỉ định. Vì thế xảy ra trường hợp không quảng bá tuyến trên.
Các tuyến nằm tồn tại trong bảng định tuyến của router A
A#show ip route | include directly connected
C 172.16.15.160/30 is directly connected, Serial0/0
C 172.16.15.128/27 is directly connected, Ethernet0/0
C 172.16.15.254/32 is directly connected, Loopback0
C 172.16.15.64/27 is directly connected, Ethernet0/1
Vì thế để các tuyến được quảng bá khi đã hủy bỏ chế độ tự động tóm tắt tuyến ta phải chỉ rõ cả địa chỉ mạng và mask sao cho phù hợp với bảng định tuyến. Khi đó tuyến mới được quảng bá
Router A
router bgp 1
network 172.16.15.64 mask 255.255.255.224
network 172.16.15.128 mask 255.255.255.224
network 172.16.15.160 mask 255.255.255.252
network 172.16.15.254 mask 255.255.255.255
neighbor 172.16.15.162 remote-as 2
no auto-summary
Các tuyến được quảng bá có thể thấy rõ khi quan sát các bảng routing table trên router B và BGP table trên các router A, B
A#show ip bgp
BGP table version is 13, local router ID is 172.16.15.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.15.64/27 0.0.0.0 0 32768 i
*> 172.16.15.128/27 0.0.0.0 0 32768 i
*> 172.16.15.160/30 0.0.0.0 0 32768 i
*> 172.16.15.254/32 0.0.0.0 0 32768 I
Dưới đây là bảng BGP của router B
B#show ip bgp
BGP table version is 9, local router ID is 172.16.16.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.15.64/27 172.16.15.161 0 0 1 i
*> 172.16.15.128/27 172.16.15.161 0 0 1 i
*> 172.16.15.160/30 172.16.15.161 0 0 1 i
*> 172.16.15.254/32 172.16.15.161 0 0 1 i
Bảng định tuyến của router B sẽ cho ta thấy được các tuyến đã được quảng bá từ router A
B#show ip route
172.16.0.0/16 is variably subnetted, 6 subnets, 3 masks
C 172.16.16.164/30 is directly connected, Serial0/1
C 172.16.15.160/30 is directly connected, Serial0/0
B 172.16.15.128/27 [20/0] via 172.16.15.161, 00:02:36
B 172.16.15.254/32 [20/0] via 172.16.15.161, 00:02:36
C 172.16.16.254/32 is directly connected, Loopback0
B 172.16.15.64/27 [20/0] via 172.16.15.161, 00:02:36
3.2.2 Quảng bá tuyến sử dụng redistribute
Đây là phương thức thứ hai để quảng bá tuyến từ bảng định tuyến vào bảng định tuyến BGP. Phương thức này cho phép quảng bá các tuyến kết nối trực tiếp trên router vào bảng định tuyến BGP. Tính chất tự động tóm tắt tuyến tương tự như trong phần sử dụng câu lệnh network tức là nếu không hủy bỏ chế độ này các tuyến sẽ được tóm tắt thành các tuyến có địa chỉ và mask mặc định.
Việc phân phối, quảng bá quan việc redistribute này được thực hiện qua câu lệnh redistribute connected.
Trên Router A quá trình đó được thực hiện bởi các lệnh :
Router A
router bgp 1
redistribute connected
neighbor 172.16.15.162 remote-as 2
no auto-summary
Tương tự như phần 2.1 ta sẽ thấy bảng định tuyến BGP và định tuyến của 2 router A và B (xét trường hợp đã hủy bỏ chế độ tự động tóm tắt tuyến ) như sau :
A#show ip bgp
BGP table version is 7, local router ID is 172.16.15.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.15.64/27 0.0.0.0 0 32768 ?
*> 172.16.15.128/27 0.0.0.0 0 32768 ?
*> 172.16.15.160/30 0.0.0.0 0 32768 ?
*> 172.16.15.254/32 0.0.0.0 0 32768 ?
B#show ip bgp
BGP table version is 21, local router ID is 172.16.16.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.15.64/27 172.16.15.161 0 0 1 ?
*> 172.16.15.128/27 172.16.15.161 0 0 1 ?
*> 172.16.15.160/30 172.16.15.161 0 0 1 ?
*> 172.16.15.254/32 172.16.15.161 0 0 1 ?
B#show ip route
172.16.0.0/16 is variably subnetted, 6 subnets, 3 masks
C 172.16.16.164/30 is directly connected, Serial0/1
C 172.16.15.160/30 is directly connected, Serial0/0
B 172.16.15.128/27 [20/0] via 172.16.15.161, 00:01:44
B 172.16.15.254/32 [20/0] via 172.16.15.161, 00:01:44
C 172.16.16.254/32 is directly connected, Loopback0
B 172.16.15.64/27 [20/0] via 172.16.15.161, 00:01:44
Ta chú ý rằng khi sử dụng phương thức này các tuyến redistribute có thuộc tính ORIGIN được đặt dấu ? trong bảng BGP của các router
3.2.3 Sử dụng EBGP để quảng bá tuyến
Phương thức cuối cùng để quảng bá tuyến BGP vào bảng BGP là tự BGP chính nó. Xét topo mạng dưới đây
Hình 18 : Qúa trình sử dụng EBGP để quảng bá tuyến
Bằng việc sử dụng các câu lệnh
Router B
router bgp 2
neighbor 172.16.15.161 remote-as 1
neighbor 172.16.16.166 remote-as 3
no auto-summary
Router C
router bgp 3
neighbor 172.16.16.165 remote-as 2
Cho phép router mới thêm vào nhận diện được hàng xóm với nó là router B và router B cũng nhận diện được hàng xóm của nó là router C. Quá trình quảng bá tuyến diễn ra giữa router B, C cho phép router B quảng bá các tuyến có trên router A . Kết quả trong bảng định tuyến và BGP routing của router C có các tuyến cần đạt tới trên router A
C#show ip bgp
BGP table version is 5, local router ID is 172.16.17.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.15.64/27 172.16.16.165 0 2 1 ?
*> 172.16.15.128/27 172.16.16.165 0 2 1 ?
*> 172.16.15.160/30 172.16.16.165 0 2 1 ?
*> 172.16.15.254/32 172.16.16.165 0 2 1 ?
C#show ip route
172.16.0.0/16 is variably subnetted, 7 subnets, 3 masks
C 172.16.16.164/30 is directly connected, Serial0/1
B 172.16.15.160/30 [20/0] via 172.16.16.165, 00:12:21
B 172.16.15.128/27 [20/0] via 172.16.16.165, 00:12:21
B 172.16.15.254/32 [20/0] via 172.16.16.165, 00:12:21
C 172.16.17.254/32 is directly connected, Loopback0
C 172.16.17.32/27 is directly connected, Ethernet0/0
B 172.16.15.64/27 [20/0] via 172.16.16.165, 00:12:21
Thuộc tính AS_PATH trên router C có giá trị 2 1 là các AS phải đi qua để đạt tới các tuyến trên router A. Ví dụ này chứng minh rằng router EBGP quảng bá tuyến học được từ một EBGP hàng xóm tới một hàng xóm khác
3.3 Hoạt động của IBGP
3.3.1 Khảo sát hoạt động của IBGP
Để khảo sát sự hoạt động của IBGP ta khảo sát topo dưới đây
Hình 19 : Kết nối IBGP và EBGP
Việc cấu hình EBGP và IBGP cho việc quảng bá tuyến tương đối giống nhau trên các thiết bị của cisco. Tuy nhiên sự hoạt động của EBGP và IBGP có phần khác nhau. Để khảo sát ta xem xét các thông tin trên router D và E khi E quảng bá các tuyến kết nối trực tiếp với nó:
Router D
router bgp 1
neighbor 172.16.15.162 remote-as 2
no auto-summary
Router E
router bgp 2
redistribute connected
neighbor 172.16.15.161 remote-as 1
no auto-summary
Khảo sát bảng routing table và bảng BGP routing table của router D ta thu được kết quả
D#show ip bgp
BGP table version is 4, local router ID is 172.16.15.254
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.15.160/30 172.16.15.162 0 0 2 ?
*> 172.16.16.164/30 172.16.15.162 0 0 2 ?
*> 172.16.16.254/32 172.16.15.162 0 0 2 ?
D#show ip route
172.16.0.0/16 is variably subnetted, 6 subnets, 3 masks
B 172.16.16.164/30 [20/0] via 172.16.15.162, 00:27:23
C 172.16.15.160/30 is directly connected, Serial0/0
C 172.16.15.128/27 is directly connected, Ethernet0/0
C 172.16.15.254/32 is directly connected, Loopback0
B 172.16.16.254/32 [20/0] via 172.16.15.162, 00:27:23
C 172.16.15.64/27 is directly connected, Ethernet0/1
Việc thiết lập sự hoạt động của IBGP giữa các router trong AS 1 tương đối giống so với việc thiết lập sự hoạt động của EBGP ngoại trừ việc thay đổi số AS. Trong topo trên để thiết lập sự hoạt động của IBGP giữa router C và D ta sử dụng cấu hình sau :
Router C
router bgp 1
neighbor 172.16.15.130 remote-as 1
no auto-summary
Router D
router bgp 1
neighbor 172.16.15.129 remote-as 1
neighbor 172.16.15.162 remote-as 2
no auto-summary
Sau khi thiết lập được sự hoạt động của IBGP trong AS 1 giữa router D và C tao có thể xác nhận quan hệ giữa chúng là IBGP. Các thông tin chỉ ra bởi router D cho chúng ta thấy rõ điều này:
D#show ip bgp neighbors 172.16.15.129
BGP neighbor is 172.16.15.129, remote AS 1, internal link
BGP version 4, remote router ID 172.16.15.253
BGP state = Established, up for 00:28:24
Last read 00:00:24, hold time is 180, keepalive interval is 60 seconds
!Output omitted for brevity
Các thông tin đầu ra trên cho thấy router C và router D đã tồn tại mối quan hệ IBGP hàng xóm. Thuật ngữ “internal link” trong thông tin đầu ra chỉ rõ mối quan hệ này. Các tuyến được quảng bá từ router E đến router C qua router D như sau :
C#show ip bgp
BGP table version is 1, local router ID is 172.16.15.253
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* i172.16.15.160/30 172.16.15.162 0 100 0 2 ?
* i172.16.16.164/30 172.16.15.162 0 100 0 2 ?
* i172.16.16.254/32 172.16.15.162 0 100 0 2 ?
Tiếp tục khảo sát bảng định tuyến trên router C ta nhận thấy :
C#show ip route
172.16.0.0/16 is variably subnetted, 5 subnets, 3 masks
C 172.16.15.128/27 is directly connected, Ethernet2/0
C 172.16.15.253/32 is directly connected, Loopback0
C 172.16.15.32/27 is directly connected, Ethernet0/0
C 172.16.9.0/30 is directly connected, Serial0/1
C 172.16.15.96/27 is directly connected, FastEthernet1/0
Dựa vào thông tin trong bảng định tuyến trên ta nhận thấy một số tuyến trong bảng BGP trên router không được chuyển vào bảng định tuyến trên router C. Tuy nhiên khảo sát kĩ bảng định tuyến BGP trên router C và D ta thấy :
Router D
*> 172.16.15.160/30 172.16.15.162 0 0 2 ?
Router C
* i172.16.15.160/30 172.16.15.162 0 100 0 2 ?
Các tuyến có cùng next hop cho mạng 172.16.15.160/30 nhưng router D xem tuyến đó là một tuyến hợp lệ và là tuyến tốt nhất (* >) còn router C cũng coi tuyến đó là tuyến hợp lệ ( * ) nhưng không phải là tuyến tốt nhất. Các thông tin đầu ra dưới đây trên router C cho ta thấy điều này
C#show ip bgp 172.16.15.160
BGP routing table entry for 172.16.15.160/30, version 0
Paths: (1 available, no best path)
Not advertised to any peer 2
172.16.15.162 (inaccessible) from 172.16.15.130 (172.16.15.254)
rigin incomplete, metric 0, localpref 100, valid, internal, not synchronized
Địa chỉ mạng 172.16.15.160 và các địa chỉ khác được nhận từ router D là không thể truy cập. Điều này có nghĩa là router C không biết làm thế nào để đạt được đến NEXT_HOP do BGP không thay đổi NEXT_HOP khi thông tin được nhận và quảng bá từ các EBGP hàng xóm tới một IBGP router. Router D không thay đổi NEXT_HOP 172.16.15.162 khi tuyến 172.16.15.160 được quảng bá tới router C. Tuyến đó được xem như không thể truy cập vì nó không tồn tại trong bảng routing table. Để giải quyết vấn đề này ta có thể sử dụng một giao thức IGP cho không những cho việc quảng bá NEXT_HOP mà còn quảng bá tất cả các mạng thuộc về AS 1. Trong ví dụ này ta có thể sử dụng một vùng đơn trên router A, B, C, D. Có thể xây dựng một vùng OSPF và định danh vùng AS 1 sử dụng cấu hình sau để quảng bá NEXT_HOP :
router ospf 1
network 172.16.0.0 0.0.255.255 area 51
Sau khi đã giải quyết vấn đề quảng bá NEXT_HOP. Các thông tin trong bảng định tuyên, bảng BGP sẽ thay đổi như sau :
C#show ip route | include 172.16.15.160
O 172.16.15.160/30 [110/74] via 172.16.15.130, 00:05:45, Ethernet2/0
C#show ip bgp 172.16.15.160
BGP routing table entry for 172.16.15.160/30, version 2
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer 2
172.16.15.162 (metric 74) from 172.16.15.130 (172.16.15.254)
Origin incomplete, metric 0, localpref 100, valid, internal, synchronized, best
Tiếp đó các tuyến BGP đã được chuyển vào bảng routing table :
C#show ip route
172.16.0.0/16 is variably subnetted, 12 subnets, 3 masks
O 172.16.15.160/30 [110/74] via 172.16.15.130, 00:08:45, Ethernet2/0
O 172.16.15.164/30 [110/50] via 172.16.15.97, 00:08:45, FastEthernet1/0
C 172.16.15.128/27 is directly connected, Ethernet2/0
O 172.16.15.251/32 [110/3] via 172.16.15.97, 00:08:45, FastEthernet1/0
O 172.16.15.254/32 [110/11] via 172.16.15.130, 00:08:45, Ethernet2/0
C 172.16.15.253/32 is directly connected, Loopback0
O 172.16.15.252/32 [110/2] via 172.16.15.97, 00:08:46, FastEthernet1/0
C 172.16.15.32/27 is directly connected, Ethernet0/0
O 172.16.15.0/27 [110/2] via 172.16.15.97, 00:08:46, FastEthernet1/0
C 172.16.9.0/30 is directly connected, Serial0/1
C 172.16.15.96/27 is directly connected, FastEthernet1/0
O 172.16.15.64/27 [110/12] via 172.16.15.97, 00:08:46, FastEthernet1/0
Mạng 172.16.15.160 trong bảng routing table là một tuyến OSPF. Một câu hỏi được đặt ra là tại sao tuyến đó không phải là một tuyến IBGP ? Câu trả lời là do router C học về tuyến 172.16.15.160 thông qua OSPF và IBGP tuy nhiên OSPF có Administrative distance (AD) là 110 còn IBGP là 200 vì thế tuyến OSPF được sử dụng . Nhìn vào bảng routing table ta không thấy bất cứ tuyến BGP nào tuy nhiên khi quan sát thông tin đầu ra trên bảng BGP của router C ta nhận thấy :
C#show ip bgp
BGP table version is 2, local router ID is 172.16.15.253
tatus codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i172.16.15.160/30 172.16.15.162 0 100 0 2 ?
* i172.16.16.164/30 172.16.15.162 0 100 0 2 ?
* i172.16.16.254/32 172.16.15.162 0 100 0 2 ?
Tuyến 172.16.15.160, 172.16.16.164, 172.16.16.254 là các tuyến hợp lệ tuy nhiên 2 tuyến 172.16.16.164 và 172.16.16.254 không phải là các tuyến có đường tối ưu. Nhận định trên được kiểm chứng với tuyến 172.16.16.164 .
C#show ip bgp 172.16.16.164
BGP routing table entry for 172.16.16.164/30, version 0
Paths: (1 available, no best path)
Not advertised to any peer
2
172.16.15.162 (metric 74) from 172.16.15.130 (172.16.15.254)
Origin incomplete, metric 0, localpref 100, valid, internal, not synchronized
Các tuyến không hợp lệ trên là các tuyến không được đồng bộ. Đồng bộ là một đặc tính của IBGP. Luật đồng bộ qui định một tuyến BGP nhận từ một IBGP hàng xóm không được coi là hợp lệ nếu như tuyến đó không nằm trong bảng định tuyến.
Tuyến 172.16.15.160 trong topo trên đã được đồng bộ bởi tuyến đó đã nằm trong bảng IP routing table với vai trò của một tuyến OSPF. Các tuyến BGP 172.16.16.164 và 172.16.16.254 không nằm trong bảng định tuyến vì thế chúng được xem là không đồng bộ. Để nói rõ hơn về luật đồng bộ này ta khảo sát topo dưới đây
Hình 20 : Đồng bộ trong IBGP
Router A và B thực hiện một kết nối EBGP, Router A quảng bá tuyến 172.16.1.0/24 đến router B. Trong AS 2 một đường kết nối vật lí tồn tại giữa router B và D thông qua router C. IBGP không yêu cầu một kết nối vật lí và các Router B, D đã thực hiện được một kết nối IBGP. Các thông tin trao đổi giữa router B và D được thực hiện qua kết nối vật lí với router C tuy nhiên router C không biết được những nội dung của thông tin trao đổi này .
Router B và D phải biết được làm cách nào có thể đến được các tuyến khác. AS 2 chạy OSPF để quảng bá tất cả các tuyến trong AS 2. Tất cả những điều trên nhằm thực hiện một kết nối IBGP giữa các hai router. Giả sử đồng bộ không phải là đặc tính của IBGP chúng ta khảo sát các sự kiện sau :
1, Router A quảng bá tuyến 172.16.1.0/24 đến router B thông qua EBGP
2, Router B chấp nhận tuyến vì nó biết NEXT_HOP (NEXT_HOP được biết do tuyến được kết nối trực tiếp ). Tiếp đó tuyến được đặt vào trong bảng routing trên router B.
3, Router B quảng bá tuyến đến router D thông qua IBGP mà không thay đổi NEXT_HOP.
4, Router D chấp nhận tuyến vì NEXT_HOP được biết thong qua OSPF.
5, Router D quảng bá tuyến 172.16.1.0/24 đến router E trong AS 3.
6, Router E chấp nh
Các file đính kèm theo tài liệu này:
- Tổng quan giao thức định tuyến bgp trên router cisco.doc