网络原理 --- 传输层Ⅰ UDP协议

本文介绍了UDP协议在TCP/IP协议族中的作用,重点讲解了UDP的特性:无连接、不可靠传输和面向数据报。提到了UDP报头的简单结构,端口号范围及拆包问题。还讨论了UDP的校验和如何确保数据传输的正确性,并通过一个实际场景说明了在大数据量传输时TCP的优势。最后,总结了UDP协议的关键点。
摘要由CSDN通过智能技术生成


网络原理

介绍TCP/IP协议中每一层里面的核心内容~

  • 应用层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层

传输层

传输层主要负责端到端之间的传输,重点关注的是起点和终点

核心的协议有两个:

  • UDP: 无连接 ,不可靠传输,面向数据报,全双工
  • TCP : 有连接,可靠传输,面向字节流,全双工

UDP 协议

UDP协议:

所谓的学习协议,很大工作就是在理解协议的报文格式~~

UDP报头格式非常简单,里面只有4个字段~

为什么能使用的端口是 0-65535 ?
在传输层协议中,表示端口号,长度就是 2 个 字节~
在这里插入图片描述

但是64kb太小了,如果需要使用UDP传输一个比较大的数据,就需要考虑进行拆包!!

💙拆包:

把一个大的数据报,拆成多个小的~

🌰举个例子:
随着业务的发展,网页上的广告越来越多,广告的样式也越来越复杂,这就导致,商搜服务器和入口服务器之间传输的数据量越来越大~ 直到单个数据报长度已经接近64kb了~
但是在应用层代码这里,针对广告数据拆包,拆成多个UDP数据报,分别传输,开发起来会比较复杂,测试起来也比较复杂,风险较高~

真正的解决问题方案:

直接使用 TCP !
TCP 是字节流的,没有对包的长度做出限制~

在这里插入图片描述

🎠校验和: 检查数据是否出错了~

网络传输过程中,受到一些干扰,是容易导致传输的数据出错的~

毕竟光信号和电信号,在一些特殊环境中可能受到影响~
比如 强电场,强磁场等
因此就需要保证接收方收到数据之后,能知道这个数据是否正确

校验和 :

UDP的校验和使用一个比较常见的 CRC算法(循环冗余校验)
UDP报文中的每个字节,都进行累加,加和也放到一个两个字节 的数字中
加的过程中如果溢出了,不需要处理~~
最终得到的结果,就是校验和

发送方发送的时候,就先计算一个校验和~

接收方接收的时候按照同样的规则,再算一遍校验和,检查自己算的校验和和发送方算的校验和是不是一样,如果是,说明数据没问题,如果不是,说明数据出错了

校验和例子:

飞雪连天射白鹿,笑书神侠倚碧鸳

总结

在这里插入图片描述

你可以叫我哒哒呀
本篇到此结束
“莫愁千里路,自有到来风。”
我们顶峰相见!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值