美文网首页
UDP 协议

UDP 协议

作者: 046ef6b0df68 | 来源:发表于2018-02-02 11:49 被阅读82次

文|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 协议的系统在提供服务时最好放在防火墙内,由外围系统对它提供安全保证。

相关文章

  • 计算机网络02 - 传输层

    目录 TCP协议和UDP协议TCP首部TCP连接管理UDP首部 1. TCP协议和UDP协议 TCP协议:面向连接...

  • Linux下Socket编程(六)——udp

    简介 udp协议 udp通信流程 示例 udp协议 中文叫用户数据报协议,属于传输层。UDP是面向非连接的协议,它...

  • UDP协议详解

    相比于TCP协议(传输控制协议)来说,UDP协议(用户数据报协议)要简单很多。 UDP协议的首部格式 UDP协议的...

  • TCP和UDP的区别

    TCP和UDP的区别: TCP协议和UDP协议特性区别总结: TCP协议可靠;UDP协议不可靠 TCP协议是面向连...

  • 网络编程---获取ip地址 使用UDP协议发送与接收数据

    获取ip地址 UDP协议发送端 UDP协议接收端

  • 【Java】【网络编程】UDP协议

    UDP协议 概述:UDP协议是面向无连接协议,数据不安全。 DatagramSocket

  • iOS 网络相关面试题

    问题:TCP、UDP TCP/UDP 传输层协议 ||—— UDP:用户数据报协议 TCP与UDP的区别: 问题...

  • TCP和UDP

    TCP协议为TCP/IP协议;UDP为UDP/IP协议。TCP和UDP都是对应网络七层协议上的传输层。IP属于网络...

  • 第九篇 异常处理和并发编程1

    一、异常处理 二、基于udp协议的套接字通讯 三、udp协议不会粘包 Tcp和udp的区别Tcp协议是可靠的协议。...

  • UDP协议

    UDP协议在IP协议上增加了复用、分用和差错检测功能。UDP的特点: UDP报文格式 UDP协议分为首部字段和数据...

网友评论

      本文标题:UDP 协议

      本文链接:https://www.haomeiwen.com/subject/sliszxtx.html