亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        仿真系統(tǒng)中的網(wǎng)絡傳輸接口研究

        2015-03-26 21:21:21姜春強
        河南科技 2015年21期
        關鍵詞:網(wǎng)絡接口端口號發(fā)送數(shù)據(jù)

        姜春強

        (海裝重慶局,四川 成都 610000)

        仿真系統(tǒng)中的網(wǎng)絡傳輸接口研究

        姜春強

        (海裝重慶局,四川 成都 610000)

        比較大型的仿真系統(tǒng)需要通過多線路適配器和多協(xié)議路由器來與其他的專用網(wǎng)絡連接獲取數(shù)據(jù)。系統(tǒng)所需的外部數(shù)據(jù)經(jīng)外部通信接口進入前端處理子系統(tǒng),在對輸入數(shù)據(jù)進行基本的有效性檢查后,根據(jù)接入數(shù)據(jù)的不同類型,分別傳送到不同的功能子系統(tǒng)進行處理,各個子系統(tǒng)處理后再送回數(shù)據(jù)庫,或者直接與其他子系統(tǒng)發(fā)生數(shù)據(jù)交換。系統(tǒng)中,圖象顯示系統(tǒng)和其他的功能子系統(tǒng)都分別處于不同的主機上,整個系統(tǒng)處于一個局域網(wǎng)中,各個子系統(tǒng)的數(shù)據(jù)交換通過一個通用的網(wǎng)絡接口來實現(xiàn)。

        仿真系統(tǒng);網(wǎng)絡傳輸接口

        1 網(wǎng)絡接口的設計

        TCP/IP協(xié)議簇中,傳輸層的協(xié)議為在不同主機上運行的進程提供通信機制,傳輸層協(xié)議主要包括TCP協(xié)議和UDP協(xié)議,其中TCP提供可靠的數(shù)據(jù)傳輸服務,在一個應用進程向另一個應用進程發(fā)送數(shù)據(jù)之前,兩個進程必須為后來的數(shù)據(jù)傳輸參數(shù)的建立發(fā)送一些預備數(shù)據(jù)段,通常稱之為TCP的“三次握手連接”;而UDP協(xié)議由于不需要在數(shù)據(jù)發(fā)送之前建立連接,采用盡力服務的方式,不用對發(fā)送速率進行管理,小量的數(shù)據(jù)報頭部開銷,因此它的發(fā)送效率高于TCP協(xié)議。在仿真系統(tǒng)中,由于對實時性要求比較高,如何使得數(shù)據(jù)發(fā)送地更快速就顯得非常重要了,因此主要使用UDP來進行數(shù)據(jù)傳送,只有特別重要的數(shù)據(jù)才使用TCP來傳送。UDP傳送效率雖然高,但提供的是不可靠的數(shù)據(jù)傳送服務,傳送過程中就存在掉包、數(shù)據(jù)在傳送中發(fā)生錯誤、先發(fā)的包后到而后發(fā)的包先到、分屬不同的進程的包無法區(qū)分等問題。另外在發(fā)送過程中還必須解決端口號的使用的問題,下面針對以上問題給出具體的解決方案。

        1.1 提高TCP連接建立效率

        在利用TCP協(xié)議進行通信時,需要事先建立好連接,這樣數(shù)據(jù)發(fā)送時就不再建立連接。但是由于網(wǎng)絡連接可能會發(fā)生意外,如果連接已經(jīng)斷開,則在發(fā)送時就需要重新建立連接,這樣非常耗時,效率比較低。為保持連接,當網(wǎng)絡斷開時需要向發(fā)送進程和接收進程報告,然后重新建立TCP連接,這樣就避免了發(fā)送數(shù)據(jù)時才進行連接,可以大大提高發(fā)送效率。在網(wǎng)絡接口設計中可以使用一種稱為“心跳”的技術,規(guī)定一個時間周期(一般是2秒),定時發(fā)送一個“心跳”包,測試連接是否斷開,如果斷開,則進行重新連接。

        1.2 端口號的分配

        在網(wǎng)絡中,不同的主機使用主機地址來唯一確定,而進程則使用端口號來確定。一般說來,在進行數(shù)據(jù)發(fā)送時,使用一個四元組(源IP地址,源端口號,目標IP地址目標端口號)就可以唯一確定一個發(fā)送進程和其目標進程。

        1.3 數(shù)據(jù)包錯誤檢測

        在網(wǎng)絡接口中,先將用戶數(shù)據(jù)按自定義的緩沖區(qū)大小進行分包(稱為大包),然后每個包再按照UDP包大小進行分割(稱為小包),發(fā)送的時候使用自定義的包頭。

        整個小包長1472個字節(jié),其中自定義的包頭占22個字節(jié),有效數(shù)據(jù)占1450個字節(jié)。發(fā)送方在發(fā)送數(shù)據(jù)時,將用戶數(shù)據(jù)拷貝到發(fā)送緩沖區(qū)中,先進行大包劃分,再對每個大包進行小包劃分,最后在每個自定義的包頭中填入各個字段信息。

        其中校驗和的計算采用將各個字符的ASCII碼值累加起來,這樣在接收方就可以再次計算這個值,和包頭中的校驗和相比較判斷出數(shù)據(jù)在傳送過程中是否發(fā)生了錯誤。這種方法非常簡單,效率也比較高,但是只能判斷錯誤是否發(fā)生,不能糾正錯誤。

        1.4 對收到的包的分類、排序和丟包的檢查

        在進程通信過程中,接收方需要區(qū)分分屬不同進程的包、進行包的排序和丟包檢查。本文采用的方法是采用數(shù)據(jù)鏈表方式組織接收數(shù)據(jù)包,建立一個進程數(shù)組,并為每一個不同的進程建立一個鏈表。還需要定義一個結構體ID,用來唯一標識某個發(fā)送進程,其字段信息包括源進程、源主機號、目的進程和目的主機號。

        由于接收緩沖區(qū)和發(fā)送緩沖區(qū)都是循環(huán)使用,在對它們進行操作的時候,需要采取互斥訪問的方式進行,以免發(fā)生讀取時寫入等問題。

        1.5 套接字I/O模型的選擇

        比較常用的套接字I/O模型包括:blocking(阻塞)、select(選擇)和completion port(完成端口)等。其中,select模型是一個應用得比較廣泛的I/O模型,利用select函數(shù)實現(xiàn)對I/O的管理。使用select的優(yōu)勢是能夠從單個線程的多個套接字上進行多重連接及I/O,將一個套接字分別加入到讀集(readfds)、寫集(writefds)和異常集(exceptfds)中,調用select函數(shù)就可以判斷出這個套接字的狀態(tài),然后根據(jù)套接字的狀態(tài)進行數(shù)據(jù)接收、接收連接請求等操作。而且select模型在Windows平臺和UNIX平臺下都能夠使用。

        2 網(wǎng)絡接口的實現(xiàn)

        網(wǎng)絡接口實現(xiàn)采用C++語言來實現(xiàn),其功能都封裝在一個網(wǎng)絡接口類(net_interface)中

        (1)SDW ORD initNet(int Local_Proc_Type , int Group_Num =0, int BufferSize = 512000),該函數(shù)函數(shù)實現(xiàn)網(wǎng)絡初始化,建立網(wǎng)絡連接;

        (2)SDWORD sendData(BYTE dest_host ,B Y TE d e s t_ proc_type, char *pdata , unsigned short datalen, unsigned short type,CHAR vip_type),實現(xiàn)數(shù)據(jù)發(fā)送;

        (3)SDWORD readData (int BufSize, char *Buf),該函數(shù)接收數(shù)據(jù),將收到的數(shù)據(jù)保存在一個緩沖區(qū)中;

        3 網(wǎng)絡接口的運用

        網(wǎng)絡接口非常簡單,在準備進行數(shù)據(jù)傳送之前,實例化一個網(wǎng)絡接口類的對象,根據(jù)進程類型和其組號調用initNet函數(shù),如果沒有錯誤發(fā)生,就可以調用sendData和readData進行數(shù)據(jù)發(fā)送和接收了。

        姜春強(1977.4-),男,漢,山東威海人,工程碩士,工程師,主要研究方向:電子技術和軟件技術。

        TP391.9

        A

        1003-5168(2015)11-001-01

        猜你喜歡
        網(wǎng)絡接口端口號發(fā)送數(shù)據(jù)
        移動自組網(wǎng)中MAC層協(xié)議研究
        變電站網(wǎng)絡接口物理防護系統(tǒng)設計與實現(xiàn)
        在Docker容器中安裝應用程序
        基于馬爾科夫鏈的LoRaWAN網(wǎng)絡節(jié)點性能分析
        帶標記方式的CRDSA++協(xié)議性能分析*
        通信技術(2018年10期)2018-10-15 07:30:00
        淺談以java為基礎的Socket通信簡介及實現(xiàn)
        青春歲月(2017年5期)2017-04-20 18:34:23
        使用IPSec安全傳輸數(shù)據(jù)
        淺析CTC與GSM-R系統(tǒng)網(wǎng)絡接口及路由配置改進措施
        網(wǎng)絡設置管理
        Winsock編程在《計算機網(wǎng)絡基礎》教學中的應用
        亚洲区在线播放| 精品av熟女一区二区偷窥海滩| 亚洲a∨国产av综合av下载| 久久亚洲sm情趣捆绑调教| 九九久久精品大片| 久久成人精品国产免费网站| 无码爽视频| 久久久久久人妻毛片a片| 老色鬼永久精品网站| 一区二区三区黄色一级片| 精品亚洲一区二区三区四| 无码人妻av一二区二区三区 | 色欲麻豆国产福利精品| 成人综合亚洲欧美一区h| 日韩人妖干女同二区三区| 国产69精品久久久久app下载| 又黄又爽又色又刺激的视频| 欧美洲精品亚洲精品中文字幕| 免费人成黄页网站在线一区二区| 成人无码av一区二区| 精品国产a∨无码一区二区三区| 国产AV无码无遮挡毛片| 国产精品亚洲一区二区三区16| 久久天天躁狠狠躁夜夜av| 日韩手机在线免费视频| 精品国产一品二品三品| 日韩在线观看入口一二三四| 人妻夜夜爽天天爽一区| 免费看国产精品久久久久| 经典黄色一区二区三区| 精品久久人妻av中文字幕| 中国精品久久精品三级| 国产高清一区二区三区视频| 精品人妻码一区二区三区剧情| 久久中文字幕无码专区| 97色综合| 男女激情视频网站在线| 窝窝午夜看片| 91精品啪在线观看国产18| 国产成av人在线观看| 国产精品免费看久久久无码|