udp是传输层协议。特点有,端到端,无连接,不提供差错校验但提供面向整个协议(而非只有头部的)校验和。
udp与tcp可在同一个ip上使用相同的端口号
udp的校验和不仅包含自身的头部和数据,还包含一个来源于ip的伪头部(ip头中的源ip和目标ip,和协议号,udp长度)。
udp包含伪头部的校验和违反分层规则,但影响不大
使用udp-lite能关闭对于udp数据部分的校验和,及只对伪头部和头部进行校验和
udp分片的原因是因为,udp协议(ip头+udp头+数据)大于MTU(通常1500)。之所以不能大于MTU是因为,途径路线上的路由
能接收最大的协议大小为MTU。分片的坏处是一旦一个分片丢失,整个udp协议就传送失败了。
通常建议udp数据小于512字节,因为一台主机重新分片时要提供足够的缓存来接收至少576字节的ip数据报,大于它则可能丢包。
网友评论