当前位置:网站首页 > 编程语言 > 正文

本地回环地址作用(配置本地回环地址)



NET_RING 是 NetAdapterCx 和客户端驱动程序共享的网络数据循环缓冲区。 客户端驱动程序中的每个数据包队列都有两个环:数据包环用于核心数据包描述符,片段环用于每个数据包的片段描述符。

有关数据包描述符的详细信息,请参阅数据包描述符和扩展。

数据包环中的每个核心描述符都有转至片段环的索引,用于定位该数据包的片段描述符。 另一个数据结构 NET_RING_COLLECTION 将给定数据包队列的数据包环和片段环组合在一起,如下图所示。

每个数据包队列都有自己的 NET_RING_COLLECTION 结构,因此也有自己的数据包环、片段环和这些环中的描述符。 因此,每个数据包队列的网络数据传输操作是完全独立的。 要了解有关数据包队列的详细信息,请参阅传输和接收队列。

NET_RING 中的每个元素都归客户端驱动程序或 NetAdapterCx 所有。 所有权由三个索引控制,这三个索引标记了 NET_RING 的各个部分。 下表介绍了这些索引。 移动这些索引的行为由 postdrain 语义描述。

NET_RING 索引名称 说明 传输网络数据必需 修改者 BeginIndex NIC 客户端驱动程序拥有的 NET_RING 中元素范围的起点。 BeginIndex 也是 NET_RINGdrain 子部分的开头。 当 BeginIndex 递增时,驱动程序会将元素从环中 排空,并将其所有权移交给 OS。 是 NIC 客户端驱动程序 NextIndex NET_RINGpost 子部分的开头。 NextIndex 将客户端驱动程序拥有的环部分划分为 post 和 drain 子部分。 当 NextIndex 递增时,驱动程序将缓冲区 发布硬件,并将缓冲区传输到环的排空部分。 否 NIC 客户端驱动程序 EndIndex NIC 客户端驱动程序拥有的 NET_RING 中元素范围的终点。 客户端驱动程序拥有的元素上限为 EndIndex - 1(含)。 是 NetAdapterCx

在数据包队列的 EvtPacketQueueAdvance 回调过程中操纵这些索引,是客户端驱动程序在系统和网络接口卡 (NIC) 硬件之间传输网络数据的方式。

客户端驱动程序拥有从 BeginIndexEndIndex - 1(含)的每个元素。 例如,如果 BeginIndex 为 2 并且 EndIndex 为 5,则客户端驱动程序拥有三个元素:索引值为 2、3 和 4 的元素。

如果 BeginIndex 等于 EndIndex,则客户端驱动程序不拥有任何元素。

NetAdapterCx 通过递增 EndIndex 向环缓冲区添加元素。 客户端驱动程序会耗尽缓冲区,并通过向前推进 BeginIndex 来返回元素的所有权。

NextIndex 是供客户端驱动程序使用的可选项,提供该选项是为了方便分隔环中客户端驱动程序部分的 post 和 drain 子部分。

索引值介于 NextIndexEndIndex - 1(含)之间的元素由客户端拥有,但尚未发布到硬件上。 如果 NextIndex 等于 BeginIndex,则客户端驱动程序没有任何已完成的缓冲区要传输给 OS。 如果 NextIndex 等于 EndIndex,则客户端驱动程序没有任何缓冲区可发布到硬件。

由于网环是环形的,因此索引值最终会绕到缓冲区的末端,然后再回到起点。 当客户端驱动程序调用适当的方法时,NetAdapterCx 会自动处理将索引值包装到环上。

有关网环元素管理的具体信息,请参阅网环元素管理。

有关在网环中接发网络数据的详细信息和代码示例,请参阅以下主题。

使用网环发送网络数据

使用网环接收网络数据

到此这篇本地回环地址作用(配置本地回环地址)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 读取文件权限在哪里设置(读取文件权限在哪里设置手机)2026-03-04 11:36:07
  • 本机信息APP(本机信息怎么恢复到桌面)2026-03-04 11:36:07
  • win10启动盘u盘制作(制作windows10启动u盘)2026-03-04 11:36:07
  • 国内驾照换国际驾照需要什么(国内驾校换国际驾照)2026-03-04 11:36:07
  • tpami官网(tpo官网)2026-03-04 11:36:07
  • 双系统卸载ubuntu系统并重装(双系统卸载ubuntu系统并重装)2026-03-04 11:36:07
  • 蓝牙的地址是什么(蓝牙设备的地址)2026-03-04 11:36:07
  • 跨域是什么错误码(跨域错误怎么解决)2026-03-04 11:36:07
  • ubuntu20升级内核(ubuntu18升级内核)2026-03-04 11:36:07
  • 字典爆破wifi密码(破解wifi字典包25g)2026-03-04 11:36:07
  • 全屏图片