UDP协议网络课程设计.docx

上传人:b****5 文档编号:3434786 上传时间:2022-11-23 格式:DOCX 页数:10 大小:186.75KB
下载 相关 举报
UDP协议网络课程设计.docx_第1页
第1页 / 共10页
UDP协议网络课程设计.docx_第2页
第2页 / 共10页
UDP协议网络课程设计.docx_第3页
第3页 / 共10页
UDP协议网络课程设计.docx_第4页
第4页 / 共10页
UDP协议网络课程设计.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

UDP协议网络课程设计.docx

《UDP协议网络课程设计.docx》由会员分享,可在线阅读,更多相关《UDP协议网络课程设计.docx(10页珍藏版)》请在冰豆网上搜索。

UDP协议网络课程设计.docx

UDP协议网络课程设计

目录

一 设计任务.........................................2

二 UDP的理论分析..................................2

(一) 用户数据报协议UDP..........................2

1.概念.........................................................2

2.协议结构.....................................................3

3.UDP数据包的封装............................................3

4.标准UDP端口................................................4

(二) 传输控制协议TCP简介........................5

(三)TCP与UDP的比较表.............................6

三UDP的抓包分析.................................7

(一)实验环境..................................7

(二)实验过程.....................................7

四 实验总结.......................................10

 

一 设计任务

在建立的视屏传输的情况下,用wireshark软件对该传输下的UDP协议数据包进行抓取,并作出相应的分析和适当的验证。

二 UDP的理论分析

视频传输,尤其是即时的视频传输需要的是传输帧的速度,这样才能实现视频的通信。

对于TCP协议来说,因为是可靠传输,这大大限制其传输速率,而且TCP是不丢包的,如果视频数据量大于网络速度,那会在发送端越聚越多最后造成系统崩溃。

视频传送使用UDP的话即使丢一两个帧也是无关紧要的,而这恰恰是即时视频通信所允许的,所以在视频传输中首选UDP协议。

以下是UDP的相关信息,以及对UDP协议的理解,简介TCP,并与UDP进行对比,加深对UDP协议的理解。

本实验主要研究其传输特性。

(一) 用户数据报协议UDP

1.概念

用户数据报协议UDP(UserDataProtocol)是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

UDP协议基本上是IP协议与上层协议的接口。

UDP协议适用端口分别运行在同一台设备上的多个应用程序。

它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。

UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。

比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包到达的消息及时反馈回来,那么网络就是通的。

例如,在默认状态下,一次“ping”操作发送4个数据包。

大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。

这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。

正因为UDP协议没有连接的过程,所以它的通信效率高;但也正因为如此,它的可靠性不如TCP协议高。

   

UDP与TCP位于同一层,但对于数据包的顺序错误或重发。

因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务。

  

2.协议结构

UDP数据包的格式很简单,如图1所示,源端口和目标端口字段指定了两个16长的端口号,其中源端口字段是可选的。

如果指定了该字段的值,它就表示相应的数据包应发往的端口号。

如果不使用,应将其设为0。

长度字段表示整个UDP数据包的8位字数,包含UDP头部和数据部分。

因此,该字段的值最小为8。

图1UDP数据包的格式

UDP校验和字段是用来保证UDP数据包的完整性的。

但该字段是可选的,即UDP协议可以计算校验和,也可以不计算,没计算校验和的UDP数据包应该将校验和字段设为0因为UDP协议的设计者考虑到在有的可靠性很高的网络中,传输的数据几乎不会出错,这样就可以通过不计算UDP数据包的校验和来减少主机的计算工作量。

3.UDP数据包的封装

UDP协议位于IP协议之上。

这就说明UDP数据包是封装在IP数据包中进行传输的如图2,即整个UDP数据包是作为IP数据包的数据部分被封装在IP数据包中的。

封装关系如图3所示。

应用程序

UDP

IP

网络层

图2UDP协议的层次图

UDP头部

UDP数据区

IP报头

IP报文数据区

帧头

帧数据区

图3UDP数据包封装关系

IP数据包的头部有一个协议字段,该字段表明IP数据包封装的是上层哪一种协议的数据包。

对于UDP数据包,该字段的值为17。

下面解释一个使用UDP协议的应用程序时如何将数据传输到目的主机A的特定应用程序的。

首先接受数据的应用程序要申请一个UDP端口号,设为P。

发送方的应用程序准备数据后,将其交给UDP协议,让其将数据发送给主机A的端口P。

UDP协议将应用程序的数据作为UDP数据包的数据部分封装在一个UDP数据包中,并将数据包的目标端口字段设置为P。

UDP协议再将包交给IP协议处理,让其将该数据包发送到主机A。

IP协议将UDP数据包作为IP数据包的的数据封装在一个IP数据包中,并将目的地址设置为A,将协议字段设置为17,然后将其交给网络层处理并发送出去,该IP数据包可能会经过数个路由器,并最终到达主机A的IP协议层。

主机A的IP协议发现字段为17,就将IP数据包的数据区交给UDP协议处理。

UDP协议发现端口号为P,就将UDP数据包的数据区放置在端口P的队列中。

A的应用程序从该队列中将数据取出进行处理。

4.标准UDP端口

UDP数据包的格式中,虽然源端口字段是可选的,但目标端口号是必须指定的。

当发送方发送UDP数据包时制定源端口字段,应用会接收该发往端口的数据包。

这样该数据包的接受者如果想发送响应数据包给该主机就可以将目标端口设置为该数据包的源端口了。

表1是一些常用的标准UDP端口及使用该端口的应用程序应提供的服务。

表1标准UDP端口

端口号

描述

0

保留

7

回显

9

丢弃

11

活动用户

13

日期时间

15

netstat

端口号

描述

17

qotd

19

字符产生服务

37

时间

42

主机名服务器

43

whois

53

域名服务器

67

Bootstrap协议服务器

68

Bootstrap协议客户端

69

TFTP

123

网络时间协议

161

snmp

162

snmp-trao

应用程序申请UDP端口号可以采用两种方式。

第一种就是指定需要分配哪个端口:

第二种方法不指定需要的端口,操作系统可以随意分配一个可用的端口号给该应用程序。

通常,如果应用程序需要接受其他主机的应用程序发出的第一个数据包,它就需要采用第一种方式申请一个固定的端口号,且这个端口号必须是其他主机的应用程序知道的。

否则应用程序可以采用第二种方法申请端口号,并在发车出的第一个数据包中指定源端口号。

(二) 传输控制协议TCP简介

要真正的对用户数据报协议UDP进行了解,就应该对TCP有更多的认识。

下面简单的介绍一下TCP的知识

传输控制协议TCP(TransmissionControl Protocol)是基于连接的协议,所谓“面向连接”就是在正式通信前必须要与对方建立起连接。

比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。

也就是说,在正式收发数据前,必须和对方建立可靠的连接。

TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。

TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。

应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

TCP协议数据段的格式

TCP报文格式

头部长字段的值是32位计的TCP段头部的长度。

因为TCP头部有一个选项字段是可以选用的,所以需要这个字段来区分TCP头部和数据区。

(三)TCP与UDP的比较表

比较项目

TCP

UDP

建立的连接与关闭

数据传输效率

对数据的确认

流量控制

有(滑动窗口)

丢失分阻的重发

无(由高层应用程序负责)

协议复杂性

复杂

简单

发送端缓冲

分组排序

对重复分组的检测

校验和

有(且算发相同)

在低层被分片的情况

可能性小(因为在连接建立时,双方通知各自的MSS,每个TCP报文段的长度不超过MSS)

可能性大(因为应用程序每次输出都产生一个UDP报文,当一次有大量数据要输出时,常在低层被分片)

广播与多播

不支持(因为要建立一对一连接)

支持

适合场合

可靠性要求高,有大量数据要连续传输,该协议在互联网中应用较多

对可靠性要求一般,但要求高效传输数据,或应用于数据传输量小的场合

三UDP的抓包分析

(一)实验环境

在wireshark软件条件下,利用腾讯QQ聊天软件的视频会话功能,其他的与互联网相关的程序全部关闭。

本地PC(IP:

192.168.1.100)无摄像功能,与其会话的PC有摄像功能,

(三)实验过程

1.启动QQ软件,打开视频会话,启动wireshark软件。

并按要求进行抓包操作。

抓包情况如下:

在视频传输时一次传输较小的数据包,但是其速度很快。

这就保证视频通信的正常进行。

2.数据包分析

A.基本信息

从中可以看出哟写基本信息,二主要关注

以确保实验条件在s使用UDP协议。

B.两个数据包的对比。

1

2

从上面两个数据包可以看出UDP数据包长度不一:

可以看出第二台PC没有摄像头,从这传输的UDP明显较少。

可以知道UDP传输时没有Checksum,也就是没有校验,这就说明UDP提供的是一种不可靠的、无连接的协议服务,它提供UDP协议服务端口,可以保证应用程序进程间的通信,但是接收方不向发送方进行通信确认。

因此,UDP服务的错误检测功能很弱,但有助于提高通信传输的速率,而UDP协议服务软件适用于无须应答、要求时效,并且通常一次只传送少量数据的网络应用使用。

四 实验总结

通过实验,初步了解wireshark软件的一些基本操作及应用。

对UDP进一步的熟悉。

同时也收获不少。

明白视频传输用的是UDP传输协议。

其采用的是无连接传输策略,在正式通信前不与对方建立连接,直接向接受方发送数据,是一种不可靠的通信协议。

但正式由于UDP协议不关心网络数据传输的一系列状态,使其在数据传输过程中节省大量的网络状态的确认和数据确认的系统资源消耗,大大提高了UDP传输协议的传输效率。

但是UDP还是有不少缺陷,它不能处理好传输中的延迟和抖动现象,即突发的一些视频传送。

由于UDP的传输特性,对一些比较重要的网络状态不能做出反馈。

总的来说UDP协议对视频传输来说,在目前情况下,是比较适用。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1