一、链路聚合
1、采用链路聚合技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,来达到增加链路带宽的目的。而且在实现增大带宽目的的同时,链路聚合采用备份链路的机制,可以有效的提高设备之间链路的可靠性。
2、应用场景:
(1)问题:在企业网络中,所有设备的流量在转发到其他网络前都会汇聚到核心层,再由核心区设备转发到其他网络,或者转发到外网。因此,在核心层设备负责数据的高速交换时,容易发生拥塞;
(2)解决:在核心层部署链路聚合,可以提升整个网络的数据吞吐量,解决拥塞问题。
3、优点:
(1)链路聚合能够提高链路带宽:理论上,通过聚合几条链路,一个聚合口的带宽可以扩展为所有成员口带宽的总和,这样就有效地增加了逻辑链路的带宽。
(2)链路聚合为网络提供了高可靠性:配置了链路聚合之后,如果一个成员接口发生故障,该成员口的物理链路会把流量切换到另一条成员链路上。
(3)链路聚合还可以在一个聚合口上实现负载均衡:一个聚合口可以把流量分散到多个不同的成员口上,通过成员链路把流量发送到同一个目的地,将网络产生拥塞的可能性降到最低。
4、链路聚合的模式:
(1)手工负载分担模式(默认情况下):手工进行配置,而且该模式下所有活动链路都参与数据的转发,平均分担流量,因此称为负载分担模式。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。
原则:可以基于目的MAC地址,源MAC地址,或者基于源MAC地址和目的MAC地址,源IP地址,目的IP地址,或者基于源IP地址和目的IP地址进行负载均衡。
(2)LACP模式:
******链路两端的设备相互发送LACP报文,协商聚合参数;
******协商完成后,两台设备确定活动接口和非活动接口。在LACP模式中,需要手动创建一个Eth-Trunk口,并添加成员口。(LACP模式也叫M:N模式:M代表活动成员链路——用于在负载均衡模式中转发数据。N代表非活动链路——用于冗余备份。如果一条活动链路发生故障,该链路传输的数据被切换到一条优先级最高的备份链路上,这条备份链路转变为活动状态。)
******选举活动接口、非活动接口******
***选取主动端***:
(1)系统LACP优先级(默认:32768)+MAC地址
系统优先级:是为了区分两端设备优先级的高低而配置的参数;
LACP模式下,两端设备所选择的活动接口必须保持一致,否则链路聚合组就无法建立。可以使其中一端具有更高的优先级,另一端根据高优先级的一端来选择活动接口即可。系统LACP优先级值越小优先级越高。
***选取主动端上的活动接口***:
(2)接口LACP优先级(默认:32768)+端口号 关键点:端口号的大小
接口LACP优先级:是为了区别同一个Eth-Trunk中的不同接口被选为活动接口的优先程度,优先级高的接口将优先被选为活动接口。接口LACP优先级值越小,优先级越高。
5、数据流的控制:
(1)在一个聚合口中,聚合链路两端的物理口(即成员口)的所有参数必须一致,包括物理口的数量,传输速率,双工模式和流量控制模式。成员口可以是二层接口或三层接口。
(2)数据流在聚合链路上传输,数据顺序必须保持不变。一个数据流可以看做是一组MAC地址和IP地址相同的帧。
(3)为了避免数据包乱序的现象,Eth-Trunk采用逐流负载分担的机制,这种机制把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,从而出接口也就不同,这样既保证了同一数据流的帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担,即逐流的负载分担。逐流负载分担能保证包的顺序,但是不能保证带宽利用率。
6、二层链路聚合的配置内容:
(1)配置Eth-Trunk口和成员口,需要注意以下规则:
**只能删除不包含任何成员口的Eth-Trunk口。
**把接口加入Eth-Trunk口时,二层Eth-Trunk口的成员口必须是二层接口,三层Eth-Trunk口的成员口必须是三层接口。
**一个Eth-Trunk口不能充当其他Eth-Trunk口的成员口。
**一个以太接口只能加入一个Eth-Trunk口。如果把一个以太接口加入另一个Eth-Trunk口,必须先把该以太接口从当前所属的Eth-Trunk口中删除。
**一个Eth-Trunk口的成员口类型必须相同。例如,一个快速以太口(FE口)和一个千兆以太口(GE口)不能加入同一个Eth-Trunk。
**如果成员口的速率不同,速率较低的接口可能会拥塞,报文可能会被丢弃。
(2)配置注意要点:
**使用Eth-Trunk的必须是以太网链路,原因是Eth-Trunk只是适用于以太网;
**进行Eth-Trunk相关配置前,其下的接口成员必须是空配置;
**Eth-Trunk链路不支持嵌套;
**Eth-Trunk链路两端相连的物理接口的数量、速率、双工方式、流控方式必须一致。
7、三层链路聚合配置内容:
(1)如果要在路由器上配置三层链路聚合,需要首先创建Eth-Trunk接口,然后在Eth-Trunk逻辑口上执行undo portswitch命令——把聚合链路从二层转为三层链路。
(2)执行undo portswitch命令后,可以为Eth-Trunk逻辑口分配一个IP地址。
8、相关配置命令总结:
(1)执行interface Eth-trunk <trunk-id>命令——配置链路聚合;该命令创建了一个Eth-Trunk口,并且进入该Eth-Trunk口视图。trunk-id用来唯一标识一个Eth-Trunk口,该参数的取值可以是0到63之间的任何一个整数。如果指定的Eth-Trunk口已经存在,执行interface eth-trunk命令会直接进入该Eth-Trunk口视图。
(2)执行display interface eth-trunk <trunk-id>命令——查看信息;
二、VLAN原理和配置
1、VLAN——虚拟局域网:是将一个物理的局域网在逻辑上划分成多个广播域的技术。
2、通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。
3、VLAN技术部署在数据链路层,用于隔离二层流量。同一个VLAN内的主机共享同一个广播域,它们之间可以直接进行二层通信。而VLAN间的主机属于不同的广播域,不能直接实现二层互通。这样,广播报文就被限制在各个相应的VLAN内,同时也提高了网络安全性。
4、VLAN帧的格式:
(1)不带标签的Untagged帧——普通的Ethernet-II帧;
(2)带标签的Tagged帧
(3)帧的控制信息:
**Priority字段:3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。当交换机阻塞时,优先发送优先级高的数据帧。
**CFI字段:1比特,CFI表示MAC地址是否是经典格式。CFI为0说——经典格式,CFI为1——非经典格式。
作用:用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。
**VLAN Identifier字段:VLAN ID,12比特,在X7系列交换机中,可配置的VLAN ID取值范围为0~4095,但是0和4095在协议中规定为保留的VLAN ID,不能给用户使用。
5、链路的类型:用户主机和交换机之间的链路为接入链路——Access链路,交换机与交换机之间的链路为干道链路——Trunk链路。
(1)Access链路(接入链路):该链路上通过的是不带Tag的Untagged帧;
(2)Trunk链路(干道链路):干道链路上通过的帧一般为带Tag的VLAN帧;
6、端口的类型:
(1)Access口:是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID通过本端口。
收发数据帧的规则:
***Access端口在收到数据后会添加VLAN Tag,VLAN ID和端口的PVID相同:如果该端口收到对端设备发送的帧是untagged(不带VLAN标签),交换机将强制加上该端口的PVID。
***Access端口在转发数据前会移除VLAN Tag:如果该端口收到对端设备发送的帧是tagged(带VLAN标签),交换机会检查该标签内的VLAN ID。当VLAN ID与该端口的PVID相同时,接收该报文。当VLAN ID与该端口的PVID不同时,丢弃该报文。
***Access端口发送数据帧时,总是先剥离帧的Tag,然后再发送。Access端口发往对端设备的以太网帧永远是不带标签的帧。
(2)Trunk 口:是交换机上用来和其他交换机连接的端口,它只能连接干道链路。Trunk端口允许多个VLAN的帧(带Tag标记)通过。
收发数据帧的规则:
***当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。
***当接收到对端设备发送的带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文(不管PVID是否相同,直接透传,不做处理);否则丢弃该报文。
***端口发送数据帧时,当VLAN ID与端口的PVID相同,且是该端口允许通过的VLAN ID时,去掉Tag,发送该报文。
***当VLAN ID与端口的PVID不同,且是该端口允许通过的VLAN ID时,保持原有Tag,发送该报文(直接透传)。
(3)Hybrid口:是交换机上既可以连接用户主机,又可以连接其他交换机的端口。
***Hybrid端口既可以连接接入链路又可以连接干道链路。
***Hybrid端口允许多个VLAN的帧通过,并可以在出端口方向将某些VLAN帧的Tag剥掉。
***Hybrid端口可以以Tagged 或Untagged方式加入VLAN 。
***华为设备默认的端口类型是Hybrid。
收发数据帧的规则:
***当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。
***当接收到对端设备发送的带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。
***Hybrid端口发送数据帧时,将检查该接口是否允许该VLAN数据帧通过。如果允许通过,则可以通过命令配置发送时是否携带Tag。
***执行port hybrid tagged vlan vlan-id命令后,接口发送该vlan-id的数据帧时,不剥离帧中的VLAN Tag,直接发送。该命令一般配置在连接交换机的端口上。
***配置port hybrid untagged vlan vlan-id命令后,接口在发送vlan-id的数据帧时,会将帧中的VLAN Tag剥离掉再发送出去。该命令一般配置在连接主机的端口上。
6、PVID——端口的VLAN ID,代表端口的缺省VLAN:
(1)交换机从对端设备收到的帧有可能是Untagged的数据帧,但是所有以太网帧在交换机中都是以Tagged的形式来被处理和转发的,因此交换机必须给端口收到的Untagged数据帧添加上Tag。
(2)当该端口收到Untagged数据帧时,交换机将给它加上该缺省VLAN的VLAN Tag。
(3)缺省情况下,华为X7系列交换机每个端口的PVID都是1。
7、VLAN相关配置命令总结:
(1)vlan xxx——创建VLAN;VLAN ID的取值范围是1到4094。如需创建多个VLAN,
(2)vlan batch xx to xx ——创建多个连续的VLAN;
(3)vlan batch xx xx——创建多个不连续的VLAN;VLAN号之间需要有空格。
(4)display vlan——验证配置结果;如果不指定任何参数,则该命令将显示所有VLAN的简要信息。
(5)display vlan xx——可以查看指定VLAN的详细信息,包括VLAN ID、类型、描述、VLAN的状态、VLAN中的端口、以及VLAN中端口的模式等。
(6)display vlan xx statistics——可以查看指定VLAN中的流量统计信息。
(7)display vlan summary——可以查看系统中所有VLAN的汇总信息。
(8)port link-type ——端口类型的配置;
(9)port +接口——把端口加入VLAN,需先进到VLAN视图下;
(10)port default vlan ——把端口加入VLAN,需先进去接口视图下;
(11)port trunk allow-pass vlan xx xx——可以配置端口允许的VLAN,all表示允许所有VLAN的数据帧通过;
(12)port trunk pvid vlan xx——可以修改Trunk端口的PVID。修改Trunk端口的PVID之后,需要注意:缺省VLAN不一定是端口允许通过的VLAN。
(13)port hybrid tagged vlan——用来配置允许哪些VLAN的数据帧以Tagged方式通过该端口。
(14)port hybrid untagged vlan ——用来配置允许哪些VLAN的数据帧以Untagged方式通过该端口。
三、VLAN间路由
1、部署了VLAN的传统交换机不能实现不同VLAN间的二层报文转发,因此必须引入路由技术来实现不同VLAN间的通信。VLAN路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现。
2、VLAN在分割广播域的同时也限制了不同VLAN间的主机进行二层通信的能力。
3、实现方法:
(1)单臂路由:将交换机和路由器之间的链路配置为Trunk链路,并且在路由器上创建子接口以支持VLAN路由。
一个子接口代表了一条归属于某个VLAN的逻辑链路。
配置子接口时,需要注意以下几点:
***必须为每个子接口分配一个IP地址。该IP地址与子接口所属VLAN位于同一网段。
***需要在子接口上配置802.1Q封装,来剥掉和添加VLAN Tag,从而实现VLAN间互通。
***在子接口上执行命令arp broadcast enable——使能子接口的ARP广播功能。
(2)VLAN路由——三层交换:为每个VLAN创建一个VLANIF接口作为网关。
***给每个VLANIF接口配置一个IP地址。用户设置的缺省网关就是三层交换机中VLANIF接口的IP地址。
***Vlanif的编号与VLAN有关;
4、单臂路由-相关配置命令总结:
(1)port link-type trunk——配置Trunk类型的端口。
(2)port trunk allow-pass vlan ——配置允许VLAN 的数据通过。
(3)interface g0/0/1.1(举个例子,哈哈哈哈,方法是一样的)——用来创建子接口。后面的./1.1代表物理接口内的逻辑接口通道。
(4)dot1q termination vid(终结VLAN标签的命令)——用来配置子接口dot1q封装的单层VLAN ID。
***缺省情况,子接口没有配置dot1q封装的单层VLAN ID。
***该命令执行成功后,终结子接口对报文的处理如下:接收报文时,剥掉报文中携带的Tag后进行三层转发。转发出去的报文是否带Tag由出接口决定。发送报文时,将相应的VLAN信息添加到报文中再发送。
dot1q termination vid(终结VLAN标签的命令)命令的功能:
第一个功能:删除VLAN标签。接口在收到VLAN报文后,剥掉报文中携带的Tag后进行三层转发。
第二个功能:添加VLAN标签。接口在发送报文时,将相应的VLAN信息添加到报文中再发送。
(5)arp broadcast enable命令——用来使能终结子接口的ARP广播功能。
***缺省情况下,终结子接口没有使能ARP广播功能。终结子接口不能转发广播报文,在收到广播报文后它们直接把该报文丢弃。为了允许终结子接口能转发广播报文,可以通过在子接口上执行此命令。
5、三层交换-相关配置命令总结:
(1)在三层交换机上配置VLAN路由时,首先创建VLAN,并将端口加入到VLAN中。
(2)interface vlanif xxx——用来创建VLANIF接口并进入到VLANIF接口视图。xxx表示与VLANIF接口相关联的VLAN编号。VLANIF接口的IP地址作为主机的网关IP地址,和主机的IP地址必须位于同一网段。
四、综合配置
我们在进行多层次的配置时,一般都是从下往上进行配置,也通常进行区域化的配置~~~~~~~
首先,将各个部门的IP地址、网关地址、子网掩码等信息配置完成。
实验要求1:部门A和部门B的网关部署在R1上
可以看出,左半部分是一个有关单臂路由实现VLAN间通信的配置过程*****~~~~~*******
过程:S1交换机上划分vlan——配置相关链路的链路类型和允许通过的vlan——路由器上划分子接口,配置网关IP地址
********S1***********
[Huawei]sys S1
[S1]int e0/0/2
[S1-Ethernet0/0/2]port link-type access //与终端相连的链路为Access链路
[S1-Ethernet0/0/2]port default vlan 10 //划入相应的VLAN中
[S1-Ethernet0/0/2]int e0/0/3
[S1-Ethernet0/0/3]port link-type access
[S1-Ethernet0/0/3]port default vlan 20
[S1-Ethernet0/0/3]int g0/0/2
[S1-GigabitEthernet0/0/2]port link-type trunk //交换机之间相连的链路为Trunk链路
[S1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20 //设置允许通过的VLAN
配置过后,可以使用display vlan 查看配置后的结果:
接下来在路由器R1上进行单臂路由的相关配置:
******R1*******
[Huawei]sys R1
[R1]int g0/0/2.10 //进入接口下的逻辑子接口,因为是VLAN 10 的网关,就选为了/2.10
[R1-GigabitEthernet0/0/2.10]ip ad 10.0.1.254 24 //配置IP地址
[R1-GigabitEthernet0/0/2.10]dot1q termination vid 10 //配置终结vlan标签的命令
[R1-GigabitEthernet0/0/2.10]arp broadcast enable //使能arp广播功能
[R1-GigabitEthernet0/0/2.10]int g0/0/2.20
[R1-GigabitEthernet0/0/2.20]ip ad 10.0.2.254 24
[R1-GigabitEthernet0/0/2.20]dot1q termination vid 20
[R1-GigabitEthernet0/0/2.20]arp broadcast enable
配置过后,可以使两台PC机互相ping一下,现在是PC-2 ping PC-1:
可以看到结果中丢失了一个数据包,原因是:PC-1进行了ARP 广播,request主机PC-2的MAC地址是多少,导致TTL超时,数据保丢失。
实验要求2:部门C和服务器的网关部署在S3上,且S2和S3之间要进行链路聚合操作
上面已经重点强调,链路聚合Eth-Trunk接口配置前,其下面的成员接口必须是空配置!!!!!
所以,配置右半边部分的网络时,先进行链路聚合的相关配置:
*******S3*******
[Huawei]sys S3
[S3]int Eth-Trunk 1 //创建Eth-Trunk 接口
[S3-Eth-Trunk1]trunkport e0/0/1 //将相应的接口绑定在一起
[S3-Eth-Trunk1]trunkport e0/0/2
[S3-Eth-Trunk1]q
对端的S2交换机上也要进行相同的配置
*******S2******
[Huawei]sys S2
[S2]int Eth-Trunk1
[S2-Eth-Trunk1]trunkport e0/0/1
[S2-Eth-Trunk1]trunkport e0/0/2
配置链路聚合后,可以开始进行VLAN的相关配置啦~啦~啦
*******S2********
[S2]vlan batch 30 40
[S2]int e0/0/3
[S2-Ethernet0/0/3]port link-type access
[S2-Ethernet0/0/3]port default vlan 30
[S2-Ethernet0/0/3]int e0/0/4
[S2-Ethernet0/0/4]port link-type access
[S2-Ethernet0/0/4]port default vlan 40
[S2-Ethernet0/0/4]int eth-trunk 1
[S2-Eth-Trunk1]port link-type trunk //将Eth-Trunk接口配置为Trunk类型的接口
[S2-Eth-Trunk1]port trunk allow-pass vlan 30 40 //配置允许通过的VLAN
在S3交换机的相应接口上做相同的配置
*****S3******
[S3]int Eth-Trunk 1
[S3-Eth-Trunk1]port link-type trunk
[S3-Eth-Trunk1]port trunk allow-pass vlan 30 40
接下来,进行Vlanif的相关配置
[S3]vlan batch 30 40
[S3]int Vlanif 30
[S3-Vlanif30]ip ad 10.0.3.254 24 //配置部门C的网关
[S3-Vlanif30]int vl40
[S3-Vlanif40]ip ad 10.0.4.254 24 //配置服务器的网关
配置过后,检测配置的结果,PC-3 ping Server:
最后一步:OSPF区域的配置,使两部分连通。。。
*******R1********
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip ad 10.0.13.1 24 //配置接口的IP地址
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255 //宣告直连的网段
[R1-ospf-1-area-0.0.0.0]network 10.0.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.2.0 0.0.0.255
在S3交换机上也进行相应的ospf配置
[S3]int Vlanif 1 //因为该接口默认属于VLAN 1
[S3-Vlanif1]ip ad 10.0.13.3 24 //配置IP地址
[S3-Vlanif1]q
[S3]ospf 1
[S3-ospf-1]area 0
[S3-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[S3-ospf-1-area-0.0.0.0]network 10.0.3.0 0.0.0.255
[S3-ospf-1-area-0.0.0.0]network 10.0.4.0 0.0.0.255
注意啦~注意啦:在OSPF宣告网段的时候,要特别的注意---单臂路由和链路聚合的数量。。。。。不要漏了呦 :)
最后的最后,当然是见证奇迹的时刻啦:
简单的验证了一下部门B和部门C、服务器之间的互通~~~~~
真心不容易啊~~~~~~~~~