數據的單向傳輸通常用于,涉密網絡和非涉密網絡的隔離和數據傳輸。這里涉及到數據的傳輸,所以不是完全的物理隔絕。而是從最底層切斷通信“握手”,形成無反饋的單向傳輸。這里使用了光網卡,A端(Tx)B端(Rx)這樣實現了從物理上,只能A端發往B端。從而實現了單向傳輸。
因為是單向的。所以面向連接的TCP協議是不通的,更上層的應用層協議就更不用說了。所以數據的傳輸是基于UDP的。因為是無反饋的單向傳輸。假設B端關機。那么A端是不知道的。所以,不能保證數據的可靠性。如果要保證數據的可靠性。就要進行反饋。就需要兩對網卡,基于udp進行自定義的傳輸協議。比如
1.傳輸文件前,先詢問對端是否在線;
2.發送文件后,對數據進行校驗,并返回給對端,是否重發等。
環境:兩臺windows服務器,一對單向傳輸網卡,用光纖進行直連。
1.首先給兩個網卡設置IP,A端:Tx-IP:10.10.10.1;B端:Rx-10.10.10.2 并記錄B端的mac地址,假設:00-11-22-33-44-55
2.配置好IP后,在A端,cmd中運行netsh i i show in找到正在使用的(A端:Tx)網卡idx號
3.A端運行netsh -c i i add neighbors idx 10.10.10.2 00-11-22-33-44-55,這樣A端和B端建立關聯
這樣就可以進行正常的UDP編碼,B端監聽,A端發送。實現的功能就是(兩對網卡):
1.監聽文件夾,有了新文件,先詢問對端是否在線就緒。如果就緒。調用發送程序進行發送;
2.A端發送程序打開文件流,先發一個包含文件名和開始信息的包。B端接收到后創建一個寫入的文件流;
3.A端每次讀取一定字節,不停的發送給B端,B端持續把字節寫入文件;
4.讀取完成發送結束包和文件的MD5,B端接收到,驗證。如果成功。保存文件,如果失敗刪除文件,并把驗證結果告訴A端;
5.A端根據驗證結果:如果失敗重發,如果成功就刪除源文件。
開始包,結束包等都可以自己定義包的內容。
注意:發送不要太快,通常發送是很快的,讀取文件不停的發。而接收就相對慢了。要判斷包的類型。還要創建寫入文件流。寫入文件的。一旦接收處理的速度比發送慢,就會導致接收緩沖區被覆蓋。導致數據的丟失。
可以多開幾個進程,用不同的端口號,多個通道進行發送。
光潤通單發單收光纖網卡,一種計算機網絡的單向傳輸網關,它包括發送方以太網光纖卡、接收方以太網光纖卡以及連接它們的網絡光纖線。發送方以太網光纖卡的模塊只有發送端口。接收方以太網光纖卡的模塊只有接收口。發送卡的發送口與接收卡的接收口采用單條光纖連接。它既實現了計算機內部網絡與外部網絡之間的物理隔離,又能夠保證數據在內外網絡之間實時、可靠、安全地單向傳輸。配合軟件使用,可廣泛應用于公安、政務系統、軍隊等要害部門以及其它需要保密的計算機網絡中。
產品名稱 光潤通千兆單向傳輸網卡
產品型號 F902E-DS千兆單向接收光纖網卡
F902E-DF千兆單向發送光纖網卡
處理器芯片 英特爾i350千兆以太網芯片組
總線類型 PCI Express,兼容X4、X8和X16的PCI-E插槽
全雙工 兼容全雙工和半雙工
網絡接口類型 SFP插槽(SFP-SX,SFP-LX,SFP-ZX)
傳輸速率Mbps 1000Mbps
傳輸介質類型 Lc光纖
網絡標準 IEEE802.3(1000BASE-SX/LX/ZX)
主要應用環境 骨干網,運營商機房,網吧以及網閘等環境
兼容操作系統
Windows﹡Vista﹡SP1, Windows Server﹡2003 SP2, Windows﹡UnifiedStorage Solution 2003, Windows Server﹡2008,Linux﹡Stable kernel version 2.6,Linux﹡RHEL 4,Linux﹡RHEL 5,
Linux﹡SLES 9,Linux﹡SLES 10,FreeBSD﹡7.0,UEF﹡I 1.1,Vmware ESX﹡3.x