Giao thức định tuyến BGP – Border Gateway Protocol

4150

Tổng quan về giao thức BGP:

  • Internet được tạo bởi rất nhiều các Autonomous System (AS). BGP được sử dụng để chia sẻ thông tin định tuyến giữa các AS khác nhau. BGP sử dụng giao thức vận chuyển tin cậy để trao đổi thông tin định tuyến đó chính là giao thức TCP, BGP sử dụng cổng 179 để thiết lập kết nối.
  • BGP hỗ trợ variable-length subnet mask (VLSM), classless interdomain routing (CIDR), và summarization

Hoạt động của BGP:
BGP cho phép truyền thông tin định tuyến giữa các AS khác nhau trải khắp thế giới. Chúng sử dụng 2 dạng BGP để thực hiện điều đó:
– Internal BGP (iBGP)
– External BGP (eBGP)

images

-Tất cả BGP speaking device cùng trong 1 AS sẽ sử dụng iBGP để liên lạc với một BGP speaking khác. Điều đó có nghĩa là chúng ta phải cấu hình full mesh cho iBGP để hoạt động đúng cách, hay nói cách khác tất cả các thiết bị phải thiết lập kết nối TCP với nhau. eBGP được sử dụng giữa các BGP speaking device của các AS khác nhau. Giống như iBGP, BGP speaking device tham gia phải có kết nối layer-3 giữa chúng, sau đó TCP sẽ được sử dụng bởi eBGP để thiết lập peer session.

-Sau khi thiết lập được peer, BGP speaking device sẽ sử dụng thông tin mà chúng có được từ những trao đổi để tạo nên một BGP graph. Chỉ một lần BGP speaking device thiết lập được peer cũng như tạo được BGP graph, chúng mới bắt đầu quá trình trao đổi thông tin định tuyến. Trong lúc khởi tạo BGP speaking sẽ trao đổi toàn bộ bảng định tuyến của nó, sau đó chúng sẽ trao đổi thông tin update từng phần giữa các peer với nhau và trao đổi bản tin KEEPALIVE để duy trì kết nối.

Các tham số ảnh hưởng đến việc định tuyến của BGP:

  • Các tiêu chuẩn lựa chọn tuyến đường tốt nhất trong BGP

– Loại bỏ tuyến đường nếu next-hop không đúng.

– Chọn giá trị weight cao hơn ( có giá trị trong 1 router).

– Chọn giá trị local-preference cao hơn ( trong 1 AS).

– Chọn nguồn gốc tuyến đường ( Tuyến đường sinh ra từ chính router).

– Chọn giá trị AS_PATH ngắn hơn ( Chỉ so sánh nhiều dài).

– Chọn giá trị origin nhỏ hơn ( IGP<EGP<unknown).

– Chọn giá trị MED nhỏ hơn.

– Chọn giá trị eBGP ưu tiên hơn  iBGP.

– Đối với các tuyến đường iBGP, ưu tiên chọn tuyến đường qua hàng xóm gần nhất.

– Đối với các tuyến đường eBGP, ưu tiên chọn tuyến đường học được sớm hơn

– Chọn giá trị từ router với giá trị BGP router-ID nhỏ hơn

  • Thuộc tính AS_PATH: 

Thuộc tính AS_PATH là một thuộc tính well-know mandatory.

– Nó là tuần tự của các số AS mà route đã truyền qua để đến đích. AS đầu tiên truyền route sẽ thêm số AS của nó và truyền đi sang eBGP peer tiếp theo. Sau đó thì mỗi AS mà nhận route này sẽ truyền route này sang eBGP peer khác và gán thêm số AS của nó vào đầu danh sách các số AS.

Danh sách cuối cùng sẽ là tất cả các số AS mà route đã được truyền đi qua, với số AS của AS mà khởi tạo route ban đầu nằm ở cuối danh sách.

– BGP sử dụng thuộc tính AS_PATH này trong các cập nhật của nó để đảm bảo một mô hình không bị loop trên Internet. Mỗi route được truyền đi giữa các peer sẽ mang theo một danh sách của các số AS mà route đã được truyền qua. Nếu route được quảng cáo đến một AS mà khởi tạo ra nó, và một AS thấy chính nó là một phần trong danh sách các số AS và nó sẽ không chấp nhận route này.

– BGP router sẽ chèn thêm số AS của nó khi quảng cáo bảng định tuyến cập nhật của nó sang một AS khác. Khi route được truyền qua một BGP router có cùng AS thì danh sách AS_PATH sẽ giữ nguyên không thay đổi.

  • Thuộc tính next-hop:

Là một thuộc tính well-known mandatory, nó tương tự như trong IGP, để đến được network, thì next hop là địa chỉ IP của router quảng bá route.

– Đối với eBGP: thì next hop là địa chỉ IP của láng giềng quảng bá route.

– Đối với iBGP: Nơi mà route được quảng từ trong cùng AS thì next hop là địa chỉ IP của láng giềng quảng bá route. Còn đối với route được quảng bá vào AS từ eBGP, thì next hop từ eBGP không được thay đổi vào trong iBGP, next hop là địa chỉ IP của eBGP láng giềng mà nó học được.

– Khi một route được quảng bá trong một môi trường đa truy nhập (multi-access) như Ethernet, Frame Relay, thì next hop là địa chỉ IP của các cổng giao tiếp của router.

  • Thuộc tính Aggregator:

Là một thuộc tính well-known discretionary. Khi cấu hình aggregation, thì thuộc tính này cung cấp những thông tin về ID của router và số AS của của router khởi tạo aggregate route. Thuộc tính này cho phép ISP admin xác định router nào thực hiện aggregation.

  • Thuộc tính Local Preference:

Là một thuộc tính well-known discretionary. Local Preference là một yếu tố để xác định sự so sánh giữa các route đến cùng một đích. Route có Local Preference cao hơn sẽ được chọn làm đường đi tối ưu. Cũng như tên của thuộc tính này, nó chỉ chuyển đổi nội bô giữa các iBGP peer . Local Preference không quảng cáo sang eBGP peer.

  • Thuộc tính Weight:

Thuộc tính Weight tương tự như Local Preference, nó sẽ ưu tiên sử dụng route có giá trị weight cao hơn. Một điều khác ở đây là các thông số weight chỉ có ý nghĩa nội bộ trong router thôi và nó sẽ không trao đổi với các router khác. Thuộc tính weight ảnh hưởng đến các route đến từ nhiều nhà cung cấp khác nhau tới một router, một router có nhiều kết nối tới hai hay nhiều nhà cung cấp. Thông số weight có tác động cao hơn bất kỳ thuộc tính nào khác. Nó là thuộc tính quan trọng nhất để xác định route nào ưu tiên được chọn hơn. Weight được cấu hình trên các router theo từng neighbor một. Thuộc tính này sẽ không truyền sang cho bất kỳ một router BGP nào khác cả.

  • Thuộc tính Multiple Exit Discriminator (MED)

– MED là một thuộc tính optional nontransitive. MED chỉ cho láng giềng external về đường đi nào tối ưu hơn để vào trong một AS có nhiều điểm vào.MED có giá trị thấp sẽ tốt hơn.

– Không giống Local Preference MED được trao đổi giữa các AS, nhưng MED vào trong một AS thì sẽ không rời khỏi AS này. Khi có một cập nhật vào trong một AS với một giá trị MED được thiết lập, thì giá trị này được sử dụng để quyết định chỉ trong nội bộ AS đó thôi.Khi BGP chuyển cập nhật cho một AS khác thì giá trị của MED được thiết lập về 0.

– MED có thể được sử dụng ở một AS và ảnh hưởng đến quyết định ra khỏi AS của một AS khác.

– Khi một route được khởi tạo bởi một AS, thì giá trị của MED thông thường là tuỳ theo metric IGP của route. Điều này trở nên hữu dụng khi một khách hàng có nhiều kết nối đến cùng một nhà cung cấp. IGP metric chỉ ra độ tiêu tốn đến một mạng để xác định điểm truyền. Một mạng gần điểm xuất A hơn điểm xuất B thì sẽ có giá trị IGP metric nhỏ hơn. Khi giá trị IGP metric được dịch sang MED, tải đến một AS có thể vào từ một kết nối gần đích hơn. Chính vì điều này mà MED có giá trị thấp hơn sẽ được ưu tiên hơn để đến đích. Điều này có thể được sử dụng cho cả nhà cung cấp và cả khách hàng để cân bằng tải giữa nhiều kết nối giữa hai AS khác nhau.

Thuc hanh cau-hinh-BGP-tren-GNS3