目录

  1. 基础知识
    1. OpenFlow结构、流表和数据包处理
    2. Proxy ARP
      1. TODO
  2. 不使用ARP和DVR时br-tun中的流表。
    1. 流表分析

基础知识

OpenFlow结构、流表和数据包处理

Proxy ARP

Proxy ARP就是通过一个主机(通常是Router)来作为指定的设备对另一个设备做出ARP的请求进行应答。

主机A,IP地址是192.168.0.11/24,主机B,IP地址是192.168.1.22/24。主机A和主机B通过路由R相连接,并且路由器R启用了Proxy ARP,并配置路由。

TODO

在主机A上执行:ping 192.168.1.22,主机A不知道主机B的MAC地址是多少,首先要发送ARP查询报文,路由器R接收到主机A发出的ARP报文,并代替主机B应答,应答ARP报文中填入的就是路由器R的MAC地址。这样主机A就会认为路由器R的地址是192.168.1.22。以后所有发往192.168.1.22的报文都会发到路由器R,路由器R再根据已配置好的路由表将报文转发给主机B。

主机A上不需要设置任何默认网关或路由策略,不管路由器R的IP地址怎么变换,主机A都能通过路由器R到达主机B,也就实现了所谓的代理透明。相反,若主机A上设置有默认网关或者路由策略时,当主机A向192.168.1.22发送报文,首先要查找路由表,而主机A所在的网段是192.168.0.0/24,主机B所在的网段是192.168.1.0/24,主机A只能通过默认网关将报文发送出去,这样代理ARP也就失去了作用。

优点:最主要的一个优点就是能够在不影响其他Router的路由表的情况下在网络上添加一个新的Router,这样使得子网的变化对主机是透明的。Proxy ARP应该使用在没有配置默认网关或没有任何路由策略的主机上。

缺点:

  1. 增加某一网段上ARP流量。
  2. 主机需要更大的ARP Table来处理IP地址到MAC地址的映射。
  3. 安全问题,ARP欺骗(spoofing)。
  4. 不使用ARP解析地址的网络使用不了。
  5. 不能概括和推广网络拓扑。

不使用ARP和DVR时br-tun中的流表。

OpenStack中,Neutron作为OVS的controller,向OVS发出管理Tunnel Port的指令,以及提供流表。

流表分析