1 BGP MED
首先引用一位網友很象形的比喻:
Local-Pref只在IBGP中傳遞,用來在本AS設備上配置並控制出去流量的走向;MED能通過EBGP傳一個AS,用來在本AS設備配置並控制對端AS入流量的走向
舉個例子,A公司老闆讓A公司員工做某件事,就相當於Local-Pref。B公司老闆讓A公司員工做某件事就相當於MED。 那麼如果A公司老闆讓A公司員工做一件事,同時B公司老闆又讓A公司員工做相反的事會怎麼樣呢? 答案很明顯,Local-Pref優先所以可以區分一下不同的網絡負載均衡,
如果一個自治系統,是選擇經過聯通的線路還是選擇經過電信的線路,那主要是通過宣告不同IP地址段、AS-Path Prepending甚至使用community的策略路由,或者專用的負載均衡設備完成;
但如果這個自治系統想讓某些流量從電信的1號路由器進入該自治系統,而另外一些流量從電信的2號路由器進入該自治系統,則是使用MED進行負載均衡的典型場景了,那麼這個自治域的出口路由器針對不同的網段向電信自治系統宣告不同的MED即可。事實上這種場景也可以通過AS-Path Prepending的方式來影響對端AS的路由選擇。
如果想了解得更加深入的話,下面這個文檔對各種BGP負載均衡場景都進行了描述:
http://wenku.baidu.com/view/58469228647d27284b7351cb.html
2 BGP被動採集
理論上說,只要在Quagga的配置中不要使用 Network或者Redistribute進行宣告路由即可實現你所謂的被動採集。
但是爲了更加正規,最好配置上一個路由策略,如
route-map nothing deny 1
然後應用上:
neighbor <peer ip> route-map nothing out
address-family ipv4 multicast neighbor <peer ip> activate neighbor <peer ip> route-map nothing out exit-address-family
如上所示,這個路由圖的名字是nothing,編號是1,deny後面沒有地址範圍,就表示拒絕所有的。
RouteView被動採集的典型例子詳見:
http://www.routeviews.org/config.html
3 TCP握手機制
爲什麼TCP連接建立要三次握手,而連接拆除要四次握手呢?
TCP連接建立的三次握手如下:
第一次: 客戶端SYN,SYN=j;
第二次: 服務器ACK+SYN,ACK=j+1 and SYN=k;
第三次:客戶端ACK,ACK=k+1。
TCP連接拆除的四次握手如下:
第一次:客戶端FIN,FIN=i;
第二次:服務器ACK,ACK=i+1;
第三次:服務器FIN,FIN=j;
第四次,客戶端ACK,ACK=j+1。
TCP拆除中需要四次握手的原因是,TCP連接理論上講是全雙工的,即任何一個方向都可以獨立於另一方向來傳送數據,也就是說兩個方向都要獨立去關閉。這也叫做TCP的半連接。雖然理論上講可以利用TCP半連接來做些特殊應用,但是目前確實比較少。