基于對等網絡的醫(yī)學影像服務系統(tǒng)通訊平臺設計與應用
5)兩節(jié)點在多級NAT的后面時,服務器只了解與之最近NAT的網絡信息,依據其最外層NAT是否一樣,可分如圖2所列的兩種情況。本文引用地址:http://2s4d.com/article/154835.htm
圖2(a)顯示了最外層NAT處在不同節(jié)點的網絡關系,因它類似于上面的第3種情況,因此它們不能進行直接訪問。圖2(b)顯示了最外層NAT處于相同節(jié)點上的網絡關系,因它類似于上面的第4種情況,所以通過各自的私網端口和IP兩節(jié)點不能相互訪問。
3.2 建立點對點通訊的連接
通過分析網絡節(jié)點的區(qū)域關系可知,當兩節(jié)點都在同一個NAT的后面或都擁有公網IP時,它們之間才能進行直接的對等通訊,否則兩節(jié)點就不能進行直接的對等通訊。
因目前大部分的NAT設備支持UDP穿洞技術,在建立兩節(jié)點的直接通訊時,讓連接的雙方都從內部發(fā)出請求,并通過一個擁有公網IP地址的服務器來連接介紹,以便避開NAT的隔離保護。所以把UDP作為其基本的通訊協(xié)議,在建立節(jié)點索引列表時要求中心服務器或超級節(jié)點,按照UDP穿洞技術的要求,不但要記錄公網的端口和IP地址,還要記錄節(jié)點的私網端口和IP地址。
假如分別用變量Peer1與Peer2來表示節(jié)點的網絡信息,用結構體來定義節(jié)點的網絡信息,就可使用用下面C++偽代碼來實現點對點的直接通訊。
以下兩種情況是在兩節(jié)點的私網IP與端口嘗試進行時適用的:
1)若節(jié)點在本機和服務器上的端口與IP地址相同,說明其采用的是公網的地址空間。兩節(jié)點如果都采用公網的地址空間那么這兩個節(jié)點就可通過私網或公網的端口和IP地址進行直接通訊。
2)若兩節(jié)點的外部IP是相同的,則表明兩節(jié)點最外層的NAT是相同的。若兩節(jié)點在不是多級NAT而是處在同一個局域網內的情況下,就可通過節(jié)點的私網端口和IP地址直接進行通訊。
由此可見,這兩種情況都可通過統(tǒng)一使用本地的通訊函數嘗試直接建立連接,至少可通過各自的私網端口和IP地址進行通訊,并用C++偽代碼來實現。
在實現點對點通訊的過程中,若嘗試采用兩節(jié)點的私網端口與IP連接通訊的方式失敗時,則要嘗試運用UDP穿透技術。由于NAT具有保護與隔離的作用,所以在一般情況下只有內部主機才能訪問外部主機,而外部主機則只能沿著內部主機發(fā)起的連接線路來訪問發(fā)起連接的主機,即通過逆向連接的方式來訪問內部特定的節(jié)點,因此需要兩節(jié)點一起從內部發(fā)起連接,并通過服務器進行中介,才能實現直接通訊。
若以上兩種情況皆不成功的話,那么就可以判斷出兩個節(jié)點之間存在不具有UDP穿透技術的NAT和設備以及別的因素,造成兩節(jié)點之間不能直接通訊。本文作者使用服務器數據轉發(fā)的方法,來保證對等任務的成功運行。在運用混合式對等網絡結構的情況下,只需對等網絡能夠被節(jié)點順利連接就說明節(jié)點和服務器之間的通訊是正常的。
如果兩節(jié)點之間想建立通訊時,例如Peer1想聯系Peer2時,Peer1只需要把數據發(fā)送給中心服務器,然后由中心服務器轉發(fā)給Peer2就可以了,然而在通訊過程中服務器都需要參與,會進一步加大服務器的負擔,所以應盡量減少使用。其實這種服務器數據轉發(fā)的方式在現實生活中已很少采用,因目前UDP穿透技術很多的NAT設備都支持。
4 對等網絡平臺應用
4.1 應用構架
醫(yī)學影像服務系統(tǒng)應用架構。
由圖3醫(yī)學影像服務系統(tǒng)應用架構可知,對等網絡通訊平臺是集圖像檢索服務、DICOM傳輸服務與影像會診服務等醫(yī)學影像服務為基礎的平臺,它是以應用程序接口的方式為其他影像服務程序提供通訊管理與節(jié)點管理的功能,并負責連接管理網絡與物理網絡中的節(jié)點計算機,以便實現其他醫(yī)學影像對等網絡的應用。
4. 2 應用實例
筆者以醫(yī)學影像對等網絡通訊平臺為基礎,建立了醫(yī)學影像遠程會診系統(tǒng)(簡稱會診系統(tǒng))。在醫(yī)學影像遠程會診系統(tǒng)中,當會診的用戶連接到網絡時,中心服務器將自動下載在線用戶列表,使得用戶可以清晰的看到在線用戶的狀態(tài),若需要在線會診時,依據點對點通訊連接的建立方式,有其中的一個會診用戶發(fā)出請求,經由服務器輔助建立起兩個節(jié)點間的直接會診通訊。
在會診系統(tǒng)中通過醫(yī)學影像對等網絡通訊平臺,實現了視頻對話、雙向語音、電子教鞭、DICOM影像同步顯示與操作等會診功能,從而使得會診參與的雙方雖然處在不同的位置也能感受到現場影像討論的效果。
5 結束語
文中通過建立醫(yī)學影像對等網絡通訊平臺,針對點對點直接通訊與節(jié)點管理兩個方面提出了具體的解決方案,通過會診系統(tǒng)的成功使用可知,在實現其他對等任務方面醫(yī)學影像對等網絡通訊平臺提供了很大的方便,它也可當作其他對等應用的基礎平臺。
評論