回覆列表
  • 1 # 使用者2768162312771

    TCP是虛擬連線,如果低層物理鏈路斷開,只要不引起keepalive retry timeout,TCP連線會一直健在。

    有兩種場景:

    場景1:通訊雙方A/B非直連鏈路斷

    1.1 斷開時間很短暫,小於TCP連線超時時間

    TCP連線絲毫不受影響

    1.2 斷開很長時間,超過TCP連線超時時間

    場景2: 通訊雙方A/B物理直連鏈路斷

    如這個例子裡的A或B的網線拔掉了,A/B網絡卡燈滅,網絡卡驅動程式會通知IP層:網路介面down 掉了,IP層刪除所有和該介面有關聯的路由表,如果該介面為唯一出口,則流量的出口即為空,所有依賴於此介面的TCP連線都應該收到通知訊息,訊息大意為:No route to the destination,您老人家看著辦!TCP最簡單的做法就是Reset現有連線,或者彈出一個訊息視窗:No Route is available now! 收到使用者的確認,再刪除連線。

    以上演繹也可以基於路由協議BGP,因為BGP也是TCP連線,唯一的不同是BGP使用了自己的keep live ,三次沒有收到對方的keeplive,將reset 整個TCP連線,並釋放路由表。

    如果依靠BGP Hello(最小值為1秒),至少會耗費3 秒才會發現中間路徑斷,對於要求收斂速度…<50 ms 的場景,黃花菜都涼了,我們需要配置BFD來檢測雙向的連線。

    對於直連鏈路,網路介面會第一時間通知BGP鏈路斷,即使這樣,配置BFD也可以大大縮短髮現故障的時間,讓快速收斂成為可能。

  • 中秋節和大豐收的關聯?
  • 歌詞裡有馬頭琴的歌?