ISO/OSI七层模型的分层与作用
ISO/OSI的七层模型
第七层:应用层
为用户提供服务,给用户一个操作界面,如window的图形界面,Linux的命令行;
第六层:表示层
数据提供表示:把01二进制转换为图像数字等用户可以看懂的内容,反过来把用户的鼠标点击命令行执行的操作转换成二进制让计算机语言
加密:数据加密
压缩:数据压缩
第五层:会话层
确定是否需要进行网络传输会话,例如打开浏览器访问页面,发送邮件都是需要通过网络传输层的,如果仅仅是编辑本地文件文本,播放本地视频音乐等就不需要走网络传输。
第四层:传输层
1、对报文进行分组(发送时)、组装(接受时)
在进行网络传输的过程中实际上就是数据包的交换拆分组装的过程,应用层的数据发送到传输层的时候,因为数据包最大不能超过65535也就是2的16次方的字节大小,所以在进行传输的时候对数据进行分组拆分。在对端接收的时候又按照一定的顺序给组装回去。
2、提供传输协议的选择:
- TCP(传输控制协议):可靠的,面向连接的传输协议,特性是可靠,准确,但是传输速度慢
- UDP(用户数据协议):不可靠的,面向无连接的传输协议,特性是传输速度快,但是不可靠,可能会丢数据
3、端口封装
4、差错校验:
tcp协议 A给B发送数据包,因为建立了连接,进行差错校验的时候B发现错了,就告诉A重新发送;
udp协议 A给B发送数据包,因为是无连接的,所以B会在发现错误的包之后丢弃;
第三层:网络层
1、IP地址编址
确定数据包的源IP和目的IP
2、路由选择
- 静态路由:优点消耗小,效率高。缺点配置繁琐
- 动态路由:优点简单方便,缺点消耗高
第二层:数据链路层
MAC地址编址
MAC地址寻址
差错校验
第一层:物理层
数据实际传输
电气特性定义
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了