BGP hoạt động như thế nào

Hôm nay chúng ta sẽ xem xét giao thức BGP. Chúng ta sẽ không nói nhiều về lý do tại sao nó như vậy và tại sao nó được sử dụng làm giao thức duy nhất. Có khá nhiều thông tin về chủ đề này, ví dụ đây.

Vậy BGP là gì? BGP là giao thức định tuyến động và là giao thức EGP (Giao thức cổng ngoài) duy nhất. Giao thức này được sử dụng để xây dựng định tuyến trên Internet. Hãy xem cách xây dựng một vùng lân cận giữa hai bộ định tuyến BGP.

BGP hoạt động như thế nào
Hãy xem xét vùng lân cận giữa Router1 và Router3. Hãy cấu hình chúng bằng các lệnh sau:

router bgp 10
  network 192.168.12.0
  network 192.168.13.0
  neighbor 192.168.13.3 remote-as 10

router bgp 10
  network 192.168.13.0
  network 192.168.24.0
  neighbor 192.168.13.1 remote-as 10

Vùng lân cận trong một hệ thống tự trị duy nhất là AS 10. Sau khi nhập thông tin vào bộ định tuyến, chẳng hạn như Bộ định tuyến 1, bộ định tuyến đó sẽ cố gắng thiết lập mối quan hệ lân cận với Bộ định tuyến 3. Trạng thái ban đầu khi không có gì xảy ra được gọi là Nhàn rỗi. Ngay khi bgp được cấu hình trên Router1, nó sẽ bắt đầu lắng nghe cổng TCP 179 - nó sẽ chuyển sang trạng thái Kết nốivà khi nó cố gắng mở một phiên làm việc với Router3, nó sẽ chuyển sang trạng thái hoạt động.

Sau khi phiên được thiết lập giữa Router1 và Router3, các tin nhắn Mở sẽ được trao đổi. Khi tin nhắn này được gửi bởi Router1, trạng thái này sẽ được gọi Mở đã gửi. Và khi nhận được tin nhắn Open từ Router3, nó sẽ chuyển sang trạng thái Mở xác nhận. Chúng ta hãy xem xét kỹ hơn thông báo Mở:

BGP hoạt động như thế nào
Thông báo này truyền tải thông tin về chính giao thức BGP mà bộ định tuyến sử dụng. Bằng cách trao đổi các tin nhắn Mở, Router1 và Router3 truyền đạt thông tin về cài đặt của chúng với nhau. Các tham số sau đây được thông qua:

  • phiên bản: điều này bao gồm phiên bản BGP mà bộ định tuyến đang sử dụng. Phiên bản hiện tại của BGP là phiên bản 4 được mô tả trong RFC 4271. Hai bộ định tuyến BGP sẽ cố gắng đàm phán một phiên bản tương thích, khi có sự không khớp thì sẽ không có phiên BGP.
  • Tôi như: điều này bao gồm số AS của bộ định tuyến BGP, các bộ định tuyến sẽ phải đồng ý về (các) số AS và nó cũng xác định liệu chúng sẽ chạy iBGP hay eBGP.
  • Giữ thời gian: nếu BGP không nhận được bất kỳ thông báo lưu giữ hoặc cập nhật nào từ phía bên kia trong suốt thời gian lưu giữ thì nó sẽ tuyên bố bên kia 'đã chết' và nó sẽ phá bỏ phiên BGP. Theo mặc định, thời gian lưu giữ được đặt thành 180 giây trên bộ định tuyến Cisco IOS, thông báo lưu giữ được gửi sau mỗi 60 giây. Cả hai bộ định tuyến phải đồng ý về thời gian chờ nếu không sẽ không có phiên BGP.
  • Mã định danh BGP: đây là ID bộ định tuyến BGP cục bộ được bầu giống như OSPF:
    • Sử dụng ID bộ định tuyến đã được định cấu hình thủ công bằng lệnh bgp router-id.
    • Sử dụng địa chỉ IP cao nhất trên giao diện loopback.
    • Sử dụng địa chỉ IP cao nhất trên giao diện vật lý.
  • Các thông số tùy chọn: ở đây bạn sẽ tìm thấy một số khả năng tùy chọn của bộ định tuyến BGP. Trường này đã được thêm để có thể thêm các tính năng mới vào BGP mà không cần phải tạo phiên bản mới. Những điều bạn có thể tìm thấy ở đây là:
    • hỗ trợ MP-BGP (BGP đa giao thức).
    • hỗ trợ làm mới tuyến đường.
    • hỗ trợ số AS 4 octet.

Để thành lập khu phố cần phải đáp ứng các điều kiện sau:

  • Số phiên bản. Phiên bản hiện tại là 4.
  • Số AS phải khớp với những gì bạn đã cấu hình hàng xóm 192.168.13.3 từ xa-as 10.
  • ID bộ định tuyến phải khác với hàng xóm.

Nếu bất kỳ tham số nào không thỏa mãn các điều kiện này, bộ định tuyến sẽ gửi Thông báo thông báo cho biết lỗi. Sau khi gửi và nhận tin nhắn Open, mối quan hệ lân cận sẽ chuyển sang trạng thái THÀNH LẬP. Sau đó, các bộ định tuyến có thể trao đổi thông tin về các tuyến đường và thực hiện việc này bằng cách sử dụng Cập nhật tin nhắn. Đây là thông báo Cập nhật được gửi bởi Router1 đến Router3:

BGP hoạt động như thế nào

Tại đây, bạn có thể xem các mạng được báo cáo bởi thuộc tính Router1 và Path, tương tự như số liệu. Chúng ta sẽ nói về các thuộc tính Đường dẫn chi tiết hơn. Các tin nhắn Keepalive cũng được gửi trong phiên TCP. Theo mặc định, chúng được truyền đi sau mỗi 60 giây. Đây là một bộ đếm thời gian Keepalive. Nếu không nhận được tin nhắn Keepalive trong thời gian Hẹn giờ giữ, điều này có nghĩa là mất liên lạc với hàng xóm. Theo mặc định, nó bằng 180 giây.

Dấu hiệu hữu ích:

BGP hoạt động như thế nào

Có vẻ như chúng ta đã tìm ra cách các bộ định tuyến truyền thông tin với nhau, bây giờ chúng ta hãy thử tìm hiểu logic của giao thức BGP.

Để quảng cáo một tuyến đường tới bảng BGP, như trong các giao thức IGP, lệnh mạng được sử dụng, nhưng logic hoạt động thì khác. Nếu trong IGP, sau khi chỉ định tuyến đường trong lệnh mạng, IGP sẽ xem xét các giao diện nào thuộc mạng con này và đưa chúng vào bảng của nó, thì lệnh mạng trong BGP sẽ nhìn vào bảng định tuyến và tìm kiếm точное khớp với tuyến đường trong lệnh mạng. Nếu tìm thấy, những tuyến đường này sẽ xuất hiện trong bảng BGP.

Tìm tuyến đường trong bảng định tuyến IP hiện tại của bộ định tuyến khớp chính xác với các tham số của lệnh mạng; nếu tuyến IP tồn tại, hãy đặt NLRI tương đương vào bảng BGP cục bộ.

Bây giờ, hãy nâng BGP lên tất cả những cái còn lại và xem tuyến đường được chọn trong một AS như thế nào. Sau khi bộ định tuyến BGP nhận được các tuyến từ hàng xóm của nó, nó bắt đầu chọn tuyến tối ưu. Ở đây bạn cần hiểu có thể có những loại hàng xóm nào - bên trong và bên ngoài. Bộ định tuyến có hiểu được cấu hình xem hàng xóm được định cấu hình là bên trong hay bên ngoài không? Nếu ở trong một đội:

neighbor 192.168.13.3 remote-as 10 

Tham số remote-as chỉ định AS, được cấu hình trên chính bộ định tuyến trong lệnh router bgp 10. Các tuyến đến từ AS bên trong được coi là bên trong và các tuyến từ AS bên ngoài được coi là bên ngoài. Và đối với mỗi loại, một logic nhận và gửi khác nhau sẽ hoạt động. Hãy xem xét cấu trúc liên kết này:

BGP hoạt động như thế nào

Mỗi bộ định tuyến có giao diện loopback được định cấu hình với ip: xxxx 255.255.255.0 - trong đó x là số bộ định tuyến. Trên Router9 chúng ta có giao diện loopback với địa chỉ - 9.9.9.9 255.255.255.0. Chúng tôi sẽ thông báo nó qua BGP và xem nó lan truyền như thế nào. Tuyến đường này sẽ được truyền đến Router8 và Router12. Từ Router8, tuyến đường này sẽ đi đến Router6, nhưng đến Router5 thì nó sẽ không có trong bảng định tuyến. Ngoài ra trên Router12 tuyến đường này sẽ xuất hiện trong bảng, nhưng trên Router11 nó cũng sẽ không có ở đó. Hãy thử tìm hiểu điều này. Hãy xem xét dữ liệu và thông số nào mà Router9 truyền đến các hàng xóm của nó, báo cáo tuyến đường này. Gói bên dưới sẽ được gửi từ Router9 đến Router8.

BGP hoạt động như thế nào
Thông tin tuyến đường bao gồm các thuộc tính Đường dẫn.

Thuộc tính đường dẫn được chia thành 4 loại:

  1. nổi tiếng bắt buộc - Tất cả các router chạy BGP đều phải nhận biết các thuộc tính này. Phải có mặt trong tất cả các bản cập nhật.
  2. Tùy ý nổi tiếng - Tất cả các router chạy BGP đều phải nhận biết các thuộc tính này. Chúng có thể hiện diện trong các bản cập nhật, nhưng sự hiện diện của chúng là không bắt buộc.
  3. Tùy chọn chuyển tiếp - có thể không được tất cả các triển khai BGP công nhận. Nếu bộ định tuyến không nhận ra thuộc tính, nó sẽ đánh dấu bản cập nhật là một phần và chuyển tiếp nó đến các hàng xóm của nó, lưu trữ thuộc tính không được nhận dạng.
  4. Tùy chọn không chuyển tiếp - có thể không được tất cả các triển khai BGP công nhận. Nếu bộ định tuyến không nhận ra thuộc tính thì thuộc tính đó sẽ bị bỏ qua và loại bỏ khi chuyển sang hàng xóm.

Ví dụ về thuộc tính BGP:

  • nổi tiếng bắt buộc:
    • Đường dẫn hệ thống tự trị
    • Bước tiếp theo
    • Xuất xứ

  • Tùy ý nổi tiếng:
    • Tùy chọn địa phương
    • Tổng hợp nguyên tử
  • Tùy chọn chuyển tiếp:
    • Bộ tổng hợp
    • Cộng đồng
  • Tùy chọn không chuyển tiếp:
    • Bộ phân biệt đa lối thoát (MED)
    • ID người khởi tạo
    • Danh sách cụm

Trong trường hợp này, bây giờ chúng ta sẽ quan tâm đến Origin, Next-hop, AS Path. Vì tuyến đường truyền giữa Router8 và Router9, tức là trong một AS, nên nó được coi là nội bộ và chúng ta sẽ chú ý đến Origin.

Thuộc tính Origin - cho biết cách lấy được tuyến đường trong bản cập nhật. Các giá trị thuộc tính có thể có:

  • 0 - IGP: NLRI nhận được trong hệ thống tự trị ban đầu;
  • 1 - EGP: NLRI được học bằng Giao thức cổng bên ngoài (EGP). Tiền thân của BGP, không được sử dụng
  • 2 - Chưa đầy đủ: NLRI đã được học theo cách khác

Trong trường hợp của chúng tôi, như có thể thấy từ gói, nó bằng 0. Khi tuyến này được truyền đến Router12, mã này sẽ có mã là 1.

Tiếp theo, Bước nhảy tiếp theo. Thuộc tính bước nhảy tiếp theo

  • Đây là địa chỉ IP của bộ định tuyến eBGP mà đường dẫn đến mạng đích đi qua.
  • Thuộc tính thay đổi khi tiền tố được gửi đến AS khác.

Trong trường hợp của iBGP, nghĩa là trong một AS, Next-hop sẽ được chỉ định bởi người đã học hoặc được thông báo về tuyến đường này. Trong trường hợp của chúng tôi, nó sẽ là 192.168.89.9. Nhưng khi tuyến đường này được truyền từ Router8 sang Router6 thì Router8 sẽ thay đổi và thay thế bằng tuyến đường của chính nó. Bước nhảy tiếp theo sẽ là 192.168.68.8. Điều này dẫn chúng ta đến hai quy tắc:

  1. Nếu một bộ định tuyến chuyển tiếp một tuyến đến hàng xóm nội bộ của nó, nó sẽ không thay đổi tham số Next-hop.
  2. Nếu một bộ định tuyến truyền một tuyến đến hàng xóm bên ngoài của nó, nó sẽ thay đổi Next-hop thành ip của giao diện mà bộ định tuyến này truyền tải.

Điều này giúp chúng ta hiểu được vấn đề đầu tiên - Tại sao sẽ không có tuyến đường nào trong bảng định tuyến trên Router5 và Router11. Chúng ta hãy xem xét kỹ hơn. Như vậy, Router6 đã nhận được thông tin về Route 9.9.9.0/24 và thêm thành công vào bảng định tuyến:

Router6#show ip route bgp
Codes: L - local, C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      9.0.0.0/24 is subnetted, 1 subnets
B        9.9.9.0 [20/0] via 192.168.68.8, 00:38:25<source>
Теперь Router6 передал маршрут Router5 и первому правилу Next-hop не изменил. То есть, Router5 должен добавить  <b>9.9.9.0 [20/0] via 192.168.68.8</b> , но у него нет маршрута до 192.168.68.8 и поэтому данный маршрут добавлен не будет, хотя информация о данном маршруте будет храниться в таблице BGP:

<source><b>Router5#show ip bgp
BGP table version is 1, local router ID is 5.5.5.5
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 9.9.9.0/24       192.168.68.8             0    100      0 45 i</b>

Tình trạng tương tự sẽ xảy ra giữa Router11-Router12. Để tránh tình trạng này, bạn cần định cấu hình Router6 hoặc Router12, khi truyền tuyến đến các hàng xóm nội bộ của chúng, để thay thế địa chỉ IP của chúng thành Next-hop. Điều này được thực hiện bằng lệnh:

neighbor 192.168.56.5 next-hop-self

Sau lệnh này, Router6 sẽ gửi một thông báo Cập nhật, trong đó ip của giao diện Gi0/0 Router6 sẽ được chỉ định là Next-hop cho các tuyến - 192.168.56.6, sau đó tuyến này sẽ được đưa vào bảng định tuyến.

Hãy đi xa hơn và xem tuyến đường này có xuất hiện trên Router7 và Router10 hay không. Nó sẽ không có trong bảng định tuyến và chúng ta có thể nghĩ rằng vấn đề tương tự như vấn đề đầu tiên với tham số Next-hop, nhưng nếu nhìn vào đầu ra của lệnh show ip bgp, chúng ta sẽ thấy rằng tuyến đường không được nhận ở đó ngay cả khi chọn sai Next-hop, điều đó có nghĩa là tuyến đường đó thậm chí còn không được truyền đi. Và điều này sẽ dẫn chúng ta đến sự tồn tại của một quy luật khác:

Các tuyến nhận được từ các hàng xóm nội bộ không được truyền bá đến các hàng xóm nội bộ khác.

Vì Router5 nhận được tuyến đường từ Router6 nên nó sẽ không được truyền đến hàng xóm bên trong khác. Để việc chuyển tiền diễn ra, bạn cần cấu hình chức năng Phản ánh tuyến đường, hoặc định cấu hình các mối quan hệ lân cận được kết nối đầy đủ (Full Mesh), tức là Router5-7 mọi người sẽ là hàng xóm của mọi người. Trong trường hợp này chúng ta sẽ sử dụng Route Reflector. Trên Router5 bạn cần sử dụng lệnh này:

neighbor 192.168.57.7 route-reflector-client

Route-Reflector thay đổi hành vi của BGP khi truyền một tuyến đến một láng giềng nội bộ. Nếu hàng xóm nội bộ được chỉ định là tuyến đường-phản ánh-khách hàng, thì các tuyến nội bộ sẽ được quảng cáo tới các khách hàng này.

Tuyến đường không xuất hiện trên Router7? Đừng quên Next-hop nữa. Sau những thao tác này, tuyến đường cũng sẽ đến Router7, nhưng điều này không xảy ra. Điều này đưa chúng ta đến một quy tắc khác:

Quy tắc bước nhảy tiếp theo chỉ hoạt động đối với các tuyến Bên ngoài. Đối với các tuyến nội bộ, thuộc tính next-hop không được thay thế.

Và chúng ta gặp phải tình huống cần tạo một môi trường sử dụng giao thức định tuyến tĩnh hoặc IGP để thông báo cho các bộ định tuyến về tất cả các tuyến trong AS. Hãy đăng ký các tuyến tĩnh trên Router6 và Router7 và sau đó chúng ta sẽ nhận được tuyến đường mong muốn trong bảng bộ định tuyến. Trong AS 678, chúng tôi sẽ thực hiện hơi khác một chút - chúng tôi sẽ đăng ký các tuyến tĩnh cho 192.168.112.0/24 trên Router10 và 192.168.110.0/24 trên Router12. Tiếp theo, chúng ta sẽ thiết lập mối quan hệ lân cận giữa Router10 và Router12. Chúng tôi cũng sẽ định cấu hình Router12 để gửi bước nhảy tiếp theo của nó tới Router10:

neighbor 192.168.110.10 next-hop-self

Kết quả sẽ là Router10 sẽ nhận được Route 9.9.9.0/24, nó sẽ nhận được từ cả Router7 và Router12. Hãy xem Router10 đưa ra lựa chọn nào:

Router10#show ip bgp
BGP table version is 3, local router ID is 6.6.6.6
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 9.9.9.0/24       192.168.112.12           0    100       0      45 i

                               192.168.107.7                                0     123 45 i  

Như chúng ta có thể thấy, hai tuyến đường và một mũi tên (>) có nghĩa là tuyến đường qua 192.168.112.12 đã được chọn.
Hãy xem quá trình lựa chọn tuyến đường hoạt động như thế nào:

  1. Bước đầu tiên khi nhận được một tuyến đường là kiểm tra tính khả dụng của Next-hop của nó. Đó là lý do tại sao khi chúng tôi nhận được một tuyến đường trên Router5 mà không thiết lập Next-hop-self, tuyến đường này không được xử lý thêm.
  2. Tiếp theo là tham số Trọng lượng. Tham số này không phải là Thuộc tính đường dẫn (PA) và không được gửi trong tin nhắn BGP. Nó được cấu hình cục bộ trên mỗi bộ định tuyến và chỉ được sử dụng để thao tác lựa chọn tuyến đường trên chính bộ định tuyến đó. Hãy xem một ví dụ. Ngay phía trên bạn có thể thấy Router10 đã chọn tuyến cho 9.9.9.0/24 qua Router12 (192.168.112.12). Để thay đổi tham số Wieght, bạn có thể sử dụng bản đồ lộ trình để đặt các tuyến đường cụ thể hoặc gán trọng số cho hàng xóm của nó bằng lệnh:
     neighbor 192.168.107.7 weight 200       

    Bây giờ tất cả các tuyến đường từ hàng xóm này sẽ có trọng số này. Hãy xem việc lựa chọn tuyến đường thay đổi như thế nào sau thao tác này:

    Router10#show bgp
    *Mar  2 11:58:13.956: %SYS-5-CONFIG_I: Configured from console by console
    BGP table version is 2, local router ID is 6.6.6.6
    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
     *>  9.9.9.0/24       192.168.107.7                        200      123 45 i
     * i                          192.168.112.12           0          100      0 45 i

    Như bạn có thể thấy, tuyến đường qua Router7 hiện đã được chọn, nhưng điều này sẽ không có bất kỳ ảnh hưởng nào đến các bộ định tuyến khác.

  3. Ở vị trí thứ ba, chúng tôi có Tùy chọn địa phương. Tham số này là thuộc tính tùy ý Nổi tiếng, có nghĩa là sự hiện diện của nó là tùy chọn. Tham số này chỉ hợp lệ trong một AS và chỉ ảnh hưởng đến việc lựa chọn đường dẫn cho các AS bên trong. Đó là lý do tại sao nó chỉ được truyền trong các bản tin Cập nhật dành cho hàng xóm nội bộ. Nó không có trong thông báo Cập nhật cho hàng xóm bên ngoài. Vì vậy, nó được xếp vào loại Nổi tiếng tùy ý. Hãy thử áp dụng nó trên Router5. Trên Router5, chúng ta nên có hai tuyến cho 9.9.9.0/24 - một qua Router6 và tuyến thứ hai qua Router7.

    Chúng ta nhìn:

    Router5#show bgp
    BGP table version is 2, local router ID is 5.5.5.5
    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 9.9.9.0/24       192.168.56.6             0    100      0 45 i

    Nhưng như chúng ta thấy một tuyến đường thông qua Router6. Tuyến đường qua Router7 ở đâu? Có lẽ Router7 cũng không có nó? Hãy xem:

    Router#show bgp
    BGP table version is 10, local router ID is 7.7.7.7
    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 9.9.9.0/24       192.168.56.6             0     100           0      45 i
    
                                  192.168.107.10                                  0     678 45 i 

    Kỳ lạ thay, mọi thứ dường như vẫn ổn. Tại sao nó không được truyền tới Router5? Vấn đề là BGP có một quy tắc:

    Bộ định tuyến chỉ truyền những tuyến đường mà nó sử dụng.

    Router7 sử dụng tuyến đi qua Router5 nên tuyến đi qua Router10 sẽ không được truyền đi. Hãy quay trở lại Sở thích địa phương. Hãy đặt Tùy chọn cục bộ trên Router7 và xem Router5 phản ứng với điều này như thế nào:

    route-map BGP permit 10
     match ip address 10
     set local-preference 250
    access-list 10 permit any
    router bgp 123
     neighbor 192.168.107.10 route-map BGP in</b>

    Vì vậy, chúng tôi đã tạo một bản đồ lộ trình chứa tất cả các tuyến đường và yêu cầu Router7 thay đổi tham số Local Preference thành 250 khi nhận được, mặc định là 100. Hãy xem điều gì đã xảy ra trên Router5:

    Router5#show bgp
    BGP table version is 8, local router ID is 5.5.5.5
    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 9.9.9.0/24       192.168.57.7             0          250      0 678 45 i

    Như chúng ta có thể thấy bây giờ Router5 thích tuyến đường qua Router7 hơn. Hình ảnh tương tự sẽ có trên Router6, mặc dù anh ta sẽ có lợi hơn nếu chọn tuyến đường qua Router8. Chúng tôi cũng nói thêm rằng việc thay đổi tham số này yêu cầu phải khởi động lại vùng lân cận để thay đổi có hiệu lực. Đọc đây. Chúng tôi đã sắp xếp Tùy chọn địa phương. Hãy chuyển sang tham số tiếp theo.

  4. Ưu tiên tuyến có tham số Next-hop 0.0.0.0, nghĩa là các tuyến cục bộ hoặc tổng hợp. Các tuyến đường này được tự động gán tham số Trọng lượng bằng mức tối đa—32678—sau khi nhập lệnh mạng:
    Router#show bgp
    BGP table version is 2, local router ID is 9.9.9.9
    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
     *>  9.9.9.0/24       0.0.0.0                  0            32768    i
  5. Đường đi ngắn nhất qua AS. Tham số AS_Path ngắn nhất được chọn. Tuyến đường đi qua càng ít AS thì càng tốt. Hãy xem xét tuyến đường đến 9.9.9.0/24 trên Router10:
    Router10#show bgp
    BGP table version is 2, local router ID is 6.6.6.6
    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
     *   9.9.9.0/24     192.168.107.7                           0           123 45 i
     *>i                     192.168.112.12           0    100       0       45 i

    Như bạn có thể thấy, Router10 đã chọn tuyến đường qua 192.168.112.12 vì đối với tuyến đường này, tham số AS_Path chỉ chứa 45 và trong trường hợp khác là 123 và 45. Rõ ràng về mặt trực quan.

  6. Tham số tiếp theo là Origin. IGP (tuyến thu được bằng BGP) tốt hơn EGP (tuyến thu được bằng tiền thân của BGP, không còn được sử dụng) và EGP tốt hơn Incomplete? (thu được bằng một số phương pháp khác, ví dụ như bằng cách phân phối lại).
  7. Tham số tiếp theo là MED. Chúng tôi có Wieght chỉ hoạt động cục bộ trên bộ định tuyến. Có Tùy chọn cục bộ, chỉ hoạt động trong một hệ thống tự trị. Như bạn có thể đoán, MED là một tham số sẽ được truyền giữa các hệ thống tự trị. Rất tốt bài viết về thông số này.

Sẽ không sử dụng thêm thuộc tính nào nữa, nhưng nếu hai tuyến đường có cùng thuộc tính thì các quy tắc sau sẽ được sử dụng:

  1. Chọn đường đi qua hàng xóm IGP gần nhất.
  2. Chọn tuyến đường cũ nhất cho đường dẫn eBGP.
  3. Chọn đường dẫn qua hàng xóm có ID bộ định tuyến BGP nhỏ nhất.
  4. Chọn đường dẫn qua hàng xóm có địa chỉ IP thấp nhất.

Bây giờ chúng ta hãy xem xét vấn đề hội tụ BGP.

Hãy xem điều gì sẽ xảy ra nếu Router6 mất tuyến 9.9.9.0/24 thông qua Router9. Vô hiệu hóa giao diện Gi0/1 của Router6 sẽ hiểu ngay rằng phiên BGP với Router8 đã kết thúc và hàng xóm đã biến mất, nghĩa là tuyến nhận được từ nó không hợp lệ. Router6 ngay lập tức gửi tin nhắn Cập nhật, trong đó nó cho biết mạng 9.9.9.0/24 trong trường Tuyến đường đã rút. Ngay khi Router5 nhận được tin nhắn như vậy, nó sẽ gửi nó đến Router7. Nhưng vì Router7 có tuyến thông qua Router10 nên nó sẽ ngay lập tức phản hồi bằng Bản cập nhật có tuyến mới. Nếu không thể phát hiện sự ngã của người hàng xóm dựa trên trạng thái của giao diện thì bạn sẽ phải đợi Bộ hẹn giờ giữ kích hoạt.

Liên đoàn.

Nếu bạn còn nhớ, chúng ta đã nói về thực tế là bạn thường phải sử dụng cấu trúc liên kết được kết nối đầy đủ. Với số lượng lớn bộ định tuyến trong một AS, điều này có thể gây ra vấn đề lớn, để tránh điều này bạn cần sử dụng liên minh. Một AS được chia thành nhiều AS phụ, cho phép chúng hoạt động mà không yêu cầu cấu trúc liên kết được kết nối đầy đủ.

BGP hoạt động như thế nào

Đây là một liên kết đến cái này labuđây cấu hình cho GNS3.

Ví dụ: với cấu trúc liên kết này, chúng ta sẽ phải kết nối tất cả các bộ định tuyến trong AS 2345 với nhau, nhưng bằng cách sử dụng Confederation, chúng ta chỉ có thể thiết lập mối quan hệ lân cận giữa các bộ định tuyến được kết nối trực tiếp với nhau. Hãy nói về điều này một cách chi tiết. Nếu chúng ta chỉ có AS 2345 thì laForge đã nhận được một cuộc tuần hành từ Picard sẽ báo cho các bộ định tuyến Ngày и Worf, nhưng họ sẽ không thông báo cho bộ định tuyến về điều đó máy nghiền . Ngoài ra các tuyến được phân phối bởi chính bộ định tuyến laForge, sẽ không được chuyển giao máy nghiền cũng không Worf-Ôi không Ngày.

Bạn sẽ phải định cấu hình Route-Reflector hoặc mối quan hệ lân cận được kết nối đầy đủ. Bằng cách chia một AS 2345 thành 4 AS phụ (2,3,4,5) cho mỗi bộ định tuyến, chúng ta sẽ có một logic hoạt động khác nhau. Mọi thứ đều được mô tả hoàn hảo đây.

Nguồn:

  1. Hướng dẫn chứng nhận chính thức về định tuyến và chuyển mạch CCIE v5.0, Tập 2, Ấn bản thứ năm, Narbik Kocharians, Terry Vinson.
  2. website xgu.ru
  3. website GNS3Vault.

Nguồn: www.habr.com

Thêm một lời nhận xét