Giáo trình khóa học BSCI

Chƣơng 6 - BGP

CHƢƠNG 6:

BGP

6.1.

Sự cần thiết của BGP

BGP là một giao thức khá phức tạp được dùng nhiều trên Internet và trong các công ty đa quốc gia. Mục đích chính của BGP là kết nối các mạng rất lớn hoặc các Autonomous-System. Các công ty lớn có thể dùng BGP như là một kết nối giữa các mạng ở các quốc gia khác nhau. Mục đích của các giao thức ngoại như BGP là không chỉ tìm ra một đường đi về một mạng nào đó mà còn cho phép người quản trị tìm ra các AS của các network. Các giao thức nội như EIGRP, RIP, OSPF và ISIS sẽ tìm ra network mà người quản trị cần.

6.2.

Một số tính chất của BGP

BGP là một giao thức định tuyến dạng path-vector nên việc chọn lựa đường đi tốt nhất thông thường dựa trên một tập hợp các thuộc tính được gọi là ATTRIBUTE. Do sử dụng metric khá phức tạp, BGP được xem là một giao thức khá phức tạp. Nhiệm vụ của BGP là đảm bảo thông tin liên lạc giữa các AS, trao đổi thông tin định tuyến giữa các AS, cung cấp thông tin về trạm kế cho mỗi đích đến. BGP sử dụng giao thức TCP cổng 179. Như các chương trước đã đề cập, các giao thức nhóm distance vector thường quảng bá thông tin hiện có đến các router láng giềng, còn path vector chỉ ra chính xác danh sách toàn bộ đường dẫn đến đích. Ngoài ra các giao thức định tuyến hoạt động dùng path vector giúp việc xác định vòng lặp trên mạng rất tốt bằng cách xem xét các con đường mà các router khác gởi về xem có chính bản thân AS trong đó hay không, nếu có sẽ biết được ngay là lặp, và sẽ loại bỏ. BGP hỗ trợ cho các địa chỉ CIDR (Classless Interdomain Routing). BGP cho phép dùng xác thực và BGP có các cơ chế keepalive định kỳ nhằm duy trì quan hệ giữa các BGP peers. Trong giai đoạn ban đầu của của phiên thiết lập quan hệ BGP, toàn bộ các thông tin routing-update sẽ được gửi. Sau đó, BGP sẽ chuyển sang cơ chế dùng trigger-update. Bất kỳ một thay đổi nào trong hệ thống mạng cũng sẽ là nguyên nhân gây ra trigger-update. Một trong các đặc điểm khác biệt nhất của BGP là trong các routing-update của nó. Khi ta xem xét các BGP update, ta sẽ nhận thấy các routing update này là khá chính xác. BGP không quan tâm đến việc giao tiếp để có đầy đủ kiến thức của tất cả các subnet bên trong một công ty mà BGP quan tâm đến việc chuyển tải đầy đủ thông tin để tìm một AS khác. Các BGP update thực hiện quá trình summarization đến một mức tối đa bằng cách cho phép một số AS, cho phép một số prefix và một vài thông tin định tuyến. Tuy nhiên, một phần nhỏ của BGP 100

Giáo trình khóa học BSCI

Chƣơng 6 - BGP

update là khá quan trọng. BGP đảm bảo rằng lớp transport đã truyền các update và các cơ sở dữ liệu về đường đi đã được đồng bộ. BGP có thể được hiện thực bao gồm giữa các AS khác nhau hay trong cùng 1 AS. Khi dùng BGP để kết nối các AS khác nhau, BGP được gọi là eBGP. Giao thức này cũng có thể được dùng để mang thông tin giữa các router eBGP trong một AS. Khi đó BGP được gọi là iBGP.

Hình 6.1 - Ví dụ về BGP

Trong một AS ta sử dụng giao thức định tuyến nội IGP (ví dụ như RIP, ISIS, EIGRP, OSPF) nhưng khi ra ngoài một AS thì phải sử dụng một giao thức khác. Vấn đề ở đây chính là mục đích của các IGP và EGP không giống nhau. Các IGP thực hiện định tuyến gói đi từ nguồn đến đích mà không cần quan tâm đến chính sách định tuyến (policy). Trong khi ra khỏi phạm vi một AS thì chính sách định tuyến lại là vấn đề quan trọng . Xét ví dụ sau:
AS4---AS1---AS2---AS3---(C Company) |...............................| |...............................| B Company----------------A Company

Giả sử A muốn truyền dữ liệu đến AS4. A và B là 2 đối thủ của nhau. B không muốn chuyển dữ liệu cho công ty A nên A chỉ có thể chuyển dữ liệu thông qua AS3, AS2, AS1 để 101

Giáo trình khóa học BSCI

Chƣơng 6 - BGP

đến được AS4, mặc dù con đường thông qua công ty B có thể là tối ưu nhất. Giả sử C thuộc AS3 cũng muốn đến AS4 nhưng C là đối tác của B nên B sẵn sàng cho quá giang. Như vậy A và C có cùng một đích đến nhưng phải đi theo những cách khác nhau. Các IGP không thể làm được điều này vì một nguyên nhân chủ yếu chính là các giao thức đó đều liên quan đến metric hay là cost mà hoàn toàn không quan tâm đến chính sách định tuyến. Nó chỉ biết cố gắng làm sao chuyển được các gói dữ liệu đến đích một cách hiệu quả và tối ưu nhất.

6.3.

Các thuật ngữ BGP

Bảng 6.1 - Các thuật ngữ BGP

TT 1 2

Thuật ngữ Aggregation Attribute

Định nghĩa Là quá trình tóm tắt các route – (summarization). Tương tự như metric. Các biến này sẽ mô tả các đặc điểm của đường đi tới một địa chỉ đích nào đó. Khi được định nghĩa, các đặc điểm này có thể được dùng để ra quyết định về nên đi theo đường đi nào.

3

Autonomous System

Định nghĩa mạng của một tổ chức. Trong một AS, các router sẽ có cùng giao thức định tuyến. Nếu ta kết nối ra Internet, chỉ số AS này phải là duy nhất và được cung cấp bởi các ủy ban Internet.

4

Exterior Gateway Protocol (EGP)

Thuật ngữ chung cho một giao thức được chạy giữa các AS khác nhau. Cũng có một giao thức có tên là EGP là tiền thân của BGP.

5 6

EBGP Interior Gateway Protocol (IGP)

Gửi thông tin định tuyến giữa các AS khác nhau Đây là các giao thức định tuyến chạy bên trong một AS. Trong quá khứ, thuật ngữ gateway thường được dùng để định nghĩa một router.

7

IBGP

Giao thức này được dùng bên trong một AS. Các router không yêu cầu phải là láng giềng của nhau về phương diện kết nối vật lý và thường ở ngoài rìa của một AS. IBGP được dùng giữa các router chạy BGP trong cùng một AS. 102

Giáo trình khóa học BSCI 8 Originator-ID Chƣơng 6 . Nếu một router nhận được một update từ chính nó. PBR độc lập với các giao thức định tuyến và dùng route-map để tạo ra các quá trình riêng lẽ để áp đặt các quyết định định tuyến. Thuộc tính này sẽ chứa giá trị routerID của router đã phát sinh ra đường đi đó. Đây là một dạng của định tuyến tĩnh. 11 Route-reflector Đây là router được cấu hình để chuyển các routes từ các router iBGP khác. Client không cần thiết phải thiết lập peer với các client khác. Nó là một thuộc tính tùy chọn. router đó sẽ bỏ qua update đó. uyển chuyển hơn và ít tốn tài nguyên của hệ thống hơn. 12 Route-Reflector Client Một client là một router có một TCP session với một router khác hoạt động như một route-reflector-server. Có thể có nhiều hơn một routereflector server trong một cluster. Mục đích của thuộc tính này là ngăn ngừa routing loop. các iBGP không cần phải fully-mesh nữa. 103 . Khi cấu hình route-reflector. 9 policy-based routing Cơ chế này cho phép người quản trị lập trình giao thức định tuyến bằng cách định nghĩa traffic sẽ được route như thế nào. 13 Route_reflector Clustor Một cluster là một nhóm bao gồm một routereflector và clients.BGP Đây là thuộc tính của BGP. Một mạng fully-mesh thì không có khả năng mở rộng. Prefix-list thì nhanh hơn. 10 prefix list Prefix list được dùng như một thay thế cho distribute-list để kiểm soát BGP học hoặc quảng bá các cập nhật như thế nào. 14 transit autonomous system Là AS được dùng để mang các BGP traffic qua các AS khác.

Quá trình chọn lựa đường đi dựa trên những thuộc tính và các giá trị của nó. Đây là lý do chính để tránh dùng BGP trong một hệ thống mạng. Khi nào thì dùng BGP? Khi mạng của một công ty kết nối đến nhiều ISP hoặc các AS khác và đang dùng các kết nối này. Mạng của hai tổ chức không thể xuất hiện như một AS. Băng thông giữa các AS là thấp và các phí tổn cho định tuyến sẽ ảnh hưởng đến quá trình chuyển dữ liệu. nếu hệ thống mạng có các đặc điểm sau. Nhiều công ty dùng các kết nối khác nhau nhằm mục đích dự phòng. 6. Nếu là một ISP. Một số thông tin khác là rất quan trọng cho hoạt động của BGP. Chi phí có thể giảm thiểu nếu tất cả các kết nối đều được dùng.4. vì vậy các thông tin này phảI được mang đến tất cả các router BGP trong mạng. Việc sử dụng các thuộc tính ám chỉ đến việc sử dụng các biến trong quá trình chọn lựa đường đi trong BGP. Một số thuộc tính quan trọng của BGP BGP định tuyến traffic bằng cách sử dụng các thuộc tính. Các thuộc tính được chia thành hai nhóm: nhóm nổI tiếng (well-known) và nhóm tùy chọn (optional).6. 6.BGP 6. Tài nguyên mạng là có giới hạn. chẳng hạn như static hoặc default-routing. Trong trường hợp này. hệ thống mạng này phải cho phép các traffic khác đi qua AS của mình. Mạng của ISP và mạng của công ty có chung một chính sách định tuyến. các kết nối này là dự phòng và vì vậy không cần một kế hoạch để kích hoạt nhiều hơn một kết nối đến Internet. Cả hai nhóm này sẽ được tiếp tục chia ra làm các nhóm con. BGP còn được dùng khi chính sách định tuyến của nhà cung cấp dịch vụ và của công ty khác nhau. Hoặc traffic trong công ty cần phải được phân biệt với traffic của ISP. Một trường hợp khác phải dùng BGP là khi mạng của ta là một ISP. Lúc này nó hoạt động như một transit domain. Các thuộc tính của BGP không chỉ là danh sách các biến mà qua đó route được chọn lựa. 104 . nên dùng những cách thức khác.5. Vì vậy. Một vài thông tin được mang trong các thông điệp cập nhật là quan trọng hơn các thông tin khác.Giáo trình khóa học BSCI Chƣơng 6 . Mặc dù công ty của bạn có nhiều kết nối đến ISP. chẳng hạn như bộ nhớ và CPU của router. Khi nào thì không dùng BGP? Một hệ thống mạng đơn giản là một hệ thống mạng dễ dàng quản lý và bảo trì. PBR có thể cần thiết để triển khai trên từng kết nối.

nó sẽ đánh dấu và gửi đầy đủ cập nhật này đến router kế tiếp.6. Các thuộc tính sẽ không thay đổi khi đi qua router nếu thuộc tính này không được công nhận bởi router. Các thuộc tính này sẽ không truyền tới các BGP. (Điều này có thể xuất hiện nếu routing thông tin cập nhật định tuyến được biết thông qua IGP rồi sau đó lại được thông báo qua EGP.Các nhóm thuộc tính Chƣơng 6 .6. Nếu giá trị “?” (incomplete) thì chỉ rằng không biết nguồn gốc của routing thông tin cập nhật định tuyến. tất cả các router sẽ công nhận và sẽ có hành động tương ứng dựa trên thông tin được chứa bên trong thuộc tính này. Thuộc tính nguồn gốc (Origin-attribute) Đây là một thuộc tính xác định nguồn gốc của các routing thông tin cập nhật định tuyến. AS_PATH càng ngắn càng được router ưu tiên hơn. nghĩa là tất cả các bộ định tuyến phải chuyển thuộc tính này đến tất cả các láng giềng trong mọi thông điệp cập nhật của BGP.AS1 – AS4 thì router sẽ ưu tiên con đường ngắn hơn là qua B). Nếu là “i ” thì chỉ rằng routing thông tin cập nhật định tuyến được biết thông qua một IGP (RIP.B . 6. OSPF…).2.2 . Thuộc tính AS_PATH Đây là thuộc tính quan trọng trong việc xác định đường đi tối ưu.). Nếu giá trị “e” thì routing thông tin cập nhật định tuyến được biết thông qua một EGP.1. hoặc AS3 . (ví dụ từ AS3 đến AS4 có 2 con đường khác nhau: AS3 . Các thuộc tính này bị loại bỏ nếu cập nhật mang thuộc tính Well-known Discretionary Optional Transitive Optional Nontransitive này đi vào router mà router không hiểu hoặc không công nhận thuộc tính.Giáo trình khóa học BSCI Bảng 6. Router có thể không công nhận các thuộc tính này nhưng nếu router nhận được thuộc tính này.AS2 . Thứ nhất. Bởi vì thuộc tính AS_PATH rất quan trọng cho quá trình hoạt động của BGP nên tất cả các nhà cung cấp phải hỗ trợ nó và là một thuộc tính mang tính bắt buộc. Chức năng thứ hai là ngăn ngừa vòng lặp. 6. Khi nó học đường bằng 105 .AS4. mang 2 chức năng. Không yêu cầu các thuộc tính này tồn tại trong các cập nhật nhưng nếu chúng tồn tại.BGP Nhóm Well-known mandatory Mô tả Các thuộc tính này là bắt buộc và được công nhận bởi tất cả các router BGP.

Khi BGP khai báo một mạng.Giáo trình khóa học BSCI Chƣơng 6 . nếu một route đến từ một router. Địa chỉ IP được chỉ ra bởi lệnh neighbor. 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. thì nó để thuộc tính là: “?”. Vì vậy. 106 . giá trị next-hop là địa chỉ IP của router từ bên ngoài của vùng tự trị AS quảng bá vào bên trong AS. sẽ là không khôn ngoan nếu một router quảng bá địa chỉ của nó như là địa chỉ nguồn vì điều này sẽ dẫn đến việc các packets bị gửi đến vài router trên mạng multiacess trước khi có thể tìm ra được nguồn gốc xuất phát thật sự. router tự định rõ bản thân router đó như là Next Hop.3. được sử dụng nhiều trên Internet khi BGP chưa ra đời nhưng hiện nay hầu như không còn được sử dụng). 6. có một luật rằng. Thuộc tính origin là e khi tuyến được học từ giao thức EGP (đây là giao thức định tuyến giữa các AS.Còn sau đó các mạng này được quảng bá tới các EGP router láng giềng thì thuộc tính này được đổi thành e vì router mới học được các tuyến đường này nhờ EGP. Thuộc tính origin không thay đổi qua giao thức EBGP mà vẫn giữ nguyên.. Tuy nhiên. nếu router đó gởi thông điệp update cho một router láng giềng khác trong cùng một AS thì nó lại tiếp tục dùng router ngoài AS làm Next hop.v.BGP lệnh network thì nó để thuộc tính này là: i. Tuy nhiên trong môi trường multiaccess. Khi nó học đường qua các lệnh như redistribute v.6.. Thuộc tính Next-Hop Trong eBGP. địa chỉ của router xuất phát gói tin BGP sẽ vẫn giữ như địa chỉ nguồn.

33. Để tránh tình huống này.  Thuộc tính Next-Hop trong BGP 150.10.0 (AS 100) RouterA--------(150.0 Chƣơng 6 .0 (AS 300) 107 . Tuy nhiên nếu routerD thay đổi địa chỉ sourceaddress thành địa chỉ địa chỉ của chính nó.10.10.2) RouterC |_ 170.Giáo trình khóa học BSCI Bước 1: Router A gửi cập nhật về mạng 192. sẽ có một sự nhầm lẫn xảy ra vì trong môi trường multiaccess.20.1) | | | (170.0.33. một mạng NBMS cũng tuân theo cùng một qui luật.10.1)---IBGP--------RouterB---| |(170. mọi router sẽ công bố nó là next-hop.0  Thuộc tính Next-Hop và mạng NBMA Cũng giống như trong môi trường multiaccess.20. địa chỉ nguồn của update không thay đổi.33.BGP Bước 2: Router D nhận update và truyền. Tuy nhiên sẽ có tiềm ẩn một vấn đề vì các router khác sẽ không có khả năng kết nối trực tiếp với router nguồn nếu đám mây NBMA có cấu hình hub-and-spoke.0.33.3. Bước 3: Router B biết routerA là next-hop của mạng 192.10.

10.0. và có thêm một RouterD (network 180.10. lúc này RouterB sẽ có next hop để đi đến network 170. Thuộc tính Local-Preference cho phép chúng ta chọn con đường mong muốn nhất ra khỏi một AS. Để khắc phục tình trạng này thì NEXT-HOPE-SELF được sử dụng.0. là 170.10. trong trường hợp này là RouterB với một next hop là 170. Đối với EBGP. có một nguyên tắc là: “the next hop advertised by EBGP should be carried into IBGP”. Lúc này routing sẽ fail.2.10. Chính vì quy luật này.30.0 vì lúc này địa chỉ next hop address trở nên inaccessible. Next-hop-self chỉ có lợi trong môi trường “non-meshed”.10.1 remote-as 100 neighbor 170. nên Router A sẽ quảng cáo lại 170.2 chứ KHÔNG phải là 150.10.20.0.20. neighbor {ip-address| peer-group-name1 } next-hop-self Câu lệnh này sẽ cho phép áp đặt BGP dùng địa chỉ mình khai báo thành next hop thay vì để BGP tự chọn next hop.20. chỉ mang ý nghĩa cục bộ trong phạm vi AS mà không bao giờ gởi ra khỏi AS đó.20.20.0) được thêm vào trong AS 300.2.10.BGP Thuộc tính BGP nexthop là một địa chỉ next hop IP mà nó sẽ được dùng để đi đến một số mạng đích.0 cho RouterA với một next hop là 170.20. RouterC sẽ quảng cáo network 170. Theo ví dụ trên.1.0. next hop luôn luôn là địa chỉ IP của router láng giềng đã được khai báo trong câu lệnh neighbor.20.10. RouterC# router bgp 300 neighbor 170.4.1. 108 .0. Đối với IBGP.0 cho các IBGP peer của nó. Đến đây thì bạn hãy hình dung nếu như trong môi trường NBMA.20.0 sẽ là 170.1 next-hop-self RouterC sẽ qủang cáo 180.20.10. nếu không RouterB sẽ drop những packet có dest. Vì thế.0.10.10.0 cho RouterC với một next hop là 170.6.10. 6. Thuộc tính Local-Preference Đây là thuộc tính không bắt buộc (tức là không cần phải xuất hiện trong thông điệp Update). Nó được truyền đến các local BGP neighbors. Lúc này thì bạn phải đảm bảo rằng RouterB có thể reach 170.10. mà RouterA không có PVC kết nối trực tiếp đến RouterD thì lúc này nexthop của RouterD quãng cáo cho RouterA mà RouterA sẽ không reach được.Giáo trình khóa học BSCI Chƣơng 6 .0.10.0 với NextHop = 170.2 và ngược lại RouterA sẽ quảng cáo lại 150.2 thông qua IGP.20.

Do đó các router này có cùng một tính chất và có chung chính sách. không giống như Local Preference. MED(multiple-exit-discriminator) là 1 attribute của BGP.6. nên hiếm khi được dùng trong thực tế. 6. BGP dùng MED (metric) để hướng dẫn cho các router láng giềng lựa chọn đường đi tốt nhất. cái nào có MED thấp hơn sẽ được chọn (do đó có lẽ nó giống với metric). nếu nó hiểu thì sẽ không bao giờ gửi thuộc tính đó cho láng giềng router trừ khi được chỉ định làm thêm điều gì đó). nên để control được nó cần phải chú ý đến các thuộc tính có mức ưu tiên cao hơn (weight-localpreference-originate-ASpath-origin code). Thuộc tính MULTI_EXIT_DISC (MED) Đây là thuộc tính được AS dùng để tham chiếu cho việc nên chọn router nào để đi đến cùng một đích trong một AS. (Tuy nhiên. Ngoài ra.7. Trong BGP cũng có một ATTRIBUTE được gọi là metric. nó giới thiệu về những router láng giềng bên ngoài về 1 mạng được chọn vào 1 AS có nhiều exit point. Người ta hay sử dụng community attribute để giải quyết vấn đề chọn incomming traffic thay cho as-path prepending hoặc MED. các nhà cung cấp không cần phải hỗ trợ cho nó. 109 . Thực tế thuộc tính chỉ được cung cấp cho một bộ định tuyến đơn và không gởi trong bất kỳ thông điệp Update nào. hoặc ngược lại.nó sẽ xử lý thông điệp này một cách hợp lí.Nếu 1 route xuất phát từ chính AS thì MED sẽ được tính theo metric của IBGP.Giáo trình khóa học BSCI 6. Hơn nữa. với nhiều Customer với các yêu cầu chính sách chọn outgoing traffic khác nhau. Thuộc tính Weight được dùng để điều khiển hướng truyền các local packet đến router khi router đó có hai route khác nhau ra khỏi AS (multihomed). Nếu nó không hiểu thông điệp này thì sẽ gửi thuộc tính đó cho router láng giềng router xử lý. 6. MED là một attribute yếu (trong thứ tự route-selection của BGP).6. Tuy nhiên MED này có ý nghĩa hơi khác so với metric trong các IGP.6.BGP Đây cũng là thuộc tính không bắt buộc. Thuộc tính Communtity Đây là một thuộc tính không bắt buộc. Thuộc tính này được dùng để cung cấp chính sách cho một nhóm các router đi qua các AS. MED không hiệu quả.6. Thuộc tính trọng số (Weight) Chƣơng 6 .5. MED được trao đổi giữa các AS nhưng nó sẽ không ra khỏi AS đó nếu nó đã vào (khi 1 thông tin cập nhật định tuyến vào 1 AS với giá trị MEd xác định thì nó sẽ được sử dụng để thực hiện quyết định trong nội bộ AS đó . originated AS không thể điều khiển quá trình đặt MED trên các originating AS (neighbor AS). đó là MED (Multiexit Discrimination). Nếu một router nhận được một thông điệp Thông tin cập nhật định tuyến với thuộc tính Community được thiết lập.

nó có thể được quảng bá như một network. mạng Internet sẽ trở thành một một môi trường nhanh hơn và tin cậy hơn. Có 4 kiểu thông điệp được dùng trong BGP: 1. Khi thiết lập một quan hệ neighbor. AS_PATH. bao gồm thuộc tính origin. BGP sẽ truyền các prefix và các prefix mask. 3. nó sẽ có một giá trị prefix mask. Thông điệp open: được dùng để thiết lập kết nối với các router BGP khác. Các địa chỉ sẽ được hợp nhất lại thành một số địa chỉ dạng summary. Thông điệp cập nhật: chứa các đường đi về các địa chỉ đích và các thuộc tính của đường đi. Cách dùng CIDR là một trong những giải pháp được dùng nhiều trong những năm gần đây. Các thông điệp keepalive này được gửi theo cơ chế không tin cậy. Nếu khoảng thời gian định kỳ được gán về bằng 0. bằng cách tóm tắt các lớp địa chỉ IANA. neighbor. 6. Sau đó các router sẽ gửi các cập nhật định kỳ chỉ khi có thay đổi xảy ra. tổng số tài nguyên mạng sẽ được giảm đi bởi vì có rất ít bộ nhớ. Nếu một mạng được cấp tám địa chỉ lớp C. CIDR và Route Aggregation BGP cần phải truyền một số thông tin giữa các AS nhưng có lẽ không phải tất cả các thông tin là cần thiết. một phiên làm việc TCP sẽ được thiết lập và duy trì. sẽ không có thông điệp keepalive nào được gửi. Tổng quan hoạt động của BGP BGP là một giao thức hướng kết nối. Các cập nhật bao gồm các route không còn tồn tại. Nếu hệ thống mạng được thiết kế để hỗ trợ quá trình summarization.Giáo trình khóa học BSCI Chƣơng 6 . Một router có thể truyền route đã được tóm tắt. Thật ra. quá trình BGP sẽ truyền đến tất cả các láng giềng các thay đổi. 2. các route riêng lẽ chưa được summarize hoặc truyền cả hai. 4.BGP 6. Thay vì một địa chỉ có một giá trị netmask để nhận ra phần địa chỉ network.8. Giá trị này đơn giản là một con số chỉ ra số bit đã dành cho phần network. Các thông điệp keepalive này chỉ là những header có giá trị 19-bytes. Thông tin chứa trong các cập nhật bao gồm các thuộc tính về đường dẫn. Thông điệp keepalive: được gửi định kỳ giữa các BGP peers để duy trì kết nốI và để kiểm tra đường đi. Sau khi đã điều chỉnh bảng BGP.7. Quá trình summarization sẽ giảm thiểu số prefix. Thông điệp Notification: được dùng để thông báo cho các router khác về những nguyên nhân gây ra kết nối bị ngắt. băng thông và CPU được dùng để gửi bảng định tuyến. BGP sẽ gửi ra các thông điệp keepalive để kiểm tra đường truyền và duy trì phiên làm việc TCP này. 110 .

Cơ chế hoạt động của IBGP IBGP không thay đổi thuộc tính AS-PATH của một tuyến do đó để chống loop. để có thể forward dữ liệu cho các AS khác.BGP 6.Giáo trình khóa học BSCI Chƣơng 6 . các router của transit AS phải thực hiện: 1. tốn băng thông để cập nhật định tuyến. 2. các IGP được thiết kế không phải để có thể quản lý số tuyến quá lớn như vây. Nhưng full-mesh dẫn đến việc khó quản lý. Giải pháp thứ nhất: Phân phối lại các tuyến BGP vào IGP để thỏa mãn qui luật đồng bộ. tốn 111 . nhưng phương pháp này không nên sử dụng trong các mạng core của ISP do số tuyến trên Internet rất lớn.9. sử dụng qui luật split-horizon: một BGP peer sẽ không gởi các tuyến được học từ IBGP đến một BGP peer khác. Khi này có thể tắt chức năng đồng bộ của IBGP. Như vậy. nếu dùng phương pháp này thì khi có sự thay đổi về 1 tuyến trên Internet sẽ làm các IGP phải thực hiện giải thuật tìm đường  chiếm nhiều CPU và bộ nhớ gây mất ổn định. Giải pháp thứ hai: Các BGP peer được full-mesh để đảm bảo các router đều có đủ thông tin định tuyến để forward packet. ngoài ra.

chỉ ảnh hưởng đến ISP trực tiếp.mem. MED.Giáo trình khóa học BSCI Chƣơng 6 ..1.) hoặc các công ty đa quốc gia cần có sự linh động và độc lập giữa các thành phần của hệ thống. Các member-AS có thể sử dụng các IGP khác nhau. BGP giữa các BGP peer thuộc các member-AS khác nhau sẽ là EBGP (tức là sẽ thêm member-AS vào AS-PATH để chống loop) nhưng các thuộc tính khác như Local Preference. Sử dụng thuộc tính MED: cách này ít sử dụng do MED là một thuộc tính yếu và non-transitive. tăng khả năng chính sách định tuyến routing. Nhưng quản lý một Confederation thì có thể sẽ rất phức tạp do đó nó chỉ thích hợp cho các ISP cực lớn (các ISP kết nối trực tiếp vào các điểm trung chuyển quốc tế như NAP. Sử dụng AS-Prepend: phương pháp này được sử dụng thông dụng hơn do có thể làm việc tốt trong tất cả các mô hình. các RR thêm vào các thuộc tính: cluster-id và originator. Nhưng một điều cần phải nhớ. trong nhiều trường hợp không làm việc tốt.1. Sử dụng community: phương pháp này đòi hỏi phải được upstream ISP hỗ trợ. Sử dụng Route Reflector: thay đổi qui luật split-horizon của IBGP. Sử dụng Confederation: thay đổi cách xử lý AS-PATH của IBGP: Chia một AS thành nhiều member-AS.BGP CPU. bạn có thể dùng lệnh default-metric Router(config-router)#default-metric number hoặc có thể dùng route-map: router bgp 100 neighbor 1.* ! route-map freddy permit 10 match as-path 1 set metric 127 ! route-map freddy permit 20 112 . Để set metric. có thể sử dụng các cách sau.1 route-map freddy out ! ip as-path access-list 1 permit ^690_ ip as-path access-list 2 permit .. Để chống lặp vòng. Ưu điểm của giải pháp này là các member-AS có thể được quản lý độc lập. Các RR có thể gởi các tuyến IBGP đến các BGP peer khác. Next-hop sẽ không thay đổi. Để lựa chọn tuyến cho các Incoming traffic. Có 2 cách để giải quyết vần đề này. quyết định tuyến cho Incoming traffic rất khó thực hiện chính xác do các AS khác có thể thay đổi các thuộc tính.

967. qua quá trình redistribution từ một IGP. Bước này sẽ bị bỏ qua nếu biến bgp bestpath as-path được cấu hình. Bất cứ một AS con nào của confederation sẽ bị bỏ qua. Nếu dùng chọn lựa này. Sau đó BGP sẽ so sánh đường đi tốt nhất này vớI đường đi kế tiếp trong danh sách cho đến khi nào hoàn tất tất cả các đường trong danh sách các đường đi hợp lệ. nếu không routing loop sẽ xảy ra. Nói cách khác. MED được so sánh chỉ nếu giá trị AS đầu tiên trong AS_SEQUENCE là giống nhau. Các đường đi có nguồn gốc từ lệnh network hoặc lệnh redistribution được ưu tiên hơn những đường đi có nguồn gốc từ lệnh aggregate.294. Tóm tắt giải thuật tìm đƣờng đi tốt nhất của BGP BGP sẽ gán đường đi hợp lệ đầu tiên như là đường đi tốt nhất hiện có. Một tập hợp AS_SET sẽ được đếm từ 1.BGP Trong ví dụ trên.Giáo trình khóa học BSCI match as-path 2 Chƣơng 6 . IGP thì thấp hơp EGP và EGP thì thấp Ưu tiến những đường đi có giá trị MED nhỏ nhất. Nếu lệnh bgp always-compare-med được cấu hình.294 trước khi được chèn vào bảng BGP. tất cả các router trong AS phảI được cấu hình vớI chọn lựa bgp always-compare-med. các route ở as 690 sẽ được set metric là 127. Sự so sánh này chỉ được thực hiện hơn INCOMPLETE.10. Các biến AS_CONFED_SEQUENCE và AS_CONFED_SET sẽ không bao gồm trong AS_PATH. Ưu tiên các đường đi có nguồn gốc thấp nhất. Ưu tiên những đường đi có thuộc tính AS_PATH ngắn nhất. MED sẽ được so sánh trên tất cả các đường đi mà chỉ chứa biến AS_CONFED_SEQUENCE (là những đường đi xuất phát từ local confederation). Những đường đi không có thuộc tính Ưu tiên những đường đi có nguồn gốc từ lệnh network hoặc lệnh aggregate hoặc thông LOCAL_PREF sẽ có giá trị mặc định là 100. WEIGHT là một thông số do Cisco đưa ra. Thông số này chỉ có ảnh hưởng trong phạm vi nội bộ của router được cấu hình dùng thông số này. MED được so sánh cho tất cả các đường đi có thể. bất chấp có bao nhiêu AS bên trong tập hợp. nếu AS đầu tiên là giống nhau cho cả hai đường đi. DướI đây là danh sách các luật được dùng để xác định đường đi tốt nhất. Nếu thông số bgp bestpath med-confed được cấu hình.967. Những đường đi được nhận mà không có MED được cấu hình sẽ được gán giá trị MED bằng 0. 6. Ưu tiên đường đi có LOCAL_PREF cao nhất. Những đường đi được nhận từ một router láng giềng có giá trị MED là 4.295 sẽ có giá trị MED thay đổI đến 4. 113 .294. Ưu tiên đường đi có trọng số WEIGHT cao nhất.

chẳng hạn như OSPF sẽ định tuyến các gói BGP giữa các iBGP router. Giá trị routerID là địa chỉ IP cao nhất trên router. Không giống như RIP hoặc OSPF hoặc IP v. IBGP được dùng giữa các router trong cùng một AS. Ưu tiên những đường đi đến từ BGP router có routerID nhỏ nhất. có một vài đặc điểm của BGP cần phảI được hiểu. Chƣơng 6 . EBGP sẽ gửi các thông tin định tuyến giữa các AS khác nhau. eBGP sẽ tương thích với các yêu cầu chung của một giao thức ngoại vùng. Nếu một đường đi chứa 1 route-reflector. 114 . Nếu cả hai đường đi là từ bên ngoài.BGP Ưu tiên những đường đi eBGP so vớI iBGP. IBGP chuyển các thông tin đến tất cả các BGP router bên trong domain và đảm bảo rằng tất cả các router có chung một hiểu biết về các mạng hiện có. Nếu đường đi tốt nhất được chọn lựa. o RouterID là giống nhau cho nhiều đường đi vì các routes được nhận từ cùng 1 router. Ưu tiên những đường đi đến từ những láng giềng có địa chỉ thấp nhất. router ở biên giới các AS là eBGP router. Xây dựng network dùng iBGP Mặc dù BGP là một giao thức ngoại vùng. ưu tiên đường đi có số cluster là ít nhất. iBGP được dùng trong các AS. iBGP không nhất thiết phải kết nối trực tiếp về mặt vật lý. Địa chỉ này là địa chỉ được dùng trong lệnh neighbor. Nếu RouterID là giống nhau cho nhiều đường đi. Vì vậy. Giá trị này cũng có thể được gán bằng lệnh bgp router-id. Ưu tiên những đường đi có IGP metric thấp nhất đến BGP next-hop. ưu tiên đường đi được nhận trước (đường đi cũ nhất). qua Kiểm tra xem có nhiều đường đi dự phòng cần phải cài đặt vào bảng routing hay không. Để thiết kế và triển khai BGP chính xác.Giáo trình khóa học BSCI bước 9.6. Sự khác nhau phụ thuộc vào chức năng của giao thức định tuyến. thuộc tính Originator ID của Route-Reflector sẽ thay thế cho routerID. Nó cho phép những thành viên trong Route-Reflector thiết lập quan hệ peer vớI các thành viên trong các RR khác.11. 6. Bước này sẽ bị bỏ qua nếu: o Lệnh bgp best path compare-routerid được dùng. các router chạy iBGP không cần phải kết nối trực tiếp trên cùng một hạ tầng mạng. Router sẽ xác định khi nào thì một BGP sẽ là eBGP hoặc là một iBGP bằng cách kiểm tra giá trị AS được gửi trong thông điệp open-message. o Hiện tại không có một đường đi tốt nhất. Điều này chỉ đúng trong môi trường BGP route-reflector. Một số giao thức khác. nó có hai phiên bản: BGP nội (iBGP) và BGP ngoại (eBGP).

Thông qua lệnh network Được redistribute từ một IGP Được redistribute từ tuyến đường tĩnh Điều kiện 2: Nếu route được quảng bá là tuyến đường tĩnh.Giáo trình khóa học BSCI Chƣơng 6 .BGP Hình 6.Các AS của BGP Thông qua các kết nối logic. Một iBGP sẽ truyền một route đến BGP neighbor theo hai điều kiện sau: Điều kiện 1: Một route được truyền bởi router bằng một trong những phương thức sau dưới đây.2 . TCP sẽ route các gói đi qua các AS bởi các bảng định tuyến được duy trì bởi OSPF. Quá trình redistribute này có thể rất phức tạp. nó có thể dùng redistribute từ BGP vào IGP. Để BGP có thể truyền các thông tin định tuyến vào bên trong AS. 115 .

Luật synchronization Luật đơn giản nói rằng trước khi một iBGP có thể truyền một route vào một AS khác. Luật synchronization này là được bật ON ở chế độ mặc định và nó chỉ nên được tắt nếu tất cả các routers trong AS này chạy BGP.3 .12. Điều này là cần thiết để đảm bảo các router dọc đường không loại bỏ các gói tin do không có tuyến.Giáo trình khóa học BSCI Chƣơng 6 .Luật synchronization 116 .BGP Nếu một route được học từ một update từ một BGP peer trong cùng một AS. route đó phải được biết trên toàn AS của nó. một router BGP có thể truyền route này chỉ đến eBGP. Các router BGP có bảng định tuyến và BGP table riêng biệt. Bởi vì iBGP không có chuyển những cập nhật mà nó học từ iBGP peers. một mạng fully-mesh thì sẽ không có khả năng mở rộng vì tất cả các router trong một AS phải thiết lập peer với nhau. Tuy nhiên. nếu có thì mới xem tuyến đó có giá trị và có thể sử dụng hoặc gởi cho các BGP peer khác. Khi một router BGP nhận một tuyến IBGP thì nó phải xem trong bảng định tuyến IGP đã có đường đi đến mạng đó chưa. Nói cách khác. một giao thức định tuyến IGP phải được đồng bộ (synchronized) với BGP. 6. Hình 6. Luật synchronization được phát biểu như sau: Một route được học từ một router IBGP láng giềng (tức là route này đã có trong BGP table) chỉ được đưa vảo bảng định tuyến hoặc quảng bá (advertise) tới BGP peer khi nó đã được biết tới nhờ một IGP. nó cần phải kết nối fully-mesh với nhau để có đầy đủ kiến thức.

Vì vậy.0.3 remote-as 200 neighbor 4. router sẽ gửi các cập nhật đến AS 800 sẽ không truyền network 56. Các IBGP cần phải được full-meshed và để một router có thể biết được cách đến được IBGP peer của nó .0.2. hoặc quảng cáo net work đó ở một router trong mạng. Version 12.3.0. Các trường hợp này là: Tất cả các Router trong AS đều chạy BGP. Tùy theo topo của mạng mà ta có những giải pháp cụ thể.0 sẽ bị mất trong AS200 bởi vì nếu không có thông tin trong bảng định tuyến.2. Nói cách khác. Trong một vài trường hợp.BGP Trong hình vẽ trên.0. router bgp 300 neighbor 2.2 remote-as 100 neighbor 3.0 255. do đó để tất cả các router trong mạng đều biết đường đi đến tất cả các net work ta phải thực hiện redistribute .13. Trong bảng định tuyến của một router sẽ có cả các route của BGP và IGP .3.0.4 remote-as 400 aggregate-address 160.0. AS của bạn không phải là 1 transit AS. Nếu tất cả các router trong AS là fully-mesh. Aggregate Address Khi cấu hình aggregate-address mà không dùng thêm một tùy chọn nào.0.0.2 thì BGP Sync sẽ tắt ở chế độ mặc định. thuộc tính của từng route thành viên sẽ được lưu lại. tức là không advertise routes từ 1 AS sang 1 AS khác.4. nó phải dựa vào IGP. AS400 và AS800 dùng AS200 như là transit AS.0 được quảng bá bởi AS 400 trừ phi OSPF có đầy đủ thông tin về network 56. Theo luật synchronization.0 summary-only as-set ! RouterD#show ip bgp 117 . Trong một mạng mà có IGP và IBGP chạy song song thì vẫn không ảnh hưởng gì cả. ta cần phải dựa vào các IGP để mang traffic giữa các router iBGP. nếu transit AS chỉ có các router ngoài rìa chạy iBGP.0.0. Khi bạn dùng từ khóa as-set.Giáo trình khóa học BSCI Chƣơng 6 . IGP cần phảI có các thông tin này trong bảng định tuyến để có thể hoàn tất việc này. nó sẽ không có khả năng đẩy traffic đến địa chỉ đích phù hợp. AS800 có thể gửI traffic đến 56.0. 6.4. việc tắt synchronization là cần thiết. route được sinh ra sẽ không thừa hưởng bất cứ một attribute nào của từng specific route (ví dụ như AS_PATH hoặc community).

một network khi được nhận sẽ không phân phối đến các router iBGP khác. BGP duy trì các thông tin cập nhật bằng cách gửi các update trên các kết nối TCP. h history. Số kết nối càng lớn. Mạng Fully-Mesh Luật BGP split horizon nói rằng mặc dù các router không cần kết nối trực tiếp.0/8 4.4. local router ID is 4. Một công thức đơn giản như sau: Sẽ cần n (n – 1) / 2 kết nốI TCP trên một mạng gồm n router BGP. Các mạng này chỉ được truyền đến các router BGP trong các AS khác.14.4 Chƣơng 6 .0. as-path của aggregate-route đã có thêm các path của từng route thành viên. Điều kiện này nhằm đảm bảo các mạng phải thấy nhau.4. ? . 118 .incomplete Network Next Hop Metric LocPrf Weight Path *> 160.0.  Chi phí quản trị trong mạng fullymesh Cũng có những phí tổn quản lý trong việc duy trì các mạng kết nối fully-mesh. số kết nối phải thiết lập cũng sẽ tăng lên nhiều lần tương ứng.IGP. Đối vớI TCP.EGP.1 0 300 {200. 6. tài nguyên yêu cầu càng nhiều. i – internal Origin codes: i . Các kết nốI TCP này là một cách xuất sắc để đảm bảo tính chính xác của thông tin. Nếu tất cả các router kết nối với tất cả các router khác. * valid.100} i Trong bảng BGP. tuy nhiên nếu hệ thống mạng là một nhà ISP thì thiết kế trên không phù hợp. không chỉ phải duy trì các kết nối rất tốn tài nguyên mà còn là các cập nhật – updates phải đi trên các kết nối này. Như vậy một mạng gồm 10 router sẽ yêu cầu 10 (10 – 1) / 2 = 10 * 9 / 2 = 45 phiên làm việc. nó cần phải fully-mesh.Giáo trình khóa học BSCI BGP table version is 2. Công thức này chấp nhận được trong môi trường có một vài kết nối.4.4. d damped. một số lượng lớn thông tin sẽ được gửi đi trùng lắp. còn gọi là eBGP peer. nhưng nhược điểm của nó là tốn nhiều tài nguyên hệ thống.BGP Status codes: s suppressed. Ví dụ. > best. e . giao thức BGP phải tuân theo luật split horizon rằng không có update nào học từ một peer bên trong có thể gửi đến một peer khác. mỗi lần có một router BGP mới thêm vào. Điều này có nghĩa rằng. Để tránh routing-loop.

Các lệnh mới này cho phép ta phát triển một mạng hub-and-spoke để đơn giản hóa các kết nối TCP. Đặc biệt. Các router iBGP cần phải được chỉ ra như là client trong khi cấu hình. 6. route-reflector định nghĩa luật split horizon. Route Reflector và client sẽ đòi hỏi một quan hệ peer đầy đủ bởi vì route reflector sẽ gửi các cập nhật từ các client khác nhưng việc thiết lập peer giữa các client là không cần thiết.Cấu hình fullmesh cho iBGP  Thiết kế và cấu hình một mạng iBGP Vấn đề hạn chế khả năng mở rộng trong một mạng fully meshed iBGP có thể được giải quyết bằng các giải pháp thiết kế. Khi một client gửi một update đến route-reflector.BGP Hình 6. Giải pháp được giới thiệu trong phần này là giải pháp dùng route reflector. Lụât này nói rằng một iBGP router sẽ không truyền một route được học từ một router láng giềng trong cùng một AS.4 . Route Reflectors Một route reflector là một router được cấu hình để chuyển những routing update đến các router láng giềng hoặc các router chạy BGP bên trong một AS.15.Giáo trình khóa học BSCI Chƣơng 6 . Các giải pháp về cấu hình sẽ cho phép ta bỏ qua luận các iBGP phải được full mesh. 119 . nó sẽ chuyển update đó đến các router client khác.

Phải có ít nhất một route-reflector trong mỗi cluster. Điều này nhằm ngăn ngừa khả năng routing loop. Từ quan điểm của route-reflector. Điều này có nghĩa là một thiết kế hub-and-spoke có thể được triển khai trong một AS giữa các iBGP peers. Điều này nhằm đảm bảo các bảng iBGP routing là đầy đủ. 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. Cả route-reflector và các client của nó hình thành nên một đơn vị để chia sẽ thông tin. các neighbor này được gọi là non-clients.BGP Một route-reflector sẽ kết nối đến các peers mà nó không đẩy route đến. Đơn vị này gọi là cluster. nó có thể gây ra routing-loop. Bản thân các routing update 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 routing update. Nếu một route-reflector kết nối đến các route reflector khác. Khi một router đã cấu hình như một route-reflector. không còn một cơ chế nào để bảo vệ routing loop. một route-reflector này có thể là client cho một route-reflector khác. Nếu có nhiều route-reflector trong cluster. Có nhiều mức route-reflector có thể được cấu hình bằng cách tạo ra các thiết kế theo thứ bậc. thuộc tính Originator_ID sẽ được thiết lập. Đây là BGP routerID của router đã tạo ra đường đi. Chính vì các đặc điểm trên. Nếu router này nhận lạI bản update đó. 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ị disable.Giáo trình khóa học BSCI Chƣơng 6 . Thay vào đó. Nếu cấu hình route-reflector không chính xác. các router sẽ phân biệt với nhau bằng clusterID. Khi một routerefletor chuyển đi một update. router đóng vai trò route-reflector sẽ tốn nhiều tài nguyên hơn. trong các các cluster sẽ có các route-reflector được chỉ định và cấu hình. router sẽ thấy ID của chính nó và sẽ bỏ qua packet. Với cách dùng route-reflector. Một thiết kế quan trọng là bản thân các routereflector trong một AS cũng phải fully-meshed. như vậy giảm thiểu số session giữa các routers. 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 update mà nó cần. route-reflector phải được fully-meshed. Một Autonomous System có thể được chia ra thành các cluster. Thông số này phục vụ cùng một mục đích như thuộc tính Originator_ID để ngăn ngừa routing loops. Các router nonclients phải được kết nối fully-meshed với các route-reflector và với các non-client khác. Ngoài ra. nó sẽ đẩy những đường đi được học từ các iBGP khác chỉ đến các route-reflector clients và tới các iBGP/eBGP neighbors. 120 . Các router không là thành phần của route-reflector sẽ không bị ảnh hưởng trong những thay đổi về thiết kế và những thay đổi về quá trình truyền các cập nhật.

5 . Giảm bộ nhớ và CPU cần thiết để duy trì các phiên TCP session trên các máy iBGP peers.Giáo trình khóa học BSCI Chƣơng 6 . 121 . Giảm traffic trên mạng. Thiết kế mang tính cấu trúc cao.Thiết kế Route-reflector Các lợi ích của route-reflector bao gồm: Khả năng mở rộng mạng. 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.BGP Hình 6.

Một nonclient router sẽ chuyển các cập nhật tớI các láng giềng của nó. Thông số originatorID ban đầu sẽ bị loại trừ ra khỏi cập nhật.Cấu hình các route-reflector  Hoạt động của Route Reflector Một RR đơn giản giống như một tấm gương để phản hồi các update từ các client đến các client khác mà không yêu cầu một mạng phải fully-meshed.Giáo trình khóa học BSCI Chƣơng 6 . có thể là một RR.BGP Hình 6. Router duy nhất mà có update chuyển đến nó là nguồn gốc của route. Nếu có nhiều đường đi nhận được từ RR. đường đi tốt nhất sẽ được chọn thông qua RR. trong trường hợp này là RR.6 . Khi một RR nhận được một cập nhật: Client sẽ chuyển update đó cho router láng giềng của nó. Một RR nhận một update từ một router nonclient và update chỉ được chuyển đến clients RR sẽ cập nhật cả client và non-clients. 122 . Một cập nhật từ client được nhận từ RR và cập nhật sẽ được chuyển đến các RR clients cũng như nonclients.

Kết quả là: Phí tổn để quản lý được giảm đi bởi vì cấu hình là đơn giản hơn. cần phải reset các phiên làm việc TCP sao cho các thay đổi có hiệu lực. giảm thiểu khả năng bị lỗi. nhưng vẫn cho phép các chính sách đi vào khác nhau được cấu hình trên nhóm. Có ba cách để áp đặt PBR trong BGP: 123 . Có nghĩa là một cập nhật sẽ được tạo ra cho cả nhóm. gây lãng phí CPU và giới hạn khả năng mở rộng của iBGP. ổn định và tin cậy. mạng hội tụ nhanh. Điều này có nghĩa là mọi iBGP router đều thực hiện cùng một tính toán. 6. Nhìn chung. nhưng nó cho phép các cấu hình mới được hiện thực mà không hủy các session hiện có.17.Giáo trình khóa học BSCI Chƣơng 6 . Điều này là do các quá trình BGP lưu trữ chỉ những tiền tố prefix áp dụng cho một chính sách liệt kê trước. Router#neighbor neighbor-address soft-configuration inbound Router#clear ip bgp neighbor-address soft [inbound] 6. tất cả các iBGP peer phải được fully meshed để nhận cùng một update. Kiểm soát BGP Traffic Các BGP update có thể được kiểm soát. Lệnh dưới đây áp dụng cho từng neighbor và chỉ áp dụng cho các cập nhật theo chiều inbound.18.BGP 6. Việc kiểm soát các cập nhật giúp cho đơn giản hoá hệ thống mạng và dể dàng bảo trì. Tác vụ này rõ ràng đòi hỏI nhiều bộ nhớ. Có thể dùng các lệnh sau: Router#clear ip bgp * Hoặc để gửi một BGP update đến một neighnor nào đó: Router#clear ip bgp neighbor-address in Cũng có thể cấu hình BGP để lưu các mạng trước khi policy thay đổi. các phiên TCP phải được kết thúc và kết nối lại với các đặc điểm mới. Ít đòi hỏi tài nguyên CPU. trong các giao thức định tuyến. Route Refresh Sau khi thực hiện bất kỳ một cấu hình BGP nào. tất cả các router bên trong peer group có cùng chính sách đối với bên ngoài. Khi peer group được cấu hình. Nếu chính sách thay đổi. 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.16. kiểm soát các cập nhật là một việc tốt. Peer Groups Nếu không có peer-group.

BGP Ra quyết định dựa trên thuộc tính AS_PATH. Một ACL được dùng trong BGP sẽ lọc các update được gửi từ một router peer trên AS path. Quá trình từ chối hay chấp nhận các routes yêu cầu một vài dạng của filtering thông qua các ACL.11. công cụ này không chỉ dành riêng cho quá trình redistribution. Chƣơng 6 . Mặc dù distribute-list thường được dùng trong redistribution. đặc biệt trong quá trình redistribution. Từ Cisco IOS v.  Route maps Route map được dùng để định nghĩa chính sách định tuyến. Nếu ta không nhập vào 124 . Một route-map là một accesslist phức tạp qua đó router hoạt động khi một match được nhận dạng.2.  Distribute lists Distribute-list được dùng để lọc các cập nhật. thuộc tính community hoặc prefix. tương tự như các dòng trong một chương trình máy tính. người quản trị phải định nghĩa các tiêu chí cho access-list. Một thuận lợi khác của prefix-list là khả năng soạn thảo. Thiết lập các thuộc tính để ảnh hưởng đến quá trình chọn lựa đường đi. Điều này không chỉ đúng với tính năng soạn thảo mà còn với giao diện đã cải tiến. Cơ chế dùng prefix-list dựa trên prefix của một địa chỉ. các ISP sử dụng các prefix-list là một dạng khá hiệu quả của filtering.Giáo trình khóa học BSCI Từ chối hay chấp nhận các routes được chọn. Cả prefix-list và distribute-list đều lọc dựa trên địa chỉ mạng chứ không dùng AS_PATH. Route map được dùng trong BGP để xác lập các thuộc tính của BGP để chọn ra đường đi tốt nhất. prefix-list có thể tạo và sử dụng dễ dàng. Tác vụ filtering không chỉ được dùng trong PBR mà còn để kiểm soát traffic trong mạng. Nó có thể áp dụng cho các traffic theo chiều inbound và chiều outbound từ bất cứ các peer nào.  Prefix List hoạt động nhƣ thế nào? Prefix-list chỉ tìm kiếm trên phần network của một địa chỉ nên quá trình tìm kiếm là rất nhanh. 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. Có ba dạng filtering trong Cisco router:  Access-list cho AS_PATH Được dùng để lọc các AS. Mặc dùng trong ACL truyền thống vẫn cho phép soạn thảo động (dùng named ACL).  Prefix list Được dùng để lọc các prefix. Điều này đặc biệt quan trọng trong khi tìm kiếm những bảng định tuyến kích thước lớn trong BGP. Mỗi dòng trong prefix-list được kết hợp với một chỉ số.

route sẽ không được dùng Kết thúc của mọi prefix-list là một phát biểu ngầm định deny. Khi một match là tìm thấy. Thời gian xử lý sẽ được giảm nếu các điều kiện match/deny được đặt ở đầu của danh sách. khi có một prefix bị deny hoặc được permit. chẳng hạn như từ 1 đến 4 cho phép các dòng thêm vào về sau.Chú giải các thông số cấu hình prefix-list Thông số (Parameter) prefix-list-name [seq seq-value] {deny | permit} Mô tả (Description) Tên của prefix-list Số thứ tự được gán đến tiêu chuẩn đang định nghĩa Hành động là từ chối hoặc cho phép đối với kết quả 125 . Các số không được dùng.BGP chỉ số thứ tự (sequence-number). prefix sẽ bị deny theo luật mặc định. Như vậy.  Làm thế nào để cấu hình BGP prefix-list? Dùng lệnh sau để cấu hình prefix-list: Router(config-router)#ip prefix-list prefix-list-name [seq seq-value] {deny|permit} network/len [ge ge-value] [le le-value] Bảng 6. route sẽ được dùng hay bị loại bỏ. dùng thông số seq seq-value trong lệnh ip prefix-list. Cụ thể. Nếu có một match xảy ra. Router bắt đầu tìm kiếm ở đỉnh của prefix-list.Giáo trình khóa học BSCI Chƣơng 6 . route sẽ được dùng Nếu một route là deny.3 . entry có chỉ số sequence number nhỏ nhất sẽ được dùng. Các chỉ số sequence number tự động gia tăng theo mặc định. chỉ số này sẽ được tự động tạo ra. quá trình tìm kiếm kết thúc. với mỗi lần tăng là 5. Để cấu hình sequencenumber. Điều này ngăn ngừa việc phải xử lý các điều kiện hiếm khi gặp mỗi khi một route được kiểm tra. Prefix-list hoạt động bằng cách tìm các prefix trong danh sách match với các prefix đang kiểm tra. các luật sau sẽ được dùng: Nếu một route là permit. nếu cho trước một prefix mà prefix này không match với một entry trong prefix-list. Ta có thể soạn thảo prefix-list bằng cách chỉ ra chỉ số dòng hoặc sequence-number. Khả năng này là không có trong ACL. Chỉ số sequence number không cần thiết chỉ ra khi xóa một dòng trong cấu hình. Nếu có nhiều entry trong một prefix list match với một prefix. với chỉ số sequence-number bằng 1.

Và nếu AS của bạn cung cấp đường đi tốt nhất đến AS của nhà ISP kia. BGP được dùng để kết nối đến Interner và định tuyến traffic trên Internet. 6. Nếu dùng nhiều kết nối dự phòng. Cơ chế multihoming có thể bao gồm vài kết nối đến cùng một nhà cung cấp dịch vụ hoặc bao gồm nhiều mức dự phòng bằng cách kết nối đến một nhà cung cấp dịch vụ ISP khác. Người quản trị mạng phải phải thường xuyên kết nối tới Internet. Kết nối Internet dùng BGP Do là giao thức ngoại vùng. sẽ có vấn đề lớn phát sinh khi kết nối từ một trong những nhà cung cấp dịch vụ bị rớt. dùng lệnh sau: Router(config-router)#neighbor prefix-list-name {in|out} {ip address|peer-group} prefix-list 6. Phần này khảo sát hai vấn đề: nhu cầu cho các kết nối dự phòng (còn gọi là multihoming) và nhu cầu ra quyết định sẽ có bao nhiêu thông tin nhận từ Internet. người ta gọi đây là multi-homing.Multihoming Một lượng lớn các traffic trên Internet là để tìm kiếm tài nguyên. Kết nối dự phòng ra Internet . Do đó bạn cần phải biết một số tiêu chí thiết kế khi kết nối đến một nguồn tài nguyên khổng lồ như vậy.19. Nguyên nhân để có nhiều kết nối đến internet thì khá rõ ràng.Giáo trình khóa học BSCI network/len [ge ge] [le le_value] Chƣơng 6 . Cấu hình ở mức ISP là giải pháp cho những mối quan tâm này và nó liên quan đến việc thiết lập dịch vụ. Nếu các nhà cung cấp dịch vụ gửi cùng một subnets của các routes được yêu cầu. bạn nên đưa ra yêu cầu về multihome khi thoả thuận với các nhà cung cấp dịch vụ sao cho các ISP nhận biết về nhu cầu cấu hình thêm cho bạn. 126 . Nếu bạn kết nối đến hai nhà cung cấp dịch vụ khác nhau. Nếu có nhiều kết nối đến Internet.20. Khi kết nối Internet. mạng của bạn tham gia vào một hệ thống mạng rộng lớn. vì vậy bạn phải đảm bảo router của bạn không bị quá tải bởi lượng thông tin. Điều này có thể xảy ra nếu một router trong AS của một nhà cung cấp dịch vụ tìm thấy đường đi đến đích thông qua AS của một nhà ISP khác. vùng AS của bạn có thể trở thành transit AS giữa các ISP. ta còn có thể triển khai việc chia tải để cải tiến performance của hệ thống mạng. Vì vậy.BGP Chiều dài của prefix phải match Chỉ ra chiều dài của prefix cần phải match Để cấu hình một router dùng prefix-list như là filter trong distribute-list. Traffic này không chỉ bao gồm email và các phương tiên khác của giao tiếp mà còn truy cập thông tin từ Internet. Có các mối quan tâm sau đây khi kết nối đến nhiều hơn một ISP: Mỗi nhà cung cấp dịch vụ có thể không truyền cùng các routes đến từ Internet.

- Chấp nhận một phần routes bên cạnh các default-routes từ các nhà cung cấp dịch vụ.BGP 6. Có 3 giải pháp để chọn lựa route từ Internet: Chấp nhận chỉ default-route từ tất cả các nhà cung cấp dịch vụ. Đặc biệt.21. vài kế hoạch phải được chuẩn bị kỹ. - Chấp nhận toàn bộ bảng định tuyến từ tất cả các nhà cung cấp dịch vụ.Giáo trình khóa học BSCI Chƣơng 6 . người quản trị cần phải quyết định những updates nào là cần gửi ra thế giới bên ngoài và các router bên trong một AS cần phải biết về thế giới bên ngoài như thế nào. Nhận thông tin định tuyến từ Internet Khi kết nối ra một hệ thống mạng lớn như Internet. 127 .

BGP Quá trình quyết định thì khá rõ ràng: Nó phải cân bằng giữa các tài nguyên mạng và thông tin. Tổng số thông tin càng nhiều.Giáo trình khóa học BSCI Chƣơng 6 . 128 . càng nhiều routes có thể được chấp nhận từ các nhà cung cấp dịch vụ.

Routes chấp nhận từ Internet IGP chọn đƣờng đi Bộ nhớ CPU tốt nhất đến default-route Thấp Thấp Yes BGP chọn lựa đƣờng đi đến mạng bên ngoài Đi đến gateway gần nhất đang quảng bá đường đi Đƣờng đi ra bên ngoài có thể hiệu thuộc tính BGP No AS có gửi tất cả các ISP chọn đƣờng đi về AS? Yes chỉnh thông qua các route đến ISP? Yes Các default routes chỉ từ các ISP Chọn lựa route và default route từ ISP Trung bình Trung bình Yes Yes: thông thường AS path là thuộc tính chọn lựa đường đi ra Internet Yes Yes Yes Nhận đầy đủ bảng định tuyến từ ISP Cao Cao Yes Yes: thông thường thuộc tính AS_PATH giúp chọn lựa đường đi ra Internet Yes Yes Yes 129 .

sẽ có tình huống là mạng đó đang chạy một IGP trong một AS.23. Định tuyến tĩnh là tóm tắt các địa chỉ. Để cấu hình trọng số weight. hãy xem xét quá trình quảng bá route vào BGP. Điều này là do Internet quá rộng lớn và và do kích thước khổng lồ của bảng định tuyến của các router trên Internet. Trọng số càng cao. Quảng bá route từ BGP vào IGP Phân phối các routes từ Internet vào một hệ thống mạng nhỏ là không hiệu quả. Các đường đi có thể được đưa vào bảng định tuyến từ IGP vào BGP hoặc từ BGP vào IGP. 6. Khi cả khi dùng rất nhiều phép summary và lọc. Summary-route sẽ chỉ về next-hop là null0. vẫn có rất nhiều thông tin phải truyền tải. Lệnh này có tầm vực cục bộ và thuộc tính này sẽ không truyền đến các router khác. các ISP thường chạy BGP cho các routes bên ngoài và dùng IGP cho các routes bên trong. Quảng bá route từ IGP vào BGP Đầu tiên. Cisco khuyến cáo rằng ta nên dùng lệnh aggregateaddress thay cho cách dùng định tuyến tĩnh với null0. Redistribute các route từ IGP: cách này không được khuyến cáo vì sẽ phụ thuộc nhiều vào bảng BGP. dùng lệnh sau: Router(config-router)#neighbor weight { ip-address | peer-group-name} weight 6. các định tuyến tĩnh thường được dùng để tạo ra các supernet. đường đi càng tốt. 6. Khi này sẽ có khả năng tạo ra các lỗ đen (black-hole) có thể làm mất route.23. Dùng thuộc tính Local Preference và trọng số weight Thuộc tính trọng số weight sẽ chọn lựa đường đi ra khỏi router khi có nhiều đường đi đến cùng một địa chỉ đích.2. Redistributing static: Mặc dù bất cứ tuyến đường tĩnh nào có thể được redistribute vào BGP. ví dụ các địa chỉ lớp C với giá trị prefix-mask bằng 16 bit. Không có yêu cầu phải dùng 130 .BGP 6.Chƣơng 6 .22. Bởi vì ISP thường chạy eBGP và iBGP rất nhiều. Có ba cách để quảng bá bảng BGP với các IGP routes: Dùng lệnh network: Lệnh này dùng để quảng bá những routes có trong bảng định tuyến.1. Redistribution giữa IGP và BGP Trong trường hợp mạng không phải là một ISP. Thuộc tính này cũng là của riêng Cisco. Các route iBGP sẽ bị loại bỏ.23. nếu không routing loop sẽ xảy ra khi các BGP routes được đưa vào IGP.

Lúc này nên cấu hình các cơ chế route-filering. Nếu dùng full-mesh hoặc RR. 131 . bất cứ thiết bị nào muốn kết nối đến Internet cần phải có một default-route hoặc các route riêng lẽ đến chuyển traffic.Chƣơng 6 . IGP cần phải mang những routes đi qua các AS đến các BGP khác. nếu không bảng định tuyến sẽ bị quá tải. Chức năng synchronization thì không cần thiết trong kiểu mạng này vì IGP vẫn chạy theo kiểu full-mesh. luật synchronization có thể được tắt đi.BGP redistribution. Ngoài ra.

Sign up to vote on this title
UsefulNot useful