计算机网络(八)——UDP和TCP

UDP是一种无连接的运输层协议,不提供可靠数据传输、拥塞控制和流量控制。其优点在于无需连接建立,减少了延迟,适用于实时应用和高并发场景。缺点是可能导致数据丢失和拥塞,但可以通过应用层机制来弥补。常见的UDP应用包括DNS、VoIP等,其报文段包含8字节首部和数据字段,检验和提供差错检验服务。
摘要由CSDN通过智能技术生成

1. 无连接运输:UDP

1.1 概述

UDP是一种不提供不必要服务的最简化运输层协议。
(1)功能

  • 多路复用和多路分解
  • 差错检验

(2)执行过程

  1. UDP从应用进程得到数据块,并附加上首部字段形成报文段,然后传递给网络层。
  2. 报文段到达接收主机后,根据目的端口将报文段通过套接字定向分解到正确的进程。

特点: 无连接,在发送报文段之前,发送方和接收方之间没有握手。

(3)特点

  • 无连接。
  • 无可靠数据传输。
  • 无拥塞控制机制。
  • 无流量控制。

1.2 流行的因特网应用及其运输层协议

UDP不提供可靠数据传输服务,可能导致分组丢失。那为什么很多应用还会使用UDP协议呢?

问题:UDP的优缺点

(1)优点

  • 无须连接建立,从而不会引入建立连接的时延。
  • 无需维护连接状态,从而一般能支持更多活跃客户。
    ①连接状态包括:接收和发送缓存、拥塞控制参数和序号与确认号的参数。
  • 分组首部开销小,每个TCP报文都有20个字节的首部开销,而UDP报文只有8个字节的开销。
  • 应用层控制更加精细:应用进程将数据传递给UDP,UDP立即将数据封装成报文段并发送给网络层。
    ①因为TCP有拥塞控制机制,当链路拥塞时,为了保证每个报文段都能无差错的到达目的主机,TCP可能会反复传递某个报文段,而导致T报文段传播延时过长。

(2)缺点
因为UDP不提供可靠数据传输、拥塞控制机制,所以可能导致大量的分组溢出。

  • 可能导致UDP发送方和接收方之间的高丢包率。并挤垮TCP会话。

为了弥补UDP没有提供可靠数据传输服务的问题,可以在应用层的应用程序本身建立可靠数据传输机制。

(3)流行应用的运输层协议
在这里插入图片描述
UDP不提供可靠数据传输服务,因此一些无法容忍分组丢失的应用,只能采用TCP协议。因为UDP不提供拥塞控制机制,因此对于能够容忍少量分组丢失,并对实时性要求较高或者在高拥塞环境下运行的应用,则可以选择UDP服务。

1.3 UDP报文段结构

UDP报文段是由8个字节的首部字段和由应用层数据占用的数据字段两部分组成。
在这里插入图片描述
(1)首部字段

  • 源端口号
    作为接收方发送给发送方的报文段的地址的一部分。
  • 目的端口号
    用于执行多路分解功能。
  • 长度
    指示了UDP报文段中的字节数。
  • 检验和
    UDP检验和提供了差错检验服务。

1.3.1 UDP检验和

UDP检验和提供了差错检验服务。但没有提供差错恢复功能。对于有差错的数据,UDP可以采取一下两种方式处理:

  • 丢失受损报文段。
  • 将受损报文段发送给应用程序并给出警告。

(1)差错检验步骤

  • Step1: 发送方的UDP对报文段的所有16比特字进行求和并取反获得检验和。求和过程中的溢出都被回卷。
  • Step2: 接收方对所有16比特字包括检验和求和,若结果中所有比特全为1则没有差错。

Step1:对所有16比特字求和并取反在这里插入图片描述
取反后的结果为:1011 0101 0011 1101

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冠long馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值