OSI 模型传输数据过程

OSI模型

  1. 应用层
    • OS 上的应用程序
    • 标准 HTTP 80
    • 标准 HTTPS 443
    • 标准 FTP 21
  2. 表示层
    • 转化格式 (PNG JPEG AVI MP4 等)
    • 加密
  3. 会话层
    • 建立 session、管理、维护
  4. 传输层
    • 方式 -> TCP / UDP 协议
    • ssh 服务
  5. 网络层
    • 路由器(它会二次封包)
    • IP 协议
    1. 为每一台计算机分配一个 IP 地址
    2. 确定哪些地址在同一个子网
    • 公网 IP
    • 私网 IP
    1. A 类地址:10.0.0.0—10.255.255.255;
    2. B 类地址:172.16.0.0—172.31.255.255;
    3. C 类地址:192.168.0.0—192.168.255.255;
    • 👇 IP 地址
    • (110.47.189.108)
  6. 数据链路层
    • 交换机 或者 HUB?
    • 👇 MAC 地址
    • (fa:aa:14:91:3d:be)
  7. 物理层
    • (010100010010199)

应用层 ~ 会话层 :数据处理

传输层 ~ 物理层 :网络通信

知识整理

  • 如果在同一个子网下,采用广播的方式传播
  • 否则,使用路由的方式
  • MAC 地址只与厂商有关系,不能判断哪些 MAC 地址处于同一个子网,所以需要网络层的支持
  • 网络层出现之后,每台计算机有两个地址,一种是 MAC 地址,另一种是网络地址
    1. 网络地址能够确定该计算机所在的子网络
    2. MAC 地址是绑定在网卡上, 能够把数据包发送到子网络中的目标网卡
  • 所以先处理网络地址,再处理 MAC 地址,
  • 网络层的 IP 协议中 (最广泛ipv4)
    IP
    1. 8 + 8 + 8 + 8 = 32位
    2. 255.255.255.0(子网掩码)
  • IP 协议的主要作用
    1. 为每一次计算机分配一个 IP 地址
    2. 确定哪些地址在同一个子网
  • 一般情况下,对方的 IP 是已知的,但 MAC 地址是不知道的。
  • 如果两台计算机不在同一个子网络:因为无法知道对方的 MAC 地址,只能把数据包传送到两个子网络连接的网关取处理
  • 如果两台计算机在同一个子网络:可以用 ARP 协议
  • ARP 协议 是根据 IP 地址 获取 MAC 地址的一个 TCP/IP 协议
    1. 以太网的数据包中包含了目标主机的 IP 地址,但不包含 MAC 地址
    2. 广播的方式传递数据包时,在子网下的所有主机都会受到数据包
    3. 每个主机判断数据包中的 IP 地址取出来,和自己的 IP 地址做比较。如果相同,则把自己的 MAC 地址上报上去;如果不相同,则丢弃这个包;
  • 每一个数据包都会发送到主机的特定端口,不同的程序就会去到自己所需要的数据包
    IP
  • UDP 协议,可靠性差,发送数据包之后不知道对方有没有收到
    1. 无连接
    2. 不可靠
    3. 实时性强
    4. 一对一,多对一,多对多
    5. 资源消耗较少
  • TCP 协议,可靠,三次握手
    1. 面向连接
    2. 可靠
    3. 点对点
    4. 资源消耗高
      (网关
      (数据包目标地址
  • TCP 数据包需要设置一个端口
  • IP 数据包需要跑置一个双方的IP 地址,发送方是本机
  • 以太网数据包需要设置双方的MAC 地址,发送方是本机的网卡 MAC 地址,接收方网关的 MAC 地址