传输层—UDP协议

  • UDP协议端格式
            
            (1) 源端口号与目的端口号:都是16位,指数据从的进程来源与进程去向。
            (2)16位UDP长度:指整个数据报(UDP首部+UDP数据)的长度,UDP首部固定为8字节,UDP数据最大为65535-8=65527字节。
            (3)16位UDP校验和:检验整个数据报、UDP首部等在数据传输中是否出错,UDP的校验和可选的。

  • UDP特点
            (1)UDP协议是一种无连接的传输层协议:因为有源端口号与目的端口号,所以UDP协议在通信时不需要建立连接,减少协议开销,使得通信变得简单快速。
            (2)UDP协议是一种不可靠的传输层协议:UDP协议出了有检验和保证数据的可靠传输外,没有别的措施保证数据的可靠传输。它没有确认应答、超时重传机 制,所以即使检测到出错,也无法将错误反馈给应用层,从而不保证数据的去重或有序到达。
            (3)UDP协议是面向数据报的传输层协议:应用层数据添加了UDP协议首部之后直接传给IP层,UDP对应用层数据既不拆分也不合并,直接保留原报文的长 度与格式,所以对应用层数据的长度应传输合适,太长易导致在IP层分片,造成协议开销大以及延时。且对数据的读写次数与数量不能灵活控制。UDP 协议整包发,整包收,不存在接收一半的行为。

  • UDP的缓冲区
            (1)UDP不存在真正的缓冲区,它将调用sendto直接将数据传给内核,内核将数据传给网络层的协议进行后续传输。
            (2)UDP有接收缓冲区,但是它不保证接收到的数据顺序与发送的数据顺序保持一致,且接收缓冲区一旦满了,再来数据则不再接收。

  • UDP的socket
     UDP的socket既能读,也能写,也能同时进行读和写(全双工)。以下为简单的UDP网络程序:
   UDP服务器:
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值