BGP 什麼時候需要用 next-hop-self 與 ebgp-multihop 2
這個問題,首先你要先整明白什麼是 EBGP 什麼是 IBGP
EBGP —— (External Border Gateway Protocol) 外部邊界閘道器協議,用於在不同的自治系統間交換路由資訊。
IBGP(Internal Border Gateway Protocol)——內部BGP協議(IBGP)僅用於多歸屬場合
意思就是 EBGP就是國家主席,IBGP就是國家總理
主席是國與國之間交流使用,總理就是國家內部之間交換使用,
看圖 R1 R2 在AS 100中,那麼 在BGP as100中 R1R2就是 IBGP,屬於內問交流
那麼 R 3 - 5 在 AS 200 中 那麼 在BGP 200中 R3-5就是另一個IBGP,他們之間也屬於內部交流
問題來了,這兩個IBGP,對於自己而言都是內問交流,用個總理就足夠了,但如果這兩個IBGP之間要進地交流那麼就得用到主席了,
所以 R2與R3-4之間如果進行交流的話,那麼他們就是EBGP了,因為是不同IBGP之間要交流,
這時 ebgp-multihop 2(x) 這個命令就起使用了,尤其基本LOOP地址時,就是告訴他,在2跳之內進行交流,別走遠了,如果不加這個命令,就只能使用對聯地址進行交流了,
EBGP是很少使用LOOP地址的,一般都是使用對聯地址,但實驗時可以這麼整,
那麼這個命令寫誰身上了,當然是寫到對方身上,
比如說在R2上,
如果寫在R2-1的AS100的鄰居上面,是沒有必須的這個命令只使用在EBGP上面,所以要寫在對端上,除自己的AS之外的所有EBGP鄰居上面,
next-hop-self 這個是使用在IBGP中的,使用就是改變路由的下一跳,
要記得 IBGP之間學習和發放路由資訊,預設是不改變任何資訊的,學來就給你,一點都不動,這就會造成在我這可以用,但在你那就用不了的情況
這裡可以看 R1 - R2 ,他倆是IBGP,當R2學到一個去R5的路由,他的下一跳是 R4,R2學到後,按IBGP的規則是原封不到的傳給R1的,
R1學到了,去R5得先跳到R4,這裡就完玩了,你R2有到R4的直連路由,你說去R5先一站先要到R4,但我R1沒有啊,你R2明顯是站著說話不腰痛,我R1怎麼去R4,你讓我R1情何以堪,這不是玩我呢嗎,越想越生氣,最後就想把R2殺了得了。
所以R2就得就得怪點,沒事引什麼仇恨,做事太死板,要學的靈活點,就加上 next-hop-self 這個命令,在哪加呢,這是屬於你們IBGP內部的問題,當然是加給IBGP的鄰居,和EBGP有毛關係,這時
R1學到的去R5的路由資訊就 下一跳就是R2了,R1就高興了,這就對了,你去R5下一跳是從R2到R4,我去R5下一跳當然是先到你R2了,以後就這麼告訴我,別和二逼一樣。
這裡 show ip route 時你就能發現變化。 哈哈,把筆記 帶回家學習兩小時,也有點收穫,但我他媽的學完之後很明白,但過幾天就忘記的比農夫山泉還乾淨(就記得點渣渣)。學這雞巴玩意長期來看也沒啥用。看嗜血法醫去了。