MỤC LỤC
Khi có nhiều hơn một tuyến tới một đích, tuyến có thuộc tính LOCAL_PREF cao nhất (khi các weight bằng nhau) sẽ được lựa chọn là tuyến tốt nhất. Mặc định LOCAL_PREF có giá trị 100 và giá trị cao hơn sẽ được ưu tiên sử dụng là tham số quyết định tuyến tới đích (khi weight bằng nhau).
Do đó ta phải cấu hình cho các router còn lại trong AS biết được chính router ở biên cùng AS với nó là router Next Hop chứ không phải là router khác AS. Tuy nhiên nếu router D thay đổi địa chỉ nguồn thành địa chỉ của chính nó, sẽ có một sự nhầm lẫn xảy ra vì trong môi trường đa truy cập, mọi router sẽ công bố nó là NEXT_HOP.
Chỉ một số AS có thể được gán tới nhà cung cấp dịch vụ, vì thế chỉ một tiến trình BGP được thiết lập trên một router. Với EBGP các hàng xóm có kết nối trực tiếp với nhau vì thế giao diện được sử dụng chỉ có một kết nối trực tiếp đến hàng xóm của nó.
Định dạng chung phần tiêu đề của thông báo BGP bao gồm các trường thông tin sau : trường đánh dấu 16 byte, trường độ dài 2 byte và trường kiểu 1 byte. - Trường đánh dấu (Marker field): Trường này có độ dài 16 byte được sử dụng cho mục đích chứng thực các thông báo BGP đến hoặc để dò tìm sự mất đồng bộ giữa 2 hàng xóm.
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. 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á. 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. 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. 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.
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. 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. 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.
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. Đ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. 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.
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. Chính điều này khiến các IBGP routers cần một cấu hình full mesh , tất cả các routers chạy IBGP đều cần có kết nối đến tất cả các router khác chạy IBGP trong cùng. Tuy nhiên chúng ta sử dụng địa chỉ ở các giao diện vật lí để thiết lập mối quan hệ hàng xóm giữa các router vì thế khi các giao diện vật lí gặp lỗi cũng sẽ khiến cho kết nối BGP lỗi theo.
Như đã nói ở trên các IBGP hàng xóm không cần một kết nối vật lí để thiết lập mối quan hệ. Để giải quyết vấn đề này BGP cũng như các giao thức IGPs đưa ra giải pháp về địa chỉ loopback. Một vấn đề nữa đặt ra khi sử dụng IBGP là việc thực hiện một cấu hình full mesh giữa các router.
Số kết nối IBGP cần thiết cho một full mesh dựa vào số lượng IBGP router và được cho bởi công thức.
Thay vào đó, các router này sẽ không nhận biết được bất cứ thay đổi nào vì nó vẫn nhận được các cập nhật mà nó cần. Bản thân các cập nhật định tuyến cũng không bị thay đổi bởi vì không có sự thay đổi nào trong giá trị các thuộc tính được mang trong các cập nhật định tuyến. Chính vì các đặc điểm trên, quá trình chuyển đổi thiết kế một hệ thống mạng nào đó sang dạng dùng route-reflector thì rất dễ dàng.
Thiết kế như vậy khá phức tạp và yêu cầu xem xét cẩn thận bởi vì khi các route-reflector được cấu hình và split horizon bị hủy bỏ, không còn một cơ chế nào để bảo vệ và chống loop. - Hội tụ nhanh hơn và mạng trở nên đơn giản hơn bởi vì có đến hai giao thức định tuyến được dùng: IBGP cho các thông tin định tuyến bên ngoài đi qua AS; IGP cho các router bên trong một AS. Một Route Reflector đơn giản giống như một tấm gương để phản hồi các bản cập nhật định tuyến từ các client đến các client khác mà không yêu cầu một mạng phải full mesh.
Hai phương pháp trên có thể sử dụng riêng rẽ hoặc có thể kết hợp với nhau. Tuy nhiên sự kết hợp giữa hai phương pháp trên sẽ kéo theo một cấu hình phức tạp gây khó khăn cho quản trị viên.
Quá trình chọn tuyến được mô tả theo thứ tự ưu tiên giữa các thuộc tính như sau : Khi các tuyến được nhận bởi các BGP router việc đầu tiên nó làm là kiểm tra thuộc tính NEXT_HOP. Với các tuyến được nhận từ các IBGP hàng xóm, ngoài việc kiểm tra thuộc tính NEXT_HOP router sẽ kiểm tra luật đồng bộ trên router. Nếu luật đồng bộ được cho phép hoạt động trên router thì các tuyến không đồng bộ sẽ bị từ chối cập nhật vào bảng định tuyến.
Sau khi đã kiểm tra và tất cả các điều kiện trên đều thỏa mãn quá trình chọn tuyến trong BGP sẽ được thực hiện dựa trên mức độ ưu tiên giữa các thuộc. - Ưu tiên tuyến có thuộc tính WEIGHT cao nhất (Chỉ có tác dụng trên router) - Ưu tiên tuyến có thuộc tính LOCAL_PREF cao nhất (Thuộct tính này có tác dụng trong một AS). - Ưu tiên những đường đi có IGP metric thấp nhất đến BGP NEXT_HOP - Ưu tiên những đường đi đến từ BGP router có routerID nhỏ nhất.
- Ưu tiên các tuyến có nguồn gốc thấp nhất theo thứ tự ưu tiên IGP, EGP và INCOMPLETE. - Ưu tiên tuyến có thuộc tính MED (metric) thấp nhất (thuộc tính này có giá trị giữa các AS khác nhau ). Trên các thiết bị của Cisco quá trình tóm tắt tuyến được thực hiện bởi câu lệnh aggregate-address.
Tuyến tóm tắt được quảng bá tới hai router A và C đồng thời các tuyến nằm trong tuyến tóm tắt đó cũng được quảng bá. Đây là điểm khác của BGP so với các giao thức IGPs vì các giao thức IGPs chỉ quảng bá các tuyến tóm tắt mà không quảng bá các tuyến con nằm trong tuyến tóm tắt ấy. Tuy nhiên các thiết bị của Cisco cũng cho phép chỉ quảng bá tuyến tóm tắt mà không quảng bá các tuyến con bằng cách thêm từ khóa summary-only trong câu lệnh aggregate-address.
Việc thiết kế các thông tin định tuyến được chuyển đi như thế nào cũng được xem là một tác vụ cơ bản của bảo mật mạng và điều này giúp cho giảm nguy cơ bị routing-loop. - Ra quyết định dựa trên thuộc tính AS_PATH, thuộc tính community hoặc prefix - Từ chối hay chấp nhận các tuyến được chọn. Mặc dù distribute-list thường được dùng trong redistribution, công cụ này không chỉ dành riêng cho quá trình redistribution.
Trước khi áp dụng một prefix-list vào một quá trình hay một cổng giao tiếp, người quản trị phải định nghĩa các tiêu chí cho access-list. Như vậy, nếu cho trước một tuyến mà tuyến này không phù hợp với một đầu vào trong prefix-list, prefix sẽ bị từ chối theo luật mặc định. - Nếu có nhiều đầu vào trong một prefix list phù hợp với một tuyến, đầu vào có chỉ số sequence number nhỏ nhất sẽ được dùng.