Transcript
Giáo trình khóa h ọ c BSCI Chƣơng 6 - BGP 100 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 Giáo trình khóa h ọ c BSCI Chƣơng 6 - BGP 101 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 để Giáo trình khóa h ọ c BSCI Chƣơng 6 - BGP 102 đế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 Thu ậ t ng ữ Định nghĩa 1 Aggregation Là quá trình tóm t ắ t các route – (summarization). 2 Attribute 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 EBGP G ửi thông tin đị nh tuy ế n gi ữ a các AS khác nhau 6 Interior Gateway Protocol (IGP) Đâ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. Giáo trình khóa h ọ c BSCI Chƣơng 6 - BGP 103 8 Originator-ID Đây là thuộ c tính c ủ a BGP. Nó là m ộ t thu ộ c tính tùy ch ọ n. Thu ộ c tính này s ẽ ch ứ a giá tr ị routerID c ủ a router đã phát sinh ra đường đi đó. Mục đích củ a thu ộc tính này là ngăn ngừ a routing loop. N ế u m ộ t router nh ận đượ c m ộ t update t ừ chính nó, router đó s ẽ b ỏ qua update đó. 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. Đây là mộ t d ạ ng c ủa đị nh tuy ế n tĩnh. 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. 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. Prefix- list thì nhanh hơn, uy ể n chuy ển hơn và ít tố n tài nguyên c ủ a h ệ th ố ng h ơn. 11 Route-reflector Đây là router đượ c c ấu hình để chuy ể n các routes t ừ các router iBGP khác. Khi c ấ u hình route-reflector, các iBGP không c ầ n ph ả i fully-mesh n ữ a. M ộ t m ạ ng fully-mesh thì không có kh ả năng mở r ộ ng. 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. Client không c ầ n thi ế t ph ả i thi ế t l ậ p peer v ớ i các client khác. 13 Route_reflector Clustor M ộ t cluster là m ộ t nhóm bao g ồ m m ộ t route-reflector và clients. Có th ể có nhi ều hơn mộ t route-reflector server trong m ộ t cluster. 14 transit autonomous system Là AS được dùng để mang các BGP traffic qua các AS khác. Giáo trình khóa h ọ c BSCI Chƣơng 6 - BGP 104 6.4. 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. Nhi ề u công ty dùng các k ế t n ố i khác nhau nh ằ m m ục đích dự phòng. Chi phí có th ể gi ả m thi ể u n ế u t ấ t c ả các k ế t n ối đều được dùng. Trong trườ ng h ợ p này, PBR có th ể c ầ n thi ế t để tri ể n khai trên t ừ ng k ế t n ối. 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 ạ ng c ủ a hai t ổ ch ứ c không th ể xu ấ t hi ện như mộ t AS. M ột trườ ng h ợ p khác ph ả i dùng BGP là khi m ạ ng c ủ a ta là m ộ t ISP. N ế u là m ộ t ISP, h ệ th ố ng m ạ ng này ph ả i cho phép các traffic khác đi qua AS củ a mình. Lúc này nó ho ạt động như mộ t transit domain. 6.5. 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ì. Đây là lý do chính để tránh dùng BGP trong m ộ t h ệ th ố ng m ạ ng. Vì v ậ y, n ế u h ệ th ố ng m ạng có các đặ c điể m sau, nên dùng nh ữ ng cách th ứ c khác, ch ẳ ng h ạn như static hoặ c default-routing. - M ạ ng c ủ a ISP và m ạ ng c ủ a công ty có chung m ột chính sách đị nh tuy ế n. - M ặ c dù công ty c ủ a b ạ n có nhi ề u k ế t n ối đế n ISP, 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. - Tài nguyên m ạ ng là có gi ớ i h ạ n, ch ẳ ng h ạn như bộ nh ớ và CPU c ủ a router. - 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. 6.6. 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. 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 BGP không ch ỉ là danh sách các bi ến mà qua đó route đượ c ch ọ n l ự a. 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. Mộ t s ố thông tin khác là r ấ t quan 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ác router BGP trong m ạ ng. 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ó. 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). C ả hai nhóm này s ẽ đượ c ti ế p t ụ c chia ra làm các nhóm con.