• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      IP多播技術在雷達信息交互中的應用

      2011-07-13 06:02:06郭書明
      電子設計工程 2011年17期
      關鍵詞:多播網(wǎng)絡通信接收端

      黃 坤,郭書明

      (中國衛(wèi)星海上測控部 江蘇 江陰 214431)

      雷達數(shù)據(jù)處理終端是建立在獲取以太網(wǎng)數(shù)據(jù)的基礎上的。終端各節(jié)點計算機通過以太網(wǎng)獲取實時數(shù)據(jù),并對實時數(shù)據(jù)進行處理檢驗,并最終將雷達狀態(tài)信息和目標信息顯示出來,從而完成對雷達和目標狀態(tài)實時監(jiān)控。因此數(shù)據(jù)處理終端必須具有良好實時性、可靠性。TCP協(xié)議在傳輸層是提供可靠連接的服務,其每次通信都是建立連接-傳輸數(shù)據(jù)-撤銷連接的過程,每次數(shù)據(jù)通信都要通過大量的校驗,占用大量的系統(tǒng)資源,容易造成網(wǎng)絡中的數(shù)據(jù)阻塞,不利于實時數(shù)據(jù)的傳輸。而基于UDP協(xié)議的IP多播(Multicast)技術能很好地解決該問題[1-3]。

      1 IP多播技術

      1.1 IP多播簡介

      網(wǎng)絡點對多點通信可采用多個基于TCP協(xié)議的單播以及基于 UDP 協(xié)議的 IP 廣播(Broadcast)和 IP 多播(Multicast)[4]。采用多個基于TCP協(xié)議的單播方式構建網(wǎng)絡,需在每個節(jié)點計算機上建立不同的進程處理與其他節(jié)點計算機的數(shù)據(jù)連接,可以確保實時數(shù)據(jù)在網(wǎng)絡中的可靠傳輸,但是大量進程將給系統(tǒng)造成沉重的負擔,不利于大量數(shù)據(jù)的實時傳播。IP廣播技術的缺點是網(wǎng)內(nèi)所有主機無論是否需要都要接收廣播數(shù)據(jù)報,給網(wǎng)絡通信和主機帶來額外的負擔[5]。IP多播可以有多點對多點或是點對多點兩種通信模式,其優(yōu)點是能保證每條通信鏈路都是相互獨立,網(wǎng)內(nèi)的主機可以自由選擇加入某個多播組接收該組的多播數(shù)據(jù)。IP多播可以大幅度減少網(wǎng)絡流量,能更加有效的利用網(wǎng)絡帶寬,減少網(wǎng)絡數(shù)據(jù)通信阻塞的情況。

      IP多播通信由多個通信節(jié)點組成,每個通信節(jié)點包含有控制層面和數(shù)據(jù)層面的特征。控制層面定義了通信節(jié)點的組成方式,而數(shù)據(jù)層面定義了數(shù)據(jù)在節(jié)點間是如何傳輸?shù)?。筆者介紹的IP多播采用的是無根層面的IP多播技術,即IP多播的控制層面和數(shù)據(jù)層面均是無根的[6],網(wǎng)內(nèi)的每臺計算機可以選擇性的加入不同的多播組,多播組內(nèi)每臺主機均可接收組內(nèi)其他節(jié)點主機的數(shù)據(jù)。IP多播的控制層面如圖1所示。

      圖1 IP多播的無根控制層面Fig.1 Rootless control of IP multicast

      IP多播應用可以分為:點對多點通信、多點對點通信及多點對多點通信。點對多點通信是指在一個多播組中僅存在一個多播源對組內(nèi)多個接收端發(fā)送信息,是一種比較常見的組播應用形式;多點對點通信是指多播組內(nèi)存在多個多播源僅對應一個接收端的通信應用模式,通常是雙向請求響應應用;多點對多點通信是指多播組內(nèi)存在多個多播源及多個接收端的通信應用模式,每個接收端可以任意選擇多播源,網(wǎng)絡拓撲結構靈活,可擴展性強,本文中介紹的雷達終端實時數(shù)據(jù)處理采用的是多點對多點的IP多播技術。

      1.2 VC++中的實現(xiàn)

      在VC++6.0的中IP多播是通過SOCKET(套接字)實現(xiàn)的,它是一種進程的通訊機制。SOCKET向應用程序提供了統(tǒng)一的網(wǎng)絡通信編程借口,屏蔽了下層通信協(xié)議和物理介質的細節(jié),降低了開發(fā)難度。VC++6.0中SOCKET函數(shù)聲明為SOCKET socket ( int af,int type,int protocol),af為協(xié)議通信域,type為套接字的類型,protocol為具體的協(xié)議。IP多播SOCKET的實現(xiàn)與初始化程序流程為:

      1)創(chuàng)建SOCKET,其中af設為 AF_INET地址家族,IP多播只支持數(shù)據(jù)報類型和UDP協(xié)議,即type=SOCK_DGRAM,protocol=IPPROTO_UDP。

      2)將SOCKET綁定在本地的一個SOCKADDR_IN格式的IP地址上,SOCKADDR_IN格式的結構為:

      3)使用 bind()函數(shù)進行綁定,其 int bind(SOCKET s,const struct sockaddr FAR*name,int namelen),可以通過設置sockaddr_in結構地址來設置套接字需要使用的IP地址和端口號,一般來說,5000以上的端口號不為系統(tǒng)所使用,可以使用。

      4)調(diào)用setsockopt()函數(shù)設置選擇要加入的多播組地址,其函數(shù)原型為 int setsockopt(SOCKET s,int level,int optname, const char FAR*optval, int optlen),level需設置為IPPROTO_IP,optname 設 置 為 IP_ADD_MEMBERSHIP,optval為多播組地址結構,該地址結構為:

      multiaddr為需要加入組播地址,ip_interface可以設置為本機的IP地址以便于接收端分辨組播源地址,若無此需要可以設置為INADDR_ANY。

      網(wǎng)絡組播SOCKET創(chuàng)建及初始化完畢后,若是接收端使用的SOCKET,還需創(chuàng)建網(wǎng)絡接收通信事件,以便在接收端口上有數(shù)據(jù)包出現(xiàn)時驅動主程序啟動相關的線程進行相應的數(shù)據(jù)處理。網(wǎng)絡事件的創(chuàng)建可以采用WSACreateEvent()函數(shù)實現(xiàn),并通過 WSAEventSelect()函數(shù)與套接字綁定,使用recvfrom()函數(shù)接收網(wǎng)絡數(shù)據(jù)。

      發(fā)送端的SOCKET程序流程類似,只是將SOCKET綁定在本地IP地址上,發(fā)送時調(diào)用sendto()函數(shù)設定接收節(jié)點的多播組地址和端口號。

      2 網(wǎng)絡通信構架

      2.1 網(wǎng)絡構成

      雷達內(nèi)部各節(jié)點計算機通過IP多播在內(nèi)部網(wǎng)絡中進行數(shù)據(jù)交換,同時各節(jié)點計算機構成的雷達多播組也通過IP多播與其他多播組進行數(shù)據(jù)交換,采用無源的組播分配方式,可以根據(jù)需要自行設置多播組的個數(shù),各節(jié)點計算機可以自由加入多個多播組,其網(wǎng)絡結構如圖2所示。

      圖2 IP多播網(wǎng)絡結構圖Fig.2 Framework of IP multicast

      2.2 網(wǎng)絡通信流程

      由于IP多播是基于UDP協(xié)議,在設計上需要考慮倒數(shù)據(jù)傳輸?shù)娜哂嗔吭O計。在雷達內(nèi)網(wǎng)的數(shù)據(jù)交換中,雷達各節(jié)點計算機響應不同時序的中斷定時信號上網(wǎng)發(fā)送數(shù)據(jù)包,其流程如下:

      1)將中斷信號與事件(Event)綁定 中斷信號采用硬件驅動,通過DeviceIoControl()函數(shù)將硬件中斷與程序自定義事件綁定。

      2)分支線程(Thread)的創(chuàng)建 雷達終端的各節(jié)點計算機主程序中需包含多個不同的分支線程來完成網(wǎng)絡數(shù)據(jù)接收、發(fā)送等功能。線程的由CreateThread()函數(shù)創(chuàng)建,創(chuàng)建相應的分支線程后,可以設置相應線程的狀態(tài),可以設置為掛起或是啟動狀態(tài),通過SetThreadPriority()函數(shù)可以設置線程的優(yōu)先級。

      當中斷來臨時,與之相應的事件將被至于有信號狀態(tài),隨之觸發(fā)程序中相應的線程完成相關數(shù)據(jù)處理顯示工作,如網(wǎng)絡數(shù)據(jù)的收發(fā)、雷達數(shù)據(jù)的實時顯示都是通過中斷-事件-線程的流程進行,中斷時序如圖3所示。

      各節(jié)點計算機數(shù)據(jù)包大小可以根據(jù)需要統(tǒng)一設定,在確保系統(tǒng)冗余情況下又不影響網(wǎng)絡資源占用。各節(jié)點計算機使用不同的端口號,并將各自的端口號映射到多播組上,各節(jié)點計算機向自屬的端口發(fā)送數(shù)據(jù)的同時在多播組上接收其他端口上的數(shù)據(jù)。各分機之間的收發(fā)數(shù)據(jù)是相互獨立,即使是某些節(jié)點計算機出現(xiàn)故障的情況下,并不會影響其他節(jié)點計算機之間數(shù)據(jù)交換。若采用基于TCP的單播技術,某一次數(shù)據(jù)交換出現(xiàn)異常時,數(shù)據(jù)接收端或發(fā)送端線程很容易出現(xiàn)死鎖造成網(wǎng)絡的癱瘓。雷達網(wǎng)絡通信結構圖如圖4所示。

      圖3 定時信號時序關系圖Fig.3 Time sequence of interrupting signals

      圖4 雷達終端內(nèi)網(wǎng)結構圖Fig.4 Framework of radar terminal network

      各節(jié)點計算機在創(chuàng)建一個SOCKET用于發(fā)送數(shù)據(jù),同時針對每個端口都創(chuàng)建一個SOCKET用于接收數(shù)據(jù)。在初始化SOCKET完成之后,創(chuàng)建接收網(wǎng)絡數(shù)據(jù)線程,調(diào)用WSAEventSelect()函數(shù)創(chuàng)建網(wǎng)絡事件并將其與硬件中斷綁定,在接收網(wǎng)絡數(shù)據(jù)線程中調(diào)用WSAWaitForMultipleEvents()函數(shù)判斷網(wǎng)絡數(shù)據(jù)的源節(jié)點計算機,將不同節(jié)點計算機數(shù)據(jù)送至不同的緩沖區(qū)進行數(shù)據(jù)實時處理,確保數(shù)據(jù)正確率。

      3 結束語

      IP多播在實時網(wǎng)絡通信具有以下優(yōu)點:

      1)編程簡單,搭建網(wǎng)絡靈活,在節(jié)點極端機中添加多播組,或在多播組中加入節(jié)點計算機都很方便,系統(tǒng)拓展升級潛力大;

      2)網(wǎng)絡中的通信進程相互獨立,容錯性強,個別節(jié)點計算機故障不會影響整個網(wǎng)絡的數(shù)據(jù)交互;

      3)有效利用帶寬,較好的避免網(wǎng)絡阻塞,數(shù)據(jù)正確率高。

      綜上所述,IP多播技術憑借其良好的實時性、容錯性和可擴展性,完全滿足雷達終端數(shù)據(jù)實時交互的要求。

      [1]徐昌彪.IP組播及其核心技術探討[J].重慶郵電學院學報,2001,13(3):38-41.

      XU Chang-biao.Discussion about IP multicast and core technologies[J].Journal of Chongqing University of Posts and Telecommunications.2001,13(3):38-41.

      [2]何代菊.IP組播技術在網(wǎng)絡中的應用 [J].重慶文理學院學報,2006,5(5):32-36.

      HE Dai-ju.IP multicast technology in network application[J].Journal of Chongqing University of Arts and Science:Nature Science Edition,2006,5(5):32-36.

      [3]Xylomenos G,Polyzos G C.IP multicast group management for point-to-point local distribution[S].Computer Communications,1998(2):1645-1654.

      [4]陳堅,陳偉.Visual C++網(wǎng)絡高級編程[M].北京:人民郵電出版社,2001.

      [5]孫東.IP多播技術在實時測控軟件中的應用 [J].計算機工程與科學,2004,26(3):21-24.

      SUN Dong.Application of the IP multucast technology[J].Computer Engineering and Science,2004,26(3):21-24.

      [6]韋冒超.IP多播技術的無根多播實現(xiàn) [J].航空計算技術,2006,36(1):128-131.

      WEI Mao-chao.Achievement about no root multicast of IP multicasting[J].Aeronautical Computing Technique,2006,36(1):128-131.

      猜你喜歡
      多播網(wǎng)絡通信接收端
      胖樹拓撲中高效實用的定制多播路由算法
      用于超大Infiniband網(wǎng)絡的負載均衡多播路由
      InfiniBand中面向有限多播表條目數(shù)的多播路由算法
      基于擾動觀察法的光通信接收端優(yōu)化策略
      頂管接收端脫殼及混凝土澆筑關鍵技術
      一種設置在密閉結構中的無線電能傳輸系統(tǒng)
      新能源科技(2021年6期)2021-04-02 22:43:34
      基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
      基于網(wǎng)絡通信的智能照明系統(tǒng)設計
      電子制作(2019年15期)2019-08-27 01:11:48
      網(wǎng)絡通信中信息隱藏技術的應用
      基于網(wǎng)絡通信的校園智能音箱設計
      電子制作(2018年1期)2018-04-04 01:48:30
      遂平县| SHOW| 平湖市| 句容市| SHOW| 柳河县| 灵寿县| 烟台市| 鄄城县| 谷城县| 邵东县| 罗定市| 防城港市| 毕节市| 那曲县| 襄城县| 鹤岗市| 桐庐县| 共和县| 麟游县| 增城市| 余江县| 会宁县| 农安县| 鸡东县| 五指山市| 苏州市| 色达县| 旅游| 通渭县| 沙河市| 淄博市| 准格尔旗| 柳林县| 隆德县| 德江县| 法库县| 祁连县| 六安市| 金秀| 安仁县|