Cisco NSF 與NSR 與GR
一 般高端路由器,都會有control board和data board。Control board主要跑control plane的軟體,比如配置,動态路由協定等。而data board主要跑data plane的軟體,比如轉發之類的。對路由器來說,control board學習,維護路由表并把轉發表FIB (Forwarding Information Base)下發到data board上去。是以,control board和data board從某種程度上來說,可以獨立運作.
NSF的意思是說,在control board失效的情況下,轉發不中斷。在這個過程中,control board會切換到一個備份的control board上去,也就是說,control board是備援的。切換的過程叫做SSO(Stateful Switchover)或者(GRES)Graceful Routing Engine Switchover。由于FIB在路由變化的情況下,有可能是無效的,是以這個切換過程不應該花很長時間。
Control board在切換之後,所有與路由相關的狀态,需要重新學習。這個過程會耗費一定的時間。NSR的意思就是說,control board在切換之後,可以馬上工作。是以,它會在備份的control board上儲存主動control board上與路由相關的狀态。也就是說,主動control board上的socket state, neighbour state等,都會同步到備份闆上。這樣,切換所中斷的路由學習就比較短。這個過程叫做Graceful Restart (GR)。
這些都是和HA(high availability)相關的東西。以前做HA,可能隻需要同步配置等一些無狀态的東西,現在則需要同步session,sa,socket等有狀态的東西。其目的就是實作99.999%的可用性,這在電信市場應該是個非常重要的名額。
還有一個概念ISSU(In service software update)就是不重新開機機器而更新軟體,軟體更新後也不需要重新開機。這個在control plane和data plane分離的情況下,才有可能實作。如果要更新data plane,除非是有data plane的備份,否則,轉發是一定會被中斷的。如果把服務能分離開,互相不影響,是獨立的子產品。那麼更新一個子產品就不會影響其他子產品。如果更新轉發模 塊,可以同時有兩個轉發子產品,用新的替換舊的。如果是這樣的話,什麼時候切換,就是個問題,在新的子產品準備好了,應該就可以切換了。但是還要保證新舊子產品 共享資料結構,而且在舊子產品消失之後,不會破壞這些結構才行。