万博士范文网-一级午夜-您身边的范文参考网站Vanbs.com

udp協(xié)議范文10篇

時間:2024-08-15 14:07:31 128

udp協(xié)議xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

udp協(xié)議范文第1篇

關鍵詞:用戶數據報協(xié)議;通信;報文分析;SnifferxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

中圖分類號:TP312 文獻標識碼:A 文章編號:1009-3044(2010)13-3319-02xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Use UDP Protocol and AnalysisxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

LIU Peng1, LIU Yan2xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(puter Science and Information Engineering College, Guangxi Normal University, Guilin 541004, China; 2.Affiliated Hospital of Guilin Medical University,The Office of Teaching Management, Guilin 541001, China)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Abstract: UDP protocol is a compact, highly efficient protocol has been widely used. The method of how to design communication program with UDP protocol in windows operating system was introduced. Then test communication with the introduced program. The captured packets by Sniffer in communication experimental were analyzed in detail to verify the network model and the network communication program, summed up the advantages and disadvantages of UDP protocol.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Key words: UDP; communication; packet analysis; snifferxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

UDP是User Datagram Protocol的簡稱,是TCP/IP體系結構中一種無連接的傳輸層協(xié)議,提供面向事務的簡單不可靠信息傳送服務。UDP 協(xié)議是 IP 協(xié)議與上層協(xié)議的接口,用端口號分別為運行在同一設備上的多個應用程序提供服務。它定義在IETF RFC 768中[1]。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

UDP是分發(fā)信息的理想協(xié)議,適用于追求效率且不需要額外可靠機制的情形,如音、視頻流媒體分發(fā)、高層協(xié)議或應用程序提供錯誤和流控制功能時的快速數據分發(fā)。 UDP服務于很多知名應用,如網絡文件系統(tǒng)(NFS)、簡單網絡管理協(xié)議(SNMP)、域名系統(tǒng)(DNS)以及簡單文件傳輸系統(tǒng)(TFTP)、動態(tài)主機配置協(xié)議(DHCP)、路由信息協(xié)議(RIP)等。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1 UDP協(xié)議使用xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

在Windows下使用UDP不需要實現RFC 768中定義的UDP細節(jié),封閉的Windows操作系統(tǒng)為用戶實現了協(xié)議,以動態(tài)鏈接庫及API的形式提供給用戶程序調用。這種方式方便了程序設計,但也阻止了用戶對網絡協(xié)議的更深理解。為了更加深入研究UDP有必要對傳輸報文流進行分析;為了更好的分析,需要實現一個使用UDP的通信程序。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

在windows下選用VC6.0編譯器。服務器端代碼如下:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

#include //基本輸入輸出庫xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

#include //網絡API函數庫xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

#pragma comment (lib,"WS2_32.lib")/*將WS2_32.lib加入鏈接,不用再為這個鏈接文件設置鏈接選項了*/xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

void main()xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{ WORD wVersionRequested;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

WSADATA wsaData;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

int err;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

wVersionRequested = MAKEWORD( 1, 1 );xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

err = WSAStartup( wVersionRequested, &wsaData );xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if ( err != 0 ) {xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

return; /* 處理找不到 WinSock DLL.*/}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

/* 確認 WinSock DLL 支持的版本 */xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if ( LOBYTE( wsaData.wVersion ) != 1 ||HIBYTE( wsaData.wVersion ) != 1 ) {xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

WSACleanup( ); return;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}/* [3]以上代碼為MSDN提供的設計windows下網絡程序的標準方法*/xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

SOCKET sockSrv=socket(AF_INET,SOCK_DGRAM,0);/*AF_INET因特網地址族UDP, TCP, 等.SOCK_DGRAM 基于upd的套接字。*/xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

SOCKADDR_IN addrSrv;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);/*htonl主機字節(jié)序變?yōu)榫W絡字節(jié)序*/xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

addrSrv.sin_family=AF_INET;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

addrSrv.sin_port=htons(6666);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

err=bind(sockSrv,(SOCKADDR *)&addrSrv,sizeof(SOCKADDR)); /*綁定主機從6666端口接受數據*/xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if ( err != 0 ) {xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

return; /* 處理幫定異常*/xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

} SOCKADDR_IN addrClient;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

int len=sizeof(sockaddr);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

char recvBuff[200];//接收緩存xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

char sendBuff[200];//發(fā)送緩存xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

char tempBuff[200];//暫時緩存xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

while (1){xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

recvfrom(sockSrv,recvBuff,200,0,(SOCKADDR*)&addrClient,&len); //接收數據xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if('E'==recvBuff[0])xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{sendto(sockSrv,"E",strlen("E"),0,(SOCKADDR*)&addrClient,len); //發(fā)送數據xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

printf("Communications end/n");xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

break;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}sprintf(tempBuff,"Recieve From IP %s :%s ",inet_ntoa(addrClient.sin_addr),recvBuff); //格式化xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

printf("%s/n",tempBuff);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

printf("Please input data send to IP %s :/n ",inet_ntoa(addrClient.sin_addr));xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

gets(sendBuff);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

sendto(sockSrv,sendBuff,strlen(sendBuff)+1,0,(SOCKADDR*)&addrClient,len);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}closesocket(sockSrv);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

WSACleanup();xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}客戶端程序頭文件及socket初始化和服務器端一樣,不同的是socket函數的使用。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

//頭文件和服務器端一樣xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

void main()xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{…xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

//初始化和服務器端一樣xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

/* 以上代碼為MSDN提供的設計windows下網絡程序的標準方法,*/xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

SOCKET sockCleit=socket(AF_INET,SOCK_DGRAM,0);//SOCK_DGRAM 基于upd的套接字xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

SOCKADDR_IN addrSrv;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

addrSrv.sin_addr.S_un.S_addr=inet_addr("192.168.1.103");/*設置目標地址,根據服務器端情況*/xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

addrSrv.sin_family=AF_INET;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

addrSrv.sin_port=htons(6666);//與服務器端一致xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

char recvBuff[200];//接收緩存xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

char sendBuff[200];//發(fā)送緩存xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

char tempBuff[200];//暫時緩存xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

int len=sizeof(SOCKADDR);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

while (1)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{printf("Please input data send to IP %s :/n",inet_ntoa(addrSrv.sin_addr));xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

gets(sendBuff);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

sendto(sockCleit,sendBuff,strlen(sendBuff)+1,0,(SOCKADDR*)&addrSrv,len);//發(fā)送xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

recvfrom(sockCleit,recvBuff,200,0,(SOCKADDR*)&addrSrv,&len);//接收xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if('E'==recvBuff[0])xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{sendto(sockCleit,"q",strlen("q"),0,(SOCKADDR*)&addrSrv,len);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

printf("Communications end/n");xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

break;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}sprintf(tempBuff,"Recieve From IP %s :%s ",inet_ntoa(addrSrv.sin_addr),recvBuff);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

printf("%s/n",tempBuff);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}closesocket(sockCleit);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

WSACleanup();xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

以上代碼可使用VC6.0、VS2005、 VS2008等軟件編譯器。服務器端的網絡地址為192.168.1.102。客戶端不限,只要和服務間路由可達即可,本例中使用192.168.1.100。如不想更改服務器端IP地址,只要按照程序注釋,根據實際情況更改客戶程序的addrSrv.sin_addr.S_un.S_addr變量即可。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2 報文捕獲與分析xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

圖1為客戶端IP192.168.1.100向服務器端IP192.168.1.103發(fā)出數據“test”后,由服務器端的sniffer捕獲的報文。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

UDP報文為灰色開始的0c 96 1a 0a 00 0d 6d 3e 74 65 73 74 00共13字節(jié)。UDP前45開始到67為標準IP報文頭共20個字節(jié),報文開頭的00到08 00(IP報文頭前)14個字節(jié)為DLC(Data Link Control)報文頭。UDP報文中,0c 96源端口號,兩字節(jié),客戶端用于接收信息的端口號,不需要回復可用全零。1a 0a 目的端口號,兩字節(jié),服務器端的接收端口號。00 0d 數據包長度,兩字節(jié),本示例為13。6d 3e 校驗和,兩字節(jié)。74 65 73 74 00 數據包的內容,74 65 73 74 為“test”的ASCII編碼,00通過源程序可以發(fā)現,為了接收端處理方便多發(fā)的一個空字節(jié)。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

圖2為服務器端103接收到“test”后,向客戶端發(fā)送“received test”數據,由服務器端的sniffer軟件捕獲的報文。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

UDP報文為灰色開始1a 0a 0c96 00 16 b6 78 72 65 63 65 69 76 65 64 20 74 65 73 74 00共22字節(jié)。1a 0a源端口號,0b 96目的端口號,與前一報文正好相反。00 16 數據包長度22字節(jié)。B6 78 校驗和,72 65 63 65 69 76 65 64 20 74 65 73 74 00 是數據報的內容,同樣多發(fā)了一個空字節(jié)。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

由協(xié)議分析可知,UDP位于IP報文的數據域中,由源端口、目的端口、長度、校驗和、和數據域組成,采用明文傳遞應用數據。如果傳遞重要信息一定要在應用層加密,否則很容易被竊取。UDP在發(fā)送數據時附帶自身的端口號,接收時不需要確認,所以可以方便的進行一對一、一對多和多對多的交互通信,這種方式方便但存在缺陷,如果被攻擊者知道服務的端口號,控制多臺主機向服務器發(fā)送大量垃圾信息,可使服務器癱瘓。這是此類協(xié)議的共有的弱點。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3 結束語xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

傳輸層的UDP協(xié)議由于其簡潔、高效性而被廣泛使用,是一種重要的協(xié)議。該文介紹的UDP協(xié)議使用方法具有通用性,可作為開發(fā)、學習此類軟件參考。UDP協(xié)議由于沒有安全控制,采用UDP協(xié)議的系統(tǒng)在提供服務時最好放在防火墻內,由系統(tǒng)對它提供安全保證。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

參考文獻:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[1] 謝希仁.計算機網絡[M].5版.北京:電子工業(yè)出版社,2007:108-184.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[2] Stanley B Lippman. JoséeLajoi C++Primer[M].潘愛民,張麗,譯.北京:電力出版社,2005.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[4] Behrouz.A.Forouzan Sophia Chung Fegan.Data Communicatins and Networking[M].吳時霖,等,譯.北京:機械工業(yè)出版社,2007.7,445-472.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

udp協(xié)議范文第2篇

關鍵詞:P2P;CDP;NAT 穿透;基于UDP的TCPxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

中圖分類號:TP317文獻標識碼:A 文章編號:1009-3044(2007)03-10736-02xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1 引言xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

隨著互聯網應用廣泛推廣,基于各種P2P網絡技術的產品也越來越多的出現在我們的視野當中。從最早的Napster 到現在的Bittorrent、eMule、skype等產品,P2P這種網絡應用模式已經從各個方面深入人心。這些產品在網絡實現技術上,都以各自的方法解決著同樣面臨的一個問題,如何讓他們的軟件產品在各異的網絡拓撲結構中順利的進行P2P通信。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

眾所周知,在當今的網絡拓撲結構中,普遍使用NAT設備來進行網絡地址轉換,那么如何讓應用程序跨越這些NAT設備進行全雙工通信,就成為非常重要的問題。實現跨越NAT 通信有很多種辦法:首先是通過服務器進行轉發(fā),這是比較粗暴的方法,在用戶量較大時,轉發(fā)服務器需要付出相當大的代價;其次,可以使用NAT 穿透技術。而在NAT 穿透中,UDP 穿透的成功率比起TCP 穿透要高出許多[1]。因此在UDP 協(xié)議上構建一些大型的網絡應用程序可能會成為很多人的需求。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

由于UDP協(xié)議本身存在通信不可靠的缺點,對于基于UDP 進行可靠通信的需求就浮現出來了。目前在網絡上有許多人正在做著這一工作,UDT、RakNet、eNet 等都是構建在UDP之上的網絡可靠通信開發(fā)庫,但這些庫都是針對一些特殊應用進行設計的,不具備通用性。本文提出的CDP協(xié)議是在UDP基礎之上實現的TCP協(xié)議。同時具備了TCP的通用、高效和UDP的高穿透成功率,并提供了簡單易用的應用程序開發(fā)接口。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2 CDP設計目標xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

CDP主要的目標就是在UDP 層之上實現TCP 的協(xié)議算法,使得應用程序能夠在UDP 層之上獲得通用、可靠、高效的通信能力。CDP 網絡開發(fā)庫所實現的算法,都來自久經考驗的TCP協(xié)議算法,以下協(xié)議設計部分主要講解CDP實現中與TCP標準不同的部分。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3 CDP協(xié)議設計xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

CDP協(xié)議主要在以下幾個方面與TCP有所不同:協(xié)議格式、連接建立(NAT UDP PUNCH模式)、保活機制、MTU發(fā)現與MSS通告。其他部分,如報文傳輸、流量控制、超時重傳、擁塞控制等,均參照TCP協(xié)議實現[2]。下面將對幾個不同部分分別進行說明。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3.1 協(xié)議格式xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

CDP的實現的算法雖然與TCP 實現的算法是大致相同的,但CDP 的協(xié)議格式只是從TCP協(xié)議格式獲得參考,但并不完全與他相同,CDP協(xié)議格式如圖1所示。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

圖中各字段意義分別為:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

4 位首部長度:表示用戶數據在數據包中的起始位置。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

LIV:連接保活標志。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

ACK:確認序號有效。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

PSH:接收方應該盡快將這個報文段交給應用層。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

RST:重置連接。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

SYN:同步序號,用來發(fā)起一個連接。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

FIN:發(fā)端完成發(fā)送任務。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

16 位窗口大小:接收端可接收數據的窗口大小。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

選項:只有一個選項字段,為最長報文大小,即MSS。CDP 選項格式與TCP 選項格式一致,kind=0 時表示選項結束,kind=1 時表示無操作,kind=2 時表示最大報文段長度。如下圖:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

圖2 CDP選項字段xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

數據:用戶通過CDP 傳輸的數據。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3.2 連接建立(NAT UDP PUNCH模式)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

一般情況下,CDP連接的建立過程與TCP相同。但當CDP工作在UDP NAT 穿透(NAT UDP PUNCH)模式下時,在三次握手之前,先要向對端NAT 端口及預測端口以默認2ms的間隔發(fā)送默認為10個LIV報文,一來用于打開自已的NAT 端口,二來是用于進入對端NAT端口。默認值可以由用戶程序設置。這時的LIV 報文中初始序號及確認序號都為0。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

當接收到對端LIV 報文后,CDP立即停止LIV 報文發(fā)送,發(fā)出SYN 報文進行連接建立。這時有兩種可能:一是對端直到接收到該SYN 報文,都沒有接收到LIV 報文,或是剛接收到LIV報文,但沒有來得及發(fā)送SYN 報文,此時將會和一般模式下連接建立的過程一致,經歷三次握手;二是對端在接收到該SYN 報文之前,也已經發(fā)送SYN報文,此時雙方都需要對SYN 報文段進行確認。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3.3 半打開連接及連接保活xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

半打開連接是指對端異常關閉,如網線拔掉、突然斷電等情況導致一端關閉,而另一端卻認為連接仍處于打開當中,這種情況稱之為半打開連接。CDP中的一個TDP SOCKET描述符由本地IP、本地端口、遠端IP、遠端端口唯一確定。當遠端客戶端連接請求到來時,服務端將接收到一個新的CDP SOCKET描述符,當這一個描述符唯一確定信息已經存在時,對新的連接請求發(fā)送RST 報文段,通知其重置連接請求。對于舊的連接,由保活機制自動發(fā)現是否為半打開連接,如果是半打開連接,則自動關閉該連接。CDP的RST 報文與TCP 中的RST 報文是不一樣的。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

連接建立之后,CDP 連接需要啟動保活機制。TCP 連接在沒有數據通信的情況下也能保持連接,但CDP 連接不行。CDP 連接在一定時間內如果沒有數據交互的話,將主動發(fā)送保活LIV報文段。這個時間根據CDP 連接工作模塊不同有所差異,在NAT UDP PUNCH 模式下,默認值為1 分鐘(大多數的NAT中,UDP會話超時時間為2-5分鐘左右);而在常規(guī)模塊下這個時間段默認值為5分鐘。默認值可以由用戶程序設置,用戶程序需要指明兩種模式下的保活時間周期。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3.4 路徑MTU 發(fā)現及MSS 通告xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

CDP連接建立過程中會通告初始MSS(Maximum Segment Size),這個值可以由用戶程序進行設置。但這個初始值是靜態(tài)的,當通信雙方跨越多個網絡時,使用設置的MSS可能導致傳輸的IP 報文分片的產生。為了避免分片,CDP在數據傳輸過程中進行動態(tài)的路徑MTU(Maximum Transmission Unit)發(fā)現,并進行MSS 的更新及通告。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

CDP創(chuàng)建UDP SOCKET時,即將IP選項設置為不允許分片: Setsockopt(clientSock, IPPROTO_IP, IP_DONTFRAGMENT, (char*)&dwFlags, sizeof(dwFlag) )。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

在發(fā)送數據時先以當前MSS 大小進行發(fā)送,如果返回值為錯誤碼WSAEMSGSIZE(10040),則表示為報文尺寸大于MTU,需要進行IP 分片傳輸。此時,縮減MSS大小再次發(fā)送,直至不再返回錯誤碼WSAEMSGSIZE(10040)。當MSS 變更并能成功發(fā)送報文后,需要向對端通報新的MSS 值。每次MSS 縮小后,默認隔30 秒,CDP 將默認擴大MSS 大小,以檢查是否路徑MTU 是否增大了,之后隔30*2 秒、30*2*2 秒進行檢測,如果三次都未發(fā)現MTU 增大則停止進行檢測。網絡中MTU 值的個數是有限的[3]。因此MSS 的擴大及縮減,可依據一些由近似值按序構成的表,依照此表索引進行MSS 值的擴大與縮減計算。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

CDP 中MSS 與MTU 之間關系的計算公式如下:MSS = MTUC20(IP首部)C8(UDP首部)C12(CDP首部)。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

4 CDP應用程序開發(fā)接口(CDP Socket API)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

使用CDP進行網絡程序開發(fā)是非常容易的,它API與標準socket API是非常相似的,對應功能的函數名稱都相同,只是CDP的所有API都處于名稱空間CDP 之下。此程序庫的實現也參考了BSD Socket的實現。CDP Socket API列表如下:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

5 結束語xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

本文提出了一種基于UDP協(xié)議之上的TCP協(xié)議實現――CDP協(xié)議,并對現實的一些關鍵部分進行了討論,最后給出了CDP協(xié)議的應用開發(fā)接口。CDP協(xié)議同時具備了TCP通用、高效的特點,有利用的UDP的NAT穿透特性,可廣泛應用與構建各種P2P網絡應用。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

參考文獻:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[1]B. Ford, P. Srisuresh, D. Kegel, Peer-to-Peer Communication across Network Address Translators [EB/OL], draft-ford-midcom-p2p,/pub/net/p2pnat, June 2004.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[2]W.Richard Stevens, 范建華,譯,TCP/IP詳解――卷Ⅰ:協(xié)議[M],機械工業(yè)出版社,2000.4.1.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[3]J. Mogul, S. Deering, "Path MTU Discovery"[S], RFC1191, November 1990.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

udp協(xié)議范文第3篇

關鍵詞:UDP協(xié)議;廣播;多播;Delphi5.0xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

中圖分類號:TP311.1 文獻標識碼:A文章編號:1007-9599 (2011) 05-0000-01xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Implementation of Broadcast and Multicast under the UDP ProtocolxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Zhang Wei12,Zhang Huanjun1,Cheng Xiao2xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(1.Shenyang Ligong University,Shenyang110168,China;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.Sicong Co.,Ltd.,Xian710043,China)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Abstract:UDP is a very practical and feasible network transmission layer protocols,now widely used in many fields in the future,and will play a greater role.This paper expounds the development environment Delphi5.0 next Broadcast and multicast a software design method.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Keywords:UDP protocol;Broadcast;Multicast;Delphi5.0xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

在TCP/IP協(xié)議族中,有兩個互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數據報協(xié)議)。TCP為兩臺主機提供高可靠性的數據通訊,UDP為應用層提供了一種非常簡單的服務,它只是把稱作數據報的分組從一臺主機發(fā)送到另一臺主機,但并不保證該數據報能到達另一端。與TCP相比UDP的優(yōu)勢就在于它排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應用來完成,極大降低了執(zhí)行時間,保證了運行速度。單播、廣播、組播則表示的是數據在網絡中“播放”的形式,是指有一個人能聽到還是讓特定的人群聽得到,還是讓所有的人都聽的到的區(qū)別。一臺主機要向網上的所有其他主機發(fā)送幀,這就是廣播;多播處于單播和廣播之間,向屬于多播組的多個主機發(fā)送幀。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

一、廣播與多播的實現xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

下面我們就詳細介紹一下Delphi5.0開發(fā)環(huán)境下廣播和多播的實現。軟件開發(fā)步驟如下:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(一)網絡初始化xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1.首先初始化WinSock動態(tài)連接庫,創(chuàng)建Socket套接字,用下面語句綁定發(fā)送方Addr:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Addr.sin_family:=AF_INET;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Addr.sin_addr.S_addr:=INADDR_ANY;//本機接收地址設為任意地址xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Addr.sin_port:=htons(UDPPORT); //設定本機UDP端口號xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

函數htons將端口號由主機字節(jié)順序轉換為網絡字節(jié)順序,然后將套接字綁定到一個本地地址和端口上(bind),設置為異步選擇,設定接收端SockAddrIn:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

FSockAddrIn.SIn_Family:=AF_INET;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

FSockAddrIn.SIn_Port:=htons(UDPPORT);//接收端端口設置xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.廣播接口設置。廣播方式有兩種,一種是limited broadcast,廣播地址是255.255.255.255;一種是directed broadcast。limited broadcast初始化時代碼如下: SetSockopt(FSocket,SOL_SOCKET,SO_BROADCAST,@broadcast,sizeof(broadcast));xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

directed broadcast不需要SetSockopt(),以標準的C類網為例,直接發(fā)送x.x.x.255就可以了。這種廣播只有同一邏輯子網中的機器才能收到,也就是說對方地址應該是x.x.x.y,如果不是,即使在同一物理子網中也是收不到的。當然,這和子網掩碼有關。limited broadcast廣播的好處是只要在同一子網中的主機,就可以收到這種廣播,而不必非要在統(tǒng)一邏輯子網中。例如,如果你的地址是x.x.x.1,那么這種廣播,地址是x.y.z.a的主機也能收到。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3.多播接口設置。mreq.imr_multiaddr.S_addr:=inet_addr(pchar(MY_GROUP));//設定多播地址mreq.imr_interface.S_addr:=htonl(INADDR_ANY);//設定本機接收端口。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(二)網絡數據的讀取xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

flen:=sizeof(FSockAddrIn);//獲取字節(jié)長度xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

FSockAddrIn.SIn_Port := htons(UDPPORT);//設定本機接收端口xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Event:=WSAGetSelectEvent(Message.LParam);//接收到數據后觸發(fā)消息事件xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if Event=FD_READ thenxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

beginxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

len:=recvfrom(FSocket,buffer,sizeof(buffer),0,FSockAddrIn,flen);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

value:=copy(buffer,1,len);//網絡數據接收,buffer是緩沖區(qū)。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(三)網絡數據的發(fā)送。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

首先定義一個string變量和一個integer變量,然后設置遠端主機地址:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

FSockAddrIn.SIn_Addr.S_addr:=inet_addr(pchar(Edit1.text));xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

value:=Content;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

len:=sendto(FSocket,value[1],Length(value),0,FSockAddrIn, sizeof(FSockAddrIn)); //網絡數據發(fā)送xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if(WSAGetLastError() WSAEWOULDBLOCK)and(WSAGetLastError() 0)then //網絡數據發(fā)送異常判斷xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

showmessage(inttostr(WSAGetLastError()));xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(四)關閉網絡接口xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

CloseSocket(FSocket);//關閉SocketxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

二、結束語xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

經測試,該軟件能成功實現UDP協(xié)議下的廣播和多播。測試結果如圖1、圖2所示。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

圖1 UDP廣播測試結果圖2UDP多播測試結果xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

參考文獻:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[1]袁振武.謝任東.談Delphi編程中UDP協(xié)議的應用[J].科技廣場,2008,05xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

udp協(xié)議范文第4篇

關鍵詞:UDP;RUDP;可靠性xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2010)16-4379-02xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Reliable Improvement Agreement Based on UDP AgreementxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

YIN Ran-ranxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(School of Computer & Information, Hefei University of Technology, Hefei 230009, China)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Abstract: This article will propose and realizes the embedded equipment's authentic data transmission and one kind of new many through the comparative analysis transmission level transport protocols UDP unreliability and the TCP low efficiency in the UDP agreement's foundation transmits the RUDP agreement wireless. The RUDP agreement software module provides based on the news reliable communication function, the correspondence is faces the connection, the first floor uses UDP to take the load bearing agreement.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Key words: UDP; RUDP; reliabilityxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1 TCP協(xié)議和UDP協(xié)議xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1.1 TCP協(xié)議xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

傳輸控制協(xié)議即TCP,盡管它和UDP都使用相同的網絡層協(xié)議(IP),但它向應用層提供了與UDP完全不同的服務,它提供一種面向連接的、可靠的字節(jié)流服務。面向連接意味著兩個使用TCP的應用在彼此交換數據之前必須先建立一個TCP連接,數據傳輸完成后,再經過4次握手終止雙方的連接。在數據傳輸的過程中,TCP還通過對數據的確認、流量控制等手段提高通信的可靠性。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1.2 UDP協(xié)議xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

UDP(User Datagram Protocol),即用戶數據報協(xié)議。在TCP/IP網絡通信中, UDP協(xié)議是一種面向無連接的服務。它發(fā)送數據以獨立的數據包形式,不保證各數據包的發(fā)送順序,也不進行正確性檢查,因此,可能出現數據的重發(fā)、丟失、失序等現象[2]。使用UDP協(xié)議的常見服務有DNS、QQ等。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

UDP協(xié)議直接向接收方發(fā)送數據而不關心對方計算機的狀態(tài),因此,它是一種相對不可靠的通信協(xié)議。正因為UDP協(xié)議不考慮網絡數據傳輸過程中的很多問題,所以能節(jié)省了大量的網絡狀態(tài)確認和數據確認的系統(tǒng)資源消耗,從而提高UDP協(xié)議的傳輸速度和網絡的利用效率。可是,如果既能充分利用UDP協(xié)議的這些優(yōu)勢,又能保證UDP通信的可靠性,網絡通信系統(tǒng)的性能將會得到更大程度地提高。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2 RUDP 協(xié)議的提出xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.1 嵌入式設備可靠通信面臨的問題xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

面向連接方式的服務功能明顯很強大,它能夠發(fā)揮面向連接的傳輸所具備的特性,例如流量控制,差錯處理以及順序交付等等,但是面向無連接的服務更適合于某些情況,在網絡層上使用IP協(xié)議就是一個面向無連接的服務而且這個面向無連接的服務顯得更加健壯,因為Internet本身就是一個不穩(wěn)定的環(huán)境,面向連接的服務反而不能很好的運行于其上。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

如果使用TCP連接協(xié)議實現嵌入式設備之間的數據傳輸可能帶來許多的問題,嵌入式設備之間建立TCP連接并發(fā)送數據后,或者接收端向正在請求連接的設備發(fā)出SYN+ACK應答報文后,都可能無法接收到終端的ACK報文,在這種情況下發(fā)送端一般會重試并等待一段時間后終止這個連接。大量重傳數據會進一步加劇網絡的擁塞情況,嚴重時可以使網絡及服務器系統(tǒng)崩潰,同時也會對數據傳輸的實時性產生影響。同時目前嵌入式設備又存在多點分散、數據量小、實時性要求高等特點[3]。本文將在UDP協(xié)議的基礎上提出并實現嵌入式設備的可靠數據傳輸。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.2 嵌入式可靠傳輸模型的體系結構xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

RUDP協(xié)議軟件模塊底層采用UDP作為承載協(xié)議,提供基于消息的可靠通信功能。根據計算機網絡層次體系的概念,RUDP協(xié)議的層次模型就是在原UDP/IP協(xié)議的傳輸層和應用層之間加入了RUDP層和標志層。RUDP協(xié)議的層次結構如表1所示。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

RUDP層的功能是保證數據的可靠傳送。由于嵌入式設備通過網絡進行消息的收發(fā)是處于一個公共網絡的環(huán)境之中,可能會有大量無用的數據向嵌入式設備進行發(fā)送,大量的數據解析會極大地增加嵌入式設備的負擔。為了避免這個問題,我們增加了一個標志層,標志層可以讓嵌入式設備迅速的判斷所接收的數據包是否為有效數據包,如果標志層數據不可識別,則迅速將包丟棄。在可靠傳輸層進行可靠傳輸設計和實現,在這一層,我們增加一系列可靠傳輸機制以保證嵌入式設備之間數據的可靠傳輸。這樣就形成了一個原UDP協(xié)議所在傳輸層和應用層之間加入了一層為保證可靠數據傳送而實現的RUDP軟件模塊和標志層的六層體系結構。從而,在UDP協(xié)議的基礎上實現一種基于消息的面向連接的,適合嵌入式設備的可靠數據傳遞機制。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.3 嵌入式可靠傳輸模型的基本功能xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

嵌入式可靠傳輸模型RUDP主要功能有:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1) 基于消息的收發(fā)功能:RUDP的傳輸層利用基于消息的傳輸協(xié)議,所以不必考慮發(fā)送端可以接收多少數據,只需知道能否接收數據即可。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2) 校驗和:RUDP的校驗和算法采用UDP的校驗功能保證數據包的正確和順序到達。UDP校驗和字段是對整個UDP報文頭和UDP所帶的數據的校驗和。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3) 丟棄重復包和保存失序包的功能:每當收到數據包后,便對數據包進行確認。保存未確認的數據包,丟棄已經確認了的重復包。由于UDP傳送過程中,收到的數據包的順序可能會和發(fā)送的順序有一定的區(qū)別,所以保存失序包能夠有效的減少重發(fā)的次數,也就是能相應的減少網絡的數據流量。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

4) 超時重發(fā)功能:RUDP中借鑒TCP中的超時重發(fā)機制來保證數據包的可靠傳遞;同時TCP中的確認延遲功能也得到借鑒,這樣可以顯著降低網絡的流量,提高嵌入式系統(tǒng)的通信效率。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

5) 服務器和客戶端保活功能:探測收發(fā)兩端的連接是否正常時嵌入式可靠傳輸模型中必須要實現的一個功能。如果連接已經出錯,若干數據包仍然發(fā)送,當超時定時器到時后就會進行數據的重發(fā)。如果沒有判斷收發(fā)兩端的連接是否正常,則會導致數據無法正常而又高效的發(fā)送。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.4 RUDP協(xié)議工作過程xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

RUDP協(xié)議的工作過程是:首先,建立連接。發(fā)送方和接收方通過三次握手的方式建立連接(三次握手過程如圖1所示)。第三次握手時,發(fā)送方發(fā)給接收方的數據幀中除了包含對接收方的確認信息之外,還包含將要發(fā)送的數據幀總數。接收方收到確認幀后,開始與發(fā)送方建立連接。與此同時將根據收到的幀總數設置接收窗口大小并將所有幀序號放入緩存。雙方連接建立好后保證了數據發(fā)送和接收的同步性。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

接著,發(fā)送方開始發(fā)送數據幀,接收方收到數據幀并進行處理。能夠正確接收到的幀序號將會從序號緩存中刪除。發(fā)送方發(fā)送完數據幀后發(fā)送“發(fā)送完”標志給接收方。接收方收到此標志后,開始掃描幀序號緩存。如果數據幀全部接收到,接收方向發(fā)送方發(fā)送一“接收完”標志,發(fā)送方收到后斷開連接。如果序號緩存中有序號則說明有幀丟失,這時接收方將向發(fā)送方發(fā)出一個帶有丟失幀序號的確認幀。發(fā)送方收到此確認幀后將重新發(fā)送丟失幀。如此重復,直到接收方完全正確接收到數據幀。其工作過程如圖2所示。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3 總結xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

通過分析比較傳輸層協(xié)議TCP和UDP,能夠看到它們各自的特點,并分析出它們各自的優(yōu)勢和缺點。結合嵌入式設備數據傳輸的特點同時針對UDP在可靠性方面的不足進行了改進,簡單介紹了RUDP協(xié)議的原理和工作過程。通過分析可以看出采用RUDP的效率在嵌入式設備數據傳輸中要優(yōu)于UDP協(xié)議,這樣就可以實現一種更適合于嵌入式設備的可靠數據傳遞機制。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

參考文獻:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[1] Wright G R,Stevens W R. TCP/ IP 詳解卷2:實現[M].陸雪瑩,蔣慧,譯.北京:機械工業(yè)出版社,1999.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[2] Comer D E. 用TCP/IP進行網絡互聯[M].張娟,王海,譯.卷2.北京:電子工業(yè)出版社,1998.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

udp協(xié)議范文第5篇

引 言xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

超文本傳輸協(xié)議(HTTP)是目前通過Internet進行信息交換最主要的方式。HTTP協(xié)議是建立在請求/響應(request/response)模型上的。首先由客戶建立一條與服務器的TCP鏈接,并發(fā)送一個請求到服務器,請求中包含請求方法、URI、協(xié)議版本以及相關的MIME(Multipurpose Internet Mail Extensions)樣式的消息。服務器響應一個狀態(tài)行,包含消息的協(xié)議版本、一個成功和失敗碼以及相關的MIME式樣的消息(包含服務器的信息、資源實體的信息和可能的資源內容)。圖1給出了HTTP協(xié)議實現的一個簡單模型。HTTP/1.0[3]為每一次HTTP的請求/響應建立一條新的TCP鏈接,因此一個包含HTML內容和圖片的頁面將需要建立多次的短期的TCP鏈接。一次TCP鏈接的建立將需要3次握手。另外,為了獲得適當的傳輸速度,則需要TCP花費額外的回路鏈接時間(RTT)。每一次鏈接的建立需要這種經常性的開銷,而其并不帶有實際有用的數據,只是保證鏈接的可靠性,因此HTTP/1.1[4]提出了可持續(xù)鏈接的實現方法。HTTP/1.1將只建立一次TCP的鏈接而重復地使用它傳輸一系列的請求/響應消息,因此減少了鏈接建立的次數和經常性的鏈接開銷。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

可持續(xù)鏈接減少了每次TCP鏈接建立的時間,但是一個空閑的TCP鏈接將需要一個Socket和相應的存儲緩沖區(qū)。一個Socket緩沖區(qū)的最小長度必須大于一個TCP包的最大長度,即64 KB,而且很多實現方法在鏈接建立時將預分配一些緩沖區(qū)。可用的Socket的數量是有限的,很多基于BSD的操作系統(tǒng)對于能夠同時打開的鏈接數都有一個缺省的最大值。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

無線掌上設備PDA的應用(如瀏覽器)[5]特點表現在:① 因為頁面是針對掌上設備制作的,一般在1 K~2 K字節(jié),比較小;② 目前無線通信網絡的帶寬很窄,GSM的數據信道帶寬只有9.6 K。當前Web頁面的訪問大多通過HTTP協(xié)議,并使用TCP作為下層的傳輸控制協(xié)議。但不幸的是,TCP并不適合短會話的應用情況,不同于現在采用的使用單一TCP傳輸協(xié)議進行數據傳輸的方式。本文提出了采用動態(tài)選擇傳輸層協(xié)議(TCP、UDP)的方法來改善取回頁面的延遲、網絡擁塞以及服務器的負荷。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

這種混合TCP-UDP的方法結合兩個方面的優(yōu)點:首先,對于需要比較少數據傳輸的情況,它將使用UDP作為傳輸層的協(xié)議,從而避免了TCP鏈接的多次握手開銷;另外,對于需要較多數據傳輸的情況,它將使用可靠的帶有重排序和擁塞控制的TCP協(xié)議作為傳輸層的協(xié)議。混合TCP-UDP的實現方法只需要對應用層的改動,而操作系統(tǒng)的核心代碼不用任何更改。僅采用UDP協(xié)議的缺點在于,需要在應用層建立一套類似于TCP復雜的控制協(xié)議,從而進行重排序和擁塞控制來保證傳輸的可靠性。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1 背 景xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

HTTP是一個請求/響應協(xié)議,客戶端的應用程序通過提供一個URL可以從服務器上得到所需的數據。HTTP可以用來訪問各種不同類型的資源,其中包括文本、圖形、影音、可執(zhí)行文件、數據庫查詢結果等等。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

圖2給出了在客戶端發(fā)起HTTP GET請求后,在客戶端和服務器之間進行數據包交換的示意。圖中只有兩個數據包是有用的(即攜帶了數據):一個是HTTP GET請求,另一個是HTTP的響應。其它的都是TCP用來進行握手操作的數據包。為了減輕Web服務器的負荷,經常采用重定向機制。這樣從服務器發(fā)來的重定向響應報文是很短的數據包。使用TCP作為傳輸協(xié)議需要至少7個數據包,而使用UDP則只需要2個數據包就足夠了。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2 設 計xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

我們使用混合傳輸層[6]的方法即對于少量數據傳輸的鏈接采用UDP,而對于大量數據傳輸的鏈接采用TCP作為傳輸層協(xié)議。這樣對于短鏈接而言就避免了TCP經常性的握手開銷,而對于長鏈接則仍可獲得TCP的優(yōu)點,如超時重傳、擁塞控制、錯誤恢復機制等。這種方法中,客戶端首先嘗試使用UDP作為傳輸層的協(xié)議,如果對于所請求的URL UDP并不適合,則再次使用TCP鏈接。這種方法提供了以下保證:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

如果初始的UDP數據包丟失,將采用TCP重新鏈接而不會受到影響。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

如果所鏈接的服務器沒有使用混合傳輸層的實現機制,客戶端將使用TCP重新進行鏈接。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

圖3給出了混合TCP、UDP的實現算法。一個采用混合算法的HTTP客戶端首先使用UDP作為傳輸層的協(xié)議發(fā)出HTTP GET請求,同時啟動超時定時器。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

當服務器處理客戶端發(fā)來的請求時,它可以從以下兩點做出選擇:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

① 如果響應的數據足夠小(比如,可放到一個數據包中),服務器將使用UDP發(fā)回響應。像比較小的網頁或HTTP REDIRECT響應就屬于這一類。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

② 如果響應的數據很大,無法放進一個UDP數據包中,服務器則要求客戶端使用TCP重試。這可以通過添加一個HTTP的頭部字段來解決如 TCPRETR。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

在客戶端,將會出現以下三種情況:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

客戶端從服務器接收到響應。如果響應中包含了所需的HTTP響應,客戶端將對數據進行處理。如果服務器要求客戶端重試,客戶端將使用TCP作為傳輸層重試。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

如果服務器沒有處理通過UDP傳輸的HTTP包,客戶端就會收到ICMP錯誤消息(目的地址無法到達/協(xié)議無法到達)。此時客戶端將會使用TCP重試。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

如果定時器超時,客戶端應使用TCP重試。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

圖4給出了在定時器超時情況下,客戶端和服務器之間數據包的交換。這種超時機制提供了可靠性,以及與未使用混合TCP-UDP方法的服務器的兼容性。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

圖5示意了服務器要求客戶端使用TCP重發(fā)請求時,客戶端和服務器之間的數據包交換。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3 結 語xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

混合TCP-UDP方法改善了參與HTTP傳輸的三個方面:客戶端、服務器和網絡。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

對于客戶端而言,可以避免由于TCP而引入的三向握手的時間,從而減少了瀏覽的延遲時間。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

對于服務器而言,由于所需的TCP的鏈接數量減少,從而降低了由于建立、維護、撤銷TCP鏈接所帶來的服務器的負荷。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

udp協(xié)議范文第6篇

關鍵詞:通信網絡;基于樣本塊的方法;UDP協(xié)議;Mean-Shift方法xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2010)21-5714-02xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

通信網絡為計算機信息的獲取、傳輸、處理、利用和共享提供一個安全可靠的環(huán)境和傳輸通道,但現實中通信網絡并非是絕對安全的,傳輸數據過程中數據包的丟失、泄密和篡改時有發(fā)生,且日趨嚴重。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

目前在通信網絡中比較常用的兩個通信協(xié)議是TCP協(xié)議和UDP協(xié)議。TCP是一種面向連接的協(xié)議,采用“三次握手”方式來確保數據的準確接收,其工作機制是首先是建立連接;其次發(fā)送端發(fā)送數據,接收端接收數據;再次接收端向發(fā)送端發(fā)送反饋信息,如果發(fā)送數據被成功接收,則斷開連接,否則必須重傳發(fā)送失敗的數據。而UDP協(xié)議是一種無連接的協(xié)議,不提供可靠的信息發(fā)送機制,因此在數據傳輸過程當中更容易出現數據包的丟失現象。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

TCP協(xié)議雖說提供安全的數據傳輸,但是傳輸效率不高,因此不適合于實時性較高的應用。UDP協(xié)議雖說不提供安全的數據傳輸,但是其傳輸效率很高,能實現實時傳輸,但是容易出現丟失數據包的問題。在實際當中很多實時性很高的珍貴數據是不容有失的,那么如何解決這一問題呢?xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

在2003年Shantanu D.Rane等提出無線電傳輸中丟失數據復原的問題,他們結合現有的圖像修復技術和紋理合成技術對傳輸過程中丟失的數據進行填充。在傳輸過程中,圖像被劃分為 的塊,計算其離散余弦變換,然后量化并進行哈弗曼編碼,最后傳輸圖像數據[1]。該文獻中對丟失數據填充過程如下:對丟失的塊分類,根據周圍的塊判斷丟失塊是紋理塊還是結構塊,如果是紋理塊使用紋理合成算法,否則使用結構修復算法。分析發(fā)現該方法對于塊的分類不夠準確,而且丟失數據的填充比較耗時。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

本文針對上述缺陷直接使用基于樣本塊的方法[3]填充UDP協(xié)議丟包數據。在目前所有的圖像修復方法中,基于樣本塊的修復方法是非常有效用的一種,它不僅能夠填充圖像紋理部分,而且能夠修復圖像簡單的結構,對結構的修復主要是受修復的優(yōu)先權和樣本塊的大小控制,適合的修復順序和樣本塊大小是有利于圖像結構的保持。因此本文直接使用基于樣本塊的方法對丟失的圖像數據進行填充,這樣不僅能夠提高填充的效率,而且能夠減輕數據包的丟失造成嚴重損失。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1 基于樣本塊的丟失圖像數據填充xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

UDP協(xié)議的數據傳輸過程與無線電數據的傳輸是相似的,其優(yōu)點是傳輸過程中的部分數據丟失不會引起整個圖像數據的混亂,這就為數據的恢復提供了一定的可能,否則數據的恢復是非常困難的。在很多文獻中提到UDP協(xié)議的丟包率與具體網絡環(huán)境有關,沒有一個準確的數值,但是一般來說其平均丟包率總會小于無線電數據的丟包率3.6%[2]。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

基于樣本塊的方法一種非常有效的丟失圖像數據的填充方法,它不僅能填充大塊的紋理破損,而且能夠修復較小的結構破損。UDP協(xié)議的丟包率一般來說很小,這也就為圖像的結構部分的復原提供了重要的保障。基于樣本塊的圖像修復過程如下:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1) 確定丟失數據包的位置,因為圖像數據是經過編碼后傳輸的,因此即使丟包也不會使得整個圖像數據混亂,自然其丟失數據的位置容易確定;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2) 尋找破損區(qū)域的邊緣;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3) 按照優(yōu)先權計算方法確定當前優(yōu)先權最高的像素點,優(yōu)先權P(p)一般為信任度因子C(p)與數據因子D(p)的積。信任度因子和數據因子的計算如式(1)和式(2):xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(1)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(2)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

信任度因子確保了當前待修復塊上有更多的已知像素點來確保找到的最佳匹配塊的準確性,而數據因子表示破損區(qū)域邊界在優(yōu)先權最高像素點處的法線與該點處等照線的夾角,夾角越大則結構越強,否則結構越弱,結構越強的自然越先修復,這樣有利于圖像邊緣的保持;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

4) 根據相似度的度量機制,尋找最佳匹配塊;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

5) 將最佳匹配塊中的數據拷貝到當前待修復塊中,注意只拷貝當前塊中破損像素點對應的數據;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

6) 更新破損區(qū)域;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

7) 判斷破損像素點的個數是否為0,如果為0,則轉8),否則返回到2);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

8) 修復結束。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

基于樣本塊的修復方法雖說有很好的修復效果,但是也必須注意其修復過程中存在的問題。首先誤差的累積問題,這必然導致錯誤的填充結果。其次是最佳匹配塊的選擇問題,如何在多個候選最佳匹配塊中選出真正最佳的匹配塊。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

文獻[4]提出一種新的方法來解決這誤差累積的問題,首先使用Mean-Shift方法[5]對圖像進行了粗劃分,對最佳匹配塊的選擇區(qū)域作了限制,具體的最佳匹配塊的選擇原則如下:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1) 如果待修復塊屬于粗劃分Ti,則最佳匹配塊僅在Ti中選擇;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2) 如果待修復塊處于多個劃分Ti∪Ti+1∪...∪Ti+k的邊緣,則最佳匹配塊在Ti∪Ti+1∪...∪Ti+k中選擇。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

上述方法相當于給匹配塊的選擇加了一些約束,使選擇范圍縮小。這樣不僅縮短了尋找匹配塊的時間,也避免了誤差的累積。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

另外一個問題就是最佳匹配塊唯一的問題。假設目前找到的匹配塊為ψp1, ψp2,…ψpk,那么如何在這之中選擇一個真正的最佳匹配塊。文獻[6]提到了一種選取最佳匹配塊的方法,認為與當前待修復塊的空間距離越近,其相關程度越高。因此,通過計算待修復塊的核與匹配塊的核之間的空間距離來最終選定哪個塊是真正的最佳匹配塊。丟失數據的填充流程圖如圖1所示。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2 實驗結果xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

本文用VC++實現了該算法,通過大量的實驗說明了本文算法的有效性。由于傳輸圖像很容易獲得,因此本文采用峰值信噪比的方法對恢復結果進行客觀評價。峰值信噪比PSNR的計算如下式:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(3)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

PSNR值越大,恢復的效果越好,越接近原圖;PSNR值越小,恢復效果越差,與原圖差異越大。恢復結果如圖2、圖3、圖4所示。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

4 結論xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

本文分析了通信網絡中UDP協(xié)議的傳輸機制,發(fā)現UDP協(xié)議在傳輸數據時容易發(fā)生數據丟包問題,由此使用基于樣本塊的方法解決恢復丟失數據包的問題。盡管文獻[1]的作者提出了無線傳輸中圖像數據的恢復方法,但是該方法比較復雜,而且存在諸多的不穩(wěn)定性,諸如塊的分類等。本文結合基于樣本塊修復的優(yōu)點對丟失數據進行恢復,并通過實驗進行了驗證,確實取得了令人滿意的效果。這樣不僅很大程度上提高了UDP協(xié)議圖像數據傳輸的安全性,也提高了UDP協(xié)議的傳輸效率。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

參考文獻:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[1] Shantanu D.Rane,Guilloermo Sapiro and Marcelo Bertalmio. Structure and Texture Filling-in of Missing Image Blocks in Wireless Transmission and Compression Applications[J].IEEE TRANSACTIONS ON IMAGE PROCESSING,VOL.12,NO.3,MARCH 2003,pp.296-303.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[2] E.Chang. An image coding and reconstruction scheme for mobile computing.In proc.5th IDMS,Oslo,Norway,Sept.1998,pp.137-148.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[3] A.Criminisi,P.Perez and K.Toyama. Region Filling and Object Removal by Exemplar-Based Image Inpainting[J].IEEE TRANSACTIONS ON IMAGE PROCESSING,VOL.13,NO.9,SEP 2004.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[4] Feng Tang,Yiting Ying,Jin Wang,and Qunsheng Peng.A Novel Texture Synthesis Based Algorithm for Object Removal in Photographs. MJ Maher (Ed.): ASIAN 2004, LNCS 3321, pp. 248C258, 2004.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[5] Comaniciu D, Meer P.: Mean Shift: A Robust Approach toward Feature Space Analysis[J],IEEE Trans. Pattern Analysis Machine Intell,Vol.24, No.5,603-619,2002.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[6] 盧小寶,王維蘭.基于樣本塊的唐卡圖像修復算法的改進[J].計算機應用.2010,30(4):943-946,2010.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

udp協(xié)議范文第7篇

關鍵詞:UDP協(xié)議;Socket;網絡通信xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)34-1867-02xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Socket Network Programs Based on UDP ProtocolxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

ZHOU Li-juanxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(College of Science, Hunan University of Technology, Zhuzhou 412008, China)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Abstract: Windows Socket is a network programming interface,and applications can correspond to eachother in different domains without worrying about the different protocols by using it.This paper introduces the mechanism and principle of Socket network programs based on UDP protocol,and proposes a method of network with Java socket.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

key words: UDP protocol;socket; network communicationxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Socket適用于網絡環(huán)境中的進程間通信,它已成為當前許多操作系統(tǒng)的網絡API,也是網絡操作系統(tǒng)中必不可少的基礎功能。隨著Linux操作系統(tǒng)和Internet的不斷發(fā)展,Linux網絡環(huán)境下尤其是基于UDP的socket通信技術仍廣為注目。文章介紹了socket的編程原理,并通過一個Java編寫的客戶/服務器程序,描述了網絡中基于UDP的不同主機上的兩個進程之間的socket通信機制。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1 Socket通信機制xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Socket(套接字)機制是一種API,是網絡應用程序的編程接口。Socket是通過標準文件描述符和其它程序通訊的一個方法。每一個套接字都用一個半相關描述:{協(xié)議,本地地址、本地端口}來表示;一個完整的套接字則用一個相關描述:{協(xié)議,本地地址、本地端口、遠程地址、遠程端口},每一個套接字都有一個本地的由操作系統(tǒng)分配的唯一的套接字號。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

根據傳輸數據類型的不同,Socket主要分為三類:1) 流式Socket(SOCK_STREAM),在這種方式下,兩個通訊的應用程序之間要先建立一種虛擬的連接,提供可靠的、面向連接的通信流,它使用TCP協(xié)議,從而保證了數據傳輸的正確性和順序的。2) 數據報Socket(SOCK_DGRAM),它使用數據報協(xié)議UDP,定義了一種無連接的服務,數據通過相互獨立的報文進行傳輸,是無序的,并且不保證可靠、無差錯。3) 原始Socket,原始套接字允許對底層協(xié)議如IP或ICMP直接訪問,它功能強大但使用較為不便,主要用于一些協(xié)議的開發(fā)。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2 UDP協(xié)議的工作原理xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

UDP協(xié)議是一個面向無連接的協(xié)議,其連接的建立不必像TCP那樣需要服務器端偵聽,也不需要有客戶機請求連接,屬于一種“強制”性的網絡連接。UDP提供一對一或一對多的、無連接的數據報服務。該服務對消息中傳輸的數據提供不可靠的、最大努力的傳送,這意味著它不保證數據的到達,也不保證所傳送的數據報的順序是否正確,UDP不重新傳輸丟失的數據。其主要工作是:將應用程序傳輸過來的數據分塊交給網絡層,確認接受到分組信息。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

盡管UDP無法像TCP一樣提供可靠的數據傳輸,但UDP并不比TCP缺乏優(yōu)越性。UDP在傳輸效率方面比TCP要高一些,而且許多應用程序并不需要保證嚴格的傳輸可靠性,比如視頻會議系統(tǒng)等,需要實時的交互,但并不要求音頻視頻的絕對正確。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

使用UDP協(xié)議傳輸數據時,首先設置客戶計算機的Local Port(本地端口)屬性,而作為服務器的計算機只需要設置Remoter Host(遠程主機)屬性為客戶計算機的IP地址或域名即可,并將其Remote Port屬性設置為客戶計算機上的Local Port屬性。使用UDP端口號時,端口提供了用于發(fā)送消息的位置,每個端口由一個唯一的編號來標識。當應用程序向另一臺計算機發(fā)送數據時,UDP生成一個數據頭,包括源端口,這些端口提供送達信息所需要的地址。UDP協(xié)議還為數據和數據頭計算出求和檢驗的值,在目標計算機中,數據包被傳遞至UDP協(xié)議程序并送到目的地端口。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3 UDP套接字的通信過程xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

中提供了兩個類DatagramSocket和DatagramPacket用來支持數據報通信。DatagramSoc ket用來在程序之間建立傳送數據報的通信連接,是數據報通信中的Socket。在數據報實現C/S通信程序時,無論在客戶端還是服務器端,都要首先建立一個DatagramSocket對象,用來表示數據報通信的端點,應用程序通過Socket接收或發(fā)送數據報。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

DatagramPacket則用來表示一個數據報,它是傳輸數據的載體,封裝了數據、數據長度、數據報地址等信息。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

采用UDP套接字方式實現C/S的通信程序由客戶端和服務器端兩部分組成。服務器進程依次按以下步驟進行:1) 調用Socket()創(chuàng)建一個數據報套接字;2) 調用bind()把服務器地址綁定在該套接字上;3) 調用recvform()等待客戶進程發(fā)來的請求,服務器此時處于無限循環(huán)狀態(tài);4) 服務進程接收到客戶進程所發(fā)來的數據報后,進行處理,調用sendto()將處理結果返回給客戶進程,返回狀態(tài)3),繼續(xù)監(jiān)聽;5)服務進程調用close()撤消套接字,終止服務。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

客戶進程則按以下步驟進行:1) 調用Socket()創(chuàng)建一個數據流套接字;2) 調用sendto()向服務器進程發(fā)送數據報;3) 調用recvfrom()等待服務器進程返回該處理結果;4) 客戶進程調用close()撤消套接字。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

4 數據報通信實例xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

程序由服務器端和客戶端兩部分組成,服務器端主機中有一個名為“udp_socket.txt”文件,文件中保存了一段英文。服務器端接收一個客戶端的請求,就從文件中讀取若干個英文字符發(fā)送給客戶端。當文件中所有內容發(fā)送給完畢,服務器端程序將退出。客戶端首先構造一個數據報發(fā)送給服務器端,然后等待接受服務器端響應,當接收到服務器端的數據報后,顯示數據并結束通信。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1) 服務器端程序xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

public class Server_ThxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{ boolean m_q=true;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

public void serverWork() throea IOExceptionxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{DatagramSocket ds=new DatagramSocket(2000)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

//創(chuàng)建端口號為2000的數據報套接字xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

BufferedReader in=new BufferedReader(new FileReader (“udp_socket.txt”));xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

while(m_q)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{ byte buf[ ]=new byte[256];//創(chuàng)建緩沖區(qū)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

DatagramPacket packet=new DatagramPacket (buf, buflength); //創(chuàng)建接收數據報對象xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

ds.receive(packet);//接收數據報xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

String dString=null;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if((dString=in.reaLine())==null)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{in.close();xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

m_q=false;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

dString=”Good Morning!”;}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

buf=dString.getBytes();//將數據存儲到buf中xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

inetAddress address=packet.getAddress();xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

//得到客戶端IP地址xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

int prot=packet.getPort();//得到客戶端的端口xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

packet=new DatagramPacket (buf,buf.length, address. port );xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

//構造要發(fā)送數據報xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

ds.send(packet);//發(fā)送數據報xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

ds.close();//關閉xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

public void main(String args[])xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{ Server_Th server=new Server_Th();xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

tryxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{server.serverWork();}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Catch(IOException e){}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2) 客戶端程序xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

public class Client_ThxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{public void main(String args[ ]) throws IOExceptionxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{ DatagramSocket socket=new DatagramSocket( );xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

//創(chuàng)建套接字對象xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

byte buf[ ]=new byte[256];xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

InetAdress address=InetAddress.getByName(“20.14.30.9”);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

//服務器IP地址xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

DatagramPacket packet=new DatagramPacket(buf,buf. Length,address,2000);//創(chuàng)建要發(fā)送的數據報對象xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

socket.send(packet);//接收數據報xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

packet=new DatagramPacket(buf,buf.length);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

//創(chuàng)建要接收的數據報對象xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

socket.receive(packet);//接收數據報xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

String received=new String(packet.getData());xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

System.out.println(“The string form the server: ”+recerived);xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

//取得數據報中的數據并顯示xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Socket.close();//關閉socketxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

編寫程序時客戶端和服務器端的DatagramSocket必須用一個端口,因為客戶端向服務器端請求時,服務器需要知道從哪個端口監(jiān)聽請求。當數據進行傳輸時,服務器從接收到的數據報中得到客戶端的接收數據的端口,然后將數據報發(fā)送到這個端口,客戶端則監(jiān)聽這個端口而得到服務器端發(fā)送過來的數據報并顯示其內容。運行時要先運行服務器端程序,再運行客戶端程序。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

5 小結xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Socket在網絡編程方面發(fā)揮著很大的作用。UDP是可靠性無法得到保障的協(xié)議,但對于質量要求不是很高的網絡應用程序,UDP是一個很好的選擇。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

參考文獻:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[1] 張桂珠.Java面向對象程序設計[M].北京:郵電出版社,2006.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[2] 周坤,傅德勝.基于Windows Socket的網絡數據傳輸及其安全[J].計算機工程與設計,2007,28(22):5381-5386.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[3] 趙文清.淺析用Socket的Java語言網絡通訊機制和程序設計[J].信息技術,2002(7):66-67.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

udp協(xié)議范文第8篇

關鍵詞:UDP 協(xié)議 FPGAxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2016)05-0000-00xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

傳輸控制協(xié)議/網際協(xié)議(Transmission Control Protocol/ Internet Protocol,TCP/IP)協(xié)議簇是Internet 和全球各地網絡互聯的引擎。本文針對網際層IP協(xié)議下的一項功能的實現,主要是針對從UDP協(xié)議下的數據包處理的過程。UDP是一個簡單的面向數據報的運輸層協(xié)議:進程的每個輸出操作都正好產生一個UDP數據報,并組裝成一份待發(fā)送的IP數據報。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1數據報處理方案xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1.1端口設計xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

端口應該由外部端口和內部端口組成。外部端口是控制硬件(以FPGA為例),主要包括時鐘輸入信號和復位輸入信號。內部端口為運輸層與網絡層相互聯系為原則設計的,不僅需要數據輸入輸出,也需要這兩個模塊間的相互控制。具體內部端口主要包括數據輸入輸出信號及對應的數據同步信號,兩個準備信號,兩個IP地址輸入信號和輸入同步信號的結束信號。信號描述如下:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

時鐘信號(clk)、復位信號(res)、UDP準備信號(udprd)、輸入數據信號(isd):、輸入數據同步信號(iss)、輸入數據結束信號(ise)、源IP地址(sipa):、目的IP地址(dipa)、IP準備信號(iprd)、輸出數據信號(osd)、輸出數據同步信號(oss)。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

具體端口設置如圖1:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1.2 功能模塊xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1.2.1 建立連接模塊xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

運輸層和網絡層之間有很多協(xié)議,不同協(xié)議對應不同數據包,如何選擇合適通路選擇特定數據包,這就要求有特定的連接過程完成特定的數據傳輸。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

為了建立UDP協(xié)議數據和IP數據之間的相互通信,在方案中,選擇增添一個建立連接模塊,目的是完成兩個功能。首先是完成UDP協(xié)議下的數據在特定通道內向網絡層的傳輸,其次是產生控制信號,控制下一模塊工作狀態(tài)。在此過程中,主要涉及到兩個信號,其一是udprd信號,是建立連接第一步,這個信號旨在反映UDP數據報已經準備好發(fā)送;其二是iprd信號,建立連接第二步,本信號是為了給運輸層的UDP協(xié)議的反饋信號,如果接到收此信號,UDP數據報就開始發(fā)送了。本信號還有一個功能:當網絡層對數據處理時,此信號會自動變低電平,將不會接收UDP數據報,直到在網絡層的數據處理完畢。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1.2.2 數據接收存儲模塊xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

在此模塊下,可分為數據接收部分和數據的存儲部分。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

首先介紹一下數據的接收部分,當大量的數據報準備進入網絡層時,有些數據是沒有意義的,所以要準確有效的接收來自UDP協(xié)議下的數據報,需要在這一部分完成此功能。在端口的設置,增加了同步接收信號和終止信號,當同步信號有效,數據為有效數據,當終止信號有效,則一個完整的UDP數據包就發(fā)送完成了。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

當大量的UDP數據包進入到IP協(xié)議下準備處理,而處理速度是遠遠小于接收的速度,會導致數據的滯留,甚至數據會丟失。為了解決該問題,增加了一個數據存儲模塊,把數據存儲下來,彌補了處理速度和接收速度的不匹配。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

此模塊還額外的完成了一個功能:計數功能。在加I P數據頭需要每一包UDP數據包字節(jié)的長度信息進行存儲。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1.2.3 IP數據包頭處理及發(fā)送模塊xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

每一份的IP數據包都是有IP數據包頭和對應的UDP數據包組合成的。需要將其對應封裝。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

當IP數據包頭處理完成了,緊接任務就是將其發(fā)送出去。在發(fā)送完IP數據包頭緊跟要發(fā)送其對應的UDP數據包,這就是一個完整的IP數據包。如果輸出同步信號有效,這些處理好的數據將發(fā)送到數據鏈路層供其使用。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2方案綜述xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(1)運輸層和網絡層之間建立連接,保證數據準確無誤差的傳輸到網絡層,產生控制信號,控制數據的接收;產生反饋信號,保證運輸層的UDP數據包適時的傳送過來。(2)讀取UDP數據包并準確的計數,將已讀的數據存入緩存中,產生信號,控制IP頭處理模塊的啟動,然后將必要數據傳遞到IP頭處理模塊。(3)處理數據,將對應的一包UDP數據產生相應的IP數據包頭,形成一個IP數據包。然后將包頭發(fā)送,產生輸出的同步信號,之后產生信號讀取緩存中的數據,通過輸出端口將其發(fā)送出去。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

這就是一個UDP數據包的處理過程,不斷反復以上步驟,UDP數據段就轉變成了IP數據段。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

本方案增加了同步數據的輸出信號,這就可以自由的控制輸入輸出數據,不會導致數據的意外丟失。而這些信號還可以支持數據間斷輸入,給運輸層數據傳輸很大的靈活性;還增加了udp和iprd信號,它們完成這兩個層連接,給數據傳輸提供良好的初始條件。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

參考文獻xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[1]TCP-IP詳解(中文).pdf.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[2]張帆.《基于FPGA的IP協(xié)議處理器》.湖南大學碩士論文.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

udp協(xié)議范文第9篇

關鍵詞:可靠UDP;確認重傳;滑動窗口xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)09-0071-03xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Abstract:In data transmission network, compared with the other protocol, UDP protocol has certain advantages in speed, but there is also the transmission reliability is poor and the problem of lack of congestion control mechanism in this paper, on the basis of the UDP protocol, by adding a simple three-way handshake, confirm the retransmission mechanism, the sliding window mechanism, designed a reliable transport protocol based on UDP, make it between the reliability and efficiency to achieve a good unity and compromise, and implementation of the agreement of the main module has made a detailed description and the actual test.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

Key words: reliable UDP; confirm the retransmission; the sliding windowxTd萬博士范文網-您身邊的范文參考網站Vanbs.com

由于傳統(tǒng)的數據傳輸協(xié)議所針對的業(yè)務不同,在數據傳輸的速度和可靠性之間不能達到很好的平衡。車險理賠系統(tǒng)中采用的是移動理賠的思想,手持終端機通過移動通信網絡和后臺中心系統(tǒng)進行數據交互。目前國內的通信事業(yè)并不是很發(fā)達,信號覆蓋率并不全面,移動通信網絡的帶寬和傳輸質量會受到地域的影響,為確保理賠現場與后臺系統(tǒng)間數據的及時可靠傳輸,需要基于移動通信的網絡環(huán)境設計高效可靠的數據傳輸功能。本章在UDP傳輸協(xié)議基礎上,通過應用層封裝和可靠性設計的方法,采用數據包的確認重傳、流量控制等機制,設計并實現基于UDP協(xié)議的可靠數據傳輸功能。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1 TCP與UDP的對比xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

TCP和UDP都屬于傳輸層協(xié)議,負責承擔數據傳輸的任務[1]。兩者之間的主要區(qū)別有:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(1) TCP和UDP是傳輸層的兩個協(xié)議,它們最大的區(qū)別是是否面向連接。TCP,在客戶端和服務器端進行通信之前,首先要交換傳輸層控制信息,為雙方的通信做好準備。UDP是一個非連接的協(xié)議,傳輸數據之前雙方不建立連接,當傳送數據時,簡單的抓取來自應用程序的數據,并盡可能快的把數據傳送到網絡上。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(2) UDP協(xié)議的數據傳輸不需要維護收發(fā)狀態(tài)和連接狀態(tài)等,與TCP相比,網絡有效利用率得到很大的提高。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(3) TCP協(xié)議提供數據確認重傳、擁塞控制等可靠性保證,UDP協(xié)議不提供可靠性保證,也不提供流量控制。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

TCP協(xié)議由于需要確認的狀態(tài)和對數據包的操作過多,數據傳輸的速度不高且網絡延遲較大,所以雖然協(xié)議可靠但并不適合面向移動通信的數據傳輸;而UDP協(xié)議由于不用建立連接,沒有超時重發(fā)等可靠機制,網絡延遲小且數據傳輸速度很快。本文設計的理賠系統(tǒng)面向移動通信網絡實現理賠現場與后臺系統(tǒng)間的數據傳輸,網絡環(huán)境不如光纖接入網絡穩(wěn)定可靠,對數據的高效可靠傳輸有著很高的要求。因此,本章選用UDP協(xié)議,并在其基礎上,設計了連接確認、數據確認等可靠機制,滿足了系統(tǒng)對于高效可靠傳輸功能的需求。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2基于UDP 改進的可靠傳輸協(xié)議實現xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.1 主要功能模塊及任務結構xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

綜合文獻【2】的可靠機制描述,可靠UDP數據傳輸協(xié)議的模塊結構如圖1所示。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

從模塊結構上看,本模塊主要由以下幾個任務實現模塊功能:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

? 通信處理模塊xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1) 發(fā)送方發(fā)起數據傳輸請求,三次握手成功后,發(fā)送方進入數據包封裝模塊。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2) 超時定時器的啟動和關閉。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3) 當數據傳輸結束時,接收方向發(fā)送方主動發(fā)起傳輸結束的請求。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

? 數據包封裝/解析模塊xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1) 發(fā)送方將要發(fā)送的的數據按照協(xié)商大小分塊,排序。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2) 發(fā)送方將分塊的數據協(xié)商的數據報文結構封裝成要發(fā)送的消息包。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3) 接收方讀取數據包后根據協(xié)商的數據報文結構拆分數據包,根據數據包的類型讀取信息。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

? 消息發(fā)送/接收模塊xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1) 發(fā)送方判斷發(fā)送隊列和消息隊列是否為空后,將要發(fā)送的數據包處理后發(fā)送。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2) 接收方從接收隊列中讀取數據包。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

? 數據重組模塊xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

1) 由于網絡問題,發(fā)送方按序發(fā)送的數據包不一定會按序到達,所以接收方在經過數據包解析模塊讀取數據后,根據該消息的字節(jié)序號判斷是否為亂序的分組。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2) 若是順序的分組,將分組與以前收到的消息按序排列;若是要求重傳的分組,將該分組放入到所應在的位置中。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3) 如果滿足重發(fā)條件,則向發(fā)送方發(fā)送重發(fā)包請求。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.2 核心事件處理流程xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.2.1 通信處理進程xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

通信處理模塊中的通信處理進程主要負責三次握手的發(fā)起和確認的請求,數據傳輸結束后結束連接等任務。具體流程見圖2。首先,通信的接收方發(fā)起握手的請求,即建立一個虛連接,雙方必須確保該連接成功建立后才可以進行下一步數據傳輸的操作。然后,在接收方一端啟動定時器,接收方的數據處理進程接收發(fā)送方發(fā)送的數據,同時接收方根據定時計時器發(fā)送反饋消息;或判斷接收到的報文數,當達到數據包累積計數器設定的數值時,向發(fā)送方發(fā)送反饋消息。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

2.2.2 發(fā)送方發(fā)送報文xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

數據報文的發(fā)送,主要是發(fā)送方向接收方發(fā)送數據報文和消息報文,流程如圖3所示,具體的算法為:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if(發(fā)送隊列非空)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

從隊列中取出消息;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

if (消息類型為數據包)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

發(fā)送數據包;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

else 發(fā)送確認包;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

else if (消息隊列非空)xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

{xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

打包要發(fā)送的數據并將數據放入發(fā)送隊列中;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

套接口處當前序號加1;xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

}xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3 實驗結果與分析xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3.1 開發(fā)環(huán)境xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

系統(tǒng)的編程實現是在Windows XP上進行的,使用的編程工具為Visual C++6.0。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3.2 系統(tǒng)測試xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3.2.1 測試環(huán)境xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

本測試是是在無線通信網絡下進行的,配置了兩臺計算機用作數據間收發(fā)的測試,操作系統(tǒng)為Windows XP。華為E261 3G上網卡兩張,用于連接無線網絡,測試拓撲結構如圖4所示。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

3.2.2 測試內容xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

本測試采用傳輸不同大小文件的方式來對數據速度進行測試,每次傳輸重復測試三次,然后取平均值作為參考數據,測試結果見表1和表2。其中,表1是在最大連接速率7.2Mbps環(huán)境下的測試結果,表2是在連接速率為2.2Mbps環(huán)境下的測試結果。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

由表1可見,在移動通信的網絡連接環(huán)境為7.2Mbps時,當傳輸1MB的數據時,TCP協(xié)議測試耗時9.75s,平均傳輸速度約為105KB/s;可靠UDP耗時8.25s,平均傳輸速度約為124KB/s。當傳輸數據為32MB時,TCP耗時295.89s,平均傳輸速度約為120KB/s;可靠UDP耗時197.05s平均傳輸速度約為168KB/s。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

由表2可見,在移動通信的網絡連接環(huán)境為2.2Mbps時,由于連接環(huán)境較差,測試文件并不大,當傳輸0..36s,平均傳輸速度約為21KB/s;可靠UDP耗時190.81s,平均傳輸速度約為43KB/s。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

由此可得出:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(1) 可靠UDP傳輸協(xié)議的優(yōu)勢隨著傳輸數據量的增大而越來越明顯。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

(2) 可靠UDP傳輸協(xié)議的優(yōu)勢隨著網絡環(huán)境的變差而越來越明顯。xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

參考文獻:xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[1] Douglas er. 用TCP/IP進行網際互聯――原理、協(xié)議與結構(第五版)[M]. 林瑤, 張娟, 王海,等譯. 北京:電子工業(yè)出版社,2009.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[2] 王玨, 何秋燕, 王露凱.基于UDP 改進的可靠傳輸協(xié)議設計[J].電子世界,2014(22).xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[3] 王繼剛, 顧國昌, 徐立峰,等.可靠UDP數據傳輸協(xié)議的研究與設計[J].計算機工程與應用,2006(15):113-116.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

[4] 靳海力.一種增強型可靠UDP的設計及應用[D].合肥:中國科學技術大學,2009.xTd萬博士范文網-您身邊的范文參考網站Vanbs.com

本文鏈接:http://www.9978217.cn/v-141-2653.htmludp協(xié)議范文10篇

聲明:本網頁內容由互聯網博主自發(fā)貢獻,不代表本站觀點,本站不承擔任何法律責任。天上不會到餡餅,請大家謹防詐騙!若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。

相關文章:

初中生個人學習計劃11-16

陽光的勵志語錄55條02-06

律師的年終總結怎么寫01-14

圖書管理員工作總結優(yōu)秀10-05

商場端午節(jié)活動策劃書05-26

介紹清明節(jié)演講稿04-03

讀《金色的腳印》有感01-12

人事文員個人求職簡歷11-24

最新周歲宴邀請函08-21

快樂的秋游初中作文600字12-17

新疆美景作文11-26

五年級暴風雨作文11-26

觀《放牛班的春天》有感10-26

2025上半年陜西中小學教師資格證面試考試時間、科目、流程及大綱(5月17日-18日)05-20

福建船政交通職業(yè)學院電子商務在哪個校區(qū)?10-17

黑龍江省二本分數線(全國二本大學錄取分數線二本最低分數線(多省含文理科))09-05

中班公開課科學教案優(yōu)質課水油06-30

小班數學教案08-17

主站蜘蛛池模板: 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 智慧食堂_食堂管理系统_食堂订餐_食堂消费系统—客易捷 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 不锈钢丸厂家,铝丸,铸钢丸-淄博智源铸造材料有限公司 | 江西自考网| 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 没斑啦-专业的祛斑美白嫩肤知识网站-去斑经验分享 | 一航网络-软件测评官网| 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 神超官网_焊接圆锯片_高速钢锯片_硬质合金锯片_浙江神超锯业制造有限公司 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 选矿设备-新型重选设备-金属矿尾矿重选-青州冠诚重工机械有限公司 | 软文推广发布平台_新闻稿件自助发布_媒体邀约-澜媒宝 | 大米加工设备|大米加工机械|碾米成套设备|大米加工成套设备-河南成立粮油机械有限公司 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 阜阳成人高考_阜阳成考报名时间_安徽省成人高考网 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 中药超微粉碎机(中药细胞级微粉碎)-百科 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 预制直埋蒸汽保温管-直埋管道-聚氨酯发泡保温管厂家 - 唐山市吉祥保温工贸有限公司 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 哈尔滨治「失眠/抑郁/焦虑症/精神心理」专科医院排行榜-京科脑康免费咨询 一对一诊疗 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 桑茶-七彩贝壳桑叶茶 长寿茶| 螺旋丝杆升降机-SWL蜗轮-滚珠丝杆升降机厂家-山东明泰传动机械有限公司 | 2-羟基泽兰内酯-乙酰蒲公英萜醇-甘草查尔酮A-上海纯优生物科技有限公司 | 光伏家 - 太阳能光伏发电_分布式光伏发电_太阳能光伏网 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | PVC快速门-硬质快速门-洁净室快速门品牌厂家-苏州西朗门业 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 |