Linux Kernel TCP/IP Stack — L1 Layer — Physical NIC

举报
云物互联 发表于 2021/08/06 01:32:55 2021/08/06
【摘要】 目录 文章目录 目录 网卡与网卡适配器 网卡的组成 网卡的工作原理 基于 DMA 的 NIC I/O 模型 网卡与网卡适配器 我们知道计算机的输入输出系统由外部硬件设备(e.g. 网卡)及其与主机之间的控制部件(e.g. 网卡驱动)所构成,其中控制部件常被称为设备控制器、设备适配器、设备驱动或 I/O 接口,主要负责...

目录

网卡与网卡适配器

我们知道计算机的输入输出系统由外部硬件设备(e.g. 网卡)及其与主机之间的控制部件(e.g. 网卡驱动)所构成,其中控制部件常被称为设备控制器、设备适配器、设备驱动或 I/O 接口,主要负责控制并实现主机与外设之间的数据传输。

在本文中,网卡指物理网络设备卡、网卡适配器指网卡设备控制器,即安装在操作系统上的网络设备驱动。

网络设备驱动在 Linux 内核中是以内核模块的形式存在的。所以对于网卡驱动的初始化,同样需要提供一个内核模块初始化函数来完成的,初始化网络设备的硬件寄存器、配置 DMA 以及初始化相关内核变量等。

设备初始化函数在内核模块被加载时调用,包括:

  1. 初始化 PHY 模块,包括设置双工/半双工运行模式、设备运行速率和自协商模式等。
  2. 初始化 MAC 模块,包括设置设备接口模式等。
  3. 初始化 DMA 模块,包括建立 BD(Buffer descriptor)表、设置 BD 属性以及给 BD 分配缓存等。

网卡的组成

网卡工作在物理层和数据链路层,主要由 PHY/MAC 芯片、Tx/Rx FI

文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。

原文链接:is-cloud.blog.csdn.net/article/details/118691811

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。