2009年6月29日 星期一

MST note II

MST 成為一個Region的條件
1. domain name
2. revision
3. instance and vlan mapping table
當這三個都要一樣時就會看為同一個MST Region,相同的MST Region才能利用MST互相交換spanning-tree資訊,若MST Region不同,不同機器既使相同的instance也不能溝通,也就是說這個spanning-tree的演算無法透過MST來完成

每台跑MST的機器除了所設定的instance外,還有一個預設的instance 0,這個instance 0是所有沒有指派instance的vlan所用的instance,要跨domain時用instance 0來計算,在domain裡則用所指定的instance來計算spanning-tree

2009年6月22日 星期一

TCP sliding window

TCP sliding window每一個ack中間可以送多少byte,就是windows size的意思

假設有10,000byte的檔案要送,windows size是4000,送端TCP可以一次送4000 byte,然後收端再給一個ack確認,這4,000個byte用一個或多個packet來送都可以,若4,000 byte送出 ack正確,則可以把window往下移個4,000 byte,就好像窗戶在移動一樣

window size是收送同步的,送端會跟收端會議定一個數值,而且因需要而變動,所以是動態的當收端告訴送端window size=0 時,代表要送端不要再送了,送端會等到收到另一個非0的window size後才會再繼續送

若線路壅塞,代表送端送出的資料要等比較久才會收到ACK,送端在收到正確ack才會再送下面的資料,所以傳送速度自然就會便慢了

TCP Explicit Congestion Notification
在收送兩端的中間的router再偵測到網路壅塞時可以發出ECN給兩端的主機,通知他們網路即將發生阻塞,(我相信用TCP的ECN通知後,要不要做處理應該事APP的事情,在router端只負責告知)

TCP MSS Adjustment
在TCP的SYN裡會有TCP的最大size資訊,所以在3-way handshaking完成後TCP MSS已經固定這個功能是偵測TCP SYN內容,將TCP MSS做修改以確保兩端所收送的風包在中間的router可以被處理在收送兩端initial TCP時,預設會參考自己設定的MTU,扣掉3,2 層的header後當作TCP的
MSSTCP MSS的值是扣掉TCP header的數字

BGP conditional map
在BGP route產生時,通常用network or aggregate方式將BGP route放進BGP中,但這兩個方式必須有相對應的IGP或必須存在componet route,在BGP做aggregate時,會將小網段summary成大網段,但是若在這個大網段中仍然想要有specific route時可以利用這個指令將某些route放進BGP table中,通常這些例外的route會比原本大網段的prefix來的小

另外這個指令只要match某種條件就可以放bgp route,不再受到IGP才能放或aggregate的限制
BGP community 可以有很多組嗎? 可不可以transit AS ?

2009年6月21日 星期日

BGP Keep a life
BGP open message有以下幾個訊息
1.BGP version number
2. AS number of the local router
3. Holdtime
4. BGP router identifier
5. Optional parameters

Hold time是雙方在建立BGP session時議定的參數,
若有所以彼此的hold time雙方會知道,但不會交換keep a live timer

1 If the locally configured value of holdtime is selected (being the lower of two), the
peers use the locally used keepalive interval.
若holdtime是自己的holdtime,對方使用自己設定的keepalive interval

2 If the holdtime interval of the neighbor is selected, and the locally configured
keepalive interval is less than a third of the holdtime interval, the peers use the
locally configured keepalive.
若holdtime使用對方的設定,而且自己設定的keepalive interval比holdtime/3還小,對方使用自己設定的keepalive

3 If the holdtime interval of the neighbor is selected, and the locally configured
keepalive interval is more than a third of the holdtime interval, the peers use the
smaller integer value in relation to (holdtime / 3).

若holdtime使用對方的設定,而且自己設定的keepalive interval比holdtime/3還大則對方使用比較holdtime/3小的整數當keepalive