| 
 
| bgp建立peer的问题拾遗6 I& G' j, n. O" E4 n 众所周知,BGP建立peer必须要匹配AS和neighbor地址,但是这两项没有必要完全都匹配才可以建立邻居,有一些折中的办法
 $ N5 d# `* X7 k+ w( I1 A6 C* A- a- U1.AS匹配问题:如果对端指的AS和本地AS不同,也不能形成establish
 ' U" s+ ^5 p( N* Z; `9 A5 _, K5 S& n- V
 两种解决方案:①联邦,将本地私有AS转为对端所指AS,. J& p. {- S2 g9 Y. t- S
 ②使用Local-AS可选项,在指定邻居时,指明本方所使用的AS  : U1 d% G, o% `/ `
 2.源地址和目的地址匹配问题:0 W, Y3 N1 v  [; ]
 IOS在建立BGP邻居时,并不是要求两端都要匹配上源端口和目的端口,事实上只要有一端匹配上即可建立邻居匹配成功的一方即为“客户”,: u3 Q, E1 r% `3 @. s% R# K! }( B
 2 v7 \' M2 t( t7 L! L  m7 `% ?
 采用一个随机端口,主动发送open信息不能匹配的另一端即为“服务器”,采用179端口被动接收数据包,
 . J6 g2 ?8 Y) X; d               那么这样建立会话的过程是:( }5 s7 J1 P' A% u  i& E
 ①服务器发起TCP会话,试图与客户建立邻居关系
 5 k, t$ s6 m5 R, M# l' d0 v               ②客户收到open信息后,发现地址不匹配,拒绝, `! ^9 Y$ p. L; B
 open failed: Connection refused by remote host0 h# z/ c$ Q( L
 ③服务器将接口改为被动:passive open" `7 e2 B! ?4 s
 ④客户主动发起会话,这时服务器接受OPEN信息,并采用客户的- J% K9 S3 z! H& s) t% E6 s0 |
 目的地址作为源向客户发送OPEN信息( S7 U) x* j  V: ?" \: K
 一般情况下,只有客户会严格规定源地址
 6 T7 z, X6 V* W2 w* s" z# }9 p               ⑤这时双方均协商成功,连接建立
 ! Y2 [- C& V/ }1 P                   执行过程:! M+ X* g5 x" [
 Idle=>Active=>Connect=>OpenSent=>
 & Y2 z" L  c0 H( B                                   OpenConfirm=>Established
 # m. C2 k$ t# j5 w            值得注意的是:如果双方都匹配上了源端口和目的端口,较高IP地址先发起会话
 | 
 |