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 -ơ ụ ừ ế ườ ặ