05-网络
本章节下载: 05-网络 (2.60 MB)
以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detect,带冲突检测的载波侦听多路访问)的共享通讯介质的数据网络通讯技术,当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至网络不可用等问题。通过交换机实现LAN互联虽然可以解决冲突(Collision)严重的问题,但仍然不能隔离广播报文。在这种情况下出现了VLAN(Virtual Local Area Network,虚拟局域网)技术,这种技术可以把一个LAN划分成多个虚拟的LAN——VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通。这样,广播报文被限制在一个VLAN内,如下图所示。
图1-1 VLAN示意图
VLAN的划分不受物理位置的限制:不在同一物理位置范围的主机可以属于同一个VLAN;一个VLAN包含的用户可以连接在同一个交换机上,也可以跨越交换机,甚至可以跨越路由器。
VLAN的优点如下:
· 限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
· 增强局域网的安全性。VLAN间的二层报文是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,如果不同VLAN要进行通信,则需通过路由器或三层交换机等三层设备。
· 灵活构建虚拟工作组。用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
要使网络设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN的字段。由于普通交换机工作在OSI模型的数据链路层,只能对报文的数据链路层封装进行识别。因此,如果添加识别字段,也需要添加到数据链路层封装中。
IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师学会)于1999年颁布了用以标准化VLAN实现方案的IEEE 802.1Q协议标准草案,对带有VLAN标识的报文结构进行了统一规定。
传统的以太网数据帧在目的MAC地址和源MAC地址之后封装的是上层协议的类型字段,如下图所示。
其中DA表示目的MAC地址,SA表示源MAC地址,Type表示报文所属协议类型。
IEEE 802.1Q协议规定在目的MAC地址和源MAC地址之后封装4个字节的VLAN Tag,用以标识VLAN的相关信息。
图1-3 VLAN Tag的组成字段
如上图所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。
· TPID用来标识本数据帧是否带有VLAN Tag,长度为16bit,缺省取值为0x8100。
· Priority表示报文的802.1P优先级,长度为3bit。
· CFI字段标识MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1bit,取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装,缺省取值为0。
· VLAN ID标识该报文所属VLAN的编号,长度为12bit,取值范围为0~4095。由于0和4095为协议保留取值,所以VLAN ID的取值范围为1~4094。
网络设备利用VLAN ID来识别报文所属的VLAN,根据报文是否携带VLAN Tag以及携带的VLAN Tag值,来对报文进行处理。
· 这里的帧格式以Ethernet II型封装为例,以太网还支持802.2 LLC、802.2 SNAP和802.3 raw封装格式。对于这些封装格式的报文,也会添加VLAN Tag字段,用来区分不同VLAN的报文。
· 对于多VLAN Tag报文,设备会根据其最外层VLAN Tag进行处理,而内层VLAN Tag会被视为报文的普通数据部分。
VLAN根据划分方式不同可以分为不同类型,下面列出了几种最常见的VLAN类型:
· 基于端口的VLAN
· 基于MAC地址的VLAN
· 基于协议的VLAN
· 基于IP子网的VLAN
· 基于策略的VLAN
· 其它VLAN
Web界面目前只支持对基于端口的VLAN的配置,因此,本章中也只对基于端口的VLAN进行介绍。
基于端口划分VLAN是最简单、最有效的VLAN划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发指定VLAN的报文。
根据端口在转发报文时对VLAN Tag的不同处理方式,可将端口的链路连接类型分为三种:
· Access连接:端口发出去的报文不带VLAN Tag。一般用于和不能识别VLAN Tag的终端设备相连,或者不需要区分不同VLAN成员时使用。如图1-4所示,Device A和普通的PC相连,PC不能识别带VLAN Tag的报文,所以需要将Device A和PC相连端口的链路连接类型设置为Access。
· Trunk连接:端口发出去的报文,端口缺省VLAN内的报文不带Tag,其它VLAN内的报文都必须带Tag。通常用于网络传输设备之间的互连。如图1-4所示,Device A和Device B之间需要传输VLAN 2和VLAN 3的报文,所以,需要将Device A和Device B相连端口的链路连接类型设置为Trunk,并允许VLAN 2和VLAN 3通过。
· Hybrid连接:端口发出去的报文可根据需要设置某些VLAN内的报文带Tag,某些VLAN内的报文不带Tag。通常在不确定相连的设备是否支持VLAN Tag(即是否可以识别携带VLAN Tag的报文)时,设置某些VLAN内的报文不带Tag。如图1-4所示,Device C与一个小局域网相连,局域网中有些PC属于VLAN 2,有些PC属于VLAN 3,此时Device B不确定Device C是否支持VLAN Tag,需要将与Device C相连端口的链路连接类型设置为Hybrid,并允许VLAN 2和VLAN 3的报文不带Tag通过。
除了可以设置端口允许通过的VLAN,还可以设置端口的缺省VLAN。在缺省情况下,所有端口的缺省VLAN均为VLAN 1,但用户可以根据需要进行配置。
· Access端口的缺省VLAN就是它所属的VLAN。
· Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置缺省VLAN。
· 当删除某个VLAN时,如果该VLAN是某个端口的缺省VLAN,则对Access端口,端口的缺省VLAN会恢复到VLAN 1;对Trunk或Hybrid端口,端口的缺省VLAN配置不会改变,即它们可以使用已经不存在的VLAN作为缺省VLAN。
· 建议本端设备端口的缺省VLAN和相连的对端设备端口的缺省VLAN保持一致。
· 建议保证端口的缺省VLAN为端口允许通过的VLAN。如果端口不允许某VLAN通过,但是端口的缺省VLAN为该VLAN,则端口会丢弃收到的该VLAN的报文或者不带VLAN Tag的报文。
在配置了端口连接类型和缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况,具体情况如表1-1所示。
端口类型 |
对接收报文的处理 |
对发送报文的处理 |
|
接收的报文不带Tag时 |
接收的报文带有Tag时 |
||
Access |
为报文添加缺省VLAN的Tag |
· 当VLAN与缺省VLAN相同时,接收该报文 · 当VLAN与缺省VLAN不同时,丢弃该报文 |
去掉Tag,发送该报文 |
Trunk |
· 当缺省VLAN在端口允许通过的VLAN列表中时,接收该报文,为报文添加缺省VLAN的Tag · 当缺省VLAN不在端口允许通过的VLAN列表中时,丢弃该报文 |
· 当VLAN在端口允许通过的VLAN列表中时,接收该报文 · 当VLAN不在端口允许通过的VLAN列表中时,丢弃该报文 |
· 当VLAN与缺省VLAN相同,且在端口允许通过的VLAN列表中时,去掉Tag,发送该报文 · 当VLAN与缺省VLAN不同,且在端口允许通过的VLAN列表中时,保持原有Tag,发送该报文 |
Hybrid |
当VLAN在端口允许通过的VLAN列表中时,发送该报文,是否去掉Tag可由用户手动配置 |
表1-2 基于Access端口的VLAN配置步骤
步骤 |
配置任务 |
说明 |
|
1 |
必选 创建一个或多个VLAN |
||
2 |
可选 配置端口的连接类型为Access 缺省情况下,端口的连接类型为Access |
||
3 |
配置Access端口的缺省VLAN |
必选 Access端口只有一个Untagged VLAN,即其缺省VLAN。因此,这三个步骤配置效果相同,同时配置时,以最后的配置为准 缺省情况下,Access端口的Untagged VLAN(即缺省VLAN)为VLAN 1 |
|
4 |
此步骤用于指定在“细节”、“修改VLAN”和“删除”页签页面操作时可选择的VLAN范围。首次进入上述三个页面之前,必须执行此操作 |
||
配置VLAN的Untagged成员为Access端口 |
|||
5 |
配置Access端口的Untagged VLAN |
表1-3 基于Trunk端口的VLAN配置步骤
步骤 |
配置任务 |
说明 |
|
1 |
必选 创建一个或多个VLAN |
||
2 |
必选 配置端口的连接类型为Trunk 对于Hybrid端口,必须先将其设置为Access端口,才能再设置为Trunk端口 缺省情况下,端口的连接类型为Access |
||
3 |
配置Trunk端口的缺省VLAN |
必选 Trunk端口只有一个Untagged VLAN,即其缺省VLAN。因此,这三个步骤配置效果相同,同时配置时,以最后的配置为准 缺省情况下,Trunk端口的Untagged VLAN(即缺省VLAN)为VLAN 1 改变Trunk端口的Untagged VLAN(即其缺省VLAN)时,该端口原来的Untagged VLAN将自动变为其Tagged VLAN |
|
4 |
此步骤用于指定在“细节”、“修改VLAN”和“删除”页签页面操作时可选择的VLAN范围。首次进入上述三个页面之前,必须执行此操作 |
||
配置VLAN的Untagged成员为Trunk端口 |
|||
5 |
配置Trunk端口的Untagged VLAN |
||
6 |
首次进入“细节”、“修改VLAN”和“删除”页签的页面前,必须执行此操作,以指定在上述三个页面中进行操作时可选择的VLAN范围 |
必选 Trunk端口可以有多个Tagged VLAN。因此,通过这两个步骤多次为Trunk端口配置的Tagged VLAN将同时有效 |
|
配置VLAN的Tagged成员为Trunk端口 |
|||
7 |
配置Trunk端口的Tagged VLAN |
表1-4 基于Hybrid端口的VLAN配置步骤
步骤 |
配置任务 |
说明 |
|
1 |
必选 创建一个或多个VLAN |
||
2 |
可选 配置端口的连接类型为Hybrid 对于Trunk端口,必须先将其设置为Access端口,才能再设置为Hybrid端口 如果通过步骤5为Trunk端口一次同时指定多个Untagged VLAN,则非Hybrid端口将自动变为Hybrid端口 缺省情况下,端口的连接类型为Access |
||
3 |
可选 配置Hybrid端口的缺省VLAN 缺省情况下,Hybrid端口的缺省VLAN为VLAN 1 |
||
4 |
此步骤用于指定在“细节”、“修改VLAN”和“删除”页签页面操作时可选择的VLAN范围。首次进入上述三个页面之前,必须执行此操作 |
必选 Hybrid端口可以有多个Untagged VLAN。因此,通过这两个步骤多次为Hybrid端口配置的Untagged VLAN将同时有效 缺省情况下,Hybrid端口的Untagged VLAN为VLAN 1 |
|
配置VLAN的Untagged成员为Hybrid端口 |
|||
5 |
配置Hybrid端口的Untagged VLAN |
||
6 |
首次进入“细节”、“修改VLAN”和“删除”页签的页面前,必须执行此操作,以指定在上述三个页面中进行操作时可选择的VLAN范围 |
必选 Hybrid端口可以有多个Tagged VLAN。因此,通过这两个步骤多次为Hybrid端口配置的Tagged VLAN将同时有效 |
|
配置VLAN的Tagged成员为Hybrid端口 |
|||
7 |
配置Hybrid端口的Tagged VLAN |
(1) 在导航栏中选择“网络 > VLAN”。
(2) 单击“创建”页签,进入VLAN的创建页面,如下图所示。
(3) 输入要创建的VLAN ID或VLAN ID范围。
(4) 单击<创建>按钮完成操作。
端口的连接类型还可以在“设备 > 端口管理 [设置]”中配置,详细配置请参见“端口管理”。
(1) 在导航栏中选择“网络 > VLAN”。
(2) 单击“修改端口”页签。
(3) 在面板示意图中选择要配置的端口。
(4) 如下图所示,选择操作类型为“连接类型”,表示要对选中的端口进行修改连接类型的配置。
(5) 设置端口的连接类型,包括:Access、Hybrid、Trunk。
(6) 单击<应用>按钮,弹出配置进度对话框。
(7) 看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
图1-6 修改端口的连接类型
端口的缺省VLAN还可以在“设备 > 端口管理 [设置]”中配置,详细配置请参见“端口管理”。
(1) 在导航栏中选择“网络 > VLAN”。
(2) 单击“修改端口”页签。
(3) 在面板示意图中选择要配置的端口。
(4) 如下图所示,选择操作类型为“PVID”,表示要对选中的端口进行修改缺省VLAN的配置。
(5) 设置端口的PVID,选中“删除”时表示将端口的PVID恢复为缺省值VLAN 1。需要注意的是,为Access端口指定的PVID必须是已经存在的VLAN。
(6) 单击<应用>按钮,弹出配置进度对话框。
(7) 看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
图1-7 修改端口的缺省VLAN
(1) 在导航栏中选择“网络 > VLAN”,默认进入“选择”页签的页面,如下图所示。
(2) 选择是希望显示所有已配置的VLAN,还是显示所有已配置VLAN的一个子集。如果希望显示所有已配置VLAN的一个子集,则还需要制定希望显示的VLAN范围。
(3) 单击<选择>按钮完成操作。
(1) 在导航栏中选择“网络 > VLAN”。
(2) 单击“修改VLAN”页签,进入如下图所示的页面。
(3) 配置VLAN的端口成员,详细配置如下表所示。
(4) 单击<应用>按钮,弹出配置进度对话框。
(5) 看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
表1-5 修改VLAN中端口的详细配置
配置项 |
说明 |
|
请选择一个VLAN修改 |
设置要修改的VLAN,可选的VLAN为已存在并且包含在设置的显示范围内的VLAN |
|
修改描述 |
设置修改VLAN的描述字符串 缺省情况下,VLAN的描述字符串为该VLAN的VLAN ID,如“VLAN 0001” |
|
选择成员类型 |
Untagged |
设置VLAN中要修改的端口成员类型,包括: · Untagged:表示端口成员发送该VLAN报文时不带Tag标签 · Tagged:表示端口成员发送该VLAN报文时带Tag标签 · 非成员:表示从该VLAN中删除端口成员 |
Tagged |
||
非成员 |
||
选择要修改的端口 |
选择VLAN中要进行修改的端口 将Access端口配置为某VLAN的Tagged成员时,该端口会被修改为Hybrid端口 |
(1) 在导航栏中选择“网络 > VLAN”。
(2) 单击“修改端口”页签,进入如下图所示的页面。
(3) 配置端口所属VLAN,详细配置如下表所示。
(4) 单击<应用>按钮,弹出配置进度对话框。
(5) 看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
表1-6 修改端口所属VLAN的详细配置
配置项 |
说明 |
选择端口 |
选择要修改所属VLAN的端口 |
选择操作类型 |
设置要进行的操作类型,包括: · Untagged:表示将端口设置为指定VLAN的Untagged成员,端口发送指定VLAN报文时将不带Tag标签 · Tagged:表示将端口设置为指定VLAN的Tagged成员,端口发送指定VLAN报文时将带Tag标签 · 非成员:表示将端口从指定VLAN中删除 |
VLAN IDs |
设置端口要加入或退出的VLAN ID · 将Access端口配置为某VLAN的Untagged成员时,该VLAN必须已经存在 · 将Access端口配置为某VLAN的Tagged成员或将Trunk端口一次配置为多个VLAN的Untagged成员时,该端口会被修改为Hybrid端口 · 将Hybrid端口配置为某VLAN的Untagged或Tagged成员时,该VLAN必须是已经存在的静态VLAN |
· Switch A与对端Switch B使用GigabitEthernet1/0/1相连。
· GigabitEthernet1/0/1为Trunk端口,缺省VLAN ID为100。
· 配置GigabitEthernet1/0/1,使该端口允许VLAN 2、VLAN 6到VLAN 50、VLAN 100的报文通过。
图1-11 VLAN配置组网图
(1) 配置GigabitEthernet1/0/1为Trunk端口,缺省VLAN为VLAN 100。
步骤1:在导航栏中选择“设备 > 端口管理”。
步骤2:单击“设置”页签。
步骤3:进行如下配置,如下图所示。
· 选择连接类型为“Trunk”。
· 选中“PVID”前的复选框,输入PVID为“100”。
· 在面板示意图中点击选择端口GigabitEthernet1/0/1。
步骤4:单击<提交>按钮完成操作。
图1-12 配置GigabitEthernet1/0/1为Trunk端口(PVID为100)
(2) 创建VLAN 2、VLAN 6到VLAN 50、VLAN 100。
步骤1:在导航栏中选择“网络 > VLAN”。
步骤2:单击“创建”页签。
步骤3:如下图所示,输入VLAN IDs为“2,6-50,100”。
步骤4:单击<创建>按钮完成操作。
图1-13 创建VLAN 2、VLAN 6-50、VLAN 100
(3) 配置GigabitEthernet1/0/1为VLAN 100的Untagged成员。
步骤1:单击“选择”页签。
步骤2:如下图所示,选中“显示所有已配置VLAN的一个子集”前的单选按钮,在输入框中输入“1-100”。
步骤3:单击<选择>按钮完成操作。
图1-14 选择显示的VLAN范围
步骤4:单击“修改VLAN”页签。
步骤5:进行如下配置,如下图所示。
· 在“请选择一个VLAN修改”下拉框中选择“100 - VLAN 0100”。
· 选中“Untagged”前的单选按钮。
· 在面板示意图中点击选择端口GigabitEthernet1/0/1。
步骤6:单击<应用>按钮,弹出配置进度对话框。
步骤7:看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
图1-15 配置GigabitEthernet1/0/1为VLAN 100的Untagged成员
(4) 配置GigabitEthernet1/0/1为VLAN 2、VLAN 6到VLAN 50的Tagged成员。
步骤1:单击“修改端口”页签。
步骤2:进行如下配置,如下图所示。
· 在面板示意图中点击选择端口GigabitEthernet1/0/1。
· 选择操作类型为“Tagged”。
· 输入VLAN IDs为“2,6-50”。
步骤3:单击<应用>按钮,弹出配置进度对话框。
步骤4:看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
图1-16 配置GigabitEthernet1/0/1为VLAN 2、VLAN 6-50的Tagged成员
与Switch A上的配置相同,不再赘述。
配置VLAN时需要注意如下事项:
(1) VLAN1为系统缺省VLAN,用户不能手工创建和删除。
(2) 保留VLAN是系统为实现特定功能预留的VLAN,用户不能手工创建和删除。
(3) 不能在“删除”页面上删除设备上动态学习到的VLAN。
(4) 如果某个VLAN上应用了相关的QoS策略配置,则不允许删除该VLAN。
VLAN虚接口是一种三层模式下的虚拟接口,它不作为物理实体存在于设备上。
创建VLAN虚接口,可同时配置VLAN虚接口的IPv4地址和IPv6链路本地地址。如果不配置VLAN虚接口的IP地址,则只创建VLAN虚接口,再通过修改VLAN虚接口为其配置IP地址。
(1) 在导航栏中选择“网络 > VLAN虚接口”。
(2) 单击“创建”页签,进入VLAN虚接口的创建页面,如下图所示。
图2-1 创建VLAN虚接口
(3) 配置VLAN虚接口的信息,详细配置如下表所示。
(4) 单击<应用>按钮完成操作。
表2-1 创建VLAN虚接口的详细配置
配置项 |
说明 |
|
请输入一个VLAN ID |
输入要创建的VLAN虚接口的ID,对应的VLAN必须已经创建 |
|
配置IPv4地址 |
DHCP |
设置VLAN虚接口获取IPv4地址的方式 · DHCP:表示通过DHCP协议自动获取IPv4地址 · BOOTP:表示通过BOOTP协议自动获取IPv4地址 · 手工:表示通过手工配置指定IPv4地址,选择此项时需要设置IPv4地址和掩码长度 |
BOOTP |
||
手工 |
||
IPv4地址 |
设置VLAN虚接口的IPv4地址 VLAN虚接口IPv4地址的获取方式选择“手工”时可用 |
|
掩码长度 |
设置子网掩码长度(也可以输入点分十进制格式的掩码) VLAN虚接口IPv4地址的获取方式选择“手工”时可用 |
|
配置IPv6链路本地地址 |
自动 |
设置VLAN虚接口获取IPv6链路本地地址的方式 · 自动:表示设备根据链路本地地址前缀(FE80::/10)及接口的链路层地址,自动为接口生成链路本地地址 · 手工:表示通过手工配置方式配置IPv6链路本地地址,选择此项时需要设置IPv6地址 |
手工 |
||
IPv6地址 |
设置VLAN虚接口的IPv6链路本地地址 VLAN虚接口IPv6链路本地地址的获取方式选择“手工”时可用,输入的IPv6链路本地地址前缀必须为“FE80::/10” |
通过修改VLAN虚接口,可以为VLAN虚接口配置IPv4地址、IPv6链路本地地址,以及IPv6站点本地地址或全球单播地址;可以设置打开或关闭VLAN虚接口。
· 修改VLAN虚接口时,修改IPv4地址和状态、配置IPv6链路本地地址和状态、添加IPv6单播地址需要分别单击各自的<应用>按钮来提交配置。
· 修改当前登录使用的VLAN虚接口的IP地址会导致与设备的连接断开,可以使用修改后的IP地址重新登录。
(1) 在导航栏中选择“网络 > VLAN虚接口”。
(2) 单击“修改”页签,进入VLAN虚接口的修改页面,如下图所示。
图2-2 修改VLAN虚接口
(3) 修改VLAN虚接口IP地址等信息,详细配置如下表所示。
(4) 单击相应的<应用>按钮完成操作。
表2-2 修改VLAN虚接口的详细配置
配置项 |
说明 |
|
选择VLAN虚接口 |
设置要配置的VLAN虚接口 下拉框中可选的VLAN虚接口需通过创建VLAN虚接口来创建 |
|
修改IPv4地址和状态 |
DHCP |
设置VLAN虚接口获取IPv4地址的方式 · DHCP:表示通过DHCP协议自动获取IPv4地址 · BOOTP:表示通过BOOTP协议自动获取IPv4地址 · 手工:表示通过手工配置指定IPv4地址,选择此项时需要设置IPv4地址和掩码(可以输入掩码长度或点分十进制格式的掩码) |
BOOTP |
||
手工 |
||
配置状态 |
配置打开(Up)或关闭(Down)VLAN虚接口 当VLAN虚接口出现故障时,可以用将接口先关闭,然后再打开接口,可能会使接口恢复正常 缺省情况下,当VLAN虚接口下所有以太网端口状态为Down时,VLAN虚接口为Down状态;只要VLAN虚接口下有一个以太网端口状态为Up,VLAN虚接口就为Up状态 · 关闭和打开VLAN虚接口对于属于这个VLAN的任何一个以太网端口本身都不起作用,以太网端口的状态不随VLAN虚接口状态的改变而改变 · 配置状态时,“修改IPv4地址”框和“修改IPv6地址”框中的VLAN虚接口的当前状态是同步变化的 |
|
修改IPv6地址和状态 |
自动 |
设置VLAN虚接口获取IPv6链路本地地址的方式 · 自动:表示设备根据链路本地地址前缀(FE80::/10)及接口的链路层地址,自动为接口生成链路本地地址 · 手工:表示通过手工配置方式配置IPv6链路本地地址,选择此项时需要设置IPv6地址 |
手工 |
||
配置状态 |
配置打开(Up)或关闭(Down)VLAN虚接口 当VLAN虚接口出现故障时,可以用将接口先关闭,然后再打开接口,可能会使接口恢复正常 缺省情况下,当VLAN虚接口下所有以太网端口状态为Down时,VLAN虚接口为Down状态;否则VLAN虚接口处于Up状态 · 关闭和打开VLAN虚接口对于属于这个VLAN的任何一个以太网端口本身都不起作用,以太网端口的状态不随VLAN虚接口状态的改变而改变 · 配置状态时,“修改IPv4地址”框和“修改IPv6地址”框中的VLAN虚接口的当前状态是同步变化的 |
|
添加IPv6单播地址 |
设置VLAN虚接口的IPv6站点本地地址或全球单播地址,以及前缀长度 输入的IPv6地址前缀不能为“FE80::/10”,即链路本地地址前缀 配置IPv6站点本地地址时,输入的IPv6地址前缀必须为“FEC0::/10” 如果该VLAN虚接口没有IPv6链路本地地址,则配置此参数后会自动生成链路本地地址 |
|
EUI64编码 |
设置采用EUI-64(64-bit Extended Unique Identifier,64位扩展唯一标识符)格式形成IPv6站点本地地址或全球单播地址 选中前面的复选框表示采用EUI-64格式形成;不选中则表示采用手工配置的IPv6站点本地地址或全球单播地址 |
删除VLAN虚接口或者删除VLAN虚接口的IP地址。删除正在登录的IP地址或者所在的VLAN虚接口时,将会断开WEB连接,请重新通过命令行配置或者查询设备可连接的IP地址后再登录。
(1) 在导航栏中选择“网络 > VLAN虚接口”。
(2) 单击“删除”页签,进入VLAN虚接口的删除页面,如下图所示。
图2-3 删除VLAN虚接口
(3) 选择待删除的VLAN虚接口,单击<删除虚接口>按钮完成操作。
配置VLAN虚接口时需要注意如下事项:
(1) 配置IPv6 VLAN虚接口时,当接口配置了IPv6站点本地地址或全局单播地址后,同时会自动生成链路本地地址。且与配置自动生成链路本地地址时生成的地址相同。此时如果手工指定接口的链路本地地址,则手工指定的有效。如果删除手工指定的链路本地地址,则接口的链路本地地址恢复为系统自动生成的地址。
(2) 配置IPv6 VLAN虚接口时,如果IPv6链路本地地址是在配置IPv6站点本地地址或全局单播地址时自动生成的,则在删除IPv6站点本地地址或全局单播地址时,生成的IPv6链路本地地址也会同时被删除。
(3) 配置IPv6链路本地地址时,手工指定方式的优先级高于自动生成方式。即,如果先采用自动生成方式,之后手工指定,则手工指定的地址会覆盖自动生成的地址;如果先手工指定,之后采用自动生成的方式,则自动配置不生效,接口的链路本地地址仍是手工指定的。此时,如果删除手工指定的地址,则自动生成的链路本地地址会生效。
· MAC地址模块中对于接口的相关配置,目前只能在二层以太网接口和二层聚合接口等二层接口上进行。
· 本章节内容只涉及单播的静态、动态和黑洞MAC地址表项(黑洞MAC地址表项仅指目的黑洞MAC地址表项)的配置和管理。
MAC地址表记录了与本设备相连的设备的MAC地址、本设备上与该设备相连的设备的接口号以及所属的VLAN ID。在转发数据时,设备根据报文中的目的MAC地址查询MAC地址表,快速定位出接口,从而减少广播。
MAC地址表项的生成方式有两种:自动生成、手工配置。
一般情况下,MAC地址表是设备通过源MAC地址学习过程而自动建立的。设备学习MAC地址的方法如下:如果从某接口(假设为接口A)收到一个数据帧,设备就会分析该数据帧的源MAC地址(假设为MAC-SOURCE),并认为目的MAC地址为MAC-SOURCE的报文可以由接口A转发;如果MAC地址表中已经包含MAC-SOURCE,设备将对该表项进行更新;如果MAC地址表中尚未包含MAC-SOURCE,设备则将这个新MAC地址以及该MAC地址对应的接口A作为一个新的表项加入到MAC地址表中。
为适应网络的变化,MAC地址表需要不断更新。MAC地址表中自动生成的表项并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到刷新的表项将被删除,这个生存周期被称作老化时间。如果在到达生存周期前纪录被刷新,则该表项的老化时间重新计算。
设备通过源MAC地址学习自动建立MAC地址表时,无法区分合法用户和黑客用户的报文,带来了安全隐患。如果黑客用户将攻击报文的源MAC地址伪装成合法用户的MAC地址,并从设备的其它接口进入,设备就会学习到错误的MAC地址表项,于是就会将本应转发给合法用户的报文转发给黑客用户。
为了提高接口安全性,网络管理员可手工在MAC地址表中加入特定MAC地址表项,将用户设备与接口绑定,从而防止假冒身份的非法用户骗取数据。
MAC地址表项分为:静态MAC地址表项、动态MAC地址表项和黑洞MAC地址表项。
· 静态MAC地址表项由用户手工配置,表项不老化。
· 动态MAC地址表项包括用户配置的以及设备通过源MAC地址学习得来的,表项有老化时间。
· 黑洞MAC地址表项用于丢弃含有特定目的MAC地址或源地址的报文(例如,出于安全考虑,可以屏蔽某个用户接收报文),由用户手工配置,表项不老化。
用户手工配置的静态MAC地址表项和黑洞MAC地址表项不会被动态MAC地址表项覆盖,而动态MAC地址表项可以被静态MAC地址表项和黑洞MAC地址表项覆盖。
设备在转发报文时,根据MAC地址表项信息,会采取以下两种转发方式:
· 单播方式:当MAC地址表中包含与报文目的MAC地址对应的表项时,设备直接将报文从该表项中的转发出接口发送。
· 广播方式:当设备收到目的地址为全F的报文,或MAC地址表中没有包含对应报文目的MAC地址的表项时,设备将采取广播方式将报文向除接收接口外的所有接口进行转发。
(1) 在导航栏中选择“网络 > MAC地址”,默认进入“MAC”页签的页面,页面显示所有的MAC地址表项,如下图所示。
图3-1 MAC地址信息
(2) 单击<新建>按钮,进入新建MAC地址表项的配置页面,如下图所示。
图3-2 MAC地址创建
(3) 配置MAC地址表项的信息,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表3-1 MAC地址表项的详细配置
配置项 |
说明 |
MAC地址 |
设置待添加的MAC地址 |
类型 |
设置MAC地址表项的类型,包括: · static:表示该表项是静态MAC地址表项,没有老化时间 · dynamic:表示该表项是动态MAC地址表项,有老化时间 · blackhole:表示该表项是黑洞MAC地址表项,没有老化时间 在MAC地址表项显示页面的列表中共有如下几种类型: · Config static:表示该表项是用户手工配置的静态表项 · Blackhole:表示该表项是黑洞表项 · Learned:表示该表项是设备学习得来的动态表项 · Other:表示该表项为除上述状态外的其他类型 |
VLAN ID |
设置MAC地址表项所属的VLAN |
端口 |
设置MAC地址表项所属的端口,该端口必须属于指定的VLAN 黑洞表项不需要设置所属端口 |
(1) 在导航栏中选择“网络 > MAC地址”。
(2) 单击“设置”页签,进入MAC地址表项老化时间的配置页面,如下图所示。
(3) 配置MAC地址表项老化时间,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表3-2 MAC地址表项老化时间的详细配置
配置项 |
说明 |
不老化 |
设置MAC地址表项不会老化 |
老化时间 |
设置MAC地址表项的老化,并指定老化时间 |
用户通过Web网管设置MAC地址表功能。要求在VLAN1中的GigabitEthernet1/0/1端口下添加一个静态MAC地址表项00e0-fc35-dc71。
创建静态MAC地址表项。
步骤1:在导航栏中选择“网络 > MAC地址”,默认进入“MAC”页签的页面。
步骤2:单击<新建>按钮。
步骤3:进行如下配置,如下图所示。
· 输入MAC地址为“00e0-fc35-dc71”。
· 选择类型为“static”。
· 选择VLAN ID为“1”。
· 选择端口为“GigabitEthernet1/0/1”。
步骤4:单击<确定>按钮完成操作。
图3-4 创建静态MAC地址表项
生成树协议是一种二层管理协议,它通过选择性地阻塞网络中的冗余链路来消除二层环路,同时还具备链路备份的功能。
与众多协议的发展过程一样,生成树协议也是随着网络的发展而不断更新的,从最初的STP(Spanning Tree Protocol,生成树协议)到RSTP(Rapid Spanning Tree Protocol,快速生成树协议),再到最新的MSTP(Multiple Spanning Tree Protocol,多生成树协议)。本文将渐进式地对STP、RSTP和MSTP各自的特点及其关系进行介绍。
STP由IEEE制定的802.1D标准定义,用于在局域网中消除数据链路层物理环路的协议。运行该协议的设备通过彼此交互报文发现网络中的环路,并有选择的对某些端口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免主机由于重复接收相同的报文造成的报文处理能力下降的问题发生。
STP包含了两个含义:狭义的STP是指IEEE 802.1D中定义的STP协议;广义的STP是指包括IEEE 802.1D定义的STP协议,以及各种在它的基础上经过改进的生成树协议。
STP采用的协议报文是BPDU(Bridge Protocol Data Unit,桥协议数据单元),也称为配置消息。
STP通过在设备之间传递BPDU来确定网络的拓扑结构。BPDU中包含了足够的信息来保证设备完成生成树的计算过程。
BPDU在STP协议中分为两类:
· 配置BPDU(Configuration BPDU):用于进行生成树计算和维护生成树拓扑的报文。
· TCN BPDU(Topology Change Notification BPDU,拓扑变化通知BPDU):当拓扑结构发生变化时,用于通知相关设备网络拓扑结构发生变化的报文。
(1) 根桥
树形的网络结构必须有树根,于是STP引入了根桥(Root Bridge)的概念。根桥在全网中只有一个,而且根桥会根据网络拓扑的变化而改变,因此根桥并不是固定的。
在网络初始化过程中,所有设备都视自己为根桥,生成各自的配置BPDU并周期性地向外发送;但当网络拓扑稳定以后,只有根桥设备才会向外发送配置BPDU,其它设备则对其进行转发。
(2) 根端口
所谓根端口,是指一个非根桥的设备上离根桥最近的端口。根端口负责与根桥进行通信。非根桥设备上有且只有一个根端口,根桥上没有根端口。
(3) 指定桥与指定端口
指定桥与指定端口的含义,请参见表4-1的说明。
分类 |
指定桥 |
指定端口 |
对于一台设备而言 |
与本机直接相连并且负责向本机转发配置消息的设备 |
指定桥向本机转发配置消息的端口 |
对于一个局域网而言 |
负责向本网段转发配置消息的设备 |
指定桥向本网段转发配置消息的端口 |
指定桥与指定端口如图4-1所示,AP1、AP2、BP1、BP2、CP1、CP2分别表示Device A、Device B、Device C的端口。
· Device A通过端口AP1向Device B转发配置消息,则Device B的指定桥就是Device A,指定端口就是Device A的端口AP1;
· 与局域网LAN相连的有两台设备:Device B和Device C,如果Device B负责向LAN转发配置消息,则LAN的指定桥就是Device B,指定端口就是Device B的BP2。
根桥上的所有端口都是指定端口。
(4) 路径开销
路径开销是STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树型网络结构。
STP通过在设备之间传递BPDU来确定网络的拓扑结构。配置消息中包含了足够的信息来保证设备完成生成树的计算过程,其中包含的几个重要信息如下:
· 根桥ID:由根桥的优先级和MAC地址组成;
· 指定桥ID:由指定桥的优先级和MAC地址组成;
· 指定端口ID:由指定端口的优先级和端口名称组成;
· Message Age:配置消息在网络中传播的生存期;
· Max Age:配置消息在设备中能够保存的最大生存期;
· Hello Time:配置消息发送的周期;
· Forward Delay:端口状态迁移的延时。
为描述方便,在下面的描述及举例中仅考虑配置消息的其中四项内容:
· 根桥ID(以设备的优先级表示);
· 根路径开销;
· 指定桥ID(以设备的优先级表示);
· 指定端口ID(以端口名称表示)。
(1) STP算法实现的具体过程
· 初始状态
各台设备的各个端口在初始时会生成以自己为根桥的配置消息,根路径开销为0,指定桥ID为自身设备ID,指定端口为本端口。
· 最优配置消息的选择
各台设备都向外发送自己的配置消息,同时也会收到其他设备发送的配置消息。
最优配置消息的选择过程如表4-2所示。
步骤 |
内容 |
1 |
每个端口收到配置消息后的处理过程如下: · 当端口收到的配置消息比本端口配置消息的优先级低时,设备会将接收到的配置消息丢弃,对该端口的配置消息不作任何处理 · 当端口收到的配置消息比本端口配置消息的优先级高时,设备就用接收到的配置消息中的内容替换该端口的配置消息中的内容 |
2 |
设备将所有端口的配置消息进行比较,选出优先级最高的配置消息 |
配置消息的比较原则如下:
· 根桥ID较小的配置消息优先级高;
· 若根桥ID相同,则比较根路径开销,比较方法为:用配置消息中的根路径开销加上本端口对应的路径开销,假设两者之和为S,则S较小的配置消息优先级较高;
· 若根路径开销也相同,则依次比较指定桥ID、指定端口ID、接收该配置消息的端口ID等,上述值较小的配置消息优先级较高。
· 根桥的选择
网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身的设备ID。通过交换配置消息,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。
· 根端口、指定端口的选择
根端口、指定端口的选择过程如表4-3所示。
表4-3 根端口和指定端口的选择过程
步骤 |
内容 |
1 |
非根桥设备将接收最优配置消息的那个端口定为根端口 |
2 |
设备根据根端口的配置消息和根端口的路径开销,为每个端口计算一个指定端口配置消息: · 根桥ID替换为根端口的配置消息的根桥ID · 根路径开销替换为根端口配置消息的根路径开销加上根端口对应的路径开销 · 指定桥ID替换为自身设备的ID · 指定端口ID替换为自身端口ID |
3 |
设备使用计算出来的配置消息和需要确定端口角色的端口上的配置消息进行比较,并根据比较结果进行不同的处理: · 如果计算出来的配置消息优先级高,则设备就将该端口定为指定端口,端口上的配置消息被计算出来的配置消息替换,并周期性向外发送 · 如果端口上的配置消息优先级高,则设备不更新该端口配置消息并将此端口阻塞,该端口将不再转发数据,只接收但不发送配置消息 |
在拓扑稳定状态,只有根端口和指定端口转发流量,其他的端口都处于阻塞状态,它们只接收STP协议报文而不转发用户流量。
一旦根桥、根端口和指定端口选举成功,则整个树形拓扑就建立完毕了。
下面结合例子说明STP算法实现的计算过程。具体的组网如图4-2所示。假设Device A的优先级为0,Device B的优先级为1,Device C的优先级为2,各个链路的路径开销分别为5、10、4。
图4-2 STP算法计算过程组网图
各台设备的初始状态如表4-4所示。
设备 |
端口名称 |
端口的配置消息 |
Device A |
AP1 |
{0,0,0,AP1} |
AP2 |
{0,0,0,AP2} |
|
Device B |
BP1 |
{1,0,1,BP1} |
BP2 |
{1,0,1,BP2} |
|
Device C |
CP1 |
{2,0,2,CP1} |
CP2 |
{2,0,2,CP2} |
· 各台设备的比较过程及结果
各台设备的比较过程及结果如表4-5所示。
表4-5 各台设备的比较过程及结果
设备 |
比较过程 |
比较后端口的配置消息 |
Device A |
· 端口AP1收到Device B的配置消息{1,0,1,BP1},Device A发现本端口的配置消息{0,0,0,AP1}优于接收到的配置消息,就把接收到的配置消息丢弃 · 端口AP2收到Device C的配置消息{2,0,2,CP1},Device A发现本端口的配置消息{0,0,0,AP2}优于接收到的配置消息,就把接收到的配置消息丢弃 · Device A发现自己各个端口的配置消息中根桥和指定桥都是自己,则认为自己是根桥,各个端口的配置消息都不作任何修改,以后周期性的向外发送配置消息 |
AP1:{0,0,0,AP1} AP2:{0,0,0,AP2} |
Device B |
· 端口BP1收到来自Device A的配置消息{0,0,0,AP1},Device B发现接收到的配置消息优于本端口的配置消息{1,0,1,BP1},于是更新端口BP1的配置消息 · 端口BP2收到来自Device C的配置消息{2,0,2,CP2},Device B发现本端口的配置消息{1,0,1,BP2}优于接收到的配置消息,就把接收到的配置消息丢弃 |
BP1:{0,0,0,AP1} BP2:{1,0,1,BP2} |
· Device B对各个端口的配置消息进行比较,选出端口BP1的配置消息为最优配置消息,然后将端口BP1定为根端口,它的配置消息不作改变 · Device B根据根端口BP1的配置消息和根端口的路径开销5,为BP2端口计算一个指定端口配置消息{0,5,1,BP2} · Device B使用计算出来的配置消息{0,5,1,BP2}和端口BP2上的配置消息进行比较,比较的结果是计算出来的配置消息较优,则Device B将端口BP2定为指定端口,它的配置消息被计算出来的配置消息替换,并周期性向外发送 |
根端口BP1: {0,0,0,AP1} 指定端口BP2: {0,5,1,BP2} |
|
Device C |
· 端口CP1收到来自Device A的配置消息{0,0,0,AP2},Device C发现接收到的配置消息优于本端口的配置消息{2,0,2,CP1},于是更新端口CP1的配置消息 · 端口CP2收到来自Device B端口BP2更新前的配置消息{1,0,1,BP2},Device C发现接收到的配置消息优于本端口的配置消息{2,0,2,CP2},于是更新端口CP2的配置消息 |
CP1:{0,0,0,AP2} CP2:{1,0,1,BP2} |
经过比较: · 端口CP1的配置消息被选为最优的配置消息,端口CP1就被定为根端口,它的配置消息不作改变 · 将计算出来的指定端口配置消息{0,10,2,CP2}和端口CP2的配置消息进行比较后,端口CP2转为指定端口,它的配置消息被计算出来的配置消息替换 |
根端口CP1: {0,0,0,AP2} 指定端口CP2: {0,10,2,CP2} |
|
· 接着端口CP2会收到Device B更新后的配置消息{0,5,1,BP2},由于收到的配置消息优于原配置消息,则Device C触发更新过程 · 同时端口CP1收到Device A周期性发送来的配置消息,比较后Device C不会触发更新过程 |
CP1:{0,0,0,AP2} CP2:{0,5,1,BP2} |
|
经过比较: · 端口CP2的根路径开销9(配置消息的根路径开销5加上端口CP2对应的路径开销4)小于端口CP1的根路径开销10(配置消息的根路径开销0+端口CP1对应的路径开销10),所以端口CP2的配置消息被选为最优的配置消息,端口CP2就被定为根端口,它的配置消息就不作改变 · 将端口CP1的配置消息和计算出来的指定端口配置消息比较后,端口CP1被阻塞,端口配置消息不变,同时不接收从Device A转发的数据,直到新的情况触发生成树的计算,比如从Device B到Device C的链路down掉 |
阻塞端口CP1: {0,0,0,AP2} 根端口CP2: {0,5,1,BP2} |
经过上表的比较过程,此时以Device A为根桥的生成树就确定下来了,形状如图4-3所示。
为了便于描述,本例简化了生成树的计算过程,实际的过程要更加复杂。
(2) STP的配置消息传递机制
· 当网络初始化时,所有的设备都将自己作为根桥,生成以自己为根的配置消息,并以Hello Time为周期定时向外发送。
· 接收到配置消息的端口如果是根端口,且接收的配置消息比该端口的配置消息优,则设备将配置消息中携带的Message Age按照一定的原则递增,并启动定时器为这条配置消息计时,同时将此配置消息从设备的指定端口转发出去。
· 如果指定端口收到的配置消息比本端口的配置消息优先级低时,会立刻发出自己的更好的配置消息进行回应。
· 如果某条路径发生故障,则这条路径上的根端口不会再收到新的配置消息,旧的配置消息将会因为超时而被丢弃,设备重新生成以自己为根的配置消息并向外发送,从而引发生成树的重新计算,得到一条新的通路替代发生故障的链路,恢复网络连通性。
不过,重新计算得到的新配置消息不会立刻就传遍整个网络,因此旧的根端口和指定端口由于没有发现网络拓扑变化,将仍按原来的路径继续转发数据。如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。
(3) STP定时器
STP计算中,需要使用三个重要的时间参数:Forward Delay、Hello Time和Max Age。
· Forward Delay为设备状态迁移的延迟时间。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新配置消息无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。为此,STP采用了一种状态迁移的机制,新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,这个延时保证了新的配置消息已经传遍整个网络。
· Hello Time用于设备检测链路是否存在故障。设备每隔Hello Time时间会向周围的设备发送hello报文,以确认链路是否存在故障。
· Max Age是用来判断配置消息在设备内保存时间是否“过时”的参数,设备会将过时的配置消息丢弃。
RSTP由IEEE制定的802.1w标准定义,它在STP基础上进行了改进,实现了网络拓扑的快速收敛。其“快速”体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时在某种条件下大大缩短,从而缩短了网络最终达到拓扑稳定所需要的时间。
· RSTP中,根端口的端口状态快速迁移的条件是:本设备上旧的根端口已经停止转发数据,而且上游指定端口已经开始转发数据。
· RSTP中,指定端口的端口状态快速迁移的条件是:指定端口是边缘端口或者指定端口与点对点链路相连。如果指定端口是边缘端口,则指定端口可以直接进入转发状态;如果指定端口连接着点对点链路,则设备可以通过与下游设备握手,得到响应后即刻进入转发状态。
(1) STP、RSTP存在的不足
STP不能快速迁移,即使是在点对点链路或边缘端口(边缘端口指的是该端口直接与用户终端相连,而没有连接到其它设备或共享网段上),也必须等待2倍的Forward Delay的时间延迟,端口才能迁移到转发状态。
RSTP(Rapid Spanning Tree Protocol,快速生成树协议)是STP协议的优化版。其“快速”体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时在某种条件(具体请参见“4.1.2 RSTP简介”)下大大缩短,从而缩短了网络最终达到拓扑稳定所需要的时间。
RSTP可以快速收敛,但是和STP一样存在以下缺陷:局域网内所有网桥共享一棵生成树,不能按VLAN阻塞冗余链路,所有VLAN的报文都沿着一棵生成树进行转发。
(2) MSTP的特点
MSTP由IEEE制定的802.1s标准定义,它可以弥补STP和RSTP的缺陷,既可以快速收敛,也能使不同VLAN的流量沿各自的路径转发,从而为冗余链路提供了更好的负载分担机制。
MSTP的特点如下:
· MSTP设置VLAN映射表(即VLAN和生成树的对应关系表),把VLAN和生成树联系起来。通过增加“实例”(将多个VLAN整合到一个集合中)这个概念,将多个VLAN捆绑到一个实例中,以节省通信开销和资源占用率。
· MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
· MSTP将环路网络修剪成为一个无环的树型网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载分担。
· MSTP兼容STP和RSTP。
在图4-4中的每台设备都运行MSTP。下面结合图4-4解释MSTP的一些基本概念。
图4-4 MSTP的基本概念示意图
(1) MST域
MST域(Multiple Spanning Tree Regions,多生成树域)是由交换网络中的多台设备以及它们之间的网段构成。这些设备具有下列特点:
· 都启动了MSTP;
· 具有相同的域名;
· 具有相同的VLAN到生成树映射配置;
· 具有相同的MSTP修订级别配置;
· 这些设备之间在物理上有链路连通。
例如图4-4中的区域A0,域内所有设备都有相同的MST域配置:
· 域名相同;
· VLAN与生成树实例的映射关系相同(VLAN1映射到生成树实例1,VLAN2映射到生成树实例2,其余VLAN映射到CIST。其中,CIST即指生成树实例0);
· MSTP修订级别相同(此配置在图中没有体现)。
一个交换网络可以存在多个MST域。用户可以通过MSTP配置命令把多台设备划分在同一个MST域内。
(2) VLAN映射表
VLAN映射表是MST域的一个属性,用来描述VLAN和生成树实例的映射关系。
例如图4-4中,域A0的VLAN映射表就是:VLAN 1映射到生成树实例1,VLAN 2映射到生成树实例2,其余VLAN映射到CIST。MSTP就是根据VLAN映射表来实现负载分担的。
(3) IST
IST(Internal Spanning Tree,内部生成树)是MST域内的一棵生成树。
IST和CST(Common Spanning Tree,公共生成树)共同构成整个交换网络的生成树CIST(Common and Internal Spanning Tree,公共和内部生成树)。IST是CIST在MST域内的片段,是一个特殊的多生成树实例。
例如图4-4中,CIST在每个MST域内都有一个片段,这个片段就是各个域内的IST。
(4) CST
CST是连接交换网络内所有MST域的单生成树。如果把每个MST域看作是一个“设备”,CST就是这些“设备”通过STP协议、RSTP协议计算生成的一棵生成树。
例如图4-4中红色线条描绘的就是CST。
(5) CIST
CIST是连接一个交换网络内所有设备的单生成树,由IST和CST共同构成。
例如图4-4中,每个MST域内的IST加上MST域间的CST就构成整个网络的CIST。
(6) MSTI
一个MST域内可以通过MSTP生成多棵生成树,各棵生成树之间彼此独立。每棵生成树都称为一个MSTI(Multiple Spanning Tree Instance,多生成树实例)。
例如图4-4中,每个域内可以存在多棵生成树,每棵生成树和相应的VLAN对应。这些生成树都被称为MSTI。
(7) 域根
MST域内IST和MSTI的根桥就是域根。MST域内各棵生成树的拓扑不同,域根也可能不同。
例如图4-4中,区域D0中,生成树实例1的域根为设备B,生成树实例2的域根为设备C。
(8) 总根
总根(Common Root Bridge)是指CIST的树根。
例如图4-4中,总根为区域A0内的某台设备。
(9) 域边界端口
域边界端口是指位于MST域的边缘,用于连接不同MST域、MST域和运行STP的区域、MST域和运行RSTP的区域的端口。
在进行MSTP计算的时候,域边界端口在MST实例上的角色与CIST的角色保持一致,但Master端口除外——Master端口在CIST上的角色为根端口,在其它实例上的角色才为Master端口。例如图4-4中,如果区域A0的一台设备和区域D0的一台设备的第一个端口相连,整个交换网络的总根位于A0内,则区域D0中这台设备上的第一个端口就是区域D0的域边界端口。
(10) 端口角色
在MSTP的计算过程中,端口角色主要有根端口、指定端口、Master端口、Alternate端口、Backup端口等。
· 根端口:负责向根桥方向转发数据的端口。
· 指定端口:负责向下游网段或设备转发数据的端口。
· Master端口:连接MST域到总根的端口,位于整个域到总根的最短路径上。从CST上看,Master端口就是域的“根端口”(把域看作是一个节点)。Master端口在IST/CIST上的角色是根端口,在其它各个实例上的角色都是Master端口。
· Alternate端口:根端口和Master端口的备份端口。当根端口或Master端口被阻塞后,Alternate端口将成为新的根端口或Master端口。
· Backup端口:指定端口的备份端口。当指定端口被阻塞后,Backup端口就会快速转换为新的指定端口,并无时延的转发数据。当开启了MSTP的同一台设备的两个端口互相连接时就存在一个环路,此时设备会将其中一个端口阻塞,Backup端口是被阻塞的那个端口。
端口在不同的生成树实例中可以担任不同的角色。
请参考图4-5理解上述概念。图中:
· 设备A、B、C、D构成一个MST域。
· 设备A的端口1、端口2向总根方向连接。
· 设备C的端口5、端口6构成了环路。
· 设备D的端口3、端口4向下连接其他的MST域。
(11) 端口状态
MSTP中,根据端口是否学习MAC地址和是否转发用户流量,可将端口状态划分为以下三种:
· Forwarding状态:学习MAC地址,转发用户流量;
· Learning状态:学习MAC地址,不转发用户流量;
· Discarding状态:不学习MAC地址,不转发用户流量。
同一端口在不同的生成树实例中的端口状态可以不同。
端口状态和端口角色是没有必然联系的,表4-6给出了各种端口角色能够具有的端口状态(“√”表示此端口角色能够具有此端口状态;“-”表示此端口角色不能具有此端口状态)。
端口状态 |
端口角色 |
||||
根端口 /Master端口 |
指定端口 |
域边缘端口 |
Alternate端口 |
Backup端口 |
|
Forwarding |
√ |
√ |
√ |
- |
- |
Learning |
√ |
√ |
√ |
- |
- |
Discarding |
√ |
√ |
√ |
√ |
√ |
MSTP将整个二层网络划分为多个MST域,各个域之间通过计算生成CST;域内则通过计算生成多棵生成树,每棵生成树都被称为是一个多生成树实例。其中实例0被称为IST,其它多生成树实例为MSTI。MSTP同STP一样,使用配置消息进行生成树的计算,只是配置消息中携带的是设备上MSTP的配置信息。
(1) CIST生成树的计算
经过比较配置消息后,在整个网络中选择一个优先级最高的设备作为CIST的树根。在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台设备对待,通过计算在域间生成CST。CST和IST构成了整个网络的CIST。
(2) MSTI的计算
在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似。请参见“4.1.1 3. STP的基本原理”。
MSTP中,一个VLAN报文将沿着如下路径进行转发:
· 在MST域内,沿着其对应的MSTI转发;
· 在MST域间,沿着CST转发。
MSTP同时兼容STP、RSTP。STP、RSTP两种协议报文都可以被运行MSTP的设备识别并应用于生成树计算。
设备除了提供MSTP的基本功能外,还从用户的角度出发,提供了许多便于管理的特殊功能,如下所示:
· 根桥保持;
· 根桥备份;
· ROOT保护功能;
· BPDU保护功能;
· 环路保护功能;
· 防止TC-BPDU报文(网络拓扑发生变化的通知报文)攻击功能;
· MSTP支持接口板的热插拔,同时支持主控板与备板的倒换。
与MSTP相关的协议规范有:
· IEEE 802.1D:Spanning Tree Protocol
· IEEE 802.1w:Rapid Spanning Tree Protocol
· IEEE 802.1s:Multiple Spanning Tree Protocol
表4-7 MSTP配置步骤
步骤 |
配置任务 |
说明 |
1 |
可选 配置MST域的相关参数,以及生成树实例和VLAN的映射关系 缺省情况下,MST域的参数都有缺省值,且所有VLAN都映射到生成树实例0 |
|
2 |
必选 使能全局STP功能,并配置MSTP相关参数 缺省情况下,全局STP功能处于关闭状态;MSTP相关参数都有缺省值 |
|
3 |
可选 使能端口MSTP功能,并配置MSTP相关参数 缺省情况下,端口MSTP功能处于使能状态,MSTP相关参数都有缺省值 |
|
4 |
可选 查看端口上实例0的生成树信息,以及端口所属的生成树实例、路径开销和优先级信息 |
(1) 在导航栏中选择“网络 > MSTP”,默认进入“MSTP域”页签的页面,如下图所示。
(2) 单击<修改>按钮,进入MSTP域的配置页面,如下图所示。
(3) 配置MSTP域的信息,详细配置如下表所示。
(4) 单击<激活>按钮完成操作。
表4-8 MSTP域的详细配置
配置项 |
说明 |
|
域名 |
设置MST域的域名 缺省情况下,MST域的域名为设备的桥MAC地址 |
|
修订级别 |
设置MST域的修订级别 |
|
手工设置 |
实例 |
设置手工添加生成树实例ID与VLAN ID的映射关系 单击<应用>按钮即可向下方的列表中添加一对实例ID与VLAN ID的映射关系 |
VLAN ID |
||
按模设置 |
模值 |
设置自动将4094个VLAN按模分配到相应的生成树实例中 |
(1) 在导航栏中选择“网络 > MSTP”。
(2) 单击“MSTP全局”页签,进入如下图所示的页面。
(3) 配置MSTP全局信息,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表4-9 MSTP全局的详细配置
配置项 |
说明 |
||
全局STP使能 |
设置是否使能全局STP功能 使能全局STP功能后,MSTP的其它配置才能生效 |
||
BPDU保护 |
设置是否使能全局BPDU保护功能 使能BPDU保护功能可以防止人为伪造配置消息恶意攻击设备,避免网络震荡 |
||
模式 |
设置STP的工作模式,包括STP、RSTP和MSTP · STP:在STP模式下,设备的各个端口将向外发送STP BPDU报文 · RSTP:在RSTP模式下,设备的各个端口将向外发送RSTP BPDU报文,当发现与运行STP的设备相连时,该端口会自动迁移到STP模式下工作 · MSTP:在MSTP模式下,设备的各个端口将向外发送MSTP BPDU报文,当发现与运行STP的设备相连时,该端口会自动迁移到STP模式下工作 |
||
最大跳数 |
设置MST域的最大跳数,该参数决定了MST域的规模 只有在域根上配置的该参数才会在域内生效,在非域根上的配置无效 |
||
路径开销标准 |
设置设备计算端口路径开销值时采用的标准(算法),包括Legacy、IEEE 802.1D-1998和IEEE 802.1T |
||
网络直径 |
网络中任意两台主机都通过特定的路径彼此相连,每条路径上都有一定数量的网络设备,网络直径就是设备最多的那条路径上的设备个数 设置网络直径后,无法配置定时器的值,因为设备会自动计算Forward Delay、Hello Time和Max Age · 该参数只对CIST有效,对MSTI无效 · 网络直径和定时器不能同时配置 |
||
定时器 |
Forward Delay |
设置设备状态迁移的延迟时间 |
· 根桥Forward Delay、Hello Time和Max Age的取值需要满足一定关系,否则会引起网络频繁震荡。建议用户指定设备的网络直径,由设备自动计算Forward Delay、Hello Time和Max Age · 网络直径和定时器不能同时配置 |
Hello Time |
设置设备为检测链路故障,发送hello报文的周期 |
||
Max Age |
设置消息在设备内保存的最大时长 |
||
实例 |
实例ID |
设置设备在指定生成树实例中的角色或设备的桥优先级(桥优先级为设备能否被选为根桥的因素之一) 可选的角色包括: · Not Set:不配置,选择此项时可以设置设备的桥优先级 · Primary:配置为根桥,选择此项时不能设置设备的桥优先级 · Secondary:配置为备份根桥,选择此项时不能设置设备的桥优先级 |
|
根类型 |
|||
桥优先级 |
|||
TC保护功能 |
设置是否使能TC-BPDU报文攻击的保护功能 设备在接收到TC-BPDU报文后,会执行转发地址表项的刷新操作。在有人伪造TC-BPDU报文恶意攻击设备时,设备短时间内会收到很多的TC-BPDU报文,频繁的刷新操作给设备带来很大负担,给网络的稳定带来很大隐患。通过在设备上使能防止TC-BPDU报文攻击的保护功能,可以避免频繁地刷新转发地址表项 建议用户不要将此保护功能关闭 |
||
TC报文删除转发表项门限 |
设置设备在收到TC-BPDU报文后的一定时间内,允许收到TC-BPDU报文后立即刷新转发地址表项的最高次数 |
(1) 在导航栏中选择“网络 > MSTP”。
(2) 单击“端口设置”页签,进入如下图所示的页面。
(3) 配置MSTP端口的信息,详细配置如下表所示。
(4) 单击<应用>按钮完成操作。
表4-10 MSTP端口的详细配置
配置项 |
说明 |
|
STP |
设置是否使能端口的STP功能 |
|
保护类型 |
设置端口上使能的保护类型 · Not Set:不使能任何保护类型 · Edged Port、Root Protection、Loop Protection:参见表4-11 |
|
实例 |
实例ID |
设置端口在不同生成树实例中的优先级和路径开销 · 端口优先级是确定该端口是否会被选为根端口的重要依据,同等条件下优先级高的端口将被选为根端口。在支持MSTP的设备上,端口可以在不同的生成树实例中拥有不同的优先级,同一端口可以在不同的生成树实例中担任不同的角色,从而使不同VLAN的数据沿不同的物理路径传播,实现按VLAN进行负载分担的功能。用户可以根据组网的实际需要来设置端口的优先级 · 路径开销是与端口相连的链路速率相关的参数,可以选择自动计算或手动设置路径开销。在支持MSTP的设备上,端口在不同的生成树实例中可以拥有不同的路径开销。设置合适的路径开销可以使不同VLAN的流量沿不同的物理链路转发,从而实现按VLAN负载分担的功能 |
端口优先级 |
||
自动计算 |
||
手动设置 |
||
高级 |
点对点 |
设置端口是否与点到点链路相连 · Auto:将自动检测端口是否与点到点链路相连 · Force False:端口没有与点到点链路相连 · Force True:端口与点到点链路相连 当端口被设置为与点对点链路相连,则该端口在所有生成树实例上均被设置为与点对点链路相连。如果端口实际物理链路不是点对点链路,用户错误配置为强制点对点链路,则有可能会引入临时环路 |
传输限制 |
设置端口在每个Hello Time内发送MSTP报文的最大个数 如果配置的值过大,会占用过多的网络资源,建议使用缺省值 |
|
MSTP模式 |
设置是否将端口迁移到MSTP模式 如果在一个交换网络中,运行MSTP(或RSTP)的设备的端口连接着运行STP的设备,该端口会自动迁移到STP兼容模式下工作;但是此时如果运行STP协议的设备被拆离,该端口不能自动迁移到MSTP(或RSTP)模式下运行,仍然会工作在STP兼容模式下。此时可以通过执行此操作迫使其迁移到MSTP(或RSTP)模式下运行 |
|
请选择端口 |
在设置要配置MSTP功能的端口,可以同时选择多个端口进行配置 在面板示意图中可点击选择要配置的端口;当设备中配置了聚合口时,面板示意图下方会显示聚合口的列表,可点击进行选择 |
表4-11 保护类型说明表
保护类型 |
说明 |
Edged Port |
边缘端口。接入层设备的一些端口会直连PC、文件服务器等不会产生配置消息的设备。在这些端口上使能这一功能可以实现端口的快速迁移 使能Edged Port功能时,建议同时使能BPDU保护功能,以防止边缘端口收到配置消息而引起的网络震荡 |
Root Protection |
根保护功能。由于维护人员的错误配置或网络中的恶意攻击,网络中可能会出现优先级更高的配置消息,这样会导致STP重新计算,从而引起网络拓扑结构的错误变动。Root Protection可以防止此类情况出现 |
Loop Protection |
环路保护功能。设备通过不断接收上游设备发送的配置消息来维持根端口及其他端口的状态。由于链路拥塞或单向链路故障,端口可能无法收到上游设备的配置消息。此时设备会重新选择根端口,阻塞端口可能会迁移到转发状态,在交换网络中形成环路。Loop Protection可以防止此类环路产生 |
(1) 在导航栏中选择“网络 > MSTP”。
(2) 单击“端口信息”页签。
(3) 在面板示意图中单击选中一个端口(当设备中配置了聚合口时,面板示意图下方会显示聚合口的列表,也可点击进行选择),页面下方会显示该端口上实例0的生成树信息(当全局STP使能时)或STP的状态和统计信息(当全局STP未使能时),以及该端口所属的生成树实例、路径开销和优先级,下图所示。详细说明如表4-12所示。
表4-12 端口上实例0的生成树信息的详细说明
字段 |
说明 |
[FORWARDING] |
端口处于Forwarding状态:学习MAC地址,转发用户流量 |
[LEARNING] |
端口处于Learning状态:学习MAC地址,不转发用户流量 |
[DISCARDING] |
端口处于Discarding状态:不学习MAC地址,不转发用户流量 |
[DOWN] |
端口处于关闭状态 |
Port Protocol |
端口是否使能STP协议 |
Port Role |
端口在生成树实例中的角色,包括:Alternate、Backup、Root、Designated、Master、Disabled |
Port Priority |
端口优先级 |
Port Cost(Legacy) |
端口的路径开销(括号中的内容表示当前设备的路径开销计算方法,包括Legacy、dot1d-1998和dot1t): · Config:表示配置值 · Active:表示实际值 |
Desg. Bridge/Port |
端口的指定桥ID和端口ID 对于不支持端口优先级的端口,这里显示的端口ID没有意义 |
Port Edged |
端口是否为边缘端口: · Config:表示配置值 · Active:表示实际值 |
Point-to-point |
端口是否与点对点链路相连: · Config:表示配置值 · Active:表示实际值 |
Transmit Limit |
端口每个Hello Time时间间隔发送报文的上限 |
Protection Type |
端口遇到异常情况启动保护的类型: · Root:表示根保护 · Loop:表示环路保护 · BPDU:表示BPDU保护 · None:表示无保护 |
MST BPDU Format |
端口发送MSTP报文的格式,取值为legacy和802.1s: · Config:表示配置值 · Active:表示实际值 |
Port Config- Digest-Snooping |
端口是否使能配置摘要侦听功能 |
Rapid transition |
边缘端口在实例0中是否快速迁移至转发状态 |
Num of Vlans Mapped |
端口在实例0中的VLAN计数 |
PortTimes |
端口相关的主要参数值: · Hello:表示Hello time定时器值 · MaxAge:表示Max Age定时器值 · FwDly:表示Forward delay定时器值 · MsgAge:表示Message Age定时器值 · RemHop:表示剩余跳数 |
BPDU Sent |
端口发送报文计数 |
BPDU Received |
端口接收报文计数 |
Protocol Status |
MSTP协议状态 |
Protocol Std. |
MSTP协议标准 |
Version |
MSTP协议版本 |
CIST Bridge-Prio. |
设备在CIST中的优先级 |
MAC address |
设备的MAC地址 |
Max age(s) |
BPDU的最大生存时间(单位为秒) |
Forward delay(s) |
端口状态迁移的延时(单位为秒) |
Hello time(s) |
根设备发送BPDU的周期(单位为秒) |
Max hops |
MST域中的最大跳数 |
TC Snooping |
是否使能TC Snooping功能 |
配置MSTP使下图中不同VLAN的报文按照不同的生成树实例转发。具体配置为:
· 网络中所有设备属于同一个MST域;
· VLAN 10的报文沿着实例1转发,VLAN 20沿着实例2转发,VLAN 30沿着实例3转发,VLAN 40沿着实例0转发;
· Switch A和Switch B为汇聚层设备,Switch C和Switch D为接入层设备。VLAN 10、VLAN 20在汇聚层设备终结,VLAN 30在接入层设备终结,因此可以配置实例1和实例2的树根分别为Switch A和Switch B,实例3的树根为Switch C。
图4-11 MSTP配置组网图
图中链路上的说明“permit: ”表示该链路允许哪些VLAN的报文通过。
(1) 配置MSTP域。
步骤1:在导航栏中选择“网络 > MSTP”,默认进入“MSTP域”页签的页面。
步骤2:单击<修改>按钮,如下图所示。
步骤3:在修改MSTP域的页面进行如下配置,如下图所示。
· 输入修订级别为“0”。
· 选中“手工设置”前的单选按钮。
· 选择实例ID为“1”。
· 输入VLAN ID为“10”。
· 单击<应用>按钮将实例与VLAN的映射关系添加到列表中。
· 选择实例ID为“2”。
· 输入VLAN ID为“20”。
· 单击<应用>按钮将实例与VLAN的映射关系添加到列表中。
· 选择实例ID为“3”。
· 输入VLAN ID为“30”。
· 单击<应用>按钮将实例与VLAN的映射关系添加到列表中。
步骤4:单击<激活>按钮完成操作。
图4-13 配置MSTP域
(2) 配置MSTP全局。
步骤1:在导航栏中选择“网络 > MSTP”。
步骤2:单击“MSTP全局”页签。
步骤3:进行如下配置,如下图所示。
· 选择全局STP使能为“Enable”。
· 选择模式为“MSTP”。
· 选中“实例”前的复选框。
· 选择实例ID为“1”。
· 选择根类型为“Primary”。
步骤4:单击<确定>按钮完成操作。
图4-14 配置MSTP全局(Switch A)
(1) 配置MSTP域。(与Switch A上MSTP域的配置相同,不再赘述)
(2) 配置MSTP全局。
步骤1:在导航栏中选择“网络> MSTP”。
步骤2:单击“MSTP全局”页签。
步骤3:进行如下配置,参见图4-14。
· 选择全局STP使能为“Enable”。
· 选择模式为“MSTP”。
· 选中“实例”前的复选框。
· 选择实例ID为“2”。
· 选择根类型为“Primary”。
步骤4:单击<确定>按钮完成操作。
(1) 配置MSTP域。(与Switch A上MSTP域的配置相同,不再赘述)
(2) 置MSTP全局。
步骤1:在导航栏中选择“网络 > MSTP”。
步骤2:单击“MSTP全局”页签。
步骤3:进行如下配置,参见图4-14。
· 选择全局STP使能为“Enable”。
· 选择模式为“MSTP”。
· 选中“实例”前的复选框。
· 选择实例ID为“3”。
· 选择根类型为“Primary”。
步骤4:单击<确定>按钮完成操作。
(1) 配置MSTP域。(与Switch A上MSTP域的配置相同,不再赘述)
(2) 配置MSTP全局。
步骤1:在导航栏中选择“网络 > MSTP”。
步骤2:单击“MSTP全局”页签。
步骤3:进行如下配置,如下图所示。
· 选择全局STP使能为“Enable”。
· 选择模式为“MSTP”。
步骤4:单击<确定>按钮完成操作。
图4-15 配置MSTP全局(Switch D)
配置MSTP时需要注意如下事项:
(1) 只有两台设备上配置的MST域的域名相同、MST域内配置的所有生成树实例对应的VLAN映射表完全相同、MST域的修订级别相同,且设备之间有链路相通,这两台设备才属于同一个MST域。
(2) 在生成树根桥的选择过程中,如果设备的桥优先级取值相同,则MAC地址最小的那台设备将被选择为根。
(3) 在设备没有使能BPDU保护的情况下,如果被设置为边缘端口的端口上收到来自其它端口的BPDU报文,则该端口会重新变为非边缘端口。此时,只有重启端口才能将该端口恢复为边缘端口。
(4) 对于直接与终端相连的端口,请将该端口设置为边缘端口,同时启动BPDU保护功能。这样既能够使该端口快速迁移到转发状态,也可以保证网络的安全。
链路聚合是将多个物理以太网端口聚合在一起形成一个逻辑上的聚合组,使用链路聚合服务的上层实体把同一聚合组内的多条物理链路视为一条逻辑链路。
链路聚合可以实现出/入负载在聚合组中各个成员端口之间分担,以增加带宽。同时,同一聚合组的各个成员端口之间彼此动态备份,提高了连接可靠性。
聚合接口是一个逻辑接口。
聚合组是一组以太网接口的集合。聚合组是随着聚合接口的创建而自动生成的,其编号与聚合接口编号相同。
随着二层聚合接口的创建而自动生成,只能包含二层以太网接口的聚合组为二层聚合组。
聚合组中的成员端口有下面两种状态:
· Selected状态:处于此状态的接口可以参与转发用户数据。
· Unselected状态:处于此状态的接口不能转发用户数据。
聚合接口的速率、双工状态由其Selected成员端口决定:聚合接口的速率是Selected成员端口的速率之和,聚合接口的双工状态与Selected成员端口的双工状态一致。
关于如何确定一个成员端口的状态,将在“5.1.3 1. 静态聚合模式”和“5.1.3 2. 动态聚合模式”中详细介绍。
LACP(Link Aggregation Control Protocol,链路聚合控制协议)是一种基于IEEE802.3ad标准的协议。LACP协议通过LACPDU(Link Aggregation Control Protocol Data Unit,链路聚合控制协议数据单元)使两端的设备交互信息。
处于动态聚合组中的接口会自动使能LACP协议,该接口将通过发送LACPDU向对端通告自己的系统LACP协议优先级、系统MAC、端口的LACP协议优先级、端口号和操作Key。对端接收到LACPDU后,将其中的信息与其它接口所收到的信息进行比较,以选择能够处于Selected状态的接口,从而双方可以对接口处于Selected状态达成一致。
操作Key是在链路聚合时,聚合控制根据成员端口的某些配置自动生成的一个配置组合,包括端口速率、双工模式和链路状态的配置(统称为端口属性配置)。
在聚合组中,处于Selected状态的成员端口具有相同的操作Key。
第二类配置所含内容如表5-1所示。同一聚合组中,如果成员端口与聚合接口的第二类配置不同,那么该成员端口将不能成为Selected端口。
类别 |
配置内容 |
端口隔离 |
端口是否加入隔离组、端口所属的端口隔离组 |
VLAN配置 |
端口上允许通过的VLAN、端口缺省VLAN ID、端口的链路类型(即Trunk、Hybrid、Access类型)、基于IP子网的VLAN配置、基于协议的VLAN配置、VLAN报文是否带Tag配置 |
MAC地址学习配置 |
是否具有MAC地址学习功能、端口是否具有最大学习MAC地址个数的限制、MAC地址表满后是否继续转发 |
· 还有一些配置称为“第一类配置”,此类配置可以在聚合接口和成员端口上配置,但是不会参与操作Key的计算,比如MSTP等。
· 由于成员端口上第二类配置的改变可能导致其选中状态发生变化,进而对业务产生影响,因此当在成员端口上进行第二类配置时,系统将给出提示信息,由用户来决定该配置是否继续进行。
按照聚合方式的不同,链路聚合可以分为两种模式:
· 静态聚合模式
· 动态聚合模式
静态聚合模式中,成员端口的LACP协议为关闭状态。系统按照以下原则设置成员端口的选中状态:
· 当聚合组内有处于Up状态的端口时,系统按照端口全双工/高速率、全双工/低速率、半双工/高速率、半双工/低速率的优先次序,选择优先次序最高且处于Up状态的、端口的第二类配置和对应聚合接口的第二类配置相同的端口作为该组的参考端口(优先次序相同的情况下,端口号最小的端口为参考端口)。
· 与参考端口的端口属性配置和第二类配置一致且处于Up状态的端口成为可能处于Selected状态的候选端口,其它端口将处于Unselected状态。
· 聚合组中处于Selected状态的端口数是有限制的,当候选端口的数目未达到上限时,所有候选端口都为Selected状态,其它端口为Unselected状态;当候选端口的数目超过这一限制时,系统将按照端口号从小到大的顺序选择一些候选端口保持在Selected状态,端口号较大的端口则变为Unselected状态。
· 当聚合组中全部成员都处于Down状态时,全组成员均为Unselected状态。
· 因硬件限制(如不能跨板聚合)而无法与参考端口聚合的端口将处于Unselected状态。
当聚合组中处于Selected状态的端口数已达到限制时,后加入的端口即使具备成为Selected端口的条件,也会成为Unselected状态。这样能够尽量维持当前Selected端口上的流量不中断,但是可能导致设备重启前后各端口的Selected状态不一致。
当聚合组配置为动态聚合模式后,聚合组中成员端口的LACP协议自动使能。
在动态聚合模式中,成员端口处于不同状态时对协议报文的处理方式如下:
· Selected端口可以收发LACP协议报文。
· 处于Up状态的Unselected端口如果配置和对应的聚合接口配置相同,可以收发LACP协议报文。
系统按照以下原则设置成员端口的选中状态:
(1) 本端系统和对端系统会进行协商,根据两端系统中设备ID较优的一端的端口ID的大小,来决定两端端口的状态。具体协商步骤如下:
· 比较两端系统的设备ID(设备ID=系统的LACP协议优先级+系统MAC地址)。先比较系统的LACP协议优先级,如果相同再比较系统MAC地址。设备ID小的一端被认为较优(系统的LACP协议优先级和MAC地址越小,设备ID越小)。
· 比较设备ID较优的一端的端口ID(端口ID=端口的LACP协议优先级+端口号)。对于设备ID较优的一端的各个端口,首先比较端口的LACP协议优先级,如果优先级相同再比较端口号。端口ID小的端口作为参考端口(端口的LACP协议优先级和端口号越小,端口ID越小)。
· 与参考端口的端口属性配置和第二类配置一致且处于Up状态的端口、并且该端口的对端端口与参考端口的对端端口的配置也一致时,该端口才成为可能处于Selected状态的候选端口。否则,端口将处于Unselected状态。
· 聚合组中处于Selected状态的端口数是有限制的,当候选端口的数目未达到上限时,所有候选端口都为Selected状态,其它端口为Unselected状态;当候选端口的数目超过这一限制时,系统将按照端口ID从小到大的顺序选择一些端口保持在Selected状态,端口ID较大的端口则变为Unselected状态。同时,对端设备会感知这种状态的改变,相应端口的状态将随之变化。
(2) 因硬件限制(如不能跨板聚合)而无法与参考端口聚合的端口将处于Unselected状态。
对于上述两种聚合模式来说:
· 聚合组中,只有与参考端口配置一致的端口才允许成为Selected端口,这些配置包括端口的端口属性配置和第二类配置。用户需要通过手工配置的方式保持各端口上的这些配置一致。
· 当聚合组中某成员端口的端口属性配置或第二类配置发生改变时,该端口或该聚合组内其它成员端口的选中状态可能会发生改变。
· 当聚合组中成员端口和聚合接口的ARP限速功能发生改变时,该成员端口或该聚合组内其它成员端口的选中状态可能会发生改变。
表5-2 静态聚合组配置步骤
步骤 |
配置任务 |
说明 |
1 |
必选 创建静态聚合接口,并配置其成员端口 创建静态聚合接口时,系统自动生成静态聚合组 缺省情况下,未配置任何链路聚合组 |
|
2 |
可选 查看已存在的链路聚合组的详细信息 |
步骤 |
配置任务 |
说明 |
1 |
必选 创建动态聚合接口,并配置其成员端口 创建动态聚合接口时,系统自动生成动态聚合组,并使能LACP协议 缺省情况下,未配置任何链路聚合组 |
|
2 |
可选 设置端口LACP协议优先级和系统LACP协议优先级 改变LACP协议优先级将会影响到动态聚合组成员的Selected和Unselected状态 缺省情况下,端口和系统LACP协议优先级均为32768 |
|
3 |
可选 查看已存在的链路聚合组的详细信息 |
|
4 |
可选 查看已使能LACP协议的端口的详细信息,以及对端端口的详细信息 |
(1) 在导航栏中选择“网络 > 链路聚合”。
(2) 单击“创建”页签,进入如下图所示的页面。
(3) 配置链路聚合组的信息,详细配置如下表所示。
(4) 单击<应用>按钮完成操作。
配置项 |
说明 |
输入链路聚合接口 |
设置链路聚合接口的ID,作为链路聚合接口组的标识,也是链路聚合组的标识 |
选择链路聚合接口类型 |
设置要创建的链路聚合接口的类型,包括: · 静态(LACP不使能) · 动态(LACP使能) |
为新建的聚合接口选择成员端口 |
在面板示意图中选择需要加入该聚合接口的成员端口,可以选择一个或多个端口 选择结果显示在页面下方的概要信息列表框中 |
(1) 在导航栏中选择“网络 > 链路聚合”,默认进入“显示”页签的页面,如下图所示。页面上方的列表中显示所有聚合接口的信息。
(2) 选中一条表项,在页面下方的列表中会显示该聚合接口中端口成员的详细信息,详细说明如表5-5所示。
标题项 |
说明 |
聚合接口 |
链路聚合接口的类型和ID Bridge-Aggregation表示二层聚合接口 |
链路类型 |
链路聚合接口的类型,包括: · Static:静态聚合接口 · Dynamic:动态聚合接口 |
对端设备标识 |
对端系统的设备ID(包括系统的LACP协议优先级与系统MAC地址) |
被选中端口数 |
聚合组中正在使用(即可以收发用户的业务报文)的端口数量 |
备用端口数 |
聚合组中未在使用(即不能收发用户的业务报文)的端口数量 |
端口成员 |
选中聚合接口中的端口成员 |
状态 |
端口成员的选中状态 |
未选中原因 |
端口成员未选中(即未在使用)的原因 当端口成员的状态为选中时,显示为“--” |
(1) 在导航栏中选择“网络 > LACP”。
(2) 单击“设置”页签,进入如下图所示的页面。
图5-3 设置LACP协议优先级
(3) 在页面的“设置LACP激活端口参数”部分修改端口的LACP协议优先级,详细配置如下表所示。
(4) 单击此部分的<应用>按钮完成操作。
表5-6 LACP协议优先级的详细配置
配置项 |
说明 |
端口优先级 |
设置端口的LACP协议优先级 |
选择端口修改端口优先级 |
在面板示意图中选择需要修改LACP协议优先级的端口 未使能LACP协议的端口也可以修改其LACP协议优先级 |
(5) 在“LACP公共参数设置”部分修改系统的LACP协议优先级。
(6) 单击此部分的<应用>按钮完成操作。
(1) 在导航栏中选择“网络 > LACP”,默认进入“显示”页签的页面。页面上方的列表框中显示的是本设备上所有使能了LACP协议的端口的详细信息,详细说明如表5-7所示。
(2) 选中某条表项。
(3) 单击<查看详情>按钮,在下方的列表中显示该端口的对端端口的详细信息,如图5-4所示,详细说明如表5-8所示。
图5-4 查看LACP端口信息
表5-7 使能了LACP协议的端口信息的详细说明
标题项 |
说明 |
单元 |
当多台设备形成Stack时,端口所在设备的成员编号 |
端口 |
使能了LACP协议的端口的编号 |
LACP状态 |
端口上LACP协议的使能状态 |
端口优先级 |
端口的LACP协议优先级 |
状态 |
端口是否处于激活状态 如果处于激活状态,还将显示端口所属的聚合组 |
未选中原因 |
端口未在使用(即不能收发用户的业务报文)的原因,取值的具体说明请参见图5-4 |
对端端口 |
对端端口的编号 |
对端状态 |
对端端口的状态,用A~H表示 · A:LACP使能 · B:LACP短超时(不显示B表示LACP长超时) · C:发送端认为端口所在链路可聚合 · D:发送端认为端口所在链路处于同步状态 · E:发送端认为端口所在链路处于收集状态 · F:发送端认为端口所在链路处于分发状态 · G:发送端的接收状态机处于默认状态(没有收到报文、或者长时间内没有收到报文) · H:发送端的接收状态机处于超时状态 |
操作key |
本端端口的操作Key |
标题项 |
说明 |
单元 |
对端设备的成员编号 |
端口 |
对端端口的编号 |
对端设备标识 |
对端系统的设备ID(包括系统的LACP协议优先级与系统MAC地址) |
对端端口优先级 |
对端端口的LACP协议优先级 |
对端操作key |
对端端口的操作Key |
· Switch A与Switch B通过各自的二层以太网端口GigabitEthernet1/0/1~GigabitEthernet1/0/3相互连接。
· Switch A和Switch B由三条物理链路连接。在Switch A和Switch B上把端口配置成链路聚合组,从而实现出/入负载在各成员端口中分担。
图5-5 静态聚合配置组网图
使用静态聚合组和动态聚合组均可以实现负载分担,下面将分别介绍这两种聚合组的配置方法,使用任何一种方法都可以实现需求。
(1) 方法一:配置静态聚合组
步骤1:在导航栏中选择“网络 > 链路聚合”。
步骤2:单击“创建”页签。
步骤3:进行如下配置,如下图所示。
· 输入二层接口为“1”。
· 选择链路聚合接口类型为“静态(LACP不使能)”。
· 在面板示意图上选中端口“GigabitEthernet1/0/1”、“GigabitEthernet1/0/2”、“GigabitEthernet1/0/3”。
步骤4:单击<应用>按钮完成操作。
图5-6 创建静态聚合组1
(2) 方法二:配置动态聚合组
步骤1:在导航栏中选择“网络 > 链路聚合”。
步骤2:单击“创建”页签。
步骤3:进行如下配置,如下图所示。
· 输入二层接口为“1”。
· 选择链路聚合接口类型为“动态(LACP使能)”。
· 在面板示意图上选中端口“GigabitEthernet1/0/1”、“GigabitEthernet1/0/2”、“GigabitEthernet1/0/3”。
步骤4:单击<应用>按钮完成操作。
图5-7 创建动态聚合组1
对链路聚合组进行配置时,需要注意如下事项:
(1) 在聚合组中,只有与参考端口配置一致的端口才允许成为Selected端口,这些配置包括端口的端口属性配置和第二类配置。在进行配置时,用户需要通过手工配置的方式保证各端口上的这些配置一致。
· 参考端口:当聚合组内有处于Up状态的端口时,系统按照端口全双工/高速率、全双工/低速率、半双工/高速率、半双工/低速率的优先次序,选择优先次序最高且处于Up状态的、端口的第二类配置和对应聚合接口的第二类配置相同的端口作为该组的参考端口(优先次序相同的情况下,端口号最小的端口为参考端口)。
· 端口属性配置:包括端口速率、双工模式和链路状态的配置。
· 第二类配置:请参见“5.1.2 6. 第二类配置”一节的介绍。
(2) 对于静态聚合组,用户要通过配置使同一链路上处在两台不同设备中的端口的Selected状态保持一致,否则聚合功能不能正常使用;对于动态聚合模式,系统两端会自动协商同一条链路上的两端端口在各自聚合组中的Selected状态,用户只需保证在一个系统中聚合在一起的端口的对端也同样聚合在一起,聚合功能即可正常使用。
(3) 删除二层聚合接口时,系统会自动删除对应的聚合组,且该聚合组中的所有成员端口将全部离开该聚合组。
(4) 由于没有负载分担资源而导致负载分担组成为非负载分担组时,可能出现下列两种情况:一种情况是,对端的Selected端口数与本端的Selected端口数不相同,此时不能保证流量的正确转发;另一种情况是,本端Selected端口的对端是Unselected端口,此时会导致上层协议和流量转发出现异常。请用户配置的时候避免上述情况的发生。
目前,网络设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息,需要有一个标准的信息交流平台。
LLDP(Link Layer Discovery Protocol,链路层发现协议)就是在这样的背景下产生的,它提供了一种标准的链路层发现方式,可以将本端设备的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(Link Layer Discovery Protocol Data Unit,链路层发现协议数据单元)中发布给与自己直连的邻居,邻居收到这些信息后将其以标准MIB(Management Information Base,管理信息库)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。
有关MIB的详细介绍,请参见“SNMP”。
封装有LLDPDU的报文称为LLDP报文,其封装格式有两种:Ethernet II和SNAP(Subnetwork Access Protocol,子网访问协议)。
(1) Ethernet II格式封装的LLDP报文
图6-1 Ethernet II格式封装的LLDP报文
如上图所示,是以Ethernet II格式封装的LLDP报文,其中各字段的含义如下:
· Destination MAC address:目的MAC地址,为固定的组播MAC地址0x0180-C200-000E。
· Source MAC address:源MAC地址,为端口MAC地址。
· Type:报文类型,为0x88CC。
· Data:数据内容,为LLDPDU。
· FCS:帧检验序列,用来对报文进行校验。
(2) SNAP格式封装的LLDP报文
图6-2 SNAP格式封装的LLDP报文
如上图所示,是以SNAP格式封装的LLDP报文,其中各字段的含义如下:
· Destination MAC address:目的MAC地址,为固定的组播MAC地址0x0180-C200-000E。
· Source MAC address:源MAC地址,为端口MAC地址或设备桥MAC地址(如果有端口地址则使用端口MAC地址,否则使用设备桥MAC地址)。
· Type:报文类型,为0xAAAA-0300-0000-88CC。
· Data:数据内容,为LLDPDU。
· FCS:帧检验序列,用来对报文进行校验。
LLDPDU就是封装在LLDP报文数据部分的数据单元。在组成LLDPDU之前,设备先将本地信息封装成TLV格式,再由若干个TLV组合成一个LLDPDU封装在LLDP报文的数据部分进行传送。
图6-3 LLDPDU的封装格式
如上图示,深蓝色的Chasis ID TLV、Port ID TLV、Time To Live TLV和End of LLDPDU TLV这四种TLV是每个LLDPDU都必须携带的,其余的TLV则为可选携带。每个LLDPDU最多可携带28种TLV。
TLV是组成LLDPDU的单元,每个TLV都代表一个信息。LLDP可以封装的TLV包括基本TLV、802.1组织定义TLV、802.3组织定义TLV和LLDP-MED(Media Endpoint Discovery,媒体终端发现) TLV。
基本TLV是网络设备管理基础的一组TLV,802.1组织定义TLV、802.3组织定义TLV和LLDP-MED TLV则是由标准组织或其他机构定义的TLV,用于增强对网络设备的管理,可根据实际需要选择是否在LLDPDU中发送。
(1) 基本TLV
在基本TLV中,有几种TLV对于实现LLDP功能来说是必选的,即必须在LLDPDU中发布,如下表所示。
TLV名称 |
说明 |
是否必须发布 |
Chassis ID |
发送设备的桥MAC地址 |
是 |
Port ID |
标识LLDPDU发送端的端口。如果LLDPDU中携带有LLDP-MED TLV,其内容为端口的MAC地址,没有端口MAC时使用桥MAC;否则,其内容为端口的名称 |
是 |
Time To Live |
本设备信息在邻居设备上的存活时间 |
是 |
End of LLDPDU |
LLDPDU的结束标识,是LLDPDU的最后一个TLV |
是 |
Port Description |
端口的描述 |
否 |
System Name |
设备的名称 |
否 |
System Description |
系统的描述 |
否 |
System Capabilities |
系统的主要功能以及已使能的功能项 |
否 |
Management Address |
管理地址,以及改地址所对应的接口号和OID(Object Identifier,对象标识符) |
否 |
(2) 802.1组织定义TLV
IEEE 802.1组织定义TLV的内容如下表所示。
表6-2 IEEE 802.1组织定义的TLV
TLV名称 |
说明 |
Port VLAN ID |
端口的PVID(Port VLAN ID),一个LLDPDU中最多携带一个该类型TLV |
Port And Protocol VLAN ID |
端口的PPVID(Port and Protocol VLAN ID),一个LLDPDU中可携带多个互不重复的该类型TLV |
VLAN Name |
端口所属VLAN的名称,一个LLDPDU中可携带多个互不重复的该类型TLV |
Protocol Identity |
端口所支持的协议类型,一个LLDPDU中可携带多个互不重复的该类型TLV |
DCBX |
数据中心桥能力交换协议(Data Center Bridging Exchange Protocol) |
目前,H3C设备不支持发送Protocol Identity TLV,但可以接收该类型的TLV。
(3) 802.3组织定义TLV
IEEE 802.3组织定义TLV的内容如下表所示。
表6-3 IEEE 802.3组织定义的TLV
TLV名称 |
说明 |
MAC/PHY Configuration/Status |
端口支持的速率和双工状态、是否支持端口速率自动协商、是否已使能自动协商功能以及当前的速率和双工状态 |
Power Via MDI |
端口的供电能力,包括PoE(Power over Ethernet,以太网供电)的类型(PSE(Power Sourcing Equipment,供电设备)或PD(Powered Device,受电设备))、PoE端口的远程供电模式、是否支持PSE供电、是否已使能PSE供电以及供电方式是否可控 |
Link Aggregation |
端口是否支持链路聚合以及是否已使能链路聚合 |
Maximum Frame Size |
端口支持的最大帧长度,取端口配置的MTU(Maximum Transmission Unit,最大传输单元) |
Power Stateful Control |
端口的电源状态控制,包括PSE/PD所采用的电源类型、供/受电的优先级以及供/受电的功率 |
Power Stateful Control TLV是在IEEE P802.3at D1.0版本中被定义的,之后的版本不再支持该TLV。H3C设备只有在收到Power Stateful Control TLV后才会发送该类型的TLV。
(4) LLDP-MED TLV
LLDP-MED TLV为VoIP(Voice over IP,在IP网络上传送语音)提供了许多高级的应用,包括基本配置、网络策略配置、地址信息以及目录管理等,满足了语音设备的不同生产厂商在成本有效、易部署、易管理等方面的要求,并解决了在以太网中部署语音设备的问题,为语音设备的生产者、销售者以及使用者提供了便利。LLDP-MED TLV的内容如下表所示。
TLV名称 |
说明 |
LLDP-MED Capabilities |
网络设备所支持的LLDP-MED TLV类型 |
Network Policy |
网络设备或终端设备上端口的VLAN类型、VLAN ID以及二三层与具体应用类型相关的优先级等等 |
Extended Power-via-MDI |
网络设备或终端设备的扩展供电能力,对Power Via MDI TLV进行了扩展 |
Hardware Revision |
终端设备的硬件版本 |
Firmware Revision |
终端设备的固件版本 |
Software Revision |
终端设备的软件版本 |
Serial Number |
终端设备的序列号 |
Manufacturer Name |
终端设备的制造厂商名称 |
Model Name |
终端设备的模块名称 |
Asset ID |
终端设备的资产标识符,以便目录管理和资产跟踪 |
Location Identification |
网络设备的位置标识信息,以供终端设备在基于位置的应用中使用 |
管理地址是供网络管理系统标识网络设备并进行管理的地址。管理地址可以明确地标识一台设备,从而有利于网络拓扑的绘制,便于网络管理。管理地址被封装在LLDP报文的Management Address TLV 中向外发布。
LLDP有以下四种工作模式:
· TxRx:既发送也接收LLDP报文。
· Tx:只发送不接收LLDP报文。
· Rx:只接收不发送LLDP报文。
· Disable:既不发送也不接收LLDP报文。
当端口的LLDP工作模式发生变化时,端口将对协议状态机进行初始化操作。为了避免端口工作模式频繁改变而导致端口不断执行初始化操作,可配置端口初始化延迟时间,当端口工作模式改变时延迟一段时间再执行初始化操作。
当端口工作在TxRx或Tx模式时,设备会周期性地向邻居设备发送LLDP报文。如果设备的本地配置发生变化则立即发送LLDP报文,以将本地信息的变化情况尽快通知给邻居设备。但为了防止本地信息的频繁变化而引起LLDP报文的大量发送,每发送一个LLDP报文后都需延迟一段时间后再继续发送下一个报文。
当设备的工作模式由Disable/Rx切换为TxRx/Tx,或者发现了新的邻居设备(即收到一个新的LLDP报文且本地尚未保存发送该报文设备的信息)时,该设备将自动启用快速发送机制,即将LLDP报文的发送周期缩短为1秒,并连续发送指定数量的LLDP报文后再恢复为正常的发送周期。
当端口工作在TxRx或Rx模式时,设备会对收到的LLDP报文及其携带的TLV进行有效性检查,通过检查后再将邻居信息保存到本地,并根据Time To Live TLV中TTL(Time to Live,生存时间) 的值来设置邻居信息在本地设备上的老化时间,若该值为零,则立刻老化该邻居信息。
与LLDP相关的协议规范有:
· IEEE 802.1AB-2005:Station and Media Access Control Connectivity Discovery
· ANSI/TIA-1057:Link Layer Discovery Protocol for Media Endpoint Devices
表6-5 LLDP配置步骤
步骤 |
配置任务 |
说明 |
1 |
可选 缺省情况下,端口LLDP功能处于使能状态 LLDP功能必须在全局和端口上同时使能后才能生效 |
|
2 |
可选 配置端口LLDP功能相关参数,包括:LLDP工作模式、报文封装格式、兼容CDP功能、轮询功能、Trap功能和允许发布的TLV类型等 缺省情况下: · LLDP工作模式为TxRx · 报文封装格式为ETHII · 兼容CDP功能的工作模式为Disable · 轮询、Trap功能处于关闭状态 · LLDP发布除Location Identification TLV之外的所有类型的TLV |
|
3 |
必选 设置使能全局的LLDP功能,并配置LLDP的全局参数 LLDP功能必须在全局和端口上同时使能后才能生效 缺省情况下,全局LLDP功能处于关闭状态 |
|
4 |
可选 查看指定端口的LLDP本地信息、邻居信息、统计信息和状态信息 · 本地信息是指当前设备要发送的LLDP信息,这些信息将被组织成TLV发送给邻居 · 邻居信息是指从邻居收到的LLDP信息,邻居将这些信息组织成TLV发送给当前设备 |
|
5 |
可选 查看全局的LLDP本地信息和统计信息 本地信息是指当前设备要发送的LLDP信息,这些信息将被组织成TLV发送给邻居 |
|
6 |
可选 查看全局的LLDP邻居信息,即从邻居收到的LLDP信息,邻居将这些信息组织成TLV发送给当前设备 |
(1) 在导航栏中选择“网络 > LLDP”,默认进入“端口设置”页签的界面,如下图所示。列表中显示的是端口LLDP功能的使能状态和工作模式。
(2) 在列表中选中接口名前的复选框。
(3) 单击列表下方<使能>按钮,可以使能这些端口的LLDP功能;单击列表下方的<去使能>按钮,可以关闭这些端口的LLDP功能。
Web提供了单个端口设置和批量端口设置两种方式来配置端口LLDP参数。
(1) 在导航栏中选择“网络 > LLDP”,默认进入“端口设置”页签的界面,如图6-4所示。
(2) 在列表中单击端口对应的图标,进入该端口LLDP参数的显示和配置页面,可以对该端口当前LLDP参数的配置信息进行查看和修改,如下图所示。
(3) 配置端口的LLDP参数,详细配置如下表所示。
(4) 单击<确定>按钮,弹出配置进度对话框。
(5) 看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
表6-6 端口LLDP参数的详细配置
配置项 |
说明 |
|
接口名 |
显示当前配置的LLDP端口的名称 |
|
LLDP状态 |
显示当前配置的端口的LLDP功能的使能状态 批量端口设置时不显示此项 |
|
基本设置 |
LLDP工作模式 |
设置端口的LLDP工作模式,包括: · TxRx:既发送也接收LLDPDU · Tx:只发送不接收LLDPDU · Rx:只接收不发送LLDPDU · Disable:既不发送也不接收LLDPDU |
报文封装格式 |
设置端口LLDPDU的封装格式,包括: · ETHII:端口发送的LLDPDU采用Ethernet II格式封装,并且只有收到的LLDPDU封装格式为Ethernet II时,设备才会对其进行处理 · SNAP:端口发送的LLDPDU采用SNAP格式封装,并且只有收到的LLDPDU封装格式为SNAP时,设备才会对其进行处理 LLDP CDP报文的封装格式只能为SNAP,不能为Ethernet II |
|
兼容CDP工作模式 |
设置端口LLDP兼容CDP功能的工作模式,包括: · Disable:既不发送也不接收CDP报文 · TxRx:既发送也接收CDP报文 要使LLDP兼容CDP功能生效,必须在“全局设置”页签中使能LLDP兼容CDP功能,同时将端口下LLDP兼容CDP功能的工作模式配置为TxRx |
|
轮询时间间隔 |
设置端口使能轮询功能和轮询的时间间隔 不指定轮询时间间隔表示关闭端口的轮询功能 通过配置轮询功能,LLDP将以轮询时间间隔周期性地查询本设备的相关配置是否发生改变,如果发生改变将触发LLDPDU的发送,以将本设备的配置变化迅速通知给其他设备 |
|
Trap功能 |
设置端口LLDP Trap功能的使能状态 通过使能LLDP Trap功能,可以向网管工作站通告如发现新邻居、与原来邻居的通信链路发生故障等重要事件 发送Trap信息的时间间隔是指设备向网管系统发送Trap信息的最小时间间隔,通过在“全局设置”页签中调整“Trap信息发送间隔”,可以避免由于邻居信息频繁变化而导致Trap信息的频繁发送 |
|
基本TLV设置 |
端口描述 |
设置端口发布Port Description TLV |
系统性能 |
设置端口发布System Capabilities TLV |
|
系统描述 |
设置端口发布System Description TLV |
|
系统名称 |
设置端口发布System Name TLV |
|
管理地址 |
设置端口发布Management Address TLV,并指定发布的管理地址和管理地址在TLV中的封装形式(封装形式可以是数字或字符串) 如果不指定发布的管理地址,则发布的管理地址为端口允许通过且VLAN ID值最小的VLAN的主IP地址,若VLAN ID值最小的VLAN未配置主IP地址,则发布的管理地址值为127.0.0.1 |
|
DOT1 TLV设置 |
端口VLAN ID |
设置端口发布Port VLAN ID TLV |
协议VLAN ID |
设置端口发布Port And Protocol VLAN ID TLV,并指定要发布的VLAN ID 如果不指定要发布的VLAN ID,则使用协议所属最小VLAN |
|
VLAN名称 |
设置端口发布VLAN Name TLV,并指定要发布的VLAN ID 如果不指定要发布的VLAN ID,则使用端口所属的最小VLAN |
|
DOT3 TLV设置 |
链路聚合 |
设置端口发布Link Aggregation TLV |
MAC/PHY配置/状态 |
设置端口发布MAC/PHY Configuration/Status TLV |
|
最大帧长度 |
设置端口发布Maximum Frame Size TLV |
|
供电能力 |
设置端口发布Power Via MDI TLV和Power Stateful Control TLV |
|
MED TLV设置 |
LLDP-MED能力集 |
设置端口发布LLDP-MED Capabilities TLV |
资产信息 |
设置端口发布Hardware Revision TLV、Firmware Revision TLV、Software Revision TLV、Serial Number TLV、Manufacturer Name TLV、Model Name TLV和Asset ID TLV |
|
网络策略 |
设置端口发布Network Policy TLV |
|
扩展供电能力 |
设置端口发布Extended Power-via-MDI TLV |
|
紧急号码 |
设置端口发布Location Identification TLV封装紧急电话号码,并指定封装的紧急电话号码 |
|
普通地址 |
设置端口发布Location Identification TLV封装网络连接设备的普通地址信息,并指定设备类型(设备类型包括DHCP server、Switch和LLDP-MED Endpoint)、国家码和网络设备地址 配置网络设备地址时,先在下拉框中选择要指定地址信息类型,再在文本框中输入相应类型的信息,然后单击<添加>按钮,即可将信息添加到网络设备地址信息的列表框中;在网络设备地址信息的列表框中选中一条信息,单击<删除>按钮,即可将该条信息从列表框中删除。地址信息的类型包括language(语言)、province/state(州/省)、country(国家)、city(城市)、street(街)、house number(楼号)、name(名称)、postal/zip code(邮政编码)、room number(房号)、post office box(邮政信箱)和additional information(附加信息) |
|
网络设备地址 |
(1) 在导航栏中选择“网络 > LLDP”,默认进入“端口设置”页签的界面,如图6-4所示。
(2) 在列表中选中一个或多个端口。
(3) 单击<批量端口设置>,进入端口批量设置的页面,可以对所有选中端口的LLDP参数进行批量修改,如下图所示。
图6-6 批量修改端口LLDP参数
(4) 配置选中端口的LLDP参数,详细配置参见表6-6。
(5) 单击<确定>按钮,弹出配置进度对话框。
(6) 看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
(1) 在导航栏中选择“网络 > LLDP”。
(2) 单击“全局设置”页签,进入如下图所示的页面。
(3) 配置全局LLDP功能,详细配置如下表所示。
(4) 单击<确定>按钮,弹出配置进度对话框。
(5) 看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
表6-7 全局LLDP功能的详细配置
配置项 |
说明 |
全局LLDP功能 |
设置全局LLDP功能的使能状态 |
LLDP兼容CDP |
设置全局LLDP兼容CDP功能的使能状态 · 要使LLDP兼容CDP功能生效,必须在全局使能LLDP兼容CDP功能,同时在“端口设置”中将端口下LLDP兼容CDP功能的工作模式配置为TxRx · 由于CDP报文所携TTL TLV中TTL的最大值为255,而TTL=Min(65535,(TTL乘数×发送LLDP报文的时间间隔)),因此为保证LLDP兼容CDP功能的正常运行,应确保TTL乘数与发送LLDP报文的时间间隔的乘积不大于255 |
快速发送报文个数 |
设置LLDP快速发送报文的个数 |
TTL乘数 |
设置TTL乘数的值 LLDPDU中所携TTL TLV中TTL的值用来设置邻居信息在本地设备上的老化时间。由于TTL=Min(65535,(TTL乘数×发送LLDP报文的时间间隔)),因此通过调整TTL乘数可以控制本设备信息在邻居设备上的老化时间 |
Trap信息发送间隔 |
设置Trap信息的发送时间间隔 在端口上使能LLDP Trap功能后,设备会以一定的时间间隔发送Trap信息,从而将该间隔内检测到的拓扑变化情况通告给邻居。合理配置发送Trap信息的时间间隔,可以避免Trap信息的频繁发送 |
端口初始化延迟时间 |
设置端口初始化延迟时间 当端口上LLDP的工作模式发生变化时,端口将对协议状态机进行初始化操作,通过配置端口初始化的延迟时间,可以避免由于工作模式频繁改变而导致端口不断地进行初始化 |
LLDPDU发送延迟时间 |
设置LLDPDU发送延迟时间 LLDPDU发送延迟时间应小于TTL TLV的值,否则将导致当前设备的信息在邻居设备上老化后仍无法收到当前设备发送的LLDPDU |
LLDPDU发送间隔 |
设置LLDPDU发送时间间隔 LLDPDU发送间隔应小于TTL,否则将导致当前设备的信息在邻居设备上老化后仍无法收到当前设备发送的LLDPDU |
(1) 在导航栏中选择“网络 > LLDP”,默认进入“端口设置”页签的界面,如图6-4所示。
(2) 在列表中单击端口的名称,在页面的下方可以显示该端口的相关信息,默认显示的是“本地信息”页签的内容,如下图所示。端口本地信息的详细说明如表6-8所示。
信息 |
说明 |
Port ID类型 |
· Interface alias:表示接口化名 · Port component:表示端口组件 · MAC address:表示MAC地址 · Network Address:表示网络地址 · Interface name:表示接口名称 · Agent circuit ID:表示代理巡回标识 · Locally assigned:表示本地配置 |
PoE的类型 |
· PSE:表示供电设备 · PD:表示受电设备 |
PD的端口控制级别 |
· Unknown:表示级别未知 · Class0:表示级别1 · Class1:表示级别2 · Class2:表示级别3 · Class3:表示级别4 · Class4:表示级别5 |
媒体策略类型 |
· Unknown:表示类型未知 · voice:表示语音 · voiceSignaling:表示语音信号 · guestVoice:表示访客语音 · guestVoiceSignaling:表示访客语音信号 · softPhoneVoice:表示软体电话语音 · videoconferencing:表示视频会议 · streamingVideo:表示流视频 · videoSignaling:表示视频信号 |
PoE PSE供电来源 |
· Primary:表示主用电源 · Backup:表示备用电源 |
端口供电优先级 |
· Unknown:表示优先级未知 · Critical:表示优先级1级 · High:表示优先级2级 · Low:表示优先级3级 |
(3) 单击“邻居信息”页签,查看端口的LLDP邻居信息,如下图所示。端口邻居信息的详细说明如表6-9所示。
信息 |
说明 |
Chassis类型 |
Chassis ID类型 · Chassis component:表示底架组件 · Interface alias:表示接口化名 · Port component:表示端口组件 · MAC address:表示MAC地址 · Network address:表示网络地址 · Interface name:表示接口名称 · Locally assigned:表示本地配置 |
Chassis ID |
Chassis ID值 |
Port ID类型 |
端口ID类型: · Interface alias:表示接口化名 · Port component:表示端口组件 · MAC address:表示MAC地址 · Network Address:表示网络地址 · Interface name:表示接口名称 · Agent circuit ID:表示代理巡回标识 · Locally assigned:表示本地配置 |
Port ID |
端口ID值 |
系统支持的能力集 |
· Repeater:表示支持转发功能 · Bridge:表示支持交换功能 · Router:表示支持路由功能 |
系统使能的能力集 |
· Repeater:表示转发功能已使能 · Bridge:表示交换功能已使能 · Router:表示路由功能已使能 |
Auto-negotiation supported |
端口是否支持自协商 |
Auto-negotiation enabled |
端口是否已使能自协商 |
OperMau |
端口自适应的速率和双工状态 |
Link aggregation supported |
端口是否支持链路聚合 |
Link aggregation enabled |
端口是否已使能链路聚合 |
Aggregation port ID |
聚合端口的端口ID,0表示未使能链路聚合功能 |
Maximum frame Size |
端口支持的最大帧长度 |
Device class |
MED设备类型 · Connectivity device:表示网络连接设备 · Class I:表示一般终端设备,即所有需要LLDP发现服务的终端设备 · Class II:表示媒体终端设备,即具备媒体能力的终端设备,其能力包含了一般终端设备的能力,但该类设备支持媒体流 · Class III:表示通讯终端设备,即直接支持目标用户IP通讯系统的终端设备,其能力包含了一般终端设备和媒体终端设备的所有能力,但是该类设备直接被目标用户所使用 |
Media policy type |
媒体策略类型 · Unknown:表示类型未知 · voice:表示语音 · voiceSignaling:表示语音信号 · guestVoice:表示访客语音 · guestVoiceSignaling:表示访客语音信号 · softPhoneVoice:表示软体电话语音 · videoconferencing:表示视频会议 · streamingVideo:表示流视频 · videoSignaling:表示视频信号 |
Unknown Policy |
媒体策略类型是否未知 |
VLAN tagged |
媒体VLAN是否带Tag |
Media policy VlanID |
媒体VLAN的VLAN ID |
Media policy L2 priority |
二层优先级 |
Media policy Dscp |
DSCP的值 |
HardwareRev |
产品的硬件版本 |
FirmwareRev |
产品的固件版本 |
SoftwareRev |
产品的软件版本 |
SerialNum |
序列号 |
Manufacturer name |
制造厂商 |
Model name |
模块名称 |
Asset tracking identifier |
资产跟踪ID |
PoE PSE供电来源 |
· Primary:表示主用电源 · Backup:表示备用电源 |
端口供电优先级 |
· Unknown:表示未知 · Critical:表示优先级1级 · High:表示优先级2级 · Low:表示优先级3级 |
(4) 单击“统计信息”页签,查看端口的LLDP统计信息,如下图所示。
(5) 单击“状态信息”页签,查看端口的LLDP状态信息,如下图所示。
(1) 在导航栏中选择“网络 > LLDP”。
(2) 单击“全局信息”页签,进入如下图所示的页面,可以查看全局的LLDP本地信息和统计信息,详细说明如表6-10所示。
信息 |
说明 |
Chassis ID |
Chassis ID值 |
系统支持的能力集 |
· Repeater:表示支持转发功能 · Bridge:表示支持交换功能 · Router:表示支持路由功能 |
系统使能的能力集 |
· Repeater:表示转发功能已使能 · Bridge:表示交换功能已使能 · Router:表示路由功能已使能 |
设备类型 |
· Connectivity device:表示网络连接设备 · Class I:表示一般终端设备,即所有需要LLDP发现服务的终端设备 · Class II:表示媒体终端设备,即具备媒体能力的终端设备,其能力包含了一般终端设备的能力,但该类设备支持媒体流 · Class III:表示通讯终端设备,即直接支持目标用户IP通讯系统的终端设备,其能力包含了一般终端设备和媒体终端设备的所有能力,但是该类设备直接被目标用户所使用 |
(1) 在导航栏中选择“网络 > LLDP”。
(2) 单击“邻居信息”页签,进入如下图所示的页面,可以查看全局的LLDP邻居信息。
· NMS(Network Management System,网络管理系统)通过以太网与Switch A相连,Switch A通过GigabitEthernet1/0/1和GigabitEthernet1/0/2分别与MED设备和Switch B相连。
· 通过在Switch A和Switch B上配置LLDP功能,使NMS可以对Switch A与MED设备之间以及Switch A与Switch B之间链路的通信情况进行判断。
图6-14 LLDP基本功能配置组网图
(1) 使能端口GigabitEthernet1/0/1和GigabitEthernet1/0/2的LLDP功能。(缺省情况下,端口的LLDP功能处于使能状态,此步骤可省略)
(2) 配置端口GigabitEthernet1/0/1和GigabitEthernet1/0/2的LLDP工作模式为Rx。
步骤1:在Switch A的导航栏中选择“网络 > LLDP”,默认进入“端口设置”页签的页面。
步骤2:选中“GigabitEthernet1/0/1”和“GigabitEthernet1/0/2”前的复选框。
步骤3:单击<批量端口设置>按钮,如下图所示。
图6-15 批量端口设置
步骤4:如下图所示,在批量端口设置的页面选择LLDP工作模式为“Rx”。
步骤5:单击<确定>按钮,弹出配置进度对话框。
步骤6:看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
图6-16 配置端口的LLDP工作模式为Rx
(3) 使能全局LLDP功能。
步骤1:单击“全局设置”页签。
步骤2:如下图所示,选择全局LLDP功能为“使能”。
步骤3:单击<确定>按钮,弹出配置进度对话框。
步骤4:看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
(1) 使能端口GigabitEthernet1/0/1的LLDP功能。(缺省情况下,端口的LLDP功能处于使能状态,此步骤可跳过)
(2) 配置端口GigabitEthernet1/0/1的LLDP工作模式为Tx。
步骤1:在Switch B的导航栏中选择“网络 > LLDP”,默认进入“端口设置”页签的页面。
步骤2:单击“GigabitEthernet1/0/1”对应的图标。
步骤3:如下图所示,选择LLDP工作模式为“Tx”。
步骤4:单击<确定>按钮,弹出配置进度对话框。
步骤5:看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
图6-18 配置端口的LLDP工作模式为Tx
(3) 使能全局LLDP功能。
步骤1:单击“全局设置”页签。
步骤2:参见图6-17,选择全局LLDP功能为“使能”。
步骤3:单击<确定>按钮,弹出配置进度对话框。
步骤4:看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
(1) 在Switch A上查看GigabitEthernet1/0/1的状态信息。
步骤1:在Switch A的导航栏中选择“网络 > LLDP”,默认进入“端口设置”页签的页面。
步骤2:在列表中单击接口名“GigabitEthernet1/0/1”。
步骤3:在页面下方单击<状态信息>页签,显示如下图所示的信息。
由此可见,端口GigabitEthernet1/0/1上连接了一个MED邻居设备。
图6-19 配置结果——接口信息(一)
(2) 在Switch A上查看GigabitEthernet1/0/2的状态信息。
步骤1:在列表中单击接口名“GigabitEthernet1/0/2”。
步骤2:在页面下方单击<状态信息>页签,显示如下图所示的信息。
由此可见,端口GigabitEthernet1/0/2上连接了一个非MED邻居设备(即Switch B)。
图6-20 配置结果——接口信息(二)
(3) 将Switch A和Switch B间的链路断掉。
(4) 在Switch A上单击“状态信息”下的<刷新>按钮,再次查看GigabitEthernet1/0/2的状态信息,显示如下图所示的信息。
由此可见,端口GigabitEthernet1/0/2上已经没有任何邻居设备了。
图6-21 配置结果——接口信息(三)
配置LLDP时需要注意如下事项:
(1) LLDP功能必须在全局和端口同时使能才能生效。
(2) 为端口配置LLDPDU发布的TLV属性时,需要注意:
· 要配置发布LLDP-MED其它类型(除LLDP-MED能力集TLV外)的TLV,必须同时配置发布LLDP-MED能力集TLV。
· 要配置禁止发布LLDP-MED能力集TLV,必须先配置禁止发布LLDP-MED其它类型的TLV。
· 要配置禁止发布MAC/PHY配置/状态TLV,必须先配置禁止发布LLDP-MED能力集TLV。
· 如果当前LLDP-MED能力集TLV和MAC/PHY配置/状态TLV都处于禁止发布状态,则配置发布LLDP-MED能力集TLV后,MAC/PHY配置/状态TLV也将自动发布。
(3) 在进行批量端口LLDP参数配置时,如果未进行某TLV属性的配置,则批量端口LLDPDU发布的该TLV属性保持各自的原配置不变。
ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(或称物理地址)的协议。
在局域网中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。但是仅仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射。ARP就是实现这个功能的协议。
ARP报文分为ARP请求和ARP应答报文,报文格式如图7-1所示。
图7-1 ARP报文结构
· 硬件类型:表示硬件地址的类型。它的值为1表示以太网地址。
· 协议类型:表示要映射的协议地址类型。它的值为0x0800即表示IP地址。
· 硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4。
· 操作类型(OP):1表示ARP请求,2表示ARP应答。
· 发送端MAC地址:发送方设备的硬件地址。
· 发送端IP地址:发送方设备的IP地址。
· 目标MAC地址:接收方设备的硬件地址。
· 目标IP地址:接收方设备的IP地址。
假设主机A和B在同一个网段,主机A要向主机B发送信息。如图7-2所示,具体的地址解析过程如下:
(1) 主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。
(2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。
(3) 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。
(4) 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。
图7-2 ARP地址解析过程
当主机A和主机B不在同一网段时,主机A就会先向网关发出ARP请求,ARP请求报文中的目标IP地址为网关的IP地址。当主机A从收到的响应报文中获得网关的MAC地址后,将报文封装并发给网关。如果网关没有主机B的ARP表项,网关会广播ARP请求,目标IP地址为主机B的IP地址,当网关从收到的响应报文中获得主机B的MAC地址后,就可以将报文发给主机B;如果网关已经有主机B的ARP表项,网关直接把报文发给主机B。
设备通过ARP解析到目的MAC地址后,将会在自己的ARP表中增加IP地址到MAC地址的映射表项,以用于后续到同一目的地报文的转发。
ARP表项分为动态ARP表项和静态ARP表项。
动态ARP表项由ARP协议通过ARP报文自动生成和维护,可以被老化,可以被新的ARP报文更新,可以被静态ARP表项覆盖。当到达老化时间、接口down时会删除相应的动态ARP表项。
静态ARP表项通过手工配置和维护,不会被老化,不会被动态ARP表项覆盖。
配置静态ARP表项可以增加通信的安全性。静态ARP表项可以限制和指定IP地址的设备通信时只使用指定的MAC地址,此时攻击报文无法修改此表项的IP地址和MAC地址的映射关系,从而保护了本设备和指定设备间的正常通信。
一般情况下,ARP动态执行并自动寻求IP地址到以太网MAC地址的解析,无需管理员的介入。
免费ARP报文是一种特殊的ARP报文,该报文中携带的发送者IP地址和目标IP地址都是本机IP地址,报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。
设备通过对外发送免费ARP报文来实现以下功能:
· 确定其它设备的IP地址是否与本机IP地址冲突。当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。
· 设备改变了硬件地址,通过发送免费ARP报文通知其他设备更新ARP表项。
使能了免费ARP报文学习功能后,设备会根据收到的免费ARP报文中携带的信息(源IP地址、源MAC地址)对自身维护的ARP表进行修改。设备先判断ARP表中是否存在与此免费ARP报文源IP地址对应的ARP表项:
· 如果没有对应的ARP表项,设备会根据该免费ARP报文中携带的信息新建ARP表项。
· 如果存在对应的ARP表项,设备会根据该免费ARP报文中携带的信息更新对应的ARP表项。
关闭免费ARP报文学习功能后,设备不会根据收到的免费ARP报文来新建ARP表项,但是会更新已存在的对应ARP表项。如果用户不希望通过免费ARP报文来新建ARP表项,可以关闭免费ARP报文学习功能,以节省ARP表项资源。
在导航栏中选择“网络 > ARP管理”,默认进入“ARP表”页签的页面,如图7-3所示。页面显示所有ARP表项的信息。
(1) 在导航栏中选择“网络 > ARP管理”,默认进入“ARP表”页签的页面,如图7-3所示。
(2) 单击<新建>按钮,进入新建静态ARP表项的配置页面,如图7-4所示。
(3) 配置静态ARP表项的信息,详细配置如表7-1所示。
(4) 单击<确定>按钮完成操作。
表7-1 静态ARP表项的详细配置
配置项 |
说明 |
|
IP地址 |
设置静态ARP表项的IP地址 |
|
MAC地址 |
设置静态ARP表项的MAC地址 |
|
高级选项 |
VLAN ID |
设置静态ARP表项所属的VLAN和端口 指定的VLAN ID必须是已经创建好的VLAN的ID,且指定的端口必须属于这个VLAN;指定的VLAN ID对应的VLAN虚接口必须已经创建 |
端口 |
(1) 在导航栏中选择“网络 > ARP管理”,默认进入“ARP表”页签的页面,如图7-3所示。
(2) 删除ARP表项,详细配置如表7-2所示。
表7-2 删除ARP表项的详细配置
功能 |
配置方法 |
删除指定的ARP表项 |
在列表中选中指定ARP表项前的复选框,单击<删除选中>按钮 |
删除所有静态和动态ARP表项 |
单击<删除所有静态和动态表项>按钮 |
删除所有静态ARP表项 |
单击<删除所有静态表项>按钮 |
删除所有动态ARP表项 |
单击<删除所有动态表项>按钮 |
(1) 在导航栏中选择“网络 > ARP管理”。
(2) 单击“免费ARP”页签,进入如图7-5所示的页面。
(3) 配置免费ARP功能,详细配置如表7-3所示。
表7-3 免费ARP功能的详细配置
配置项 |
说明 |
关闭学习免费ARP报文 |
设置是否关闭免费ARP报文学习功能 缺省情况下,免费ARP报文学习功能处于开启状态 |
收到非同一网段ARP请求时发送免费ARP报文 |
设置开启收到非同一网段ARP请求时发送免费ARP报文功能 缺省情况下,收到非同一网段ARP请求时不发送免费ARP报文 |
· Switch A连接主机,通过接口GigabitEthernet1/0/1连接Router B。接口GigabitEthernet1/0/1属于VLAN 100。
· Router B的IP地址为192.168.1.1/24,MAC地址为00e0-fc01-0000。
为了增加Switch A和Router B通信的安全性,可以在Switch A上配置静态ARP表项。
图7-6 静态ARP配置组网图
(1) 创建VLAN 100。
步骤1:在导航栏中选择“网络 > VLAN”。
步骤2:单击“创建”页签。
步骤3:如图7-7所示,输入VLAN ID为“100”。
步骤4:单击<创建>按钮完成操作。
(2) 将端口GigabitEthernet1/0/1加入到VLAN 100中。
步骤1:单击“修改端口”页签。
步骤2:进行如下配置,如图7-8所示。
· 在设备面板示意图中选择端口“GigabitEthernet1/0/1”。
· 选择操作类型为“Untagged”。
· 输入VLAN IDs为“100”。
步骤3:单击<应用>按钮,弹出配置进度对话框。
步骤4:看到配置成功的提示后,在对话框中单击<关闭>按钮完成操作。
(3) 创建Vlan-interface100。
步骤1:在导航栏中选择“网络 > VLAN虚接口”。
步骤2:单击“创建”页签。
步骤3:进行如下配置,如图7-9所示。
· 输入VLAN ID为“100”。
· 选中“配置IPv4地址”前的复选框。
· 选中“手工”前的单选按钮。
· 输入IPv4地址为“192.168.1.2”。
· 输入掩码长度为“24”或“255.255.255.0”。
步骤4:单击<应用>按钮完成操作。
(4) 配置静态ARP表项。
步骤1;在导航栏中选择“网络 > ARP管理”,默认进入“ARP表”页签的页面。
步骤2:单击<新建>按钮。
步骤3:进行如下配置,如图7-10所示。
· 输入IP地址为“192.168.1.1”。
· 输入MAC地址为“00e0-fc01-0000”。
· 选中“高级选项”前的复选框。
· 输入VLAN ID为“100”。
· 选择端口为“GigabitEthernet1/0/1”。
步骤4:单击<确定>按钮完成操作。
ARP协议有简单、易用的优点,但是也因为其没有任何安全机制而容易被攻击发起者利用。ARP Detection功能主要应用于接入设备上,对于合法用户的ARP报文进行正常转发,否则直接丢弃,从而防止仿冒用户、仿冒网关的攻击。
通过Web页面配置ARP Detection可以实现两个功能:用户合法性检查、ARP报文有效性检查。
对于ARP信任端口,不进行用户合法性检查;对于ARP非信任端口,需要进行用户合法性检查,以防止仿冒用户的攻击。
用户合法性检查是根据ARP报文中源IP地址和源MAC地址检查用户是否是所属VLAN所在端口上的合法用户,包括基于DHCP Snooping安全表项的检查和基于802.1X安全表项的检查。
(1) 进行基于DHCP Snooping安全表项和802.1X安全表项,只要符合两者中任何一个,就认为该ARP报文合法,进行转发。
(2) 如果所有检查都没有找到匹配的表项,则认为是非法报文,直接丢弃。
对于ARP信任端口,不进行报文有效性检查;对于ARP非信任端口,需要根据配置对MAC地址和IP地址不合法的报文进行过滤。可以选择配置源MAC地址、目的MAC地址或IP地址检查模式。
· 对于源MAC地址的检查模式,会检查ARP报文中的源MAC地址和以太网报文头中的源MAC地址是否一致,一致则认为有效,否则丢弃报文。
· 对于目的MAC地址的检查模式(只针对ARP应答报文),会检查ARP应答报文中的目的MAC地址是否为全0或者全1,是否和以太网报文头中的目的MAC地址一致。全0、全1、不一致的报文都是无效的,无效的报文需要被丢弃。
· 对于IP地址检查模式,会检查ARP报文中的源IP和目的IP地址,全0、全1、或者组播IP地址都是不合法的,需要丢弃。对于ARP应答报文,源IP和目的IP地址都进行检查;对于ARP请求报文,只检查源IP地址。
配置用户合法性检查功能时,必须至少配置DHCP Snooping功能、802.1X功能两者之一,否则所有从ARP非信任端口收到的ARP报文都将被丢弃。
(1) 在导航栏中选择“网络 > ARP防攻击”,默认进入“ARP Detection”页签的页面,如图8-1所示。
(2) 配置ARP Detection功能,详细配置如表8-1所示。
(3) 单击<确定>按钮完成操作。
表8-1 ARP Detection的详细配置
配置项 |
说明 |
VLAN配置 |
设置要使能ARP Detection功能的VLAN 在“未使能VLAN”列表框中选中一个或多个VLAN,单击“<<”按钮,可以将选中的VLAN添加到“已使能VLAN”列表框中;在“已使能VLAN”列表框中选中一个或多个VLAN,单击“>>”按钮,可以将选中的VLAN添加到“未使能VLAN”列表框中 |
信任端口 |
设置ARP信任端口和非信任端口 在“非信任端口”列表框中选中一个或多个端口,单击“<<”按钮,可以将选中的端口添加到“信任端口”列表框中;在“信任端口”列表框中选中一个或多个端口,单击“>>”按钮,可以将选中的端口添加到“非信任端口”列表框中 |
报文检查 |
设置对ARP报文进行有效性检查的方式,包括: · 如果ARP报文中的源MAC地址和以太网报文头中的源MAC地址不一致,则丢弃此ARP报文 · 如果ARP应答报文中的目的MAC地址是全0、全1或者和以太网报文头中的目的MAC地址不一致,则丢弃此ARP报文 · 如果ARP应答报文的源IP地址和目的IP地址或ARP请求报文的源IP地址是全0、全1或者组播IP地址,则丢弃此ARP报文 如果配置了报文检查方式,则先进行ARP报文有效性检查,再进行用户合法性检查;如果未配置任何报文检查方式,则不对ARP报文进行有效性检查 |
IGMP Snooping是Internet Group Management Protocol Snooping(互联网组管理协议窥探)的简称,它是运行在二层设备上的组播约束机制,用于管理和控制组播组。
运行IGMP Snooping的二层设备通过对收到的IGMP报文进行分析,为端口和MAC组播地址建立起映射关系,并根据这样的映射关系转发组播数据。
如下图所示,当二层设备没有运行IGMP Snooping时,组播数据在二层网络中被广播;当二层设备运行了IGMP Snooping后,已知组播组的组播数据不会在二层网络中被广播,而被组播给指定的接收者。
IGMP Snooping通过二层组播将信息只转发给有需要的接收者,可以带来以下好处:
· 减少了二层网络中的广播报文,节约了网络带宽;
· 增强了组播信息的安全性;
· 为实现对每台主机的单独计费带来了方便。
如下图所示,Router A连接组播源,在Switch A和Switch B上分别运行IGMP Snooping,Host A和Host C为接收者主机(即组播组成员)。
结合上图,介绍一下IGMP Snooping相关的端口概念:
· 路由器端口(Router Port):交换机上朝向三层组播设备(DR或IGMP查询器)一侧的端口,如Switch A和Switch B各自的GigabitEthernet1/0/1端口。交换机将本设备上的所有路由器端口都记录在路由器端口列表中。
· 成员端口(Member Port):又称组播组成员端口,表示交换机上朝向组播组成员一侧的端口,如Switch A的GigabitEthernet1/0/2和GigabitEthernet1/0/3端口,以及Switch B的GigabitEthernet1/0/2端口。交换机将本设备上的所有成员端口都记录在IGMP Snooping转发表中。
· 本文中提到的路由器端口都是指交换机上朝向组播路由器的端口,而不是指路由器上的端口。
· 如不特别指明,本文中提到的路由器/成员端口均包括动态和静态端口。
· 在运行了IGMP Snooping的交换机上,所有收到源地址不为0.0.0.0的IGMP普遍组查询报文或PIM Hello报文的端口都将被视为动态路由器端口。
表9-1 IGMP Snooping动态端口老化定时器
定时器 |
说明 |
超时前应收到的报文 |
超时后交换机的动作 |
动态路由器端口老化定时器 |
交换机为其每个动态路由器端口都启动一个定时器,其超时时间就是动态路由器端口老化时间 |
源地址不为0.0.0.0的IGMP普遍组查询报文或PIM Hello报文 |
将该端口从路由器端口列表中删除 |
动态成员端口老化定时器 |
当一个端口动态加入某组播组时,交换机为该端口启动一个定时器,其超时时间就是动态成员端口老化时间 |
IGMP成员关系报告报文 |
将该端口从IGMP Snooping转发表中删除 |
IGMP Snooping端口老化机制只针对动态端口。
运行了IGMP Snooping的交换机对不同IGMP动作的具体处理方式如下:
本节中所描述的增删端口动作均只针对动态端口。
IGMP查询器定期向本地网段内的所有主机与路由器发送IGMP普遍组查询报文(目的地址为224.0.0.1),以查询该网段有哪些组播组的成员。
在收到IGMP普遍组查询报文时,交换机将其通过VLAN内除接收端口以外的其它所有端口转发出去,并对该报文的接收端口做如下处理:
· 如果在路由器端口列表中已包含该动态路由器端口,则重置其老化定时器。
· 如果在路由器端口列表中尚未包含该动态路由器端口,则将其添加到路由器端口列表中,并启动其老化定时器。
以下情况,主机会向IGMP查询器发送IGMP成员关系报告报文:
· 当组播组的成员主机收到IGMP查询报文后,会回复IGMP成员关系报告报文。
· 如果主机要加入某个组播组,它会主动向IGMP查询器发送IGMP成员关系报告报文以声明加入该组播组。
在收到IGMP成员关系报告报文时,交换机将其通过VLAN内的所有路由器端口转发出去,从该报文中解析出主机要加入的组播组地址,并对该报文的接收端口做如下处理:
· 如果不存在该组播组所对应的转发表项,则创建转发表项,将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器。
· 如果已存在该组播组所对应的转发表项,但其出端口列表中不包含该端口,则将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器。
· 如果已存在该组播组所对应的转发表项,且其出端口列表中已包含该动态成员端口,则重置其老化定时器。
交换机不会将IGMP成员关系报告报文通过非路由器端口转发出去,因为根据主机上的IGMP成员关系报告抑制机制,如果非路由器端口下还有该组播组的成员主机,则这些主机在收到该报告报文后便抑制了自身的报告,从而使交换机无法获知这些端口下还有该组播组的成员主机。
运行IGMPv1的主机离开组播组时不会发送IGMP离开组报文,因此交换机无法立即获知主机离开的信息。但是,由于主机离开组播组后不会再发送IGMP成员关系报告报文,因此当其对应的动态成员端口的老化定时器超时后,交换机就会将该端口对应的转发表项从转发表中删除。
运行IGMPv2或IGMPv3的主机离开组播组时,会通过发送IGMP离开组报文,以通知组播路由器自己离开了某个组播组。当交换机从某动态成员端口上收到IGMP离开组报文时,首先判断要离开的组播组所对应的转发表项是否存在,以及该组播组所对应转发表项的出端口列表中是否包含该接收端口:
· 如果不存在该组播组对应的转发表项,或者该组播组对应转发表项的出端口列表中不包含该端口,交换机不会向任何端口转发该报文,而将其直接丢弃。
· 如果存在该组播组对应的转发表项,且该组播组对应转发表项的出端口列表中包含该端口,交换机会将该报文通过VLAN内的所有路由器端口转发出去。同时,由于并不知道该接收端口下是否还有该组播组的其它成员,所以交换机不会立刻把该端口从该组播组所对应转发表项的出端口列表中删除,而是重置其老化定时器。
当IGMP查询器收到IGMP离开组报文后,从中解析出主机要离开的组播组的地址,并通过接收端口向该组播组发送IGMP特定组查询报文。交换机在收到IGMP特定组查询报文后,将其通过VLAN内的所有路由器端口和该组播组的所有成员端口转发出去。对于IGMP离开组报文的接收端口(假定为动态成员端口),交换机在其老化时间内:
· 如果从该端口收到了主机响应该特定组查询的IGMP成员关系报告报文,则表示该端口下还有该组播组的成员,于是重置其老化定时器。
· 如果没有从该端口收到主机响应特定组查询的IGMP成员关系报告报文,则表示该端口下已没有该组播组的成员,则在其老化时间超时后,将其从该组播组所对应转发表项的出端口列表中删除。
与IGMP Snooping相关的协议规范有:
RFC 4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches
步骤 |
配置任务 |
说明 |
1 |
必选 缺省情况下,全局IGMP Snooping处于禁止状态 |
|
2 |
可选 未知组播数据报文是指在转发表中不存在对应转发表项的那些组播数据报文: · 当使能了丢弃未知组播数据报文功能时,交换机将丢弃所有收到的未知组播数据报文 · 当关闭了丢弃未知组播数据报文功能时,交换机将在未知组播数据报文所属的VLAN内广播该报文 缺省情况下,未知组播数据报文丢弃功能处于禁止状态 在开启未知组播数据报文丢弃功能之前,必须先在全局使能IGMP Snooping |
|
3 |
必选 在VLAN内使能IGMP Snooping,配置IGMP Snooping版本、查询器等功能 缺省情况下,VLAN内的IGMP Snooping处于禁止状态 · 在VLAN内配置IGMP Snooping之前,必须先在全局使能IGMP Snooping · 在VLAN内使能了IGMP Snooping之后,该功能只在属于该VLAN的端口上生效 |
|
4 |
可选 在指定VLAN内配置端口的最大组播组数和端口快速离开功能 · 在端口上配置IGMP Snooping之前,必须先全局使能组播路由或IGMP Snooping · 在VLAN内使能IGMP Snooping后,该VLAN内的端口上的IGMP Snooping配置才生效 |
|
5 |
可选 |
(1) 在导航栏中选择“网络 > IGMP Snooping”,默认进入“基本配置”页签的页面,如下图所示。
(2) 选中IGMP Snooping“Enable”前的单选按钮。
(3) 单击<确定>按钮完成操作。
(1) 在导航栏中选择“网络 > IGMP Snooping”,默认进入“基本配置”页签的页面,如图9-3所示。
(2) 选中丢弃未知组播数据报文“Enable”前的单选按钮,如下图所示。
(3) 单击<确定>按钮完成操作。
(1) 在导航栏中选择“网络 > IGMP Snooping”,默认进入“基本配置”页签的页面,如图9-3所示。
(2) 在“VLAN配置”中单击要配置的VLAN对应的图标,进入该VLAN的IGMP Snooping配置页面,如下图所示。
(3) 配置VLAN内IGMP Snooping功能的信息,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表9-3 VLAN内IGMP Snooping的详细配置
配置项 |
说明 |
VLAN ID |
显示当前要配置的VLAN的ID |
IGMP Snooping |
设置在该VLAN内使能(Enable)或禁止(Disable)IGMP Snooping 只有在此项选择“Enable”时,才能进行后面配置项的设置 |
版本 |
设置IGMP Snooping的版本,即设置IGMP Snooping可以处理的IGMP报文的版本 · 当IGMP Snooping的版本为2时,IGMP Snooping能够对IGMPv1和IGMPv2的报文进行处理,对IGMPv3的报文则不进行处理,而是在VLAN内将其广播 · 当IGMP Snooping的版本为3时,IGMP Snooping能够对IGMPv1、IGMPv2和IGMPv3的报文进行处理 · 当IGMP Snooping的版本由版本3切换到版本2时,系统将清除所有通过动态加入的IGMP Snooping转发表项; · 当IGMP Snooping的版本由版本2切换到版本3时,系统对所有IGMP Snooping表项不进行处理。 |
查询器 |
设置使能(Enable)或禁止(Disable)IGMP Snooping查询器功能 在运行了IGMP的组播网络中,会有一台三层组播设备充当IGMP查询器,负责发送IGMP查询报文,使三层组播设备能够在网络层建立并维护组播转发表项,从而在网络层正常转发组播数据。但是,在一个没有三层组播设备的网络中,由于二层设备并不支持IGMP,因此无法实现IGMP查询器的相关功能。为了解决这个问题,可以在二层设备上使能IGMP Snooping查询器,使二层设备能够在数据链路层建立并维护组播转发表项,从而在数据链路层正常转发组播数据 |
查询间隔 |
设置发送IGMP普遍组查询报文的时间间隔 |
通用查询报文源地址 |
设置IGMP普遍组查询报文的源IP地址 |
特定组查询报文源地址 |
设置IGMP特定组查询报文的源IP地址 |
(1) 在导航栏中选择“网络 > IGMP Snooping”
(2) 单击“高级配置”页签,进入如下图所示的页面。
(3) 配置IGMP Snooping的高级参数,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表9-4 IGMP Snooping高级参数的详细配置
配置项 |
说明 |
端口名称 |
设置要进行IGMP Snooping高级配置的端口,包括以太网接口和二层聚合接口 选择一个端口名称后,页面下方的列表中会显示该端口的高级参数配置信息 二层聚合接口与其各成员端口上的配置是相互独立的,但在成员端口上的配置只有当该端口退出聚合组后才会生效,二层聚合接口上的配置也不会参与聚合计算 |
VLAN ID |
设置在指定VLAN内配置端口快速离开功能或配置允许端口加入的组播组最大数量 只有当端口属于指定的VLAN时,端口上的IGMP Snooping高级参数配置才生效 |
最大组播组数 |
设置允许端口加入的组播组最大数量 通过配置允许端口加入的组播组最大数量,可以限制用户点播组播节目的数量,从而控制了端口上的数据流量 在对允许端口加入的组播组最大数量进行配置时,如果当前端口上的组播组数量已经超过了配置值,系统将把该端口相关的所有转发表项从IGMP Snooping转发表中删除,该端口上的主机需要重新加入组播组 |
端口快速离开 |
设置在指定端口上使能(Enable)或禁止(Disable)快速离开功能 端口快速离开是指当交换机从某端口收到主机发送的离开某组播组的IGMP离开组报文时,直接把该端口从对应转发表项的出端口列表中删除。此后,当交换机收到对该组播组的IGMP特定组查询报文时,交换机将不再向该端口转发 在交换机的端口上,可以通过启用端口快速离开功能来节约带宽和资源 |
(1) 在导航栏中选择“网络 > IGMP Snooping”,默认进入“基本配置”页签的页面,如图9-3所示。
(2) 单击“显示表项”前的扩展按钮,可以查看IGMP Snooping组播表项的概要信息,如下图所示。表项信息的详细说明如表9-5所示。
(3) 单击要查看的表项对应的图标,进入该IGMP Snooping组播表项详细信息的显示页面,如下图所示。表项信息的详细说明如表9-5所示。
表9-5 IGMP Snooping组播表项信息的详细说明
标题项 |
说明 |
VLAN ID |
组播表项所属VLAN的ID |
源地址 |
组播源地址,0.0.0.0表示所有组播源 |
组地址 |
组播组地址 |
路由器端口 |
所有路由器端口 |
成员端口 |
所有成员端口 |
· 如下图所示,Router A通过GigabitEthernet1/0/2接口连接组播源(Source),通过GigabitEthernet1/0/1接口连接Switch A;Router A上运行IGMPv2,Switch A上运行版本2的IGMP Snooping,并由Router A充当IGMP查询器。
· 通过配置,使Host A能接收发往组播组224.1.1.1的组播数据。
图9-9 IGMP Snooping配置组网图
在Router A上使能IP组播路由,在各接口上使能PIM-DM,并在接口GigabitEthernet1/0/1上使能IGMP。具体配置过程略。
(1) 创建VLAN 100。
步骤1:在Switch A的导航栏中选择“网络 > VLAN”。
步骤2:单击“创建”页签。
步骤3:如下图所示,输入VLAN ID为“100”。
步骤4:单击<创建>按钮完成操作。
图9-10 创建VLAN 100
(2) 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到该VLAN 100中
步骤1:单击“修改端口”页签。
步骤2:进行如下配置,如下图所示。
· 在设备面板示意图中选中端口“GigabitEthernet1/0/1”、“GigabitEthernet1/0/2”和“GigabitEthernet1/0/3”。
· 选择操作类型为“Untagged”。
· 输入VLAN IDs为“100”。
步骤3:单击<应用>按钮完成操作。
图9-11 将端口添加到VLAN 100中
(3) 全局使能IGMP Snooping。
步骤1:在导航栏中选择“网络 > IGMP Snooping”,默认进入“基本配置”页签的页面。
步骤2:如下图所示,选中IGMP Snooping“Enable”前的单选按钮。
步骤3:单击<确定>按钮完成操作。
图9-12 全局使能IGMP Snooping
(4) 在VLAN 100内使能IGMP Snooping。
步骤1:单击VLAN 100对应的图标。
步骤2:进行如下配置,如下图所示。
· 选中IGMP Snooping“Enable”前的单选按钮。
· 选择版本为“2”。
步骤3:单击<确定>按钮完成操作。
图9-13 在VLAN 100内配置IGMP Snooping
在Switch A上查看IGMP Snooping组播表项的信息。
步骤1:在Switch A的导航栏中选择“网络 > IGMP Snooping”,默认进入“基本配置”页签的页面。
步骤2:单击“显示表项”前的扩展按钮,可以查看到IGMP Snooping组播表项概要信息,如下图所示。
图9-14 配置结果(IGMP Snooping组播表项概要信息)
图9-15 配置结果(IGMP Snooping组播表项详细信息)
MLD Snooping是Multicast Listener Discovery Snooping(组播侦听者发现协议窥探)的简称。它是运行在二层设备上的IPv6组播约束机制,用于管理和控制IPv6组播组。
运行MLD Snooping的二层设备通过对收到的MLD报文进行分析,为端口和MAC组播地址建立起映射关系,并根据这样的映射关系转发IPv6组播数据。
如下图所示,当二层设备没有运行MLD Snooping时,IPv6组播数据报文在二层网络中被广播;当二层设备运行了MLD Snooping后,已知IPv6组播组的组播数据报文不会在二层网络中被广播,而被组播给指定的接收者。
图10-1 二层设备运行MLD Snooping前后的对比
MLD Snooping通过二层组播将信息只转发给有需要的接收者,可以带来以下好处:
· 减少了二层网络中的广播报文,节约了网络带宽;
· 增强了IPv6组播信息的安全性;
· 为实现对每台主机的单独计费带来了方便。
如下图所示,Router A连接组播源,在Switch A和Switch B上分别运行MLD Snooping,Host A和Host C为接收者主机(即IPv6组播组成员)。
图10-2 MLD Snooping相关端口
结合上图,介绍一下MLD Snooping相关的端口概念:
· 路由器端口(Router Port):交换机上朝向三层组播设备(DR或MLD查询器)一侧的端口,如Switch A和Switch B各自的GigabitEthernet1/0/1端口。交换机将本设备上的所有路由器端口都记录在路由器端口列表中。
· 成员端口(Member Port):又称IPv6组播组成员端口,表示交换机上朝向IPv6组播组成员一侧的端口,如Switch A的GigabitEthernet1/0/2和 GigabitEthernet1/0/3端口,以及Switch B的GigabitEthernet1/0/2端口。交换机将本设备上的所有成员端口都记录在MLD Snooping转发表中。
· 本文中提到的路由器端口都是指交换机上朝向组播路由器的端口,而不是指路由器上的端口。
· 如不特别指明,本文中提到的路由器/成员端口均包括动态和静态端口。
· 在运行了MLD Snooping的交换机上,所有收到源地址不为0::0的MLD普遍组查询报文或IPv6 PIM Hello报文的端口都将被视为动态路由器端口。
表10-1 MLD Snooping动态端口老化定时器
定时器 |
说明 |
超时前应收到的报文 |
超时后交换机的动作 |
动态路由器端口老化定时器 |
交换机为其每个动态路由器端口都启动一个定时器,其超时时间就是动态路由器端口老化时间 |
源地址不为0::0的MLD普遍组查询报文或IPv6 PIM Hello报文 |
将该端口从路由器端口列表中删除 |
动态成员端口老化定时器 |
当一个端口动态加入某IPv6组播组时,交换机为该端口启动一个定时器,其超时时间就是动态成员端口老化时间 |
MLD成员关系报告报文 |
将该端口从MLD Snooping转发表中删除 |
MLD Snooping端口老化机制只针对动态端口。
运行了MLD Snooping的交换机对不同MLD动作的具体处理方式如下:
本节中所描述的增删端口动作均只针对动态端口。
MLD查询器定期向本地网段内的所有主机与路由器发送MLD普遍组查询报文(目的IP为FF02::1),以查询该网段有哪些IPv6组播组的成员。
在收到MLD普遍组查询报文时,交换机将其通过VLAN内除接收端口以外的其它所有端口转发出去,并对该报文的接收端口做如下处理:
· 如果在路由器端口列表中已包含该动态路由器端口,则重置其老化定时器。
· 如果在路由器端口列表中尚未包含该动态路由器端口,则将其添加到路由器端口列表中,并启动其老化定时器。
以下情况,主机会向MLD查询器发送MLD成员关系报告报文:
· 当IPv6组播组的成员主机收到MLD查询报文后,会回复MLD成员关系报告报文。
· 如果主机要加入某个IPv6组播组,它会主动向MLD查询器发送MLD成员关系报告报文以声明加入该IPv6组播组。
在收到MLD成员关系报告报文时,交换机将其通过VLAN内的所有路由器端口转发出去,从该报文中解析出主机要加入的IPv6组播组地址,并对该报文的接收端口做如下处理:
· 如果不存在该IPv6组播组所对应的转发表项,则创建转发表项,将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器;
· 如果已存在该IPv6组播组所对应的转发表项,但其出端口列表中不包含该端口,则将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器;
· 如果已存在该IPv6组播组所对应的转发表项,且其出端口列表中已包含该动态成员端口,则重置其老化定时器。
交换机不会将MLD成员关系报告报文通过非路由器端口转发出去,因为根据主机上的MLD成员关系报告抑制机制,如果非路由器端口下还有该IPv6组播组的成员主机,则这些主机在收到该报告报文后便抑制了自身的报告,从而使交换机无法获知这些端口下还有该IPv6组播组的成员主机。
当主机离开IPv6组播组时,会通过发送MLD离开组报文,以通知组播路由器自己离开了某个IPv6组播组。当交换机从某动态成员端口上收到MLD离开组报文时,首先判断要离开的IPv6组播组所对应的转发表项是否存在,以及该IPv6组播组所对应转发表项的出端口列表中是否包含该接收端口:
· 如果不存在该IPv6组播组对应的转发表项,或者该IPv6组播组对应转发表项的出端口列表中不包含该端口,交换机不会向任何端口转发该报文,而将其直接丢弃;
· 如果存在该IPv6组播组对应的转发表项,且该IPv6组播组对应转发表项的出端口列表中包含该端口,交换机会将该报文通过VLAN内的所有路由器端口转发出去。同时,由于并不知道该接收端口下是否还有该IPv6组播组的其它成员,所以交换机不会立刻把该端口从该IPv6组播组所对应转发表项的出端口列表中删除,而是重置其老化定时器。
当MLD查询器收到MLD离开组报文后,从中解析出主机要离开的IPv6组播组的地址,并通过接收端口向该IPv6组播组发送MLD特定组查询报文。交换机在收到MLD特定组查询报文后,将其通过VLAN内的所有路由器端口和该IPv6组播组的所有成员端口转发出去。对于MLD离开组报文的接收端口(假定为动态成员端口),交换机在其老化时间内:
· 如果从该端口收到了主机响应该特定组查询的MLD成员关系报告报文,则表示该端口下还有该IPv6组播组的成员,于是重置其老化定时器;
· 如果没有从该端口收到主机响应该特定组查询的MLD成员关系报告报文,则表示该端口下已没有该IPv6组播组的成员,则在其老化时间超时后,将其从该IPv6组播组所对应转发表项的出端口列表中删除。
与MLD Snooping相关的协议规范有:
RFC 4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches
表10-2 MLD Snooping配置步骤
步骤 |
配置任务 |
说明 |
1 |
必选 缺省情况下,全局MLD Snooping处于关闭状态 |
|
2 |
可选 未知组播数据报文是指在转发表中不存在对应转发表项的那些组播数据报文: · 当使能了丢弃未知组播数据报文功能时,交换机将丢弃所有收到的未知组播数据报文 · 当关闭了丢弃未知组播数据报文功能时,交换机将在未知组播数据报文所属的VLAN内广播该报文 缺省情况下,未知组播数据报文丢弃功能处于关闭状态 在开启未知组播数据报文丢弃功能之前,必须先在全局启用MLD Snooping |
|
3 |
必选 在VLAN内启用MLD Snooping,配置MLD Snooping版本、查询器等功能 缺省情况下,VLAN内的MLD Snooping处于关闭状态 · 在VLAN内配置MLD Snooping之前,必须先在全局启用MLD Snooping · 在VLAN内启用了MLD Snooping之后,该功能只在属于该VLAN的端口上生效 |
|
4 |
可选 在指定VLAN内配置端口的最大组播组数和端口快速离开功能 · 在端口上配置MLD Snooping之前,必须先全局启用MLD Snooping · 在VLAN内启用MLD Snooping的情况下,端口上的MLD Snooping配置才生效 |
|
5 |
可选 |
(1) 在导航栏中选择“网络 > MLD Snooping”,默认进入“基本配置”页签的页面,如下图所示。
(2) 选中MLD Snooping“Enable”前的单选按钮。
(3) 单击<确定>按钮完成操作。
(1) 在导航栏中选择“网络 > MLD Snooping”,默认进入“基本配置”页签的页面,如图10-4所示。
(2) 选中丢弃未知组播数据报文“Enable”前的单选按钮。
(3) 单击<确定>按钮完成操作。
(1) 在导航栏中选择“网络 > MLD Snooping”,默认进入“基本配置”页签的页面,如图10-3所示。
(2) 在“VLAN配置”中单击要配置的VLAN对应的图标,进入该VLAN的MLD Snooping配置页面,如下图所示。
图10-5 VLAN配置
(3) 配置VLAN内MLD Snooping功能的信息,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表10-3 VLAN内MLD Snooping的详细配置
配置项 |
说明 |
VLAN ID |
显示当前要配置的VLAN的ID |
MLD Snooping |
设置在该VLAN内启用(Enable)或关闭(Disable)MLD Snooping 只有在此项选择“Enable”时,才能进行后面配置项的设置 |
版本 |
设置MLD Snooping的版本,即设置MLD Snooping可以处理的MLD报文的版本: · 当MLD Snooping的版本为1时,MLD Snooping能够对MLDv1的报文进行处理,对MLDv2的报文则不进行处理,而是在VLAN内将其广播 · 当MLD Snooping的版本为2时,MLD Snooping能够对MLDv1和MLDv2的报文进行处理 缺省情况下,MLD Snooping的版本为1 当MLD Snooping的版本由版本2切换到版本1时,系统将清除所有通过动态加入的MLD Snooping转发表项 |
查询器 |
设置启用(Enable)或关闭(Disable)MLD Snooping查询器功能 在运行了MLD的IPv6组播网络中,会有一台三层组播设备充当MLD查询器,负责发送MLD查询报文,使三层组播设备能够在网络层建立并维护IPv6组播转发表项,从而在网络层正常转发IPv6组播数据。但是,在一个没有三层组播设备的网络中,由于二层设备并不支持MLD,因此无法实现MLD查询器的相关功能。为了解决这个问题,可以在二层设备上启用MLD Snooping查询器,使二层设备能够在数据链路层建立并维护IPv6组播转发表项,从而在数据链路层正常转发IPv6组播数据 |
查询间隔 |
设置发送MLD普遍组查询报文的时间间隔 |
通用查询报文源地址 |
设置MLD普遍组查询报文的源IPv6地址 |
特定组查询报文源地址 |
设置MLD特定组查询报文的源IPv6地址 |
(1) 在导航栏中选择“网络 > MLD Snooping”。
(2) 单击“高级配置”页签,进入如下图所示的页面。
图10-6 高级配置
(3) 配置MLD Snooping的高级参数,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表10-4 MLD Snooping高级参数的详细配置
配置项 |
说明 |
端口名称 |
设置要进行MLD Snooping高级配置的端口,包括以太网接口和二层聚合接口 选择一个端口名称后,页面下方的列表中会显示该端口的高级参数配置信息 二层聚合接口与其各成员端口上的配置是相互独立的,但在成员端口上的配置只有当该端口退出聚合组后才会生效,二层聚合接口上的配置也不会参与聚合计算 |
VLAN ID |
设置在指定VLAN内配置端口快速离开功能或允许端口加入的IPv6组播组最大数量 只有当端口属于指定的VLAN时,端口上的MLD Snooping高级参数配置才生效 |
最大组播组数 |
设置允许端口加入的IPv6组播组最大数量 通过配置端口加入的IPv6组播组的最大数量,可以限制用户点播组播节目的数量,从而控制了端口上的数据流量 在配置端口加入的IPv6组播组最大数量时,如果当前端口上的IPv6组播组数量已超过配置值,系统将把该端口相关的所有转发表项从MLD Snooping转发表中删除,该端口下的主机都需要重新加入IPv6组播组,直至该端口上的IPv6组播组数量达到限制值为止 |
端口快速离开 |
设置在指定端口上启用(Enable)或关闭(Disable)快速离开功能 端口快速离开是指当交换机从某端口收到主机发送的离开某IPv6组播组的MLD离开组报文时,直接把该端口从对应转发表项的出端口列表中删除。此后,当交换机收到对该IPv6组播组的MLD特定组查询报文时,交换机将不再向该端口转发 在交换机的端口上,可以通过启用端口快速离开功能来节约带宽和资源 |
(1) 在导航栏中选择“网络 > MLD Snooping”,默认进入“基本配置”页签的页面,如图10-3所示。
(2) 单击“显示表项”前的扩展按钮,可以查看MLD Snooping组播表项的概要信息,如下图所示。表项信息的详细说明如表10-5所示。
图10-7 显示表项
(3) 单击要查看的表项对应的图标,进入该MLD Snooping组播表项详细信息的显示页面,如下图所示。表项信息的详细说明如表10-5所示。
图10-8 表项详细信息
表10-5 MLD Snooping组播表项信息的详细说明
标题项 |
说明 |
VLAN ID |
组播表项所属VLAN的ID |
源地址 |
组播源地址,::表示所有组播源 |
组地址 |
组播组地址 |
路由器端口 |
所有路由器端口 |
成员端口 |
所有成员端口 |
· 如下图所示,Router A通过GigabitEthernet1/0/2接口连接IPv6组播源(Source),通过GigabitEthernet1/0/1接口连接Switch A;Router A上运行MLDv1,Switch A上运行版本1的MLD Snooping,并由Router A充当MLD查询器。
· 通过配置,使Host A能接收发往IPv6组播组FF0E::100:1的IPv6组播数据。
图10-9 MLD Snooping配置组网图
启用IPv6组播路由,为各接口配置IPv6地址,在各接口上启用IPv6 PIM-DM,并在接口GigabitEthernet1/0/1上启用MLD,具体配置过程略。
(1) 创建VLAN 100。
步骤1:在Switch A的导航栏中选择“网络 > VLAN”。
步骤2:单击“创建”页签。
步骤3:如下图所示,输入VLAN ID为“100”。
步骤4:单击<创建>按钮完成操作。
图10-10 创建VLAN 100
(2) 将端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到该VLAN 100中。
步骤1:单击“修改端口”页签。
步骤2:进行如下配置,如下图所示。
· 在设备面板示意图中选中端口“GigabitEthernet1/0/1”、“ GigabitEthernet1/0/2”和“GigabitEthernet1/0/3”。
· 选择操作类型为“Untagged”。
· 输入VLAN IDs为“100”。
步骤3:单击<应用>按钮完成操作。
图10-11 将端口添加到VLAN 100中
(3) 全局启用MLD Snooping。
步骤1:在导航栏中选择“网络 > MLD Snooping”,默认进入“基本配置”页签的页面。
步骤2:如下图所示,选中MLD Snooping“Enable”前的单选按钮。
步骤3:单击<确定>按钮完成操作。
图10-12 全局启用MLD Snooping
(4) 在VLAN 100内启用MLD Snooping,并启用丢弃未知IPv6组播数据报文功能。
步骤1:单击VLAN 100对应的图标。
步骤2:进行如下配置,如下图所示。
· 选中MLD Snooping“Enable”前的单选按钮。
· 选择版本为“1”。
步骤3:单击<确定>按钮完成操作。
图10-13 在VLAN 100内配置MLD Snooping
在Switch A上查看MLD Snooping组播表项的信息。
步骤1:在Switch A的导航栏中选择“网络 > MLD Snooping”,默认进入“基本配置”页签的页面。
步骤2:单击“显示表项”前的扩展按钮,可以查看到MLD Snooping组播表项概要信息,如下图所示。
图10-14 配置结果(MLD Snooping组播表项概要信息)
步骤3:在概要信息表中单击VLAN 100的MLD Snooping组播表项(::,FF0E::100:1)对应的图标,可以查看到该MLD Snooping组播表项的详细信息,如下图所示。
图10-15 配置结果(MLD Snooping组播表项详细信息)
由此可见,Switch A上的端口GigabitEthernet1/0/3已经加入了组播组FF0E::100:1。
本章所指的路由器代表了支持路由功能的交换机。
在网络中路由器根据所收到的报文的目的地址选择一条合适的路径,并将报文转发到下一个路由器。路径中最后的路由器负责将报文转发给目的主机。路由就是报文在转发过程中的路径信息,用来指导报文转发。
路由器通过路由表选择路由,把优选路由下发到FIB(Forwarding Information Base,转发信息库)表中,通过FIB表指导报文转发。每个路由器中都至少保存着一张路由表和一张FIB表。
路由表中保存了各种路由协议发现的路由,根据来源不同,通常分为以下三类:
· 直连路由:链路层协议发现的路由,也称为接口路由。
· 静态路由:网络管理员手工配置的路由。静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。其缺点是每当网络拓扑结构发生变化,都需要手工重新配置,不能自动适应。
· 动态路由:动态路由协议发现的路由。
FIB表中每条转发项都指明了要到达某子网或某主机的报文应通过路由器的哪个物理接口发送,就可到达该路径的下一个路由器,或者不需再经过别的路由器便可传送到直接相连的网络中的目的主机。
路由表中包含了下列关键项:
· 目的地址:用来标识IP报文的目的地址或目的网络。
· 网络掩码(IPv4)/前缀长度(IPv6):与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址和网络掩码/前缀长度“逻辑与”后可得到目的主机或路由器所在网段的地址。
· 路由优先级:对于同一目的地,可能存在若干条不同下一跳的路由,这些不同的路由可能是由不同的路由协议发现的,也可能是手工配置的静态路由。优先级高(数值小)的路由将成为当前的最优路由。
· 出接口:指明IP报文将从该路由器哪个接口转发。
· 下一跳:此路由的下一跳IP地址。
静态路由是一种特殊的路由,由管理员手工配置。当组网结构比较简单时,只需配置静态路由就可以使网络正常工作。
静态路由不能自动适应网络拓扑结构的变化。当网络发生故障或者拓扑发生变化后,必须由网络管理员手工修改配置。
缺省路由是在路由器没有找到匹配的路由表项时使用的路由。
如果报文的目的地址不在路由表中且没有配置缺省路由,那么该报文将被丢弃。
在Web中,缺省路由可以通过配置静态路由来生成。
· 在配置IPv4静态路由时,如果将目的地址和掩码配置为0.0.0.0/0.0.0.0,则表示配置了一条IPv4缺省路由。
· 在配置IPv6静态路由时,如果将目的地址和前缀长度配置为::/0,则表示配置了一条IPv6缺省路由。
(1) 在导航栏中选择“网络 > IPv4路由”,默认进入“显示”页签的页面,如下图所示。
图11-1 IPv4路由显示
(2) 查看IPv4激活路由表的信息,详细说明如下表所示。
表11-1 IPv4激活路由表的详细说明
标题项 |
说明 |
目的IP地址 |
IPv4路由的目的IP地址和子网掩码 |
掩码 |
|
协议 |
发现该IPv4路由的路由协议 |
优先级 |
该IPv4路由的优先级 数值越小,优先级越高 |
下一跳 |
该IPv4路由下一跳IP地址 |
接口 |
该IPv4路由的出接口,即到该目的网段的数据包将从此接口发出 |
(1) 在导航栏中选择“网络 > IPv4路由”。
(2) 单击“创建”页签,进入IPv4静态路由配置页面,如下图所示。
图11-2 IPv4静态路由创建
(3) 配置IPv4静态路由的信息,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表11-2 IPv4静态路由的详细配置
配置项 |
说明 |
目的IP地址 |
设置IPv4数据报文的目的主机或目的网段,格式要求为点分十进制 |
掩码 |
设置目的主机或目的网段的掩码 可以输入掩码长度或点分十进制格式的掩码 |
优先级 |
设置本条静态路由的优先级,数值越小优先级越高 配置到达相同目的地的多条路由,如果指定相同优先级,则可实现负载分担;如果指定不同优先级,则可实现路由备份 |
下一跳 |
设置IPv4数据报文要经过的下一个设备的IP地址,格式要求为点分十进制 |
接口 |
设置IPv4数据报文从设备的哪个接口向外转发 可以选择当前设备中的所有三层接口,包括各种虚接口。如果选择NULL0,表示目的IP地址不可达 |
(1) 在导航栏中选择“网络 > IPv6路由”,默认进入“显示”页签的页面,如下图所示。
图11-3 IPv6路由显示
(2) 查看IPv6激活路由表的信息,详细说明如下表所示。
表11-3 IPv6激活路由表的详细说明
标题项 |
说明 |
目的IP地址 |
IPv6路由的目的IP地址和前缀长度 |
前缀长度 |
|
协议 |
发现该IPv6路由的路由协议 |
优先级 |
该IPv6路由的优先级 数值越小,优先级越高 |
下一跳 |
该IPv6路由下一跳IP地址 |
接口 |
该IPv6路由的出接口,即到该目的网段的数据包将从此接口发出 |
(1) 在导航栏中选择“网络 > IPv6路由”。
(2) 单击“创建”页签,进入IPv6静态路由配置页面,如下图所示。
图11-4 IPv6路由显示
(3) 配置IPv6静态路由的信息,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表11-4 IPv6静态路由的详细配置
配置项 |
说明 |
目的IP地址 |
设置IPv6数据报文的目的主机或目的网段,格式类似于X:X::X:X 目的IP地址共128bit,每16bit为一段,段之间用“:”分隔,每段都可以用4位十六进制数表示 |
前缀长度 |
设置目的主机或目的网段的前缀长度 |
优先级 |
设置本条静态路由的优先级,数值越小优先级越高 配置到达相同目的地的多条路由,如果指定相同优先级,则可实现负载分担;如果指定不同优先级,则可实现路由备份 |
下一跳 |
设置IPv6数据报文要经过的下一个设备的IP地址,格式要求和目的IP地址相同 |
接口 |
设置IPv6数据报文从设备的哪个接口向外转发 可以选择当前设备中的所有三层接口,包括各种虚接口。如果选择NULL0,表示目的IP地址不可达 |
Switch A、Switch B和Switch C各接口及主机的IP地址和掩码如下图所示。要求Switch A、Switch B和Switch C之间配置IPv4静态路由后,图中任意两台主机之间都能互通。
图11-5 IPv4静态路由配置组网图
采用如下的思路配置IPv4静态路由:
(1) 在Switch A上配置一条到Switch B的缺省路由。
(2) 在Switch B上分别配置两条到Switch A和Switch C的静态路由。
(3) 在Switch C上配置一条到Switch B的缺省路由。
(1) 在Switch A上配置到Switch B的缺省路由。
步骤1:在Switch A的导航栏中选择“网络 > IPv4路由”。
步骤2:单击“创建”页签。
步骤3:进行如下配置,如下图所示。
· 输入目的IP地址为“0.0.0.0”。
· 输入掩码为“0”。
· 输入下一跳为“1.1.4.2”。
步骤4:单击<确定>按钮完成操作。
图11-6 在Switch A上配置到Switch B的缺省路由
(2) 在Switch B上配置到Switch A和Switch C的静态路由。
步骤1:在Switch B的导航栏中选择“网络 > IPv4路由”。
步骤2:单击“创建”页签。
步骤3:进行如下配置,如下图所示。
· 输入目的IP地址为“1.1.2.0”。
· 输入掩码为“24”。
· 输入下一跳为“1.1.4.1”。
步骤4:单击<确定>按钮完成操作。
图11-7 在Switch B上配置到Switch A的静态路由
步骤5:继续进行如下配置,参见上图。
· 输入目的IP地址为“1.1.3.0”。
· 输入掩码为“24”。
· 输入下一跳为“1.1.5.6”。
步骤6:单击<确定>按钮完成操作。
(3) 在Switch C上配置到Switch B的缺省路由。
步骤1:在Switch C的导航栏中选择“网络 > IPv4路由”。
步骤2:单击“创建”页签。
步骤3:进行如下配置,如下图所示。
· 输入目的IP地址为“0.0.0.0”。
· 输入掩码为“0”。
· 输入下一跳为“1.1.5.5”。
步骤4:单击<应用>按钮完成操作。
图11-8 在Switch C上配置到Switch B的缺省路由
(1) 查看激活路由列表。
分别进入Switch A、Switch B和Switch C的IPv4路由显示页面。查看到页面上的激活路由列表中有新配置的静态路由。
(2) 在Host A上使用ping命令验证Host C是否可达(假定主机安装的操作系统为Windows XP)。
C:\Documents and Settings\Administrator>ping 1.1.3.2
Pinging 1.1.3.2 with 32 bytes of data:
Reply from 1.1.3.2: bytes=32 time=1ms TTL=128
Reply from 1.1.3.2: bytes=32 time=1ms TTL=128
Reply from 1.1.3.2: bytes=32 time=1ms TTL=128
Reply from 1.1.3.2: bytes=32 time=1ms TTL=128
Ping statistics for 1.1.3.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
Switch A、Switch B和Switch C各接口及主机的IP地址和掩码如下图所示。要求Switch A、Switch B和Switch C之间配置IPv6静态路由协议后,图中任意两台主机之间都能互通。
图11-9 IPv6静态路由配置组网图
采用如下的思路配置IPv6静态路由:
(1) 在Switch A上配置一条到Switch B的缺省路由。
(2) 在Switch B上分别配置两条到Switch A和Switch C的静态路由。
(3) 在Switch C上配置一条到Switch B的缺省路由。
(1) 在Switch A上配置到Switch B的缺省路由。
步骤1:在Switch A的导航栏中选择“网络 > IPv6路由”。
步骤2:单击“创建”页签。
步骤3:进行如下配置,如下图所示。
· 输入目的IP地址为“::”。
· 选择前缀长度为“0”。
· 输入下一跳为“4::2”。
步骤4:单击<确定>按钮完成操作。
图11-10 在Switch A上配置到Switch B的缺省路由
(2) 在Switch B上配置到Switch A和Switch C的静态路由。
步骤1:在Switch B的导航栏中选择“网络 > IPv6路由”。
步骤2:单击“创建”页签。
步骤3:进行如下配置,如下图所示。
· 输入目的IP地址为“1::”。
· 选择前缀长度为“64”。
· 输入下一跳为“4::1”。
步骤4:单击<确定>按钮完成操作。
图11-11 在Switch B上配置到Switch A的缺省路由
步骤5:继续进行如下配置,参见上图。
· 输入目的IP地址为“3::”。
· 选择前缀长度为“64”。
· 输入下一跳为“5::1”。
步骤6:单击<确定>按钮完成操作。
(3) 在Switch C上配置到Switch B缺省路由。
步骤1:在Switch C的导航栏中选择“网络 > IPv6路由”。
步骤2:单击“创建”页签。
步骤3:进行如下配置,如下图所示。
· 输入目的IP地址为“::”。
· 选择前缀长度为“0”。
· 输入下一跳为“5::2”。
步骤4:单击<确定>按钮完成操作。
图11-12 在Switch C上配置到Switch B缺省路由
(1) 查看激活路由列表。
分别进入Switch A、Switch B和Switch C的IPv6路由显示页面。查看到页面上的激活路由列表中有新配置的静态路由。
(2) 在Switch A上使用ping ipv6命令验证Host C是否可达。
<SwitchA> ping ipv6 3::2
PING 3::2 : 56 data bytes, press CTRL_C to break
Reply from 3::2
bytes=56 Sequence=1 hop limit=254 time = 63 ms
Reply from 3::2
bytes=56 Sequence=2 hop limit=254 time = 62 ms
Reply from 3::2
bytes=56 Sequence=3 hop limit=254 time = 62 ms
Reply from 3::2
bytes=56 Sequence=4 hop limit=254 time = 63 ms
Reply from 3::2
bytes=56 Sequence=5 hop limit=254 time = 63 ms
--- 3::2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 62/62/63 ms
配置静态路由时需要注意如下事项:
(1) 如果在配置静态路由时没有指定优先级,就会使用缺省优先级。重新设置缺省优先级后,新设置的缺省优先级仅对新增的静态路由有效。Web界面目前不支持对缺省优先级的配置。
(2) 在配置静态路由时,如果先指定下一跳,然后再将该下一跳的地址配置为本地接口(如VLAN接口等)的IP地址,则该条静态路由不会生效。
(3) 在指定出接口时要注意:
· 对于NULL0和Loopback接口,配置了出接口就不再配置下一跳。
· 在配置静态路由时,建议不要直接指定广播类型接口作为出接口(如VLAN接口等)。因为广播类型的接口,会导致出现多个下一跳,无法唯一确定下一跳。在某些特殊应用中,如果必须配置广播接口为出接口,则必须同时指定其对应的下一跳。
(4) 在IPv4/IPv6路由的“删除”页签的页面中,只能显示和删除IPv4/IPv6静态路由。
指定设备的接口作为DHCP客户端后,可以使用DHCP协议从DHCP服务器动态获得IP地址等参数,方便用户配置,也便于集中管理。配置DHCP客户端即配置接口通过DHCP协议自动获取IP地址,详细配置请参见“VLAN虚接口”,本章不对DHCP客户端的配置进行介绍。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)用来为网络设备动态地分配IP地址等网络配置参数。
DHCP采用客户端/服务器通信模式,由客户端向服务器提出配置申请,服务器返回为客户端分配的IP地址等相应的配置信息,以实现IP地址等信息的动态配置。
在DHCP的典型应用中,一般包含一台DHCP服务器和多台客户端(如PC和便携机),如图12-1所示。
图12-1 DHCP典型应用
针对客户端的不同需求,DHCP提供三种IP地址分配策略:
· 手工分配地址:由管理员为少数特定客户端(如WWW服务器等)静态绑定固定的IP地址。通过DHCP将配置的固定IP地址发给客户端。
· 自动分配地址:DHCP为客户端分配租期为无限长的IP地址。
· 动态分配地址:DHCP为客户端分配具有一定有效期限的IP地址,到达使用期限后,客户端需要重新申请地址。绝大多数客户端得到的都是这种动态分配的地址。
图12-2 IP地址动态获取过程
如图12-2所示,DHCP客户端从DHCP服务器动态获取IP地址,主要通过四个阶段进行:
(1) 发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP-DISCOVER报文。
(2) 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP-DISCOVER报文后,根据IP地址分配的优先次序选出一个IP地址,与其他参数一起通过DHCP-OFFER报文发送给客户端。DHCP-OFFER报文的发送方式由DHCP-DISCOVER报文中的flag字段决定,具体请参见“12.3 DHCP报文格式”的介绍。
(3) 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP-OFFER报文,客户端只接受第一个收到的DHCP-OFFER报文,然后以广播方式发送DHCP-REQUEST报文,该报文中包含DHCP服务器在DHCP-OFFER报文中分配的IP地址,其它DHCP服务器中本次未分配出的IP地址仍可分配给其他客户端。
(4) 确认阶段,即DHCP服务器确认IP地址的阶段。DHCP服务器收到DHCP客户端发来的DHCP-REQUEST报文后,只有DHCP客户端选择的服务器会进行如下操作:如果确认将地址分配给该客户端,则返回DHCP-ACK报文;否则返回DHCP-NAK报文,表明地址不能分配给该客户端。
客户端收到服务器返回的DHCP-ACK确认报文后,会以广播的方式发送免费ARP报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址。否则,客户端会发送DHCP-DECLINE报文给DHCP服务器,并重新申请IP地址。
如果采用动态地址分配策略,则DHCP服务器分配给客户端的IP地址有一定的租借期限,当租借期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP地址租约。
在DHCP客户端的IP地址租约期限达到一半时间时,DHCP客户端会向为它分配IP地址的DHCP服务器单播发送DHCP-REQUEST报文,以进行IP租约的更新。如果客户端可以继续使用此IP地址,则DHCP服务器回应DHCP-ACK报文,通知DHCP客户端已经获得新IP租约;如果此IP地址不可以再分配给该客户端,则DHCP服务器回应DHCP-NAK报文,通知DHCP客户端不能获得新的租约。
如果在租约的一半时间进行的续约操作失败,DHCP客户端会在租约期限达到7/8时,广播发送DHCP-REQUEST报文进行续约。DHCP服务器的处理方式同上,不再赘述。
DHCP有8种类型的报文,每种报文的格式相同,只是某些字段的取值不同。DHCP报文格式基于BOOTP的报文格式,具体格式如下图所示(括号中的数字表示该字段所占的字节)。
图12-3 DHCP报文格式
各字段的解释如下:
· op:报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。具体的报文类型在option字段中标识。
· htype、hlen:DHCP客户端的硬件地址类型及长度。
· hops:DHCP报文经过的DHCP中继的数目。DHCP请求报文每经过一个DHCP中继,该字段就会增加1。
· xid:客户端发起一次请求时选择的随机数,用来标识一次地址请求过程。
· secs:DHCP客户端开始DHCP请求后所经过的时间。目前没有使用,固定为0。
· flags:第一个比特为广播响应标识位,用来标识DHCP服务器响应报文是采用单播还是广播方式发送,0表示采用单播方式,1表示采用广播方式。其余比特保留不用。
· ciaddr:DHCP客户端的IP地址。
· yiaddr:DHCP服务器分配给客户端的IP地址。
· siaddr:DHCP客户端获取IP地址等信息的服务器IP地址。
· giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址。
· chaddr:DHCP客户端的硬件地址。
· sname:DHCP客户端获取IP地址等信息的服务器名称。
· file:DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息。
· option:可选变长选项字段,包含报文的类型、有效租期、DNS服务器的IP地址、WINS服务器的IP地址等配置信息。
为了与BOOTP(Bootstrap Protocol,自举协议)兼容,DHCP保留了BOOTP的消息格式。DHCP和BOOTP消息的不同主要体现在选项(Option)字段。DHCP在BOOTP基础上增加的功能,通过Option字段来实现。
DHCP利用Option字段传递控制信息和网络配置参数,实现地址的动态分配,为客户端提供更加丰富的网络配置信息。
DHCP选项的格式如下图所示。
图12-4 DHCP选项格式
常见的DHCP选项有:
· Option 3:路由器选项,用来指定为客户端分配的网关地址。
· Option 6:DNS服务器选项,用来指定为客户端分配的DNS服务器地址。
· Option 33:静态路由选项。该选项中包含一组有分类静态路由(即目的地址的掩码固定为自然掩码,不能划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。如果Option 33和Option 121同时存在,则忽略Option 33。
· Option 51:IP地址租约选项。
· Option 53:DHCP消息类型选项,标识DHCP消息的类型。
· Option 55:请求参数列表选项。客户端利用该选项指明需要从服务器获取哪些网络配置参数。该选项内容为客户端请求的参数对应的选项值。
· Option 60:厂商标识选项。客户端利用该选项标识自己所属的厂商;DHCP服务器可以根据该选项区分客户端所属的厂商,并为其分配特定范围的IP地址。
· Option 66:TFTP服务器名选项,用来指定为客户端分配的TFTP服务器的域名。
· Option 67:启动文件名选项,用来指定为客户端分配的启动文件名。
· Option 121:无分类路由选项。该选项中包含一组无分类静态路由(即目的地址的掩码为任意值,可以通过掩码来划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。如果Option 33和Option 121同时存在,则忽略Option 33。
· Option 150:TFTP服务器地址选项,用来指定为客户端分配的TFTP服务器的地址。
更多DHCP选项的介绍,请参见RFC 2132和RFC 3442。
有些选项的内容,RFC 2132中没有统一规定,例如Option 82选项。
Option 82称为中继代理信息选项,该选项记录了DHCP客户端的位置信息。DHCP中继或DHCP Snooping设备接收到DHCP客户端发送给DHCP服务器的请求报文后,在该报文中添加Option 82,并转发给DHCP服务器。
管理员可以从Option 82中获得DHCP客户端的位置信息,以便定位DHCP客户端,实现对客户端的安全和计费等控制。支持Option 82的服务器还可以根据该选项的信息制定IP地址和其他参数的分配策略,提供更加灵活的地址分配方案。
Option 82最多可以包含255个子选项。若定义了Option 82,则至少要定义一个子选项。目前设备只支持两个子选项:sub-option 1(Circuit ID,电路ID子选项)和sub-option 2(Remote ID,远程ID子选项)。
由于Option 82的内容没有统一规定,不同厂商通常根据需要进行填充。
设备上默认采用normal模式填充Option 82。normal填充模式中,子选项内容的填充格式可以是ASCII格式和HEX格式。子选项的内容如下:
· sub-option 1的内容是接收到DHCP客户端请求报文的接口属于的VLAN ID以及接口编号。如下图所示,子选项类型值为1,电路ID类型值为0。
图12-5 normal模式填充的sub-option 1
· sub-option 2的内容是接收到DHCP客户端请求报文的接口MAC地址(DHCP中继)或设备的桥MAC地址(DHCP Snooping设备)。如下图所示,子选项类型值为2,远程ID类型值为0。
图12-6 normal模式填充的sub-option 2
与DHCP相关的协议规范有:
· RFC 2131:Dynamic Host Configuration Protocol
· RFC 2132:DHCP Options and BOOTP Vendor Extensions
· RFC 1542:Clarifications and Extensions for the Bootstrap Protocol
· RFC 3046:DHCP Relay Agent Information Option
· RFC 3442:The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4
由于在IP地址动态获取过程中采用广播方式发送请求报文,因此DHCP只适用于DHCP客户端和服务器处于同一个子网内的情况。为进行动态主机配置,需要在所有网段上都设置一个DHCP服务器,这显然是很不经济的。
DHCP中继功能的引入解决了这一难题:客户端可以通过DHCP中继与其他网段的DHCP服务器通信,最终获取到IP地址。这样,多个网络上的DHCP客户端可以使用同一个DHCP服务器,既节省了成本,又便于进行集中管理。
下图是DHCP中继的典型应用示意图。
图13-1 DHCP中继的典型组网应用
通过DHCP中继完成动态配置的过程中,DHCP客户端与DHCP服务器的处理方式与不通过DHCP中继时的处理方式基本相同。下面只说明DHCP中继的转发过程,报文的具体交互过程请参见“12.2.2 IP地址动态获取过程”。
图13-2 DHCP中继的工作过程
如上图所示,DHCP中继的工作过程为:
(1) 具有DHCP中继功能的网络设备收到DHCP客户端以广播方式发送的DHCP-DISCOVER或DHCP-REQUEST报文后,将报文中的giaddr字段填充为DHCP中继的IP地址,并根据配置将报文单播转发给指定的DHCP服务器。
(2) DHCP服务器根据giaddr字段为客户端分配IP地址等参数,并通过DHCP中继将配置信息转发给客户端,完成对客户端的动态配置。
表13-1 DHCP中继配置步骤
步骤 |
配置任务 |
说明 |
1 |
必选 启动全局DHCP服务,配置DHCP的高级参数 缺省情况下,全局DHCP服务处于关闭状态 |
|
2 |
必选 为了提高可靠性,可以在一个网络中设置多个DHCP服务器,构成一个DHCP服务器组。当接口与DHCP服务器组建立归属关系后,会将客户端发来的DHCP报文转发给服务器组中的所有服务器 |
|
3 |
必选 配置接口工作在中继模式,并将接口与DHCP服务器组建立归属关系 DHCP中继只在IP地址为手工配置的接口上起作用 |
|
4 |
可选 配置静态用户地址表项,查看静态和动态用户地址表项信息 当客户端通过DHCP中继从DHCP服务器获取到IP地址时,DHCP中继可以自动记录客户端IP地址与MAC地址的绑定关系,生成DHCP中继的动态用户地址表项。同时,为满足用户采用合法固定IP地址访问外部网络的需求,DHCP中继也支持静态用户地址表项配置,即在DHCP中继上手工配置IP地址与MAC地址的绑定关系 缺省情况下,没有配置DHCP中继的静态用户地址表项 |
(1) 在导航栏中选择“网络 > DHCP”,默认进入“DHCP中继”页签的页面。
(2) 在“DHCP服务”中单击<显示高级配置>按钮,展开DHCP中继的高级参数,如下图所示。
(3) 启动DHCP服务,并配置DHCP中继高级参数,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表13-2 DHCP服务和DHCP中继高级参数的详细配置
配置项 |
说明 |
DHCP服务 |
设置是否启动全局DHCP服务 |
伪服务器检测 |
设置是否启动DHCP中继伪服务器检测功能 如果网络中有私自架设的DHCP服务器,当客户端申请IP地址时,这台DHCP服务器就会与DHCP客户端进行交互,导致客户端获得错误的IP地址,这种私设的DHCP服务器称为伪DHCP服务器 启动伪DHCP服务器检测功能后,DHCP中继会从接收到的DHCP报文中获取给客户端分配IP地址的服务器IP地址,并记录此IP地址及接收到报文的接口信息,以便管理员及时发现并处理伪DHCP服务器 · 启动伪DHCP服务器检测功能后,对所有DHCP服务器都会进行记录,包括合法的DHCP服务器,管理员需要从日志信息中查找伪DHCP服务器 · 启动伪DHCP服务器检测功能后,对每个DHCP服务器只记录一次。记录的DHCP服务器信息被清除后,将重新记录 |
表项定时刷新 |
设置是否启动DHCP中继动态用户地址表项定时刷新功能和刷新的时间间隔 当DHCP客户端通过DHCP中继从DHCP服务器获取到IP地址时,DHCP中继会记录IP地址与MAC地址的绑定关系。由于DHCP客户端释放该IP地址时,会给DHCP服务器发送单播DHCP-RELEASE报文,DHCP中继不会处理该DHCP报文的内容,造成DHCP中继的用户地址项不能被实时刷新。为了解决这个问题,可以启动表项定时刷新功能。这样,每隔指定时间,DHCP中继以客户端分配到的IP地址和DHCP中继接口的MAC地址向DHCP服务器发送DHCP-REQUEST报文: · 如果DHCP中继接收到DHCP服务器响应的DHCP-ACK报文或在指定时间内没有接收到DHCP服务器的响应报文,则表明这个IP地址已经可以进行分配,DHCP中继会将动态用户地址表中对应的表项老化掉 · 如果DHCP中继接收到DHCP服务器响应的DHCP-NAK报文,则表示该IP地址的租约仍然存在,DHCP中继不会老化该IP地址对应的表项 需要注意的是,当刷新时间间隔选择“Auto”时,表示根据表项的数目自动计算刷新时间间隔 |
刷新时间间隔 |
(1) 在导航栏中选择“网络 > DHCP”,默认进入“DHCP中继”页签的页面,参见图13-3。
(2) 在“服务器组”中单击<新建>按钮,进入新建DHCP服务器组的配置页面,如下图所示。
图13-4 新建DHCP服务器组
(3) 配置DHCP服务器组的信息,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表13-3 DHCP服务器组的详细配置
配置项 |
说明 |
服务器组ID |
设置DHCP服务器组的ID 最多可以创建20个DHCP服务器组 |
IP地址 |
设置DHCP服务器组中服务器的IP地址 DHCP服务器组中服务器的IP地址不能与DHCP中继的接口IP地址在同一网段。否则,可能导致客户端无法获得IP地址 |
(1) 在导航栏中选择“网络 > DHCP”,默认进入“DHCP中继”页签的页面,参见图13-3。
(2) 在“接口设置”中单击某接口对应的图标,进入该接口DHCP中继功能的配置页面,如下图所示。
图13-5 DHCP中继接口设置
(3) 配置接口工作在DHCP中继模式,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表13-4 接口工作在DHCP中继模式的详细配置
配置项 |
说明 |
接口名称 |
显示要配置的接口的名称 |
DHCP中继 |
设置是否在接口上启动DHCP中继功能 |
地址匹配检查 |
设置是否在接口上启动地址匹配检查功能 启动地址匹配检查功能后,如果在DHCP中继的用户地址表中(包括DHCP中继动态记录的表项以及手工配置的用户地址表项)没有与主机IP地址和主机MAC地址匹配的表项,则该主机将不能通过DHCP中继访问外部网络。这样,可以防止非法主机静态配置一个IP地址并访问其他网络 |
服务器组ID |
设置将接口与DHCP服务器组建立归属关系,一个服务器组可以对应多个接口 |
(1) 在导航栏中选择“网络 > DHCP”,默认进入“DHCP中继”页签的页面,参见图13-3。
(2) 在“用户信息”中单击<用户信息>按钮,进入用户地址表项的显示页面,可以查看静态和动态用户地址表项,如下图所示。
(3) 单击<新建>按钮,进入新建静态用户地址表项的配置页面,如下图所示。
图13-7 新建静态用户地址表项
(4) 配置静态用户地址表项的信息,详细配置如下表所示。
(5) 单击<确定>按钮完成操作。
配置项 |
说明 |
IP地址 |
设置DHCP客户端的IP地址 |
MAC地址 |
设置DHCP客户端的MAC地址 |
接口名称 |
设置与DHCP客户端相连的三层接口 静态用户地址表项中的接口必须工作在DHCP中继模式,否则可能引起地址表项冲突 |
· 具有DHCP中继功能的Switch通过端口(属于VLAN1)连接到DHCP客户端所在的网络
· DHCP服务器的IP地址为10.1.1.1/24。
· 通过Switch转发DHCP报文,DHCP客户端可以从DHCP服务器上申请到10.10.1.0/24网段的IP地址及相关配置信息。
图13-8 DHCP中继配置组网图
(1) 启动DHCP服务。
步骤1:在导航栏中选择“网络 > DHCP”,默认进入“DHCP中继”页签的页面。
步骤2:如下图所示,选中DHCP服务“启动”前的单选按钮。
步骤3:单击<确定>按钮完成操作。
图13-9 启动DHCP服务
(2) 配置DHCP服务器组。
步骤1:在“服务器组”中单击<新建>按钮。
步骤2:进行如下配置,如下图所示。
· 输入服务器组ID为“1”。
· 输入IP地址为“10.1.1.1”。
步骤3:单击<确定>按钮完成操作。
图13-10 新建服务器组
(3) 配置接口Vlan-interface1工作在DHCP中继模式。
步骤1:在“接口设置”中单击Vlan-interface1对应的图标。
步骤2:进行如下配置,如下图所示。
· 选中DHCP中继“启动”前的单选按钮。
· 选择服务器组ID为“1”。
步骤3:单击<确定>按钮完成操作。
图13-11 DHCP中继接口设置
由于DHCP中继所在接口的IP地址与DHCP服务器的IP地址不在同一网段,因此需要在DHCP服务器上通过静态路由或动态路由协议保证两者之间路由可达。
设备只有位于DHCP客户端与DHCP服务器之间,或DHCP客户端与DHCP中继之间时,DHCP Snooping功能配置后才能正常工作;设备位于DHCP服务器与DHCP中继之间时,DHCP Snooping功能配置后不能正常工作。
DHCP Snooping是DHCP的一种安全特性,具有如下功能:
(1) 保证客户端从合法的服务器获取IP地址。
(2) 记录DHCP客户端IP地址与MAC地址的对应关系。
网络中如果存在私自架设的伪DHCP服务器,则可能导致DHCP客户端获取错误的IP地址和网络配置参数,无法正常通信。为了使DHCP客户端能通过合法的DHCP服务器获取IP地址,DHCP Snooping安全机制允许将端口设置为信任端口和不信任端口:
· 信任端口正常转发接收到的DHCP报文。
· 不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文后,丢弃该报文。
连接DHCP服务器和其他DHCP Snooping设备的端口需要设置为信任端口,其他端口设置为不信任端口,从而保证DHCP客户端只能从合法的DHCP服务器获取IP地址,私自架设的伪DHCP服务器无法为DHCP客户端分配IP地址。
出于安全性的考虑,网络管理员可能需要记录用户上网时所用的IP地址,确认用户从DHCP服务器获取的IP地址和用户主机MAC地址的对应关系。DHCP Snooping可以实现该功能。
DHCP Snooping通过监听DHCP-REQUEST和信任端口收到的DHCP-ACK广播报文,记录DHCP Snooping表项,其中包括客户端的MAC地址、获取到的IP地址、与DHCP客户端连接的端口及该端口所属的VLAN等信息。利用这些信息可以实现如ARP Detection等功能,ARP Detection功能的详细介绍请参见“ARP”。
如上图所示,连接DHCP服务器的端口需要配置为信任端口,以便DHCP Snooping设备正常转发DHCP服务器的应答报文,保证DHCP客户端能够从合法的DHCP服务器获取IP地址。
在多个DHCP Snooping设备级联的网络中,为了节省系统资源,不需要每台DHCP Snooping设备都记录所有DHCP客户端的IP地址和MAC地址绑定,只需在与客户端直接相连的DHCP Snooping设备上记录绑定信息。通过将间接与DHCP客户端相连的端口配置为不记录IP地址和MAC地址绑定的信任端口,可以实现该功能。如果DHCP客户端发送的请求报文从此类信任端口到达DHCP Snooping设备,DHCP Snooping设备不会记录客户端IP地址和MAC地址的绑定。
图14-2 DHCP Snooping级联组网图
上图中设备各端口的角色如下表所示。
设备 |
不信任端口 |
不记录绑定信息的信任端口 |
记录绑定信息的信任端口 |
Switch A |
GigabitEthernet1/0/1 |
GigabitEthernet1/0/3 |
GigabitEthernet1/0/2 |
Switch B |
GigabitEthernet1/0/3和GigabitEthernet1/0/4 |
GigabitEthernet1/0/1 |
GigabitEthernet1/0/2 |
Switch C |
GigabitEthernet1/0/1 |
GigabitEthernet1/0/3和GigabitEthernet1/0/4 |
GigabitEthernet1/0/2 |
Option 82记录了DHCP客户端的位置信息。管理员可以利用该选项定位DHCP客户端,实现对客户端的安全和计费等控制。Option 82的详细介绍请参见“12.4.3 Option 82选项”。
如果DHCP Snooping支持Option 82功能,则当设备接收到DHCP请求报文后,将根据报文中是否包含Option 82以及用户配置的处理策略对报文进行相应的处理,并将处理后的报文转发给DHCP服务器。具体的处理方式如下表所示。
当设备接收到DHCP服务器的响应报文时,如果报文中含有Option 82,则删除Option 82,并转发给DHCP客户端;如果报文中不含有Option 82,则直接转发。
表14-2 DHCP Snooping支持Option 82的处理方式
收到DHCP请求报文 |
处理策略 |
DHCP Snooping对报文的处理 |
收到的报文中带有Option 82 |
Drop |
丢弃报文 |
Keep |
保持报文中的Option 82不变并进行转发 |
|
Replace |
采用normal模式填充Option 82,替换报文中原有的Option 82并进行转发 |
|
收到的报文中不带有Option 82 |
- |
采用normal模式填充Option 82并进行转发 |
步骤 |
配置任务 |
说明 |
1 |
必选 缺省情况下,DHCP Snooping功能处于关闭状态 |
|
2 |
必选 配置接口的信任属性和DHCP Snooping支持Option 82的相关参数 缺省情况下,在启动DHCP Snooping功能后,设备的所有接口的信任属性均为不信任;且DHCP Snooping不支持Option 82功能 为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内 |
|
3 |
可选 查看DHCP Snooping记录的IP地址和MAC地址的绑定信息 |
(1) 在导航栏中选择“网络 > DHCP”。
(2) 单击“DHCP Snooping”页签,进入如下图所示的页面。
(3) 选中DHCP Snooping“启动”前的单选按钮,即可启动DHCP Snooping功能。
(1) 在导航栏中选择“网络 > DHCP”。
(2) 单击“DHCP Snooping”页签,进入如图14-3所示的页面。
(3) 在“接口设置”中单击某接口对应的图标,进入该接口DHCP Snooping功能的配置页面,如下图所示。
(4) 配置接口DHCP Snooping功能的信息,详细配置如下表所示。
(5) 单击<确定>按钮完成操作。
表14-4 接口DHCP Snooping功能的详细配置
配置项 |
说明 |
接口名称 |
显示要配置的接口的名称 |
信任属性 |
设置接口的信任属性为信任或非信任 |
添加Option 82选项 |
设置DHCP Snooping是否支持Option 82功能 |
Option 82选项策略 |
设置DHCP Snooping对包含Option 82的请求报文的处理策略,包括: · Drop:如果报文中带有Option 82,则丢弃该报文 · Keep:如果报文中带有Option 82,则保持该报文中的Option 82不变并进行转发 · Replace:如果报文中带有Option 82,则采用normal模式填充Option 82,替换报文中原有的Option 82,并进行转发 |
(1) 在导航栏中选择“网络 > DHCP”。
(2) 单击“DHCP Snooping”页签,进入如图14-3所示的页面。
(3) 在“用户信息”中单击<用户信息>按钮,进入DHCP Snooping用户信息的显示页面,如下图所示。
(4) 查看DHCP Snooping记录的IP地址和MAC地址的绑定信息,详细说明如下表所示。
表14-5 DHCP Snooping用户信息的详细说明
配置项 |
说明 |
IP地址 |
DHCP服务器为DHCP客户端分配的IP地址 |
MAC地址 |
DHCP客户端的MAC地址 |
类型 |
绑定类型,取值包括: · Dynamic:表示动态生成的IP地址和MAC地址绑定 · Static:表示静态配置的IP地址和MAC地址绑定,目前不支持静态配置 |
接口名称 |
与DHCP客户端连接的设备端口 |
VLAN |
与DHCP客户端连接的设备端口所属的VLAN |
租约剩余时间 |
绑定的租约剩余时间 |
Switch B通过以太网端口GigabitEthernet1/0/1连接到DHCP服务器,通过以太网端口GigabitEthernet1/0/2、GigabitEthernet1/0/3连接到DHCP客户端。要求:
· Switch B上启动DHCP Snooping功能,并支持Option 82功能;对包含Option 82的请求报文的处理策略为“Replace”。
· 与DHCP服务器相连的端口可以转发DHCP服务器的响应报文,而其他端口不转发DHCP服务器的响应报文。
· 记录DHCP-REQUEST和信任端口收到的DHCP-ACK广播报文中DHCP客户端IP地址及MAC地址的绑定关系。
图14-6 DHCP Snooping配置组网图
(1) 启动DHCP Snooping。
步骤1:在导航栏中选择“网络 > DHCP”。
步骤2:单击“DHCP Snooping”页签。
步骤3:如下图所示,选中DHCP Snooping“启动”前的单选按钮,即可完成操作。
图14-7 启动DHCP Snooping
(2) 配置接口GigabitEthernet1/0/1的DHCP Snooping功能。
步骤1:在“接口设置”中单击GigabitEthernet1/0/1对应的图标。
步骤2:如下图所示,选中信任属性“信任”前的单选按钮。
步骤3:单击<确定>按钮完成操作。
图14-8 配置接口GigabitEthernet1/0/1的DHCP Snooping功能
(3) 配置接口GigabitEthernet1/0/2的DHCP Snooping功能。
步骤1:在“接口设置”中单击GigabitEthernet1/0/2对应的图标。
步骤2:进行如下配置,如下图所示。
· 选中信任属性“非信任”前的单选按钮。
· 选中添加Option 82选项“使能”前的单选按钮。
· 选择Option 82选项策略为“Replace”。
步骤3:单击<确定>按钮完成操作。
图14-9 配置接口GigabitEthernet1/0/2的DHCP Snooping功能
(4) 配置接口GigabitEthernet1/0/3的DHCP Snooping功能。
步骤1:在“接口设置”中单击GigabitEthernet1/0/3对应的图标。
步骤2:进行如下配置,如下图所示。
· 选中信任属性“非信任”前的单选按钮。
· 选中添加Option 82选项“使能”前的单选按钮。
· 选择Option 82选项策略为“Replace”。
步骤3:单击<确定>按钮完成操作。
图14-10 配置接口GigabitEthernet1/0/3的DHCP Snooping功能
服务管理模块提供了FTP、Telnet、SSH、SFTP、HTTP和HTTPS服务的管理功能,可以使用户只在需要使用相应的服务时启用服务,否则关闭服务。这样,可以提高系统的性能和设备的安全性,实现对设备的安全管理。
服务管理模块还提供了修改HTTP、HTTPS服务端口号的功能,以及设置将FTP、HTTP、HTTPS服务与ACL(Access Control List,访问控制列表)关联,只允许通过ACL过滤的客户端访问设备的功能,以减少非法用户对这些服务的攻击。
FTP(File Transfer Protocol,文件传输协议)协议在TCP/IP协议族中属于应用层协议,用于在远端服务器和本地客户端之间传输文件,是IP网络上传输文件的通用协议。
Telnet协议在TCP/IP协议族中属于应用层协议,用于在网络中提供远程登录和虚拟终端的功能。
SSH是Secure Shell(安全外壳)的简称。用户通过一个不能保证安全的网络环境远程登录到设备时,SSH可以利用加密和强大的认证功能提供安全保障,保护设备不受诸如IP地址欺诈、明文密码截取等攻击。
SFTP是Secure FTP的简称,是SSH 2.0中新增的功能。SFTP建立在SSH连接的基础之上,它使得远程用户可以安全地登录设备,进行文件管理和文件传送等操作,为数据传输提供了更高的安全保障。
HTTP是Hypertext Transfer Protocol(超文本传输协议)的简称。它用来在Internet上传递Web页面信息。HTTP位于TCP/IP协议栈的应用层。
在设备上使能HTTP服务后,用户就可以通过HTTP协议登录设备,利用Web功能访问并控制设备。
HTTPS(Hypertext Transfer Protocol Secure,超文本传输协议的安全版本)是支持SSL(Secure Sockets Layer,安全套接字层)协议的HTTP协议。
HTTPS通过SSL协议,从以下几方面提高了设备的安全性:
· 通过SSL协议保证合法客户端可以安全地访问设备,禁止非法的客户端访问设备;
· 客户端与设备之间交互的数据需要经过加密,保证了数据传输的安全性和完整性,从而实现了对设备的安全管理;
· 为设备制定基于证书属性的访问控制策略,对客户端的访问权限进行控制,进一步避免了非法客户对设备进行攻击。
(1) 在导航栏中选择“网络 > 服务管理”,进入服务管理的配置页面,如下图所示。
(2) 配置各种服务的启用状态等信息,详细配置如下表所示。
(3) 单击<确定>按钮完成操作。
配置项 |
说明 |
|
FTP服务 |
启用FTP服务 |
设置是否在设备上启用FTP服务 缺省情况下,FTP服务处于关闭状态 |
ACL |
设置将FTP服务与ACL关联,只允许通过ACL过滤的客户端使用FTP服务 单击“FTP服务”前的扩展按钮可以显示此配置项 |
|
Telnet服务 |
启用Telnet服务 |
设置是否在设备上启用Telnet服务 缺省情况下,Telnet服务处于关闭状态 |
SSH服务 |
启用SSH服务 |
设置是否在设备上启用SSH服务 缺省情况下,SSH服务处于关闭状态 |
SFTP服务 |
启用SFTP服务 |
设置是否在设备上启用SFTP服务 缺省情况下,SFTP服务处于关闭状态 启用SFTP服务的同时必须启用SSH服务 |
HTTP服务 |
启用HTTP服务 |
设置是否在设备上启用HTTP服务 缺省情况下,HTTP服务处于启用状态 |
端口号 |
设置HTTP服务的端口号 单击“HTTP服务”前的扩展按钮可以显示此配置项 修改端口时必须保证该端口没有被其他服务使用 |
|
ACL |
设置将HTTP服务与ACL关联,只允许通过ACL过滤的客户端使用HTTP服务 单击“HTTP服务”前的扩展按钮可以显示此配置项 |
|
HTTPS服务 |
启用HTTPS服务 |
设置是否在设备上启用HTTPS服务 缺省情况下,HTTPS服务处于关闭状态 |
证书 |
设置HTTPS服务所使用的本地证书,下拉框中显示的为证书的主题 可选的证书在“认证 > 证书管理”中配置,详细配置请参见“证书管理” 不指定证书时,HTTPS服务将自己生成证书 |
|
端口号 |
设置HTTPS服务的端口号 单击“HTTPS服务”前的扩展按钮可以显示此配置项 修改端口时必须保证该端口没有被其他服务使用 |
|
ACL |
设置将HTTPS服务与ACL关联,只允许通过ACL过滤的客户端使用HTTPS服务 单击“HTTPS服务”前的扩展按钮可以显示此配置项 |
通过使用Ping工具,用户可以检查指定IP地址的设备是否可达,测试网络连接是否出现故障。
Ping的成功执行过程为:
(1) 源设备向目的设备发送ICMP回显请求(ECHO-REQUEST)报文。
(2) 目的设备在接收到该请求报文后,向源设备发送ICMP回显应答(ECHO-REPLY)报文。
(3) 源设备在收到该应答报文后,显示相关的统计信息。
Ping的输出信息分为以下几种情况:
· Ping的执行对象可以是目的设备的IP地址或者主机名,如果该目的设备的主机名不可识别,则源设备上输出提示信息。
· 如果在超时时间内源设备没有收到目的设备回的ICMP回显应答报文,则输出提示信息和Ping过程报文的统计信息;如果在超时时间内源设备收到响应报文,则输出响应报文的字节数、报文序号、TTL(Time to Live,生存时间)、响应时间和Ping过程报文的统计信息。
Ping过程报文的统计信息包括发送报文个数、接收到响应报文个数、未响应报文数百分比、响应时间的最小值、平均值和最大值。
通过使用Trace Route工具,用户可以查看报文从源设备传送到目的设备所经过的三层设备。当网络出现故障时,用户可以使用该命令分析出现故障的网络节点。
Trace Route的执行过程为:
(1) 源设备发送一个TTL为1的报文给目的设备。
(2) 第一跳(即该报文所到达的第一个三层设备)回应一个TTL超时的ICMP报文(该报文中含有第一跳的IP地址),这样源设备就得到了第一个三层设备的地址。
(3) 源设备重新发送一个TTL为2的报文给目的设备。
(4) 第二跳回应一个TTL超时的ICMP报文,这样源设备就得到了第二个三层设备的地址。
(5) 以上过程不断进行,直到最终到达目的设备,源设备就得到了从它到目的设备所经过的所有三层设备的地址。
Trace Route的执行对象可以是目的设备的IP地址或者主机名,如果该目的设备的主机名不可识别,则源设备上输出提示信息。
(1) 在导航栏中选择“网络 > 诊断工具”,默认进入“IPv4 Ping”页签的页面,如下图所示。
(2) 在“目的IP地址或者主机名”文本框中输入Ping操作的目的IP地址或者主机名。
(3) 单击<开始>按钮开始执行Ping操作。
(4) 在“信息”框中查看Ping操作的输出结果,如下图所示。
图16-2 IPv4 Ping操作结果
(1) 在导航栏中选择“网络 > 诊断工具”。
(2) 单击“IPv6 Ping”页签,进入如图16-3所示的页面。
(3) 在“目的IPv6地址或者主机名”文本框中输入IPv6 Ping操作的目的IPv6地址或者主机名。
(4) 单击<开始>按钮开始执行IPv6 Ping操作。
(5) 在“信息”框中查看IPv6 Ping操作的输出结果,如下图所示。
图16-4 IPv6 Ping操作结果
进行IPv4 Trace Route操作前,需要先在中间设备上执行ip ttl-expires enable命令开启ICMPv4超时报文的发送功能,并且在目的设备上执行ip unreachables enable命令开启ICMPv4目的不可达报文发送功能。
(1) 在导航栏中选择“网络 > 诊断工具”。
(2) 单击“IPv4 Trace Route”页签,进入如下图所示的页面。
(3) 在“目的IP地址或者主机名”文本框中输入Trace Route操作的目的IP地址或者主机名。
(4) 单击<开始>按钮开始执行IPv4 Trace Route操作。
(5) 在“信息”框中查看IPv4 Trace Route操作的输出结果,如下图所示。
进行IPv6 Trace Route操作前,需要先在中间设备上执行ipv6 hoplimit-expires enable命令开启ICMPv6超时报文的发送功能,并且在目的设备上执行ipv6 unreachables enable命令开启ICMPv6目的不可达报文发送功能。
(1) 在导航栏中选择“网络 > 诊断工具”。
(2) 单击“IPv6 Trace Route”页签,进入如下图所示的页面。
图16-7 IPv6 TraceRoute
(3) 在“目的IPv6地址或者主机名”文本框中输入IPv6 Trace Route操作的目的IPv6地址或者主机名。
(4) 单击<开始>按钮开始执行IPv6 Trace Route操作。
(5) 在“信息”框中查看IPv6 Trace Route操作的输出结果,如下图所示。
图16-8 IPv6 Trace Route操作结果
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!