在POX控制器中制作ARP请求

时间:2018-09-08 13:58:14

标签: sdn mininet pox

我正在尝试从SDN OpenFlow交换机发送ARP请求,以查找预定义主机的MAC地址(已知该主机的IP地址:10.0.0.8/24)

我正在尝试为控制器使用虚拟IP和MAC地址。

  • 控制器的虚拟IP:10.1.2.3
  • 控制器的虚拟MAC地址:00:12:34:56:78:90

Please find the attached image of my topology

我想做的是,在控制器与交换机之间建立连接后,在控制器中生成ARP请求,并通过交换机泛洪请求。

  def splitFile(
    input: InputStream, 
    chunkSize: Int
  ): Iterator[InputStream] = new AbstractIterator[InputStream] {
     var hasNext = true
     def next = {
       val buffer = new Array[Byte](chunkSize)
       val bytes = input.read(buffer)
       hasNext = bytes == chunkSize
       new ByteArrayInputStream(buffer, 0, bytes max 0)
     }
  }

但是我看不到来自host-10.0.0.8的任何ARP答复。

tcpdump from the host is attached herewith

关于上述代码,如果我做错了什么,请告诉我。预先非常感谢。

1 个答案:

答案 0 :(得分:0)

经过几次失败的尝试,我才意识到自己的错误。

所有节点都应在单个广播域中以发送或接收ARP。因此,控制器的虚拟IP应该更改为10.0.0.x / 24