论文记录-UDP协议

文|Seraph

本文仅记录本人从各文献中收获的一些关键知识点,并不包含原文全过程
如需更进一步的了解,请按文章名获取原文件进行阅读

一、《UDP 协议中分包与重组方法研究》—陆海
  1. 使用UDP协议的目的:相较于TCP协议,UDP协议传输效率较高;

  2. 为何要分包处理:对于应用层来说,UDP报文的信息长度不超过1K字节(其实是链路层协议导致的),如果需要传输超过1K字节的数据,就要对传输数据进行分布处理。
    :文章理解有部分问题,首先,对于单个大包,UDP提供自动分包组包功能,最大包长65535。但是,如果接收端组包过程,一包丢失,UDP便会丢掉整个大包。
    所以,一般尽量限制自己的包长小于1K;否则,如果自己希望控制分包组包过程,需要自己在客户端和服务端通过协议数据内容来实现UDP分包和重组,这就是本文章的最终目的。

  3. 由于UDP是不保证顺序接收到报文的,所以我们需要在协议数据内容作修改,以保证我们需要的顺序接收包内容。

  4. 需要解决的三个主要问题:
    如何区分每组数据
    如何保证每组数据按正确顺序还原
    如何确认每组数据已经全部接收

改装后,报文格式:
改装后的报文格式

接收重组方法:
①当收到第1 包数据(序号可能不为1) ,保存
数据,启动定时器,并检查数据是否全部收到;
②如果数据未全部收到,继续接收数据;
③如果数据已全部收到,关闭***定时器***,对接收
数据进行重组,并转发给用户;
④如果超时时间到,数据未全部收到,关闭定
时器,丢弃接收数据;
⑤重复步骤①到步骤④。

二、《UDP 协议使用与分析研究》—刘鹏
  1. UDP是分发信息的理想协议,适用于追求效率且不需要额外可靠机制的情形
    例如:
  • 音、视频流媒体分发
  • 高层协议或应用程序提供错误和流控制功能时的快速分发
  1. 知名应用:
  • 网络文件系统(NFS)
  • 简单网络管理协议(SNMP)
  • 域名系统(DNS)
  • 简单文件传输系统(TFTP)
  • 动态主机配置协议(DHCP)
  • 路由信息协议(RIP)
  1. UDP 在发送数据时附带自身的端口号,接收时不需要确认,所以可以方便的进行一对一、一对多和多对多的交互通信。
    这种方式方便但存在缺陷,如果被攻击者知道服务的端口号,控制多台主机向服务器发送大量垃圾信息,可使服务器瘫痪。

  2. UDP 协议由于没有安全控制,采用UDP 协议的系统在提供服务时最好放在防火墙内,由外围系统对它提供安全保证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值