欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

网卡接收数据流程

程序员文章站 2022-06-03 18:16:04
...

1.网络模型

因特网的五层协议栈:

    应用层
    运输层
    网络层
    链路层
    物理层

七层ISO模型

    应用层
    表示层
    会话层
    运输层
    网络层
    链路层
    物理层

2.网络模型各层意义

物理层:主要负责帧数据在节点间的移动
链路层:典型为以太网和PPP协议,数据称做帧(frame)
网络层:典型为IP协议,数据称做数据报(datagram)
网络层:典型为TCP/UDP协议,数据称做报文段(segment),主要负责应用程序端点间的传送
会话层:主要是数据的定界和同步
表示层:主要是解释数据的含义,包括数据压缩,加密等
应用层:典型为HTTP,SMTP等协议,数据称做报文(message)

3.网络模型各层头部信息

以太网帧头部包含:目的MAC,源MAC和网络层协议类型,(组播的目的MAC:MAC地址只要第48bit是1就表示组播地址,一般组播地址的第1字节是0x01;组播的源MAC:它唯一标识这个设备,所以只能是单播地址)
IP数据报头部包含:运输层的协议,源和目的IP地址

4.网卡接收数据流程

  • (物理层)网卡接收来自其他节点的数据帧
  • (链路层)根据帧头信息获取数据报
  • (网络层)路由过滤,判断是否应该丢弃该数据报,并根据数据报头信息获取TCP/UDP数据段
  • (运输层)根据数据段头信息获取实际的用户数据
  • (应用层)根据应用层协议获取最终的有效信息