概述
OSI七层模型对照表
| 层号 | 层名称 | 用途 | 典型协议 | 数据单位 | 典型设备 |
|---|---|---|---|---|---|
| 7 | 应用层 | 为应用程序提供网络服务,定义应用程序请求的网络服务类型,规定收发消息的数据格式 | HTTP、FTP、DNS、SMTP、DHCP | 数据(Data) | 网关(应用网关,如代理服务器、邮件网关) |
| 6 | 表示层 | 处理数据的表示方式,完成数据格式转换、加密解密、压缩解压,让不同计算机可以互通 | SSL/TLS、JPEG、MPEG、ASCII | 数据(Data) | 应用网关(部分集成在软件,硬件极少) |
| 5 | 会话层 | 建立、维持、断开通信会话,管理会话的启动与停止 | RPC、SDP | 数据(Data) | 应用网关(大多软件实现,几乎无独立硬件) |
| 4 | 传输层 | 端口到端口通信;端到端数据传输;分段/重组;差错、流量、拥塞控制;分为面向连接和无连接服务 | TCP、UDP、TP0~TP4 | 数据段(Segment) | 四层交换机 |
| 3 | 网络层 | 网络层以分组为数据单元,使用 IP 地址寻址,完成路由选择与分组转发,实现不同网络之间的数据传送。 | IP、NSAP、RIP、OSPF、BGP | 分组(Packet,包) | 路由器、三层交换机 |
| 2 | 数据链路层 | 数据链路层负责将物理层收到的比特流封装成帧,在相邻节点(主机 ↔ 交换机)之间传输帧;进行差错检测、流量控制、介质访问控制。 | 以太网、PPP、ARP | 数据帧(Frame) | 交换机、网卡、网桥 |
| 1 | 物理层 | 负责在物理传输介质上传输比特流、定义物理接口特性,不关心比特代表什么含义,只管把高低电平送过去。 | 双绞线、光纤、RJ45、曼彻斯特编码 | 比特(bit) | 中继器、集线器HUB、网线、光纤、RJ45接头 |
OSI七层,微信发送图片完整流程(发送方:电脑微信 → 接收方:对方手机微信)
从上往下:应用层→表示层→会话层→传输层→网络层→数据链路层→物理层。发送端逐层封装;接收端从下往上逐层解封装。
第1层(发送端)应用层
你点微信选中照片,点击发送。 应用层(微信)产生要发送的数据(图片原始数据)。应用层生成应用报文,发起发送请求。
第2层 表示层
拿到图片数据。做格式处理:压缩图片,编码。不改变图片含义,只管数据格式。输出处理完成的数据,交给会话层。
第3层 会话层
负责建立双方会话连接。协商通信参数,确认可以收发。会话搭建完毕,把数据向下递给传输层。
第4层 传输层
1.给数据分段; 2.加上端口号。本机微信端口、对方微信端口。标记这是微信程序的数据(进程‑进程); 3.TCP打上头部,保证可靠传输。封装完成之后向下交给网络层。
第5层 网络层
加上IP头部:本机IP、对方手机IP。 IP地址用来找到目标主机。选择路由,决定走哪条网络路径,数据包交给数据链路层。
第6层 数据链路层
加上MAC帧头部(本机网卡MAC,下一跳设备MAC地址)。把数据包封装成帧。做CRC差错校验。帧向下交给物理层。
第7层 物理层
把帧里面全部信息,转换成0、1比特信号,通过网线/Wi‑Fi电磁波发出,在物理介质传输出去。
信号经过网络线路,抵达接收方手机。接收端
自下向上解析(解封装)
- 物理层:把电磁波/电信号变回一串0、1比特流,上交数据链路层。
- 数据链路层:组装比特流还原成帧。核对CRC校验。剥掉MAC头部。剩下内容上交网络层。
- 网络层:剥掉IP头部。读到IP确认是本机数据。剩余内容上交传输层。
- 传输层:剥掉TCP头部。读取端口号,知道这个数据属于微信软件。分段重新拼接完整,上交会话层。
- 会话层:检查会话是否正常。将数据向上交给表示层。
- 表示层:解码、解压缩图片。还原图片原始二进制。交给应用层。
- 应用层:微信收到图片数据,屏幕上显示这张照片。
简单总结记忆
发送:应‑表‑会‑传‑网‑链‑物,一层层加头部封装 接收:物‑链‑网‑传‑会‑表‑应,一层层剥头部解封装
二、每层功能极简口诀
-
应用层:用户接口,所有协议
(离用户最近,管软件业务) -
表示层:翻译加密,格式转换
(编码、加密、解密、压缩) -
会话层:建立断开,管理会话
(建连接、保连接、断连接) -
传输层:端口分段,可靠传输
(进程对进程、TCP/UDP、控质量) -
网络层:IP寻址,路由选路
(跨网传输、找电脑、路由器) -
链路层:MAC成帧,检错纠错
(局域网传输、交换机、封装帧) -
物理层:比特传输,信号放大
(01数据流、网线、集线器、中继器)
三、三层核心对比终极口诀(最易混)
物理传信号,链路传帧,网络找路,传输找程序
四、设备秒杀口诀
- 物理层:集中中继(集线器、中继器)
- 链路层:交换网桥(交换机、网桥)
- 网络层:路由选路(路由器)
- 传输层及以上:无硬件设备
一句话结论
不是切单个0、1,是一段一段切分。
物理层传过来是没有分隔、无限连续的长串比特,类似:
01001110101100101001110010110…… 一直不停。
链路层做的:识别一段完整数据的边界,把这一长串连续比特,划分成一组一组(一段一段),每一组就是一帧。
两种主流成帧方式(考试重点)
- 字符计数(很少用):帧头写清楚【本帧一共有多少比特】,读到对应数量就停止,一帧结束。
- 带标志位(最常考,以太网不是这个,PPP协议用)
用特殊固定比特串(比如
01111110)作为起始标记、结束标记。 读到这个标记=新一帧开始;再次读到标记=这一帧结束。
就像文章,用【】括号把一段文字包起来,括号就是边界。
以太网(咱们电脑网卡用的):用间隔时间来区分帧 网线空闲一段时间,就代表上一帧结束、准备接收下一帧。 没有专门的结束比特标记,靠时间间隔切分。
结合刚才例子
原始长比特流:
0000111100001111000011111111000011110000111100000000100000000000101100101001110010011101010011011100……
链路层识别边界,切出第一段(一整帧):
000011110000111100001111 111100001111000011110000 0000100000000000 1011001010011100 10011101
剩下的比特,留着组成下一帧。
考点一句话背诵
链路层按段划分比特流,不是单个0、1切割;通过标记/长度/时间间隔,识别一帧的起点和终点,封装成帧。