微分段原理描述
基本概念
EPG(End Point Group)
指按照一定的原则,对终结点(服务器)进行的分组。
用户对网络中的服务器进行EPG分组后,不属于EPG分组的服务器就是未知EPG分组成员,属于EPG分组的服务器就是EPG分组成员。其中,属于同一个EPG分组的服务器,就是EPG分组的组内成员,属于不同EPG分组的服务器,就是EPG分组的组间成员。同一个EPG分组下,可以包含多个服务器。
GBP(Group Based Policy)
指基于分组的流量控制策略,它规定了分组内部/分组之间的流量控制策略。
设备的默认GBP策略如下,用户可以根据需要修改默认GBP策略,也可以为不同的EPG分组指定各自的GBP策略。- 未知EPG分组成员的默认访问控制策略为permit,即允许未知EPG分组成员之间相互访问。
- EPG分组成员的默认访问控制策略为deny,即所有EPG成员(包括EPG分组的组内成员、EPG分组的组间成员)都不能相互访问。
EPG分组的组内成员的默认访问控制策略为none,即不对EPG分组的组内成员进行访问控制。此时,设备按照EPG分组成员的默认访问控制策略对EPG分组的组内成员进行访问控制。
当EPG分组的组内成员的默认访问控制策略不为none时,EPG分组的组内成员按照配置的默认访问控制策略进行相互访问。
VXLAN报文头中的微分段信息
- G标志位:该位默认为0。当此位置为1时,表示VXLAN报文头中通过Group Policy ID字段携带源端服务器所属的EPG组号。
- Group Policy ID字段:当G标志位为1时,表示该字段中的值为源端服务器所属的EPG组号。
工作机制
微分段应用在VXLAN网络中,其在报文的目的VTEP上按照GBP策略的要求对报文进行流量控制。因此,若需要对双向流量进行控制,则需要在源VTEP和目的VTEP上都部署微分段功能。
三层报文在VXLAN网络中进行本地转发
- VTEP1收到Host1发送给Host2的报文后,从报文中获取源IP地址(192.168.10.1)和目的IP地址(192.168.20.2)。
- VTEP1根据源IP地址(192.168.10.1),按照最长匹配原则查找TCAM表项,获取源端Host1所属的EPG组号(EPG1)。
- VTEP1根据目的IP地址(192.168.20.2)查找路由表信息,发现目的端Host2也连接在VTEP1下面,报文只需进行本地转发。因此,VTEP1根据目的IP地址(192.168.20.2),按照最长匹配原则查找TCAM表项,获取目的端Host2所属的EPG组号(EPG2)。
- VTEP1根据源端Host1所属的组号(EPG1)和目的端Host2所属的组号(EPG2),查找TCAM表项,获取这两个组之间的GBP策略,并按照GBP策略对报文进行流量控制。
三层报文在VXLAN网络中进行跨设备转发
- VTEP1收到Host1发送给Host3的报文后,从报文中获取源IP地址(192.168.10.1)和目的IP地址(192.168.30.3)。
- VTEP1根据源IP地址(192.168.10.1),按照最长匹配原则查找TCAM表项,获取源端Host1所属的EPG组号(EPG1)。
- VTEP1根据目的IP地址(192.168.30.3)查找路由表信息,发现目的端Host3连接在对端VTEP2下面,报文需进行VXLAN封装后,经由VXLAN隧道进行跨设备转发。在进行VXLAN封装时,VTEP1将VXLAN报文头中的G标志位置1,并将源端Host1所属的EPG组号(EPG1)封装在VXLAN报文头的Group Policy ID字段中,然后把经过VXLAN封装的报文发送给对端VTEP2。
- VTEP2收到VTEP1发送的VXLAN报文后,对VXLAN报文进行解封装,发现其中的G标志位置1,则从Group Policy ID字段中获取源端Host1的EGP组号(EPG1)。
- VTEP2根据VXLAN报文的内层目的IP地址(192.168.30.3),按照最长匹配原则查找TCAM表项,获取目的端Host3所属的EPG组号(EPG3)。
- VTEP2根据源端Host1所属的组号(EPG1)和目的端Host3所属的组号(EPG3),查找TCAM表项,获取这两个组之间的GBP策略,并按照GBP策略对报文进行流量控制。