banner功能提供给设备管理员一个配置提示信息的渠道,可以配置任意想要提示该设备其他使用者的信息。 一些不当的操作会影响到所有用户,甚至引起业务中断等严重后果。因而提前给出提示是非常必要的(例如,请勿重启该设备)。
目前支持三种选择:
本功能通过在终端上显示的提示信息,期望达到尽量减少人为误操作的目的。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建提示信息
用户可以创建一行或多行提示信息,这些信息将会显示在登录用户的终端上。该例子中第一个#号表示指定终止符为#号,也可以选用其他任何字符作为消息的起止符。在第一个#号之后输入需要的提示信息,全部输完以后再次输入一个#号。消息最多为99行,每行最多1023个字符。
Switch(config)# banner motd # This is a switch #
步骤3 退出配置模式
Switch(config)# exit
步骤4 检查配置
使用下列命令查看配置
switch# show running
banner motd ^C
This is a switch
^C
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建提示信息
用户可以创建一行或多行提示信息,在用户登录到系统的时候显示在终端上。请参考《用户管理配置》,必须使用login模式才会显示。该例子中第一个#号表示指定终止符为#号,也可以选用其他任何字符作为消息的起止符。在第一个#号之后输入需要的提示信息,全部输完以后再次输入一个#号。消息最多为99行,每行最多1023个字符。
banner login # admin login #
步骤3 退出配置模式
Switch(config)# exit
步骤4 检查配置
使用下列命令查看配置
switch# show running
banner login ^C
admin login
^C
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建提示信息
用户可以创建一行或多行提示信息,用户可以创建一行或多行提示信息,在用户进入exec模式时候显示在终端上。该例子中第一个#号表示指定终止符为#号,也可以选用其他任何字符作为消息的起止符。在第一个#号之后输入需要的提示信息,全部输完以后再次输入一个#号。消息最多为99行,每行最多1023个字符。
Switch(config)# banner exec # do not reboot! #
步骤3 退出配置模式
Switch(config)# exit
步骤4 检查配置
使用下列命令查看配置
switch# show running
banner exec ^C
do not reboot!
^C
将MOTD信息设置为“这是某某区域(部门)的交换机”,用户在连接到系统时就能看到该提示,如果因为IP地址错误而连错了设备,看到此条提示可以防止进一步误操作该设备。
配置过程
Switch# configure terminal
Switch(config)# banner motd # This is a switch of IT DEPARTMENT !!! #
Switch(config)# exit
配置文件
switch# show running
banner motd ^C
This is a switch of IT DEPARTMENT !!!
^C
用户管理功能可用来增加系统的安全性,用户可以通过密码来登录。系统会限制登录用户的数量。
交换机上有三种模式登录:
•“no login”模式:直接登录交换机并且不需要密码。
•“login”模式:需要输入密码登录交换机。
•“login local”模式,使用本地创建的用户名和密码登录交换机。支持32个账户,用户可以为每个用户名设置不同的密码。用户名最大长度为32个字符。在用户启用本地账户验证之前,必须提前创建一个账户。用户可以设置每个账户的等级,有效的等级1-4。
同一时刻只有一个用户可以进入配置模式。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建用户名和密码
Switch(config)# username testname privilege 4 password 123abc<>
步骤3 进入用户管理模式并设置验证模式,然后退出
Switch(config)# line vty 0 7
Switch(config-line)# login local
Switch(config-line)# exit
步骤4 退出配置模式
Switch(config)# exit
步骤5 检查配置
经过以上配置,登录交换机时,系统会首先提示用户输入用户名:
Username:
在输入用户名之后,会提示输入密码:
Username: testname
Password:
登录成功:
Password:
Switch#
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入用户管理模式并设置验证模式和登陆密码,然后退出
Switch(config)# line vty 0 7
Switch(config-line)# line-password abc
Switch(config-line)# login
步骤3 退出配置模式
Switch(config)# exit
步骤4 检查配置
经过以上配置后,登录交换机时系统会提示类似如下的验证信息,用户可以使用之前创建的密码来登录交换机。
Password:
用户忘记交换机密码的时候,可以用以下方法恢复:
步骤1 通过Console线连接交换机并加电,console显示如下
CPU: MPC8247 (HiP7 Rev 14, Mask 1.0 1K50M) at 350 MHz
Board: 8247 (PCI Agent Mode)
I2C: ready
DRAM: 256 MB
In: serial
Out: serial
Err: serial
Net: FCC1 ETHERNET, FCC2 ETHERNET [PRIME]
Press ctrl+b to stop autoboot: 3
步骤 2 按ctrl + b进入Uboot模式
Bootrom#
步骤 3 使用没有密码的空配置文件启动系统
Bootrom# boot_flash_nopass
Bootrom# Do you want to revert to the default config file ? [Y|N|E]:
请牢记您的用户名和密码。
忘记用户名和密码后通过串口恢复,可能会导致配置丢失及业务中断,所以请务必牢记您的用户名和密码。
无
用户可从FTP服务器下载一个交换机配置文件,或从交换机上传文件到FTP服务器上。 从FTP服务器下载一个交换机的配置文件以升级交换机的配置,只需用新的文件覆盖当前的启动配置文件即可。交换机配置文件上传到服务器可以起到备份作用,如后续需要,可下载到本交换机或者相同类型的交换机,以更新交换机的配置。
无
用户可以复制或上传文件到FTP服务器。
FTP协议要求FTP客户端每次发送FTP请求到服务器时都要包含远程用户名和密码。在用户开始使用FTP上传或下载一个配置文件前,必须完成以下操作:
•确保交换机到FTP服务器之间有一个可达路由。如果用户的网络中不存在子网间路由通信,交换机和FTP服务器就必须要在同一网络中,通过ping命令检查FTP服务器的连通性。
•如果用户正通过控制台或Telnet访问交换机,需确保当前的FTP用户名有效,是一个可以使用FTP下载功能的用户名。
•当用户上传配置文件到FTP服务器,用户必须正确配置FTP服务器以接受来自交换机用户的写请求。
更多相关信息请依据选用的FTP服务器,查看相关参考资料。
步骤1 拷贝配置文件
Switch# copy mgmt-if ftp://test:test@10.10.10.163/ startup-config.conf flash:/startup-config.conf
步骤2 检查配置
使用下列命令查看配置
Switch# show startup-config
步骤1 拷贝配置文件
Switch# copy flash:/startup-config.conf mgmt-if ftp://test:test@10.10.10.163/startup-config.conf
用户名和密码的配置与IPv4网络环境相同,不再赘述。
步骤1 拷贝配置文件
Switch# copy ftp://root: root@2001:1000::2/startup-config.conf flash:/startup-config.conf
用户名和密码的配置与IPv4网络环境相同,不再赘述。
步骤1 拷贝配置文件
Switch# copy flash:/startup-config.conf mgmt-if ftp://root:root@2001:1000::2 startup-config.conf
无
FTP(File Transfer Protocol)即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式,占用端口号为20和21。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。交换机可以配置为FTP服务端,为其它客户端提供FTP服务。
无
在配置FTP server前,必须完成以下操作:
•确保交换机到FTP server之间有一个可达路由。如果用户的网络中不存在子网间路由通信,交换机和FTP服务器就必须要在同一网络中,通过ping命令检查FTP服务器的连通性。
•确保端口打开,FTP server和client会在随机端口建立数据连接,需要确保端口状态打开。
•FTP server通过交换机配置的用户登录,需要配置登录用户。
步骤1 进入配置模式
Switch# configure terminal
步骤2 在管理口使能FTP server
Switch(config)# ftp server mgmt-if enable
步骤3 配置交换机系统用户
用户需要配置密码且权限为4
Switch(config)# username admin privilege 4 password admin
步骤4 检查配置
客户端连接FTP server并输入用户名和密码,其中server的管理口IP为10.10.10.10.
Switch# ftp mgmt-if 10.10.10.10
Connected to 10.10.10.10.
220---------- Welcome to FTP-SERVER ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 06:41. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (10.10.10.10:LOGIN): admin
331 User admin OK. Password required
Password:
230 OK. Current directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
配置FTP server监听端口,默认21端口
Switch# ftp server port 10000
配置FTP server静默时间,默认15分钟
Switch# ftp server time-out 5
指定FTP server带内模式源vrf或源IP。指定源IP为1.1.1.1,指定源vrf为test,指定vrf为test且IP为2.2.2.2
Switch# ftp server source address 1.1.1.1
Switch# ftp server source address vrf test 0.0.0.0
Switch# ftp server source address vrf test 2.2.2.2
无
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。 此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。
无
在进行上传下载之前,需要执行如下操作:
确保作为TFTP服务器的工作站配置正确。
确保Switch到TFTP服务器的路由可达。如果子网间不存在进行路由通信的路由器,交换机和TFTP服务器必须在同一网络中。ping命令可以检查是否能连接到TFTP服务器。
确保要下载的配置文件在TFTP服务器上的正确目录下。
下载操作,确保该文件的权限设置正确。
上传操作,如果要覆盖服务器上现有的文件(包括空文件),确保该文件的权限设置正确。
Switch# copy mgmt-if tftp://10.10.10.163/startup-config.conf flash:/startup-config.conf
Switch# copy flash:/startup-config.conf mgmt-if tftp://10.10.10.163/startup-config.conf
Switch# copy mgmt-if tftp://2001:1000::2/startup-config.conf flash:/startup-config.conf
Switch# copy flash:/startup-config.conf mgmt-if tftp://2001:1000::2/startup-config.conf
无
SCP(Secure Copy,安全拷贝)是SSH协议的一部分,是基于SSH协议的远程文件复制技术,包括从SCP服务器下载文件至本地,或者从本地上传文件至远端scp服务器。用户可以从远程SCP 服务器下载文件到本地来更新交换机的配置,也能够覆盖当前已经存在的文件。用户可以上传配置文件到server作为备份,这个备份也可用作其它同类型的交换机。
无
在进行上传下载之前,需要执行如下操作:
确保作为SCP服务器的工作站配置正确。
确保Switch到SCP服务器的路由可达。如果子网间不存在进行路由通信的路由器,交换机和SCP服务器必须在同一网络中。ping命令可以检查是否能连接到SCP服务器。
确保要下载的配置文件在SCP服务器上的正确目录下。
下载操作,确保该文件的权限设置正确。
上传操作,如果要覆盖服务器上现有的文件(包括空文件),确保该文件的权限设置正确。
Switch# copy mgmt-if scp://10.10.10.163/startup-config.conf flash:/startup-config.conf
Switch# copy flash:/startup-config.conf mgmt-if scp://10.10.10.163/startup-config.conf
Switch# copy mgmt-if scp://2001:1000::2/startup-config.conf flash:/startup-config.conf
Switch# copy flash:/startup-config.conf mgmt-if scp://2001:1000::2/startup-config.conf
无
Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程登录主机工作的能力。在终端用户的电脑上使用Telnet程序,用它连接到服务器。终端用户可以在Telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。通过Telnet程序,用户在本地就能控制服务器。要开始一个Telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
无
例1 IPv4网络
Switch# telnet 10.10.29.247
Entering character mode
Escape character is '^]'.
Switch #
例2 IPv6网络
Switch# telnet 2001:1000::71
Entering character mode
Escape character is '^]'.
Switch #
例1 IPv4网络
Switch# telnet mgmt-if 10.10.29.247
Entering character mode
Escape character is '^]'.
Switch #
例2 IPv6网络
Switch# telnet mgmt-if 2001:1000::2
Entering character mode
Escape character is '^]'.
Switch #
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能Telnet服务
Switch(config)# service telnet enable
步骤3 退出配置模式
Switch(config)# exit
无
安全shell(SSH)是一种协议,可为用户提供一个安全环境,远程连接到设备。当设备进行远程访问时,SSH提供了比Telnet更强大的加密功能,SSH支持数据加密标准(DES)加密算法,三重DES(3DES)加密算法,并且提供基于密码的用户认证。
无
SSH system application
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建一个key
Switch(config)# rsa key a generate
步骤3 从Flash里面取一个名字为a.pri的私钥
Switch(config)# rsa key a export url flash:/a.pri private ssh2
步骤4 从Flash里面取一个名字为a.pub的公钥
Switch(config)# rsa key a export url flash:/a.pub public ssh2
步骤5 退出配置模式
Switch(config)# exit
步骤1 进入配置模式
Switch# configure terminal
步骤2 导入一个名字为a.pub的公钥
Switch(config)# rsa key importKey import url flash:/a.pub public ssh2
步骤3 创建用户名密码
Switch(config)# username aaa privilege 4 password abc
步骤4 指定SSH用户名为aaa
Switch(config)# username aaa assign rsa key importKey
步骤5 退出配置模式
Switch(config)# exit
步骤1 在SSH客户端下载a.pri key
步骤2 连接交换机
[root@test1 tftpboot]# ssh -i a.pri aaa@10.10.39.101
aaa@10.10.39.101's password:
Switch#
无
为了保证与其他设备协调工作,用户需要将系统时间设置准确。在没有其他外部时间源的情况下,您可以在系统启动后手动的设置时间和日期。如果您还有其他的同步时间的方式,比如NTP,不建议您进行手动设置。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置时间和时区
Switch(config)# clock set datetime 11:30:00 10 26 2013
Switch(config)# clock set summer-time dst date 6 1 2013 02:00:00 10 31 2013 02:00:00 120
步骤3 退出配置模式
Switch(config)# exit
步骤4 检查配置
使用下列命令显示当前的时间日期信息
Switch# show clock detail
13:31:10 dst Sat Oct 26 2013
Time zone: (GMT + 08:00:00) beijing
Summer time starts at beijing 02:00:00 06/01/2013
Summer time ends at dst 02:00:00 10/31/2013
Summer time offset: 120 minutes
无
交换机的高级功能特性需要使用证书认证才可以使用,每台交换机有自己专属的证书来防止未授权的用户使用高级特性造成未知错误。一共有3类证书:Enterprise Base, Metro Service, and Metro Advanced。不同种类的证书包含不同的功能特性,用户可以根据需要来申请不同种类的证书。如果交换机没有证书,该交换机只能使用L2相关的功能特性。 不同的交换机不能共享同一份证书,为了能够获得指定交换机的证书,首先需要生成指定交换机的设备唯一标识符(UDI), 将UDI发送给设备商来申请该交换机的证书。获得证书后将其应用到对应交换机上即可。
无
步骤1 为当前交换机创建UDI并且发送到FTP服务器上
Switch# generate device identifier mgmt-if ftp://test:test@10.10.25.33/device.udi
步骤2 申请证书
将UDI文件发送给设备商,设备商将根据客户需求来生成相应的证书并发送给客户。
步骤3 使用证书
将证书从FTP 服务器拷贝到本地,然后重启系统。
Switch# copy mgmt-if ftp://test:test@10.10.25.33/device.lic flash:/device.lic
Switch# reload
必须重启交换机才能让证书生效。
如果交换机没有有效证书,只能使用L2相关功能特性
如果交换机有多张有效证书,则可以使用所有证书中包含的功能特性。
步骤4 命令验证
使用下列命令,显示当前的证书信息:
Switch# show license
License files:
======================================================================
flash:/ma.lic:
Created Time: Fri Dec 6 17:22:23 CST 2013
Vendor: switchVendor
Customer: switchCustomer
Device MAC: 00:1E:08:09:03:00
Feature Set: QINQ MVR ERPS MEF ETHOAM
VPWS VPLS HVPLS SMLK TPOAM
OSPF PIM_SM IGMP VRF MPLS
LDP BGP RSVP OSPF_TE EXTEND_ACL
PTP BFD SSM IPV6 OSPF6
PIM_SM6 MVR6 RIPNG TUNNEL_V6
RPC API服务给用户通过软件远程控制交换机的能力, 目前只支持JSON-RPC over HTTP 和HTTP基本认证。
RPC API 规范:
RPC API服务, 使用了标准的JSON-RPC规范。可以通过JSON RPC method: ‘executeCmds’执行交换机的CLI命令行。默认初始模式为EXEC(#)特权模式。
用户需要通过发送JSON-RPC (over HTTP)请求URL: http://:/command-api, 请求和返回的JSON-RPC格式如下:
JSON-RPC Request
{
"params":[ 命令参数
{
"format":"text", 期望命令返回格式, 可以是’text’或者’json’, 默认’text’
"version":1, 命令版本号
"cmds":[ 命令列表
"show run", 命令行1
"config t", 命令行2
"vlan database", 命令行3
"vlan 1-8", 命令行4
"interface eth-0-1", 命令行5
"switchport mode trunk", 命令行6
"switchport trunk allowed vlan add 2", 命令行7
"shutdown", 命令行8
"end", 命令行9
"show interface switchport" 命令行10
]
}
],
"jsonrpc":"2.0", JSON RPC协议版本号
"method":"executeCmds", 运行交换机CLI命令的方法
"id":"70853aff-af77-420e-8f3c-fa9430733a19" JSON RPC协议中的UID
}
JSON-RPC Response
{
"jsonrpc":"2.0", JSON RPC协议版本号
"id":"70853aff-af77-420e-8f3c-fa9430733a19", JSON RPC协议中的UID
"result":[ JSON RPC返回值列表
{
"sourceDetails":"version 5.1.6.fcs\n!\n …", 命令行1的返回值。
如果运行成功, 原始文本输出在”sourceDetails” 属性中。
"errorCode":-1003, 如果有错, 会输出在
"errorDesc":"unsupported command…", warnings/errorCode/errorDesc属性中。
"warnings":"% Invalid …",
JSON格式化对象也会输出到这里。
},
{ }, 命令行2的返回值。
{ }, 命令行3的返回值。
{ }, 命令行4的返回值。
{ }, 命令行5的返回值。
{ }, 命令行6的返回值。
{ }, 命令行7的返回值。
{ }, 命令行8的返回值。
{ }, 命令行9的返回值。
{
"sourceDetails":" Interface name : eth-0-1\n Switchport mode : trunk\n …\n"
} 命令行10的返回值。
]
}
Python Client代码示例
以pyjsonrpc库为例, 示例代码如下:
import pyjsonrpc
import json
http_client = pyjsonrpc.HttpClient(
url = "http://10.10.39.64:80/command-api",
username = "username",
password = "password"
)
cmds = {}
cmd_list = ["show run", "config t", "vlan database", "vlan 1-8", "interface eth-0-1", "switchport mode trunk", "switchport trunk allowed vlan add 2", "shutdown", "end", "show interface switchport"]
cmds['cmds'] = cmd_list
cmds['format'] = 'text'
cmds['version'] = 1
try:
response = http_client.call("executeCmds", cmds)
print("json response:");
json_result = json.dumps(response, indent=4)
print(json_result)
except Exception, e:
if e.code == 401:
print "Unauthorized user"
else:
print e.message
print e.data
错误码
下面列出了JSON-RPC 2.0的错误码:
错误码 |
描述 |
-32700 |
JSON 解析错误 |
-32600 |
无效请求 |
-32601 |
方法无效 |
-32602 |
无效参数 |
-32603 |
内部错误 |
下面列出了RPC-API的错误码:
错误码 |
描述 |
-1000 |
普通错误 |
-2001 |
不支持的JSON RPC API版本 |
-2002 |
JSON RPC中必须指定’params’ 和 ‘cmds’ |
-2003 |
不支持的JSON返回格式 |
-3001 |
命令执行错误: 超时 |
-3002 |
命令执行错误: 不支持该命令 |
-3003 |
命令执行错误: 该命令未授权 |
-3004 |
命令执行错误: 找不到该命令 |
-3005 |
命令执行错误: 不能够转换为JSON格式 |
-3006 |
命令执行错误: 命令行数目太少 |
-3007 |
命令执行错误: 命令行数目太多 |
用户可以按照下列步骤启用RPC API服务, 默认使用80端口。
步骤1 进入配置模式
Switch# configure terminal
步骤2 启动RPC API 服务
Switch(config)# service rpc-api enable
使用下列命令停止RPC API服务:
Switch(config)# service rpc-api disable
步骤3 退出配置模式
Switch(config)# end
用户可以配置RPC API服务器的HTTP认证。 目前只支持HTTP Basic基本认证, 用户认证失败将会返回401 状态码。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置用户名和密码,启用HTTP认证
Switch(config)# username myuser password mypass privilege 4
Switch(config)# service rpc-api auth-mode basic
使用下列命令关闭认证:
Switch(config)# no service rpc-api auth-mode
启用或关闭HTTP认证后, 用户需要手动重启RPC API服务, 或者重启交换机,配置才能生效。启用RPC API后会占用2个imish资源下发命令,当是有show users时RPC API占用imish的idle time一直是0。
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show services rpc-api
RPC API service configuration:
Server State : enable
Port : 80
Authentication Mode : basic
VRF : default
无
本章介绍交换机HTTP相关配置,便于通过WEB登录设备。
无
将一个合法的web镜像上传到flash:目录。 参考FTP或TFTP用法介绍。
步骤1 进入配置模式
Switch# configure terminal
步骤2 加载WEB镜像
Switch(config)# http server load flash:/webImage.bin
步骤3 配置HTTP服务器地址 (可选)
此步骤用于配置Web服务器的源地址,仅支持环回口地址。 Web服务器的源地址指定以后,只能通过该地址登陆web。 如不指定Web服务器的源地址,可使用telnet登陆设备时相同的IP地址来登陆web。 不管是否指定,都需要在设备和PC客户端之间有路由可达。
Switch(config)# interface loopback 0
Switch(config-if)# ip address 192.168.1.100/32
Switch(config-if)# quit
Switch(config)# http server source address 192.168.1.100
This operation will cause all the online HTTP(S) users to be offline.
Continue? [yes/no]: yes
Switch(config)# ip route 0.0.0.0/0 192.168.1.1
步骤4 使能HTTP服务
Switch(config)# service http enable
This operation will cause all the online HTTP(S) users to be offline.
Continue? [yes/no]: yes
步骤5 退出配置模式
Switch(config)# exit
步骤6 通过浏览器登录web页面
在地址栏输入设备IP地址,登录页面。
无
端口支持手工打开和关闭,支持配置速率和双工模式。
当端口状态为“打开”状态时,正确的连接线缆即可正常工作。当端口状态为“关闭”状态时,无论是否连接线缆,端口都是不工作的。
部分设备版型支持Combo端口(光电复用),用户可根据实际组网情况选择其中的一个使用,但两者不能同时工作,当激活其中的一个端口时,另一个端口就自动处于禁用状态。当combo端口工作在光口模式下时,配置速度或双工是无效的。
设备物理端口的命名与编号方式:接口名为eth-[slot]-[port]; [slot]即槽位号,盒式交换机单板槽位号为0,stacking状态下根据配置决定。[port]即端口号,编号从1开始,从上至下,从左至右排序。参见下图示意:
Interface Name
设备支持的端口类型及数量,请参考产品spec。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 打开一个端口
Switch#(config)# interface eth-0-1
Switch(config-if)# no shutdown
步骤3 关闭一个端口
Switch(config-if)# interface eth-0-2
Switch(config-if)# shutdown
步骤4 退出配置模式
Switch(config-if)# end
步骤5 检查配置
使用下列命令显示端口的状态:
Switch# show interface status
Port Status Duplex Speed Mode Type
------------------------------------------------------------
eth-0-1 up a-full a-1000 access 1000BASE_T
eth-0-2 admin down auto auto access 1000BASE_T
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口模式并配置速率
配置端口1速率为100M
Switch(config)# interface eth-0-1
Switch(config-if)# speed 100
Switch(config-if)# no shutdown
配置端口2速率为1000M
Switch(config-if)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# speed 1000
配置端口3速率为自适应模式
Switch(config-if)# interface eth-0-3
Switch(config-if)# no shutdown
Switch(config-if)# speed auto
步骤3 退出配置模式
Switch(config-if)# end
步骤4 命令验证
使用下列命令,显示端口状态:
Switch# show interface status
Port Status Duplex Speed Mode Type
------------------------------------------------------------
eth-0-1 up a-full 100 access 1000BASE_T
eth-0-2 up a-full 1000 access 1000BASE_T
eth-0-3 up a-full a-1000 access 1000BASE_T
设置端口的双工模式时存在三种情况:
用户可以根据实际组网情况选择端口的双工模式。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口模式并配置duplex
配置端口1为全双工
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# duplex full
配置端口2为半双工
Switch(config-if)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# duplex half
配置端口3为自适应
Switch(config)# interface eth-0-3
Switch(config-if)# no shutdown
Switch(config-if)# duplex auto
步骤4 命令验证
使用下列命令,显示端口状态:
Switch# show interface status
Port Status Duplex Speed Mode Type
------------------------------------------------------------
eth-0-1 up full a-1000 access 1000BASE_T
eth-0-2 up half a-100 access 1000BASE_T
eth-0-3 up a-full a-1000 access 1000BASE_T
无
对于接口组中的接口,任一接口配置完速率模式后,同一接口组内的所有接口都会被配置相同的速率。
无
设置接口组端口速率时需要知道哪些端口属于接口组,哪些端口是在一个接口组内;不属于接口组内的端口需要使用speed命令设置端口的速率模式,属于接口组内的端口需要使用group-speed命令设置端口的速率模式。
如果端口group-id等于0,表示端口不属于接口组,不等于0表示端口属于接口组,group-id相等的端口则属于同一接口组。
步骤1 显示端口接口组信息
使用下列命令,显示端口接口组信息:
Switch# show group-id info
Group Id Member Ports
-----------+--------------------
0 eth-0-1 eth-0-2
eth-0-3 eth-0-4
eth-0-5 eth-0-6
eth-0-7 eth-0-8
eth-0-9 eth-0-10
eth-0-11 eth-0-12
eth-0-13 eth-0-14
eth-0-15 eth-0-16
eth-0-17 eth-0-18
eth-0-19 eth-0-20
eth-0-21 eth-0-22
eth-0-23 eth-0-24
eth-0-25 eth-0-26
eth-0-27 eth-0-28
eth-0-29 eth-0-30
eth-0-31 eth-0-32
eth-0-33 eth-0-34
eth-0-35 eth-0-36
eth-0-37 eth-0-38
eth-0-39 eth-0-40
eth-0-41 eth-0-42
eth-0-43 eth-0-44
eth-0-45 eth-0-46
eth-0-47 eth-0-48
----------------------------------
1 eth-0-49 eth-0-50
eth-0-51 eth-0-52
Switch#
步骤2 配置接口组速率
Switch# configure terminal
Switch(config)# interface eth-0-49
Switch(config-if)# group-speed 1000
% Warning: Speed of Port eth-0-49, eth-0-50, eth-0-51, eth-0-52 will all be switched to 1000M after entering this CLI
无
系统支持3种类型的三层接口:
每一个三层接口都至少会拥有一个IP地址,所有三层接口都需要一个IP地址进行路由,此文档描述如何配置三层接口,以及如何分配一个IP地址到接口。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口配置模式并设置三层接口、配置IP地址
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 1.1.1.1/24
步骤3 退出配置模式
Switch(config-if)# end
步骤4 检查配置
使用下列命令,显示端口摘要信息:
Switch# show ip interface brief
Interface IP-Address Status Protocol
eth-0-1 1.1.1.1 up up
Switch# show ip interface
Interface eth-0-1
Interface current state: UP
Internet address(es):
1.1.1.1/24 broadcast 1.1.1.255
Joined group address(es):
224.0.0.1
The maximum transmit unit is 1500 bytes
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are always sent
ARP timeout 01:00:00, ARP retry interval 1s
VRRP master of: VRRP is not configured on this interface
在一个以太网接口上可以配置多个虚拟VLAN接口,一旦创建,任何VLAN接口和物理接口功能相同,它们可以像任何物理接口一样进行配置和显示。动态路由协议,如:RIP、OSPF和BGP,都可以在整个网络使用VLAN接口。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan模式创建一个vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# exit
步骤3 进入端口配置模式并设置二层端口属性
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤4 进入vlan接口模式,配置IP地址
Switch(config)# interface vlan10
Switch(config-if)# ip address 2.2.2.2/24
步骤5 退出配置模式
Switch(config-if)# end
步骤6 检查配置
使用下列命令,显示端口摘要信息:
Switch# show ip interface brief
Interface IP-Address Status Protocol
vlan10 2.2.2.2 up up
Switch# show ip interface
Interface vlan10
Interface current state: UP
Internet address(es):
2.2.2.2/24 broadcast 2.2.2.255
Joined group address(es):
224.0.0.1
The maximum transmit unit is 1500 bytes
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are always sent
ARP timeout 01:00:00, ARP retry interval 1s
VRRP master of : VRRP is not configured on this interface
Errdisable是一种通过关闭异常接口来保护系统的机制。
如果一个接口进入Errdisable状态,有两种方法从errdisabled状态恢复。
•第一个方法是在Errdisable检测之前使能Errdisable恢复,接口在被设定的时间之后自动恢复。但如果Errdisable先发生,然后Errdisable恢复功能才使能,Errdisable将不会自动恢复。
•第二个方法是在Errdisable接口上配置“no shutdown”命令。
接口链路状态的摆动是潜在的硬件或线路问题造成的错误。管理员可以配置接口的链路摆动的检测条件,用来抑制链路摆动。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能检测链路摆动抑制errdisable
Switch(config)# errdisable detect reason link-flap
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令,显示error disable 检查的配置:
Switch# show errdisable detect
ErrDisable Reason Detection status
----------------- ----------------
bpduguard Enabled
bpduloop Enabled
link-monitor-failure Enabled
oam-remote-failure Enabled
port-security Enabled
link-flap Enabled
monitor-link Enabled
udld Disabled
fdb-loop Disabled
loopback-detection Enabled
reload-delay Enabled
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能Errdisable并设置恢复时间段
Switch(config)# errdisable recovery reason link-flap
Switch(config)# errdisable recovery interval 30
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令,显示error disable恢复配置:
Switch# show errdisable recovery
ErrDisable Reason Timer Status
----------------- --------------
bpduguard Disabled
bpduloop Disabled
link-monitor-failure Disabled
oam-remote-failure Disabled
port-security Disabled
link-flap Enabled
udld Disabled
fdb-loop Disabled
loopback-detection Disabled
Timer interval: 30 seconds
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置链路抖动的条件
Switch(config)# errdisable flap reason link-flap 20 60
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令,显示error disable摆动抑制的配置:
Switch# show errdisable flap
ErrDisable Reason Flaps Time (sec)
----------------- ------ ----------
link-flap 20 60
管理员可以通过两种命令来检查接口errdisable状态。
例1 链路摆动抑制errdisable使能
如果errdisable使能恢复,命令行将显示恢复所剩时间,否则将显示没有恢复。
Switch# show errdisable recovery
ErrDisable Reason Timer Status
----------------- --------------
bpduguard Disabled
bpduloop Disabled
link-monitor-failure Disabled
oam-remote-failure Disabled
port-security Disabled
link-flap Enabled
udld Disabled
fdb-loop Disabled
loopback-detection Disabled
Timer interval: 300 seconds
Interfaces that will be enabled at the next timeout:
Interface Errdisable Reason Time Left(sec)
--------- ----------------- --------------
eth-0-3 link-flap 25
例2 链路摆动抑制 errdisable去使能
Switch# show errdisable recovery
ErrDisable Reason Timer Status
----------------- --------------
bpduguard Disabled
bpduloop Disabled
link-monitor-failure Disabled
oam-remote-failure Disabled
port-security Disabled
link-flap Disabled
udld Disabled
fdb-loop Disabled
loopback-detection Disabled
Timer interval: 300 seconds
例3 接口状态命令显示简短的信息来表示接口的errdisable状态
Switch# show interface status
Port Status Duplex Speed Mode Type Description
-----------------------------------------------------------------------------
eth-0-1 up a-full a-1000 TRUNK 1000BASE_SX
eth-0-2 down auto auto TRUNK Unknown
eth-0-3 errdisable a-full a-1000 TRUNK 1000BASE_SX
eth-0-4 down auto auto ACCESS Unknown
无
MAC地址表中包含交换机端口之间转发流量的地址信息。地址表包括地址类型如下:
•动态地址:根据交换机的源地址学习,如果该地址在老化时间后未学习到,进入老化状态。我们只支持IVL的学习模式。
•静态地址:由管理员手动添加源地址。
以下是用来形容MAC地址表中的术语和概念的简要描述:
•IVL:独立VLAN学习:对于一个给定的VLAN,如果某个特定的MAC地址是在一个VLAN学习的,它不能被作为任何其他VLAN地址转发决策。
•SVL:共享VLAN学习:对于一个给定的VLAN,如果某个特定的MAC地址是在一个VLAN中学习的,它可以作为任何其他VLAN地址转发决策。
参考:IEEE 802.1D,IEEE 802.1Q
无
Mac address aging
老化时间不是精确的时间。如果老化时间设置为N,动态地址将在N - 2N间隔后老化。默认的老化时间为300秒。
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置动态地址老化时间
Switch(config)# mac-address-table ageing-time 10
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令,显示动态地址老化时间:
Switch# show mac address-table ageing-time
MAC address table ageing time is 10 seconds
Static mac address table
单播地址表只能绑定在一个端口上.如图所示,mac-da 0000.1234.5678 转发出口为eth-0-1。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置静态mac地址表
Switch(config)# mac-address-table 0000.1234.5678 forward eth-0-1 vlan 1
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令查看mac地址表:
Switch# show mac address-table
Mac Address Table
-------------------------------------------
(*) - Security Entry
Vlan Mac Address Type Ports
---- -------------- ------- --------
1 0000.1234.5678 static eth-0-1
Static multicast mac address table
组播地址可以绑定在多个端口上。如图所示,eth-0-1和eth-0-2都加入了mac地址为0100.0000.0000的组播。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置静态组播mac地址表
Switch(config)# mac-address-table 0100.0000.0000 forward eth-0-1 vlan 1
Switch(config)# mac-address-table 0100.0000.0000 forward eth-0-2 vlan 1
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令查看mac地址表:
Switch# show mac address-table
Mac Address Table
-------------------------------------------
(*) - Security Entry
Vlan Mac Address Type Ports
---- -------------- ------- -------
1 0100.0000.0000 static eth-0-1
eth-0-2
mac address filter
MAC过滤会丢弃那些源或目的地址设置为丢弃数据帧。MAC过滤的优先级高于MAC地址。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置需要丢弃的mac地址表
Switch(config)# mac-address-table 0000.1234.5678 discard
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令查看mac地址过滤表:
Switch# show mac-filter address-table
MAC Filter Address Table
----------------------------------
Current count : 1
Max count : 128
Left count : 127
Filter address list :
----------------------------------
0000.1234.5678
mac address filter with VLAN
MAC过滤会丢弃那些源或目的地址匹配设置的MAC,并且VLAN也匹配的数据帧。MAC过滤的优先级高于MAC地址。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建VLAN
Switch(config)# vlan 2
步骤3 退出VLAN视图
Switch(config-vlan)# exit
步骤4 配置需要丢弃的mac地址表
Switch(config)# mac-address-table 0000.1234.5678 discard vlan 2
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用下列命令查看指定VLAN的mac地址过滤表:
Switch# show mac address-table blackhole
Mac Address Table
-------------------------------------------
(*) - Security Entry (M) - MLAG Entry
(MO) - MLAG Output Entry (MI) - MLAG Input Entry
(E) - EVPN Entry (EO) - EVPN Output Entry
(EI) - EVPN Input Entry
Vlan Mac Address Type Ports
---- ----------- -------- -----
2 0000.1234.5678 blackhole drop
无
VLAN(虚拟局域网)是一个逻辑上分割成不同广播域的网络,使数据包只能在被指定为同一个VLAN的端口之间进行交换。每个VLAN都被视为一个逻辑网络,目的地不属于同一个VLAN的数据包必须通过路由转发。
参考IEEE 802.1Q
根据以下术语来描述VLAN:
•VID:VLAN标识符
•LAN:本地局域网
•VLAN:虚拟局域网
•PVID:Port Vlan ID,也就是端口的虚拟局域网ID号,关系到端口收发数据帧时的VLAN TAG 标记
Tagged Frame:带有4字节的VLAN标签,如下图所示:
Tagged Frame
Trunk 链路:带TAG帧和不带TAG帧都可以在此链路上传输,Trunk允许多个VLAN在链路上转发,具体如下图所示:
Trunk link
Access链路:只有不带TAG的帧能通过ACCESS链路,Access链路只能连接网络的边缘, 也就是所谓的工作站,具体如下图所示:
Access link
Access link
Access端口只接收未标记的帧,传输不带TAG的帧。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2
Switch(config-vlan)# exit
步骤3 进入端口模式设置端口模式并指定相应的vlan
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 2
步骤4 退出配置模式
Switch(config-if)# end
步骤5 检查配置
使用下列命令显示交换机接口的信息:
Switch# show interface switchport interface eth-0-1
Interface name : eth-0-1
Switchport mode : access
Ingress filter : enable
Acceptable frame types : vlan-untagged only
Default Vlan : 2
Configured Vlans : 2
使用下列命令显示vlan的简要配置信息:
Switch# show vlan brief
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= ================ ======= ======= ========================
1 default ACTIVE 0 eth-0-2(u) eth-0-3(u)
eth-0-4(u) eth-0-5(u)
eth-0-6(u) eth-0-7(u)
eth-0-8(u) eth-0-9(u)
eth-0-10(u) eth-0-11(u)
eth-0-12(u) eth-0-13(u)
eth-0-14(u) eth-0-15(u)
eth-0-16(u) eth-0-17(u)
eth-0-18(u) eth-0-19(u)
eth-0-20(u) eth-0-21(u)
eth-0-22(u) eth-0-23(u)
2 VLAN0002 ACTIVE 0 eth-0-1(u)
Trunk端口能接收标记、无标记的、优先级标记的帧,并发送未标记和标记的帧。如果端口收到一个未标记的帧,此帧将分配端口的PVID为VLAN ID;如果一个帧的VID与端口的PVID相等,此帧发送时会剥掉VLAN标签。
Trunk link
组网如上拓扑所示。
以下配置步骤,Switch1和Switch2相同。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10,20
Switch(config-vlan)# exit
步骤3 进入端口模式设置端口模式并指定相应的vlan
eth-0-1 本地vlan为10,允许所有vlan通过
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# switchport trunk native vlan 10
Switch(config-if)# exit
eth-0-2为access模式,加入vlan 10
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# exit
步骤4 退出配置模式
Switch(config-if)# end
步骤5 检查配置
使用下列命令显示交换机接口的信息:
Switch# show interface switchport
Interface name : eth-0-1
Switchport mode : trunk
Ingress filter : enable
Acceptable frame types : all
Default Vlan : 10
Configured Vlans : 1 10 20
Interface name : eth-0-2
Switchport mode : access
Ingress filter : enable
Acceptable frame types : vlan-untagged only
Default Vlan : 10
Configured Vlans : 10
使用下列命令显示vlan的简要配置信息:
Switch# show vlan brief
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= ================ ======= ======= ========================
1 default ACTIVE 0 eth-0-1(t) eth-0-3(u)
eth-0-4(u) eth-0-5(u)
eth-0-6(u) eth-0-7(u)
eth-0-8(u) eth-0-9(u)
eth-0-10(u) eth-0-11(u)
eth-0-12(u) eth-0-13(u)
eth-0-14(u) eth-0-15(u)
eth-0-16(u) eth-0-17(u)
eth-0-18(u) eth-0-19(u)
eth-0-20(u) eth-0-21(u)
eth-0-22(u) eth-0-23(u)
10 VLAN0010 ACTIVE 0 eth-0-1(t) eth-0-2(u)
20 VLAN0020 ACTIVE 0 eth-0-1(t)
无
随着语音技术的日益发展,IP电话、IAD(Integrated Access Device,综合接入设备)应用越来越广泛,尤其在宽带小区,网络中经常同时存在语音数据和业务数据两种流量。语音数据在传输时需要具有比业务数据更高的优先级,以减少传输过程中可能产生的时延和丢包现象。
提高语音数据传输优先级的传统处理方法是使用ACL对语音数据进行区分,并使用QoS保证传输质量。为简化用户配置、更方便的管理语音流的传输策略,设备机提供了Voice VLAN功能。Voice VLAN的主要特点就是可以通过报文的源MAC地址自动识别出语音流量,保证语音流量传输。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2
Switch(config-vlan)# exit
步骤3 设置voice vlan的cos值(可选)
默认值是5。
Switch(config)# voice vlan set cos to 7
步骤4 指定voice vlan,添加voice vlan的mac 条目
Switch(config)# voice vlan 2
Switch(config)# voice vlan mac-address 0055.0000.0000 ffff.ff00.0000 description test
步骤5 进入端口配置模式,配置端口属性并启用 voice vlan
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# voice vlan enable
Switch(config-if)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
步骤6 检查配置
向eth-0-1发送报文,报文格式为(Vlan tag字段当中的priority为0):
0x0000: 0000 0a02 0001 0055 0000 0011 8100 0002 ........k.......
0x0010: 0800 aadd aadd aadd aadd aadd aadd aadd ................
0x0020: aadd aadd aadd aadd aadd aadd aadd aadd ................
0x0030: aadd aadd aadd aadd aadd aadd ............
在eth-0-2接收报文,收到报文的格式为(vlan tag字段当中的priority被修改为了5):
0x0000: 0000 0a02 0001 0055 0000 0011 8100 a002 ........k.......
0x0010: 0800 aadd aadd aadd aadd aadd aadd aadd ................
0x0020: aadd aadd aadd aadd aadd aadd aadd aadd ................
0x0030: aadd aadd aadd aadd aadd aadd ............
无
VLAN分类是基于协议或子网标准的具体规则将数据包发送到选定的VLAN。每一个接口可以应用一种规则集。
VLAN分类规则有3种类型:基于MAC、基于IP和基于协议的分类。基于MAC的VLAN分类规则是根据传入数据包的源MAC地址将数据包进行分类;基于IP的VLAN分类规则将根据传入数据包的源IP地址进行分类;基于协议的VLAN分类规则将根据数据包的三层协议类型进行分类,以下三层类型可以支持ARP、IP(V4)、MPLS、MCAST MPLS、PPPoE协议和RARP。
不同类型的VLAN分类规则,可以添加到同一VLAN的分类组。只有一个VLAN分类规则可以在一个交换机端口生效。
无
vlan classification
在下面配置的例子中,创建三个VLAN分类规则:
第1条是基于MAC的规则,它将源MAC 2222.2222.2222 分类到VLAN 5;
第2条是基于IP的规则,它将源IP 1.1.1.1 分类到VLAN 5;
第3条是基于协议的规则,它将ARP的协议数据包分类到VLAN 5。
把规则1,2,3加入到组31,并且在三个接口上应用组31。在eth-0-1、eth-0-2和eth-0-3三个接口上应用不同的分类策略。eth-0-1 基于IP分类,意味着匹配IP的数据包在这个接口上将转发到规则对应的VLAN。
eth-0-2 基于MAC分类,意味着匹配MAC地址的数据包将转发到规则对应的VLAN。eth-0-3 基于协议的分类,意味着匹配协议的数据包将转发到规则对应的VLAN。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 5
Switch(config-vlan)# vlan 6
Switch(config-vlan)# exit
步骤3 创建分类规则,并把规则加到组里
Switch(config)# vlan classifier rule 1 mac 2222.2222.2222 vlan 5
Switch(config)# vlan classifier rule 2 ip 1.1.1.1 vlan 5
Switch(config)# vlan classifier rule 3 protocol arp vlan 5
Switch(config)# vlan classifier group 31 add rule 1
Switch(config)# vlan classifier group 31 add rule 2
Switch(config)# vlan classifier group 31 add rule 3
步骤4 在端口应用
端口eth-0-1:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 6
Switch(config-if)# switchport access allowed vlan add 5
Switch(config-if)# vlan classifier activate 31 based ip
Switch(config-if)# exit
端口eth-0-2:
Switch(config)# interface eth-0-2
Switch(config-if)# switchport access vlan 6
Switch(config-if)# switchport access allowed vlan add 5
Switch(config-if)# vlan classifier activate 31 based mac
Switch(config-if)# exit
端口eth-0-3:
Switch(config)# interface eth-0-3
Switch(config-if)# switchport access vlan 6
Switch(config-if)# switchport access allowed vlan add 5
Switch(config-if)# vlan classifier activate 31 based protocol
Switch(config-if)# exit
端口eth-0-6:
Switch(config)# interface eth-0-6
Switch(config)#switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 5
Switch(config-if)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
验证VLAN分类规则:
Switch# show vlan classifier rule
vlan classifier rule 1 mac 2222.2222.2222 vlan 5
vlan classifier rule 2 ip 1.1.1.1 vlan 5
vlan classifier rule 3 protocol arp vlan 5
验证VLAN分类规则组:
Switch# show vlan classifier group
vlan classifier group 31 add rule 1
vlan classifier group 31 add rule 2
vlan classifier group 31 add rule 3
验证VLAN分类规则接口应用:
Switch# show vlan classifier interface grou
vlan classifier group 31 on interface eth-0-2, based mac
vlan classifier group 31 on interface eth-0-1, based ip
vlan classifier group 31 on interface eth-0-3, based protocol
无
服务供应商的业务客户往往有特定的VLAN ID的要求,同一个网络服务提供商的不同客户的要求的VLAN可能会重叠,并且通过服务商设备的用户流量也可能会混合。通过给每一个客户分配不同的VLAN ID来映射自己的VLAN ID,能够将不同应用的客户的通讯相分开。
使用VLAN转换功能,服务提供商可以使用一系列的VLAN来服务拥有自己VLAN ID的客户。客户VLAN ID被转换,来自不同应用的客户的流量在服务提供商的设备上被分开,甚至当他们出现在同一VLAN。
QinQ技术通过在以太帧中堆叠两个802.1Q包头,有效地扩展了VLAN数目,使VLAN的数目最多可达4096 × 4096个。同时,多个VLAN能够被复用到一个核心VLAN中。ISP通常为每个客户建立一个VLAN模型,用通用属性注册协议/通用VLAN注册协议(GARP/GVRP)自动监控整个主干网络的VLAN,并通过扩展生成树协议(STP)来加快网络收敛速度,从而为网络提供弹性。 QinQ技术作为初始的解决方案是不错的,但随着用户数量的增加,SVLAN模型也会带来可扩展性的问题。因为有些用户可能希望在分支机构间进行数据传输时可以携带自己的VLAN ID,这就使采用QinQ技术的MSP面临以下两个问题:第一,第一名客户的VLAN标识可能与其他客户冲突;第二,服务提供商将受到客户可使用标识数量的严重限制。如果允许用户按他们自己的方式使用各自的VLAN ID空间,那么核心网络仍存在4096个VLAN的限制。
QinQ Tunnel
QinQ是指将用户私网VLAN tag封装在公网VLAN tag中,使报文带着两层VLAN tag穿越运营商的骨干网络(公网)。在公网中报文只根据外层VLAN tag(即公网VLAN tag)传播,用户的私网VLAN tag被屏蔽。这样,不仅对数据流进行了区分,而且由于私网VLAN标签被透明传送,不同的用户VLAN标签可以重复使用,只需要外层VLAN标签的在公网上唯一即可,实际上也扩大了可利用的VLAN标签数量。 封装外层VLAN标签有两种方法,一种是标准QINQ封装,即基于端口打外层标签的,该端口下所有的用户数据统一封装一个共同的VLAN标签,在实际应用中局限性太大,另外一种是灵活QINQ封装方法,既可以根据一些特性对用户数据进行流分类,然后不同的类别封装不同的外层VLAN标签。
无
vlan mapping
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2,3
Switch(config-vlan)# exit
步骤3 创建EVC并关联 vlan
Switch(config)# ethernet evc evc_c1
Switch(config-evc)# dot1q mapped-vlan 2
Switch(config)# ethernet evc evc_c2
Switch(config-evc)# dot1q mapped-vlan 3
步骤4 创建vlan mapping表,并将vlan映射到evc
Switch(config)# vlan mapping table vm
Switch(config-vlan-mapping)# raw-vlan 10 evc evc_c1
Switch(config-vlan-mapping)# raw-vlan 20 evc evc_c2
Switch(config-vlan-mapping)# exit
步骤5 在接口使能vlan translation并应用vlan mapping表
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk vlan-translation
Switch(config-if)# switchport trunk vlan-translation mapping table vm
Switch(config-if)# switchport trunk allowed vlan add 2,3
Switch(config-if)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 2,3
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
使用下列命令显示端口配置:
Switch# show interface switchport interface eth-0-1
Interface name : eth-0-1
Switchport mode : trunk
VLAN traslation : enable
VLAN mapping table : vm
Ingress filter : enable
Acceptable frame types : all
Default Vlan : 1
Configured Vlans : 1 2 3
使用下列命令显示vlan mapping表:
Switch# show vlan mapping table
Table Name EVC Name Mapped VLAN Raw VLAN
================ ================ =========== =======================
vm evc_c1 2 10
evc_c2 3 20
QinQ Tunnel
步骤1 进入配置模式
Switch# configure terminal
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode dot1q-tunnel
步骤3 退出配置模式
Switch(config-if)# end
步骤4 检查配置
这个例子显示了如何配置一个基本的802.1q隧道口的交换机端口。可用显示命令显示接口上的配置:
Switch# show interface switchport interface eth-0-1
Interface name : eth-0-1
Switchport mode : dot1q-tunnel(basic)
Ingress filter : enable
Acceptable frame types : all
Default Vlan : 1
Configured Vlans : 1
QinQ Tunnel
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2,3,20,30
Switch(config-vlan)# exit
步骤3 创建EVC并关联vlan
Switch(config)# ethernet evc evc_c1
Switch(config-evc)# dot1q mapped-vlan 2
Switch(config)# ethernet evc evc_c2
Switch(config-evc)# dot1q mapped-vlan 3
Switch(config)# ethernet evc evc_c3
Switch(config-evc)# dot1q mapped-vlan 20
Switch(config)# ethernet evc evc_c4
Switch(config-evc)# dot1q mapped-vlan 30
Switch(config-evc)# exit
步骤4 创建vlan mapping表,并关联EVC
Switch(config)# vlan mapping table vm
Switch(config-vlan-mapping)# raw-vlan 10 evc evc_c1
Switch(config-vlan-mapping)# raw-vlan 30-40 evc evc_c2
Switch(config-vlan-mapping)# raw-vlan untagged evc evc_c3
Switch(config-vlan-mapping)# raw-vlan out-of-range evc evc_c4
Switch(config-vlan-mapping)# exit
步骤5 配置端口属性,设置为灵活QinQ并使用Vlan Mapping表
eth-0-1:
Switch(config-if)# switchport mode dot1q-tunnel
Switch(config-if)# switchport dot1q-tunnel type selective
Switch(config-if)# switchport dot1q-tunnel vlan mapping table vm
Switch(config-if)# switchport dot1q-tunnel allowed vlan add 2,3,20,30
eth-0-2:
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 2,3,20,30
步骤6 退出配置模式
Switch(config-if)# end
步骤7 检查配置
这个例子显示了如何配置一个灵活QINQ。可用显示命令显示接口上的配置。 注意:如果eth-0-1的tpid和eth-0-2的tpid不同,用户需要全局启用qos并且将eth-0-2设置为replace cos来替换从eth-0-2出去的stag的tpid:
Switch# show interface switchport interface eth-0-1
Interface name : eth-0-1
Switchport mode : dot1q-tunnel(selective)
VLAN mapping table : vm
Ingress filter : enable
Acceptable frame types : all
Default Vlan : 1
Configured Vlans : 1 2 3 20 30
使用下列命令行显示vlan mapping表:
Switch# show vlan mapping table
Table Name EVC Name Mapped VLAN Raw VLAN
================ ================ =========== ===========================
vm evc_c1 2 10
evc_c2 3 30-40
evc_c3 20 untagged
evc_c4 30 out-of-range
QinQ Tunnel
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2,3,10,20,30
Switch(config-vlan)# exit
步骤3 创建EVC并关联vlan
Switch(config)# ethernet evc evc_c1
Switch(config-evc)# dot1q mapped-vlan 2
Switch(config-evc)# exit
Switch(config)# ethernet evc evc_c2
Switch(config-evc)# dot1q mapped-vlan 3
Switch(config-evc)# exit
Switch(config)# ethernet evc evc_c3
Switch(config-evc)# dot1q mapped-double-vlan 10 20
Switch(config-evc)# exit
Switch(config)# ethernet evc evc_c4
Switch(config-evc)# dot1q mapped-vlan 30
Switch(config-evc)# exit
步骤4 创建vlan mapping表,并关联EVC
Switch(config)# vlan mapping table vm
Switch(config-vlan-mapping)# raw-vlan 10 evc evc_c1
Switch(config-vlan-mapping)# raw-vlan 30-40 evc evc_c2
Switch(config-vlan-mapping)# raw-vlan untagged evc evc_c3
Switch(config-vlan-mapping)# raw-vlan out-of-range evc evc_c4
Switch(config-vlan-mapping)# raw-vlan 10 20 egress-vlan untag
Switch(config-vlan-mapping)# exit
步骤5 配置端口属性,设置为灵活QinQ并使用Vlan Mapping表
eth-0-1:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode dot1q-tunnel
Switch(config-if)# switchport dot1q-tunnel type selective
Switch(config-if)# switchport dot1q-tunnel vlan mapping table vm
Switch(config-if)# switchport dot1q-tunnel native inner-vlan 10
Switch(config-if)# switchport dot1q-tunnel allowed vlan add 2,3,20,30
Switch(config-if)# exit
eth-0-2:
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 2,3,20,30
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
这个例子显示了如何配置一个灵活QINQ。可用显示命令显示接口上的配置:
Switch# show interface switchport interface eth-0-1
Interface name : eth-0-1
Switchport mode : dot1q-tunnel(selective)
VLAN mapping table : vm
Ingress filter : enable
Acceptable frame types : all
Default Vlan : 10
Configured Vlans : 1 2 3 20 30
使用下列命令行显示vlan mapping表:
Table Name EVC Name Mapped VLAN Raw VLAN
================ ================ =========== =================================
vm evc_c1 2 10
evc_c2 3 30-40
evc_c3 20(10) untagged
evc_c4 30 out-of-range
无
本章包含了一个链路聚合控制协议(LACP)配置示例。LACP协议是基于802.3ad的IEEE规范。它允许多个物理接口的捆绑,形成一个单一的逻辑通道,提供增强的性能和冗余。聚合接口被视为单一链路接到每个交换机上。生成树将它视为一个接口。当有一个物理接口出现故障,其他接口正常连接,链路不会中断。此实现在单一的逻辑通道上支持最多16个物理以太网链路。 LACP协议使我们的设备可以管理与符合802.3ad的协议的其他设备之间的链接聚合组。使用LACP协议,交换机学习支持LACP成员识别的每个端口的能力。然后,具有相同的属性动态组端口捆绑到一个单一逻辑链路。
参考:LACP基于IEEE 802.3ad标准协议。
无
Dynamic LACP
Switch1 和 Switch2 配置如下:
步骤1 进入配置模式
Switch# configure terminal
步骤2 LACP全局属性
开启动态lacp模式。
Switch1配置:
Switch(config)# port-channel 1 lacp-mode dynamic
Switch2配置:
Switch(config)# port-channel 1 lacp-mode dynamic
步骤3 进入端口配置模式,将端口添加到Channel Group中
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# channel-group 1 mode active
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# channel-group 1 mode active
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# channel-group 1 mode active
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
显示channel group摘要信息:
Switch# show channel-group summary
port-channel load-balance hash-arithmetic: xor
port-channel load-balance hash-field-select:
macsa
Flags: s - suspend T - standby
D - down/admin down B - in Bundle
R - Layer3 S - Layer2
w - wait U - in use
Mode: SLB - static load balance
DLB - dynamic load balance
SHLB - self-healing load balance
RR - round robin load balance
Aggregator Name Mode Protocol Ports
----------------+---------+--------------+---------------------------------------------
agg1(SU) SLB LACP(Dynamic) eth-0-1(B) eth-0-2(B) eth-0-3(B)
显示AGG端口信息:
Switch1# show interface agg1
Interface agg1
Interface current state: UP
Hardware is AGGREGATE, address is cce3.33fc.330b (bia cce3.33fc.330b)
Bandwidth 3000000 kbits
Index 1025 , Metric 1 , Encapsulation ARPA
Speed - 1000Mb/s , Duplex - Full , Media type is Aggregation
Link speed type is autonegotiation, Link duplex type is autonegotiation
Input flow-control is off, output flow-control is off
The Maximum Frame Size is 1534 bytes
VRF binding: not bound
Label switching is disabled
No virtual circuit configured
ARP timeout 01:00:00, ARP retry interval 1s
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 2 bits/sec, 0 packets/sec
13 packets input, 1184 bytes
Received 0 unicast, 0 broadcast, 0 multicast
0 runts, 0 giants, 0 input errors, 0 CRC
0 frame, 0 overrun, 0 pause input
0 input packets with dribble condition detected
20 packets output, 2526 bytes
Transmitted 0 unicast, 0 broadcast, 0 multicast
0 underruns, 0 output errors, 0 pause output
Static LACP
Switch1 和 Switch2 配置如下:
步骤1 进入配置模式
Switch# configure terminal
步骤2 LACP全局属性
设置系统优先级,用于决定系统解决在选择聚合组中的冲突。数值越低,优先级越高。设置负载均衡的模式,这个例子中使用源mac地址实现。
Switch1配置:
Switch(config)# lacp system-priority 2000
Switch(config)# hash-field port-channel
Switch(config-hash-field)# l2 macsa
Switch2配置:
Switch(config)# lacp system-priority 1000
Switch(config)# hash-field port-channel
Switch(config-hash-field)# l2 macsa
步骤3 进入端口配置模式,将端口添加到Channel Group中
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# channel-group 1 mode active
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# channel-group 1 mode active
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# channel-group 1 mode active
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
显示channel group摘要信息:
Switch# show channel-group summary
port-channel load-balance hash-arithmetic: xor
port-channel load-balance hash-field-select:
macsa
Flags: s - suspend T - standby
D - down/admin down B - in Bundle
R - Layer3 S - Layer2
w - wait U - in use
Mode: SLB - static load balance
DLB - dynamic load balance
SHLB - self-healing load balance
RR - round robin load balance
Aggregator Name Mode Protocol Ports
----------------+---------+------------+-----------------------------------------------
agg1(SU) SLB LACP eth-0-1(B) eth-0-2(B) eth-0-3(B)
显示AGG端口信息:
Switch1# show interface agg1
Interface agg1
Interface current state: UP
Hardware is AGGREGATE, address is cce3.33fc.330b (bia cce3.33fc.330b)
Bandwidth 3000000 kbits
Index 1025 , Metric 1 , Encapsulation ARPA
Speed - 1000Mb/s , Duplex - Full , Media type is Aggregation
Link speed type is autonegotiation, Link duplex type is autonegotiation
Input flow-control is off, output flow-control is off
The Maximum Frame Size is 1534 bytes
VRF binding: not bound
Label switching is disabled
No virtual circuit configured
ARP timeout 01:00:00, ARP retry interval 1s
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 2 bits/sec, 0 packets/sec
13 packets input, 1184 bytes
Received 0 unicast, 0 broadcast, 0 multicast
0 runts, 0 giants, 0 input errors, 0 CRC
0 frame, 0 overrun, 0 pause input
0 input packets with dribble condition detected
20 packets output, 2526 bytes
Transmitted 0 unicast, 0 broadcast, 0 multicast
0 underruns, 0 output errors, 0 pause output
Static Agg
Switch1 和 Switch2 配置如下:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口配置模式,将端口添加到静态Channel Group中
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# static-channel-group 1
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# static-channel-group 1
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# static-channel-group 1
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
显示channel group摘要信息:
Switch1# show channel-group summary
port-channel load-balance hash-arithmetic: xor
port-channel load-balance hash-field-select:
macsa
Flags: s - suspend T - standby
D - down/admin down B - in Bundle
R - Layer3 S - Layer2
w - wait U - in use
Mode: SLB - static load balance
DLB - dynamic load balance
SHLB - self-healing load balance
RR - round robin load balance
Aggregator Name Mode Protocol Ports
----------------+---------+------------+-----------------------------------------------
agg1(SU) SLB Static eth-0-1(B) eth-0-2(B) eth-0-3(B)
显示AGG端口信息:
Switch1# show interface agg 1
Interface agg1
Interface current state: UP
Hardware is AGGREGATE, address is cce3.33fc.330b (bia a876.6b2c.9c01)
Bandwidth 3000000 kbits
Index 1025 , Metric 1 , Encapsulation ARPA
Speed - 1000Mb/s , Duplex - Full , Media type is Aggregation
Link speed type is autonegotiation, Link duplex type is autonegotiation
Input flow-control is off, output flow-control is off
The Maximum Frame Size is 1534 bytes
VRF binding: not bound
Label switching is disabled
No virtual circuit configured
ARP timeout 01:00:00, ARP retry interval 1s
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 140 bits/sec, 0 packets/sec
0 packets input, 0 bytes
Received 0 unicast, 0 broadcast, 0 multicast
0 runts, 0 giants, 0 input errors, 0 CRC
0 frame, 0 overrun, 0 pause input
0 input packets with dribble condition detected
1080 packets output, 60614 bytes
Transmitted 0 unicast, 0 broadcast, 0 multicast
0 underruns, 0 output errors, 0 pause output
无
流量控制在直连的以太端口上启用,在拥塞期间允许另一端拥塞的节点暂停链路运作来控制 流量速率。当本地设备在本地检测到了任何拥塞,他能够发送一个暂停帧通知链路伙伴或者远程设备已发生拥塞。紧随收到暂停帧之后,远程设备停止发送任何数据包,这样防止在拥塞期间丢弃任何一个数据包。在自协商链路上,本地的流控制能力能通过链路断开/连接来通知对方。
流量控制只在全双工链路上有效
无
Flow control
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,并使能发送流量控制
Switch(config)# interface eth-0-1
Switch(config-if)# flowcontrol send on
步骤3 退出配置模式
Switch(config-if)# end
步骤4 检查配置
使用下列命令查看流量控制状态:
Switch# show flowcontrol
Port Receive FlowControl Send FlowControl RxPause TxPause
admin oper admin oper
--------- -------- -------- -------- -------- ----------- -----------
eth-0-1 off off on on 0 0
eth-0-2 off off off off 0 0
eth-0-3 off off off off 0 0
使用下列命令查看指定端口的流量控制状态:
Switch# show flowcontrol eth-0-1
Port Receive FlowControl Send FlowControl RxPause TxPause
admin oper admin oper
--------- -------- -------- -------- -------- ----------- -----------
eth-0-1 off off on on 0 0
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,并使能发送流量控制
Switch(config)# interface eth-0-1
Switch1(config-if)# flowcontrol receive on
步骤3 退出配置模式
Switch(config-if)# end
步骤4 检查配置
使用下列命令查看流量控制状态:
Switch1# show flowcontrol
Port Receive FlowControl Send FlowControl RxPause TxPause
admin oper admin oper
--------- -------- -------- -------- -------- ----------- -----------
eth-0-1 on on off off 0 0
eth-0-2 off off off off 0 0
eth-0-3 off off off off 0 0
使用下列命令查看指定端口的流量控制状态:
Switch1# show flowcontrol eth-0-1
Port Receive FlowControl Send FlowControl RxPause TxPause
admin oper admin oper
--------- -------- -------- -------- -------- ----------- -----------
eth-0-1 on on off off 0 0
无
风暴控制是指在指定接口上,通过对接收的最大广播、最大未知组播以及最大未知单播流量进行限制,防止泛洪消耗过多的交换机资源,确保业务正常运行。
可以使用以下两种方式之一进行风暴控制:
•百分比模式 (Level)
•包速率模式 (PPS)
PPS:Packets per second的首字母缩写,每秒传输的报文数,即包速率。
无
Percentage Storm Control
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口模式,设置风暴控制的百分比
未知单播、组播、广播报文可以分别设置:
Switch(config)# interface eth-0-1
Switch(config-if)# storm-control unicast level 0.1
Switch(config-if)# storm-control multicast level 1
Switch(config-if)# storm-control broadcast level 10
步骤3 退出配置模式
Switch(config-if)# end
步骤4 检查配置
Switch# show storm-control interface eth-0-1
Port ucastMode ucastlevel bcastMode bcastLevel mcastMode mcastLevel
-------------------------------------------------------------------------------
eth-0-1 Level 0.10 Level 10.00 Level 1.00
PPS Storm Control
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口模式,设置风暴控制的包速率
未知单播、组播、广播报文可以分别设置:
Switch(config)# interface eth-0-1
Switch(config-if)# storm-control unicast pps 1000
Switch(config-if)# storm-control multicast pps 10000
Switch(config-if)# storm-control broadcast pps 100000
步骤3 退出配置模式
Switch(config-if)# end
步骤4 检查配置
Switch# show storm-control interface eth-0-1
Port ucastMode ucastlevel bcastMode bcastLevel mcastMode mcastLevel
-------------------------------------------------------------------------------
eth-0-1 PPS 1000 PPS 100000 PPS 10000
无
网络中的环路会导致设备对广播、组播以及未知单播等报文进行重复发送,造成网络资源的浪费甚至导致网络瘫痪。为了能够及时发现二层网络中的环路,以避免对整个网络造成严重影响,需要提供一种检测功能,使网络中出现环路时能及时通知用户检查网络连接和配置情况,并能够将出问题的接口受控。
Loopback Detection(环回检测)功能可以检测设备的接口是否发生环回,它通过从接口定时发送检测报文,并检测该报文是否会从发出去的接口收到,如果收到从该接口发出的检测报文,则认为当设备的此接口存在环路,可以及时通过发送告警信息到网管系统,使管理人员及时发现并解决网络环路问题,避免长时间的网络异常。此外,设备还可以进行接口受控,根据需求选择配置Trap、关闭接口等处理方式,能迅速将环回对网络的影响降低至最小。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口配置模式,使能 Loopback Detect
Switch(config)# interface eth-0-1
Switch(config-if)# loopback-detect enable
步骤3 退出配置模式
Switch(config-if)# end
步骤4 检查配置
默认情况下,loopback detection功能未使能,使能接口Loopback Detection 功能后,接口才会发送环回检测报文来进行接口环回检测。默认检测报文发送间隔为5秒。
使用下列命令查看loopback detection状态:
Switch# show loopback-detect
Loopback detection packet interval(second): 5
Loopback detection recovery time(second): 15
Interface Action Status
eth-0-2 shutdown NORMAL
由于网络时刻处于变化中,因此环回检测是一个持续的过程,接口以一定的时间间隔发送环回检测报文,这个时间间隔即Loopback Detection 报文发送周期。
系统支持配置Loopback Detection报文的发送间隔(1-300秒)。Loopback状态默认恢复的时间为发送间隔的3倍。Loop消失后,接口状态会自动恢复到之前的状态。
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置 Loopback Detect 报文发送间隔
Switch(config)# loopback-detect packet-interval 10
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令查看loopback detection的报文周期:
Switch# show loopback-detect packet-interval
Loopback detection packet interval(second): 10
如果发现接口有环回,设备会将该接口设置为处于环回检测工作状态,可配置发送告警、关闭接口、阻塞端口等处理动作。
开启Loopback Detection 功能后,接口会周期性地检测是否收到环回报文。用户可以配置检测到有环回报文时的处理方式,尽量减轻环路对本设备和整个网络的影响
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口配置模式,配置loopback detect 处理动作
Switch(config)# interface eth-0-1
Switch(config-if)# loopback-detect action shutdown
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令查看端口上的loopback detection配置:
Switch# show loopback-detect interface eth-0-1
Interface Action Status
eth-0-1 shutdown NORMAL
接口开启Loopback Detection 功能后,系统默认发送的为Untag 检测报文,即不对任何指定VLAN 进行环回检测。当接口是以Tagged 方式加入VLAN,接口发出去Untag 检测报文在链路上会被丢弃,接口将收不到环回回来的报文,因此需要配置对指定的VLAN进行环回检测。配置对指定VLAN 的Loopback Detection 功能,接口会定时发送1份Untagged 检测报文和多份带指定VLAN Tag 的检测报文,一个接口最多可发送8 份带指定VLAN Tag 的检测报文。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口配置模式,配置vlan在此接口的loopback detect功能
Switch(config)# interface eth-0-1
Switch(config-if)# loopback-detect packet vlan 20
步骤3 退出配置模式
Switch(config-if)# end
步骤4 检查配置
使用下列命令显示loopback detect配置:
Switch# show running-config interface eth-0-1
Building configuration...
!
interface eth-0-1
loopback-detect enable
loopback-detect packet vlan 20
!
无
在不同站点上通过运营商网络连接的客户需要能正常运行二层协议。这一需求希望运营商网络能透明传输STP/RSTP/MSTP报文,因此客户可以跨越运营商网络构建自己的STP树,切断冗余链路。
当二层协议报文透传功能被启用后,在运营商网络边缘的交换机会使用一个新的二层头封装二层协议报文,然后向运营商网络传输。在运营商的网络里,该封装后的报文作为普通报文传输。当报文到达运营商网络边缘时,该报文新加的二层头被剥去,然后二层协议报文被转发给用户交换机处理。
二层协议报文透传功能可以独立使用也可以和QinQ功能一起使用。
无
L2 protocol tunnel
指定的二层协议报文包括STP BPDU报文,Slow proto报文,802.1X EAPOL报文, CFM报文。
在下面的例子中,Switch1 eth-0-1和Switch2 eth-0-1配置成tunnel端口。Switch1 eth-0-2和Switch2的 eth-0-2配置成上联口。如果在Switch1的eth-0-1口上收到上面三种协议报文,协议报文会加上新的二层头然后从上联口发出。在新的二层头中:目的MAC是tunnel dmac;源MAC是交换机的route-mac;VLAN id是tunnel evc所对应的VLAN id;VLAN priority是配置的Layer 2 protocol cos;Ethertype是0xFFEE。如果在Switch2的eth-0-2上收到带上新二层头的协议报文,协议报文上所带的新二层头会被剥去,然后从Switch2的eth-0-1发出。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2-4
Switch(config-vlan)# exit
步骤3 创建EVC并关联 vlan
Switch(config)# ethernet evc evc_c1
Switch(config-evc)# dot1q mapped-vlan 2
Switch(config-evc)# exit
Switch(config)# ethernet evc evc_c2
Switch(config-evc)# dot1q mapped-vlan 3
Switch(config-evc)# exit
Switch(config)# ethernet evc evc_c3
Switch(config-evc)# dot1q mapped-vlan 4
Switch(config-evc)# exit
步骤4 全局使能l2 protocol,配置tunnel destination mac和允许透传的二层协议mac地址
Switch(config)# l2protocol enable
Switch(config)# l2protocol tunnel-dmac 0100.0CCD.CDD2
Switch(config)# l2protocol mac 3 0180.C200.0008
Switch(config)# l2protocol mac 4 0180.C200.0009
Switch(config)# l2protocol full-mac 0100.0CCC.CCCC
步骤5 进入端口模式,配置端口属性。将二层协议报文透传到指定evc
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 2-4
Switch(config-if)# spanning-tree port disable
Switch(config-if)# l2protocol mac 3 tunnel evc evc_c1
Switch(config-if)# l2protocol mac 4 tunnel evc evc_c2
Switch(config-if)# l2protocol full-mac tunnel evc evc_c3
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 2-4
Switch(config-if)# l2protocol uplink enable
步骤6 退出配置模式
Switch(config-if)# end
步骤7 检查配置
使用下列命令,查看tunnel口的属性:
switch1# show l2protocol interface eth-0-1
Interface PDU Address MASK Status EVC
(u)-Untagged
(t)-Tagged
========= ================= ============== ======== ================
eth-0-1 0180.c200.0008(u) ffff.ffff.ffff Tunnel evc_c1
eth-0-1 0180.c200.0008(t) ffff.ffff.ffff Tunnel evc_c1
eth-0-1 0180.c200.0009(u) ffff.ffff.ffff Tunnel evc_c2
eth-0-1 0180.c200.0009(t) ffff.ffff.ffff Tunnel evc_c2
eth-0-1 0100.0ccc.cccc(u) ffff.ffff.ffff Tunnel evc_c3
eth-0-1 0100.0ccc.cccc(t) ffff.ffff.ffff Tunnel evc_c3
eth-0-1 stp(u) ffff.ffff.ffff Peer N/A
eth-0-1 stp(t) ffff.ffff.ffff Peer N/A
eth-0-1 slow-proto(u) ffff.ffff.ffff Peer N/A
eth-0-1 slow-proto(t) ffff.ffff.ffff Peer N/A
eth-0-1 dot1x(u) ffff.ffff.ffff Peer N/A
eth-0-1 dot1x(t) ffff.ffff.ffff Peer N/A
eth-0-1 cfm(u) ffff.ffff.ffff Peer N/A
eth-0-1 cfm(t) ffff.ffff.ffff Peer N/A
eth-0-1 lldp(u) ffff.ffff.ffff Peer N/A
eth-0-1 lldp(t) ffff.ffff.ffff Peer N/A
eth-0-1 cdp(u) ffff.ffff.ffff Peer N/A
eth-0-1 cdp(t) ffff.ffff.ffff Peer N/A
eth-0-1 vtp(u) ffff.ffff.ffff Peer N/A
eth-0-1 vtp(t) ffff.ffff.ffff Peer N/A
使用下列命令,查看上联口的属性:
switch1# show l2protocol interface eth-0-2
Interface PDU Address MASK Status EVC
(u)-Untagged
(t)-Tagged
========= ================= ============== ======== ================
eth-0-2 0180.c200.0008(u) ffff.ffff.ffff Peer N/A
eth-0-2 0180.c200.0008(t) ffff.ffff.ffff Peer N/A
eth-0-2 0180.c200.0009(u) ffff.ffff.ffff Peer N/A
eth-0-2 0180.c200.0009(t) ffff.ffff.ffff Peer N/A
eth-0-2 0100.0ccc.cccc(u) ffff.ffff.ffff Peer N/A
eth-0-2 0100.0ccc.cccc(t) ffff.ffff.ffff Peer N/A
eth-0-2 stp(u) ffff.ffff.ffff Peer N/A
eth-0-2 stp(t) ffff.ffff.ffff Peer N/A
eth-0-2 slow-proto(u) ffff.ffff.ffff Peer N/A
eth-0-2 slow-proto(t) ffff.ffff.ffff Peer N/A
eth-0-2 dot1x(u) ffff.ffff.ffff Peer N/A
eth-0-2 dot1x(t) ffff.ffff.ffff Peer N/A
eth-0-2 cfm(u) ffff.ffff.ffff Peer N/A
eth-0-2 cfm(t) ffff.ffff.ffff Peer N/A
eth-0-2 lldp(u) ffff.ffff.ffff Peer N/A
eth-0-2 lldp(t) ffff.ffff.ffff Peer N/A
eth-0-2 cdp(u) ffff.ffff.ffff Peer N/A
eth-0-2 cdp(t) ffff.ffff.ffff Peer N/A
eth-0-2 vtp(u) ffff.ffff.ffff Peer N/A
eth-0-2 vtp(t) ffff.ffff.ffff Peer N/A
eth-0-2 N/A N/A Uplink N/A
使用下列命令,查看tunnel的目的mac地址
Switch1# show l2protocol tunnel-dmac
Layer2 protocols tunnel destination MAC address is 0100.0ccd.cdd2
无
MST(Multiple Spanning Tree)多生成树(MST)是把IEEE802.1w的快速生成树(RST)算法扩展而得到的。MST能够通过trunk链路建立多个生成树,关联VLANs到相关的生成树实例,并且每个生成树实例可以具备区别于其他实例的拓扑结构。MST提供了多个数据转发路径和负载均衡,提高了网络容错能力。因为一个实例(转发路径)的故障不会影响其他实例(转发路径)。一个生成树实例只能存在于一致的VLAN实例分配的桥中,必须用同样的MST配置信息来配置一组桥,这使得这些桥能属于同一组生成树实例,具备同样的MST配置信息的互连的桥构成多生成树区(MST Region)。 MSTP将环路网络修剪成为一个无环的树型网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。MSTP兼容STP和RSTP,并且可以弥补STP和RSTP的缺陷。它既可以快速收敛,也能使不同VLAN的流量沿各自的路径分发,从而为冗余链路提供了更好的负载分担机制。
无
MSTP
Switch1-Switch4配置如下步骤所示。如无特别说明,则4台设备配置相同。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置STP模式
Switch(config)# spanning-tree mode mstp
步骤3 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# vlan 20
Switch(config-vlan)# exit
步骤4 进入MSTP配置模式,创建域和实例,将vlan关联到实例
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# region RegionName
Switch(config-mst)# instance 1 vlan 10
Switch(config-mst)# instance 2 vlan 20
Switch(config-mst)# exit
步骤5 进入端口配置模式,配置端口属性和允许通过的vlan
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-10
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-18
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤6 在不同设备分别配置STP优先级并使能STP
Switch1 配置:
Switch# configure terminal
Switch(config)# spanning-tree priority 0
Switch(config)# spanning-tree enable
Switch2 配置:
Switch# configure terminal
Switch(config)# spanning-tree instance 1 priority 0
Switch(config)# spanning-tree enable
Switch3 配置:
Switch# configure terminal
Switch(config)# spanning-tree instance 2 priority 0
Switch(config)# spanning-tree enable
Switch4 配置:
Switch# configure terminal
Switch(config)# spanning-tree enable
步骤7 退出配置模式
Switch(config)# end
步骤8 检查配置
使用下列命令显示Switch1的mstp端口状态:
Switch# show spanning-tree mst brief
##### MST0: Vlans: 1
Multiple spanning tree protocol Enabled
Root ID Priority 0 (0x0000)
Address 2225.fa28.c900
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 0 (0x0000)
Address 2225.fa28.c900
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Designated Forwarding 20000 128.9 P2p
eth-0-10 Designated Forwarding 20000 128.10 P2p
eth-0-17 Designated Forwarding 20000 128.17 P2p
eth-0-18 Designated Forwarding 20000 128.18 P2p
##### MST1: Vlans: 10
Root ID Priority 1 (0x0001)
Address 9c9a.7d91.9f00
Bridge ID Priority 32769 (0x8001)
Address 2225.fa28.c900
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Rootport Forwarding 20000 128.9 P2p
eth-0-10 Alternate Discarding 20000 128.10 P2p
eth-0-17 Designated Forwarding 20000 128.17 P2p
eth-0-18 Designated Forwarding 20000 128.18 P2p
##### MST2: Vlans: 20
Root ID Priority 2 (0x0002)
Address 304c.275b.b200
Bridge ID Priority 32770 (0x8002)
Address 2225.fa28.c900
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Alternate Discarding 20000 128.9 P2p
eth-0-10 Alternate Discarding 20000 128.10 P2p
eth-0-17 Rootport Forwarding 20000 128.17 P2p
eth-0-18 Alternate Discarding 20000 128.18 P2p
使用下列命令显示Switch2的mstp端口状态:
Switch# show spanning-tree mst brief
##### MST0: Vlans: 1
Multiple spanning tree protocol Enabled
Root ID Priority 0 (0x0000)
Address 2225.fa28.c900
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32768 (0x8000)
Address 9c9a.7d91.9f00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Rootport Forwarding 20000 128.9 P2p
eth-0-10 Alternate Discarding 20000 128.10 P2p
eth-0-17 Designated Forwarding 20000 128.17 P2p
eth-0-18 Designated Forwarding 20000 128.18 P2p
##### MST1: Vlans: 10
Root ID Priority 1 (0x0001)
Address 9c9a.7d91.9f00
Bridge ID Priority 1 (0x0001)
Address 9c9a.7d91.9f00
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Designated Forwarding 20000 128.9 P2p
eth-0-10 Designated Forwarding 20000 128.10 P2p
eth-0-17 Designated Forwarding 20000 128.17 P2p
eth-0-18 Designated Forwarding 20000 128.18 P2p
##### MST2: Vlans: 20
Root ID Priority 2 (0x0002)
Address 304c.275b.b200
Bridge ID Priority 32770 (0x8002)
Address 9c9a.7d91.9f00
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Designated Forwarding 20000 128.9 P2p
eth-0-10 Designated Forwarding 20000 128.10 P2p
eth-0-17 Rootport Forwarding 20000 128.17 P2p
eth-0-18 Alternate Discarding 20000 128.18 P2p
使用下列命令显示Switch3的mstp端口状态:
Switch# show spanning-tree mst brief
##### MST0: Vlans: 1
Multiple spanning tree protocol Enabled
Root ID Priority 0 (0x0000)
Address 2225.fa28.c900
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32768 (0x8000)
Address 304c.275b.b200
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Rootport Forwarding 20000 128.9 P2p
eth-0-10 Alternate Discarding 20000 128.10 P2p
eth-0-17 Alternate Discarding 20000 128.17 P2p
eth-0-18 Alternate Discarding 20000 128.18 P2p
##### MST1: Vlans: 10
Root ID Priority 1 (0x0001)
Address 9c9a.7d91.9f00
Bridge ID Priority 32769 (0x8001)
Address 304c.275b.b200
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Designated Forwarding 20000 128.9 P2p
eth-0-10 Designated Forwarding 20000 128.10 P2p
eth-0-17 Rootport Forwarding 20000 128.17 P2p
eth-0-18 Alternate Discarding 20000 128.18 P2p
##### MST2: Vlans: 20
Root ID Priority 2 (0x0002)
Address 304c.275b.b200
Bridge ID Priority 2 (0x0002)
Address 304c.275b.b200
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Designated Forwarding 20000 128.9 P2p
eth-0-10 Designated Forwarding 20000 128.10 P2p
eth-0-17 Designated Forwarding 20000 128.17 P2p
eth-0-18 Designated Forwarding 20000 128.18 P2p
使用下列命令显示Switch4的mstp端口状态:
Switch# show spanning-tree mst brief
s##### MST0: Vlans: 1
无Multiple spanning tree protocol Enabled
Root ID Priority 0 (0x0000)
Address 2225.fa28.c900
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32768 (0x8000)
Address 80a4.be55.6400
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Designated Forwarding 20000 128.9 P2p
eth-0-10 Designated Forwarding 20000 128.10 P2p
eth-0-17 Rootport Forwarding 20000 128.17 P2p
eth-0-18 Alternate Discarding 20000 128.18 P2p
##### MST1: Vlans: 10
Root ID Priority 1 (0x0001)
Address 9c9a.7d91.9f00
Bridge ID Priority 32769 (0x8001)
Address 80a4.be55.6400
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Alternate Discarding 20000 128.9 P2p
eth-0-10 Alternate Discarding 20000 128.10 P2p
eth-0-17 Rootport Forwarding 20000 128.17 P2p
eth-0-18 Alternate Discarding 20000 128.18 P2p
##### MST2: Vlans: 20
Root ID Priority 2 (0x0002)
Address 304c.275b.b200
Bridge ID Priority 32770 (0x8002)
Address 80a4.be55.6400
Interface Role State Cost Priority.Number Type
--------------------------------------------------------------------------------
eth-0-9 Rootport Forwarding 20000 128.9 P2p
eth-0-10 Alternate Discarding 20000 128.10 P2p
eth-0-17 Designated Forwarding 20000 128.17 P2p
eth-0-18 Designated Forwarding 20000 128.18 P2p
无
在高可靠性的数据中心拓扑中,典型的会通过两台聚合交换机来连接TOR交换机和服务器以提供冗余保护。在这样的拓扑结构中,生成树协议通过block聚合交换机的一半的端口来防止网络环路,但这样做会降低50%的带宽。
通过部署MLAG可以解决这个问题。在两台聚合交换机的中间通过一条MLAG链路进行连接,使其在逻辑上如同一台设备。两台设备上的端口共同形成聚合口,使得所有端口可以共同参与数据流量的转发。 MLAG提供了如下好处:
•在网络流量增加的时候提供了更高的带宽;
•通过减少被STP block的端口的方式更加高效的利用了网络带宽;
•使用静态LAG或者LACP来连接其他交换机或者服务器,而不需要借助其他协议;
•支持双活(active-active)的二层冗余
无
MLAG
Switch1-Switch2配置如下步骤所示。如无特别说明,则2台设备配置相同。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10,4094
Switch(config-vlan)# exit
步骤3 创建静态AGG属性
Switch(config)# interface eth-0-1
Switch(config-if)# static-channel-group 1
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤4 提前准备配置peer link interface的属性
eth-0-9将用作peer link,提前配置如下属性:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤5 将AGG口加入mlag
Switch(config)# interface agg1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10
Switch(config-if)# mlag 1
Switch(config-if)# exit
步骤6 配置vlan interface的属性
Switch1:
Switch(config)# interface vlan4094
Switch(config-if)# ip address 12.1.1.1/24
Switch(config-if)# exit
Switch2:
Switch(config)# interface vlan4094
Switch(config-if)# ip address 12.1.1.2/24
Switch(config-if)# exit
步骤7 进入MLAG模式,配置相关属性
Switch1:
Switch(config)# mlag configuration
Switch(config-mlag)# peer-link eth-0-9
Switch(config-mlag)# peer-address 12.1.1.2
Switch(config-mlag)# exit
Switch2:
Switch(config)# mlag configuration
Switch(config-mlag)# peer-link eth-0-9
Switch(config-mlag)# peer-address 12.1.1.1
Switch(config-mlag)# end
步骤8 检查配置
使用下列命令查看Switch1的mlag状态:
Switch# show mlag
MLAG configuration:
-----------------
role : Master
local_sysid : ea90.aecc.cc00
mlag_sysid : ea90.aecc.cc00
peer-link : eth-0-9
peer conf : Yes
Switch# show mlag interface
mlagid local-if local-state remote-state
1 agg1 up up
Switch# show mlag peer
MLAG neighbor is 12.1.1.2, MLAG version 1
MLAG state = Established, up for 00:13:07
Last read 00:00:48, hold time is 240, keepalive interval is 60 seconds
Received 17 messages,Sent 19 messages
Open : received 1, sent 2
KAlive : received 15, sent 16
Fdb sync : received 0, sent 0
Failover : received 0, sent 0
Conf : received 1, sent 1
Connections established 1; dropped 0
Local host: 12.1.1.1, Local port: 61000
Foreign host: 12.1.1.2, Foreign port: 46157
remote_sysid: baa7.8606.8b00
使用下列命令查看Switch1的mac表:
Switch# show mac address-table
Mac Address Table
-------------------------------------------
(*) - Security Entry
Vlan Mac Address Type Ports
---- ----------- -------- -----
使用下列命令查看Switch2的mlag状态:
Switch# show mlag
MLAG configuration:
-----------------
role : Slave
local_sysid : baa7.8606.8b00
mlag_sysid : ea90.aecc.cc00
peer-link : eth-0-9
peer conf : Yes
Switch# show mlag interface
mlagid local-if local-state remote-state
1 agg1 up up
Switch# show mlag peer
MLAG neighbor is 12.1.1.1, MLAG version 1
MLAG state = Established, up for 00:14:29
Last read 00:00:48, hold time is 240, keepalive interval is 60 seconds
Received 19 messages,Sent 19 messages
Open : received 1, sent 1
KAlive : received 17, sent 17
Fdb sync : received 0, sent 0
Failover : received 0, sent 0
Conf : received 1, sent 1
Connections established 1; dropped 0
Local host: 12.1.1.2, Local port: 46157
Foreign host: 12.1.1.1, Foreign port: 61000
remote_sysid: ea90.aecc.cc00
使用下列命令查看Switch2的mac表:
Switch# show mac address-table
Mac Address Table
-------------------------------------------
(*) - Security Entry
Vlan Mac Address Type Ports
---- ----------- -------- -----
无
linkagg功能可以将多个物理接口捆绑,形成单一的逻辑通道,提供增强的性能和冗余。当使用linkagg转发数据时,由于两端设备之间有多条物理链路,可能会导致同一数据流的连续数据帧在不同的物理链路上传输的情况。这样可能数据帧在到达对端设备产生接收数据包乱序的情况。 为避免这种状况,linkagg采用负载均衡,根据报文的属性通过hash算法得到hash值,然后根据hash值去选择对应的linkagg的出接口。这样就同时兼顾了同一数据流的帧在同一条物理链路转发,又实现了流量在linkagg各个物理链路上负载均衡。
全局配置linkagg output方向计算负载均衡的方式,针对单播和非单播。其优先级最低,新创建和未单独指定output方向hash的linkagg会自动获得全局配置。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置hash field属性
Switch(config)# hash-field user
Switch(config-hash-field)# l2 macsa
Switch(config-hash-field)# ip ipsa
Switch(config-hash-field)# exit
步骤3 配置hash value global属性
Switch(config)# hash-value global
Switch(config-hash-value-global)# port-channel select user
Switch(config-hash-value-global)# end
步骤4 检查配置
显示hash field user的信息:
Switch# show hash-field user
hash-field name: user
Option Control type
----------------------------------------------------------------------
ipv6 address compress xor
hash seed user set (0)
hash arithmetic xor
hash symmetry disable
ip enable
ipv6 enable
mpls enable
----------------------------------------------------------------------
hash field select
Packet HashField
----------------------------------------------------------------------
l2: macsa
ip: ipsa
ipv6: ipsa ipda
l4-sourceport l4-destport
ip-protocol
gre: ipsa ipda
gre-key
vxlan: vni outer-l4-sourceport
outer-ipda outer-ipsa
nvgre: vsid outer-ipda
outer-ipsa
mpls: top-label 2nd-label
vpws: top-label 2nd-label
vpls(inner-l2): inner-macda inner-macsa
vpls(inner-l3): inner-ipda inner-ipsa
l3vpn: inner-ipsa inner-ipda
inner-ip-protocol inner-l4-sourceport
inner-l4-destport
显示hash value global的信息:
Switch# show hash-value global
LBT:load balance type LBM :load balance mode
PT :packet type HF :hash field
HA :hash arithmetic
hash-value global
LBT LBM PT HF HA
----------------------------------------------------------------------
port-channel - all user xor
ecmp - all ecmp xor
ecmp flow id all ecmp xor
entropy - all ecmp xor
----------------------------------------------------------------------
Efd hash field select:
macsa macda
ipsa ipda
sourceport destport
ip-protocol
下面步骤演示了如何在端口上配置linkagg input方向计算负载均衡的方式,仅针对单播报文。其优先级高于output方向配置。在绑定hash value到linkagg的input方向时,其实际作用相当于为linkagg的每个物理成员口绑定input方向。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置hash field 属性
Switch(config)# hash-field user
Switch(config-hash-field)# l2 macsa
Switch(config-hash-field)# ip ipsa
Switch(config-hash-field)# exit
步骤3 配置hash value 属性
Switch(config)# hash-value aaa
Switch(config-hash-value)# port-channel unicast select user
Switch(config-hash-value)# exit
步骤4 在接口上配置hash value
Switch(config)# interface range eth-0-1 - 2
Switch(config-if-range)# no shutdown
Switch(config-if-range)# static-channel-group 1
Switch(config-if-range)# exit
Switch(config)# interface agg 1
Switch(config-if)# load-balance hash-value aaa input
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# load-balance hash-value aaa input
Switch(config-if)# end
步骤5 检查配置
显示hash field user的信息:
Switch# show hash-field user
hash-field name: user
Option Control type
----------------------------------------------------------------------
ipv6 address compress xor
hash seed user set (0)
hash arithmetic xor
hash symmetry disable
ip enable
ipv6 enable
mpls enable
----------------------------------------------------------------------
hash field select
Packet HashField
----------------------------------------------------------------------
l2: macsa
ip: ipsa
ipv6: ipsa ipda
l4-sourceport l4-destport
ip-protocol
gre: ipsa ipda
gre-key
vxlan: vni outer-l4-sourceport
outer-ipda outer-ipsa
nvgre: vsid outer-ipda
outer-ipsa
mpls: top-label 2nd-label
vpws: top-label 2nd-label
vpls(inner-l2): inner-macda inner-macsa
vpls(inner-l3): inner-ipda inner-ipsa
l3vpn: inner-ipsa inner-ipda
inner-ip-protocol inner-l4-sourceport
inner-l4-destport
显示hash value的信息:
Switch# show hash-value aaa
LBT:load balance type LBM:load balance mode
PT :packet type HF :hash field
HA :hash arithmetic
hash-value name: aaa
LBT LBM PT HF HA
----------------------------------------------------------------------
port-channel unicast all user xor
port-channel non-unicast all NOCFG NOCFG
ecmp - all NOCFG NOCFG
ecmp flow id all NOCFG NOCFG
显示hash value在端口上的应用:
Switch# show hash-value interface-applied
eth-0-3
hash-value aaa input
agg1
hash-value aaa input
下面步骤演示了如何在端口上配置linkagg output方向计算负载均衡的方式,仅针对单播报文。其优先级低于input方向配置,且只能应用在agg口。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置hash field属性
Switch(config)# hash-field user
Switch(config-hash-field)# l2 macsa
Switch(config-hash-field)# ip ipsa
Switch(config-hash-field)# exit
步骤3 配置hash value属性
Switch(config)# hash-value aaa
Switch(config-hash-value)# port-channel unicast select user
Switch(config-hash-value)# exit
步骤4 在接口上配置hash value
Switch(config)# interface range eth-0-1 - 2
Switch(config-if-range)# no shutdown
Switch(config-if-range)# static-channel-group 1
Switch(config-if-range)# exit
Switch(config)# interface agg 1
Switch(config-if)# load-balance hash-value aaa output
Switch(config-if)# exit
步骤5 检查配置
显示hash field user的信息:
Switch# show hash-field user
hash-field name: user
Option Control type
----------------------------------------------------------------------
ipv6 address compress xor
hash seed user set (0)
hash arithmetic xor
hash symmetry disable
ip enable
ipv6 enable
mpls enable
----------------------------------------------------------------------
hash field select
Packet HashField
----------------------------------------------------------------------
l2: macsa
ip: ipsa
ipv6: ipsa ipda
l4-sourceport l4-destport
ip-protocol
gre: ipsa ipda
gre-key
vxlan: vni outer-l4-sourceport
outer-ipda outer-ipsa
nvgre: vsid outer-ipda
outer-ipsa
mpls: top-label 2nd-label
vpws: top-label 2nd-label
vpls(inner-l2): inner-macda inner-macsa
vpls(inner-l3): inner-ipda inner-ipsa
l3vpn: inner-ipsa inner-ipda
inner-ip-protocol inner-l4-sourceport
inner-l4-destport
显示hash value的信息:
Switch# show hash-value aaa
LBT:load balance type LBM:load balance mode
PT :packet type HF :hash field
HA :hash arithmetic
hash-value name: aaa
LBT LBM PT HF HA
----------------------------------------------------------------------
port-channel unicast all user xor
port-channel non-unicast all NOCFG NOCFG
ecmp - all NOCFG NOCFG
ecmp flow id all NOCFG NOCFG
显示hash value在端口上的应用:
Switch# show hash-value interface-applied
agg1
hash-value aaa output
下面步骤演示了如何在端口上添加ACL控制,并使得ACL规则命中的报文使用ACL选择的hash-value进行负载均衡。注意将policy-map应用于interface时只允许配置input。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置hash field属性
Switch(config)# hash-field user
Switch(config-hash-field)# l2 macsa
Switch(config-hash-field)# ip ipsa
Switch(config-hash-field)# exit
步骤3 配置hash value属性
Switch(config)# hash-value aaa
Switch(config-hash-value)# port-channel unicast select user
Switch(config-hash-value)# exit
步骤4 在接口上添加acl并配置hash value
Switch(config)# mac access-list mac
Switch(config-mac-acl)# permit src-mac host 0.0.1 dest-mac any
Switch(config-mac-acl)# exit
Switch(config)# class-map cmap1
Switch(config-cmap)# match access-group mac
Switch(config-cmap)# exit
Switch(config)# policy-map pmap1
Switch(config-pmap)# class cmap1
Switch(config-pmap-c)# load-balance hash-value aaa
Switch(config-pmap-c)# port-channel load-balance round-robin disable
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# no shutdown
Switch(config-if)# service-policy input pmap1
Switch(config-if)# end
步骤5 检查配置
显示hash field user的信息:
Switch# show hash-field user
hash-field name: user
Option Control type
----------------------------------------------------------------------
ipv6 address compress xor
hash seed user set (0)
hash arithmetic xor
hash symmetry disable
ip enable
ipv6 enable
mpls enable
----------------------------------------------------------------------
hash field select
Packet HashField
----------------------------------------------------------------------
l2: macsa
ip: ipsa
ipv6: ipsa ipda
l4-sourceport l4-destport
ip-protocol
gre: ipsa ipda
gre-key
vxlan: vni outer-l4-sourceport
outer-ipda outer-ipsa
nvgre: vsid outer-ipda
outer-ipsa
mpls: top-label 2nd-label
vpws: top-label 2nd-label
vpls(inner-l2): inner-macda inner-macsa
vpls(inner-l3): inner-ipda inner-ipsa
l3vpn: inner-ipsa inner-ipda
inner-ip-protocol inner-l4-sourceport
inner-l4-destport
显示hash value的信息:
Switch# show hash-value aaa
LBT:load balance type LBM:load balance mode
PT :packet type HF :hash field
HA :hash arithmetic
hash-value name: aaa
LBT LBM PT HF HA
----------------------------------------------------------------------
port-channel unicast all user xor
port-channel non-unicast all NOCFG NOCFG
ecmp - all NOCFG NOCFG
ecmp flow id all NOCFG NOCFG
显示ACL相关信息:
Switch# show running-config
mac access-list mac
10 permit src-mac host 0000.0000.0001 dest-mac any
!
hash-field user
l2 macsa
ip ipsa
!
hash-value aaa
port-channel unicast select user
!
class-map match-any cmap1
match access-group mac
!
policy-map pmap1
class cmap1
port-channel load-balance round-robin disable
load-balance hash-value aaa
!
interface eth-0-3
service-policy input pmap1
!
interface null0
!
下面步骤演示了如何在端口上配置linkagg input方向计算负载均衡的方式,仅针对非单播报文。不支持output方向配置。在绑定hash value到linkagg的input方向时,其实际作用相当于为linkagg的每个物理成员口绑定input方向。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置hash field属性
Switch(config)# hash-field user
Switch(config-hash-field)# l2 macsa
Switch(config-hash-field)# ip ipsa
Switch(config-hash-field)# exit
步骤3 配置hash value属性
Switch(config)# hash-value aaa
Switch(config-hash-value)# port-channel non-unicast select user
Switch(config-hash-value)# exit
步骤4 在接口上配置hash value
Switch(config)# interface range eth-0-1 - 2
Switch(config-if-range)# no shutdown
Switch(config-if-range)# static-channel-group 1
Switch(config-if-range)# exit
Switch(config)# interface agg 1
Switch(config-if)# load-balance hash-value aaa input
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# load-balance hash-value aaa input
Switch(config-if)# end
步骤5 检查配置
显示hash field user的信息:
Switch# show hash-field user
hash-field name: user
Option Control type
----------------------------------------------------------------------
ipv6 address compress xor
hash seed user set (0)
hash arithmetic xor
hash symmetry disable
ip enable
ipv6 enable
mpls enable
----------------------------------------------------------------------
hash field select
Packet HashField
----------------------------------------------------------------------
l2: macsa
ip: ipsa
ipv6: ipsa ipda
l4-sourceport l4-destport
ip-protocol
gre: ipsa ipda
gre-key
vxlan: vni outer-l4-sourceport
outer-ipda outer-ipsa
nvgre: vsid outer-ipda
outer-ipsa
mpls: top-label 2nd-label
vpws: top-label 2nd-label
vpls(inner-l2): inner-macda inner-macsa
vpls(inner-l3): inner-ipda inner-ipsa
l3vpn: inner-ipsa inner-ipda
inner-ip-protocol inner-l4-sourceport
inner-l4-destport
显示hash value的信息:
Switch# show hash-value aaa
LBT:load balance type LBM:load balance mode
PT :packet type HF :hash field
HA :hash arithmetic
hash-value name: aaa
LBT LBM PT HF HA
----------------------------------------------------------------------
port-channel unicast all NOCFG NOCFG
port-channel non-unicast all user xor
ecmp - all NOCFG NOCFG
ecmp flow id all NOCFG NOCFG
显示hash value在端口上的应用:
显示hash value在端口上的应用:
Switch# show hash-value interface-applied
eth-0-3
hash-value aaa input
agg1
hash-value aaa input
ecmp(等价多路径路由)应用于多条不同的链路到达同一目的地址的网络环境中。如果使用传统路由技术,发往该目的地址的数据包只能应用其中的一条链路,其它链路处于备份或者无效状态,而ecmp可以在该网络环境同时使用多条链路,不仅增加传输带宽,而且可以无延时无丢包的备份失效链路的数据传输。 ecmp采用负载均衡,根据报文的属性通过hash算法得到hash值,然后根据hash值去选择对应的转发链路。
全局配置ecmp计算hash的方式,其优先级最低。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置hash field 属性
Switch(config)# hash-field user
Switch(config-hash-field)# l2 macsa
Switch(config-hash-field)# ip ipsa
Switch(config-hash-field)# exit
步骤3 配置hash value global属性
Switch(config)# hash-value global
Switch(config-hash-value-global)# ecmp select user
Switch(config-hash-value-global)# end
步骤4 检查配置
显示hash field user的信息:
Switch# show hash-field user
hash-field name: user
Option Control type
----------------------------------------------------------------------
ipv6 address compress xor
hash seed user set (0)
hash arithmetic xor
hash symmetry disable
ip enable
ipv6 enable
mpls enable
----------------------------------------------------------------------
hash field select
Packet HashField
----------------------------------------------------------------------
l2: macsa
ip: ipsa
ipv6: ipsa ipda
l4-sourceport l4-destport
ip-protocol
gre: ipsa ipda
gre-key
vxlan: vni outer-l4-sourceport
outer-ipda outer-ipsa
nvgre: vsid outer-ipda
outer-ipsa
mpls: top-label 2nd-label
vpws: top-label 2nd-label
vpls(inner-l2): inner-macda inner-macsa
vpls(inner-l3): inner-ipda inner-ipsa
l3vpn: inner-ipsa inner-ipda
inner-ip-protocol inner-l4-sourceport
inner-l4-destport
显示hash value global的信息:
Switch# show hash-value global
LBT:load balance type LBM :load balance mode
PT :packet type HF :hash field
HA :hash arithmetic
hash-value global
LBT LBM PT HF HA
----------------------------------------------------------------------
port-channel - all port-channel xor
ecmp - all user xor
ecmp flow id all user xor
entropy - all ecmp xor
----------------------------------------------------------------------
Efd hash field select:
macsa macda
ipsa ipda
sourceport destport
ip-protocol
下面步骤演示了如何在端口input方向配置ecmp计算hash的方式,其优先级高于全局配置。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置hash field属性
Switch(config)# hash-field user
Switch(config-hash-field)# l2 macsa
Switch(config-hash-field)# ip ipsa
Switch(config-hash-field)# exit
步骤3 配置hash value属性
Switch(config)# hash-value bbb
Switch(config-hash-value)# ecmp select user
Switch(config-hash-value)# exit
步骤4 在接口上配置hash value
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# load-balance hash-value bbb input
Switch(config-if)# end
步骤5 检查配置
显示hash field user的信息:
Switch# show hash-field user
hash-field name: user
Option Control type
----------------------------------------------------------------------
ipv6 address compress xor
hash seed user set (0)
hash arithmetic xor
hash symmetry disable
ip enable
ipv6 enable
mpls enable
----------------------------------------------------------------------
hash field select
Packet HashField
----------------------------------------------------------------------
l2: macsa
ip: ipsa
ipv6: ipsa ipda
l4-sourceport l4-destport
ip-protocol
gre: ipsa ipda
gre-key
vxlan: vni outer-l4-sourceport
outer-ipda outer-ipsa
nvgre: vsid outer-ipda
outer-ipsa
mpls: top-label 2nd-label
vpws: top-label 2nd-label
vpls(inner-l2): inner-macda inner-macsa
vpls(inner-l3): inner-ipda inner-ipsa
l3vpn: inner-ipsa inner-ipda
inner-ip-protocol inner-l4-sourceport
inner-l4-destport
显示hash value的信息:
Switch# show hash-value bbb
LBT:load balance type LBM:load balance mode
PT :packet type HF :hash field
HA :hash arithmetic
hash-value name: bbb
LBT LBM PT HF HA
----------------------------------------------------------------------
port-channel unicast all NOCFG NOCFG
port-channel non-unicast all NOCFG NOCFG
ecmp - all user xor
ecmp flow id all NOCFG NOCFG
显示hash value在端口上的应用:
Switch# show hash-value interface-applied
eth-0-1
hash-value bbb input
下面步骤演示了如何在端口上添加ACL控制,并使得ACL规则命中的报文使用ACL选择的hash-value进行负载均衡。注意将policy-map应用于interface时只允许配置input。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置hash field属性
Switch(config)# hash-field user
Switch(config-hash-field)# l2 macsa
Switch(config-hash-field)# ip ipsa
Switch(config-hash-field)# exit
步骤3 配置hash value属性
Switch(config)# hash-value bbb
Switch(config-hash-value)# ecmp select user
Switch(config-hash-value)# exit
步骤4 在接口上添加acl并配置hash value
Switch(config)# mac access-list mac
Switch(config-mac-acl)# permit src-mac host 0.0.1 dest-mac any
Switch(config-mac-acl)# exit
Switch(config)# class-map cmap1
Switch(config-cmap)# match access-group mac
Switch(config-cmap)# exit
Switch(config)# policy-map pmap1
Switch(config-pmap)# class cmap1
Switch(config-pmap-c)# load-balance hash-value bbb
Switch(config-pmap-c)# ecmp load-balance round-robin disable
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# service-policy input pmap1
Switch(config-if)# end
步骤5 检查配置
显示hash field user的信息:
Switch# show hash-field user
hash-field name: user
Option Control type
----------------------------------------------------------------------
ipv6 address compress xor
hash seed user set (0)
hash arithmetic xor
hash symmetry disable
ip enable
ipv6 enable
mpls enable
----------------------------------------------------------------------
hash field select
Packet HashField
----------------------------------------------------------------------
l2: macsa
ip: ipsa
ipv6: ipsa ipda
l4-sourceport l4-destport
ip-protocol
gre: ipsa ipda
gre-key
vxlan: vni outer-l4-sourceport
outer-ipda outer-ipsa
nvgre: vsid outer-ipda
outer-ipsa
mpls: top-label 2nd-label
vpws: top-label 2nd-label
vpls(inner-l2): inner-macda inner-macsa
vpls(inner-l3): inner-ipda inner-ipsa
l3vpn: inner-ipsa inner-ipda
inner-ip-protocol inner-l4-sourceport
inner-l4-destport
显示hash value的信息:
Switch# show hash-value bbb
LBT:load balance type LBM:load balance mode
PT :packet type HF :hash field
HA :hash arithmetic
hash-value name: bbb
LBT LBM PT HF HA
----------------------------------------------------------------------
port-channel unicast all NOCFG NOCFG
port-channel non-unicast all NOCFG NOCFG
ecmp - all user xor
ecmp flow id all NOCFG NOCFG
显示ACL相关信息:
mac access-list mac
10 permit src-mac host 0000.0000.0001 dest-mac any
!
hash-field user
l2 macsa
ip ipsa
!
hash-value bbb
ecmp select user
!
class-map match-any cmap1
match access-group mac
!
policy-map pmap1
class cmap1
ecmp load-balance round-robin disable
load-balance hash-value bbb
!
interface eth-0-1
service-policy input pmap1
!
interface null0
!
efd就是大象流检测,据悉,9%的流发送的数据占到了总流量数据的90%,相同的流总是具有时间连续性,大流容易导致网络拥塞以及网络安全问题。大象流的检测有助于应用负载均衡以及应对DDOS网络攻击。通过应用多个不同的hash空间、hash函数和多个过滤器来降低误判率。通过hit的方式直接处理已学习到的大象流,缓解处理压力。
下面步骤演示了如何配置efd参与hash计算的hash-key。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置hash value global
Switch(config)# hash-value global
Switch(config-hash-value-global)# efd select ipsa macsa
Switch(config-hash-value-global)# end
步骤3 检查配置
显示hash value global的信息:
Switch# show hash-value global
LBT:load balance type LBM :load balance mode
PT :packet type HF :hash field
HA :hash arithmetic
hash-value global
LBT LBM PT HF HA
----------------------------------------------------------------------
port-channel - all port-channel xor
ecmp - all ecmp xor
ecmp flow id all ecmp xor
entropy - all ecmp xor
----------------------------------------------------------------------
Efd hash field select:
macsa ipsa
该功能能够根据配置的目的端口对报文进行直接转发,而不用查任何表项再做转发。
目前只能配置在物理端口和聚合端口。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入端口模式并打开端口
Switch(config)# interface range eth-0-1 , eth-0-2
Switch(config-if-range)# no shutdown
步骤3 设置eth-0-1端口port-xconnect的目的端口
Switch(config)# interface eth-0-1
Switch(config-if)# port-xconnect destination-interface eth-0-2
Switch(config-if)# end
步骤4 查看配置情况
Switch# show running-config
Building configuration...
version 5.3.9.18
!
no service password-encryption
!
!
!
!
!
!
!
temperature 0 0 0
!
vlan database
!
interface eth-0-1
port-xconnect destination-interface eth-0-2
!
interface eth-0-2
!
interface eth-0-3
Switch#
无
ARP(Address Resolution Protocol,地址解析协议)用于将网络层的IP 地址解析为数据链路层的物理地址(MAC 地址)。 ARP缓存IP和MAC地址的映射。当一个接口请求的地址映射不在缓存中,则设备将会缓存接收到的报文并在相应的子网内广播一个地址请求,如果获得响应,则生成新的地址映射并且发送缓存的报文。ARP在等待地址映射回应消息的时候最多缓存一个报文,而且只有最近传输的报文才会被保存。如果目的主机在3次请求后都无法响应,则主机被认为故障,同时相应的错误消息将被返回。如果目的主机在一段时间内(通常为一小时)不发送消息,主机被认为可能出现问题,在删除ARP表项之前几个请求(一般为6个,3个是单播和3个是广播)将被发送到主机上。 ARP表项可以通过手工添加、删除、修改。手工添加的表项是永久的。
无
arp
在这个配置例子中,接口eth-0-1被分配地址为11.11.11.1/24,子网地址为11.11.11.0/24。有两个主机,IP地址分别为11.11.11.2和 11.11.11.3,MAC地址分别为001a-a011-eca2和001a-a011-eca3。主机IP为11.11.11.2 的ARP条目通过手工添加,主机IP为11.11.11.3 的ARP条目通过动态添加。 接口eth-0-1的ARP条目老化时间配置为20分钟,ARP请求重发延迟配置为2秒。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置一个三层接口,并配置IP地址
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.11.1/24
步骤3 配置arp老化时间和请求重发延迟时间
Switch(config-if)# arp timeout 1200
Switch(config-if)# arp retry-interval 2
Switch(config-if)# exit
步骤4 添加静态arp条目
Switch(config)# arp 11.11.11.2 1a.a011.eca2
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用下列命令查看arp条目:
Switch# show ip arp
Protocol Address Age (min) Hardware Addr Interface
Internet 11.11.11.2 - 001a.a011.eca2 eth-0-1
Switch# show ip arp summary
1 IP ARP entries, with 0 of them incomplete
(Static:0, Dyamic:0, Interface:1)
ARP Pkt Received is: 0
ARP Pkt Send number is: 0
ARP Pkt Dicard number is: 0
使用下列命令查看ARP请求重发延迟和老化时间:
Switch# show interface eth-0-1
Interface eth-0-1
Interface current state: Administratively DOWN
Hardware is Ethernet, address is 6c02.530c.2300 (bia 6c02.530c.2300)
Bandwidth 1000000 kbits
Index 1 , Metric 1 , Encapsulation ARPA
Speed - Auto , Duplex - Auto , Media type is 1000BASE_T
Link speed type is autonegotiation, Link duplex type is autonegotiation
Input flow-control is off, output flow-control is off
The Maximum Frame Size is 1534 bytes
VRF binding: not bound
Label switching is disabled
No virtual circuit configured
VRRP master of : VRRP is not configured on this interface
ARP timeout 00:20:00, ARP retry interval 2s
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes
Received 0 unicast, 0 broadcast, 0 multicast
0 runts, 0 giants, 0 input errors, 0 CRC
0 frame, 0 overrun, 0 pause input
0 input packets with dribble condition detected
0 packets output, 0 bytes
Transmitted 0 unicast, 0 broadcast, 0 multicast
0 underruns, 0 output errors, 0 pause output
无
代理ARP是ARP协议的一个变种。 对于没有配置缺省网关的计算机要和其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答。代理ARP就是将一个主机作为对另一个主机ARP进行应答。它能使得在不影响路由表的情况下添加一个新的Router,使得子网对该主机来说变得更透明化。同时也会带来巨大的风险,除了ARP欺骗,和某个网段内的ARP增加,最重要的就是无法对网络拓扑进行网络概括。proxy ARP的最主要的一个优点在于能够在不影响其他router的路由表的情况下在网络上添加一个新的router,这样使得子网的变化对主机是透明的 。代理ARP的使用一般是使用在没有配置默认网关和路由策略的网络上的。 代理ARP又分为普通的ARP代理和本地ARP代理。 同一网段内连接到设备的不同VLAN 接口的主机,可以利用设备的代理ARP功能,通过三层转发实现互通。 为了实现三层互通,如果以太网交换机或其下挂的交换机开启了二层端口隔离功能,则需要开启本地代理ARP功能。注意:本地ARP代理功能开启后,ICMP重定向功能将自动关闭。
无
arp proxy
如上图所示,PC1属于VLAN10,PC2属于VLAN20,在VLAN interface10和VLAN interface 20上各自配置ARP代理以实现PC1和PC2之间的互通。 按照下面的配置步骤在VLAN10和VLAN 20上使能ARP代理功能。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10,20
Switch(config-vlan)# exit
步骤3 进入接口配置模式并将接口加入vlan
Switch(config)# interface eth-0-22
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-23
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤4 创建三层接口并配置ip地址,然后使能arp代理功能
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1/24
Switch(config-if)# proxy-arp enable
Switch(config-if)# exit
Switch(config)# interface vlan 20
Switch(config-if)# ip address 192.168.20.1/24
Switch(config-if)# proxy-arp enable
Switch(config-if)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用下列命令查看交换机上的arp proxy配置:
Switch# show ip interface vlan 10
Interface vlan10
Interface current state: UP
Internet address(es):
192.168.10.1/24 broadcast 192.168.10.255
Joined group address(es):
224.0.0.1
The maximum transmit unit is 1500 bytes
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are always sent
ARP timeout 01:00:00, ARP retry interval 1s
ARP Proxy is enabled, Local ARP Proxy is disabled
VRRP master of : VRRP is not configured on this interface
Switch# show ip interface vlan 20
Interface vlan20
Interface current state: UP
Internet address(es):
192.168.20.1/24 broadcast 192.168.20.255
Joined group address(es):
224.0.0.1
The maximum transmit unit is 1500 bytes
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are always sent
ARP timeout 01:00:00, ARP retry interval 1s
ARP Proxy is enabled, Local ARP Proxy is disabled
VRRP master of : VRRP is not configured on this interface
使用下列命令查看arp表项:
Switch# show ip arp
Protocol Address Age (min) Hardware Addr Interface
Internet 192.168.10.1 - 7cc3.11f1.aa00 vlan10
Internet 192.168.10.111 5 0cf9.11b6.6e2e vlan10
Internet 192.168.20.1 - 7cc3.11f1.aa00 vlan20
Internet 192.168.20.222 6 5a94.031f.2357 vlan20
使用下列命令检查PC1的状态:
[Host:~]$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 0C:F9:11:B6:6E:2E
inet addr:192.168.10.111 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1600 Metric:1
RX packets:11 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:588 (588.0 b) TX bytes:700 (700.0 b)
Interrupt:5
[Host:~]$ arp –a
? (192.168.20.222) at 7c:c3:11:f1:aa:00 [ether] on eth0
[Host: ~]$ route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
[Host:~]$ ping 192.168.20.222
PING 192.168.20.222 (192.168.20.222) 56(84) bytes of data.
64 bytes from 192.168.20.222: icmp_seq=0 ttl=63 time=189 ms
64 bytes from 192.168.20.222: icmp_seq=1 ttl=63 time=65.2 ms
--- 192.168.20.222 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 65.209/127.226/189.244/62.018 ms, pipe 2
使用下列命令检查PC2的状态:
[Host:~]$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 5A:94:03:1F:23:57
inet addr:192.168.20.222 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1600 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:784 (784.0 b) TX bytes:1174 (1.1 KiB)
Interrupt:5
[Host:~]$ arp -a
? (192.168.10.111) at 7c:c3:11:f1:aa:00 [ether] on eth0
[Host: ~]$ route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
[Host: ~]$ ping 192.168.10.111
PING 192.168.10.111 (192.168.10.111) 56(84) bytes of data.
64 bytes from 192.168.10.111: icmp_seq=0 ttl=63 time=53.8 ms
64 bytes from 192.168.10.111: icmp_seq=1 ttl=63 time=65.8 ms
--- 192.168.10.111 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1007ms
rtt min/avg/max/mdev = 53.832/59.842/65.852/6.010 ms, pipe 2
local arp proxy
如上图所示,Switch B上的3个2层端口eth2,eth3和eth4都属于VLAN10,其中端口3和端口4在同一个隔离组1,所以端口3和端口4不能互相通信。端口2在隔离组3,所以端口2能和端口3,4互相通信。PC1和PC2分别连接到Switch B的eth3和eth4口,它们都属于VLAN10。 通过如下配置步骤,使PC1和PC2之间实现3层互通。
以下配置如无特殊说明则SwitchA和SwitchB的配置相同。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# exit
步骤3 进入接口配置模式并将接口加入vlan
Switch A配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch B配置:
Switch(config)# interface range eth-0-2 - 4
Switch(config-if-range# switchport access vlan 10
Switch(config-if-range# no shutdown
Switch(config-if-range# exit
步骤4 创建三层接口并配置ip地址,然后使能本地arp代理功能
Switch A配置:
Switch(config)# interface vlan 10
Switch(config-if)# ip address 192.168.10.1/24
Switch(config-if)# local-proxy-arp enable
Switch(config-if)# exit
步骤5 配置端口隔离(可选)
Switch B配置:
通过以下配置,使Switch B上eth-0-3和eth-0-4之间不能二层互通,但是eth-0-3和eth-0-4分别可以和eth-0-2二层互通。
Switch(config)# port-isolate mode l2
Switch(config)# interface eth-0-3 - 4
Switch(config-if-range# port-isolate group 1
Switch(config-if-range# exit
Switch(config)# interface eth-0-2
Switch(config-if)# port-isolate group 3
Switch(config-if)# exit
步骤6 检查配置
使用下列命令查看Switch A上的arp表项:
Switch# show ip arp
Protocol Address Age (min) Hardware Addr Interface
Internet 192.168.10.1 - eeb4.2a8d.6c00 vlan10
Internet 192.168.10.111 0 34b0.b279.5f67 vlan10
Internet 192.168.10.222 0 2a65.9618.57fa vlan10
使用下列命令查看Switch A上的arp proxy相关配置:
Switch# show ip interface vlan 10
Interface vlan10
Interface current state: UP
Internet address(es):
192.168.10.1/24 broadcast 192.168.10.255
Joined group address(es):
224.0.0.1
The maximum transmit unit is 1500 bytes
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are never sent
ICMP unreachables are always sent
ICMP mask replies are always sent
ARP timeout 01:00:00, ARP retry interval 1s
ARP Proxy is disabled, Local ARP Proxy is enabled
VRRP master of : VRRP is not configured on this interface
使用下列命令检查PC1的状态:
[Host: ~]$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 34:B0:B2:79:5F:67
inet addr:192.168.10.111 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1600 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1344 (1.3 KiB) TX bytes:2240 (2.1 KiB)
Interrupt:5
[Host: ~]$ arp -a
? (192.168.10.222) at ee:b4:2a:8d:6c:00 [ether] on eth0
[Host: ~]$ ping 192.168.10.222
PING 192.168.10.222 (192.168.10.222) 56(84) bytes of data.
64 bytes from 192.168.10.222: icmp_seq=0 ttl=63 time=131 ms
64 bytes from 192.168.10.222: icmp_seq=1 ttl=63 time=159 ms
--- 192.168.10.222 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 131.078/145.266/159.454/14.188 ms, pipe 2
使用下列命令检查PC2的状态:
[Host:~]$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 2A:65:96:18:57:FA
inet addr:192.168.10.222 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1600 Metric:1
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1148 (1.1 KiB) TX bytes:1524 (1.4 KiB)
Interrupt:5
[Host:~]$ arp -a
? (192.168.10.111) at ee:b4:2a:8d:6c:00 [ether] on eth0
[Host: ~]$ ping 192.168.10.111
PING 192.168.10.111 (192.168.10.111) 56(84) bytes of data.
64 bytes from 192.168.10.111: icmp_seq=0 ttl=63 time=198 ms
64 bytes from 192.168.10.111: icmp_seq=1 ttl=63 time=140 ms
64 bytes from 192.168.10.111: icmp_seq=2 ttl=63 time=146 ms
--- 192.168.10.111 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2008ms
rtt min/avg/max/mdev = 140.196/161.959/198.912/26.267 ms, pipe 2
无
DHCP(Dynamic Host Configuration Protocol) client通过DHCP协议从DHCP server动态获得ip地址和配置参数。若客户端和服务器都在一个子网内,则客户端和服务器之间可以直接进行DHCP协议的交互,否则需要有DHCP relay agent转发DHCP消息。 DHCP client通过DHCP广播报文向DHCP server请求ip地址,在获得ip地址和相应的租期后,配置地址并设置租期的时间。在租期过半的时候开始发送DHCP报文请求继续使用当前的ip地址,并期望获得新的租期。在成功续租后,DHCP client更新租期的时间。 DHCP client可以向server请求的选项包括:router,static-route,classless-static-route,classless-static-route-ms,tftp-server-address,dns-nameserver ,domain-name,netbios-nameserver,vendor-specific。选项router,static-route,classless-static-route,classless-static-route-ms,tftp-server-address默认是被请求的,可以通过命令取消这些请求。
无
dhcp client
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,设置接口属性并使能接口
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
步骤3 取消static-route选项请求并启用DHCP client
Switch(config-if)# no dhcp client request static-route
Switch(config-if)# ip address dhcp
步骤4 退出配置模式
Switch(config-if)# end
步骤5 检查配置
检查接口配置
Switch# show running-config interface eth-0-1
Building configuration...
!
interface eth-0-1
no switchport
ip address dhcp
no dhcp client request static-route
!
检查DHCP client工作状态
Switch# show dhcp client verbose
DHCP client informations:
============================================================
eth-0-1 DHCP client information:
Current state: BOUND
Allocated IP: 4.4.4.199 255.255.255.0
Lease/renewal/rebinding: 1187/517/1037 seconds
Lease from 2011-11-18 05:59:59 to 2011-11-18 06:19:59
Will Renewal in 0 days 0 hours 8 minutes 37 seconds
DHCP server: 4.4.4.1
Transaction ID: 0x68857f54
Client ID: switch-7e39.3457.b700-eth-0-1
显示DHCPclient统计
Switch# show dhcp client statistics
DHCP client packet statistics:
============================================================
DHCP OFFERS received: 1
DHCP ACKs received: 2
DHCP NAKs received: 0
DHCP Others received: 0
DHCP DISCOVER sent: 1
DHCP DECLINE sent: 0
DHCP RELEASE sent: 0
DHCP REQUEST sent: 2
DHCP packet send failed: 0
无
DHCP服务器和客户端都在一个子网内,则客户端和服务器之间可以直接进行DHCP协议的交互,这时不需要启动DHCP Relay功能。如果DHCP服务器和客户端不在一个子网内,则需要启动DHCP Relay功能将DHCP报文转发到外部的DHCP服务器。
DHCP Relay转发同正常的IP路由转发不同,IP路由转发的IP数据包在网络之间透明交换,而DHCP Relay代理接收DHCP消息同时产生一个新的DHCP消息发送到另一个接口。DHCP Relay代理在报文中设置网关地址,添加中继代理信息(option82),转发到DHCP服务器端。通过DHCP Relay代理,在收到服务器响应的消息时,会移除消息中option82内容后,转发给客户端。
无
DHCP relay
上图为测试DHCP中继代理功能的网络拓扑,需要两台PC机和一台交换机构建测试环境。
计算机A作为DHCP服务器
计算机B作为DHCP客户端
交换机作为DHCP中继代理
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址
Switch(config)# interface eth-0-12
Switch(config-if)# no switchport
Switch(config-if)# ip address 4.4.4.2/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 5.5.5.2/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤3 创建DHCP服务器
Switch(config)# dhcp-server 1 4.4.4.1
步骤4 端口使能DHCP服务器、启用option82
Switch(config)# interface eth-0-1
Switch(config-if)# dhcp relay information trusted
Switch(config-if)# dhcp-server 1
Switch(config-if)# exit
步骤5 全局使能DHCP服务器和DHCP relay功能
Switch(config)# service dhcp enable
Switch(config)# dhcp relay
步骤6 检查配置
检查接口配置。
Switch# show running-config interface eth-0-12
!
interface eth-0-12
no switchport
ip address 4.4.4.2/24
!
Switch# show running-config interface eth-0-1
!
interface eth-0-1
no switchport
dhcp relay information trusted
dhcp-server 1
ip address 5.5.5.2/24
!
检查DHCP服务器状态。
Switch# show services
Networking services configuration:
Service Name Status
===========================================================
dhcp enable
检查DHCP服务器组配置。
Switch# show dhcp-server
DHCP server group information:
===========================================================
group 1 ip address list:
[1] 4.4.4.1
显示DHCP中继统计检查DHCP中继统计。
Switch# show dhcp relay statistics
DHCP relay packet statistics:
===========================================================
Client relayed packets: 20
Server relayed packets: 20
Client error packets: 20
Server error packets: 0
Bogus GIADDR drops: 0
Bad circuit ID packets: 0
Corrupted agent options: 0
Missing agent options: 0
Missing circuit IDs: 0
检查计算机从DHCP服务器获取的IP地址。
Ipconfig /all
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 5.5.5.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 5.5.5.2
DHCP Server . . . . . . . . . . . : 4.4.4.1
DNS Servers . . . . . . . . . . . : 4.4.4.1
无
DHCP server 通过DHCP协议为client提供ip地址和网络配置参数。为了能够给客户端提供DHCP服务,DHCP server需要完成一些基本的配置,例如,地址池的分配,默认网关的设置,网络参数的设置。在实际工作的时候,DHCP server会从设置的地址池内找到可用的地址分配给请求地址的DHCP client,同时,将client请求的网络配置参数发送给client。这些分配的地址和参数都有一个有效期限(租约),client需要在到期之前向server发出续约请求,保留自己的ip地址,同时更新租约。
在实际环境中,若DHCP server和DHCP client在同一子网内,则DHCP server在直接相连后就可以正常工作。若它们不在同一网段内,则DHCP server需要DHCP relay协助转发DHCP 消息,才能为client提供DHCP 服务。
DHCP server支持的主要option包括:bootfile-name,dns-server,domain-name,gateway,netbios-name-server,netbios-node-type,tftp-server-address。同时,支持部分raw option。
无
DHCP server
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局启用DHCP服务,配置地址池
在dut1上配置:
Switch(config)#service dhcp enable
Switch(config)#dhcp server
Switch(config)#dhcp pool pool5
Switch(dhcp-config)#network 5.5.5.0/24
Switch(dhcp-config)#gateway 5.5.5.1
Switch(dhcp-config)#exit
步骤3 进入接口配置模式,配置接口属性和IP地址
在dut1上配置:
Switch(config)#interface eth-0-9
Switch (config-if)#no switchport
Switch (config-if)# no shutdown
Switch (config-if)# ip address 5.5.5.1/24
Switch (config-if)# dhcp server enable
Switch (config-if)#exit
在dut2上配置:
Switch#configure terminal
Switch(config)#interface eth-0-9
Switch (config-if)#no switchport
Switch (config-if)# no shutdown
Switch (config-if)# ip address dhcp
Switch (config-if)#exit
步骤4 检查配置
查看DHCP Server(dut1)配置:
Switch# show running-config
!
service dhcp enable
!
interface eth-0-9
no switchport
dhcp server enable
ip address 5.5.5.1/24!
!
dhcp server
dhcp pool pool5
network 5.5.5.0/24
gateway 5.5.5.1
DHCP Client(dut2)上查看DHCP client状态:
Switch# show dhcp client verbose
DHCP client informations:
============================================================
eth-0-9 DHCP client information:
Current state: BOUND
Allocated IP: 5.5.5.2 255.255.255.0
Lease/renewal/rebinding: 1194/546/1044 seconds
Lease from 2012-02-04 07:40:12 to 2012-02-04 08:00:12
Will Renewal in 0 days 0 hours 9 minutes 6 seconds
DHCP server: 5.5.5.1
Transaction ID: 0x45b0b27b
Default router: 5.5.5.1
Classless static route:
Destination: 5.5.4.0, mask: 255.255.255.0, Nexthop: 5.5.5.1
TFTP server addresses: 5.5.5.3
Client ID: switch-6e6e.361f.8400-eth-0-9
DHCP Server(dut1)上查看DHCP server统计:
Switch# show dhcp server statistics
DHCP server packet statistics:
============================================================
Message Received:
BOOTREQUEST: 0
DHCPDISCOVER: 1
DHCPREQUEST: 1
DHCPDECLINE: 0
DHCPRELEASE: 0
DHCPINFORM: 0
Message Sent:
BOOTREPLY: 0
DHCPOFFER: 1
DHCPACK: 1
DHCPNAK: 0
DHCP Server(dut1)上查看DHCP server地址分配及接口信息:
Switch# show dhcp server binding all
IP address Client-ID/ Lease expiration Type
Hardware address
5.5.5.2 6e:6e:36:1f:84:00 Sat 2012.02.04 08:00:12 Dynamic
Switch# show dhcp server interfaces
List of DHCP server enabled interface(s):
DHCP server service status: enabled
Interface Name
============================================================
eth-0-9
DHCP relay
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局启用DHCP服务,配置地址池,配置DHCP relay
在dut1上配置:
Switch(config)#service dhcp enable
Switch(config)#dhcp server
Switch(dhcp-config)#dhcp pool pool4
Switch(dhcp-config)#network 4.4.4.0/24
Switch(dhcp-config)#gateway 4.4.4.1
Switch(dhcp-config)#exit
在dut2上配置:
Switch(config)#service dhcp enable
Switch(config)#dhcp relay
Switch(config)#dhcp-server 1 5.5.5.1
步骤3 配置路由
在dut1上配置:
Switch(config)#ip route 4.4.4.0/24 5.5.5.2
步骤4 进入接口配置模式,配置接口属性和IP地址
在dut1上配置:
Switch(config)#interface eth-0-9
Switch (config-if)#no switchport
Switch (config-if)# no shutdown
Switch (config-if)# ip address 5.5.5.1/24
Switch (config-if)# dhcp server enable
Switch (config-if)#exit
在dut2上配置:
Switch(config)#interface eth-0-17
Switch (config-if)#no switchport
Switch (config-if)# no shutdown
Switch (config-if)# ip address 4.4.4.1/24
Switch (config-if)# dhcp-server 1
Switch (config-if)#interface eth-0-9
Switch (config-if)#no switchport
Switch (config-if)# no shutdown
Switch (config-if)# ip address 5.5.5.2/24
Switch (config-if)#exit
在dut3上配置:
Switch(config)#interface eth-0-17
Switch (config-if)#no switchport
Switch (config-if)# no shutdown
Switch (config-if)# ip address dhcp
Switch (config-if)#exit
step 5 Exit the configure mode
Switch(config)# end
step 6 Validation
查看DHCP Server(dut1)配置:
Switch# show running-config
!
service dhcp enable
!
interface eth-0-9
no switchport
dhcp server enable
ip address 5.5.5.1/24!
!
ip route 4.4.4.0/24 5.5.5.2
!
dhcp server
dhcp pool pool4
network 4.4.4.0/24
gateway 4.4.4.1
DHCP Server(dut1)上查看DHCP client状态:
Switch# show dhcp client verbose
DHCP client informations:
============================================================
eth-0-17 DHCP client information:
Current state: BOUND
Allocated IP: 4.4.4.5 255.255.255.0
Lease/renewal/rebinding: 1199/517/1049 seconds
Lease from 2012-02-06 05:23:09 to 2012-02-06 05:43:09
Will Renewal in 0 days 0 hours 8 minutes 37 seconds
DHCP server: 5.5.5.1
Transaction ID: 0x192a4f7d
Default router: 4.4.4.1
Classless static route:
Destination: 5.5.4.0, mask: 255.255.255.0, Nexthop: 4.4.4.1
TFTP server addresses: 5.5.5.3
Client ID: switch-3c9a.b29a.ba00-eth-0-17
DHCP Server(dut1)上查看DHCP server统计:
Switch# show dhcp server statistics
DHCP server packet statistics:
============================================================
Message Received:
BOOTREQUEST: 0
DHCPDISCOVER: 1
DHCPREQUEST: 1
DHCPDECLINE: 0
DHCPRELEASE: 0
DHCPINFORM: 0
Message Sent:
BOOTREPLY: 0
DHCPOFFER: 1
DHCPACK: 1
DHCPNAK: 0
DHCP Server(dut1)上查看DHCP server地址分配及接口信息:
Switch# show dhcp server binding all
IP address Client-ID/ Lease expiration Type
Hardware address
4.4.4.5 3c:9a:b2:9a:ba:00 Mon 2012.02.06 05:43:09 Dynamic
Switch# show dhcp server interfaces
List of DHCP server enabled interface(s):
DHCP server service status: enabled
Interface Name
============================================================
eth-0-9
无
DNS是域名系统(Domain Name System)的缩写,通过这个分布式数据库,你可以将主机名称映射到IP地址。当你在交换机上配置DNS时,你可以在所有与IP相关的命令,如ping、telnet、connect以及telnet支持的其他相关操作中用主机名代替IP地址。 IP被定义为一个有层次的名称摘要。这些域名使用点(.)分隔。 要解析域名,必须要定义一个域名服务器,该服务器保存了将域名解析为IP地址的域名缓存(或数据库)。为了能够将域名解析为ip地址,用户必须指定本网络中有效的服务器,然后再启用DNS。
无
DNS
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置dns域名和服务器地址
Switch(config)#dns domain server1
Switch(config)#dns server 202.100.10.20
步骤3 设置静态域名解析表中主机名及其对应的主机IPv4地址(可选)
Switch(config)# ip host www.example1.com 192.0.2.141
步骤4 检查配置
Switch# show dns server
Current DNS name server configuration:
Server IP Address
--------------------------------------------------------------
1 nameserver 202.100.10.20
无
静态路由是一种特殊的路由,由管理员手工配置。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。合理设置和使用静态路由可以改进网络性能,并可为重要的网络应用保证带宽。静态路由的缺点在于:当网络发生故障或者拓扑发生变化后,可能会出现路由不可达,从而导致网络中断。此时必须由网络管理员手工修改静态路由的配置。
静态路由在小型网络中非常有用,提供使几个目的地可达的简单解决方案。大型网络建议使用动态路由协议。
静态路由是由网络前缀(主机地址)和下一跳(网关)组成。
无
ip unicast routing
这个例子说明在一个简单的网络拓扑结构下如何使能静态路由。
路由器Switch1配置三个静态路由,一个是远程网络10.10.12.0/24,另外两个是到路由器Switch2和Switch3的环回地址(主机地址)。路由器Switch3配置了一条默认静态路由,相当于单独的静态路由配置使用相同的网关或下一跳地址。路由器Switch2有两条路由,每一条路由的目的地都是远端路由器的环回口地址。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址
在Switch1配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.1/24
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 192.168.0.1/32
Switch(config-if)# exit
在Switch2配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.2/24
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.12.2/24
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 192.168.0.2/32
Switch(config-if)# exit
在Switch3配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.12.3/24
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip add 192.168.0.3/32
Switch(config-if)# exit
步骤3 配置静态路由
在Switch1配置:
说明:指定目的前缀和掩码网关所需网络,例如,10.10.12.0/24,为他们每个添加网关(对此所有情况下位 10.10.10.2)。由于Switch2是唯一可用的下一跳,可以配置默认路由而不是配置为单独的地址
Switch(config)# ip route 10.10.12.0/24 10.10.10.2
Switch(config)# ip route 192.168.0.2/32 10.10.10.2
Switch(config)# ip route 192.168.0.3/32 10.10.10.2
在Switch2配置:
Switch(config)# ip route 192.168.0.1/32 10.10.10.1
Switch(config)# ip route 192.168.0.3/32 10.10.12.3
在Switch3配置:
说明:指定10.10.12.2作为到达任意网络的默认网关,因为10.10.12.2是唯一的一条可以指定默认网关,而不是单个网络或主机的网关指定。
Switch(config)# ip route 0.0.0.0/0 10.10.12.2
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
使用下列命令,查看Switch1上的路由:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
C 10.10.10.0/24 is directly connected, eth-0-9
C 10.10.10.1/32 is in local loopback, eth-0-9
S 10.10.12.0/24 [1/0] via 10.10.10.2, eth-0-9
C 192.168.0.1/32 is directly connected, loopback0
S 192.168.0.2/32 [1/0] via 10.10.10.2, eth-0-9
S 192.168.0.3/32 [1/0] via 10.10.10.2, eth-0-9
使用下列命令,查看Switch2上的路由:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
C 10.10.10.0/24 is directly connected, eth-0-9
C 10.10.10.2/32 is in local loopback, eth-0-9
C 10.10.12.0/24 is directly connected, eth-0-17
C 10.10.12.2/32 is in local loopback, eth-0-17S 192.168.0.1/32 [1/0] via 10.10.10.1, eth-0-9
C 192.168.0.2/32 is directly connected, loopback0
S 192.168.0.3/32 [1/0] via 10.10.12.3, eth-0-17
使用下列命令,查看Switch3上的路由:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
Gateway of last resort is 10.10.12.2 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 10.10.12.2, eth-0-17
C 10.10.12.0/24 is directly connected, eth-0-17
C 10.10.12.3/32 is in local loopback, eth-0-17
C 192.168.0.3/32 is directly connected, loopback0
无
RIP(Routing Information Protocol,路由信息协议)是一种较为简单的内部网关协议(Interior Gateway Protocol,IGP),主要用于规模较小的网络中。
RIP是一种基于距离矢量(Distance-Vector)算法的协议,它通过UDP报文进行路由信息的交换。RIP 使用跳数(Hop Count)来衡量到达目的地址的距离,称为路由权(RoutingCost)。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定cost的取值为0~15之间的整数,cost取值大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。
为提高性能,防止产生路由环,RIP支持水平分割(Split Horizon)。RIP还可引入其它路由协议所得到的路由。
参考 2453
enable rip
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址
在Switch1配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.10/24
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.10/24
Switch(config-if)# exit
在Switch2配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.12.10/24
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.50/24
Switch(config-if)# exit
步骤3 启用rip路由,发布需要的网段
在Switch1配置:
Switch(config)# router rip
Switch(config-router)#network 10.10.10.0/24
Switch(config-router)#network 10.10.11.0/24
Switch(config-router)# exit
在Switch2配置:
Switch(config)# router rip
Switch(config-router)#network 10.10.11.0/24
Switch(config-router)#network 10.10.12.0/24
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用下列命令查看Switch1 rip数据库:
Switch# show ip rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, K - Kernel,
C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop Metric From If Time
Rc 10.10.10.0/24 1 eth-0-1
Rc 10.10.11.0/24 1 eth-0-9
R 10.10.12.0/24 10.10.11.50 2 10.10.11.50 eth-0-9 00:02:52
使用下列命令查看Switch1 rip协议运行状态:
Switch# show ip protocols rip
Routing protocol is "rip"
Sending updates every 30 seconds with +/-5 seconds, next due in 17 seconds
Timeout after 180 seconds, Garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Default redistribution metric is 1
Redistributing:
Default version control: send version 2, receive version 2
Interface Send Recv Key-chain
eth-0-1 2 2
eth-0-9 2 2
Routing for Networks:
10.10.10.0/24
10.10.11.0/24
Routing Information Sources:
Gateway Distance Last Update Bad Packets Bad Routes
10.10.11.50 120 00:00:22 0 0
Number of routes (including connected): 3
Distance: (default is 120)
使用下列命令查看Switch1 rip端口状态:
Switch# show ip rip interface
eth-0-1 is up, line protocol is up
Routing Protocol: RIP
Receive RIP packets
Send RIP packets
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IP interface address:
10.10.10.10/24
eth-0-9 is up, line protocol is up
Routing Protocol: RIP
Receive RIP packets
Send RIP packets
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IP interface address:
10.10.11.10/24
使用下列命令查看Switch1上的路由:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
C 10.10.10.0/24 is directly connected, eth-0-1
C 10.10.10.10/32 is in local loopback, eth-0-1
C 10.10.11.0/24 is directly connected, eth-0-9
C 10.10.11.10/32 is in local loopback, eth-0-9
R 10.10.12.0/24 [120/2] via 10.10.11.50, eth-0-9, 00:25:50
rip version
配置路由接口发送接收的RIP版本。在下面例子中Switch2 在eth-0-9和eth-0-20上面发送和接收的RIP版本是v1和v2。
步骤1 进入配置模式
以下配置在Switch2进行:
Switch# configure terminal
步骤2 启用路由协议
Switch(config)# router rip
Switch(config-router)# exit
步骤3 进入接口配置模式,配置接口rip版本信息
Switch(config)# interface eth-0-9
Switch(config-if)# ip rip send version 1 2
Switch(config-if)# ip rip receive version 1 2
Switch(config-if)# quit
Switch(config)# interface eth-0-20
Switch(config-if)# ip rip send version 1 2
Switch(config-if)# ip rip receive version 1 2
Switch(config-if)# quit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
使用下列命令,查看Switch1配置:
Switch# show running-config
interface eth-0-9
no switchport
ip address 10.10.11.10/24
!
router rip
network 10.10.11.0/24
使用下列命令,查看Switch2的rip数据库信息:
Switch# show ip rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, K - Kernel,
C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop Metric From If Time
R 10.0.0.0/8 1 eth-0-9
Rc 10.10.11.0/24 1 eth-0-9
Rc 10.10.12.0/24 1 eth-0-20
使用下列命令,查看Switch2的rip协议运行状态信息:
Switch# show ip protocols rip
Routing protocol is "rip"
Sending updates every 30 seconds with +/-5 seconds, next due in 1 seconds
Timeout after 180 seconds, Garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Default redistribution metric is 1
Redistributing:
Default version control: send version 2, receive version 2
Interface Send Recv Key-chain
eth-0-9 1 2 1 2
eth-0-20 1 2 1 2
Routing for Networks:
10.10.11.0/24
10.10.12.0/24
Routing Information Sources:
Gateway Distance Last Update Bad Packets Bad Routes
10.10.11.10 120 00:00:22 0 0
10.10.12.50 120 00:00:27 0 0
Number of routes (including connected): 3
Distance: (default is 120)
使用下列命令,查看Switch2的使用下列命令查看rip端口状态:
Switch# show ip rip interface
eth-0-9 is up, line protocol is up
Routing Protocol: RIP
Receive RIPv1 and RIPv2 packets
Send RIPv1 and RIPv2 packets
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IP interface address:
10.10.11.50/24
eth-0-20 is up, line protocol is up
Routing Protocol: RIP
Receive RIPv1 and RIPv2 packets
Send RIPv1 and RIPv2 packets
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IP interface address:
10.10.12.10/24
使用下列命令,查看Switch2的配置:
Switch# show run
interface eth-0-9
no switchport
ip address 10.10.11.50/24
ip rip send version 1 2
ip rip receive version 1 2
!
interface eth-0-20
no switchport
ip address 10.10.12.10/24
ip rip send version 1 2
ip rip receive version 1 2
!
router rip
network 10.10.11.0/24
network 10.10.12.0/24
使用下列命令,查看Switch3配置:
Switch# show running-config
interface eth-0-20
no switchport
ip address 10.10.12.50/24
!
router rip
network 10.10.12.0/24
rip metric
附加度量值是附加在RIP路由上的输入输出度量值,包括发送附加度量值和接收附加度量值。发送附加度量值不会改变路由表中的路由度量值,仅当接口发送RIP路由信息时才会添加到发送路由上;接收附加度量值会影响接收到的路由度量值,接口接收到一条合法的RIP 路由时,在将其加入路由表前会把度量值附加到该路由上。附加度量值一般包括如下的参数:
•指定增加路由Metric的ACL,参数说明如下:
•In:应用在从邻居路由器学习到的RIP的路由上
•Out:应用在发布给邻居路由器RIP通告上
•匹配ACL路由的偏移值Metric
•应用偏移列表的接口
如果有一个路由匹配全局偏移表(不指定接口)和一个基于接口的偏移列表,此时基于接口的偏移列表优先。在这种情况下,基于接口的偏移列表的度量值是被加到路由上。
下面例子讲述如何在Switch1上将1.1.1.0在eth-0-13接口上增加metric 3。
步骤1 环境准备, 检查已有配置
Switch1
interface eth-0-1
no switchport
ip address 1.1.1.1/24
!
interface eth-0-9
no switchport
ip address 10.10.11.10/24
!
interface eth-0-13
no switchport
ip address 13.1.1.1/24
!
router rip
network 1.1.1.0/24
network 10.10.11.0/24
network 13.1.1.0/24
Switch2
interface eth-0-9
no switchport
ip address 10.10.11.50/24
!
interface eth-0-20
no switchport
ip address 10.10.12.10/24
!
router rip
network 10.10.11.0/24
network 10.10.12.0/24
Switch3
interface eth-0-13
no switchport
ip address 13.1.1.2/24
!
interface eth-0-20
no switchport
ip address 10.10.12.50/24
!
router rip
network 10.10.12.0/24
network 13.1.1.0/24
Switch3上已学到rip路由,显示如下:
Switch# show ip route rip
R 1.1.1.0/24 [120/2] via 13.1.1.1, eth-0-13, 00:07:46
R 10.10.11.0/24 [120/2] via 13.1.1.1, eth-0-13, 00:07:39
[120/2] via 10.10.12.10, eth-0-20, 00:07:39
Change router 1.1.1.0/24 via 10.10.12.10
步骤2 进入配置模式
以下配置在Switch1进行:
Switch# configure terminal
步骤3 配置ACL
Switch(config)#ip access-list ripoffset
Switch(config-ip-acl)#permit any 1.1.1.0 0.0.0.255 any
步骤4 启用rip路由,设置偏移列表的Metric值
Switch(config-ip-acl)# router rip
Switch(config-router)# offset-list ripoffset out 3 eth-0-13
步骤5 退出配置模式
Switch(config-router)# end
步骤6 检查配置
Switch3上学到rip路由,其中Switch1发布的路由metric变为3,显示如下:
Switch# show ip route rip
R 1.1.1.0/24 [120/3] via 10.10.12.10, eth-0-20, 00:00:02
R 10.10.11.0/24 [120/2] via 13.1.1.1, eth-0-13, 00:11:40
[120/2] via 10.10.12.10, eth-0-20, 00:11:40
rip distance
默认情况下,RIP的管理距离是120。比较路由时,管理距离越低,路由越容易被选中。
下面例子讲述了如何修改RIP的管理距离,通过以下步骤改变Switch3上的1.1.1.0网段的RIP管理距离。
步骤1 环境准备, 检查已有配置
Switch1
interface eth-0-1
no switchport
ip address 1.1.1.1/24
!
interface eth-0-9
no switchport
ip address 10.10.11.10/24
!
router ospf
network 1.1.1.0/24 area 0
network 10.10.11.0/24 area 0
!
router rip
network 1.1.1.0/24
network 10.10.11.0/24
Switch2
interface eth-0-9
no switchport
ip address 10.10.11.50/24
!
interface eth-0-20
no switchport
ip address 10.10.12.10/24
!
router ospf
network 10.10.11.0/24 area 0
network 10.10.12.0/24 area 0
!
router rip
network 10.10.11.0/24
network 10.10.12.0/24
Switch3
interface eth-0-20
no switchport
ip address 10.10.12.50/24
!
router ospf
network 10.10.12.0/24 area 0
!
router rip
network 10.10.12.0/24
Switch3上已学到的路由,显示如下:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
O 1.1.1.0/24 [110/3] via 10.10.12.10, eth-0-20, 01:05:49
O 10.10.11.0/24 [110/2] via 10.10.12.10, eth-0-20, 01:05:49
C 10.10.12.0/24 is directly connected, eth-0-20
C 10.10.12.50/32 is in local loopback, eth-0-20
步骤2 进入配置模式
以下配置在Switch3进行:
Switch# configure terminal
步骤3 配置ACL
Switch(config)#ip access-list ripdistancelist
Switch(config-ip-acl)#permit any 1.1.1.0 0.0.0.255 any
步骤4 启用rip路由,设置RIP路由的管理距离
Switch(config-ip-acl)# router rip
Switch(config-router)# distance 100 0.0.0.0/0 ripdistancelist
步骤5 退出配置模式
Switch(config-router)# end
步骤6 检查配置
Switch3上学到rip路由,其中rip路由管理距离变为100,显示如下:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
R 1.1.1.0/24 [100/3] via 10.10.12.10, eth-0-20, 00:00:02
O 10.10.11.0/24 [110/2] via 10.10.12.10, eth-0-20, 01:10:42
C 10.10.12.0/24 is directly connected, eth-0-20
C 10.10.12.50/32 is in local loopback, eth-0-20
rip redistribute
用户可以将静态路由,直连路由以及其他路由协议比如OSPF的路由重分布到RIP中并被RIP发送给它的邻居。
默认RIP的重发布Metric为1,最大16。
将特定的路由重发布到RIP上,其度量值可以是默认的,也可以是修改后的。 下面例子讲述如何重分布其他的路由信息到RIP。
步骤1 环境准备, 检查已有配置
Switch1
interface eth-0-9
no switchport
ip address 10.10.11.10/24
!
router rip
network 10.10.11.0/24
Switch2
interface eth-0-1
no switchport
ip address 2.2.2.2/24
!
interface eth-0-9
no switchport
ip address 10.10.11.50/24
!
interface eth-0-20
no switchport
ip address 10.10.12.10/24
!
router ospf
network 10.10.12.0/24 area 0
!
router rip
network 10.10.11.0/24
!
ip route 20.20.20.0/24 10.10.12.50
Switch3
interface eth-0-1
no switchport
ip address 3.3.3.3/24
!
interface eth-0-2
no switchport
ip address 20.20.20.20/24
!
interface eth-0-20
no switchport
ip address 10.10.12.50/24
!
router ospf
network 3.3.3.0/24 area 0
network 10.10.12.0/24 area 0
Switch1上已学到的路由,显示如下:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
C 10.10.11.0/24 is directly connected, eth-0-9
C 10.10.11.10/32 is in local loopback, eth-0-9
Switch2上已学到的路由,显示如下:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
C 2.2.2.0/24 is directly connected, eth-0-1
C 2.2.2.02/32 is in local loopback, eth-0-1
O 3.3.3.0/24 [110/2] via 10.10.12.50, eth-0-20, 01:05:41
C 10.10.11.0/24 is directly connected, eth-0-9
C 10.10.11.50/32 is in local loopback, eth-0-9
C 10.10.12.0/24 is directly connected, eth-0-20
C 10.10.12.10/24 is in local loopback, eth-0-20
S 20.20.20.0/24 [1/0] via 10.10.12.50, eth-0-20
步骤2 进入配置模式
以下配置在Switch2进行:
Switch# configure terminal
步骤3 启用rip路由,设置metric,设置需要重发布的路由类型
Switch(config)# router rip
Switch(config-router)# default-metric 2
Switch(config-router)# redistribute static
Switch(config-router)# redistribute connected
Switch(config-router)# redistribute ospf metric 5
ospf重发布直连路由(可选):
Switch(config)# router ospf
Switch(config-router)# redistribute connected
步骤4 退出配置模式
Switch(config-router)# end
步骤5 检查配置
Switch1上学到的路由,显示如下:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
R 2.2.2.0/24 [120/3] via 10.10.11.50, eth-0-9, 00:02:36
R 3.3.3.0/24 [120/6] via 10.10.11.50, eth-0-9, 00:02:26
C 10.10.11.0/24 is directly connected, eth-0-9
C 10.10.11.10/32 is in local loopback eth-0-9
R 10.10.12.0/24 [120/3] via 10.10.11.50, eth-0-9, 00:02:36
R 20.20.20.0/24 [120/3] via 10.10.11.50, eth-0-9, 00:02:41
rip split-horizon
通常情况下,连接到广播网络并且使用距离矢量路由协议的路由器,使用水平分割机制来避免环路。配置水平分割可以使得从一个接口学到的路由不能通过此接口向外发布,这通常优化了多个路由器之间的通信,尤其在链路中断时。
配置毒性逆转可以使得从一个接口学到的路由还可以从这个接口向外发布,但这些路由的度量值已设置为16,即不可达。
步骤1 环境准备, 检查已有配置
Switch1
interface eth-0-1
no switchport
ip address 1.1.1.1/24
!
interface eth-0-9
no switchport
ip address 10.10.11.10/24
!
router rip
network 10.10.11.0/24
redistribute connected
Switch2
interface eth-0-9
no switchport
ip address 10.10.11.50/24
!
router rip
network 10.10.11.0/24
步骤2 在Switch2打开debug 开关(可选)
Switch# debug rip packet send detail
Switch# terminal monitor
步骤3 进入配置模式
以下配置在Switch2进行:
Switch# configure terminal
步骤4 进入接口配置模式,设置水平分割
禁用水平分割:
Switch(config)#interface eth-0-9
Switch(config-if)# no ip rip split-horizon
当debug开关打开时,有如下信息显示:
Apr 8 06:24:25 Switch RIP4-7: SEND[eth-0-9]: Send to 224.0.0.9:520
Apr 8 06:24:25 Switch RIP4-7: SEND[eth-0-9]: RESPONSE version 2 packet size 44
Apr 8 06:24:25 Switch RIP4-7: 1.1.1.0/24 -> 0.0.0.0 family 2 tag 0 metric 2
Apr 8 06:24:25 Switch RIP4-7: 10.10.11.0/24 -> 0.0.0.0 family 2 tag 0 metric 1
启用水平分割和毒性逆转:
Switch(config-if)# ip rip split-horizon
Switch(config-if)# ip rip split-horizon poisoned
当debug开关打开时,有如下提示显示:
Apr 8 06:38:35 Switch RIP4-7: SEND[eth-0-9]: Send to 224.0.0.9:520
Apr 8 06:38:35 Switch RIP4-7: SEND[eth-0-9]: RESPONSE version 2 packet size 44
Apr 8 06:38:35 Switch RIP4-7: 1.1.1.0/24 -> 0.0.0.0 family 2 tag 0 metric 16
Apr 8 06:38:35 Switch RIP4-7: 10.10.11.0/24 -> 0.0.0.0 family 2 tag 0 metric 16
步骤5 退出配置模式
Switch(config-router)# end
步骤6 检查配置
使用如下命令,验证上述配置:
Switch# show running-config
interface eth-0-9
no switchport
ip address 10.10.11.50/24
!
router rip
network 10.10.11.0/24
!
使用如下命令,查看rip接口配置
Switch# show ip rip interface
eth-0-9 is up, line protocol is up
Routing Protocol: RIP
Receive RIP packets
Send RIP packets
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IP interface address:
10.10.11.50/24
RIP受多个定时器的控制,比如路由更新的频率,路由失效的时间等等。用户可以调整这些计时器以调整RIP的性能,以更好地满足网络工作的需要。如下参数可供调整:
•Update定时器,定义了发送更新报文的时间间隔。
•Timeout 定时器,定义了路由老化时间。如果在老化时间内没有收到关于某条路由的更新报文,则该条路由在路由表中的度量值将会被设置为16。
•Garbage-Collect 定时器,定义了一条路由从度量值变为16开始,直到它从路由表里被删除所经过的时间。
步骤1 进入配置模式
Switch# configure terminal
步骤2 启用rip路由协议并配置定时器
指定路由表 update timer 10 秒,指定路由信息超时180 秒,垃圾信息收集时间120 秒:
Switch(config)# router rip
Switch(config-router)# timers basic 10 180 120
步骤3 退出配置模式
Switch(config-router)# end
步骤4 检查配置
使用如下命令,验证上述配置:
Switch# show ip protocols rip
Routing protocol is "rip"
Sending updates every 10 seconds with +/-5 seconds, next due in 2 seconds
Timeout after 180 seconds, Garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Default redistribution metric is 1
Redistributing:
Default version control: send version 2, receive version 2
Interface Send Recv Key-chain
eth-0-9 2 2
Routing for Networks:
10.10.11.0/24
Routing Information Sources:
Gateway Distance Last Update Bad Packets Bad Routes
10.10.11.50 120 00:00:02 0 0
Number of routes (including connected): 5
Distance: (default is 120)
rip filter list
路由器提供路由信息过滤功能,通过指定访问控制列表和地址前缀列表,可以配置入口或出口过滤策略,对接收或发布的路由进行过滤。一个路由过滤列表通常包括如下参数:
•一个被用作过滤器的ACL或prefix list。
•方向。
In方向:过滤器被应用在学习到的路由上
Out方向:过滤器被应用在发布的路由上 - 应用过滤器的接口(可选)。
步骤1 环境准备, 检查已有配置
Switch1
interface eth-0-9
no switchport
ip address 10.10.11.10/24
!
router rip
network 10.10.11.0/24
Switch2
interface eth-0-1
no switchport
ip address 1.1.1.1/24
!
interface eth-0-2
no switchport
ip address 2.2.2.2/24
!
interface eth-0-3
no switchport
ip address 3.3.3.3/24
!
interface eth-0-9
no switchport
ip address 10.10.11.50/24
!
router rip
network 1.1.1.0/24
network 2.2.2.0/24
network 3.3.3.0/24
network 10.10.11.0/24
Switch1上已学到的路由,显示如下:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
R 1.1.1.0/24 [120/2] via 10.10.11.50, eth-0-9, 00:01:50
R 2.2.2.0/24 [120/2] via 10.10.11.50, eth-0-9, 00:01:50
R 3.3.3.0/24 [120/2] via 10.10.11.50, eth-0-9, 00:01:50
C 10.10.11.0/24 is directly connected, eth-0-9
C 10.10.11.10/32 is in local loopback, eth-0-9
步骤2 进入配置模式
以下配置在Switch2进行:
Switch# configure terminal
步骤3 配置过滤列表
Switch(config)# ip prefix-list 1 deny 1.1.1.0/24
Switch(config)# ip prefix-list 1 permit any
步骤4 应用过滤列表
Switch(config)# router rip
Switch(config-router)# distribute-list prefix 1 out
步骤5 退出配置模式
Switch(config-router)# end
步骤6 检查配置
Switch1上学到的路由,显示如下:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
R 2.2.2.0/24 [120/2] via 10.10.11.50, eth-0-9, 00:00:08
R 3.3.3.0/24 [120/2] via 10.10.11.50, eth-0-9, 00:00:08
C 10.10.11.0/24 is directly connected, eth-0-9
C 10.10.11.10/32 is in local loopback, eth-0-9
rip authentication
RIP-2 支持两种认证方式:明文认证和MD5密文认证。这个例子说明如何使用明文进行认证。Switch1和2是在运行RIP路由协议,如果要在交换机上配置明文认证,需要执行如下步骤:
•指定一个接口,然后定义该接口的密码。
•指定认证模式为明文。
任何从这个指定接口接收的RIP数据包应该有相同的字符串作为密码。同样的,Switch B上也要定义相同的密码和身份验证模式。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址
Switch1配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# exit
Switch(config-if)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.10/24
Switch(config-if)# exit
Switch2配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 2.2.2.2/24
Switch(config-if)# exit
Switch(config-if)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.50/24
Switch(config-if)# exit
步骤3 启用rip路由并配置相关参数
Switch(config)# router rip
Switch(config-router)# network 10.10.11.0/24
Switch(config-router)# redistribute connected
Switch(config-router)# exit
步骤4 指定验证的字符串和模式
Switch(config)# interface eth-0-9
Switch(config-if)# ip rip authentication string Auth1
Switch(config-if)# ip rip authentication mode text
步骤5 退出配置模式
Switch(config-if)# end
步骤6 检查配置
使用如下命令查看rip数据库:
Switch# show ip rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, K - Kernel,
C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop Metric From If Time
R 2.2.2.0/24 10.10.11.50 2 10.10.11.50 eth-0-9 00:02:52
Rc 10.10.11.0/24
使用如下命令查看rip协议运行状态:
Switch# show ip protocols rip
Routing protocol is "rip"
Sending updates every 30 seconds with +/-5 seconds, next due in 23 seconds
Timeout after 180 seconds, Garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Default redistribution metric is 1
Redistributing:
connected metric default
Default version control: send version 2, receive version 2
Interface Send Recv Key-chain
eth-0-9 2 2
Routing for Networks:
10.10.11.0/24
Routing Information Sources:
Gateway Distance Last Update Bad Packets Bad Routes
10.10.11.50 120 00:00:45 1 0
Number of routes (including connected): 2
Distance: (default is 120)
使用如下命令查看rip端口信息:
Switch# show ip rip interface
eth-0-9 is up, line protocol is up
Routing Protocol: RIP
Receive RIP packets
Send RIP packets
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IP interface address:
10.10.11.10/24
使用如下命令查看设备路由信息:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
R 2.2.2.0/24 [120/2] via 10.10.11.50, eth-0-9, 00:02:28
C 10.10.11.0/24 is directly connected, eth-0-9
C 10.10.11.10/32 is in local loopback, eth-0-9
rip authentication
这个例子说明了如何使用MD5进行RIP路由信息交换过程中的验证。对于需要使用MD5认证的Switch A和B来说,首先定义一个钥匙链,然后指定key并且配置认证的字符串或密码,然后通过指定接收或者发送的时间来定义key生效的时间。最后将该钥匙链应用到接口上并且指定接口的认证模式为MD5。Switch A和B的密钥配置必须是一样的才能保证RIP路由更新信息交换成功。在MD5认证中,key ID和key字符串需要同时匹配。在下面的例子中,我们还配置了key生效的时间,这样,每隔5天,key就会更新一次。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址
Switch1配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# exit
Switch(config-if)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.10/24
Switch(config-if)# exit
Switch2配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 2.2.2.2/24
Switch(config-if)# exit
Switch(config-if)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.50/24
Switch(config-if)# exit
步骤3 启用rip路由并配置相关参数
Switch(config)# router rip
Switch(config-router)# network 10.10.11.0/24
Switch(config-router)# redistribute connected
Switch(config-router)# exit
步骤4 定义key chain,设置密码和应用的时间范围
Switch(config)# key chain SUN
Switch(config-keychain)# key 1
Switch(config-keychain-key)# key-string key1
Switch(config-keychain-key)# accept-lifetime 12:00:00 Mar 2 2012 14:00:00 Mar 7 2012
Switch(config-keychain-key)# send-lifetime 12:00:00 Mar 2 2012 12:00:00 Mar 7 2012
Switch(config-keychain-key)# exit
第二个key(可选)
Switch(config-keychain)# key 2
Switch(config-keychain-key)# key-string Earth
Switch(config-keychain-key)# accept-lifetime 12:00:00 Mar 7 2012 14:00:00 Mar 12 2012
Switch(config-keychain-key)# send-lifetime 12:00:00 Mar 7 2012 12:00:00 Mar 12 2012
Switch(config-keychain-key)# exit
退出:
Switch(config-keychain)# exit
步骤5 指定验证的字符串和模式
Switch(config)# interface eth-0-9
Switch(config-if)# ip rip authentication key-chain SUN
Switch(config-if)# ip rip authentication mode md5
步骤6 退出配置模式
Switch(config-if)# end
步骤7 检查配置
使用如下命令查看rip数据库:
Switch# show ip rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, K - Kernel,
C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop Metric From If Time
R 2.2.2.0/24 10.10.11.50 2 10.10.11.50 eth-0-9 00:01:10
Rc 10.10.11.0/24 1 eth-0-9
使用如下命令查看rip协议运行状态:
Switch# show ip protocols rip
Routing protocol is "rip"
Sending updates every 30 seconds with +/-5 seconds, next due in 17 seconds
Timeout after 180 seconds, Garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Default redistribution metric is 1
Redistributing:
connected metric default
Default version control: send version 2, receive version 2
Interface Send Recv Key-chain
eth-0-9 2 2 SUN
Routing for Networks:
10.10.11.0/24
Routing Information Sources:
Gateway Distance Last Update Bad Packets Bad Routes
Number of routes (including connected): 2
Distance: (default is 120)
使用如下命令查看rip端口信息:
Switch# show ip rip interface
eth-0-9 is up, line protocol is up
Routing Protocol: RIP
Receive RIP packets
Send RIP packets
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IP interface address:
10.10.11.10/24
使用下列命令查看设备路由信息:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
C 1.1.1.0/24 is directly connected, eth-0-1
C 1.1.1.1/32 is in local loopback, eth-0-1
R 2.2.2.0/24 [120/2] via 10.10.11.50, eth-0-9, 00:02:27
C 10.10.11.0/24 is directly connected, eth-0-9
C 10.10.11.10/32 is in local loopback, eth-0-9
使用如下命令查看key chain 信息:
Switch# show key chain
key chain SUN:
key 1 -- text "key1"
accept-lifetime <12:00:00 Mar 02 2012> - <14:00:00 Mar 07 2012>
send-lifetime <12:00:00 Mar 02 2012> - < 12:00:00 Mar 07 2012>
key 2 -- text "Earth"
accept-lifetime <12:00:00 Mar 07 2012> - <14:00:00 Mar 12 2012>
send-lifetime <12:00:00 Mar 07 2012> - < 12:00:00 Mar 12 2012>
Switch#
无
开放最短路径优先协议OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议,它支持IP子网化以及对外部路由做标记。目前使用的是版本2(RFC2328),其特性如下:
•适应范围:支持各种规模的网络,最多可支持几百台路由器。
•快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。
•无自环:由于OSPF 根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由。
•区域划分:允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用的网络带宽。
•等价路由:支持到同一目的地址的多条等价路由。
•路由分级:使用4 类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。
•支持验证:支持基于接口的报文验证以保证路由计算的安全性。
•组播发送:协议报文支持以组播形式发送。
当前的系统支持如下OSPF特性:
•支持末梢区域:支持路由重分布,这包括将其他路由协议学到的路由导入OSPF或者将OSPF学到的路由导出到其他路由协议中。
•支持明文和MD5两种认证模式:支持OSPF interface上的参数配置,包括输出度量值,重传时间,发送延时时间,路由器优先级,路由器hello报文时间间隔,认证密码等等。
OSPF需要多个路由器协同工作,包括区域边界路由器(ABR),自治系统边界路由器(ASBR),内部路由器等。最简单的OSPF配置只需要使用默认的参数,并且将所有的OSPF interface加入同一个区域就可以了。
参考 RFC 2328。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建ospf实例,发布需要的网段到指定域
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# quit
说明:删除该ospf实例的方法为
Switch(config)# no router ospf 100
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show ip protocols
Routing Protocol is "ospf 100"
Redistributing:
Routing for Networks:
10.10.10.0/24
Distance: (default is 110)
ospf
这个例子显示了一个接口上启用OSPF所需的最低配置。
一个接口只能属于一个区域,不同的接口可以属于不同的区域
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址
在Switch1配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.10/24
Switch(config-if)# exit
在Switch2配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.11/24
Switch(config-if)# exit
步骤3 创建ospf实例,发布需要的网段到指定域
在Switch1配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
在Switch2配置:
Switch(config)# router ospf 200
Switch(config-router)# network 10.10.10.0/24 area 0
说明:直连的两个设备配置ospf,area必须相同。ospf的实例号可以相同也可以不同。
步骤4 退出配置模式
Switch(config-router)# end
步骤5 检查配置
使用下列命令查看ospf数据库:
Switch# show ip ospf database
OSPF Router with ID (10.10.10.10) (Process ID 100)
Router Link States (Area 0)
Link ID ADV Router Age Seq# CkSum Link count
10.10.10.10 10.10.10.10 26 0x80000006 0x1499 1
10.10.10.11 10.10.10.11 27 0x80000003 0x1895 1
Net Link States (Area 0)
Link ID ADV Router Age Seq# CkSum
10.10.10.10 10.10.10.10 26 0x80000001 0xdfd8
使用下列命令查看ospf端口状态:
Switch# show ip ospf interface
eth-0-9 is up, line protocol is up
Internet Address 10.10.10.10/24, Area 0, MTU 1500
Process ID 100, Router ID 10.10.10.10, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 1, TE Metric 1
Designated Router (ID) 10.10.10.10, Interface Address 10.10.10.10
Backup Designated Router (ID) 10.10.10.11, Interface Address 10.10.10.11
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:06
Neighbor Count is 1, Adjacent neighbor count is 1
Crypt Sequence Number is 1527047183
Hello received 25 sent 576, DD received 4 sent 4
LS-Req received 1 sent 1, LS-Upd received 3 sent 3
LS-Ack received 2 sent 2, Discarded 0
使用下列命令查看ospf邻居:
Switch1:
Switch# show ip ospf neighbor
OSPF process 100:
Neighbor ID Pri State Dead Time Address Interface
10.10.10.11 1 Full/Backup 00:00:33 10.10.10.11 eth-0-9
Switch2:
Switch# show ip ospf neighbor
OSPF process 200:
Neighbor ID Pri State Dead Time Address Interface
10.10.10.10 1 Full/DR 00:00:33 10.10.10.10 eth-0-9
使用下列命令查看ospf路由:
Switch# show ip ospf route
OSPF process 100:
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
C 10.10.10.0/24 [1] is directly connected, eth-0-9, Area 0
ospf priority
这个例子主要讲述了如何配置接口优先级,优先级高的成为DR。优先级为0的不参与DR选举。Switch3的优先级是10,这比Switch1和Switch2的默认优先级1要高,因此Switch3将成为这个网络内的DR。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址
在Switch1配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.10/24
Switch(config-if)# quit
在Switch2配置:
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.11/24
Switch(config-if)# quit
在Switch3配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.13/24
Switch(config-if)# quit
在L2 switch 配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# quit
Switch(config)# interface eth-0-13
Switch(config-if)# no shutdown
Switch(config-if)# quit
Switch(config)# interface eth-0-17
Switch(config-if)# no shutdown
Switch(config-if)# quit
步骤3 配置ospf接口优先级
在Switch3配置:
Switch(config)# interface eth-0-9
Switch(config-if)# ip ospf priority 10
Switch(config-if)# quit
步骤4 创建ospf实例,发布需要的网段到指定域
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-if)# quit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用下列命令查看ospf邻居:
Switch1:
Switch# show ip ospf neighbor
OSPF process 100:
Neighbor ID Pri State Dead Time Address Interface
10.10.10.11 1 Full/Backup 00:00:31 10.10.10.11 eth-0-17
10.10.10.13 10 Full/DR 00:00:38 10.10.10.13 eth-0-17
Switch2:
Switch# show ip ospf neighbor
OSPF process 100:
Neighbor ID Pri State Dead Time Address Interface
10.10.10.10 1 Full/DROther 00:00:39 10.10.10.10 eth-0-13
10.10.10.13 10 Full/DR 00:00:32 10.10.10.13 eth-0-13
Switch3:
Switch# show ip ospf neighbor
OSPF process 100:
Neighbor ID Pri State Dead Time Address Interface
10.10.10.10 1 Full/DROther 00:00:37 10.10.10.10 eth-0-9
10.10.10.11 1 Full/Backup 00:00:32 10.10.10.11 eth-0-9
使用下列命令查看ospf端口状态:
Switch1:
Switch# show ip ospf interface
eth-0-17 is up, line protocol is up
Internet Address 10.10.10.10/24, Area 0, MTU 1500
Process ID 100, Router ID 10.10.10.10, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DROther, Priority 1, TE Metric 1
Designated Router (ID) 10.10.10.13, Interface Address 10.10.10.13
Backup Designated Router (ID) 10.10.10.11, Interface Address 10.10.10.11
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:10
Neighbor Count is 2, Adjacent neighbor count is 2
Crypt Sequence Number is 1527056133
Hello received 106 sent 54, DD received 8 sent 9
LS-Req received 2 sent 3, LS-Upd received 8 sent 5
LS-Ack received 9 sent 5, Discarded 3
Switch2:
Switch# show ip ospf interface
eth-0-13 is up, line protocol is up
Internet Address 10.10.10.11/24, Area 0, MTU 1500
Process ID 100, Router ID 10.10.10.11, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State Backup, Priority 1, TE Metric 1
Designated Router (ID) 10.10.10.13, Interface Address 10.10.10.13
Backup Designated Router (ID) 10.10.10.11, Interface Address 10.10.10.11
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:10
Neighbor Count is 2, Adjacent neighbor count is 2
Crypt Sequence Number is 1527056130
Hello received 110 sent 56, DD received 8 sent 7
LS-Req received 3 sent 2, LS-Upd received 12 sent 6
LS-Ack received 11 sent 8, Discarded 0
Switch3:
Switch# show ip ospf interface
eth-0-9 is up, line protocol is up
Internet Address 10.10.10.13/24, Area 0, MTU 1500
Process ID 100, Router ID 10.10.10.13, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 10, TE Metric 1
Designated Router (ID) 10.10.10.13, Interface Address 10.10.10.13
Backup Designated Router (ID) 10.10.10.11, Interface Address 10.10.10.11
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:01
Neighbor Count is 2, Adjacent neighbor count is 2
Crypt Sequence Number is 1527056127
Hello received 32 sent 16, DD received 9 sent 9
LS-Req received 2 sent 2, LS-Upd received 11 sent 8
LS-Ack received 10 sent 8, Discarded 0
ospf area
您可以选择性地配置多个OSPF区域参数。这些参数包括用于防止访问未经授权的区域的认证密码,以及将区域配置为末梢区域(Stub)。Stub区域是一些特定的区域,Stub区域的ABR不传播它们接收到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给Stub 区域中的其他非ABR路由器。
路由聚合是指ABR或ASBR将具有相同前缀的路由信息聚合,只发布一条路由到其它区域。AS被划分成不同的区域后,区域间可以通过路由聚合来减少路由信息,减小路由表的规模,提高路由器的运算速度。如果网络号是连续的,你可以使用area range命令将这些连续的网段聚合成一个网段。这样ABR 只发送一条聚合后的LSA,所有属于本命令指定的聚合网段范围的LSA 将不再会被单独发送出去,这样可减少其它区域中LSDB的规模。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址
在Switch1配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.10/24
Switch(config-if)# quit
在Switch2配置:
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.11/24
Switch(config-if)# quit
Switch(config)# interface eth-0-21
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.11/24
Switch(config-if)# quit
在Switch3配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.13/24
Switch(config-if)# quit
在Switch4配置:
Switch(config)# interface eth-0-21
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.12/24
Switch(config-if)# quit
在L2 switch 配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# quit
Switch(config)# interface eth-0-13
Switch(config-if)# no shutdown
Switch(config-if)# quit
Switch(config)# interface eth-0-17
Switch(config-if)# no shutdown
Switch(config-if)# quit
步骤3 配置ospf接口优先级
在Switch3配置:
Switch(config)# interface eth-0-9
Switch(config-if)# ip ospf priority 10
Switch(config-if)# quit
步骤4 创建ospf实例,发布需要的网段到指定域
在Switch1配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# quit
在Switch2配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# network 10.10.11.0/24 area 1
Switch(config-router)# area 0 range 10.10.10.0/24
Switch(config-router)# area 1 stub no-summary
Switch(config-router)# quit
在Switch3配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# quit
在Switch4配置:
Switch(config)# router ospf 200
Switch(config-router)# network 10.10.11.0/24 area 1
Switch(config-router)# area 1 stub no-summary
Switch(config-router)# quit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用下列命令查看ospf路由:
Switch1:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
C 10.10.10.0/24 is directly connected, eth-0-17
C 10.10.10.10/32 is in local loopback, eth-0-17
O IA 10.10.11.0/24 [110/2] via 10.10.10.11, eth-0-17, 00:00:04
Switch2:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
C 10.10.10.0/24 is directly connected, eth-0-13
C 10.10.10.11/32 is in local loopback, eth-0-13
C 10.10.11.0/24 is directly connected, eth-0-21
C 10.10.11.11/32 is in local loopback, eth-0-21
Switch3:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
C 10.10.10.0/24 is directly connected, eth-0-9
C 10.10.10.13/32 is in local loopback, eth-0-9
O IA 10.10.11.0/24 [110/2] via 10.10.10.11, eth-0-9, 00:06:29
Switch4:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
Gateway of last resort is 10.10.11.11 to network 0.0.0.0
O*IA 0.0.0.0/0 [110/2] via 10.10.11.11, eth-0-21, 00:12:46
C 10.10.10.0/24 is directly connected, eth-0-21
C 10.10.10.12/32 is in local loopback, eth-0-21
ospf redistribute
区域内和区域间路由描述的是AS 内部的网络结构,外部路由则描述了应该如何选择到AS 以外目的地址的路由。OSPF 将引入的AS 外部路由分为两类:Type1 和Type2。
第一类外部路由是指接收的是IGP(Interior Gateway Protocol,内部网关协议)路由(例如静态路由和RIP 路由)。由于这类路由的可信程度较高,并且和OSPF 自身路由的开销具有可比性,所以到第一类外部路由的开销等于本路由器到相应的ASBR 的开销与ASBR 到该路由目的地址的开销之和。
第二类外部路由是指接收的是EGP(Exterior Gateway Protocol,外部网关协议)路由。由于这类路由的可信度比较低,所以OSPF 协议认为从ASBR 到自治系统之外的开销远远大于在自治系统之内到达ASBR 的开销。所以计算路由开销时将主要考虑前者,即到第二类外部路由的开销等于ASBR 到该路由目的地址的开销。如果计算出开销值相等的两条路由,再考虑本路由器到相应的ASBR 的开销。下面例子RIP路由将作为外部路由被重分布到OSPF网络中。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址
在Switch1配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.10/24
Switch(config-if)# quit
在Switch2配置:
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.11/24
Switch(config-if)# quit
Switch(config)# interface eth-0-21
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.11/24
Switch(config-if)# quit
在Switch3配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.13/24
Switch(config-if)# quit
在Switch4配置:
Switch(config)# interface eth-0-21
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.11.12/24
Switch(config-if)# quit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# quit
在L2 switch 配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# quit
Switch(config)# interface eth-0-13
Switch(config-if)# no shutdown
Switch(config-if)# quit
Switch(config)# interface eth-0-17
Switch(config-if)# no shutdown
Switch(config-if)# quit
步骤3 配置ospf接口优先级
在Switch3配置:
Switch(config)# interface eth-0-9
Switch(config-if)# ip ospf priority 10
Switch(config-if)# quit
步骤4 创建ospf实例,发布需要的网段到指定域
在Switch1配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# quit
在Switch2配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# redistribute connected
Switch(config-router)# redistribute rip
Switch(config-router)# quit
在Switch3配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# quit
步骤5 创建rip实例,发布需要的网段
在Switch2配置:
Switch(config)# router rip
Switch(config-router)# network 10.10.11.0/24
Switch(config-router)#redistribute connected
Switch(config-router)# quit
在Switch4配置:
Switch(config)# router rip
Switch(config-router)# network 10.10.11.0/24
Switch(config-router)# network 1.1.1.1/32
Switch(config-router)# redistribute connected
Switch(config-router)# quit
步骤6 退出配置模式
Switch(config)# end
步骤6 检查配置
使用下列命令查看ospf路由:
Switch1:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
O E2 1.1.1.1/32 [110/20] via 10.10.10.11, eth-0-17, 00:01:54
C 10.10.10.0/24 is directly connected, eth-0-17
C 10.10.10.10/32 is in local loopback, eth-0-17
O E2 10.10.11.0/24 [110/20] via 10.10.10.11, eth-0-17, 00:03:49
Switch2:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
R 1.1.1.1/32 [120/2] via 10.10.11.12, eth-0-21, 00:02:27
C 10.10.10.0/24 is directly connected, eth-0-13
C 10.10.10.11/32 is in local loopback, eth-0-13
C 10.10.11.0/24 is directly connected, eth-0-21
C 10.10.11.11/32 is in local loopback, eth-0-21
Switch3:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
O E2 1.1.1.1/32 [110/20] via 10.10.10.11, eth-0-9, 00:03:01
C 10.10.10.0/24 is directly connected, eth-0-9
C 10.10.10.13/32 is in local loopback, eth-0-9
O E2 10.10.11.0/24 [110/20] via 10.10.10.11, eth-0-9, 00:04:57
Switch4:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
C 1.1.1.1/32 is directly connected, loopback0
R 10.10.10.0/24 [120/2] via 10.10.11.11, eth-0-21, 00:17:36
C 10.10.11.0/24 is directly connected, eth-0-21
C 10.10.11.12/32 is in local loopback, eth-0-21
使用下列命令查看ospf数据库:
Switch1:
Switch# show ip ospf database external
OSPF Router with ID (10.10.10.10) (Process ID 100)
AS External Link States
LS age: 317
Options: 0x2 (*|-|-|-|-|-|E|-)
LS Type: AS-external-LSA
Link State ID: 1.1.1.1 (External Network Number)
Advertising Router: 10.10.10.11
LS Seq Number: 80000001
Checksum: 0x4a47
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
LS age: 438
Options: 0x2 (*|-|-|-|-|-|E|-)
LS Type: AS-external-LSA
Link State ID: 10.10.11.0 (External Network Number)
Advertising Router: 10.10.10.11
LS Seq Number: 80000001
Checksum: 0x0472
Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
Switch2:
Switch# show ip ospf database external
OSPF Router with ID (10.10.10.11) (Process ID 100)
AS External Link States
LS age: 367
Options: 0x2 (*|-|-|-|-|-|E|-)
LS Type: AS-external-LSA
Link State ID: 1.1.1.1 (External Network Number)
Advertising Router: 10.10.10.11
LS Seq Number: 80000001
Checksum: 0x4a47
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
LS age: 487
Options: 0x2 (*|-|-|-|-|-|E|-)
LS Type: AS-external-LSA
Link State ID: 10.10.11.0 (External Network Number)
Advertising Router: 10.10.10.11
LS Seq Number: 80000001
Checksum: 0x0472
Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
Switch3:
Switch# show ip ospf database external
OSPF Router with ID (10.10.10.13) (Process ID 100)
AS External Link States
LS age: 396
Options: 0x2 (*|-|-|-|-|-|E|-)
LS Type: AS-external-LSA
Link State ID: 1.1.1.1 (External Network Number)
Advertising Router: 10.10.10.11
LS Seq Number: 80000001
Checksum: 0x4a47
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
LS age: 517
Options: 0x2 (*|-|-|-|-|-|E|-)
LS Type: AS-external-LSA
Link State ID: 10.10.11.0 (External Network Number)
Advertising Router: 10.10.10.11
LS Seq Number: 80000001
Checksum: 0x0472
Length: 36
Network Mask: /24
Metric Type: 2 (Larger than any link state path)
TOS: 0
Metric: 20
Forward Address: 0.0.0.0
External Route Tag: 0
ospf cost
用户可以通过修改接口的COST值来使路由成为最优路由。在下面的例子中,通过修改COST值可以使Switch2成为Switch1的下一跳。
默认接口的COST值是1(1000M speed)。Switch2的eth-0-2优先级100,Switch3的eth-0-2优先级150. 那么到达Switch4的网络10.10.14.0的Cost值将不一样:
Switch2: 1+1+100 = 102
Switch3: 1+1+150 = 152
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址。在接口配置模式下,设置该接口的ospf cost值
在Switch1配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.1/24
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.12.1/24
Switch(config-if)# exit
在Switch2配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.2/24
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.11.2/24
Switch(config-if)# ip ospf cost 100
Switch(config-if)# exit
在Switch3配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.12.2/24
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.13.2/24
Switch(config-if)# ip ospf cost 150
Switch(config-if)# exit
在Switch4配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.11.1/24
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.13.1/24
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.14.1/24
Switch(config-if)# exit
步骤3 创建ospf实例,发布需要的网段到指定域
在Switch1配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# network 10.10.12.0/24 area 0
Switch(config-router)# exit
在Switch2配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# network 10.10.11.0/24 area 0
Switch(config-router)# exit
在Switch3配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.12.0/24 area 0
Switch(config-router)# network 10.10.13.0/24 area 0
Switch(config-router)# exit
在Switch4配置:
Switch(config)# router ospf 100
Switch(config-router)# network 10.10.11.0/24 area 0
Switch(config-router)# network 10.10.13.0/24 area 0
Switch(config-router)# network 10.10.14.0/24 area 0
Switch(config-router)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
使用下列命令查看ospf路由:
Switch1:
Switch# show ip ospf route
OSPF process 0:
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
C 10.10.10.0/24 [1] is directly connected, eth-0-1, Area 0
O 10.10.11.0/24 [101] via 10.10.10.2, eth-0-1, Area 0
C 10.10.12.0/24 [1] is directly connected, eth-0-2, Area 0
O 10.10.13.0/24 [102] via 10.10.10.2, eth-0-1, Area 0
O 10.10.14.0/24 [102] via 10.10.10.2, eth-0-1, Area 0
Switch2:
Switch# show ip ospf route
OSPF process 100:
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
C 10.10.10.0/24 [10] is directly connected, eth-0-1, Area 0
C 10.10.11.0/24 [100] is directly connected, eth-0-2, Area 0
O 10.10.12.0/24 [11] via 10.10.10.1, eth-0-1, Area 0
O 10.10.13.0/24 [101] via 10.10.11.1, eth-0-2, Area 0
O 10.10.14.0/24 [101] via 10.10.11.1, eth-0-2, Area 0
Switch3:
Switch# show ip ospf route
OSPF process 100:
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
O 10.10.10.0/24 [1] via 10.10.12.1, eth-0-1, Area 0
O 10.10.11.0/24 [101] via 10.10.12.1, eth-0-1, Area 0
C 10.10.12.0/24 [1] is directly connected, eth-0-1, Area 0
O 10.10.13.0/24 [102] via 10.10.12.1, eth-0-1, Area 0
O 10.10.14.0/24 [102] via 10.10.12.1, eth-0-1, Area 0
Switch4:
Switch# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
[*] - [AD/Metric]
* - candidate default
O 10.10.10.0/24 [110/1] via 10.10.11.2, eth-0-1, 00:06:27
C 10.10.11.0/24 is directly connected, eth-0-1
O 10.10.12.0/24 [110/1] via 10.10.13.2, eth-0-2, 00:06:17
C 10.10.13.0/24 is directly connected, eth-0-2
C 10.10.14.0/24 is directly connected, eth-0-3
ospf authentication
系统目前支持三种类型的OSPF认证: 无认证(类型0),明文认证(类型1)和MD5认证(类型2)。无认证,网络中的路由信息交换不需要经过任何认证。明文认证,所有的路由器上配置的认证模式和密码都必须是一样的。MD5认证,你需要在每台路由器上配置相同的密钥和密钥ID。路由器会根据密钥,密钥ID和OSPF报文内容生成消息摘要加到OSPF报文里面。
认证类型可以基于area配置,也可以基于interface 配置,这两者可以同时使用。如果interface上配置的认证类型和区域内配置的认证类型不一样,则优先使用interface上的认证类型。如果interface上没有配置认证类型,那么就使用区域内配置的认证类型。.
下面例子简单介绍了下OSPF的三种类型的验证。Switch1和Switch2之间不使用认证;Switch2和Switch3之间使用明文认证;Switch3和Switch4之间使用MD5认证。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址。在接口配置模式下,设置该接口的认证类型
在Switch1配置:
Switch(config)#interface eth-0-9
Switch(config-if)#no switchport
Switch(config-if)#ip address 9.9.9.1/24
Switch(config-if)#ip ospf authentication
Switch(config-if)#ip ospf authentication null
Switch(config-if)# exit
在Switch2配置:
Switch(config)#interface eth-0-1
Switch(config-if)#no switchport
Switch(config-if)#ip address 1.1.1.1/24
Switch(config-if)#ip ospf authentication
Switch(config-if)#ip ospf authentication-key test
Switch(config-if)# exit
Switch(config)#interface eth-0-9
Switch(config-if)#no switchport
Switch(config-if)#ip address 9.9.9.2/24
Switch(config-if)#ip ospf authentication
Switch(config-if)#ip ospf authentication null
Switch(config-if)# exit
在Switch3配置:
Switch(config)#interface eth-0-2
Switch(config-if)#no switchport
Switch(config-if)#ip address 2.2.2.1/24
Switch(config-if)# ip ospf message-digest-key 2 md5 ospf
Switch(config-if)# exit
Switch(config)#interface eth-0-1
Switch(config-if)#no switchport
Switch(config-if)#ip address 1.1.1.2/24
Switch(config-if)#ip ospf authentication
Switch(config-if)# ip ospf authentication-key test
Switch(config-if)# exit
在Switch4配置:
Switch(config)#interface eth-0-2
Switch(config-if)#no switchport
Switch(config-if)#ip address 2.2.2.2/24
Switch(config-if)# ip ospf message-digest-key 2 md5 ospf
Switch(config-if)# exit
步骤3 创建ospf实例,发布需要的网段到指定域
在Switch1配置:
Switch(config)# router ospf
Switch(config-router)# network 9.9.9.0/24 area 0
Switch(config-router)# exit
在Switch2配置:
Switch(config)# router ospf
Switch(config-router)# network 9.9.9.0/24 area 0
Switch(config-router)# network 1.1.1.0/24 area 0
Switch(config-router)# exit
在Switch3配置:
Switch(config)# router ospf
Switch(config-router)# area 1 authentication message-digest
Switch(config-router)# network 2.2.2.0/24 area 1
Switch(config-router)# network 1.1.1.0/24 area 0
Switch(config-router)# exit
在Switch4配置:
Switch(config)# router ospf
Switch(config-router)# area 1 authentication message-digest
Switch(config-router)# network 2.2.2.0/24 area 1
Switch(config-router)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
使用下列命令查看ospf邻居:
Switch1:
Switch# show ip ospf neighbor
OSPF process 0:
Neighbor ID Pri State Dead Time Address Interface
9.9.9.2 1 Full/DR 00:00:38 9.9.9.2 eth-0-9
Switch2:
Switch# show ip ospf neighbor
OSPF process 0:
Neighbor ID Pri State Dead Time Address Interface
2.2.2.1 1 Full/Backup 00:00:35 1.1.1.2 eth-0-1
1.1.1.1 1 Full/Backup 00:00:38 9.9.9.1 eth-0-9
Switch3:
Switch# show ip ospf neighbor
OSPF process 0:
Neighbor ID Pri State Dead Time Address Interface
9.9.9.2 1 Full/DR 00:00:35 1.1.1.1 eth-0-1
2.2.2.2 1 Full/DR 00:00:38 2.2.2.2 eth-0-2
Switch4:
Switch# show ip ospf neighbor
OSPF process 0:
Neighbor ID Pri State Dead Time Address Interface
2.2.2.1 1 Full/Backup 00:00:35 2.2.2.1 eth-0-2
使用下列命令查看ospf端口状态:
Switch3:
Switch# show ip ospf interface
eth-0-1 is up, line protocol is up
Internet Address 1.1.1.2/24, Area 0, MTU 1500
Process ID 0, Router ID 2.2.2.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State Backup, Priority 1, TE Metric 1
Designated Router (ID) 9.9.9.2, Interface Address 1.1.1.1
Backup Designated Router (ID) 2.2.2.1, Interface Address 1.1.1.2
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:01
Neighbor Count is 1, Adjacent neighbor count is 1
Crypt Sequence Number is 1301244696
Hello received 385 sent 384, DD received 3 sent 5
LS-Req received 1 sent 1, LS-Upd received 11 sent 14
LS-Ack received 12 sent 10, Discarded 1
Simple password authentication enabled
使用下列命令查看ospf协议状态:
Switch3:
Switch# show ip ospf
Routing Process "ospf 0" with ID 2.2.2.1
Process uptime is 1 hour 7 minutes
Process bound to VRF default
Conforms to RFC2328, and RFC1583 Compatibility flag is disabled
Supports only single TOS(TOS0) routes
Supports opaque LSA
This router is an ABR, ABR Type is Alternative Cisco (RFC3509)
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
Refresh timer 10 secs
Number of incomming current DD exchange neighbors 0/5
Number of outgoing current DD exchange neighbors 0/5
Number of external LSA 0. Checksum 0x000000
Number of opaque AS LSA 0. Checksum 0x000000
Number of non-default external LSA 0
External LSA database is unlimited.
Number of LSA originated 17
Number of LSA received 57
Number of areas attached to this router: 2
Area 0 (BACKBONE)
Number of interfaces in this area is 1(1)
Number of fully adjacent neighbors in this area is 1
Area has no authentication
SPF algorithm last executed 01:06:56.340 ago
SPF algorithm executed 16 times
Number of LSA 6. Checksum 0x034b09
Area 1
Number of interfaces in this area is 1(1)
Number of fully adjacent neighbors in this area is 1
Number of fully adjacent virtual neighbors through this area is 0
Area has message digest authentication
SPF algorithm last executed 00:03:29.430 ago
SPF algorithm executed 17 times
Number of LSA 5. Checksum 0x0230e3
无
目前配置OSPF认证,其密钥都是以明文形式配置和显示,为增加系统安全性增加OSPF明
文密钥以密文显示,同时支持OSPF密钥密文配置
明文认证方式
Switch# configure terminal
Switch(config)#interface eth-0-9
Switch(config-if)#no switchport
Switch(config-if)#ip address 9.9.9.1/24
Switch(config-if)#ip ospf authentication
Switch(config-if)#ip ospf authentication-key test
Switch(config-if)# exit
Switch(config)# service password-encryption
Switch(config)# show running-config
!
service password-encryption
!
interface eth-0-9
no switchport
ip address 9.9.9.1/24
ip ospf authentication-key 8 af0443346357baf8
!
Switch(config)#no service password-encryption
Switch(config)#interface eth-0-9
Switch(config-if)#no ip ospf authentication-key
Switch(config-if)#ip ospf authentication-key test123
Switch(config-if)# exit
Switch(config)# show running-config
!
no service password-encryption
!
interface eth-0-9
no switchport
ip address 9.9.9.1/24
ip ospf authentication-key test123
!
Switch(config)#interface eth-0-9
Switch(config-if)#no ip ospf authentication-key
Switch(config-if)#ip ospf authentication-key 8 af0443346357baf8
Switch(config-if)# exit
Switch(config)# show running-config
!
no service password-encryption
!
interface eth-0-9
no switchport
ip address 9.9.9.1/24
ip ospf authentication-key test123
!
MD5认证方式
Switch# configure terminal
Switch(config)#interface eth-0-9
Switch(config-if)#no switchport
Switch(config-if)#ip address 9.9.9.1/24
Switch(config-if)#ip ospf authentication message-digest
Switch(config-if)#ip ospf message-digest-key 1 md5 ospf
Switch(config-if)# exit
Switch(config)# service password-encryption
Switch(config)# show running-config
!
service password-encryption
!
interface eth-0-9
no switchport
ip address 9.9.9.1/24
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 8 1f0276567f2db31f
!
Switch(config)#no service password-encryption
Switch(config)#interface eth-0-9
Switch(config-if)#no ip ospf message-digest-key 1
Switch(config-if)#ip ospf message-digest-key 1 md5 ospf123
Switch(config-if)# exit
Switch(config)# show running-config
!
no service password-encryption
!
interface eth-0-9
no switchport
ip address 9.9.9.1/24
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 ospf123
!
Switch(config)#interface eth-0-9
Switch(config-if)#no ip ospf message-digest-key 1
Switch(config-if)#ip ospf message-digest-key 1 md5 8 1f0276567f2db31f
Switch(config-if)# exit
Switch(config)# show running-config
!
no service password-encryption
!
interface eth-0-9
no switchport
ip address 9.9.9.1/24
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 8 1f0276567f2db31f
!
无
路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。地址前缀列表是路由策略的一种,作用比较灵活。一个地址前缀列表由前缀列表名标识。每个前缀列表可以包含多个表项,每个表项可以独立指定一个网络前缀形式的匹配范围,并用一个索引号来标识,索引号指明了进行匹配检查的顺序。在匹配的过程中,交换机按升序依次检查由索引号标识的各个表项。只要有某一表项满足条件,就意味着本次匹配过程结束,而不再进行下一个表项的匹配。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建地址前缀列表
说明:创建一个地址前缀列表,如不指定sequence,则自动分配。支持不同的行为,如permit和deny。支持为列表创建说明字符串。
Switch(config)# ip prefix-list test seq 1 deny 35.0.0.0/8 le 16
Switch(config)# ip prefix-list test permit any
Switch(config)# ip prefix-list test description this prefix list is fot test
Switch(config)# ip prefix-list test permit 36.0.0.0/24
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令,查看已经配置的地址前缀列表:
Switch# show ip prefix-list detail
Prefix-list list number: 1
Prefix-list entry number: 3
Prefix-list with the last deletion/insertion: test
ip prefix-list test:
Description: this prefix list is fot test
count: 3, range entries: 0, sequences: 1 - 10
seq 1 deny 35.0.0.0/8 le 16 (hit count: 0, refcount: 0)
seq 5 permit any (hit count: 0, refcount: 0)
seq 10 permit 36.0.0.0/24 (hit count: 0, refcount: 0)
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建地址前缀列表
Switch(config)# ip prefix-list aa seq 11 deny 35.0.0.0/8 le 16
Switch(config)# ip prefix-list aa permit any
步骤3 在rip路由模式中应用前缀列表
Switch(config)# router rip
Switch(config-router)# distribute-list prefix aa out
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用下列命令,查看已经配置的地址前缀列表:
Switch# show ip prefix-list
ip prefix-list aa: 2 entries
seq 11 deny 35.0.0.0/8 le 16
seq 15 permit any
使用下列命令,查看当前设备配置:
Switch# show running-config
Building configuration...
…
ip prefix-list aa seq 11 deny 35.0.0.0/8 le 16
ip prefix-list aa seq 15 permit any
…
router rip
distribute-list prefix aa out
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建地址前缀列表
Switch(config)# ip prefix-list aa seq 11 deny 3.3.3.0/8 le 24
Switch(config)# ip prefix-list aa permit any
步骤3 创建route map,匹配地址前缀列表
Switch(config)# route-map abc permit
Switch(config-route-map)# match ip address prefix-list aa
Switch(config-route-map)# set local-preference 200
Switch(config-route-map)# exit
Switch(config)# route-map abc permit 20
Switch(config-route-map)# exit
步骤4 进入bgp路由模式,并应用route map
Switch(config)# router bgp 1
Switch(config-router)# neighbor 1.1.1.2 remote-as 1
Switch(config-router)# neighbor 1.1.1.2 route-map abc out
Switch(config-router)# network 2.2.2.2/32
Switch(config-router)# network 3.3.3.3/32
步骤5 退出配置模式
Switch(config-router)# end
步骤6 检查配置
使用下列命令,查看已经配置的route map:
Switch # show route-map
route-map abc, permit, sequence 10
Match clauses:
ip address prefix-list aa
Set clauses:
local-preference 200
route-map abc, permit, sequence 20
Match clauses:
Set clauses:
使用下列命令,查看当前设备配置:
Switch # show running-config
Building configuration...
…
ip prefix-list aa seq 11 deny 3.3.3.0/8 le 24
ip prefix-list aa seq 15 permit any
!
!
route-map abc permit 10
match ip address prefix-list aa
set local-preference 200
!
route-map abc permit 20
…
router bgp 1
neighbor 1.1.1.2 remote-as 1
!
address-family ipv4
no synchronization
network 2.2.2.2 mask 255.255.255.255
network 3.3.3.3 mask 255.255.255.255
neighbor 1.1.1.2 activate
neighbor 1.1.1.2 route-map abc out
exit-address-family
!
address-family vpnv4 unicast
no synchronization
exit-address-family
无
路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。
路由器在发布与接收路由信息时,可能需要实施一些策略,以便对路由信息进行过滤,例如只接收或发布满足一定条件的路由信息。一种路由协议可能需要引入其它的路由协议发现的路由信息,路由器在引入其它路由协议的路由信息时,可能只需要引入一部分满足条件的路由信息,并控制所引入的路由信息的某些属性,以使其满足本协议的要求。为实现路由策略,首先要定义将要实施路由策略的路由信息的特征,即定义一组匹配规则。可以以路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的路由器地址等。匹配规则可以预先设置好,然后再将它们应用于路由的发布、接收和引入等过程的路由策略中。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建路由策略,设置规则和行为
route-map的名字最长20个字符,支持大小写和数字,在这个例子中为“abc”。支持permit和deny两种行为,如果不选则默认为permit。sequence number的范围是1-65535,在创建第一条规则时如未指定,则默认分配10。
Switch(config)# route-map abc permit
Switch(config-route-map)# match metric 20
Switch(config-route-map)# set tag 2
Switch(config-route-map)# exit
Switch(config)# route-map abc permit 20
Switch(config-route-map)# exit
步骤3 进入ospf路由模式,把RIP协议重分布到OSPF中,并且使用策略
Switch(config)# router ospf 100
Switch(config-router)# redistribute rip route-map abc
Switch(config-router)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch# show route-map
route-map abc, permit, sequence 10
Match clauses:
metric 20
Set clauses:
tag 2
route-map abc, permit, sequence 20
Match clauses:
Set clauses:
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建ip访问控制列表
Switch(config)# ip access-list acl1
Switch(config-ip-acl)# permit any 3.3.3.0 0.0.0.255 any
Switch(config-ip-acl)# exit
步骤3 创建路由策略,匹配访问控制列表规则,并设置行为
Switch(config)# route-map abc permit
Switch(config-route-map)# match ip address acl1
Switch(config-route-map)# set local-preference 200
Switch(config-route-map)# exit
Switch(config)# route-map abc permit 20
Switch(config-route-map)# exit
步骤4 进入bgp路由模式,并且使用策略
Switch(config)# router bgp 1
Switch(config-router)# neighbor 1.1.1.2 remote-as 1
Switch(config-router)# neighbor 1.1.1.2 route-map abc out
Switch(config-router)# network 2.2.2.2/32
Switch(config-router)# network 3.3.3.3/32
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
DUT1# show route-map
route-map abc, permit, sequence 10
Match clauses:
ip address acl1
Set clauses:
local-preference 200
route-map abc, permit, sequence 20
Match clauses:
Set clauses:
DUT2# show ip bgp
BGP table version is 6, local router ID is 1.1.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i2.2.2.2/32 1.1.1.1 0 100 0 i
*>i3.3.3.3/32 1.1.1.1 0 200 0 i
无
与单纯根据IP报文的目的地址进行转发不同,策略路由是一种根据用户制定的策略进行路由转发的机制。
无
pbr
上图是策略路由的一个典型配置:可以在Switch1的eth-0-1端口上应用一个策略路由,源地址是172.16.6.1的报文将会被转发给172.16.4.2, 其余报文进行普通的路由转发,到172.16.4.3。
以下配置在Switch1上进行:
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建ip访问控制列表,规则匹配源地址
Switch(config)# ip access-list acl1
Switch(config-ip-acl)# 10 permit any 172.16.6.0 0.0.0.255 any
Switch(config-ip-acl)# exit
步骤3 创建一个route map,匹配ip访问控制列表,并设置下一跳地址
Switch(config)# route-map rmap permit 10
Switch(config-route-map)# match ip address acl1
Switch(config-route-map)# set ip next-hop 172.16.4.2
Switch(config-route-map)# exit
步骤4 进入接口配置模式,配置接口属性,应用策略路由
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 172.16.5.2/24
Switch(config-if)# no shutdown
Switch(config-if)# ip policy route-map rmap
Switch(config-if)# exit
步骤5 创建下一跳为172.16.4.3的静态路由(可选)
为实现“其余报文进行普通的路由转发”,可以使用静态路由来实现。也可以使用动态路由协议,视实际网络运行情况而定。
Switch(config)# ip route 0.0.0.0/0 172.16.4.3
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch# show ip policy route-map
Route-map interface
rmap eth-0-1
pbr
上图是PBR与BFD联动的一个配置示例:根据PBR路由,switch2向端口eth-0-13转发报文,当switch4的eth-0-13口down时,bfd会话状态会切换到down状态,与之绑定的track 1也会转为down,PBR下一跳4.1.1.2会变为无效的,然后报文从switch2的eth-0-14口转发。
步骤1 在Switch1上配置
Switch1# configure terminal
Switch1(config)# interface eth-0-1
Switch1(config-if)# no shutdown
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 1.1.1.1/24
Switch1(config-if)# interface eth-0-9
Switch1(config-if)# no shutdown
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 2.1.1.1/24
Switch1(config-if)# quit
Switch1(config)# ip route 5.1.1.0/24 2.1.1.2
Switch1(config)# ip route 6.1.1.0/24 2.1.1.2
步骤2 在Switch2上配置
Switch2# configure terminal
Switch2(config)# ip access-list acl1
Switch2(config-ip-acl)# 10 permit any host 2.1.1.1 any
Switch2(config-ip-acl)# quit
Switch2(config)# route-map rmap permit 10
Switch2(config-route-map)# match ip address acl1
Switch2(config-route-map)# set ip next-hop 4.1.1.2 track 1
Switch2(config-route-map)# quit
Switch2(config)# interface eth-0-9
Switch2(config-if)# no shutdown
Switch2(config-if)# no switchport
Switch2(config-if)# ip address 2.1.1.2/24
Switch2(config-if)# ip policy route-map rmap
Switch2(config-if)# interface eth-0-13
Switch2(config-if)# no shutdown
Switch2(config-if)# no switchport
Switch2(config-if)# ip address 4.1.1.1/24
Switch2(config-if)# interface eth-0-14
Switch2(config-if)# no shutdown
Switch2(config-if)# no switchport
Switch2(config-if)# ip address 5.1.1.1/24
Switch2(config-if)# quit
Switch2(config)# track 1 bfd source interface eth-0-13 destination 4.1.1.2
Switch2(config-track)# quit
Switch2(config)# ip route 1.1.1.0/24 2.1.1.1
Switch2(config)# ip route 6.1.1.0/24 5.1.1.2
步骤3 在Switch4上配置
Switch4# configure terminal
Switch4(config)# interface eth-0-1
Switch4(config-if)# no shutdown
Switch4(config-if)# no switchport
Switch4(config-if)# ip address 6.1.1.1/24
Switch4(config-if)# interface eth-0-13
Switch4(config-if)# no shutdown
Switch4(config-if)# no switchport
Switch4(config-if)# ip address 4.1.1.2/24
Switch4(config-if)# interface eth-0-14
Switch4(config-if)# no shutdown
Switch4(config-if)# no switchport
Switch4(config-if)# ip address 5.1.1.2/24
Switch4(config-if)# quit
Switch4(config)# track 1 bfd source interface eth-0-13 destination 4.1.1.1
Switch4(config-track)# quit
Switch4(config)# ip route 1.1.1.0/24 5.1.1.1
Switch4(config)# ip route 2.1.1.0/24 5.1.1.1
步骤3 ping 6.1.1.1 Switch2会向eth-0-13口转发报文
Switch1# ping 6.1.1.1
PING 6.1.1.1 (6.1.1.1) 56(84) bytes of data.
64 bytes from 6.1.1.1: icmp_seq=1 ttl=63 time=417 ms
64 bytes from 6.1.1.1: icmp_seq=2 ttl=63 time=428 ms
64 bytes from 6.1.1.1: icmp_seq=3 ttl=63 time=441 ms
64 bytes from 6.1.1.1: icmp_seq=4 ttl=63 time=469 ms
64 bytes from 6.1.1.1: icmp_seq=5 ttl=63 time=461 ms
--- 6.1.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 6810ms
rtt min/avg/max/mdev = 417.834/443.810/469.720/19.470 ms
步骤4 关闭Switch4的eth-0-13口
Switch4# configure terminal
Switch4(config)# interface eth-0-13
Switch4(config-if)# shutdown
步骤5 检查配置
Switch2# show track
Track 1
Type : BFD state
Source interface : eth-0-13
Destination IP : 4.1.1.2
BFD Local discr : 8192
rmap : pref 10 track 1
State : down
Switch2# show bfd session
Abbreviation:
LD: Local Discriminator. RD: Remote Discriminator
S: Single hop session. M: Multi hop session.
SD: Static Discriminator. DD: Dynamic Discriminator
SBFD: Seamless BFD
A: Admin down. D:Down. I:Init. U:Up.
============================================================================
LD RD TYPE ST UP-Time Remote-Addr Sbfd-Type VRF
8192 0 S-DD D 00:00:00 4.1.1.2 None default
Number of Sessions: 1
报文从Switch2的eth-0-14口转发
Switch# ping 6.1.1.1
PING 6.1.1.1 (6.1.1.1) 56(84) bytes of data.
64 bytes from 6.1.1.1: icmp_seq=1 ttl=63 time=414 ms
64 bytes from 6.1.1.1: icmp_seq=2 ttl=63 time=432 ms
64 bytes from 6.1.1.1: icmp_seq=3 ttl=63 time=424 ms
64 bytes from 6.1.1.1: icmp_seq=4 ttl=63 time=525 ms
64 bytes from 6.1.1.1: icmp_seq=5 ttl=63 time=437 ms
--- 6.1.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 6563ms
rtt min/avg/max/mdev = 414.720/446.816/525.276/39.949 ms
无
边界网关协议(BGP)是一个内部自治系统路由协议。
BGP通告系统的主要功能,是用其他的BGP系统来交换网络上的可达信息。这个网络可达信息包括自治系统(AS)中的可达性信息。这个信息,对构建一个可联通的AS(如果出现路由环路的话会被切断,以及在这个AS级别中,有些策略会被强制执行)来说,是足够的。
BGP-4 提供了一组机制,来支持无类域内路由(CIDR)[RFC1518, RFC1519]. 这些机制包括发布一组IP前缀的目的地址,已经消除BGP中“类”的概念。BGP-4 也引入了一些允许路由集合(包括AS路径的集合)这样的概念。
被BGP交换的路由信息只支持基于目的的范例,假定路由器只通过在IP报文头中的目的地址来转发报文。这样,反过来说,反而导致了这些策略决策是否可以被强制的使用BGP。BGP可以支持那些基于目的地址转发的策略。
参考 1771, RFC 4271。
EBGP
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1:
Switch(config)# interface eth-0-13
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 2.2.2.1/24
Switch(config-if)# exit
Switch2:
Switch(config)# interface eth-0-13
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 1.1.1.2/24
Switch(config-if)# exit
步骤3 配置静态路由
Switch1:
Switch(config)# ip route 3.3.3.0/24 2.2.2.2
步骤4 创建BGP路由实例,配置router id、邻居、宣告网络和配置重发布等属性
Switch1:
Switch(config)# router bgp 100
Switch(config-router)# bgp router-id 10.10.10.10
Switch(config-router)# neighbor 1.1.1.2 remote-as 200
Switch(config-router)# neighbor 1.1.1.2 ebgp-multihop
Switch(config-router)# network 4.0.0.0/8
Switch(config-router)# redistribute static
Switch(config-router)# redistribute connected
Switch(config-router)# exit
Switch2:
Switch(config)# router bgp 200
Switch(config-router)# bgp router-id 11.11.11.11
Switch(config-router)# neighbor 1.1.1.1 remote-as 100
Switch(config-router)# neighbor 1.1.1.1 ebgp-multihop
Switch(config-router)# redistribute connected
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1:
Switch# show ip bgp neighbors
BGP neighbor is 1.1.1.2, remote AS 200, local AS 100, external link
BGP version 4, remote router ID 0.0.0.0
BGP state = Active
Last read 00:26:00, hold time is 180, keepalive interval is 60 seconds
Received 0 messages, 0 notifications, 0 in queue
Sent 0 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 30 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 0
Index 1, Offset 0, Mask 0x2
0 accepted prefixes
0 announced prefixes
Connections established 0; dropped 0
External BGP neighbor may be up to 255 hops away.
Next connect timer due in 87 seconds
Switch2:
SwitchB# show ip bgp neighbors
BGP neighbor is 1.1.1.1, remote AS 100, local AS 200, external link
BGP version 4, remote router ID 0.0.0.0
BGP state = Active
Last read 00:21:39, hold time is 180, keepalive interval is 60 seconds
Received 0 messages, 0 notifications, 0 in queue
Sent 0 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 30 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 0
Index 1, Offset 0, Mask 0x2
0 accepted prefixes
0 announced prefixes
Connections established 0; dropped 0
External BGP neighbor may be up to 255 hops away.
Next connect timer due in 97 seconds
IBGP
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 2.2.2.1/24
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# exit
Switch(config)#interface loopback 0
Switch(config-if)# ip address 10.10.10.10/32
Switch(config-if)# exit
Switch2:
Switch(config)# interface eth-0-13
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 1.1.1.2/24
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.11.11/32
Switch(config-if)# exit
步骤3 配置静态路由
Switch1:
Switch (config)# ip route 11.11.11.11/32 1.1.1.2
Switch2:
Switch (config)# ip route 10.10.10.10/32 1.1.1.1
步骤4 创建BGP路由实例,配置router id、邻居、宣告网络和配置重发布等属性
Switch1:
Switch(config)# router bgp 100
Switch(config-router)# bgp router-id 10.10.10.10
Switch(config-router)# neighbor 11.11.11.11 remote-as 100
Switch(config-router)# neighbor 11.11.11.11 update-source loopback 0
Switch(config-router)# network 4.0.0.0/8
Switch(config-router)# redistribute static
Switch(config-router)# redistribute connected
Switch(config-router)# exit
Switch2:
Switch(config)# router bgp 100
Switch(config-router)# bgp router-id 11.11.11.11
Switch(config-router)# neighbor 10.10.10.10 remote-as 100
Switch(config-router)# neighbor 10.10.10.10 update-source loopback 0
Switch(config-router)# redistribute connected
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1:
Switch# show ip bgp neighbors
BGP neighbor is 11.11.11.11, remote AS 100, local AS 100, internal link
BGP version 4, remote router ID 0.0.0.0
BGP state = Active
Last read 00:02:32, hold time is 180, keepalive interval is 60 seconds
Received 0 messages, 0 notifications, 0 in queue
Sent 0 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
Update source is loopback0
For address family: IPv4 Unicast
BGP table version 1, neighbor version 0
Index 1, Offset 0, Mask 0x2
0 accepted prefixes
0 announced prefixes
Connections established 0; dropped 0
Next connect timer due in 62 seconds
Switch2:
Switch# show ip bgp neighbors
BGP neighbor is 10.10.10.10, remote AS 100, local AS 100, internal link
BGP version 4, remote router ID 0.0.0.0
BGP state = Active
Last read 00:01:58, hold time is 180, keepalive interval is 60 seconds
Received 0 messages, 0 notifications, 0 in queue
Sent 0 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
Update source is loopback0
For address family: IPv4 Unicast
BGP table version 1, neighbor version 0
Index 1, Offset 0, Mask 0x2
0 accepted prefixes
0 announced prefixes
Connections established 0; dropped 0
Next connect timer due in 17 seconds
无
中间系统到中间系统ISIS是一种链路状态路由协议,使用最短路径优先SPF算法进行 路由算法,实际上与OSPF非常相似,它也使用Hello协议寻找毗邻节点,使用一个传播协议发送链接信息。ISIS可以在不同的子网上操作,包括广播型的LAN、WAN和点到点链路。
NET
NET(Network Entity Title,网络实体名称)指示的是IS本身的网络层信息,不包括传输层信息(SEL=0),可以看作是一类特殊的NSAP,即SEL为0的NSAP地址。因此,NET的长度与NSAP的相同,最多为20个字节,最少为8个字节。
通常情况下,一台路由器配置一个NET即可,当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保证路由的正确性。由于一台路由器默认最多可配置3个区域地址,所以最多也只能配置3个NET。在配置多个NET时,必须保证它们的System ID都相同。
例如NET为:ab.cdef.1234.5678.9abc.00,则其中Area为ab.cdef,System ID为1234.5678.9abc,SEL为00。
ISIS区域
(1)Level-1路由器 Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,维护一个Level-1的LSDB,该LSDB包含本区域的路由信息,到区域外的报文转发给最近的Level-1-2路由器。
(2)Level-2路由器 Level-2路由器负责区域间的路由,可以与同一区域或者其它区域的Level-2和Level-1-2路由器形成邻居关系,维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。所有Level-2路由器和Level-1-2路由器组成路由域的骨干网,负责在不同区域间通信,路由域中的Level-2路由器必须是物理连续的,以保证骨干网的连续性。只有Level-2路由器才能直接与路由域外的路由器交换数据报文或路由信息。
(3)Level-1-2路由器 同时属于Level-1和Level-2的路由器称为Level-1-2路由器,可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与同一区域或者其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
ISIS
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建isis实例,配置net
Switch1的配置:
Switch(config)# router isis
Switch(config-router)# net 10.0000.0000.0001.00
Switch(config-router)# exit
Switch2的配置:
Switch(config)# router isis
Switch(config-router)# net 10.0000.0000.0002.00
Switch(config-router)# exit
步骤3 接口使能ipv4 isis
Switch1的配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.10/24
Switch(config-if)# ip router isis
Switch(config)# interface loopback 0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# ip router isis
Switch2的配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.11/24
Switch(config-if)# ip router isis
Switch(config)# interface loopback 0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# ip router isis
步骤4 检查配置
Switch1 显示结果:
Switch# show clns neighbors
Area (null):
System Id Interface SNPA State Holdtime Type Protocol
0000.0000.0002 eth-0-9 4a98.a825.3d00 Up 21 L1 IS-IS
Up 21 L2 IS-IS
Switch# show isis database verbose
Area (null):
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
0000.0000.0001.00-00* 0x00000004 0x3244 1082 0/0/0
Area Address: 10
NLPID: IPV4
IP Address: 10.10.10.10
Metric: 10 IS 0000.0000.0001.01
Metric: 10 IP 10.10.10.0 255.255.255.0
Metric: 10 IP 1.1.1.1 255.255.255.255
0000.0000.0001.01-00* 0x00000001 0x21B9 895 0/0/0
Metric: 0 IS 0000.0000.0001.00
Metric: 0 IS 0000.0000.0002.00
0000.0000.0002.00-00 0x00000004 0xFA75 1076 0/0/0
Area Address: 10
NLPID: IPV4
IP Address: 10.10.10.11
Metric: 10 IS 0000.0000.0001.01
Metric: 10 IP 10.10.10.0 255.255.255.0
Metric: 10 IP 2.2.2.2 255.255.255.255
IS-IS Level-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
0000.0000.0001.00-00* 0x00000005 0xFCCE 1109 0/0/0
Area Address: 10
NLPID: IPV4
IP Address: 10.10.10.10
Metric: 10 IS 0000.0000.0001.01
Metric: 10 IP 10.10.10.0 255.255.255.0
Metric: 20 IP 2.2.2.2 255.255.255.255
Metric: 10 IP 1.1.1.1 255.255.255.255
0000.0000.0001.01-00* 0x00000001 0x21B9 895 0/0/0
Metric: 0 IS 0000.0000.0001.00
Metric: 0 IS 0000.0000.0002.00
0000.0000.0002.00-00 0x00000005 0x7B4E 1107 0/0/0
Area Address: 10
NLPID: IPV4
IP Address: 10.10.10.11
Metric: 10 IS 0000.0000.0001.01
Metric: 10 IP 10.10.10.0 255.255.255.0
Metric: 10 IP 2.2.2.2 255.255.255.255
Metric: 20 IP 1.1.1.1 255.255.255.255
Switch# show ip isis route
Codes: C - connected, E - external, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, D - discard, e - external metric
Area (null):
Destination Metric Next-Hop Interface Tag
C 1.1.1.1/32 10 -- loopback0 0
L1 2.2.2.2/32 20 10.10.10.11 eth-0-9 0
C 10.10.10.0/24 10 -- eth-0-9 0
Switch2 显示结果:
Switch# show clns neighbors
Area (null):
System Id Interface SNPA State Holdtime Type Protocol
0000.0000.0001 eth-0-9 a821.1873.ae00 Up 9 L1 IS-IS
Up 9 L2 IS-IS
Switch# show isis database verbose
Area (null):
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
0000.0000.0001.00-00 0x00000004 0x3244 934 0/0/0
Area Address: 10
NLPID: IPV4
IP Address: 10.10.10.10
Metric: 10 IS 0000.0000.0001.01
Metric: 10 IP 10.10.10.0 255.255.255.0
Metric: 10 IP 1.1.1.1 255.255.255.255
0000.0000.0001.01-00 0x00000001 0x21B9 745 0/0/0
Metric: 0 IS 0000.0000.0001.00
Metric: 0 IS 0000.0000.0002.00
0000.0000.0002.00-00* 0x00000004 0xFA75 930 0/0/0
Area Address: 10
NLPID: IPV4
IP Address: 10.10.10.11
Metric: 10 IS 0000.0000.0001.01
Metric: 10 IP 10.10.10.0 255.255.255.0
Metric: 10 IP 2.2.2.2 255.255.255.255
IS-IS Level-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
0000.0000.0001.00-00 0x00000005 0xFCCE 961 0/0/0
Area Address: 10
NLPID: IPV4
IP Address: 10.10.10.10
Metric: 10 IS 0000.0000.0001.01
Metric: 10 IP 10.10.10.0 255.255.255.0
Metric: 20 IP 2.2.2.2 255.255.255.255
Metric: 10 IP 1.1.1.1 255.255.255.255
0000.0000.0001.01-00 0x00000001 0x21B9 747 0/0/0
Metric: 0 IS 0000.0000.0001.00
Metric: 0 IS 0000.0000.0002.00
0000.0000.0002.00-00* 0x00000005 0x7B4E 960 0/0/0
Area Address: 10
NLPID: IPV4
IP Address: 10.10.10.11
Metric: 10 IS 0000.0000.0001.01
Metric: 10 IP 10.10.10.0 255.255.255.0
Metric: 10 IP 2.2.2.2 255.255.255.255
Metric: 20 IP 1.1.1.1 255.255.255.255
Switch# show ip isis route
Codes: C - connected, E - external, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, D - discard, e - external metric
Area (null):
Destination Metric Next-Hop Interface Tag
L1 1.1.1.1/32 20 10.10.10.10 eth-0-9 0
C 2.2.2.2/32 10 -- loopback0 0
C 10.10.10.0/24 10 -- eth-0-9 0
无
随着Internet网络的不断发展,网络数据、语音、视频信息等多种交互业务与日俱增。另外,新兴的电子商务、网上会议、网上拍卖、视频点播、远程教学等对带宽和实时数据交互要求较高的服务逐渐兴起,这些服务对信息安全性、可计费性、网络带宽提出了更高的要求。
当网络中需要某信息的用户量不确定时,单播和广播方式的效率会很低,IP组播技术的出现改变了这一现状。当网络中的某些用户需要特定信息时,组播信息发送者(即组播源)仅发送一次信息,借助组播路由协议为组播数据包建立树型路由,被传递的信息在距离用户端尽可能近的节点才开始复制和分发。
通过组播路由协议,多个接收者能跨越不同网络接收到组播数据。
•IGMP(Internet Group Management Protocol,因特网组管理协议)是TCP/IP协议族中负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
•PIM(Protocol Independent Multicast,协议无关组播),用于组播路由器或多层交换机之间。为IP组播提供路由的单播路由协议,可以是静态路由、RIP、OSPF、IS-IS、BGP 等,组播路由和单播路由协议无关,只要单播路由协议能产生路由表项即可。借助RPF(Reverse Path Forwarding,逆向路径转发)机制,PIM实现了在网络中传递组播信息。为了描述上的方便,我们把由支持PIM协议的组播路由器所组成的网络称为PIM组播域,PIM有两种模式:密集模式和稀疏模式。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置组播路由的最大规格
Switch(config)# ip multicast route-limit 1000
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show ip mroute route-limit
Max Multicast Route Limit Number: 1000
Multicast Route Limit Warning Threshold: 1000
Multicast Hardware Route Limit: 1023
Current Multicast Route Entry Number: 0
无
参与IP组播的主机、路由器、多层交换机必须具备IGMP功能。该协议定义了查询器和主机角色:
•网络设备的查询器发送查询消息给网络中特定组来发现组播中的成员。
•主机发送IGMP报告报文(响应查询报文)来通知查询者主机要加入相应的组播组列表中。
•一个组播组的成员是动态的,主机可以随时加入和离开。一个多播组成员在位置或数量上没有限制。
•一个主机可同时加入多个组播组。在网络中,组播组的存在可以持续很长一段时间,也可以非常短暂。
IGMP报文使用下面的组播地址:
•IGMP普通组查询以224.0.0.1为目的地址(在一个子网中的所有系统)。
•IGMP特定组的查询以特定组IP地址为目的查询。
•IGMP组成员发送Report报文给特定的组播IP地址。
•IGMP版本2(IGMPv2)离开组播组时,发送离开消息给224.0.0.2。
参考 RFC 1112,RFC 2236,RFC 3376
IGMP的使能依赖于组播路由协议的使能,当接口上使能PIM,IGMP将会在接口上自动启用。
在IGMP开始工作之前,IP播路由必须在全局模式启用。
系统支持动态学习IGMP组记录,也可以配置静态IGMP组记录。
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能组播路由
Switch(config)# ip multicast-routing
步骤3 进入接口配置模式,配置接口属性和IP地址
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.10/24
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.11.10/24
Switch(config-if)# exit
步骤4 接口启用pim-sm
Switch(config)# interface eth-0-1
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
步骤5 配置接口IGMP参数
Switch(config)# interface eth-0-1
Switch(config-if)# ip igmp version 2
Switch(config-if)# ip igmp query-interval 120
Switch(config-if)# ip igmp query-max-response-time 12
Switch(config-if)# ip igmp robustness-variable 3
Switch(config-if)# ip igmp last-member-query-count 3
Switch(config-if)# ip igmp last-member-query-interval 2000
Switch(config-if)# exit
步骤6 配置最大IGMP组数目(可选)
全局和接口可以分别配置IGMP的组数目:
Switch(config)# ip igmp limit 2000
Switch(config)# interface eth-0-1
Switch(config-if)# ip igmp limit 1000
步骤7 配置静态IGMP组
Switch(config-if)# ip igmp static-group 228.1.1.1
Switch(config-if)# exit
步骤8 配置IGMP代理(可选)
Switch(config)# interface eth-0-1
Switch(config-if)# ip igmp proxy-service
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# ip igmp mroute-proxy eth-0-1
Switch(config-if)# exit
步骤9 退出配置模式
Switch(config)# end
步骤10 检查配置
使用下列命令,显示IGMP接口信息:
Switch# show ip igmp interface
Interface eth-0-1 (Index 1)
IGMP Inactive, Version 2 (default) proxy-service
IGMP host version 2
IGMP global limit is 2000
IGMP global limit states count is currently 0
IGMP interface limit is 1000
IGMP interface has 0 group-record states
IGMP activity: 0 joins, 0 leaves
IGMP query interval is 120 seconds
IGMP querier timeout is 366 seconds
IGMP max query response time is 12 seconds
Last member query response interval is 2000 milliseconds
Group Membership interval is 372 seconds
Last memeber query count is 3
Robustness Variable is 3
Interface eth-0-2 (Index 2)
IGMP Inactive, Version 2 (default)
IGMP mroute-proxy interface is eth-0-1
IGMP global limit is 2000
IGMP global limit states count is currently 0
IGMP interface limit is 16384
IGMP interface has 0 group-record states
IGMP activity: 0 joins, 0 leaves
IGMP query interval is 125 seconds
IGMP querier timeout is 255 seconds
IGMP max query response time is 10 seconds
Last member query response interval is 1000 milliseconds
Group Membership interval is 260 seconds
Last memeber query count is 2
Robustness Variable is 2
使用下列命令,显示IGMP组信息:
Switch# show ip igmp groups
IGMP Connected Group Membership
Group Address Interface Uptime Expires Last Reporter
228.1.1.1 eth-0-1 00:00:05 stopped -
无
协议无关组播稀疏模式(PIM-SM)是一个组播路由协议,用来将稀疏分散的组播设备联系起来协同工作。它将有助于分散的网络节点节约带宽和通过发送单一流量到多个接受着来降低网络流量。
PIM-SM使用的IP组播模型中,接收者需要主动发起请求成为组成员。支持共享和最短路径树,并使用软状态机制,以适应不断变化的网络条件。它依赖于单播路由协议来建立和维护路由器间的组播路由。
参考 RFC 4601
以下是PIM-SM协议概念的简要描述:
•汇聚点(RP / Rendezvous Point):在SM模式中作为组播的汇聚点,发送者和接收者在RP处进行汇聚。对于所有的组播路由器,必须知道某个组播组对应哪个RP。组播数据需要在RP上注册,然后所有需要组播数据的接收者通过向RP发送JOIN报文来请求数据。源的注册机制就是让RP知道现在网络内有什么源的数据。
•组播路由信息库(MRIB):组播路由表是从单播路由表的获得的。在PIM-SM中,MRIB是用来决定向何处发送加入/剪枝消息。它还提供了目的网络的路由度量。发送和处理的Assert消息时将使用这些度量。
•反向路径转发(RPF):反向路径转发是指路由器在接受数据包从源A通过接口IF1时,只有IF1是到达源A的出接口时才会接受这个包。反向路径转发通过使用单播路由表来决定入端口是否正确。这个数据包将被转发是由于单播路由表表明了接口IF1是到达源A的最短路径。单播路由表为组播数据选择最短路径。
•组播树状态信息库(TIB):组播树状态信息库是组播路由器上保存所有组播转发树信息的一个信息库,通过收到PIM加入/剪枝消息,Assert消息和IGMP消息建立起来。
•上游Upstream:朝向树根,树根可能是源或RP。
•下游Downstream:远离树根,树根可能是源或RP。
•基于源的树:基于源的树的转发路径是到达源的最短转发路径,如果单播路由度量是跳数,基于源的树的转发路径的跳数最小,如果单播路由度量是延迟,基于源的树的转发路径的延迟最小。对于每个组播源,有一个对应的组播转发树直接将源和接收者连接起来。所有发往指定组的流量沿着对应的转发树进行转发。
•共享树:共享树依赖于汇聚点(RP),所有流量从源都发往那个汇聚点,然后汇聚点再将流量发送给接收者。对于每一个组播组来说,不管有多少个源,只有一个转发树。共享树是单向的,流量只会从RP流向接收者。如果一个源要发送组播数据,首先组播数据要被发到RP,然后在从RP发送到接收者。
•自举路由器(BSR):当一个组播源开始发送组播数据或者一个接收者开始发送加入信息到RP,组播路由器必须知道汇聚点的信息。自举路由器负责在PIM-SM网络启动后,收集网络内的RP信息,为每个组选举出RP,然后将RP集(即组-RP映射数据库)发布到整个PIM-SM网络。
•数据流从源到接收者:发送Hello消息|PIM路由器定期的发送Hello消息来发现PIM路由器邻居。Hello消息是组播报文,使用224.0.0.13这个地址。PIM路由器对Hello消息进行响应,Hello消息中的Hold时间来决定信息的有效时间。
•选举指定路由器:在一个多路访问的网络中如果有多个组播路由器,只能有一个组播路由器被选为指定路由器,负责为本地网络的组播接收者往RP发送加入/剪枝消息。
•RP发现:PIM-SM通过自举路由器来产生自举消息,然后发布RP信息给所有的组播路由器。组播路由器接收和保存自举消息,当DR从直连host收到一个IGMP报文或组播数据,DR计算出该组播组的RP,然后发送加入/剪枝到RP或者封装reigster报文到RP。在小网络环境下可以静态指定RP。
•加入共享树:要加入一个多播组,主机发送一个IGMP消息给上游路由器,组播路由器向RP方向的上游的PIM邻居发送加入报文。当组播路由器接收到下游设备的加入请求后,检查本地的组播组是否存在。如果存在,说明加入消息被送到共享树,收到消息的接口被成为outgoing的接口.如果不存在,条目将被创建,收到消息接口的被加入到outgoing中并再次向RP方向的上游的PIM邻居发送加入报文。
•组播源注册:与组播源S直接相连的路由器接收到该组播报文后,就将该报文封装成Register注册报文,并单播发送给对应的RP。当RP接收到来自组播源S的注册消息后,一方面解封装注册消息并将组播信息沿着RPT树转发到接收者,另一方面朝组播源S逐跳发送(S,G)加入消息,从而让RP和组播源S之间的所有路由器上都生成了(S,G)表项,这些沿途经过的路由器就形成了SPT树的一个分支。SPT源树以组播源S为根,以RP为目的地组播源S发出的组播信息沿着已经建立好的SPT树到达RP,然后由RP将信息沿着RPT共享树进行转发。
•发送注册停止消息:当RP从组播源接收到注册报文后也收到未封装的组播报文,将发送注册停止消息给组播源一侧的DR,当DR收到注册停止消息后将不再发送注册消息给RP了。
•剪枝端口:接收者侧的组播路由器向RP方向的上游的PIM邻居发送剪枝报文,当上联组播路由器收到剪枝报文后,将收到剪枝报文的端口从转发端口中删除,当本路由器上没有其他接收者后会继续向RP方向的上游的PIM邻居发送剪枝报文。 转发组播数据:PIM-SM路由器将组播数据发往那些已经明确表示加入组播组的接收者。组播路由器将进行RPF检查,只有检查通过的组播数据包才将通过出端口发送出去。
Pim sm
PIM-SM是一个软状态协议。要求所需的接口上启用PIM-SM协议,并通过静态或动态的方法正确配置的RP信息。所有组播组的状态依据IGMP报告/离开和PIM加入/剪枝消息动态的维护。
本节分别提供了静态PR和动态PR配置的例子。使用的网络拓扑如上图所示。
以下例子中Switch1是RP,所有的路由器都配置静态RP
每个路由器配置静态RP地址11.1.1.1。
所有接口上必须启用PIM-SM功能。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址,并使能pim sm
在Switch1配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.1.1.1/24
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 12.1.1.1/24
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
在Switch2配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 22.1.1.2/24
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 12.1.1.2/24
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
步骤3 配置静态路由
在Switch1配置:
Switch(config)# ip route 22.1.1.0/24 12.1.1.2
在Switch2配置:
Switch(config)# ip route 11.1.1.0/24 12.1.1.1
步骤4 配置静态RP地址
Switch(config)# ip pim rp-address 11.1.1.1
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用下列命令,显示rp对应映射关系。 11.1.1.1是对所有组播组224.0.0.0/4静态配置的RP:
Switch# show ip pim sparse-mode rp mapping
PIM group-to-RP mappings
Group(s): 224.0.0.0/4, Static
RP: 11.1.1.1
Uptime: 00:08:21
使用下列命令,显示接口的组播信息:
Switch# show ip pim sparse-mode interface
Address Interface VIFindex Ver/ Nbr DR DR HoldTime
Mode Count Prior
11.1.1.1 eth-0-1 2 v2/S 0 1 11.1.1.1 105
12.1.1.1 eth-0-9 0 v2/S 1 1 12.1.1.2 105
使用下列命令,显示PIM-SM的组播路由表:
Switch1:
Switch# show ip pim sparse-mode mroute detail
IP Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
(*, 224.1.1.1) Uptime: 00:01:32
RP: 11.1.1.1, RPF nbr: None, RPF idx: None
Upstream:
State: JOINED, SPT Switch: Enabled, JT: off
Macro state: Join Desired,
Downstream:
eth-0-9:
State: JOINED, ET Expiry: 179 secs, PPT: off
Assert State: NO INFO, AT: off
Winner: 0.0.0.0, Metric: 4294967295, Pref: 4294967295, RPT bit: on
Macro state: Could Assert, Assert Track
Join Olist:
eth-0-9
Switch2:
Switch# show ip pim sparse-mode mroute detail
IP Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
(*, 224.1.1.1) Uptime: 00:00:43
RP: 11.1.1.1, RPF nbr: 12.1.1.1, RPF idx: eth-0-9
Upstream:
State: JOINED, SPT Switch: Enabled, JT Expiry: 18 secs
Macro state: Join Desired,
Downstream:
eth-0-1:
State: NO INFO, ET: off, PPT: off
Assert State: NO INFO, AT: off
Winner: 0.0.0.0, Metric: 4294967295, Pref: 4294967295, RPT bit: on
Macro state: Could Assert, Assert Track
Local Olist:
eth-0-1
在小型并且简单的网络中,组播信息量少,全网络仅依靠一个RP进行信息转发即可,此时可以在SM域中各路由器上静态指定RP位置。但是更多的情况下,PIM-SM网络规模都很大,通过RP转发的组播信息量巨大,为了缓解RP的负担同时优化共享树的拓扑结构,不同组播组应该对应不同的RP,此时就需要自举机制来动态选举RP。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和ip地址,并使能pim sm
在Switch1配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.1.1.1/24
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 12.1.1.1/24
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
在Switch2配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 22.1.1.2/24
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 12.1.1.2/24
Switch(config-if)# ip pim sparse-mode
Switch(config-if)# exit
步骤3 配置静态路由
在Switch1配置:
Switch(config)# ip route 22.1.1.0/24 12.1.1.2
在Switch2配置:
Switch(config)# ip route 11.1.1.0/24 12.1.1.1
步骤4 配置候选RP接口
在Switch1配置:
Switch(config)# ip pim rp-candidate eth-0-1
在Switch2配置:
Switch(config)# ip pim rp-candidate eth-0-9
Switch(config)# ip pim bsr-candidate eth-0-9
选择最高优先级的路由器为RP。如果有两个或多个路由器的优先级相同,使用BSR机制的哈希函数来选择RP,确保在PIM域内所有路由器的同一个组都选择相同的RP。可以使用ip pim rp-candidate IFNAME PRIORITY命令来改变候选RP的默认的优先级。
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用show ip pim sparse-mode rp mapping命令,来显示组-RP的映射的详细信息,输出内容是候选RP信息。对组的范围224.0.0.0 / 4的组有两个候选RP。候选RP 11.1.1.1默认的优先级192,而候选RP 12.1.1.2的优先级被配置为2。由于候选RP 12.1.1.2由于具有更高的优先权,它被选中作为组播组224.0.0.0/24的RP。
Switch2:
switch# show ip pim sparse-mode rp mapping
PIM group-to-RP mappings
This system is the bootstrap router (v2)
Group(s): 224.0.0.0/4
RP: 12.1.1.2
Info source: 12.1.1.2, via bootstrap, priority 2
Uptime: 01:55:20, expires: 00:02:17
RP: 11.1.1.1
Info source: 11.1.1.1, via bootstrap, priority 192
Uptime: 01:55:23, expires: 00:02:13
要显示特定组的RP路由器的信息,使用下面的命令。此输出显示,12.1.1.2已经选择224.1.1.1的组播组的RP。
Switch2:
switch# show ip pim sparse-mode rp-hash 224.1.1.1
RP: 12.1.1.2
Info source: 12.1.1.2, via bootstrap
RP信息需要通知域中的所有PIM路由器,通过各种状态机保持所有路由器的组成员的加入/剪枝的结果。要显示接口的详细信息和组播路由表的信息,请参见以上配置RP的静态部分。
bsr
每个组播组需要有一个为它服务的RP,这个RP作为基于组播组的分发树的根。为了组播数据能从发送者到达接收者,在一个组播域内的组播路由器需要使用同样的组播组-RP的映射。为了选择指定组播组的RP,组播路由器需要维护一系列的组播组-RP的映射关系,这被称为RP集。自举路由器的机制就是用来让在同一个组播域内的组播路由器能够学习到这个RP集。
BSR是PIM-SM网络里的管理核心,主要负责:
•负责收集网络中Candidate-RP(C-RP)发来的Advertisement宣告信息。
•为每个组播组选择部分C-RP信息以组成RP-Set集(即组播组和RP的映射数据库)。
•发布到整个PIM-SM网络,从而使网络内的所有路由器(包括DR)都会知道RP的位置。
PIM域中,需要配置一个或多个候选BSR,候选BSR之间通过自动选举,产生自举路由器BSR,负责收集并发布RP信息。下面简单描述一下候选BSR之间的自动选举:
•在将路由器配置为候选BSR时,必须同时指定一个启动了PIM-SM的接口。
•每个候选BSR开始都认为自己是本PIM-SM的BSR,并使用这个接口的IP地址作为BSR地址,发送自举报文(Bootstrap message)。
•当候选BSR收到其它路由器发来的自举报文时,它将新收到的自举报文的BSR地址与自己的BSR地址进行比较,比较标准包括优先级和IP地址,优先级相同的情况下,较大的IP地址被认为是更好的。如果前者更好,则将这个新的BSR地址替换自己的BSR地址,并且不再认为自己是BSR。否则,保留自己的BSR地址,继续将自己视为BSR。
•备选RP将自己的RP信息报告给自举路由器,然后自举路由器将汇聚的RP集通过自举报文发布到整个组播域的所有路由器。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置BSR候选端口
Switch1:
Switch(config)# ip pim bsr-candidate eth-0-1
Switch2:
Switch(config)# ip pim bsr-candidate eth-0-1 10 25
Switch(config)# ip pim rp-candidate eth-0-1 priority 0
步骤3 配置rp候选端口
Switch(config)# ip pim rp-candidate eth-0-1 priority 0
步骤4 配置dr优先级,使能单播收发bsm报文
Switch(config)# interface eth-0-1
Switch(config-if)# ip pim dr-priority 10
Switch(config-if)# ip pim unicast-bsm
步骤5 退出配置模式
Switch(config-if)# end
步骤6 检查配置
检查候选BSR路由器
Switch# show ip pim sparse-mode bsr-router
PIMv2 Bootstrap information
This system is the Bootstrap Router (BSR)
BSR address: 20.0.1.21
Uptime: 00:37:12, BSR Priority: 64, Hash mask length: 10
Next bootstrap message in 00:00:04
Role: Candidate BSR
State: Elected BSR
检查候选BSR路由器
Switch# show ip pim sparse-mode bsr-router
PIMv2 Bootstrap information
BSR address: 20.0.1.21
Uptime: 00:02:39, BSR Priority: 64, Hash mask length: 10
Expires: 00:00:03
Role: Candidate BSR
State: Pending BSR
Switch# show ip pim sparse-mode bsr-router
PIMv2 Bootstrap information
BSR address: 20.0.1.21
Uptime: 00:40:20, BSR Priority: 64, Hash mask length: 10
Expires: 00:02:07
Role: Candidate BSR
State: Candidate BSR
在 E-BSR上检查RP
Switch# sh ip pim sparse-mode rp mapping
PIM Group-to-RP Mappings
This system is the Bootstrap Router (v2)
Group(s): 224.0.0.0/4
RP: 20.0.1.11
Info source: 20.0.1.11, via bootstrap, priority 0
Uptime: 00:00:30, expires: 00:02:04
在C-BSR上检查RP
Switch# show ip pim sparse-mode rp mapping
PIM Group-to-RP Mappings
Group(s): 224.0.0.0/4
RP: 20.0.1.11
Info source: 20.0.1.21, via bootstrap, priority 0
Uptime: 00:00:12, expires: 00:02:18
PIM-SSM是借助PIM-SM的部分技术和IGMPv3来实现的,其建立组播转发树的过程与PIM-SM创建SPT树的过程相似,即接收者DR在知道组播数据源的具体位置后,直接向组播数据源发送Join消息,将组播数据流发送到接收者。
默认情况下,SSM组播组地址的范围为232.0.0.0~232.255.255.255。当用户加入的组播组属于SSM 组地址范围内,通过PIM-SSM的进行处理;当用户加入的组播组不属于SSM 组地址范围,通过PIM-SM的进行处理。
PIM-SSM的特点是网络用户能够预先知道组播源的具体位置。因此用户在加入组播组时,可以明确指定从哪些源接收信息。组成员端DR了解到用户的需求后,直接向组播源的方向发送Join 消息。Join消息逐跳向上传输,在源与组成员之间建立SPT。
PIM-SSM只使用了PIM-SM的部分技术:无需维护RP、无需构建RPT、无需注册组播源,可以直接在源与组成员之间建立SPT。
PIM-SSM可以跟PIM-SM在组播路由器上一起工作。PIM-SSM默认是disable的
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能PIM-SSM
使能ssm:
Switch(config)# ip pim ssm default
或者根据指定的acl来设置PIM-SSM的组范围:
Switch(config)# ip pim ssm range ipacl
以上两种配置方式只能同时存在一种,二选一。后配覆盖先配。
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show running-config | include pim
ip pim ssm range ipacl
无
协议无关组播密集模式(PIM-DM)是一个组播路由协议,用来将密集分布的组播设备联系起来协同工作。它将有助于分散的网络节点节约带宽和通过发送单一流量到多个接收者来降低网络流量。
PIM-DM设想当一个组播源开始发送组播流的时候,所有的下游系统都期望接受这个组播流。刚开始组播流被泛洪到整个网络。当泛洪的时候,PIM-DM使用RPF来防止组播流的环路。如果某些网络区域没有该组播组的接收成员,PIM-DM会把转发分支通过剪枝来删除掉。
剪枝状态有一个生命周期,当生命周期超时后,组播数据将再一次开始转发,每个(S,G)对应的组播组都有自己的剪枝状态。当某个组播组有新的接收者出现在已经被剪枝的区域里,路由器会通过朝组播源发送"graft"消息来把剪枝状态转换成转发路径。
在PIM-DM模块是基于以下的IETF标准:RFC 3973
Pim dm
PIM-DM是一个软状态协议,要求在所需的接口上启用PIM-DM协议,所有组播组的状态通过IGMP报告/离开消息和PIM消息来动态的维护。
本节提供了两个PIM-DM配置的相关的场景。下面的例子中使用的网络拓扑如上图;
组播流从Switch1的eth-0-1口进来,接收者来与Switch2的eth-0-1相连。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性和IP地址,并使能pim-dm
在Switch1 配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.1.1.1/24
Switch(config-if)# ip pim dense-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 12.1.1.1/24
Switch(config-if)# ip pim dense-mode
Switch(config-if)# exit
在Switch2 配置:
Switch# configure terminal
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 22.1.1.2/24
Switch(config-if)# ip pim dense-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ip address 12.1.1.2/24
Switch(config-if)# ip pim dense-mode
Switch(config-if)# exit
步骤3 配置静态路由
在Switch1 配置:
Switch(config)# ip route 22.1.1.0/24 12.1.1.2
在Switch2 配置:
Switch(config)# ip route 11.1.1.0/24 12.1.1.1
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
用 show ip pim dense-mode interface来显示Switch1上接口的详细信息.
Switch# show ip pim dense-mode interface
Address Interface VIFIndex Ver/ Nbr
Mode Count
11.1.1.1 eth-0-1 0 v2/D 0
12.1.1.1 eth-0-9 1 v2/D 1
用 show ip pim dense-mode neighbor 来显示Switch1上邻居的详细信息:
Switch# show ip pim dense -mode neighbor
Neighbor-Address Interface Uptime/Expires Ver
12.1.1.2 eth-0-9 00:01:00/00:01:44 v2
用 show ip pim dense-mode mroute detail 来显示PIM-DM组播路由表的信息:
Switch1:
Switch# show ip pim dense-mode mroute
PIM-DM Multicast Routing Table
(11.1.1.2, 225.1.1.1)
Source directly connected on eth-0-1
State-Refresh Originator State: Originator
Upstream IF: eth-0-1
Upstream State: Forwarding
Assert State: NoInfo
Downstream IF List:
eth-0-9, in 'olist':
Downstream State: NoInfo
Assert State: NoInfo
Switch2:
Switch# show ip pim dense-mode mroute
PIM-DM Multicast Routing Table
(11.1.1.2, 225.1.1.1)
RPF Neighbor: none
Upstream IF: eth-0-9
Upstream State: AckPending
Assert State: NoInfo
Downstream IF List:
eth-0-1, in 'olist':
Downstream State: NoInfo
Assert State: NoInfo
无
IGMP Snooping(Internet Group Management Protocol Snooping,IGMP侦听)是运行在二层以太网交换机上的组播约束机制,用于管理和控制组播组。
二层交换机通过IGMP Snooping来控制组播流量的泛洪。当二层以太网交换收到主机和路由器之间传递的IGMP报文时,IGMP Snooping将对IGMP报文所带的信息进行分析,将端口和MAC组播地址建立起映射关系,并根据这样的映射关系转发组播数据。组播路由器定期发送通用组查询来维护组播组成员关系。所有接收者将将发送IGMP报告报文来响应这个查询,交换机通过这个监听IGMP报告报文来建立转发表项。
二层的组播组可以通过IGMP报文动态建立,也可以静态配置。静态配置的组播组将覆盖动态学的组播组。
限制和指导:
VRRP,RIP,OSPF等协议使用了组播IP,因此在使能了IGMP Snooping的网络中,要避免使用这些IP组播地址,以免产生冲突而导致异常:
•VRRP使用了224.0.0.18,因此组播MAC 0100.5E00.0012映射出的组播IP在IGMP Snooping和VRRP的网络中避免使用。
•RIP使用了224.0.0.9,因此组播MAC 0100.5E00.0009映射出的组播IP在IGMP Snooping和RIP的网络中避免使用。
•OSPF使用了224.0.0.5,因此组播MAC 0100.5E00.0005映射出的组播IP在IGMP Snooping和OSPF的网络中避免使用。
无
IGMP Snooping需要在全局和VLAN启用。当IGMP Snooping在全局模式下关闭时,此时仅仅在VLAN下启用IGMP Snooping是无效的。当IGMP Snooping在全局模式下开启时,可以选择性的在某些VLAN下关闭IGMP Snooping。
默认情况下,IGMP Snooping在全局和每个VLAN上都已使能。
步骤1 进入配置模式
Switch#configure terminal
步骤2 分别在全局和vlan上使能igmp snooping
Switch(config)# ip igmp snooping
Switch(config)# ip igmp snooping vlan 1
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用下列命令检查vlan上的igmp snooping状态:
Switch # show ip igmp snooping vlan 1
Global Igmp Snooping Configuration
-------------------------------------------------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Report-Suppression :Enabled
Vlan 1
-----------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Report-Suppression :Enabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Group Access-list :N/A
Igmp Snooping Mrouter Port :
Igmp Snooping Mrouter Port Aging Interval(sec) :255
正常情况下,IGMP Snooping在接收到IGMP离开报文后不会直接将端口从组播组中删除,而是发送IGMP特定组查询报文,如果等待一段时间后没有得到响应,才将该端口从组播组中删除。启动快速删除功能后,IGMP Snooping收到IGMP离开报文时,直接将端口从组播组中删除。当端口下只有一个用户时,快速删除可以节省带宽。
步骤1 进入配置模式
Switch#configure terminal
步骤2 分别在全局和vlan上使能igmp快速离开功能
Switch(config)#ip igmp snooping fast-leave
Switch(config)#ip igmp snooping vlan 1 fast-leave
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch # show ip igmp snooping vlan 1
Global Igmp Snooping Configuration
-------------------------------------------------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Enabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Report-Suppression :Enabled
Vlan 1
-----------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Enabled
Igmp Snooping Report-Suppression :Enabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Group Access-list :N/A
Igmp Snooping Mrouter Port :
Igmp Snooping Mrouter Port Aging Interval(sec) :255
三层交换机在所连接的网段上周期性的发送IGMP通用查询报文,通过解析返回的IGMP主机报告报文,获知该网段内哪些组播组有成员。组播路由器周期性地发送查询报文,当得到某一组成员的IGMP主机报告报文的时候,刷新该网段相应的组成员关系信息。
步骤1 进入配置模式
Switch#configure terminal
步骤2 配置igmp snooping 全局参数
Switch(config)# ip igmp snooping query-interval 100
Switch(config)# ip igmp snooping query-max-response-time 5
Switch(config)# ip igmp snooping last-member-query-interval 2000
Switch(config)# ip igmp snooping discard-unknown
步骤3 配置igmp snooping vlan参数
Switch(config)# ip igmp snooping vlan 1 querier address 10.10.10.1
Switch(config)# ip igmp snooping vlan 1 querier
Switch(config)# ip igmp snooping vlan 1 query-interval 200
Switch(config)# ip igmp snooping vlan 1 query-max-response-time 5
Switch(config)# ip igmp snooping vlan 1 querier-timeout 100
Switch(config)# ip igmp snooping vlan 1 last-member-query-interval 2000
Switch(config)# ip igmp snooping vlan 1 discard-unknown
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch # show ip igmp snooping querier
Global Igmp Snooping Querier Configuration
-------------------------------------------------
Version :2
Last-Member-Query-Interval (msec) :2000
Last-Member-Query-Count :2
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :100
Global Source-Address :0.0.0.0
TCN Query Count :2
TCN Query Interval (sec) :10
TCN Query Max Respose Time (sec) :5
Vlan 1: IGMP snooping querier status
--------------------------------------------
Elected querier is : 0.0.0.0
--------------------------------------------
Admin state :Enabled
Admin version :2
Operational state :Non-Querier
Querier operational address :10.10.10.1
Querier configure address :10.10.10.1
Last-Member-Query-Interval (msec) :2000
Last-Member-Query-Count :2
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :200
Querier-Timeout (sec) :100
组播路由端口是交换机上连接到组播路由器的端口,可以动态学习或者静态配置。当某个VLAN的端口上收到IGMP通用组查询报文或者是PIMv2 Hello报文,该端口成为这个VLAN的组播路由端口。所有从组播路由端口上收到的的IGMP查询报文要在所属VLAN内广播。所有VLAN上收到IGMP报告/离开报文也将从组播路由端口转发(报文抑制关闭的情况下),另外所有从该VLAN上收到的组播流量将从组播路由端口转发。
步骤1 进入配置模式
Switch#configure terminal
步骤2 全局启用IGMP Snooping的报告抑制功能
Switch(config)# ip igmp snooping report-suppression
步骤3 vlan上配置静态组播路由端口,启用报告抑制功能,配置动态组播路由端口老化时间
Switch(config)# ip igmp snooping vlan 1 mrouter interface eth-0-1
Switch(config)# ip igmp snooping vlan 1 report-suppression
Switch(config)# ip igmp snooping vlan 1 mrouter-aging-interval 200
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch# show ip igmp snooping vlan 1
Global Igmp Snooping Configuration
-------------------------------------------------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Report-Suppression :Enabled
Vlan 1
-----------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Report-Suppression :Enabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Group Access-list :N/A
Igmp Snooping Mrouter Port :eth-0-1
Igmp Snooping Mrouter Port Aging Interval(sec) :200
可以通过配置TCN的时间间隔以及查询次数来适应STP收敛拓扑后的组播组学习以及更新。
步骤1 进入配置模式
Switch#configure terminal
步骤2 设置TCN的查询次数和TCN的查询时间间隔
Switch(config)# ip igmp snooping querier tcn query-count 5
Switch(config)# ip igmp snooping querier tcn query-interval 20
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch # show ip igmp snooping querier
Global Igmp Snooping Querier Configuration
-------------------------------------------------
Version :2
Last-Member-Query-Interval (msec) :1000
Max-Query-Response-Time (sec) :10
Query-Interval (sec) :125
Global Source-Address :0.0.0.0
TCN Query Count :5
TCN Query Interval (sec) :20
Vlan 1: IGMP snooping querier status
--------------------------------------------
Elected querier is : 0.0.0.0
--------------------------------------------
Admin state :Disabled
Admin version :2
Operational state :Non-Querier
Querier operational address :0.0.0.0
Querier configure address :N/A
Last-Member-Query-Interval (msec) :1000
Max-Query-Response-Time (sec) :10
Query-Interval (sec) :125
Querier-Timeout (sec) :255
交换机使用IGMP报告抑制功能来防止同一个IGMP报文重复发送给组播路由器。当IGMP路由器抑制使能时(默认情况下使能抑制),交换机将第一个IGMP报告报文发送给组播路由器,其余同样的IGMP报告报文将不再发送给组播路由器。这样就阻止了重复IGMP报告报文发送给组播路由器了。
步骤1 进入配置模式
Switch#configure terminal
步骤2 在全局和vlan使能报告抑制
Switch(config)# ip igmp snooping report-suppression
Switch(config)# ip igmp snooping vlan 1 report-suppression
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch # show ip igmp snooping
Global Igmp Snooping Configuration
-------------------------------------------------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Report-Suppression :Enabled
Vlan 1
-----------
Igmp Snooping :Enabled
Igmp Snooping Fast-Leave :Disabled
Igmp Snooping Report-Suppression :Enabled
Igmp Snooping Version :2
Igmp Snooping Robustness Variable :2
Igmp Snooping Max-Member-Number :2048
Igmp Snooping Unknown Multicast Behavior :Flood
Igmp Snooping Group Access-list :N/A
Igmp Snooping Mrouter Port :
Igmp Snooping Mrouter Port Aging Interval(sec) :255
交换机在二层端口上收到IGMP报文时会建立IGMP Snooping的组记录。目前系统中也支持静态配置IGMP Snoopoing的组记录,在静态配置时需要指定组地址,二层端口,以及二层端口所属的VLAN。
步骤1 进入配置模式
Switch#configure terminal
步骤2 配置静态组播组
Switch(config)# ip igmp snooping vlan 1 static-group 229.1.1.1 interface eth-0-2
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show ip igmp snooping groups
VLAN Interface Group-Address Uptime Expires-time
1 eth-0-2 229.1.1.1 00:01:08 stopped
无
在传统的组播点播方式下,汇聚组播路由器下连一些接入交换机,接入交换机上连接了分布在不同VLAN中的用户。当这些不同VLAN的用户点播相同Group的节目时,汇聚的组播路由器需要为每个VLAN内的用户复制一份数据,每个VLAN的组播流量都要占用接入交换机的带宽。这样即增加了汇聚路由器的负担,也浪费接入设备的带宽。
MVR(组播VLAN注册)功能能够很好的解决这个问题。在靠近用户侧的接入交换机上启用组播VLAN,汇聚路由器只需把组播数据在源VLAN内发送给接入交换机,而不必在每个用户VLAN内都复制一份,接入交换机收到组播数据后再根据用户请求进行复制,给每个VLAN内的用户发送一份组播数据。从而节省了网络带宽,也减轻了三层设备的负担。
MVR依赖于IGMP Snooping进行工作,而且只有MVR全局配置的Group才会生效。如果在MVR的下游口上接收的IGMP报文中组播组不在MVR全局Group中,该报文将被忽略。通过在MVR的下游口上接收的IGMP报告/离开报文来维护接收者信息,MVR上游口收到组播数据后根据下游口的组播组信息来决定将组播数据从哪些VLAN的端口转发出去。
以下是MVR协议概念的简要描述:
•MVR:组播VLAN注册
•Source vlan:组播VLAN的源VLAN
•Source port:MVR网络中的上游口,连接组播路由器的端口
•Receiver port:MVR网络中的下游口,连接接收者的端口
mvr
在Switch1的eth-0-1上启用IGMP&PIM-SM。
配置Switch2:eth-0-1属于vlan111,eth-0-2属于vlan10,eth-0-3属于vlan30。
在Switch2启用MVR,从Switch1到Switch2上拷贝一份组播流,在Switch2上再将这个组播流进行复制,从eth-0-2和eth-0-3发送出去。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式,创建vlan
在Switch2配置:
Switch(config)# vlan database
Switch(config-vlan)# vlan 111,10,30
Switch(config-vlan)# quit
步骤3 进入接口配置模式,设置接口属性,使能pim
在Switch1配置:
switch(config)# interface eth-0-1
switch(config-if)# no switchport
switch(config-if)# no shutdown
switch(config-if)# ip address 12.12.12.12/24
switch(config-if)# ip pim sparse-mode
switch(config-if)# exit
在Switch2配置:
Switch(config)# interface vlan 111
Switch(config-if)# exit
Switch(config)# interface vlan 10
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan111
Switch(config)# interface eth-0-2
Switch(config-if)# switchport access vlan10
Switch(config)# interface eth-0-3
Switch(config-if)# switchport access vlan30
Switch(config-if)# exit
步骤4 启用MVR
在Switch2配置:
Switch(config)# no ip multicast-routing
Switch(config)# mvr
Switch(config)# mvr vlan 111
Switch(config)# mvr group 238.255.0.1 64
Switch(config)# mvr source-address 12.12.12.1
Switch(config)# interface eth-0-1
Switch(config-if)# mvr type source
Switch(config)# interface eth-0-2
Switch(config-if)# mvr type receiver vlan 10
Switch(config)# interface eth-0-3
Switch(config-if)# mvr type receiver vlan 30
Switch(config-if)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1
Switch# show ip igmp groups
IGMP Connected Group Membership
Group Address Interface Uptime Expires Last Reporter
238.255.0.1 eth-0-1 00:01:16 00:03:49 12.12.12.1
238.255.0.2 eth-0-1 00:01:16 00:03:49 12.12.12.1
238.255.0.3 eth-0-1 00:01:16 00:03:49 12.12.12.1
238.255.0.4 eth-0-1 00:01:16 00:03:49 12.12.12.1
238.255.0.5 eth-0-1 00:01:16 00:03:49 12.12.12.1
238.255.0.6 eth-0-1 00:01:16 00:03:49 12.12.12.1
238.255.0.7 eth-0-1 00:01:16 00:03:49 12.12.12.1
238.255.0.8 eth-0-1 00:01:16 00:03:49 12.12.12.1
238.255.0.9 eth-0-1 00:01:16 00:03:49 12.12.12.1
238.255.0.10 eth-0-1 00:01:16 00:03:49 12.12.12.1
……
238.255.0.64 eth-0-1 00:01:16 00:03:49 12.12.12.1
Switch2
Switch# show mvr
MVR Running: TRUE
MVR Multicast VLAN: 111
MVR Source-address: 12.12.12.1
MVR Max Multicast Groups: 1024
MVR Hw Rt Limit: 508
MVR Current Multicast Groups: 255
Switch# show mvr groups
VLAN Interface Group-Address Uptime Expires-time
10 eth-0-2 238.255.0.1 00:03:23 00:02:03
10 eth-0-2 238.255.0.2 00:02:16 00:02:03
10 eth-0-2 238.255.0.3 00:02:16 00:02:03
10 eth-0-2 238.255.0.4 00:02:16 00:02:03
10 eth-0-2 238.255.0.5 00:02:16 00:02:03
10 eth-0-2 238.255.0.6 00:02:16 00:02:04
10 eth-0-2 238.255.0.7 00:02:16 00:02:04
10 eth-0-2 238.255.0.8 00:02:16 00:02:04
10 eth-0-2 238.255.0.9 00:02:16 00:02:04
10 eth-0-2 238.255.0.10 00:02:16 00:02:04
……
10 eth-0-2 238.255.0.64 00:01:50 00:02:29
无
端口安全功能用来限制端口上可信任的MAC地址的数量。该端口只转发源MAC地址是可信MAC的数据包。可信MAC地址可以是静态配置的,也可以是动态学习的。
当可信MAC地址数量达到端口安全功能限制的最大值以后,无法继续配置或学习新的可信MAC地址。这时候收到的数据包,如果其源MAC地址不匹配当前端口上的已有的可信MAC地址列表中的任何表项,则数据包会被认为是不安全的,从而被丢弃。
注意,端口安全功能是将一系列它认为可信的MAC地址“绑定”到端口上的。在使能了端口安全功能的端口上,收到的数据包如果其源MAC地址不存在任何表项中,或者该地址被“绑定”到了其他的端口,这个数据包都会被认为是不安全的。
可信MAC地址表项有两种方式创建:
•在接口配置模式下,通过命令行"switchport port-security mac-address"来配置。
•动态自动学习。
收到不安全的报文并丢弃的同时,还有三种处理方式供选择,可以通过"switchport port-security violation"命令配置:
•errdisable: 丢弃报文并将端口设为errdisable状态。请参考以太网配置指导中关于errdisable的章节。
•protect: 仅丢弃报文,不作其他处理。
•restrict: 丢弃报文并记录log。
无
Port Security
通过以下配置,在上述拓扑中,只会学习前三条mac地址,将最后一条丢弃。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性,并使能端口安全功能
Switch(config)# interface eth-0-1
Switch(config-if)# switchport
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 3
Switch(config-if)# switchport port-security mac-address 0000.1111.2222 vlan 1
Switch(config-if)# switchport port-security mac-address 0000.aaaa.bbbb vlan 1
Switch(config-if)# switchport port-security violation restrict
Switch(config-if)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolationMode
(Count) (Count)
---------------------------------------------------------------
eth-0-1 3 2 restrict
Switch# show port-security address-table
Secure MAC address table
--------------------------------------------------------
Vlan Mac Address Type Ports
---- ----------- ------- -------
1 0000.1111.2222 SecureConfigured eth-0-1
1 0000.aaaa.bbbb SecureConfigured eth-0-1
Switch# show port-security interface eth-0-1
Port security : enabled
Violation mode : discard packet and log
Maximum MAC addresses : 3
Total MAC addresses : 2
Static configured MAC addresses : 2
无
VLAN安全功能通过限制VLAN内MAC地址的数量,达到保护VLAN的目的。MAC地址可以是用户手动添加的,也可以是自动学习的。Vlan内MAC地址达到限制数量后,未知源MAC的报文可以按预先设置的行为进行处理。
系统支持两种类型的MAC地址:
•静态MAC地址:手工配置的MAC地址
•动态MAC地址:通过动态学习的MAC地址
用户可以指定当VLAN内MAC达到限制数量时的行为,通过命令行"vlan X mac-limit action"配置。支持的行为有下列三种:
•Discard:丢弃未知源MAC地址的报文
•Warn:丢弃未知的源MAC地址报文,并且在LOG中提示
•Forward:报文正常转发,但是MAC不会进行学习。
系统还支持开、关VLAN内MAC地址学习功能。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式,创建vlan,设置vlan的最大mac地址数量和超过最大数量后的行为
Switch# configure terminal
Switch(config)# vlan database
Switch(config)# vlan 2
Switch(config-vlan)# vlan 2 mac-limit maximum 100
Switch(config-vlan)# vlan 2 mac-limit action discard
Switch(config-vlan)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show vlan-security
Vlan learning-en max-mac-count cur-mac-count action
-------------------------------------------------------
2 Enable 100 0 Discard
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式,创建vlan,设置vlan的mac地址学习开关
Switch(config)# vlan database
Switch(config)# vlan 2
Switch(config-vlan)# vlan 2 mac learning disable
Switch(config-vlan)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show vlan-security
Vlan learning-en max-mac-count cur-mac-count action
-------------------------------------------------------
2 Disable 100 0 Discard
无
Time range定义了一段时间,这段时间可以是绝对时间,也可以是相对的周期性时间。Time range本身没有意义,通常被用在基于时间的协议或者应用中(比如acl)。在实际应用中,它可以表示在这段时间内,某些规则或操作有效。Time range定义的时间依赖于系统时钟。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建time range,配置绝对时间
Switch(config)# time-range test-absolute
Switch(config-tm-range)# absolute start 1:1:2 jan 1 2012 end 1:1:3 jan 7 2012
Switch(config-tm-range)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
DUT1# show time-range
time-range test-absolute
absolute start 01:01:02 Jan 01 2012 end 01:01:03 Jan 07 2012
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建time range,配置周期时间
Switch(config)# time-range test-periodic
Switch(config-tm-range)# periodic 1:1 mon to 1:1 wed
Switch(config-tm-range)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
DUT1# show time-range
time-range test-periodic
periodic 01:01 Mon to 01:01 Wed
无
ACL(Access Control List,访问控制列表)主要用来实现流识别、访问控制功能。网络设备为了过滤数据包,需要配置一系列的匹配规则,以识别需要过滤的报文。在识别出特定的报文之后,才能根据预先设定的策略允许或禁止相应的数据包通过。ACL 通过一系列的匹配条件对数据包进行分类,这些条件可以是数据包的源地址、目的地址、端口号等。
下面简要介绍用于描述ACL相关的术语和概念:
•访问控制条目(ACE):每一个ACE包括一个动作元素(允许或者拒绝)和一系列基于标准的过滤元素,例如源地址、目的地址、协议、特定协议参数等等。
•MAC ACL:MAC ACL可以根据MAC-SA和MAC-DA过滤报文,MAC地址可以配置掩码,或者配置为主机MAC。MAC ACL也可以根据其他二层字段过滤报文,例如COS、VLAN-ID、INNER-COS、INNER-VLAN-ID、L2 type、L3 type。
•IPv4 ACL:IPv4 ACL可以根据IP-SA和IP-DA过滤报文,IP地址可以配置掩码或者配置为主机IP地址。IPv4 ACL也可以根据其他三层字段过滤报文,例如DSCP、L4 Protocol字段以及其他字段(TCP端口、UDP端口等等)。
•时间段:定义一个时间段或时间周期,在这段时间内,ACE是有效的;在这个时间段或周期之外,ACE无效。
acl
在这个例子中,在端口eth-0-1上使用MAC ACL,允许源MAC地址为0000.0000.1111的报文通过,拒绝其他报文。在eth-0-2使用IPv4 ACL,允许源IP地址为1.1.1.1/24的报文通过,拒绝其他报文。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建访问控制列表
mac 访问控制列表:
Switch(config)# mac access-list mac
Switch(config-mac-acl)# permit src-mac host 0000.0000.1111 dest-mac any
Switch(config-mac-acl)# deny src-mac any dest-mac any
Switch(config-mac-acl)# exit
ip 访问控制列表:
Switch(config)# ip access-list ipv4
Switch(config-ip-acl)# permit any 1.1.1.1 0.0.0.255 any
Switch(config-ip-acl)# deny any any any
Switch(config-ip-acl)# exit
步骤3 创建分类器,绑定访问控制列表
Switch(config)# class-map cmap1
Switch(config-cmap)# match access-group mac
Switch(config-cmap)# exit
Switch(config)# class-map cmap2
Switch(config-cmap)# match access-group ipv4
Switch(config-cmap)# exit
步骤4 创建策略,绑定分类器
Switch(config)# policy-map pmap1
Switch(config-pmap)# class cmap1
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# policy-map pmap2
Switch(config-pmap)# class cmap2
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
步骤5 在接口上应用策略
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy input pmap1
Switch(config-if)# exit
Switch(config-if)# interface eth-0-2
Switch(config-if)# service-policy input pmap2
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
使用命令show running-config,屏幕回显内容如下所示。
Switch# show running-config
mac access-list mac
10 permit src-mac host 0000.0000.1111 dest-mac any
20 deny src-mac any dest-mac any
!
ip access-list ipv4
10 permit any 1.1.1.0 0.0.0.255 any
20 deny any any any
!
class-map match-any cmap1
match access-group mac
!
class-map match-any cmap2
match access-group ipv4
!
policy-map pmap1
class cmap1
!
policy-map pmap2
class cmap2
!
interface eth-0-1
service-policy input pmap1
!
interface eth-0-2
service-policy input pmap2
!
无
扩展IPV4 ACL包含MAC ACE和IP ACE,MAC ACE匹配所有非IPV6和非MPLS报文,IP ACE匹配所有IPV4报文。
下面介绍了扩展ACL有关的术语和概念:
•扩展IPV4 ACL:包含MAC ACE和IP ACE。
•MAC ACE:可以根据MAC-SA和MAC-DA过滤报文,MAC地址可以配置掩码,或者配置为主机MAC;也可以根据其他二层字段过滤报文,例如COS、VLAN-ID、INNER-COS、INNER-VLAN-ID、L2 type、L3 type。
•IPv4 ACE:可以根据IP-SA和IP-DA过滤报文,IP地址可以配置掩码或者配置为主机IP地址;也可以根据其他三层字段过滤报文,例如DSCP、L4 Protocol字段以及其他字段(TCP端口、UDP端口等等)。
用户可以通过MAC ACE和IP ACE各种组合,以及不同的顺序实现不同的需求。
extern acl
下面的例子描述如何通过扩展IPV4 ACL实现在端口eth-0-1上允许源MAC为0.0.1111报文COS为2的报文,允许所有TCP的报文,禁止其他报文进入系统。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建访问控制列表
Switch(config)# ip access-list ipxacl extend
Switch(config-ex-ip-acl)# permit src-mac host 0000.0000.1111 dest-mac any cos 2
Switch(config-ex-ip-acl)# permit tcp any any
Switch(config-ex-ip-acl)# deny src-mac any dest-mac any
Switch(config-ex-ip-acl)# end
步骤3 创建分类器,绑定访问控制列表
Switch(config)# class-map cmap
Switch(config-cmap)# match access-group ipxacl
Switch(config-cmap)# exit
步骤4 创建策略,绑定分类器
Switch(config)# policy-map pmap
Switch(config-pmap)# class cmap
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
步骤5 在接口上应用策略
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy input pmap
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
使用如下命令验证配置结果:
Switch# show running-config
ip access-list ipxacl extend
10 permit src-mac host 0000.0000.1111 dest-mac any cos 2
20 permit tcp any any
30 deny src-mac any dest-mac any
!
class-map match-any cmap
match access-group ipxacl
!
policy-map pmap
class cmap
!
interface eth-0-1
service-policy input pmap
!
Switch# show access-list ip
ip access-list ipxacl extend
10 permit src-mac host 0000.0000.1111 dest-mac any cos 2
20 permit tcp any any
30 deny src-mac any dest-mac any
无
ACLv6(Access Control List,访问控制列表)主要用来实现IPv6流识别、访问控制功能。网络设备为了过滤数据包,需要配置一系列的匹配规则,以识别需要过滤的报文。在识别出特定的报文之后,才能根据预先设定的策略允许或禁止相应的数据包通过。ACL 通过一系列的匹配条件对数据包进行分类,这些条件可以是数据包的源地址、目的地址、端口号等。
下面简要介绍用于描述ACLv6相关的术语和概念:
•访问控制条目(ACE):每一个ACE包括一个动作元素(允许或者拒绝)和一个基于标准的过滤元素,例如源地址、目的地址、协议、特定协议参数等等。
•IPv6 ACL:IPv6 ACL可以根据IP-SA和IP-DA过滤报文,IP地址可以配置掩码或者配置为主机IP地址。IPv6 ACL也可以根据其他三层字段过滤报文,例如L4 Protocol字段以及其他字段(TCP端口、UDP端口等等)。
•时间段:定义一个时间段或时间周期,在这段时间内,ACE是有效的;在这个时间段或周期之外,ACE无效。
ipv6 acl
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 创建访问控制列表
mac 访问控制列表:
Switch(config)# mac access-list mac
Switch(config-mac-acl)# permit src-mac host 0000.0000.1111 dest-mac any
Switch(config-mac-acl)# deny src-mac any dest-mac any
Switch(config-mac-acl)# exit
ipv6 访问控制列表:
Switch(config)# ipv6 access-list ipv6
Switch(config-ipv6-acl)# permit any 2001::/64 any
Switch(config-ipv6-acl)# deny any any any
Switch(config-ipv6-acl)# exit
步骤4 创建分类器,绑定访问控制列表
Switch(config)# class-map cmap1
Switch(config-cmap)# match access-group mac
Switch(config-cmap)# exit
Switch(config)# class-map cmap2
Switch(config-cmap)# match access-group ipv6
Switch(config-cmap)# exit
步骤5 创建策略,绑定分类器
Switch(config)# policy-map pmap1
Switch(config-pmap)# class cmap1
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# policy-map pmap2
Switch(config-pmap)# class cmap2
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
步骤6 在接口上应用策略
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy input pmap1
Switch(config-if)# exit
Switch(config-if)# interface eth-0-2
Switch(config-if)# service-policy input pmap2
Switch(config-if)# exit
步骤7 退出配置模式
Switch(config)# end
步骤8 检查配置
使用命令show running-config,屏幕回显内容如下所示:
Switch# show running-config
mac access-list mac
10 permit src-mac host 0000.0000.1111 dest-mac any
20 deny src-mac any dest-mac any
!
ipv6 access-list ipv6
10 permit any 2001::/64 any
20 deny any any any
!
class-map match-any cmap1
match access-group mac
!
class-map match-any cmap2
match access-group ipv4
!
policy-map pmap1
class cmap1
!
policy-map pmap2
class cmap2
!
interface eth-0-1
service-policy input pmap1
!
interface eth-0-2
service-policy input pmap2
!
无
系统包装port-group的概念,专门用来实现基于ACL规则的端口的聚合组,可以将多个端口加入一个port-group,端口支持普通物理口和AGG端口。用户基于port-group应用ACL策略,这个时候一个port-group只会下一份规则,同时ACL的Action也是聚合的效果。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建port group,添加成员口
Switch(config)# port-group port_group_1
Switch(config-port-group)# member interface eth-0-1
Switch(config-port-group)# member interface agg 1
Switch(config-port-group)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
DUT1# show running-config port-group
port-group port_group_1
member interface eth-0-1
member interface agg1
无
系统包装vlan-group的概念,专门用来实现基于ACL规则的VLAN的聚合组,可以将多个VLAN加入一个vlan-group。用户基于vlan-group应用ACL策略,这个时候一个vlan-group只会下一份规则,同时ACL的Action也是聚合的效果。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建vlan group,添加成员vlan
Switch(config)# vlan-group vlan_group_1
Switch(config-vlan-group)# member vlan 10
Switch(config-vlan-group)# member vlan 20
Switch(config-vlan-group)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
DUT1# show running-config vlan-group
vlan-group vlan_group_1
member vlan 10
member vlan 20
无
COPP(control-plane protect)主要用来对上送CPU的报文进行过滤和限速。它主要将上送CPU的报文数量限制在一定范围内,保证CPU对业务的正常处理,在原有exception基础上对上从CPU的报文做更精细的控制。
下面简要介绍用于描述ACL相关的术语和概念:
•访问控制条目(ACE):每一个ACE包括一个动作元素(允许或者拒绝)和一系列基于标准的过滤元素,例如源地址、目的地址、协议、特定协议参数等等。
•COPP ACL: copp acl 是根据报文上CPU的exception处理报文的,系统支持如下exception:any, ipda, fwd-to-cpu,slow-protocol, bpdu, erps, eapol, smart-link, dhcp, rip, ospf, pim, bgp, vrrp,ldp, ptp, rsvp, icmp-redirect, mcast-rpf-fail, macsa-mismatch,vlan-security-discard, port-security-discard, ip-option, udld,dot1x-mac-bypass, 12protocol-tunnel, arp, igmp,ssh,mlag,telnet。COPP仅仅对上送CPU的报文进行限速或者过滤,不处理转发的报文.
•时间段:定义一个时间段或时间周期,在这段时间内,ACE是有效的;在这个时间段或周期之外,ACE无效。
copp_acl
下面这个例子中,在端口eth-0-1上使用COPP ACL,对上CPU的exception为arp类型的报文进行过滤。首先用测试仪构造报文:DA为001E.0811.065D,SA为0000.0010.0000,arp类型选择arp-request, Sender Hardware Address为0000.0000.0000,Target Protocol Address:10.0.0.1,其余配置如下
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建控制面板策略
copp 控制面板策略:
Switch(config)# control-plane access-list test1
Switch(config-cp-acl)# deny exception arp arp-request
Switch(config-cp-acl)# exit
步骤3 创建分类器,绑定copp控制面板策略
Switch(config)# class-map type control-plane cmap1
Switch(config-cmap-cp)# match access-group test1
Switch(config-cmap-cp)# exit
步骤4 创建策略,绑定分类器
Switch(config)#policy-map type control-plane pmap1
Switch(config-pmap-cp)#class type control-plane cmap1
Switch(config-pmap-cp-c)#exit
Switch(config-pmap-cp)#exit
步骤5 在接口上应用策略
Switch(config)#control-plane
Switch(config-control-plane)#service-policy type control-plane input pmap1
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
使用命令show running-config,屏幕回显内容如下所示。
Switch# show running-config
control-plane access-list test1
10 deny exception arp arp-request
!
class-map type control-plane cmap1
match access-group test1
!
policy-map type control-plane pmap1
class type control-plane cmap1
!
control-plane
service-policy type control-plane input pmap1
使用命令show cpu traffic-statistics receive ,屏幕回显内容如下所示。
Switch# show cpu traffic-statistics receive
statistics rate time is 5 second(s)
reason count(packets) rate(pps)
arp 1029059 0
total 1029059 0
无
IEEE 802网络在实际部署中,不可避免的会出现未经授权的设备在物理上接入到网络中。
802.1x 协议提供一种基于端口的网络接入控制协议(port based network access control protocol)。“基于端口的网络接入控制”是指在局域网接入设备的端口这一级对所接入的用户设备进行认证和控制。连接在端口上的用户设备如果能通过认证,就可以访问局域网中的资源;如果不能通过认证,则无法访问局域网中的资源。
使用802.1x的系统为典型的Client/Server体系结构,包括三个实体:
•客户端设备(PC):请求访问LAN和交换机服务,响应来自交换机的请求。工作站必须运行符合802.1X协议的客户端软件,如Linux的xsupplicant。
•认证服务器:执行客户端的实际认证。认证服务器验证客户的身份,并通知交换机客户端是否具有访问LAN和交换机服务的权限。由于交换机作为代理,认证服务对客户端是透明的。在此版本中,支持可扩展身份验证协议(EAP)的远程身份验证拨号用户服务(RADIUS)服务器是唯一支持的认证服务器。 RADIUS工作于客户机/服务器模式,服务器和多个RADIUS客户端之间交换安全的身份验证信息。
•交换机(边缘交换机或无线接入点):控制基于客户端的认证状态网络的物理访问。交换机作为客户端和认证服务器之间的中介(代理),从客户端请求身份信息,通过认证服务器检查这些信息,并将认证结果返回到客户端。交换机包含RADIUS客户端,负责EAP帧的封装和解封,以及与认证服务器交互。当交换机收到EAPOL帧并中继到身份验证服务器时,以太网报头被剥离,剩下的EAP帧则重新封装为RADIUS格式。 EAP帧在封装期间不会被修改或审查,并且验证服务器必须支持EAP在本机的帧格式。当交换机接收到来自验证服务器的报文,将服务器的帧头去掉,然后将剩下的EAP帧封装为以太网报文格式并发送到客户端。我们可以在Access端口或者三层路由端口上配置dot1x。
参考 IEEE Std 802.1X-2004
dot1x
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能dot1x
Switch(config)# dot1x system-auth-ctrl
步骤3 进入接口配置模式,配置接口属性,并使能dot1x
Switch(config)# interface eth-0-25
Switch(config-if)# switchport mode access
Switch(config-if)# dot1x port-control auto
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface vlan 1
Switch(config-if)# ip address 192.168.100.1/24
Switch(config-if)# exit
步骤4 配置三层接口属性并配置Radius服务器
Switch(config)# interface eth-0-26
Switch(config-if)# no switchport
Switch(config-if)# ip address 202.38.100.1/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# radius-server host 202.38.100.7
Switch(config)# radius-server host 2001:1000::1
Switch(config)# radius-server key test
Switch(config)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch# show dot1x
802.1X Port-Based Authentication Enabled
RADIUS server address: 2001:1000::1:1812
Next radius message ID: 0
RADIUS server address: 202.38.100.7:1812
Next radius message ID: 0
Switch# show dot1x interface eth-0-25
802.1X info for interface eth-0-25
portEnabled : true
portControl : Auto
portMode : Port based
portStatus : Authorized
Mac Auth bypass : disabled
reAuthenticate : disabled
reAuthPeriod : 3600
Max user number : 255
Current session number : 1
Accept user number : 1
Reject user number : 0
Guest VLAN : N/A
Assign VLAN : N/A
QuietPeriod : 60
ReqMax : 2
TxPeriod : 30
SuppTimeout : 30
ServerTimeout : 30
CD: adminControlledDirections : in
CD: operControlledDirections : in
CD: bridgeDetected : false
========================================
session 1: 1 - 0011.0100.0001
----------------------------------------
user name : admin
abort:F fail:F start:F timeout:F success:T
PAE: state: Authenticated - portMode: Auto
PAE: reAuthCount: 0 - rxRespId: 0
BE: state: Idle - reqCount: 0 - idFromServer: 5
上述基础配置介绍了在access口上启用dot1x。该功能也可以在路由接口上启用。配置如下:
Switch(config)# interface eth-0-25
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.168.100.1/24
Switch(config-if)# dot1x port-control auto
Switch(config-if)# no shutdown
Switch(config-if)# exit
可以将dot1x认证状态设置为强制认证通过,或者强制未通过:
强制认证通过:
Switch(config)# interface eth-0-25
Switch(config-if)# dot1x port-control force-authorized
Switch(config-if)# exit
强制未通过:
Switch(config)# interface eth-0-25
Switch(config-if)# dot1x port-control force-unauthorized
Switch(config-if)# exit
force-authorized和force-unauthorized,以及前面例子提到的auto,三者只能为其一,以最后一次配置为准。
Dot1x计费功能可以在用户认证通过后记录网络资源的使用情况,默认dot1x的计费功能是关闭的,需要在全局配置模式打开该功能。
使能dot1x计费:
Switch(config)# dot1x accounting-mode radius
Dot1x计费使能后,如果用户上线,设备会向服务器发送计费开启请求,如果服务器未响应设备的请求,则会造成计费失败,需要执行相应的开始计费失败的策略:
•online:为了避免因网络故障导致的计费失败对用户造成影响,可以配置onine参数,允许用户上线。
•offline:只要计费失败就停止为用户提供服务,可以配置offline参数,拒绝用户上线。
默认开始计费失败后执行offline策略。
Switch(config)# dot1x accounting start-fail online
用户可以配置使能实时计费功能,设备向计费服务器定时发送实时计费报文,计费服务器收到实时计费报文后才进行计费,避免服务器无法收到计费停止报文而异常计费的情况。同时,用户可以配置允许的实时计费请求最大无响应次数,以及实时计费失败后采取的策略。缺省情况下,允许的实时计费请求最大无响应次数为3次,实时计费失败后允许用户在线。
Switch(config)# dot1x accounting realtime 60
Switch(config)# dot1x accounting interim-fail max-times 2 offline
服务器定时器: 重新激活RADIUS服务器的等待时间;RADIUS请求发送到服务器的最大可以失败的次数;RADIUS服务器无响应的超时时间。
Switch(config)# radius-server deadtime 10
Switch(config)# radius-server retransmit 5
Switch(config)# radius-server timeout 10
端口属性: 未经授权之前重新验证尝试的次数;协议版本;在HELD状态下的静默时间;使能重新认证;重新认证的时间间隔;认证服务器响应超时时间;客户端响应超时时间;向客户端请求身份信息的时间间隔; 使能与客户端的握手保活功能,保活周期配置。
Switch(config)# interface eth-0-25
Switch(config-if)# dot1x max-req 5
Switch(config-if)# dot1x protocol-version 1
Switch(config-if)# dot1x quiet-period 120
Switch(config-if)# dot1x reauthentication
Switch(config-if)# dot1x timeout re-authperiod 1800
Switch(config-if)# dot1x timeout server-timeout 60
Switch(config-if)# dot1x timeout supp-timeout 60
Switch(config-if)# dot1x timeout tx-period 60
Switch(config-if)# dot1x handshake
Switch(config-if)# dot1x timeout handshake-period 1
Switch(config-if)# exit
选择Setting-> System
配置Radius服务器的密码共享密钥、认证端口和计费端口
在服务器端配置用户名和密码
如果用户因为没有专用的认证客户端或者客户端版本过低等原因,导致无法认证成功,用户所在的端口会被加入GuestVlan。GuestVlan 是一个不经认证也可以访问的VLAN。在该VLAN 内,用户可以进行例如客户端下载以及升级等操作。当用户利用这些资源,安装或者升级了认证客户端后,又可以进行正常的认证过程,从而访问其他的网络资源。开启802.1x 特性、正确配置GuestVlan 后,当设备从某一端口发送触发认证报文 (EAP-Request/Identity)超过设定的最大次数而没有收到客户端的任何回应报文后,该端口会被加入到GuestVlan 内。此时用户发起认证,若认证失败,则端口仍然处于guest vlan中;如果认证成功,则端口返回到用户配置的VLAN。
Guest VLAN的功能只能配置在Access 端口上,不能作用于3层物理口(routed port)或者trunk端口上。
无
Guest vlan: before authenticated
如图所示,eth-0-22是一个使能了802.1x功能的端口,它处于VLAN 10内。Update server是用于客户端下载和升级的服务器,处于VLAN 20内。在eth-0-22上使能guest vlan特性,当设备从端口触发认证报文超过设定的最大次数而没有收到任何回应报文后,端口被加入guest VLAN 20中。此时客户端和update server都在VLAN 20内,客户端可以访问update server并下载802.1x客户端。
Guest vlan: after authenticated
连接认证服务器radius server的上行端口eth-0-23使一个3层物理口,它的IP地址为202.38.100.1,radius server的地址为202.38.100.7。当认证成功之后,端口eth-0-22重新处于VLAN 10内,客户端可以访问internet了。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# vlan 20
Switch(config-vlan)# exit
步骤3 全局使能dot1x
Switch(config)# dot1x system-auth-ctrl
步骤4 进入接口配置模式,配置接口属性,并使能dot1x,配置guest vlan
Switch(config)# interface eth-0-22
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# dot1x port-control auto
Switch( config-if)# no shutdown
Switch(config-if)# dot1x guest vlan 20
Switch(config-if)# exit
步骤5 配置三层接口属性并配置Radius服务器
Switch(config)# interface eth-0-23
Switch(config-if)# no switchport
Switch(config-if)# ip address 202.38.100.1/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# radius-server host 202.38.100.7
Switch(config)# radius-server key test
Switch(config)#end
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
在未配置Guest VLAN之前的初始状态如命令show running-config的屏显内容所示。
Switch# show running-config
dot1x system-auth-ctrl
radius-server host 202.38.100.7 key test
vlan database
vlan 10,20
!
interface eth-0-22
switchport access vlan 10
dot1x port-control auto
dot1x guest-vlan 20
!
interface eth-0-23
no switchport
ip address 202.38.100.1/24
!
Switch# show dot1x interface eth-0-22
802.1X info for interface eth-0-22
portEnabled : true
portControl : Auto
portMode : Port based
portStatus : Unauthorized
Mac Auth bypass : disabled
reAuthenticate : disabled
reAuthPeriod : 3600
Max user number : 255
Current session number : 0
Accept user number : 0
Reject user number : 0
Guest VLAN : 20
Assign VLAN : N/A
QuietPeriod : 60
ReqMax : 2
TxPeriod : 30
SuppTimeout : 30
ServerTimeout : 30
CD: adminControlledDirections : in
CD: operControlledDirections : in
CD: bridgeDetected : false
========================================
Switch# show vlan brief
VLAN ID Name State STP ID DSCP Member ports
(u)-Untagged, (t)-Tagged
======= ================ ======= ======= ======= ========================
1 default ACTIVE 0 Disable eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-7(u) eth-0-8(u)
eth-0-9(u) eth-0-10(u)
eth-0-11(u) eth-0-12(u)
eth-0-13(u) eth-0-14(u)
eth-0-15(u) eth-0-16(u)
eth-0-17(u) eth-0-18(u)
eth-0-19(u) eth-0-20(u)
eth-0-21(u) eth-0-24(u)
eth-0-25(u) eth-0-26(u)
eth-0-27(u) eth-0-28(u)
eth-0-29(u) eth-0-30(u)
eth-0-31(u) eth-0-32(u)
eth-0-33(u) eth-0-34(u)
eth-0-35(u) eth-0-36(u)
eth-0-37(u) eth-0-38(u)
eth-0-39(u) eth-0-40(u)
eth-0-41(u) eth-0-42(u)
eth-0-43(u) eth-0-44(u)
eth-0-45(u) eth-0-46(u)
eth-0-47(u) eth-0-48(u)
10 VLAN0010 ACTIVE 0 Disable eth-0-22(u)
20 VLAN0020 ACTIVE 0 Disable
配置Guest VLAN之后,客户端的状态信息如下面屏幕回显信息所示。
通过认证前:
Switch# show dot1x interface eth-0-22
802.1X info for interface eth-0-22
portEnabled : true
portControl : Auto
portMode : Port based
portStatus : Unauthorized
Mac Auth bypass : disabled
reAuthenticate : disabled
reAuthPeriod : 3600
Max user number : 255
Current session number : 1
Accept user number : 0
Reject user number : 1
Guest VLAN : 20(Port Authorized by guest vlan)
Assign VLAN : N/A
QuietPeriod : 60
ReqMax : 2
TxPeriod : 30
SuppTimeout : 30
ServerTimeout : 30
CD: adminControlledDirections : in
CD: operControlledDirections : in
CD: bridgeDetected : false
========================================
session 1: 1 - 0011.0100.0001
----------------------------------------
user name : admin
abort:F fail:T start:F timeout:F success:F
PAE: state: Held - portMode: Auto
PAE: reAuthCount: 1 - rxRespId: 0
BE: state: Idle - reqCount: 0 - idFromServer: 92
Switch# show vlan brief
VLAN ID Name State STP ID DSCP Member ports
(u)-Untagged, (t)-Tagged
======= ================ ======= ======= ======= ========================
1 default ACTIVE 0 Disable eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-7(u) eth-0-8(u)
eth-0-9(u) eth-0-10(u)
eth-0-11(u) eth-0-12(u)
eth-0-13(u) eth-0-14(u)
eth-0-15(u) eth-0-16(u)
eth-0-17(u) eth-0-18(u)
eth-0-19(u) eth-0-20(u)
eth-0-21(u) eth-0-24(u)
eth-0-25(u) eth-0-26(u)
eth-0-27(u) eth-0-28(u)
eth-0-29(u) eth-0-30(u)
eth-0-31(u) eth-0-32(u)
eth-0-33(u) eth-0-34(u)
eth-0-35(u) eth-0-36(u)
eth-0-37(u) eth-0-38(u)
eth-0-39(u) eth-0-40(u)
eth-0-41(u) eth-0-42(u)
eth-0-43(u) eth-0-44(u)
eth-0-45(u) eth-0-46(u)
eth-0-47(u) eth-0-48(u)
10 VLAN0010 ACTIVE 0 Disable
20 VLAN0020 ACTIVE 0 Disable eth-0-22(u)
Client is authenticated
通过认证后:
Switch# show dot1x interface eth-0-22
802.1X info for interface eth-0-22
portEnabled : true
portControl : Auto
portMode : Port based
portStatus : Authorized
Mac Auth bypass : disabled
reAuthenticate : disabled
reAuthPeriod : 3600
Max user number : 255
Current session number : 1
Accept user number : 1
Reject user number : 0
Guest VLAN : 20
Assign VLAN : N/A
QuietPeriod : 60
ReqMax : 2
TxPeriod : 30
SuppTimeout : 30
ServerTimeout : 30
CD: adminControlledDirections : in
CD: operControlledDirections : in
CD: bridgeDetected : false
========================================
session 1: 1 - 0011.0100.0001
----------------------------------------
user name : admin
abort:F fail:F start:F timeout:F success:T
PAE: state: Authenticated - portMode: Auto
PAE: reAuthCount: 0 - rxRespId: 0
BE: state: Idle - reqCount: 0 - idFromServer: 207
Switch# show vlan brief
VLAN ID Name State STP ID DSCP Member ports
(u)-Untagged, (t)-Tagged
======= ================ ======= ======= ======= ========================
1 default ACTIVE 0 Disable eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-7(u) eth-0-8(u)
eth-0-9(u) eth-0-10(u)
eth-0-11(u) eth-0-12(u)
eth-0-13(u) eth-0-14(u)
eth-0-15(u) eth-0-16(u)
eth-0-17(u) eth-0-18(u)
eth-0-19(u) eth-0-20(u)
eth-0-21(u) eth-0-24(u)
eth-0-25(u) eth-0-26(u)
eth-0-27(u) eth-0-28(u)
eth-0-29(u) eth-0-30(u)
eth-0-31(u) eth-0-32(u)
eth-0-33(u) eth-0-34(u)
eth-0-35(u) eth-0-36(u)
eth-0-37(u) eth-0-38(u)
eth-0-39(u) eth-0-40(u)
eth-0-41(u) eth-0-42(u)
eth-0-43(u) eth-0-44(u)
eth-0-45(u) eth-0-46(u)
eth-0-47(u) eth-0-48(u)
10 VLAN0010 ACTIVE 0 Disable eth-0-22(u)
20 VLAN0020 ACTIVE 0 Disable
Switch# show dot1x
802.1X Port-Based Authentication Enabled
RADIUS server address: 202.38.100.7:1812
Next radius message ID: 0
Switch# show dot1x statistics
=====================================
802.1X statistics for interface eth-0-22
EAPOL Frames Rx: 52 - EAPOL Frames Tx: 4270
EAPOL Start Frames Rx: 18 - EAPOL Logoff Frames Rx: 2
EAP Rsp/Id Frames Rx: 29 - EAP Response Frames Rx: 3
EAP Req/Id Frames Tx: 3196 - EAP Request Frames Tx: 3
Invalid EAPOL Frames Rx: 0 - EAP Length Error Frames Rx: 0
EAPOL Last Frame Version Rx: 2 - EAPOL Last Frame Src: ae38.3288.f046
无
缺省情况下,所有的ARP报文都将按照规则通过交换机。用户可以通过启用ARP Inspection功能监控ARP报文;该功能可以通过对ARP报文的有效性检查来过滤无效的ARP报文,也可以通过设置规则,让特定ARP报文通过,或者丢弃特定的ARP报文,以提高系统的安全性,并在一定程度上抑制ARP报文攻击。
ARP检查是一个在网络中验证ARP报文的安全特性,可以对ARP报文中IP-MAC绑定关系不正确的报文进行检查、记录日志并丢弃。这些功能可以保护网络免受人为攻击。ARP检测确保只有有效的ARP请求和响应被执行,交换机执行的行为包括:
•在不信任端口上拦截所有ARP请求和响应。
•在更新本地ARP缓存或者转发到特定目的地址的报文之前,需要验证每个检测的报文是否都是有效的。
•丢弃无效APR报文:ARP检测,是根据存在的DHCP snooping数据库中有效IP到MAC的绑定决定一个ARP报文的有效性。在信任端口上,交换机转发报文不需要任何检查,在不信任端口上,交换机只在有效情况下实现转发。
下面简要介绍用于描述ARP Inspection相关的术语和概念:
•DHCP Snooping:DHCP snooping是一个在不可信主机和可信DHCP服务器之间执行防火墙的功能的安全特性,这个特性建立和维护DHCP snooping数据库,这个数据库包含租用IP地址的不信任主机信息。
•Address Resolution Protocol (ARP):ARP通过映射IP地址和MAC地址,提供在二层广播域的IP通信。例如主机B想要发送信息到主机A上,但是没有主机A的MAC地址,主机B在广播域内产生一个广播报文对所有主机获取主机A的MAC地址。在广播域内的所有主机接收ARP请求,主机A返回它的MAC地址。
arp inspection
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2
Switch(config-vlan)# exit
Switch(config)# exit
步骤3 进入接口配置模式,将接口添加到vlan中
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 2
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport access vlan 2
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# switchport access vlan 2
Switch(config-if)# exit
Switch(config)# interface eth-0-4
Switch(config-if)# switchport access vlan 2
Switch(config-if)# exit
步骤4 配置arp检查
Switch(config)# interface eth-0-1
Switch(config-if)# ip arp inspection trust
Switch(config-if)# exit
Switch(config)# ip arp inspection vlan 2
Switch(config)# ip arp inspection validate src-mac ip dst-mac
步骤5 添加arp访问控制列表
Switch(config)# arp access-list test
Switch(config-arp-acl)# deny request ip host 1.1.1.1 mac any
Switch(config-arp-acl)# exit
Switch(config)# ip arp inspection filter test vlan 2
步骤6 退出配置模式
Switch(config)# exit
步骤7 检查配置
在交换机上检查ARP检测的配置是否正确,详细步骤参见如下描述。
Switch# show ip arp inspection
Source Mac Validation : Enabled
Destination Mac Validation : Enabled
IP Address Validation : Enabled
Vlan Configuration ACL Match Static ACL
=================================================================
2 enabled test
Vlan ACL Logging DHCP Logging
=================================================================
2 deny deny
Vlan Forwarded Dropped DHCP Drops ACL Drops
=================================================================
2 0 0 0 0
Vlan DHCP Permits ACL Permits Source MAC Failures
=================================================================
2 0 0 0
Vlan Dest MAC Failures IP Validation Failures Invalid Protocol Data
=================================================================
2 0 0 0
在交换机上查看ARP Inspection的日志记录信息:
Switch# show ip arp inspection log
Total Log Buffer Size : 32
Syslog rate : 5 entries per 1 seconds.
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
1970-01-02 00:30:47 : Drop an ARP packet by ACL on vlan 2
无
DHCP Snooping是一种安全功能,包括不受信任的主机和信任的DHCP服务器之间的防火墙行为。
DHCP Snooping功能执行如下:
•验证DHCP消息接收来自不信任的源和过滤掉无效消息。
•建立和维护DHCP Snooping绑定数据库,其中包含不信任主机租用的IP地址信息。
•利用DHCP Snooping绑定数据库来验证来自不受信任的主机的后续请求。
还有其他的安全功能,如,动态ARP监测,也可以使用DHCP Snooping绑定数据库中存储的信息,每个VLAN的基础上启用DHCP Snooping功能,该功能在默认情况下在所有VLAN上都无效。你可以在一个单独的VLAN或者VLAN范围使能该功能,DHCP Snooping功能在软件中实现,所有DHCP消息在芯片中被拦截直接发往CPU进行处理。
无
dhcp snooping
上图为测试DHCP snooping功能的网络拓扑,需要两台PC机和一台交换机构建测试环境,具体分配可参照如下描述:
•计算机A作为DHCP服务器
•计算机B作为DHCP客户端
•交换机启用DHCP snooping
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 12
Switch(config-vlan)# exit
步骤3 进入接口配置模式,配置接口属性和IP地址
Switch(config)# interface eth-0-12
Switch(config-if)# switchport
Switch(config-if)# switchport access vlan 12
Switch(config-if)# dhcp snooping trust
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-11
Switch(config-if)# switchport
Switch(config-if)# switchport access vlan 12
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface vlan 12
Switch(config-if)# ip address 12.1.1.1/24
Switch(config-if)# exit
步骤4 配置DHCP属性
Switch(config)# dhcp snooping verify mac-address
Switch(config)# service dhcp enable
Switch(config)# dhcp snooping
Switch(config)# dhcp snooping vlan 12
步骤5 退出配置模式
Switch(config)# exit
步骤6 检查配置
根据如下步骤,检查接口配置是否正确。
Switch(config)# show running-config interface eth-0-12
!
interface eth-0-12
dhcp snooping trust
switchport access vlan 12
!
Switch(config)# show running-config interface eth-0-11
!
interface eth-0-11
switchport access vlan 12
!
使用如下命令,检查DHCP服务状态。
Switch# show services
Networking services configuration:
Service Name Status
============================================================
dhcp enable
使用如下命令,打印dhcp snooping配置,检查当前配置。
Switch# show dhcp snooping config
dhcp snooping service: enabled
dhcp snooping switch: enabled
Verification of hwaddr field: enabled
Insertion of relay agent information (option 82): disable
Relay agent information (option 82) on untrusted port: not allowed
dhcp snooping vlan 12
使用如下命令,检查dhcp snooping的统计信息。
Switch# show dhcp snooping statistics
DHCP snooping statistics:
============================================================
DHCP packets 17
BOOTP packets 0
Packets forwarded 30
Packets invalid 0
Packets MAC address verify failed 0
Packets dropped 0
使用如下命令,显示dhcp snooping绑定信息。
Switch# show dhcp snooping binding all
DHCP snooping binding table:
VLAN MAC Address Interface Lease(s) IP Address
============================================================
12 0016.76a1.7ed9 eth-0-11 691190 12.1.1.65
无
通过IP Source Guard 绑定功能,可以对端口转发的报文进行过滤控制,防止非法IP 地址和MAC 地址的报文通过端口,提高了端口的安全性。端口接收到报文后,通过查找IP Source Guard 绑定表项,对报文进行如下处理:
对于IP+Port 的绑定表项,如果报文中的源IP 地址与绑定表项中记录的IP 地址相同,端口将转发该报文;若不相同,则丢弃;
对于IP+Port+MAC 的绑定表项,如果报文中的源MAC 地址和源IP 地址与绑定表项中记录的MAC 地址和IP 地址相同,端口将转发该报文;若不相同,则丢弃。
对于IP+Port+MAC+VLAN 的绑定表项,如果报文中的源MAC 地址,源IP 地址和VLAN与绑定表项中记录的MAC 地址,IP 地址和VLAN相同,端口将转发该报文;若不相同,则丢弃。
以下是一些用来描述IP source guard的术语和概念的简要描述:
•动态主机配置协议(DHCP):动态主机配置协议 (DHCP) 是一个客户机/服务器的协议,它会自动提供IP地址以及其它相关的子网掩码和默认网关等信息给一个互联网协议(IP)的主机。
•DHCP Snooping:DHCP Snooping是一种安全功能,包括不受信任的主机和信任的DHCP服务器之间的防火墙行为。此功能建立和维护DHCP Snooping绑定数据库,其中包含不可信主机租用的IP地址信息。
•ACL:访问控制列表。
ip source guard
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 3
Switch(config-vlan)# exit
步骤3 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-16
Switch(config-if)# switchport
Switch(config-if)# no shutdown
Switch(config-if)# switchport access vlan 3
Switch(config-if)# exit
步骤4 配置ip绑定条目
Switch(config)# ip source maximal binding number per-port 15
Switch(config)# ip source binding mac 1111.1111.1111 vlan 3 ip 10.0.0.2 interface eth-0-16
步骤5 在接口使能ip绑定
Switch(config)# interface eth-0-16
Switch(config-if)# ip verify source ip
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# exit
步骤7 检查配置
Switch#show running-config interface eth-0-16
!
interface eth-0-16
ip verify source ip
switchport access vlan 3
删除单个表项:
Switch(config)# no ip source binding mac 1111.1111.1111 vlan 3 ip 10.0.0.2 interface eth-0-16
按接口删除:
Switch(config)# no ip source binding entries interface eth-0-16
按vlan删除:
Switch(config)# no ip source binding entries vlan 3
全部删除:
Switch(config)# no ip source binding entries
无
私有vlan属性在同一vlan 内部实现的二层流量的隔离和互通。 可根据需要,提供灵活的组网方法。
无
private vlan
如上图所示:
•所有端口在同一私有vlan中。
•端口1是混杂端口,可与同一私有vlan中所有其他端口互通
•端口2是隔离端口,它与同一私有vlan中所有其他端口都互相隔离,除了混杂端口(端口1)
•端口3和4 是互通端口,属于子vlan 2,端口3和4彼此可以互通,还可以和混杂端口互通。和同一私有vlan的其他端口都互相隔离。
•端口5和6 是互通端口,属于子vlan 3,端口5和6彼此可以互通,还可以和混杂端口互通。和同一私有vlan的其他端口都互相隔离。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch (config)# vlan database
Switch (config-vlan)# vlan 2
Switch (config-vlan)# quit
步骤3 进入接口配置模式,配置接口属性
混杂端口: 一个pvlan中的混杂端口,可以和该pvlan中任意其他类型的端口互通
Switch (config)# interface eth-0-1
Switch (config-if)# switchport mode private-vlan promiscuous
Switch (config-if)# switchport private-vlan 2
Switch (config-if)# quit
隔离端口: 一个pvlan中的隔离端口,除了和该pvlan中的混杂端口可以互通以外,和其他端口均不能互通
Switch (config)# interface eth-0-2
Switch (config-if)# switchport mode private-vlan host
Switch (config-if)# switchport private-vlan 2 isolate
Switch (config-if)# quit
互联端口: 一个pvlan中的互联端口,和该pvlan中的混杂端口尅互通,和该pvlan中 community-vlan ID相同的端口也可以互通,和其他端口均不能互通:
Switch (config)# interface eth-0-3
Switch (config-if)# switchport mode private-vlan host
Switch (config-if)# switchport private-vlan 2 community-vlan 2
Switch (config-if)# quit
Switch (config)# interface eth-0-4
Switch (config-if)# switchport mode private-vlan host
Switch (config-if)# switchport private-vlan 2 community-vlan 2
Switch (config-if)# quit
Switch (config)# interface eth-0-5
Switch (config-if)# switchport mode private-vlan host
Switch (config-if)# switchport private-vlan 2 community-vlan 3
Switch (config-if)# quit
Switch (config)# interface eth-0-6
Switch (config-if)# switchport mode private-vlan host
Switch (config-if)# switchport private-vlan 2 community-vlan 3
Switch (config-if)# quit
步骤4 退出配置模式
Switch(config)# exit
步骤5 检查配置
显示结果如下:
switch # show private-vlan
Primary Secondary Type Ports
--------------------------------------------------------------------------------
2 N/A promiscuous eth-0-1
2 N/A isloate eth-0-2
2 2 community eth-0-3 eth-0-4
2 3 community eth-0-5 eth-0-6
无
系统可以使用AAA认证的方法去验证访问网络和网络服务的用户。RADIUS认证是AAA认证方法之一。RADIUS是防止未经授权的访问,确保网络安全的分布式客户机/服务器系统。RADIUS为网络环境中广泛使用的协议。它通常用于嵌入式网络设备如路由器,调制解调器服务器,交换机等。RADIUS客户端通常在支持RADIUS的路由器和交换机上运行。客户端发送认证请求到RADIUS服务器,RADIUS服务器包含所有的用户认证和网络服务访问信息。
无
private vlan
上图为 RADIUS的网络拓扑 。 一台PC机作为 RADIUS服务器, 配置网卡1.1.1.2/24。
设置Switch的eth-0-23接口的IP地址为 1.1.1.1/24。 配置交换机的管理口IP地址为10.10.29.215,连接交换机管理口的PC机IP地址为 10.10.29.10。
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能aaa
Switch(config)# aaa new-model
Switch(config)# aaa authentication login radius-login radius local
步骤3 配置Radius server
Switch(config)# radius-server host 1.1.1.2 auth-port 1819 key keyname
Switch(config)# radius-server host 2001:1000::1 auth-port 1819 key keyname
步骤4 配置三层接口ip地址
Switch(config)# interface eth-0-23
Switch(config-if)# no switchport
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# quit
步骤5 配置验证方式
Switch(config)# line vty 0 7
Switch(config-line)#login authentication radius-login
Switch(config-line)#privilege level 4
Switch(config-line)#no line-password
步骤6 退出配置模式
Switch(config-line)# end
步骤7 检查配置
使用show命令检查交换机的工作状态
Switch# show aaa status
aaa status:
Authentication enable
可以使用show命令来显示交换机中的关键信息
Switch# show aaa method-lists authentication
authen queue=AAA_ML_AUTHEN_LOGIN
Name = default state = ALIVE : local
Name = radius-login state = ALIVE : radius local
进行Telnet测试,如配置正确,则Telnet连接的结果信息类似下图所所示:
Telnet连接测试
不要忘记打开 RADIUS验证功能。
确认线缆连接的正确性。 若交换机无法进行RADIUS认证,可以使用命令检查系统日志信息:
Switch# show logging buffer
配置IP地址,如下图所示:
在PC配置IP地址
测试客户机和服务器之间的连通性,如下图所示:
连通性测试
打开WinRadius软件,如下图所示:
WinRadius
进行系统设置,如下图所示:
WinRadius
加入用户名和密码,如下图所示:
加入用户名和密码
使用ping命令检查连通情况,如下图所示:
连通性测试
系统可以使用AAA认证的方法去验证访问网络和网络服务的用户。TACACS+认证是AAA认证方法之一。TACACS+是防止未经授权的访问,确保网络安全的分布式客户机/服务器系统。TACACS+为网络环境中广泛使用的协议。它通常用于嵌入式网络设备如路由器,调制解调器服务器,交换机等支持TACACS+的路由器和交换机上运行的客户。客户端发送认证请求到TACACS+服务器,TACACS+服务器包含所有的用户认证和网络服务访问信息。
无
TACACS+
上图是TACACS+的网络拓扑。一台PC机作为 TACACS+服务器,配置网卡1.1.1.2/24。设置Switch的eth-0-23接口的IP地址为1.1.1.1/24。配置交换机的管理口IP地址为10.10.29.215,连接交换机管理口(仅限带内管理口)的PC机IP地址为10.10.29.10。
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能aaa
Switch# configure terminal
Switch(config)# aaa new-model
Switch(config)# aaa authentication login tac-login tacacs-plus local
Switch(config)# aaa authorization exec default tacacs-plus
Switch(config)# aaa accounting exec default start-stop tacacs-plus
Switch(config)# aaa accounting commands default tacacs-plus
步骤3 配置TACACS+服务器
Switch(config)# tacacs-server host 1.1.1.2 port 123 key keyname primary
步骤4 配置三层接口ip地址
Switch(config)# interface eth-0-23
Switch(config-if)# no switchport
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# quit
步骤5 配置验证方式
Switch(config)# line vty 0 7
Switch(config-line)#login authentication tac-login
Switch(config-line)#privilege level 4
Switch(config-line)#no line-password
步骤6 退出配置模式
Switch(config-line)# end
步骤7 检查配置
使用show authentication status命令检查配置:
Switch# show aaa status
aaa stats:
Authentication enable
使用show aaa method-lists authentication命令检查AAA配置:
Switch# show aaa method-lists authentication
authen queue=AAA_ML_AUTHEN_LOGIN
Name = default state = ALIVE : local
Name = tac-login state = ALIVE : tacacs-plus local
进行Telnet测试,如配置正确,则Telnet连接的结果信息类似下图所所示:
Telnet connecting test
下载TACACS+服务器代码, DEVEL.201105261843.tar.bz2。
编译TACACS+服务器代码。
修改配置文件,增加用户名和密码。
#!../obj.linux-2.6.9-89.29.1.elsmp-x86_64/tac_plus
id = spawnd {
listen = { port = 49 }
spawn = {
instances min = 1
instances max = 10
}
background = no
}
user = aaa {
password = clear bbb
member = guest
}
运行TACACS+服务器程序。
[disciple: ~]$ ./tac_plus ./tac_plus.cfg.in -d 1
使用ping命令检查连通情况,如下图所示:
Connectivity test
通过Port-Isolated端口隔离特性,可以实现不同用户的端口属于同一个VLAN,但是不同端口之间不能互通。从而增强了网络的安全性,提供了灵活的组网方案,同时节省了大量的VLAN资源。
无
Port Isolate
上图显示了基本的端口隔离拓扑。
端口1和端口8在同一个隔离组1,所以端口1和端口8不能互相通信。 端口9在隔离组3.所以端口9能和端口1,8互相通信。
步骤1 进入配置模式
Switch# configure terminal
步骤2 选择全局端口隔离模式
l2表示只隔离二层转发的报文。all表示隔离所有符合隔离条件的报文,包括路由转发的报文。
Switch(config)# port-isolate mode l2
步骤3 进入接口配置模式,设置端口隔离组
Switch(config-if)# interface eth-0-1
Switch(config-if)# port-isolate group 1
Switch(config-if)# exit
Switch(config)# interface eth-0-8
Switch(config-if)# port-isolate group 1
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# port-isolate group 3
Switch(config-if)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
使用如下命令显示端口隔离的配置。
switch# show port-isolate
------------------------------------------------------------------
Port Isolate Groups:
------------------------------------------------------------------
Groups ID: 1
eth-0-1,eth-0-8
------------------------------------------------------------------
Groups ID: 3
eth-0-9
无
DDoS攻击全名是distributed denial-of-service attack,分布式拒绝服务攻击,是由DoS(denial-of-service)攻击发展而来,攻击原理是利用合理的服务请求来占用过多的服务资源,从而使服务器无法处理合法用户的指令。DDoS攻击利用处于不同位置的多个攻击者同时向一个或者数个目标发起攻击,或者一个或多个攻击者控制了位于不同位置的多台机器(傀儡机)并利用这些机器对受害者同时实施攻击。 DDoS攻击将造成网络资源浪费、链路带宽堵塞、服务器资源耗尽而业务中断。
DDoS防御特性可以保护我们交换机抵挡DDos攻击,拦截该种类型攻击对应的数据包。目前支持的类型有下面这些:
•ICMP泛洪:该攻击通过向目标IP发送大量ICMP包,占用带宽,从而导致合法报文无法达到目的地,达到攻击目的。
•Smurf 攻击:攻击者先使用受害主机的地址,向一个广播地址发送ICMP回响请求,在此广播网络上,潜在的计算机会做出响应,大量响应将发送到受害主机,此攻击后果同ICMP泛洪,但比之更为隐秘。
•SYN泛洪:蓄意侵入tcp三次握手并打开大量的TCP/IP连接而进行的攻击,该攻击利用IP欺骗,向受害者的系统发送看起来合法的SYN请求,而事实上该源地址不存在或当时不在线,因而回应的ACK消息无法到达目的,而受害者的系统被大量的这种半开连接充满,资源耗尽,而合法的连接无法被响应。
•UDP 泛洪:该攻击通过向目标IP发送大量UDP包,占用带宽,消耗资源。
•Fraggle攻击:该攻击是smurf的变种,针对防火墙对ICMP包检查比较严格的前提下,不再向广播地址发ICMP请求包,而是改为发送UDP包。
•Small-packet攻击:IP小报文攻击是发送大量的小报文到被攻击系统来消耗系统的资源。
•bad mac intercept :目的MAC地址等于源MAC地址的报文攻击。
•bad ip equal:目的IP地址等于源IP地址的报文攻击。
无
Topology for DDoS test
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置ddos防御
使能ICMP泛洪检测,设置每秒接收ICMP 报文个数最大为100
Switch(config)# ip icmp intercept maxcount 100
使能UDP泛洪检测,设置每秒接收UDP 报文个数最大为100
Switch(config)# ip udp intercept maxcount 100
使能smurf攻击检测
Switch(config)# ip smurf intercept
使能SYN泛洪检测,设置每秒接收TCP的SYN报文个数最大为100
Switch(config)# ip tcp intercept maxcount 100
使能Fraggle攻击检测
Switch(config)# ip fraggle intercept
使能Small-packet攻击检测,设置接收IP报文长度最小为32字节。
Switch(config)# ip small-packet intercept maxlength 32
使能检测源IP地址等于目的IP地址的报文攻击
Switch(config)# ip ipeq intercept
使能检测源MAC地址等于目的MAC地址的报文攻击
Switch(config)# ip maceq intercept
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show ip-intercept config
Current DDoS Prevent configuration:
============================================================
ICMP Flood Intercept :Enable Maxcount:500
UDP Flood Intercept :Enable Maxcount:500
SYN Flood Intercept :Enable Maxcount:500
Small-packet Attack Intercept :Enable Packet Length:45
Smurf Attack Intercept :Enable
Fraggle Attack Intercept :Enable
MAC Equal Intercept :Enable
IP Equal Intercept :Enable
Switch# show ip-intercept statistics
Current DDoS Prevent statistics:
============================================================
Resist Small-packet Attack packets number : 1730
Resist ICMP Flood packets number : 0
Resist SYN Flood packets number : 0
Resist Fraggle Attack packets number : 0
Resist UDP Flood packets number : 0
Current DDoS Prevent mgmt-if statistics:
============================================================
Resist ICMP Flood packets number : 0
Resist SYN Flood packets number : 0
Resist Fraggle Attack packets number : 0
Resist UDP Flood packets number : 0
无
密钥链是一种通用的认证方法,适用于需要共享密钥的实体在建立相互信任之前交换密钥完成认证。这种认证方法通常被用在路由协议和网络应用中,可以增强对等体之间通信的安全性。
密钥链提供了一种包含密钥控制和基于生命周期的转滚法的安全机制,它将一连串的密钥通过生命周期联系在一起,并将它们按照序号挂在密钥链里。密钥链在使用时会依次比对链中的各个密钥,找到密钥则通过验证。
为了发挥生命周期的作用,在使用密钥链之前,必须要定义密钥的有效时间,并且为了保持稳定性,最好能同时使用一个以上的有效密钥。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建key chain,并设置密钥
Switch(config)# key chain test
Switch(config-keychain)# key 1
Switch(config-keychain-key)# key-string ##test_keystring_1##
Switch(config-keychain-key)# accept-lifetime 0:0:1 1 jan 2012 infinite
Switch(config-keychain)# key 2
Switch(config-keychain-key)# key-string ##test_keystring_2##
Switch(config-keychain-key)# send-lifetime 0:0:1 2 jan 2012 infinite
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
在特权模式下使用命令show key chain,显示key chain的配置。
Switch # show key chain
key chain test:
key 1 -- text "key-string ##test_keystring_1##"
accept-lifetime <00:00:01 Jan 01 2012> - <infinite>
send-lifetime <always valid> - <always valid> [valid now]
key 2 -- text "key-string ##test_keystring_2##"
accept-lifetime <always valid> - <always valid> [valid now]
send-lifetime <00:00:01 Jan 02 2012> - <infinite>
无
默认情况下,端口泛洪报文都是没有目的MAC地址的。如果这些报文被送到保护端口上,将有可能出现安全问题。为了避免目的MAC地址未知或者已知的单播或组播传输到其他端口,可以阻塞该端口以避免发送单播或者组播出去。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,阻塞未知单播
Switch(config)# interface eth-0-1
Switch(config-if)# port-block unknown-unicast
Switch(config-if)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
在端口下配置port-block,并show出配置信息:
Switch # show port-block interface eth-0-1
Known unicast blocked: Enabled
Known multicast blocked: Disabled
Unknown unicast blocked: Disabled
Unknown multicast blocked: Disabled
Broadcast blocked: Disabled
无
交换机表项管理(STM)是通过配置交换机的系统资源来支持优化特定功能。您可以选择一个配置文件提供来发挥系统的最大功能,例如,使用默认的配置文件以平衡资源;使用VLAN配置文件,以获得最大的MAC条目。为了在不同的场合下最大限度的利用TCAM资源,STM提供了不同特性的系统优化功能。目前的版本中支持的STM模版包括:
•layer3:路由模板,支持最大数目的路由,通常应用在在网络中心的路由器或聚合层。
•layer2:VLAN模板,支持单播MAC地址的最大数量。它通常会被选定为第2层交换机。
•ipv6:ipv6模板,支持ipv6特性。
•mpls:mpls模板,支持最大数目的MPLS/MAC条目。
•default:默认模板,平衡分配所有特性的资源。
当您配置了(或当前使用的)STM模式不存在于下一个要启动的image里时,那么当这个image启动的时候就会使用默认的硬编码配置,这个配置可能和正常的default模式是不一样的。
无
通过配置指南来选择正确的STM profiles:
修改配置后必须重启交换机。
STM layer2模板,一般适用于2层交换机且没有路由交换的场合。
当交换机上没有使能路由功能的时候就不需要切换到layer3模版
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置STM profile,以layer3为例
Switch(config)# stm prefer layer3
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
下面的例子显示了使用路由模版后的输出结果:
Switch# show stm prefer
Current profile is :default
number of vlan instance : 1/4094
number of unicast mac address : 0/65536
number of multicast mac address : 0/2048
number of blackhole mac address : 0/128
number of max applied vlan mapping : 0/1024
number of bfd sessions : 0/128
number of CFM loacl&remote MEPs : 0/1024
number of CFM lm : 0/256
number of CFM lck : 0/24
number of G8031 groups : 0/256
number of G8032 rings : 0/256
number of G8032 member ports : 0/256
number of mac based vlan class : 0/512
number of ipv4 based vlan class : 0/512
number of ipv6 based vlan class : 0/0
number of dot1x mac based : 0/2048
number of unicast ipv4 host routes : 0/4096
number of unicast ipv4 indirect routes : 0/8192
number of unicast ipv4 policy based routes : 0/16
number of unicast ipv6 host routes : 0/0
number of unicast ipv6 indirect routes : 0/0
number of unicast ecmp groups : 0/240
number of unicast ip tunnel peers : 0/8
number of multicast ipv4 routes : 0/1023
number of mvr entries : 0/511
number of mvr6 entries : 0/0
number of multicast ipv6 routes : 0/0
number of ipv4 source guard entries : 0/1024
number of ingress port acl flow entries : 0/2035
number of ingress vlan acl flow entries : 0/255
number of egress port acl flow entries : 0/255
number of ingress port qos flow entries : 9/2043
number of ingress port acl ipv6 flow entries : 0/0
number of ingress vlan acl ipv6 flow entries : 0/0
number of egress port acl ipv6 flow entries : 0/0
number of ingress port qos ipv6 flow entries : 0/0
number of link aggregation (static & lacp) : 0/55
number of ipfix cache : 0/16384
The profile stored for use after the next reload is the layer3 profile.
步骤5 重启设备
Switch# reload
无
系统消息可以保存在日志文件中,也可以发送到其他服务器设备。系统消息管理模块有如下功能:
•记录日志信息以便监测和故障排除
•可以选择记录日志信息的类型
•可以选择日志的目的地
默认情况下,交换机会记录重要的系统信息记录到其内部缓冲区,同时也会发送到系统控制台。用户可以指定保存的消息级别。消息都会添加发生时间,便于实时调试和管理。
您可以使用交换机的命令行界面(CLI)来读取系统消息,也可以通过将它保存到一个日志服务器的形式来获取消息。交换机的日志缓冲区最多可存储1000条信息。用户可以通过Telnet或控制台端口登录设备后打开终端监控来实时监控系统日志。
以下是系统日志相关的术语:
概念 |
解释 |
Logging |
当前日志配置 |
Show |
显示日志配置 |
Levels |
安全等级信息 |
Enable |
开启日志保存到本地文件 |
Disable |
关闭日志保存到本地文件 |
系统消息类型:
名称 |
定义 |
kern |
kernel 消息 |
user |
随机用户等级消息 |
|
邮件系统 |
daemon |
系统进程 |
auth |
安全/验证消息 |
syslog |
通过syslogd生成系统内部消息 |
lpr |
行式打印机子系统 |
news |
网络新闻子系统 |
uucp |
UUCP子系统 |
cron |
时钟进程 |
authpriv |
私有的安全/验证消息 |
ftp |
FTP进程 |
安全等级的定义:
严重等级 |
定义 |
emergency |
系统无法使用 |
alert |
必须立即采取行动 |
critical |
严重事件 |
error |
错误事件 |
warning |
警告事件 |
notice |
正常的,但重要的事件 |
information |
信息 |
debug |
调试级别的消息 |
syslog server
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能日志服务器并配置相关参数
Switch(config)# logging server enable
Switch(config)# logging server address 1.1.1.1
Switch(config)# logging server address 2001:1000::2
Switch(config)# logging server severity debug
Switch(config)# logging server facility mail
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show logging
Current logging configuration:
============================================================
logging buffer 500
logging timestamp bsd
logging file enable
logging level file warning
logging level module debug
logging server enable
logging server severity debug
logging server facility mail
logging server address 1.1.1.1
logging server address 2001:1000::2
logging alarm-trap enable
logging alarm-trap level middle
logging merge enable
logging merge fifo-size 1024
logging merge timeout 10
logging operate disable
默认情况下,日志缓冲区只保存500条最新的消息日志。用户也可以通过命令将范围改为10和1000之间的任何值。
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置日志缓冲区
Switch(config)# logging buffer 700
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show logging
Current logging configuration:
============================================================
logging buffer 700
logging timestamp bsd
logging file enable
logging level file warning
logging level module debug
logging server enable
logging server severity debug
logging server facility mail
logging server address 1.1.1.1
logging alarm-trap enable
logging alarm-trap level middle
logging merge enable
logging merge fifo-size 1024
logging merge timeout 10
logging operate disable
下图是日志服务器的信息:
syslog on server
你可以使用命令检查日志信息。当配置了日志服务器,确保链路是通的并且能够ping通。在向日志服务器发送消息之前,必须配置好日志软件。最后就可以在日志软件上看到日志了。
无
通过镜像功能,用户可以将设备端口、vlan或cpu收发的报文复制一份(或多份),从设备的另一个(或多个)端口送出去,在这一个(或多个)端口连上测试仪或其他报文收集设备,可达到对原始报文进行捕获和分析的目的;也可将被复制报文发送到CPU并被保存下来,便于用户或程序员快速分析报文。
镜像功能不影响交换机上原始的网络流量。
镜像功能有如下几个基本的要素:
Mirror
1.镜像会话
镜像会话是一组镜像源和一个镜像目的的集合。一个可以正常工作的镜像会话,需要配置镜像目,以及至少一个镜像源。镜像源和镜像目的会在后面介绍。
系统最多支持三组镜像会话。
镜像功能不应干扰正常业务。
在一组镜像会话中,如果镜像源的总流量超过了镜像目的接口的转发能力,例如用一个最大速率为10Gbps的目的端口去监控100Gbps的流量,将会产生丢包。
2.镜像方向
镜像会话可以配置三种方向:
接收方向镜像(RX):对一个端口或VLAN做接收方向的镜像,原则是将这个端口或VLAN上的收到的流量,在系统对这些报文做任何修改和处理之前,尽可能完整、真实的复制出来。对于镜像源端口来说,有如下限制:CRC错误的报文将不能被镜像复制。对于镜像源VLAN来说,有如下限制:BPDU, LACPDU, BMGPDU报文,IP-MAC绑定检查不通过的报文,CRC错误的报文,不能被镜像复制。除此以外的其他功能,例如QOS的修改DSCP值、VLAN translation、VLAN classification,ACL,VLAN’s ingress filter, MAC filter, STP, VLAN tag control, port security, unknown routing packets等功能, 对报文进行修改或丢弃,都不应影响到接收方向的镜像功能。复制到目的端口的报文,应该和镜像源收到的报文完全一致。
发送方向镜像(TX):对一个端口或VLAN做发送方向的镜像,原则是将这个端口或VLAN上的发送出去的流量,尽可能真实的复制出来。从端口或VLAN送出之前就被丢弃的报文,不会被镜像复制。当镜像源是VLAN的时候,有如下限制:来自CPU的报文不能被镜像复制。
双向镜像(BOTH):在一个镜像会话中,用户可以监控同一个镜像源上接收和发送两个方向的报文流量。
3.镜像源
镜像源是指被监测的原始的网络流量。目前支持以下几种类型:
源端口:一个需要被监控或分析的二层或三层端口。支持物理端口和聚合组(link agg)。聚合组的成员端口不能单独配置成镜像源。
源VLAN:源VLAN是一个需要被监控或分析的VLAN。必须创建vlan interface才能将vlan设为镜像源。
CPU:用户可以将CPU作为镜像源配置。当需要将上报cpu报文或者cpu下发的报文镜像复制时,可以启用CPU镜像源配置,值得注意的是镜像复制出来的报文是cpu-traffic-limit限速之前的。目前只允许session 1配置cpu mirror source。
4.镜像目的
镜像目的是是指通过镜像功能复制出来的流量所要送达的目的。目前支持以下几种类型:
本地镜像目的端口:本地镜像目的端口可以是一个物理口,也可以是聚合组。但不能是聚合组成员。目的端口有下面这些特性:
•它必须和镜像源处在同一台设备上 。
•端口不能是shutdown状态的。
•只能在一个镜像会话中作为目的端口。
•不能配置为任何镜像会话的镜像源端口。
•端口不传输任何镜像功能以外的流量。
•该端口的所有其他系统功能的相关配置继续保留,但是不能工作。直到在此端口不再作为镜像会话的目的端口。
•镜像目的端口不学习MAC。
•实时速率/双工状态可能会和显示的数值不一致。
多目的镜像:支持用多个目的端口(检测端口)来接收复制出来的报文。多目的端口中的每个端口特性与单目的端口相同。全局只支持一个多目的端口组。
远程镜像目的:远程镜像目的包括一个物理出接口以及一个VLAN,复制后的报文从指定的物理出接口送出,并封装了指定的vlan tag。一个远程镜像目的特性如下:
•是一个指定的端口和一个VLAN的组合
•远程VLAN范围在2-4094,如果在系统中没有创建VLAN,用户不能将这个VLAN作为远程镜像VLAN
•出端口应该是一个普通的物理端口,需要用户的配置来保证这个端口可以传输镜像报文,并且不被其他功能的流量所干扰。
•镜像源的报文将被加上指定的远程VLAN ID Tag,然后从指定的出接口发出去,到达远端设备上。
•使用二层接口为远程镜像的目的端口,并且用户需要将这个端口加入到指定的远程VLAN中,否则镜像报文将不能成功发送出去。
CPU 镜像目的:将镜像功能复制的报文送到当前设备的CPU。当该设备无法连接上测试仪或者其他报文收集设备,需要将被复制报文发送到CPU并被保存下来,便于用户或开发者快速分析报文。目前镜像报文上送CPU的速率是系统默认限制速率,也可以用户指定限速速率。CPU作为镜像目的时,只能用于一个session。
port Mirror
将eth-0-1收发的报文复制到eth-0-2。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置镜像目的
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# monitor session 1 destination interface eth-0-2
步骤3 配置镜像源
Switch(config)# monitor session 1 source interface eth-0-1 both
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch# show monitor session 1
Session 1
----------
Status : Valid
Type : Local Session
Source Ports :
Receive Only :
Transmit Only :
Both : eth-0-1
Source VLANs :
Receive Only :
Transmit Only :
Both :
Destination Port : eth-0-2
将vlan 10收到的报文复制到eth-0-2
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置镜像目的
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# monitor session 1 destination interface eth-0-2
步骤3 进入vlan配置模式,创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# exit
步骤4 创建vlan interface
Switch(config)# interface vlan10
Switch(config-if)# exit
步骤5 配置镜像源
Switch(config)# monitor session 1 source vlan 10 rx
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch# show monitor session 1
Session 1
----------
Status : Valid
Type : Local Session
Source Ports :
Receive Only :
Transmit Only :
Both :
Source VLANs :
Receive Only : 10
Transmit Only :
Both :
Destination Port : eth-0-2
将送cpu和cpu发出的报文复制到eth-0-1
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置镜像目的
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# monitor session 1 destination interface eth-0-2
步骤3 配置镜像源
Switch(config)# monitor session 1 source cpu both
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
DUT1# show monitor session 1
Session 1
----------
Status : Valid
Type : Cpu Session
Source Ports :
Receive Only :
Transmit Only :
Both : cpu
Source VLANs :
Receive Only :
Transmit Only :
Both :
Destination Port :eth-0-1
Multi-destination Mirror
将eth-0-1收发的报文复制到eth-0-2和eth-0-3。 镜像源的规则与本地单目的的端口镜像一样,可以是port也可以是vlan,下面仅以port为例。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置镜像目的组
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# monitor session 1 destination group 1
Switch(config-monitor-d-group)# member eth-0-2
Switch(config-monitor-d-group)# member eth-0-3
Switch(config-monitor-d-group)# exit
步骤3 配置镜像源
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# monitor session 1 source interface eth-0-1
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Session 1
----------
Status : Valid
Type : Local Session
Source Ports :
Receive Only :
Transmit Only :
Both : eth-0-1
Source VLANs :
Receive Only :
Transmit Only :
Both :
Destination Port : eth-0-2 eth-0-3
Remote Mirror
在本地设备无法直接连接测试仪或其他分析设备时,也可以选择远程镜像。远程镜像目的指定一个物理端口作为出接口,同时指定一个VLAN用以封装镜像报文。在远端设备上可以通过该VLAN,将镜像报文和其他流量分离开。所以建议在配置远程镜像的时候,选择一个无业务流量的VLAN。
这个例子中,将Switch1上eth-0-1收发的报文封装VLAN 15送到Switch2。Switch2将收到的报文送到测试仪或分析设备。
下面是Switch1的配置:
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置镜像目的
Switch(config)# vlan database
Switch(config-vlan)# vlan 15
Switch(config-vlan)# exit
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 15
Switch(config-if)# exit
Switch(config)# monitor session 1 destination remote vlan 15 interface eth-0-2
步骤3 配置镜像源
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config)# monitor session 1 source interface eth-0-1 both
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
SwitchA# show monitor session 1
Session 1
----------
Status : Valid
Type : Remote Session
Source Ports :
Receive Only :
Transmit Only :
Both : eth-0-1
Source VLANs :
Receive Only :
Transmit Only :
Both :
Destination Port : eth-0-2
Destination remote VLAN : 15
下面是Switch2的配置:
在这个例子中,Switch2 可以通过下面几种方法,将vlan 15的报文送到分析设备。
方法1: 利用vlan作为镜像源,仍然使用镜像功能,将vlan 15收到的报文送到镜像目的目的端口
Switch # configure terminal
Switch (config)# vlan database
Switch (config-vlan)# vlan 15
Switch (config-vlan)# exit
Switch (config)# interface vlan15
Switch (config-if)# exit
Switch (config)# interface eth-0-2
Switch (config-if)# no shutdown
Switch (config)# interface eth-0-1
Switch (config-if)# no shutdown
Switch (config-if)# switchport mode trunk
Switch (config-if)# switchport trunk allowed vlan add 15
Switch (config-if)# exit
Switch (config)# monitor session 1 destination interface eth-0-2
Switch (config)# monitor session 1 source vlan 15 rx
Switch (config)# end
方法2: 将收到报文的端口和连接测试仪的端口都加入vlan 15,通过二层转发送达
Switch# configure terminal
Switch(config)# no spanning-tree enable
Switch(config)# vlan database
Switch(config-vlan)# vlan 15
Switch(config-vlan)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 15
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 15
Switch(config-if)# exit
这里将直连测试仪的eth-0-2配成access端口,收到的报文会将vlan tag 15剥掉。
方法3: 保留vlan tag 15
如果希望保留vlan tag 15,可以将eth-0-2改成trunk口:
Switch(config)# interface eth-0-2
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 15
Mirror to cpu
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置镜像目的
Switch(config)# monitor session 1 destination cpu
设置缓冲区大小和上cpu速率:
Switch(config)# monitor cpu set packet buffer 100
Switch(config)# cpu-traffic-limit reason mirror-to-cpu rate 128
步骤3 配置镜像源
Switch(config)# monitor session 1 source interface eth-0-1 both
步骤4 退出配置模式
Switch(config)# end
可选步骤
开启或关闭mirror cpu的文件写入功能,该功能开启后把存储在内存中的包写入到指定txt文件中
Switch# monitor cpu capture packet start
Switch# monitor cpu capture packet stop
将.txt文本文件转成.pcap文件
Switch# pcap convert flash:/mirror/MirCpuPkt-2016-02-05-18-31-13.txt flash:/MirCpuPkt-2016-02-05.pcap
配置mirror cpu的抓包策略:drop表示当内存空间写满之后,丢弃新包;replace表示当内存空间写满之后,新包替换最旧包
Switch(config)# monitor cpu capture strategy drop
Switch(config)# monitor cpu capture strategy replace
步骤5 检查配置
示例中创建了会话1用以监控源端口eth-0-1的流量,并通过show 命令查看mirror to cpu的报文。可以使用显示会话命令查看配置:
Switch# show monitor session 1
DUT1# show monitor session 1
Session 1
----------
Status : Valid
Type : Cpu Session
Source Ports :
Receive Only :
Transmit Only :
Both : eth-0-1
Source VLANs :
Receive Only :
Transmit Only :
Both :
Destination Port : cpu
查看报文mirror到 cpu后内存存储的包
Switch# show monitor cpu packet all
-----------------show all mirror to cpu packet info-----------------
packet: 1
Source port: eth-0-1
MACDA:264e.ad52.d800, MACSA:0000.0000.1111
vlan tag:100
IPv4 Packet, IP Protocol is 0
IPDA:3.3.3.3, IPSA: 10.0.0.2
Data length: 47
Data:
264e ad52 d800 0000 0000 1111 8100 0064
0800 4500 001d 0001 0000 4000 6ad9 0a00
0002 0303 0303 6365 6e74 6563 796f 75
查看配置mirror cpu内存buffer大小
Switch# show monitor cpu packet buffer
--------------------show packet buffer size ---------------------
The mirror-to-cpu packet buffer size of user set is: 100
查看配置mirror cpu的报文上cpu的速率
Switch# show cpu traffic-limit | include mirror-to-cpu
mirror-to-cpu 128 0
查看mirror cpu报文的存储文件
Switch# ls flash:/mirror
Directory of flash:/mirror
total 8
-rw-r----- 1 2287 Dec 23 01:16 MirCpuPkt-2016-12-23-01-15-54.txt
-rw-r----- 1 2568 Jan 3 11:41 MirCpuPkt-2017-01-03-11-41-33.txt
14.8T bytes total (7.9T bytes free)
Switch# more flash:/mirror/ MirCpuPkt-2017-01-03-11-41-33.txt
sequence srcPort
1 eth-0-1
++++++++1483443444:648884
8c 1d cd 93 51 00 00 00 00 00 11 11 08 00 45 00
00 26 00 01 00 00 40 00 72 d0 01 01 01 01 03 03
03 03 63 65 6e 74 65 63 79 6f 75 63 65 6e 74 65
63 79 6f 75
--------
sequence srcPort
2 eth-0-1
++++++++1483443445:546440
8c 1d cd 93 51 00 00 00 00 00 11 11 08 00 45 00
00 26 00 01 00 00 40 00 72 d0 01 01 01 01 03 03
03 03 63 65 6e 74 65 63 79 6f 75 63 65 6e 74 65
63 79 6f 75
查看flash上的文件。在转换成pcap 文件后,可以通过抓包分析软件(例如wireshark)打开。如何将设备上的文件下载到本地,请参考ftp、tftp章节。
Switch#ls flash:/mirror
Directory of flash:/mirror
total 12
-rw-r----- 1 2287 Dec 23 01:16 MirCpuPkt-2016-12-23-01-15-54.txt
-rw-r----- 1 2568 Jan 3 11:41 MirCpuPkt-2017-01-03-11-41-33.txt
-rw-r--r-- 1 704 Jan 3 13:07 test.pcap
14.8T bytes total (7.9T bytes free)
查看mirror cpu的抓包策略
Switch# show monitor cpu capture strategy
The capture strategy of cpu mirror is: replace (add new packet and remove oldest
packet when buffer is full)
无
用户可以通过管理端口管理交换机。交换机有2类管理端口:以太网口和串口。
无
交换机的默认串口配置如下:
•波特率为115200
•数据位为8
•停止位为1
•无奇偶校验
在配置交换机之前,请先确认已经将交换机串口与PC或其他终端的串口相连,且PC或终端的串口配置与上述交换机串口默认配置一致。当登录到交换机上后,可以修改串口配置参数。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入串口配置模式,设置串口波特率
Switch(config)# line console 0
Switch(config-line)# speed 19200
步骤3 退出配置模式
Switch(config-line)# end
步骤4 检查配置
完成上述配置后,串口参数已经被修改,此时PC或终端无法再通过串口配置交换机。必须修改PC或终端的串口属性,将波特率从115200修改为19200,才能够重新连上交换机进行配置。
为了通过带外管理端口配置交换机,必须先通过串口为带外管理端口配置管理IP地址。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置交换机管理口的IP地址
IPv4和IPv6都可支持,举例如下:
Switch(config)# management ip address 10.10.38.106/24
Switch(config)# management ipv6 address 2001:1000::1/96
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show management ip address
Management IP address is: 10.10.38.106/24
Gateway: 0.0.0.0
Switch # show management ipv6 address
Management IPv6 address is: 2001:1000::1/96
Gateway: ::
交换机支持温度告警管理功能。用户可以设置3个温度阈值:低温告警阈值,高温告警阈值,超高温断电保护阈值。当交换机温度低于低温告警阈值,或者高于高温告警阈值,交换机将自动产生告警信息。当交换机温度高于超高温断电保护阈值,交换机将通过自动切断电源来保护系统。
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置温度阈值
低温告警阈值5℃;高温告警阈值70℃;超高温断电阈值90℃。
Switch(config)# temperature 5 70 90
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show environment
---------------------------------------------------------
Sensor status (Degree Centigrade):
Index Temperature Lower_alarm Upper_alarm Critical_limit
1 50 5 70 90
交换机支持自动管理风扇。当风扇盘不在位或者风扇坏掉,交换机能自动产生告警信息。如果风扇盘支持风扇速度调节,交换机将根据系统内部实时温度值自动调节风扇转速。交换机风扇速度调节有3个温度阈值: low=50°C, high=65°C, crit=80°C。当实时温度小于low时,风扇将停止转动;当实时温度在low(含)和high之间时,风扇将以30%的速率转动;当实时温度在high(含)和Crit之间时,风扇将以70%的速率转动;当实时温度达到或超过crit时,风扇将全速转动。
风扇自动调节还支持设置迟滞值hyst=2°C,当之前的温度高于某阈值,风扇转速上升一个级别,现在温度又下降到低于该阈值时,风扇转速不会立即下降一个级别,必须等到实时温度比该阈值还低hyst(2°C)时,才会调节风扇转速,下降一个级别。举例如下:
•当前温度为58摄氏度,风扇转速为30%;(low < 58 < high)。
•当温度上升到65摄氏度时,风扇转速自动调节为70%;(high==65)
•当温度又下降到63摄氏度时,风扇转速仍旧为70%;(high-hyst ==63)
•当温度下降到62摄氏度时,风扇转速降为30%。(62 < Thigh-Thyst)
low、high、crit和hyst以及对应的风扇转速都是系统预定义的,不支持用户调节。
Switch# show environment
Fan tray status:
Index Status
1 PRESENT
FanIndex Status SpeedRate Mode
1-1 OK 30% Auto
1-2 OK 30% Auto
1-3 OK 30% Auto
1-4 OK 30% Auto
---------------------------------------------------------
交换机支持自动电源管理。当某个电源坏掉(双电源模式时)或者电源风扇坏掉,交换机能够自动发出告警信息。当电源模块拔插时,交换机也会发出通告信息。
用户可以通过命令行指令来查看电源的运行状态
Switch# show environment
---------------------------------------------------------
Power status:
Index Status Power Type Fans Control
1 PRESENT OK AC - -
2 ABSENT - - - -
3 PRESENT OK DC(PoE) - -
---------------------------------------------------------
交换机支持管理光模块信息,这些管理信息包括基本信息和诊断信息。其中基本信息包括光模块类型、生产厂商名称、序列号、产品号以及相应支持的光波长和链路长度。诊断信息包括光模块的实时温度、电压、电流、发送光功率和接收光功率以及这些实时信息对应的厂商预定义正常工作范围、提醒阈值和告警阈值。当光模块拔插或者实时信息超出正常工作范围,交换机将自动发出通告或告警信息。
用户可以通过命令行指令来查看光模块的运行状态
Switch# show transceiver detail
Port eth-1-2 transceiver info:
Transceiver Type: 10G Base-SR
Transceiver Vendor Name : OEM
Transceiver PN : SFP-10GB-SR
Transceiver S/N : 201033PST1077C
Transceiver Output Wavelength: 850 nm
Supported Link Type and Length:
Link Length for 50/125um multi-mode fiber: 80 m
Link Length for 62.5/125um multi-mode fiber: 30 m
----------------------------------------------------------------------------
Transceiver is internally calibrated.
mA: milliamperes, dBm: decibels (milliwatts), NA or N/A: not applicable.
++ : high alarm, + : high warning, - : low warning, -- : low alarm.
The threshold values are calibrated.
----------------------------------------------------------------------------
High Alarm High Warn Low Warn Low Alarm
Temperature Threshold Threshold Threshold Threshold
Port (Celsius) (Celsius) (Celsius) (Celsius) (Celsius)
--------- ------------------ ---------- ---------- ---------- ----------
eth-1-2 25.92 95.00 90.00 -20.00 -25.00
--------------------------------------------------------------------------------------------------
High Alarm High Warn Low Warn Low Alarm
Voltage Threshold Threshold Threshold Threshold
Port (Volts) (Volts) (Volts) (Volts) (Volts)
--------- ----------------- ---------------- ---------------- --------------- ---------------
eth-1-2 3.32 3.80 3.70 2.90 2.80
---------------------------------------------------------------------------------------------------
High Alarm High Warn Low Warn Low Alarm
Current Threshold Threshold Threshold Threshold
Port (milliamperes) (mA) (mA) (mA) (mA)
--------- ------------------ --------------- ---------------- ----------------- -------------
eth-1-2 6.41 20.00 18.00 1.00 0.50
-----------------------------------------------------------------------------------------------------
Optical High Alarm High Warn Low Warn Low Alarm
Transmit Power Threshold Threshold Threshold Threshold
Port (dBm) (dBm) (dBm) (dBm) (dBm)
--------- ------------------ --------------- ---------------- ---------------- ---------------
eth-1-2 -2.41 2.01 1.00 -6.99 -7.96
-------------------------------------------------------------------------------------------------------
Optical High Alarm High Warn Low Warn Low Alarm
Receive Power Threshold Threshold Threshold Threshold
Port (dBm) (dBm) (dBm) (dBm) (dBm)
--------- ------------------ --------------- ----------------- ---------------- ----------------
eth-1-2 -12 - 1.00 0.00 -19.00 -20.00
-------------------------------------------------------------------------------------------------------
交换机支持在线升级Bootrom程序,当升级完后,必须重启才能生效。
步骤1 将Bootrom拷贝到flash中
Switch# copy mgmt-if tftp://10.10.38.160/bootrom.bin flash:/boot/
步骤2 进入配置模式
Switch# configure terminal
步骤3 升级bootrom
Switch(config)# update bootrom flash:/boot/bootrom.bin
步骤4 退出配置模式
Switch(config)# end
步骤5 重启设备
Switch# reboot
步骤6 检查配置
当完成上述配置,系统重启结束,可查看系统当前运行的bootrom版本号。
Switch# show version
……
EPLD Version is 1
BootRom Version is 3.0.2
交换机支持在线升级EPLD程序,当升级完成后,必须断电重启系统,否则系统将无法正常工作。
步骤1 将epld文件拷贝到flash中
Switch# copy mgmt-if tftp://10.10.38.160/vme_v1.0 flash:/boot/vme_v1.0
步骤2 进入配置模式
Switch# configure terminal
步骤3 升级epld
Switch(config)# update epld flash:/boot/vme_v1.0
步骤4 退出配置模式
Switch(config)# exit
步骤5 重启设备
Switch# reboot
步骤6 检查配置
当完成上述配置,系统重启结束,可查看系统当前运行的EPLD版本号
Switch# show version
……
EPLD Version is 1
BootRom Version is 3.0.2
无
U-boot的主要功能是简单地初始化设备和在启动时加载系统镜像。在U-boot模式下,你可以使用一些必要的命令。
U-boot既能从TFTP 服务器上加载系统镜像,又能从硬盘里加载,例如flash。如果从TFTP 服务器上启动系统,需要配置本地设备和TFTP服务器的IP地址。
无
方式1: 从TFTP服务器上加载镜像
需要保存配置后重启:
bootrom:> setenv bootcmd boot_tftp OS-ms-v3.1.9.it.r.bin
bootrom:> saveenv
bootrom:> reset
方式2: 从TFTP服务器上加载镜像,不需要密码
需要保存配置后重启:
bootrom:> setenv bootcmd boot_tftp_nopass OS-ms-v3.1.9.it.r.bin
bootrom:> saveenv
bootrom:> reset
方式3: 从TFTP服务器上加载镜像后直接重启板子
bootrom:> boot_tftp OS-ms-v3.1.9.it.r.bin
方式4: 从TFTP服务器上加载镜像后直接重启板子,不需要密码
bootrom:> boot_tftp_nopass OS-ms-v3.1.9.it.r.bin
检查配置
在以上配置命令之后,你可以验证配置信息。
bootrom:> reset
………………..
TFTP from server 10.10.29.160; our IP address is 10.10.29.118
Filename 'OS-ms-v3.1.9.it.r.bin'.
Load address: 0xaa00000
Loading: octeth0: Up 100 Mbps Full duplex (port 0)
#################################################################
#####################
done
Bytes transferred = 12314539 (bbe7ab hex), 1829 Kbytes/sec
方式1 从flash加载镜像
需要保存配置后重启:
bootrom:> setenv bootcmd boot_flash OS-ms-v3.1.9.it.r.bin
bootrom:> saveenv
bootrom:> reset
方式2 从flash加载镜像,并恢复系统默认登录密码配置
需要保存配置后重启:
bootrom:> setenv bootcmd boot_flash_nopass OS-ms-v3.1.9.it.r.bin
bootrom:> saveenv
bootrom:> reset
Do you want to revert to the default config file ? [Y|N|E]:Y
方式3 从flash加载镜像后直接启动系统
bootrom:> boot_flash OS-ms-v3.1.9.it.r.bin
方式4 从flash加载镜像后直接启动系统,并恢复系统默认登录密码配置
bootrom:> boot_flash_nopass OS-ms-v3.1.9.it.r.bin
Do you want to revert to the default config file ? [Y|N|E]:Y
检查配置
在以上配置命令之后,你可以验证配置信息。
bootrom:> reset
……
Do you want to revert to the default config file ? [Y|N|E]:Y
### JFFS2 loading '/boot/OS-ms-v3.1.9.it.r.bin' to 0xaa00000
Scanning JFFS2 FS: . done.
### JFFS2 load complete: 12314539 bytes loaded to 0xaa00000
## Booting image at 0aa00000 ...
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
……
步骤1 设置本地设备的IP并保存配置
bootrom:> setenv ipaddr 10.10.29.101
bootrom:> saveenv
步骤2 指定TFTP服务器IP并保存配置
bootrom:> setenv serverip 10.10.29.160
bootrom:> saveenv
步骤3 检查配置
在以上配置命令之后,你可以验证配置信息。
bootrom:> printenv
printenv
bootdelay=5
baudrate=9600
download_baudrate=9600
…………………
stderr=serial
ipaddr=10.10.29.101
serverip=10.10.29.160
Environment size: 856/2044 bytes
步骤1 选定bootrom文件在线升级
bootrom:> upgrade_uboot bootrom.bin
步骤2 检查配置
在以上配置命令之后,你可以验证配置信息。
bootrom:> version
version
Bootrom 3.0.3 (Development build) (Build time: Aug 4 2011 - 11:47:06)
步骤1 设置本地设备的网关并保存配置
bootrom:> setenv gatewayip 10.10.37.1
bootrom:> saveenv
步骤2 设置本地设备的子网掩码并保存配置
bootrom:> setenv netmask 255.255.255.0
bootrom:> saveenv
步骤3 检查配置
在以上配置命令之后,你可以验证配置信息:
bootrom:> printenv
printenv
bootdelay=5
baudrate=9600
download_baudrate=9600
…………………
stderr=serial
gatewayip=10.10.38.1
netmask=255.255.255.0
Environment size: 856/2044 bytes
无
启动诊断可以在交换机重新启动后,帮助用户诊断交换机的各个硬件组件是否工作正常。其中诊断项包括:EPLD,EEPROM,PHY,MAC等。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置诊断等级
Switch(config)# diagnostic bootup level minimal
步骤3 退出配置模式
Switch(config)# exit
步骤4 检查配置
当前没有配置诊断等级。需要下一次重启后生效。
Switch# show diagnostic bootup level
The current running is no diagnostic bootup level
The next running bootup diag level is minimal
步骤5 重启设备
Switch# reboot
步骤6 检查配置
Switch# show diagnostic bootup result detail
#########################################################
Item Name Attribute Result Time(usec)
1 EPLD TEST C Pass 57
2 EEPROM0 TEST C Pass 101262
3 PHY TEST C Pass 1161
4 FAN TEST C Pass 4668
5 SENSOR TEST C Pass 5472
6 PSU TEST C Pass 1370
7 L2 UCAST FUNC TEST C Pass 40126
无
SmartConfig是一种智能初始化配置方法。在设置启用SmartConfig功能后,交换机启动时发现没有startup-config文件,则开始从服务器上下载配置文件或image文件。在完成下载配置后,如果发现下载了image文件,则需要重新启动系统。
需要注意的是我们是通过中间文件控制交换机下载的image文件和配置文件。交换机将会从XML格式的中间文件里,找到自己需要下载的文件。中间文件的名称为smartdeploy.xml,具体的内容大致如下:
<SmartDeploy>
<ftype>init</ftype>
<hostprefix>Bruce</hostprefix>
<defItem>
<option>enable</option>
<image>def.bin</image>
<config>def.cfg</config>
</defItem>
<groups>
<Item>
<type>MAC</type>
<value>001e.0808.9100</value>
<image>switchOs.bin</image>
<config>startup.cfg</config>
</Item>
<Item>
<type>productid</type>
<value>09SWITCH-E48-10</value>
<image>productid.bin</image>
<config>productid.cfg</config>
</Item>
<Item>
<type>SN</type>
<value>E054GD116004</value>
<image>sn.bin</image>
<config>sn.cfg</config>
</Item>
</groups>
</SmartDeploy>
在中间文件里有三种类型标签分别是MAC,product-id,SN。交换机会按照MAC, SN,product-id的顺序从中找到自己需要的image文件和配置文件。因此,我们只需要在文件中定义交换机需要的文件,并把所有的文件放到tftp服务器上。
无
smart config
上图为测试SmartConfig的网络拓扑,需要两台交换机和两台pc构建测试环境。switch是我们启用SmartConfig功能的交换机。需要注意的是, 上图中DHCP server提供的TFTP server地址必须是switch可以直接连接或者通过路由器连接的。
步骤1 进入配置模式
Switch#configure terminal
步骤2 设置启用SmartConfig
Switch(config)#smart-config initial-switch-deployment
步骤3 退出配置模式
Switch (config)#exit
步骤4 检查配置
检查SmartConfig配置:
Switch# show smart-config config
Smart-Config config:
initial-switch-deployment: on
hostname-prefix: on
Send log message to console: on
默认是启动SmartConfig功能的,所以只要startup-config文件不存在,交换机就会在启动时开始SmartConfig工作流程。也可以手动删除startup-config文件,这样在下次启动时,Smartconfig就会工作。
具体的配置步骤如下:
步骤1:
配置文件smartdeploy.xml ,将该文件和image文件,configuration文件放到tftp server上。目录结构如下(配置文件放在conf目录下,镜像文件放在images目录下) :
smartconfig/
|--conf/
|--images/
|--smartdeploy.xml
步骤2:
配置DHCP server,必须要设置tftp server address选项
步骤3:
确保交换机没有startup-config.conf文件
步骤4:
启动或重启系统
无
交换机支持显示重启记录,从重启记录中可以区分出来板子是掉电重启,还是手动重启,或者是其他原因导致的重启。用户也可以通过一条命令来清除重启记录。
使用该命令最多显示10条重启记录,如果要查看更多的重启记录,可以在如下的文件中查看:flash:/reboot-info/reboot_info.log
显示结果说明如下:
重启类型 |
说明 |
POWER |
断电重启 |
MANUAL |
系统下手动reboot/reload重启 |
HIGH-TMPR |
高温异常重启 |
BHMDOG BHM |
看门狗重启,用于监控系统各个功能模块 |
LCMDOG LCM |
看门狗重启,用于监控LC |
SCHEDULE |
定时重启 |
SNMP-RELOAD SNMP |
重启 |
HALFAIL |
HAGT与HSRV通讯异常重启,需要stack功能开启 |
ABNORMAL |
系统非正常方式重启,包括shell下的reboot |
CTCINTR |
按键重启 |
LCATTACH |
LC匹配异常重启 |
OTHER |
其他重启 |
无
重启记录默认开启,不需要设置。可以通过下面方法查看和清除。
步骤1 显示重启记录
Switch# show reboot-info
Times Reboot Type Reboot Time(DST)
1 MANUAL 2000/01/01 01:21:35
2 MANUAL 2000/01/01 02:07:52
3 MANUAL 2000/01/01 02:24:59
4 MANUAL 2000/01/01 03:28:58
5 MANUAL 2000/01/01 03:43:02
6 MANUAL 2000/01/01 03:49:51
7 MANUAL 2000/01/01 04:01:23
8 MANUAL 2000/01/01 04:42:40
9 MANUAL 2000/01/01 04:49:27
10 MANUAL 2000/01/01 20:59:20
步骤2 清除重启记录 (可选)
Switch(config)# reset reboot-info
无
Ping是一个计算机网络的管理工具,用于测试一台主机通过IP协议的可达性和衡量每次从源到目的主机的时间(round trip time)。它的名字来源于主动声纳的术语。
Ping通过向目的主机发送ICMP echo请求报文,等待ICMP回应来实现。在运作过程中,它测量每一次发送到接收到响应的时间间隔(round trip time),并且记录所有的丢包。测试结果会用一个统计汇总数据来显示接收到的所有报文,包括最小,最大和平均的round-trip time,有时会打印平均的标准偏差值。
Traceroute是一个在IP网上用于测量路由选路和报文传输时间的工具。
Traceroute向目的主机发送一个ICMP序列报文,通过TTL参数跟踪通过的中间路由。中间路由器会将过路报文的TTL参数值减1,当TTL值减为0时丢弃报文并回送一个ICMP错误消息(ICMP Timer Exceeded)给发送源。
无
Switch# ping 10.10.29.247
Switch# ping ipv6 2001:1000::1
Switch# ping mgmt-if 10.10.29.247
Switch# ping mgmt-if ipv6 2001:1000::1
Switch# ping vrf vrf1 10.10.10.1
Switch# traceroute 1.1.1.2
Switch# traceroute ipv6 2001:1000::1
Switch # ping mgmt-if 192.168.100.101
PING 192.168.100.101 (192.168.100.101) 56(84) bytes of data.
64 bytes from 192.168.100.101: icmp_seq=0 ttl=64 time=0.092 ms
64 bytes from 192.168.100.101: icmp_seq=1 ttl=64 time=0.081 ms
64 bytes from 192.168.100.101: icmp_seq=2 ttl=64 time=0.693 ms
64 bytes from 192.168.100.101: icmp_seq=3 ttl=64 time=0.071 ms
64 bytes from 192.168.100.101: icmp_seq=4 ttl=64 time=1.10 ms
--- 192.168.100.101 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4054ms
rtt min/avg/max/mdev = 0.071/0.408/1.104/0.421 ms, pipe 2
Switch# traceroute 1.1.1.2
traceroute to 1.1.1.2 (1.1.1.2), 30 hops max, 38 byte packets
1 1.1.1.2 (1.1.1.2) 112.465 ms 102.257 ms 131.948 ms
Switch # ping mgmt-if ipv6 2001:1000::1
PING 2001:1000::1(2001:1000::1) 56 data bytes
64 bytes from 2001:1000::1: icmp_seq=1 ttl=64 time=0.291 ms
64 bytes from 2001:1000::1: icmp_seq=2 ttl=64 time=0.262 ms
64 bytes from 2001:1000::1: icmp_seq=3 ttl=64 time=0.264 ms
64 bytes from 2001:1000::1: icmp_seq=4 ttl=64 time=0.270 ms
64 bytes from 2001:1000::1: icmp_seq=5 ttl=64 time=0.274 ms
--- 2001:1000::1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3997ms
rtt min/avg/max/mdev = 0.262/0.272/0.291/0.014 ms
NTP是一个具有冗余能力的分层时间分布系统。NTP测量内网延迟和设备上运行它的算法的延误。使用这样的技术,NTP可以使LAN内的设备时间同步,精度达到毫秒级,WAN上的设备时间同步,精度达到百毫秒级。NTP时间分布树的分层特性使用户能通过一个等级(层级)选择需要的精度。一台时间服务器,放置在树的高端(低层级),提供了高精度的UTC标准时间。
主机可作为时间服务器,他们提供了他们认为是正确的时间到其他主机。主机也可作为客户端,向服务器请求时间同步。主机也可既充当客户端又当服务器,因为这些主机是在一个链路上,正确的时间从一个主机转发到另一个主机上。作为这个链路的一部分,首先一台主机作为一个客户端从另一台作为时间服务器的主机获取正确的时间。然后作为其他主机同步时间的时间服务器。
无
配置NTP客户端之前请确认NTP服务器已开启NTP服务:
NTP
步骤1 进入配置模式
Switch#configure terminal
步骤2 进入vlan配置模式,并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# exit
步骤3 进入接口配置模式,并打开接口,加入vlan
Switch(config)# interface eth-0-26
Switch(config-if)# switch access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤4 创建三层接口并配置IP地址
Switch(config)# interface vlan10
Switch(config-if)# ip address 6.6.6.5/24
Switch(config-if)# exit
步骤5 配置NTP客户端属性
使能trustedkey;配置NTP服务器的IP地址;使能authentication;一旦使能authentication,客户端交换机仅发送time-of-day请求到信任NTP服务器;配置ntp ace。
Switch(config)# ntp key 1 serverkey
Switch(config)# ntp server 6.6.6.6 key 1
Switch(config)# ntp authentication enable
Switch(config)# ntp trustedkey 1
Switch(config)# ntp ace 6.6.6.6 none
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch# show ntp
Current NTP configuration:
============================================================
NTP access control list:
6.6.6.6 mask 255.255.255.255 none
Unicast peer:
Unicast server:
6.6.6.6 key 1
Authentication: enabled
Local reference clock:
Disable management interface
Switch# show ntp status
Current NTP status:
============================================================
clock is synchronized
stratum: 7
reference clock: 6.6.6.6
frequency: 17.365 ppm
precision: 2**20
reference time: d14797dd.70b196a2 ( 1:54:37.440 UTC Thu Apr 7 2011)
root delay: 0.787 ms
root dispersion: 23.993 ms
peer dispersion: 57.717 ms
clock offset: -0.231 ms
stability: 6.222 ppm
Switch# show ntp associations
Current NTP associations:
remote refid st when poll reach delay offset disp
============================================================================
*6.6.6.6 127.127.1.0 6 50 128 37 0.778 -0.234 71.945
synchronized, + candidate, # selected, x falsetick, . excess, - outlier
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能ntp带外口连接
Switch(config)# ntp mgmt-if only
说明1:使能带内带外口同时使用
Switch(config)# ntp mgmt-if enable
说明2:去使能带外口,只使用带内口
Switch(config)# no ntp mgmt-if
步骤3 配置NTP客户端属性
Switch(config)# ntp key 1 serverkey
Switch(config)# ntp server 192.168.100.101 key 1
Switch(config)# ntp authentication enable
Switch(config)# ntp trustedkey 1
Switch(config)# ntp ace 192.168.100.101 none
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch# show ntp
Current NTP configuration:
============================================================
NTP access control list:
192.168.100.101 mask 255.255.255.255 none
Unicast peer:
Unicast server:
192.168.100.101 key 1
Authentication: enabled
Local reference clock:
Only management interface
Switch# show ntp associations
Current NTP associations:
remote refid st when poll reach delay offset disp
==============================================================================
*192.168.100.101 127.127.1.0 3 27 64 1 1.328 2.033 433.075
* sys.peer, + candidate, # selected, x falsetick, . excess, - outlyer
步骤1 显示接口eth1的IP地址
[root@localhost octeon]# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:08:C7:89:4B:AA
inet addr:6.6.6.6 Bcast:6.6.6.255 Mask:255.255.255.0
inet6 addr: fe80::208:c7ff:fe89:4baa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3453 errors:1 dropped:0 overruns:0 frame:1
TX packets:3459 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:368070 (359.4 KiB) TX bytes:318042 (310.5 KiB)
步骤2 通过ping检查网络连接
[root@localhost octeon]# ping 6.6.6.5
PING 6.6.6.5 (6.6.6.5) 56(84) bytes of data.
64 bytes from 6.6.6.5: icmp_seq=0 ttl=64 time=0.951 ms
64 bytes from 6.6.6.5: icmp_seq=1 ttl=64 time=0.811 ms
64 bytes from 6.6.6.5: icmp_seq=2 ttl=64 time=0.790 ms
步骤3 配置ntp.conf
[root@localhost octeon]# vi /etc/ntp.conf
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 5
#
# Drift file. Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
#
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
broadcast 6.6.6.255
#
# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
# systems might be able to reset your clock at will. Note also that
# ntpd is started with a -A flag, disabling authentication, that
# will have to be removed as well.
#
#disable auth
keys /etc/ntp/keys
trustedkey 1
步骤 4 配置keys
[root@localhost octeon]# vi /etc/ntp/keys
#
# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
# systems might be able to reset your clock at will. Note also that
# ntpd is started with a -A flag, disabling authentication, that
# will have to be removed as well.
#
1 M serverkey
步骤 5 启动ntpd服务器
[root@localhost octeon]# ntpd
Phy loopback是一个私有的模块,实现物理层的环回功能。它包含两个级别的环回:一种是通过phy硬件实现环回(包括internal和external两种模式),另一种是port级别的环回,通过芯片实现。
Phy loopback只能配置在物理口上:
•如果配置为external phy模式,所有进入此端口的报文被环回回去。
•如果配置为internal phy模式,所有期望从此端口出去的报文被环回到另外一个指定的端口。
•如果配置为port loopback模式,所有进入此端口的报文被环回回去,此模式还可以指定是否进行源、目的MAC的交换,如果交换MAC,芯片会重新计算CRC校验和。
无
external phy topology
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,并配置为external phy环回模式
Switch (config)# interface eth-0-1
Switch (config-if)# no shutdown
Switch (config-if)# loopback phy external
步骤3 退出配置模式
Switch (config-if)# end
步骤4 检查配置
Switch# show phy loopback
Interface Type DestIntf SwapMac
--------------------------------------------
eth-0-1 external - -
--------------------------------------------
Internal phy topology
步骤1 进入配置模式
Switch # configure terminal
步骤2 进入接口配置模式,配置为internal phy环回模式, 并指定为目的端口
Switch (config)# interface eth-0-2
Switch (config-if)# no shutdown
Switch (config-if)# exit
Switch (config)# interface eth-0-1
Switch (config-if)# no shutdown
Switch (config-if)# loopback phy internal eth-0-2
步骤3 退出配置模式
Switch (config-if)# end
步骤4 检查配置
Switch# show phy loopback
Interface Type DestIntf SwapMac
--------------------------------------------
eth-0-1 internal eth-0-2 -
--------------------------------------------
Port level topology
步骤1 进入配置模式
Switch # configure terminal
步骤2 进入接口配置模式,配置为port level环回模式,并且指定进行源、目的MAC交换
Switch (config)# interface eth-0-1
Switch (config-if)# no shutdown
Switch (config-if)# loopback port mac-address swap
步骤3 退出配置模式
Switch (config-if)# end
步骤4 检查配置
Switch# show phy loopback
Interface Type DestIntf SwapMac
--------------------------------------------
eth-0-1 port - yes
--------------------------------------------
无
L2 ping是一个用于检测交换机间的连通性的工具。Window、Linux上的IP ping是通过ICMP协议实现,工作在3层网络上的,而L2 ping工作在二层网络。
当系统发出L2 Ping请求时,以ether type 0x9009为标志的协议报文将进入二层网络,当通过二层网络到达对端指定目的端口时,如果该端口上使能了l2 ping response,对端系统就会回复l2 ping请求。
无
ping a switch port
以下配置无特殊说明的部分,Switch1和Switch2相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式并打开接口
Switch (config)# interface eth-0-1
Switch (config-if)# no shutdown
步骤3 使能l2 ping 回复功能
在Switch2配置:
Switch (config-if)# l2 ping response enable
步骤4 退出配置模式
Switch (config-if)# end
步骤5 使用 L2 Ping
在Switch1执行:
Switch1# l2 ping 001e.0808.58f1 interface eth-0-1 count 10 interval 1000 timeout 2000
Sending 10 L2 ping message(s):
64 bytes from 001e.0808.58f1: sequence = 0, time = 10ms
64 bytes from 001e.0808.58f1: sequence = 1, time = 15ms
64 bytes from 001e.0808.58f1: sequence = 2, time = 13ms
64 bytes from 001e.0808.58f1: sequence = 3, time = 12ms
64 bytes from 001e.0808.58f1: sequence = 4, time = 20ms
64 bytes from 001e.0808.58f1: sequence = 5, time = 21ms
64 bytes from 001e.0808.58f1: sequence = 6, time = 12ms
64 bytes from 001e.0808.58f1: sequence = 7, time = 16ms
64 bytes from 001e.0808.58f1: sequence = 8, time = 14ms
64 bytes from 001e.0808.58f1: sequence = 9, time = 17ms
L2 ping completed.
-----------------------------------
10 packet(s) transmitted, 10 received, 0 % packet loss
001e.0808.58f1是对端接口地址。用户可以指定ping的次数、间隔、以及超时时间。
无
RMON是一个Internet工程任务组(IETF)标准的监测规范,允许不同的网络代理和控制台系统交换网的监测数据。用户可以结合RMON和交换机中的简单网络管理协议(SNMP)代理来监控网络中流经交换机的数据流量。 RMON是一种标准的监测规范,它定义了一套统计与RMON兼容的控制台系统或网络探头一起提供全面的网络故障诊断,规划和性能优化的信息。
无
rmon
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式并创建一条统计和一条历史记录
Switch(config)# interface eth-0-1
Switch(config-if)# rmon collection stats 1 owner test
Switch(config-if)# rmon collection history 1 buckets 100 interval 1000 owner test
Switch(config-if)# exit
步骤3 创建一条事件,并指定触发事件后行为是发送log和trap
Switch(config)# rmon event 1 log trap public description test_event owner test
步骤4 创建一条警告,关注ETHERSTATSBROADCASTPKTS这个值,每1000秒统计一次,如果超过1000或者低于1都会触发事件1
Switch(config)# rmon alarm 1 etherStatsEntry.6.1 interval 1000 delta rising-threshold 1000 event 1 falling-threshold 1 event 1 owner test
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch# show rmon statistics
Rmon collection index 1
Statistics ifindex = 1, Owner: test
Input packets 0, octets 0, dropped 0
Broadcast packets 0, multicast packets 0, CRC alignment errors 0, collisions 0
Undersized packets 0, oversized packets 0, fragments 0, jabbers 0
# of packets received of length (in octets):
64: 0, 65-127: 0, 128-255: 0
256-511: 0, 512-1023: 0, 1024-max: 0
Switch# show rmon history
History index = 1
Data source ifindex = 1
Buckets requested = 100
Buckets granted = 100
Interval = 1000
Owner: test
Switch# show rmon event
Event Index = 1
Description: test_event
Event type Log & Trap
Event community name: public
Last Time Sent = 00:00:00
Owner: test
Switch# show rmon alarm
Alarm Index = 1
Alarm status = VALID
Alarm Interval = 1000
Alarm Type is Delta
Alarm Value = 00
Alarm Rising Threshold = 1000
Alarm Rising Event = 1
Alarm Falling Threshold = 1
Alarm Falling Event = 1
Alarm Owner is test
无
SNMP是管理进程(NMS)和代理进程(Agent)之间的通信协议。它规定了在网络环境中对设备进行监视和管理的标准化管理框架、通信的公共语言、相应的安全和访问控制机制。网络管理员使用SNMP功能可以查询设备信息、修改设备的参数值、监控设备状态、自动发现网络故障、生成报告等。 SNMP具有以下技术优点:
•基于TCP/IP互联网的标准协议,传输层协议一般采用UDP。
•自动化网络管理。网络管理员可以利用SNMP 平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。
•屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP 只提供最基本的功能集,使得管理任务与被管设备的物理特性和实际网络类型相对独立,从而实现对不同厂商设备的管理。
•简单的请求—应答方式和主动通告方式相结合,并有超时和重传机制。
•报文种类少,报文格式简单,方便解析,易于实现。
•SNMPv3 版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性。
SNMP基于以下RFC:
•SNMPv1:在RFC1157中定义
•SNMPv2C:在RFC1901中定义
•SNMPv3:在RFC2273至2275中定义
以下简单描述了SNMP协议的条目和概念:
•Agent:Agent是网络设备中的一个应用模块,用于维护被管理设备的信息数据并响应NMS的请求,把管理数据汇报给发送请求的NMS。Agent接收到NMS的请求信息后,完成查询或修改操作,并把操作结果发送给NMS,完成响应。同时,当设备发生故障或者其他事件的时候,Agent会主动发送Trap信息给NMS,通知设备当前的状态变化。
•Management Information Base (MIB):任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB是被管理对象的集合。它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。每个Agent都有自己的MIB。MIB也可以看作是NMS和Agent之间的一个接口,通过这个接口,NMS可以对Agent中的每一个被管理对象进行读/写操作,从而达到管理和监控设备的目的。
•Engine ID:一个网络节点的唯一ID
•Trap:Trap是Agent主动向NMS 发送的信息,用于报告一些紧急的重要事件(如被管理设备重新启动等)。Trap 报文有两种:通用Trap 和企业自定义Trap。设备支持的通用Trap 包括authentication、coldstart、linkdown、linkup 和warmstart 五种,其它均为企业自定义Trap。企业自定义Trap由模块生成。因为Trap 信息通常较多,会占用设备内存,从而影响设备性能,所以建议用户根据需要开启指定模块的Trap 功能,生成相应的Trap 报文。
snmp
如图所示,SNMP代理从MIB收集数据。SNMP代理可以发送trap或通报特定事件给接收和处理trap的管理员。 Trap用于向管理员通报一些异常信息,如用户认证异常,设备重启,链路状态变化(端口打开或关闭),MAC地址追踪等等。 SNMP也能响应管理员发出的MIB相关的请求,例如get、get-next、set等。
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能snmp
Switch(config)# snmp-server enable
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show running-config
snmp-server enable
您可以使用SNMP团体字符串来定义的SNMP管理者和代理之间的关系。团体字符串的行为就像一个密码,以允许访问代理交换机。您可以指定一个或多个团体字符。
•一个MIB视图,它定义了所有给定团体可访问的MIB对象子集。
•设置访问的MIB对象的读、写权限。
在特权EXEC模式,开始按照下列步骤来配置交换机上的一个团体字符串,以下步骤配置完成后,就可以实现SNMP的基本读写功能。
步骤1 进入配置模式
Switch# configure terminal
步骤2 团体字符串
配置一个视图名字 “DUT”(可选)。 配置团体名字 “public” 读写权限,可访问的视图为 “DUT”.括号内为可选字段。
Switch(config)# snmp-server view DUT included 1
Switch(config)# snmp-server community public read-write (view DUT)
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show running-config
snmp-server enable
snmp-server view DUT included .1
snmp-server community public read-only view DUT
你可以为SNMP服务器指定一个 (engine ID),创建一个SNMP组,在SNMP组中加入用户、设置权限。
在特权EXEC模式,开始按照下列步骤操作,在交换机上配置SNMP。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置snmp全局属性
配置engineID; 配置用户名和密码以及验证类型; 创建SNMP组; 设置组内成员的权限。
Switch(config)# snmp-server engineID 8000123456
Switch(config)# snmp-server usm-user usr1 authentication md5 mypassword privacy des yourpassword
Switch(config)# snmp-server group grp1 user usr1 security-model usm
Switch(config)# snmp-server access grp1 security-model usm noauth
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show running-config
snmp-server engineID 8000123456
snmp-server usm-user usr1 authentication md5 mypassword privacy des yourpassword
snmp-server group grp1 user usr1 security-model usm
snmp-server access grp1 security-model usm noauth
在特权EXEC模式,开始在交换机上配置的SNMP按照下列步骤操作。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置snmp全局属性
开启所有Trap; 配置目的IPv4地址以及团体名Public; 配置目的IPv6地址以及团体名Public。
Switch(config)# snmp-server trap enable all
Switch(config)# snmp-server trap target-address 10.0.0.2 community public
Switch(config)# snmp-server trap target-address 2001:1000::1 community public
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show running-config
snmp-server trap target-address 10.0.0.2 community public
snmp-server trap target-address 2001:1000::1 community public
snmp-server trap enable vrrp
snmp-server trap enable igmp snooping
snmp-server trap enable ospf
snmp-server trap enable pim
snmp-server trap enable stp
snmp-server trap enable system
snmp-server trap enable coldstart
snmp-server trap enable warmstart
snmp-server trap enable linkdown
snmp-server trap enable linkup
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置snmp全局属性
开启所有Trap; 创建一个Trap消息条目; 配置目的IPv4地址以及notification类型; 配置目的IPv6地址以及notification类型; 配置用户的地址参数。
Switch(config)# snmp-server trap enable all
Switch(config)# snmp-server notify notif1 tag tmptag trap
Switch(config)# snmp-server target-address targ1 param parm1 10.0.0.2 taglist tmptag
Switch(config)# snmp-server target-address t1 param p1 2001:1000::1 taglist tag1
Switch(config)# snmp-server target-params parm1 user usr1 security-model v3 message-processing v3 noauth
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show running-config
snmp-server notify notif1 tag tmptag trap
snmp-server target-address t1 param p1 2001:1000::1 taglist tag1
snmp-server target-address targ1 param parm1 10.0.0.2 taglist tmptag
snmp-server target-params parm1 user usr1 security-model v3 message-processing v3 noauth
snmp-server trap enable vrrp
snmp-server trap enable igmp snooping
snmp-server trap enable ospf
snmp-server trap enable pim
snmp-server trap enable stp
snmp-server trap enable system
snmp-server trap enable coldstart
snmp-server trap enable warmstart
snmp-server trap enable linkdown
snmp-server trap enable linkup
无
Sflow 即Sampled Flow,是一种监视进入设备流量的技术。它在监视设备上应用,通过一种采样机制以一定速率采样,然后将采样信息送到监视server。在server端可以查看多个agent的流量情况。 Sflow有两种类型的采样信息:一种是端口的统计信息,一种是被采样报文的头部。
sflow的一些默认配置如下:
参数 |
默认值 |
Global sflow |
disabled |
sflow on port |
disable |
Collector udp port |
6343 |
counter interval time |
20 seconds |
无
sflow
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能sflow
Switch(config)# sflow enable
步骤3 设置sflow全局属性
配置本地直连监视器端口的agent IP地址和监视器的地址和UDP端口号,UDP端口号可以不配,表示用默认端口6343。
Switch(config)# sflow agent ip 3.3.3.1
Switch(config)# sflow collector 3.3.3.2 6342
IPv6的Agent地址和监视器地址配置:
Switch(config)# sflow agent ipv6 2001:2000::2
Switch(config)# sflow collector 2001:2000::1
sflow功能正常工作,agent和监视器都至少需要配置一个。不关心具体是IPv4或IPv6的。
修改端口的统计信息每15秒(默认20)发送一次(可选):
Switch(config)# sflow counter interval 15
步骤4 进入接口配置模式并配置接口属性
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 15.1.1.1/24
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)#no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 16.1.1.1/24
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 3.3.3.1/24
Switch(config-if)# exit
步骤5 在eth-0-1入方向使能sflow
Switch(config)# interface eth-0-1
Switch(config-if)# sflow flow-sampling rate 8192
Switch(config-if)# sflow flow-sampling enable input
Switch(config-if)# sflow counter-sampling enable
Switch(config-if)# exit
步骤6 检查配置
用如下命令查看sflow配置:
Switch# show sflow
sFlow Version: 5
sFlow Global Information:
Agent IPv4 address : 3.3.3.1
Agent IPv6 address : 2001:1000::2
Counter Sampling Interval : 15 seconds
Collector 1:
IPv4 Address: 3.3.3.2
vrf: N/A
Port: 6342
Collector 2:
IPv6 Address: 2001:1000::1
vrf: N/A
Port: 6343
sFlow Port Information:
Flow-Sample Flow-Sample
Port Counter Flow Direction Rate
--------------------------------------------------------
eth-0-1 Enable Enable Input 8192
无
链路层发现协议LLDP(Link Layer Discovery Protocol)是IEEE 802.1ab 中定义的第二层发现协议。第二层发现(Layer 2 Discovery)可以准确定位设备附带的接口及其连接的信息,包括端口的VLAN属性和支持的协议类型等,并显示出了客户端、交换机、路由器和应用服务器以及网络服务器之间的路径。这些详细的信息对快速获取相连设备的拓扑状态、设备间的配置冲突、查询网络失败的根源将很有帮助。
无
lldp
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能lldp
Switch(config)# lldp enable
步骤3 进入接口配置模式,配置接口lldp属性
Switch(config)# interface eth-0-9
Switch(config)# no shutdown
Switch(config-if)# no lldp tlv 8021-org-specific vlan-name
Switch(config-if)# lldp tlv med location-id ecs-elin 1234567890
Switch(config-if)# lldp enable txrx
Switch(config-if)# exit
步骤4 配置定时器(可选)
配置LLDP 报文传输间隔为40秒; 配置LLDP报文传输延迟为3秒; 配置LLDP重新使能延迟为1秒。
Switch(config)# lldp timer msg-tx-interval 40
Switch(config)# lldp timer tx-delay 3
Switch(config)# lldp timer reinitDelay 1
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
用如下命令查看LLDP配置:
Switch# show lldp local config
LLDP global configuration:
============================================================
LLDP function global enabled : YES
LLDP msgTxHold : 4
LLDP msgTxInterval : 40
LLDP reinitDelay : 1
LLDP txDelay : 3
Switch# show lldp local config interface eth-0-9
LLDP configuration on interface eth-0-9 :
============================================================
LLDP admin status : TXRX
Basic optional TLV Enabled:
Port Description TLV
System Name TLV
System Description TLV
System Capabilities TLV
Management Address TLV
IEEE 802.1 TLV Enabled:
Port Vlan ID TLV
Port and Protocol Vlan ID TLV
Protocol Identity TLV
IEEE 802.3 TLV Enabled:
MAC/PHY Configuration/Status TLV
Power Via MDI TLV
Link Aggregation TLV
Maximum Frame Size TLV
LLDP-MED TLV Enabled:
Med Capabilities TLV
Network Policy TLV
Location Identification TLV
Extended Power-via-MDI TLV
Inventory TLV
Switch# show running-config
!
lldp enable
lldp timer msg-tx-interval 40
lldp timer reinit-delay 1
lldp timer tx-delay 3
!
interface eth-0-9
lldp enable txrx
no lldp tlv 8021-org-specific vlan-name
lldp tlv med location-id ecs-elin 1234567890
!
Switch# show lldp neighbor
Local Port eth-0-1 has 0 neighbor(s)
Local Port eth-0-2 has 0 neighbor(s)
…
Local Port eth-0-9 has 2 neighbor(s)
Remote LLDP Information of port eth-0-9
============================================================
Neighbor Index : 1
Chassis ID type: Mac address
Chassis ID : 48:16:be:a4:d7:09
Port ID type : Interface Name
Port ID : eth-0-9
TTL : 160
Expired time: 134
…
Location Identification :
ECS ELIN: 1234567890
无
网络中的流量可以视为由多条流(flow)组成的。基于某些应用场合,有关于这些流的信息是很有必要获取的。这里需要有一个统一的显示流信息的方式以及将流信息送往收集设备。这里介绍的就是IPFIX。
在IPFIX出现之前,有思科的私有方法NetFlow,IPFIX类似NetFlow,并且是基于NetFlow的版本9实现的。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置老化时间(可选)
设置老化时间未300秒。默认值 1800秒。
Switch(config)# ipfix global
Switch(Config-ipfix-global)# flow aging 300
步骤3 配置recorder
Switch(config)# ipfix recorder recorder1
Switch(Config-ipfix-reocrder)# match mac source address
Switch(Config-ipfix-reocrder)# match ipv4 source address mask 32
Switch(Config-ipfix-reocrder)# match ipv4 destination address mask 32
Switch(Config-ipfix-reocrder)# match vxlan-vni
Switch(Config-ipfix-reocrder)# collect counter bytes
Switch(Config-ipfix-reocrder)# collect counter packets
Switch(Config-ipfix-reocrder)# exit
步骤4 配置sampler
Switch(config)# ipfix sampler sampler1
Switch(Config-ipfix-sampler)# 1 out-of 100
Switch(Config-ipfix- sampler)# exit
步骤5 配置exporter
Switch(config)# ipfix exporter exporter1
Switch(Config-ipfix-exporter)# destination 10.10.10.1
Switch(Config-ipfix-exporter)# source interface eth-0-2
Switch(Config-ipfix-exporter)# flow data timeout 200
Switch(Config-ipfix-exporter)# event flow end timeout
Switch(Config-ipfix-exporter)# exit
步骤6 配置monitor
Switch(config)# ipfix monitor monitor1
Switch(Config-ipfix-monitor)# recorder recorder1
Switch(Config-ipfix-monitor)# exporter exporter1
Switch(Config-ipfix-monitor)# exit
步骤7 进入接口配置模式,并在接口上应用ipfix
Switch(config)# interface eth-0-1
Switch(config-if)# ipfix monitor input monitor1 sampler sampler1
Switch(config-if)# exit
步骤8 退出配置模式
Switch(config)# end
步骤9 检查配置
用如下命令查看IPFIX配置:
Switch# show ipfix global
IPFIX global informaition:
Current flow cache number : 0(ingress: 0, egress: 0)
Flow cache aging interval : 300 seconds
Flow cache export interval : 5 seconds
Flow cache memory usage threshold : 90%
Flow cache sampler mode : all flow
Flow cache packet wraparound threshold : 67108863
Flow cache byte wraparound threshold : 4294967295
Flow cache dropped packet wraparound threshold : 1023
Flow cache jitter threshold : 65535
Flow cache latency threshold : 16777215
Switch# show ipfix recorder recorder1
IPFIX recorder information:
Name : recorder1
Description :
Match info :
match Source Mac Address
match IPv4 Source Address
match IPv4 Destination Address
match Vxlanvni
Collect info :
collect Flow Byte Number
collect Flow Packet Number
Switch# show ipfix exporter exporter1
IPFIX exporter information:
Name : exporter1
Description :
Exporter Interface : eth-0-2
Domain ID : 0
Collector Name : 10.10.10.1
IPFIX message protocol : UDP
IPFIX message destination Port : 2055
IPFIX message TTL value : 255
IPFIX message DSCP value : 63
IPFIX data interval : 200
IPFIX template interval : 1800
IPFIX exporter events :
Flow aging event
Switch# show ipfix sampler sampler1
IPFIX sampler information:
Name : sampler1
Description :
Rate : 100
Switch# show ipfix monitor monitor1
IPFIX monitor information:
Name : monitor1
Description :
Recorder : recorder1
exporter : exporter1
flow mirror packet : 0
flow mirror destination : NA
无
精确时间协议是由电气与电子工程师协会1588工作组定义的,用于在亚微秒级时间同步场合下使用的协议。PTP通过主从时钟等级组建同步拓扑,并通过报文分发时间信息。PTP广泛用于需要精确时间信息的工业自动化系统以及控制网络,目前PTP也正在向运营商移动数字回传网络中部署。
参考 IEEE 1588-2008
缩略语 |
含义 |
GPS |
全球定位系统 |
NTP |
网络时间协议 |
PTP |
精确时间协议 |
UTC |
协调世界时 |
TAI |
国际原子时 |
功能 |
默认值 |
PTP功能 |
禁用 |
PTP设备类型 |
普通时钟 |
PTP优先级一与优先级二 |
128 |
PTP时戳模式 |
两步模式 |
PTP Announce周期 |
2秒 |
PTP Announce超时周期 |
8秒 |
PTP Delay_Req最小周期 |
1秒 |
PTP Pdelay_Req最小周期 |
1秒 |
PTP Sync周期 |
1秒 |
PTP时钟域
步骤1:配置Switch 1为普通时钟
配置Switch 1为普通时钟并且优先级一为0。Switch 1将有在这个时钟域中最高的优先级,也就是说,该时钟域中的主时钟。
全局启用PTP,设置优先级一为0。接口模式设置延时测量机制为点对点模式,在本接口启用PTP。
Switch# configure terminal
Switch(config)# ptp global-enable
Switch(config)# ptp priority1 0
Switch(config)# interface eth-0-9
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable
步骤2:配置Switch 2为边界时钟
设置设备类型为边界时钟,全局启用PTP。 接口模式设置延时测量机制为点对点模式,在接口启用PTP。
Switch# configure terminal
Switch(config)# ptp device-type bc
Switch(config)# ptp global-enable
Switch(config)# interface eth-0-9
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable
Switch(config)# interface eth-0-18
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable
步骤3:配置Switch 3为从时钟
全局启用PTP,并设置为从时钟。 接口模式,设置延时测量机制为点对点模式,在接口启用PTP。
Switch# configure terminal
Switch(config)# ptp global-enable
Switch(config)# ptp slave-only
Switch(config)# interface eth-0-18
Switch(config-if)# ptp delay-mechanism peer
Switch(config-if)# ptp enable
步骤4:验证配置
验证Switch 1全局PTP状态
Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 1
Domain : 0
Slave Only : false
Clock Type : ordinary clock
Priority1 : 0
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 248
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : (null)
Parent Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Parent Port Number : 0
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 0
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false
验证Switch 1接口PTP状态
Switch# show ptp interface eth-0-9
---------------------------------------------------------------
Interface : eth-0-9
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 60:4D:39:FF:FE:FF:C5:00@9
Delay Mechanism : peer
Step Mode : two
Port State : master
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 5 Sync : 0
Delay_Req : 0 Pdelay_Req : 5248
Delay_Resp : 0 Pdelay_Resp : 5249
Follow_Up : 0 Pdelay_Resp_Follow_Up : 5249
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 5345 Sync : 10609
Delay_Req : 0 Pdelay_Req : 10617
Delay_Resp : 0 Pdelay_Resp : 5248
Follow_Up : 10607 Pdelay_Resp_Follow_Up : 5248
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 9
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 0
Follow_Up : 9 Pdelay_Resp_Follow_Up : 0
Unknown : 0
验证Switch 2全局PTP状态
Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 2
Domain : 0
Slave Only : false
Clock Type : boundary clock
Priority1 : 128
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 248
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : 5E:C4:DC:FF:FE:AE:78:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : eth-0-9
Parent Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Parent Port Number : 9
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 1
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false
验证Switch 2外部PTP主时钟信息
Switch# show ptp foreign-master
Foreign_master_port_identity Qualification Interface
---------------------------------------------------------------
*60:4D:39:FF:FE:FF:C5:00@9 true eth-0-9
验证Switch 2接口PTP状态
Switch# show ptp interface eth-0-9
---------------------------------------------------------------
Interface : eth-0-9
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@9
Delay Mechanism : peer
Step Mode : two
Port State : slave
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 2944 Sync : 5837
Delay_Req : 0 Pdelay_Req : 5876
Delay_Resp : 0 Pdelay_Resp : 5876
Follow_Up : 5837 Pdelay_Resp_Follow_Up : 5875
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 15 Sync : 30
Delay_Req : 0 Pdelay_Req : 5876
Delay_Resp : 0 Pdelay_Resp : 5876
Follow_Up : 27 Pdelay_Resp_Follow_Up : 5876
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 9
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 0
Follow_Up : 9 Pdelay_Resp_Follow_Up : 0
Unknown : 0
Switch# show ptp interface eth-0-18
---------------------------------------------------------------
Interface : eth-0-18
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@18
Delay Mechanism : peer
Step Mode : two
Port State : master
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 5680
Delay_Resp : 0 Pdelay_Resp : 5680
Follow_Up : 0 Pdelay_Resp_Follow_Up : 5680
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce :2950 Sync : 5860
Delay_Req : 0 Pdelay_Req : 5868
Delay_Resp : 0 Pdelay_Resp : 5680
Follow_Up : 5858 Pdelay_Resp_Follow_Up : 5680
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 0
Follow_Up : 0 Pdelay_Resp_Follow_Up : 0
Unknown : 0
验证Switch 3全局PTP状态
Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 1
Domain : 0
Slave Only : true
Clock Type : ordinary clock
Priority1 : 128
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 255
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : A0:D2:25:FF:FE:B1:F8:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : eth-0-18
Parent Clock Identity : 5E:C4:DC:FF:FE:AE:78:00
Parent Port Number : 18
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 2
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false
验证Switch 3外部PTP主时钟信息
Switch# show ptp foreign-master
Foreign_master_port_identity Qualification Interface
---------------------------------------------------------------
*5E:C4:DC:FF:FE:AE:78:00@18 true eth-0-18
验证Switch 3接口PTP状态
Switch# show ptp interface eth-0-18
---------------------------------------------------------------
Interface : eth-0-18
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : A0:D2:25:FF:FE:B1:F8:00@18
Delay Mechanism : peer
Step Mode : two
Port State : slave
Announce Interval : 1
Sync Interval : 0
Announce Receipt Timeout : 4
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 3472 Sync : 6884
Delay_Req : 0 Pdelay_Req : 6919
Delay_Resp : 0 Pdelay_Resp : 6917
Follow_Up : 6884 Pdelay_Resp_Follow_Up : 6917
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 6920
Delay_Resp : 0 Pdelay_Resp : 6919
Follow_Up : 0 Pdelay_Resp_Follow_Up : 6919
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 11
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 3
Follow_Up : 11 Pdelay_Resp_Follow_Up : 3
Unknown : 0
步骤1:将Switch 2从边界时钟修改为透传时钟
设置Switch 2为点到点透传时钟,全局启用PTP。 接口模式启用PTP。
Switch# configure terminal
Switch(config)# ptp device-type p2ptc
Switch(config)# ptp global-enable
Switch(config)# interface range eth-0-9 , 18
Switch(config-if)# ptp enable
步骤2:验证配置
验证Switch 2全局PTP状态
Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 2
Primary Domain : 0
Clock Type : peer-to-peer transparent clock
Local Clock ID : 5E:C4:DC:FF:FE:AE:78:00
验证Switch 2接口PTP状态
Switch# show ptp interface eth-0-9
---------------------------------------------------------------
Interface : eth-0-9
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@9
Delay Mechanism : peer
Step Mode : two
Port State : normal
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 6545 Sync : 12985
Delay_Req : 0 Pdelay_Req : 13024
Delay_Resp : 0 Pdelay_Resp : 13016
Follow_Up : 12985 Pdelay_Resp_Follow_Up : 13016
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 15 Sync : 30
Delay_Req : 0 Pdelay_Req : 13021
Delay_Resp : 0 Pdelay_Resp : 13024
Follow_Up : 27 Pdelay_Resp_Follow_Up : 13024
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 9
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 5
Follow_Up : 9 Pdelay_Resp_Follow_Up : 5
Unknown : 0
Switch# show ptp interface eth-0-18
---------------------------------------------------------------
Interface : eth-0-18
----------------------- Port Configure -----------------------
PTP state : enable
Port ID : 5E:C4:DC:FF:FE:AE:78:00@18
Delay Mechanism : peer
Step Mode : two
Port State : normal
PDelay_Req Interval : 0
Peer Mean Path Delay : 0
----------------------- Port Statistic -----------------------
Recv Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 13026
Delay_Resp : 0 Pdelay_Resp : 13019
Follow_Up : 0 Pdelay_Resp_Follow_Up : 13019
Unknown : 0
Send Packet Statistics
---------------------------------------------------------------
Announce : 6651 Sync : 13208
Delay_Req : 0 Pdelay_Req : 13212
Delay_Resp : 0 Pdelay_Resp : 13026
Follow_Up : 13208 Pdelay_Resp_Follow_Up : 13026
Unknown : 0
Discard Packet Statistics
---------------------------------------------------------------
Announce : 0 Sync : 0
Delay_Req : 0 Pdelay_Req : 0
Delay_Resp : 0 Pdelay_Resp : 6
Follow_Up : 0 Pdelay_Resp_Follow_Up : 6
Unknown : 0
验证Switch 3全局PTP状态
Switch# show ptp
---------------------- Global Configure ----------------------
PTP State : enable
Port Number : 1
Domain : 0
Slave Only : true
Clock Type : ordinary clock
Priority1 : 128
Priority2 : 128
Clock Accuracy : 0xfe
Clock Class : 255
Time Source : internal-oscillator(160)
UTC Offset : 34
Leap59 : false
Leap61 : false
Local Clock Identity : A0:D2:25:FF:FE:B1:F8:00
Set systime via PTP: : false
----------------------- BMC Properties -----------------------
Receive Member : eth-0-18
Parent Clock Identity : 60:4D:39:FF:FE:FF:C5:00
Parent Port Number : 9
Mean Path Delay : 0
Offset From Master : 0
Step Removed : 1
GM Clock Identity : 60:4D:39:FF:FE:FF:C5:00
GM Priority1 : 0
GM Priority2 : 128
GM Clock Accuracy : 0xfe
GM Clock Class : 248
GM Time Source : internal-oscillator(160)
GM UTC Offset : 34
GM UTC Offset Valid : false
GM Time Scale : PTP
GM Time Traceable : false
GM Leap59 : false
GM Leap61 : false
GM Frequency Traceable : false
验证Switch 3外部PTP主时钟信息
Switch# show ptp foreign-master
Foreign_master_port_identity Qualification Interface
---------------------------------------------------------------
*60:4D:39:FF:FE:FF:C5:00@9 true eth-0-18
QoS(Quality of Service,服务质量)是各种存在服务供需关系的场合中普遍存在的概念,它评估服务方满足客户服务需求的能力。评估通常不是精确的评分,而是注重分析在什么条件下服务是好的,在什么情况下还存在着不足,以便有针对性地作出改进。在因特网中,QoS 所评估的就是网络投递分组的服务能力。由于网络提供的服务是多样的,因此对QoS 的评估可以基于不同方面。通常所说的QoS,是对分组投递过程中为延迟、延迟抖动、丢包率等核心需求提供支持的服务能力的评估。QoS是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS,比如Web应用,或E-mail设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,QoS 能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。
以下是用来形容QoS的术语和概念的简要描述:
访问控制列表(ACLs)
具有相同特征的流量进行分类。IP ACL用来分类IP流量,MAC ACL用来分类除了IPV6和MPLS以外的所有流量。
服务种类(CoS)
在网络的第2层中确定报文优先级的字段。QoS可以通过设置不同的CoS值来区分不同优先级的流量。802.1Q二层报文中可以携带2字节的VLAN标签,最高的3个比特用于用户指定的优先级。其它类型的报文不能携带VLAN标签。CoS有3个比特,其值的范围为0-7。
差分服务代码点(DSCP)
有6个比特位,用来区分三层网络中的报文的优先级。DSCP值范围是0-63。
IP-Precedence
有3个比特位,用来区分三层网络中报文的优先级。IP-Precedence范围是0-7。
EXP
有3个比特位,用来区分MPLS网络中的报文的优先级。MPLS EXP 值范围在0-7。
流分类(Traffic Classification)
指采用一定的规则识别出符合某类特征的报文。分类规则(classification rule)是用户根据管理需求配置的过滤规则。报文进入系统时,流分类处理引擎会为报文分配一个内部优先级,基于这个优先级,系统对报文进行一系列的处理。系统可以基于报文中的CoS、inner-CoS、DSCP、IP-Precedence,或者端口上的配置的默认CoS,或者依据policy-map配置映射出的内部优先级。
流量整形(Shaping)
是通过缓存报文来改变并调节入方向的流速率,从而使出方向的流速率表现地更加平滑的一种方法。当入方向的流量出现高突发的时候,就需要将报文缓存并在后面发送,从而使出方向的流更加平滑,因此shaping可能会增加报文的抖动。
流量整形可以应用在以下角色:
•物理接口(port shaping)
•出方向的队列(queue shaping)
当queue应用双速率的shaping时,需要保证该接口下所有queue的CIR之和不大于端口速率,并且不大于接口shaping的速率。
流量监管(Policing)
会对流量进行测速,从而决定报文是保证速率内还是保证速率外,保证速率外的流量可能会被丢弃。
系统支持两种类型的policer:
•配置在class-map中,用于对匹配某个class-map的流量限制带宽。
•配置一个聚合policer,用户可以将匹配class-map的流量加入这个policer中。聚合policer限制的是其中所有的流量的带宽。
标记(Marking)
定义了对超出保证速率的流量的处理行为。系统采用两种行为中的一种:给报文标记颜色,后面会继续处理;直接丢弃报文。
标记能够在进口和出口方向使用。
Queueing
每个出接口支持8个单播队列,1个组播队列以及1个镜像队列。队列优先级越高,越先被调度。队列长度的单位是buffer cell。Buffer Cell是报文的存储粒度单位,其大小为288字节,报文越大,占用的buffer cell越多。
Tail Drop
是一种简单的丢弃算法,即队列中报文达到一定阈值(可配置)时,后来的报文会被丢弃。默认情况下,端口上的丢弃算法就是Tail Drop。系统支持在每个端口上为每个queue每种丢弃优先级制定一个Tail Drop的阈值。
WRED(Weighted Random Early Detection)
WRED(Weighted Random Early Detection)可以提前以一定概率丢弃报文,达到避免拥塞的目的,通过提前丢弃报文,WRED模式可以避免短时间内丢弃大量报文,导致大量TCP连接同时触发慢启动和拥塞退避,网络带宽利用率瞬间降低的现象。系统支持在端口上为每个queue每种丢弃优先级制定两个阈值。这两个阈值前者小于后者。当队列中报文达到前者时报文开始丢弃,队列中报文越多,丢弃概率越大。当队列中报文大于后一阈值时,报文全部丢弃。
Scheduling
系统为每个队列分配一个优先级(class),范围是0到7,数字越高表示优先级越高。Basic 模式下端口上的8个队列的优先级是可配置的。
QoS启用,basic模式下队列0到7对应的优先级为:0/1/2/3/4/5/6/7;enterprise 模式下队列0到7对应的优先级为:3/3/4/4/4/4/5/7;enterprise advance模式下队列0到11对应的优先级为:3/3/4/4/4/4/5/7/0/1/2/3。QoS禁用,所有队列的优先级均为0。
一个端口上,不同的优先级之间使用的SP调度,即高优先级队列先被调度,当高优先级队列为空时才会调度低优先级队列。相同的优先级内的队列采用WDRR调度。用户可以为各个队列设置权重。
QoS启用,basic模式下队列0到7对应的WDRR权重为:1::1:1:1:1:1:1:1;enterprise 模式下队列0到7对应的WDRR权重为:1:1:4:10:10:10:1:1;enterprise advance模式下队列0到11对应的WDRR权重为:1:1:4:10:10:10:1:1:1:1:1:1
Class Map
通过指定一些ACL定义一组流。这些ACL可以是match-all或match-any的,分别表示流量要同时匹配所有的ACL或匹配任意的ACL。
Policy Map
用来指定不同种类流量的具体行为,可实现如下需求:
•将流按照指定的优先级和颜色区分出来
•为相应的优先级和颜色设置指定的信任策略
•为满足某个信任策略的流按照预先的配置做流量监管
•为指定的流做重定向
•为指定的流做镜像
•为指定的流做统计
Policy Map有如下属性:
•一个Policy Map可以包含多个流分类定义,并给出单独的行为
•每一个流分类定义可以匹配接口上的每一种流量
•每一个端口的每一个方向只能应用一个Policy Map。相同的Policy Map可以在不同端口的不同方向上应用。
•如果要使得Policy Map生效,其必须被附加到一个端口上。
•一个Policy Map可以应用于物理接口(非聚合端口成员),聚合端口以及VLAN接口。
Mapping Tables
在QoS处理中,交换机将所有流量都映射到内部优先级处理。
•在流分类时,QoS使用可配置的映射表进行报文映射,内部优先级共6个比特,是从CoS、EXP、DSCP、IP-Precedence的值映射而来,这些映射表包含了CoS-Priority-Color/CoS-PHB表、EXP-Priority-Color/EXP-PHB表、DSCP-Priority-Color/DSCP-PHB表和IP-Precedence-Priority-Color/IP-Precedence-PHB。
•在流量监管时,QoS给报文分配一个新的优先级和颜色,比如依据Class-Map。
•当流量结束调度阶段后,如果替换CoS或者DSCP被置起来,那么QoS使用Priority-Color-Cos/PHB-CoS或者Priority-Color-DSCP/PHB-DSCP根据内部的优先级和颜色重新映射到CoS或者DSCP
•每一个QoS域的上述行为都是不同的
Time-range
通过使用Time-Range,Class-Map的行为可以按照每周的特定时间来启用或者禁用。首先,定义Time-Range的名字并设置其在一周内的时间,然后将其应用到ACE。可以使用Time-Range来制定Class-Map中独立的一条ACE在每周的制定时间生效。
RTCM
单速率三色标记(Single Rate Three Color Marker)
TRTCM
双速率三色标记(Two Rate Three Color Marker)
CIR
承诺信息速率(Committed Information Rate)
CBS
承诺突发尺寸(Committed Burst Size)
EIR
超额信息速率(Excess Information Rate)
EBS
超额突发尺寸(Excess Burst Size)
PIR
峰值信息速率(Peak Information Rate)
PBS
峰值突发尺寸(Peak Burst Size)
模块化的QoS命令行
入口流量应用QoS策略进行分类。
class-map类QoS
用于定义一组流,定义的规则有CoS/DSCP/IP Precedence/EXP/ACL。
policy-map类QoS
用于划分流类型,相同类型的policy-map关联同一个class-map类QoS。
class-map类流优先级
用于定义流优先级,定义规则是流优先级。 policy-map类流优先级 用于划分QoS流量监管,相同类型的policy-map关联同一个class-map类流分类。
policy-map类流优先级
用于划分QoS流量监管,相同类型的policy-map关联同一个class-map类流分类。
配置QoS之前需知以下信息:
•QoS policing不能在LinkAGG上配置。
•只能在进口方向进行分类。
•Class map可以有多个ACL,一个ACL可以有多个条目。
•Policing不能在交换机的虚拟接口上使用。
在部署QoS流量策略时需要执行如下几个步骤。
•识别并区分流量到不同的类别。
•对不同的流量类别配置策略。
•在接口上应用策略。
IP流量可以使用IP ACL作流量分类。下面的例子说明了如何创建IP ACL来区分不同的流量并将其分类,在这个例子中,允许三类IP地址的主机访问,网络地址主机部分对应为通配符,如果一台主机的IP地址不在list的匹配范围,则该主机将被拒绝访问。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建ACL,并根据需要创建一或多个ACE
Switch(config)# ip access-list ip-acl
Switch(config-ip-acl)# permit any 128.88.12.0 0.0.0.255 any
Switch(config-ip-acl)# permit any 28.88.0.0 0.0.255.255 any
Switch(config-ip-acl)# permit any 11.0.0.0 0.255.255.255 any
Switch(config-ip-acl)# exit
在全局配置模式下用no ip access-list命令删除ACL,在ACL模式下用no sequence-num命令删除一条ACE。
名词解释:
•ACL:Access Control List
•ACE:Access Control Entry
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show access-list ip ip-acl
ip access-list ip-acl
10 permit any 128.88.12.0 0.0.0.255 any
20 permit any 28.88.0.0 0.0.255.255 any
30 permit any 11.0.0.0 0.255.255.255 any
下面的例子说明了如何将指定接口的IP流量按照分类表作流量分类。期间涉及到创建分类映射表以及匹配准则。在这个例子中使用IP access list创建一个名为cmap1的分类映射表,允许任意源主机到目的主机的流量传输。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建ACL,并根据需要创建一或多个ACE
Switch(config)# ip access-list ip-acl
Switch(config-ip-acl)# permit any any any
Switch(config-ip-acl)# quit
步骤3 创建分类映射表,并绑定ACL
Switch(config)# class-map cmap1
Switch (config-cmap)# match access-group ip-acl
Switch (config-cmap)# quit
•match-any表示映射表中的分类按照逻辑或的关系进行匹配,即分类映射表中至少匹配一条即可分类。默认是按照match-any方式进行流量分类的。
•match-all表示映射表中的分类按照逻辑与的关系进行匹配,即分类映射表中必须所有都匹配才可分类。
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch# show class-map cmap1
CLASS-MAP-NAME: cmap1 (match-any)
match access-group: ip-acl
下面的例子说明了如何创建策略表用于对流量进行分类,标记和限流。在这个例子中创建了一个策略表,并应用到一个端口的进口流量。配置的IP ACL允许来自10.1.00地址的流量,如果这些流量的平均速率超过48000-kbps,将被丢弃。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建ACL,并根据需要创建一或多个ACE
Switch(config)# ip access-list ip-acl
Switch(config-ip-acl)# permit any 10.1.0.0 0.0.255.255 any
Switch(config-ip-acl)# quit
步骤3 创建分类映射表,并绑定ACL
Switch(config)# class-map type qos cmap1
Switch(config-cmap)# match access-group ip-acl
Switch(config-cmap)# quit
步骤4 创建策略表,并绑定分类映射表;在绑定的分类映射表中配置策略
switch(config)# policy-map type qos pmap1
switch(config-pmap)# class type qos cmap1
Switch(config-pmap-c)# policer color-blind cir 48000 cbs 10000 ebs 16000 violate drop
Switch(config-pmap-qos-c)# set traffic-class 5
Switch(config-pmap-qos-c)# set color yellow
Switch(config-pmap-c)# quit
Switch(config-pmap)# quit
在全局配置模式下no policy-map命令可以删除已经存在的策略表;在策略表绑定分类表视图下,no policer命令可以移除一个已存在的policer,no set命令可将已经配置的优先级和颜色恢复默认值。(默认优先级0,颜色为green)
步骤5 进入接口配置模式,并应用策略表
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type qos input pmap1
Switch(config-if)# exit
接口每一个方向只允许配置一个策略映射表。no service-policy input|output命令在端口删除策略表配置。
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch# show policy-map pmap1
POLICY-MAP-NAME: pmap1 ( type qos)
State: detached
CLASS-MAP-NAME: cmap1
match access-group: ip-acl
set traffic-class : 5
set color : yellow
policer color-blind cir 48000 cbs 10000 ebs 16000 violate drop
下面的例子说明了如何创建聚合策略表用于对流量进行分类,标记和限流。在这个例子中创建了一条聚合策略,并运用于策略表中的多个表项。示例中,IP ACLs允许来自网络地址10.1.0.0和主机地址为11.3.1.1的流量,且配置了其平均速率。当流量平均速率超过48000-kbps且流量大小超过8000-byte,该流量将被丢弃。该策略表运用于端口的进方向。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建ACL,并根据需要创建一或多个ACE
Switch(config)# ip access-list ip-acl1
Switch(config-ip-acl)# permit any 10.1.0.0 0.0.255.255 any
Switch(config-ip-acl)# exit
Switch(config)# ip access-list ip-acl2
Switch(config-ip-acl)# permit any host 11.3.1.1 any
Switch(config-ip-acl)# exit
步骤3 指定聚合策略的各项参数
Switch(config)# qos aggregate-policer transmit1 color-blind cir 48000 cbs 8000 ebs 10000 violate drop
no qos aggregate-policer命令删除一条聚合策略。
步骤4 创建分类映射表,并绑定ACL
Switch(config)# class-map type qos cmap1
Switch(config-cmap)# match access-group ip-acl1
Switch(config-cmap)# exit
Switch(config)# class-map type qos cmap2
Switch(config-cmap)# match access-group ip-acl2
Switch(config-cmap)# exit
步骤5 创建策略表,并绑定分类映射表;在绑定的分类映射表中应用聚合策略
Switch(config)# policy-map type qos aggflow1
Switch(config-pmap)# class type qos cmap1
Switch(config-pmap-c)# aggregate-policer transmit1
Switch(config-pmap-c)# exit
Switch(config-pmap)# class type qos cmap2
Switch(config-pmap-c)# aggregate-policer transmit1
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
在策略表绑定分类映射表视图下,no policer-aggregate命令可以从策略表中删除一条聚合策略;
步骤6 进入接口配置模式,并应用策略表
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type qos input aggflow1
Switch(config-if)# exit
Switch(config)# exit
步骤7 退出配置模式
Switch(config)# end
步骤8 检查配置
Switch# show qos aggregate-policer
Aggreate policer: transmit1
color blind
CIR 48000 kbps, CBS 8000 bytes, EBS 10000 bytes
drop violate packets
在不同的CLASS之间,报文是按照SP(严格优先级)调度的;在同一个CLASS之间,报文是按照WDRR调度的。 下面的例子显示了将queue映射到不同的CLASS中间并且配置WDRR调度的权重。配置如下,编号为5和6的流的优先级是最高的值6,编号为2的流的优先级是2,带宽为link带宽的20%。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建分类模板,并配置优先级
Switch(config)# class-map type traffic-class tc5
Switch(config-cmap-tc)# match traffic-class 5
Switch(config-cmap-tc)# exit
Switch(config)# class-map type traffic-class tc6
Switch(config-cmap-tc)# match traffic-class 6
Switch(config-cmap-tc)# exit
Switch(config)# class-map type traffic-class tc2
Switch(config-cmap-tc)# match traffic-class 2
Switch(config-cmap-tc)# exit
步骤3 创建策略模板,并关联之前定义的分类模板; 在策略模板关联分类模板的模式下,配置优先级或带宽
Switch(config)# policy-map type traffic-class tc
Switch(config-pmap-tc)# class type traffic-class tc5
Switch(config-pmap-tc-c)# priority level 6
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# class type traffic-class tc6
Switch(config-pmap-tc-c)# priority level 6
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# class type traffic-class tc2
Switch(config-pmap-tc-c)# bandwidth percentage 20
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# exit
步骤4 进入接口配置模式,并应用策略模板
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type traffic-class tc
Switch(config-if)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch# show qos interface eth-0-1 egress
TC Priority Bandwidth Shaping(kbps) Drop-Mode Max-Queue-Limit(Cell) ECN
0 0 - - dynamic level 10 -
1 0 - - random-drop 596 Disable
2 0 20 - dynamic level 10 -
3 0 - - tail-drop 2000 2000
4 0 - - dynamic level 10 -
5 6 - - dynamic level 10 -
6 6 - - dynamic level 10 -
7 7 - - tail-drop 64 -
尾丢弃是默认的每个出口队列都启用的拥塞避免技术。在没有超过queue长度的时候,报文会在queue中缓存;超过queue长度时则丢弃queue尾部的报文。
下面例子说明了如何根据不同的丢弃优先级配置尾丢弃阈值。这个例子中对流优先级为3的报文尾丢弃阈值为2000。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建一个分类模板,并配置优先级
Switch(config)# class-map type traffic-class tc3
Switch(config-cmap-tc)# match traffic-class 3
Switch(config-cmap-tc)# exit
步骤3 创建一个策略模板,并关联之前定义的分类模板
Switch(config)# policy-map type traffic-class tc
Switch(config-pmap-tc)# class type traffic-class tc3
步骤4 在策略模板关联分类模板的模式下,设置该优先级的尾丢弃阈值
Switch(config-pmap-tc-c)# queue-limit 2000
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# exit
步骤5 进入接口配置模式,并应用策略模板
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type traffic-class tc
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch# show qos interface eth-0-1 egress
TC Priority Bandwidth Shaping(kbps) Drop-Mode Max-Queue-Limit(Cell) ECN
0 0 - - dynamic level 10 -
1 0 - - dynamic level 10 -
2 0 - - dynamic level 10 -
3 0 - - tail-drop 2000 2000
4 0 - - dynamic level 10 -
5 0 - - dynamic level 10 -
6 0 - - dynamic level 10 -
7 7 - - tail-drop 64 -
WRED通过选择性地丢弃部分报文,降低接口拥塞时发生尾丢弃的概率。通过早期选择性地丢弃部分报文而不是在queue真正满时才开始丢弃,WRED可以避免出现TCP同步丢包的问题,从而提高网络的吞吐量。
下面的例子所示的是对流优先级为1设定其WRED丢包上限。其最大丢包上限为596,最小丢包上限为596/8=71。如果缓冲区中的报文超过最小丢包上限,后续收到的报文将随机丢弃。这个例子说明了如何针对不同颜色的报文配置相应的WRED阈值。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建一个分类模板,并配置优先级
Switch(config)# class-map type traffic-class tc1
Switch(config-cmap-tc)# match traffic-class 1
Switch(config-cmap-tc)# exit
步骤3 创建一个策略模板,并关联之前定义的分类模板
Switch(config)# policy-map type traffic-class tc
Switch(config-pmap-tc)# class type traffic-class tc1
步骤4 在策略模板关联分类模板的模式下,配置对应的WRED丢包上限
Switch(config-pmap-tc-c)# random-detect maximum-threshold 596
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# exit
步骤5 进入接口配置模式,并应用策略模板
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type traffic-class tc
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch# show qos interface eth-0-1 egress
TC Priority Bandwidth Shaping(kbps) Drop-Mode Max-Queue-Limit(Cell) ECN
0 0 - - dynamic level 10 -
1 0 - - random-drop 596 Disable
2 0 - - dynamic level 10 -
3 0 - - tail-drop 2000 2000
4 0 - - dynamic level 10 -
5 0 - - dynamic level 10 -
6 0 - - dynamic level 10 -
7 7 - - tail-drop 64 -
流量在经过交换机出方向的队列的时候可以被整形,超过整形速率的流量会被缓存,但是如果缓存耗尽,则后续的报文会被丢弃直到缓存被释放。 下面的例子显示了如何在出方向队列上配置流量整形。在这个例子中,对队列3进行队列整形的配置;当队列3中流速率超过1000Mbps,将丢弃报文。
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建分类模板,并配置优先级
Switch(config)# class-map type traffic-class tc3
Switch(config-cmap-tc)# match traffic-class 3
Switch(config-cmap-tc)# exit
步骤3 创建策略模板,并关联之前定义的分类模板
Switch(config)# policy-map type traffic-class tc
Switch(config-pmap-tc)# class type traffic-class tc3
步骤4 在策略模板关联分类模板的模式下,设置流量整形
Switch(config-pmap-tc-c)# shape rate pir 1000000
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# exit
使用no shape rate命令可以删除队列整形配置
步骤5 进入接口配置模式,并应用策略模板
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type traffic-class tc
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch# show qos interface eth-0-1 egress
TC Priority Bandwidth Shaping(kbps) Drop-Mode Max-Queue-Limit(Cell) ECN
0 0 - - dynamic level 10 -
1 0 - - random-drop 596 Disable
2 0 20 - dynamic level 10 -
3 0 - 1000000 tail-drop 2000 2000
4 0 - - dynamic level 10 -
5 6 - - dynamic level 10 -
6 6 - - dynamic level 10 -
7 7 - - tail-drop 64 -
经过交换机物理接口的所有流量都可以设置保证速率,超过保证速率的流量都会被丢弃。下面的例子说明了如何配置端口Policer来实现保证速率。这个例子中端口收到的报文平均速率超过48000-kbps时将被丢弃。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置端口保证速率
Switch(config)# interface eth-0-1
Switch(config-if)# qos policer input color-blind cir 48000 cbs 10000 ebs 20000 violate drop
Switch(config-if)# exit
使用no port-policier input|output命令可以删除端口Policer配置。
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show qos interface eth-0-1 statistics policer port input
Interface: eth-0-1
input port policer:
color blind
CIR 48000 kbps, CBS 10000 bytes, EBS 20000 bytes
drop violate packets
经过交换机物理接口的所有流量都可以被整形,超过整形速率的流量会被缓存,但是如果缓存耗尽,则后续的报文会被丢弃直到缓存被释放。
下面的例子说明了如何配置基于物理接口的流量整形。在这个例子中当接收流的速率超过1000Mbps将被丢弃。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置端口流量整形的阈值
Switch(config)# interface eth-0-1
Switch(config-if)# qos shape rate pir 1000000
Switch(config-if)# exit
使用no shape命令可以删除该流量整形配置。
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show running-config interface eth-0-1
Building configuration...
!
interface eth-0-1
service-policy type traffic-class tc
qos policer input color-blind cir 48000 cbs 10000 ebs 20000 violate drop
qos shape rate pir 1000000
!
无
隧道技术是一种封装技术,它利用一种网络协议来传输另一种网络协议,即一种网络协议将其他网络协议的数据报文封装在自己的报文中,然后在网络中传输。封装后的数据报文在网络中传输的路径,称为隧道。隧道是一条虚拟的点对点连接,隧道的两端需要对数据报文进行封装及解封装。隧道技术就是指包括数据封装、传输和解封装在内的全过程。
IPv6 over IPv4 Tunnel
在IPv4 Internet向IPv6 Internet过渡的初期,IPv4网络已被大量部署,而IPv6网络只是散布在世界各地的一些孤岛。在IPv4网络上用于连接IPv6孤岛的隧道,称为IPv6 over IPv4隧道, 即IPv6报文被封装在IPv4报文中,实现IPv6报文的透明传输。为了实现IPv6 over IPv4隧道,需要在IPv4网络与IPv6网络交界的边界交换机上启动IPv4/IPv6双协议栈。
IPv6 over IPv4隧道对报文的处理过程如下:
•IPv6网络中的设备发送IPv6报文,该报文到达隧道的源端设备Switch1。
•Switch1根据路由表判定该报文要通过隧道进行转发后,在IPv6报文前封装上IPv4 的报文头,通过隧道的实际物理接口将报文转发出去。
•封装报文通过隧道到达隧道目的端设备 Switch2,Switch2 判断该封装报文的目的地是本设备后,将对报文进行解封装。
•Switch2根据解封装后的IPv6报文的目的地址转发该IPv6报文。如果目的地就是本设备,则将IPv6报文转给上层协议处理。
这种技术的优点是,不用把所有的设备都升级为双栈,只要求IPv4/IPv6网络的边缘设备实现双栈和隧道功能。除边缘节点外,其它节点不需要支持双协议栈。可以大大利用现有的IPv4网络投资。
根据隧道终点的 IPv4地址的获取方式不同,将隧道分为“配置隧道”和“自动隧道”:
•如果 IPv6 over IPv4隧道的终点地址不能从IPv6报文的目的地址中自动获取,需要进行手工配置,这样的隧道称为“配置隧道”。
•如果 IPv6 over IPv4隧道的终点地址采用内嵌IPv4地址的特殊IPv6地址形式,则可以从IPv6报文的目的地址中自动获取隧道终点的IPv4地址,这样的隧道称为“自动隧道”。
目前,常用的IPv6 over IPv4隧道模式有以下几种。
•IPv6 over IPv4 手动隧道
•6to4 隧道
•ISATAP 隧道
下面分别介绍一下上述三种隧道模式:
IPv6 over IPv4 手动隧道
IPv6手工配置隧道的源和目的地址是手工指定的,它提供了一个点到点的连接。IPv6手工配置隧道可以建立在两个边界路由器之间,为被IPv4网络分离的IPv6网络提供稳定的连接,或建立在终端系统与边界路由器之间,为终端系统访问IPv6网络提供连接。隧道的端点设备必须支持IPv6/IPv4双协议栈。其它设备只需实现单协议栈即可。
IPv6手工配置隧道要求在设备上手工配置隧道的源地址和目的地址,如果一个边界设备要与多个设备建立手工隧道,就需要在设备上配置多个隧道。所以手工隧道通常用于两个边界路由器之间,为两个IPv6网络提供连接。
6to4隧道
普通6to4隧道:
•6to4隧道是点到多点的自动隧道,主要用于将多个IPv6孤岛通过IPv4网络连接到IPv6网络。6to4隧道通过在IPv6报文的目的地址中嵌入IPv4地址,来实现自动获取隧道终点的IPv4地址。
•6to4隧道使用了一种特殊的IPv6地址,即6to4地址,其格式为: 2002:IPv4地址:子网ID:接口ID
•6to4地址的前缀是2002:IPv4地址,前缀长度为48bits。其中IPv4地址是为IPv6孤岛申请的一个全球唯一的IPv4地址。在IPv6/IPv4边界交换机与IPv4网络连接的物理接口上必须配置该IPv4地址。子网ID的长度为16bits,接口ID的长度为64bits,均由用户在IPv6孤岛内分配。
6to4 中继:
•6to4隧道只能用于前缀为2002::/16 的6to4网络之间的通信,但在IPv6网络中也会使用像2001::/16这样的IPv6网络地址。为了实现6to4网络和其它IPv6网络的通信,必须有一台6to4路由器作为网关转发到IPv6网络的报文,这台路由器就叫做6to4中继(6to4 relay)路由器。(如果IPv6报文的目的地址不是6to4地址,但下一跳是6to4地址,则从下一跳地址中取出IPv4地址做为隧道的目的地址。)
IPv6 over IPv4 Tunnel
如上图所示,IPv6报文在到达边界路由器后,根据报文的IPv6目的地址查找转发表,如果出接口是6to4自动隧道的Tunnel虚接口,且报文的目的地址是6to4地址或下一跳是6to4地址,则从6to4地址中取出IPv4地址做为隧道报文的目的地址,隧道报文的源地址是Tunnel接口上配置的。
ISATAP隧道
随着IPv6技术的推广,现有的IPv4网络中将会出现越来越多的IPv6主机,ISATAP隧道技术为这种应用提供了一个较好的解决方案。ISATAP 隧道是点到多点的自动隧道技术,通过在IPv6报文的目的地址中嵌入的IPv4地址,可以自动获取隧道的终点。
使用ISATAP隧道时,IPv6报文的目的地址和隧道接口的IPv6地址都要采用特殊的ISATAP地址。
Prefix(64bit)::5EFE:IPv4-Address
在创建ISATAP隧道时,由于IPv4/IPv6主机和ISATAP交换机在同一个IPv4网络里,ISATAP地址中嵌入的IPv4地址可以是公网地址,也可以是私网地址。ISATAP隧道主要用于在IPv4网络中IPv6路由器和IPv6路由器之间、以及IPv6主机和IPv6路由器之间的连接。
ISATAP Tunnel
如上图所示,IPv4/IPv6主机获得IPv6地址的过程如下:
•IPv4/IPv6主机发送交换机请求消息:IPv4/IPv6主机使用ISATAP格式的链路本地地址向ISATAP交换机发送交换机请求消息,该交换机请求消息被封装在IPv4报文中。
•ISATAP交换机响应请求:ISATAP交换机使用交换机通告消息响应主机的交换机请求。交换机通告消息中包含ISATAP前缀(ISATAP前缀在交换机上通过人工配置)。
•IPv4/IPv6主机得到自己的IPv6地址:IPv4/IPv6 主机将ISATAP前缀与5EFE:IPv4-Address组合得到自己的IPv6地址,并用此地址访问IPv6主机。
Manual Tunnel
如上图所示,两个IPv6网络分别通过Switch1和Switch2与IPv4网络连接,要求在Switch1和Switch2之间建立IPv6手动隧道,使两个IPv6网络可以互通。
•在配置之前,必须先全局使能IPv6功能
•必须使IPv4报文3层路由可达,否则会造成tunnel报文转发失败。
•tunnel接口上必须配置IPv6地址,否则配置在该接口上的路由无效。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.168.10.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 3002::1/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface tunnel1
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel destination 192.168.20.1
Switch(config-if)# tunnel mode ipv6ip
Switch(config-if)# ipv6 address 3001::1/64
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 192.168.20.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 3003::1/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface tunnel1
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel destination 192.168.10.1
Switch(config-if)# tunnel mode ipv6ip
Switch(config-if)# ipv6 address 3001::2/64
Switch(config-if)# exit
步骤4 配置静态路由
在switch1配置:
Switch(config)# ip route 192.168.20.0/24 192.168.10.2
Switch(config)# ipv6 route 3003::/16 tunnel1
在switch2配置:
Switch(config)# ip route 192.168.10.0/24 192.168.20.2
Switch(config)# ipv6 route 3002::/16 tunnel1
步骤5 配置静态arp
在switch1配置:
Switch(config)# arp 192.168.10.2 0.0.2222
在switch2配置:
Switch(config)# arp 192.168.20.2 0.0.1111
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show interface tunnel1
Interface tunnel1
Interface current state: UP
Hardware is Tunnel
Index 8193 , Metric 1 , Encapsulation TUNNEL
VRF binding: not bound
Tunnel protocol/transport IPv6/IP, Status Valid
Tunnel source 192.168.10.1(eth-0-1), destination 192.168.20.1
Tunnel DSCP inherit, Tunnel TTL 64
Tunnel transport MTU 1480 bytes
Switch1# show ipv6 interface tunnel1
Interface current state: UP
The maximum transmit unit is 1480 bytes
IPv6 is enabled, link-local address is fe80::c0a8:a01
Global unicast address(es):
3001::1, subnet is 3001::/64
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ND DAD is enabled, number of DAD attempts: 1
ND router advertisement is disabled
ND reachable time is 30000 milliseconds
ND advertised reachable time is 0 milliseconds
ND retransmit interval is 1000 milliseconds
ND advertised retransmit interval is 0 milliseconds
ND router advertisements max interval: 600 secs
ND router advertisements min interval: 198 secs
ND router advertisements live for 1800 seconds
ND router advertisements hop-limit is 0
Hosts use stateless autoconfig for addresses.
Switch2 显示结果:
Switch# show interface tunnel1
Interface tunnel1
Interface current state: UP
Hardware is Tunnel
Index 8193 , Metric 1 , Encapsulation TUNNEL
VRF binding: not bound
Tunnel protocol/transport IPv6/IP, Status Valid
Tunnel source 192.168.20.1(eth-0-1), destination 192.168.10.1
Tunnel DSCP inherit, Tunnel TTL 64
Tunnel transport MTU 1480 bytes
Switch1# show ipv6 interface tunnel1
Interface current state: UP
The maximum transmit unit is 1480 bytes
IPv6 is enabled, link-local address is fe80::c0a8:1401
Global unicast address(es):
3001::2, subnet is 3001::/64
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ND DAD is enabled, number of DAD attempts: 1
ND router advertisement is disabled
ND reachable time is 30000 milliseconds
ND advertised reachable time is 0 milliseconds
ND retransmit interval is 1000 milliseconds
ND advertised retransmit interval is 0 milliseconds
ND router advertisements max interval: 600 secs
ND router advertisements min interval: 198 secs
ND router advertisements live for 1800 seconds
ND router advertisements hop-limit is 0
Hosts use stateless autoconfig for addresses.
6to4 tunnel
如上图所示,两个6to4网络通过网络边缘6to4 switch(Switch1和Switch2)与IPv4网络相连。在Switch1和Switch2之间建立6to4隧道,实现6to4网络中的主机Host1和Host2之间的互通。
为了实现6to4网络之间的互通,除了配置6to4隧道外,还需要为6to4网络内的主机及6to4 router配置6to4地址。
•Switch1上接口eth-0-1的IPv4地址为2.1.1.1/24,转换成IPv6地址后使用6to4前缀2002:0201:0101::/48。对此前缀进行子网划分,Tunnel1使用2002:0201:0101::/64子网,eth-0-2使用2002:0201:0101:1::/64子网。
•Switch2上接口eth-0-1的IPv4地址为5.1.1.1/24,转换成IPv6地址后使用6to4前缀2002:0501:0101::/48。对此前缀进行子网划分,Tunnel1使用2002:0501:0101::/64子网,eth-0-2使用2002:0501:0101:1::/64子网。
•6to4隧道无需配置目的地址。
•对于自动隧道,使用同种封装协议的 Tunnel 接口不能同时配置完全相同的源地址。
•如果封装前 IPv6报文的目的IPv6地址与Tunnel 接口的IPv6地址不在同一个网段,则必须配置通过Tunnel接口到达目的IPv6地址的转发路由,以便需要进行封装的报文能正常转发。对于自动隧道,用户只能配置静态路由,指定到达目的IPv6地址的路由出接口为本端Tunnel接口或下一跳为对端Tunnel接口地址,不支持动态路由。
•一台交换机上只允许存在一条6to4隧道。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 2.1.1.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2002:201:101:1::1/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface tunnel1
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel mode ipv6ip 6to4
Switch(config-if)# ipv6 address 2002:201:101::1/64
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 5.1.1.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2002:501:101:1::1/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface tunnel1
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel mode ipv6ip 6to4
Switch(config-if)# ipv6 address 2002:501:101::1/64
Switch(config-if)# exit
步骤4 配置静态路由
在switch1配置:
Switch(config)# ip route 5.1.1.0/24 2.1.1.2
Switch(config)# ipv6 route 2002::/16 tunnel1
在switch2配置:
Switch(config)# ip route 2.1.1.0/24 5.1.1.2
Switch(config)# ipv6 route 2002::/16 tunnel1
步骤5 配置静态arp
在switch1配置:
Switch(config)# arp 2.1.1.2 0.0.2222
在switch2配置:
Switch(config)# arp 5.1.1.2 0.0.1111
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch1# show interface tunnel1
Interface tunnel1
Interface current state: UP
Hardware is Tunnel
Index 8193 , Metric 1 , Encapsulation TUNNEL
VRF binding: not bound
Tunnel protocol/transport IPv6/IP 6to4, Status Valid
Tunnel source 2.1.1.1(eth-0-1), destination UNKNOWN
Tunnel DSCP inherit, Tunnel TTL 64
Tunnel transport MTU 1480 bytes
Switch2 显示结果:
Switch2# show interface tunnel1
Interface tunnel1
Interface current state: UP
Hardware is Tunnel
Index 8193 , Metric 1 , Encapsulation TUNNEL
VRF binding: not bound
Tunnel protocol/transport IPv6/IP 6to4, Status Valid
Tunnel source 5.1.1.1(eth-0-1), destination UNKNOWN
Tunnel DSCP inherit, Tunnel TTL 64
Tunnel transport MTU 1480 bytes
6to4 relay
如上图所示,Switch1为6to4 交换机,其IPv6侧的网络使用6to4地址。Switch2作为6to4中继交换机,它和IPv6网络(2001::/16)相连。要求在Switch1和Switch2之间配置6to4隧道,使得6to4网络中的主机与IPv6网络中的主机互通。
•6to4中继交换机的配置与6to4交换机的配置相同,但为实现6to4网络与IPv6网络的互通,需要在6to4交换机上配置到IPv6网络的路由。
•当交换机上存在到达6to4中继的路由时,不能切换隧道模式。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 2.1.1.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2002:201:101:1::1/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface tunnel1
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel mode ipv6ip 6to4
Switch(config-if)# ipv6 address 2002:201:101::1/64
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 5.1.1.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2002:501:101:1::1/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface tunnel1
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel mode ipv6ip 6to4
Switch(config-if)# ipv6 address 2002:501:101::1/64
Switch(config-if)# exit
步骤4 配置静态路由
在switch1配置:
Switch(config)# ip route 6.1.1.0/24 2.1.1.2
Switch(config)# ipv6 route 2001::/16 2002:601:101::1
Switch(config)# ipv6 route 2002:601:101::/48 tunnel1
在switch2配置:
Switch(config)# ip route 2.1.1.0/24 6.1.1.2
Switch(config)# ipv6 route 2002::/16 tunnel1
步骤5 配置静态arp
在switch1配置:
Switch(config)# arp 2.1.1.2 0.0.2222
在switch2配置:
Switch(config)# arp 6.1.1.2 0.0.1111
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show interface tunnel1
Interface tunnel1
Interface current state: UP
Hardware is Tunnel
Index 8193 , Metric 1 , Encapsulation TUNNEL
VRF binding: not bound
Tunnel protocol/transport IPv6/IP 6to4, Status Valid
Tunnel source 2.1.1.1(eth-0-1), destination UNKNOWN
Tunnel DSCP inherit, Tunnel TTL 64
Tunnel transport MTU 1480 bytes
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP
[*] - [AD/Metric]
Timers: Uptime
S 2001::/16 [1/0]
via 2002:601:101::1 (recursive via ::, tunnel1), 00:00:32
C 2002:201:101::/64
via ::, tunnel1, 00:00:04
C 2002:201:101::1/128
via ::1, tunnel1, 00:00:04
S 2002:601:101::/48 [1/0]
via ::, tunnel1, 00:00:22
Switch# show ipv6 interface tunnel1
Interface tunnel1
Interface current state: UP
The maximum transmit unit is 1480 bytes
IPv6 is enabled, link-local address is fe80::201:101
Global unicast address(es):
2002:201:101::1, subnet is 2002:201:101::/64
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ND DAD is enabled, number of DAD attempts: 1
ND router advertisement is disabled
ND reachable time is 30000 milliseconds
ND advertised reachable time is 0 milliseconds
ND retransmit interval is 1000 milliseconds
ND advertised retransmit interval is 0 milliseconds
ND router advertisements max interval: 600 secs
ND router advertisements min interval: 198 secs
ND router advertisements live for 1800 seconds
ND router advertisements hop-limit is 0
Hosts use stateless autoconfig for addresses.
Switch2 显示结果:
Switch# show interface tunnel1
Interface tunnel1
Interface current state: UP
Hardware is Tunnel
Index 8193 , Metric 1 , Encapsulation TUNNEL
VRF binding: not bound
Tunnel protocol/transport IPv6/IP 6to4, Status Valid
Tunnel source 6.1.1.1(eth-0-1), destination UNKNOWN
Tunnel DSCP inherit, Tunnel TTL 64
Tunnel transport MTU 1480 bytes
ISATAP tunnel
如上图所示,IPv6网络和IPv4网络通过ISATAP交换机相连,在IPv4网络侧分布着一些IPv6主机。要求将IPv4网络中的IPv6主机通过ISATAP隧道接入到IPv6网络。
•ISATAP隧道无需配置目的地址。
•对于自动隧道,使用同种封装协议的Tunnel接口不能同时配置完全相同的源地址。
•如果封装前 IPv6报文的目的IPv6地址与Tunnel接口的IPv6地址不在同一个网段,则必须配置通过Tunnel接口到达目的IPv6地址的转发路由,以便需要进行封装的报文能正常转发。对于自动隧道,用户只能配置静态路由,指定到达目的IPv6地址的路由出接口为本端Tunnel 接口或下一跳为对端Tunnel接口地址,不支持动态路由。
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 3001::1/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface tunnel1
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel mode ipv6ip isatap
Switch(config-if)# ipv6 address 2001::/64 eui-64
Switch(config-if)# no ipv6 nd ra suppress
Switch(config-if)# exit
步骤4 配置静态路由
Switch(config)# ip route 2.1.1.0/24 1.1.1.2
Switch(config)# ipv6 route 2001::/16 tunnel1
步骤5 配置静态arp
Switch(config)# arp 1.1.1.2 0.0.2222
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch# show interface tunnel1
Interface tunnel1
Interface current state: UP
Hardware is Tunnel
Index 8193 , Metric 1 , Encapsulation TUNNEL
VRF binding: not bound
Tunnel protocol/transport IPv6/IP ISATAP, Status Valid
Tunnel source 1.1.1.1(eth-0-1), destination UNKNOWN
Tunnel DSCP inherit, Tunnel TTL 64
Tunnel transport MTU 1480 bytes
Switch# show ipv6 interface tunnel1
Interface tunnel1
Interface current state: UP
The maximum transmit unit is 1480 bytes
IPv6 is enabled, link-local address is fe80::101:101
Global unicast address(es):
2001::101:101, subnet is 2001::/64 [EUI]
ICMP error messages limited to one every 1000 milliseconds
ICMP redirects are always sent
ND DAD is enabled, number of DAD attempts: 1
ND router advertisement is enabled
ND reachable time is 30000 milliseconds
ND advertised reachable time is 0 milliseconds
ND retransmit interval is 1000 milliseconds
ND advertised retransmit interval is 0 milliseconds
ND router advertisements max interval: 600 secs
ND router advertisements min interval: 198 secs
ND next router advertisement due in 359 secs.
ND router advertisements live for 1800 seconds
ND router advertisements hop-limit is 0
Hosts use stateless autoconfig for addresses.
配置ISATAP主机
ISATAP主机上的具体配置与主机的操作系统有关,下面仅以Windows XP操作系统为例进行说明。
在主机上安装IPv6协议:
C:\>ipv6 install
在Windows XP 上,ISATAP接口通常为接口2,只要在该接口上配置ISATAP交换机的IPv4地址即可完成主机侧的配置。先看看这个ISATAP接口的信息:
Interface 2: Automatic Tunneling Pseudo-Interface
Guid {48FCE3FC-EC30-E50E-F1A7-71172AEEE3AE}
does not use Neighbor Discovery
does not use Router Discovery
routing preference 1
EUI-64 embedded IPv4 address: 0.0.0.0
router link-layer address: 0.0.0.0
preferred link-local fe80::5efe:2.1.1.1, life infinite
link MTU 1280 (true link MTU 65515)
current hop limit 128
reachable time 25000ms (base 30000ms)
retransmission interval 1000ms
DAD transmits 0
default site prefix length 48
为ISATAP接口配置一个ipv4地址:
C:\>ipv6 rlu 2 1.1.1.1
只需要这么一个命令,这就完成了主机的配置,我们再来看看这个ISATAP接口的信息:
Interface 2: Automatic Tunneling Pseudo-Interface
Guid {48FCE3FC-EC30-E50E-F1A7-71172AEEE3AE}
does not use Neighbor Discovery
does not use Router Discovery
routing preference 1
EUI-64 embedded IPv4 address: 2.1.1.1
router link-layer address: 1.1.1.1
preferred global 2001::5efe:2.1.1.1, life 29d23h59m46s/6d23h59m46s (public)
preferred link-local fe80::5efe:2.1.1.1, life infinite
link MTU 1280 (true link MTU 65515)
current hop limit 128
reachable time 25000ms (base 30000ms)
retransmission interval 1000ms
DAD transmits 0
default site prefix length 48
无
网络节点(主机和路由器)使用邻居发现协议(ND)来探测直连邻居的链路层地址。并且提供一种机制,快速验证一个已经缓存在表项中的邻居的有效性。
主机还能使用ND来找到邻居的路由器。
网络节点之间利用该协议作为一种保活机制,定期探测邻居的有效性,探测邻居链路层地址的改变或邻居失效事件。
无
NDP
在这个例子中,接口eth-0-1的地址是3000::1/64。在3000::/64网段中有两台主机,地址分别是3000::2和3000::3。MAC地址分别是001a-a011-eca2和001a-a011-eca3。其中3000::2配置了静态邻居,3000::3通过动态协议学习。将eth-0-1的老化时间配置成10分钟。NS报文间隔配置成2秒。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch (config)# interface eth-0-1
Switch (config-if)# no switchport
Switch (config-if)# no shutdown
Switch (config-if)# ipv6 address 3000::1/64
Switch (config-if)# ipv6 nd reachable-time 600
Switch (config-if)# ipv6 nd ns-interval 2000
Switch (config-if)# exit
步骤3 配置静态邻居表项
Switch (config)# ipv6 neighbor 3000::2 001a.a011.eca2
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch # show ipv6 neighbors
IPv6 address Age Link-Layer Addr State Interface
3000::2 - 001a-a011-eca2 REACH eth-0-1
3000::3 6 001a-a011-eca3 REACH eth-0-1
fe80::6d8:e8ff:fe4c:e700 6 001a-a011-eca3 STALE eth-0-1
无
DHCPv6服务器和客户端都在一个子网内,则客户端和服务器之间可以直接进行DHCPv6协议的交互,这时不需要启动DHCPv6 中继功能。如果DHCPv6服务器和客户端不在一个子网内,则需要启动DHCPv6 中继功能将DHCPv6报文转发到外部的DHCPv6服务器。
DHCPv6 中继转发同正常的IPv6路由转发不同,IPv6路由转发的IPv6数据包在网络之间透明交换,而DHCPv6 中继接收DHCPv6消息同时产生一个新的DHCPv6消息发送到另一个接口。DHCPv6 中继在报文中设置中继地址,同时可以添加中继信息(Remote-id),转发到DHCPv6服务器端。
无
DHCP Relay
上图为测试DHCPv6中继代理功能的网络拓扑,需要两台PC机和一台交换机构建测试环境。
•计算机A作为DHCPv6服务器
•计算机B作为DHCPv6客户端
•交换机作为DHCPv6中继
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能DHCPv6中继全局服务
Switch(config)# service dhcpv6 enable
Switch(config)# dhcpv6 relay
Switch(config)# dhcpv6 relay remote-id option
Switch(config)# dhcpv6 relay pd route
步骤3 配置DHCPv6服务器组
Switch(config)# dhcpv6-server 1 2001:1000::1
步骤4 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-12
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:1000::2/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-11
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:1001::1/64
Switch(config-if)# no shutdown
Switch(config-if)# dhcpv6-server 1
Switch(config-if)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
检查接口配置。
Switch# show running-config interface eth-0-12
!
interface eth-0-12
no switchport
ipv6 address 2001:1000::1/64
!
Switch # show running-config interface eth-0-11
!
interface eth-0-11
no switchport
ipv6 address 2001:1001::1/64
dhcpv6-server 1
!
检查DHCPv6服务器状态。
Switch# show services
Networking services configuration:
Service Name Status
===========================================================
dhcp disable
dhcpv6 enable
检查DHCPv6服务器组配置。
Switch# show dhcpv6-server
DHCPv6 server group information:
============================================================
group 1 ipv6 address list:
[1] 2001:1000::1
显示DHCPv6中继统计。
Switch# show dhcpv6 relay statistics
DHCPv6 relay packet statistics:
============================================================
Client relayed packets : 8
Server relayed packets : 8
Client error packets : 0
Server error packets : 0
显示记录的Prefix-delegation 客户端信息。
Switch# show dhcpv6 relay pd client
DHCPv6 prefix-delegation client information:
============================================================
Interface : eth-0-11
Client DUID : 000100011804ff38c2428f04970
Client IPv6 address : fe80::beac:d8ff:fedf:c600
IA ID : d8dfc60
IA Prefix : 2002:2:9:eebe::/64
prefered/max lifetime : 280/300
expired time : 2001-1-1 09:10:58
============================================================
无
DHCPv6 Snooping是一种安全功能,包括不受信任的DHCPv6客户端和信任的DHCPv6服务器之间的防火墙功能,其功能行为如下:
•验证从不受信任的源接收到的DHCPv6消息,并过滤掉无效消息。
•建立和维护DHCPv6 Snooping绑定关系的数据库,其中包含DHCPv6客户端租用的IPv6地址信息。
•DHCPv6 Snooping功能在软件中实现,所有DHCPv6消息在芯片中被拦截直接发往CPU进行处理。
无
DHCPv6 Snooping
上图为测试DHCPv6 snooping功能的网络拓扑,需要两台PC机和一台交换机构建测试环境,具体分配可参照如下描述:
•计算机A作为DHCPv6服务器
•计算机B作为DHCPv6客户端
•交换机作为DHCPv6 snooping
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2
Switch(config-vlan)# exit
步骤3 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-11
Switch(config-if)# switchport
Switch(config-if)# switchport access vlan 2
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-12
Switch(config-if)# switchport
Switch(config-if)# switchport access vlan 2
Switch(config-if)# dhcpv6 snooping trust
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤4 使能DHCPv6 snooping全局特性
Switch(config)# service dhcpv6 enable
Switch(config)# dhcpv6 snooping
Switch(config)# dhcpv6 snooping vlan 2
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
根据如下步骤,检查接口配置是否正确。
Switch# show running-config interface eth-0-12
!
interface eth-0-12
switchport access vlan 2
dhcpv6 snooping trust
!
Switch# show running-config interface eth-0-11
!
interface eth-0-11
switchport access vlan 2
!
使用如下命令,检查DHCPv6服务状态。
Switch# show services
Networking services configuration:
Service Name Status
============================================================
dhcp disable
dhcpv6 enable
使用如下命令,打印dhcpv6 snooping配置,检查当前配置。
Switch# show dhcpv6 snooping config
dhcpv6 snooping service: enabled
dhcpv6 snooping switch: enabled
dhcpv6 snooping vlan 2
使用如下命令,检查dhcpv6 snooping的统计信息。
Switch# show dhcpv6 snooping statistics
DHCPv6 snooping statistics:
============================================================
DHCPv6 packets 21
Packets forwarded 21
Packets invalid 0
Packets dropped 0
使用如下命令,显示dhcpv6 snooping绑定信息。
Switch# show dhcpv6 snooping binding all
DHCPv6 snooping binding table:
VLAN MAC Address Lease(s) Interface IPv6 Address
============================================================
2 0016.76a1.7ed9 978 eth-0-11 2001:1000::2
无
静态路由是一种特殊的路由,由管理员手工配置。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。合理设置和使用静态路由可以改进网络性能,并可为重要的网络应用保证带宽。
静态路由的缺点在于:当网络发生故障或者拓扑发生变化后,可能会出现路由不可达,从而导致网络中断。此时必须由网络管理员手工修改静态路由的配置。
静态路由是由网络前缀(主机地址)和下一跳(网关)组成。静态路由在小型网络中非常有用。静态路由可提供使几个目的地可达的简单解决方案。
大型网络推荐使用动态路由协议。
无
ipv6 unicast routing
这个例子说明在一个简单的网络拓扑结构下如何使能静态路。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address auto link-local
Switch(config-if)# ipv6 address 2001:1::1/64
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address auto link-local
Switch(config-if)# ipv6 address 2001:1::2/64
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address auto link-local
Switch(config-if)# ipv6 address 2001:2::2/64
Switch(config-if)# exit
Switch3 的接口配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address auto link-local
Switch(config-if)# ipv6 address 2001:2::3/64
Switch(config-if)# exit
步骤4 配置静态路由
在switch1配置:
Switch(config)# ipv6 route 2001:2::/64 2001:1::2
在switch3配置:
Switch(config)# ipv6 route 2001:1::/64 2001:2::2
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP
[*] - [AD/Metric]
Timers: Uptime
C 2001:1::/64
via ::, eth-0-9, 02:08:50
C 2001:1::1/128
via ::1, eth-0-9, 02:08:50
S 2001:2::/64 [1/0]
via 2001:1::2, eth-0-9, 02:05:36
C fe80::/10
via ::, Null0, 02:09:11
Switch2 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP
[*] - [AD/Metric]
Timers: Uptime
C 2001:1::/64
via ::, eth-0-9, 00:03:37
C 2001:1::2/128
via ::1, eth-0-9, 00:03:37
C 2001:2::/64
via ::, eth-0-17, 00:03:21
C 2001:2::2/128
via ::1, eth-0-17, 00:03:21
C fe80::/10
via ::, Null0, 00:03:44
Switch3 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP
[*] - [AD/Metric]
Timers: Uptime
S 2001:1::/64 [1/0]
via 2001:2::2, eth-0-17, 00:02:14
C 2001:2::/64
via ::, eth-0-17, 00:03:28
C 2001:2::3/128
via ::1, eth-0-17, 00:03:28
C fe80::/10
via ::, Null0, 00:03:53
在Switch1上测试Switch3的连通性:
Switch1# ping ipv6 2001:2::3
PING 2001:2::3(2001:2::3) 56 data bytes
64 bytes from 2001:2::3: icmp_seq=0 ttl=63 time=127 ms
64 bytes from 2001:2::3: icmp_seq=1 ttl=63 time=132 ms
64 bytes from 2001:2::3: icmp_seq=2 ttl=63 time=124 ms
64 bytes from 2001:2::3: icmp_seq=3 ttl=63 time=137 ms
64 bytes from 2001:2::3: icmp_seq=4 ttl=63 time=141 ms
--- 2001:2::3 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4010ms
rtt min/avg/max/mdev = 124.950/132.719/141.251/5.923 ms, pipe 2
无
开放最短路径优先协议OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议,OSPFv3是OSPF版本3的简称,主要提供对IPv6路由的支持,遵循的标准是RFC5340(OSPF for IPv6,OSPFv3和OSPFv2有很多方面是相同的:
•Router ID,Area ID,LSA Link State ID 仍然是32 位的。
•协议报文类型一样:Hello 报文、DD 报文、LSR 报文、LSU 报文和LSAck 报文。
•邻居发现和邻接建立机制一样
•LSA泛洪和老化机制一样。
OSPFv3和OSPFv2有如下不同点:
•OSPFv3是基于link运行的,而OSPFv2是基于network运行的。
•OSPFv3在同一个link上可以运行多个实例。
•OSPFv3的拓扑关系和IPv6前缀信息分离。
•使用Link-local地址作为路由下一跳。
•新增了link lsa以及本地链路泛洪范围。
当前的系统支持如下OSPFv3特性:
•支持末梢区域:支持路由重分布,这包括将其他路由协议学到的路由导入OSPFv3或者将OSPFv3学到的路由导出到其他路由协议中。
•支持OSPFv3多process。
•支持link上多instance。
参考:RFC 5340 – OSPF for IPv6
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建OSPFv3实例
Switch(config)# router ipv6 ospf 100
Switch(config-router)# router-id 1.1.1.1
Switch(config-router)# exit
在全局模式下通过命令“no router ipv6 ospf process-id”取消OSPFv3进程。
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show ipv6 protocols
Routing Protocol is "OSPFv3 (100)" with ID 1.1.1.1
Redistributing:
Routing for Networks:
Distance: (default is 110)
OSPFv3
这个例子显示了一个接口上启用OSPFv3所需的最低配置。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 创建OSPFv3实例
在switch1配置:
Switch(config)# router ipv6 ospf 100
Switch(config-router)# router-id 1.1.1.1
Switch(config-router)# exit
在switch2配置:
Switch(config)# router ipv6 ospf 200
Switch(config-router)# router-id 2.2.2.2
Switch(config-router)# exit
步骤4 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::1/96
Switch(config-if)# ipv6 router ospf 100 area 0 instance 0
Switch(config-if)# exit
Switch2的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::2/96
Switch(config-if)# ipv6 router ospf 200 area 0 instance 0
Switch(config-if)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch1 显示结果:
Switch# show ipv6 ospf database
OSPFv3 Router with ID (1.1.1.1) (Process 100)
Link-LSA (Interface eth-0-9)
Link State ID ADV Router Age Seq# CkSum Prefix
0.0.0.9 1.1.1.1 614 0x80000001 0x6a40 1
0.0.0.9 2.2.2.2 68 0x80000001 0x4316 1
Router-LSA (Area 0.0.0.0)
Link State ID ADV Router Age Seq# CkSum Link
0.0.0.0 1.1.1.1 54 0x80000003 0xb74b 1
0.0.0.0 2.2.2.2 55 0x80000003 0x9965 1
Network-LSA (Area 0.0.0.0)
Link State ID ADV Router Age Seq# CkSum
0.0.0.9 1.1.1.1 54 0x80000001 0x3ed1
Intra-Area-Prefix-LSA (Area 0.0.0.0)
Link State ID ADV Router Age Seq# CkSum Prefix Reference
0.0.0.2 1.1.1.1 53 0x80000001 0x450a 1 Network-LSA
Switch# show ipv6 ospf neighbor
OSPFv3 Process (100)
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 1 Full/Backup 00:00:33 eth-0-9 0
Switch# show ipv6 ospf route
OSPFv3 Process (100)
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2
Destination Metric
Next-hop
C 2004:12:9::/96 1
directly connected, eth-0-9, Area 0.0.0.0
Switch2 显示结果:
Switch# show ipv6 ospf database
OSPFv3 Router with ID (2.2.2.2) (Process 200)
Link-LSA (Interface eth-0-9)
Link State ID ADV Router Age Seq# CkSum Prefix
0.0.0.9 1.1.1.1 774 0x80000001 0x6a40 1
0.0.0.9 2.2.2.2 228 0x80000001 0x4316 1
Router-LSA (Area 0.0.0.0)
Link State ID ADV Router Age Seq# CkSum Link
0.0.0.0 1.1.1.1 217 0x80000003 0xb74b 1
0.0.0.0 2.2.2.2 214 0x80000003 0x9965 1
Network-LSA (Area 0.0.0.0)
Link State ID ADV Router Age Seq# CkSum
0.0.0.9 1.1.1.1 215 0x80000001 0x3ed1
Intra-Area-Prefix-LSA (Area 0.0.0.0)
Link State ID ADV Router Age Seq# CkSum Prefix Reference
0.0.0.2 1.1.1.1 214 0x80000001 0x450a 1 Network-LSA
Switch# show ipv6 ospf neighbor
OSPFv3 Process (200)
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 1 Full/DR 00:00:35 eth-0-9 0
Switch# show ipv6 ospf route
OSPFv3 Process (200)
Codes: C - connected, D - Discard, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2
Destination Metric
Next-hop
C 2004:12:9::/96 1
directly connected, eth-0-9, Area 0.0.0.0
OSPFv3 priority
这个例子主要讲述了如何配置接口优先级,优先级高的成为DR。优先级为0的不参与DR选举。Switch3的优先级是10,这比Switch1和Switch2的默认优先级1要高,因此Switch3将成为这个网络内的DR。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 创建OSPFv3实例
在switch1配置:
Switch(config)# router ipv6 ospf 100
Switch(config-router)# router-id 1.1.1.1
Switch(config-router)# exit
在switch2配置:
Switch(config)# router ipv6 ospf 200
Switch(config-router)# router-id 2.2.2.2
Switch(config-router)# exit
在switch3配置:
Switch(config)# router ipv6 ospf 300
Switch(config-router)# router-id 3.3.3.3
Switch(config-router)# exit
步骤4 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::1/96
Switch(config-if)# ipv6 router ospf 100 area 0 instance 0
Switch(config-if)# exit
Switch2的接口配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::2/96
Switch(config-if)# ipv6 router ospf 200 area 0 instance 0
Switch(config-if)# exit
Switch3的接口配置:
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::3/96
Switch(config-if)# ipv6 router ospf 300 area 0 instance 0
Switch(config-if)# ipv6 ospf priority 10
Switch(config-if)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show ipv6 ospf neighbor
OSPFv3 Process (100)
Neighbor ID Pri State Dead Time Interface Instance ID
2.2.2.2 1 Full/Backup 00:00:31 eth-0-9 0
3.3.3.3 10 Full/DR 00:00:36 eth-0-9 0
Switch#
Switch# show ipv6
interface isis mif mld mroute mroute-rpf
multicast neighbors ospf pim prefix-list protocols
rip route
Switch# show ipv6 ospf interface
eth-0-9 is up, line protocol is up
Interface ID 9
IPv6 Prefixes
fe80::20e6:7eff:fee2:d400/10 (Link-Local Address)
2004:12:9::1/96
OSPFv3 Process (100), Area 0.0.0.0, Instance ID 0
Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DROther, Priority 1
Designated Router (ID) 3.3.3.3
Interface Address fe80::ba5d:79ff:fe55:ed00
Backup Designated Router (ID) 2.2.2.2
Interface Address fe80::fcc8:7bff:fe3e:ec00
Timer interval configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:03
Neighbor Count is 2, Adjacent neighbor count is 2
Switch2 显示结果:
Switch# show ipv6 ospf neighbor
OSPFv3 Process (200)
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 1 Full/DROther 00:00:31 eth-0-17 0
3.3.3.3 10 Full/DR 00:00:37 eth-0-17 0
Switch# show ipv6 ospf interface
eth-0-17 is up, line protocol is up
Interface ID 17
IPv6 Prefixes
fe80::fcc8:7bff:fe3e:ec00/10 (Link-Local Address)
2004:12:9::2/96
OSPFv3 Process (200), Area 0.0.0.0, Instance ID 0
Router ID 2.2.2.2, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State Backup, Priority 1
Designated Router (ID) 3.3.3.3
Interface Address fe80::ba5d:79ff:fe55:ed00
Backup Designated Router (ID) 2.2.2.2
Interface Address fe80::fcc8:7bff:fe3e:ec00
Timer interval configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:07
Neighbor Count is 2, Adjacent neighbor count is 2
Switch3 显示结果:
Switch# show ipv6 ospf neighbor
OSPFv3 Process (300)
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 1 Full/DROther 00:00:40 eth-0-13 0
2.2.2.2 1 Full/Backup 00:00:29 eth-0-13 0
Switch# show ipv6 ospf interface
eth-0-13 is up, line protocol is up
Interface ID 13
IPv6 Prefixes
fe80::ba5d:79ff:fe55:ed00/10 (Link-Local Address)
2004:12:9::3/96
OSPFv3 Process (300), Area 0.0.0.0, Instance ID 0
Router ID 3.3.3.3, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 10
Designated Router (ID) 3.3.3.3
Interface Address fe80::ba5d:79ff:fe55:ed00
Backup Designated Router (ID) 2.2.2.2
Interface Address fe80::fcc8:7bff:fe3e:ec00
Timer interval configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:06
Neighbor Count is 2, Adjacent neighbor count is 2
OSPFv3 area
您可以选择性地配置多个OSPFv3区域参数。这些参数将区域配置为末梢区域(Stub)。Stub区域是一些特定的区域,Stub区域的ABR不传播它们接收到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给Stub 区域中的其他非ABR路由器。
路由聚合是指ABR或ASBR将具有相同前缀的路由信息聚合,只发布一条路由到其它区域。AS被划分成不同的区域后,区域间可以通过路由聚合来减少路由信息,减小路由表的规模,提高路由器的运算速度。如果网络号是连续的,你可以使用area range命令将这些连续的网段聚合成一个网段。这样ABR 只发送一条聚合后的LSA,所有属于本命令指定的聚合网段范围的LSA 将不再会被单独发送出去,这样可减少其它区域中LSDB的规模。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 创建OSPFv3实例
在switch1配置:
Switch(config)# router ipv6 ospf 100
Switch(config-router)# router-id 1.1.1.1
Switch(config-router)# exit
在switch2配置:
Switch(config)# router ipv6 ospf 200
Switch(config-router)# router-id 2.2.2.2
Switch(config-router)# exit
在switch3配置:
Switch(config)# router ipv6 ospf 300
Switch(config-router)# router-id 3.3.3.3
Switch(config-router)# exit
Switch(config)# router ipv6 ospf 300
Switch(config-router)# area 100 range 2004:4::/32
Switch(config-router)# area 100 stub no-summary
Switch(config-router)# exit
在switch4配置:
Switch(config)# router ipv6 ospf 400
Switch(config-router)# router-id 4.4.4.4
Switch(config-router)# area 100 stub no-summary
Switch(config-router)# exit
步骤4 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::1/96
Switch(config-if)# ipv6 router ospf 100 area 0 instance 0
Switch(config-if)# exit
Switch(config)#interface eth-0-13
Switch(config-if)#no switchport
Switch(config-if)#no shutdown
Switch(config-if)# ipv6 address 2004:13:13::2/96
Switch(config-if)# ipv6 router ospf 100 area 0 instance 0
Switch(config-if)# exit
Switch2的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::2/96
Switch(config-if)# ipv6 router ospf 200 area 0 instance 0
Switch(config-if)# exit
Switch(config)#interface eth-0-17
Switch(config-if)#no switchport
Switch(config-if)#no shutdown
Switch(config-if)# ipv6 address 2004:23:17::1/96
Switch(config-if)# ipv6 router ospf 200 area 0 instance 0
Switch(config-if)# exit
Switch3的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:4:100::1/96
Switch(config-if)# ipv6 router ospf 300 area 100 instance 0
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:13:13::2/96
Switch(config-if)# ipv6 router ospf 300 area 0 instance 0
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:23:17::2/96
Switch(config-if)# ipv6 router ospf 300 area 0 instance 0
Switch(config-if)# exit
Switch4的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:4:1::1/96
Switch(config-if)# ipv6 router ospf 400 area 100 instance 0
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:4:2::1/96
Switch(config-if)# ipv6 router ospf 400 area 100 instance 0
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:4:3::1/96
Switch(config-if)# ipv6 router ospf 400 area 100 instance 0
Switch(config-if)# exit
Switch(config)# interface eth-0-4
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:4:4::1/96
Switch(config-if)# ipv6 router ospf 400 area 100 instance 0
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:4:100::2/96
Switch(config-if)# ipv6 router ospf 400 area 100 instance 0
Switch(config-if)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
O IA 2004:4::/32 [110/3]
via fe80::c629:f2ff:fe02:3600, eth-0-13, 00:01:00
C 2004:12:9::/96
via ::, eth-0-9, 00:15:56
C 2004:12:9::1/128
via ::1, eth-0-9, 00:15:56
C 2004:13:13::/96
via ::, eth-0-13, 00:15:55
C 2004:13:13::2/128
via ::1, eth-0-13, 00:15:55
O 2004:23:17::/96 [110/2]
via fe80::bc22:aeff:fe64:aa00, eth-0-9, 00:08:10
via fe80::c629:f2ff:fe02:3600, eth-0-13, 00:08:10
C fe80::/10
via ::, Null0, 00:15:57
Switch2 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
O IA 2004:4::/32 [110/3]
via fe80::c629:f2ff:fe02:3600, eth-0-17, 00:00:57
C 2004:12:9::/96
via ::, eth-0-9, 00:12:24
C 2004:12:9::2/128
via ::1, eth-0-9, 00:12:24
O 2004:13:13::/96 [110/2]
via fe80::b242:55ff:fe05:ff00, eth-0-9, 00:07:52
via fe80::c629:f2ff:fe02:3600, eth-0-17, 00:07:52
C 2004:23:17::/96
via ::, eth-0-17, 00:12:24
C 2004:23:17::1/128
via ::1, eth-0-17, 00:12:24
C fe80::/10
via ::, Null0, 00:12:26
Switch3 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
O 2004:4::/32 [110/0]
via ::, Null0, 00:08:31
O 2004:4:1::/96 [110/2]
via fe80::ee66:91ff:fe45:db00, eth-0-9, 00:01:08
O 2004:4:2::/96 [110/2]
via fe80::ee66:91ff:fe45:db00, eth-0-9, 00:01:08
O 2004:4:3::/96 [110/2]
via fe80::ee66:91ff:fe45:db00, eth-0-9, 00:01:08
O 2004:4:4::/96 [110/2]
via fe80::ee66:91ff:fe45:db00, eth-0-9, 00:01:08
C 2004:4:100::/96
via ::, eth-0-9, 00:08:32
C 2004:4:100::1/128
via ::1, eth-0-9, 00:08:32
O 2004:12:9::/96 [110/2]
via fe80::b242:55ff:fe05:ff00, eth-0-13, 00:08:03
via fe80::bc22:aeff:fe64:aa00, eth-0-17, 00:08:03
O 2004:13:13::/96 [110/1]
via fe80::b242:55ff:fe05:ff00, eth-0-13, 00:08:18
C 2004:23:17::/96
via ::, eth-0-17, 00:08:32
C 2004:23:17::2/128
via ::1, eth-0-17, 00:08:32
C fe80::/10
via ::, Null0, 00:08:34
Switch4 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
O IA ::/0 [110/2]
via fe80::c629:f2ff:fe02:3600, eth-0-9, 00:00:53
C 2004:4:1::/96
via ::, eth-0-1, 00:03:09
C 2004:4:1::1/128
via ::1, eth-0-1, 00:03:09
C 2004:4:2::/96
via ::, eth-0-2, 00:03:08
C 2004:4:2::1/128
via ::1, eth-0-2, 00:03:08
C 2004:4:3::/96
via ::, eth-0-3, 00:03:08
C 2004:4:3::1/128
via ::1, eth-0-3, 00:03:08
C 2004:4:4::/96
via ::, eth-0-4, 00:03:09
C 2004:4:4::1/128
via ::1, eth-0-4, 00:03:09
C 2004:4:100::/96
via ::, eth-0-9, 00:03:09
C 2004:4:100::2/128
via ::1, eth-0-9, 00:03:09
C fe80::/10
via ::, Null0, 00:03:10
OSPFv3 Redistribute
区域内和区域间路由描述的是AS 内部的网络结构,外部路由则描述了应该如何选择到AS 以外目的地址的路由。OSPF 将引入的AS 外部路由分为两类:Type1 和Type2。
第一类外部路由是指接收的是IGP(Interior Gateway Protocol,内部网关协议)路由(例如静态路由和RIPng 路由)。由于这类路由的可信程度较高,并且和OSPFv3 自身路由的开销具有可比性,所以到第一类外部路由的开销等于本路由器到相应的ASBR 的开销与ASBR 到该路由目的地址的开销之和。
第二类外部路由是指接收的是EGP(Exterior Gateway Protocol,外部网关协议)路由。由于这类路由的可信度比较低,所以OSPFv3 协议认为从ASBR 到自治系统之外的开销远远大于在自治系统之内到达ASBR 的开销。所以计算路由开销时将主要考虑前者,即到第二类外部路由的开销等于ASBR 到该路由目的地址的开销。如果计算出开销值相等的两条路由,再考虑本路由器到相应的ASBR 的开销。下面例子RIP路由将作为外部路由被重分布到OSPFv3网络中。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 创建OSPFv3实例
在switch1配置:
Switch(config)# router ipv6 ospf 100
Switch(config-router)# router-id 1.1.1.1
Switch(config-router)# exit
在switch2配置:
Switch(config)# router ipv6 ospf 200
Switch(config-router)# router-id 2.2.2.2
Switch(config-router)# exit
在switch3配置:
Switch(config)# router ipv6 ospf 300
Switch(config-router)# router-id 3.3.3.3
Switch(config-router)# redistribute ripng
Switch(config-router)# exit
步骤4 配置Rip实例
在switch3配置:
Switch(config)# router ipv6 rip
Switch(config-router)# exit
在switch4配置:
Switch(config)# router ipv6 rip
Switch(config-router)# exit
步骤5 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::1/96
Switch(config-if)# ipv6 router ospf 100 area 0 instance 0
Switch(config-if)# exit
Switch(config)#interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:13:13::2/96
Switch(config-if)# ipv6 router ospf 100 area 0 instance 0
Switch(config-if)# exit
Switch2的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::2/96
Switch(config-if)# ipv6 router ospf 200 area 0 instance 0
Switch(config-if)# exit
Switch(config)#interface eth-0-17
Switch(config-if)#no switchport
Switch(config-if)#no shutdown
Switch(config-if)# ipv6 address 2004:23:17::1/96
Switch(config-if)# ipv6 router ospf 200 area 0 instance 0
Switch(config-if)# exit
Switch3的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:4:100::1/96
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:13:13::2/96
Switch(config-if)# ipv6 router ospf 300 area 0 instance 0
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:23:17::2/96
Switch(config-if)# ipv6 router ospf 300 area 0 instance 0
Switch(config-if)# exit
Switch4的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:4:1::1/96
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:4:100::2/96
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
O E2 2004:4:1::/96 [110/20]
via fe80::c629:f2ff:fe02:3600, eth-0-13, 00:00:03
C 2004:12:9::/96
via ::, eth-0-9, 00:34:20
C 2004:12:9::1/128
via ::1, eth-0-9, 00:34:20
C 2004:13:13::/96
via ::, eth-0-13, 00:34:19
C 2004:13:13::2/128
via ::1, eth-0-13, 00:34:19
O 2004:23:17::/96 [110/2]
via fe80::bc22:aeff:fe64:aa00, eth-0-9, 00:26:34
via fe80::c629:f2ff:fe02:3600, eth-0-13, 00:26:34
C fe80::/10
via ::, Null0, 00:34:21
Switch# show ipv6 ospf database external
OSPFv3 Router with ID (1.1.1.1) (Process 100)
AS-external-LSA
LS age: 140
LS Type: AS-External-LSA
Link State ID: 0.0.0.1
Advertising Router: 3.3.3.3
LS Seq Number: 0x80000001
Checksum: 0x66F7
Length: 44
Metric Type: 2 (Larger than any link state path)
Metric: 20
Prefix: 2004:4:1::/96
Prefix Options: 0 (-|-|-|-)
External Route Tag: 0
Switch2 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
O E2 2004:4:1::/96 [110/20]
via fe80::c629:f2ff:fe02:3600, eth-0-17, 00:02:43
C 2004:12:9::/96
via ::, eth-0-9, 00:33:31
C 2004:12:9::2/128
via ::1, eth-0-9, 00:33:31
O 2004:13:13::/96 [110/2]
via fe80::b242:55ff:fe05:ff00, eth-0-9, 00:28:59
via fe80::c629:f2ff:fe02:3600, eth-0-17, 00:28:59
C 2004:23:17::/96
via ::, eth-0-17, 00:33:31
C 2004:23:17::1/128
via ::1, eth-0-17, 00:33:31
C fe80::/10
via ::, Null0, 00:33:33
Switch# show ipv6 ospf database external
show ipv6 ospf database external
OSPFv3 Router with ID (2.2.2.2) (Process 200)
AS-external-LSA
LS age: 195
LS Type: AS-External-LSA
Link State ID: 0.0.0.1
Advertising Router: 3.3.3.3
LS Seq Number: 0x80000001
Checksum: 0x66F7
Length: 44
Metric Type: 2 (Larger than any link state path)
Metric: 20
Prefix: 2004:4:1::/96
Prefix Options: 0 (-|-|-|-)
External Route Tag: 0
Switch3 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
R 2004:4:1::/96 [120/2]
via fe80::ee66:91ff:fe45:db00, eth-0-9, 00:03:43
C 2004:4:100::/96
via ::, eth-0-9, 00:07:01
C 2004:4:100::1/128
via ::1, eth-0-9, 00:07:01
O 2004:12:9::/96 [110/2]
via fe80::b242:55ff:fe05:ff00, eth-0-13, 00:29:57
via fe80::bc22:aeff:fe64:aa00, eth-0-17, 00:29:57
O 2004:13:13::/96 [110/1]
via fe80::b242:55ff:fe05:ff00, eth-0-13, 00:30:12
C 2004:23:17::/96
via ::, eth-0-17, 00:30:26
C 2004:23:17::2/128
via ::1, eth-0-17, 00:30:26
C fe80::/10
via ::, Null0, 00:30:28
Switch# show ipv6 ospf database external
show ipv6 ospf database external
OSPFv3 Router with ID (3.3.3.3) (Process 300)
AS-external-LSA
LS age: 250
LS Type: AS-External-LSA
Link State ID: 0.0.0.1
Advertising Router: 3.3.3.3
LS Seq Number: 0x80000001
Checksum: 0x66F7
Length: 44
Metric Type: 2 (Larger than any link state path)
Metric: 20
Prefix: 2004:4:1::/96
Prefix Options: 0 (-|-|-|-)
External Route Tag: 0
Switch4 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
C 2004:4:1::/96
via ::, eth-0-1, 00:04:48
C 2004:4:1::1/128
via ::1, eth-0-1, 00:04:48
C 2004:4:100::/96
via ::, eth-0-9, 00:06:59
C 2004:4:100::2/128
via ::1, eth-0-9, 00:06:59
C fe80::/10
via ::, Null0, 00:07:00
OSPFv3 Cost
你可以通过修改接口的COST值来使路由成为最优路由。在下面的例子中,通过修改COST值可以使Switch2成为Switch1的下一跳。
默认接口的COST值是1(1000M speed)。Switch2的eth-0-17优先级100,Switch4的eth-0-9优先级150. 那么到达Switch3的网络2004:3:1::/96的Cost值将不一样:
•Switch2: 1+1+100 = 102
•Switch3: 1+1+150 = 152
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 创建OSPFv3实例
在switch1配置:
Switch(config)# router ipv6 ospf 100
Switch(config-router)# router-id 1.1.1.1
Switch(config-router)# exit
在switch2配置:
Switch(config)# router ipv6 ospf 200
Switch(config-router)# router-id 2.2.2.2
Switch(config-router)# exit
在switch3配置:
Switch(config)# router ipv6 ospf 300
Switch(config-router)# router-id 3.3.3.3
Switch(config-router)# exit
在switch4配置:
Switch(config)# router ipv6 ospf 400
Switch(config-router)# router-id 4.4.4.4
Switch(config-router)# exit
步骤4 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::1/96
Switch(config-if)# ipv6 router ospf 100 area 0 instance 0
Switch(config-if)# exit
Switch(config)#interface eth-0-17
Switch(config-if)#no switchport
Switch(config-if)#no shutdown
Switch(config-if)# ipv6 address 2004:14:17::1/96
Switch(config-if)# ipv6 router ospf 100 area 0 instance 0
Switch(config-if)# exit
Switch2的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:12:9::2/96
Switch(config-if)# ipv6 router ospf 200 area 0 instance 0
Switch(config-if)# exit
Switch(config)#interface eth-0-17
Switch(config-if)#no switchport
Switch(config-if)#no shutdown
Switch(config-if)# ipv6 address 2004:23:17::1/96
Switch(config-if)# ipv6 router ospf 200 area 0 instance 0
Switch(config-if)# ipv6 ospf cost 100
Switch(config-if)# exit
Switch3的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:3:1::1/96
Switch(config-if)# ipv6 router ospf 300 area 0 instance 0
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:34:9::1/96
Switch(config-if)# ipv6 router ospf 300 area 0 instance 0
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:23:17::2/96
Switch(config-if)# ipv6 router ospf 300 area 0 instance 0
Switch(config-if)# exit
Switch4的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:34:9::2/96
Switch(config-if)# ipv6 router ospf 400 area 0 instance 0
Switch(config-if)# ipv6 ospf cost 150
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2004:14:17::2/96
Switch(config-if)# ipv6 router ospf 400 area 0 instance 0
Switch(config-if)# end
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show ipv6 ospf route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
O 2004:3:1::/96 [110/102]
via fe80::bc22:aeff:fe64:aa00, eth-0-9, 00:08:06
C 2004:12:9::/96
via ::, eth-0-9, 01:15:43
C 2004:12:9::1/128
via ::1, eth-0-9, 01:15:43
C 2004:14:17::/96
via ::, eth-0-17, 00:18:38
C 2004:14:17::1/128
via ::1, eth-0-17, 00:18:38
O 2004:23:17::/96 [110/101]
via fe80::bc22:aeff:fe64:aa00, eth-0-9, 00:08:06
O 2004:34:9::/96 [110/102]
via fe80::bc22:aeff:fe64:aa00, eth-0-9, 00:03:56
C fe80::/10
via ::, Null0, 01:15:44
Switch2 显示结果:
Switch# show ipv6 ospf route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
O 2004:3:1::/96 [110/101]
via fe80::c629:f2ff:fe02:3600, eth-0-17, 00:08:33
C 2004:12:9::/96
via ::, eth-0-9, 01:12:40
C 2004:12:9::2/128
via ::1, eth-0-9, 01:12:40
O 2004:14:17::/96 [110/2]
via fe80::b242:55ff:fe05:ff00, eth-0-9, 00:18:43
C 2004:23:17::/96
via ::, eth-0-17, 01:12:40
C 2004:23:17::1/128
via ::1, eth-0-17, 01:12:40
O 2004:34:9::/96 [110/101]
via fe80::c629:f2ff:fe02:3600, eth-0-17, 00:04:23
C fe80::/10
via ::, Null0, 01:12:42
Switch3 显示结果:
Switch# show ipv6 ospf route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
C 2004:3:1::/96
via ::, eth-0-1, 00:13:54
C 2004:3:1::1/128
via ::1, eth-0-1, 00:13:54
O 2004:12:9::/96 [110/2]
via fe80::bc22:aeff:fe64:aa00, eth-0-17, 00:19:47
O 2004:14:17::/96 [110/2]
via fe80::ee66:91ff:fe45:db00, eth-0-9, 00:02:27
C 2004:23:17::/96
via ::, eth-0-17, 01:09:02
C 2004:23:17::2/128
via ::1, eth-0-17, 01:09:02
C 2004:34:9::/96
via ::, eth-0-9, 00:04:52
C 2004:34:9::1/128
via ::1, eth-0-9, 00:04:52
C fe80::/10
via ::, Null0, 01:09:04
Switch4 显示结果:
Switch# show ipv6 route
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
O 2004:3:1::/96 [110/103]
via fe80::b242:55ff:fe05:ff00, eth-0-17, 00:02:35
O 2004:12:9::/96 [110/2]
via fe80::b242:55ff:fe05:ff00, eth-0-17, 00:02:35
C 2004:14:17::/96
via ::, eth-0-17, 00:04:09
C 2004:14:17::2/128
via ::1, eth-0-17, 00:04:09
O 2004:23:17::/96 [110/102]
via fe80::b242:55ff:fe05:ff00, eth-0-17, 00:02:35
C 2004:34:9::/96
via ::, eth-0-9, 00:06:06
C 2004:34:9::2/128
via ::1, eth-0-9, 00:06:06
C fe80::/10
via ::, Null0, 00:44:59
您可以通过命令显示具体的统计数据,如IPv6路由表的内容,缓存和数据库。
显示OSPF进程信息
Switch# show ipv6 ospf
Routing Process "OSPFv3 (300)" with ID 3.3.3.3
Process uptime is 3 hours 23 minutes
SPF schedule delay min 0.500 secs, SPF schedule delay max 50.0 secs
Minimum LSA interval 5 secs, Minimum LSA arrival 1 secs
Number of incomming current DD exchange neighbors 0/5
Number of outgoing current DD exchange neighbors 0/5
Number of external LSA 0. Checksum Sum 0x0000
Number of AS-Scoped Unknown LSA 0
Number of LSA originated 6
Number of LSA received 43
Number of areas in this router is 1
Area BACKBONE(0)
Number of interfaces in this area is 1(1)
SPF algorithm executed 14 times
Number of LSA 5. Checksum Sum 0x30DCD
Number of Unknown LSA 0
显示OSPF链路状态信息库
Switch# show ipv6 ospf database database-summary
OSPFv3 Router with ID (3.3.3.3) (Process ID 300)
Area (0.0.0.0) database summary
LSA Type Count MaxAge
Router 3 0
Network 1 0
Inter-Prefix 0 0
Inter-Router 0 0
Intra-Prefix 1 0
Subtotal 5 0
Process 300 database summary
LSA Type Count MaxAge
Router 3 0
Network 1 0
Inter-Prefix 0 0
Inter-Router 0 0
Type-5 Ext 0 0
Link 3 0
Intra-Prefix 1 0
Total 8 0
Switch# show ipv6 ospf database router
OSPFv3 Router with ID (3.3.3.3) (Process 300)
Router-LSA (Area 0.0.0.0)
LS age: 600
LS Type: Router-LSA
Link State ID: 0.0.0.0
Advertising Router: 1.1.1.1
LS Seq Number: 0x80000008
Checksum: 0x9A57
Length: 40
Flags: 0x00 (-|-|-|-|-)
Options: 0x000013 (-|R|-|-|E|V6)
Link connected to: a Transit Network
Metric: 1
Interface ID: 9
Neighbor Interface ID: 13
Neighbor Router ID: 3.3.3.3
LS age: 597
LS Type: Router-LSA
Link State ID: 0.0.0.0
Advertising Router: 2.2.2.2
LS Seq Number: 0x8000000D
Checksum: 0xE2FD
Length: 40
Flags: 0x00 (-|-|-|-|-)
Options: 0x000013 (-|R|-|-|E|V6)
Link connected to: a Transit Network
Metric: 1
Interface ID: 17
Neighbor Interface ID: 13
Neighbor Router ID: 3.3.3.3
LS age: 599
LS Type: Router-LSA
Link State ID: 0.0.0.0
Advertising Router: 3.3.3.3
LS Seq Number: 0x8000000C
Length: 40
Flags: 0x00 (-|-|-|-|-)
Options: 0x000013 (-|R|-|-|E|V6)
Link connected to: a Transit Network
Metric: 1
Interface ID: 13
Neighbor Interface ID: 13
Neighbor Router ID: 3.3.3.3
Switch# show ipv6 ospf database network self-originate
OSPFv3 Router with ID (3.3.3.3) (Process 300)
Network-LSA (Area 0.0.0.0)
LS age: 1261
LS Type: Network-LSA
Link State ID: 0.0.0.13
Advertising Router: 3.3.3.3
LS Seq Number: 0x80000004
Checksum: 0x727E
Length: 36
Options: 0x000013 (-|R|-|-|E|V6)
Attached Router: 3.3.3.3
Attached Router: 1.1.1.1
Attached Router: 2.2.2.2
Switch# show ipv6 ospf database inter-router
OSPFv3 Router with ID (3.3.3.3) (Process 300)
Switch# show ipv6 ospf database intra-prefix
OSPFv3 Router with ID (3.3.3.3) (Process 300)
Intra-Area-Prefix-LSA (Area 0.0.0.0)
LS age: 1623
LS Type: Intra-Area-Prefix-LSA
Link State ID: 0.0.0.2
Advertising Router: 3.3.3.3
LS Seq Number: 0x80000004
Checksum: 0x8FA8
Length: 48
Number of Prefixes: 1
Referenced LS Type: 0x2002
Referenced Link State ID: 0.0.0.13
Referenced Advertising Router: 3.3.3.3
Prefix: 2004:12:9::/96
Prefix Options: 0 (-|-|-|-)
Metric: 0
Switch# show ipv6 ospf database inter-prefix
OSPFv3 Router with ID (3.3.3.3) (Process 300)
Switch# show ipv6 ospf database link
OSPFv3 Router with ID (3.3.3.3) (Process 300)
Link-LSA (Interface eth-0-13)
LS age: 641
LS Type: Link-LSA
Link State ID: 0.0.0.9
Advertising Router: 1.1.1.1
LS Seq Number: 0x80000005
Checksum: 0x9C1C
Length: 60
Priority: 1
Options: 0x000013 (-|R|-|-|E|V6)
Link-Local Address: fe80::20e6:7eff:fee2:d400
Number of Prefixes: 1
Prefix: 2004:12:9::/96
Prefix Options: 0 (-|-|-|-)
LS age: 698
LS Type: Link-LSA
Link State ID: 0.0.0.17
Advertising Router: 2.2.2.2
LS Seq Number: 0x80000008
Checksum: 0x2159
Length: 60
Priority: 1
Options: 0x000013 (-|R|-|-|E|V6)
Link-Local Address: fe80::fcc8:7bff:fe3e:ec00
Number of Prefixes: 1
Prefix: 2004:12:9::/96
Prefix Options: 0 (-|-|-|-)
LS age: 1535
LS Type: Link-LSA
Link State ID: 0.0.0.13
Advertising Router: 3.3.3.3
LS Seq Number: 0x80000008
Checksum: 0x6E9A
Length: 60
Priority: 10
Options: 0x000013 (-|R|-|-|E|V6)
Link-Local Address: fe80::ba5d:79ff:fe55:ed00
Number of Prefixes: 1
Prefix: 2004:12:9::/96
Prefix Options: 0 (-|-|-|-)
Switch# show ipv6 ospf database external
OSPFv3 Router with ID (3.3.3.3) (Process 300)
显示OSPFv3接口信息
Switch# show ipv6 ospf interface
eth-0-13 is up, line protocol is up
Interface ID 13
IPv6 Prefixes
fe80::ba5d:79ff:fe55:ed00/10 (Link-Local Address)
2004:12:9::3/96
OSPFv3 Process (300), Area 0.0.0.0, Instance ID 0
Router ID 3.3.3.3, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 10
Designated Router (ID) 3.3.3.3
Interface Address fe80::ba5d:79ff:fe55:ed00
Backup Designated Router (ID) 2.2.2.2
Interface Address fe80::fcc8:7bff:fe3e:ec00
Timer interval configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:01
Neighbor Count is 2, Adjacent neighbor count is 2
显示OSPFv3邻居信息
Switch# show ipv6 ospf neighbor
OSPFv3 Process (300)
Neighbor ID Pri State Dead Time Interface Instance ID
1.1.1.1 1 Full/DROther 00:00:39 eth-0-13 0
2.2.2.2 1 Full/Backup 00:00:33 eth-0-13 0
无
RIPng(Routing Information Protocol Next Generation)是对原来的IPv4网络中RIP-2协议的扩展,RIP-2的大多数概念都可以用于RIPng。 RIPng是一种较为简单的内部网关协议(Interior Gateway Protocol,IGP),主要用于规模较小的网络中。
RIPng是一种基于距离矢量(Distance-Vector)算法的协议,它通过UDP报文进行路由信息的交换。RIPng 使用跳数(Hop Count)来衡量到达目的地址的距离,也称为路由开销(Routing Cost)。在RIPng中,一个路由器到达与它直连的网络的跳数为0,到与它相隔一个路由器的网络的跳数为1,以此类推。为限制收敛时间,RIP规定cost的取值为0~15之间的整数,cost取值大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。
为提高性能,防止产生路由环,RIPng支持水平分割(Split Horizon)。RIPng还可引入其它路由协议所得到的路由。
为了在IPv6网络中应用,RIPng对原有的RIP协议进行了修改:
•UDP端口号:使用UDP 的521 端口发送和接收路由信息。
•组播地址:使用FF02::9 作为链路本地范围内的RIPng 路由器组播地址。
•下一跳地址:使用128 比特的IPv6 地址。
•源地址:使用链路本地地址FE80::/10 作为源地址发送RIPng 路由信息更新报文。
参考:RFC 2080 – RIPng for IPv6
RIPng
在两个交换机上启用RIPng路由协议的配置步骤如下所示。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6
Switch(config)# ipv6 enable
步骤3 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-12
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:db8:12::1/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Switch(config)# interface eth-0-48
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:db8:48::2/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Switch2的接口配置:
Switch(config)# interface eth-0-12
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:db8:12::2/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
Switch(config)# interface eth-0-48
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ipv6 address 2001:ab8:49::2/64
Switch(config-if)# ipv6 router rip
Switch(config-if)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch1 显示结果:
Switch# show ipv6 rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, Ra - RIP aggregated,
Rcx - RIP connect suppressed, Rsx - RIP static suppressed,
K - Kernel, C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop If Met Tag Time
R 2001:ab8:49::/64 fe80::1271:d1ff:fec8:3300 eth-0-12 5 0 00:02:34
Rc 2001:db8:12::/64 :: eth-0-12 1 0
Rc 2001:db8:48::/64 :: eth-0-48 1 0
Switch# show ipv6 rip interface
eth-0-12 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:db8:12::1/64
fe80::7e14:63ff:fe76:8900/10
eth-0-48 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:db8:48::2/64
fe80::7e14:63ff:fe76:8900/10
Switch# show ipv6 protocols rip
Routing Protocol is "ripng"
Sending updates every 30 seconds with +/-5 seconds, next due in 7 seconds
Timeout after 180 seconds, garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Default redistribute metric is 1
Redistributing:
Interface
eth-0-12
eth-0-48
Routing for Networks:
Number of routes (including connected): 3
Distance: (default is 120)
Switch# show ipv6 route rip
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
R 2001:ab8:49::/64 [120/5]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:26:05
Switch2 显示结果:
Switch# show ipv6 rip database
Codes: R - RIP, Rc - RIP connected, Rs - RIP static, Ra - RIP aggregated,
Rcx - RIP connect suppressed, Rsx - RIP static suppressed,
K - Kernel, C - Connected, S - Static, O - OSPF, I - IS-IS, B - BGP
Network Next Hop If Met Tag Time
Rc 2001:ab8:49::/64 :: eth-0-48 1 0
Rc 2001:db8:12::/64 :: eth-0-12 1 0
R 2001:db8:48::/64 fe80::7e14:63ff:fe76:8900 eth-0-12 2 0 00:02:33
Switch# show ipv6 rip interface
eth-0-12 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:db8:12::2/64
fe80::1271:d1ff:fec8:3300/10
eth-0-48 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Enabled with Poisoned Reversed
IPv6 interface address:
2001:ab8:49::2/64
fe80::1271:d1ff:fec8:3300/10
Switch# show ipv6 protocols rip
Routing Protocol is "ripng"
Sending updates every 30 seconds with +/-5 seconds, next due in 13 seconds
Timeout after 180 seconds, garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Outgoing routes will have 3 added to metric if on list ripng_acl
Default redistribute metric is 1
Redistributing:
Interface
eth-0-12
eth-0-48
Routing for Networks:
Number of routes (including connected): 3
Distance: (default is 120)
Switch# show ipv6 route rip
IPv6 Routing Table
Codes: C - connected, S - static, R - RIP, I - IS-IS, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
Dr - DHCPV6 Relay
[*] - [AD/Metric]
Timers: Uptime
R 2001:db8:48::/64 [120/2]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:23:31
偏移度量值是附加在RIPng路由上的输入输出度量值,包括发送偏移度量值和接收偏移度量值。发送偏移度量值不会改变路由表中的路由度量值,仅当接口发送RIP路由信息时才会添加到发送路由上;接收偏移度量值会影响接收到的路由度量值,接口接收到一条合法的RIP 路由时,在将其加入路由表前会把度量值附加到该路由上。偏移度量值一般包括如下的参数:
指定增加路由Metric的ACL参数说明如下:
•In:应用在从邻居路由器学习到的RIPng的路由上
•Out:应用在发布给邻居路由器RIPng通告上
•匹配ACL路由的偏移值Metric
•应用偏移列表的接口
如果一个路由匹配全局偏移表(不指定接口)和一个基于接口的偏移列表,此时基于接口的偏移列表优先。在这种情况下,基于接口的偏移列表的度量值会被加到路由上。
RIPng Metric
下面例子讲述如何在Switch1上将2001:db8:48::2/64在eth-0-12接口上增加metric 3
步骤1 检查当前配置
Switch1 当前配置:
Switch# show running-config
!
ipv6 enable
!
Switch# show run
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
Switch2 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
查看Switch2 RIPng 运行状态:
Switch# show ipv6 route rip
R 2001:db8:48::/64 [120/2]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:44:47
以下配置在Switch1 进行:
步骤2 进入配置模式
Switch# configure terminal
步骤3 创建ACL
Switch(config)#ipv6 access-list ripngoffset
Switch(config-ipv6-acl)# permit any 2001:db8:48::/64 any
Switch(config-ipv6-acl)# exit
步骤4 在RIPng视图下应用ACL
Switch(config)# router ipv6 rip
Switch(config-router)# offset-list ripngoffset out 3 eth-0-12
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
查看Switch2 显示结果:
Switch# show ipv6 route rip
R 2001:db8:48::/64 [120/5]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:00:07
默认情况下,RIPng的管理距离是120。比较路由时,管理距离越低,路由越容易被选中。
RIPng Distance
下面例子讲述了如何修改RIPng的管理距离。
步骤1 检查当前配置
Switch1 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
Switch2 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
查看Switch2 RIPng 运行状态:
Switch# show ipv6 route rip
R 2001:db8:48::/64 [120/2]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:44:47
以下配置在Switch2 进行:
步骤2 进入配置模式
Switch# configure terminal
步骤3 设置RIPng管理距离
Switch(config)# router ipv6 rip
Switch(config-router)# distance 100
Switch(config-router)# exit
步骤4 退出配置模式
Switch(config)# end
步骤4 检查配置
查看Switch2 显示结果:
Switch# show ipv6 route rip
R 2001:db8:48::/64 [100/5]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:00:09
你可以将静态路由,直连路由以及其他路由协议比如OSPFv3的路由重分布到RIP中并被RIPng发送给它的邻居。
默认RIPng的重发布Metric为1,最大16。
将特定的路由重发布到RIPng上,其度量值可以是默认的,也可以是修改后的。
RIPng redistribute
下面例子讲述如何重分布其他的路由信息到RIPng。
步骤1 检查当前配置
Switch1 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
Switch2 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-13
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:13::1/64
ipv6 router ospf area 0
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
router ipv6 ospf
router-id 1.1.1.1
Switch3 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-1
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:1::1/64
ipv6 router ospf area 0
!
interface eth-0-13
no switchport
ipv6 address 2001:db8:13::2/64
ipv6 router ospf area 0
!
router ipv6 ospf
router-id 2.2.2.2
!
查看Switch1 RIPng 运行状态:
Switch# show ipv6 route rip
R 2001:ab8:48::/64 [120/5]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 01:43:37
查看Switch2 RIPng 运行状态:
Switch# show ipv6 route
O 2001:db8:1::/64 [110/2]
via fe80::5c37:1dff:febe:2d00, eth-0-13, 00:31:17
R 2001:db8:48::/64 [100/5]
via fe80::7e14:63ff:fe76:8900, eth-0-12, 00:49:57
以下配置在Switch2 进行:
步骤2 进入配置模式
Switch# configure terminal
步骤3 指定默认的Metric,配置重发布
Switch(config)# router ipv6 rip
Switch(config-router)# default-metric 2
Switch(config-router)# redistribute ospfv3 metric 5
Switch(config-router)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
查看Switch1 显示结果:
Switch# show ipv6 route rip
R 2001:ab8:48::/64 [120/5]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 01:48:23
R 2001:db8:1::/64 [120/6]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:00:19
通常情况下,连接到组播网络并且使用距离矢量路由协议的路由器,需要使用水平分割机制来避免环路。
配置水平分割可以使得从一个接口学到的路由不能通过此接口向外发布,这通常优化了多个路由器之间的通信,尤其在链路中断时。
配置毒性逆转可以使得从一个接口学到的路由还从这个接口向外发布,但这些路由的度量值已设置为16(即路由不可达)。
RIPng Split-horizon
步骤1 检查当前配置
Switch1 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
Switch2 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
打开Switch2 debug开关:
Switch# debug ipv6 rip packet send detail
Switch# terminal monitor
以下配置在Switch2 进行:
步骤2 进入配置模式
Switch# configure terminal
步骤3 在接口配置模式下设置水平分割
禁用水平分割:
Switch(config)#interface eth-0-12
Switch(config-if)# no ipv6 rip split-horizon
Switch(config-if)# exit
系统log:
Oct 24 10:00:06 Switch RIPNG6-7: SEND[eth-0-12]: Send to [ff02::9]:521
Oct 24 10:00:06 Switch RIPNG6-7: SEND[eth-0-12]: RESPONSE version 1 packet size 64
Oct 24 10:00:06 Switch RIPNG6-7: 2001:ab8:49::/64 metric 4 tag 0
Oct 24 10:00:06 Switch RIPNG6-7: 2001:db8:12::/64 metric 1 tag 0
Oct 24 10:00:06 Switch RIPNG6-7: 2001:db8:48::/64 metric 5 tag 0
启用水平分割:
Switch(config)#interface eth-0-12
Switch(config-if)# ipv6 rip split-horizon
Switch(config-if)# exit
系统log:
Oct 24 10:05:16 Switch RIPNG6-7: SEND[eth-0-12]: Send to [ff02::9]:521
Oct 24 10:05:16 Switch RIPNG6-7: SEND[eth-0-12]: RESPONSE version 1 packet size 44
Oct 24 10:05:16 Switch RIPNG6-7: 2001:ab8:49::/64 metric 4 tag 0
Oct 24 10:05:16 Switch RIPNG6-7: 2001:db8:12::/64 metric 1 tag 0
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show ipv6 rip interface
eth-0-12 is up, line protocol is up
Routing Protocol: RIPng
Passive interface: Disabled
Split horizon: Disabled
IPv6 interface address:
2001:ab8:48::2/64
2001:db8:12::2/64
fe80::7eff:80ff:fef4:ff00/10
RIPng受多个定时器的控制,比如路由更新的频率,路由失效的时间等等。您可以调整这些计时器以调整RIPng的性能,以更好地满足您的互联网工作的需要。如下参数可供调整:
•Update定时器,定义了发送更新报文的时间间隔。
•Timeout 定时器,定义了路由老化时间。如果在老化时间内没有收到关于某条路由的更新报文,则该条路由在路由表中的度量值将会被设置为16。
•Garbage-Collect 定时器,定义了一条路由从度量值变为16开始,直到它从路由表里被删除所经过的时间。
使用如下所示的命令配置Timer:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入RIPng配置模式,设置定时器
指定路由表 update timer 10秒,指定路由信息超时180秒,垃圾信息收集时间120秒:
Switch(config)# router ipv6 rip
Switch(config-router)# timers basic 10 180 120
Switch(config-router)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
使用如下命令,验证上述配置:
Switch# show ipv6 protocols rip
Routing Protocol is "ripng"
Sending updates every 10 seconds with +/-5 seconds, next due in 5 seconds
Timeout after 180 seconds, garbage collect after 120 seconds
Outgoing update filter list for all interface is not set
Incoming update filter list for all interface is not set
Outgoing routes will have 3 added to metric if on list ripng_acl
Default redistribute metric is 2
Redistributing:
Interface
eth-0-12
eth-0-48
Routing for Networks:
Number of routes (including connected): 3
Distance: (default is 100)
路由器提供路由信息过滤功能,通过指定访问控制列表和地址前缀列表,可以配置入口或出口过滤策略,对接收或发布的路由进行过滤。一个路由过滤列表通常包括如下参数:
•一个被用作过滤器的ACL或prefix list。
•In方向:过滤器被应用在学习到的路由上;Out方向:过滤器被应用在发布的路由上。
•应用过滤器的接口(可选)。
RIPng Route Distribute Filters
步骤1 检查当前配置
Switch1 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:db8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
Switch2 当前配置:
Switch# show running-config
!
ipv6 enable
!
interface eth-0-12
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:12::2/64
ipv6 router rip
!
interface eth-0-13
no switchport
ipv6 address auto link-local
ipv6 address 2001:db8:13::1/64
ipv6 router rip
!
interface eth-0-48
no switchport
ipv6 nd ra mtu suppress
ipv6 address auto link-local
ipv6 address 2001:ab8:48::2/64
ipv6 router rip
!
router ipv6 rip
!
查看Switch1 RIPng 运行状态:
Switch# show ipv6 route rip
R 2001:ab8:48::/64 [120/5]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:18:29
R 2001:db8:13::/64 [120/2]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:03:37
以下配置在Switch2 进行:
步骤2 进入配置模式
Switch# configure terminal
步骤3 创建IPv6 Prefix 列表
Switch(config)# ipv6 prefix-list ripngfilter seq 5 deny 2001:db8:48::/64
Switch(config)# ipv6 prefix-list ripngfilter seq 10 permit any
步骤4 在RIPng配置模式中应用列表
Switch(config)# router ipv6 rip
Switch(config-router)# distribute-list prefix ripngfilter out eth-0-12
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show ipv6 route rip
R 2001:db8:13::/64 [120/2]
via fe80::1271:d1ff:fec8:3300, eth-0-12, 00:03:37
无
路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现。地址前缀列表是路由策略的一种,作用比较灵活。一个地址前缀列表由前缀列表名标识。每个前缀列表可以包含多个表项,每个表项可以独立指定一个网络前缀形式的匹配范围,并用一个索引号来标识,索引号指明了进行匹配检查的顺序。在匹配的过程中,交换机按升序依次检查由索引号标识的各个表项。只要有某一表项满足条件,就意味着本次匹配过程结束,而不再进行下一个表项的匹配。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置IPv6 Prefix 列表
Switch(config)# ipv6 prefix-list test seq 1 deny 2001:db8::1/32 le 48
Switch(config)# ipv6 prefix-list test permit any
Switch(config)# ipv6 prefix-list test description this ipv6 prefix list is fot test
Switch(config)# ipv6 prefix-list test permit 2001:abc::1/32 le 48
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show ipv6 prefix-list detail
Prefix-list list number: 1
Prefix-list entry number: 3
Prefix-list with the last deletion/insertion: test
ipv6 prefix-list test:
Description: this ipv6 prefix list is fot test
count: 3, range entries: 0, sequences: 1 - 10
seq 1 deny 2001:db8::1/32 le 48 (hit count: 0, refcount: 0)
seq 5 permit any (hit count: 0, refcount: 0)
seq 10 permit 2001:abc::1/32 le 48 (hit count: 0, refcount: 0)
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置IPv6 Prefix 列表
Switch(config)# ipv6 prefix-list aa seq 11 deny 2001:db8::1/32 le 48
Switch(config)# ipv6 prefix-list aa permit any
步骤3 应用IPv6 Prefix 列表
Switch(config)# router ipv6 rip
Switch(config-router)# distribute-list prefix aa out
Switch(config-router)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch# show ipv6 prefix-list
ipv6 prefix-list aa: 2 entries
seq 11 deny 1:db8::1/32 le 48
seq 15 permit any
Switch# show running-config
Building configuration...
…
ipv6 prefix-list aa seq 11 deny 1:db8::1/32 le 48
ipv6 prefix-list aa seq 15 permit any
…
router ipv6 rip
distribute-list prefix aa out
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置IPv6 Prefix 列表
Switch(config)# ipv6 prefix-list ripng_pre_1 seq 11 permit fe80::a8f0:d8ff:fe7d:c501/128
Switch(config)# ipv6 prefix-list ripng_pre_1 permit any
步骤3 创建Route map并应用IPv6 Prefix 列表
Switch(config)# route-map ripng_rmap permit
Switch(config-route-map)# match ipv6 address prefix-list ripng_pre_1
Switch(config-route-map)# set local-preference 200
Switch(config-route-map)# exit
步骤4 在RIPng中应用route map
Switch(config)# router ipv6 rip
Switch(config-router)# redistribute static route-map ripng_rmap
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch # show route-map
route-map ripng_rmap, permit, sequence 10
Match clauses:
ipv6 next-hop prefix-list ripng_pre_1
Set clauses:
ipv6 next-hop local fe80::1
Switch # show running-config
Building configuration...
…
ipv6 prefix-list ripng_pre_1 seq 11 permit fe80::a8f0:d8ff:fe7d:c501/128
ipv6 prefix-list ripng_pre_1 seq 15 permit any
!
!
route-map ripng_rmap permit 10
match ipv6 next-hop prefix-list ripng_pre_1
set ipv6 next-hop local fe80::1
!
router ipv6 rip
redistribute static route-map ripng_rmap
!
ipv6 route 2001:dbc::/64 fe80::a8f0:d8ff:fe7d:c501 eth-0-9
!
Switch# show ipv6 rip database
S 2001:dbc::/64 fe80::1 eth-0-9 1 0
无
随着Internet网络的不断发展,网络数据、语音、视频信息等多种交互业务与日俱增。另外,新兴的电子商务、网上会议、网上拍卖、视频点播、远程教学等对带宽和实时数据交互要求较高的服务逐渐兴起,这些服务对信息安全性、可计费性、网络带宽提出了更高的要求。
当网络中需要某信息的用户量不确定时,单播和广播方式的效率会很低,IPv6组播技术的出现改变了这一现状。当网络中的某些用户需要特定信息时,组播信息发送者(即组播源)仅发送一次信息,借助组播路由协议为组播数据包建立树型路由,被传递的信息在距离用户端尽可能近的节点才开始复制和分发。
通过组播路由协议,多个接收者能跨越不同网络接收到组播数据。
•MLD(Multicast Listener Discovery,组播侦听发现协议)是IPv6协议族中负责IPv6组播成员管理的协议。它用来在IPv6主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
•PIMv6(Protocol Independent Multicast,协议无关组播),用于IPv6组播路由器或多层交换机之间。为IPv6组播提供路由的单播路由协议,可以是静态路由、RIPng、OSPFv3 等,组播路由和单播路由协议无关,只要单播路由协议能产生路由表项即可。借助RPF(Reverse Path Forwarding,逆向路径转发)机制,PIMv6实现了在网络中传递组播信息。为了描述上的方便,我们把由支持PIMv6协议的组播路由器所组成的网络称为PIMv6组播域,PIMv6有两种模式:密集模式和稀疏模式,我们目前只支持稀疏模式。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置组播路由的最大规格
Switch(config)# ipv6 multicast route-limit 1000
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show ipv6 mroute route-limit
IPv6 Max Multicast Route Limit Number: 1000
IPv6 Multicast Route Limit Warning Threshold: 1000
IPv6 Multicast Hardware Route Limit: 255
IPv6 Current Multicast Route Entry Number: 0
无
参与IPv6组播的主机、路由器、多层交换机必须具备MLD功能。该协议定义了查询器和主机角色:
•网络设备的查询器发送查询消息给网络中特定组来发现组播中的成员。
•主机发送MLD报告报文(响应查询报文)来通知查询者主机要加入相应的组播组列表中。
•一个组播组的成员是动态的,主机可以随时加入和离开。一个多播组成员在位置或数量上没有限制。
•一个主机可同时加入多个组播组。在网络中,组播组的存在可以持续很长一段时间,也可以非常短暂。
MLD报文使用下面的组播地址:
•MLD普通组查询以ff02::1为目的地址(在一个子网中的所有系统)。
•MLD特定组的查询以特定组IPv6地址为目的查询。
•MLD组成员发送Report报文给特定的组播IPv6地址。
•MLD版本1(MLDv1)离开组播组时,发送离开消息给ff02::2。
MLD模块是基于以下RFC
•RFC 2710
•RFC 3810
MLD的使能依赖于PIMv6的使能,当接口上使能PIMv6,MLD将会在接口上自动启用。
在MLD开始工作之前,IPv6转发和IPv6组播路由必须在全局模式启用。
系统支持动态学习MLD组记录,也可以配置静态MLD组。
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6和ipv6组播
Switch(config)# ipv6 enable
Switch(config)# ipv6 multicast-routing
步骤3 进入接口配置模式,配置地址和使能pim sparse mode
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:1::1/64
Switch(config-if)# ipv6 pim sparse-mode
步骤4 配置MLD接口参数(可选)
Switch(config-if)# ipv6 mld version 2
Switch(config-if)# ipv6 mld query-interval 120
Switch(config-if)# ipv6 mld query-max-response-time 12
Switch(config-if)# ipv6 mld robustness-variable 3
Switch(config-if)# ipv6 mld last-member-query-count 3
Switch(config-if)# ipv6 mld last-member-query-interval 2000
步骤5 配置最大MLD组数目(可选)
配置接口最大MLD组数目为1000:
Switch(config-if)# ipv6 mld limit 1000
Switch(config-if)# exit
配置全局最大MLD组数目为2000:
Switch(config)# ipv6 mld limit 2000
步骤6 配置静态MLD组
Switch(config)# interface eth-0-1
Switch(config-if)# ipv6 mld static-group ff0e::1234
Switch(config-if)# exit
步骤7 配置MLD代理(可选)
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# ipv6 mld proxy-service
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# ipv6 mld mroute-proxy eth-0-1
Switch(config-if)# exit
步骤8 退出配置模式
Switch(config)# end
步骤9 检查配置
显示MLD接口信息:
Switch# show ipv6 mld interface
Interface eth-0-2 (Index 2)
MLD Inactive, Version 1 (default)
MLD mroute-proxy interface is eth-0-1
MLD global limit is 2000
MLD global limit states count is currently 0
MLD interface limit is 4096
MLD interface has 0 group-record states
MLD activity: 0 joins, 0 leaves
MLD query interval is 125 seconds
MLD querier timeout is 255 seconds
MLD max query response time is 10 seconds
Last member query response interval is 1000 milliseconds
Group Membership interval is 260 seconds
Last memeber query count is 2
Robustness Variable is 2
Interface eth-0-1 (Index 1)
MLD Inactive, Configured for Version 2 proxy-service
MLD host version 2
MLD global limit is 2000
MLD global limit states count is currently 0
MLD interface limit is 1000
MLD interface has 0 group-record states
MLD activity: 0 joins, 0 leaves
MLD query interval is 120 seconds
MLD querier timeout is 366 seconds
MLD max query response time is 12 seconds
Last member query response interval is 2000 milliseconds
Group Membership interval is 372 seconds
Last memeber query count is 3
Robustness Variable is 3
显示MLD 组信息:
Switch# show ipv6 mld groups
MLD Connected Group Membership
Group Address Interface Expires
ff0e::1234 eth-0-1 stopped
无
协议无关组播稀疏模式(PIMv6-SM)是一个组播路由协议,用来将稀疏分散的组播设备联系起来协同工作。它将有助于分散的网络节点节约带宽和通过发送单一流量到多个接收者来降低网络流量。
PIMv6-SM使用的IP组播模型中,接收者需要主动发起请求成为组成员。支持共享和最短路径树,并使用软状态机制,以适应不断变化的网络条件。它依赖于单播路由协议来建立和维护路由器间的组播路由。
PIMv6-SM模块基于以下IETF标准: RFC 4601
相关术语:
•汇聚点(RP):RP(Rendezvous Point)在SM模式中作为组播的汇聚点,发送者和接收者在RP处进行汇聚。对于所有的组播路由器,必须知道某个组播组对应哪个RP。所有的组播数据需要在RP上注册,然后所有需要组播数据的接收者通过向RP发送JOIN报文来请求数据。源的注册机制就是让RP知道现在网络内有什么源的数据。
•组播路由信息库(MRIB):反向路径转发是指路由器在接受数据包从源A通过接口IF1时,只有IF1是到达源A的出接口时才会接受这个包。反向路径转发通过使用单播路由表来决定入端口是否正确。这个数据包将被转发是由于单播路由表表明了接口IF1是到达源A的最短路径。单播路由表为组播数据选择最短路径。
•组播树状态信息库(TIB):组播树状态信息库是组播路由器上保存所有组播转发树信息的一个信息库,通过收到PIMv6加入/剪枝消息,Assert消息和MLD消息建立起来。
•上游Upstream:朝向树根,树根可能是源或RP。
•下游Downstream:远离树根,树根可能是源或RP。
•基于源的树:基于源的树的转发路径是到达源的最短转发路径,如果单播路由度量是跳数,基于源的树的转发路径的跳数最小,如果单播路由度量是延迟,基于源的树的转发路径的延迟最小。对于每个组播源,有一个对应的组播转发树直接将源和接收者连接起来。所有发往指定组的流量沿着对应的转发树进行转发。
•共享树:共享树依赖于汇聚点(RP),所有流量从源发往那个汇聚点,然后汇聚点再将流量发送给接收者。对于每一个组播组来说,不管有多少个源,只有一个转发树。共享树是单向的,流量只会从RP流向接收者。如果一个源要发送组播数据,首先组播数据要被发到RP,然后在从RP发送到接收者。
•自举路由器(BSR):当一个组播源开始发送组播数据或者一个接收者开始发送加入信息到RP,组播路由器必须知道汇聚点的信息。自举路由器负责在PIMv6-SM网络启动后,收集网络内的RP信息,为每个组选举出RP,然后将RP集(即组-RP映射数据库)发布到整个PIMv6-SM网络。
•(数据流从源到接收者)发送Hello消息:PIMv6路由器定期的发送Hello消息来发现PIMv6路由器邻居。Hello消息是组播报文,使用ff02::d这个地址。PIMv6路由器对Hello消息进行响应,Hello消息中的Hold时间来决定信息的有效时间。
•选举指定路由器:在一个多路访问的网络中如果有多个组播路由器,只能有一个组播路由器被选为指定路由器,负责为本地网络的组播接收者往RP发送加入/剪枝消息。
•RP发现:PIMv6-SM通过自举路由器来产生自举消息,然后发布RP信息给所有的组播路由器。组播路由器接收和保存自举消息,当DR从直连host收到一个MLD报文或组播数据,DR计算出该组播组的RP,然后发送加入/剪枝到RP或者封装register报文到RP。在小网络环境下可以静态指定RP。
•加入共享树:要加入一个多播组,主机发送一个MLD消息给上游路由器,组播路由器向RP方向的上游的PIMv6邻居发送加入报文。当组播路由器接收到下游设备的加入请求后,检查本地的组播组是否存在。如果存在,说明加入消息被送到共享树,收到消息的接口被称为outgoing的接口。如果不存在,条目将被创建,收到消息接口的被加入到outgoing中并再次向RP方向的上游的PIMv6邻居发送加入报文。
•组播源注册:与组播源S直接相连的路由器接收到该组播报文后,就将该报文封装成Register注册报文,并单播发送给对应的RP。当RP接收到来自组播源S的注册消息后,一方面解封装注册消息并将组播信息沿着RPT树转发到接收者,另一方面朝组播源S逐跳发送(S,G)加入消息,从而让RP和组播源S之间的所有路由器上都生成了(S,G)表项,这些沿途经过的路由器就形成了SPT树的一个分支。SPT源树以组播源S为根,以RP为目的地组播源S发出的组播信息沿着已经建立好的SPT树到达RP,然后由RP将信息沿着RPT共享树进行转发。
•发送注册停止消息:当RP从组播源接收到注册报文后也收到未封装的组播报文,将发送注册停止消息给组播源一侧的DR,当DR收到注册停止消息后将不再发送注册消息给RP了。
•剪枝端口:接收者侧的组播路由器向RP方向的上游的PIMv6邻居发送剪枝报文,当上联组播路由器收到剪枝报文后,将收到剪枝报文的端口从转发端口中删除,当本路由器上没有其他接收者后会继续向RP方向的上游的PIMv6邻居发送剪枝报文。
•转发组播数据:PIMv6-SM路由器将组播数据发往那些已经明确表示加入组播组的接收者。组播路由器将进行RPF检查,只有检查通过的组播数据包才将通过出端口发送出去。
PIMv6-SM是一个软状态协议。要求所需的接口上启用PIMv6-SM协议,并通过静态或动态的方法正确配置的RP信息。所有组播组的状态依据MLD报告/离开和PIMv6加入/剪枝消息动态的维护。
PIMv6 Sparse-mode
下面的例子中使用的网络拓扑如上图。
例子中Switch1是RP,所有的路由器都配置静态RP:
•每个路由器配置静态RP地址2001:1::1。
•所有接口上必须启用PIMv6-SM功能。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6和ipv6组播
Switch(config)# ipv6 enable
Switch(config)# ipv6 multicast-routing
步骤3 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:1::1/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:9::1/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
Switch2的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:2::1/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:9::2/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
步骤4 配置静态单播路由
在switch1配置:
Switch(config)# ipv6 route 2001:2::/64 2001:9::2
在switch2配置:
Switch(config)# ipv6 route 2001:1::/64 2001:9::1
步骤5 配置静态RP地址
Switch(config)# ipv6 pim rp-address 2001:1::1
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
所有的路由器配置使用相同的RP地址2001:1::1,使用以下命令来验证RP的配置,接口的详细信息和组播路由表。
在Switch1上,显示PIMv6稀疏模式RP映射的命令表明2001:1::1是对所有组播组ff00::/8静态配置的RP。所有其他路由器都会有类似的输出:
Switch# show ipv6 pim sparse-mode rp mapping
PIM Group-to-RP Mappings
Group(s): ff00::/8, Static
RP: 2001:1::1
Uptime: 00:00:04
Embedded RP Groups:
显示Switch1接口的组播信息。
Switch# show ipv6 pim sparse-mode interface
Interface VIFindex Ver/ Nbr DR
Mode Count Prior
eth-0-1 2 v2/S 0 1
Address : fe80::fc94:efff:fe96:2600
Global Address: 2001:1::1
DR : this system
eth-0-9 0 v2/S 0 1
Address : fe80::fc94:efff:fe96:2600
Global Address: 2001:9::1
DR : this system
显示PIMv6-SM的组播路由表。
Switch1 显示结果:
Switch# show ipv6 pim sparse-mode mroute detail
IPv6 Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
*, ff0e::1234:5678
Type: (*,G)
Uptime: 00:01:37
RP: 2001:1::1, RPF nbr: None, RPF idx: None
Upstream:
State: JOINED, SPT Switch: Enabled, JT: off
Macro state: Join Desired,
Downstream:
eth-0-1:
State: NO INFO, ET: off, PPT: off
Assert State: NO INFO, AT: off
Winner: ::, Metric: 4294967295, Pref: 4294967295, RPT bit: on
Macro state: Could Assert, Assert Track
Local Olist:
eth-0-1
Switch2 显示结果:
Switch# show ipv6 pim sparse-mode mroute detail
IPv6 Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 0
(S,G,rpt) Entries: 0
FCR Entries: 0
*, ff0e::1234:5678
Type: (*,G)
Uptime: 00:00:06
RP: 2001:1::1, RPF nbr: None, RPF idx: None
Upstream:
State: JOINED, SPT Switch: Enabled, JT: off
Macro state: Join Desired,
Downstream:
eth-0-1:
State: NO INFO, ET: off, PPT: off
Assert State: NO INFO, AT: off
Winner: ::, Metric: 4294967295, Pref: 4294967295, RPT bit: on
Macro state: Could Assert, Assert Track
Local Olist:
eth-0-1
在小型并且简单的网络中,组播信息量少,全网络仅依靠一个RP进行信息转发即可,此时可以在SM域中各路由器上静态指定RP位置。但是更多的情况下,PIMv6-SM网络规模都很大,通过RP转发的组播信息量巨大,为了缓解RP的负担同时优化共享树的拓扑结构,不同组播组应该对应不同的RP,此时就需要自举机制来动态选举RP。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6和ipv6组播
Switch(config)# ipv6 enable
Switch(config)# ipv6 multicast-routing
步骤3 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:1::1/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:9::1/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
Switch2的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:2::1/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:9::2/64
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# exit
步骤4 配置静态单播路由
在switch1配置:
Switch(config)# ipv6 route 2001:2::/64 2001:9::2
在switch2配置:
Switch(config)# ipv6 route 2001:1::/64 2001:9::1
步骤5 配置候选RP接口
在switch1配置:
Switch(config)# ipv6 pim rp-candidate eth-0-1
在switch2配置:
Switch(config)# ipv6 pim rp-candidate eth-0-9
步骤6 配置候选BSR接口
在switch2配置:
Switch(config)# ipv6 pim bsr-candidate eth-0-9
选择最高优先级的路由器为RP。如果有两个或多个路由器的优先级相同,使用BSR机制的哈希函数来选择RP,确保在PIMv6域内所有路由器的同一个组都选择相同的RP。可以使用ipv6 pim rp-candidate IFNAME PRIORITY命令来改变候选RP的默认的优先级。
步骤7 退出配置模式
Switch(config)# end
步骤8 检查配置
使用show ipv6 pim sparse-mode rp mapping命令,来显示组-RP的映射的详细信息,输出内容是候选RP信息。在这个例子中,组的范围ff00::/8,有两个候选RP。候选RP 2001:1::1默认的优先级192,候选RP 2001:9::2的优先级被配置为2。由于候选RP 2001:1::1由于具有更高的优先权,它被选中作为组播组ff00::/8的RP。
Switch2 显示结果:
Switch# show ipv6 pim sparse-mode rp mapping
PIM Group-to-RP Mappings
This system is the Bootstrap Router (v2)
Group(s): ff00::/8
RP: 2001:9::2
Info source: 2001:9::2, via bootstrap, priority 2
Uptime: 00:00:32, expires: 00:02:02
RP: 2001:1::1
Info source: 2001:1::1, via bootstrap, priority 192
Uptime: 00:00:31, expires: 00:02:03
Embedded RP Groups:
要显示特定组的RP路由器的信息,使用下面的命令。此输出显示,2001:9::2已经被选择作为ff02::1234的组播组的RP。
Switch2 显示结果:
Switch# show ipv6 pim sparse-mode rp-hash ff02::1234
Info source: 2001:9::2, via bootstrap
RP信息需要通知域中的所有PIMv6路由器,通过各种状态机保持所有路由器的组成员的加入/剪枝的结果。要显示接口的详细信息和组播路由表的信息,请参见以上配置RP的静态部分。
BSR
每个组播组需要有一个为它服务的RP,这个RP作为基于组播组的分发树的根。为了组播数据能从发送者到达接收者,在一个组播域内的组播路由器需要使用同样的组播组-RP的映射。为了选择指定组播组的RP,组播路由器需要维护一系列的组播组-RP的映射关系,这被称为RP集。自举路由器的机制就是用来让在同一个组播域内的组播路由器能够学习到这个RP集。
BSR是PIMv6-SM网络里的管理核心,主要负责:
•负责收集网络中Candidate-RP(C-RP)发来的Advertisement宣告信息。
•为每个组播组选择部分C-RP信息以组成RP-Set集(即组播组和RP的映射数据库)。
•发布到整个PIMv6-SM网络,从而使网络内的所有路由器(包括DR)都会知道RP的位置。
在一个PIMv6域中,需要配置一个或多个候选BSR,候选BSR之间通过自动选举,产生自举路由器BSR,负责收集并发布RP信息。下面简单描述一下候选BSR之间的自动选举:
•在将路由器配置为候选BSR时,必须同时指定一个启动了PIMv6-SM的接口。
•每个候选BSR开始都认为自己是本PIMv6-SM的BSR,并使用这个接口的IPv6地址作为BSR地址,发送自举报文(Bootstrap message)。
•当候选BSR收到其它路由器发来的自举报文时,它将新收到的自举报文的BSR地址与自己的BSR地址进行比较,比较标准包括优先级和IPv6地址,优先级相同的情况下,较大的IPv6地址被认为是更好的。如果前者更好,则将这个新的BSR地址替换自己的BSR地址,并且不再认为自己是BSR。否则,保留自己的BSR地址,继续将自己视为BSR。
•备选RP将自己的RP信息报告给自举路由器,然后自举路由器将汇聚的RP集通过自举报文发布到整个组播域的所有路由器。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6和ipv6组播
Switch(config)# ipv6 enable
Switch(config)# ipv6 multicast-routing
步骤3 指定BSR候选接口
在switch1配置:
Switch(config)# ipv6 pim bsr-candidate eth-0-1
在switch2配置:
Switch(config)# ipv6 pim bsr-candidate eth-0-1 10 25
步骤4 指定RP候选接口
在switch2配置:
Switch(config)# ipv6 pim rp-candidate eth-0-1 priority 0
步骤5 进入接口配置模式,配置接口属性
Switch2的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# ipv6 pim dr-priority 10
Switch(config-if)# ipv6 pim unicast-bsm
Switch(config-if)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
检查候选BSR路由器
Switch# show ipv6 pim sparse-mode bsr-router
PIM6v2 Bootstrap information
This system is the Bootstrap Router (BSR)
BSR address: 2001:9::1 (?)
Uptime: 00:01:27, BSR Priority: 64, Hash mask length: 126
Next bootstrap message in 00:00:16
Role: Candidate BSR
State: Elected BSR
检查候选BSR路由器
Switch# show ipv6 pim sparse-mode bsr-router
PIM6v2 Bootstrap information
BSR address: 2001:9::1 (?)
Uptime: 00:01:34, BSR Priority: 64, Hash mask length: 126
Expires: 00:01:51
Role: Candidate BSR
State: Candidate BSR
Candidate RP: 2001:9::2(eth-0-9)
Advertisement interval 60 seconds
Next C-RP advertisement in 00:00:35
在 E-BSR上检查RP
Switch# show ipv6 pim sparse-mode rp mapping
PIM Group-to-RP Mappings
This system is the Bootstrap Router (v2)
Group(s): ff00::/8
RP: 2001:9::2
Info source: 2001:9::2, via bootstrap, priority 0
Uptime: 00:45:37, expires: 00:02:29
Embedded RP Groups:
在C-BSR上检查RP
Switch# show ipv6 pim sparse-mode rp mapping
PIM Group-to-RP Mappings
Group(s): ff00::/8
RP: 2001:9::2
Info source: 2001:9::1, via bootstrap, priority 0
Uptime: 00:03:14, expires: 00:01:51
Embedded RP Groups:
PIMv6-SSM可以跟PIMv6-SM在组播路由器上一起工作。PIMv6-SSM默认是disable的。
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能PIMv6-ssm
Switch(config)# ipv6 pim ssm default
Switch(config)# ipv6 pim ssm range ipv6acl
步骤3 退出配置模式
Switch(config)# end
无
协议无关组播密集模式(PIMv6-DM)是一个组播路由协议,用来将密集分布的组播设备联系起来协同工作。它将有助于分散的网络节点节约带宽和通过发送单一流量到多个接收者来降低网络流量。
PIMv6-DM设想当一个组播源开始发送组播流的时候,所有的下游系统都期望接受这个组播流。刚开始组播流被泛洪到整个网络。当泛洪的时候,PIMv6-DM使用RPF来防止组播流的环路。如果某些网络区域没有该组播组的接收成员,PIMv6-DM会把转发分支通过剪枝来删除掉。
剪枝状态有一个生命周期,当生命周期超时后,组播数据将再一次开始转发,每个(S,G)对应的组播组都有自己的剪枝状态。当某个组播组有新的接收者出现在已经被剪枝的区域里,路由器会通过朝组播源发送"graft"消息来把剪枝状态转换成转发路径。
PIMv6-DM模块基于以下IETF标准: RFC 3973
PIMv6-DM是一个软状态协议,要求在所需的接口上启用PIMv6-DM协议,所有组播组的状态通过MLD报告/离开消息和PIMv6消息来动态的维护。
PIMv6 dense-mode
本节提供了一个PIMv6-DM配置的相关的场景。下面的例子中使用的网络拓扑如上图; 组播流从Switch1的eth-0-1口进来,接收者来与Switch2的eth-0-1相连。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能ipv6和ipv6组播
Switch(config)# ipv6 enable
Switch(config)# ipv6 multicast-routing
步骤3 进入接口配置模式,配置接口属性
Switch1的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:1::1/64
Switch(config-if)# ipv6 pim dense-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:2::1/64
Switch(config-if)# ipv6 pim dense-mode
Switch(config-if)# exit
Switch2的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:3::1/64
Switch(config-if)# ipv6 pim dense-mode
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:2::2/64
Switch(config-if)# ipv6 pim dense-mode
Switch(config-if)# exit
步骤4 配置静态单播路由
在switch1配置:
Switch(config)# ipv6 route 2001:3::/64 2001:2::2
在switch2配置:
Switch(config)# ipv6 route 2001:1::/64 2001:2::1
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
用 show ipv6 pim dense-mode interface来显示Switch1上接口的详细信息.
Switch# show ipv6 pim dense-mode interface
Neighbor Address Interface VIFIndex Ver/ Nbr
Mode Count
fe80::326f:c9ff:fef2:8200 eth-0-1 0 v2/D 0
fe80::326f:c9ff:fef2:8200 eth-0-9 2 v2/D 1
用 show ipv6 pim dense-mode neighbor 来显示Switch1上邻居的详细信息
Switch# show ipv6 pim sparse-mode neighbor
Neighbor Address Interface Uptime/Expires Ver
fe80::ce47:6eff:feb7:1400 eth-0-9 00:51:51/00:01:24 v2
用 show ipv6 pim dense-mode mroute来显示PIM-DM组播路由表的信息.
Switch1 显示结果:
Switch# show ipv6 pim dense-mode mroute
PIM-DM Multicast Routing Table
(2001:1::2, ff0e::1)
Source directly connected on eth-0-1
State-Refresh Originator State: Originator
Upstream IF: eth-0-1
Upstream State: Forwarding
Assert State: NoInfo
Downstream IF List:
eth-0-9, in 'olist':
Downstream State: NoInfo
Assert State: NoInfo
Switch2 显示结果:
Switch# show ipv6 pim dense-mode mroute
PIM-DM Multicast Routing Table
(2001:1::2, ff0e::1)
RPF Neighbor: none
Upstream IF: eth-0-9
Upstream State: AckPending
Assert State: Loser
Downstream IF List:
eth-0-1, in 'olist':
Downstream State: NoInfo
Assert State: NoInfo
无
MLD Snooping(Multicast Listener Discovery,MLD侦听)是运行在二层以太网交换机上的IPv6组播约束机制,用于管理和控制IPv6组播组。
二层交换机通过MLD Snooping来控制IPv6组播流量的泛洪。当二层以太网交换收到主机和路由器之间传递的MLD报文时,MLD Snooping将对MLD报文所带的信息进行分析,将端口和MAC组播地址建立起映射关系,并根据这样的映射关系转发IPv6组播数据。IPv6组播路由器定期发送通用组查询来维护IPv6组播组成员关系。所有接收者将发送MLD报告报文来响应这个查询,交换机通过这个监听MLD报告报文来建立转发表项。
二层的组播组可以通过MLD报文动态建立,也可以静态配置。静态配置的组播组将覆盖动态学习的组播组。
限制和指导:
VRRP,RIPng,OSPFv3等协议使用了IPv6组播,因此在使能了MLD Snooping的网络中,要避免使用这些IPv6组播地址,以免产生冲突而导致异常:
•VRRP使用了ff02::12,因此组播MAC 3333.0000.0012映射出的组播IPv6在MLD Snooping和VRRP的网络中避免使用。
•RIPv6使用了ff02::9,因此组播MAC 3333.0000.0009映射出的组播IPv6在MLD Snooping和RIPng的网络中避免使用。
•OSPF使用了ff02::5,因此组播MAC 3333.0000.0005映射出的组播IPv6在MLD Snooping和OSPFv3的网络中避免使用。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能mld snooping
Switch(config)# ipv6 mld snooping
步骤3 vlan使能mld snooping
Switch(config)#ipv6 mld snooping vlan 1
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch # show ipv6 mld snooping vlan 1
Global Mld Snooping Configuration
-------------------------------------------------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Disabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Report-Suppression :Enabled
Vlan 1
-----------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Disabled
Mld Snooping Report-Suppression :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Group Access-list :N/A
Mld Snooping Mrouter Port :
Mld Snooping Mrouter Port Aging Interval(sec) :255
正常情况下,MLD Snooping在接收到MLD离开报文后不会直接将端口从组播组中删除,而是发送MLD特定组查询报文,如果等待一段时间后没有得到响应,才将该端口从组播组中删除。启动快速删除功能后,MLD Snooping收到MLD离开报文时,直接将端口从组播组中删除。当端口下只有一个用户时,快速删除可以节省带宽。
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能快速离开
Switch(config)# ipv6 mld snooping fast-leave
步骤3 vlan使能快速离开
Switch(config)# ipv6 mld snooping vlan 1 fast-leave
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch# show ipv6 mld snooping vlan 1
Global Mld Snooping Configuration
-------------------------------------------------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Report-Suppression :Enabled
Vlan 1
-----------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Enabled
Mld Snooping Report-Suppression :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Group Access-list :N/A
Mld Snooping Mrouter Port :
Mld Snooping Mrouter Port Aging Interval(sec) :255
三层交换机在所连接的网段上周期性的发送MLD通用查询报文,通过解析返回的MLD主机报告报文,获知该网段内哪些组播组有成员。组播路由器周期性地发送查询报文,当得到某一组成员的MLD主机报告报文的时候,刷新该网段相应的组成员关系信息。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置mld查询参数
设置查询时间间隔和最大响应时间:
Switch(config)# ipv6 mld snooping query-interval 100
Switch(config)# ipv6 mld snooping query-max-response-time 5
仅存最后一个成员时的查询间隔:
Switch(config)# ipv6 mld snooping last-member-query-interval 2000
设置vlan1的查询参数:
Switch(config)# ipv6 mld snooping vlan 1 querier address fe80::1
Switch(config)# ipv6 mld snooping vlan 1 querier
Switch(config)# ipv6 mld snooping vlan 1 query-interval 200
Switch(config)# ipv6 mld snooping vlan 1 query-max-response-time 5
Switch(config)# ipv6 mld snooping vlan 1 querier-timeout 100
Switch(config)# ipv6 mld snooping vlan 1 last-member-query-interval 2000
Switch(config)# ipv6 mld snooping vlan 1 discard-unknown
在全局模式下设置丢弃未知组播报文:
Switch(config)# ipv6 mld snooping discard-unknown
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch # show ipv6 mld snooping querier
Global Mld Snooping Querier Configuration
-------------------------------------------------
Version :1
Last-Member-Query-Interval (msec) :2000
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :100
Global Source-Address :::
TCN Query Count :2
TCN Query Interval (sec) :10
Vlan 1: MLD snooping querier status
--------------------------------------------
Elected querier is : fe80::1
--------------------------------------------
Admin state :Enabled
Admin version :1
Operational state :Querier
Querier operational address :fe80::1
Querier configure address :fe80::1
Last-Member-Query-Interval (msec) :2000
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :200
Querier-Timeout (sec) :100
组播路由端口是交换机上连接到组播路由器的端口,可以动态学习或者静态配置。当某个VLAN的端口上收到MLD通用组查询报文或者是PIMv6 Hello报文,该端口成为这个VLAN的组播路由端口。所有从组播路由端口上收到的的MLD查询报文要在所属VLAN内广播。所有VLAN上收到MLD报告/离开报文也将从组播路由端口转发(报文抑制关闭的情况下),另外所有从该VLAN上收到的组播流量将从组播路由端口转发。
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局启用MLD Snooping的报告抑制功能
Switch(config)# ipv6 mld snooping report-suppression
步骤3 配置静态组播路由端口
Switch(config)# ipv6 mld snooping vlan 1 mrouter interface eth-0-1
步骤4 配置vlan的mld snooping属性
启用报告抑制功能和配置端口老化时间
Switch(config)# ipv6 mld snooping vlan 1 report-suppression
Switch(config)# ipv6 mld snooping vlan 1 mrouter-aging-interval 200
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch# show ipv6 mld snooping vlan 1
Global Mld Snooping Configuration
-------------------------------------------------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Discard
Mld Snooping Report-Suppression :Enabled
Vlan 1
-----------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Enabled
Mld Snooping Report-Suppression :Enabled
Mld Snooping Version :1
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Discard
Mld Snooping Group Access-list :N/A
Mld Snooping Mrouter Port :eth-0-1(static)
Mld Snooping Mrouter Port Aging Interval(sec) :200
可以通过配置TCN的时间间隔以及查询次数来适应STP收敛拓扑后的组播组学习以及更新。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置MLD Snooping查询TCN参数
设置TCN的查询次数和查询时间间隔
Switch(config)# ipv6 mld snooping querier tcn query-count 5
Switch(config)# ipv6 mld snooping querier tcn query-interval 20
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch # show ipv6 mld snooping querier
Global Mld Snooping Querier Configuration
-------------------------------------------------
Version :1
Last-Member-Query-Interval (msec) :2000
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :100
Global Source-Address :::
TCN Query Count :5
TCN Query Interval (sec) :20
Vlan 1: MLD snooping querier status
--------------------------------------------
Elected querier is : fe80::1
--------------------------------------------
Admin state :Enabled
Admin version :1
Operational state :Querier
Querier operational address :fe80::1
Querier configure address :fe80::1
Last-Member-Query-Interval (msec) :2000
Max-Query-Response-Time (sec) :5
Query-Interval (sec) :200
Querier-Timeout (sec) :100
交换机使用MLD报告抑制功能来防止同一个MLD报文重复发送给组播路由器。当MLD路由器抑制使能时(默认情况下使能抑制),交换机将第一个MLD报告报文发送给组播路由器,其余同样的MLD报告报文将不再发送给组播路由器。这样就阻止了重复MLD报告报文发送给组播路由器了。
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局启用报告抑制
Switch(config)# ipv6 mld snooping report-suppression
步骤3 vlan启用报告抑制
Switch(config)# ipv6 mld snooping vlan 1 report-suppression
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch # show ipv6 mld snooping
Global Mld Snooping Configuration
-------------------------------------------------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Disabled
Mld Snooping Version :2
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Report-Suppression :Enabled
Vlan 1
-----------
Mld Snooping :Enabled
Mld Snooping Fast-Leave :Disabled
Mld Snooping Report-Suppression :Enabled
Mld Snooping Version :2
Mld Snooping Max-Member-Number :4096
Mld Snooping Unknown Multicast Behavior :Flood
Mld Snooping Group Access-list :N/A
Mld Snooping Mrouter Port :
Mld Snooping Mrouter Port Aging Interval(sec) :255
交换机在二层端口上收到MLD报文时会建立MLD Snooping的组记录。目前系统中也支持静态配置MLD Snooping的组记录,在静态配置时需要指定组地址,二层端口,以及二层端口所属的VLAN。
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置静态组播组
Switch(config)# ipv6 mld snooping vlan 1 static-group ff0e::1234 interface eth-0-2
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch# show ipv6 mld snooping groups
VLAN Interface Group Address Uptime Expire-time
1 eth-0-2 ff0e::1234 00:00:02 stopped
无
在传统的IPv6组播点播方式下,汇聚组播路由器下连一些接入交换机,接入交换机上连接了分布在不同VLAN中的用户。当这些不同VLAN的用户点播相同Group的节目时,汇聚的组播路由器需要为每个VLAN内的用户复制一份数据,每个VLAN的组播流量都要占用接入交换机的带宽。这样既增加了汇聚路由器的负担,也浪费接入设备的带宽。
MVR6(IPv6组播VLAN注册)功能能够很好的解决这个问题。在靠近用户侧的接入交换机上启用组播VLAN,汇聚路由器只需把组播数据在源VLAN内发送给接入交换机,而不必在每个用户VLAN内都复制一份,接入交换机收到组播数据后再根据用户请求进行复制,给每个VLAN内的用户发送一份组播数据。从而节省了网络带宽,也减轻了三层设备的负担。
MVR6依赖于MLD Snooping进行工作,而且只有MVR6全局配置的Group才会生效。如果在MVR6的下游口上接收的MLD报文中组播组不在MVR6全局Group中,该报文将被忽略。通过在MVR6的下游口上接收的MLD报告/离开报文来维护接收者信息,MVR6上游口收到IPv6组播数据后根据下游口的IPv6组播组信息来决定将IPv6组播数据从哪些VLAN的端口转发出去。
无
MVR6
步骤1 进入配置模式
在Switch配置:
Switch# configure terminal
在Router配置:
Router# configure terminal
步骤2 进入vlan配置模式,创建vlan
在Switch配置:
Switch(config)# vlan database
Switch(config-vlan)# vlan 111,10,30
Switch(config-vlan)# quit
步骤3 进入接口配置模式,配置接口属性
Router的接口配置:
Router(config)# interface eth-0-1
Router(config-if)# no switchport
Router(config-if)# no shutdown
Router(config-if)# ipv6 address 2001:1::1/64
Router(config-if)# ipv6 pim sparse-mode
Router(config-if)# end
Switch的接口配置:
Switch(config)# interface vlan 111
Switch(config-if)# exit
Switch(config)# interface vlan 10
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan111
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport access vlan10
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# switchport access vlan30
Switch(config-if)# exit
步骤4 启用MVR6
在switch启用MVR6,这样从Router到Switch只会拷贝一份组播流,在Switch上再将这个组播流从eth-0-2和eth-0-3发送出去。
Switch(config)# no ipv6 multicast-routing
Switch(config)# mvr6
Switch(config)# mvr6 vlan 111
Switch(config)# mvr6 group ff0e::1234 64
Switch(config)# mvr6 source-address fe80::1111
Switch(config)# interface eth-0-1
Switch(config-if)# mvr6 type source
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# mvr6 type receiver vlan 10
Switch(config-if)# exit
Switch(config)# interface eth-0-3
Switch(config-if)# mvr6 type receiver vlan 30
Switch(config-if)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Router 的显示结果:
Router# show ipv6 mld groups
MLD Connected Group Membership
Group Address Interface Expires
ff0e::1234 eth-0-2 00:03:01
ff0e::1235 eth-0-2 00:03:01
ff0e::1236 eth-0-2 00:03:01
ff0e::1237 eth-0-2 00:03:01
ff0e::1238 eth-0-2 00:03:01
…………
ff0e::1273 eth-0-2 00:03:01
Switch 的显示结果:
Switch# show mvr6
MVR6 Running: TRUE
MVR6 Multicast VLAN: 111
MVR6 Source-address: fe80::111
MVR6 Max Multicast Groups: 1024
MVR6 Hw Rt Limit: 224
MVR6 Current Multicast Groups: 64
VLAN Interface Group Address Uptime Expire-time
10 eth-0-2 ff0e::1234 00:03:23 00:02:03
10 eth-0-2 ff0e::1235 00:03:23 00:02:03
10 eth-0-2 ff0e::1236 00:03:23 00:02:03
10 eth-0-2 ff0e::1237 00:03:23 00:02:03
10 eth-0-2 ff0e::1238 00:03:23 00:02:03
10 eth-0-2 ff0e::1239 00:03:23 00:02:03
……
10 eth-0-2 ff0e::1273 00:03:23 00:02:03
无
VRF是VPN路由转发表的简称。可以理解为VPN-instance(VPN实例),是PE为直接相连的站点建立并维护的一个专门实体,每个站点在PE上都有自己的VPN-instance,每个VPN-instance包含到一个或多个与该PE直接相连的CE的路由和转发表。
VRF可以把一台路由器在逻辑上划分为多台虚拟的路由器,每台虚拟的路由器就像单独的一台路由器一样工作,有自己独立的路由表和相应的参与数据转发的接口,并且彼此业务隔离。这从根本上解决了多种业务并存于一台物理设备且又需要隔离的问题,能够节省用户在设备及通信资源方面的投资。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建VRF实例
Switch(config)# ip vrf vpn1
Switch(config-vrf)# rd 100:1
Switch(config-vrf)# router-id 1.1.1.1
Switch(config-vrf)# route-target both 100:1
Switch(config-vrf)# import map route-map
rd 和 route-target 形式上可以是一个AS号和一个数字的组合(xxx:y),也可以是一个IP地址和一个数字的组合(A.B.C.D:y)。
步骤3 进入接口配置模式,配置接口属性
Switch(config-vrf)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# no switch
Switch(config-if)# ip vrf forwarding vpn1
Switch(config-if)# ip add 1.1.1.1/24
Switch(config-if)# end
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
使用命令show ip vrf来验证配置会得到类似如下的屏幕回显信息:
Switch# show ip vrf
VRF vpn1, FIB ID 1
Router ID: 1.1.1.1 (config)
Interfaces:
eth-0-1
Switch# show ip vrf interfaces vpn1
Interface IP-Address VRF Protocol
eth-0-1 1.1.1.1 vpn1 up
Switch# show ip vrf bgp brief
Name Default RD Interfaces
vpn1 100:1 eth-0-1
Switch# show ip vrf bgp detail
VRF vpn1; default RD 100:1
Interfaces:
eth-0-1
VRF Table ID = 1
Export VPN route-target communities
RT:100:1
Import VPN route-target communities
RT:100:1
import-map: route-map
No export route-map
无
隧道技术是一种封装技术,它利用一种网络协议来传输另一种网络协议,即一种网络协议将其他网络协议的数据报文封装在自己的报文中,然后在网络中传输。封装后的数据报文在网络中传输的路径,称为隧道。隧道是一条虚拟的点对点连接,隧道的两端需要对数据报文进行封装及解封装。隧道技术就是指包括数据封装、传输和解封装在内的全过程。
IPv4 gre over IPv4
当两个相隔离的IPv4 网络需要相互通信,此时就需要在两个网络之间创建一个隧道机制。在IPv4 网络上用于连接两个相隔离IPv4 孤岛的gre 隧道,称为 IPv4 gre 隧道, 即IPv4 报文通过gre 协议被封装在IPv4 报文中,实现IPv4 报文的透明传输。Gre隧道协议在封装IPv4报文时会添加gre头,gre头中包含key,sequence,checksum等可选信息。为了实现gre 隧道,需要在IPv4 网络与IPv4 网络交界的边界交换机上启动IPv4 双协议栈。
IPv4 gre over IPv4 隧道对报文的处理过程如下:
•IPv4 网络中的设备发送IPv4 报文,该报文到达隧道的源端设备Switch1。
•Switch1根据路由表判定该报文要通过隧道进行转发后,在IPv4 报文前先封装上gre 头然后再封装外层IPv4 的报文头,通过隧道的实际物理接口将报文转发出去。
•封装报文通过隧道到达隧道目的端设备 Switch2,Switch2 判断该封装报文的目的地是本设备后,将对报文进行解封装。
•Switch2根据解封装后的IPv4报文的目的地址转发该IPv4 报文。如果目的地就是本设备,则将IPv4 报文转给上层协议处理。在解封装过程中,会校验gre 头中的key选项,只有当key相匹配时才会对该IP4报文作处理,否则丢弃。
这种技术的优点是,当IPv4/IPv4网络的边缘设备实现隧道功能,便可以将报文从一端透传到另外一端并可以进行报文校验,可以大大利用现有的IPv4网络投资。
GRE隧道的源和目的地址是手工指定的,它提供了一个点到点的连接。GRE隧道可以建立在两个边界路由器之间为被IPv4网络分离的IPv4网络提供稳定的连接,或建立在终端系统与边界路由器之间为终端系统访问IPv4网络提供连接。 GRE隧道要求在设备上手工配置隧道的源地址和目的地址,此外gre key配置是可选配置。
IPv4 gre Tunnel
如上图所示,两个IPv4 网络分别通过Switch1和Switch2与IPv4 网络连接,要求在Switch1和 Switch2之间建立IPv4 gre 隧道,使两个IPv4 网络可以互通。
必须使IPv4报文3层路由可达,否则会造成tunnel报文转发失败。
tunnel接口上必须配置IPv4地址,否则配置在该接口上的路由无效。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.10.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.11.1/24
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.20.1/24
Switch(config-if)# tunnel enable
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.11.2/24
Switch(config-if)# exit
步骤3 配置tunnel 接口
Switch1 的Tunnel接口配置:
Switch(config)# interface tunnel1
Switch(config-if)# tunnel mode gre
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel destination 192.168.20.1
Switch(config-if)# tunnel gre key 100
Switch(config-if)# ip address 192.192.168.1/24
Switch(config-if)# keepalive 5 3
Switch(config-if)# exit
Switch2 的Tunnel接口配置:
Switch(config)# interface tunnel1
Switch(config-if)# tunnel mode gre
Switch(config-if)# tunnel source eth-0-1
Switch(config-if)# tunnel destination 192.168.10.1
Switch(config-if)# tunnel gre key 100
Switch(config-if)# ip address 192.192.168.2/24
Switch(config-if)# keepalive 5 3
Switch(config-if)# exit
步骤4 配置静态路由和静态arp
在switch1配置:
Switch(config)# ip route 192.168.20.0/24 192.168.10.2
Switch(config)# arp 192.168.10.2 0.0.2222
Switch(config)# ip route 3.3.3.3/24 tunnel1
在switch2配置:
Switch(config)# ip route 192.168.10.0/24 192.168.20.2
Switch(config)# arp 192.168.20.2 0.0.1111
Switch(config)# ip route 4.4.4.4/24 tunnel1
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show interface tunnel1
Interface tunnel1
Interface current state: UP
Hardware is Tunnel
Index 8193 , Metric 1 , Encapsulation TUNNEL
VRF binding: not bound
Internet primary address:
192.192.168.1/24 pointopoint 192.192.168.255
Tunnel protocol/transport GRE/IP, Status Valid
Tunnel source 192.168.10.1(eth-0-1), destination 192.168.20.1
Tunnel DSCP inherit, Tunnel TTL 255
Tunnel GRE key enable: 100
Tunnel GRE keepalive enable, Send period: 5, Retry times: 3
0 packets input, 0 bytes
0 packets output, 0 bytes
Switch2 显示结果:
Switch# show interface tunnel1
Interface tunnel1
Interface current state: UP
Hardware is Tunnel
Index 8193 , Metric 1 , Encapsulation TUNNEL
VRF binding: not bound
Internet primary address:
192.192.168.2/24 pointopoint 192.192.168.255
Tunnel protocol/transport GRE/IP, Status Valid
Tunnel source 192.168.20.1(eth-0-1), destination 192.168.10.1
Tunnel DSCP inherit, Tunnel TTL 255
Tunnel GRE key enable: 100
Tunnel GRE keepalive enable, Send period: 5, Retry times: 3
0 packets input, 0 bytes
0 packets output, 0 bytes
无
BHM全称Beat heart Monitor,是用于监控其他协议进程的一个模块,当某个受监控进程长时间(30秒)无响应时,BHM模块会采取措施恢复系统,或者提示用户恢复系统。这些措施包括在终端打印警告信息、关闭所有端口,或者重启系统。系统使用何种措施是可配置的,默认是重启系统。
BHM监控的协议模块有:RIP,RIPNG,OSPF,OSPF6,BGP,LDP,RSVP,PIM,PIM6,802.1X,LACP,MSTP,DHCP-RELAY,DHCP-RELAY6,RMON,OAM,ONM,SSH,SNMP,PTP,SSM,以及一些系统进程:NSM,,IMI,CHSM,HSRVD。
无
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能监控功能,使能BHM模块功能
Switch(config)# sysmon enable
Switch(config)# heart-beat-monitor enable
步骤3 配置监控措施为重启设备
Switch(config)# heart-beat-monitor reactivate reload system
有reload/shutdown/warning三个选项。
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch# show heart-beat-monitor
heart-beat-monitor enable.
heart-beat-monitor reactivation: restart system.
无
链路级以太网 OAM 技术:多应用于网络的PE 设备—CE 设备—用户设备之间(也叫最后一公里)的以太网物理链路,用于监测用户网络与运营商网络之间的链路状态,典型协议为EFM OAM 协议。
参考 IEEE 802.3ah (2004)
EFM
以下配置Switch1和Switch2相同。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,启用EFM功能
Switch(config)# interface eth-0-9
Switch(config-if)# ethernet oam enable
Switch(config-if)# ethernet oam mode active
Switch(config-if)# ethernet oam link-monitor frame threshold high 10 window 50
Switch(config-if)# exit
模式可以选择active或passive,passive如下配置:
Switch(config-if)# ethernet oam mode passive
Switch1和Switch2至少有一台要选择active。两台都配置active也可以正常工作。
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
当两台设备的 EFM 发现状态机都进入“send any”状态则表示协商已经成功。EFM有如下这些状态:
•ACTIVE_SEND_LOCAL:如果设备的状态为ACTIVE_SEND_LOCAL表示该设备在等待对端设备的答复。只有主动模式的设备才会进入该状态。
•PASSIVE_WAIT:如果设备的状态为 PASSIVE_WAIT表示该设备在等待对端设备发起请求。只有被动模式的设备才会进入该状态。
•SEND_LOCAL_REMOTE:这是个中间状态,设备收到对端的Information OAMPDU 后加入自己的Information OAMPDU再发给对端时,设备进入该状态。
•SEND_LOCAL_REMOTE_OK:这是个中间状态,设备发现本端的配置和对端的配置一致可以协商则进入该状态。
•SEND_ANY:这是两端协商成功的最终状态。
•FAULT:如果端口的OAM 重置,关闭或者超时则进入该状态。
Switch1 检查结果
Switch# show ethernet oam discovery interface eth-0-9
eth-0-9
Local client:
-------------
Administrative configurations:
Mode: active
Unidirection: not supported
Link monitor: supported(on)
Remote Loopback: not supported
MIB retrieval: not supported
MTU Size : 1518
Operational status:
Port status: send any
Loopback status: no loopback
PDU revision: 1
Remote client:
--------------
MAC address: e6c2.47f6.7809
PDU revision: 1
Vendor(oui): e6 c2 47
Administrative configurations:
Mode: active
Unidirection: not supported
Link monitor: supported
Remote Loopback: not supported
MIB retrieval: not supported
MTU Size : 1518
Switch2 检查结果
Switch# show ethernet oam discovery interface eth-0-9
eth-0-9
Local client:
-------------
Administrative configurations:
Mode: active
Unidirection: not supported
Link monitor: supported(on)
Remote Loopback: not supported
MIB retrieval: not supported
MTU Size : 1518
Operational status:
Port status: operational
Loopback status: no loopback
PDU revision: 1
Remote client:
--------------
MAC address: 409c.ba1a.5a09
PDU revision: 1
Vendor(oui): 40 9c ba
Administrative configurations:
Mode: active
Unidirection: not supported
Link monitor: supported
Remote Loopback: not supported
MIB retrieval: not supported
MTU Size : 1518
EFM
远端环回功能是指主动模式下的OAM实体向对端(远端)发送除OAMPDU以外的所有其它报文时,对端收到该报文后直接将其环回给本端。它可用于定位链路故障和检测链路质量:网络管理员通过观察非OAMPDU 报文的返回情况,可以对链路性能(包括丢包率、时延、抖动等)作出评判。
以下配置如无特殊说明,则Switch1和Switch2相同。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,使能远端环回功能
Switch(config)# interface eth-0-9
Switch(config-if)# ethernet oam enable
Switch(config-if)# ethernet oam remote loopback supported
Switch(config-if)# exit
步骤3 退出配置模式
Switch(config)# end
步骤4 在端口上启用环回功能
这项配置在Switch1进行:
Switch# ethernet oam remote-loopback start interface eth-0-9
步骤5 检查配置
在swith1上查看ethernet oam状态机:
Switch# show ethernet oam state-machine interface eth-0-9
State Machine Details:
--------------------------------
Local OAM mode: Active
Local OAM enable: Enable
Local link status: OK
Local pdu status: ANY
Local Satisfied: True
Local Stable: True
Remote Satisfied valid: True
Remote Stable: True
Local Parser State: Discard
Local Multiplexer State: Forward
Remote Parser State: Loopback
Remote Multiplexer State: Discard
EFM
用户可以为链路事件配置最高、最低阈值。如果超过最高阈值设备可以通过用户的配置自动将端口设为error disable状态。
以下配置和检查在Switch1进行:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置错误报文的最高和最低阀值
Switch(config)#interface eth-0-9
Switch(config-if)# ethernet oam link-monitor frame threshold high 5000 low 200 window 500
Switch(config-if)# ethernet oam link-monitor frame-seconds threshold high 600 low 200 window 9000
上述"ethernet oam link-monitor frame threshold"命令,指定了一段时间内(以配置的"window 500"为准,单位是100 millisecond,这里是50秒,如果不指定window,则取默认值1秒),允许出现错误报文的个数,高阈值是5000个,低阈值是200个。
上述"ethernet oam link-monitor frame-seconds"命令,指定了一段时间内(以配置的"window 9000"为准,单位是100 millisecond,这里是900秒,如果不指定window,则取默认值100秒)有错误报文出现的时间,高阈值为600秒,低阈值为200秒。
步骤3 设置错包超过阈值以后的动作
超过步骤2中锁配置的高阈值后,将端口设为error-disable状态。
Switch(config-if)# ethernet oam link-monitor high-threshold action error-disable-interface
Switch(config-if)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch#show ethernet oam status interface eth-0-9
eth-0-9
General:
-------
Mode: active
PDU max rate: 1 packets per second
PDU min rate: 1 packet per 1 second
Link timeout: 10 seconds
High threshold action: disable interface
Link fault action: no action
Dying gasp action: no action
Critical event action: no action
Link Monitoring:
----------------
Status: supported(on)
Frame Error:
Window: 500 x 100 milliseconds
Low threshold: 200 error frame(s)
High threshold: 5000 error frame(s)
Last Window Frame Errors: 0 Frame(s)
Total Frame Errors: 0 Frame(s)
Total Frame Errors Events: 0 Events(s)
Relative Timestamp of the Event: 0 x 100 milliseconds
Frame Seconds Error:
Window: 9000 x 100 milliseconds
Low threshold: 200 error second(s)
High threshold: 600 error second(s)
Last Window Frame Second Errors: 0 error second(s)
Total Frame Second Errors: 0 error second(s)
Total Frame Second Errors Events: 0 Events(s)
Relative Timestamp of the Event: 0 x 100 milliseconds
EFM
当对端发生紧急链路事件时,用户可以通过配置将端口设为error disable状态。
以下配置和检查在Switch1进行:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置当对端发生紧急链路事件时,将端口状态设为error disable状态
Switch(config)#interface eth-0-9
Switch(config-if)# ethernet oam remote-failure critical-event dying-gasp link-fault action error-disable-interface
Switch(config-if)# exit
步骤3 退出配置模式
Switch(config)# end
无
CFM全称Connectivity Fault Management。
CFM能够根据802.1ag协议去检测,验证,定位和通知以太网中的连接故障。CFM也能够发现和验证以太网中的路径。CFM是操作维护管理模块OAM的一部份。CFM对用户数据报文是透明的并且能最大限度地发现连接错误。
参考 IEEE 802.1ag/D8.1
CFM使用标准的以太网报文,仅以太网协议类型不同。支持的CFM消息如下:
连续性检查(CC)消息
连续性检查消息周期性发送,使维护域端点MEP和维护域中间节点MIP可以发现其它MEP。它用于检测任何一对MEP间的连续性丢失(LOC)。
以太网环回(LB)消息
MEP发送一个LB消息来验证另一个MEP或MIP是否可达。LB消息和网间控制消息协议ICMP ping消息类似。
以太网链路追踪(LT)消息
MEP发送LT消息以追踪到一个目的MEP/MIP中间每一跳的MIP。LT消息类似UDP链路追踪消息。
以太网帧延时测量(DM)消息
ETH-DM 可用于按需的OAM,测量帧时延和帧时延变化。帧时延和帧时延变化的测量是通过向对等MEP周期地发送带有ETH-DM信息的帧,并在诊断间隔内从对等MEP接收带有ETH-DM信息的帧来完成的。每一个MEP都可以进行帧时延和帧时延变化的测量。
当一个MEP能产生带有ETH-DM信息的帧时,它向同一ME内它对等的MEP周期地发送带有ETH-DM信息的帧。当一个MEP产生带有ETH-DM 信息的帧时,它也预期在同一MEP中从对等的MEP接收带有ETH-DM信息的帧。
以太网锁定信号(LCK)消息
以太网锁定信号功能(ETH-LCK)用于通告服务器层(子层)MEP的管理性锁定以及随后的数据业务流中断,该业务流是送往期待接收这业务流的MEP的。它使得接收带有ETH-LCK信息的帧的MEP能区分是故障情况,还是服务器层(子层)MEP的管理性锁定动作。
以太网客户端信号失败功能(CSF)
以太网客户端信号失败功能是由服务器MEP将客户端检查到的失败或错误通知到对应服务器MEP,再由对端服务器MEP通知对端的客户端MEP。通常应用于客户端MEP无法直接通知到对端MEP的情况,此时CC或AIS是均无法使用的。CSF消息是由服务器MEP发给对端服务器的MEP的消息。CSF仅应用于点对点的以太网传输中。
以太网帧丢失测量(LM)消息
ETH-LM用于收集计数器的数值,应用于入口和出口处的服务帧,此计数器在一对MEP之间保持着发送和接收的数据帧的计数。
ETH-LM的功能是通过向其对等MEP发送带有ETH-LM信息的帧,并类似地从对等MEP接收带有ETH-LM信息的帧来实现的。
CFM和802.1x及mirror destination配在同一端口上时功能冲突,因此CFM不应该与这些功能配在同一端口上。
CFM
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式,并创建vlan
Switch(config)# vlan database
Switch(config vlan)# vlan 30
Switch(config vlan)# exit
步骤3 全局使能cfm,设置cfm模式为y1731
Switch(config)# ethernet cfm enable
Switch(config)# ethernet cfm mode y1731
步骤4 创建维护域,在维护域中将服务和vlan绑定
创建一个叫cust的域,等级是5。
Switch(config)# ethernet cfm domain cust level 5
Switch(config-ether-cfm)# service cst vlan 30
Switch(config-ether-cfm)# exit
创建一个叫provid的域,等级是3。
在Switch2和3配置:
Switch(config)# ethernet cfm domain provid level 3
Switch(config-ether-cfm)# service cst vlan 30
Switch(config-ether-cfm)# exit
服务域的等级(level)取值范围是0-7,数字越大优先级越高。在vlan相同的情况下,优先级高的域,其报文可以穿越那些优先级低的域。
步骤5 进入端口配置模式,配置端口属性
Switch1 的端口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# ethernet cfm mep down mpid 66 domain cust vlan 30 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 99 domain cust vlan 30 mac d036.4567.8009
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch2 的端口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# ethernet cfm mip level 5 vlan 30
Switch(config-if)# ethernet cfm mep up mpid 666 domain provid vlan 30 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 999 domain provid vlan 30 mac 6a08.051e.bd09
Switch(config-if)# ethernet cfm ais status enable all domain provid vlan 30 level 5 multicast
Switch(config-if)# ethernet cfm server-ais status enable level 5 interval 1
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch3 的端口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# ethernet cfm mip level 5 vlan 30
Switch(config-if)# ethernet cfm mep up mpid 999 domain provid vlan 30 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 666 domain provid vlan 30 mac 0e1d.a7d7.fb09
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch4 的端口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# ethernet cfm mep down mpid 99 domain cust vlan 30 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 66 domain cust vlan 30 mac fa02.cdff.6a09
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤6 启用维护域的连续性检查功能
在Switch1和4配置:
Switch1(config)# ethernet cfm cc enable domain cust vlan 30
在Switch2和3配置:
Switch2(config)# ethernet cfm cc enable domain provid vlan 30
步骤7 告警指示信号处理(可选)
配置当收到告警指示信号ais报文且存在loc错误时抑制其它loc error。
在Switch1配置:
Switch(config)# ethernet cfm ais suppress alarm enable domain cust vlan 30
步骤8 退出配置模式
Switch(config)# end
步骤9 检查配置
以下命令可用于查看Switch1和Switch2上MEP和MIP的相关信息。
Switch1:
Switch# show ethernet cfm maintenance-points
######Local MEP:
MPID Direction DOMAIN LEVEL TYPE VLAN PORT CC-Status Mac-address RDI Interval
--------------------------------------------------------------------------------------
66 Down MEP cust 5 MEP 30 eth-0-9 enabled fa02.cdff.6a09 True 3.33ms
######Local MIP:
Level VID TYPE PORT MAC
------------------------------------------------------
######Remote MEP:
MPID LEVEL VLAN ACTIVE Remote Mac RDI FLAGS STATE
---------------------------------------------------------
99 5 30 Yes d036.4567.8009 True Learnt UP
Switch2:
Switch# show ethernet cfm maintenance-points
######Local MEP:
MPID Direction DOMAIN LEVEL TYPE VLAN PORT CC-Status Mac-address RDI
----------------------------------------------------------------------------
666 Up MEP provid 3 MEP 30 eth-0-9 enabled 0e1d.a7d7.fb09 False
######Local MIP:
Level VID TYPE PORT MAC
------------------------------------------------------
5 30 MIP eth-0-9 0e1d.a7d7.fb09
######Remote MEP:
MPID LEVEL VLAN ACTIVE Remote Mac RDI FLAGS STATE
---------------------------------------------------------
999 3 30 Yes 6a08.051e.bd09 True Learnt UP
以下命令用于在Switch1上根据远端MEP的地址回环远端MEP。
Switch# ethernet cfm loopback mac d036.4567.8009 unicast mepid 66 domain cust vlan 30
Sending 1 Ethernet CFM loopback messages, timeout is 5 seconds:
(! Pass . Fail)
!
Loopback completed.
-----------------------------------
Success rate is 100 percent(1/1)
以下命令用于在Switch1上根据组播地址回环远端MEP。
Switch# ethernet cfm loopback multicast mepid 66 domain cust vlan 30
Sending 1 Ethernet CFM loopback messages, timeout is 5 seconds:
(! Pass . Fail)
Host MEP: 66
Number of RMEPs that replied to mcast frame = 1
LBR received from the following
9667.bb68.f308
success rate is 100 (1/1)
以下命令用于在Switch1上根据远端MEP的标识回环远端MEP。
Switch# ethernet cfm loopback unicast rmepid 99 mepid 66 domain cust vlan 30
Sending 1 Ethernet CFM loopback messages, timeout is 5 seconds:
(! Pass . Fail)
!
Loopback completed.
-----------------------------------
Success rate is 100 percent(1/1)
以下命令用于在Switch1上根据远端MIP的地址回环远端MIP。
Switch# ethernet cfm loopback mac 0e1d.a7d7.fb09 unicast mepid 66 domain cust vlan 30
Sending 1 Ethernet CFM loopback messages, timeout is 5 seconds:
(! Pass . Fail)
!
Loopback completed.
-----------------------------------
Success rate is 100 percent(1/1)
以下命令显示Switch1上的RDI的信息。
Switch# show ethernet cfm maintenance-points local mep domain cust
MPID Direction DOMAIN LEVEL TYPE VLAN PORT CC-Status Mac-address RDI Interval
-------------------------------------------------------------------------------
66 Down MEP cust 5 MEP 30 eth-0-9 enabled fa02.cdff.6a09 True 3.33ms
在清除本地MEP错误前,Switch1错误信息显示如下所示。
Switch# show ethernet cfm errors domain cust
Level Vlan MPID RemoteMac Reason ServiceId
5 30 66 d036.4567.8009 errorCCMdefect: rmep not found cst
5 30 66 d036.4567.8009 errorCCMdefect: rmep not found clear cst
Time
2011/05/27 3:19:18
2011/05/27 3:19:32
以下命令用于清除Switch1的错误信息。
Switch# clear ethernet cfm errors domain cust
当清除本地MEP的错误信息后,Switch1错误信息如下所示。
Switch# clear ethernet cfm errors domain cust
Level Vlan MPID RemoteMac Reason ServiceId
以下命令用于关闭Switch1上的连续性检查功能。
Switch(config)# no ethernet cfm cc enable domain cust vlan 30
以下命令用于关闭Switch3上的连续性检查功能。
Switch(config)# no ethernet cfm cc enable domain cust vlan 30
以下命令用于检查Switch2上的ais的状态。
Switch# show ethernet cfm ais mep 666 domain cust vlan 30
AIS-Status: Enabled
AIS Period: 1
Level to transmit AIS: 7
AIS Condition: No
----------------------------------------------------
Configured defect condition detected(yes/no)
----------------------------------------------------
unexpected-period no
unexpected-MEG level no
unexpected-MEP no
Mismerge no
LOC yes
以下命令用于检查Switch1上ais状态。
Switch# show ethernet cfm ais mep 66 domain cust vlan 30
AIS-Status: Disabled
AIS Condition: Yes
以下命令用于在Switch1上根据远端MEP的地址追踪远端MEP。
Switch# ethernet cfm linktrace mac d036.4567.8009 mepid 66 domain cust vlan 30
Sending Ethernet CFM linktrace messages,TTL is 64.Per-Hop Timeout is 5 seconds:
Please wait a moment
-------------------------------
Received Hops: 1
-------------------------------
TTL : 63
Fowarded : True
Terminal MEP : False
Relay Action : Rly FDB
Ingress Action : IngOk
Ingress MAC address : 0e1d.a7d7.fb09
Ingress Port ID Type : ifName
Ingress Port ID : eth-0-9
-------------------------------
Received Hops: 2
-------------------------------
TTL : 62
Fowarded : True
Terminal MEP : False
Relay Action : Rly FDB
Egress Action : EgrOk
Egress MAC address : 6a08.051e.bd09
Egress Port ID Type : ifName
Egress Port ID : eth-0-9
-------------------------------
Received Hops: 3
-------------------------------
TTL : 61
Fowarded : False
Terminal MEP : True
Relay Action : Rly Hit
Ingress Action : IngOk
Ingress MAC address : d036.4567.8009
Ingress Port ID Type : ifName
Ingress Port ID : eth-0-9
以下命令用于在Switch1上根据远端MEP的标识追踪远端MEP。
Switch# ethernet cfm linktrace rmepid 99 mepid 66 domain cust vlan 30
Sending Ethernet CFM linktrace messages,TTL is 64.Per-Hop Timeout is 5 seconds:
Please wait a moment
-------------------------------
Received Hops: 1
-------------------------------
TTL : 63
Fowarded : True
Terminal MEP : False
Relay Action : Rly FDB
Ingress Action : IngOk
Ingress MAC address : 0e1d.a7d7.fb09
Ingress Port ID Type : ifName
Ingress Port ID : eth-0-9
-------------------------------
Received Hops: 2
-------------------------------
TTL : 62
Fowarded : True
Terminal MEP : False
Relay Action : Rly FDB
Egress Action : EgrOk
Egress MAC address : 6a08.051e.bd09
Egress Port ID Type : ifName
Egress Port ID : eth-0-9
-------------------------------
Received Hops: 3
-------------------------------
TTL : 61
Fowarded : False
Terminal MEP : True
Relay Action : Rly Hit
Ingress Action : IngOk
Ingress MAC address : d036.4567.8009
Ingress Port ID Type : ifName
Ingress Port ID : eth-0-9
以下命令用于在Switch1上根据远端MIP的地址追踪远端MIP。
Switch# ethernet cfm linktrace 6a08.051e.bd09 mepid 66 domain cust vlan 30
Sending Ethernet CFM linktrace messages,TTL is 64.Per-Hop Timeout is 5 seconds:
Please wait a moment
-------------------------------
Received Hops: 1
-------------------------------
TTL : 63
Fowarded : True
Terminal MEP : False
Relay Action : Rly FDB
Ingress Action : IngOk
Ingress MAC address : 0e1d.a7d7.fb09
Ingress Port ID Type : ifName
Ingress Port ID : eth-0-9
-------------------------------
Received Hops: 2
-------------------------------
TTL : 62
Fowarded : False
Terminal MEP : False
Relay Action : Rly Hit
Egress Action : EgrOk
Egress MAC address : 6a08.051e.bd09
Egress Port ID Type : ifName
Egress Port ID : eth-0-9
以下命令用于在Switch1上测量双向的延时和延时变化:
Switch# ethernet cfm dmm rmepid 99 mepid 66 count 5 domain cust vlan 30
Delay measurement statistics:
DMM Packets transmitted : 5
Valid DMR packets received : 5
Index Two-way delay Two-way delay variation
1 4288 usec 0 usec
2 4312 usec 24 usec
3 4296 usec 16 usec
4 4320 usec 24 usec
5 4264 usec 56 usec
Average delay : 4296 usec
Average delay variation : 24 usec
Best case delay : 4264 usec
Worst case delay : 4320 usec
在启用单向时延测量前,时钟应该同步。以下命令显示了在Switch1上启用了单向时延测量:
Switch1#ethernet cfm 1dm rmepid 99 mepid 66 count 5 domain cust vlan 30
以下命令在Switch4上显示了单向时延测量的结果:
Switch4# show ethernet cfm delaymeasurement cache
Remote MEP : 66
Remote MEP vlan : 30
Remote MEP level : 5
DMM Packets transmitted : 0
Valid DMR packets received : 0
Valid 1DM packets received : 5
Index One-way delay One-way delay variation Received Time
1 16832 usec 0 usec 2011/07/19 17:27:46
2 16176 usec 656 usec 2011/07/19 17:27:47
3 15448 usec 728 usec 2011/07/19 17:27:48
4 14800 usec 648 usec 2011/07/19 17:27:49
5 15406 usec 606 usec 2011/07/19 17:27:50
Average delay : 15732 usec
Average delay variation : 527 usec
Best case delay : 14800 usec
Worst case delay : 16832 usec
CFM
步骤1 检查当前配置
与“配置CC/LB/LT/AIS/DM”章节一致。
步骤2 配置LCK
在Switch2上配置:
Switch(config)# interface eth-0-9
Switch(config-if)# ethernet cfm lck enable mep 666 domain provid vlan 30 tx-level 5 interval 1
步骤3 检查配置
以下命令用来显示Switch2上LCK状态:
Switch2# show ethernet cfm lck
En-LCK Enable, Y(Yes)/N(No)
Rx-LC, Receive LCK packets and enter LCK condition, Y(Yes)/N(No)
Rx-I, The period which is gotten from LCK packets
Tx-Domain, frames with ETH-LCK information are sent to this Domain
Tx-I, Transmit Interval
------------------------------------------------------------------------
MPID Domain VLAN En Rx-LC Rx-I Tx-Domain Tx-I
------------------------------------------------------------------------
666 provid 30 Y N N/A cust 1
以下命令用来显示Switch1上LCK状态:
Switch1# show ethernet cfm lck
En-LCK Enable, Y(Yes)/N(No)
Rx-LC, Receive LCK packets and enter LCK condition, Y(Yes)/N(No)
Rx-I, The period which is gotten from LCK packets
Tx-Domain, frames with ETH-LCK information are sent to this Domain
Tx-I, Transmit Interval
------------------------------------------------------------------------
MPID Domain VLAN En Rx-LC Rx-I Tx-Domain Tx-I
------------------------------------------------------------------------
66 cust 30 N Y 1 N/A N/A
CFM CSF
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式,并创建vlan
在Switch1 配置:
Switch(config)# vlan database
Switch(config vlan)# vlan 30
Switch(config vlan)# exit
在Switch2和3 配置:
Switch3(config)# vlan database
Switch3(config vlan)# vlan 20,30
Switch3(config vlan)# exit
步骤3 全局使能cfm,设置cfm模式为y1731
Switch(config)# ethernet cfm enable
Switch(config)# ethernet cfm mode y1731
步骤4 创建维护域,在维护域中将服务和vlan绑定
创建一个叫cust的域,等级是5。
Switch(config)# ethernet cfm domain cust level 5
Switch(config-ether-cfm)# service cst vlan 30
Switch(config-ether-cfm)# exit
创建一个叫provid的域,等级是3。
在Switch2和3配置:
Switch(config)# ethernet cfm domain provid level 3
Switch(config-ether-cfm)# service cst vlan 20
Switch(config-ether-cfm)# exit
步骤5 进入端口配置模式,配置端口属性
Switch1 的端口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# ethernet cfm mep down mpid 66 domain cust vlan 30 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 99 domain cust vlan 30 mac d036.4567.8009
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch2 的端口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# ethernet cfm mep down mpid 99 domain cust vlan 30 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 66 domain cust vlan 30 mac fa02.cdff.6a09
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)#interface eth-0-17
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# ethernet cfm mep down mpid 666 domain provid vlan 20 interval 1
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch3 的端口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# ethernet cfm mep down mpid 88 domain cust vlan 30 interval 1
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)#interface eth-0-17
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# ethernet cfm mep down mpid 999 domain provid vlan 20 interval 1
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤6 启用维护域的连续性检查功能
Switch(config)# ethernet cfm cc enable domain cust vlan 30
步骤7 配置CSF连接关系
在Switch2配置:
Switch(config)# ethernet cfm csf client domain cust vlan 30 mepid 99 server domain provid vlan 20 mepid 666 interval 1
在Switch3配置:
Switch(config)# ethernet cfm csf client domain cust vlan 30 mepid 88 server domain provid vlan 20 mepid 999 interval 1
步骤8 检查配置
以下命令用来关闭Switch1上的连续性检查,使Switch2上触发loc错误:
Switch (config)#no ethernet cfm cc enable domain cust vlan 30
Switch2上的MEP 99会上报loc,引发MEP 666发送CSF报文(原因los)。 以下命令用来显示Switch2上CSF状态:
Switch# show ethernet cfm csf
CTR-Client Trigger reason, L(los)/F(fdi)/R(rdi)/D(dci) or N/A
ECC-Enter CSF Condition, Y(Yes)/N(No)
SRR-Server Rx Reason, L(los)/F(fdi)/R(rdi)/D(dci) or N/A
Tx-I, Transmit Interval
Rx-I, The period which is gotten from CSF packets
------------------------------------------------------------------------
Client Mep Server Mep
MPID Cli-Domain VLAN CTR ECC MPID Srv-Domain VLAN SRR Tx-I Rx-I
------------------------------------------------------------------------
99 cust 30 L N 666 provid 20 N/A 1 N/A
在Switch3上,MEP 999会收到CSF的报文并通知客户MEP 88, 然后客户MEP会进入CSF状态。以下命令用来显示Switch3上CSF状态:
Switch3# show ethernet cfm csf
CTR-Client Trigger reason, L(los)/F(fdi)/R(rdi)/D(dci) or N/A
ECC-Enter CSF Condition, Y(Yes)/N(No)
SRR-Server Rx Reason, L(los)/F(fdi)/R(rdi)/D(dci) or N/A
Tx-I, Transmit Interval
Rx-I, The period which is gotten from CSF packets
------------------------------------------------------------------------
Client Mep Server Mep
MPID Cli-Domain VLAN CTR ECC MPID Srv-Domain VLAN SRR Tx-I Rx-I
------------------------------------------------------------------------
88 cust 30 N/A Y 999 provid 20 L 1 1
CFM
步骤1 检查当前配置
与“配置CC/LB/LT/AIS/DM”章节一致。
步骤2 配置双端LM
在Switch1配置:
Switch(config)# ethernet cfm lm enable dual-ended domain cust vlan 30 mepid 66 all-cos cache-size 10
在Switch4配置:
Switch(config)# ethernet cfm lm enable dual-ended domain cust vlan 30 mepid 99 all-cos cache-size 10
步骤3 检查配置
以下命令用来显示Switch1上lm的结果:
Switch# show ethernet cfm lm domain cust vlan 30 mepid 66
DOMAIN : cust
VLAN : 30
MEPID : 66
Start Time : 2013/07/16 1:36:56
End Time : 2013/07/16 1:37:07
Notes : 1. When the difference of Tx is less than the difference of Rx,
the node is invalid, loss and loss ratio should be "-";
2. When loc is reported for mep, the loss should be "-" and loss
ratio should be 100%;
3. When calculate average loss and loss ratio, invalid or loc nodes
will be excluded;
Latest dual-ended loss statistics:
--------------------------------------------------------------------------------
Index Cos Local-loss Local-loss ratio Remote-loss Remote-loss ratio Time
--------------------------------------------------------------------------------
1 all 0 000.0000% 0 000.0000% 01:36:57
2 all 0 000.0000% 0 000.0000% 01:36:58
3 all 0 000.0000% 0 000.0000% 01:36:59
4 all 0 000.0000% 0 000.0000% 01:37:00
5 all 0 000.0000% 0 000.0000% 01:37:01
6 all 0 000.0000% 0 000.0000% 01:37:02
7 all 0 000.0000% 0 000.0000% 01:37:03
8 all 0 000.0000% 0 000.0000% 01:37:04
9 all 0 000.0000% 0 000.0000% 01:37:05
10 all 0 000.0000% 0 000.0000% 01:37:07
--------------------------------------------------------------------------------
Maximum Local-loss : 0 Maximum Local-loss Ratio : 000.0000%
Minimum Local-loss : 0 Minimum Local-loss Ratio : 000.0000%
Average Local-loss : 0 Average Local-loss Ratio : 000.0000%
Maximum Remote-loss : 0 Maximum Remote-loss Ratio : 000.0000%
Minimum Remote-loss : 0 Minimum Remote-loss Ratio : 000.0000%
Average Remote-loss : 0 Average Remote-loss Ratio : 000.0000%
以下命令用来显示Switch4上lm的结果:
Switch# show ethernet cfm lm domain cust vlan 30 mepid 99
DOMAIN : cust
VLAN : 30
MEPID : 99
Start Time : 2013/07/16 1:37:11
End Time : 2013/07/16 1:37:22
Notes : 1. When the difference of Tx is less than the difference of Rx,
the node is invalid, loss and loss ratio should be "-";
2. When loc is reported for mep, the loss should be "-" and loss
ratio should be 100%;
3. When calculate average loss and loss ratio, invalid or loc nodes
will be excluded;
Latest dual-ended loss statistics:
--------------------------------------------------------------------------------
Index Cos Local-loss Local-loss ratio Remote-loss Remote-loss ratio Time
--------------------------------------------------------------------------------
1 all 0 000.0000% 0 000.0000% 01:37:12
2 all 0 000.0000% 0 000.0000% 01:37:13
3 all 0 000.0000% 0 000.0000% 01:37:14
4 all 0 000.0000% 0 000.0000% 01:37:16
5 all 0 000.0000% 0 000.0000% 01:37:17
6 all 0 000.0000% 0 000.0000% 01:37:18
7 all 0 000.0000% 0 000.0000% 01:37:19
8 all 0 000.0000% 0 000.0000% 01:37:20
9 all 0 000.0000% 0 000.0000% 01:37:21
10 all 0 000.0000% 0 000.0000% 01:37:22
--------------------------------------------------------------------------------
Maximum Local-loss : 0 Maximum Local-loss Ratio : 000.0000%
Minimum Local-loss : 0 Minimum Local-loss Ratio : 000.0000%
Average Local-loss : 0 Average Local-loss Ratio : 000.0000%
Maximum Remote-loss : 0 Maximum Remote-loss Ratio : 000.0000%
Minimum Remote-loss : 0 Minimum Remote-loss Ratio : 000.0000%
Average Remote-loss : 0 Average Remote-loss Ratio : 000.0000%
CFM
步骤1 检查当前配置
与“配置CC/LB/LT/AIS/DM”章节一致。
步骤2 配置单端LM
在Switch1配置:
Switch(config)# ethernet cfm lm enable single-ended domain cust vlan 30 mepid 66 all-cos
在Switch4配置:
Switch(config)# ethernet cfm lm enable single-ended domain cust vlan 30 mepid 99 all-cos
步骤3 检查配置
以下命令用于从Switch1上发送LMM消息,并显示LM的结果:
Switch# ethernet cfm lm single-ended domain cust vlan 30 rmepid 99 mepid 66 count 10
DOMAIN : cust
VLAN : 30
MEPID : 66
Start Time : 2013/07/16 1:39:38
End Time : 2013/07/16 1:39:38
Notes : 1. When the difference of Tx is less than the difference of Rx,
the node is invalid, loss and loss ratio should be "-";
2. When loc is reported for mep, the loss should be "-" and loss
ratio should be 100%;
3. When calculate average loss and loss ratio, invalid or loc nodes
will be excluded;
Latest single-ended loss statistics:
--------------------------------------------------------------------------------
Index Cos Local-loss Local-loss ratio Remote-loss Remote-loss ratio
--------------------------------------------------------------------------------
1 all 0 000.0000% 0 000.0000%
2 all 0 000.0000% 0 000.0000%
3 all 0 000.0000% 0 000.0000%
4 all 0 000.0000% 0 000.0000%
5 all 0 000.0000% 0 000.0000%
6 all 0 000.0000% 0 000.0000%
7 all 0 000.0000% 0 000.0000%
8 all 0 000.0000% 0 000.0000%
9 all 0 000.0000% 0 000.0000%
--------------------------------------------------------------------------------
Maximum Local-loss : 0 Maximum Local-loss Ratio : 000.0000%
Minimum Local-loss : 0 Minimum Local-loss Ratio : 000.0000%
Average Local-loss : 0 Average Local-loss Ratio : 000.0000%
Maximum Remote-loss : 0 Maximum Remote-loss Ratio : 000.0000%
Minimum Remote-loss : 0 Minimum Remote-loss Ratio : 000.0000%
Average Remote-loss : 0 Average Remote-loss Ratio : 000.0000%
CFM
步骤1 检查当前配置
与“配置CC/LB/LT/AIS/DM”章节一致。
步骤2 配置Test
在Switch1配置Test发送功能:
Switch(config)# ethernet cfm tst transmission enable domain cust vlan 30 mep 66 tx-mode continuous pattern-type random packet-size 6
在Switch4配置Test接收功能:
Switch(config)# ethernet cfm tst reception enable domain cust vlan 30 mep 99
步骤3 检查配置
以下命令用于从Switch1上发送Test消息:
Switch# ethernet cfm tst start rate 1000 time second 1
以下命令用于在Switch1上显示Test的信息:
Switch# show ethernet cfm tst
DOMAIN : cust
VLAN : 30
MEPID : 66
Transmission : Enabled
Reception : Disabled
Status : Non-Running
Start Time : 06:32:48
Predict End Time : 06:33:18
Actual End Time : 06:33:18
Packet Type : TST
Rate : 1000 mbps
Packet Size : 64 bytes
Tx Number : 29
Tx Bytes : 1856
Rx Number : 0
Rx Bytes : 0
以下命令用于在Switch4上显示Test的信息:
Switch# show ethernet cfm tst
DOMAIN : cust
VLAN : 30
MEPID : 99
Transmission : Disabled
Reception : Enabled
Status : Non-Running
Start Time : null
End Time : null
Packet Type : null
Rate : null
Packet Size : null
Tx Number : 0
Tx Bytes : 0
Rx Number : 29
Rx Bytes : 1856
无
本章描述如何配置CPU流量限制并查看CPU流量。
CPU流量限制是一种很有用的保护CPU的机制,通过对进入CPU的报文的流量进行限制实现。
CPU流量限制包含两个级别的CPU保护措施:
•其一,限制各个进入CPU的reason的流量。在芯片中,是通过配置这个reason对应的queue shaping实现的。
•其二,限制所有进入CPU的报文的流量。芯片中是通过配置CPU端口上的shaping实现的。
这里提到的reason,意思是各种协议报文的类型,比如bgp、ospf、rip等分别是不同的reason。
下表列出了各种reason和对应的描述:
Reason |
描述 |
arp |
arp协议报文 |
bpdu |
bpdu协议报文(包括 STP, RSTP, MSTP) |
dhcp |
dhcp协议报文 |
eapol |
dot1x协议报文 |
erps |
erps协议报文 |
fwd-to-cpu |
转发到CPU的报文 |
icmp-redirect |
Icmp重定向 |
igmp |
IGMP或者IGMP Snooping报文 |
ip-option |
带有可选字段的IP报文 |
ipda |
ipda协议报文 |
ssh |
SSH协议报文 |
telnet |
Telnet协议报文 |
mlag |
MLAG协议报文 |
tcp |
TCP协议报文 |
ldp |
ldp协议报文 |
macsa-mismatch |
与一个端口security entry不匹配时的学习报文 |
mcast-rpf-fail |
组播报文RPF检查失败 |
mpls-ttl-fail |
ttl失效mpls报文 |
ip-mtu-fail |
超过mtu长度的ip报文 |
ospf |
ospf协议报文 |
pim |
pim协议报文 |
port-security-discard |
端口security entry学满时的学习报文 |
rip |
rip协议报文 |
sflow-egress |
在出口方向sflow的采样报文 |
sflow-ingress |
在入口方向sflow的采样报文 |
slow-protocol |
slow协议报文.(包括 EFM, LACP,SYNCE),ttl失效的组播报文 |
smart-link |
Smart link 协议报文 |
ucast-ttl-fail |
ttl失效的单播IP报文 |
udld |
udld协议报文 |
vlan-security-discard |
vlan内学习的mac达到限制是的学习报文 |
vrrp |
vrrp协议报文 |
bfd-learning |
BFD学习报文 |
dot1x-mac-bypass |
Dot1x旁路认证报文 |
bgp |
边界网关协议报文 |
egress-ttl-fail |
出方向TTL失效的IP报文 |
icmpv6 |
ICMPv6报文 |
l2protocol-tunnel |
二层隧道协议报文 |
loopback-detection |
环路检测报文 |
mirror-to-cpu |
镜像到cpu的报文 |
ndp |
邻居发现协议报文 |
tunnel-gre-keepalive |
gre隧道持续回应报文 |
默认速率和优先级配置如下:
reason |
rate(pps) |
class |
arp |
256 |
1 |
bpdu |
64 |
3 |
dhcp |
128 |
0 |
eapol |
128 |
0 |
erps |
128 |
3 |
fwd-to-cpu |
64 |
0 |
icmp-redirect |
128 |
0 |
igmp |
128 |
2 |
ip-option |
512 |
0 |
ipda |
1000 |
0 |
ssh |
64 |
3 |
telnet |
64 |
3 |
mlag |
1000 |
1 |
tcp |
64 |
2 |
ldp |
512 |
1 |
macsa-mismatch |
128 |
0 |
mcast-rpf-fail |
128 |
1 |
mpls-ttl-fail |
64 |
0 |
ip-mtu-fail |
64 |
0 |
ospf |
256 |
1 |
pim |
128 |
1 |
port-security-discard |
128 |
0 |
rip |
64 |
1 |
sflow-egress |
128 |
0 |
sflow-ingress |
128 |
0 |
slow-protocol |
256 |
1 |
smart-link |
128 |
2 |
ucast-ttl-fail |
64 |
0 |
udld |
128 |
3 |
vlan-security-discard |
128 |
0 |
vrrp |
512 |
1 |
bfd-learning |
128 |
1 |
dot1x-mac-bypass |
64 |
2 |
bgp |
256 |
1 |
egress-ttl-fail |
64 |
0 |
icmpv6 |
64 |
2 |
l2protocol-tunnel |
1000 |
0 |
loopback-detection |
64 |
3 |
mirror-to-cpu |
1000 |
0 |
ndp |
64 |
2 |
tunnel-gre-keepalive |
64 |
0 |
术语
•PDU:英文全称Protocol Data Unit,协议数据单元
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置总限速
总限速默认值2000,单位pps(packet-per-second)
Switch(config)# cpu-traffic-limit total rate 3000
步骤3 配置单个类型报文限速
以RIP报文为例:
Switch(config)# cpu-traffic-limit reason rip rate 500
步骤4 修改优先级类别
Switch(config)# cpu-traffic-limit reason rip class 3
优先级类别支持0-3,数字越大表示优先级越高。
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用命令“show cpu traffic-limit”查看配置结果,详细信息类似如下所示。
Switch# show cpu traffic-limit
reason rate (pps) class
dot1x-mac-bypass 64 2
bpdu 64 3
slow-protocol 256 1
eapol 128 0
erps 128 3
smart-link 128 2
udld 128 3
loopback-detection 64 3
arp 256 1
dhcp 128 0
rip 500 3
ldp 512 1
ospf 256 1
pim 128 1
bgp 256 1
vrrp 512 1
ndp 64 2
icmpv6 64 2
ssh 64 3
telnet 64 3
mlag 1000 1
tcp 64 2
ipda 1000 0
icmp-redirect 128 0
mcast-rpf-fail 128 1
macsa-mismatch 128 0
port-security-discard 128 0
vlan-security-discard 128 0
egress-ttl-fail 64 0
ip-mtu-fail 64 0
bfd-learning 128 1
ptp 512 2
ip-option 512 0
tunnel-gre-keepalive 64 0
ucast-ttl-fail 64 0
mpls-ttl-fail 64 0
igmp 128 2
sflow-ingress 128 0
sflow-egress 128 0
fwd-to-cpu 64 0
l2protocol-tunnel 1000 0
mirror-to-cpu 1000 0
Total rate: 3000 (pps)
使用命令“show cpu traffic-statistics receive all”查看流量统计,详细信息类似如下所示。
Switch# show cpu traffic-statistics receive all
statistics rate time is 5 second(s)
reason count(packets) rate(pps)
dot1x-mac-bypass 0 0
bpdu 0 0
slow-protocol 0 0
eapol 0 0
erps 0 0
smart-link 0 0
udld 0 0
loopback-detection 0 0
arp 0 0
dhcp 0 0
rip 0 0
ldp 0 0
ospf 0 0
pim 0 0
bgp 0 0
vrrp 0 0
rsvp 0 0
ndp 0 0
icmpv6 0 0
ssh 0 0
telnet 0 0
mlag 0 0
tcp 0 0
ipda 0 0
icmp-redirect 0 0
mcast-rpf-fail 0 0
macsa-mismatch 0 0
port-security-discard 0 0
vlan-security-discard 0 0
egress-ttl-fail 0 0
ip-mtu-fail 0 0
bfd-learning 0 0
ptp 0 0
ip-option 0 0
tunnel-gre-keepalive 0 0
ucast-ttl-fail 0 0
mpls-ttl-fail 0 0
igmp 0 0
sflow-ingress 0 0
sflow-egress 0 0
fwd-to-cpu 0 0
l2protocol-tunnel 0 0
mirror-to-cpu 0 0
mpls-tp-pwoam 0 0
other 0 0
Total 0 0
无
此文档描述了G.8031以太网线性保护的配置方法。
线性保护机制的目标是实现以太网快速保护切换。线性保护意味着对于一条或多条工作链路,有一个保护链路,可以在工作链路发生故障的时候承载工作链路上的数据流量,实现1:1或者N:1的保护。
为了实现流量保护,保护链路必须在故障发生之前准备好。一般来说,数据流量都在工作链路上转发。节点故障、链路故障、管理员命令可以触发切换。
参考 ITU-T G.8031/Y.1342 (06/2006)
G.8031
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式,并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-20
Switch(config-vlan)# exit
步骤3 设置STP模式,创建mstp实例
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 10 vlan 10-20
Switch(config-mst)# exit
步骤4 全局使能CFM,创建维护域,并绑定vlan。在维护域和vlan上使能连通性检查
Switch1(config)#ethernet cfm enable
Switch1(config)# ethernet cfm domain test level 5
Switch1(config-ether-cfm)# service test1 vlan 10
Switch1(config-ether-cfm)# service test2 vlan 11
Switch1(config-ether-cfm)# exit
Switch1(config)# ethernet cfm cc enable domain test vlan 10
Switch1(config)# ethernet cfm cc enable domain test vlan 11
步骤5 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-20
Switch(config-if)# ethernet cfm mep down mpid 10 domain test vlan 10 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 12 domain test vlan 10 mac bab3.08a4.c709
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-10
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-20
Switch(config-if)# ethernet cfm mep down mpid 11 domain test vlan 11 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 13 domain test vlan 11 mac bab3.08a4.c70a
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-20
Switch(config-if)# ethernet cfm mep down mpid 12 domain test vlan 10 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 10 domain test vlan 10 mac bab3.08a4.c809
Switch(config-if)# spanning-tree port disable
Switch(config-if)# exit
Switch(config)# interface eth-0-10
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-20
Switch(config-if)# ethernet cfm mep down mpid 13 domain test vlan 11 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 11 domain test vlan 11 mac bab3.08a4.c80a
Switch(config-if)# spanning-tree port disable
Switch(config-if)# exit
步骤6 创建G8031组,并绑定要保护的mstp实例
Switch(config)# g8031 eps-id 10 working-port eth-0-9 protection-port eth-0-10
Switch(g8031-config-switching)# domain test working-service test1 protection-service test2
Switch(g8031-config-switching)# instance 10
Switch(config-if)# exit
步骤7 退出配置模式
Switch(config)# end
步骤8 检查配置
Switch1 显示结果:
Switch# show g8031
Codes: ID - Group id of G.8031
IF-W - Interface of working entity, IF-P - Interface of protection entity
MD - Maintenance domain
MA-W - Maintenance association of working entity
MA-W - Maintenance association of protection entity
CS - Current state, LS - Last state, LE - Last event, FS - Far end state
R/B - Request signal & bridged signal, MODE - Revertive or Non-revertive
WTR - Wait to restore, DFOP - Failure of protocol defects
=============================================================================
ID IF-W IF-P MD MA-W MA-P CS LS LE FS R/B MODE
-----------------------------------------------------------------------------
10 eth-0-9 eth-0-10 test test1 test2 NR NR NR NR null REV
APS Vid - 11
Active-Path - Working
DFOP State - Not in defect mode
Protected Instance - 10
=============================================================================
Switch2 显示结果:
Switch# show g8031
Codes: ID - Group id of G.8031
IF-W - Interface of working entity, IF-P - Interface of protection entity
MD - Maintenance domain
MA-W - Maintenance association of working entity
MA-W - Maintenance association of protection entity
CS - Current state, LS - Last state, LE - Last event, FS - Far end state
R/B - Request signal & bridged signal, MODE - Revertive or Non-revertive
WTR - Wait to restore, DFOP - Failure of protocol defects
=============================================================================
ID IF-W IF-P MD MA-W MA-P CS LS LE FS R/B MODE
-----------------------------------------------------------------------------
10 eth-0-9 eth-0-10 test test1 test2 NR NR NR NR null REV
APS Vid - 11
Active-Path - Working
DFOP State - Not in defect mode
Protected Instance - 10
无
以太环网拓扑与其他拓扑相比,是一种比较经济的网络拓扑,它可以通过更少的链路,实现更大范围的网络互连。环上每个节点都通过两条独立的链路与它的相邻节点互连,加入到同一个环网中。在同一个环上,邻接节点之间互连的链路称为环链路,互连的接口称为环接口。要形成一个环网,至少要有两台设备。
环网保护要解决的两个基本问题是:
•阻止成环,防止广播风暴。
•数据流量的mac学习和转发机制。
阻止成环意味着,在任何时候,数据报文在环网上的节点之间流通,但是必须有一处断开。这处断开的链路被称为环保护链路(RPL)。在正常情况下该链路被人为的阻塞,不能转发数据报文,保护链路的一端设备被称为owner,负责在这个链路上阻塞报文。
在环网出现故障的时候,会触发环网保护切换,owner负责打开环保护链路,保证了网络畅通,业务不会中断。
环网发生故障的消息是通过APS协议报文在环上转发的。环网上的每个节点都需要做相应的配置。
无
•参考:
•T-REC-G.8032-200806-I!!PDF-E.pdf
•T-REC-G.8032-201003-I!!PDF-E.pdf
•T-REC-G.8032-201708-I!Cor1!PDF-E.pdf
•单环拓扑
G8032单环拓扑
•多环拓扑
G8032多环拓扑
步骤1 Switch1 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-100
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# rpl owner east-interface
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
步骤2 Switch1检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : Owner
Is Sub_ring : No
Protect Instance : 1
RPL : east-interface
Wait-to-restore : 04:26 (266492 msecs)
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
步骤3 Switch2 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-100
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
步骤4 Switch2检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
步骤5 Switch3 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-100
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
步骤6 Switch3检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
步骤7 Switch4 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-100
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
步骤8 Switch4检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
步骤1 Switch1 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-150
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# instance 2 vlan 101-150
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# no ip igmp snooping vlan 20
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 101-150
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-13
Switch(g8032-config-switch)# rpl owner east-interface
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
Switch(g8032-config-switch)# exit
Switch(config)# g8032 ring-id 2 interface eth-0-20 major-ring-id 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 20
Switch(g8032-config-switch)# ring enable
步骤2 Switch1检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-13 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : Owner
Is Sub_ring : No
Protect Instance : 1-2
Sub-ring : 2
RPL : east-interface
Wait-to-restore : 04:26 (266492 msecs)
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
2 1 Pending eth-0-20 Blocked N/A N/A
Control Vlan : 20
Is Enabled : No
Mode : Revertive
Node Role : N/A
Is Sub_ring : Yes
Virtual-channel : Disable
Protect Instance : 2
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
步骤3 Switch2 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-150
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# instance 2 vlan 101-150
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
步骤4 Switch2检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1-2
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 0
-------------------------------------------------------------------------------
步骤5 Switch3 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-150
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# instance 2 vlan 101-150
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# no ip igmp snooping vlan 20
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 101-150
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if-eth-0-20)# switchport mode trunk
Switch(config-if-eth-0-20)# switchport trunk allowed vlan add 10-150
Switch(config-if-eth-0-20)# spanning-tree port disable
Switch(config-if-eth-0-20)# no shutdown
Switch(config-if-eth-0-20)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-13 west-interface eth-0-20
Switch(g8032-config-switch)# rpl owner east-interface
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
Switch(g8032-config-switch)# exit
Switch(config)# g8032 ring-id 2 interface eth-0-9 major-ring-id 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 20
Switch(g8032-config-switch)# ring enable
步骤6 Switch3检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-13 Blocked eth-0-20 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1-2
Sub-ring : 2
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 0
-------------------------------------------------------------------------------
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
2 1 Pending eth-0-9 Blocked N/A N/A
Control Vlan : 20
Is Enabled : No
Mode : Revertive
Node Role : N/A
Is Sub_ring : Yes
Virtual-channel : Disable
Protect Instance : 2
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
步骤7 Switch4 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 101-150
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 2 vlan 101-150
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 20
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 101-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 101-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 2 east-interface eth-0-9 west-interface eth-0-20 is-sub-ring
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# rpl owner east-interface
Switch(g8032-config-switch)# control-vlan 20
Switch(g8032-config-switch)# ring enable
步骤8 Switch4检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
2 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 20
Is Enabled : Yes
Mode : Revertive
Node Role : Owner
Is Sub_ring : Yes
Protect Instance : 1-2
RPL : east-interface
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 0
-------------------------------------------------------------------------------
步骤1 Switch1 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-150
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# instance 2 vlan 101-150
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# no ip igmp snooping vlan 20
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 101-150
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-13
Switch(g8032-config-switch)# rpl owner east-interface
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
Switch(g8032-config-switch)# exit
Switch(config)# g8032 ring-id 2 interface eth-0-20 major-ring-id 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 20
Switch(g8032-config-switch)# virtual-channel enable
Switch(g8032-config-switch)# ring enable
步骤2 Switch1检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-13 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : Owner
Is Sub_ring : No
Protect Instance : 1-2
Sub-ring : 2
RPL : east-interface
Wait-to-restore : 04:26 (266492 msecs)
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
2 1 Pending eth-0-20 Blocked N/A N/A
Control Vlan : 20
Is Enabled : No
Mode : Revertive
Node Role : N/A
Is Sub_ring : Yes
Virtual-channel : Enable
Protect Instance : 2
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 0
-------------------------------------------------------------------------------
步骤3 Switch2 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-150
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# instance 2 vlan 101-150
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
步骤4 Switch2检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1-2
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 0
-------------------------------------------------------------------------------
步骤5 Switch3 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-150
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# instance 2 vlan 101-150
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# no ip igmp snooping vlan 20
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 101-150
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if-eth-0-20)# switchport mode trunk
Switch(config-if-eth-0-20)# switchport trunk allowed vlan add 10-150
Switch(config-if-eth-0-20)# spanning-tree port disable
Switch(config-if-eth-0-20)# no shutdown
Switch(config-if-eth-0-20)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-13 west-interface eth-0-20
Switch(g8032-config-switch)# rpl owner east-interface
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# ring enable
Switch(g8032-config-switch)# exit
Switch(config)# g8032 ring-id 2 interface eth-0-9 major-ring-id 1
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# control-vlan 20
Switch(g8032-config-switch)# virtual-channel enable
Switch(g8032-config-switch)# ring enable
步骤6 Switch3检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-13 Blocked eth-0-20 Forward
Control Vlan : 100
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1-2
Sub-ring : 2
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 0
-------------------------------------------------------------------------------
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
2 1 Pending eth-0-9 Blocked N/A N/A
Control Vlan : 20
Is Enabled : No
Mode : Revertive
Node Role : N/A
Is Sub_ring : Yes
Virtual-channel : Enable
Protect Instance : 2
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 0
-------------------------------------------------------------------------------
步骤7 Switch4 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 101-150
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 2 vlan 101-150
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 20
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 101-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 101-150
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 2 east-interface eth-0-9 west-interface eth-0-20 is-sub-ring
Switch(g8032-config-switch)# instance 2
Switch(g8032-config-switch)# rpl owner east-interface
Switch(g8032-config-switch)# control-vlan 20
Switch(g8032-config-switch)# virtual-channel enable
Switch(g8032-config-switch)# ring enable
步骤8 Switch4检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
2 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 20
Is Enabled : Yes
Mode : Revertive
Node Role : Owner
Is Sub_ring : Yes
Virtual-channel : Enable
Protect Instance : 1-2
RPL : east-interface
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 0
-------------------------------------------------------------------------------
当前,触发G8032进行保护倒换的机制有两种:
•端口linkdown/shutdown触发
•CFM检测到链路故障触发
在上述的单环配置中采用的是端口linkdown/shutdown触发,这里结合CFM的配置,来说明CFM与G8032的联动关系。
步骤1 Switch1 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-100
Switch(config-vlan)# vlan 5
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# ethernet cfm enable
Switch(config)# ethernet cfm domain md1 level 5
Switch(config-ether-cfm)# service ma1 vlan 5
Switch(config-ether-cfm)# exit
Switch(config)# ethernet cfm cc enable domain md1 vlan 5
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# ethernet cfm mep down mpid 101 domain md1 vlan 5 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 201 domain md1 vlan 5 mac e03e.b1e1.3309
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# ethernet cfm mep down mpid 102 domain md1 vlan 5 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 402 domain md1 vlan 5 mac b2d0.60e4.c314
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# rpl owner east-interface
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# domain md1 service ma1
Switch(g8032-config-switch)# ring enable
步骤2 Switch1检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
MD Name : md1
Service Id : ma1
Is Enabled : Yes
Mode : Revertive
Node Role : Owner
Is Sub_ring : No
Protect Instance : 1
RPL : east-interface
Wait-to-restore : 04:26 (266492 msecs)
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
Switch# show ethernet cfm maintenance-points
######Local MEP:
Dir-Direction;
L-Level;
MPID Dir DOMAIN L VLAN PORT CC-Status MAC-Address RDI Interval
--------------------------------------------------------------------------------
101 down md1 5 5 eth-0-9 Enabled 104e.40d1.e309 False 3.3ms
102 down md1 5 5 eth-0-20 Enabled 104e.40d1.e314 False 3.3ms
######Remote MEP:
MPID LEVEL VLAN Remote Mac RDI FLAGS STATE
---------------------------------------------------------
201 5 5 e03e.b1e1.3309 False Mac_config Up
402 5 5 b2d0.60e4.c314 False Mac_config Up
步骤3 Switch2 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-100
Switch(config-vlan)# vlan 5
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# ethernet cfm enable
Switch(config)# ethernet cfm domain md1 level 5
Switch(config-ether-cfm)# service ma1 vlan 5
Switch(config-ether-cfm)# exit
Switch(config)# ethernet cfm cc enable domain md1 vlan 5
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# ethernet cfm mep down mpid 201 domain md1 vlan 5 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 101 domain md1 vlan 5 mac 104e.40d1.e309
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# ethernet cfm mep down mpid 202 domain md1 vlan 5 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 302 domain md1 vlan 5 mac a0cd.ce44.5514
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# domain md1 service ma1
Switch(g8032-config-switch)# ring enable
步骤4 Switch2检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
MD Name : md1
Service Id : ma1
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
Switch# show ethernet cfm maintenance-points
######Local MEP:
Dir-Direction;
L-Level;
MPID Dir DOMAIN L VLAN PORT CC-Status MAC-Address RDI Interval
--------------------------------------------------------------------------------
201 down md1 5 5 eth-0-9 Enabled e03e.b1e1.3309 False 3.3ms
202 down md1 5 5 eth-0-20 Enabled e03e.b1e1.3314 False 3.3ms
######Remote MEP:
MPID LEVEL VLAN Remote Mac RDI FLAGS STATE
---------------------------------------------------------
101 5 5 104e.40d1.e309 False Mac_config Up
302 5 5 a0cd.ce44.5514 False Mac_config Up
步骤5 Switch3 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-100
Switch(config-vlan)# vlan 5
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# ethernet cfm enable
Switch(config)# ethernet cfm domain md1 level 5
Switch(config-ether-cfm)# service ma1 vlan 5
Switch(config-ether-cfm)# exit
Switch(config)# ethernet cfm cc enable domain md1 vlan 5
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# ethernet cfm mep down mpid 301 domain md1 vlan 5 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 401 domain md1 vlan 5 mac b2d0.60e4.c309
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# ethernet cfm mep down mpid 302 domain md1 vlan 5 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 202 domain md1 vlan 5 mac e03e.b1e1.3314
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# domain md1 service ma1
Switch(g8032-config-switch)# ring enable
步骤6 Switch3检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
MD Name : md1
Service Id : ma1
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
Switch# show ethernet cfm maintenance-points
######Local MEP:
Dir-Direction;
L-Level;
MPID Dir DOMAIN L VLAN PORT CC-Status MAC-Address RDI Interval
--------------------------------------------------------------------------------
301 down md1 5 11 eth-0-9 Enabled a0cd.ce44.5509 False 3.3ms
302 down md1 5 11 eth-0-20 Enabled a0cd.ce44.5514 False 3.3ms
######Remote MEP:
MPID LEVEL VLAN Remote Mac RDI FLAGS STATE
---------------------------------------------------------
401 5 11 b2d0.60e4.c309 False Mac_config Up
202 5 11 e03e.b1e1.3314 False Mac_config Up
步骤7 Switch4 配置
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# vlan database
Switch(config-vlan)# vlan 10-100
Switch(config-vlan)# vlan 5
Switch(config-vlan)# exit
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-99
Switch(config-mst)# exit
Switch(config)# no ip igmp snooping vlan 100
Switch(config)# ethernet cfm enable
Switch(config)# ethernet cfm domain md1 level 5
Switch(config-ether-cfm)# service ma1 vlan 5
Switch(config-ether-cfm)# exit
Switch(config)# ethernet cfm cc enable domain md1 vlan 5
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# ethernet cfm mep down mpid 401 domain md1 vlan 5 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 301 domain md1 vlan 5 mac a0cd.ce44.5509
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-20
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10-100
Switch(config-if)# spanning-tree port disable
Switch(config-if)# ethernet cfm mep down mpid 402 domain md1 vlan 5 interval 1
Switch(config-if)# ethernet cfm mep crosscheck mpid 102 domain md1 vlan 5 mac 104e.40d1.e314
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# g8032 ring-id 1 east-interface eth-0-9 west-interface eth-0-20
Switch(g8032-config-switch)# instance 1
Switch(g8032-config-switch)# control-vlan 100
Switch(g8032-config-switch)# domain md1 service ma1
Switch(g8032-config-switch)# ring enable
步骤8 Switch4检查配置
Switch# show g8032
RingID MajorRing State East Status West Status
-------------------------------------------------------------------------------
1 N/A Pending eth-0-9 Blocked eth-0-20 Forward
Control Vlan : 100
MD Name : md1
Service Id : ma1
Is Enabled : Yes
Mode : Revertive
Node Role : N/A
Is Sub_ring : No
Protect Instance : 1
Wait-to-restore : 05:00
Hold-off Timer : 0 (msecs)
Guard Timer : 500 (msecs)
WTB Timer : 5500 (msecs)
RAPS MEL : 7
Is Forward-to-cpu : 1
-------------------------------------------------------------------------------
Switch# show ethernet cfm maintenance-points
######Local MEP:
Dir-Direction;
L-Level;
MPID Dir DOMAIN L VLAN PORT CC-Status MAC-Address RDI Interval
--------------------------------------------------------------------------------
401 down md1 5 11 eth-0-9 Enabled b2d0.60e4.c309 False 3.3ms
402 down md1 5 11 eth-0-20 Enabled b2d0.60e4.c314 False 3.3ms
######Remote MEP:
MPID LEVEL VLAN Remote Mac RDI FLAGS STATE
---------------------------------------------------------
301 5 11 a0cd.ce44.5509 False Mac_config Up
102 5 11 104e.40d1.e314 False Mac_config Up
UDLD (Unidirectional Link Detection,单向链路检测) 是一种可以检测和禁用单向链路的轻量级的协议。通过使用UDLD可以防止生成树等协议在单向链接时产生的异常情况。
无
UDLD
以下配置在Switch1 和Switch2相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,在接口上使能UDLD
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# udld port
Switch(config-if)# exit
步骤3 全局使能UDLD
Switch(config)# udld enable
步骤4 配置UDLD报文时间间隔(可选)
如不显式配置,默认值15,单位秒。
Switch(config)# udld message interval 10
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show udld eth-0-9
Interface eth-0-9
---
UDLD mode : normal
Operation state : Bidirectional
Message interval : 10
Message timeout : 3
Neighbor 1
---
Device ID : 4c7b.8510.ab00
Port ID : eth-0-9
Device Name : Switch
Message interval: 10
Message timeout : 3
Link Status : bidirectional
Expiration time : 29
Switch2 显示结果:
Switch# show udld eth-0-9
Interface eth-0-9
---
UDLD mode : normal
Operation state : Bidirectional
Message interval: 10
Message timeout : 3
Neighbor 1
---
Device ID : 28bc.83db.8400
Port ID : eth-0-9
Device Name : Switch
Message interval: 10
Message timeout : 3
Link Status : bidirectional
Expiration time : 23
无
在网络规划和实际组网应用中,大多采用环网来提供高可靠性。环网技术简单来说,就是将一些网络设备通过环的形状连接到一起,实现相互通信的一种技术。为了避免环网中产生广播风暴,最初采用了已被普遍应用的STP协议环路保护机制。但实际应用中STP协议的收敛时间受网络拓扑的影响,在网络直径较大时收敛时间较长,因而往往不能满足传输质量较高的数据的要求。为了缩短环网的收敛时间并消除网络大小的影响,专门开发了ERPS技术。ERPS技术提高了以太网环的可用性和耐用性,在链路发生中断的时候可以在50毫秒以内完成收敛。
其主要思想描述如下:环域上,一个交换机被指定为主节点,而其他所有节点指定为传输节点。主节点的一个端口被指定为主端口,另一个端口被指定为副端口。在一个预先设定的时间间隔,主节点从主端口发送keep-alive消息,域内的传输节点转发ERPS消息,当主节点的副端口收到自己发出来的keep-alive消息后会阻塞副端口,除了ERPS报文其他报文都不允许通过。当传输节点检测到链路发生故障后,就会发送linkdown消息给相邻节点,邻节点收到后会传递给另一个端口的相邻节点,直到主节点收到。在收到链路故障报文后,主节点将重新打开副端口允许传输数据流量通过。
参考: RFC 3619
ERPS是一个软件控制的协议,只要在需要该功能的设备上启用ERPS并按照网络拓扑来正确配置ERPS。
本节提供了典型网络拓扑下的ERPS配置实例。
ERPS
在Switch1,Switch2和Switch3上配置相同的ERPS域和环,交换机1配置成ERPS主节点,其他两个交换机配置成ERPS传输节点,AGG11接口有两个成员分别是eth-0-9和eth-0-10。AGG11接口配置成ERPS域的主端口,eth-0-13配置成ERPS域的副端口。
ERPS环上的接口必须配置成Trunk模式并且允许控制VLAN和数据VLAN的报文通过。如果设备启用了堆叠功能, ERPS环上的接口不可以是从设备上的端口,否则ERPS不能正常工作。
•ERPS端口环需要加入控制VLAN,允许ERPS协议报文发送和接收。
•ERPS环中的端口必须把STP关闭。
•只有一个节点能配置成Master。
•控制VLAN不能配置成三层VLAN接口。
•VLAN MAP关系不能在ERPS端口上启用。
•本地VLAN不能设置成第一控制VLAN和第二控制VLAN。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 15
Switch(config-vlan)# exit
步骤3 进入端口配置模式,配置端口属性
按拓扑所示,Switch1和2的eth-0-9和eth-0-10加入agg11并直连。 Switch1和3的eth-0-13直连。 Switch2和3的eth-0-17直连。
Switch1 和 Switch2 的 agg 11 端口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 15
Switch(config-if)# static-channel-group 11
Switch(config-if)# exit
Switch(config)# interface eth-0-10
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 15
Switch(config-if)# static-channel-group 11
Switch(config-if)# exit
Switch(config)# interface agg11
Switch(config-if)# spanning-tree port disable
Switch1 和 Switch3 的eth-0-13 端口配置:
Switch(config)# interface eth-0-13
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 15
Switch(config-if)# spanning-tree port disable
Switch(config-if)# exit
Switch2 和 Switch3 的eth-0-17 端口配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 15
Switch(config-if)# spanning-tree port disable
Switch(config-vlan)# exit
步骤4 配置和启用ERPS域
Switch1 的 erps 域:
Switch(config)# erps 11
Switch(config)# erps 11 primary control vlan 15
Switch(config)# erps 11 mstp instance 0
Switch(config)# erps 11 ring 1 level primary
Switch(config)# erps 11 ring 1 mode master
Switch(config)# erps 11 ring 1 primary interface agg11
Switch(config)# erps 11 ring 1 secondary interface eth-0-13
Switch(config)# erps 11 ring 1 enable
Switch(config)# erps 11 enable
Switch2 的 erps 域:
Switch(config)# erps 11
Switch(config)# erps 11 primary control vlan 15
Switch(config)# erps 11 mstp instance 0
Switch(config)# erps 11 ring 1 level primary
Switch(config)# erps 11 ring 1 mode transit
Switch(config)# erps 11 ring 1 primary interface agg11
Switch(config)# erps 11 ring 1 secondary interface eth-0-17
Switch(config)# erps 11 ring 1 enable
Switch(config)# erps 11 enable
Switch3 的 erps 域:
Switch(config)# erps 11
Switch(config)# erps 11 primary control vlan 15
Switch(config)# erps 11 mstp instance 0
Switch(config)# erps 11 ring 1 level primary
Switch(config)# erps 11 ring 1 mode transit
Switch(config)# erps 11 ring 1 primary interface eth-0-17
Switch(config)# erps 11 ring 1 secondary interface eth-0-13
Switch(config)# erps 11 ring 1 enable
Switch(config)# erps 11 enable
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show erps 11
ERPS domain ID: 11
ERPS domain name: ERPS0011
ERPS domain mode: normal
ERPS domain primary control VLAN ID: 15
ERPS domain sub control VLAN ID: 0
ERPS domain hello timer interval: 1 second(s)
ERPS domain fail timer interval: 3 second(s)
ERPS domain protected mstp instance: 0
ERPS ring ID: 1
ERPS ring level: primary
ERPS ring 1 node mode: master
ERPS ring 1 node state: complete
ERPS ring 1 primary interface name: agg11 state:unblock
ERPS ring 1 secondary interface name: eth-0-13 state:block
ERPS ring 1 stats:
Sent:
total packets:51
hello packets:47 ring-up-flush-fdb packets:2
ring-down-flush-fdb packets:2 link-down packets:0
edge-hello packets:0 major-fault packets:0
Received:
total packets:21
hello packets:21 ring-up-flush-fdb packets:0
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Switch2 显示结果:
Switch# show erps 11
ERPS domain ID: 11
ERPS domain name: ERPS0011
ERPS domain mode: normal
ERPS domain primary control VLAN ID: 15
ERPS domain sub control VLAN ID: 0
ERPS domain hello timer interval: 1 second(s)
ERPS domain fail timer interval: 3 second(s)
ERPS domain protected mstp instance: 0
ERPS ring ID: 1
ERPS ring level: primary
ERPS ring 1 node mode: transit
ERPS ring 1 node state: link up
ERPS ring 1 primary interface name: agg11 state:unblock
ERPS ring 1 secondary interface name: eth-0-17 state:unblock
ERPS ring 1 stats:
Sent:
total packets:0
hello packets:0 ring-up-flush-fdb packets:0
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Received:
total packets:114
hello packets:113 ring-up-flush-fdb packets:1
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Switch3 显示结果:
Switch# show erps 11
ERPS domain ID: 11
ERPS domain name: ERPS0011
ERPS domain mode: normal
ERPS domain primary control VLAN ID: 15
ERPS domain sub control VLAN ID: 0
ERPS domain hello timer interval: 1 second(s)
ERPS domain fail timer interval: 3 second(s)
ERPS domain protected mstp instance: 0
ERPS ring ID: 1
ERPS ring level: primary
ERPS ring 1 node mode: transit
ERPS ring 1 node state: link up
ERPS ring 1 primary interface name: eth-0-17 state:unblock
ERPS ring 1 secondary interface name: eth-0-13 state:unblock
ERPS ring 1 stats:
Sent:
total packets:0
hello packets:0 ring-up-flush-fdb packets:0
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Received:
total packets:130
hello packets:129 ring-up-flush-fdb packets:1
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
ERPS
Switch1,Switch2,Switch3和Switch4配置成相同的ERPS域,Switch1,Switch2和Switch3组成ERPS环网的主环ring 1,Switch1配置成ring 1的主节点,其他两台设备配置成ring 1中的传输节点,Switch2,Switch3和Switch4配置成ERPS环网的子环ring 2,Switch4配置成ring 2的主节点.此外Switch2配置成边缘节点,Switch3配置成辅助边缘节点。
注意事项:
•端口接入ERPS环需要配置控制VLAN的成员,允许ERPS数据包发送和接收。
•ERPS环中的端口必须把STP关闭。
•只有一个节点能配置成Master。
•边缘节点和辅助边缘节点必须是两个环的交叉点。
•子环的边缘节点和辅助边缘节点必须传输节点。
•通用的接口必须为两环相交接口。
•边缘端口只能属于一个子环。
•主环和子环共存必须要有边缘节点或边缘辅助节点。
•必须在主环创建后再创建子环。
•子环的取消和删除操作必须在主环之前。
•一个交换机只能成为一个域的主节点或者域中的子环的传输节点。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 11,12
Switch(config-vlan)# exit
步骤3 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-9
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 11,12
Switch(config-if)# spanning-tree port disable
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 11,12
Switch(config-if)# spanning-tree port disable
Switch(config-if)# exit
Switch2 和 Switch3的eth-0-20接口配置:
Switch(config)# interface eth-0-20
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 11,12
Switch(config-if)# spanning-tree port disable
Switch(config-if)# exit
步骤4 配置和启用ERPS域
Switch1 的 erps 域:
Switch(config)# erps 1
Switch(config)# erps 1 primary control vlan 11
Switch(config)# erps 1 sub control vlan 12
Switch(config)# erps 1 mstp instance 0
Switch(config)# erps 1 ring 1 level primary
Switch(config)# erps 1 ring 1 mode master
Switch(config)# erps 1 ring 1 primary interface eth-0-9
Switch(config)# erps 1 ring 1 secondary interface eth-0-13
Switch(config)# erps 1 ring 1 enable
Switch(config)# erps 1 enable
Switch2 的 erps 域:
Switch(config)# erps 1
Switch(config)# erps 1 primary control vlan 11
Switch(config)# erps 1 sub control vlan 12
Switch(config)# erps 1 mstp instance 0
Switch(config)# erps 1 ring 1 level primary
Switch(config)# erps 1 ring 1 mode transit
Switch(config)# erps 1 ring 1 primary interface eth-0-9
Switch(config)# erps 1 ring 1 secondary interface eth-0-20
Switch(config)# erps 1 ring 1 enable
Switch(config)# erps 1 ring 2 level sub
Switch(config)# erps 1 ring 2 edge-mode edge
Switch(config)# erps 1 ring 2 edge interface eth-0-13
Switch(config)# erps 1 ring 2 common interface eth-0-20
Switch(config)# erps 1 ring 2 srpt disable
Switch(config)# erps 1 ring 2 enable
Switch(config)# erps 1 enable
Switch3 的 erps 域:
Switch(config)# erps 1
Switch(config)# erps 1 primary control vlan 11
Switch(config)# erps 1 sub control vlan 12
Switch(config)# erps 1 mstp instance 0
Switch(config)# erps 1 ring 1 level primary
Switch(config)# erps 1 ring 1 mode transit
Switch(config)# erps 1 ring 1 primary interface eth-0-13
Switch(config)# erps 1 ring 1 secondary interface eth-0-20
Switch(config)# erps 1 ring 1 enable
Switch(config)# erps 1 ring 2 level sub
Switch(config)# erps 1 ring 2 edge-mode assistant-edge
Switch(config)# erps 1 ring 2 edge interface eth-0-9
Switch(config)# erps 1 ring 2 common interface eth-0-20
Switch(config)# erps 1 ring 2 enable
Switch(config)# erps 1 enable
Switch4 的 erps 域:
Switch(config)# erps 1
Switch(config)# erps 1 sub control vlan 12
Switch(config)# erps 1 mstp instance 0
Switch(config)# erps 1 ring 2 level sub
Switch(config)# erps 1 ring 2 mode master
Switch(config)# erps 1 ring 2 primary interface eth-0-9
Switch(config)# erps 1 ring 2 secondary interface eth-0-13
Switch(config)# erps 1 ring 2 enable
Switch(config)# erps 1 enable
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show erps 1
ERPS domain ID: 1
ERPS domain name: ERPS001
ERPS domain mode: normal
ERPS domain primary control VLAN ID: 11
ERPS domain sub control VLAN ID: 12
ERPS domain hello timer interval: 1 second(s)
ERPS domain fail timer interval: 3 second(s)
ERPS domain protected mstp instance: 0
ERPS ring ID: 1
ERPS ring level: primary
ERPS ring 1 node mode: master
ERPS ring 1 node state: complete
ERPS ring 1 primary interface name: eth-0-9 state:unblock
ERPS ring 1 secondary interface name: eth-0-13 state:block
ERPS ring 1 stats:
Sent:
total packets:1310
hello packets:1303 ring-up-flush-fdb packets:3
ring-down-flush-fdb packets:4 link-down packets:0
edge-hello packets:0 major-fault packets:0
Received:
total packets:921
hello packets:921 ring-up-flush-fdb packets:0
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Switch2 显示结果:
Switch# show erps 1
ERPS domain ID: 1
ERPS domain name: ERPS001
ERPS domain mode: normal
ERPS domain primary control VLAN ID: 11
ERPS domain sub control VLAN ID: 12
ERPS domain hello timer interval: 1 second(s)
ERPS domain fail timer interval: 3 second(s)
ERPS domain protected mstp instance: 0
ERPS ring ID: 1
ERPS ring level: primary
ERPS ring 1 node mode: transit
ERPS ring 1 node state: link up
ERPS ring 1 primary interface name: eth-0-9 state:unblock
ERPS ring 1 secondary interface name: eth-0-20 state:unblock
ERPS ring 1 stats:
Sent:
total packets:0
hello packets:0 ring-up-flush-fdb packets:0
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Received:
total packets:988
hello packets:985 ring-up-flush-fdb packets:2
ring-down-flush-fdb packets:1 link-down packets:0
edge-hello packets:0 major-fault packets:0
ERPS ring ID: 2
ERPS ring level: sub
ERPS ring 2 node mode: transit
ERPS ring 2 edge node mode: edge
ERPS ring 2 node state: link up
ERPS ring 2 edge interface name: eth-0-13 state: unblock
ERPS ring 2 common interface name: eth-0-20 state: unblock
EPRS ring 2 SRPT is disabled
ERPS ring 2 stats:
Sent:
total packets:0
hello packets:0 ring-up-flush-fdb packets:0
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Received:
total packets:858
hello packets:856 ring-up-flush-fdb packets:1
ring-down-flush-fdb packets:1 link-down packets:0
edge-hello packets:0 major-fault packets:0
Switch3 显示结果:
Switch# show erps 1
ERPS domain ID: 1
ERPS domain name: ERPS001
ERPS domain mode: normal
ERPS domain primary control VLAN ID: 11
ERPS domain sub control VLAN ID: 12
ERPS domain hello timer interval: 1 second(s)
ERPS domain fail timer interval: 3 second(s)
ERPS domain protected mstp instance: 0
ERPS ring ID: 1
ERPS ring level: primary
ERPS ring 1 node mode: transit
ERPS ring 1 node state: link up
ERPS ring 1 primary interface name: eth-0-13 state:unblock
ERPS ring 1 secondary interface name: eth-0-20 state:unblock
ERPS ring 1 stats:
Sent:
total packets:0
hello packets:0 ring-up-flush-fdb packets:0
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Received:
total packets:645
hello packets:644 ring-up-flush-fdb packets:1
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
ERPS ring ID: 2
ERPS ring level: sub
ERPS ring 2 node mode: transit
ERPS ring 2 edge node mode: assistant edge
ERPS ring 2 node state: link up
ERPS ring 2 edge interface name: eth-0-9 state: unblock
ERPS ring 2 common interface name: eth-0-20 state: unblock
ERPS ring 2 stats:
Sent:
total packets:0
hello packets:0 ring-up-flush-fdb packets:0
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Received:
total packets:645
hello packets:644 ring-up-flush-fdb packets:1
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Switch4 显示结果:
Switch# show erps 1
ERPS domain ID: 1
ERPS domain name: ERPS001
ERPS domain mode: normal
ERPS domain primary control VLAN ID: 0
ERPS domain sub control VLAN ID: 12
ERPS domain hello timer interval: 1 second(s)
ERPS domain fail timer interval: 3 second(s)
ERPS domain protected mstp instance: 0
ERPS ring ID: 2
ERPS ring level: sub
ERPS ring 2 node mode: master
ERPS ring 2 node state: complete
ERPS ring 2 primary interface name: eth-0-9 state:unblock
ERPS ring 2 secondary interface name: eth-0-13 state:block
ERPS ring 2 stats:
Sent:
total packets:814
hello packets:810 ring-up-flush-fdb packets:2
ring-down-flush-fdb packets:2 link-down packets:0
edge-hello packets:0 major-fault packets:0
Received:
total packets:774
hello packets:774 ring-up-flush-fdb packets:0
ring-down-flush-fdb packets:0 link-down packets:0
edge-hello packets:0 major-fault packets:0
Switch#
无
Smart Link,中文译为灵活链路,又称为备份链路,是一种为链路双上行提供可靠高效的备份和切换机制的解决方案,常用于双上行组网。相比STP(Spanning Tree Protocol, 生成树协议),Smart Link技术能够提供更快速的收敛性能,相比ERPS,Smart Link技术提供了更简洁的配置使用方式。
该功能还能提供链路负载均衡的功能。
无
Smart-Link Typical Topology
上图是一个Smart-link的典型配置,交换机1和2配置Smart-link组;交换机3、4和5配置Smart-link的报文接收。
下面的示例给出了Smart Link链路双上行保护的配置,拓扑图示Figure 9-1。
注意事项:
•Smart Link组的控制vlan和保护vlan必须事先在 vlan database创建好。
•Smart Link组的端口必须把STP关闭。
•Smart Link组的保护实例必须事先在MSTP模块先创建好。
•给每台交换机配置VLAN 1-3,MSTP instance1-3。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式,并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2-20
Switch(config-vlan)# exit
步骤3 设置STP模式,创建mstp实例
mstp实例在Switch1 和 Switch2 创建:
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 1
Switch(config-mst)# instance 2 vlan 2
Switch(config-mst)# instance 3 vlan 3
Switch(config-mst)# exit
步骤4 进入接口配置模式,配置接口属性
Switch1 和 Switch2 的接口配置:
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch3 和 Switch4 的接口配置:
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# smart-link flush receive control-vlan 10 password simple test
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no shutdown
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# smart-link flush receive control-vlan 10 password simple test
Switch (config-if)# exit
Switch3 的 eth-0-19:
Switch(config)# interface eth-0-19
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# exit
Switch4 的 eth-0-21:
Switch(config)# interface eth-0-21
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# exit
Switch5 的接口配置:
Switch(config)# interface eth-0-19
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# smart-link flush receive control-vlan 10 password simple test
Switch(config-if)# exit
Switch(config)# interface eth-0-21
Switch(config-if)# switchport mode trunk
Switch(config-if)# no shutdown
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# smart-ink flush receive control-vlan 10 password simple test
Switch(config-if)# exit
步骤5 创建smart link组并配置其属性
smart link组在Switch1 和 Switch2 创建:
Switch(config)# smart-link group 1
Switch(config-smlk-group)# interface eth-0-13 master
Switch(config-smlk-group)# interface eth-0-17 slave
Switch(config-smlk-group)# protected mstp instance 1
Switch(config-smlk-group)# protected mstp instance 2
Switch(config-smlk-group)# protected mstp instance 3
Switch(config-smlk-group)# load-balance instance 3
Switch(config-smlk-group)# restore time 40
Switch(config-smlk-group)# restore enable
Switch(config-smlk-group)# flush send control-vlan 10 password simple test
Switch(config-smlk-group)# group enable
Switch(config-smlk-group)# exit
步骤6 取消smart link relay功能
在Switch5 配置:
Switch(config)# no smart-link relay enable
步骤7 退出配置模式
Switch(config)# end
步骤8 检查配置
Switch1 显示结果:
Switch1# show smart-link group 1
Smart-link group 1 information:
The smart-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
enabled 40 0 N/A
============================================================
Protected instance: 1 2 3
Load balance instance: 3
Flush sender , Control-vlan ID: 10 Password:test
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
MASTER eth-0-13 0 N/A 0 N/A
SLAVE eth-0-17 0 N/A 0 N/A
============================================================
Instance states in the member interfaces:
A - ACTIVE , B -BLOCK , D-The interface is link-down
Map-instance-ID MASTER(eth-0-13) SLAVE(eth-0-17)
1 A B
2 A B
3 B A
Switch2 显示结果:
Switch# show smart-link group 1
Smart-link group 1 information:
The smart-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
enabled 40 0 N/A
============================================================
Protected instance: 1 2 3
Load balance instance: 3
Flush sender , Control-vlan ID: 10 Password:test
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
MASTER eth-0-13 0 N/A 0 N/A
SLAVE eth-0-17 0 N/A 0 N/A
============================================================
Instance states in the member interfaces:
A - ACTIVE , B -BLOCK , D-The interface is link-down
Map-instance-ID MASTER(eth-0-13) SLAVE(eth-0-17)
1 A B
2 A B
3 B A
Switch3 显示结果:
Switch# show smart-link
Relay smart-link flush packet is enabled
Smart-link flush receiver interface:
eth-0-13 control-vlan:10 password:test
eth-0-17 control-vlan:10 password:test
Smart-link received flush packet number:0
Smart-link processed flush packet number:0
Smart link Group Number is 0.
Switch4 显示结果:
Switch# show smart-link
Relay smart-link flush packet is enabled
Smart-link flush receiver interface:
eth-0-13 control-vlan:10 password:test
eth-0-17 control-vlan:10 password:test
Smart-link received flush packet number:0
Smart-link processed flush packet number:0
Smart link Group Number is 0.
Switch5 显示结果:
Switch# show smart-link
Relay smart-link flush packet is disabled
Smart-link flush receiver interface:
eth-0-21 control-vlan:10 password: test
eth-0-19 control-vlan:10 password:test
Smart-link received flush packet number:0
Smart-link processed flush packet number:0
Smart link Group Number is 0.
无
Multi-Link,中文译为多链路,又称为多备份链路,是一种为链路多上行提供可靠高效的备份和切换机制的解决方案。该计划功能和Smart Link类似,备份的链路从一条扩充为多条,最多可以有4个成员。
该功能还能提供链路负载均衡的功能。
无
Multi-Link Typical Topology
上面是一个Mulit-link的典型配置,交换机1配置Multi-link组;交换机2、3、4和5配置Multi-link的报文接收。
下面的示例给出了Multi-Link链路多上行保护的配置。
注意事项:
•Multi-Link组的控制vlan和保护vlan必须事先在 vlan database创建好。
•Multi-Link组的端口必须把STP关闭。
•Multi-Link组的保护实例必须事先在MSTP模块先创建好。
•给每台交换机配置VLAN 2-10,MSTP instance1-4。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式,并创建vlan
Switch(config)# vlan database
Switch(config- vlan)# vlan 2-10
Switch(config- vlan)# exit
步骤3 设置STP模式,创建mstp实例
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 1
Switch(config-mst)# instance 2 vlan 2
Switch(config-mst)# instance 3 vlan 3
Switch(config-mst)# instance 4 vlan 4-10
Switch(config-mst)# exit
步骤4 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface range eth-0-1 - 4
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# spanning-tree port disable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch2 ~ 5 的接口配置:
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# multi-link flush receive control-vlan 10 password simple test
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤5 配置multi link组并设置组的属性
在Switch1配置multi link组:
Switch(config)# multi-link group 1
Switch(config-multilk-group)# interface eth-0-1 priority 1
Switch(config-multilk-group)# interface eth-0-2 priority 2
Switch(config-multilk-group)# interface eth-0-3 priority 3
Switch(config-multilk-group)# interface eth-0-4 priority 4
Switch(config-multilk-group)# protected mstp instance 1
Switch(config-multilk-group)# protected mstp instance 2
Switch(config-multilk-group)# protected mstp instance 3
Switch(config-multilk-group)# protected mstp instance 4
Switch(config-multilk-group)# load-balance instance 2 priority 2
Switch(config-multilk-group)# load-balance instance 3 priority 3
Switch(config-multilk-group)# load-balance instance 4 priority 4
Switch(config-multilk-group)# restore time 40
Switch(config-multilk-group)# restore enable
Switch(config-multilk-group)# flush send control-vlan 10 password simple test
Switch(config-multilk-group)# group enable
Switch(config-multilk-group)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show multi-link group 1
Multi-link group 1 information:
The multi-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
enabled 40 0 N/A
============================================================
Protected instance: 1 2 3 4
Load balance instance: 2(to P2) 3(to P3) 4(to P4)
Flush sender , Control-vlan ID: 10 Password:test
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
PRI1 eth-0-1 0 N/A 1 2016/09/05,07:13:24
PRI2 eth-0-2 0 N/A 1 2016/09/05,07:13:24
PRI3 eth-0-3 0 N/A 1 2016/09/05,07:13:24
PRI4 eth-0-4 0 N/A 1 2016/09/05,07:13:24
============================================================
Instance states in the member interfaces:
A - ACTIVE , B -BLOCK , D-The interface is link-down
Map-instance-ID P1(eth-0-1 ) P2(eth-0-2 ) P3(eth-0-3 ) P4(eth-0-4 )
1 A B B B
2 B A B B
3 B B A B
4 B B B A
Switch2~5 显示结果:
Switch# show multi-link
Relay multi-link flush packet is enabled
Multi-link flush receiver interface:
eth-0-13 control-vlan:10 password:test
Multi-link received flush packet number:0
Multi-link processed flush packet number:0
Multi-link tcn is disabled
Multi-link tcn query count :2
Multi-link tcn query interval :10
Multi-link Group Number is 0.
当分布在不同交换机的两组multi-link 作相互链路备份时,会由于一方的multi-link 成员的保护实例被block 住而无法进行链路相互备份。 比如如下用户场景:
•核心交换机A、核心交换机B、接入交换机A、接入交换机B形成全网状拓扑。
•接入交换机A配置multi-link协议,链路a、b、c优先级分别为1、2、3;
•接入交换机B配置multi-link协议,链路d、e优先级分别为1、2;
正常情况下,链路b、c、e处于block状态,链路a、d处于active状态,如下图所示:
当接入交换机B链路d、e全部断掉后,仅余下链路c与接入交换机A连接,如下图所示:
此时,接入交换机A链路a处于active状态,接入交换机对应链路c的端口处于block状态,接入交换机B处于孤岛状态。
Multilink-enhance Typical Topology
上图是一个Mulit-link的典型配置,交换机1, 2均配置Multi-link组。Switch1 multi-link组里面配有三个成员 ,且优先级最低的成员为multi-link增强的接受口。Switch2 multi-link组里面配有两个成员,此外还配有multi-link增强的发送口。
下面的示例给出了Multi-Link链路多上行保护的配置。
注意事项:
•Multi-Link组的控制vlan和保护vlan必须事先在 vlan database创建好。
•Multi-Link组的端口必须把STP关闭。
•Multi-Link组的保护实例必须事先在MSTP模块先创建好。
•Multi-link 组中需要先配flush send的control vlan和password,然后才能配置multilink 增强
•给每台交换机配置VLAN 10, 20, 30, 40,MSTP instance1,2。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式,并创建vlan
Switch(config)# vlan database
Switch(config- vlan)# vlan 10
Switch(config- vlan)# vlan 20
Switch(config- vlan)# vlan 30
Switch(config- vlan)# vlan 40
Switch(config- vlan)# exit
步骤3 设置STP模式,创建mstp实例
Switch(config)# spanning-tree mode mstp
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10
Switch(config-mst)# instance 1 vlan 30
Switch(config-mst)# instance 2 vlan 20
Switch(config-mst)# instance 2 vlan 40
Switch(config-mst)# exit
步骤4 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch1(config)# interface range eth-0-9
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan all
Switch1(config-if)# spanning-tree port disable
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
Switch1(config)# interface range eth-0-13
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan all
Switch1(config-if)# spanning-tree port disable
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
Switch1(config)# interface range eth-0-17
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan all
Switch1(config-if)# spanning-tree port disable
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-13
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# multi-link flush receive control-vlan 30 password simple a
Switch(config-if)#exit
Switch3 的接口配置:
Switch(config)# interface eth-0-13
Switch(config-if)# multi-link flush receive control-vlan 30 password simple a
Switch(config-if)#exit
Switch(config)# interface eth-0-17
Switch(config-if)# multi-link flush receive control-vlan 30 password simple b
Switch(config-if)#exit
Switch4 的接口配置:
Switch(config)# interface eth-0-13
Switch(config-if)# multi-link flush receive control-vlan 30 password simple b
Switch(config-if)#exit
Switch(config)# interface eth-0-17
Switch(config-if)# multi-link flush receive control-vlan 30 password simple a
Switch(config-if)#exit
步骤5 配置multi link组并设置组的属性
Switch1 的multi link组:
Switch(config)# multi-link group 1
Switch(config-multilk-group)# interface eth-0-13 priority 1
Switch(config-multilk-group)# interface eth-0-17 priority 2
Switch(config-multilk-group)# interface eth-0-9 priority 3
Switch(config-multilk-group)# protected mstp instance 1
Switch(config-multilk-group)# protected mstp instance 2
Switch(config-multilk-group)# flush send control-vlan 30 password simple a
Switch(config-multilk-group)# multilink-enhance receive control-vlan 10 password b interface eth-0-9
Switch(config-multilk-group)# group enable
Switch(config-multilk-group)# end
Switch2 的multi link组:
Switch(config)# multi-link group 1
Switch(config-multilk-group)# interface eth-0-13 priority 1
Switch(config-multilk-group)# interface eth-0-17 priority 2
Switch(config-multilk-group)# protected mstp instance 1
Switch(config-multilk-group)# protected mstp instance 2
Switch(config-multilk-group)# flush send control-vlan 10 password simple b
Switch(config-multilk-group)# multilink-enhance interface eth-0-9
Switch(config-multilk-group)# group enable
Switch(config-multilk-group)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch1# show multi-link group 1
Multi-link group 1 information:
The multi-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
disabled 60 0 N/A
============================================================
Protected instance: 1 2
Load balance instance:
Flush sender , Control-vlan ID: 30 Password: a
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
PRI1 eth-0-13 0 N/A 5 2017/05/15,07:50:11
PRI2 eth-0-17 0 N/A 0 N/A
PRI3 eth-0-9 1 2017/05/15,07:48:46 5 2017/05/15,07:50:11
PRI4 N/A 0 N/A 0 N/A
============================================================
Instance states in the member interfaces:
A-ACTIVE , B-BLOCK , A(E)-ENHANCE_ACTIVE D-The interface is link-down
Map-instance-ID P1(eth-0-13) P2(eth-0-17) P3(eth-0-9) P4(N/A)
1 A B B D
2 A B B D
Switch# show multi-link
Relay multi-link flush packet is enabled
Multi-link enhance receiver interface:
eth-0-9 control-vlan:10 password:b
Multi-link received flush packet number : 0
Multi-link processed flush packet number: 0
Multi-link received enhance packet number : 4
Multi-link processed enhance packet number: 4
Multi-link tcn is disabled
Multi-link tcn query count : 2
Multi-link tcn query interval : 10
Multi-link Group Number is 1.
Group-ID State Pri-1 Pri-2 Pri-3 Pri-4
1 enabled eth-0-13 eth-0-17 eth-0-9 N/A
Switch2 显示结果:
Switch# show multi-link group1
Multi-link group 1 information:
The multi-link group was enabled.
============================================================
Auto-restore:
state time count Last-time
disabled 60 0 N/A
============================================================
Protected instance: 1 2
Load balance instance:
Flush sender , Control-vlan ID: 10 Password: b
Multilk enhance interface: eth-0-9, Control-vlan ID: 10 Password: b
============================================================
INTERFACE:
Role Member DownCount Last-Down-Time FlushCount Last-Flush-Time
PRI1 eth-0-13 1 2017/05/15,07:49:15 0 N/A
PRI2 eth-0-17 2 2017/05/15,07:50:03 3 2017/05/15,07:50:11
PRI3 N/A 0 N/A 0 N/A
PRI4 N/A 0 N/A 0 N/A
============================================================
ENHANCE INTERFACE:
Role Member DownCount Last-Down-Time EnhanceCount Last-SendEnhance-Ti
me
M-En eth-0-9 0 N/A 0 N/A
============================================================
Instance states in the member interfaces:
A-ACTIVE , B-BLOCK , A(E)-ENHANCE_ACTIVE D-The interface is link-down
Map-instance-ID P1(eth-0-13) P2(eth-0-17) P3(N/A) P4(N/A)
1 A B D D
2 A B D D
Switch# show multi-link
Relay multi-link flush packet is enabled
Multi-link received flush packet number : 0
Multi-link processed flush packet number: 0
Multi-link received enhance packet number : 0
Multi-link processed enhance packet number: 0
Multi-link tcn is disabled
Multi-link tcn query count : 2
Multi-link tcn query interval : 10
Multi-link Group Number is 1.
Group-ID State Pri-1 Pri-2 Pri-3 Pri-4
1 enabled eth-0-13 eth-0-17 N/A N/A
Monitor Link是对Smart Link进行补充而引入的端口联动方案,用于扩展Smart Link的链路备份的范围,通过监控上行链路对下行链路进行同步设置,达到上行链路故障迅速传达给下行设备,从而触发Smart Link的主备链路切换,防止长时间因上行链路故障而出现流量丢失。
无
monitor link
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,打开接口
Switch(config)# interface range eth-0-1 - 3
Switch(config-if-range)# no shutdown
Switch(config-if-range)# exit
步骤3 配置monitor link组并设置组的属性
Switch(config)# monitor-link group 1
Switch(config-mtlk-group)# monitor-link uplink interface eth-0-1
Switch(config-mtlk-group)# monitor-link downlink interface eth-0-2
Switch(config-mtlk-group)# monitor-link downlink interface eth-0-3
Switch(config-mtlk-group)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch# show monitor-link group
Group Id: 1
Monitor link status: UP
Role Member Last-up-time Last-down-time upcount downcount
UpLk 1 eth-0-1 2011/07/15,02:07:31 2011/07/15,02:07:31 2 1
DwLk 1 eth-0-2 2011/07/15,02:07:34 2011/07/15,02:07:31 1 1
DwLk 2 eth-0-3 N/A N/A 0 0
无
通常,子网内的所有主机都设置一条相同的到网关的缺省路由。主机发出的所有目的地址不在本网段的报文将通过缺省路由发往网关,从而实现主机与外部网络的通信。当网关发生故障时,本网段内所有以网关为缺省路由的主机将中断与外部网络的通信。
缺省路由为用户的配置操作提供了方便,但是对缺省网关设备提出了很高的稳定性要求。增加出口网关是提高系统可靠性的常见方法,此时如何在多个出口之间进行选路就成为需要解决的问题。
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)可以解决以上问题。在具有多播或广播能力的局域网(如以太网)中,借助VRRP 能在某台设备出现故障时仍然提供高可靠的缺省链路,而无需修改用户的配置信息。
VRRP 将局域网内的一组路由器(包括一个Master 路由器和若干个Backup 路由器)组成一个备份组,功能上相当于一台虚拟路由器。
VRRP 备份组具有以下特点:
•局域网内的主机仅需要知道这个虚拟路由器的IP 地址,并将其设置为缺省路由的下一跳地址。
•网络内的主机通过这个虚拟路由器与外部网络进行通信。
•备份组内的路由器根据一定的选举机制,分别承担网关的功能。当备份组内承担网关功能的路由器发生故障时,其余的路由器将取代它继续履行网关职责。
VRRP不支持MD5验证。
参考: RFC 3768 (VRRP):Knight, S., et.al "Virtual Router Redundancy Protocol (VRRP)
术语
•Backup Router:VRRP备份路由器。当Master路由器转发失败的时候启用备份路由器。
•Critical IP:VRRP路由器发送/接收一个特定的会话信息的IP地址。
•IP Address Owner:VRRP路由器将虚拟路由器的IP地址作为真实的接口地址。当这台设备正常工作时,它会响应目的地址是虚拟IP地址的报文,如ping、TCP连接等。
•Master Router:拥有虚拟IP地址的路由器。此时它成为主机的默认网关,负责转发数据流。
•Virtual IP:虚拟路由器的IP地址,一个虚拟路由器可以有一个IP地址,由用户配置。
•Virtual Router:由VRRP管理的抽象设备,又称为VRRP备份组,被当作一个共享局域网内主机的缺省网关。它包括了一个虚拟路由器标识符和一个虚拟IP地址。
•VRRP Router:运行VRRP的设备,它可能属于一个或多个虚拟路由器。
通常情况下,终端主机是通过将在同一个局域网内的路由器作为其第一个下一跳连接到企业网的。终端主机最常见的配置就是静态配置这个默认网关。这可以最大限度地减少配置和处理开销。此配置方法的主要问题是如果这第一跳路由器出问题,它会产生一个单点故障。
Without VRRP
虚拟路由器冗余协议试图通过引入一个虚拟路由器的概念来解决这个问题,它通常由在同一子网中的两个或两个以上的VRRP路由器组成。同时它还引入了一个虚拟IP地址的概念,终端主机使用这个IP作为它们的默认网关地址。只有主路由器负责转发数据包,在主路由器出现故障时,其他路由器(备份)中的一个代替主路由器负责转发。
With VRRP
上述配置概述可能不是非常有用,因为它的成本增加一倍,并且一台路由器在大部分时间都闲置。然而,我们可以创建两个虚拟路由器进行负载分担来避免这个问题。
VRRP with one virtual router
主备备份方式表示业务仅由Master路由器承担。当Master路由器出现故障时,才会从其他Backup路由器选举出一个接替工作。主备备份方式仅需要一个备份组,不同路由器在该备份组中拥有不同优先级,优先级最高的路由器将成为Master路由器。
下面的例子中,所有的终端主机将虚拟路由器1作为其默认网关。路由器R1和R2都运行了VRRP协议。 R1配置为虚拟路由器1(VRID = 1)的主路由器, R2作为虚拟路由器1的备份路由器。如果R1出现问题,R2将接管转发,并为主机提供不间断的服务。这样的配置只有一个虚拟路由器,R2被闲置。
以下配置如未说明在哪个设备配置,则表示所有设备配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,设置接口属性并配置地址
R1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.50/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
R2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.40/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤3 创建vrrp实例
Switch(config)# router vrrp 1
Switch(config-router)# virtual-ip 10.10.10.60
Switch(config-router)# interface eth-0-1
Switch(config-router)# preempt-mode true
Switch(config-router)# advertisement-interval 5
步骤4 设置优先级(可选)
在R2配置。R1不配优先级则选用默认值
Switch(config-router)# priority 200
步骤5 启用vrrp实例然后退出
Switch(config-router)# enable
Switch(config-router)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
R1 显示结果:
Switch# show vrrp
vrrp session count: 1
VRID <1>
State : Backup
Virtual IP : 10.10.10.60(Not IP owner)
Interface : eth-0-1
VMAC : 0000.5e00.0101
VRF : Default
Advt timer : 5 second(s)
Preempt mode : TRUE
Conf pri : Unset Run pri : 100
Increased pri : 0
Master router ip : 10.10.10.40
Master priority : 200
Master advt timer : 5 second(s)
Master down timer : 16 second(s)
Preempt delay : 0 second(s)
Learn master mode : FALSE
R2 显示结果:
Switch# show vrrp
vrrp session count: 1
VRID <1>
State : Master
Virtual IP : 10.10.10.60(Not IP owner)
Interface : eth-0-1
VMAC : 0000.5e00.0101
VRF : Default
Advt timer : 5 second(s)
Preempt mode : TRUE
Conf pri : 200 Run pri : 200
Increased pri : 0
Master router ip : 10.10.10.40
Master priority : 200
Master advt timer : 5 second(s)
Master down timer : 15 second(s)
Preempt delay : 0 second(s)
Learn master mode : FALSE
VRRP with two virtual router
在路由器的一个接口上可以创建多个备份组,使得该路由器可以在一个备份组中作为Master 路由器,在其他的备份组中作为Backup路由器。
负载分担方式是指多台路由器同时承担业务,因此负载分担方式需要两个或者两个以上的备份组,每个备份组都包括一个Master路由器和若干个Backup路由器,各备份组的Master路由器可以各不相同。
下面的例子讲述如何使用两个虚拟路由器进行负载分担。R1和R2各自转发不同的流量,他们之间互为备份,确保流量的负载均衡。
以下配置如未说明在哪个设备配置,则表示所有设备配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,设置接口属性并配置地址
R1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.81/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
R2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.82/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤3 创建vrrp实例
在R1配置:
Switch(config)# router vrrp 1
Switch(config-router)# virtual-ip 10.10.10.81
Switch(config-router)# interface eth-0-1
Switch(config-router)# preempt-mode true
Switch(config-router)# advertisement-interval 5
Switch(config-router)# enable
Switch(config-router)# exit
Switch(config)# router vrrp 2
Switch(config-router)# virtual-ip 10.10.10.82
Switch(config-router)# interface eth-0-1
Switch(config-router)# priority 200
Switch(config-router)# preempt-mode true
Switch(config-router)# advertisement-interval 5
Switch(config-router)# enable
Switch(config-router)# exit
在R2配置:
Switch(config)# router vrrp 1
Switch(config-router)# virtual-ip 10.10.10.81
Switch(config-router)# interface eth-0-1
Switch(config-router)# priority 200
Switch(config-router)# preempt-mode true
Switch(config-router)# advertisement-interval 5
Switch(config-router)# enable
Switch(config-router)# exit
Switch(config)# router vrrp 2
Switch(config-router)# virtual-ip 10.10.10.82
Switch(config-router)# interface eth-0-1
Switch(config-router)# preempt-mode true
Switch(config-router)# advertisement-interval 5
Switch(config-router)# enable
Switch(config-router)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
R1 显示结果:
Switch# show vrrp
vrrp session count: 2
VRID <1>
State : Master
Virtual IP : 10.10.10.81(IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0101
VRF : Default
Advt timer : 5 second(s)
Preempt mode : TRUE
Conf pri : Unset Run pri : 255
Increased pri : 0
Master router ip : 10.10.10.81
Master priority : 255
Master advt timer : 5 second(s)
Master down timer : 15 second(s)
Preempt delay : 0 second(s)
Learn master mode : FALSE
VRID <2>
State : Backup
Virtual IP : 10.10.10.82(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0102
VRF : Default
Advt timer : 5 second(s)
Preempt mode : TRUE
Conf pri : 200 Run pri : 200
Increased pri : 0
Master router ip : 10.10.10.82
Master priority : 255
Master advt timer : 5 second(s)
Master down timer : 15 second(s)
Preempt delay : 0 second(s)
Learn master mode : FALSE
R2 显示结果:
Switch# show vrrp
vrrp session count: 2
VRID <1>
State : Backup
Virtual IP : 10.10.10.81(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0101
VRF : Default
Advt timer : 5 second(s)
Preempt mode : TRUE
Conf pri : 200 Run pri : 200
Increased pri : 0
Master router ip : 10.10.10.81
Master priority : 255
Master advt timer : 5 second(s)
Master down timer : 15 second(s)
Preempt delay : 0 second(s)
Learn master mode : FALSE
VRID <2>
State : Master
Virtual IP : 10.10.10.82(IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0102
VRF : Default
Advt timer : 5 second(s)
Preempt mode : TRUE
Conf pri : Unset Run pri : 255
Increased pri : 0
Master router ip : 10.10.10.82
Master priority : 255
Master advt timer : 5 second(s)
Master down timer : 15 second(s)
Preempt delay : 0 second(s)
Learn master mode : FALSE
VRRP Circuit Failover
之所以需要VRRP链路故障检测功能,是由于VRRPv2无法跟踪网关上行链路状态。引入对上行链路的监控可以有效的驱动虚拟路由器的切换从而避免“黑洞路由”。当主路由器上行接口链路发生故障时,原来的master路由器将切换为backup路由器,而原来的backup路由器将接替成为master路由器。
为了实现VRRP链路故障检测功能,我们需要为监视的接口配置一个priority-delta值,这个值将被附加到master路由器上以实现VRRP路由器从master从backup的切换。
在下面的例子中,两个路由器R1和R2配置了不同的优先级值,priority-delta的配置要大于R1和R2优先级之间的差值。R1配置有一个100的优先级,R2有一个90的优先级,由于R1优先级较高成为master路由器。priority-delta值配置为20,当在R1上的上行接口eth2发生故障,R1的优先级将变为80(100-20)。此时由于R2比R1有更大的优先级,R2变成Master。当R1恢复时候,R1优先级为100,重新成为Master。
以下配置如未说明在哪个设备配置,则表示所有设备配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,设置接口属性并配置地址
R1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.50/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.11.50/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
R2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.40/24
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤3 创建一个track实例,监视端口状态
在R1配置:
Switch(config)# track 10 interface eth-0-2 linkstate
关于track的更多信息请参考“track配置”章节。
步骤3 创建vrrp实例
在R1配置:
Switch(config)# router vrrp 1
Switch(config-router)# virtual-ip 10.10.10.1
Switch(config-router)# interface eth-0-1
Switch(config-router)# preempt-mode true
Switch(config-router)# advertisement-interval 5
Switch(config-router)# priority 100
Switch(config-router)# track 10 decrement 20
Switch(config-router)# enable
在R2配置:
Switch(config)# router vrrp 1
Switch(config-router)# virtual-ip 10.10.10.1
Switch(config-router)# interface eth-0-1
Switch(config-router)# preempt-mode true
Switch(config-router)# advertisement-interval 5
Switch(config-router)# priority 90
Switch(config-router)# enable
步骤7 退出配置模式
Switch(config)# end
步骤8 检查配置
R1 显示结果:
Switch# show vrrp
vrrp session count: 1
VRID <1>
State : Master
Virtual IP : 10.10.10.1(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0101
VRF : Default
Advt timer : 5 second(s)
Preempt mode : TRUE
Conf pri : 100 Run pri : 100
Increased pri : 0
Track Object : 10
Decre pri : 20
Master router ip : 10.10.10.50
Master priority : 100
Master advt timer : 5 second(s)
Master down timer : 16 second(s)
Preempt delay : 0 second(s)
Learn master mode : FALSE
R2 显示结果:
Switch# show vrrp
vrrp session count: 1
VRID <1>
State : Backup
Virtual IP : 10.10.10.1(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0101
VRF : Default
Advt timer : 5 second(s)
Preempt mode : TRUE
Conf pri : 90 Run pri : 90
Increased pri : 0
Master router ip : 10.10.10.50
Master priority : 100
Master advt timer : 5 second(s)
Master down timer : 16 second(s)
Preempt delay : 0 second(s)
Learn master mode : FALSE
IPv6 VRRP with one virtual router
主备备份方式表示业务仅由Master路由器承担。当Master路由器出现故障时,才会从其他Backup路由器选举出一个接替工作。主备备份方式仅需要一个备份组,不同路由器在该备份组中拥有不同优先级,优先级最高的路由器将成为Master路由器。
下面的例子中,所有的终端主机将虚拟路由器1作为其默认网关。路由器R1和R2都运行了VRRP协议。 R1配置为虚拟路由器1(VRID = 1)的主路由器, R2作为虚拟路由器1的备份路由器。如果R1出现问题,R2将接管转发,并为主机提供不间断的服务。这样的配置只有一个虚拟路由器,R2被闲置。
以下配置如未说明在哪个设备配置,则表示所有设备配置相同:
步骤1 进入配置模式,使能IPv6
Switch# configure terminal
Switch(config)# ipv6 enable
步骤2 进入接口配置模式,设置接口属性并配置地址
R1 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address fe80::1 link-local
Switch(config-if)# no shutdown
Switch(config-if)# exit
R2 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address fe80::2 link-local
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤3 创建IPv6 VRRP实例
Switch(config)# router ipv6 vrrp 1
Switch(config-router)# virtual-ipv6 fe80::1 link-local
Switch(config-router)# interface eth-0-9
步骤4 设置优先级(可选)
在R1配置。R2不配优先级则选用默认值100
Switch(config-router)# priority 200
步骤5 启用IPv6 VRRP实例,然后退出路由配置视图
Switch(config-router)# enable
Switch(config-router)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
R1 显示结果:
Switch# show ipv6 vrrp 1
VRID <1>
State : Master
Virtual IP : fe80::1(IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0201
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : 200 Run pri : 255
Master router ip : fe80::1
Master priority : 255
Master advt timer : 100 centi-second(s)
Master down timer : 3 second(s)
Preempt delay : 0 second(s)
R2 显示结果:
Switch# show ipv6 vrrp 1
VRID <1>
State : Backup
Virtual IP : fe80::1(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0201
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : Unset Run pri : 100
Master router ip : fe80::1
Master priority : 255
Master advt timer : 100 centi-second(s)
Master down timer : 4 second(s)
Preempt delay : 0 second(s)
IPv6 VRRP with two virtual router
在路由器的一个接口上可以创建多个备份组,使得该路由器可以在一个备份组中作为Master 路由器,在其他的备份组中作为Backup路由器。
负载分担方式是指多台路由器同时承担业务,因此负载分担方式需要两个或者两个以上的备份组,每个备份组都包括一个Master路由器和若干个Backup路由器,各备份组的Master路由器可以各不相同。
下面的例子讲述如何使用两个虚拟路由器进行负载分担。R1和R2各自转发不同的流量,他们之间互为备份,确保流量的负载均衡。
以下配置如未说明在哪个设备配置,则表示所有设备配置相同:
步骤1 进入配置模式,使能IPv6
Switch# configure terminal
Switch(config)# ipv6 enable
步骤2 进入接口配置模式,设置接口属性并配置地址
R1 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2000::1/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
R2 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2000::2/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤3 创建IPv6 VRRP实例
在R1配置:
Switch(config)# router ipv6 vrrp 1
Switch(config-router)# interface eth-0-9
Switch(config-router)# priority 200
Switch(config-router)# virtual-ipv6 fe80::1 link-local
Switch(config-router)# virtual-ipv6 2000::1
Switch(config-router)# enable
Switch(config-router)# exit
Switch(config)# router ipv6 vrrp 2
Switch(config-router)# interface eth-0-9
Switch(config-router)# virtual-ipv6 fe80::3 link-local
Switch(config-router)# virtual-ipv6 2000::2
Switch(config-router)# enable
Switch(config-router)# exit
在R2配置:
Switch(config)# router ipv6 vrrp 1
Switch(config-router)# interface eth-0-9
Switch(config-router)# virtual-ipv6 fe80::1 link-local
Switch(config-router)# virtual-ipv6 2000::1
Switch(config-router)# enable
Switch(config-router)# exit
Switch(config)# router vrrp 2
Switch(config-router)# interface eth-0-9
Switch(config-router)# priority 200
Switch(config-router)# virtual-ipv6 fe80::3 link-local
Switch(config-router)# virtual-ipv6 2000::2
Switch(config-router)# enable
Switch(config-router)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
R1 显示结果:
Switch# show ipv6 vrrp
IPv6 vrrp session count: 2
VRID <1>
State : Master
Virtual IP : fe80::1(Not IP owner)
2000::1(IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0201
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : 200 Run pri : 255
Master router ip : fe80::48cc:69ff:fec8:5b00
Master priority : 255
Master advt timer : 100 centi-second(s)
Master down timer : 3 second(s)
Preempt delay : 0 second(s)
VRID <2>
State : Backup
Virtual IP : fe80::3(Not IP owner)
2000::2(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0202
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : Unset Run pri : 100
Master router ip : fe80::b002:86ff:febc:3700
Master priority : 255
Master advt timer : 100 centi-second(s)
Master down timer : 4 second(s)
Preempt delay : 0 second(s)
R2 显示结果:
Switch# show ipv6 vrrp
IPv6 vrrp session count: 2
VRID <1>
State : Backup
Virtual IP : fe80::1(Not IP owner)
2000::1(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0201
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : Unset Run pri : 100
Master router ip : fe80::48cc:69ff:fec8:5b00
Master priority : 255
Master advt timer : 100 centi-second(s)
Master down timer : 4 second(s)
Preempt delay : 0 second(s)
VRID <2>
State : Master
Virtual IP : fe80::3(Not IP owner)
2000::2(IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0202
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : 200 Run pri : 255
Master router ip : fe80::b002:86ff:febc:3700
Master priority : 255
Master advt timer : 100 centi-second(s)
Master down timer : 3 second(s)
Preempt delay : 0 second(s)
IPv6 VRRP Circuit Failover
之所以需要VRRP链路故障检测功能,是由于VRRPv2无法跟踪网关上行链路状态。引入对上行链路的监控可以有效的驱动虚拟路由器的切换从而避免“黑洞路由”。当主路由器上行接口链路发生故障时,原来的master路由器将切换为backup路由器,而原来的backup路由器将接替成为master路由器。
为了实现VRRP链路故障检测功能,我们需要为监视的接口配置一个priority-delta值,这个值将被附加到master路由器上以实现VRRP路由器从master从backup的切换。
在下面的例子中,两个路由器R1和R2配置了不同的优先级值,priority-delta的配置要大于R1和R2优先级之间的差值。R1配置有一个100的优先级,R2有一个90的优先级,由于R1优先级较高成为master路由器。priority-delta值配置为20,当在R1上的上行接口eth2发生故障,R1的优先级将变为80(100-20)。此时由于R2比R1有更大的优先级,R2变成Master。当R1恢复时候,R1优先级为100,重新成为Master。
以下配置如未说明在哪个设备配置,则表示所有设备配置相同:
步骤1 进入配置模式,使能IPv6
Switch# configure terminal
Switch(config)# ipv6 enable
步骤2 进入接口配置模式,设置接口属性并配置地址
R1 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2000::1/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no shutdown
Switch(config-if)# exit
R2 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2000::2/64
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤3 创建一个track实例,监视端口状态
在R1配置:
Switch(config)# track 10 interface eth-0-1 linkstate
关于track的更多信息请参考“track配置”章节。
步骤4 创建IPv6 VRRP实例
在R1配置:
Switch(config)# router ipv6 vrrp 1
Switch(config-router)# interface eth-0-9
Switch(config-router)# virtual-ipv6 fe80::1 link-local
Switch(config-router)# virtual-ipv6 2000::3
Switch(config-router)# track 10 decrement 20
Switch(config-router)# enable
在R2配置:
Switch(config)# router ipv6 vrrp 1
Switch(config-router)# interface eth-0-9
Switch(config-router)# priority 90
Switch(config-router)# virtual-ipv6 fe80::1 link-local
Switch(config-router)# virtual-ipv6 2000::3
Switch(config-router)# enable
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
R1 显示结果:
Switch# show ipv6 vrrp
IPv6 vrrp session count: 1
VRID <1>
State : Master
Virtual IP : fe80::1(Not IP owner)
2000::3(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0201
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : Unset Run pri : 100
Track Object : 10 Decre pri : 20
Master router ip : fe80::48cc:69ff:fec8:5b00
Master priority : 100
Master advt timer : 100 centi-second(s)
Master down timer : 4 second(s)
Preempt delay : 0 second(s)
R2 显示结果:
Switch# show ipv6 vrrp
IPv6 vrrp session count: 1
VRID <1>
State : Backup
Virtual IP : fe80::1(Not IP owner)
2000::3(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0201
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : 90 Run pri : 90
Master router ip : fe80::48cc:69ff:fec8:5b00
Master priority : 100
Master advt timer : 100 centi-second(s)
Master down timer : 4 second(s)
Preempt delay : 0 second(s)
步骤7 关闭R1端口eth-0-1,退出配置模式
Switch# configure terminal
Switch(config)# interface eth-0-1
Switch(config-if)# shutdown
Switch(config-if)# end
步骤8 检查配置,R1变为备份路由器,R2变为主路由器
R1 显示结果:
Switch# show ipv6 vrrp
IPv6 vrrp session count: 1
VRID <1>
State : Backup
Virtual IP : fe80::1(Not IP owner)
2000::3(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0201
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : Unset Run pri : 80
Track Object : 10 Decre pri : 20
Master router ip : fe80::b002:86ff:febc:3700
Master priority : 90
Master advt timer : 100 centi-second(s)
Master down timer : 4 second(s)
Preempt delay : 0 second(s)
R2 显示结果:
Switch# show ipv6 vrrp
IPv6 vrrp session count: 1
VRID <1>
State : Master
Virtual IP : fe80::1(Not IP owner)
2000::3(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0201
VRF : Default
Advt timer : 1 second(s)
Preempt mode : TRUE
Conf pri : 90 Run pri : 90
Master router ip : fe80::b002:86ff:febc:3700
Master priority : 90
Master advt timer : 100 centi-second(s)
Master down timer : 4 second(s)
Preempt delay : 0 second(s)
无
Track的用以实现应用模块和监测功能模块之间的联动。构建一个“应用模块--Track--监测功能”的层次结构。Track可以屏蔽不同监测功能的差异,为应用模块提供统一的接口。
目前支持的监测功能有:
•IP SLA
•监测interface 状态
•监测bfd状态
支持的应用模块有:
•静态路由
•VRRP
Track联结了监测功能和应用模块,当监测模块感知到链路状态、网络性能等发生变化以后,Track的状态发生变化,同时通知应用模块采取相应的处理,避免网络中断。
无
IP SLA
IP SLA (Service Level Agreement) 是一种通过”动态监测”来实施网络性能的测量和诊断工具。”动态监测”是指在交换机中, 用ping的方式,来衡量网络是否连通和网络的性能。每一个IP SLA操作均维护其各自操作时生成的一个返回值。这个返回值将会被tracking进程所中断。返回值可以是OK,超过阈值,还有其他返回代码。不同的操作可以有不同的返回值。因此在系统中, 只使用那些对于所有操作类型来说共通的返回值。在IPSLA中,我们可以通过使用ICMP echo来检查状态或路由的可达性。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建vrf条目
Switch(config)# ip vrf vpn1
Switch(config-vrf)# exit
步骤3 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip vrf forwarding vpn1
Switch(config-if)# ip address 192.168.0.2/24
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip vrf forwarding vpn1
Switch(config-if)# ip address 192.168.0.1/24
Switch(config-if)# exit
步骤4 创建ip sla条目并配置其属性
在Switch1配置:
Switch(config)# ip sla monitor 1
Switch(config-ipsla)# type icmp-echo 192.168.0.1
Switch(config-ipsla)# frequency 35
Switch(config-ipsla)# timeout 6
Switch(config-ipsla)# threshold 3000
Switch(config-ipsla)# ttl 65
Switch(config-ipsla)# tos 1
Switch(config-ipsla)# data-size 29
Switch(config-ipsla)# data-pattern abababab
Switch(config-ipsla)# fail-percent 90
Switch(config-ipsla)# packets-per-test 4
Switch(config-ipsla)# interval 9
Switch(config-ipsla)# statistics packet 10
Switch(config-ipsla)# statistics test 3
Switch(config-ipsla)# vrf vpn1
Switch(config-ipsla)# exit
ip sla的部分属性:
•frequency:两次探测之间的时间间隔,范围1-4800,默认值60,单位为秒。
•timeout:icmp报文超时时间,范围1-4800,默认值5,单位为秒。
•threshold: icmp报文等待阈值,范围1-4800000,默认值5000,单位为毫秒。
•packets-per-test:每次探测发送的报文个数,范围1-10,默认值3。
•interval:一次探测中每个报文的间隔时间,范围1-4800,默认值6,单位为秒。
•statistics packet:参与计算统计数据的报文数,范围0-1000,默认50。
•statistics test 3:参与计算统计数据的探测次数,范围1-10,默认5。
步骤5 启用ip sla功能
在Switch1配置:
Switch(config)# ip sla monitor schedule 1
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# sho ip sla monitor 1
Entry 1
Type : Echo
Admin state : Disable
Destination address : 192.168.0.1
Frequency : 35s
Timeout : 6s
Threshold : 3000ms
Interval : 9s
Packet per test : 4
TTL : 65
TOS : 1
Data Size : 29 bytes
Fail Percent : 90%
Packet Item Cnt : 10
Test Item Cnt : 3
Vrf : vpn1
Return code : Unknown
IP SLA
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.0.2/24
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.0.1/24
Switch(config-if)# exit
步骤3 创建ip sla条目并配置其属性
在Switch1配置:
Switch(config)# ip sla monitor 1
Switch(config-ipsla)# type icmp-echo 192.168.0.1
Switch(config-ipsla)# frequency 10
Switch(config-ipsla)# timeout 5
Switch(config-ipsla)# exit
步骤4 启用ip sla功能
在Switch1配置:
Switch(config)# ip sla monitor schedule 1
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show ip sla monitor
Entry 1
Type : Echo
Admin state : Enable
Destination address : 192.168.0.1
Frequency : 10 seconds
Timeout : 5 seconds
Threshold : 5 seconds
Running Frequency : 8 seconds
Return code : OK
Switch# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.846 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.643 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=0.978 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=0.640 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=64 time=0.704 ms
将Switch2的eth-0-1关掉:
Switch(config)# interface eth-0-1
Switch(config-if)# shutdown
再次查看Switch1 显示结果:
Switch# show ip sla monitor
Entry 1
Type : Echo
Admin state : Enable
Destination address : 192.168.0.1
Frequency : 10 seconds
Timeout : 5 seconds
Threshold : 5 seconds
Running Frequency : 9 seconds
Running Timeout : 4 seconds
Running Threshold : 4 seconds
Return code : Timeout
IP SLA
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.0.2/24n
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.0.1/24
Switch(config-if)# exit
Switch(config)# interface loopback 1
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
步骤3 创建ip sla条目并配置其属性
在Switch1配置:
Switch(config)# ip sla monitor 2
Switch(config-ipsla)# type icmp-echo 1.1.1.1
Switch(config-ipsla)# frequency 10
Switch(config-ipsla)# timeout 5
Switch(config-ipsla)# exit
步骤4 启用ip sla功能
在Switch1配置:
Switch(config)# ip sla monitor schedule 2
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch# show ip sla monitor 2
Entry 2
Type : Echo
Admin state : Enable
Destination address : 1.1.1.1
Frequency : 10 seconds
Timeout : 5 seconds
Threshold : 5 seconds
Running Frequency : 1 seconds
Return code : Unreachable
Switch# ping 1.1.1.1
connect: Network is unreachable
在Switch1创建一条路由:
Switch#configure terminal
Switch(config)# ip route 1.1.1.1/32 192.168.0.1
Switch(config)# end
再次查看状态:
Switch# ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=64 time=1.03 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=64 time=1.63 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=64 time=0.661 ms
64 bytes from 1.1.1.1: icmp_seq=4 ttl=64 time=0.762 ms
64 bytes from 1.1.1.1: icmp_seq=5 ttl=64 time=0.942 ms
Entry 2
Type : Echo
Admin state : Enable
Destination address : 1.1.1.1
Frequency : 10 seconds
Timeout : 5 seconds
Threshold : 5 seconds
Running Frequency : 8 seconds
Return code : OK
Track interface
VRRP 的监视接口功能更好地扩充了备份功能:不仅能在备份组中某路由器的接口出现故障时提供备份功能,还能在路由器的其它接口(如连接上行链路的接口)不可用时提供备份功能。路由器连接上行链路的接口出现故障时,备份组无法感知上行链路的故障,如果该路由器此时处于Master 状态,将会导致局域网内的主机无法访问外部网络。通过监视指定接口的功能,可以解决该问题。当连接上行链路的接口处于down 状态时,路由器主动降低自己的优先级,使得备份组内其它路由器的优先级高于这个路由器,以便优先级最高的路由器成为Master,承担转发任务。
以下配置在Master进行:
步骤1 进入配置模式
Switch# configure terminal
步骤2 创建track 并设置其属性
Switch(config)# track 1 interface eth-0-1 linkstate
Switch(config-track)# delay up 30
Switch(config-track)# delay down 30
Switch(config-track)# exit
Track 的部分参数:
•delay up:当监测到端口状态恢复了,track延迟一段时间再将自己的状态恢复到up。范围1-180,单位是秒。默认不设delay up,即track状态立即更新。
•delay down:当监测到端口不通,track延迟一段时间再将自己的状态设为down。范围1-180,单位是秒。默认不设delay down,即track状态立即更新。
当监测是通过bfd或ip sla的时候,delay up和delay down的意义与上述监测interface的情况也是相同的。
步骤3 退出配置模式
Switch(config)# end
步骤4 检查配置
Switch#show track
Track 2
Type : Interface Link state
Interface : eth-0-1
State : down
Delay up : 30 seconds
Delay down : 30 seconds
Track ip sla
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.0.2/24
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.0.1/24
步骤3 创建ip sla并使能
在Switch1 配置:
Switch(config)# ip sla monitor 1
Switch(config-ipsla)# type icmp-echo 192.168.0.1
Switch(config-ipsla)# frequency 10
Switch(config-ipsla)# timeout 5
Switch(config-ipsla)# threshold 1
Switch(config-ipsla)# exit
Switch(config)# ip sla monitor schedule 1
步骤4 创建track 并设置其属性
在Switch1 配置:
Switch(config)# track 1 rtr 1 reachability
Switch(config-track)# delay up 30
Switch(config-track)# delay down 30
Switch(config-track)#exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch#show track
Track 1
Type : Response Time Reporter(RTR) Reachability
RTR entry number : 1
State : up
Delay up : 30 seconds
Delay down : 30 seconds
Track ip sla
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.0.2/24
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.0.1/24
步骤3 创建ip sla并使能
在Switch1 配置:
Switch(config)# ip sla monitor 1
Switch(config-ipsla)# type icmp-echo 192.168.0.1
Switch(config-ipsla)# frequency 10
Switch(config-ipsla)# timeout 5
Switch(config-ipsla)# threshold 1
Switch(config-ipsla)# exit
Switch(config)# ip sla monitor schedule 1
步骤4 创建track 并设置其属性
在Switch1 配置:
Switch(config)# track 1 rtr 1 state
Switch(config-track)# delay up 30
Switch(config-track)# delay down 30
Switch(config-track)#exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch# show track
Track 1
Type : Response Time Reporter(RTR) State
RTR entry number : 1
State : up
Delay up : 30 seconds
Delay down : 30 seconds
Track bfd
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# quit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# quit
步骤4 创建track 并设置其属性
在Switch1 配置:
Switch(config)# track 1 bfd source interface eth-0-1 destination 9.9.9.2
Switch(config-track)# delay up 30
Switch(config-track)# delay down 30
Switch(config-track)# exit
在Switch2 配置:
Switch(config)# track 1 bfd source interface eth-0-1 destination 9.9.9.1
Switch(config-track)# delay up 30
Switch(config-track)# delay down 30
Switch(config-track)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch1 显示结果:
Switch #show track
Track 1
Type : BFD state
Source interface : eth-0-1
Destination IP : 9.9.9.2
BFD Local discr : 1
State : up
Switch2 显示结果:
Switch # show track
Track 1
Type : BFD state
Source interface : eth-0-1
Destination IP : 9.9.9.1
BFD Local discr : 1
State : up
VRRP Track
步骤1 检查当前配置
参考VRRP章节“配置VRRP (一个虚拟路由器)”段落。
R1 配置显示如下:
interface eth-0-1
no switchport
ip address 10.10.10.50/24
!
router vrrp 1
interface eth-0-1
virtual-ip 10.10.10.60
advertisement-interval 5
enable
R2 配置显示如下:
interface eth-0-1
no switchport
ip address 10.10.10.40/24
!
router vrrp 1
interface eth-0-1
priority 200
virtual-ip 10.10.10.60
advertisement-interval 5
enable
步骤2 创建track 并设置其属性
在R1 配置track:
绑定端口状态
Switch(config)# track 1 interface eth-0-1 linkstate
Switch(config-track)# exit
或者绑定cfm状态(cfm配置参考“配置cfm”章节)
Switch(config)# track 1 cfm domain cust service cst
Switch(config-track)# exit
注:如果希望关注CCM报文中RDI的状态,可以使用以下指令
Switch(config)# track 1 cfm domain cust service cst rdi-trigger
步骤3 在vrrp中应用track
在R1 应用track:
Switch(config)# router vrrp 1
Switch(config-router)# disable
Switch(config-router)# track 1 decrement 30
Switch(config-router)# enable
步骤4 检查配置
Switch1 显示结果:
Switch# show vrrp
vrrp session count: 1
VRID <1>
State : Backup
Virtual IP : 10.10.10.60(Not IP owner)
Interface : eth-0-9
VMAC : 0000.5e00.0101
VRF : Default
Advt timer : 5 second(s)
Preempt mode : TRUE
Conf pri : Unset Run pri : 100
Increased pri : 0
Track Object : 1
Decre pri : 30
Master router ip : 10.10.10.40
Master priority : 200
Master advt timer : 5 second(s)
Master down timer : 16 second(s)
Preempt delay : 0 second(s)
Learn master mode : FALSE
BFD session state : UNSET
Static Route Track
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)#interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.1.10/24
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)#interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 192.168.1.11/24
Switch(config-if)# exit
步骤3 创建ip sla并使能
在Switch1 配置:
Switch(config)# ip sla monitor 1
Switch(config-ipsla)# type icmp-echo 192.168.1.11
Switch(config-ipsla)# exit
Switch(config)# ip sla monitor schedule 1
步骤4 创建track 并设置其属性
在Switch1 配置:
Switch(config)# track 1 rtr 1 reachability
Switch(config-track)# exit
步骤5 创建静态路由并绑定track
Switch(config)#ip route 10.10.10.0/24 192.168.1.11 track 1
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show ip sla monitor 1
Entry 1
Type : Echo
Admin state : Enable
Destination address : 192.168.1.11
Frequency : 60 seconds
Timeout : 5 seconds
Threshold : 5 seconds
Running Frequency : 49 seconds
Return code : OK
Switch# show track 1
Track 1
Type : Response Time Reporter(RTR) Reachability
RTR entry number : 1
State : up
Switch# show ip route static
S 10.10.10.0/24 [1/0] via 192.168.1.11, eth-0-1
将Switch2的eth-0-1关掉:
Switch(config)# interface eth-0-1
Switch(config-if)# shutdown
再次查看Switch1 显示结果:
Switch# show ip sla monitor 1
Entry 1
Type : Echo
Admin state : Enable
Destination address : 192.168.1.11
Frequency : 60 seconds
Timeout : 5 seconds
Threshold : 5 seconds
Running Frequency : 8 seconds
Return code : Timeout
Switch# show track 1
Track 1
Type : Response Time Reporter(RTR) Reachability
RTR entry number : 1
State : down
Switch# show ip route static
Switch#
无
随着对网络的可靠性要求越来越高,快速寻找、切换到备份链路保证网络通畅也显得越来越重要。但是对于很多硬件或者软件无法提供这个功能,比如以太网。还有一些无法实现路径检测,比如转发引擎或者接口等,无法实现端到端的检测。
目前的网络一般采用慢Hello机制,尤其在路由协议中,在没有硬件帮助下,检测时间会很长。当数据速率越来越大,故障感应时间长代表着大量数据的丢失,并且对于不允许路由协议的节点没有办法检测链路的状态。同时,在现有的IP网络中并不具备秒以下的间歇性故障修复功能,而传统路由架构在对实时应用(如语音)进行准确故障检测方面能力有限。
BFD(双向链路检测),提出了一种轻载的、快速的链路状态检测的解决方案。BFD能够在系统之间的任何类型通道上进行故障检测,这些通道包括直接的物理链路、虚电路、隧道、MPLS LSP、多跳路由通道,以及非直接的通道。
当物理口上配置了CFM的mep并且使能了LM, 同时,IP BFD配置在vlan interface 上且该物理口是vlan interface 的member, 则IP BFD无法正常工作。当LM关闭后,IP BFD应可以正常工作。
参考 RFC 5880 Bidirectional Forwarding Detection (BFD)
BFD 单跳
这个拓扑包含3条BFD会话,其中一条基于静态配置且绑定静态路由,一条基于OSPF,一条是bfd 与vrrp联动的。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# bfd interval mintx 3 minrx 3 multiplier 3
Switch(config-if)# exit
Switch(config)# interface eth-0-10
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.1/24
Switch(config-if)# bfd interval mintx 3 minrx 3 multiplier 3
Switch(config)# interface eth-0-11
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 11.11.11.1/24
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# bfd interval mintx 3 minrx 3 multiplier 3
Switch(config-if)# exit
Switch(config)# interface eth-0-10
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.10.10.2/24
Switch(config-if)# bfd interval mintx 3 minrx 3 multiplier 3
Switch(config-if)# ip ospf bfd
Switch(config-if)# exit
Switch(config)# interface eth-0-11
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 11.11.11.2/24
Switch(config-if)# exit
Switch3 的接口配置:
Switch(config)# interface eth-0-11
Switch(config-if)# no shutdown
Switch(config-if)#exit
Switch(config)# interface eth-0-12
Switch(config-if)# no shutdown
Switch(config-if)#exit
步骤3 配置ospf
在Switch1配置:
Switch(config)# router ospf
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# exit
在Switch2配置:
Switch(config)# router ospf
Switch(config-router)# network 10.10.10.0/24 area 0
Switch(config-router)# exit
步骤4 配置VRRP
在Switch1配置:
Switch(config)#router vrrp 1
Switch(config-router)#virtual-ip 11.11.11.100
Switch(config-router)# priority 120
Switch(config-router)#interface eth-0-11
Switch(config-router)# enable
Switch(config-router)# exit
在Switch2配置:
switch(config)#bfd test peer-ip 11.11.11.1 interface eth-0-11 auto
switch(config)#track 1 bfd session test
Switch(config)#router vrrp 1
Switch(config-router)#virtual-ip 11.11.11.100
Switch(config-router)# priority 100
Switch(config-router)#interface eth-0-11
Switch(config-router)# track 1 increment 50
Switch(config-router)# enable
Switch(config-router)# exit
步骤5 配置静态路由
在Switch1配置:
Switch(config)# bfd test peer-ip 9.9.9.2 interface eth-0-9 auto
Switch(config)# ip route 1.1.1.0/24 9.9.9.2 bind bfd test
在Switch2配置:
Switch(config)# bfd test peer-ip 9.9.9.1 interface eth-0-9 auto
Switch(config)# ip route 2.2.2.0/24 9.9.9.1 bind bfd test
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show bfd session
abbreviation:
LD: local Discriminator. RD: Discriminator
S: single hop session. M: multi hop session.
SD: Static Discriminator. DD: Dynamic Discriminator
A: Admin down. D:down. I:init. U:up.
======================================================
LD RD TYPE ST UP-Time Remote-Addr vrf
1 1 S-DD U 00:01:05 9.9.9.2 default
2 2 S-DD U 00:00:25 10.10.10.2 default
Number of Sessions: 2
Switch2 显示结果:
Switch# show bfd session
abbreviation:
LD: local Discriminator. RD: Discriminator
S: single hop session. M: multi hop session.
SD: Static Discriminator. DD: Dynamic Discriminator
A: Admin down. D:down. I:init. U:up.
======================================================
LD RD TYPE ST UP-Time Remote-Addr vrf
1 1 S-DD U 00:01:27 9.9.9.1 default
2 2 S-DD U 00:00:46 10.10.10.1 default
3 3 S-DD U 00:00:25 11.11.11.1 default
Number of Sessions: 3
BFD 多跳
这个拓扑包含静态配置的多跳bfd会话且绑定静态路由。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-11
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 11.11.11.1/24
Switch(config-if)# exit
Switch3 的接口配置:
Switch(config)# interface eth-0-11
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 11.11.11.2/24
Switch(config-if)# exit
Switch(config)#interface eth-0-12
Switch(config-if)#no switchport
Switch(config-if)#no shutdown
Switch(config-if)#ip address 12.12.12.1/24
Switch(config-if)#exit
Switch2 的接口配置:
Switch(config)# interface eth-0-12
Switch(config-if)#no switchport
Switch(config-if)#no shutdown
Switch(config-if)#ip address 12.12.12.2/24
Switch(config-if)#exit
步骤3 配置静态路由
在Switch1配置:
Switch1(config)#ip route 12.12.12.2/24 11.11.11.2
Switch1(config)# bfd test peer-ip 12.12.12.2 source-ip 11.11.11.1 local 10 remote 20
Switch1(config)# ip route 192.168.1.1/24 12.12.12.2 bind bfd test
在switc2配置:
Switch3(config)#ip route 11.11.11.1/24 12.12.12.1
Switch3(config)#bfd test peer-ip 11.11.11.1 source-ip 12.12.12.2 local 20 remote 10
Switch3(config)#ip route 2.2.2.2/24 11.11.11.1 bind bfd test
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show bfd session
abbreviation:
LD: local Discriminator. RD: Discriminator
S: single hop session. M: multi hop session.
SD: Static Discriminator. DD: Dynamic Discriminator
A: Admin down. D:down. I:init. U:up.
======================================================
LD RD TYPE ST UP-Time Remote-Addr vrf
10 20 S-SD U 00:01:27 12.12.12.2 default
Switch2 显示结果:
Switch# show bfd session
abbreviation:
LD: local Discriminator. RD: Discriminator
S: single hop session. M: multi hop session.
SD: Static Discriminator. DD: Dynamic Discriminator
A: Admin down. D:down. I:init. U:up.
======================================================
LD RD TYPE ST UP-Time Remote-Addr vrf
20 10 S-SD U 00:01:27 11.11.11.1 default
无
虚拟ARP允许多台交换机根据相同的目的MAC地址同时路由报文。每台交换机都会配置相同的虚拟MAC地址,该虚拟MAC地址作为三层接口上虚拟ip地址的对应MAC地址。因为虚拟ARP工作在双活模式,并且没有额外的开销,所以在MLAG的应用环境中优于VRRP.
对于虚拟IP地址的ARP和GARP请求, 虚拟ARP将会使用虚拟MAC地址回复对应请求。交换机主动发出报文时,不会使用虚拟MAC地址作为报文的源MAC地址。
无
VARP with MALG
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置虚拟MAC 地址
Switch(config)# ip virtual-router mac a.a.a
步骤3 进入vlan配置模式,并创建vlan
Switch(config)# vlan database
Switch(config-vlan)# vlan 2
Switch(config-vlan)# exit
步骤4 进入接口配置模式,设置接口属性
Switch(config)# interface eth-0-11
Switch(config-if)# switchport access vlan 2
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤5 配置三层接口属性,指定virtual router的地址
Switch1配置:
Switch(config)# interface vlan 2
Switch(config-if)# ip address 10.10.10.1/24
Switch(config-if)# ip virtual-router address 10.10.10.254
Switch(config-if)# exit
Switch2配置:
Switch2(config-if)# interface vlan 2
Switch2(config-if)# ip address 10.10.10.2/24
Switch2(config-if)# ip virtual-router address 10.10.10.254
Switch(config-if)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show ip arp
Protocol Address Age (min) Hardware Addr Interface
Internet 10.10.10.1 - cef0.12da.8100 vlan2
Internet 10.10.10.254 - 000a.000a.000a vlan2
Switch1 显示结果:
Switch# show ip arp
Protocol Address Age (min) Hardware Addr Interface
Internet 10.10.10.2 - 66d1.4c26.e100 vlan2
Internet 10.10.10.254 - 000a.000a.000a vlan2
无
本章描述如何配置UDP Helper。
UDP Helper的主要功能是实现对IP广播报文中指定的UDP报文进行中继转发,即它能将IP广播报文中指定的UDP报文转换成单播报文发送给指定的服务器,起到一个中继的作用。
设备将接收到的所有广播UDP报文上送UDP模块处理。在使能UDP Helper功能后,设备会对接收到广播UDP报文的目的端口号作一个判断,对于目的端口号与UDP Helper配置的端口号相匹配的报文,将复制一份交由UDP Helper进行中继转发处理,修改其报文头的目的IP地址,发给指定的目的服务器。
UDP-Helper配置
系统默认支持的的6种UDP端口号: | 协议 | UDP目的端口号 | |DNS (Domain Name System) | 53 | |NetBIOS-DS (NetBIOS Datagram Service) | 138 | |NetBIOS-NS (NetBIOS Name Service) | 137 | |TACACS (Terminal Access Controller Access Control System) | 49 | |TFTP (Trivial File Transfer Protocol) | 69 | |Time Service | 37 |
步骤1 进入配置模式
Switch# configure terminal
步骤2 使能UDP Helper
Switch(config)# ip udp-helper enable
步骤3 端口上配置IP地址以及UDP Helper Server地址
Switch(config)# vlan database
Switch(config-vlan)# vlan 10,20
Switch(config-vlan)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# exit
Switch(config)# interface vlan 20
Switch(config-if)# ip address 10.110.1.1/24
Switch(config-if)# ip udp-helper server 10.10.1.1
Switch(config-if)# exit
Switch(config)# interface vlan 10
Switch(config-if)# ip address 10.10.1.2/24
步骤4 配置ARP信息
Switch(config)# arp 10.10.1.1 0.0.1
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
使用命令“show ip udp-helper server”查看配置结果,详细信息类似如下所示。
Switch# show ip udp-helper server
Interface Server IP Packet Received Packet Dropped
--------------+----------------+---------------+---------------
vlan20 10.10.1.1 0 0
无
虚拟扩展局域网(VXLAN)是一种隧道网络技术,其将基于mac的2层以太网数据报文封装在3层UDP的数据报文中,通过3层路由网络实现承载在3层网络上的2层网络通信。VXLAN技术把逻辑网络的数量扩大到1600万个,并且支持异地跨ip的2层互联。
无
Vxlan
在下面的配置举例中,switch1和switch2间三层路由联通,通过VXLAN技术,将两台设备上vlan 20的流量封装在vni 20000中,从而实现跨越三层网络的互联互通。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
Switch(config)# vlan database
Switch(config-vlan)# vlan 20
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# exit
步骤3 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.0.1.1/32
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.0.1.2/32
Switch(config-if)# exit
步骤4 配置静态路由
在switch1配置:
Switch(config)# ip route 1.0.1.2/32 9.9.9.2
在switch2配置:
Switch(config)# ip route 1.0.1.1/32 9.9.9.1
步骤5 配置overlay
在switch1配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.0.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 1.0.1.2 type vxlan
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
在switch2配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.0.1.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.0.1.1 type vxlan
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 1.0.1.1
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Enable
Remote VTEP NUM : 1
Index: 1, Ip address: 1.0.1.2, Source ip: 1.0.1.1, Type: VxLAN, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------
Switch2 显示结果:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 1.0.1.2
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Eanble
Remote VTEP NUM : 1
Index: 1, Ip address: 1.0.1.1, Source ip: 1.0.1.2, Type: VxLAN, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------------
Vxlan
在下面的配置举例中,按上图所示,VM-1和VM-3在同一个VNI中,通过VXLAN互联建立分布式路由;VM-2和VM-4在同一个VNI中,通过VXLAN互联建立分布式路由。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
Switch(config)# vlan database
Switch(config-vlan)# vlan 20,30
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# vlan 30 overlay enable
Switch(config-vlan)# exit
步骤3 创建vrf实例
Switch(config)# ip vrf tenant
Switch(config-vrf)# exit
步骤4 创建三层接口,加入vrf并配置地址
在switch1配置:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.111/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.111/24
Switch(config-if)# exit
在switch2配置:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.222/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.222/24
Switch(config-if)# exit
步骤5 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# no shutdown
Switch(config-if)# exit
在switch1配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.0.1.1/32
Switch(config-if)# exit
在switch2配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.0.1.2/32
Switch(config-if)# exit
步骤6 配置overlay
在switch1配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.0.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 1.0.1.2 type vxlan
Switch(config-overlay)# remote-vtep 1 virtual-mac 22.22.22
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 30 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
在switch2配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.0.1.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.0.1.1 type vxlan
Switch(config-overlay)# remote-vtep 1 virtual-mac 11.11.11
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
步骤7 配置静态路由和vxlan分布式路由
在switch1配置:
Switch(config)# ip route 1.0.1.2/32 9.9.9.2
Switch(config)# ip route vrf tenant 2.2.2.2/32 remote-vtep 1 vni 20000 inner-macda 3.3.3
Switch(config)# ip route vrf tenant 3.3.3.2/32 remote-vtep 1 vni 30000 inner-macda 4.4.4
在switch2配置:
Switch(config)# ip route 1.0.1.1/32 9.9.9.1
Switch(config)# ip route vrf tenant 2.2.2.1/32 remote-vtep 1 vni 20000 inner-macda 1.1.1
Switch(config)# ip route vrf tenant 3.3.3.1/32 remote-vtep 1 vni 30000 inner-macda 2.2.2
步骤8 退出配置模式
Switch(config)# end
步骤9 检查配置
Switch1 显示结果:
Switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.2/32 is in overlay remote vxlan vtep:1.0.1.1->1.0.1.2, vni:20000
S 3.3.3.2/32 is in overlay remote vxlan vtep:1.0.1.1->1.0.1.2, vni:30000
Switch2 显示结果:
Switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.1/32 is in overlay remote vxlan vtep:1.0.1.2->1.0.1.1, vni:20000
S 3.3.3.1/32 is in overlay remote vxlan vtep:1.0.1.2->1.0.1.1, vni:30000
EBGP_EVPN
在下面的配置举例中,按上图所示,VM-1和VM-2在同一个VNI中,通过EBGP EVPN进行VXLAN隧道信息发布和主机信息发布,经过VXLAN互联建立分布式路由;
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
Switch(config)# vlan database
Switch(config-vlan)# vlan 10, 20
Switch(config-vlan)# vlan 10 overlay enable
Switch(config-vlan)# exit
可选配置:使能vlan上的arp广播抑制功能
Switch(config-vlan)# vlan 10 arp-broadcast-suppress enable
步骤3 配置overlay的vlan vni
Switch(config)# overlay
Switch(config-overlay)# vlan 10 vni 10000
Switch(config-vlan)# exit
可选配置:去使能overlay上的inner fdb学习
Switch(config-overlay)# vlan 10 mac-address-tunnel learning-disable
步骤4 配置evpn实例
Switch(config)# evpn
Switch(config-evpn)# vni 10000
Switch(config-evi)# rd auto
Switch(config-evi)# route-target both 1:10000
Switch(config-evi)# exit
步骤5 创建vrf实例并使能EVPN
在switch1配置:
Switch1(config)# ip vrf tenant
Switch1(config-vrf)# rd 1:20000
Switch1(config-vrf)# route-target both 1:10000 evpn
Switch1(config-vrf)# vxlan vni 20000
Switch1(config-vrf)# exit
在switch2配置:
Switch2(config)# ip vrf tenant
Switch2(config-vrf)# rd 2:20000
Switch2(config-vrf)# route-target both 1:10000 evpn
Switch2(config-vrf)# vxlan vni 20000
Switch2(config-vrf)# exit
步骤6 创建三层接口,加入vrf并配置地址, 使能分布式网关
在switch1配置:
Switch1(config)# interface vlan 10
Switch1(config-if)# ip vrf forwarding tenant
Switch1(config-if)# overlay distributed-gateway enable
Switch1(config-if)# overlay host-collect enable
Switch1(config-if)# ip address 10.1.1.1/24
Switch1(config-if)# exit
Switch1(config)# interface vlan 20
Switch1(config-if)# ip address 20.1.1.1/24
Switch1(config-if)# exit
在switch2配置:
Switch2(config)# interface vlan 10
Switch2(config-if)# ip vrf forwarding tenant
Switch2(config-if)# overlay distributed-gateway enable
Switch2(config-if)# overlay host-collect enable
Switch2(config-if)# ip address 10.1.1.2/24
Switch2(config-if)# exit
Switch2(config)# interface vlan 20
Switch2(config-if)# ip address 20.1.1.2/24
Switch2(config-if)# exit
步骤7 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# vxlan uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
步骤8 配置overlay的NVE接口
在switch1配置:
Switch1(config)# interface loopback 1
Switch1(config-if)# ip address 1.1.1.1/32
Switch1(config-if)# exit
Switch1(config)# interface nve 1
Switch1(config-if)# source loopback 1
Switch1(config-if)# member vni 10000
Switch1(config-if)# member vni 20000 associate-vrf
Switch1(config-if)# exit
在switch2配置:
Switch2(config)# interface loopback 1
Switch2(config-if)# ip address 2.2.2.2/32
Switch2(config-if)# exit
Switch2(config)# interface nve 1
Switch2(config-if)# source loopback 1
Switch2(config-if)# member vni 10000
Switch2(config-if)# member vni 20000 associate-vrf
Switch2(config-if)# exit
可选配置:配置EVPN VXLAN的tunnel属性
Switch(config-if)# keep-vlan-tag enable
Switch(config-if)# split-horizon disable
Switch(config-if)# encapsulation-dscp-strategy custom-assign 63
Switch(config-if)# virtual-mac a.a.a
步骤9 配置BGP EVPN
在switch1配置:
Switch1(config)# router bgp 100
Switch1(config-router)# neighbor 20.1.1.2 remote-as 200
Switch1(config-router)# address-family l2vpn evpn
Switch1(config-router-af)# neighbor 20.1.1.2 activate
Switch1(config-router-af)# neighbor 20.1.1.2 send-community extended
Switch1(config-router-af)# neighbor 20.1.1.2 attribute-unchanged next-hop
Switch1(config-router-af)# exit
Switch1(config-router)# exit
在switch2配置:
Switch2(config)# router bgp 200
Switch2(config-router)# neighbor 20.1.1.1 remote-as 100
Switch2(config-router)# address-family l2vpn evpn
Switch2(config-router-af)# neighbor 20.1.1.1 activate
Switch2(config-router-af)# neighbor 20.1.1.1 send-community extended
Switch2(config-router-af)# neighbor 20.1.1.1 attribute-unchanged next-hop
Switch2(config-router-af)# exit
Switch2(config-router)# exit
步骤10 配置静态路由
在switch1配置:
Switch1(config)# ip route 2.2.2.2/32 10.1.1.2
在switch2配置:
Switch(config2)# ip route 1.1.1.1/32 10.1.1.1
步骤11 退出配置模式
Switch(config)# end
步骤12 检查配置
Switch1 显示结果:
Switch1# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:10000 (L2VNI 10000)
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[0.0.0.0]/136
1.1.1.1 32768 i
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[10.1.1.3]/136
1.1.1.1 32768 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[0.0.0.0]/136
2.2.2.2 0 200 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[10.1.1.4]/136
2.2.2.2 0 200 i
*> [3]:[0]:[32]:[1.1.1.1]/80
1.1.1.1 32768 i
*> [3]:[0]:[32]:[10.20.30.40]/80
2.2.2.2 0 200 i
Route Distinguisher: 1:10000
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[0.0.0.0]/136
2.2.2.2 0 200 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[10.1.1.4]/136
2.2.2.2 0 200 i
*> [3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 0 200 i
Route Distinguisher: 1:20000 (L3VNI 20000)
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[10.1.1.4]/136
2.2.2.2
Switch1# show overlay tunnel
-------------------------------------------------------------------------------
Vlan Vni Type Remote-vtep IP-Address Src-Address Head-end-flooding Protocol
10 10000 VxLAN 0 2.2.2.2 1.1.1.1 Enable Evpn
Switch2 显示结果:
Head-end-floodingSwitch2# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:10000 (L2VNI 10000)
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[0.0.0.0]/136
1.1.1.1 0 100 i
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[10.1.1.3]/136
1.1.1.1 0 100 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[0.0.0.0]/136
2.2.2.2 32768 i
*> [2]:[0]:[48]:[ac7f.1cc5.fe00]:[32]:[10.1.1.4]/136
2.2.2.2 32768 i
*> [3]:[0]:[32]:[1.1.1.1]/80
1.1.1.1 0 100 i
*> [3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 32768 i
Route Distinguisher: 1:10000
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[0.0.0.0]/136
1.1.1.1 0 100 i
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[10.1.1.3]/136
1.1.1.1 0 100 i
*> [3]:[0]:[32]:[1.1.1.1]/80
1.1.1.1 0 100 i
Route Distinguisher: 2:20000 (L3VNI 20000)
*> [2]:[0]:[48]:[4623.28ef.da00]:[32]:[10.1.1.3]/136
1.1.1.1 0 100 i
Switch2# show overlay tunnel
-------------------------------------------------------------------------------
Vlan Vni Type Remote-vtep IP-Address Src-Address Head-end-flooding Protocol
10 10000 VxLAN 0 1.1.1.1 2.2.2.2 Enable Evpn
无
IBGP_EVPN
在下面的配置举例中,按上图所示,VM-1和VM-2在同一个VNI中,通过IBGP EVPN进行VXLAN隧道信息发布和主机信息发布,经过VXLAN互联建立分布式路由;中间通过路由反射器进行EVPN路由交换。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
在switch1配置:
Switch1(config)# vlan database
Switch1(config-vlan)# vlan 10, 20
Switch1(config-vlan)# vlan 10 overlay enable
Switch1(config-vlan)# exit
在switch2配置:
Switch2(config)# vlan database
Switch2(config-vlan)# vlan 20, 30
Switch2(config-vlan)# exit
在switch3配置:
Switch3(config)# vlan database
Switch3(config-vlan)# vlan 10, 30
Switch3(config-vlan)# vlan 10 overlay enable
Switch3(config-vlan)# exit
可选配置:使能vlan上的arp广播抑制功能
Switch(config-vlan)# vlan 10 arp-broadcast-suppress enable
步骤3 配置overlay的vlan vni
在switch1配置:
Switch1(config)# overlay
Switch1(config-overlay)# vlan 10 vni 10000
Switch1(config-vlan)# exit
可选配置:去使能overlay上的inner fdb学习
Switch1(config-overlay)# vlan 10 mac-address-tunnel learning-disable
在switch3配置:
Switch3(config)# overlay
Switch3(config-overlay)# vlan 10 vni 10000
Switch3(config-vlan)# exit
可选配置:去使能overlay上的inner fdb学习
Switch3(config-overlay)# vlan 10 mac-address-tunnel learning-disable
步骤4 配置evpn实例
在switch1配置:
Switch1(config)# evpn
Switch1(config-evpn)# vni 10000
Switch1(config-evi)# rd 2:2
Switch1(config-evi)# route-target both 20:20
Switch1(config-evi)# exit
在switch2配置:
Switch2(config)# evpn
在switch3配置:
Switch3(config)# evpn
Switch3(config-evpn)# vni 10000
Switch3(config-evi)# rd 4:4
Switch3(config-evi)# route-target both 20:20
Switch3(config-evi)# exit
步骤5 创建vrf实例并使能EVPN
在switch1配置:
Switch1(config)# ip vrf tenant
Switch1(config-vrf)# rd 22:22
Switch1(config-vrf)# route-target both 20:20 evpn
Switch1(config-vrf)# vxlan vni 20000
Switch1(config-vrf)# exit
在switch3配置:
Switch3(config)# ip vrf tenant
Switch3(config-vrf)# rd 44:44
Switch3(config-vrf)# route-target both 20:20 evpn
Switch3(config-vrf)# vxlan vni 20000
Switch3(config-vrf)# exit
步骤6 创建三层接口,加入vrf并配置地址, 使能分布式网关
在switch1配置:
Switch1(config)# interface vlan 10
Switch1(config-if)# ip vrf forwarding tenant
Switch1(config-if)# overlay distributed-gateway enable
Switch1(config-if)# overlay host-collect enable
Switch1(config-if)# ip address 10.1.1.2/24
Switch1(config-if)# exit
Switch1(config)# interface vlan 20
Switch1(config-if)# ip address 20.1.1.1/24
Switch1(config-if)# exit
在switch2配置:
Switch2(config)# interface vlan 20
Switch2(config-if)# ip address 20.1.1.2/24
Switch2(config-if)# exit
Switch2(config)# interface vlan 30
Switch2(config-if)# ip address 30.1.1.1/24
Switch2(config-if)# exit
在switch3配置:
Switch3(config)# interface vlan 10
Switch3(config-if)# ip vrf forwarding tenant
Switch3(config-if)# overlay distributed-gateway enable
Switch3(config-if)# overlay host-collect enable
Switch3(config-if)# ip address 10.1.1.3/24
Switch3(config-if)# exit
Switch3(config)# interface vlan 30
Switch3(config-if)# ip address 30.1.1.2/24
Switch3(config-if)# exit
步骤7 进入接口配置模式,配置接口属性
在switch1配置:
Switch1(config)# interface eth-0-10
Switch1(config-if)# switchport access vlan 10
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
Switch1(config)# interface eth-0-20
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan add 20
Switch1(config-if)# vxlan uplink enable
Switch1(config-if)# no shutdown
Switch1(config-if)# exit
在switch2配置:
Switch2(config)# interface eth-0-20
Switch2(config-if)# switchport mode trunk
Switch2(config-if)# switchport trunk allowed vlan add 20
Switch2(config-if)# vxlan uplink enable
Switch2(config-if)# no shutdown
Switch2(config-if)# exit
Switch2(config)# interface eth-0-30
Switch2(config-if)# switchport mode trunk
Switch2(config-if)# switchport trunk allowed vlan add 30
Switch2(config-if)# vxlan uplink enable
Switch2(config-if)# no shutdown
Switch2(config-if)# exit
在switch3配置:
Switch3(config)# interface eth-0-10
Switch3(config-if)# switchport access vlan 10
Switch3(config-if)# no shutdown
Switch3(config-if)# exit
Switch3(config)# interface eth-0-30
Switch3(config-if)# switchport mode trunk
Switch3(config-if)# switchport trunk allowed vlan add 30
Switch3(config-if)# vxlan uplink enable
Switch3(config-if)# no shutdown
Switch3(config-if)# exit
步骤8 配置overlay的NVE接口
在switch1配置:
Switch1(config)# interface loopback 2
Switch1(config-if)# ip address 2.2.2.2/32
Switch1(config-if)# exit
Switch1(config)# interface nve 1
Switch1(config-if)# source 2.2.2.2
Switch1(config-if)# member vni 10000
Switch1(config-if)# member vni 20000 associate-vrf
Switch1(config-if)# exit
在switch2配置:
Switch2(config)# interface loopback 3
Switch2(config-if)# ip address 3.3.3.3/32
Switch2(config-if)# exit
在switch3配置:
Switch3(config)# interface loopback 4
Switch3(config-if)# ip address 4.4.4.4/32
Switch3(config-if)# exit
Switch3(config)# interface nve 1
Switch3(config-if)# source 4.4.4.4
Switch3(config-if)# member vni 10000
Switch3(config-if)# member vni 20000 associate-vrf
Switch3(config-if)# exit
可选配置:配置EVPN VXLAN的tunnel属性
Switch(config-if)# keep-vlan-tag enable
Switch(config-if)# split-horizon disable
Switch(config-if)# encapsulation-dscp-strategy custom-assign 63
Switch(config-if)# virtual-mac a.a.a
步骤9 配置BGP EVPN
在switch1配置:
Switch1(config)# router bgp 100
Switch1(config-router)# neighbor 3.3.3.3 remote-as 100
Switch1(config-router)# neighbor 3.3.3.3 update-source loopback2
Switch1(config-router)# neighbor 20.1.1.2 remote-as 100
Switch1(config-router)# address-family ipv4
Switch1(config-router-af)# network 2.2.2.2 mask 255.255.255.255
Switch1(config-router-af)# neighbor 20.1.1.2 weight 32768
Switch1(config-router-af)# exit
Switch1(config-router)# address-family l2vpn evpn
Switch1(config-router-af)# neighbor 3.3.3.3 activate
Switch1(config-router-af)# neighbor 3.3.3.3 send-community extended
Switch1(config-router-af)# exit
Switch1(config-router)# exit
在switch2配置:
Switch2(config)# router bgp 100
Switch2(config-router)# neighbor 2.2.2.2 remote-as 100
Switch2(config-router)# neighbor 2.2.2.2 update-source loopback3
Switch2(config-router)# neighbor 4.4.4.4 remote-as 100
Switch2(config-router)# neighbor 4.4.4.4 update-source loopback3
Switch2(config-router)# neighbor 20.1.1.1 remote-as 100
Switch2(config-router)# neighbor 30.1.1.2 remote-as 100
Switch2(config-router)# address-family ipv4
Switch2(config-router-af)# network 3.3.3.3 mask 255.255.255.255
Switch2(config-router-af)# network 20.1.1.0 mask 255.255.255.0
Switch2(config-router-af)# network 30.1.1.0 mask 255.255.255.0
Switch2(config-router-af)# neighbor 20.1.1.1 weight 32768
Switch2(config-router-af)# neighbor 20.1.1.1 route-reflector-client
Switch2(config-router-af)# neighbor 20.1.1.1 next-hop-self
Switch2(config-router-af)# neighbor 30.1.1.2 weight 32768
Switch2(config-router-af)# neighbor 30.1.1.2 route-reflector-client
Switch2(config-router-af)# neighbor 30.1.1.2 next-hop-self
Switch2(config-router-af)# exit
Switch2(config-router)# address-family l2vpn evpn
Switch2(config-router-af)# neighbor 2.2.2.2 activate
Switch2(config-router-af)# neighbor 2.2.2.2 route-reflector-client
Switch2(config-router-af)# neighbor 2.2.2.2 send-community extended
Switch2(config-router-af)# neighbor 4.4.4.4 activate
Switch2(config-router-af)# neighbor 4.4.4.4 route-reflector-client
Switch2(config-router-af)# neighbor 4.4.4.4 send-community extended
Switch2(config-router-af)# exit
Switch2(config-router)# exit
在switch3配置:
Switch3(config)# router bgp 100
Switch3(config-router)# neighbor 3.3.3.3 remote-as 100
Switch3(config-router)# neighbor 3.3.3.3 update-source loopback4
Switch3(config-router)# neighbor 30.1.1.1 remote-as 100
Switch3(config-router)# address-family ipv4
Switch3(config-router-af)# network 4.4.4.4 mask 255.255.255.255
Switch3(config-router-af)# neighbor 30.1.1.1 weight 32768
Switch3(config-router-af)# exit
Switch3(config-router)# address-family l2vpn evpn
Switch3(config-router-af)# neighbor 3.3.3.3 activate
Switch3(config-router-af)# neighbor 3.3.3.3 send-community extended
Switch3(config-router-af)# exit
Switch3(config-router)# exit
步骤10 退出配置模式
Switch(config)# end
步骤11 检查配置
Switch1 显示结果:
Switch1# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 2:2 (L2VNI 10000)
*> [2]:[0]:[48]:[988b.123a.4000]:[32]:[0.0.0.0]/136
2.2.2.2 32768 i
*> [2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 32768 i
*> [3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 32768 i
*>i[3]:[0]:[32]:[4.4.4.4]/80
4.4.4.4 100 0 i
Route Distinguisher: 4:4
*>i[3]:[0]:[32]:[4.4.4.4]/80
4.4.4.4 100 0 i
Switch1# show overlay tunnel
-------------------------------------------------------------------------------
Vlan Vni Type Remote-vtep IP-Address Src-Address Head-end-flooding Protocol
10 10000 VxLAN 0 4.4.4.4 2.2.2.2 Enable Evpn
Switch2 显示结果:
Switch2# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 2:2
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[0.0.0.0]/136
2.2.2.2 100 0 i
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 100 0 i
*>i[3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 100 0 i
Route Distinguisher: 4:4
*>i[3]:[0]:[32]:[4.4.4.4]/80
4.4.4.4 100 0 i
Switch3 显示结果:
Switch3# show bgp evpn all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 2:2
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[0.0.0.0]/136
2.2.2.2 100 0 i
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 100 0 i
*>i[3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 100 0 i
Route Distinguisher: 4:4 (L2VNI 10000)
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[0.0.0.0]/136
2.2.2.2 100 0 i
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 100 0 i
*>i[3]:[0]:[32]:[2.2.2.2]/80
2.2.2.2 100 0 i
*> [3]:[0]:[32]:[4.4.4.4]/80
4.4.4.4 32768 i
Route Distinguisher: 44:44 (L3VNI 20000)
*>i[2]:[0]:[48]:[988b.123a.4000]:[32]:[10.1.1.1]/136
2.2.2.2 100 0 i
Switch3# show overlay tunnel
-------------------------------------------------------------------------------
Vlan Vni Type Remote-vtep IP-Address Src-Address Head-end-flooding Protocol
10 10000 VxLAN 0 2.2.2.2 4.4.4.4 Enable Evpn
Switch3# show mac address-table
Mac Address Table
-------------------------------------------
(*) - Security Entry (M) - MLAG Entry
(MO) - MLAG Output Entry (MI) - MLAG Input Entry
Vlan Mac Address Type Ports
---- ----------- -------- -----
30 fcc0.9318.0a00 dynamic eth-0-9
10 988b.123a.4000 dynamic VxLAN: 4.4.4.4->2.2.2.2(EI)
Switch3# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
C 10.1.1.0/24 is directly connected, vlan10
C 10.1.1.3/32 is in local loopback, vlan10
B 10.1.1.1/32 is in overlay remote vxlan vtep:4.4.4.4->2.2.2.2, vni:20000
NVGRE是一种利用通用路由封装的网络虚拟化技术,能够将虚拟网络承载在物理网络之上。NVGRE使用GRE的封装形式,利用GRE头的低24bit来代表虚拟网络ID(VNI),类似VXLAN一样24bit的ID可以允许1600百万个虚拟网络。
无
NVGRE
在下面的配置举例中,通过NVGRE技术,将两台设备上vlan 20的流量封装在vni 20000中实现互联互通。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
Switch(config)# vlan database
Switch(config-vlan)# vlan 20
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# exit
步骤3 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch1 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
步骤4 配置静态路由
在switch1配置:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
在switch2配置:
Switch(config)# ip route 1.1.1.0/24 9.9.9.1
步骤5 配置overlay
在switch1配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.1.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 2.2.2.2 type nvgre
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
在switch2配置:
Switch(config)# overlay
Switch(config-overlay)# source 2.2.2.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.1.1.1 type nvgre
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 1.1.1.1
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Eanble
Remote VTEP NUM: 1
Index: 1, Ip address: 2.2.2.2, Source ip: 1.1.1.1, Type: NvGRE, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------
Switch2 显示结果:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 2.2.2.2
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Eanble
Remote VTEP NUM: 1
Index: 1, Ip address: 1.1.1.1, Source ip: 2.2.2.2, Type: NvGRE, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------
NVGRE
在下面的配置举例中,按上图所示,VM-1和VM-3在同一个VNI中,通过NVGRE互联建立分布式路由;VM-2和VM-4在同一个VNI中,通过NVGRE互联建立分布式路由。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
Switch(config)# vlan database
Switch(config-vlan)# vlan 20,30
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# vlan 30 overlay enable
Switch(config-vlan)# exit
步骤3 创建vrf实例
Switch(config)# ip vrf tenant
Switch(config-vrf)# exit
步骤4 创建三层接口,加入vrf并配置地址
在switch1配置:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.111/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.111/24
Switch(config-if)# exit
在switch2配置:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.222/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.222/24
Switch(config-if)# exit
步骤5 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# no shutdown
Switch(config-if)# exit
在switch1配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
在switch2配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
步骤6 配置overlay
在switch1配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.1.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 2.2.2.2 type nvgre
Switch(config-overlay)# remote-vtep 1 virtual-mac 22.22.22
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 30 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
在switch2配置:
Switch(config)# overlay
Switch(config-overlay)# source 2.2.2.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.1.1.1 type nvgre
Switch(config-overlay)# remote-vtep 1 virtual-mac 11.11.11
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 30 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
步骤7 配置静态路由和nvgre分布式路由
在switch1配置:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
Switch(config)# ip route vrf tenant 2.2.2.2/32 remote-vtep 1 vni 20000 inner-macda 3.3.3
Switch(config)# ip route vrf tenant 3.3.3.2/32 remote-vtep 1 vni 30000
在switch2配置:
Switch(config)# ip route 1.1.1.0/24 9.9.9.1
Switch(config)# ip route vrf tenant 2.2.2.1/32 remote-vtep 1 vni 20000 inner-macda 1.1.1
Switch(config)# ip route vrf tenant 3.3.3.1/32 remote-vtep 1 vni 30000
步骤8 退出配置模式
Switch(config)# end
步骤9 检查配置
Switch1 显示结果:
Switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.2/32 is in overlay remote nvgre vtep:1.1.1.1->2.2.2.2, vni:20000
S 3.3.3.2/32 is in overlay remote nvgre vtep:1.1.1.1->2.2.2.2, vni:30000
Switch2 显示结果:
Switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.1/32 is in overlay remote nvgre vtep:2.2.2.2->1.1.1.1, vni:20000
S 3.3.3.1/32 is in overlay remote nvgre vtep:2.2.2.2->1.1.1.1, vni:30000
无
通用网络虚拟化封装(GENEVE)是一种隧道网络技术,其将基于mac的2层以太网数据报文封装在3层UDP的数据报文中,通过3层路由网络实现承载在3层网络上的2层网络通信。GENEVE技术把逻辑网络的数量扩大到1600万个,并且支持异地跨ip的2层互联以及可扩展的option。
无
GENEVE
在下面的配置举例中,switch1和switch2间有三层路由联通,通过GENEVE技术,将两台设备上vlan 20的流量封装在vni 20000中,从而实现互联互通。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
Switch(config)# vlan database
Switch(config-vlan)# vlan 20
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# exit
步骤3 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch1 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
步骤4 配置静态路由
在switch1配置:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
在switch2配置:
Switch(config)# ip route 1.1.1.0/24 9.9.9.1
步骤5 配置overlay
在switch1配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.1.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 2.2.2.2 type geneve
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
在switch2配置:
Switch(config)# overlay
Switch(config-overlay)# source 2.2.2.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.1.1.1 type geneve
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 1.1.1.1
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Eanble
Remote VTEP NUM: 1
Index: 1, Ip address: 2.2.2.2, Source ip: 1.1.1.1, Type: GENEVE, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------
Switch2 显示结果:
Switch# show overlay vlan 20
-------------------------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 2.2.2.2
-------------------------------------------------------------------------------
VLAN ID : 20
VNI : 20000
EVPN Tunnel Data-fdb Learning : Enable
Remote VTEP NUM: 1
Index: 1, Ip address: 1.1.1.1, Source ip: 2.2.2.2, Type: GENEVE, Protocol: Static
DVR Gateway NUM: 0
-------------------------------------------------------------------------
GENEVE
在下面的配置举例中,按上图所示,VM-1和VM-3在同一个VNI中,通过GENEVE互联建立分布式路由;VM-2和VM-4在同一个VNI中,通过GENEVE互联建立分布式路由。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
Switch(config)# vlan database
Switch(config-vlan)# vlan 20,30
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# vlan 30 overlay enable
Switch(config-vlan)# exit
步骤3 创建vrf实例
Switch(config)# ip vrf tenant
Switch(config-vrf)# exit
步骤4 创建三层接口,加入vrf并配置地址
在switch1配置:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.111/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.111/24
Switch(config-if)# exit
在switch2配置:
Switch(config)# interface vlan 20
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 2.2.2.222/24
Switch(config-if)# exit
Switch(config)# interface vlan 30
Switch(config-if)# ip vrf forwarding tenant
Switch(config-if)# ip address 3.3.3.222/24
Switch(config-if)# exit
步骤5 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 30
Switch(config-if)# no shutdown
Switch(config-if)# exit
在switch1配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
在switch2配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
步骤6 配置overlay
在switch1配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.1.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 2.2.2.2 type geneve
Switch(config-overlay)# remote-vtep 1 virtual-mac 22.22.22
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 30 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
在switch2配置:
Switch(config)# overlay
Switch(config-overlay)# source 2.2.2.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.1.1.1 type geneve
Switch(config-overlay)# remote-vtep 1 virtual-mac 11.11.11
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 30 vni 30000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 20 gateway-mac a.a.a
Switch(config-overlay)# vlan 30 gateway-mac b.b.b
Switch(config-overlay)# exit
步骤7 配置静态路由和vxlan分布式路由
在switch1配置:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
Switch(config)# ip route vrf tenant 2.2.2.2/32 remote-vtep 1 vni 20000 inner-macda 3.3.3
Switch(config)# ip route vrf tenant 3.3.3.2/32 remote-vtep 1 vni 30000 inner-macda 4.4.4
在switch2配置:
Switch(config)# ip route 1.1.1.0/24 9.9.9.1
Switch(config)# ip route vrf tenant 2.2.2.1/32 remote-vtep 1 vni 20000 inner-macda 1.1.1
Switch(config)# ip route vrf tenant 3.3.3.1/32 remote-vtep 1 vni 30000
步骤8 退出配置模式
Switch(config)# end
步骤9 检查配置
Switch1 显示结果:
switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.2/32 is in overlay remote geneve vtep:1.1.1.1->2.2.2.2, vni:20000
S 3.3.3.2/32 is in overlay remote geneve vtep:1.1.1.1->2.2.2.2, vni:30000
Switch2 显示结果:
switch# show ip route vrf tenant
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
S 2.2.2.1/32 is in overlay remote geneve vtep:2.2.2.2->1.1.1.1, vni:20000
S 3.3.3.1/32 is in overlay remote geneve vtep:2.2.2.2->1.1.1.1, vni:30000
无
Overlay支持多上联,是为了满足用户针对不同的公网而设定不同的source ip地址,提高overlay 的可靠性。
Overlay也支持tunnel上关闭水平分割,即允许报文进入uplink 口解封装后,再次进入另外的tunnel进行加封装发送报文。
无
Overlay multiple source ip
在下面的配置举例中,以VXLAN 为例。NVGRE和GENEVE的配置类似。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
在switch1配置:
Switch(config)# vlan database
Switch(config-vlan)# vlan 20,10
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# vlan 10 overlay enable
Switch(config-vlan)# exit
在switch2配置:
Switch(config)# vlan database
Switch(config-vlan)# vlan 20
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# exit
在switch3配置:
Switch(config)# vlan database
Switch(config-vlan)# vlan 10
Switch(config-vlan)# vlan 10 overlay enable
Switch(config-vlan)# exit
步骤3 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-10
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config)# interface loopback1
Switch(config-if)# ip address 3.3.3.3/32
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
Switch3 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 10
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-10
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 4.4.4.4/32
Switch(config-if)# exit
步骤4 配置静态路由
在switch1配置:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
Switch(config)# ip route 4.4.4.0/24 10.10.10.2
在switch2配置:
Switch(config)# ip route 1.1.1.0/24 9.9.9.1
在switch3配置:
Switch(config)# ip route 3.3.3.0/24 10.10.10.1
步骤5 配置overlay
在switch1配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.1.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 2.2.2.2 type vxlan
Switch(config-overlay)# remote-vtep 2 ip-address 4.4.4.4 type vxlan src-ip 3.3.3.3
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 10 vni 10000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 10 remote-vtep 2
Switch(config-overlay)# exit
在switch2配置:
Switch(config)# overlay
Switch(config-overlay)# source 2.2.2.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.1.1.1 type vxlan
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
在switch3配置:
Switch(config)# overlay
Switch(config-overlay)# source 4.4.4.4
Switch(config-overlay)# remote-vtep 1 ip-address 3.3.3.3 type vxlan
Switch(config-overlay)# vlan 10 vni 10000
Switch(config-overlay)# vlan 10 remote-vtep 1
Switch(config-overlay)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
switch# show overlay vlan 20
---------------------------------------------------------------
ECMP Mode : Normal
Source VTEP : 1.1.1.1
---------------------------------------------------------------
VLAN ID : 2
VNI : 20000
EVPN Tunnel Data-fdb Learning : Eanble
Remote VTEP NUM: 1
Index: 1, Ip address: 2.2.2.2, Source ip: 1.1.1.1, Type: VxLAN, Protocol: Static
Index: 2, Ip address: 2.2.2.2, Source ip: 3.3.3.3, Type: VxLAN, Protocol: Static
DVR Gateway NUM: 0
---------------------------------------------------------------
OVERLAY without Horizon Split
在下面的配置举例中,拓扑如上图,switch1和switch2之间建立tunnel,switch2和switch3之间建立tunnel。在switch2上关闭overlay水平分割,使一侧tunnel过来的流量从另一侧tunnel出去。
配置以VXLAN 为例,NVGRE和GENEVE配置是类似的。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入vlan配置模式并创建vlan,在vlan上使能overlay
Switch(config)# vlan database
Switch(config-vlan)# vlan 20
Switch(config-vlan)# vlan 20 overlay enable
Switch(config-vlan)# exit
步骤3 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config-if)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
Switch3 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport access vlan 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan add 20
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.3/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 3.3.3.3/32
Switch(config-if)# exit
步骤4 配置静态路由
在switch1配置:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
在switch2配置:
Switch(config)# ip route 1.1.1.0/24 9.9.9.1
Switch(config)# ip route 3.3.3.3/24 9.9.9.3
在switch3配置:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
步骤5 配置overlay
在switch1配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.1.1.1
Switch(config-overlay)# remote-vtep 1 ip-address 2.2.2.2 type vxlan
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
在switch2配置:
Switch(config)# overlay
Switch(config-overlay)# source 2.2.2.2
Switch(config-overlay)# remote-vtep 1 ip-address 1.1.1.1 type vxlan horizon-split-disable
Switch(config-overlay)# remote-vtep 2 ip-address 3.3.3.3 type vxlan horizon-split-disable
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# vlan 20 remote-vtep 2
Switch(config-overlay)# exit
在switch3配置:
Switch(config)# overlay
Switch(config-overlay)# source 3.3.3.3
Switch(config-overlay)# remote-vtep 1 ip-address 2.2.2.2 type vxlan
Switch(config-overlay)# vlan 20 vni 20000
Switch(config-overlay)# vlan 20 remote-vtep 1
Switch(config-overlay)# exit
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch2 显示结果:
switch# show overlay remote-vtep
Index Type Virtual-Mac IP-Address Source-Ip Split-Horizon Keep-vtag Dscp-strategy
-------------------------------------------------------------------------------------------
1 VxLAN - 1.1.1.1 2.2.2.2 Disable Disable Dscp-copy
2 VxLAN - 3.3.3.3 2.2.2.2 Disable Disable Dscp-copy
无
基于优先级的流量控制(PFC)是对flow control机制的一种增强。当前以太网暂停选择(IEEE 802.3 Annex 31B)也能达到无丢包的要求,但它会阻止一条链路上的所有流量,本质上来讲,它会暂停整条链路。PFC 允许在一条以太网链路上创建 8 个虚拟通道,并为每条虚拟通道指定一个 IEEE 802.1P 优先等级,允许单独暂停和重启其中任意一条虚拟通道,同时允许其它虚拟通道的流量无中断通过。这一方法使网络能够为单个虚拟链路创建无丢包类别的服务,使其能够与同一接口上的其它流量类型共存。
无
Priority-based Flow Control
在下面的配置举例中,Switch1和switch2的端口1和端口2分别直连,都启用PFC,在priority 2 3 4上使能。
以下配置在Switch1和Switch2相同。
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能lldp
Switch1(config)# lldp enable
步骤3 进入接口配置模式,配置接口属性
Switch(config-if)#lldp enable txrx
Switch(config-if)# lldp tlv 8021-org-specific dcbx
Switch(config-if)# priority-flow-control mode on
Switch(config-if)# priority-flow-control enable priority 2 3 4
Switch(config-if)# exit
Switch(config)# interface eth-0-2
Switch(config-if)#lldp enable txrx
Switch(config-if)# lldp tlv 8021-org-specific dcbx
Switch(config-if)# priority-flow-control mode auto
Switch(config-if)# priority-flow-control enable priority 2 3 4
Switch (config-if)# exit
步骤4 退出配置模式
Switch(config)# end
步骤5 检查配置
Switch1 显示结果:
switch# show priority-flow-control
Port PFC-enable PFC-enable on priority
admin oper admin oper
---------------------------------------------------------------
eth-0-1 on on 234 234
eth-0-2 auto off 234 off
eth-0-3 off off off off
eth-0-4 off off off off
eth-0-5 off off off off
eth-0-6 off off off off
eth-0-7 off off off off
eth-0-8 off off off off
eth-0-9 off off off off
eth-0-10 off off off off
eth-0-11 off off off off
eth-0-12 off off off off
eth-0-13 off off off off
eth-0-14 off off off off
eth-0-15 off off off off
eth-0-16 off off off off
eth-0-17 off off off off
eth-0-18 off off off off
eth-0-19 off off off off
eth-0-20 off off off off
eth-0-21 off off off off
eth-0-22 off off off off
eth-0-23 off off off off
eth-0-24 off off off off
Switch2 显示结果:
switch# show priority-flow-control
Port PFC-enable PFC-enable on priority
admin oper admin oper
---------------------------------------------------------------
eth-0-1 on on 234 234
eth-0-2 auto on 234 off
eth-0-3 off off off off
eth-0-4 off off off off
eth-0-5 off off off off
eth-0-6 off off off off
eth-0-7 off off off off
eth-0-8 off off off off
eth-0-9 off off off off
eth-0-10 off off off off
eth-0-11 off off off off
eth-0-12 off off off off
eth-0-13 off off off off
eth-0-14 off off off off
eth-0-15 off off off off
eth-0-16 off off off off
eth-0-17 off off off off
eth-0-18 off off off off
eth-0-19 off off off off
eth-0-20 off off off off
eth-0-21 off off off off
eth-0-22 off off off off
eth-0-23 off off off off
eth-0-24 off off off off
无
OVSDB(Open vSwitch Database, 开放虚拟交换机数据库)是交换机中保存配置信息的数据库。OVSDB数据库主要由两个部分构成,即OVSDB服务器和OVSDB客户端。控制器作为OVSDB客户端,通过OVSDB管理协议,可以对交换机上的OVSDB数据库进行配置和查询,从而实现对网络中的VTEP设备的管理和部署。
OVSDB
作为VTEP的交换机设备,在使能OVSDB功能后,会创建并维护OVSDB数据库。当控制器和VTEP设备上的OVSDB服务器连接后,会通过OVSDB管理协议,操作OVSDB数据库中的数据。VTEP设备会将OVSDB数据库中的数据转化为VXLAN的相关配置进行下发。
当前支持的表项如下:
表名 |
描述 |
信息来源 |
命令 |
备注 |
Global table |
顶层配置,包含当前数据库中管理的物理交换机 |
交换机 |
|
|
Manager table |
控制器和OVSDB服务器之间的连接配置 |
交换机或控制器 |
ovsdb controller |
|
Physical switch table |
实现硬件VTEP的物理交换机信息 |
交换机 |
|
|
Physical port table |
OVSDB管理的接口信息 |
交换机 |
ovsdb port enable |
|
Logical switch table |
包含逻辑交换机信息,VXLAN配置可以由这些信息转换而来 |
控制器 |
|
|
Physical locator table |
包含网络中的硬件VTEP信息. |
控制器 |
|
|
Physical locator set table |
包含硬件VTEP的集合信息 |
控制器 |
|
|
Unicast MACs remote table |
包含网络中的单播MAC表项,由控制器下发 |
控制器 |
|
|
Multicast MACs remote table |
包含网络中的组播和洪泛表项,由控制器下发 |
控制器 |
|
仅支持unknown dst |
无
OVSDB
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# ovsdb port enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.1/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
Switch2 的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# ovsdb port enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 9.9.9.2/24
Switch(config-if)# overlay uplink enable
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
步骤3 配置静态路由
在switch1配置:
Switch(config)# ip route 2.2.2.0/24 9.9.9.2
在switch2配置:
Switch(config)# ip route 1.1.1.0/24 9.9.9.1
步骤4 配置overlay
在switch1配置:
Switch(config)# overlay
Switch(config-overlay)# source 1.1.1.1
Switch(config-overlay)# exit
在switch2配置:
Switch(config)# overlay
Switch(config-overlay)# source 2.2.2.2
Switch(config-overlay)# exit
步骤5 全局使能ovsdb
Switch(config)# ovsdb enable
步骤6 退出配置模式
Switch(config)# end
步骤7 检查配置
Switch1 显示结果:
Switch# show running
overlay
source 1.1.1.1
!
interface eth-0-1
ovsdb port enable
interface eth-0-9
no switchport
overlay uplink enable
ip address 9.9.9.1/24
interface loopback0
ip address 1.1.1.1/32
!
ovsdb enable
Switch# show ovsdb physical-switch
Physical Switch Name : switch
Management IP address :
Tunnel IP address : 1.1.1.1
无
EFD是一个用来检测大象流的机制。
在网络中,大象流通常是指一个总字节数非常大的连续TCP流。与之相对的流叫老鼠流。
根据学术机构对数据中心实际业务的研究发现,在数据中心中80%以上的带宽是被大象流占掉的, 这些流占用的带宽和传输缓存较大, 但是对时延不敏感,这对时延敏感的流量造成较大的冲击。
EFD功能识别出大象流,并对之施加一些转发策略(比如适当降低大象流的转发优先级,让老鼠流优先转发),可以很好的提高数据中心网络的传输效率。EFD机制也可以用作检查网络中的一些异常流量(比如带宽较大的流), 检测到了以后可以将这类流量的特征字段封装在协议报文中, 送到指定服务器进行进一步的分析。
以下是EFD的术语和概念的简要描述:
•EFD:Elephant Flow Detect, 大象流检查
EFD
在下面的配置举例中, 首先配置用于识别流量的报文特征字段, 然后配置流量的阈值,根据流量特征识当指定特征的流量大于配置的流量阈值时,流的特征字段封装到自定义的UDP报文中发送给指定的服务器。
步骤1 进入配置模式
Switch# configure terminal
步骤2 设置EFD参数
设置IPDA为报文的特征字段, 相同IPDA的流认为是相同的流。
Switch(config)# hash-value global
Switch(config-hash-value-global)# efd select ipda
配置EFD识别流的速率阈值,这里配置为1000Mbps,标识速率超过1000Mbps的流会被识别为Elephant Flow。默认为50Mbps
Switch(config)# efd detect speed 1000
使能EFD通知机制, 并配置通知报文的目的IP地址10.0.0.2和目的UDP端口。
Switch(config)# efd notify enable 10.0.0.2 20007
步骤3 进入接口配置模式,配置接口属性
Switch(config)# interface eth-0-1/1
Switch(config-if)# efd enable
Switch(config-if)# exit
Switch(config)# int eth-0-1/2
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.0.1/24
Switch(config-if)# exit
步骤4 配置静态ARP (可选)
Switch(config)# arp 10.0.0.2 0.1.2
步骤5 退出配置模式
Switch(config)# end
步骤6 检查配置
Switch# show efd configuration
Elephant flow detection configuration information:
--------------------------------------------------
Detect rate : 1000 Mbps
Detect granularity : 16B
Detect time interval : 1000 ms
EFD aging time : 120 ms ~ 150 ms
EFD detect packet type : All IP packets
EFD IPG : disable
EFD redirect interface : N/A
EFD flow hash fields : destination-ip
EFD enabled interface :
------------------------- -------------------------
eth-0-1/1
在当eth-0-1/1口上收到有流的超过1G后, 可以通过下面的命令看到这条流已经被学为EFD流:
Switch# show efd flow information decap
EFD flow issued at:07:29:40 UTC Mon Aug 01 2016
From:eth-0-1, FlowId: 1701
--------------------------------------------------------
MACDA:0000.00aa.bbbb, MACSA:0000.00bb.bbbb
IPv4 Packet, IP Protocol is TCP(6)
IPDA:22.22.22.101, IPSA: 11.11.11.11
L4SourcePort:43690, L4DestinationPort:43741
--------------------------------------------------------
00 00 00 aa bb bb 00 00 00 bb bb bb 08 00 45 00
00 32 00 00 40 00 c8 06 70 35 0b 0b 0b 0b 16 16
16 65 aa aa aa dd aa aa aa dd aa aa aa dd aa aa
aa dd aa aa aa dd aa aa aa dd aa aa aa dd aa aa
Server 10.0.0.2显示报文:
12:41:28.286993 92:fd:58:d7:8f:00 > 00:00:00:01:00:02, ethertype IPv4 (0x0800), length 60: IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto 17, length: 44) 10.0.0.1.49071 > 10.0.0.2.20007: [udp sum ok] UDP, length 16
0x0000: 0000 0001 0002 92fd 58d7 8f00 0800 4500 ........X.....E.
0x0010: 002c 0000 4000 4011 26bf 0a00 0001 0a00 .,..@.@.&.......
0x0020: 0002 bfaf 4e27 0018 b05b 0000 0101 0000 ....N'...[......
0x0030: 0008 0001 0004 1616 1665 0000 .........e..
EFD报文头部说明。上面红色部分为EFD报文信息部分,具体为解析如下:
无
本章节介绍如何配置LDP。
LDP的功能是为两个支持标签交换的路由器分发标签,目前软件系统支持的特性如下:
•支持下游主动分发方式和自由保留模式。
•支持配置标签控制方式。
•支持lsr-id和传输地址的配置。
•支持Target LDP。
•支持分发标签过滤。
•支持PHP模式和非PHP模式。
本篇手册将描述最基本的LDP配置,如果想更加深入的了解技术细节,建议阅读RFC3031,RFC3036。
无
LSP map
下面的例子描述了如何使用LDP在lsr-a到lsr-c之间建立起一条LSP。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Lsr-a的接口配置,接口需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.1/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# exit
Lsr-b的接口配置,接口需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.1/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# exit
Lsr-c的接口配置,接口需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 3.3.3.3/32
Switch(config-if)# exit
步骤3 使能ldp路由
Lsr-a的配置:
Switch(config)# router ldp
Switch(config-router)# router-id 1.1.1.1
Switch(config-router)# exit
Lsr-b的配置:
Switch(config)# router ldp
Switch(config-router)# router-id 2.2.2.2
Switch(config-router)# exit
Lsr-c的配置:
Switch(config)# router ldp
Switch(config-router)# router-id 3.3.3.3
Switch(config-router)# exit
步骤4 使能rip路由
Switch(config)# router rip
Switch(config-router)# network 0.0.0.0/0
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 命令验证
查看lsr-a中ldp session建立的状态:
Switch# show ldp session
Peer IP Address IF Name My Role State KeepAlive
2.2.2.2 eth-0-17 Passive OPERATIONAL 30
查看lsr-b中ldp session建立的状态:
Switch# show ldp session
Peer IP Address IF Name My Role State KeepAlive
3.3.3.3 eth-0-9 Active OPERATIONAL 30
1.1.1.1 eth-0-17 Active OPERATIONAL 30
查看lsr-c中ldp session建立的状态:
Switch# show ldp session
Peer IP Address IF Name My Role State KeepAlive
2.2.2.2 eth-0-9 Passive OPERATIONAL 30
MPLS即多协议标签交换,能够适用于任何网络层,但在这篇文档里,我们只关注MPLS在IP网络中的应用。
在通常的IP网络中,报文头部中包含了很多信息来决定如何选择下一跳,如何选择分为如下两个步骤:首先将条目分成不同的转发等价类,接着将指定的转发等价类映射到某条下一跳上。该过程是不可逆的,对于选定了下一跳的报文,我们不关心他为何被映射到这条转发等价类中。在某个特定的节点,所有同一转发等价类的报文都将通过同一条路径进行转发(如果存在ECMP的情况,他们会从该组路径中选择一条进行转发)。根据最长匹配的原则,路由器可能会将两个不同的报文映射到同一条转发等价类中。在一个报文遍历整个网络时,每一跳都会重新解析报文,并将报文映射到一个指定的转发等价类中。
在MPLS网络中,只需要进行一次报文到转发等价类的映射,因为当报文进入网络后,对于指定的FEC会映射到一个标签上,报文会携带该标签转发到下一跳,在接下来的转发过程中,就不需要重新解析报文头部来报文映射到转发等价类中,只需使用标签作为索引进行查找转发,使用新的标签替换旧的标签,将报文继续进行转发。
在下面的例子中可以发现,一旦报文指定了转发等价类,接下来的转发都是依靠标签的了。
无
MPLS LSP 模型
下面的例子描述了如何配置MPLS LSP。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
PE1的接口配置,接口需要开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.10.10.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
P的接口配置,接口需要开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
PE2的接口配置,接口需要开启标签交换功能:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.3/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ip address 20.20.20.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
步骤3 配置静态ftn/ilm
PE1的静态ftn:
Switch(config)# mpls ftn-entry 172.22.4.1/24 100 11.11.9.2
P的静态ilm:
Switch(config)# mpls ilm-entry swap 100 11.11.17.3 200
PE2的静态ilm:
Switch(config)# mpls ilm-entry php 200 20.20.20.2
步骤4 命令验证
显示PE1上的ftn表项:
PE1# show mpls ftn-database
Codes: > - selected FTN, p - stale FTN, B - BGP FTN, K - CLI FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
U - unknown FTN
Code FEC Out-Label Nexthop Out-Intf
K> 172.22.4.0/24 100 11.11.9.2 eth-0-9
显示P上的ilm表项:
P# show mpls ilm-database
Codes: > - selected ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut,
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 100/200 11.11.17.3 eth-0-17
显示PE2上的ilm表项:
PE2# show mpls ilm-database
Codes: > - selected ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut,
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 200/3 20.20.20.2 eth-0-1
无
本章节描述了如何配置VPLS。虚拟专用局域网(VPLS),其核心思想是利用信令协议在VPLS实例中的PE(运营商边缘路由器)节点之间建立及维护PW(伪线),将二层协议帧封装后在PW上传输、交换,使广域范围内多个局域网在数据链路层面被整合为一张网络,向用户提供虚拟的以太网服务。
无
VPLS 模型
下面的例子描述了如何使用LDP配置VPLS。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
PE1的接口配置,eth-0-9需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.1/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.1.1/32
Switch(config-if)# exit
PE2的接口配置,eth-0-13需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.13.4/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.4.4/32
Switch(config-if)# exit
PE3的接口配置,eth-0-17需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.3/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.3.3/32
Switch(config-if)# exit
P的接口配置,接口需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.13.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.2.2/32
Switch(config-if)# exit
步骤3 使能ldp路由
PE1的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.1.1
Switch(config-router)# targeted-peer 11.11.3.3
Switch(config-router)# targeted-peer 11.11.4.4
Switch(config-router)# transport-address 11.11.1.1
Switch(config-router)# exit
PE2的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.4.4
Switch(config-router)# transport-address 11.11.4.4
Switch(config-router)# targeted-peer 11.11.1.1
Switch(config-router)# targeted-peer 11.11.3.3
Switch(config-router)# exit
PE3的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.3.3
Switch(config-router)# transport-address 11.11.3.3
Switch(config-router)# targeted-peer 11.11.1.1
Switch(config-router)# targeted-peer 11.11.4.4
Switch(config-router)# exit
P的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.2.2
Switch(config-router)# exit
步骤4 使能rip路由
Switch(config)# router rip
Switch(config-router)# network 11.11.1.1/16
Switch(config-router)# exit
步骤5 配置mpls vpls 实例
PE1, PE2, PE3均配置PW侧为raw模式,并指定vpls peer。
PE1的VPLS实例配置:
Switch(config)# mpls vpls v1 100
Switch(config-vpls)# vpls-peer 11.11.3.3 raw
Switch(config-vpls)# vpls-peer 11.11.4.4 raw
Switch(config-vpls)# exit
PE2的VPLS实例配置:
Switch(config)# mpls vpls v4 100
Switch(config-vpls)# vpls-peer 11.11.1.1 raw
Switch(config-vpls)# vpls-peer 11.11.3.3 raw
Switch(config-vpls)# exit
PE3的VPLS实例配置:
Switch(config)# mpls vpls v3 100
Switch(config-vpls)# vpls-peer 11.11.1.1 raw
Switch(config-vpls)# vpls-peer 11.11.4.4 raw
Switch(config-vpls)# exit
步骤6 在端口上绑定mpls vpls 实例
PE1, PE2, PE3的AC侧均配置为VLAN接入。
PE1的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# mpls-vpls v1 vlan 2
Switch(config-if)# exit
PE2的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# mpls-vpls v4 vlan 2
Switch(config-if)# exit
PE3的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# mpls-vpls v3 vlan 2
Switch(config-if)# exit
步骤7 退出配置模式
Switch(config)# end
步骤8 命令验证
使用show ldp session和show mpls vpls mesh命令来查看VPLS的完整信息。show ldp session可以得到当前LDP session运行的状态,show mpls vpls mesh可以看到vpls peer的状态以及vpls所使用的内层label,pw的模式。
PE1显示结果:
PE1# show ldp session
Peer IP Address IF Name My Role State KeepAlive
11.11.3.3 eth-0-9 Passive OPERATIONAL 30
11.11.4.4 eth-0-9 Passive OPERATIONAL 30
11.11.2.2 eth-0-9 Passive OPERATIONAL 30
PE1# show mpls vpls mesh
VPLS-ID Peer Addr/name In-Label Out-Intf Out-Label Type St
100 11.11.3.3/- 32768 eth-0-9 32768 RAW Up
100 11.11.4.4/- 32773 eth-0-9 32768 RAW Up
PE2显示结果:
PE2# show ldp session
Peer IP Address IF Name My Role State KeepAlive
11.11.1.1 eth-0-13 Active OPERATIONAL 30
11.11.3.3 eth-0-13 Active OPERATIONAL 30
11.11.2.2 eth-0-13 Passive OPERATIONAL 30
PE2# show mpls vpls mesh
VPLS-ID Peer Addr/name In-Label Out-Intf Out-Label Type St
100 11.11.1.1/- 32768 eth-0-13 32773 RAW Up
100 11.11.3.3/- 32769 eth-0-13 32770 RAW Up
PE3显示结果:
PE3# show ldp session
Peer IP Address IF Name My Role State KeepAlive
11.11.1.1 eth-0-17 Active OPERATIONAL 30
11.11.4.4 eth-0-17 Passive OPERATIONAL 30
11.11.2.2 eth-0-17 Passive OPERATIONAL 30
PE3# show mpls vpls mesh
VPLS-ID Peer Addr/name In-Label Out-Intf Out-Label Type St
100 11.11.1.1/- 32768 eth-0-17 32768 RAW Up
100 11.11.4.4/- 32770 eth-0-17 32769 RAW Up
P显示结果:
P# show ldp session
Peer IP Address IF Name My Role State KeepAlive
11.11.1.1 eth-0-9 Active OPERATIONAL 30
11.11.3.3 eth-0-17 Active OPERATIONAL 30
11.11.4.4 eth-0-13 Active OPERATIONAL 30
下面的例子描述了如何配置静态VPLS。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
PE1的接口配置,eth-0-9需要开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
PE2的接口配置,eth-0-13需要开启标签交换功能:
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.13.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
PE3的接口配置,eth-0-17需要开启标签交换功能:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
P的接口配置,eth-0-9, eth-0-13和eth-0-17均需要开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.13.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
步骤3 配置ftn条目
PE1的接口配置:
Switch(config)# mpls ftn-entry 11.11.17.1/24 97 11.11.9.2
Switch(config)# mpls ftn-entry 11.11.13.1/24 93 11.11.9.2
PE2的接口配置:
Switch(config)# mpls ftn-entry 11.11.9.1/32 44 11.11.13.2
PE3的接口配置:
Switch(config)#mpls ftn-entry 11.11.9.1/32 33 11.11.17.2
步骤4 配置mpls vpls 实例
PE1, PE2, PE3均配置PW侧为raw模式,并指定vpls peer。
PE1的VPLS实例配置:
Switch(config)# mpls vpls vpls1 1
Switch(config-vpls)# vpls-peer 11.11.17.1 raw manual
Switch(config-vpls)# vpls-peer 11.11.13.1 raw manual
PE2的VPLS实例配置:
Switch(config)# mpls vpls vpls1 1
Switch(config-vpls)# vpls-peer 11.11.9.1 raw manual
PE3的VPLS实例配置:
Switch(config)# mpls vpls vpls1 1
Switch(config-vpls)# vpls-peer 11.11.9.1 raw manual
步骤5 在端口上绑定mpls vpls 实例
PE1, PE2, PE3的AC侧均配置为VLAN接入。
PE1的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# mpls-vpls vpls1 vlan 100
Switch(config-if)# exit
PE2的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# mpls-vpls vpls1 vlan 100
Switch(config-if)# exit
PE3的接口配置:
Switch(config)#interface eth-0-1
Switch(config-if)# switchport mode trunk
Switch(config-if)# mpls-vpls vpls1 vlan 100
Switch(config-if)# exit
步骤6 配置 VPLS FIB
PE1的VPLS FIB:
Switch(config)# vpls-fib-add vpls1 peer 11.11.17.1 103 31
Switch(config)# vpls-fib-add vpls1 peer 11.11.13.1 102 201
PE2的VPLS FIB:
Switch(config)# vpls-fib-add vpls1 peer 11.11.9.1 201 102
PE3的VPLS FIB:
Switch(config)# vpls-fib-add vpls1 peer 11.11.9.1 31 103
步骤7 配置静态ilm
P的静态ilm:
Switch(config)# mpls ilm-entry php 97 11.11.17.1
Switch(config)# mpls ilm-entry php 93 11.11.13.1
Switch(config)# mpls ilm-entry php 33 11.11.9.1
Switch(config)# mpls ilm-entry php 44 11.11.9.1
步骤8 退出配置模式
Switch(config)# end
步骤9 命令验证
使用show mpls vpls mesh可以看到vpls peer的状态以及vpls所使用的内层label,pw的模式。
PE1显示结果:
PE1# show mpls vpls mesh
VPLS-ID Peer Addr/name In-Label Out-Intf Out-Label Type St
1 11.11.13.1/- 102 eth-0-9 201 RAW Up
1 11.11.17.1/- 103 eth-0-9 31 RAW Up
PE2显示结果:
PE2# show mpls vpls mesh
VPLS-ID Peer Addr/name In-Label Out-Intf Out-Label Type St
1 11.11.9.1/- 201 eth-0-13 102 RAW Up
PE3显示结果:
PE3# show mpls vpls mesh
VPLS-ID Peer Addr/name In-Label Out-Intf Out-Label Type St
1 11.11.9.1/- 31 eth-0-17 103 RAW Up
P显示结果:
P# show mpls ilm-database
Codes: > - selected ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut,
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 33/3 11.11.9.1 eth-0-9
K> 0.0.0.0/0 44/3 11.11.9.1 eth-0-9
K> 0.0.0.0/0 93/3 11.11.13.1 eth-0-13
K> 0.0.0.0/0 97/3 11.11.17.1 eth-0-17
通过网络服务提供商连接的处于不同地域的用户,本地和远端之间需要运行STP等二层协议,就需要网络服务提供商能够透传STP等二层协议。 如下例子展示了如何使用VPLS来透传二层报文,以下配置基于VPLS模型拓扑图。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能L2 protocol
Switch(config)# l2protocol enable
步骤3 进入接口配置模式,配置接口属性
PE1的接口配置,eth-0-9需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.1/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.1.1/32
Switch(config-if)# exit
PE2的接口配置,eth-0-13需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# ip add 11.11.13.4/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.4.4/32
Switch(config-if)# exit
PE3的接口配置,eth-0-17需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.3/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.3.3/32
Switch(config-if)# exit
P的接口配置,接口需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.13.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.2.2/32
Switch(config-if)# exit
步骤4 使能ldp路由
PE1的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.1.1
Switch(config-router)# targeted-peer 11.11.3.3
Switch(config-router)# targeted-peer 11.11.4.4
Switch(config-router)# transport-address 11.11.1.1
Switch(config-router)# exit
PE2的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.4.4
Switch(config-router)# transport-address 11.11.4.4
Switch(config-router)# targeted-peer 11.11.1.1
Switch(config-router)# targeted-peer 11.11.3.3
Switch(config-router)# exit
PE3的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.3.3
Switch(config-router)# transport-address 11.11.3.3
Switch(config-router)# targeted-peer 11.11.1.1
Switch(config-router)# targeted-peer 11.11.4.4
Switch(config-router)# exit
P的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.2.2
Switch(config-router)# exit
步骤5 使能rip路由
PE1、PE2、PE3的RIP配置:
Switch(config)# router rip
Switch(config-router)# network 11.11.1.1/16
Switch(config-router)# exit
步骤6 配置mpls vpls 实例
PE1, PE2, PE3均配置PW侧为raw模式,并指定vpls peer。
PE1的VPLS实例配置:
Switch(config)# mpls vpls v1 100
Switch(config-vpls)# vpls-peer 11.11.3.3 raw
Switch(config-vpls)# vpls-peer 11.11.4.4 raw
Switch(config-vpls)# exit
PE2的VPLS实例配置:
Switch(config)# mpls vpls v4 100
Switch(config-vpls)# vpls-peer 11.11.1.1 raw
Switch(config-vpls)# vpls-peer 11.11.3.3 raw
Switch(config-vpls)# exit
PE3的VPLS实例配置:
Switch(config)# mpls vpls v3 100
Switch(config-vpls)# vpls-peer 11.11.1.1 raw
Switch(config-vpls)# vpls-peer 11.11.4.4 raw
Switch(config-vpls)# exit
步骤7 在端口上绑定mpls vpls 实例
PE1, PE2, PE3的AC侧均配置为ethernet接入。
PE1的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# mpls-vpls v1 ethernet
Switch(config-if)# l2protocol stp tunnel
Switch(config-if)# exit
PE2的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# mpls-vpls v4 ethernet
Switch(config-if)# l2protocol stp tunnel
Switch(config-if)# exit
PE3的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# mpls-vpls v3 ethernet
Switch(config-if)# l2protocol stp tunnel
Switch(config-if)# exit
步骤8 退出配置模式
Switch(config)# end
在一个VSI内,如果PE节点收到了一个未知目的MAC的报文,则PE将会flood该报文。用户可以配置静态MAC表项来将带有指定目的MAC的报文发往指定的目的端口,指定PW或者丢弃。 以下举例了如何配置静态MAC,配置拓扑配置基于VPLS模型拓扑。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
PE1的接口配置,eth-0-9需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.1/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.1.1/32
Switch(config-if)# exit
PE2的接口配置,eth-0-13需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# ip add 11.11.13.4/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.4.4/32
Switch(config-if)# exit
PE3的接口配置,eth-0-17需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.3/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.3.3/32
Switch(config-if)# exit
P的接口配置,接口需要使能ldp并且开启标签交换功能:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.9.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-13
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.13.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 11.11.17.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 11.11.2.2/32
Switch(config-if)# exit
步骤3 使能ldp路由
PE1的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.1.1
Switch(config-router)# targeted-peer 11.11.3.3
Switch(config-router)# targeted-peer 11.11.4.4
Switch(config-router)# transport-address 11.11.1.1
Switch(config-router)# exit
PE2的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.4.4
Switch(config-router)# transport-address 11.11.4.4
Switch(config-router)# targeted-peer 11.11.1.1
Switch(config-router)# targeted-peer 11.11.3.3
Switch(config-router)# exit
PE3的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.3.3
Switch(config-router)# transport-address 11.11.3.3
Switch(config-router)# targeted-peer 11.11.1.1
Switch(config-router)# targeted-peer 11.11.4.4
Switch(config-router)# exit
P的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 11.11.2.2
Switch(config-router)# exit
步骤4 使能rip路由
Switch(config)# router rip
Switch(config-router)# network 11.11.1.1/16
Switch(config-router)# exit
步骤5 配置mpls vpls 实例
PE1, PE2, PE3均配置PW侧为raw模式,并指定vpls peer。
PE1的VPLS实例配置:
Switch(config)# mpls vpls v1 100
Switch(config-vpls)# vpls-peer 11.11.3.3 raw
Switch(config-vpls)# vpls-peer 11.11.4.4 raw
Switch(config-vpls)# mac-address-table 0000.0000.0001 forward eth-0-1
Switch(config-vpls)# mac-address-table 0000.0000.0003 forward peer 11.11.3.3
Switch(config-vpls)# mac-address-table 0000.0000.0004 forward peer 11.11.4.4
Switch(config-vpls)# exit
PE2的VPLS实例配置:
Switch(config)# mpls vpls v4 100
Switch(config-vpls)# vpls-peer 11.11.1.1 raw
Switch(config-vpls)# vpls-peer 11.11.3.3 raw
Switch(config-vpls)# mac-address-table 0000.0000.0004 forward eth-0-1
Switch(config-vpls)# mac-address-table 0000.0000.0001 forward peer 11.11.1.1
Switch(config-vpls)# mac-address-table 0000.0000.0003 forward peer 11.11.3.3
Switch(config-vpls)# exit
PE3的VPLS实例配置:
Switch(config)# mpls vpls v3 100
Switch(config-vpls)# vpls-peer 11.11.1.1 raw
Switch(config-vpls)# vpls-peer 11.11.4.4 raw
Switch(config-vpls)# mac-address-table 0000.0000.0003 forward eth-0-1
Switch(config-vpls)# mac-address-table 0000.0000.0001 forward peer 11.11.1.1
Switch(config-vpls)# mac-address-table 0000.0000.0004 forward peer 11.11.4.4
Switch(config-vpls)# exit
步骤6 在端口上绑定mpls vpls 实例
PE1, PE2, PE3的AC侧均配置为ethernet接入。
PE1的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# mpls-vpls v1 ethernet
Switch(config-if)# exit
PE2的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# mpls-vpls v4 ethernet
Switch(config-if)# exit
PE3的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# mpls-vpls v3 ethernet
Switch(config-if)# exit
步骤7 退出配置模式
Switch(config)# end
步骤8 命令验证
使用命令show mac address-table vpls来显示VPLS静态MAC的相关信息。
PE1显示结果:
PE1# show mac address-table vpls
vpls peer mac static
v1 eth-0-1 0000.0000.0001 1
v1 11.11.3.3 0000.0000.0003 1
v1 11.11.4.4 0000.0000.0004 1
PE2显示结果:
PE2# show mac address-table vpls
vpls peer mac static
v1 eth-0-1 0000.0000.0004 1
v1 11.11.1.1 0000.0000.0001 1
v1 11.11.3.3 0000.0000.0003 1
PE3显示结果:
PE3# show mac address-table vpls
vpls peer mac static
v1 eth-0-1 0000.0000.0003 1
v1 11.11.1.1 0000.0000.0001 1
v1 11.11.4.4 0000.0000.0004 1
无
VPWS是一种通过MPLS封装的点对点的服务模型,二层报文将通过LSP在两个PE之间透传。
无
配置VPWS拓扑
本章VPWS基于LDP,标准为IETF的[L2TRANS]。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
PE1的接口配置:
Switch(config)# interface eth-0-2
Switch(config-if)# mpls-l2-circuit t1 ethernet
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 192.168.10.10/32
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 8.8.8.1/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
PE2的接口配置:
Switch(config)# interface eth-0-2
Switch(config-if)# mpls-l2-circuit t1 ethernet
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 192.168.11.10/32
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 8.8.8.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
步骤3 使能ldp路由
PE1的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 192.168.10.10
Switch(config-router)# targeted-peer 192.168.11.10
Switch(config-router)# exit
PE2的LDP配置:
PE2(config)# router ldp
PE2(config-router)# router-id 192.168.11.10
PE2(config-router)# targeted-peer 192.168.10.10
PE2(config-router)# exit
步骤4 配置VPWS VC ID
PE1的VC ID配置:
PE1(config)# mpls l2-circuit t1 200 192.168.11.10 raw
PE2的VC ID配置:
PE2(config)# mpls l2-circuit t1 200 192.168.10.10 raw
步骤4 使能rip路由
Switch(config)# router rip
Switch(config-router)# network 0.0.0.0/0
Switch(config-router)# exit
步骤5 退出配置模式
Switch(config)# end
步骤6 命令验证
使用show mpls l2-circuit和show mpls vc-table来显示VPWS的相关信息。
PE1显示结果: ?
PE1# show mpls l2-circuit
VC-Name VC-ID Interface AC-type VLAN PW-mode Manual
t1 200 eth-0-2 Ethernet N/A Raw No
PE1# show mpls vc-table
VC-ID PW Intf AC Intf L/R Label EndPoint Status Manual
200 eth-0-9 eth-0-2 32768/32768 192.168.11.10 Active No
PE2显示结果:
PE2# show mpls l2-circuit
VC-Name VC-ID Interface AC-type VLAN PW-mode Manual
t1 200 eth-0-2 Ethernet N/A Raw No
PE2# show mpls vc-table
VC-ID PW Intf AC Intf L/R Label EndPoint Status Manual
200 eth-0-9 eth-0-2 32768/32768 192.168.10.10 Active No
下面的例子描述了如何配置静态VPWS。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
PE1的接口配置:
Switch(config)# interface eth-0-2
Switch(config-if)# mpls-l2-circuit t2 ethernet
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 192.168.10.10/32
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 8.8.8.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
PE2的接口配置:
Switch(config)# interface eth-0-2
Switch(config-if)# mpls-l2-circuit t2 ethernet
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 192.168.11.10/32
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 8.8.8.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
步骤3 配置ftn条目
PE1的FTN条目:
Switch(config)# mpls ftn-entry 192.168.11.1/24 111 8.8.8.2
PE2的FTN条目: ?
? Switch(config)# mpls ftn-entry 192.168.10.1/24 222 8.8.8.1
步骤4 配置静态ilm
PE1的静态ilm:
Switch(config)# mpls ilm-entry pop 212
PE2的静态ilm:
PE2(config)# mpls ilm-entry pop 111
步骤5 配置VPWS VC ID
PE1的VC ID配置:
Switch(config)# mpls l2-circuit t2 201 192.168.11.10 raw manual
Switch(config)# mpls l2-circuit-fib-entry t2 44 33
PE2的VC ID配置:
Switch(config)# mpls l2-circuit t2 201 192.168.10.10 raw manual
Switch(config)# mpls l2-circuit-fib-entry t2 33 44
步骤6 退出配置模式
Switch(config)# end
步骤7 命令验证
使用show mpls l2-circuit和show mpls vc-table来显示VPWS的相关信息。
PE1显示结果:
PE1# show mpls l2-circuit
VC-Name VC-ID Interface AC-type VLAN PW-mode Manual
t2 201 eth-0-2 Ethernet N/A Raw Yes
PE1# show mpls vc-table
VC-ID PW Intf AC Intf L/R Label EndPoint Status Manual
201 eth-0-9 eth-0-2 44/33 192.168.11.10 Active Yes
PE2显示结果:
PE2# show mpls l2-circuit
VC-Name VC-ID Interface AC-type VLAN PW-mode Manual
t2 201 eth-0-2 Ethernet N/A Raw Yes
PE2# show mpls vc-table
VC-ID PW Intf AC Intf L/R Label EndPoint Status Manual
201 eth-0-9 eth-0-2 33/44 192.168.10.10 Active Yes
下面的例子描述了如何配置VPWS透传二层协议报文。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 全局使能L2 protocol
Switch(config)# l2protocol enable
步骤3 进入接口配置模式,配置接口属性
PE1的接口配置:
Switch(config)# interface eth-0-2
Switch(config-if)# mpls-l2-circuit t1 ethernet
Switch(config-if)# l2protocol stp tunnel
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 192.168.10.10/32
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 8.8.8.1/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
PE2的接口配置:
Switch#configure terminal
Switch(config)# l2protocol enable
Switch(config)# interface eth-0-2
Switch(config-if)# mpls-l2-circuit t1 ethernet
Switch(config-if)# l2protocol stp tunnel
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 192.168.11.10/32
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 8.8.8.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# label-switching
Switch(config-if)# exit
步骤4 使能ldp路由
PE1的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 192.168.10.10
Switch(config-router)# targeted-peer 192.168.11.10
Switch(config-router)# exit
PE2的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 192.168.11.10
Switch(config-router)# targeted-peer 192.168.10.10
Switch(config-router)# exit
步骤4 配置VPWS VC ID
PE1的VC ID配置:
switch(config)# mpls l2-circuit t1 200 192.168.11.10 raw
PE2的VC ID配置:
switch(config)# mpls l2-circuit t1 200 192.168.10.10 raw
步骤5 使能rip路由
switch(config)# router rip
switch(config-router)# network 0.0.0.0/0
switch(config-router)# exit
步骤6 退出配置模式
Switch(config)# end
无
MPLS QoS是部署QoS(Quality of Service)业务的重要组成部分,在实际的MPLS组网方案中往往通过差分服务(DiffServ)模型来实施QoS。它可以为每个通过MPLS网络的业务提供指定的服务,并提供差异化的服务类型来满足各种需求。
MPLS使用标签转发替代了传统的路由转发,功能强大、灵活,可以满足各种新应用对网络的要求,而且MPLS支持多种网络协议(如IPv4、IPv6等)。目前MPLS被广泛地应用于大规模网络的组建,而在MPLS网络中,无法通过IP QoS来实现服务质量(QoS),所以在MPLS网络中实现服务质量也就应运而生,即MPLS QoS。
与传统IP QoS根据IP报文的优先级来区分业务的服务等级类似,MPLS QoS根据报文的EXP来区分不同的数据流,实现差分服务,保证语音、视频数据流的低延时、低丢包率,保证网络的高利用率。
MPLS隧道模式包含三种模式:Uniform、Pipe、Short Pipe。
Uniform模式:报文在IP网和MPLS网中的优先级标识是统一定义的,即两种网络对报文的优先级标识都是全局有效的。在Ingress上,报文被加上标签,DSCP映射到EXP。如果报文在MPLS网络中改变了EXP字段的值,会影响报文离开MPLS网络后采用的PHB(Per-Hop Behavior)。即在出节点会将EXP映射到DSCP。
Uniform模式
Pipe模式:在Ingress上报文压入MPLS标签的EXP值可以由用户指定。如果报文在MPLS网络中改变了EXP字段的值,只在MPLS网络中有效。在Egress上,报文会根据EXP字段的值选择PHB。当报文离开MPLS网络后,报文之前携带的DSCP继续有效。
Pipe模式
Short pipe模式:在Ingress上报文压入MPLS标签的EXP值可以由用户指定。如果报文在MPLS网络中改变了EXP字段的值,只在MPLS网络中有效。在Egress上,报文会根据DSCP选择PHB。当报文离开MPLS网络后,报文之前携带的DSCP继续有效。
Short pipe模式
MPLS QoS LSP 模型
下面的例子描述了如何配置MPLS QoS Uniform模式。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置全局MPLS隧道模式
Switch(config)# mpls lsp-model uniform
步骤3 进入接口配置模式,配置接口属性
PE1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.9.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# qos domain type dscp 1
Switch(config-if)# trust dscp
Switch(config-if)# replace dscp
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
P的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.9.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.17.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
PE2的接口配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.17.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# qos domain type dscp 1
Switch(config-if)# trust dscp
Switch(config-if)# replace dscp
Switch(config-if)# ip address 2.2.2.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
步骤4 配置静态arp
PE1的接口配置:
Switch(config)# arp 1.1.1.2 0001.0001.0002
PE2的接口配置:
Switch(config)# arp 2.2.2.1 0002.0002.0001
步骤5 配置静态ftn/ilm
PE1的静态ftn:
Switch(config)# mpls ftn-entry 2.2.2.0/24 102 10.0.9.2
Switch(config)# mpls ilm-entry pop 201
P的静态ilm:
Switch(config)# mpls ilm-entry swap 102 10.0.17.1 203
Switch(config)# mpls ilm-entry swap 302 10.0.9.1 201
PE2的静态ilm:
Switch(config)# mpls ftn-entry 1.1.1.0/24 302 10.0.17.2
Switch(config)# mpls ilm-entry pop 203
步骤6 命令验证
PE1 显示结果:
PE1# show mpls ftn-database
Codes: > - selected FTN, p - stale FTN, B - BGP FTN, K - CLI FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
* -bypass FTN, U - unknown FTN
Code FEC Out-Label Nexthop Out-Intf
K> 2.2.2.0/24 102 10.0.9.2 eth-0-9
PE1# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 201/- 0.0.0.0 N/A
P显示结果:
P# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 102/203 10.0.17.1 eth-0-17
K> 0.0.0.0/0 302/201 10.0.9.1 eth-0-9
PE2 显示结果:
PE2# show mpls ftn-database
Codes: > - selected FTN, p - stale FTN, B - BGP FTN, K - CLI FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
* -bypass FTN, U - unknown FTN
Code FEC Out-Label Nexthop Out-Intf
K> 1.1.1.0/24 302 10.0.17.2 eth-0-17
PE2# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 203/- 0.0.0.0 N/A
下面的例子描述了如何配置MPLS QoS Pipe模式。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置全局MPLS隧道模式
PE1的接口配置:
Switch(config)# mpls lsp-model pipe exp 7
P的接口配置:
Switch(config)# mpls lsp-model pipe
PE2的接口配置:
Switch(config)# mpls lsp-model pipe exp 7
步骤3 进入接口配置模式,配置接口属性
PE1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.9.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# qos domain type dscp 1
Switch(config-if)# trust dscp
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
P的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.9.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.17.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
PE2的接口配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.17.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# qos domain type dscp 1
Switch(config-if)# trust dscp
Switch(config-if)# ip address 2.2.2.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
步骤4 配置静态arp
PE1的接口配置:
Switch(config)# arp 1.1.1.2 0001.0001.0002
PE2的接口配置:
Switch(config)# arp 2.2.2.1 0002.0002.0001
步骤5 配置静态ftn/ilm
PE1的静态ftn:
Switch(config)# mpls ftn-entry 2.2.2.0/24 102 10.0.9.2
Switch(config)# mpls ilm-entry pop 201
P的静态ilm:
Switch(config)# mpls ilm-entry swap 102 10.0.17.1 203
Switch(config)# mpls ilm-entry swap 302 10.0.9.1 201
PE2的静态ilm:
Switch(config)# mpls ftn-entry 1.1.1.0/24 302 10.0.17.2
Switch(config)# mpls ilm-entry pop 203
步骤6 命令验证
PE1 显示结果:
PE1# show mpls ftn-database
Codes: > - selected FTN, p - stale FTN, B - BGP FTN, K - CLI FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
* -bypass FTN, U - unknown FTN
Code FEC Out-Label Nexthop Out-Intf
K> 2.2.2.0/24 102 10.0.9.2 eth-0-9
PE1# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 201/- 0.0.0.0 N/A
P显示结果:
P# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 102/203 10.0.17.1 eth-0-17
K> 0.0.0.0/0 302/201 10.0.9.1 eth-0-9
PE2 显示结果:
PE2# show mpls ftn-database
Codes: > - selected FTN, p - stale FTN, B - BGP FTN, K - CLI FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
* -bypass FTN, U - unknown FTN
Code FEC Out-Label Nexthop Out-Intf
K> 1.1.1.0/24 302 10.0.17.2 eth-0-17
PE2# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 203/- 0.0.0.0 N/A
下面的例子描述了如何配置MPLS QoS Short Pipe模式。
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 配置全局MPLS隧道模式
PE1的接口配置:
Switch(config)# mpls lsp-model short-pipe exp 7
P的接口配置:
Switch(config)# mpls lsp-model short-pipe
PE2的接口配置:
Switch(config)# mpls lsp-model short-pipe exp 7
步骤3 进入接口配置模式,配置接口属性
PE1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.9.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# qos domain type dscp 1
Switch(config-if)# trust dscp
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
P的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.9.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.17.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
PE2的接口配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.17.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# qos domain type dscp 1
Switch(config-if)# trust dscp
Switch(config-if)# ip address 2.2.2.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
步骤4 配置静态arp
PE1的接口配置:
Switch(config)# arp 1.1.1.2 0001.0001.0002
PE2的接口配置:
Switch(config)# arp 2.2.2.1 0002.0002.0001
步骤5 配置静态ftn/ilm
PE1的静态ftn:
Switch(config)# mpls ftn-entry 2.2.2.0/24 102 10.0.9.2
Switch(config)# mpls ilm-entry pop 201
P的静态ilm:
Switch(config)# mpls ilm-entry swap 102 10.0.17.1 203
Switch(config)# mpls ilm-entry swap 302 10.0.9.1 201
PE2的静态ilm:
Switch(config)# mpls ftn-entry 1.1.1.0/24 302 10.0.17.2
Switch(config)# mpls ilm-entry pop 203
步骤6 命令验证
PE1 显示结果:
PE1# show mpls ftn-database
Codes: > - selected FTN, p - stale FTN, B - BGP FTN, K - CLI FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
* -bypass FTN, U - unknown FTN
Code FEC Out-Label Nexthop Out-Intf
K> 2.2.2.0/24 102 10.0.9.2 eth-0-9
PE1# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 201/- 0.0.0.0 N/A
P显示结果:
P# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 102/203 10.0.17.1 eth-0-17
K> 0.0.0.0/0 302/201 10.0.9.1 eth-0-9
PE2 显示结果:
PE2# show mpls ftn-database
Codes: > - selected FTN, p - stale FTN, B - BGP FTN, K - CLI FTN,
L - LDP FTN, R - RSVP-TE FTN, S - SNMP FTN, I - IGP-Shortcut,
* -bypass FTN, U - unknown FTN
Code FEC Out-Label Nexthop Out-Intf
K> 1.1.1.0/24 302 10.0.17.2 eth-0-17
PE2# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, I - IGP-Shortcut
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
K> 0.0.0.0/0 203/- 0.0.0.0 N/A
无
本章节描述了如何配置L3VPN。其核心思想是通过Route Target的export和import属性控制路由在VRF间的收发,通过RD去区分来自不同VPN的路由,通过内层label去映射出不同的vrf来指导数据的三层转发。
无
L3VPN 模型
下面的例子描述了如何使用配置L3VPN.
以下配置如未说明在哪个Switch配置,则表示所有Switch配置相同:
步骤1 进入配置模式
Switch# configure terminal
步骤2 vrf配置
PE1的vrf配置:
Switch(config)# ip vrf vpn1
Switch(config-vrf)# rd 1:1
Switch(config-vrf)# route-target both 1:1
Switch(config-vrf)# exit
PE2的vrf配置:
Switch(config)# ip vrf vpn1
Switch(config-vrf)# rd 1:1
Switch(config-vrf)# route-target both 1:1
Switch(config-vrf)# exit
步骤3 进入接口配置模式,配置接口属性
CE1的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 2.2.2.1/24
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 4.4.4.4/32
Switch(config-if)# exit
PE1的接口配置,eth-0-9需要使能ldp并且加入vrf:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip vrf forwarding vpn1
Switch(config-if)# ip address 2.2.2.2/24
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# label-switching
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# enable-ldp
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 5.5.5.5/32
Switch(config-if)# exit
PE2的接口配置,eth-0-9需要使能ldp并且加入vrf:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip vrf forwarding vpn1
Switch(config-if)# ip address 3.3.3.3/24
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# label-switching
Switch(config-if)# ip address 1.1.1.2/24
Switch(config-if)# enable-ldp
Switch(config-if)# exit
Switch(config)# interface loopback 0
Switch(config-if)# ip address 6.6.6.6/32
Switch(config-if)# exit
CE2的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# ip address 3.3.3.4/24
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 7.7.7.7/32
Switch(config-if)# exit
步骤4 使能ldp路由
PE1的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 5.5.5.5
Switch(config-router)# exit
PE2的LDP配置:
Switch(config)# router ldp
Switch(config-router)# router-id 6.6.6.6
Switch(config-router)# exit
步骤5 使能rip路由
CE1的RIP配置:
Switch(config)# router rip
Switch(config-router)# network 2.2.2.2/24
Switch(config-router)# redistribute connected
Switch(config-router)# exit
PE1的RIP配置:
Switch(config)# router rip
Switch(config-router)# address-family ipv4 vrf vpn1
Switch(config-router-af)# network 2.2.2.0/24
Switch(config-router-af)# redistribute bgp
Switch(config-router-af)# exit-address-family
Switch(config-router)# exit
PE2的RIP配置:
Switch(config)# router rip
Switch(config-router)# address-family ipv4 vrf vpn1
Switch(config-router-af)# network 3.3.3.3/24
Switch(config-router-af)# redistribute bgp
Switch(config-router-af)# exit-address-family
Switch(config-router)# exit
CE2的RIP配置:
Switch(config)# router rip
Switch(config-router)# network 3.3.3.0/24
Switch(config-router)# redistribute connected
Switch(config-router)# exit
步骤6 使能ospf路由f
PE1的OSPF配置:
Switch(config)#router ospf
Switch(config-router)# redistribute connected
Switch(config-router)# network 1.1.1.0/24 area 0
Switch(config-router)# exit
PE2的OSPF配置:
Switch(config)# router ospf
Switch(config-router)# redistribute connected
Switch(config-router)# network 1.1.1.0/24 area 0
Switch(config-router)# exit
步骤7 使能bgp路由
PE1的BGP配置:
Switch(config)# router bgp 1
Switch(config-router)# neighbor 6.6.6.6 remote-as 1
Switch(config-router)# neighbor 6.6.6.6 update-source loopback0
Switch(config-router)# address-family ipv4
Switch(config-router-af)# no synchronization
Switch(config-router-af)# neighbor 6.6.6.6 activate
Switch(config-router-af)# exit-address-family
Switch(config-router)# address-family vpnv4 unicast
Switch(config-router-af)# no synchronization
Switch(config-router-af)# neighbor 6.6.6.6 activate
Switch(config-router-af)# neighbor 6.6.6.6 send-community both
Switch(config-router-af)# exit-address-family
Switch(config-router)# address-family ipv4 vrf vpn1
Switch(config-router-af)# redistribute connected
Switch(config-router-af)# redistribute rip
Switch(config-router-af)# no synchronization
Switch(config-router-af)# exit-address-family
Switch(config-router)# exit
PE2的BGP配置:
Switch(config)# router bgp 1
Switch(config-router)# neighbor 5.5.5.5 remote-as 1
Switch(config-router)# neighbor 5.5.5.5 update-source loopback0
Switch(config-router)# address-family ipv4
Switch(config-router-af)# no synchronization
Switch(config-router-af)# neighbor 5.5.5.5 activate
Switch(config-router-af)# exit-address-family
Switch(config-router)# address-family vpnv4 unicast
Switch(config-router-af)# no synchronization
Switch(config-router-af)# neighbor 5.5.5.5 activate
Switch(config-router-af)# neighbor 5.5.5.5 send-community both
Switch(config-router-af)# exit-address-family
Switch(config-router)# address-family ipv4 vrf vpn1
Switch(config-router-af)# redistribute connected
Switch(config-router-af)# redistribute rip
Switch(config-router-af)# no synchronization
Switch(config-router-af)# exit-address-family
Switch(config-router)# exit
步骤8 命令验证
通过在CE1上show ip route和ping CE2 loopback地址来验证L3VPN的可达性。
PE1显示结果:
PE1# show ip route
s: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
Dc - DHCP Client
[*] - [AD/Metric]
* - candidate default
C 2.2.2.0/24 is directly connected, eth-0-9
C 2.2.2.1/32 is in local loopback, eth-0-9
R 3.3.3.0/24 [120/2] via 2.2.2.2, eth-0-9, 00:00:04
C 4.4.4.4/32 is directly connected, loopback0
R 7.7.7.7/32 [120/2] via 2.2.2.2, eth-0-9, 00:00:02
PE1# ping 7.7.7.7
PING 7.7.7.7 (7.7.7.7) 56(84) bytes of data.
64 bytes from 7.7.7.7: icmp_seq=0 ttl=62 time=1828 ms
64 bytes from 7.7.7.7: icmp_seq=1 ttl=62 time=1801 ms
64 bytes from 7.7.7.7: icmp_seq=2 ttl=62 time=1775 ms
64 bytes from 7.7.7.7: icmp_seq=3 ttl=62 time=1775 ms
64 bytes from 7.7.7.7: icmp_seq=4 ttl=62 time=1705 ms
--- 7.7.7.7 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4018ms
rtt min/avg/max/mdev = 1705.600/1777.267/1828.148/40.840 ms, pipe 3
无
SR(Segment Routing,分段路由)采用源路径选择机制,预先在源节点封装好路径所要经过节点分配的SID(Segment Identifier,段标识),当报文经过SR 节点时,该节点根据报文的SID 对报文进行转发。除源节点外,其它节点无需维护路径状态。MPLS SR(Segment Routing with MPLS,MPLS 段路由)是指在MPLS 网络中使用SR、将标签作为SID 对报文进行转发。
要想通过 SR LSP 转发报文,需要完成以下工作:
完成上述步骤后,当源节点接收到用户网络的报文后,会为报文封装所经过路径上的标签信息,并通过SR LSP 将报文转发给尾节点;尾节点从SR LSP 接收到报文后,会剥离报文中的标签,根据原始报文的目的地址查找路由表进行报文转发。
MPLS SR拓扑
下面的例子描述了如何配置静态MPLS SR。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性
Switch1上的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 1.1.1.1/24
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 12.1.1.1/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch2上的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 12.1.1.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 23.1.1.2/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch3上的接口配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 23.1.1.3/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 34.1.1.3/24
Switch(config-if)# label-switching
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 5.5.5.5/32
Switch(config-if)# exit
步骤3 配置静态路由
Switch2上静态路由的配置:
Switch(config)# ip route 5.5.5.5/32 23.1.1.3
Switch3上静态路由和静态arp的配置:
Switch(config)# arp 34.1.1.4 0000.0000.000a
Switch(config)# ip route 10.10.10.10/32 34.1.1.4
步骤4 静态配置Segment
Switch1上adj segment的配置:
Switch(config)# static-sr-mpls adjacency adj1 in-label 20 nexthop 12.1.1.2
Switch2上prefix segment的配置:
Switch(config)# static-sr-mpls prefix prefix1 destination 5.5.5.5/32 in-label 30 nexthop 23.1.1.3 out-label 30
Switch3上prefix segment的配置:
Switch(config)# static-sr-mpls prefix prefix1 destination 5.5.5.5/32 in-label 30
步骤5 配置SR LSP
Switch1上sr lsp的配置:
Switch(config)# static-sr-mpls lsp lsp1 out-label 20 30
步骤6 配置SR隧道,绑定SR LSP,再将路由引入该TUNNEL
Switch1上sr tunnel的配置:
Switch(config)# static-sr-mpls tunnel tun1 non-aps
Switch(config-sr-tunnel)# primary lsp1
Switch(config-sr-tunnel)# map-route 10.10.10.10/32
Switch(config-sr-tunnel)# exit
步骤7 命令验证
显示Switch1上的adj segment表项:
Switch# show mpls sr-adj
sr-adj id inlabel nexthop lsp_list
adj1 0 20 12.1.1.2 lsp1
显示Switch2上的prefix segment表项:
Switch# show mpls sr-prefix
sr-prefix id inlabel outlabel nexthop lsp_list
prefix1 0 30 30 23.1.1.3
显示Switch3上的prefix segment表项:
Switch# show mpls sr-prefix
sr-prefix id inlabel outlabel nexthop lsp_list
prefix1 0 30 1048576 0.0.0.0
显示Switch1上的sr lsp表项:
Switch# show mpls sr-lsp
sr-lsp id tunid instl nexthop tunnel adj prefix outlabel
lsp1 2 2 1 12.1.1.2 tun1 adj1 - 20 30
显示Switch1上的sr tunnel表项:
Switch# show mpls sr-tunnel
sr-tunnel id type wlsp plsp slsp map-route
tun1 3 non lsp1 - - 10.10.10.10/32
显示Switch1上的map-route表项:
Switch# show mpls sr-mapped-routes
Mapped-route SR Tunnel name
10.10.10.10/32 tun1
向Switch1的eth-0-1口发送目的ip地址是10.10.10.10的报文:
在Switch1的eth-0-1口抓收到的报文:
07:45:48.915852 00:00:00:00:00:02 (oui Ethernet) > 22:92:11:2e:47:00 (oui Unknown), ethertype IPv4 (0x0800), length 64: (tos 0x0, ttl 10, id 0, offset 0, flags [none], proto UDP (17), length 50)
1.1.1.3.43690 > 10.10.10.10.43741: [bad udp cksum 0xaadd -> 0x9331!] UDP, length 43682
0x0000: 2292 112e 4700 0000 0000 0002 0800 4500
0x0010: 0032 0000 0000 0a11 9aa4 0101 0103 0a0a
0x0020: 0a0a aaaa aadd aaaa aadd aaaa aadd aaaa
0x0030: aadd aaaa aadd aaaa aadd aaaa aadd aaaa
在Switch1的eth-0-9口抓发出的报文:
07:49:41.883130 22:92:11:2e:47:00 (oui Unknown) > 2c:ad:5e:70:52:00 (oui Unknown), ethertype MPLS unicast (0x8847), length 68: MPLS (label 30, exp 0, [S], ttl 8)
(tos 0x0, ttl 9, id 0, offset 0, flags [none], proto UDP (17), length 50)
1.1.1.3.43690 > 10.10.10.10.43741: [bad udp cksum 0xaadd -> 0x9331!] UDP, length 43682
0x0000: 2cad 5e70 5200 2292 112e 4700 8847 0001
0x0010: e108 4500 0032 0000 0000 0911 9ba4 0101
0x0020: 0103 0a0a 0a0a aaaa aadd aaaa aadd aaaa
0x0030: aadd aaaa aadd aaaa aadd aaaa aadd aaaa
0x0040: aadd aaaa
在Switch2的eth-0-17口抓发出的报文:
07:51:36.664252 2c:ad:5e:70:52:00 (oui Unknown) > 4e:1d:de:29:f9:00 (oui Unknown), ethertype MPLS unicast (0x8847), length 68: MPLS (label 30, exp 0, [S], ttl 7)
(tos 0x0, ttl 9, id 0, offset 0, flags [none], proto UDP (17), length 50)
1.1.1.3.43690 > 10.10.10.10.43741: [bad udp cksum 0xaadd -> 0x9331!] UDP, length 43682
0x0000: 4e1d de29 f900 2cad 5e70 5200 8847 0001
0x0010: e107 4500 0032 0000 0000 0911 9ba4 0101
0x0020: 0103 0a0a 0a0a aaaa aadd aaaa aadd aaaa
0x0030: aadd aaaa aadd aaaa aadd aaaa aadd aaaa
0x0040: aadd aaaa
在Switch3的eth-0-9口抓发出的报文:
07:55:33.886746 4e:1d:de:29:f9:00 (oui Unknown) > 00:00:00:00:00:0a (oui Ethernet), ethertype IPv4 (0x0800), length 64: (tos 0x0, ttl 6, id 0, offset 0, flags [none], proto UDP (17), length 50)
1.1.1.3.43690 > 10.10.10.10.43741: [bad udp cksum 0xaadd -> 0x9331!] UDP, length 43682
0x0000: 0000 0000 000a 4e1d de29 f900 0800 4500
0x0010: 0032 0000 0000 0611 9ea4 0101 0103 0a0a
0x0020: 0a0a aaaa aadd aaaa aadd aaaa aadd aaaa
0x0030: aadd aaaa aadd aaaa aadd aaaa aadd aaaa
MPLS SR拓扑
下面的例子描述了如何配置动态ISIS SR。
步骤1 进入配置模式
Switch# configure terminal
步骤2 进入接口配置模式,配置接口属性,并且在各接口上使能isis
Switch1上的接口配置:
Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 10.1.1.1/24
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 12.1.1.1/24
Switch(config-if)# label-switching
Switch(config-if)# ip router isis
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 1.1.1.1/32
Switch(config-if)# ip router isis
Switch(config-if)# exit
Switch2上的接口配置:
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 12.1.1.2/24
Switch(config-if)# label-switching
Switch(config-if)# ip router isis
Switch(config-if)# exit
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 23.1.1.2/24
Switch(config-if)# label-switching
Switch(config-if)# ip router isis
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 2.2.2.2/32
Switch(config-if)# ip router isis
Switch(config-if)# exit
Switch3上的接口配置:
Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 23.1.1.3/24
Switch(config-if)# label-switching
Switch(config-if)# ip router isis
Switch(config-if)# exit
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown
Switch(config-if)# ip address 34.1.1.3/24
Switch(config-if)# label-switching
Switch(config-if)# ip router isis
Switch(config-if)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 3.3.3.3/32
Switch(config-if)# ip router isis
Switch(config-if)# exit
Switch(config)# arp 34.1.1.4 0000.0000.000a
Switch(config)# ip route 5.5.5.5/32 34.1.1.4
步骤3 使能isis路由协议并使能SR
Switch1上的配置:
Switch(config)# router isis
Switch(config)# metric-style wide
Switch(config)# segment-routing mpls
Switch(config)# segment-routing global-block 16000 16999
Switch(config)# net 49.0000.0000.0001.00
Switch(config)# exit
Switch2上的配置:
Switch(config)# router isis
Switch(config)# metric-style wide
Switch(config)# segment-routing mpls
Switch(config)# segment-routing global-block 17000 17999
Switch(config)# net 49.0000.0000.0002.00
Switch(config)# exit
Switch3上的配置:
Switch(config)# router isis
Switch(config)# metric-style wide
Switch(config)# segment-routing mpls
Switch(config)# segment-routing global-block 18000 18999
Switch(config)# net 49.0000.0000.0003.00
Switch(config)# exit
步骤4 配置各设备的前缀SID
Switch1上的配置:
Switch(config)# interface loopback0
Switch(config-if)# isis prefix-sid index 10
Switch(config-if)# exit
Switch2上的配置:
Switch(config)# interface loopback0
Switch(config-if)# isis prefix-sid index 20
Switch(config-if)# exit
Switch3上的配置:
Switch(config)# interface loopback0
Switch(config-if)# isis prefix-sid index 30
Switch(config-if)# exit
步骤5 配置SR LSP
Switch1上sr lsp的配置:
Switch(config)# static-sr-mpls lsp lsp1 out-label 16030
步骤6 配置SR隧道,绑定SR LSP,再将路由引入该TUNNEL
Switch1上sr tunnel的配置:
Switch(config)# static-sr-mpls tunnel tun1 non-aps
Switch(config-sr-tunnel)# primary lsp1
Switch(config-sr-tunnel)# map-route 5.5.5.5/32
Switch(config-sr-tunnel)# exit
步骤7 命令验证
显示Switch1上的isis路由表项:
Switch# show ip isis route
Codes: C - connected, E - external, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, D - discard, e - external metric
Area (null):
Destination Metric Next-Hop Interface Tag Sid Nflag Eflag Chg
C 1.1.1.1/32 10 -- loopback0 0 10 Y N N
L1 2.2.2.2/32 20 12.1.1.2 eth-0-9 0 20 Y N N
L1 3.3.3.3/32 30 12.1.1.2 eth-0-9 0 30 Y N N
C 12.1.1.0/24 10 -- eth-0-9 0 -- -- -- --
L1 23.1.1.0/24 20 12.1.1.2 eth-0-9 0 -- -- -- --
显示Switch1上的prefix segment表项:
Switch# show mpls sr-prefix
sr-prefix destination inlabel outlabel nexthop lsp_list
- 2.2.2.2/32 16020 17020 12.1.1.2 -
- 3.3.3.3/32 16030 17030 12.1.1.2 lsp1
显示Switch1上的mpls ilm转发表项:
Switch# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, G - IGP-Shortcut, I - ISIS SR
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
I> 0.0.0.0/0 16010/- 0.0.0.0 N/A
I> 0.0.0.0/0 16020/17020 12.1.1.2 eth-0-9
I> 0.0.0.0/0 16030/17030 12.1.1.2 eth-0-9
显示Switch2上的isis路由表项:
Switch# show ip isis route
Codes: C - connected, E - external, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, D - discard, e - external metric
Area (null):
Destination Metric Next-Hop Interface Tag Sid Nflag Eflag Chg
L1 1.1.1.1/32 20 12.1.1.1 eth-0-9 0 10 Y N N
C 2.2.2.2/32 10 -- loopback0 0 20 Y N N
L1 3.3.3.3/32 20 23.1.1.3 eth-0-17 0 30 Y N N
C 12.1.1.0/24 10 -- eth-0-9 0 -- -- -- --
C 23.1.1.0/24 10 -- eth-0-17 0 -- -- -- --
显示Switch2上的prefix segment表项:
Switch# show mpls sr-prefix
sr-prefix destination inlabel outlabel nexthop lsp_list
- 1.1.1.1/32 17010 16010 12.1.1.1 -
- 3.3.3.3/32 17030 18030 23.1.1.3 -
显示Switch2上的mpls ilm转发表项:
Switch# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, G - IGP-Shortcut, I - ISIS SR
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
I> 0.0.0.0/0 17010/16010 12.1.1.1 eth-0-9
I> 0.0.0.0/0 17020/- 0.0.0.0 N/A
I> 0.0.0.0/0 17030/18030 23.1.1.3 eth-0-17
显示Switch3上的isis路由表项:
Switch# show ip isis route
Codes: C - connected, E - external, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, D - discard, e - external metric
Area (null):
Destination Metric Next-Hop Interface Tag Sid Nflag Eflag Chg
L1 1.1.1.1/32 30 23.1.1.2 eth-0-17 0 10 Y N N
L1 2.2.2.2/32 20 23.1.1.2 eth-0-17 0 20 Y N N
C 3.3.3.3/32 10 -- loopback0 0 30 Y N Y
L1 12.1.1.0/24 20 23.1.1.2 eth-0-17 0 -- -- -- --
C 23.1.1.0/24 10 -- eth-0-17 0 -- -- -- --
显示Switch3上的prefix segment表项:
Switch# show mpls sr-prefix
sr-prefix destination inlabel outlabel nexthop lsp_list
- 1.1.1.1/32 18010 17010 23.1.1.2 -
- 2.2.2.2/32 18020 17020 23.1.1.2 -
显示Switch3上的mpls ilm转发表项:
Switch# show mpls ilm-database
Codes: > - selected ILM, * - LSP ILM, p - stale ILM, B - BGP ILM, K - CLI ILM,
L - LDP ILM, R - RSVP-TE ILM, S - SNMP ILM, G - IGP-Shortcut, I - ISIS SR
U - unknown ILM
Code FEC I/O Label Nexthop Out-Intf
I> 0.0.0.0/0 18010/17010 23.1.1.2 eth-0-17
I> 0.0.0.0/0 18020/17020 23.1.1.2 eth-0-17
I> 0.0.0.0/0 18030/- 0.0.0.0 N/A
显示Switch1上的sr lsp表项:
Switch# show mpls sr-lsp
b - segment bind, i - install
sr-lsp id tunid b i nexthop tunnel adj prefix isis-prefix outlabel
lsp1 1 1 1 1 12.1.1.2 tun1 - - 3.3.3.3/32 16030
显示Switch1上的sr tunnel表项:
Switch# show mpls sr-tunnel
wlsp - working lsp, plsp - protection lsp, slsp - select lsp
sr-tunnel id type wlsp plsp slsp map-route
tun1 2 non lsp1 - - 5.5.5.5/32
显示Switch1上的map-route表项:
Switch# show mpls sr-mapped-routes
Mapped-route is_install SR-Tunnel-name
5.5.5.5/32 yes tun1
向Switch1的eth-0-1口发送目的ip地址是5.5.5.5的报文:
在Switch1的eth-0-1口抓收到的报文:
07:09:42.985391 00:00:00:00:00:02 (oui Ethernet) > 22:92:11:2e:47:00 (oui Unknown), ethertype IPv4 (0x0800), length 64: (tos 0x0, ttl 10, id 0, offset 0, flags [none], proto UDP (17), length 50)
1.1.1.3.43690 > 5.5.5.5.43741: [bad udp cksum 0xaadd -> 0x9d3b!] UDP, length 43682
0x0000: 2292 112e 4700 0000 0000 0002 0800 4500
0x0010: 0032 0000 0000 0a11 a4ae 0101 0103 0505
0x0020: 0505 aaaa aadd aaaa aadd aaaa aadd aaaa
0x0030: aadd aaaa aadd aaaa aadd aaaa aadd aaaa
在Switch1的eth-0-9口抓发出的报文:
07:10:39.037569 22:92:11:2e:47:00 (oui Unknown) > 2c:ad:5e:70:52:00 (oui Unknown), ethertype MPLS unicast (0x8847), length 68: MPLS (label 17030, exp 0, [S], ttl 9)
(tos 0x0, ttl 9, id 0, offset 0, flags [none], proto UDP (17), length 50)
1.1.1.3.43690 > 5.5.5.5.43741: [bad udp cksum 0xaadd -> 0x9d3b!] UDP, length 43682
0x0000: 2cad 5e70 5200 2292 112e 4700 8847 0428
0x0010: 6109 4500 0032 0000 0000 0911 a5ae 0101
0x0020: 0103 0505 0505 aaaa aadd aaaa aadd aaaa
0x0030: aadd aaaa aadd aaaa aadd aaaa aadd aaaa
0x0040: aadd aaaa
在Switch2的eth-0-17口抓发出的报文:
07:11:31.922016 2c:ad:5e:70:52:00 (oui Unknown) > 4e:1d:de:29:f9:00 (oui Unknown), ethertype MPLS unicast (0x8847), length 68: MPLS (label 18030, exp 0, [S], ttl 8)
(tos 0x0, ttl 9, id 0, offset 0, flags [none], proto UDP (17), length 50)
1.1.1.3.43690 > 5.5.5.5.43741: [bad udp cksum 0xaadd -> 0x9d3b!] UDP, length 43682
0x0000: 4e1d de29 f900 2cad 5e70 5200 8847 0466
0x0010: e108 4500 0032 0000 0000 0911 a5ae 0101
0x0020: 0103 0505 0505 aaaa aadd aaaa aadd aaaa
0x0030: aadd aaaa aadd aaaa aadd aaaa aadd aaaa
0x0040: aadd aaaa
在Switch3的eth-0-9口抓发出的报文:
07:23:09.891084 4e:1d:de:29:f9:00 (oui Unknown) > 00:00:00:00:00:0a (oui Ethernet), ethertype IPv4 (0x0800), length 64: (tos 0x0, ttl 7, id 0, offset 0, flags [none], proto UDP (17), length 50)
1.1.1.3.43690 > 5.5.5.5.43741: [bad udp cksum 0xaadd -> 0x9d3b!] UDP, length 43682
0x0000: 0000 0000 000a 4e1d de29 f900 0800 4500
0x0010: 0032 0000 0000 0711 a7ae 0101 0103 0505
0x0020: 0505 aaaa aadd aaaa aadd aaaa aadd aaaa
0x0030: aadd aaaa aadd aaaa aadd aaaa aadd aaaa