第三层硬件卸载雷竞技官网网站下载(L3HW(也称为IP交换或HW路由)允许将一些路由器功能卸载到交换芯片上。这允许在路由数据包时达到线路速度,这在CPU上是不可能实现的。
启用三层硬件卸载,请设置雷竞技官网网站下载l3-hw-offloading = yes交换机:
/interface/ethernet/switch set 0 l3-hw-offloading=yes
交换机每个物理端雷竞技官网网站下载口均可配置“三层硬件卸载”。例如:
/interface/ethernet/switch/port set sfp-sfpplus1 l3-hw-offloading=yes
注意交换机和端口的l3hw设置是不同的:
l3-hw-offloading
=没有
启用全硬件路由,在所有交换机端雷竞技官网网站下载口上启用l3hw:
/interface/ethernet/switch set 0 l3-hw-offloading=yes /interface/ethernet/switch/port set [find] l3-hw-offloading=yes
为了让所有数据包首先通过CPU,并且只卸载Fasttrack连接,在所有端口上禁用l3hw,但在交换机芯片上保持启用:
/interface/ethernet/switch set 0 l3-hw-offloading=yes /interface/ethernet/switch/port set [find] l3-hw-offloading=no
只有当源端口和目的端口都存在时,数据包才会被硬件路由雷竞技官网网站下载l3-hw-offloading = yes.如果他们中至少有人见过的话l3-hw-offloading =没有,数据包将通过CPU/防火墙,同时只卸载Fasttrack连接。
l3-hw-offloading = yes
l3-hw-offloading =没有
下一个示例在除上游端口(sfp-sfpplus16雷竞技官网网站下载)之外的所有端口上启用硬件路由。去往/来自sfp-sfpplus16的数据包将进入CPU,因此,受制于防火墙/NAT处理。
/interface/ethernet/switch set 0 l3-hw-offloading=yes /interface/ethernet/switch/port set [find] l3-hw-offloading=yes /interface/ethernet/switch/port set ssfp -sfpplus16 l3-hw-offloading=no
已存在的连接可能不受l3-hw-offloading设置改变。
RouterOS 7.6版本引入了L3HW设置菜单。l雷竞技
子菜单:/interface以太网交换机l3hw-settings
/interface以太网交换机l3hw-settings
财产
描述
只读属性
直接使用接口列表进行控制是不可能的l3-hw-offloading因为接口列表中可能包含虚拟接口(例如VLAN)l3-hw-offloading该设置只能应用于物理交换机端口。例如,如果有两个VLAN接口(vlan20和vlan30)运行在同一个交换机端口(trunk端口)上,则不可能在vlan20上启用硬件路由,而在vlan30上不启用硬件路由。雷竞技官网网站下载
然而,接口列表可以用作端口选择器。下面的例子演示了如何在LAN端口(属于“LAN”接口列表的端口)上启用硬件路由,并在WAN端口上禁雷竞技官网网站下载用它:
:foreach i in=[/interface/list/member/find where list=LAN] do={/interface/ethernet/switch/port set [/interface/list/member/get $i interface] l3-hw-offloading=yes}:foreach i in=[/interface/list/member/find where list=WAN] do={/interface/ethernet/switch/port set [/interface/list/member/get $i interface] l3-hw-offloading=no}
请注意,由于接口列表不直接用于硬件路由控制,雷竞技官网网站下载修改接口列表也不会自动反映到l3hw的变化.例如,将交换机端口添加到“LAN”接口列表中不会自动启用l3-hw-offloading在那。用户必须重新运行上面的脚本以应用更改。
硬件最多雷竞技官网网站下载支持8个MTU配置文件,这意味着用户可以为接口设置8个不同的MTU值:默认1500 + 7个自定义MTU。
/interface/ethernet/switch set 0 l3-hw-offloading=no /interface set sfpplus1 mtu=9000 l2mtu=9022 /interface set sfpplus2 mtu=9000 l2mtu=9022 /interface set sfpplus3 mtu=10000 l2mtu=10022 /interface/ethernet/switch set 0 l3-hw-offloading=yes
第三层硬件处理位雷竞技官网网站下载于第二层硬件处理之上。因此,L3HW卸载需要在底层接口上进行L2HW卸载。后者在默认情况下是启用的,但也有一些例外。例如CRS3xx设备只支持一个硬件桥接。雷竞技官网网站下载如果有多个网桥,其他网桥由CPU处理,不受L3HW影响。
另一个例子是ACL规则。如果规则将流量重定向到CPU进行软件处理,则不会触发硬件路由(L3HW):雷竞技官网网站下载雷电竞app下载官方版苹果
/interface/ethernet/switch/rule/add switch=switch1 ports=ether1 redirect-to-cpu=yes
为了确保第三层在软件和硬件方面都与第二层同步,我们建议在配置第二层特性时禁用L3HW。雷竞技官网网站下载雷电竞app下载官方版苹果该建议适用于以下配置:
简而言之,禁用l3-hw-offloading在下面进行更改时/ /接口/桥而且/ / vlan /接口:
/ /接口/桥
/ / vlan /接口
/interface/ethernet/switch set 0 l3-hw-offloading=no /interface/bridge # put bridge configuration changes here /interface/vlan # define/change vlan interfaces /interface/ethernet/switch set 0 l3-hw-offloading=yes
当启用L3HW卸载时,MAC telnet和RoMON是有限制的98年dx8xxx,98年dx4xxx或98年dx325x开关芯片。来自这些协议的数据包被丢弃,没有到达CPU,因此访问设备将失败。
如果MAC telnet或RoMON与L3HW结合使用,可以创建某些ACL规则强制这些数据包到达CPU。
例如,如果需要在sfp-sfpplus1和sfp-sfpplus2上进行MAC telnet访问,则需要添加此ACL规则。属性可以选择更多的接口港口设置。
港口
/interface以太网交换机规则add dst-port=20561 ports= sftp -sfpplus1, sftp -sfpplus2 protocol=udp redirect-to-cpu=yes switch=switch1
例如,如果需要对sfp-sfpplus2进行RoMON访问,则需要添加此ACL规则。
/interface以太网交换机rule add mac-protocol=0x88BF ports=sfp-sfpplus2 redirect-to-cpu=yes switch=switch1
由于L3HW依赖于L2HW,而L2HW是进行VLAN处理的一个,跨VLAN雷竞技官网网站下载路由需要底层的硬件桥接。雷竞技官网网站下载即使一个VLAN只有一个带标签的端口成员,后者也必须是网桥成员。不要在交换机端口上直接分配VLAN接口!否则L3HW卸载失败,流量会被CPU处理:
/interface/vlan add interface=ether2 name=vlan20 vlan-id=20
将VLAN接口分配到网桥。通过这种方式,VLAN配置被卸载到硬件上,并且启用L3HW后,流量将服从跨VLAN的硬件路由。雷竞技官网网站下载
/interface/ethernet/switch set 0 l3-hw-offloading=no /interface/bridge/port add bridge=bridge interface=ether2 /interface/bridge/vlan add bridge=bridge tagged=bridge,ether2 vlan-ids=20 /interface/vlan add interface=bridge name=vlan20 vlan-id=20 /ip/address add address=192.0.2.1/24 interface=vlan20 /interface/ethernet/switch set 0 l3-hw-offloading=yes
/ /桥/ vlan /接口
Marvell Prestera DX2000和DX3000开关芯片有一个硬件限制,只允许为每个接口配置MAC雷竞技官网网站下载地址的最后一个(最不重要的)字节。其他5个(最重要的)字节是全局配置的,因此对所有接口(交换机端口、网桥、vlan)必须相等。换句话说,MAC地址必须是“XX: XX: XX: XX: XX: ? ?”,即:
此要求仅适用于第三层(路由)。第2层(桥接)不使用交换机的以太网地址。此外,它不适用于桥接端口,因为它们使用桥接的MAC地址。
通用五个八字节的要求适用于:
缺省情况下,所有参与的路由都是硬件候选路由。雷竞技官网网站下载为了进一步优化要卸载的流量,每个路由都有一个禁用/启用的选项suppress-hw-offload.
suppress-hw-offload
例如,如果我们知道大部分流量流向服务器所在的网络,我们可以只启用卸载到特定的目的地:
/ip/route set [find where static && dst-address!="192.168.3.0/24"] suppress-hw-offload=yes
现在只有到192.168.3.0/24的路由有h标志,表明它将是唯一有资格被选择进行HW卸载的路由:
[admin@雷竞技网站MikroTik] > /ip/route print where static Flags: A - ACTIVE;s - STATIC, y - COPY;H - HW-OFFLOADED列:DST-ADDRESS, GATEWAY, DISTANCE # DST-ADDRESS GATEWAY D 0 As 0.0.0.0/0 172.16.2.1 1 1 As 10.0.0.0/8 10.155.121.254 12 AsH 192.168.3.0/24 172.16.2.1 1
H-flag并不表示该路由实际上是HW offloaded,它只是表示该路由可以被选择为HW offloaded。
对于OSFP和BGP等动态路由协议,可以使用路由过滤器.例如,要抑制所有OSFP实例路由上的HW卸载,使用“suppress-hw-offload是的“属性:
suppress-hw-offload是的
/routing/ospf/instance set [find name=instance1] in-filter-chain=ospf-input /routing/filter/rule add chain="ospf-input" rule="set suppress-hw-offload yes;接受”
防火墙过滤规则具有hw-offloadFasttrack选项,允许微调连接卸载。由于Fasttrac雷竞技官网网站下载k连接的硬件内存非常有限,因此我们可以选择要卸载的连接类型,从而受益于接近线速的流量。下面的例子只卸载TCP连接,而UDP数据包通过CPU路由,不占用HW内存:
hw-offload
/ip/firewall/filter add action=fast -connection chain=forward connection-state=established,related hw-offload=yes protocol=tcp add action=fast -connection chain=forward connection-state=established,related hw-offload=no add action=accept chain=forward connection-state=established,related
虽然连接跟踪和有状态防火墙只能由CPU执行,但硬件可以通过雷竞技官网网站下载交换规则(ACL).下面的例子阻止(在硬件层面上)从ether1访问MySQL服务器雷竞技官网网站下载,并从ether2和ether3重定向到CPU/防火墙数据包:
/interface以太网交换机规则add switch=switch1 dst-address=10.0.1.2/32 dst-port=3306 ports=ether1 new-dst-ports="" add switch=switch1 dst-address=10.0.1.2/32 dst-port=3306 ports=ether2,ether3 redirect-to-cpu=yes
一些防火墙规则可以通过两种方式实现交换规则(ACL)和CPU防火墙过滤+快速HW卸载。这两种选择都提供了接近线速的性能。所以问题是用哪一种?
首先,并非所有设备都支持快速硬件卸载.并且没有HW卸载,防火墙过滤器只使用软件路由,这比它的硬件对手要慢得多。雷竞技官网网站下载雷电竞app下载官方版苹果其次,即使Fasttrack HW Offloading是一个选项,一个经验法则是:
如果可能,总是使用交换规则(ACL)。
交换机规则与Fastrack连接共享硬件内存。雷竞技官网网站下载但是,硬件资源是为雷竞技官网网站下载每个Fasttrack连接分配的,而一条ACL规则可以匹配多个连接。例如,如果您有一个客户WiFi网络连接到sfp-sfpplus1 VLAN 10,并且您不希望它访问您的内部网络,只需创建一个ACL规则:
/interface/ethernet/switch/rule add switch=switch1 ports=sfp-sfpplus1 vlan-id=10 dst-address=10.0.0.0/8 new-dst-ports=""
匹配的数据包将在硬件级丢弃。雷竞技官网网站下载这比出租好得多所有客户包到CPU进行防火墙过滤。
当然,ACL规则不能匹配所有内容。例如,ACL规则不能过滤连接状态:接受已建立的连接,丢弃其他连接。这就是Fasttrack HW Offloading开始起作用的地方-默认情况下将数据包重定向到CPU进行防火墙过滤,然后卸载已建立的Fasttrack连接。然而,禁用l3-hw-offloading对于整个交换机端口不是唯一的选择。
使用以下命令定义ACL规则redirect-to-cpu = yes而不是设置l3-hw-offloading =没有用于缩小流向CPU的流量。
redirect-to-cpu = yes
这个示例演示了如何在保持防火墙和NAT在上游端口上运行的同时,从近乎线速的vlan间路由中获益。此外,到上游端口的Fasttrack连接也被卸载到硬件,将流量速度提高到接近有线水平。雷竞技官网网站下载vlan间的流量完全由硬件路由,不经过CPU/防火墙,不占用Fasttrack连接的雷竞技官网网站下载硬件内存。
我们使用CRS317-1G-16S +用以下设置建模:
安装界面列表,方便访问:
/interface list add name=LAN add name=WAN add name=MGMT /interface list成员add interface= LAN add interface= sfpplus1 list=LAN add interface= sfpplus2 list=LAN add interface= sfpplus3 list=LAN add interface= sfpplus4 list=LAN add interface= sfpplus5 list=LAN add interface= sfpplus6 list=LAN add interface= sfpplus7 list=LAN add interface= sfpplus8 list=WAN add interface=ether1 list=MGMT
/interface bridge add name=bridge vlan-filtering=yes /interface bridge port add bridge=bridge interface=sfp-sfpplus2 pvid=20 add bridge=bridge interface=sfp-sfpplus3 pvid=20 add bridge=bridge interface=sfp-sfpplus4 pvid=20 add bridge=bridge interface=sfp-sfpplus5 pvid=30 add bridge=bridge interface=sfp-sfpplus6 pvid=30 add bridge=bridge interface=sfp-sfpplus7 pvid=30 add bridge=bridge interface=sfp-sfpplus8 pvid=30 /interface -sfpplus8 pvid=30 /interface bridge vlan addBridge = Bridge tagged= Bridge untagged=sfp-sfpplus1,sfp-sfpplus2,sfp-sfpplus3,sfp-sfpplus4 vlan-ids=20 add Bridge = Bridge tagged= Bridge untagged=sfp-sfpplus5,sfp-sfpplus6,sfp-sfpplus7,sfp-sfpplus8 vlan-ids=30
路由需要专用的VLAN接口。对于标准的L2 VLAN桥接(没有VLAN间路由),下一步可以省略。
/interface vlan add interface=网桥名称=vlan20 vlan-id=20 add interface=网桥名称=vlan30 vlan-id=30 /ip地址add address=192.168.20.17/24 interface=vlan20 network=192.168.20.0 add address=192.168.30.17/24 interface=vlan30 network=192.168.30.0
配置管理和上游端口,基本防火墙,NAT,并启用Fasttrack连接的硬件卸载:雷竞技官网网站下载
/ip address add address=192.168.88.1/24 interface=ether1 add address=10.0.0.17/24 interface=sfp-sfpplus16 /ip route add gateway=10.0.0.1 /ip firewall filter add action=fasttrack-connection chain=forward connection-state=established,related hw-offload=yes add action=accept chain=forward connection-state=established,related /ip firewall nat add action=masquerade chain=srcnat out-interface-list=WAN
此时,所有的路由仍然由CPU执行。在交换机芯片上雷竞技官网网站下载启用硬件路由:
#局域网端口上启用完全硬件路雷竞技官网网站下载由:foreach i =[/接口/列表/会员/找到=局域网]做={/接口/以太网/开关/端口设置[/接口/清单/会员/美元我接口]l3-hw-offloading = yes} #禁用完全硬件路由WAN或管理港口:foreach i =[/接口/清单/会员/找到列表= WAN或=管理]做={/接口/以太网/开关/端口设置[/接口/清单/会员/美元我接口]l3-hw-offloading = no} #激活第三层硬件卸载开关芯片/接口/以太网/交换机/set 0 l3-hw-offloading=yes
结果:
以下是配置第三层硬件卸载的典型用户错误。雷竞技官网网站下载
. /interface vlan add name=vlan10 vlan-id=10 interface= sfpplus1 .使用实例
由于二层依赖关系,VLAN接口必须设置在网桥上。否则,L3HW将无法工作。正确的配置是:
/interface bridge port add bridge=bridge1 interface= sfpplus1 pvid=10 /interface bridge vlan add bridge=bridge1 tagged=bridge1,sfp-sfpplus1 vlan-ids=10 /interface vlan add name=vlan10 vlan-id=10 interface=bridge1
对于跨vlan路由,桥接接口本身需要被添加到指定vlan的带标签成员中。在下一个示例中,VLAN 10和VLAN 11之间可以进行跨VLAN路由,但报文不会被路由到VLAN 20。
/interface bridge vlan add bridge=bridge1 vlan-ids=10 tagged=bridge1,sfp-sfpplus1 add bridge=bridge1 vlan-ids=11 tagged=bridge1 untagged= sfpplus2,sfp-sfpplus3 add bridge=bridge1 vlan-ids=20 tagged=sfp-sfpplus1 untagged=sfp-sfpplus4,sfp-sfpplus5
上面的例子并不总是意味着一个错误。有时,您可能希望设备在某些/所有vlan中充当简单的L2交换机。只是要确保你故意设置这样的行为,而不是因为一个错误。
设备只支持一个硬件桥接。雷竞技官网网站下载如果创建了多个桥,则只有一个桥可以卸载硬件。雷竞技官网网站下载对于L2,这意味着软件转发到其他网桥,而对于L3雷电竞app下载官方版苹果HW,多个网桥可能会导致未定义的行为。
与其创建多个网桥,不如创建一个并使用VLAN过滤隔离L2网络。
部分设备有两个交换芯片或管理口直接连接到CPU。例如,CRS312-4C + 8 xg有一个ether9连接到独立开关芯片的端口。尝试将该端口添加到网桥或将其包含在L3HW设置中会导致意想不到的结果。离开管理接口进行管理!
[admin@crs312] /interface/ethernet/switch> print列:NAME, TYPE, L3-HW-OFFLOADING # NAME TYPE L3-HW-OFFLOADING 0 switch1 Marvell-98DX8212 yes 1 switch2 atherosclerosis -8227 no [admin@crs312] /interface/ethernet/switch> port print列:名称、开关、L3-HW-OFFLOADING, STORM-RATE #名称开关L3-HW-OFFLOADING STORM-RATE 0 ether9 switch2 1 ether1 switch1是的100 2 ether2 switch1是的100年3 ether3 switch1是的100 4 ether4 switch1是的100 5 ether5 switch1是的100年6 ether6 switch1是的100年7 ether7 switch1是的100年8 ether8 switch1是的100年9 combo1 switch1是的100年10 combo2 switch1是的100年11 combo3 switch1是的100年12 combo4 switch1是的100年13 switch1-cpu switch1 100 14 switch2-cpu switch2
由于Fasttrack HW Offloading以零配置开销提供接近线速的性能,用户试图将其作为默认解决方案。但是,HW Fasttrack连接的数量非常有限,将其他流量留给了CPU。尝试尽可能多地使用硬件路由,雷竞技官网网站下载通过交换机ACL规则将CPU流量减少到最小,然后使用防火墙过滤规则对要卸载的Fasttrack连接进行微调。
/接口/以太网/开关/ l3hw-settings /设置ipv6-hw = yes
/ip/route add dst-address=10.0.99.0/24 blackhole .日志含义
/ip/route add dst-address=10.0.0.0/24 gateway=ether1 .使用实例
这只适用于直接连接的网络。由于HW不知道如何发送ARP请求,CPU发送ARP请求并等待应答,以便在与DST IP地址匹配的连接的第一个收到的数据包上查找DST MAC地址。确定DST MAC后,添加HW表项,所有后续报文由交换机芯片处理。
/接口/键
只有如下表所示的设备支持L3 HW Offloading功能。
下面的设备是基于迈威尔公司98年dx224s 98 dx226s,或98年dx3236芯片型号切换。这些设备不支持Fasttrack或NAT连接卸载。
的98年dx3255而且98年dx3257型号是例外,具有DX8000而不是DX3000系列的功能集。
1由于可以卸载的路由总量有限,因此netmask较高的前缀优先被硬件转发(例如/32,/30,/29等),任何不符合HW表的其他前缀都将被CPU处理。雷竞技官网网站下载直连主机被卸载为/32 (IPv4)或/128 (IPv6)路由前缀。主机数量也受max-neighbor-entries in的限制IP设置/IPv6的设置.
2IPv4和IPv6路由表共享相同的硬件内存。雷竞技官网网站下载
3.如果一条路由的路径数量超过硬件ECMP限制(X),则只有前X条路径被卸雷竞技官网网站下载载。
下面的设备是基于Marvell 98 dx8xxx,98年dx4xxx切换芯片,或者98年dx325x模型。
1这取决于路由表的复杂程度。全字节IP前缀(/8,/16,/24等)比其他IP前缀(/ 22等)占用更少的硬件空间。从l雷竞技RouterOS v7.3当Routing HW表满时,只有较长的子网前缀路由被卸载(/30,/29,/28等),而CPU处理较短的子网前缀。在Rol雷竞技uterOS v7.2及之前版本中,路由HW内存溢出导致未定义行为。用户可以通过路由过滤器(针对动态路由)或抑制静态路由的硬件卸载来微调要卸载的路由。雷竞技官网网站下载IPv4和IPv6路由表共享相同的硬件内存。雷竞技官网网站下载
2当Fasttrack或NAT表项达到HW限制时,其他连接将退回到CPU。雷竞技网站MikroTik的智能连接卸载算法确保流量最大的连接被卸载到硬件。雷竞技官网网站下载
3.Fasttrack连接与ACL规则共享相同的HW内存。根据ACL规则的复杂程度,一条ACL规则可能占用3-6个Fasttrack连接的内存。
4MPLS与Fasttrack连接共享HW内存。此外,启用MPLS需要分配整个内存区域,否则可以存储多达768 (0.75K)个Fasttrack连接。同样适用于桥接端口扩展器。但是,MPLS和BPE可能使用相同的内存区域,因此同时启用它们不会使Fasttrack连接的限制加倍。
5如果Fasttrack连接需要进行网络地址转换,则会创建硬件NAT表项。雷竞技官网网站下载硬件同时雷竞技官网网站下载支持SRCNAT和DSTNAT。
6该开关芯片具有DX8000系列的功能集。
7DX4000/DX8000交换机芯片将直连主机、IPv4 /32、IPv6 /128路由表项存储在FDB表中,而不是路由表中。HW内存在常规FDB L2表项(MAC)、IPv4和IPv6地址之间共享。主机数量也受max-neighbor-entries in的限制IP设置/IPv6的设置.
8IPv4和IPv6路由表共享相同的硬件内存。雷竞技官网网站下载
1该开关芯片具有DX8000系列的功能集。