Có 3 thuộc tính ảnh hưởng đến hướng outbound của Enterprise, đó là:
- Weight
- Local Preference: LP
- AS_Path length
Trong phạm vi bài này, chúng ta sẽ tìm hiểu ảnh hưởng của Weight đến tiến trình lựa chọn best path của BGP.
Chúng ta cùng tìm hiểu một số đặc điểm của Weight trong BGP
- Nếu đứng từ phía Enterprise, thuộc tính này sẽ ảnh hưởng đến chiều outbound, tức là ảnh hưởng đến hướng ra Internet của Enterprise.
- Khi router nhận được BGP Update, router sẽ set weight cho tuyến sử dụng route map hoặc set weight cho tất cả các tuyến học từ một neighbor.
- Router sẽ ưu tiên lựa chọn tuyến có weight lớn hơn làm best route.
- Đây là thuộc tính chỉ có trên thiết bị của Cisco (Cisco-proprietary). Vì lý do này, Weight không được công nhận là một BGP PA, tuy nhiên nó vẫn được xem xét đến trong quá trình lựa chọn đường đi tốt nhất của các router Cisco.
- Khi cấu hình thuộc tính này trên một router thì nó chỉ có ý nghĩa local trên router đó bởi vì thuộc tính này sẽ không được mang đi trong gói BGP Update.
- Bảng dưới đây liệt kê một số đặc điểm của weight:
| Đặc tính | Mô tả |
| Có phải PA không? | Không. Chỉ có trên thiết bị của Cisco |
| Mục đích | Xác định BGP best path |
| Phạm vi | Cấu hình weight cho inbound route Update, tức là các route nhận được từ hàng xóm. |
| Dải giá trí | 0 – 65535 (2^16-1) |
| Cách lựa chọn | Ưu tiên lựa chọn tuyến có weight cao hơn |
| Giá trị mặc định | 0 đối với tuyến học được32768 đối với locally injected routes, tức là những tuyến do bản thân router quảng bá đi bằng lệnh network hoặc tuyến được router redistribute từ các giao thức định tuyến khác vào BGP. |
| Có thể thay đổi giá trị mặc định không? | Không |
Để hiểu rõ hơn ý nghĩa của weight, ta xét một ví dụ như sau:

Enterprise có 1 router là E1, router E1 kết nối đến 2 ISP là ISP1 (router I1-1) và ISP3 (router I3-1):
- E1 và I1-1 thiết lập quan hệ hàng xóm eBGP bằng cặp địa chỉ loopback 11.11.11.11 và 1.1.1.1
- E1 và I3-1 thiết lập quan hệ hàng xóm eBGP bằng cặp địa chỉ kết nối trực tiếp 192.168.1.1 và 192.168.1.2
- Hai ISP router quảng bá 5 prefix giống nhau đến E1: 181.0.0.0/8 đến 185.0.0.0/8

Ban đầu không có tác động gì để thay đổi các thuộc tính của BGP trên các router. E1 sẽ học được tất cả các tuyến từ 181.0.0.0/8 đến 185.0.0.0/8 do các ISP quảng bá đến. Tuy nhiên, với mỗi prefix, E1 chỉ chọn một tuyến làm tuyến tốt nhất, hoặc là đi qua ISP1, hoặc là đi qua ISP2.

Note: để hiểu thêm ý nghĩa của option longer-prefixes, hãy xem link sau:
Ý nghĩa của option longer_prefixes
- E1 lựa chọn đường đến mạng 181 và 182 qua next-hop I1-1: dựa vào thuộc tính AS_Path, hiển nhiên thấy được
- E1 lựa chọn đường đến mạng 184 và 185 qua next-hop I3-1: dựa vào thuộc tính AS_Path, hiển nhiên thấy được
- E1 lựa chọn đường đến mạng 182 qua next-hop I1-1. Tại sao lại như vậy? Cùng phân tích các bước lựa chọn best path của BGP để biết lý do tại sao:
Bước 0: E1 có khả năng đạt đến nexthop của cả 2 tuyến (nexthop 1.1.1.1 và nexthop 192.168.1.2)
Bước 1: Vì chưa can thiệp gì đến các thông số của BGP nên E1 nhận thấy weight của cả 2 tuyến đều có giá trị mặc định bằng 0
Bước 2: LP của cả 2 tuyến đều có giá trị mặc định bằng 0
Bước 3: Cả 2 tuyến đều được học bởi eBGP, chứ không phải là local injected route. Local injected route là tuyến do chính router quảng bá vào BGP dùng lệnh network hoặc do chính router redistribute từ các giao thức định tuyến khác vào BGP.
Bước 4: AS_Path length của 2 tuyến đều bằng 4
Bước 5: Cả 2 tuyến đều có type code là “i”
Bước 6: MED của cả 2 tuyến đều bằng 0
Bước 7: Cả 2 tuyến đều được học thông qua eBGP
Bước 8: IGP metric không được áp dụng, E1 đến next-hop 1.1.1.1 thông qua static route
Bước 9: Lựa chọn tuyến đi qua next-hop 1.1.1.1 và đây là oldest route. Nghĩa là E1 học được tuyến đi qua next-hop 1.1.1.1 trước khi học được tuyến đi qua next-hop 182.168.1.2
Để hiểu rõ hơn về ảnh hưởng của bước 9, ta thực hiện clear hàng xóm 1.1.1.1 trên router E1.

Sau khi thực hiện lệnh clear ip bgp 1.1.1.1 trên E1 thì router E1 và I1-1 sẽ thực hiện lại toàn bộ các bước để thiết lập quan hệ hàng xóm BGP với nhau, router I1-1 cũng sẽ thực hiện lại việc quảng bá tuyến 183.0.0.0/8 –> tuyến đường đến mạng 183.0.0.0/8 đi qua next-hop I1-1 lúc này sẽ mới hơn tuyến đường đến mạng 183.0.0.0/8 đi qua next-hop I3-1 –> tuyến đường đi qua next-hop I3-1 sẽ được lựa chọn làm best route.

Tiếp theo chúng ta sẽ thực hiện thay đổi weight của tuyến để thấy được ảnh hưởng của weight đến việc lựa chọn best route trong BGP.
Cấu hình trên E1:

Bước 1: tạo 1 prefix-list có tên là match-181, prefix-list này sẽ permit duy nhất prefix 181.0.0.0/8, deny tất cả các prefix khác.
Bước 2: tạo một route-map có tên là set-weight-50.
- Entry thứ nhất của route-map này có số sequence bằng 10, kiểu permit, thực hiện action như sau: nếu prefix nhận được thỏa mãn prefix-list match-181 thì set weight cho prefix đó bằng 50.
- Entry thứ hai của route-map này có số sequence bằng 20, kiểu permit, và không chỉ rõ nội dung của cặp {match, set}. Vì vậy ta hiểu rằng entry này sẽ chấp nhận tất cả các prefix khác. Nếu không có entry này thì router sẽ loại bỏ tất cả các prefix khác 181.0.0.0/8 bởi vì entry mặc định cuối cùng của route-map sẽ là deny all.
Bước 3: vào tiến trình BGP, apply route-map set-weight-50 đối với hàng xóm 192.168.1.2 theo chiều in. Nghĩa là đối với mỗi bản tin BGP Update nhận được từ hàng xóm 192.168.1.2 (chiều in) thì router E1 sẽ áp dụng route-map set-weight-50.
Sau khi cấu hình các lệnh như trên, thực hiện lệnh clear ip bgp 192.168.1.2 soft trên E1 –> E1 và I3-1 sẽ thực hiện trao đổi lại các bản tin BGP Update. E1 nhận được bản tin BGP Update cho prefix 181.0.0.0/8 từ hàng xóm I3-1 sẽ set weight cho prefix này bằng 50, lớn hơn giá trị weight mặc định (bằng 0) của tuyến nhận được từ hàng xóm I1-1 –> E1 sẽ lựa chọn tuyến đường đi qua next-hop I3-1 để đến prefix 181.0.0.0/8 là tuyến tốt nhất. Đây chính là lý do vì sao nói weitgh ảnh hưởng đến hướng outbound của router. Apply route-map theo chiều in nhưng lại ảnh hưởng đến hướng outbound.

Weight chỉ được set khi E1 nhận được tuyến từ I3-1. Trước khi thực hiện route-map, tuyến 181.0.0.0/8 vẫn có weight bằng 0:

Sau khi thực hiện route-map, E1 sẽ set weight cho tuyến 181.0.0.0/8 bằng 50:

Chúng ta có thể set weight cho tất cả các tuyến học được từ một neighbor bằng lệnh neighbor weight. Tiếp tục với ví dụ trên, trên E1, set weight cho tất cả các tuyến do I1-1 quảng bá bằng 60.

Sau khi thực hiện clear soft thì tất cả các tuyến do I1-1 quảng bá cho E1 sẽ được E1 set weight bằng 60.

E1 có thể đến mạng 181 qua 2 đường nhưng nó sẽ lựa chọn đường đi qua I1-1 bởi vì đường này có weight tốt hơn.
Hi vọng bài viết trên sẽ giúp các bạn hiểu rõ hơn về ảnh hưởng của Weight đến quyết định lựa chọn best route của BGP.
Tài liệu tham khảo:
- CCNP Route 642-902, Chapter 15, BGP Path Control