当前位置: 首页 > news >正文

网络原理由浅到深

应用层

序列化:把结构化数据转换成“字符串”或“二进制bit流”。

反序列化:把“字符串”或“二进制bit流”转换成结构化数据。

应用层的重点就是协议,Java标准库提供了很多,但我们平时也需要使用自定义协议。‘

目前最常用的三个自定义协议:

1、xml 

优点:可读性和扩展性提供了。

缺点:冗余量提高了。

2、json

优点:可读性和扩展性提供了。

缺点:冗余量没有xml多(目前的主流自定义协议)。

3、protobuffer

优点:更节省带宽,效率最高。

缺点:可读性差。

传输层

UDP协议

不可连接、不可靠传输、面向数据报、全双工。

UDP报头

UDP报头4个字段,每个字段2个字节

传输层:负责起点和终点,要有源端口和目的端口。

数据报长度:64Kb    端口范围0-65535

检验和:验证数据在传输中是否正确,使用CRC算法验证。

CRC算法是每个都枚举,更为准确的算法有:md5\sha1

md5:1、定长 

           2、分散——字符串hash算法  

           3、不可逆——密码学

TCP协议⭐

有链接,可靠传输,面向字节流,全双工

可靠传输:

1、

用来确保可靠性,核心是:确认应答(ACK)

⭐TCP的确认应答是有确保TCP可靠性的最核心机制

确认应答是有序号的:

2、

超时重传,核心是:看序号

如果主机A在发数据之后,主机B一段时间后没有返回确认应答,那么主机A就会重新发送一样的数据过去。

超时时间也不是固定值,会随着重传的次数增加而增加

累计到一定的重传次数,TCP认为网络或者对端主机出现异常,强制关闭连接。

主机B使用有:优先级阻塞队列,去重处理(依靠序号)

连接管理

三次握手:

三次握手的意义:

1、三次握手,可以针对通信路径,进行投石问路,初步的确认一下通信链路是否畅通。

2、三次握手,也是在验证通信双发,发送能力和接收能力是否正常。

3、三次握手的过程中也会协商一些必要的参数。

(⭐在三次握手的中,序号就已经确认了,通常以数字较大的开头)

相关文章:

  • 打破云墙:多云环境中的DevOps实践指南
  • qt之开发大恒usb3.0相机一
  • MySQL初阶 | 表的增删查改
  • 关于聚簇索引
  • 利用Arcgis自己绘制shp文件
  • 基于MTF的1D-2D-CNN-BiLSTM-Attention时序图像多模态融合的故障分类识别(Matlab完整源码和数据),适合研究学习,附模型研究报告
  • 若干查找算法
  • 【漫话机器学习系列】224.双曲正切激活函数(Hyperbolic Tangent Activation Function)
  • Maven进阶
  • Myweb项目——面试题总结
  • 腾讯云物联网平台
  • ASP.NET Core自动事务ActionFilter
  • 数据预处理之特征选择 (Feature Selection)
  • 深入探究 MySQL 架构:从查询到硬件
  • 100个节点的部署,整合Docker、Kubernetes和Jenkins的详细设计
  • 安全生产知识竞赛宣传口号160句
  • OpenCV --- 图像预处理(七)
  • 科学养生,拥抱健康生活
  • RD电子实验记录本选用贴士A-B-C
  • 探秘卷积神经网络:深度学习的图像识别利器
  • 51岁国家移民管理局移民事务服务中心联络部副主任林艺聪逝世
  • 清华数字政府与治理研究院揭牌:服务数字政府建设需求
  • 钟声:美以芬太尼为借口滥施关税,纯属“内病外治”
  • 生于1987年,万宏宇已任内蒙古鄂温克旗委常委
  • 铜钴巨头洛阳钼业一季度净利润同比大增九成,最新宣布首度进军黄金矿产
  • 拉卡拉一季度净利约1亿降超五成,去年净利3.5亿降逾23%