UDP协议介绍

传输层的UDP

UDP协议全名:User Datagram Protocol(用户报文协议)
UDP只是一个简单的传输层协议,只能完成传输层基本的职责

UDP工作机制

可以把UDP协议想象成一家快递公司,上面是应用层,下面是网络层
在这里插入图片描述

其中的header可以看做成快递单上的地址,payload是数据内容也就是用户要发的东西,UDP的职责就是将应用层的payload打包,贴上标签,然后再送往网络层,但是UDP只管发,不管是否会到接收方。

UDP的特点

(1)不可靠:UDP会尽努力传送,但不会保证到达接收方手中。
(2)无连接:传送数据之前不需要先建立连接,目标主机的运输层收到之后不用给出确认,不会一直占用服务器。
(3)面向数据报文:不会拆开数据包,不会破坏数据顺序和数据完整性。
(4)首部开销小:只有8个字节。

UDP Header结构

在这里插入图片描述

其中16位UDP长度就是报文长度,16位UDP检验和是用来完成checksum(校验和)的,大志步骤如下:
发送方发送数据的时候:
1.用hash函数处理数据得到checksum_1
2.吧checksum_1填写在UDP的header(首部)中
3.发送
接收方接收数据的时候
1.使用hash函数处理数据得到checksum_2
2.如果checksum_2 == header.checksum_1,则数据大概是源数据,否则数据一定不是源数据

UDP接收缓冲区

缓冲区概念

从应用层到数据链路层中,保存数据的区域都可以称为缓冲区
在这里插入图片描述

UDP接收缓冲区

UDP没有发送缓冲区,只有接收缓冲区,因为到达UDP的数据并不需要马上被应用层读走,类比快递服务中心,你的快递到了,不一定要你马上取快递,但是在UDP这个"快递服务中心"的快递会立马发走。
阻塞:如果应用层去UDP接收缓冲区读取数据,但此时没有数据可读,应用层有没有超时等待机制,就会死等(阻塞).

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值