MFF原理描述
工作机制
如图1所示为以太接入网MFF方案的应用场景,这些应用场景中往往需要网关统一管理和计费客户端的数据流量。在EAN(Ethernet Access Nodes)上部署MFF,可以使客户端的数据流量首先经过网关再通过三层转发至其它用户,实现了二层流量的隔离,同时达到监控和计费的目的。
MFF环境下用户的二层隔离和三层互通是通过ARP代答机制实现的,这种代答机制在一定程度上减少了网络侧和用户侧之间的广播报文数量。关于ARP代答机制,具体请参见实现功能中的介绍。
接口角色
在部署MFF的设备(后续简称MFF设备)上存在两种接口角色:用户接口和网络接口。
用户接口是指连接终端用户的接口。
用户接口对于不同报文的处理方式如下:
- 丢弃IGMP Query报文,允许其他IGMP协议报文通过;允许DHCP报文通过。
- ARP报文上送CPU进行处理。
- 若已经学习到网关MAC地址,则仅允许目的MAC地址为网关MAC地址的单播报文通过,其他报文将被丢弃;若没有学习到网关MAC地址,目的MAC地址作为网关MAC地址的单播报文也将被丢弃。
- 组播数据报文和广播数据报文都不允许通过。
网络接口是指连接其他网络设备如接入交换机、汇聚交换机或者网关的接口。
网络接口对于不同的报文处理如下:
- 允许组播报文和DHCP报文通过。
- 对于ARP报文则上送CPU进行处理。
实现功能
MFF解决方案主要包括以下几个方面的内容:获取网关和用户信息、ARP代答、网关探测和用户在线探测。
-
获取网关和用户信息
用户获取IP地址的方式有两种:静态配置IP地址和通过DHCP协议动态获取IP地址,对应这两种方式,MFF设备获取的网关信息也分为两种情况:手动配置网关IP地址和DHCP Snooping动态定制网关。
-
手动配置网关IP地址
如果用户的IP地址是静态配置的,MFF设备则无法通过DHCP报文来获取网关IP地址,因此需要在MFF设备上手动配置该IP。配置静态网关(即静态用户的网关)的IP地址后,MFF设备通过捕获用户侧在线用户的ARP请求报文,进而触发生成或者更新包含用户信息的MFF表项。如果在未学习到网关MAC地址的情况下收到用户的ARP请求,MFF设备将不会转发该ARP请求,而以用户的IP地址和MAC地址为源信息构造ARP请求报文发给网关,并从网关回应的ARP应答报文中学习网关MAC地址。
-
DHCP Snooping动态定制网关
如果用户的IP地址是通过DHCP协议动态获取的,MFF设备将从DHCP Snooping表中获取用户的IP地址和MAC地址信息,并解析来自网络端口的DHCP ACK报文中的OPTION121或OPTION3字段,从中获取网关IP。之后,MFF设备再以用户的IP地址和MAC地址为源信息构造ARP请求报文发给网关,并从网关回应的ARP应答报文中学习网关MAC地址。
若用户被授权访问多个网关,则当MFF设备收到来自该用户的非网关的ARP请求后,会使用第一个网关的MAC地址代答。而MFF设备收到对网关的ARP请求时则会用该网关的MAC地址代答。
-
-
MFF设备捕获用户发出的ARP请求报文,并以网关的MAC地址作为源MAC构造ARP应答报文发送给用户,使用户的ARP表记录的IP地址都与网关的MAC对应,由此强制用户发出的所有数据报文在二层转发中都以网关为目的地,从而使数据流量监控、计费得以实施,提高网络的安全性。
对于网关请求用户的ARP报文,MFF设备则会以用户的MAC地址进行代答。
对于网络侧非网关设备(如网络中部署的DHCP Server、组播服务器等应用服务器)请求用户的ARP报文,默认情况下,MFF设备直接以用户的MAC地址进行代答,此时非网关设备发送给用户的报文无需经过网关转发。如果MFF设备使能了网关探测用户状态的ARP报文透传功能,MFF设备则使用网关的MAC地址进行代答,此时非网关设备发送给用户的报文需要经过网关转发。关于网关探测用户状态的ARP报文透传功能,具体请参见“用户在线探测”中的介绍。
-
网关探测
为了及时感知网关MAC地址的变化,MFF支持网关定时探测功能。当网关探测功能开启后(该功能默认已开启),MFF设备每隔30秒会扫描已记录的网关信息,并使用某一个用户的信息构造ARP请求报文发向网络端,再从网关的ARP应答中获取网关的MAC地址。如果MAC地址发生变化,MFF设备将立即更新网关信息,同时广播免费ARP报文到用户端,用于及时刷新用户的网关地址映射关系。