常见的体系结构

OSI体系结构——法律上的国际标准

  1. 应用层
  2. 表示层
  3. 会话层
  4. 运输层
  5. 网络层
  6. 数据链路层
  7. 物理层

    TCP/IP体系结构——事实上的国际标准

  8. 应用层

  9. 运输层
  10. 网际/网络层
  11. 网络接口层

WeChatd286b4ae451c7b2568213534b6abebe0.png

原理体系结构

  1. 应用层
  2. 运输层
  3. 网络层
  4. 数据链路层
  5. 物理层

    分层的必要性

  6. 应用层——解决通过应用进程的交互来实现特定网络应用的问题

  7. 运输层——解决进程之间基于网络的通信问题
  8. 网络层——解决分组在多个网络上传输(路由)的问题
  9. 数据链路层——解决分组在一个网络(或一段链路)上传输的问题
  10. 物理层——解决使用何种信号来传输比特问题

    分层思想举例

    https://www.bilibili.com/video/BV1c4411d7jb?p=9
    WeChat4174448352c1985009699ced2ec9c6e3.png

从主机端从上到下
应用层按http协议,构建一个http请求报文,并交付给运输层处理
运输层给http请求报文添加一个TCP首部,使其成为TCP报文段,并交付给网络层处理,该首部作用主要是为了区分应用进程,以及实现可靠传输
网络层给TCP报文段添加一个IP首部,使其成为IP数据报,并交付给数据链路层,该首部主要作用是为了是IP数据报,可以在互联网上传输,也就是被路由器转发
数据链路层给IP数据报添加一个首部和一个尾部,使其成为帧,并交付给物理层,其作用是为了使帧能够在一段链路上或网络上传输
物理层将帧看作比特流,还会给比特流前加前导码,其作用是为了让目的主机做好接受帧的准备,再将加有前导码的比特流变成相应的信号发送到传输媒体
信号通过传输媒体到达路由器
物理层将信号变化为比特流,并去掉前导码,交付给链路层,实际交付的是帧
数据链路层将帧去掉首部和尾部,交付给网络层,实际交付的是IP数据报
网络层解析IP数据报的首部,从中提取目的网络地址,然后查找自身的路由表,确定转发端口,以便进行转发,再将IP数据报交付给链路层
数据链路层给IP数据报添加一个首部和一个尾部,使其成为帧,并交付给物理层
物理层将帧看作比特流,还会给比特流前加前导码,再将加有前导码的比特流变成相应的信号发送到传输媒体
信号通过传输媒体到达web服务器
物理层将信号变化为比特流,并去掉前导码,交付给链路层,实际交付的是帧
数据链路层将帧去掉首部和尾部,交付给网络层,实际交付的是IP数据报
网络层将IP数据报的首部去掉后,交付给运输层,实际交付的是TCP报文段
运输层将TCP首部去掉后,交付给应用层,实际交付的是HTTP请求报文
应用层将HTTP报文进行解析,然后给主机发回HTTP响应报文
HTTP响应报文需要再web服务器层层封装,然后通过物理层变换为相应的信号,然后通过传输媒体到达路由器,路由器转发该响应报文给主机,主机通过物理层将信号转化为比特流,再逐层解封,最终收到HTTP响应报文

专业术语

协议数据单元PDU:对等层次之间传送的数据包称之为该层的协议数据单元
服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元
多个SDU可以合成为一个PDU;一个SDU也可以划分为几个PDU
WeChat2da73c6437769e2af1d0abb8248fba4c.png