【计网】3.2 运输层——UDP:无连接服务

UDP作为无连接的运输层协议,提供简单高效的数据传输服务。它不维护连接状态,允许应用程序精确控制发送数据的时间和内容,常用于DNS和实时应用如流媒体。UDP报文段结构简洁,首部开销小,但不保证数据可靠性,只提供差错检测。然而,无拥塞控制可能导致网络拥塞,不适合高比特率视频流。
摘要由CSDN通过智能技术生成

在这里插入图片描述
本文基于《计算机网络——自顶向下方法》一书

无连接运输:UDP

UDP只是做了运输协议能够做的最少工作。除了复用/分解功能海燕少量的差错检测之外,它几乎没有对IP增加别的东西。事实上,如果程序员选择UDP,则该应用程序差不多就是直接与IP打交道。使用UDP发送报文段之前,发送方和接收方的运输层实体之间并没有握手。正因如此,UDP是无连接的。

UDP的优点有以下几点:

  • 关于发送什么数据以及何时发送的应用层控制更为精细。TCP为了保证其报文送达,会一直发送数据报知道目的主机收到并且加以确认,不管可靠交付需要用多长时间。而UDP只会把数据报发送出去之后就不管了。因为实时应用(比如直播、网络电话等)对最小发送速率有要求,而且不希望过分的延迟报文段传送,并且可以容忍一些数据丢失,因此这些应用可以使用UDP构建
  • 无需建立连接。TCP在开始传输数据之前需要经过三次握手,但是UDP可以不进行任何准备就开始传输数据,因此UDP没有建立连接的时延。这也是DNS建立在UDP智商的主要原因。
  • 无连接状态。TCP需要维护连接状态,包括接收和发送缓存,拥塞控制参数以及序号和确认好的参数。而UDP不维护连接状态,也不需要这些参数。因此,某些专门用于某种特定应用的服务器在使用UDP时会能支持更多的活跃用户。
  • 分组首部开销小 每个TCP报文段都有20自洁的首部开销,而UDP仅有8字节的开销。

因此,电子邮件、远程终端访、Web等运行在了TCP上,而DNS运行在UDP上。但是对于视频流媒体是否使用UDP仍然有争议,因为如果每个人都启用流式高比特率视频而不使用任何拥塞控制,则会使得路由器的缓存被快速耗尽,导致路由有大量的分组溢出。以至于只有非常少的UDP分组能够成功通过源传输到目的地。

3.3.1 UDP报文段结构

在这里插入图片描述

UDP首部只有四个字段,每个字段有两个字节组成。长度字段知识了UDP报文段中的字节数(首部加数据)。接收方使用校验和来检查报文是否出了差错。

3.3.2 UDP校验和

UDP校验和提供了差错检测的功能,就是说校验和用于确定当UDP报文段从源到达目的地移动时,其中的比特是否发生了改变。

假定我们有如下三个16bit的字:

一、0110011001100000 二、0101010101010101 三、1000111100001100

一和二和三相加为0100101011000010

则将这个和作反码运算得1011010100111101,这个就是UDP的的校验和。如果该分组中没有在传输中出现差错,则在接收方处将报文中的所有字相加,并且和校验和相加,得出的结果为1111111111111111。如果得出的结果出现了0,则证明传输出现了差错。但是虽然UDP提供了差错检测,但是它对恢复差错无能为力,它只能丢弃受损的报文段或者将受损的报文段交给应用程序并给出警告。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值