电脑怎样接收网络数据

电脑

1个回答

写回答

记忆像条狗

2025-07-09 00:21

+ 关注

电脑
电脑

电脑接收网络数据依次经过网卡驱动和协议栈程序,以DM9000A网卡为例进行介绍接收数据的过程。

网卡在一个数据包到来时,会产生一个硬中断,网络驱动程序会执行中断处理过程:首先申请一个skb结构及pktlen加5大小的内存用于保存数据,然后便将接收到的数据从网卡复制到这个skb的数据部分中。当数据从网卡中成功接收后,调用netifrx进一步处理数据,将skb加入到相应的inputpktqueue队列中,并调用netifrxschedule,会产生一个软中断来执行网络协议栈的例程。这样,中断的上半部已完成,以下的工作则交由中断的下半部来实现。

下半部的内核守护线程dosoftirq,将执行netrxaction,对数据进行处理。IP层输入处理程序轮询处理输入队列中的每个IP数据,在整个队列处理完毕后返回。处理IP选项,验证IP主机地址和正确性等,并调用相应协议处理程序。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号