这个问题,首先你要先整明白什么是 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 时你就能发现变化。 哈哈,把笔记 带回家学习两小时,也有点收获,但我他妈的学完之后很明白,但过几天就忘记的比农夫山泉还干净(就记得点渣渣)。

--------------------- 

作者:大任Dren 

来源:CSDN 

原文:https://blog.csdn.net/a9254778/article/details/41652915 

版权声明:本文为博主原创文章,转载请附上博文链接!