关于OSI模型:
| 层名称 | 功能 |
|---|---|
| 应用层 | 网络服务于最终用户端的一个接口 |
| 表示层 | 数据的表示、安全、压缩、加密等 |
| 会话层 | 建立、管理终止会话 |
| 传输层 | 定义传输数据的协议端口号,以及流控和差错校验 |
| 网络层 | 进行逻辑地址寻址,实现到达不同网络的路径选择 |
| 数据链路层 | 建立逻辑连接、硬件地址寻址、差错校验等功能 |
| 物理层 | 建立、维护及断开物理连接 |
结合资料和我的理解:
想象在这样一个背景下,有成百上千的村庄,把所有的计算机比作居民,村庄里有许多村民和驿站,村外也分布有驿站。
第一层:物理层
类似于连接村庄的土路、牛车等基础交通工具
功能:
- 负责将比特流(0和1)通过物理介质(如光纤、电缆)等传输
- 对应村庄间的土路和运输工具,决定数据如何“物理移动”
实体:
- 网线/光纤:相当于土路,提供物理传输通道
- 信号:相当于牛车上的货物,是数据的物理载体
第二层:数据链路层
类似于村庄内的驿站,MAC地址相当于门牌号
功能:
- 将比特流组装成帧,通过MAC地址在局域网内精准投递
- 类似驿站根据门牌号把信件送到本村住户
实体:
- MAC地址:每个住户的唯一门牌号,用于标识村内设备(如计算机网卡)
- 交换机:相当于驿站管理员,记录门牌号(MAC地址表),确保信件在村内正确传递
第三层:网络层
类似于村庄外的驿站,IP地址类似于村庄地址
功能:
- 通过IP地址跨村庄(网络)寻址,选择最佳路径(路由)
- 类似于驿站长决定信件送往哪个村
实体:
- IP地址:村庄的全局地址(如“北京村3号”),用于跨网络定位目标
- 路由器:村外驿站,根据IP地址表来决定信件转发方向
第四层:传输层
类似于驿站内的分拣员(TCP/UDP协议)
功能:
- 确保端到端可靠传输(TCP)或快速传输(UDP)
- 类似分拣员送信件到收件人手中确保安全,或直接投递不保证安全
实体:
- 端口号:住户的具体收件人(如张三或李四),标识应用程序
- TCP协议:分拣员要求收件人签收回执,确保信件不会丢失(以防丢包)
- UDP协议:分拣员直接投递,不确认是否收到(可能丢包)
第五层:会话层
类似于驿站内的通信协调员
功能:
- 建立、管理、终止会话(如视频通话的持续连接)
- 类似协调员安排张三和李四持续通信的时间段
第六次:表示层
类似于驿站内的翻译官
功能:
- 数据转换格式(加密、压缩、编码)
- 类似把英文信件翻译成中文信件,或把密文解密为明文
第七层:应用层
类似于写信的村民(应用程序)
功能:
- 提供用户可直接使用的服务(如网页浏览、邮件发送)
- 类似村民写出信件内容(HTTP请求、邮件正文)
实例:北京村村民张三发送消息给上海村村民李四
发送:
- 应用层(用户生成数据):
- 数据单元:原始数据(如HTTP请求、消息内容)
- 设备:用户应用程序
- 过程:
- 张三在电脑上输入“Hello”并点击发送
- 应用层把数据交给传输层
- 传输层(输到端可靠传输)
- 数据单元:段
- 设备:操作系统内核(处理端口号)
- 操作:
- 添加源端口号(如5000)和目标端口号(如HTTP的80)
- 若使用TCP还会添加序列号、校验和等
- 网络层(跨网络寻址)
- 数据单元:包
- 设备:路由器(处理IP地址)
- 操作:
- 添加源IP地址(张三192.168.1.1)和目标IP地址(李四10.1.1.2)
- 若目标IP不在同一子网,数据包会被发给默认网关(路由器)
- 数据链路层(局域网投递)
- 数据单元:帧
- 设备:交换机(处理MAC地址)
- 操作:
- 添加源MAC地址(张三网卡AA:AA:AA:AA:AA:AA)和目标MAC地址
- 目标在同一子网:直接使用李四的MAC地址
- 目标不在同一子网:使用默认网关(路由器)的MAC地址
- 添加帧头(MAC地址)和帧尾(CRC校验)
- 添加源MAC地址(张三网卡AA:AA:AA:AA:AA:AA)和目标MAC地址
- 物理层(信号传输)
- 数据单元:比特流
- 设备:网卡、光纤、网线
- 操作:
- 将帧转换为电信号(以太网)或光信号(光纤)
- 通过物理介质传输到交换机或路由器
接收:
- 物理层(信号接收)
- 设备:网卡、光纤接收器
- 过程:把信号还原成比特流
- 数据链路层(帧校验和MAC匹配)
- 设备:交换机、网卡
- 过程:
- 把比特流组装成帧,检查CRC校验和
- 若目标MAC地址匹配本机MAC,则剥离帧头,将IP交给网络层
- 网络层(匹配IP地址)
- 设备:路由器
- 过程:
- 检查目标IP地址是否为本机IP
- 匹配成功剥离IP头部,将TCP段给传输层
- 传输层(端口分发)
- 设备:操作系统内核
- 过程:根据目标端口号(80)把数据交付给对应的应用程序(如Web服务器)
- 应用层(数据交给用户)
- 设备:应用程序
MAC地址变化 路由器剥离原帧头重新封装
- 北京村内(源子网)
- 源MAC地址:张三的MAC
- 目标MAC地址:北京村路由器(网关)的地址
- 北京村路由器转发
- 新源MAC地址:北京村路由器出接口的MAC
- 新目标MAC地址:上海村路由器的MAC
- 上海村内(目标子网)
- 源MAC地址:上海村路由器的MAC
- 目标MAC地址:李四的MAC
如何理解IP地址对应村庄的地址以及MAC地址对应门牌号?
IP地址的本质是:逻辑上的“村庄地址”
- 分层设计:IP地址是分层的,如192.168.1.0/24,分为网络部分(村庄地址)和主机部分(居民地址)
- 如192.168.1.0/24表示的“北京村”,那么192.168.1.2是该村内的一个居民
- 路由器(村外驿站)只需关心村庄地址也就是网络段
MAC地址的本质:物理上的“门牌号”
- 扁平化设计:MAC地址是唯一的、无层次的(如00:1A:2B:3C:4D:5E),直接标识设备
- 交换机在村内(局域网)通过MAC地址的IP地址的映射(MAC地址表),将数据精准投递给目标设备
现实中的例子:快递包裹
- IP地址:相当于包裹上的“省-市-区”,帮助快递分拣中心决定送往哪个区域
- MAC地址:相当于“街道-门牌号-收件人姓名”,确保快递员在区域内精准投递,所以MAC地址只在局域网内(村内)有效。
物理层与数据链路层的协作
发送端:自上而下
1.数据链路层:
- 将数据数据封装成帧,包含源MAC地址和、目标MAC地址、校验和等
- 类似驿站管理员把信件装入信封,写上发件人、收件人门牌号
2.物理层:
- 将帧的比特流转换为物理信号,通过网线、光纤等介质传输
- 类似把信封装上车然后运出村庄
接收端:自下而上
1.物理层:
- 接收物理信号,将其还原成比特流
- 类似车把信件运到目标村庄的驿站
2.数据链路层:
- 将比特流重新组装成帧,检查校验和(如CRC)确保数据未损坏
- 若目标MAC地址匹配本地设备则接收数据;否则丢弃或转发
- 类似驿站管理员拆开信封,核对门牌号后投递给村民
关键区别
| 特性 | 物理层 | 数据链路层 |
|---|---|---|
| 数据处理单位 | 比特 | 帧 |
| 核心功能 | 物理信号传输 | 帧封装、MAC寻址、错误检测 |
| 依赖硬件 | 网线、光纤、网卡、集线器 | 交换机、网卡 |
| 错误处理 | 无 | 通过校验和检测错误丢弃损坏帧 |
| 寻址方式 | 无 | MAC寻址 |
关键结论:
- MAC地址变化:只在跨网络传输时,路由器的接口MAC会替换原MAC地址
- 分层协作:
- 高层(应用层、传输层)关注数据内容和端到端逻辑
- 低层(网络层、数据链路层、物理层)关注寻址和物理传输
- 设备分工:
- 交换机处理MAC地址(数据链路层)
- 路由器处理IP地址(网络层)
- 网卡和网线处理物理信号(网络层)