BGP hỗ trợ định tuyến liên vùng phi lớp CIDR Classless Inter-Domain Routing và dùng kỹ thuật kết hợp tuyến để giảm kích thước bảng định tuyến.Ngoài việc sử dụng BGP giữa các AS, BGP cũng
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA: ĐIỆN TỬ VIỄN THÔNG
BÁO CÁO MÔN CÁC GIAO THỨC ĐỊNH TUYẾN
ĐỀ TÀI: GIAO THỨC ĐỊNH TUYẾN BGP IPV6
Trang 2Nhóm 15 Giao thức định tuyến BGP IPv6
LỜI GIỚI THIỆU 3
1 TỔNG QUAN GIAOTHỨCBGP 4
1.1 GiớithiệuBGP 4
1.2 Sử dụng BGP trong địnhtuyến 5
1.3 Một số tính chấtcủaBGP 6
2 THUỘC TÍNH SỬ DỤNGTRONGBGP 7
2.1 Các thuộc tínhtrongBGP 7
2.2 Thuộc tính Autonomous systempath (AS_PATH) 10
2.3 Thuộctính WEIGHT 11
2.4 Thuộc tính LocalPreference(LOCAL_PREF) 11
2.5 Thuộc tính Metric hayMULTI_EXIT_DISC(MED) 11
2.6 ThuộctínhORIGIN 12
2.7 ThuộctínhNEXT_HOP 12
2.8 ThuộctínhCommunity 13
3 CẤU TRÚCCỦABGP 13
3.1 Cấu trúc gói tinthôngbáo 13
3.2 Bảntin open 15
3.3 Bản tin KEEP ALIVE 16
3.4 Bảntin NOTIFICATION 17
3.5 Bảntin Update 17
3.6 Lựa chọnđườngđi 20
4 HOẠT ĐỘNGBGP 23
4.1 Giao thức địnhtuyếnBGP 23
4.2 So sánh giữa EBGPvàIBGP 24
4.3 Hoạt bảngđịnh tuyến 24
4.4 Quảng bá tuyến trongBGP 25
4.5 Sử dụng BGP vớichínhsách 27
4.6 Cấu hìnhBGPIPv6 30
5 MÔ HÌNH MẠNG GIAO THỨCBGPIPv6 32
5.1 Đềbàilab 32
5.2 Cấu hình IBGP PEERING trênAS100 33
5.3 Cấu hình EBGP PEERING giữa AS 100 vàAS200 39
KẾTLUẬN 46
Trang 3LỜI GIỚI THIỆU
Chúng ta đang sống trong thế kỉ 21, kỉ nguyên của khoa học kĩ thuật và công nghệ hiệnđại Vào thời điểm này, ngành công nghiệp công nghệ thông tin và chiếc máy vi tính nắm giữmột vai trò không thể thiếu trong mọi lĩnh vực hoạt động của con người Một chiếc máy tính đểbàn hoạt động độc lập là không đủ, con người muốn liên kết các máy tính lại với nhau thànhmạng máy tính để tận dụng sức mạnh xử lí, trao đổi thông tin và chia sẻ tài nguyên Khi mạngmáy tính tăng lên cả về quy mô và số lượng, con người lại muốn liên kết các mạng máy tính nàylại với nhau Làm thế nào để liên kết các máy tính lại với nhau ? Làm thế nào để thông tin có thểđược trao đổi giữa các mạng máy tính cách nhau hàng trăm cấy số ? Một bài toán cần được giải
để trả lời những câu hỏi trên, đó là bài toán địnhtuyến
―Định tuyến‖hiểuđơngiảnlà―tìmđườngđi‖.Trongtruyền thôngmáytính định tuyến nghĩa làchỉ ra đường đi để thông tin có thể di chuyển từ nguồn đến đích theo cách tốt nhất Không thểphủ nhận tầm quan trọng của định tuyến trong truyền thông máy tính Không có định tuyến, cácmáy tính không thể trao đổi thông tin với các mạng khác
Thiết bị thực hiện chức năng định tuyến trên mạng chủ yếu là các Router Để có thể thựchiện chức năng định tuyến, các Router phải trao đổi thông tin về tuyến với nhau để xây dựng nêncác tuyến đường Tập hợp các qui tắc trao đổi thông tin định tuyến giữa các thiết bị định tuyếnvới nhau gọi là giao thức định tuyến
Đối tượng nghiên cứu của đề tài này là giao thức định tuyến BGP (Border GatewayProtocol) – giao thức được sử dụng hết sức rộng rãi trên mạng Internet hiện nay Mục đích của
đề tài là tìm hiểu hoạt động của giao thức định tuyến BGP và cách thức triển khai giao thức địnhtuyến BGP trên cácRouter
Do những hạn chế về mặt thời gian và thiết bị, một số nội dung liên quan không đượcđưa vào đề tài như: Giao thức định tuyến BGP IPv6 Mặc dù đã hết sức cố gắng xong đề tàikhông tránh khỏi những thiếu sót vì vậy rất mong nhận được ý kiến đóng góp, sự chỉ bảo tậntìnhcủa các thầy cô và tất cả cácbạn
Trang 41 TỔNG QUAN GIAO THỨCBGP
1.1 Giới thiệuBGP
BGP, viết tắt của từtiếng AnhBorder Gateway Protocol, làgiao thứcđịnh tuyến nòng cốttrênInternet.Là giao thức định tuyến đa miền sử dụng trên Internet từ 1994 Nó hoạt động dựatrên việc cập nhật một bảng chứa các địa chỉ mạng và cho biết mối liên kết giữa các hệ tự trị.BGPlàgiaothứcvectorđườngđi(pathvector).KhácvớicácgiaothứcđịnhtuyếnkhácnhưRIP(vector độdài),OSPF(trạng thái liên kết), BGP định tuyến bằng một tập các chính sách và luật Phiên bảnBGP hiện nay là phiên bản 4, dựa trênRFC4271
BGP hỗ trợ định tuyến liên vùng phi lớp (CIDR Classless Inter-Domain Routing) và dùng
kỹ thuật kết hợp tuyến để giảm kích thước bảng định tuyến.Ngoài việc sử dụng BGP giữa các
AS, BGP cũng có thể được sử dụng trong các mạng riêng quy mô lớn do OSPF không đáp ứngđược Một lý do khác là dùng BGP để hỗ trợ kết nối đến nhiều nhà cung cấp dịch vụ Đa sốngười sử dụng Internet thường không sử dụng BGP một cách trực tiếp Chỉ có các nhà cung cấpdịch vụ Internet sử dụng BGP để trao đổi đường đi BGP là một trong những giao thức quantrọng nhất đảm bảo tính kết nối của Internet
Hình 1 : Mô hình mạng BGP.
Như đã nói ở trên 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ácAutonomous-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ácquốc gia khác nhau BGP là giao thức không chỉ tìm ra một tuyến đi về một mạng nào đó mà còncho phép người quản trị tìm ra các AS của các mạng Các giao thức như EIGRP, RIP, OSPF vàISIS sẽ tìm ra tuyến mà người quản trị cần
Trang 51.2 Sử dụng BGP trong địnhtuyến
Hình 2: Bảng các giao thức định tuyến động.
Lựa chọn giao thức định tuyến phù hợp cho một mạng là việc quan trọng và đóng gópvào sự ổn định của hệ thống Khi quyết định sử dụng BGP cho việc định tuyến người quản trịcầngiảiđápđượcmộtsốcâuhỏihếtsứccầnthiết
Khi nào nên dùng BGP?
Câu hỏi đầu tiên cần được các nhà quản trị đặt ra là: Sử dụng BGP cho việc định tuyếnkhi nào 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ì Mặc dùBGPlàgiaothứcphứctạptuynhiêncáctrườnghợpdướiđâyđượckhuyếncáochoviệcsửdụng giao thứcBGP để định tuyến:
- Một AS cho phép chuyển tiếp gói tin qua nó để đến các ASkhác
- Một AS có nhiều kết nối đến ASkhác
- LưulượngthôngtinvàoratrênASđócầnđượcxửlí
Các khuyến cáo trên được rút ra từ các đặc tính mà BGP sử dụng để định tuyến Các đặctính đó sẽ được trình bày kĩ ở chương sau
Trang 6Để tránh việc sử dụng không hiệu quả giao thức định tuyến BGP câu hỏi thứ hai mà cácnhà quản trị cần quan tâm là: Không nên sử dụng BGP khi nào? Việc định tuyến BGP là mộtgiao thức khá phức tạp và được sử dụng trên internet và trong các công ty lớn Vì lí dó đó BGPđược khuyến cáo là không nên sử dụng khi tồn tại một trong các điều kiện dưới đây :
- Chỉ có một kết nối đơn đến Internet hoặc đến ASkhác
- Chínhsáchđịnhtuyếnvà lựachọntuyếnkhôngliênquangìđếnAScủangườisửdụng
- Tài nguyên mạng là có giới hạn: tài nguyên về bộ nhớ và khả năng xử lí của CPUtr ênrouter
- Quản trị mạng thiếu kinh nghiệm, hiểu biết đối với giao thức BGP trong việc chọn,lọctuyến
- 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 Giải pháp để xử lí vấn đề khi không sử dụng BGP để định tuyến là sử dụngtuyến tĩnh (staticroute)
Việc trả lời tốt hai câu hỏi trên sẽ góp phần giúp cho các nhà quản trị lựa chọn và sử dụnghiệu quả giao thức BGP trong việc định tuyến cho hệ thống mạng của mình
Trong giai đoạn đầu tiên thiết lập mối quan hệ BGP thì toàn bộ thông tin cập nhật sẽđượctraođổivàsauđósẽchuyểnsangcơchếtrigger-update
Trang 7Một điểm khác biệt rõ thấy nhất của BGP so với các giao thức định tuyến loại IGP (nhưOSPF,RIP, EIGRP, IGRP,…) đó là nó không quan tâm đến các subnet cụ thể trong một côngty,cơ quan,…mà nó quan tâm đến việc chuyển tải đầy đủ thông tin đến 1 AS khác với các chínhsách định tuyến (policy) cần thiết.
BGP có thể sử dụng giữa các router trong cùng 1 AS và khác AS Khi BGP được dùngtrong cùng 1 AS thì được gọi là iBGP, còn dùng để kết nối các AS khác nhau thì gọi là eBGP
2 THUỘC TÍNH SỬ DỤNG TRONGBGP
2.1 Cácthuộc tính trongBGP
Các giao thức định tuyến IGPs quảng bá một mạng với các tham số định tuyến:metric,cost Mỗi giao thức IGPs có một tham số để lựa chọn tuyến đường tới đích khác nhau(RIP sử dụng đếm số hop, OSPF sử dụng tham số cost = 100000000/BW…) Nếu có nhiềuđường dẫn đến đích với metric hoặc cost khác nhau thì đường dẫn với metric hoặc cost thấpnhấtphải được lựa chọn BGP không phải là giao thức ngoại lệ và cũng cần các tham số để lựa chọn tuyến tốt nhất đến đích Cáctham số trong BGP được gọi là thuộc tính(Attributes)
BGP định tuyến bằng cách sử dụng các thuộc tính 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 Các thuộc tính của BGPkhông chỉ là danh sách các biến mà qua đó tuyến được chọn lựa Một vài thông tin được mangtrong các thông điệp cập nhật là quan trọng hơn các thông tin khác Một số thông tin khác là rấtquan trọng cho hoạt động của BGP, vì vậy các thông tin này phải được mang đến tất cả cácrouter BGP trong mạng Quá trình định tuyến dựa trên những thuộc tính và các giá trị của nó.Các thuộc tính được chia thành 4 nhóm: nhóm well-known mandatory , well-knowndiscretionary, optional transitive và optional nontrasitive Các thuộc tính đó được mô tả kĩ trongbảng dưới đây:
Trang 8Optional Nontransitive
Các thuộc tính này bị loại bỏ nếu cập nhật mang thuộctính này đi vào router mà router không hiểu hoặc không công nhận thuộc tính Các thuộc tính này sẽ không truyền tới các BGP
Bốn nhóm trên mô tả một cách tổng quát các thuộc tính của BGP Ứng với mỗi nhóm đó
ta sẽ đi sâu nghiên cứu các đặc tính cụ thể của từng loại thuộc tính trong nhóm
WEIGHT Cisco defined
attribute Đƣợc sử dụng để định tuyến trong BGP.
Trang 9Attribute Name Attribute Type Description
LOCAL_PREF Well-known
discretionary
Đượcsửdụngđểchọntuyến,thườngđượcsửdụng trong mộtAS
MULTI_EXIT_DISC Optional
nontransitive
Đượcsửdụngđểchọntuyến,thườngđượcsửdụng giữa cácAS
Trang 10Hình 3: Các vùng hệ thống mạng liên kết với nhau.
2.2 Thuộc tính Autonomous system path(AS_PATH)
Thuộc tính này được sử dụng cho việc chọn tuyến và chống loop trong BGP AS_PATHthuộc vào nhóm well-known mandatory, cần được quảng bá và hiểu bởi tất cả các router hàngxóm Mỗi nhà cung cấp dịch vụ đều được gán một số định danh duy nhất autonomous system(AS) trong khoảng từ 1 đến 64511 Các số AS này đã được đăng kí và gán tương tự như việccung cấp các dải địa chỉ IP Các nhà cung cấp dịch vụ cũng có thể định nghĩa các vùng tự trị ASbằng cách sử dụng các số AS riêng có phạm vi cho phép trong khoảng 64512 đến 65534 Tuynhiên các số AS riêng này không được quảng bá ra internet và chỉ được sử dụng trong vùng AS
đã tạo ra nó Các AS riêng tương tự như địa chỉ IP riêng
AS PATH có ý nghĩa trong việc xác định tìm đường đi tốt nhất, có hai chức năng:AS_PATHcàngngắncàngưutiên(chúý:trongBGPthìđườngđiđượcxácđịnhtheokiểuAS– by – AS chứkhông phải Hop – by - Hop như các giao thức định tuyến IGP) và ngăn ngừa loop (khi một route đãtừng qua router thì nó sẽ không chấp nhận route nàynữa)
Trang 112.3 Thuộc tínhWEIGHT
Weight là thuộc tính không được chỉ định trong BGP Nó là thuộc tính đặc biệt đượcphát triển trên các thiết bị của cisco và là thuộc tính do cisco định nghĩa Tham số này cũng làmột trong các thuộc tính được sử dụng để quyết định tuyến tốt nhất tới đích
Weight là thuộc tính được biểu diễn bằng 16 bit và giá trị trong khoảng 0 đến 65535, cóýnghĩa trong nội bộ 1 router Router được sử dụng thuộc tính Weight để chỉ định tuyến tới đích Việc lựa chọn này thườngđược sử dụng khi có nhiều đường dẫn tốt nhất đến cùng 1 đích.TrọngsốWeightsẽđượcưutiênhơn.Thuộctínhweightchỉcógiátrịtrênrouterđóvàkhôngquảngbá ra các routerhàng xóm chạy BGP Các tuyến BGP có weight mặc định là32768
2.4 Thuộc tính Local Preference(LOCAL_PREF)
LOCAL_PREF là thuộc tính tương tự như weight 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) LOCAL_PREF là một số 32bit có giá trị từ 0 – 4294967295 Thuộc tính này chỉ có ý nghĩa trong phạm vi 1 AS và không baogiờ gửi ra khỏi AS đó, vì vậy tất cả các router có cùng một quyết định chung để đến một routebên ngoài
2.5 Thuộc tính Metric hay MULTI_EXIT_DISC(MED)
ThuộctínhWeightđượcsửdụngđểquyếtđịnhtuyếntừmộtrouter.LOCAL_PREFđược sử dụng đểlựa chọn tuyến rời khỏi 1 autonomous system Thuộc tính MULTI_EXIT_DISC (Multi-exitdiscriminator hay MED) được sử dụng để quyết định tuyến giữa các AS MED cũng là một số có giátrị 32 bit tuy nhiên thuộc tính này có một điểm khác biệt với thuộc tính LOCAL_PREF đó là giá trịthấp hơn sẽ được ưu tiên thay vì giá trị cao sẽ được ưu tiên để chọn tuyến như trongLOCAL_PREF
Nếu tất cả các thuộc tính khác của BGP là bằng nhau AS 1 sẽ lựa chọn tuyến bên phảiđến AS 5 vì nó có giá trị MED thấp hơn Độ ưu tiên của các thuộc tính trong BGP được quyếtđịnh lần lượt là WEIGHT, LOCAL_PREF,AS_PATH và cuối cùng là MED Khi 3 tham số trên
là bằng nhau MED sẽ được sử dụng để chọn tuyến tốt nhất đến đích
Trang 12- Thông qua redistribution.
Câu lệnh network đƣợc sử dụng để quảng bá tuyến trong bảng định tuyến đến các BGPhàng xóm Các tuyến học đƣợc thông qua câu lệnh network có thuộc tính ORIGIN đặt là IGP vàchỉ ra rằng tuyến đó là tuyến nằm trong cùngA S
Có hai kiểu kết nối BGP Kiểu thứ nhất là kiểu kết nối giữa cá router chạy BGP trongcùng 1 AS Kiểu này đƣợc gọi là Internal BGP (IBGP) Kiểu kết nối thứ 2 là kiểu kết nối giữacác autonomous-system khác nhau Kiểu này đƣợc gọi là External BGP (EBGP)
Hình 4: Các tuyến IBGP và EBGP.
Các tuyến đƣợc học từ EBGP hàng xóm có thuộc tính ORIGIN là EGP Các tuyếnredistributed trong BGP có thuộc tính ORIGIN là incomplete Các tuyến IGP đƣợc ƣu tiên thôngqua các tuyến EGP và các tuyến EGP đƣợc ƣu tiên thông các các tuyến incomplete Nói cáchkhác các tuyến EBGP đƣợc ƣu tiên, sử dụng thông qua các tuyến IBGP
2.7 Thuộc tínhNEXT_HOP
Khi một router quảng bá một tuyến đến router EBGP hàng xóm, thuộc tính NEXT_HOPđƣợc đặt là địa chỉ IP của giao diện kết nối đến hàng xóm đó Đặc biệt nếu router quảng bá mộttuyến đƣợc học thông qua EBGP đến IBGP hàng xóm, thuộc tính NEXT_HOP sẽ không đƣợcthay đổi
Trang 13Khi một router nhận một tuyến từ một BGP hàng xóm, thuộc tính đầu tiên nó kiểu tra làNEXT_HOP.NếuNEXT_HOPkhôngđạtđược(khôngnằmtrongbảngđịnhtuyến),tuyếnđósẽ bị từ chối.EBGP sử dụng kết nối vật lí trực tiếp trên các giao diện vật lí vì thế NEXT_HOP sẽđượcđặttrongbảngroutinggiốngnhưgiaodiệnkếtnốitrựctiếp.CácIBGPhàngxómkhôngcó kết nối trựctiếp Trong ví dụ hình 10 router B chấp nhận tuyến từ router A vì NEXT_HOP là mạng kết nối trựctiếp với nó Router C sẽ chấp nhận tuyến từ router B nếu mạng NEXT_HOP có trong bảng địnhtuyến của routerC.
Khi BGP khai báo một mạng, router tự định rõ bản thân router đó như là NEXT_ HOP.Tuy nhiên, nếu router đó gửi thông điệp update cho một router hàng xóm 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 Do đó ta phải cấu hình cho cácrouter 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
2.8 Thuộc tínhCommunity
Đâ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 Do đó các router này có cùng một tính chất và có chung chính sách 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ó
sẽ xử lý thông điệp này một cách hợp lí
Nếu nó không hiểu thông điệp này thì sẽ gửi thuộc tính đó cho router hàng xóm xử lý.(Tuy nhiên, nếu nó hiểu thì sẽ không bao giờ gửi thuộc tính đó cho router hàng xóm trừ khi đượcchỉ định làm thêm điều gì đó)
3 CẤU TRÚC CỦABGP
3.1 Cấu trúc gói tin thôngbáo
Đa số người sử dụng Internet thường không sử dụng BGP một cách trực tiếp Chỉ có cácnhà cung cấp dịch vụ Internet sử dụng BGP để trao đổi đường đi BGP là một trong những giaothức quan trọng nhất đảm bảo tính kết nối của Internet
Trang 14Các thiết bị tìm đường (router) sử dụng BGP kết nối từng cặp (peering) với nhau bằngcách thiết lập phiên làm việc trên giao thức TCP qua cổng 179 Phiên kết nối này được duy trìbằng việc gửi các thông điệp keep-alive 19 byte mỗi 60 giây (mặc định).
Khi BGP được cho phép chạy trên một giao diện, các router sẽ cố gắng thực hiện mộttiếntrìnhthiếtlậpmốiquanhệtheocácbướcdướiđây:
- Idle State: Ở trạng thái này router sẽ khởi tạo một kết nối TCP với BGP hàngxóm
- Connect State : Giai đoạn này router khởi tạo sẽ chờ cho kết nối TCP được thực hiệnvới router BGP hàng xóm Nếu một kết nối TCP được thực hiện , router sẽ gửi một thông báoOPEN và chuyển sang trạng thái OpenSent Nếu hết thời gian chờ router vẫn không thiết lậpđượckếtnốinósẽchuyểntiếpsangtrạngtháiActive
- Active State: Ở giai đoạn này router vẫn chờ cho một kết nối được thực hiện với routerhàngxóm.NếukếtnốiđượcthựchiệnnósẽchuyểnsangtrạngtháiConnect
- OpenSent State : Ở giai đoạn này router sẽ chờ một thông báo OPEN từ BGP hàng xóm.Nếu xảy ra lỗi nó sẽ chuyển sang chế độ Idle State Nếu một thông báo OPEN được nhận từrouter BGP hàng xóm thì nó sẽ chuyển sang trạng tháiOpenConfirm
- OpenConfirm State: Giai đoạn này router chờ một thông báo KEEPALIVE từ BGPhàngxóm.KhimộtKEEPALIVEđượcnhậnnósẽchuyểnsangtrạngtháiEstablished
- Established State: Giai đoạn này các router sẽ trao đổi thông tin định tuyến với nhau
- Đị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đánhdấu16byte,trườngđộdài2bytevàtrườngkiểu1byte
Trang 15Hình 5: Định dạng chung phần tiêu đề của thông báo BGP.
Trang 16Tùy từng kiểu thông báo mà có thể có hoặc không có phần dữ liệu sau phần tiêu đề Ví
dụ thông báo KEEPALIVE không chứa dữ liệu mà chỉ chứa phần tiêuđề
- 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.Trườngnàycóthểcó1hoặc2dạng:
+ Nếu kiểu thông báo của BGP là OPEN hoặc OPEN không sử dụng chứng thực
thì trường đánh dấu này phải được đặt tất cả bằng 1
+ Ngược lại trường này sẽ được đặt dựa vào việc tính toán các kĩ thuật sử dụng để chứngthực
- Trường độ dài length (length field): Trường này có độ dài 2 byte chỉ ra tổng độ dài củathông báo BGP bao gồm cả phần tiêu đề Vì thế trong BGP độ dài tối thiểu của 1 thông báo là 19byte (16 + 2 + 1) và tối đa không lớn hơn 4096byte
- Trường kiểu : Trường này có độ dài một byte cho phép biểu diễn các kiểu thông báotrong giao thứcBGP
Có 4 loại thông điệp BGP :
- Open : Thiết lập kết nối với nút hàng xóm mở phiên kếtnối
- Số phiên bản (version number): Phiên bản BGP hiện tại là4
- Số AS (ASnumber)
Trang 17- Hold time :thời gian một BGP router sẽ chờ trước khi khai báo rằng hàng xóm mấtliênkết.
- BGP routerID
- Optparmlen:TrườngnàychỉrađộdàicủatrườngOptionalparameters
- TrườngOptionalparameters:Trườngnàychỉradanhsáchcácthamsốđượcsửdụngđể các hàngxóm thỏa thuận phiên BGP vớinhau
Hình 6: Thông báo OPEN.
Sau khi BGP router gửi một thông báo OPEN tới hàng xóm của nó, router sẽ chuyển sangtrạng thái OpenSent và chờ nhận một thông báo OPEN từ hàng xóm Khi router nhận đượcthôngbáo OPEN từ hàng xóm Router sẽ chuyển tiếp sang trạng thái OpenConfirm State, và chờ một thông báoKEEPALIVE
3.3 Bản tin KEEPALIVE
Thông báo KEEPALIVE không chứa dữ liệu mà chỉ chứa phần tiêu đề
Mặc định KEEPALIVE được gửi 60s và được sử dụng để xác nhận trạng thái của router.Sau khi nhận được KEEPALIVE router sẽ chuyển sang trạng thái Established và trao đổiKEEPALIVE, UPDATE và thông báo NOTIFICATION
Trang 183.4 Bản tinNOTIFICATION
Một thông báo NOTIFICATION được sử dụng khi có lỗi xuất hiện khiến cho phiên BGP
đó kết thúc Trong quá trình thực hiện BGP có thể có nhiều lỗi xảy ra
Thông báo NOTIFICATION có định dạng như sau:
Hình 7: Thông báo NOTIFICATION.
3.5 Bản tinUpdate
Dùng để gửi thông tin đường đi giữa các nút BGP
Quảng bá các đường đi có cùng tính chất
Withdrawn route bao gồm các bộ <Length, prefix> mô tả danh
Sách các địa chỉ prefix (với chiều dài prefix trong length) sẽ bị rút khỏi bảng định tuyến.Một thông báo UPDATE quảng bá mạng đang có Thông báo UPDATE sẽ quảng bá:
- Các thông tin liên quan đến mạng đích: địa chỉ,netmask
- Các thuộc tínhBGP
- Các tuyến không có khả năng thực hiện định tuyến và bị loại bỏ trong bảng routing Thông báo UPDATE có cấu trúcnhư sau :
Trang 19Hinh 8: Thông báo UPDATE.
Trang 20Hình 9: Các trường bản tin Update.
Thuộc tín ORIGIN (Type Code 1) :
- 0 IGP - Network Layer Reachability InformaGon is interior to the originaGng AS
- 1 EGP - Network Layer Reachability InformaGon learned via the EGP protocol [RFC904]
2I N C O M P L E T E
-N e t w o r k L a y e r R e a c h a b i l i t y I n f o r m a G o n l e a r n e d b y s o m e o t h e r
means
Thuộc tín AS_PATH (Type Code 2) :
- Bao gồm một chuỗi các đoạn mô tả AS path
- Mỗi đoạn mô tả AS path bao gồm bộ 3: <path segment type, path segment length, path segmentvalue>
+ Path segment type:
1: AS_SET: chuỗi AS là không sắp xếp theo thứ tự các AS đi qua 2: AS_SEQUENCE: chuỗi các AS được sắp xếp theo thứ tự đi qua
+ Path segment length: số AS trên đường nằm trong path segment value
+ Path segment value: Danh sách các số hiệu AS, mỗi số hiệu 2 byte
Thuộc tín NEXT_HOP (Type Code 3):
- Atribute value: Địa chỉ IP của nút Gếp theo
Trang 213.6 Lựa chọn đườngđi
Việc nhận thông tin một tuyến đường tuân theo import policy :
- Việclựachọntuyếnđườngtốtnhấtdựatrêncácthuộctuyếncủatuyếnđường
- Đưa tuyến tốt nhất vào bảngđịnh tuyến
- Việc quảng bá nội dung bảng định tuyến tuân theo export policy
Hình 10: Lựa chọn đường đi theo thứ tự ưu tiên.
BGP sẽ chọn đường đi tốt nhất từ danh sách các đường đi hợp lệ dựa vào thứ tự ưu tiêncủa các luật sau (ưu tiên từ trên xuống dưới):
-Có trọng số Weight cao nhất Đây là một thông số do Cisco đưa ra, nó chỉ mang tính local trong một router
-Đường đi có Local Preference cao nhất Có giá trị mặc định là 100
-Nguồn gốc từ lệnh Network hoặc aggregate hoặc thông qua quá trình Redistribute từmột IGP Các đương đi có nguồn gốc từ lệnh Network hay redistribute có độ ưu tiên cao hơn từlệnhaggregate
-Chỉ số AS Path ngắn nhất
-Ưu tiên đường đi có nguồn gốc thấp nhất IGP < EGP < INCOMPLETE
Trang 22-Giá trị MED nhỏ nhất Mặc định bằng 0.
-Ưu tiên đường đi eBGP hơn so với iBGP
-Đường đi có IGP thấp nhất đến BGP next-hop
-Nếu có hai đường đi đến đích mà có tất cả các thuộc tính trên là giống nhau thì nó sẽ ưu tiên đường đi được nhận trước (đường đi cũ nhất)
-Đi đường có BGP router đến có router ID nhỏ nhất Giá trị router ID là địa chỉ IP cao nhất trên Router Cũng có thể gán bằng lệnh bgp router-id
-Ưu tiên cho đường đi có số cluster là ít nhất
-Đường đi đến từ những láng giềng có địa chỉ thấp nhất Địa chỉ này là địa chỉ được dùng trong lệnh neighbor
Trang 23Hình 11: Quá trình chọn tuyến được mô tả theo thứ tự ưu tiên.
Trang 24- Các Routers chỉ có thể chạy một BGP tại một thờiđiểm.
- BGP là một giao thức kiểu path-vector Đường đi của nó đến một mạng bao gồm một danh sách cácAS
- Cơ chế chống loop là một ASN- AS number Khi một cập nhật về một mạng đi ra khỏi
1 AS, ASN của AS đó được đính kèm vào bản cập nhật Khi một AS nhận một cập nhật, nó sẽxem trong AS list Nếu nhận ra ASN của chính nó, cập nhật sẽ bị loạibỏ
- BGP được sử dụng thay thế cho EGP và xóa hẳn mạng xương sống NSFNET nhằm giúp cho Internet trở thành một hệ thống phân tán đúngnghĩa
Các vấn đề hiện tại của BGP :