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.
14 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2202 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Sự cần thiết của BGP, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
BGP C B NƠ Ả
Tác gi : Đăng Quang Minhả ̣
BGP C B NƠ Ả
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. ườ ả ị ầ
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 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.ượ ọ
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 đ đ 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. ữ ệ ế ộ ệ ả ố ư ấ
Các thu t ng BGPậ ữ
STT 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.ộ
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.
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. ủ ạ ộ ư ộ
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.ế ể ữ ệ
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. ả ẽ ượ ế ụ
NHÓM MÔ TẢ
Well-known mandatory 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
Well-known Discretionary 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, 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.ộ
Optional Transitive 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, nó sư ế ậ ượ ộ ẽ
đánh d u và g i đ y đ c p nh t này đ n router kấ ử ầ ủ ậ ậ ế ế
ti p. 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.ở
Optional Nontransitive Các thu c tính này b lo i b n u c p nh t mangộ ị ạ ỏ ế ậ ậ
thu c tí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. ẽ ề ớ
1. 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, mang 2 ch c năng. Th nh t, AS_PATH càng ng n càng đ c router u tiênố ư ứ ứ ấ ắ ượ ư
h n. (ví d t AS3 đ n AS4 có 2 con đ ng khác nhau: AS3 - B - AS4, ho c AS3 -ơ ụ ừ ế ườ ặ
AS2 - AS1 – AS4 thì router s u tiên con đ ng ng n h n là qua B). Ch c năng thẽ ư ườ ắ ơ ứ ứ
hai là ngăn ng a vòng l p. 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, 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.ấ ả ề ọ ệ ậ ậ ủ
2. Thu c tính ngu n g c (ộ ồ ố Origin-attribute): 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. 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, OSPF…). 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. 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. (Đ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.). Khi nó h c đ ngượ ế ồ ạ ượ ọ ườ
b ng l nh network thì nó đ thu c tính này là: i. Khi nó h c đ ng qua các l nh nhằ ệ ể ộ ọ ườ ệ ư
redistribute v.v... thì nó đ thu c tính là: “?”.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. 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 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)ư ờ ư ệ ầ ư ượ ử ụ
Next-Hop attribute:
Trong eBGP, 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. Đ a ch IP đ c ch ra b i l nh neighbor. Tuy nhiên trongả ị ỉ ượ ỉ ở ệ
môi tr ng multiaccess, n u m t route đ n t m t router, 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 . Vì v y, có m t lu t r ng, đ a ch c a router xu tượ ồ ố ấ ậ ự ậ ộ ậ ằ ị ỉ ủ ấ
phát gói tin BGP s v n gi nh đ a ch ngu n.ẽ ẫ ữ ư ị ỉ ồ
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 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. 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.ứ ả
B c 1: Router A g i c p nh t v m ng 192.33.33.0ướ ử ậ ậ ề ạ
B c 2: Router D nh n update và truy n. Tuy nhiên n u routerD thay đ i đ a chướ ậ ề ế ổ ị ỉ
source-address thành đ a ch đ a ch c a chính nó, s có m t s nh m l n x y ra vìị ỉ ị ỉ ủ ẽ ộ ự ầ ẫ ả
trong môi tr ng multiaccess, m i router s công b nó là next-hop. Đ tránh tìnhườ ọ ẽ ố ể
hu ng này, đ a ch ngu n c a update không thay đ i. ố ị ỉ ồ ủ ổ
B c 3: Router B bi t routerA là next-hop c a m ng 192.33.33.0ướ ế ủ ạ
The Next-Hop Attribute and a Nonbroadcast Multiaccess Network
Cũng gi ng nh trong môi tr ng multiaccess, m t m ng NBMS cũng tuân theo cùngố ư ườ ộ ạ
m t qui lu t. 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.
Thu c tính Nexthopself trong BGPộ
150.10.0.0 (AS 100)
RouterA--------(150.10.3.1)---IBGP--------RouterB---|
|(170.10.20.1)
|
| (170.10.20.2)
RouterC
|_ 170.10.0.0 (AS 300)
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. Đ i v i EBGP, 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. Theo ví d trên, RouterC s qu ngề ượ ệ ụ ẽ ả
cáo network 170.10.0.0 cho RouterA v i m t next hop là 170.10.20.2 và ng c l iớ ộ ượ ạ
RouterA s qu ng cáo l i 150.10.0.0 cho RouterC v i m t next hop là 170.10.20.1.ẽ ả ạ ớ ộ
Đ i v i IBGP, có m t nguyên t c là: “the next hop advertised by EBGP should beố ớ ộ ắ
carried into IBGP”. Chính vì quy lu t này, nên Router A s qu ng cáo l i 170.10.0.0ậ ẽ ả ạ
cho các IBGP peer c a nó, trong tr ng h p này là RouterB v i m t next hop làủ ườ ợ ớ ộ
170.10.20.2. Vì th , lúc này RouterB s có next hop đ đi đ n network 170.10.0.0 sế ẽ ể ế ẽ
là 170.10.20.2 ch KHÔNG ph i là 150.10.30.1 ứ ả
Lúc này thì b n ph i đ m b o r ng RouterB có th reach 170.10.20.2 thông qua IGP,ạ ả ả ả ằ ể
n u không RouterB s drop nh ng packet có dest. là 170.10.0.0 vì lúc này đ a ch nextế ẽ ữ ị ỉ
hop address tr nên inaccessible. Đ n đây thì b n hãy hình dung n u nh trong môiở ế ạ ế ư
tr ng NBMA, và có thêm m t RouterD (network 180.20.0.0) đ c thêm vào trongườ ộ ượ
AS 300, 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. Lúc nàyủ ẽ ượ
routing s fail. Đ kh c ph c tình tr ng này thì NEXT-HOPE-SELF đ c s d ng. ẽ ể ắ ụ ạ ượ ử ụ
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. ể ự ọ
RouterC#
router bgp 300
neighbor 170.10.20.1 remote-as 100
neighbor 170.10.20.1 next-hop-self
RouterC s q ang cáo 180.20.0.0 v i NextHop = 170.10.20.2. Next-hop-self ch có l iẽ ủ ớ ỉ ợ
trong môi tr ng nonmeshed.ườ
Local-Preference attribute: Đâ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), ch mang ý nghĩa c c b trong ph m vi AS màấ ệ ệ ỉ ụ ộ ạ
không bao gi g i ra kh i AS đó. Nó đ c truy n đ n các local BGP neighbors.ờ ở ỏ ượ ề ế
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.ỏ ộ
Weight attribute: Đây cũng là thu c tính không b t bu c, các nhà cung c p khôngộ ắ ộ ấ
c n ph i h tr cho nó. 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. 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). ỏ
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. Trong BGP cũng có m t ATTRIBUTE đ c g i làế ộ ộ ộ ượ ọ
metric, đó là MED (Multiexit Discrimination). Tuy nhiên MED này có ý nghĩa h i khácơ
so v i metric trong các IGP. 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. ề ự ọ ườ ố ấ MED(multiple-exit-discriminator) là 1 attribute
c a BGP, 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, cái nào có MED th p h n s đ c ch n (do đó có l nóề ấ ơ ẽ ượ ọ ẽ
gi ng v i metric), không gi ng nh Local Preference, 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 đó .N u 1 route xu t phát t chính AS thì MED s đ c tínhị ộ ộ ế ấ ừ ẽ ượ
theo metric c a IBGP. ủ MED là m t attribute y u (trong th t route-selection c aộ ế ứ ự ủ
BGP), nên đ control đ c nó c n ph i care đ c các thu c tính có m c u tiên caoể ượ ầ ả ượ ộ ứ ư
h n (ơ weight-localpreference-originate-ASpath-origin code). H n n a, originated ASơ ữ
không th đi u khi n quá trình đ t MED trên các originating AS (neighbor AS), ho cể ề ể ặ ặ
ng c l i, nên hi m khi đ c dùng trong th c t . Ngoài ra, v i nhi u Customer v iượ ạ ế ượ ự ế ớ ề ớ
các yêu c u chính sách ch n outgoing traffic khác nhau, MED không hi u qu . 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.ặ
Communtity attribute:
Đâ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 láng gi ng router x lý. (Tuy nhiên, 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ì đó).ề ừ ượ ỉ ị ề
T ng quan ho t đ ng c a BGPổ ạ ộ ủ
BGP là m t giao th c h ng k t n i. Khi thi t l p m t quan h neighbor, m t phiênộ ứ ướ ế ố ế ậ ộ ệ ộ
làm vi c TCP s đ c thi t l p và duy trì. 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. Các thông đi p keepaliveể ườ ề ệ ệ
này ch là nh ng header có giá tr 19-bytes. Sau đó các router s g i các c p nh t đ nhỉ ữ ị ẽ ử ậ ậ ị
kỳ ch khi có thay đ i x y ra. Sau khi đã đi u ch nh b ng BGP, quá trình BGP sỉ ổ ả ề ỉ ả ẽ
truy n đ n t t c các láng gi ng các thay đ i. ề ế ấ ả ề ổ
Có 4 ki u thông đi p đ c dùng trong BGP:ể ệ ượ
Thông đi p Openệ : đ c dùng đ thi t l p k t n i v i các router BGP khác.ượ ể ế ậ ế ố ớ
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. 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, s không có thông đi p keepaliveế ả ờ ị ượ ề ằ ẽ ệ
nào đ c g i.ượ ử
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ác c p nh t bao g m các route không còn t n t i. 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, bao g m thu c tính origin,ậ ậ ồ ộ ề ườ ẫ ồ ộ
AS_PATH, neighbor.
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.ế ố ị ắ
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. N u h th ng m ng đ c thi t k đ h tr quá trìnhầ ế ế ệ ố ạ ượ ế ế ể ỗ ợ
summarization, t ng s tài nguyên m ng s đ c gi m đi b i vì có r t ít b nh ,ổ ố ạ ẽ ượ ả ở ấ ộ ớ
băng thông và CPU đ c dùng đ g i b ng đ nh tuy n. Th t ra, b ng cách tóm t tượ ể ử ả ị ế ậ ằ ắ
các l p đ a ch IANA, 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á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 đ a ch s đ c h p nh t l i thành m t s đ a ch d ngữ ầ ị ỉ ẽ ượ ợ ấ ạ ộ ố ị ỉ ạ
summary. Thay vì m t đ a ch có m t giá tr netmask đ nh n ra ph n đ a ch network,ộ ị ỉ ộ ị ể ậ ầ ị ỉ
nó s có m t giá tr prefix mask. Giá tr này đ n gi n là m t con s ch ra s bit đãẽ ộ ị ị ơ ả ộ ố ỉ ố
dành cho ph n network. Quá trình summarization s gi m thi u s prefix. N u m tầ ẽ ả ể ố ế ộ
m ng đ c c p tám đ a ch l p C, nó có th đ c qu ng bá nh m t network. ạ ượ ấ ị ỉ ớ ể ượ ả ư ộ
BGP s truy n các prefix và các prefix mask. M t router có th truy n route đã đ cẽ ề ộ ể ề ượ
tóm t t, các route riêng l ch a đ c summarize ho c truy n c hai.ắ ẽ ư ượ ặ ề ả
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, 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. Nh v y, đ có th forward d li u cho các AS khác, cácế ộ ư ậ ể ể ữ ệ
router c a transit AS ph i th c hi n: ủ ả ự ệ
- 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 , 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, 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, ngoài ra, 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. Khi này có th t t ch c năngủ ị ế ể ể ắ ứ
đ ng b c a IBGP. Nh ng full-mesh d n đ n vi c khó qu n lý, t n băngồ ộ ủ ư ẫ ế ệ ả ố
thông đ c p nh t đ nh tuy n, t n CPU,mem. Có 2 cách đ gi i quy t v n để ậ ậ ị ế ố ể ả ế ầ ề
này. S d ng Route Reflector: thay đ i qui lu t split-horizon c a IBGP. Cácử ụ ổ ậ ủ
RR có th g i các tuy n IBGP đ n các BGP peer khác. Đ ch ng l p vòng,ể ở ế ế ể ố ặ
các RR thêm vào các thu c tính: cluster-id và originator. 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 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, MED, Next-hop s không thay đ i.ộ ư ẽ ổ
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,Ư ể ủ ả ể ượ ả ộ ậ
tăng kh năng chính sách đ nh tuy n routing. Các member-AS có th s d ngả ị ế ể ử ụ
các IGP khác nhau. 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,...) 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. Đ l a ch nự ộ ộ ậ ữ ầ ủ ệ ố ể ự ọ
tuy n cho các Incoming traffic, có th s d ng các cách sau. 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. S d ng community: ph ng pháp này đòi h i ph i đ c upstreamử ụ ươ ỏ ả ượ
ISP h tr , ch nh h ng đ n ISP tr c ti p, trong nhi u tr ng h p khôngỗ ợ ỉ ả ưở ế ự ế ề ườ ợ
làm vi c t t. 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. Nh ng m t đi uụ ơ ể ệ ố ấ ả ư ộ ề
c n ph i nh , 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 attribute.ể ổ
Đ set metric, 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.1.1.1 route-map freddy out
!
ip as-path access-list 1 permit ^690_
ip as-path access-list 2 permit .*
!
route-map freddy permit 10
match as-path 1
set metric 127
!
route-map freddy permit 20
match as-path 2
trong ví d trên, các route as 690 s đ c set metric là 127.ụ ở ẽ ượ
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ó. 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 . D I đây là danhấ ấ ả ườ ườ ợ ệ ướ
sách các lu t đ c dùng đ xác đ nh đ ng đi t t nh t.ậ ượ ể ị ườ ố ấ
* u tiên đ ng đi có tr ng s WEIGHT cao nh t. 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.ấ ố
* u tiên đ ng đi có LOCAL_PREF cao nh t. Nh ng đ ng đi không có thu c tínhƯ ườ ấ ữ ườ ộ
LOCAL_PREF s có giá tr m c đ nh là 100.ẽ ị ặ ị
* 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 qua quá trình redistribution t m t IGP. 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.ệ
* u tiên nh ng đ ng đi có thu c tính AS_PATH ng n nh t. B c này s b b quaƯ ữ ườ ộ ắ ấ ướ ẽ ị ỏ
n u bi n bgp bestpath as-path đ c c u hình. M t t p h p AS_SET s đ c đ m tế ế ượ ấ ộ ậ ợ ẽ ượ ế ừ
1, b t ch p có bao nhiêu AS bên trong t p h p. 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. IGP thì th p h p EGP và EGP thìƯ ườ ồ ố ấ ấ ấ ơ
th p h n INCOMPLETE.ấ ơ
* u ti n nh ng đ ng đi có giá tr MED nh nh t. S so sánh này ch đ c th cƯ ế ữ ườ ị ỏ ấ ự ỉ ượ ự
hi n n u AS đ u tiên là gi ng nhau cho c hai đ ng đi. B t c m t AS con nào c aệ ế ầ ố ả ườ ấ ứ ộ ủ
confederation s b b qua. 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. N u l nh bgp always-compare-med đ cố ế ệ ượ
c u hình, MED đ c so sánh cho t t c các đ ng đi có th . N u dùng ch n l a này,ấ ượ ấ ả ườ ể ế ọ ự
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, n u không routing loop s x y ra. N u thông s bgp bestpath med-confed đ cế ẽ ả ế ố ượ
c u hình, 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 đ c nh n t m t router láng gi ng có giá tr MED là 4,294,967,295ữ ườ ượ ậ ừ ộ ề ị
s có giá tr MED thay đ I đ n 4,294,967,294 tr c khi đ c chèn vào b ng BGP.ẽ ị ổ ế ướ ượ ả
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. ằ
* u tiên nh ng đ ng đi eBGP so v I iBGP. N u đ ng đi t t nh t đ c ch n l a,Ư ữ ườ ớ ế ườ ố ấ ượ ọ ự
qua b c 9. ướ
* u tiên nh ng đ ng đi có IGP metric th p nh t đ n BGP next-hop. Ư ữ ườ ấ ấ ế
* 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. N u c hai đ ng đi là t bên ngoài, u tiên đ ng đi đ c nh n tr cế ả ườ ừ ư ườ ượ ậ ướ
(đ ng đi cũ nh t). B c này s b b qua n uườ ấ ướ ẽ ị ỏ ế
-L nh ệ bgp best path compare-routerid đ c dùngượ
-RouterID là gi ng nhau cho nhi u đ ng đi vì các routes đ c nh n t cùng 1 router.ố ề ườ ượ ậ ừ
-Hi n t i không có m t đ ng đi t t nh t. ệ ạ ộ ườ ố ấ
* u tiên nh ng đ ng đi đ n t BGP router có routerID nh nh t. Giá tr routerID làƯ ữ ườ ế ừ ỏ ấ ị
đ a ch IP cao nh t trên router. Giá tr này cũng có th đ c gán b ng l nh bgp router-ị ỉ ấ ị ể ượ ằ ệ
id. N u m t đ ng đi ch a 1 route-reflector, thu c tính Originator ID c a Route-ế ộ ườ ứ ộ ủ
Reflector s thay th cho routerID.ẽ ế
* N u RouterID là gi ng nhau cho nhi u đ ng đi, u tiên đ ng đi có s cluster là ítế ố ề ườ ư ườ ố
nh t. Đi u này ch đúng trong môi tr ng BGP route-reflector. 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.
* u tiên nh ng đ 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.ị ỉ ượ ệ
Các file đính kèm theo tài liệu này:
- Sự cần thiết của BGP.pdf