网络设备负责转发从终端出来的完整的数据包,当然网络设备也有自己的操作系统和常规的PC,服务器一样可以通过tcp/ip 通信。在没有路由表的情况下至少直接的网络可以通过广播,或者组播通信。这位就解释了,没有路由表的情况下,数据 是怎样通信的。恰当的比喻路和交通规则之间的关系。
分类: NetWork
NetWork 什么是Evpn
EVPN(Ethernet Virtual Private Network)是下一代全业务承载的VPN解决方案。EVPN统一了各种VPN业务的控制面,利用BGP扩展协议来传递二层或三层的可达性信息,实现了转发面和控制面的分离。
EVPN解决传统L2VPN的无法实现负载分担、网络资源的消耗较高等不足,同时也可以对L3VPN业务进行承载,降低了协议的复杂程度。EVPN还将IP VPN流量均衡和部署灵活的优势引入到了以太网中。种种优势使其广泛应用于大型数据中心二层网络互连场景。
Network 数据中心 M-LAG What, How & Why
为什么需要M-LAG(为什么出现这门技术 why)
如何实现M-LAG组网
M-LAG是如何工作的(How)
如何应用M-LAG技术
为什么需要M-LAG
近几年来,M-LAG作为一项横向虚拟化技术被广泛使用,然而M-LAG技术的发展并非一蹴而就。
众所周知,传统的数据中心网络采用设备和链路冗余保证高可靠性。因其链路利用率低和网络维护成本高,数据中心交换机又提出了堆叠技术,将多台交换机虚拟成一台交换机,达到简化网络部署和降低网络维护的目的。
为了满足业务量增大和对网络更高可靠性的要求,于是出现了M-LAG虚拟化技术,通过多台设备间的链路聚合将链路的可靠性从单板级提高到设备级。
STP+VRRP技术
传统的数据中心网络采用STP+VRRP协议来保障链路冗余,满足了基本的可靠性需求。

堆叠和M-LAG虚拟化技术
堆叠和M-LAG实现跨设备链路聚合提高二层链路利用率,M-LAG的双活网关技术提高了三层链路利用率,且服务器可以通过链路聚合实现双活接入设备。

堆叠和M-LAG虚拟化技术示意图
M-LAG和堆叠都可以解决传统数据中心网络的问题,但从业务稳定性考虑,通常选择M-LAG。
堆叠和M-LAG作为广泛运用于数据中心网络接入层的两种横向虚拟化技术,他们都可实现终端的冗余接入,实现链路冗余备份,提高数据中心网络的可靠性和可扩展性。然而,与堆叠技术相比,M-LAG存在更高的可靠性和独立升级的优势。M-LAG不仅解决了传统聚合链路可靠性低的问题,同时规避了堆叠在升级过程中时间长、风险高等缺点。
对比了堆叠和M-LAG的优劣。针对升级过程业务中断时间要求高、对组网可靠性要求高的场景,我们推荐用户使用M-LAG技术,用作数据中心网络终端接入技术。
M-LAG 是数据中心交换机CloudEngine 中的特性,M—LAG是指跨设备的链路聚合组,是将一台设备与另外2台设备进行跨设备的链路聚合,组成双活系统。主要用于服务器双归接入,将可靠性从链路级提高到了设备级。


M-LAG 典型组网


| 概念 | 说明 |
| M-LAG主设备 | 部署M-LAG且状态为主的设备。 |
| M-LAG备设备 | 部署M-LAG且状态为备的设备。 说明: 正常情况下,主设备和备设备同时进行业务流量的转发。 |
| peer-link链路 | peer-link链路是一条直连链路且必须做链路聚合,用于交换协商报文及传输部分流量。 为了增加peer-link链路的可靠性,推荐采用多条链路做链路聚合。 |
| peer-link接口 | peer-link链路两端直连的接口均为peer-link接口。 |
| 双主检测链路 | 双主检测链路是一条三层互通链路,用于M-LAG主备设备间按照1秒的周期发送双主检测报文,用于peer-link链路故障时进行双主检测。 |
| M-LAG成员接口 | M-LAG主备设备上连接用户侧主机(或交换设备)的Eth-Trunk接口。 为了增加可靠性,推荐链路聚合配置为LACP模式。 |
M-LAG 应用场景
交换机双归接入

服务器双归接入
服务器双归接入时的配置和一般的链路聚合配置没有差异,必须保证服务器侧和交换机侧的链路聚合模式一致,推荐两端均配置为LACP模式。

多级M-LAG 场景
SwitchA和SwitchB之间部署M-LAG后,在SwitchC和SwitchD之间部署M-LAG并与下层的M-LAG进行级联,这样不仅可以简化组网,而且在保证可靠性的同时可以扩展双归接入服务器的数量。多级M-LAG互联必须基于V-STP方式进行配置。

Network OSPF 规划案例

可以看到这是一个大型园区网络,核心、汇聚、接入三层分明,有多出口到Internet,网络内部存在双链路冗余,核心、汇聚交换机部署集群保护等。这种大型园区网络,园区出口设备一般选用华为NE系列高端路由器,核心交换机选用华为S9700交换机集群,汇聚交换机选用S7700交换机集群。用户网关部署在汇聚层上,汇聚层作为二层和三层的分界点。
由于上述典型园区网络中核心交换机和汇聚交换机都属于集群系统,因此他们在逻辑上相当于一台设备,多链路捆绑在逻辑上也属于一条链路。因此为了简化问题的描述我们把上述网络拓扑经过抽象形成图3所示的逻辑拓扑图,园区网中可能存在很多幢楼,这里我们以3幢为例进行描述

如无特殊要求,建议不要在OSPF进程中发布loopback0的接口地址,以减少无用的OSPF信息交互报文
稳定性规划 router-id
| 命令 | 含义 |
| [S9700]interface LoopBack 0 | 创建环回接口0 |
| [S9700-LoopBack0]ip address 10.0.0.3 32 | 为环回接口0配置32位掩码的IP地址 |
| [S9700-LoopBack0]quit | 退出当前视图 |
| [S9700] ospf 1 router-id 10.0.0.3 | 创建OSPF进程1并设置Router ID为10.0.0.3 |
(1) 首选手工配置的 router id。
① OSPF 进程手工配置的 router-id 具有最高优先级。
②在全局模式下配置的公用 router-id 的优先级仅次于直接给
OSPF 进程手工配置 router-id, 具有次高优先级。
(2) 在没有手工配置时,选 loopback 接口地址中最大的地址作为 router-id。
(3) 在没有配置 loopback 接口地址时,优选其他接口的 IP 地址中选择最大的地址作为 router-id

层次性规划
| 命令 | 含义 |
| [S9700]ospf 1 | 进入OSPF进程视图 |
| [S9700-ospf-1]area 0 | 进入area 0区域视图 |
| [S9700-ospf-1-area-0.0.0.0]network 10.200.10.0 0.0.0.3 | 将上行口的网段发布进Area 0 |
| [S9700-ospf-1-area-0.0.0.0]network 10.200.20.0 0.0.0.3 | 将上行口的网段发布进Area 0 |
| [S9700-ospf-1-area-0.0.0.0]quit | 退出当前视图 |
| [S9700-ospf-1]area 10 | 进入area 10区域视图 |
| [S9700-ospf-1-area-0.0.0.10]network 10.100.10.0 0.0.0.3 | 将下行口的网段发布进Area 10 |

OSPF特殊 区域规划:
典型OSPF网络的非骨干区域中都仅仅需要知道缺省路由出口在哪里,因此建议把非骨干区域统一规划成Totally NSSA区域,这样将极大的精简非骨干区域内部路由器的路由条目数量,并且减少区域内部OSPF交互的信息量。

Totally NSSA 区域具体设备配置以Area 10 的S9700集群和S7700-1为例。
S9700集群的关键配置如下:
| 命令 | 含义 |
| [S9700]ospf 1 | 进入OSPF进程视图 |
| [S9700-ospf-1]area 10 | 进入area 10区域视图 |
| [S9700-ospf-1-area-0.0.0.10] nssa no-summary | ABR设备需要配置nssa no-summary |
S7700-1的关键配置如下:
| 命令 | 含义 |
| [S7700-1]ospf 1 | 进入OSPF进程视图 |
| [S7700-1-ospf-1]area 10 | 进入area 10区域视图 |
| [S7700-1-ospf-1-area-0.0.0.10] nssa | 非ABR设备配置nssa即可 |
骨干区域路由表规划:
建议新建OSPF网络能够在前期就作出利于路由汇总的IP网络设计,对于扩建的网络尽量进行IP地址的重新规划,通过区域汇总能精简骨干区域路由器的路由表,减少骨干区域内OSPF交互的信息量
abr-summary命令只能用在ABR(区域边界路由器)上,区域内部路由器上不要使用此条命令,否则会造成路由表项的错误。

| 命令 | 含义 |
| [S9700] ospf 1 | 进入OSPF进程视图 |
| [S9700-ospf-1] area 10 | 进入area 10区域视图 |
| [S9700-ospf-1-area-0.0.0.10] abr-summary 10.10.0.0 255.255.0.0 | ABR设备进行路由汇总 |
上行流量的引导
OSPF缺省路由的引入和选路优化,典型网络的出口往往不止一个,如何有效的将出口流量分担到多条链路上就成为了OSPF设计中的一个难点。虽然有很多种手段能够达到分担流量的目的,但是最简单也是最安全的方法是使用OSPF内在的选路机制。因为OSPF路由器对一条路由的优劣衡量是通过计算其cost值来实现的,cost值小的路由会被路由器优先放入路由表。通过调整OSPF接口的cost值可以使得路由器选择不同的链路出口来达到负载分担的目的。使用bandwidth-reference value命令选择一个合适的参考带宽成为OSPF网络建设中必须要做的一项工作。对于OSPF网络的选路优化,推荐首先选择合适的参考带宽,然后通过调整OSPF接口cost值来实现。
| 命令 | 含义 |
| [NE40E-1] ip route-static 0.0.0.0 0.0.0.0 202.10.10.1 | 首先在NE40E-1上手工配置一条下一跳指向电信运营商的公网地址的缺省路由 |
| [NE40E-1] ospf 1 | 进入OSPF进程视图 |
| [NE40E-1-ospf-1] default-route-advertise | 发布缺省路由,注意不要携带always参数,即非强制下发缺省路由。 |

黑洞路由:
注意网络中的黑洞路由,也就是一个不存在的路由在网络汇总的时候形成的路由环路。
[S9700] ip route-static 10.10.0.0 255.255.0.0 NULL0
NUll0 是路由器上的逻辑接口
静默端口
用户侧的网络使用静默端口。
