0x0 OSI7层模型以及常用的TCP/IP五层模型

  1. 物理层:传输bit流
  2. 链路层:编帧,数据链路的建立、维持和释放
  3. 网络层:编址、路由、寻址
  4. 传输层:建立端到端的连接(进程到进程)
  5. 会话层:告诉传输层何时发送数据,什么时候停止发送数据
  6. 表示层:ascill,JPEG,mpeg,描述数据
  7. 应用层:为应用程序提供网络服务
  • 数据链路层使用的是frame帧
  • 网络层使用的是packet包
  • 传输层使用的是segment段

0x1 数据的变化过程

  • 数据在从应用层到物理层是一个套娃的过程,每向下一层都要进行封装
  • 数据在从物理层到应用层也是一个套娃的过程,每向上一层都要进行解封装

0x2 数据链路层、网络层、传输层的常见报文格式

0x2-1 数据链路层:以太网数据帧

  • 字段
    1. 目的MAC
    2. 源MCA
    3. 类型号
    4. 数据
    5. FCS校验
  • 类型号里面包含的信息用来标志网络层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议
  • 例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据报

0x2-2 网络层:IP数据包

0x2-3 传输层:数据段

0x2-4 各个层次常用协议汇总

0x3 唯一标识符和上层协议标识符的区别

  • 唯一标识符是用来确保本层通信的唯一性的
    1. 数据链路层使用的是mac地址
    2. 网络层使用的是IP地址
    3. 传输层使用的是port端口号
  • 上层协议标识符用来表示上一层使用的是什么协议
    1. 数据链路层的是类型号,用来标识网络层使用的协议
    2. 网络层使用的是协议号,用来标识传输层使用的协议
    3. 传输层使用的是端口号,用来标识应用层使用的协议