pox组件介绍

来源:互联网 发布:老凤祥网络旗舰店 编辑:程序博客网 时间:2024/05/16 06:09
POX主程序(pox.py)的参数:

--verbose Display extra information (especially useful for debugging startup problems)
--no-openflow Do not automatically start listening for OpenFlow connections

POX中的组件:

POX的组件一部分提供的是核心功能,一部分提供的是扩展功能,一部分仅仅是一些例子,大概有以下组件:
  • py 建议使用,让POX启动一个交互式的Python解释器,用于开发或者DEBUG,这样其他组件可以向这个解释器的名字空间中加入一些功能
  • forwarding.hub 给所有的OF Switch加入洪范的流表,所有的交换机表现为一个HUB。
  • forwarding.l2_learning 让OF交换机工作为“二层自学习交换”。
  • forwarding.l2_pairs 和上者类似,只不过只根据MAC来做流表,更加简单。
  • forwarding.l3_learning 三层学习交换,这不是一个Router,主要使用场景为使用POX的packet library来处理ARP响应等。可以用来做子网的互联。
  • forwarding.l2_multi 使用POX中 openflow.discovery来学习整个网络的拓扑,只要一个交换机知道MAC的来源,所有的交换机都会知道了。
  • forwarding.l2_nx 使用Open vSwitch的扩展来实现一个交换机,使用了两张表,一张源地址表,一张目的地址表,使用方式:./pox.py openflow.nicira –convert-packet-in forwarding.l2_nx
  • openflow.spanning_tree 使用链路发现协议(LLFP)生成拓扑,并对加入拓扑的交换机端口关闭洪范,这个的实现和生成树协议没有关系。
  • web.webcore 提供POX的web serber,其他组件可以与之交换以显示自己静态或者动态的信息。
  • messenger 这个组件给POX提供了一个接口以便POX和外部的程序通过JSON进行消息的交互,这个messager其实是一个API,可以通过socket或者让HTTP调用。
  • openflow.of_01 与OpenFlow1.0(协议号0×01)的交换机通信组件
  • openflow.discovery 使用特殊的LLDP消息来发现整个网络的拓扑,当链路up或者down的时候会触发相应的事件
  • openflow.debug 让POX调用pcap traces来获取所有OpenFlow消息,可以拿到wireshark中进行分析。
  • openflow.keepalive 让POX周期性向交换机发送echo消息
  • misc.pong 这个模块接收ICMP消息并发送相应的回应,载入这个,你的ping报文就一定是成功的。
  • misc.arp_responder 回应ARP请求,学习ARP并存入相应的ARP Table中。
  • misc.packet_dump 把包信息复制到log中去
  • misc.dns_spy 监听DNS回复并进行记录。
  • misc.dhcpd 一个简单的dhcp服务器。
  • log 记录日志模块,重要
  • samples.pretty_log 调用这个的话给你一个很好的LOG效果
  • tk 加入GUI支持
0 0