传输层UDP协议

无连接、不可靠、面向数据报

   面向数据包:应用层使用UDP协议的时候,不管是从UDP发送缓冲区中拷贝数据,还是应用层将数据拷贝到UDP接收缓冲区,

都是整条数据拷贝,不存在两条数据并存在缓冲区当中。

UDP头部

UDP报头:

       源端口(2字节)+目的端口(2字节)+ 数据长度(最大表示65536)+校验和

       当应用层数据大于2^16时,应该在应用层进行分片传输。分多次使用UDP协议进行传输。对于接收端UDP来说从协议栈当中接收的UDP数据对于应用层可能不是完整的,所以数据收发双方需要在应用层定制自定制协议,标识应用层数据长度是否和数据完整。

校验和:

    1.作用:校验UDP数据在传输过程是否有损坏

          如果有损坏。则不会提交给应用层,而直接丢弃

          如果没有损坏,应用层调用recvfrom的时候,将数据提交给应用层

    2.使用:

          2.1除了16位校验和外,将UDP报头相加,如果加到17位那么回卷

          2.2将和取反放进校验和中

          2.3接收到UDP,将所有的比特位相加位11111111 11111111则数据没有损坏

UDP缓冲区

  1.对于应用层的数据是整条发送和接收的

  2.对于发送,应用层使用sendto接口将数据提交给传输层当中的UDP的发送缓冲区,在发送缓冲区当中,打上UDP包头之后,就直接提交给网络层进行下一步传输

  3.对于接收,应用层使用recvfrom接口将数据从接收缓冲区拷贝到应用层,UDP结束缓冲区是不保证数据有序到达,也不保证可靠,当接收缓冲区满的时候,从网卡当中接收的UDP数据也就直接丢弃了



UDP应用 

    DHCP动态主机协议通过udp广播来获取ip地址的

     目的ip地址255.255.255.255

   DNS:域名解析协议

     将域名转换为ip地址的时候,使用udp协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值