zoukankan      html  css  js  c++  java
  • netmap -- ixgbe

    利用netmap抓ixgbe网卡上的以太网帧,跟e1000e网卡有区别。

    使用e1000、e1000e网卡发以太网帧只要以太网帧的格式正确就可以了。只要格式和 目的MAC、源MAC地址正确,网卡就可以收到以太网帧,类型可以自定义,也可以使用已经定义的类型 0x0800(IP报文),0x0806(ARP报文)。

    以太网帧格式:

          6字节         6字节      2字节    46-1500字节   4字节
    +-----------+-----------+-------+--------------+-------+
    |  目的MAC  |   源MAC   |  类型  |      数据        |  FCS  |
    +-----------+-----------+-------+--------------+-------+

    但是上面说的这些放到ixgbe网卡上就不适用了。使用e1000e网卡测试的程序用的类型是自己随便写的 0x0102,根据以太网类型对照表来看,对应的协议是实验,e1000e网卡是可以收到以太网帧的,但是向ixgbe网卡发送,就收不到。刚开始猜想是不是ixgbe网卡坏掉了,后来用udp测试程序收发数据包,ixgbe网卡可以收到udp数据包,那就猜想是不是ixgbe网卡对以太网帧的类型会有过滤,把类型改成 0x0806后,ixgbe网卡确实可以收到了。

    跟e1000e网卡还有不同的就是,长度接近1500字节的以太网帧,e1000e网卡是可以接收的,但是ixgbe网卡不可以。

  • 相关阅读:
    Android之旅七 Service简介
    使用CALayer实现图像镜面效果
    hdu4587 TWO NODES
    js Ajax
    SQL Server 2008数据库备份与恢复
    11g R2单实例手工建库
    needtrue需要真实的答案
    字符编码,pyton中的encode,decode,unicode()
    用java源代码学数据结构<七>: BST
    SQL MIN() 函数
  • 原文地址:https://www.cnblogs.com/yongren1zu/p/6934385.html
Copyright © 2011-2022 走看看