Skip to main content

概述

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电磁波发出,在物理介质传输出去。


信号经过网络线路,抵达接收方手机。接收端​

自下向上解析(解封装)

  1. 物理层:把电磁波/电信号变回一串0、1比特流,上交数据链路层。
  2. 数据链路层:组装比特流还原成帧。核对CRC校验。剥掉MAC头部。剩下内容上交网络层。
  3. 网络层:剥掉IP头部。读到IP确认是本机数据。剩余内容上交传输层。
  4. 传输层:剥掉TCP头部。读取端口号,知道这个数据属于微信软件。分段重新拼接完整,上交会话层。
  5. 会话层:检查会话是否正常。将数据向上交给表示层。
  6. 表示层:解码、解压缩图片。还原图片原始二进制。交给应用层。
  7. 应用层:微信收到图片数据,屏幕上显示这张照片。

简单总结记忆​

发送:应‑表‑会‑传‑网‑链‑物,一层层加头部封装 接收:物‑链‑网‑传‑会‑表‑应,一层层剥头部解封装

二、每层功能极简口诀​

  1. 应用层:用户接口,所有协议
    (离用户最近,管软件业务)

  2. 表示层:翻译加密,格式转换
    (编码、加密、解密、压缩)

  3. 会话层:建立断开,管理会话
    (建连接、保连接、断连接)

  4. 传输层:端口分段,可靠传输
    (进程对进程、TCP/UDP、控质量)

  5. 网络层:IP寻址,路由选路
    (跨网传输、找电脑、路由器)

  6. 链路层:MAC成帧,检错纠错
    (局域网传输、交换机、封装帧)

  7. 物理层:比特传输,信号放大
    (01数据流、网线、集线器、中继器)

三、三层核心对比终极口诀(最易混)​

物理传信号,链路传帧,网络找路,传输找程序

四、设备秒杀口诀​

  • 物理层:集中中继(集线器、中继器)
  • 链路层:交换网桥(交换机、网桥)
  • 网络层:路由选路(路由器)
  • 传输层及以上:无硬件设备

一句话结论​

不是切单个0、1,是一段一段切分。

物理层传过来是没有分隔、无限连续的长串比特,类似: 01001110101100101001110010110…… 一直不停。

链路层做的:识别一段完整数据的边界,把这一长串连续比特,划分成一组一组(一段一段),每一组就是一帧。

两种主流成帧方式(考试重点)​

  1. 字符计数(很少用):帧头写清楚【本帧一共有多少比特】,读到对应数量就停止,一帧结束。
  2. 带标志位(最常考,以太网不是这个,PPP协议用) 用特殊固定比特串(比如01111110)作为起始标记、结束标记。 读到这个标记=新一帧开始;再次读到标记=这一帧结束。

就像文章,用【】括号把一段文字包起来,括号就是边界。

以太网(咱们电脑网卡用的):用间隔时间来区分帧 网线空闲一段时间,就代表上一帧结束、准备接收下一帧。 没有专门的结束比特标记,靠时间间隔切分。

结合刚才例子​

原始长比特流: 0000111100001111000011111111000011110000111100000000100000000000101100101001110010011101010011011100……

链路层识别边界,切出第一段(一整帧): 000011110000111100001111 111100001111000011110000 0000100000000000 1011001010011100 10011101 剩下的比特,留着组成下一帧。

考点一句话背诵​

链路层按段划分比特流,不是单个0、1切割;通过标记/长度/时间间隔,识别一帧的起点和终点,封装成帧。