備列表,建立本地 的策略路由表項,管理服務器向這些設備發(fā)送訪問報文時的源端口號不確定,所以全部為 *,本地的策略路由表項如表4所示。
[0055]
[0056] 表 4
[0057] 當管理服務器向社會資源設備發(fā)起訪問時,接入服務器在轉發(fā)訪問報文時,采用 表4的策略路由,由于對于不同的社會資源網(wǎng)絡有不同的VPN隧道,該功能可以在社會資源 設備IP地址重復的情況下,實現(xiàn)對社會資源設備訪問。
[0058] 本實施例的一種管理服務器,設置在公共平臺中,包括社會資源設備信息接收模 塊和資源設備訪問模塊。
[0059] 其中社會資源設備信息接收模塊,用于接收接入服務器上報的社會資源設備信 息,將接收的社會資源設備信息加入到本地的資源設備列表;
[0060] 資源設備訪問模塊:用于根據(jù)建立的資源設備列表向社會資源設備發(fā)送訪問報 文,并根據(jù)社會資源設備反饋的響應報文更新資源設備列表。
[0061] 其中社會資源設備信息接收模塊接收到由接入服務器上報的社會資源設備信息 后,將社會資源設備信息加入到本地的資源設備列表。管理服務器本地的資源設備列表如 表5所示:
[0062]
[0063] 表 5
[0064] 管理服務器上建立的資源設備列表不僅包括社會資源設備還包括本地的資源設 備,對應于社會資源設備,列表中的設備ID就是社會資源設備的設備ID,對應于本地的資 源設備,列表中的設備ID就是本地資源設備的設備ID。與接入服務器的社會資源列表相 比,管理服務器上建立的資源設備列表增加了訪問源端口號、訪問報文目的MAC地址。訪問 源端口號是指管理服務器向社會資源設備發(fā)起訪問連接時所使用的源端口號(簡稱源端 口號),*表示之前未訪問過;訪問報文目的MAC地址,是指如果用戶需要訪問社會資源設 備,直接將報文的訪問報文目的MAC地址封裝成接入服務器網(wǎng)卡的MAC地址,報文將會直接 交給接入服務器進行轉發(fā)。
[0065] 通過訪問報文目的MAC地址,能有效的區(qū)分開所要訪問的資源設備是公共平臺的 本地設備,還是社會資源設備。在管理服務器本地的資源設備列表中,社會資源設備的信 息,是通過接收到由資源接入盒子上報的社會資源設備信息后,添加入資源設備列表中,而 對于本地的資源設備,則是通過管理員在管理服務器上手動添加,不是根據(jù)接入服務器上 報的社會資源設備信息添加。因此,本地設備的訪問報文目的MAC地址一欄為空,如表5中 的DVR5。
[0066] 從而資源設備訪問模塊在訪問資源設備時,可以根據(jù)建立的資源設備列表,在訪 問報文目的MC地址為空時,直接通過其IP地址來訪問,即要訪問的資源設備是本地設備; 否則按照訪問報文目的MC地址來封裝,即發(fā)往接入服務器,由接入服務器來轉發(fā)。能避免 由于資源設備IP地址和SDK端口號重復時無法區(qū)別訪問的問題,下面通過兩個實施例來進 行詳細的說明:
[0067] 實施例一、如圖2所示,公共平臺本地設備DVR5的SDK端口號、IP地址均與社會 資源設備DVRl和DVR3相同,管理服務器需要對本地設備DVR5進行訪問。
[0068] 由于資源設備列表中,DVR5的訪問報文目的MAC地址為空,該訪問報文走正常路 徑,即不經(jīng)過訪問報文目的MAC地址封裝,通過本地網(wǎng)絡,由管理服務器直接發(fā)送至DVR5上 進行訪問。
[0069] 而對于DVRl和DVR3的訪問報文,則是使用訪問報文目的MAC地址一欄的地址進 行封裝,封裝完后會發(fā)給接入服務器,接入服務器再通過建立的VPN隧道發(fā)送給DVRl和 DVR3,使得本地設備與社會資源設備存在IP地址相同時,有效的區(qū)分開本地的資源設備與 社會資源設備,能對本地設備和社會資源設備進行正常訪問。
[0070] 實施例二、當對兩臺IP相同的社會資源設備進行訪問時,即DVRl和DVR3,訪問報 文走的路徑均是由接入服務器的訪問報文目的MAC地址一欄的地址進行封裝發(fā)送,且IP地 址和SDK端口號均相同,無法區(qū)別兩個社會資源設備。
[0071] 此時,管理服務器會根據(jù)IP地址、SDK端口號相同的社會資源設備的數(shù)量,編輯與 該數(shù)量相同的訪問報文,通過設備資源列表上的訪問報文目的MAC地址進行封裝,由接入 服務器根據(jù)建立的VPN隧道號,發(fā)送至不同的社會資源網(wǎng)絡中。訪問報文的目的地址和端 口號都相同(為DVR1/DVR3的地址和SDK端口號),源IP地址也相同(為管理服務器的IP 地址),但是源端口號不同,假設為PORTl和P0RT2。
[0072] 這兩個報文到達接入服務器時,接入服務器首先在本地查找策略路由表項,匹配 到兩條路由(源端口號為*,表示對源端口不做限制),如下表:
[0073]
[0074]表6
[0075] 則接入服務器隨機將源端口號為portl的報文通過tunnel1轉發(fā),將源端口號為 p〇rt2的報文通過tunnel2轉發(fā),同時將本地的策略路由表項進行更新,后續(xù)的訪問報文 將會根據(jù)源端口號不同而分別進行轉發(fā),相同的訪問報文,根據(jù)源端口號的區(qū)分,只能匹配 到一條策略路由,并根據(jù)該策略路由進行轉發(fā)。更新后的策略路由表項如下表所示:
[0076]
[0077]表 7
[0078] 管理服務器的訪問報文根據(jù)該策略路由,通過該VPN通道號發(fā)送給資源接入盒子 1,資源接入盒子1再轉發(fā)給DVRl。
[0079] DVRl接收到該訪問報文后,會將自己的設備ID包含在響應報文中返回給管理服 務器。DVRl的響應報文目的地址為公共平臺管理服務器的IP地址,該響應報文會通過默認 路由轉發(fā)到出口路由器上,而出口路由器上配置了到該地址的靜態(tài)路由,其下一跳為資源 接入盒子1,這樣該報文會被轉發(fā)給資源接入盒子1。資源接入盒子1接收到該報文后,會通 過VPN隧道轉發(fā)給公共平臺上的接入服務器,再通過接入服務器轉發(fā)至管理服務器。管理 服務器根據(jù)該社會資源設備發(fā)送的響應報文,就可以知道該源端口號(Portl)正在訪問的 社會資源設備是DVRl,同時更新資源設備列表中的訪問源端口號,使DVRl與訪問源端口號 Portl對應,后續(xù)對DVRl發(fā)送的報文,就能直接通過訪問源端口號Portl直接發(fā)送至DVRl 中。
[0080] 同理,DVR3在收到訪問報文后,也會將自己的設備ID包含在響應報文中返回給管 理服務器,管理服務器就可以知道該源端口號(P〇rt2)正在訪問的社會資源設備是DVR3, 同時更新資源設備列表中DVR3的訪問源端口號。
[0081] 更新后的資源設備列表如下表所示:
[0082]
[0083]表 8
[0084] 后續(xù)的訪問報文路徑,就能根據(jù)更新后的資源設備列表,直接通過訪問源端口號, 來區(qū)別IP地址、SDK端口號相同的多個社會資源設備,使用固定的源端口號來發(fā)送訪問報 文,接入服務器在接收到訪問報文后,根據(jù)訪問報文上的訪問源端口號,在本地的策略路由 列表(表7)中開始匹配策略路由,通過訪問源端口號的區(qū)分,使IP相同、SDK端口號相同 的社會資源設備,在匹配策略路由列表時,只能匹配到一條合適的策略路由,并通過該策略 路由,將訪問報文準確的發(fā)送至指定的社會資源設備中。
[0085] 從而當多個社會資源設備的IP地址和端口號沖突時,仍然可以