Linux内核报文收发-网卡部分

版本说明


Linux版本: 3.10.103
网卡驱动: ixgbe

报文收发简单流程


网卡驱动默认采用的是NAPI的报文处理方式。即中断+轮询的方式,网卡收到一个报文之后会产生接收中断,并且屏蔽中断,直到收够了netdev_max_backlog个报文(默认300)或者收完网卡上的所有报文之后,重新打开中断。

网卡数据处理


网卡初始化

网卡收发数据

备注

TUN虚拟网卡


注:
因为网卡接收报文后最终经过四层的时候,会将报文根据协议几元组找到对应的sock结构,放入队列。上层调用read或者recv的时候都是从socket对应的sock结构队列上取数据。

请输入图片描述

VETH虚拟网卡


请输入图片描述

QEMU虚拟机网络通信


请输入图片描述

Offload技术


发送数据

接收数据

展开阅读全文

页面更新:2024-05-12

标签:报文   封包   网卡   时调   队列   内核   收发   函数   虚拟机   接口   协议   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top