修改以太网卡mac地址

原生以太网卡与PCIe以太网卡

以Intel 原生以太网卡与PCIe以太网卡为例:

Intel原生以太网卡和PCIe以太网卡在系统中实现网络连接时,涉及到与系统总线(如PCIe总线)的连接方式和性能差异。

Intel 原生以太网卡

定义:所谓原生以太网卡通常指的是集成在主板上的网卡,这些网卡直接与主板芯片组相连,而不是通过额外的插卡形式存在。

连接方式:

集成到主板:原生以太网卡通常直接集成在主板上,连接到主板的南桥芯片或是直接连接到CPU的I/O接口。

专用接口:这种集成方式可以利用主板上的专用接口和线路,通常能够提供高效的数据传输路径和较低的延迟。

性能:

低延迟:由于集成在主板上,数据传输路径较短,因此原生以太网卡通常具有较低的延迟。

系统资源利用:原生网卡通常与主板设计相匹配,能够更高效地利用系统资源,如内存和CPU。

PCIe 以太网卡

定义:PCIe(Peripheral Component Interconnect Express)以太网卡是通过PCIe插槽连接到主板上的独立网卡。

连接方式:

插入PCIe插槽:这种网卡通过插入主板上的PCIe插槽来连接系统总线。PCIe插槽有不同的带宽(x1、x4、x8、x16),通常以太网卡使用x1或x4带宽。

标准接口:PCIe提供高带宽、低延迟的数据传输路径,适合高速网络需求。

性能:

可扩展性:PCIe插槽提供灵活的扩展能力,可以根据需要更换或增加网络接口。

高带宽:PCIe接口能够提供高带宽,特别是对于万兆以太网(10GbE)或更高速率的网卡,PCIe接口能够充分利用其带宽优势。

延迟:尽管PCIe网卡具有高带宽优势,但由于数据需要通过PCIe总线传输,延迟可能略高于集成网卡。然而,这种差异通常在几纳秒级别,对大多数应用来说影响不大。

总线性能与带宽

PCIe带宽:PCIe总线带宽根据插槽类型而不同。PCIe 3.0 x1插槽的理论带宽为1GB/s,x4插槽为4GB/s,x16插槽为16GB/s。对于大多数以太网卡来说,即使是PCIe x1插槽的带宽也足够应对千兆以太网(1Gbps)或10GbE的需求。

总线利用率:原生以太网卡由于集成在主板上,其设计更加优化,能够更高效地利用系统总线。而PCIe网卡的性能更多依赖于PCIe插槽的带宽和主板的PCIe通道设计。

永久性修改以太网卡mac地址

明确mac地址存放位置

以太网卡的 MAC 地址通常存储在网卡上的 EEPROM(Electrically Erasable Programmable Read-Only Memory)芯片中。这种设计在很多网卡中都很常见,原因如下:

存储在 EEPROM 的原因

持久性:EEPROM 是一种非易失性存储器,这意味着在设备断电后数据不会丢失。因此,存储在 EEPROM 中的 MAC 地址在系统重新启动或设备重新加电后仍然有效。

可编程性:EEPROM 可以通过特定的工具或命令进行修改(如 ethtool 命令),这使得在某些情况下可以重新配置 MAC 地址。但通常情况下,MAC 地址在生产过程中就已经被写入 EEPROM,并且在正常使用中不会被改变。

独立性:将 MAC 地址存储在 EEPROM 中,使其与网卡的其他功能和配置独立开来。即使系统硬件或软件发生变化,网卡的 MAC 地址仍然保持不变。

存储位置

独立网卡:对于独立的 PCIe 网卡,MAC 地址通常存储在网卡上的一个小型 EEPROM 芯片中。这些芯片通常是一个小型的8针或16针器件,焊接在网卡的电路板上。

集成网卡:对于集成在主板上的以太网控制器,MAC 地址也会存储在一个专用的 EEPROM 或直接在主板芯片组的非易失性存储区中。

局限性

并非所有网卡和驱动都支持修改mac地址

修改方法

  1. 获取PCIe 配置空间的网卡VID和DID, 这两个组合起来就是网卡magic
  2. lspci 查看网卡对应总线号
  3. lspci -s <总线号> -nn 获取magic

  

VID:100f

DID:8086

Magic:0x100f8086

  • 通过ethtool 获取magic

  • 注意事项:offset 0不能写入奇数,offset x范围不能超过5, 避免损坏固件。

ethtool -E ens33 magic 0x100f8086 offset 0 value 0xec

ethtool -E ens33 magic 0x100f8086 offset 1 value 0xe0

ethtool -E ens33 magic 0x100f8086 offset 2 value 0x20

ethtool -E ens33 magic 0x100f8086 offset 3 value 0x00

ethtool -E ens33 magic 0x100f8086 offset 4 value 0x10

ethtool -E ens33 magic 0x100f8086 offset 5 value 0xac

相关推荐

  1. python修改网卡mac地址(windows下)

    2024-06-17 15:56:08       12 阅读
  2. 网-环回地址

    2024-06-17 15:56:08       32 阅读
  3. 网络变压器

    2024-06-17 15:56:08       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-17 15:56:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-17 15:56:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-17 15:56:08       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-17 15:56:08       20 阅读

热门阅读

  1. 19.channel相关方法

    2024-06-17 15:56:08       7 阅读
  2. 考Oracle OCM 的作用

    2024-06-17 15:56:08       5 阅读
  3. 1节18650锂电池的容量是多大,电流,电压是多大

    2024-06-17 15:56:08       9 阅读
  4. oracle跨版本exdp 从高版本到低版本 从18c到10g

    2024-06-17 15:56:08       8 阅读
  5. 小抄 20240611

    2024-06-17 15:56:08       5 阅读
  6. web前端网页实例:深度剖析与实践指南

    2024-06-17 15:56:08       8 阅读
  7. 【学习Shell脚本编程】

    2024-06-17 15:56:08       7 阅读
  8. 使用PLM系统对电池企业有哪些好处

    2024-06-17 15:56:08       5 阅读
  9. PostgreSQL的系统视图pg_auth_members

    2024-06-17 15:56:08       8 阅读
  10. centos 7 虚拟化单通道光纤 udev 的配置

    2024-06-17 15:56:08       8 阅读
  11. Linux/Ubuntu/Debian 常用用户管理命令

    2024-06-17 15:56:08       11 阅读
  12. 处理导入Excel文件过大导致Zip bomb detected的问题

    2024-06-17 15:56:08       8 阅读