当前位置: 首页 > news >正文

41.传输层协议UDP

        在TCP/IP协议中, 用 "源IP", "源端⼝号", "目的IP", "目的端口号", "协议号(传输层协议的类型:UDP/TCP)" 这样一个五元组来标识一个通信(可以通过netstat -n查看);

UDP内核结构

16位源端口,16位目标端口,16位UDP报文长度,16位UDP检验和。

UDP的报头是固定的8字节,且UDP有16位的长度,因此UDP报文和报文之间都是有明显边界的(OS内部,直接传递结构体对象,因为OS都是C语言写的)

结论:端口号为什么要是16位?因为内核协议是16

结论:udp凭什么叫做用户数据报?应用层交给UDP多长的报文, UDP原样发送, 既不会拆分, 也不会合并;(发送次数:读取次数 = 1:1)

UDP特点(寄信)

  • 无连接: 知道对端的IP和端口号就直接进行传输, 不需要建立连接;
  • 不可靠: 没有确认机制, 没有重传机制; 如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返回任何错误信息;
  • 面向数据报: 不能够灵活的控制读写数据的次数和数量;

UDP缓冲区

        UDP没有真正意义上的发送缓冲区(没有必要,发送缓冲区是为了保证可靠性才留的,UDP不需要保证可靠性)

        UDP具有接收缓冲区:但这个接收缓冲区不能保证收到的UDP报的顺序和发送的UDP报顺序一致(虽然发送有先后,但是发送给目标主机在网络中的路径不一定是一样的,到达不一定按发送先后顺序到,TCP可以根据序号保证,UDP保证不了)。

        UDP的sokcket既能读,也能写(全双工)

UDP使用注意事项

        我们注意到, UDP协议首部中有一个16位的最大长度. 也就是说⼀个UDP能传输的数据最大长度是 64KB(包含UDP首部).
        然而64KB在当今的互联网环境下, 是一个非常小的数字.
        如果我们需要传输的数据超过64K, 就需要在应用层手动地分包, 多次发送, 并在接收端手动拼装;
基于UDP的应用层协议
NFS: 网络文件系统
TFTP: 简单文件传输协议
DHCP: 动态主机配置协议
BOOTP: 启动协议(用于无盘设备启动)
DNS: 域名解析协议

http://www.dtcms.com/a/403965.html

相关文章:

  • 优良的定制网站建设提供商c2c模式的网站
  • 记力扣2516.每种字符至少取k个 练习理解
  • 广州站电话科创纵横 网站建设
  • 进程与集群:提升性能
  • 北京建设信源官方网站如何让wordpress文本小工具支持php和简码?
  • NLP算法岗位面试题精讲:深入理解LoRA与QLoRA
  • 基于神经控制微分方程的采集无关深度学习用于定量MRI参数估计|文献速递-文献分享
  • 无锡嘉饰茂建设网站的公司天河区网站制作
  • 应用程序映像(Application Image)是什么?
  • 访问的网站显示建设中wordpress tag伪静态
  • 单调速率调度(RMS)算法
  • 百度智能云一念·智能创作平台
  • 做网站订阅号丰台建设企业网站
  • shell编程:sed - 流编辑器(2)
  • 在Grafana中配置MySQL数据源并创建查询面板
  • 做的比较好的二手交易网站有哪些小学学校网站建设计划书
  • OneSignal v2 PHP手搓请求消息推送-供参考
  • 中国建站公司wordpress主题 下单
  • Qt DPI相关逻辑
  • 约束优化问题的常用解决办法及优缺点、轨迹规划中应用
  • 电子元器件基础知识day1
  • 【C++游记】C++11特性
  • 光子、光量子、量子三者的关系
  • 网站更改目录做301承德信息网络有限公司
  • Pytorch中stack()方法的总结及理解
  • 网站建设需要那种技术开一个网站多少钱
  • 在windows系统如何使用docker将nginx容器化部署
  • 【异世界历险之数据结构世界(二叉搜索树)】
  • 宁夏建设银行网站好的兼职做调查网站
  • SQLMap数据库枚举靶机(打靶记录)