Linux系统是如何收发网络包的

Linux系统是如何收发网络包的

参考资源 小林coding 2022.3.29

OSI网络模型

解决不同设备网络互联中的兼容性问题 -> 解决不同设备在网络互联中的兼容性问题

国际标准化组织制定了 开放式系统互联通信参考模型 -> OSI网络模型

该模型一共有七层

  1. 应用层 负责给应用程序提供统一的接口
  2. 表示层 负责把数据转换成兼容另一个系统能识别的格式
  3. 会话层 负责建立 管理 终止表现层实体之间的通信会话
  4. 传输层 负责端到端的数据传输
  5. 网络层 负责数据的路由 转发 分片
  6. 数据链路层 负责数据的封帧 和 差错检测 以及 MAC寻址
  7. 物理层 负责在物理网络中 传输数据帧

OSI模型太过复杂 提出的也只是概念理论的分层 并没有提供具体的实现方式

常见的是四层模型TCP/IP网络模型 Linux系统正是根据这套网络模型来实现网络协议栈的

TCP/IP网络模型一共有四层

  1. 应用层 负责向用户提供一组应用程序 比如 HTTP DNS FTP

  2. 传输层 负责端到端的通信 比如TCP UDP等

  3. 网络层 负责网络包的封装 分片 路由 转发 比如IP ICMP等

  4. 网络接口层 负责网络包在物理网络中的传输 比如网络包的封帧、

    MAC寻址 差错检查 以及通过网卡传输网络帧等

你可能感兴趣的:(计算机网络,git,网络协议,数据库)