UDP优化
来源:互联网 发布:c语言简单病毒代码 编辑:程序博客网 时间:2024/05/29 14:00
分组与数据报
分组是TCP/IP模型中第三层传输层的传输单位。分组与数据报的意义近似,但有微小差别。
* 分组(packet),分成两部分,包括控制信息(数据表头)和数据,可以用来指代任何格式的数据块。
* 数据报(datagram),通常用来描述那些通过不可靠服务传输的分组,既不保证送达,也不发送失败通知。
TCP与UDP的区别
- TCP因其面向连接且具有顺序控制、重发控制等机制,适用于需要可靠传输的应用;
- TCP是面向字节流的协议,能够以多个分组形式发送应用程序的消息,对分组中的消息范围没有任何明确的限制。所有的分组都有序号,丢失重发,且按序交付。
- UDP主要用于针对高速传输和实时性有较高要求的通信或广播通信(RIP、DHCP等基于广播的协议依赖于UDP)。
- UDP数据报必须封装在IP分组中,不能分片。
UDP
UDP(User Datagram Protocol,用户数据报协议),面向无连接,随时发送数据。
UDP的无服务在以下4个方面表现:
- 不保证消息交付
不确认,不重传,无超时 - 不保证交付顺序
不设置包序号,不重排,不会发生队首阻塞 - 不跟踪连接状态
不必建立连接或重启状态机 - 不需要拥塞控制
不内置客户端或网络反馈机制
在UDP数据报中的源端口和校验和字段都是可选的。
UDP处理简单高效,被用于:
- 包总量较少的通信(DNS、SNMP等)
- 视频、音频等多媒体通信(即时通信)
- 限定于LAN等特定网络中的应用通信
- 广播通信(广播、多播)
NAT与NAT穿透
TODO
UDP的优化
- 应用程序必须容忍各种因特网路径条件
- 应用程序应该控制传输速度
- 应用程序应该对所有流量进行拥塞控制
- 应用程序应该适用于TCP相近的带宽
- 应用程序应该准备基于丢包的重发计数器
- 应用程序应该不发送大于路径MTU的数据报
- 应用程序应该处理数据报丢失、重复和重排
- 应用程序应该足够稳定支持2分钟以上的交付延迟
- 应用程序应该支持IPV4 UDP校验和,必须支持IPV6校验和
- 应用程序可以在需要时使用
keep-alive
(最小间隔15s)
来源
- 《Web性能权威指南》
- 《图解TCP/IP》
0 0
- udp优化
- UDP优化
- 网络编程-UDP优化
- 临时优化 可靠UDP程序
- 局域网UDP丢包优化
- UDP
- UDP
- udp
- UDP
- UDP
- udp
- UDP
- UDP
- udp
- udp
- UDP
- UDP
- UDP
- 使用MyBatis(九)一对多的集合的嵌套查询
- docker中git和gerrit的使用小结
- 利用python进行数据分析-数据规整化2
- php 构造http头 php模拟http请求 伪装头部信息
- 视频编码:帧编码和场编码
- UDP优化
- 如何让捕鱼游戏打中的鱼变红。
- NFS服务器配置
- 献给初学者:谈谈如何学习Linux操作系统
- jsf学习之a4j组件
- linux中环境变量配置bashrc与profile的区别
- JavaBean
- 欢迎使用CSDN-markdown编辑器
- MPG文件结构理解