网卡接收数据流程
程序员文章站
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数据段
- (运输层)根据数据段头信息获取实际的用户数据
- (应用层)根据应用层协议获取最终的有效信息