1. Tổng quan.
Tiến trình chọn đường (BGP Route Selection Process) trong BGP (Border Gateway Protocol) đóng vai trò quan trọng trong việc quyết định các đường dẫn định tuyến được chọn để đưa dữ liệu từ nguồn tới đích trong mạng lưới Internet và các mạng lớn. Dưới đây là một số lý do vì sao tiến trình chọn đường trong BGP cần thiết:
- Đa đường dẫn: Internet và mạng lớn thường có nhiều đường dẫn đến cùng một đích. Các đường dẫn này có thể khác nhau về chiều dài, băng thông, độ tin cậy, và chi phí. Tiến trình chọn đường giúp router BGP quyết định đường dẫn tối ưu dựa trên các yếu tố này.
- Tối ưu hóa định tuyến: BGP cần có khả năng chọn đường tối ưu để đảm bảo dữ liệu được chuyển đến đích một cách hiệu quả. Tiến trình chọn đường giúp đảm bảo rằng dữ liệu không đi qua các đường dẫn không cần thiết, giúp giảm độ trễ và tăng hiệu suất định tuyến.
- Quản lý tải: BGP có khả năng phân phối tải (load balancing) giữa các đường dẫn khả dụng. Tiến trình chọn đường có thể quyết định gửi một phần lượng dữ liệu qua một đường dẫn và phần còn lại qua đường dẫn khác để tối ưu hóa sự sử dụng tài nguyên mạng.
- Chi phí và hiệu quả: Các đường dẫn có thể có chi phí khác nhau, bao gồm chi phí truyền dẫn và chi phí hợp đồng. Tiến trình chọn đường có thể giúp chọn đường dẫn có chi phí thấp nhất để giảm tổn thất kinh tế.
- Tính nhất quán và đảm bảo: Tiến trình chọn đường cũng đảm bảo tính nhất quán trong định tuyến. Nó đảm bảo rằng thông tin định tuyến không tạo ra vòng lặp và luôn tuân theo quy tắc của BGP.
- Chính sách định tuyến: BGP cho phép cấu hình các chính sách định tuyến tùy chỉnh. Tiến trình chọn đường phải cân nhắc các chính sách này khi quyết định đường dẫn tối ưu.
Tiến trình chọn đường trong BGP giúp đảm bảo định tuyến hiệu quả, tích hợp các yếu tố chính như chi phí, tối ưu hóa tải, tính nhất quán, và tuân thủ các chính sách định tuyến tùy chỉnh. Điều này quan trọng trong việc duy trì sự ổn định và hiệu suất của mạng lưới Internet và các mạng lớn.
Dưới đây là một tóm tắt về các thuộc tính quan trọng trong BGP (Border Gateway Protocol):
- Weight:
- Weight là một thuộc tính BGP đặc trưng cho Cisco routers.
- Nó được sử dụng để ưu tiên lựa chọn đường dẫn đến network destination.
- Weight không được chia sẻ với các neighbor BGP và chỉ ảnh hưởng tại router local.
- Local Preference:
- Local Preference (LocPrf) là một thuộc tính BGP sử dụng để ưu tiên đường dẫn network destination.
- Nó được truyền trong các thông điệp BGP cho các neighbor iBGP.
- Một giá trị Local Preference cao sẽ làm cho đường dẫn này trở nên ưu tiên hơn.
- AS-Path:
- AS-Path là một thuộc tính BGP quan trọng cho biết đường dẫn thông qua các Autonomous Systems (AS) trước khi đến network destination.
- AS-Path giúp ngăn chặn vòng lặp định tuyến và quyết định tính nhất quán trong định tuyến.
- Origin:
- Origin là thuộc tính BGP cho biết nguồn gốc của mạng, tức là xem nó được thông báo từ BGP neighbor, được cấu hình bằng tay hay là một dynamic interface.
- Các giá trị thông thường của Origin là IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), hoặc Incomplete (thông báo bằng tay).
- MED (Multi-Exit Discriminator):
- MED là một thuộc tính BGP cho phép AS upstream (AS mà bạn không quản lý) lựa chọn con đường để vào trong mạng của bạn nếu có nhiều lựa chọn.
- MED thường được sử dụng khi bạn có nhiều kết nối với các AS upstream và muốn kiểm soát đường dẫn mà các AS này sử dụng.
- IGP Cost (Interior Gateway Protocol Cost):
- IGP Cost là thuộc tính mà BGP sử dụng để ưu tiên các đường dẫn nếu tất cả các yếu tố khác bằng nhau.
- Nó thường ám chỉ cost của đường dẫn trong mạng IGP như OSPF hoặc EIGRP.
- Router-ID (Router Identifier):
- Router-ID là một định danh duy nhất của mỗi router BGP trong AS.
- Nó thường được sử dụng để định danh router trong các thông điệp BGP.
Mỗi thuộc tính BGP có vai trò quan trọng trong quá trình định tuyến và quản lý mạng lưới Internet hoặc mạng lớn. Sự hiểu biết và cấu hình chính xác các thuộc tính này có thể ảnh hưởng lớn đến hiệu suất và tính ổn định của mạng.
Bài sau chúng ta sẽ bắt đầu đi vào thực hành cấu hình chọn đường trong BGP từng thuộc tính cụ thể, nhưng bài này chúng ta sẽ cấu hình cơ bản trước, ví dụ như đặt IP, cấu hình BGP cơ bản để bài sau chúng ta bắt đầu đi thẳng vào cấu hình lựa chọn đường đi luôn.
2. Sơ đồ.
Sơ đồ chung của loạt bài tiến trình chọn đường trong BGP sẽ như dưới.
3. Yêu cầu.
- Bài lab gồm 4 router được thực hiện đấu nối và đặt địa chỉ IP như hình dưới.
- Trong bài lab này chúng ta sẽ thực hành cấu hình cơ bản BGP:
- Đặt IP cho các interface theo như quy hoạch IP trên hình.
- Chạy định tuyến OSPF Area 0 trên các thiết bị Router-1, Router-2 và Router-3. Đảm bảo rằng các subnet loopback được quảng bá đúng giá trị prefix – length của nó.
- Cấu hình để các cổng e0/0 trên Router-1 và Router-2 nhận giá trị OSFP cost 64.
- Các link đấu nối giữa Router-2 <-> Router-4 và Router-3 <-> Router-4 không được tham gia OSPF.
4. Cấu hình.
Trên Router-1.
configure terminal
hostname Router-1
no ip domain-lookup
no logging console
interface loopback 0
ip address 172.16.1.1 255.255.255.0
ip ospf network point-to-point
interface ethernet 0/0
no shutdown
ip address 172.16.12.1 255.255.255.0
ip ospf cost 64
interface ethernet 0/1
no shutdown
ip address 172.16.13.1 255.255.255.0
router ospf 1
network 172.16.12.1 0.0.0.0 area 0
network 172.16.13.1 0.0.0.0 area 0
network 172.16.1.1 0.0.0.0 area 0
Trên Router-2.
configure terminal
hostname Router-2
no ip domain-lookup
no logging console
interface loopback 0
ip address 172.16.2.1 255.255.255.0
ip ospf network point-to-point
interface ethernet 0/0
no shutdown
ip address 172.16.12.2 255.255.255.0
ip ospf cost 64
interface ethernet 0/1
no shutdown
ip address 172.16.24.2 255.255.255.0
router ospf 1
network 172.16.12.2 0.0.0.0 area 0
network 172.16.2.1 0.0.0.0 area 0
Trên Router-3.
configure terminal
hostname Router-3
no ip domain-lookup
no logging console
interface loopback 0
ip address 172.16.3.1 255.255.255.0
ip ospf network point-to-point
interface ethernet 0/0
no shutdown
ip address 172.16.13.3 255.255.255.0
interface ethernet 0/1
no shutdown
ip address 172.16.34.3 255.255.255.0
router ospf 1
network 172.16.13.3 0.0.0.0 area 0
network 172.16.3.1 0.0.0.0 area 0
Trên Router-4.
configure terminal
hostname Router-4
no ip domain-lookup
no logging console
interface loopback 0
ip address 172.16.4.1 255.255.255.0
interface loopback 1
ip address 172.16.44.1 255.255.255.0
interface ethernet 0/0
no shutdown
ip address 172.16.24.4 255.255.255.0
interface ethernet 0/1
no shutdown
ip address 172.16.34.4 255.255.255.0
5. Cấu hình ban đầu cho BGP.
- Cấu hình các thiết bị Router-1, Router-2 và Router-3 tham gia tiến trình BGP 100.
- Cấu hình iBGP full – mesh giữa các thiết bị của AS 100, sử dụng các địa chỉ IP trên các interface loopback 0 của Router-1, Router-2 và Router-3 để thực hiện peering.
- Trên các thiết bị Router-1, Router-2 và Router-3 lần lượt tạo các interface loopback 1 có địa chỉ 172.16.11.1/24, 172.16.22.1/24 và 172.16.33.1/24. Thực hiện cho các loopback này tham gia BGP trên Router-1, Router-2 và Router-3.
- Cấu hình Router-4 tham gia tiến trình BGP 200.
- Cấu hình eBPG peering giữa Router-2 và Router-4, Router-3 và Router-4 sử dụng các địa chỉ kết nối trực tiếp để thực hiện peering.
- Trên Router-4 cấu hình quảng bá các subnet trên các interface loopback vào BGP.
- Kiểm tra các loopback 1 của Router-1, Router-2, Router-3 và các loopback của Router-4 đã đi đến nhau được.
Trên Router-1.
configure terminal
interface loopback 1
ip address 172.16.11.1 255.255.255.0
router bgp 100
neighbor 172.16.2.1 remote-as 100
neighbor 172.16.2.1 update-source loopback 0
neighbor 172.16.3.1 remote-as 100
neighbor 172.16.3.1 update-source loopback 0
network 172.16.11.0 mask 255.255.255.0
Trên Router-2.
configure terminal
interface loopback 1
ip address 172.16.22.1 255.255.255.0
router bgp 100
neighbor 172.16.1.1 remote-as 100
neighbor 172.16.1.1 update-source loopback 0
neighbor 172.16.1.1 next-hop-self
neighbor 172.16.3.1 remote-as 100
neighbor 172.16.3.1 update-source loopback 0
neighbor 172.16.3.1 next-hop-self
neighbor 172.16.24.4 remote-as 200
network 172.16.22.0 mask 255.255.255.0
Trên Router-3.
configure terminal
interface loopback 1
ip address 172.16.33.1 255.255.255.0
router bgp 100
neighbor 172.16.1.1 remote-as 100
neighbor 172.16.1.1 update-source loopback 0
neighbor 172.16.1.1 next-hop-self
neighbor 172.16.2.1 remote-as 100
neighbor 172.16.2.1 update-source loopback 0
neighbor 172.16.2.1 next-hop-self
neighbor 172.16.34.4 remote-as 200
network 172.16.33.0 mask 255.255.255.0
Trên Router-4.
configure terminal
router bgp 200
neighbor 172.16.24.2 remote-as 100
neighbor 172.16.34.3 remote-as 100
network 172.16.4.0 mask 255.255.255.0
network 172.16.44.0 mask 255.255.255.0
Kiểm tra đối với Router-1.
Kết quả show bgp sum.
Router-1#show bgp sum
BGP router identifier 172.16.11.1, local AS number 100
BGP table version is 3, main routing table version 3
2 network entries using 280 bytes of memory
2 path entries using 160 bytes of memory
2/2 BGP path/bestpath attribute entries using 288 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 728 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
172.16.2.1 4 100 5 5 3 0 0 00:01:12 1
172.16.3.1 4 100 3 5 3 0 0 00:01:07 0
Kết quả show ip bgp.
Router-1#show ip bgp
BGP table version is 6, local router ID is 172.16.11.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i 172.16.4.0/24 172.16.2.1 0 100 0 200 i
*>i 172.16.3.1 0 100 0 200 i
*> 172.16.11.0/24 0.0.0.0 0 32768 i
*>i 172.16.22.0/24 172.16.2.1 0 100 0 i
*>i 172.16.33.0/24 172.16.3.1 0 100 0 i
* i 172.16.44.0/24 172.16.2.1 0 100 0 200 i
*>i 172.16.3.1 0 100 0 200 i
Kết quả khi ping.
Router-1#ping 172.16.22.1 source loopback 1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.22.1, timeout is 2 seconds:
Packet sent with a source address of 172.16.11.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Router-1#ping 172.16.33.1 source loopback 1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.33.1, timeout is 2 seconds:
Packet sent with a source address of 172.16.11.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Router-1#ping 172.16.44.1 source loopback 1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.44.1, timeout is 2 seconds:
Packet sent with a source address of 172.16.11.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
Router-1#ping 172.16.4.1 source loopback 1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.4.1, timeout is 2 seconds:
Packet sent with a source address of 172.16.11.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
Kiểm tra đối với Router-4.
Kết quả show ip bgp summary.
Router-4#show ip bgp summary
BGP router identifier 172.16.44.1, local AS number 200
BGP table version is 6, main routing table version 6
5 network entries using 700 bytes of memory
8 path entries using 640 bytes of memory
3/3 BGP path/bestpath attribute entries using 432 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 1796 total bytes of memory
BGP activity 5/0 prefixes, 8/0 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
172.16.24.2 4 100 9 9 6 0 0 00:02:43 3
172.16.34.3 4 100 9 10 6 0 0 00:02:55 3
Kết quả khi show ip bgp.
Router-4#show ip bgp
BGP table version is 6, local router ID is 172.16.44.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 172.16.4.0/24 0.0.0.0 0 32768 i
*> 172.16.11.0/24 172.16.24.2 0 100 i
* 172.16.34.3 0 100 i
*> 172.16.22.0/24 172.16.24.2 0 0 100 i
* 172.16.34.3 0 100 i
*> 172.16.33.0/24 172.16.24.2 0 100 i
* 172.16.34.3 0 0 100 i
*> 172.16.44.0/24 0.0.0.0 0 32768 i
Đây là phần cấu hình cơ bản về BGP để chuẩn bị cho loạt bài phía sau, đón xem tiếp nhé.