技術文章 >

VPN 備援工作機制

Vigor 路由器支援3種備援機制,None mode / AutoDrop mode / Resume mode。 它們統稱為 ERD (環境復原偵測,Environment Recovers Detection) 模式。 這3種模式在恢復 VPN 連線的方式上有所不同,用戶可根據不用的需求做出相應的選擇。

1. None Mode

None mode 是默認的模式。 在一個 Backup Trunk 裏的所有成員的優先順序是相同的,按照順序輪流處理,沒有主次成員之分。
如果幾個 VPN 成員在速度,頻寬,安全性和穩定性方面都差不多,用戶只要求始終有VPN線上,而不在乎優先使用哪一條作為備援,那麼可選用這種模式。

工作過程 :

Member-1 掉線
Member-2自動發起連接
Member-2無法連接,或建立連接後也發生了掉線
Member-3自動發起連接 …
Member-n無法連接,或建立連接後也發生了掉線
Member-1自動發起連接 …

注意: 目前只支持 n=2,也就是1個Backup trunk只能有2個成員。 將來計畫支持多個成員。

2. AutoDrop Mode
Member-1的優先順序最高,其他成員優先順序相同。 Member-1可以稱為主成員(Primary member)。 出於速度,頻寬,安全性和穩定性的考慮,用戶希望兩個站點間能一直使用Member-1作為VPN連線。 當Member-1掉線,其他member連線後,路由器要能不斷嘗試重撥Member-1,並且一旦Member-1能夠建立連接,就立刻中斷其他member的連線。 這種理念類似於雙WAN的備援機制 ( 主WAN掉線後,不斷偵測線路,一旦發現能建立連接,就中斷備援 WAN 的連線)。

工作過程 :
若當前狀態是:Member-1處於斷開狀態並且 Member-m (1 處於連線狀態,路由器每隔一定時間就會嘗試重撥 Member-1。 如果 Member-1 能建立連接,立刻斷開 Member-m 的連線。 這個時間是可以設定的。 下面舉幾個例子說明。

時間間隔設為 3600 秒

情況1:
Member-1 掉線
Member-2 自動發起連接
Member-2 連接建立
Member-2 連接建立後的 3530 秒 (3600-30) 路由器開始嘗試連接 Member-1
每 6 秒撥一次Member-1,共嘗試 5 次
5 次嘗試後Member-1依舊連線失敗,此時 Member-2 連線時間是 3600 秒
繼續等 3530 秒 Member-2 依舊線上,路由器重新開始嘗試撥 Member-1
在 30 秒內 ( 5 次嘗試以內) Member-1 終於能建立了
立刻斷開 Member-2 …。

情況2:
Member-1 掉線
Member-2自動發起連接
Member-2 連線失敗
Member-3 自動發起連接
Member-3 連接建立
Member-3 連接建立後的3530秒(3600-30)路由器開始嘗試連接 Member-1
每6秒撥一次Member-1,共嘗試5次…以下過程同上

情況3:
Member-1 掉線
Member-2 自動發起連接
Member-2 連接建立
Member-2 連接建立後的第 m 秒 (m<3530),譬如第 2000 秒 Member-2 掉線
Member-3 自動發起連接
Member-3 連接建立
Member-3 連接建立後的 3530 秒 (3600-30) 路由器開始嘗試連接 Member-1
每6秒撥一次 Member-1,共嘗試5次…

以下過程同情況1。

時間間隔設為 0 秒
Member-m (1時間間隔小於等於30秒,視為0秒處理。

說明:
1. 為何要有時間間隔設定,而不都用 0 秒的機制 ?
考慮到一種情況,Member-1 的 ISP 在某一段時間內可能突然不穩定,譬如通十分鐘,斷 1 分鐘。如果時間間隔設為 0 秒,會出現以下情況:Member-1 連 10分鐘,掉線,Member-2 連通,1 分鐘不到被 Member-1斷開,10 分鐘不到 Member-1 掉線…如果不巧,有人在通過 VPN 收一組大小為 10M 的 mail,就會因為頻繁掉線而被卡住。 通過 VPN 開的視頻會議也會被頻繁打斷。如果時間間隔設為 30 分鐘,就能在 Member-2 建立 30 分鐘後再連接 Member-1,傳送檔一般不會受到大的影響。 所以,提供時間間隔設定,能讓管理員能根據公司網路運營情況做出靈活決定。

2. 為何要等其他 Member 建立連接後才開始撥 Member-1,而不是在Member-1 斷線後就立刻開始計時撥 Member-1 ?
在一個 Backup trunk 裏,同一個時間點隻會去撥一條 VPN member。 如果時間間隔設得太短,而 Member-1 又一直無法建立的話,會導致路由器不斷撥 Member-1 而不撥其他 Member 的情況。 VPN 備援的主旨是要快速恢復 VPN 通道,並假設之前斷開的 VPN 不會在短時間內恢復。 所以,第一步是要恢復VPN通道,第二步才是看看 Member-1 能不能恢復。

注意: 目前只支持n=2,也就是1個Backup trunk只能有2個成員。 將來計畫支持多個成員。

3. Resume Mode

和AutoMode一樣,Member-1的優先順序最高,其他成員優先順序相同。 Member-1可以稱為主成員(Primary member)。
有些用戶,對VPN穩定性要求非常高,不要像AutoDrop mode那樣去主動斷VPN(這家公司可能是1分鐘有上千份訂單的公司)。 只要有VPN member連起來,就讓它一直運行,除非發生網路問題造成斷線。 它的特殊要求是,一旦發生斷線,就從Member-1開始嘗試連接。 而不像None mode那樣,按順序迴圈嘗試。

工作過程:
當前 Member-m(1<m<n) 處於連線狀態,當它掉線的時候,路由器不是撥 Member-(m+1),而是立刻撥 Member-1。這裏沒有時間間隔設定,所以當 Member-m 有連線的時候,路由器不會去嘗試撥 Member-1。

舉例說明:
Member-1 掉線
撥Member-1
Member-1連線失敗
撥Member-2
Member-2連線失敗
撥Member-3
Member-3連線成功
Member-3 掉線
撥Member-1
Member-1連線失敗
撥Member-2 …

注意:目前只支持n=2,也就是1個Backup trunk只能有2個成員。 將來計畫支持多個成員。
 

發布日期: 2013-02-17