网络基础
一、图标介绍
二、网络作用
- 数据传输
- 软硬件资源共享
- 提升服务可靠性
三、常见术语
术语 | 说明 |
---|---|
数据载荷 | 最终想要传递的信息 |
报文 | 网络中交换与传输的数据单元(数据经过封装,打上头部和尾部) |
头部 | 在数据载荷的前面添加的信息段 |
尾部 | 在数据载荷的后面添加的信息段 |
封装 | 对数据载荷添加头部和尾部,形成新的报文的过程 |
解封装 | 去掉报文的头部和尾部,获取数据载荷的过程 |
网关 | 提供协议转换、路由选择、数据交换等功能的网络设备 |
路由器 | 为报文选择传递路径的网络设备 |
终端设备 | 数据通信系统的端设备,作为数据的发送者或接收者 |
AP:无线访问接入点
四、设备介绍
1、交换机
-
距离终端用户最近的设备,用于终端用户接入网络、对数据帧进行交换等。
2、路由器
- 网络层设备,可以在因特网中进行数据报文转发。路由器根据所收到的报文的目的地址选择一条合适的路径,将报文传送到下一个路由器或目的地,路径中最后的路由器负责将报文送交目的主机
- 实现同类型网络或异构网络之间的通信
- 隔离广播域
- 维护路由表、运行路由协议
- 路径选择、IP报文转发
- 广域网接入、网络地址转换
- 连接通过交换机组建的二层网络
3、防火墙
- 网络安全设备,用于控制两个网络之间的安全通信。
- 隔离不同安全级别的网络
- 实现不同安全级别的网卡之间的访问控制(安全策略)
- 用户身份认证
- 实现远程接入功能
- 实现数据加密及虚拟专用网业务
- 执行网络地址转换
- 其他安全功能
4、无线设备
执行标准:802.11ax(WiFi6)
- 胖AP
- 可以直接管理
- 家用
- 瘦AP
- 学校
- 企业
- 通过无线控制器(AC)来控制
- 只有一根网线,没有电源
五、分类
1、地理覆盖范围划分
- 局域网LAN
- 城域网MAN
- 广域网WAN
2、网络的拓扑形态划分
现在大多数使用的是组合型的网络拓扑
网络参考模型
一、常见的协议标准化组织
- IETF
- IEEE
- ISO
二、OSI模型
名称 | 作业 |
---|---|
应用层 | 对应用程序提供接口 |
表示层 | 对数据格式的转换,以确保一个系统生成的应用层数据能够被另外一个系统的应用层所识别和理解 |
会话层 | 在通信双方之间建立、管理和终止会话 |
传输层 | 建立、维护和取消一次端到端的数据传输过程。控制传输节奏的块慢,调整数据的排序等等 |
网络层 | 定义逻辑地址;实现数据从源到目的地的转发 |
数据链路层 | 将分组数据封装成帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信;差错检测 |
物理层 | 在媒介上传输比特流;提供机械的和电器的规约 |
三、TCP/IP模型
层次 | PDU |
---|---|
应用层 | Date数据 |
传输层 | Segment数据段 |
网络层 | Packet包 |
数据链路层 | Grame帧 |
物理层 | Bitstream比特流 |
协议标准
-
应用层(Date数据)
- Telnet
- FTP
- TFTP
- SNMP
- HTTP
- SMTP
- DNS(可以工作在TCP和UDP)
- 用户做DNS解析使用UDP
- DNS服务器之间进行域名同步的时候使用TCP
- DHCP
-
传输层(Segment数据段)
- TCP传输控制协议:传输更加稳定可靠
- UDP用户数据报:传输效率比较高
-
网络层
- ICMP:网际控制报文协议;
- IGMP:网际组管理协议
- ARP:地址解析协议----IP地址转换为MAC地址;
- PARP:逆地址解析协议;
- IP
-
数据链路层
- PPPoE
- Ethernet
- PPP
1、应用层
一、概念
- PDU(协议数据单元):Data(数据)
- 为应用软件提供接口,使应用程序能够使用网络服务。应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等
二、协议
- HTTP 80(TCP)
- 超文本传输协议,提供浏览网页服务
- Telnet 23(TCP)
- 远程登录协议,提供远程管理服务
- 采用明文不安全
- FTP 20 21(TCP)
- 20号端口一般用于传输数据,21号端口用于传输控制信息
- SMTP 25 (TCP)
- 简单邮件传输协议,提供互联网电子邮件服务
- TFTP 69(UDP)
- 简单文件传输协议,提供简单的文件传输服务
- 没有交互性
2、传输层
一、概念
- PDU:Segment(段)
- 接收来自应用层协议的数据,封装上相应的传输层头部
二、协议
- TCP:可靠的、面向连接的通信协议
- UDP:简单的无连接的协议
3、网络层
一、概念
-
PDU:Packet(包)
-
网络层也叫Internet层,负责将分组报文从源主机发送到目的主机(主机到主机间的通信)
二、网络层作用
- 为网络中的设备提供逻辑地址
- 负责数据包的寻址和转发
- 常见的协议如IPv4、IPv6、ICMP、IGMP等
4、数据链路层
一、概念
-
PUD:Grame(帧)
-
可以向网络层的IP、IPv6等协议提供服务
二、作用
- 数据链路层向网络层提供段内通信
- 负责组帧、物理编址、差错控制等功能
- 常见的数据链路层协议有:以太网(局域网)、PPPoE、PPP(广域网)等
三、以太网与MAC地址
1、以太网
- 以太网是一种广播式数据链路层协议,支持多点接入
- 个人电脑的网络接口遵循的就是以太网标准
- 一般情况下,一个广播域对应着一个IP网段
2、以太网MAC地址
- MAC地址在网络中唯一标识一个网卡,每个网卡都需要切会有唯一的一个MAC地址
- 二层交换机不能识别IP数据
- 用来表示一个局域网上的某个单独的设备或一组设备 IP地址的概念:用于标识网络中的某一台主机
- 两个设备想要在以太网中进行通信,那么就必须用MAC地址进行交互
- 局域网之内一般使用交换机,最接近设备的一般为二层交换机,而二层交换机看不到三层(IP)字段
- 两个设备需要在网络中进行通信,就必须配置相应的IP地址
- 两个设备想要在以太网中进行通信,那么就必须用MAC地址进行交互
- MAC地址有48位的二进制组成,通常表示位12位的十六进制
- 前面24位表示厂商的编码,后面24位是序列号,从而实现全球唯一
- 单播设备:当第八位为0时表示单独设备,也称单播地址
- 组播设备:当第八位为1时表示一组设备,也称组播地址
- 广播地址:FF-FF-FF-FF-FF-FF
- 默认填充的地址,当不知道对方MAC地址时会自动填充一个目的MAC地址:00-00-00-00-00-00
5、物理层
一、概念
-
PDU:Bitstream(比特流)
-
数据到达物理层后、物理层会根据物理介质的不同,将数字信号转换成光信号(光纤)、电信号(双绞线)或电磁波信号(无线)
二、作用
- 负责比特流在介质上的传输
- 规范物理特性
四、TCP
1、TCP的建立-三次握手
Seq:序号,随机数
Ack:确认号
①:确认所接收到的数据,a+1表示我已收到了a+1以前的全部数据
②:希望接受的下一个数据的Seq编号
-
标志位字段
- CWR(Congestion Window Reduce):拥塞窗口减少标志,用来表明它接收到了设置 ECE 标志的 TCP 包。并且,发送方收到消息之后,通过减小发送窗口的大小来降低发送速率。
- ECE(ECN Echo):用来在 TCP 三次握手时表明一个 TCP 端是具备 ECN 功能的。在数据传输过程中,它也用来表明接收到的 TCP 包的 IP 头部的 ECN 被设置为 11,即网络线路拥堵。
- URG(Urgent):表示本报文段中发送的数据是否包含紧急数据。URG=1 时表示有紧急数据。当 URG=1 时,后面的紧急指针字段才有效。
- ACK:表示前面的确认号字段是否有效。ACK=1 时表示有效。只有当 ACK=1 时,前面的确认号字段才有效。TCP 规定,连接建立后,ACK 必须为 1。
- PSH(Push):告诉对方收到该报文段后是否立即把数据推送给上层。如果值为 1,表示应当立即把数据提交给上层,而不是缓存起来。
- RST:表示是否重置连接。如果 RST=1,说明 TCP 连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。
- SYN:在建立连接时使用,用来同步序号。当 SYN=1,ACK=0 时,表示这是一个请求建立连接的报文段;当 SYN=1,ACK=1 时,表示对方同意建立连接。SYN=1 时,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中 SYN 才为 1。
- FIN:标记数据是否发送完毕。如果 FIN=1,表示数据已经发送完成,可以释放连接。
2、TCP的序列号与确认号
- TCP使用序列号和确认序列号字段实现数据的可靠和有序传输
Ack为对方的序列号+数据的长度
单纯的确认报文不需要进行确认,所以不会分配单独的唯一编号
3、TCP的窗口滑动机制
- TCP通过滑动窗口机制来控制数据的传输速率
win:它表示从 Ack Number 开始还可以接收多少字节的数据量,也表示当前接收端的接收窗口还有多少剩余空间,每次发送都会携带
五、封装
六、解封装
七、数据传输
华为VRP系统
一、用户级别
-
VRP提供基本的权限控制,可以实现不同级别的用户能够执行不同级别的命令,用以限制不同用户对设备的操作
用户等级 命令等级 名称 说明 0 0 参观级 可使用网络诊断工具命令(ping、tracert)、Telnet客户端命)、部分display命令 1 0 and 1 监控级 用于系统维护,可使用display命令 2 0,1and2 配置级 可使用业务配置命令 3-15 0,1,2and3 管理级 类似于管理员,但是级别高的可以把某一命令提高到比自己级别低的等级
二、基本命令行
1、基本命令结构
2、命令行视图
- 用户视图
- 登录系统后的第一个视图
- 唯一可进入的是系统 视图
system-view
进入系统视图
- 系统视图
- 提供全局配置命令
int g0/0/0
进入0/0/0接口
- 其他视图
3、使用undo命令行
-
使用undo命令行恢复缺省情况
sysname Server undo sysname
-
使用undo命令禁用某个功能
ftp server neable undo ftp server
-
使用undo命令删除某项配置
ip addr 192.168.1.1 24 undo ip address
4、命令快捷键
ctrl+A
:将光标移动到行开头ctrl+C
:停止当前命令的运行ctrl+E
:将光标移动到当前行的末尾ctrl+Z
:返回到用户视图ctrl+]
:终止当前连接或切换连接
5、常见文件系统操作命令
命令 | 功能 |
---|---|
pwd | 查看当前目录 |
dir | 查看当前目录下的文件信息 |
more | 查看文本文件的具体内容 |
cd | 修改用户当前界面的工作目录 |
mkdir | 创建新的目录 |
rmdir | 删除目录 |
copy | 复制文件 |
move | 移动文件 |
rename | 重命名文件 |
delete | 删除文件 |
undelete | 恢复删除的文件 |
reset recycle-bin | 彻底删除回收站中的文件 |
6、基本配置命令
-
配置设备名称
<Huawei>system-view //进入系统视图命令 Enter system view, return user view with Ctrl+Z. [Huawei]sysname YYB //YYB为设备名称 [RTA]
-
设置系统时钟
<Huawei>clock timezone BJ add 08:00:00 //设置所在时区-这里表示北京东八区 <Huawei>clock datetime 10:20:29 2020-9-27 //设置当前时间和日期 <Huawei>display clock //查看当前时钟 2020-09-27 10:20:45 Sunday Time Zone(BJ) : UTC+08:00
-
查看当前运行的配置文件
<Huawei>display current-configuration
-
配置文件保存
<Huawei>save name
-
查看保存的配置
<Huawei>display saved-configuration
-
清除已保存的配置
<Huawei>reset saved-configuration
-
查看系统启动配置参数
- 用来查看设备本次及下次启动相关的系统软件、备份系统软件、配置文件、License文件、补丁文件以及语言文件
<Huawei>display startup
-
配置系统下次启动时使用的配置文件
<Huawei>startup saved-condifuration name
三、实验----配置Telnet
实验一
实验要求:R1开启Telnet,R2通过Telnet连接R1
-
设备管理的两种方式
- Console管理
dis user-interface
显示接口的运行状态和相关信息- Console管理用户默认等级为15
- Telnet远程管理
- Console管理
1、配置R1
<R1>system-view
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip addr 10.1.12.1 24
[R1]user-interface vty 0 4
[R1-ui-vty0-4]authentication-mode password //配置本地认证密码
[R1-ui-vty0-4]user privilege level 3 //设置用户登录默认等级
[R1-ui-vty0-4]dis this //查看当前视图的配置
[V200R003C00]
#
user-interface con 0
authentication-mode password
user-interface vty 0 4
authentication-mode password
user privilege level 3
set authentication password cipher %$%$8ar&D-e$OM1<*6(DI0{1,$i~Z{V$HuiftQw[e}TE
/3R'$iB,%$%$
user-interface vty 16 20
#
return
2、配置R2
<R2>system-view
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip addr 10.1.12.2 24
[R2]q //退出到用户视图
<R2>telnet 10.1.12.1 //连接R1
<R1> //登录成功
3、配置命令级别
-
R1
[R1]command-privilege level 5 view system ip route-static //设置ip route-static的等级为5
The command level is modified successfully
//配置完成后立马生效,因为默认登录等级为3级,命令等级为5级,所以R2通过远程登录将无法使用此命令
-
取消配置
[R1]undo command-privilege view system ip route
4、显示接口的运行状态和相关信息
[R1]dis user-interface
Idx Type Tx/Rx Modem Privi ActualPrivi Auth Int
+ 0 CON 0 9600 - 15 15 P -
+ 129 VTY 0 - 3 3 P -
130 VTY 1 - 3 - P -
131 VTY 2 - 3 - P -
网络层协议及IP编址
一、IPv4基础概念
1、IPv4协议簇
传输层 | TCP、UDP |
---|---|
网络层 | ICMP IP RARP、ARP |
数据链路层 | 各种网络接口 |
ARP和RARP的功能是地址解析,介于数据链路层和网络层之间。ICMP协议的功能是为了更有效地转发IP数据报文和提高IP数据报文交付成功的机会,是介于网络层和传输层之间的协议。
①:ARP协议:ARP是用来将IP地址解析为MAC地址的协议,可以分为动态和静态两种类型。
②:RARP协议:RARP和ARP正好相反,是将MAC地址解析为IP地址的协议。
③:ICMP协议:为了更有效地转发IP数据报文和提高数据报文交付成功的机会,在网络层使用ICMP协议。ICMP允许主机或设备报告差错情况和提供有关异常情况的报告。ICMP报文作为IP报文的数据部分,再封装上IP报文首部,组成完整的IP报文发送出去。
二、IPv4报文格式
- 版本(version):标识当前使用的IP版本(IPv4,IPv6)
- 首部长度(IHL):由于IP数据报文的首部有一个可选项,所以首部的长度是可变的,所以需要定义
- 区分服务(服务质量/优先级和服务类型)(tos):为了保障更好的服务,主要是在IP层做Qos
- 总长度(totlen):主要用来标识整个数据包的长度
- 标识(identification)、标志(flag)、片位移(offsetfrag):上层来的数据到IP层会被分片,这几个字段用来对数据包进行标识,使数据到达目的端重组的时候不会乱序
- 生存时间(TTL值):数据包在路由器转发消耗的时间,如果小于1秒,TTL就会减1
- 协议(Protocol):标识上层数据是使用的何种协议(TCP6和UDP17、ICMP1)
- 首部检验(Header Checksum):检验数据报文的首部
- 源地址(Source Address):发送方的IP地址
- 目的地址(Destination Address):接受方的IP地址
1、生存时间(TTL)
- TTL字段设置了数据包可以经过的路由器数目
- 一旦经过一个路由器,TTL的值就会减1,当该字段值为0时,数据包将被丢弃
2、协议号(Protocol)
- IP报文头中的协议号字段标识了将会继续处理改报文的协议
- 即指出此数据包携带的数据使用何种协议
- 端口号表示应用的类型
三、实验----数据包分片
- 将报文分割成多个片段的过程叫做分片
- 网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路层所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输
- 根据**Identification(标识符)**能够把属于一个数据包的不同的分片标识出来
- Flags
- DF:不支持分片
- MF:不是最后一个分片
- Fragment Offset:分片的偏移位
- 第二个分片的偏移位为前面分片的总长度
- 偏移位为0代表第一个分片
实验二
-
配置IP
- R4
[R4]interface g0/0/0 [R4-GigabitEthernet0/0/0]ip addr 192.168.1.1 24 [R4-GigabitEthernet0/0/0]mtu 1400 //将接口的MTU值修改为1400,MTU表示接口的最大传输单元,默认为1500bite
- R5
[R5]interface g0/0/0 [R5-GigabitEthernet0/0/0]ip addr 192.168.1.2 24
-
在R4上pingR5
[R4]ping -s 5000 192.168.1.2 //-s指定ICMP数据大小 PING 192.168.1.2: 5000 data bytes, press CTRL_C to break Reply from 192.168.1.2: bytes=5000 Sequence=1 ttl=255 time=50 ms Reply from 192.168.1.2: bytes=5000 Sequence=2 ttl=255 time=60 ms Reply from 192.168.1.2: bytes=5000 Sequence=3 ttl=255 time=50 ms Reply from 192.168.1.2: bytes=5000 Sequence=4 ttl=255 time=60 ms Reply from 192.168.1.2: bytes=5000 Sequence=5 ttl=255 time=50 ms --- 192.168.1.2 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 50/54/60 ms
-
分析IP分片
1、表示IP的头部长度
2、表示IP报文的总长度,减去头部长度可以算出数据载荷长度
3、为1表示不允许分片,0表示可以分片
4、1表示不是最后一个分片
5、表示当前分片为第一个分片,偏移位为0(第二个分片的偏移位为第一个分片的长度)
6、数据的载荷长度
四、IPv4地址分类
1、特殊的IP地址
特殊的IP地址 | 地址范围 | 作用 |
---|---|---|
有限广播地址 | 255.255.255.255 | 可作为目的地址,发往该网段所有的主机(受限于网关) |
五、私网IP地址
-
公网IP:IP地址是由IANA统一分配的,以保证任何一个IP地址在Internet上的唯一性。这里的IP地址是指公网IP地址。
-
私网IP
- 实际上一些网络不需要连接到Internet,比如一个大学的封闭实验室内的网络,只要同一网络中的网络设备的IP地址不冲突即可。在IP地址空间里,A、B、C三类地址中各预留了一些地址专门用于上述情况,称为私网IP地址。
- 不需要申请
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
六、子网划分
1、为什么要进行子网划分
- 减少网络流量
- 优化网络性能
- 简化管理
- 有助于覆盖大型地理区域
2、每个子网可包含多少台主机?
2^y-2台,其中y是没被借用的主机位的位数。-2是因为,主机位全为0的部分是这个子网的网段号(Net_id),全为1的部分是这个网段的广播地址
3、子网划分的方法
通过VLSM实现子网划分的基本思想很简单:就是借用现有网段的主机位的最左边某几位作为子网位,划分出多个子网。
①、把原来有类网络IPv4地址中的“网络ID”部分向“主机ID”部分借位
②、把一部分原来属于“主机ID”部分的位变成“网络ID”的一部分(通常称之为“子网ID”)。
③、原来的“网络ID”+“子网ID”=新“网络ID”。“子网ID”的长度决定了可以划分子网的数量。
地址解析协议(ARP)
一、ARP协议
1、基础信息
- 根据已知的IP地址解析获得其对应的MAC地址
- 基于对方的源进行学习
2、免费ARP
-
功能
- 检测IP地址冲突
- 主机PC1,在获取到IP地址之后,会向网络中发起ARP Request或Reply(广播形式),请问PC1在吗?如果有人回应,则说明网络中有人跟自己的IP地址冲突了;如果没人回应,则可以使用
二、ARP的工作原理
1、Host1 ARP缓存
- 在发送数据前,设备会先查找ARP缓存表
- 如果缓存表中存在对方的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去。
- 如果缓存表中不存在相应的信息,则通过ARP来获取
2、ARP请求
- 主机1用通过发送ARP Request报文来获取主机2的MAC地址
- ARP Request报文封装在以太帧里。帧头中的源MAC地址为发送端主机1的MAC地址。此时,由于主机1不知道主机2的MAC地址,所以目的MAC地址为广播地址FF-FF-FF-FF-FF-FF。
- ARP Request报文中包含发送端MAC地址、发送端IP地址、目的端MAC地址、目的端IP地址,其中目的端MAC地址的值为0。ARP Request报文会在整个网络上传播,该网络中所有主机包括网关都会接收到此ARP Request报文。
- 由于不知道目的MAC地址,因此ARP Request报文内的目的端MAC地址为0
- ARP Request是广播数据帧,因此交换机收到后,会对该帧执行泛洪操作(广播)
3、Host 2 ARP缓存
- 先学习,将主机1的MAC地址记录到本地
- 所有的主机接收到该ARP Request报文后,都会检查它的目的端IP地址字段与自身的IP地址是否匹配。
- 如果匹配,则通过ARP Reply报文进行响应。
- 如果不匹配,则该主机将不会响应该ARP Request报文
4、ARP响应
- 主机2通过发送ARP Reply报文响应主机1的请求
- 此时主机2已知主机1的MAC地址,因此ARP Reply是单播数据帧
5、Host 1 ARP缓存
- 主机1收到ARP Reply以后,将主机2的MAC地址记录到自己ARP缓存表里
三、工作流程(蜗牛)
1、两个阶段
- ARP请求
- ARP响应
2、ARP协议报文(分组)格式
3、ARP缓存
- 主要的目的是为了避免重复去发送ARP请求
可以使用arp -a 来查看当前电脑里的arp缓存
arp -d 可以清空
arp -s 绑定arp
四、实验----ARP协议分析
1、实验目的
在R1与R2之间进行ping测,观察ARP解析过程,以及免费ARP的报文结构
2、具体配置
-
R1
[R1-GigabitEthernet0/0/0]ip addr 10.1.12.1 24
-
R2
[R2-GigabitEthernet0/0/0]ip addr 10.1.12.2 24
-
开机抓包
-
R1
ping -c 1 10.1.12.2
-
ARP请求
-
ARP响应
ICMP协议
一、ICMP协议
-
internet控制报文协议,用于在IP主机、路由器之间传递控制消息
控制信息指网络通不通、主机是否可达、路由是否可用等等
-
ICMP是属于网络层的协议,封装在传输层与网络层之间
二、ICMP报文格式
类型(type)
代码(code)
- 类型
- (8 0) 请求(Echo Request)
- (0 0) 回显应答(Echo Reply比较正常的应答)
- (3 1) 目标不可达(因为code是1,所以为主机不可达)
- (11 0) 超时(传输期间生存时间为0)
- (3 3) 目标不可达(因为code是3,所以为端口不可达)
- (3 2) 目标不可达(因为code是2,所以为协议不可达)
- 类型13、14 时间戳请求和应答
- (5 0) 重定向(网络重定向)
- (5 1) 主机重定向
- 总计类型0~18
三、ICMP常见的报文
- 响应请求
- 使用ping请求(type=8) 响应(type=0)
- 目标不可达
- type=3
- 源抑制
- 源抑制则充当一个控制流量的角色,它通知主机减少数据报流量,由于ICMP没有恢复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率 type=4
- 超时报文
- 类型11 code 0 传输超时 ,code 1 重组分段超时
- 时间戳
- type=13 时间戳请求
- type=14 时间戳应答
四、ICMP重定向
1、概念
- ICMP重定向报文是ICMP控制报文中的一种。在特定情况下,当路由器检测到一台机器使用非最优路由的时候,他会向主机发送一个ICMP重定向报文,请求主机改变路由
2、ICMP重定向过程
- 主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文。
- 网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,此转发路径是更优的路径,所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文。
- 主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A。
五、ICMP错误报告
功能:Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。 Tracert是检测网络丢包和时延的有效手段,同时可以帮助管理员发现网络中的路由环路。
帮助定位错误出现在哪里
-
ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。
-
如果网络中发生了环路,导致报文在网络中循环,且最终TTL超时,这种情况下网络设备会发送TTL超时消息给发送端设备。
-
如果目的地不可达,则中间的网络设备会发送目的不可达消息给发送端设备。目的不可达的情况有多种,如果是网络设备无法找到目的网络,则发送目的网络不可达消息;如果网络设备无法找到目的网络中的目的主机,则发送目的主机不可达消息。
-
ICMP的另一个典型应用是Tracert。Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。为了跟踪到达某特定目的地址的路径,源端首先将报文的TTL值设置为1。该报文到达第一个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。然后源端将报文的TTL值设置为2,报文到达第二个节点后超时,该节点同样返回TTL超时消息,以此类推,直到报文到达目的地。这样,源端根据返回的报文中的信息可以跟踪到报文经过的每一个节点,并根据时间戳信息计算往返时间。
六、实验----ICPM协议
1、实验目的
在PC1上Tracert PC2,观察路径探测的过程,了解Tracert技术的实现原理
2、具体配置
-
R5
[R5]interface g0/0/0
[R5-GigabitEthernet0/0/0]ip addr 10.1.10.254 24
[R5-GigabitEthernet0/0/0]q
[R5]int g0/0/1
[R5-GigabitEthernet0/0/1]ip addr 10.1.12.1 24
-
R6
[R6]int g0/0/0
[R6-GigabitEthernet0/0/0]ip addr 10.1.12.2 24
[R6-GigabitEthernet0/0/0]q
[R6]int g0/0/1
[R6-GigabitEthernet0/0/1]ip addr 10.1.23.2 24
-
R7
[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ip addr 10.1.23.3 24
[R7-GigabitEthernet0/0/0]q
[R7]int g0/0/1
[R7-GigabitEthernet0/0/1]ip addr 10.1.20.254 24
-
配置完成
[R5]dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.1.10.254/24 up up
GigabitEthernet0/0/1 10.1.12.1/24 up up
[R6]dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.1.12.2/24 up up
GigabitEthernet0/0/1 10.1.23.2/24 up up
[R7]dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.1.23.3/24 up up
GigabitEthernet0/0/1 10.1.20.254/24 up up
-
配置静态路由
-
R5
[R5]ip route-static 10.1.20.0 24 10.1.12.2
-
R6
[R6]ip route-static 10.1.10.0 24 10.1.12.1 [R6]ip route-static 10.1.20.0 24 10.1.23.3
-
R7
[R7]ip route-static 10.1.10.0 24 10.1.23.2
-
-
在PC1上Tracert PC2
以太网交换基础
一、以太网协议
- 以太网是当今现有局域网采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法
- 以太网是建立在CSMA/CD(载波监听多路访问/冲突检测)机制上的广播型网络
1、早期以太网
- 由HUB连接,所以的接口处于同一冲突域
- 建立在CSMA/CD机制上的广播型网络。冲突的产生是限制以太网性能的重要因素,早期的以太网设备如集线器HUB是物理层设备,不能隔绝冲突扩散,限制了网络性能的提高。
- 同一介质上的多个节点共享链路带宽,争用链路的使用权,这样就会发生冲突
- 同一介质上的节点越多,冲突发生的概率越大
- 解决方法:以太网络使用CSMA/CD技术,避免冲突问题
2、交换机组网
- 交换机做为一种能隔绝冲突的二层网络设备,极大的提高了以太网的性能,并替代HUB成为主流的以太网设备。但是交换机对网络中的广播数据流量不做任何限制,这也影响了网络的性能。
- 交换机不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互连的主机
(或网络)之间不必再担心流量大小对于数据发送冲突的影响。 - 隔离冲突域
- 每个接口相当于1个独立的冲突域
3、冲突域
- 冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一宽带,一个节点发出的报文(无论是单播、组播、广播),其余节点都可收到
4、CSMA/CD的基本工作过程
先听后发,边发边听,冲突停发,随机延迟后重发
- 终端设备不停的检测共享线路的状态。
- 如果线路空闲则发送数据。
- 如果线路不空闲则一直等待。
- 如果有另外一个设备同时发送数据,两个设备发送的数据必然产生冲突,导致线路上的信号不稳定。
- 终端设备检测到这种不稳定之后,马上停止发送自己的数据。
- 终端设备发送一连串干扰脉冲,然后等待一段时间之后再进行发送数据。发送干扰脉冲的目的是为了通知其他设备,特别是跟自己在同一个时刻发送数据的设备,线路上已经产生了冲突。
5、广播域
广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。
- 早期以太网
- 在传统的以太网中,同一介质上的多个节点共享链路,一台设备发出的广播报文,所有设备均会收到。
- 交换机组网
- 交换机对广播报文会向所有的接口都转发,所以交换机的所有接口连接的节点属于一个广播域。
二、以太网帧
1、概念
- 以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。
- 以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。
- Ethernet_II传输效率高
- 通常使用Ethernet_II
2、Ethernet Ⅱ以太帧
- 帧头(14字节)
- DMAC:6字节,目的MAC地址,IPV4为6字节,该字段标识帧的接收者。、
- SMAC:6字节,源MAC地址,IPV4为6字节,该字段标识帧的发送者。
- Type:2字节,协议类型。
- 帧尾FCS(4字节)
三、以太网交换机
1、交换机工作原理
-
早期的共享式以太网,它是由集线器(HUB)相连
- 一个冲突域/广播域的网络
-
源:主机A;目的:主机B
- 当交换机收到发来的数据帧后查看帧头部,首先查看源MAC地址有没有记录在自己的MAC表中
- 如果有,那么记录主机A------接口1,直接通过该表项中的出接口转发该报文;
- 如果没有,就直接从除接受接口外的所有连接的接口转发,这种方式称为广播,主机B和主机C都收到,主机C丢弃,主机B回应,直接单播(一对一)转发
- 当交换机收到发来的数据帧后查看帧头部,首先查看源MAC地址有没有记录在自己的MAC表中
-
工作模式
- 单工:数据报只能单向传输
- 半双工:数据报可以双向传输,但不能同时进行
- 全双工:数据报可以双向并且同时进行
-
接口速率
- 10
- 100
- 1000
2、MAC地址表
- 每台交换机都有一个MAC地址表,存放了MAC地址与交换机端口号之间的映射关系
MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系。交换机在转发数据帧时,根据数据帧的目的MAC地址查询MAC地址表。
如果MAC地址表中包含与该帧目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;
如果MAC地址表中没有包含该帧目的MAC地址对应的表项时,交换机将采取泛洪方式在除接收接口外的所有接口发送该报文。
- 基于源MAC地址进行学习,生成MAC表
- 基于目的MAC地址进行查表,转发
- 存放在内存中,重启后会消失
3、交换机的三种数据帧处理行为
- 泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
- 转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口” 不能是这个帧进入交换机的那个端口)。
- 丢弃:交换机把从某一端口进来的帧直接丢弃。
4、泛洪
- 如果从传输介质进入交换机的某个端口的帧是一个单播帧,交换机会去MAC表查这个帧的目的MAC地址。如果查不到这个MAC地址,则交换机将对该单播帧执行泛洪操作。
- 如果从传输介质进入交换机的某个端口的帧是一个广播帧,交换机不会去查MAC地址表,而是直接对该广播帧执行泛洪操作。
IP路由基础
一、路由概念
1、路由基本概念
- 路由器属于三层(网络层)设备
- 网络层功能
- 进行IP地址寻址,实现不同网络(网络地址不等或者说内网和外网分割**内网的IP地址是无法在外网上进行路由的 **)之间的路径选择
- 查找目的是否可以到达,如果可以到达选择一条最优的路径;
- 网络层所传输的PDU(传输数据单元)是数据包,我们称之为IP数据包
- 网络层封装的是IP头部
- 路由是指导报文转发的路径信息,通过路由可以确认咋转发IP报文的路径
- 路由设备维护着一张路由表,保存着路由信息,路由条目包含明确的出接口以及下一跳,这两项信息指导IP报文转发到相应的下一跳设备上。
2、路由信息表
-
查看命令
dis ip routing-table
-
格式
Destination/Mask Proto Pre Cost Flags NextHop Interface 目的网络地址/掩码长度 协议类型 优先级 度量值 标志 下一跳 出接口 目的网络:标识目的网段 掩码:与目的地址共同标识一个网段 协议类型:该路由的协议类型,也即路由器是通过什么协议获知该路由的 优先级:优先级最高(数值最小)者将成为当前的最优路由。 度量值:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由 出接口:数据包被路由后离开本路由器的接口 下一跳:路由器转发到达目的网段的数据包所使用的下一条地址
-
路由表的特点
- 路由器通过各种方式发现路由
- 路由器选择最优的路由条目放入路由表中
- 路由表指导设备对IP报文的转发
- 路由器通过对路由表的管理实现对路径信息的管理
- 路由表由路由条目组成,但不代表路由表中保存了所有路由,路由表中只会保存“最优的” 路由。
- 对路由表中的路由条目的管理实际上就是路由器维护、管理路由信息的具体实现。
3、路由条目的生成方式
直连路由
直连路由的下一跳地址并不是其他设备上的接口地址,因为该路由的目的网段为接口所在网段,本接口就是最后一跳,不需要再转发给下一跳,所以在路由表中的下一跳地址就是接口自身地址。
直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。
静态路由
需要管理员手工配置
动态路由
路由器通过动态路由协议学习到的路由
常见的动态路由协议:RIP、OSPF、IS-IS、BGP、IGRP、EIGRP
4、路由优先
先比较优先级,再比较开销
①、路由加表阶段
-
当三种形式都存在的话,只存放最优的
-
比价优先级
路由来源 路由类型 默认优先级 直连 直连路由 0 静态 静态路由 60 动态路由 OSPF内部路由 10 OSPF外部路由 150 -
比较开销
-
②、路由优选的阶段
- 在路由表中选择最适合自己的
- 最长匹配原则:目标ip与本地路由表比较,找匹配度最长的条,就是最适合的条目
5、日考题
一、当路由器收到一个目的非本设备接口的数据报文时,将如何处理此报文?
1、收到目的MAC不是自己接口MAC
丢弃数据,作为三层设备,每一个接口都是一个广播域
2、目的IP不是路由器接口IP
进行正常路由处理
查路由表
找到条目:
最长匹配原则,找到最合适的路由进行转发
找不到条目:
丢弃处理
二、交换机接受到数据帧后,经查表,发现出接口和入接口一直时,交换机会进行泛洪操作 ❌
三、交换机MAC表如果用SAVE命令保存,重启设备后,MAC条目就不会消失 ❌
二、静态路由
1、概念
- 需要手动配置,管理方便,对系统要求底
- 缺点
- 不能自动适应网络拓扑的变化,需要人工干预
- 配置量比较大
2、具体配置
-
RTA的配置如下
[RTA] ip route-static 20.1.1.0 24 10.0.0.2
-
RTC的配置如下
[RTC] ip route-static 10.0.0.0 24 20.1.1.2
静态配置:[Huawei]ip route-static 目的网段 掩码 (出接口)下一跳
注意:
下一跳地址:如果是以太网链路,g或者e开头的,出接口和下一跳地址必须加;
如果是s开头的串行线,可以不指定下一跳。
3、什么时候需要配置静态路由
- 对于非直连网段,才需要配置静态路由
- 直连网段不需要配置静态路由
4、实验----静态路由
①:配置IP地址
<R1>dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 192.168.10.254/24 up up
GigabitEthernet0/0/1 10.0.12.1/24 up up
<R2>dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.0.12.2/24 up up
GigabitEthernet0/0/1 10.0.23.2/24 up up
<R3>dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.0.23.3/24 up up
GigabitEthernet0/0/1 10.0.34.3/24 up up
<R4>dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.0.34.4/24 up up
GigabitEthernet0/0/1 192.168.20.254/24 up up
②:配置静态路由
- R1
[R1]ip route-static 10.0.23.0 24 10.0.12.2
[R1]ip route-static 10.0.34.0 24 10.0.12.2
[R1]ip route-static 192.168.20.0 24 10.0.12.2
- R2
[R2]ip route-static 192.168.10.0 24 10.0.12.1
[R2]ip route-static 10.0.34.0 24 10.0.23.3
[R2]ip route-static 192.168.20.0 24 10.0.23.3
- R3
[R3]ip route-static 192.168.10.0 24 10.0.23.2
[R3]ip route-static 10.0.12.0 24 10.0.23.2
[R3]ip route-static 192.168.20.0 24 10.0.34.4
- R4
[R4]ip route-static 192.168.10.0 24 10.0.34.3
[R4]ip route-static 10.0.12.0 24 10.0.34.3
[R4]ip route-static 10.0.23.0 24 10.0.34.3
③:测试
三、路由高级特性
1、缺省路由(默认路由)
- 缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发
- 缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由
- 配置场景:网络出口配置一条默认路由,指向运营商
2、等价路由
路由表存在等价路由之后,前往该目的网段的IP报文路由器会通过
①、生成前提
- 路由生成方式是相同的
- 开销是一致的
②、显示方式
- 来源相同、开销相同的路由都会被加入路由表,形成的路由为等价路由(两个路由条目指向的目的网段相同,但是具有不同的下一跳地址),路由转发会将流量分布到多条路径上。
③、流量转发路径选择
- 基于包的负载
- 基于流的负载(默认情况)
- 流1选择链路1
- 流2选择链路2
3、浮动路由
路由器B正常的情况下走路由器B,路由器B出现故障的时候,走路由器C
①、基本概念
- 静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份
- 浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时,备份路由不会出现在路由表上
- 适用于:高速链路用户数据传输,低俗链路用于备份
②、配置
ip route-static 20.0.0.0 30 10.1.1.2
ip route-static 20.0.0.0 30 10.1.1.2 perference 70
4、CIDR
①、基本概念
-
CIDR(五类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分
-
CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有较少路由表条目数量
5、路由汇总
①、诞生背景
- 子网划分、VLSM解决了地址空间浪费问题,但同时也带来了新问题:路由表中的路由条目数量增加。
- 为减少路由条目数量可以使用路由汇总
②、汇总计算
- 网络号:相同位保留,不同位置0
- 掩码号:网络位置1,主机位置0
6、实验----浮动静态实验
①、R1配置默认路由
[R1]ip route-static 0.0.0.0 0 10.1.12.2
[R1]ip route-static 0.0.0.0 0 10.1.21.2
②、R2配置明细路由
[R2]ip route-static 192.168.10.0 24 10.1.12.1
[R2]ip route-static 192.168.10.0 24 10.1.21.1
③、查看R1的路由表
dis ip routing-table //查看路由信息表
//发现等价路由
④、测试连接
⑤、配置环回接口
- R2
[R2]int lo0
[R2-LoopBack0]ip addr 2.2.2.2 32
[R2-LoopBack0]dis this //查看当前接口下的配置
[V200R003C00]
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
return
⑥、PC1ping
2.2.2.2
实验证明可以ping通
PC1本地虽然没有2.2.2.2,但是有默认路由。
如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取默认路由进行转发
⑦、配置浮动路由
- R1
[R1]ip route-static 0.0.0.0 0 10.1.21.2 preference 66
[R1]dis ip routing-table //查看路由表,发现等价路由消失,备份路由没有出现在路由表中
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/0
[R1]dis cu | in ip route //从已经配置过的命令中筛选包含ip route的命令
- R2
[R2]ip route-static 192.168.10.0 255.255.255.0 10.1.21.1 preference 61
⑧、tracetr
查看路径
PC>tracert 192.168.20.1
traceroute to 192.168.20.1, 8 hops max
(ICMP), press Ctrl+C to stop
1 192.168.10.254 31 ms 16 ms 16 ms
2 10.1.12.2 15 ms 16 ms 31 ms
3 *192.168.20.1 16 ms 15 ms //证明是走主链路通过的
⑨、使用备份链路
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]shutdown
[R1]dis ip routing-table //发现备份路由已成功加载到路由表中
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 66 0 RD 10.1.21.2 GigabitEthernet0/0/1
//启用接口
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]undo shutdown
[R1]dis ip routing-table //主路由恢复到路由表中
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/0
⑩、路由汇总
[R2]int lo 2
[R2-LoopBack2]ip add 192.168.0.1 24
[R2-LoopBack2]ip add 192.168.1.1 24 sub //添加sub可以在一个接口配置多个ip
[R2-LoopBack2]ip add 192.168.2.1 24 sub
[R1]undo ip route-static 0.0.0.0 0 //删除整条默认路由
[R1]ip route-static 192.168.0.0 22 10.1.12.2 //配置汇总路由
[R1]dis ip routing-table //出现汇总路由
192.168.0.0/22 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/0
VLAN的原理与配置
一、目的
-
解决在典型交换网络中,当某台主机发送一个广播帧或未知单播帧时,该数据帧会被泛洪,甚至传递到整个广播域。
-
解决广播域越大,产生的网络安全问题、垃圾流量问题,就越严重。
-
隔离广播域
-
增加网络的完全性
-
简化了网络的管理
二、特点
- 不同交换机,只要Vlan相同就可以通信,可以跨设备通信
- 不受地域限制
- Vlan之间实现二层隔离,不同的Vlan属于不同的局域网
- Vlan内可以进行二层通信
- 虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。
- VLAN是一个虚拟的局域网,通过划分vlan可以使同一个虚拟局域网中的用户进行通信,从而,在不同的虚拟局域网中的用户不能进行通信,减少网络广播,进而起到提高网络安全性的问题。VLAN ID的范围是04095,可配置的值是14094,0和4095是保留值,默认VLAN ID是1。
三、Vlan标签(VLAN Tag)
- 如图所示,SW1识别出某个帧是属于哪个VLAN后,会在这个帧的特定位置上添加一个标签。这个标签明确地标明了这个帧是属于哪个VLAN的。其他交换机(如SW2)收到这个带标签的数据帧后,就能轻而易举地直接根据标签信息识别出这个帧属于哪个VLAN。
- IEEE 802.1Q定义了这种带标签的数据帧的格式。满足这种格式的数据帧称为IEEE 802.1Q数据帧,也称VLAN数据帧。
1、Vlan的实现
- Switch1和Switch2之间的链路要承载多个VLAN的数据,需要一种基于VLAN的数据“标记”手段,以便对不同VLAN的数据帧进行区分
2、VLAN Tag包含的信息
- 存放在目的MAC地址和源MAC地址之后
- **VLAN ID:**标识所属的VLAN,范围0-4095
- 就算只有一个Vlan,依然会打标签
四、Vlan的划分方式
- 基于接口
- 不管未来连那个主机,对应的接口都属于配置时的VLAN
- 基于MAC地址
- 不管未来怎样移动主机,连接到那个交换机,都属于MAC绑定的VLAN
- 基于IP子网划分
- 基于协议划分
- 基于策略
五、以太网二层接口类型
1、Access接口
交换机上常用来连接用户PC、服务器等终端设备的接口。Access接口所连接的这些设备的网卡往往**只收发无标记帧**。Access接口**只能加入一个VLAN**。
Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。
根据接收到数据的接口判断所属的Vlan,数据传输的过程中不携带Vlan Tag
- 交换机接受帧
- 不携带VLAN Tag:给数据帧打上接口所划分的VLAN(普遍情况)
- 携带VLAN Tag的数据帧:检测数据帧所携带的VLAN与我接口所划分的VLAN是否相同
- 相同:接受
- 不同:丢弃
- 交换机发送帧
- 检查VLAN ID 与接口划分的VLAN是否相同
- 相同:先剥离改帧的Tag,然后再将其从该接口发出
- 不同:禁止将该帧从改接口发出
- 检查VLAN ID 与接口划分的VLAN是否相同
2、Trunk接口
①、用途
- 主要用于交换机之间传输数据
②、接受帧(前提是接口允许Vlan通过)
- 接收到未携带Tag的数据帧:给数据打上Trunk所属的PVID
- 接受到携带Tag的数据帧:直接接受数据
③、发送帧(前提是接口允许Vlan通过)
- 帧的Vlan ID和PVID不同:保留该帧的PVID,然后转发数据
- 帧的Vlan ID和PVID相同:将数据所携带的Tag剥离,然后转发数据
④、基础配置命令
#配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type trunk
#配置Trunk接口加入指定的Vlan
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20
#配置Trunk接口的缺省Vlan
[Huawei-GigabitEthernet0/0/1] port trunk pvid vlan 10
3、Hybrid接口
①、接受帧
- 接受到Untagged帧:打上PVID
- 接受到Tagged帧:在允许链表的时候,就会直接放行,
②、发送帧
- 管理员通过命令设置不携带Tag,则将该帧的Tag剥除
- 管理员通过命令设置携带Tag,则保留该帧的Tag
③、基础配置命令
[Huawei-GigabitEthernet0/0/1] port link-type hybrid #配置链路类型
[Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan 10 20 #指定Vlan不携带Tag
[Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan 30 40 #指定Vlan携带Tag
[Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id #配置hybrid接口的缺省Vlan(PVID)
六、基于MAC划分Vlan
基于MAC划分Vlan的时候,接口不需要配置PVID
1、配置思路
- 创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。
- 配置SW1和SW2的各接口类型以及通过的VLAN,实现相同业务用户通过SW1和SW2通信。
2、前提:接口类型需要为Hybrid
3、基础配置命令
[SW1-vlan10] mac-vlan 54-89-98-E2-32-78 #关联MAC地址与VLAN
[SW2-vlan10] mac-vlan 54-89-98-15-0E-A9
[sw1-GigabitEthernet0/0/1] mac-vlan enable #使能MAC地址与VLAN
七、实验
1、Access接口
- SW1
<Huawei>system-view
[Huawei]sysname SW1
[SW1]vlan batch 10 20 //创建多个VLAN时连续用to、不连续用空格隔开
[SW1]int g 0/0/1 //配置0/0/1接口
[SW1-GigabitEthernet0/0/1]port link-type access //接口类型改为access
[SW1-GigabitEthernet0/0/1]port default vlan 10 //把接口加入Vlan10
[SW1-GigabitEthernet0/0/1]dis this //查看配置,配置成功
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
return
//配置g 0/0/3
[SW1-GigabitEthernet0/0/1]int g0/0/3
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 10
//配置g 0/0/2
[SW1-GigabitEthernet0/0/3]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 20
- 查看SW信息
[SW1]dis port vlan //查看接口的链路类型,接口所划分的Vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 access 10 -
GigabitEthernet0/0/2 access 20 -
GigabitEthernet0/0/3 access 10 -
[SW1]dis vlan //查看当前配置了几个Vlan
The total number of vlans is : 3
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
--------------------------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------------------------
1 common UT:GE0/0/4(D) GE0/0/5(D) GE0/0/6(D) GE0/0/7(D) //Vlan1默认创建的,默认所以接口都属于Vlan1
GE0/0/8(D) GE0/0/9(D) GE0/0/10(D) GE0/0/11(D)
GE0/0/12(D) GE0/0/13(D) GE0/0/14(D) GE0/0/15(D)
GE0/0/16(D) GE0/0/17(D) GE0/0/18(D) GE0/0/19(D)
GE0/0/20(D) GE0/0/21(D) GE0/0/22(D) GE0/0/23(D)
GE0/0/24(D)
10 common UT:GE0/0/1(U) GE0/0/3(U) //U,表示接口为UP状态
20 common UT:GE0/0/2(U)
VID Status Property MAC-LRN Statistics Description
--------------------------------------------------------------------------------
1 enable default enable disable VLAN 0001
10 enable default enable disable VLAN 0010
20 enable default enable disable VLAN 0020
[SW1]dis mac-address //查看MAC地址表
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-9806-75cc 10 - - GE0/0/1 dynamic 0/-
5489-98c0-786b 10 - - GE0/0/3 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2
- 扩展
如果需要使得PC1可以和PC5通信,需要做两步操作:
1、把SW1的G0/0/4接口类型设置为access并划分为Vlan10
2、把SW2的G0/0/1接口类型设置为access并划分为Vlan20
当数据从G4接口发送的时候,会剥离Tag,G1收到数据后,会打上接收端口的PVID,使得数据属于Vlan20
2、Trunk接口
-
配置
[SW1-GigabitEthernet0/0/4]undo prot default vlan #删除接口所属的Vlan
[SW1-GigabitEthernet0/0/4]undo prot link-type #删除接口类型
[SW2]clear configuration interface g0/0/1 #删除接口所有配置并且shutdown接口
SW1
[SW1-GigabitEthernet0/0/4]port link-type trunk #将接口设置为trunk
[SW1-GigabitEthernet0/0/4]port trunk allow-pass vlan 10 20 #接口放行Vlan 10 20
[SW1]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 access 10 -
GigabitEthernet0/0/2 access 20 -
GigabitEthernet0/0/3 access 10 -
GigabitEthernet0/0/4 trunk 1 1 10 20 #允许Vlan10、20通过(V'lan)
SW2
[SW2]clear configuration interface g0/0/1 #删除接口所有配置并且shutdown接口
[SW2-GigabitEthernet0/0/1]undo shutdown #启动接口
[SW2-GigabitEthernet0/0/1]port link-type trunk #将接口设置为trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20 #接口放行Vlan 10 20
[SW2-GigabitEthernet0/0/1]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 trunk 1 1 10 20
-
Tag
此时如果在SW2的G0/0/1接口抓取数据流量的话,是可以抓取到Tag的,因为SW1的-4接口属于Vlan1,和PC1的tag不同,所以SW1不会剥离Tag数据
-
扩展
如果想实现PC1可以ping通PC4,需要做两步操作:
1、将SW1的G4接口,设置为Vlan10
2、将SW2的G1接口,设置为Vlan20
这样SW1G4接口发送数据帧时,因为G4接口的PVID和PC1的Tag相同,所以会剥离Tag
SW2收到没有带有Tag的数据时,会打上Vlan20的标签,使得PC1和PC4正常通信
SW1
[SW1]int g0/0/4
[SW1-GigabitEthernet0/0/4]port trunk pvid vlan 10 #将trunk的PVID设置为10
SW2
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port trunk pvid vlan 20 #将trunk的PVID设置为20
#测试
PC>ping 192.168.10.4
Ping 192.168.10.4: 32 data bytes, Press Ctrl_C to break
From 192.168.10.4: bytes=32 seq=1 ttl=128 time=62 ms
From 192.168.10.4: bytes=32 seq=2 ttl=128 time=63 ms
From 192.168.10.4: bytes=32 seq=3 ttl=128 time=63 ms
From 192.168.10.4: bytes=32 seq=4 ttl=128 time=62 ms
From 192.168.10.4: bytes=32 seq=5 ttl=128 time=62 ms
3、Hybrid接口
- 配置
SW1
[SW1]vlan batch 10 20
[SW1-GigabitEthernet0/0/1]port hybrid pvid vlan 10 #收数据的时候,会打上Vlan10的Tag
[SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 10 #发送数据到时候,不携带Tag
#配置G3接口
[SW1-GigabitEthernet0/0/1]int g0/0/3
[SW1-GigabitEthernet0/0/3]port hybrid untagged vlan 10 #两层含义 1、允许接口发送那些Vlan的数据;2、流量发送的时候不携带Tag
[SW1-GigabitEthernet0/0/3]port hybrid pvid vlan 10
#配置G2接口
[SW1-GigabitEthernet0/0/3]int g0/0/2
[SW1-GigabitEthernet0/0/2]port hybrid pvid vlan 20
[SW1-GigabitEthernet0/0/2]port hybrid untagged vlan 20 #终端设备不识别Tag,所以需要剥离Tag
#配置G4接口
[SW1-GigabitEthernet0/0/2]int g0/0/4
[SW1-GigabitEthernet0/0/4]port hy tagged vlan 10 20 #允许Vlan10和Vlan20发送数据并携带Tag
#测试连通性
PC>ping 192.168.10.3
Ping 192.168.10.3: 32 data bytes, Press Ctrl_C to break
From 192.168.10.3: bytes=32 seq=1 ttl=128 time=47 ms
From 192.168.10.3: bytes=32 seq=2 ttl=128 time=46 ms
SW2
[SW2]vlan batch 10 20
#配置G1接口
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20
#配置G2接口
[SW2-GigabitEthernet0/0/1]int g0/0/2
[SW2-GigabitEthernet0/0/2]port hybrid pvid vlan 20
[SW2-GigabitEthernet0/0/2]port hybrid untagged vlan 20
#查看配置
[SW2-GigabitEthernet0/0/2]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 hybrid 1 10 20
#测试连通性
PC>ping 192.168.10.4
Ping 192.168.10.4: 32 data bytes, Press Ctrl_C to break
From 192.168.10.4: bytes=32 seq=1 ttl=128 time=78 ms
From 192.168.10.4: bytes=32 seq=2 ttl=128 time=63 ms
- 扩展
①、实验目的
PC1、PC2、PC3、PC5都可以与PC4实现通信
②、配置
SW1
#配置G5接口
[SW1]vlan batch 30
[SW1]int g0/0/5
[SW1-GigabitEthernet0/0/5]port hybrid pvid vlan 30
[SW1-GigabitEthernet0/0/5]port hybrid untagged vlan 30
#配置G4接口
[SW1-GigabitEthernet0/0/4]port hybrid tagged vlan 30 #放行Vlan30数据
[SW1-GigabitEthernet0/0/4]dis this
#
interface GigabitEthernet0/0/4
port hybrid tagged vlan 10 20 30
#
return
SW2
[SW2]vlan 30
[SW2-vlan30]q
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port hybrid tagged vlan 30
[SW2-GigabitEthernet0/0/1]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 hybrid 1 10 20 30
③、扩展配置
SW2
[SW2-GigabitEthernet0/0/1]int g0/0/2
[SW2-GigabitEthernet0/0/2]port hybrid untagged vlan 10 20 30 #收到数据后,发到PC端的时候全部剥离Tag
SW1
#将SW1所有的接口发送数据时,都剥离Vlan20的Tag
#配置G1接口
[SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 20
#配置G2接口
[SW2-GigabitEthernet0/0/1]port hybrid untagged vlan 20
#配置G3接口
[SW3-GigabitEthernet0/0/1]port hybrid untagged vlan 20
#配置G5接口
[SW5-GigabitEthernet0/0/1]port hybrid untagged vlan 20
④、测试
生成树协议(STP/RSTP)
一、基础知识
1、目的
- 消除环路:通过阻塞冗余链路消除网络中可能存在的网络通信环路。
- 链路备份:当前活动的路径发生故障时,激活冗余备份链路,恢复网络连通性。
- 避免产生广播风暴
- 避免MAC地址漂移
2、在园区网中的位置
- 生成树主要工作在二层网络
- 动态路由主要工作在三层路由
- 静态路由主要 工作在出口
3、根桥(Root Bridge)
- 根桥就是网桥ID最小的桥,通过交互配置BPDU协议报文选出最小的BID。
- 根桥是生成树进行拓扑计算的重要参考点
- 首先比较优先级,优先级越小越优先,如果优先级相等,则会比较MAC地址,拥有最小MAC地址的交换机会成为根桥
4、开销(Cost)
- 交换机的每个端口都有一个端口开销(Port Cost)参数,此参数表示该端口在STP中的开销值。默认情况下端口的开销和端口的带宽有关,带宽越高,开销越小。
- 接口带宽越大,则Cos值越小
- 用户也可以根据需要通过命令调整接口的Cost
5、根路径开销(RPC)
- 一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加
6、网桥协议数据单元(BPDU)
STP按照如下顺序选择最优的配置BPDU
#选举根网桥
最小的根桥ID
#选举根接口及指定端口
最小的根路径开销
最小的网桥ID
最小的接口ID
在这四条原则中(每条原则都对应配置BPDU中的相应字段)
根桥的路径开销为0,因为自己就是根桥
- BPDU是STP能正常工作的根本,BPDU是STP的协议报文
- STP交换机之间会交互BPDU报文
- BPDU报文分为两种类型
- 配置BPDU
- TCN BPDU
- 配置BPDU是STP进行拓扑计算的关键
- TCN BPDU只会在网络拓扑发生变更时才会被触发
7、比较
三种生成树协议的比较
生成树协议 | 特点 | 应用场景 |
---|---|---|
STP | 1、形成一颗无环路的树,解决广播风暴并实现冗余备份 2、收敛速度较慢 | 无需区分用户或业务流量,所以Vlan共享一颗生成树。 |
RSTP | 1、形成一颗无环路的树,解决广播风暴并实现冗余备份 2、收敛速度较快 | 无需区分用户或业务流量,所以Vlan共享一颗生成树。 |
MSTP | 1、形成多颗无环路的树,解决广播风暴并实现冗余备份 2、收敛速度块 3、多棵生成树在Vlan间实现负载均衡,不同Vlan的流量按照不同的路径转发 | 需要区分用户或业务流量,并实现负载分担。不同的Vlan通过不同的生成树转发流量,每颗生成树之间相互独立 |
二、两种度量
生成树的生成计算有两大基本度量依据:ID和路径开销。
1、ID
ID又分为:BID(Bridge ID)和PID(Port ID)
a、BID(桥ID)
- 比较网桥ID,网桥ID较小的为根交换机
- 网桥ID(网桥优先级+网桥的MAC地址)
- 网桥优先级,默认是32768,可以由管理员进行更改(更改时注意需要设置为4096的倍数)
- 网桥ID(网桥优先级+网桥的MAC地址)
- 根网桥上的端口是不可能被阻塞的
- 管理员可以干预桥优先级
- 步长为4096
b、PID(接口ID)
- 高4bit是接口优先级,底12bit是接口编号
- 用户可以根据实际需要,通过命令修改改优先级
- 步长为16
2、路径开销
路径开销(Path Cost)是一个端口变量,是STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。
在一个STP网络中,某端口到根桥的路径开销就是所经过的各个桥上的各端口的路径开销累加而成,这个值叫做根路径开销(Root Path Cost)。
三、三要素选举
从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。
1、根桥RB
#选举根桥
根桥就是网桥ID最小的桥,通过交互配置BPDU协议报文选出最小的BID。
#特点
1、在一个连续的STP交换网络中只会存在一个根桥
2、交换机在刚启动的时候都认为自己是根桥,互相发送BPDU进行STP运算,根桥的角色是抢占的
3、发送的BPUD只会由根桥产生
2、根端口RP
#选举根接口
1、最小的根路径开销
2、最小的发送方网桥ID
3、最小的发送方接口ID
#作用
1、根接口是接受来自根桥的BPDU的入口
2、根接口是去往根桥的出口
#特点
1、根端口在一个设备上有且只有一个
2、根端口负责向根桥方向转发数据,这个端口的选择标准是依据根路径开销判断
3、在一台设备上所有使能STP的端口中,根路径开销成本最小的端口,就是根端口
3、指定端口DP
#非根网桥上选指定端口
1、根路径成本最少,根网桥到本机RP的开销
2、最小的本地网桥ID
3、最下的本地端口ID
#特点
需要在每个网段(每条线路)上选择一个指定端口
根网桥上的所有端口都是指定端口
根端口的对端,是指定端口
根桥去往链路的出口
4、阻塞端口
没有被选择的端口就是阻塞端口
5、STP的计算过程
1、选举一个根桥
2、每个非根交换机选举一个根端口
3、每个网段选择一个指定端口
4、阻塞非根、非指定端口
四、STP思考题
1、
根桥:
三台SW的优先级相同,则比较MAC地址,谁小谁优先,SW1为根桥
根端口:
SW2的G0/0/1接口和SW3的G0/0/1接口距离根桥最近,RPC最小,所以这两个接口为根端口
指定端口:
SW1是根网桥,所以SW1的G0/0/0和G0/0/1接口为指定端口
SW2和SW3的RPC一样,但是SW2的BID更优,所以SW2的G0/0/2为指定端口
阻塞端口:
SW3的G0/0/2为阻塞端口
2、
根桥:
三台SW的优先级相同,则比较MAC地址,谁小谁优先,SW1为根桥
根端口:
SW2的G0/0/1接口距离根桥最近,RPC最小,所以这个接口为根端口
SW3的G0/0/2由于带宽问题,所以RPC较小,所以G0/0/2为根端口
指定端口:
SW1是根网桥,所以SW1的G0/0/0和G0/0/1接口为指定端口
阻塞端口:
SW3的G0/0/1为阻塞端口
3、
根桥:
四台SW的优先级相同,则比较MAC地址,谁小谁优先,SW1为根桥
根端口:
SW2的G0/0/1接口和SW3的G0/0/1接口距离根桥最近,RPC最小,所以这两个接口为根端口
SW4由于两个端口的RPC一样,则比较发送端的BID,SW2的BID最小,所以SW4的G0/0/1接口为根端口
指定端口
SW1是根网桥,所以SW1的G0/0/0和G0/0/1接口为指定端口
RP的对面是DP,所以SW2的G0/0/2端口为指定端口
对比SW4的G0/0/2端口和SW3的G0/0/1端口,RPC,SW3的RPC更小,所以SW3的G0/0/1接口为DP
阻塞端口:
SW4的G0/0/2为阻塞端口
4、
根桥:
SW1
根端口:
比较源网桥接口ID,G0/0/1更优,所以G0/0/1为根端口
指定端口:
根桥端口的G0/0/1和G0/0/2为指定端口
阻塞端口:
SW2的G0/0/2为阻塞端口
五、 五种端口状态
转发计时器:默认为15S,倾听转为学习,学习转为转发的两个过程中,都要等待转发计时器
#交换机端口的五种状态
1、禁用:down
2、阻塞:不能发送数据,也不会进行mac地址学习,只会去监听网络的BPDU(拓扑变更通告)
3、侦听:可以收发BPDU,但不会进行mac地址学习
4、学习:可以收发BPDU并可以进行mac地址学习,不会转发数据
5、转发:正常转发业务数据
#计时器
1、**Hello Timer(Hello时间):**STP交换机发送BPDU的时间间隔。当网络拓扑稳定之后,该计时器的修改只有在根桥修改才有效。根桥会在之后发出的BPDU中填充适当的字段以向其他非根桥传递该计时器修改信息。但当拓扑变化之后,TCN BPDU的发送不受这个计时器的管理。
2、**Forwarding Delay Timer(转发延时):**指一个端口Listening 和Learning的各自时间,默认为15秒,即Listening状态持续15秒,随后Learning状态再持续15秒。这两个状态下的端口会处Blocking状态,这是STP用于避免临时环路的关键。
3、**Max Age(最大老化时间):**端口的BPDU老化的时间。端口会根据接收到的BPDU存储所接收到的最好的四个信息(根桥BID、累计根路径开销、发送者BID和发送端口PID)。每次接收到合适的BPDU,端口都会启动这个Max Age计时器。超过这个Max Age时间端口接收不到合适BPDU,就会认为网络直径过大。这个时间默认为20秒。
参数 | 时间 |
---|---|
Hello Timer(Hello时间) | 2s |
Max Age(最大老化时间) | 20s |
Forwarding Delay Timer(转发延时) | 15s |
六、故障
1、根桥故障
#根桥故障:
1、在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。
2、如果根桥发生了故障,停止发送BPDU,下游交换机就无法收到来自根桥的BPDU报文。
3、如果下游交换机一直收不到BPDU报文,Max Age计时器(缺省: 20s)就会超时,从而导致已经收到的BPDU报文失效,此时,非根桥会互相发送配置BPDU,重新选举新的根桥。
#端口状态:
SW3的预备端口,20s后会从Blocking状态进入到Listening状态,再进入Learning状态,最终进入到Forwarding状态,进行用户流量的转发。
#收敛时间:
桥故障会导致50s左右的恢复时间,等于Max Age加上2倍的Forward Delay收敛时间。(20S+15S+15S)
2、直连链路故障
#直连链路故障:
1、当两台交换机间用两条链路互连时,其中一条是主用链路,另一条为备用链路。
2、当网络稳定时,交换机SWB检测到根端口的链路发生故障,则其备用端口会进入用户流量转发状态。
#端口状态:
1、备用端口会从Blocking状态,迁移到Listening-Learning-Forwarding状态。
#收敛时间:
1、直连链路故障,备用端口会经过30s后恢复转发状态。
3、非直连链路故障
#非直连故障
1、在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。
2、若SW1与SW2之间的链路发生了某种故障(非物理故障),因此SW2一直收不到来自根桥SW1的BPDU报文,Max Age计时器(缺省: 20 s)就会超时,从而导致已经收到的BPDU报文失效。
3、此时,非根桥SW2会认为根桥失效,并且认为自己是根桥,从而发送自己的配置BPDU给SW3,通知SW3自己是新的根桥。
4、在此期间,SW3的预备端口一直收不到包含根桥ID的BPDU,Max Age计时器超时后,端口进入到Listening状态,开始向SW2“转发”从上游发来的包含根桥ID的BPDU。
5、因此,Max Age定时器超时后,SW2和SW3几乎同时收到对方发来的BPDU,SW3转发来自根桥的BPUD给SW2.再进行STP重新计算,SW2发现SW3发来的BPDU更优,就放弃宣称自己是根桥并重新确定端口角色。
#端口状态:
预备端口20s后会从Blocking状态进入到Listening状态,再进入Learning状态,就可以转发BPDU,最终进入到Forwarding状态,进行用户流量的转发。
#收敛时间:
非直连链路故障后,SW3的备用端口恢复到转发状态,非直连故障会导致50s左右的恢复时间。(转换为DP)
5、拓扑改变导致MAC地址表错误
- SW3的G0/0/2接口切换到转发状态需要30s的时间,而MAC地址表的老化时间默认是300S
#在交换网络中,交换机依赖MAC地址表转发数据帧。缺省情况下,MAC地址表项的老化时间是300秒。如果生成树拓扑发生变化,交换机转发数据的路径也会随着发生改变,此时MAC地址表中未及时老化掉的表项会导致数据转发错误,因此在拓扑发生变化后需要及时更新MAC地址表项。
#本例中,SW2中的MAC地址表项定义了通过端口GigabitEthernet 0/0/3可以到达主机A,通过端口GigabitEthernet 0/0/3可以到达主机B。由于SW3的根端口产生故障,导致生成树拓扑重新收敛,在生成树拓扑完成收敛之后,从主机A到主机B的帧仍然不能到达目的地。这是因为MAC地址表项老化时间是300秒,主机A发往主机B的帧到达SW2后,SW3会继续通过端口GigabitEthernet 0/0/3转发该数据帧。
解决方法
#拓扑变化过程中,根桥通过TCN BPDU报文获知生成树拓扑里发生了故障。根桥生成TC用来通知其他交换机加速老化现有的MAC地址表项。
#拓扑变更以及MAC地址表项更新的具体过程如下:
1、SW3感知到网络拓扑发生变化后,会不间断地向SW2发送TCN BPDU报文,最终发送给根桥。
2、SW2收到SW3发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SW3,告知SW3停止发送TCN BPDU报文。
3、SW2向根桥转发TCN BPDU报文。
4、SW1收到TCN后,把配置BPDU报文中的Flags的TC位设置为1后发送,TC置位的BPDU会传遍全网,通知下游设备把MAC地址表项的老化时间由默认的300 s修改为Forward Delay的时间(默认为15 s)。到达老化时间后,MAC表会重新进行学习
5、SW2转发来自根桥的TC置位的BPDU
6、最多等待15 s之后,SW2中的错误MAC地址表项会被自动清除。此后,SW2就能重新开始MAC表项的学习及转发操作。
七、STP的基础配置
1、配置生成树的工作模式
[Huawei] stp mode { stp | rstp | mstp } #交换机支持STP、RSTP和MSTP三种生成树工作模式,默认情况工作在MSTP模式
2、配置根桥(可选)
[Huawei] stp root primary #配置当前设备为根桥。缺省情况下,交换机不作为任何生成树的根桥。配置后该设备优先级数值自动为0,并且不能更改设备优先级。
3、备份根桥(可选)
[Huawei] stp root secondary #配置当前交换机为备份根桥。缺省情况下,交换机不作为任何生成树的备份根桥。配置后该设备优先级数值为4096,并且不能更改设备优先级。
4、配置交换机的STP优先级(可选)
[Huawei] stp priority priority #缺省情况下,交换机的优先级取值是32768。
5、配置接口路径开销(可选)
[Huawei-GigabitEthernet0/0/1] stp cost cost #设置当前接口的路径开销值。
6、配置接口优先级(可选)
[Huawei-intf] stp priority priority #配置接口的优先级。缺省情况下,交换机接口的优先级取值是128。
7、启用STP/RSTP/MSTP
[Huawei] stp enable #使能交换机的STP/RSTP/MSTP功能。缺省情况下,设备的STP/RSTP/MSTP功能处于启用状态。
八、实验部分
1、课上实验
①、配置
#SW1
#配置Vlan
[SW1]vlan 10 #创建Vlan
[SW1-vlan10]q
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 10
[SW1-GigabitEthernet0/0/3]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SW1-GigabitEthernet0/0/1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
#配置生成树模式
[SW1]stp mode stp #调整当前交换机生成树模式为STP
#SW2
#配置Vlan
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/5]port link-type trunk
[SW2-GigabitEthernet0/0/5]port trunk allow-pass vlan 10
#配置生成树模式
[SW2]stp mode stp
#SW3
#配置Vlan
[SW3-GigabitEthernet0/0/4]port link-type trunk
[SW3-GigabitEthernet0/0/4]port trunk allow-pass vlan 10
[SW3-GigabitEthernet0/0/5]port link-type trunk
[SW3-GigabitEthernet0/0/5]port trunk allow-pass vlan 10
[SW3-GigabitEthernet0/0/1]port link-type access
[SW3-GigabitEthernet0/0/1]port default vlan 10
#配置生成树模式
[SW3]stp mode stp
②、查看状态
#SW1
#查看STP信息
<SW1>system-view
Enter system view, return user view with Ctrl+Z.
[SW1]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc03-2e2a #桥ID
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc03-2e2a / 0
CIST RegRoot/IRPC :32768.4c1f-cc03-2e2a / 0
#查看交换机的接口状态
[SW1]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING #接口状态都为DP
0 0 GigabitEthernet0/0/2 DESI FORWARDING
0 0 GigabitEthernet0/0/3 DESI FORWARDING
#SW2
#查看STP信息
[SW2]dis stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-cc69-0bbd
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc03-2e2a / 20000 #不同的MSTP域之间的生成树
CIST RegRoot/IRPC :32768.4c1f-cc8d-268e / 0 #域内的根桥
#查看交换机的接口状态
[SW2]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 ROOT FORWARDING
0 0 GigabitEthernet0/0/5 DESI FORWARDING
#SW3
#查看信息
[SW3-GigabitEthernet0/0/1]dis stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-cc8d-268e
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc03-2e2a / 20000 #认为SW1为根桥 ,
CIST RegRoot/IRPC :32768.4c1f-cc69-0bbd / 0
#查看交换机的接口状态
[SW3-GigabitEthernet0/0/1]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/4 ALTE DISCARDING #因为SW3的桥ID较小,所以G0/0/5接口为阻塞接口
0 0 GigabitEthernet0/0/5 ROOT FORWARDING
[SW3]dis stp interface g0/0/4
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-cc69-0bbd
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc03-2e2a / 20000 #因为此接口为备份端口,所以不会处理BPDU,发过来的RPC是20000,再次也显示20000
CIST RegRoot/IRPC :32768.4c1f-cc69-0bbd / 0
Designated Bridge/Port :32768.4c1f-cc69-0bbd / 128.4 #发送方的桥ID和端口ID
2、扩展
私自接入优先级为0的交换机,会有什么情况发生
- 接入前各个接口的状态
[SW1]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/2 DESI FORWARDING
0 0 GigabitEthernet0/0/3 DESI FORWARDING
[SW2]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 ROOT FORWARDING
0 0 GigabitEthernet0/0/5 DESI FORWARDING
[SW3]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/4 ALTE DISCARDING
0 0 GigabitEthernet0/0/5 ROOT FORWARDING
- 接入交换机
[SW4]stp priority 0 #将交换机的优先级设置为0
- 接入后各个接口的状态
[SW1]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 ROOT FORWARDING
0 0 GigabitEthernet0/0/2 DESI FORWARDING
0 0 GigabitEthernet0/0/3 DESI FORWARDING
[SW2]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/2 ROOT FORWARDING
0 0 GigabitEthernet0/0/5 DESI FORWARDING
[SW3]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/4 ROOT FORWARDING
0 0 GigabitEthernet0/0/5 ALTE DISCARDING
[SW4]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
- 发生变化
1、根桥由SW1变为SW4
2、SW1的G0/0/1由DP变为RP
3、SW2的G0/0/1由RP变为DP
4、SW3的G0/0/4接口由阻塞变为RP
5、SW3的G0/0/5接口由RP变为阻塞
九、RSTP
1、STP的不足之处
-
网络拓扑收敛慢,影响了用户的通信质量
-
依赖定时器等待的方式判断拓扑变化,收敛速度慢
-
STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。
-
STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文
- 只有根桥能发送BPDU
- 其他只能转发根桥的BPDU
2、RSTP概述
-
收敛速度更快,而且能够兼容STP
-
引入了新的角色
- A预备端口:作为指根口的备份,交换机根接口失效后,立即获得新的路径到达根桥
- B备份端口:作为指定端口的备份,帮助链路上的网桥快速获得到根桥的备份路径
- 边缘接口:使得交换机连接终端设备的接口在初始化之后能够立即进入转发状态,边缘端口正常情况下接收不到配置BPDU报文,不参与RSTP运算
-
配置BPDU的处理发生变化
- 拓扑稳定后,配置BPDU报文的发送方式进行了优化,每个交换机都可以主动的发送BPDU
- 使用更短的BPDU超时计时
- 对处理次等BPDU的方式进行了优化
-
配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了接口的角色
-
RSTP拓扑变化处理:相比于STP进行了优化,加速针对拓扑变更的反应速度
3、端口状态
STP接口状态 | RSTP接口状态 | 接口在拓扑中的角色 |
---|---|---|
Forwarding | Forwarding | 包括根接口、指定端口 |
Learning | Learning | 包括根接口、指定端口 |
Listening | Discarding | 包括根接口、指定端口 |
Blocking | Discarding | 包括Alternate接口、Backup接口 |
Discarding | Discarding | 包括Disable接口 |
4、STP/RSTP的缺陷
- 所有的Vlan共享一颗生成树
-
无法实现流量的负载分担
-
会形成次优路径
5、VBST
- 为了解决STP/RSTP所带来的问题
- 缺点
- 多个Vlan需要配置多个生成树
多生成树(MSTP)
一、MSTP概述
- MSTP把一个交换机网络划分为多个域,每个域形成多颗生成树,生成树之间彼此独立
- 每颗生成树叫做一个多生成树实例MSTI,通过实例来计算生成树
- 所谓生成树实例就是多个Vlan的一个集合
- 通过将多个Vlan捆绑到一个实例,可以节省通信开销和资源占用率
- MSTP各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡
- 可以把多个相同拓扑结构的Vlan映射到一个实例里,这些Vlan在接口上的转发状态取决于接口在对应实例的状态
链路聚合
一、网络高可靠的方法
- 单板冗余
- 设备冗余
- 链路冗余
二、设备基础
PFE:包转发引擎。接口板执行转发的部件为包转发引擎PFE,通常为NP或者ASIC芯片,报文直接由接口板独立完成转发,无需主控板参与。
业务报文:服务、应用在交互过程中涉及的报文。
切片:把报文送往交换网板之前,进行切片处理,也就是把报文按一定粒度进行切片,切成固定长度。
重组:将交换网板发送过来的已经切片的报文进行重新组合。
三、基础部分
1、未配置链路聚合时
设备之间存在多条链路时,由于STP的存在,实际只会有一条链路转发流量,设备间链路带宽无法得到提升
需求:
提升链路带宽,保留可靠性
2、以太网链路聚合
- 可在不进行硬件升级的条件下,达到增加链路带宽的目的
3、基本术语/概念
-
聚合组(LAG):若干条链路捆绑在一起所形成的的逻辑链路。每个聚合组唯一对应着一个逻辑接口,这个逻辑接口又被称为链路聚合接口或Eth-Trunk接口。
-
成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路
-
活动接口和活动链路:活动接口又叫选中(Selected)接口,是参与数据转发的成员接口。活动接口对应的链路被称为活动链路
-
非活动接口和非活动链路:又叫非选中(Unselected)接口,是不参与转发数据的成员接口。非活动接口对应的链路被称为非活动链路
-
聚合模式 :根据是否开启LACP(链路聚合控制协议),链路聚合可以分为手工模式(不可进行活动和非活动接口的设置)和LACP模式。
四、手工模式
1、概念
-
手工模式:Eth-Trunk的建立、成员接口的加入均由手动配置,双方系统之间不使用LACP进行协商。
-
正常情况下所有链路都是活动链路,**该模式下所有活动链路都参与数据的转发,平均分担流量,**如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。
-
当聚合的两端设备中存在一个不支持LACP协议时,可以使用手工模式
-
适用于老旧设备
2、缺陷
-
为了使链路聚合接口正常工作,必须保证本端链路聚合接口中所有成员接口的对端接口满足以下条件
- 属于同一设备:如图SW1就无法和SW3建立手工模式的链路聚合
- 加入同一链路聚合接口
-
设备之间没有报文交互,因此只能通过管理员人工确认
-
设备只能通过物理层状态判读对端接口是否工作正常(如下图,此情况SW1就无法发现)
五、LACP模式
1、LACPDU
-
LACP模式:采用LCAP协议的一种链路聚合模式。设备间通过链路聚合控制协议数据单元(LACPDU)进行交互,通过协议协商确保对端是同一台设备、同一个聚合接口的成员接口
-
LACPDU报文中包含设备优先级、MAC地址、接口优先级、接口号等
- 可以通过LACPDU就可以判断链路是否故障
2、系统优先级
- LCAP模式下,两端设备所选择的活动端口数目必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端成为主动端,另一端(被动端)根据主动端选择活动接口
- 通过系统LACP优先级确定主动端,默认为32768,值越小优先级越高
3、接口优先级
-
选出主动端后,两端都会以主动端的接口优先级来选择活动接口,优先级高的接口将优先被选为活动接口。接口LACP优先级越小,优先级越高
-
先比较接口优先级,如果一致时,通过接口编号选择,越小越优
4、最大活动接口数
LACP模式支持配置最大活动接口数目,当成员接口数目超过最大活动接口数目时会通过比较接口优先级、接口号选举出较优的接口成为活动接口,其余的则成为备份端口(非活动接口),同时对应的链路分别成为活动链路、非活动链路。交换机只会从活动接口中发送、接收报文。
- 当链路出现故障的时候
当活动链路中出现链路故障时,可以从非活动链路中找出一条优先级最高(接口优先级、接口编号比较)的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发。
5、活动链路选举
6、负载分担
推荐采用逐流负载分担的方式
7、负载分担模式
-
Eth-trunk支持基于报文的IP地址或MAC地址来进行负载分担,可以配置不同的模式(本地有效,对出方向报文生效)将数据流分担到不同的成员接口上。
-
常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC。
-
实际业务中用户需要根据业务流量特征选择配置合适的负载分担方式。业务流量中某种参数变化越频繁,选择与此参数相关的负载分担方式就越容易实现负载均衡。
如果报文的IP地址变化较频繁,那么选择基于源IP、目的IP或者源目IP的负载分担模式更有利于流量在各物理链路间合理的负载分担;
如果报文的MAC地址变化较频繁,IP地址比较固定,那么选择基于源MAC、目的MAC或源目MAC的负载分担模式更有利于流量在各物理链路间合理的负载分担。
如果负载分担模式选择的和实际业务特征不相符,可能会导致流量分担不均,部分成员链路负载很高,其余的成员链路却很空闲,如在报文源目IP变化频繁但是源目MAC固定的场景下选择源目MAC模式,那将会导致所有流量都分担在一条成员链路上
源目MAC相同,源目IP不同
1、采用源目IP模式的话,将会被认为是不同的流(推荐采用)
2、采用源目MAC模式的话,会被认为是相同的流
六、配置命令
1、创建链路聚合
[Huawei] interface eth-trunk trunk-id #创建Eth-Trunk接口,并进入Eth-Trunk接口视图。
2、配置链路聚合方式
[Huawei-Eth-Trunk1] mode {lacp | manual load-balance } #lacp模式/手工模式 需要保持两端链路聚合模式一致。
3、将接口加入链路聚合组中
[Huawei-GigabitEthernet0/0/1] eth-trunk trunk-id #以太网接口视图
[Huawei-Eth-Trunk1] trunkport interface-type { interface-number} #Eth-Trunk视图
4、允许不同速率端口加入同一Eth-Trunk接口的功能
[Huawei-Eth-Trunk1] mixed-rate link enable
#缺省情况下,设备未使能允许不同速率端口加入同一Eth-Trunk接口的功能,只能相同速率的接口加入到同一个Eth-Trunk接口中。
5、配置系统LACP优先级
[Huawei] lacp priority priority #系统LACP优先级值越小优先级越高,缺省情况下,系统LACP优先级为32768。
6、配置接口LCAP优先级
[Huawei-GigabitEthernet0/0/1] lacp priority priority
#在接口视图下配置接口LACP优先级。缺省情况下,接口的LACP优先级是32768。接口优先级取值越小,接口的LACP优先级越高。
#只有在接口已经加入到链路聚合中才可以配置该命令。
7、配置最大活动接口数
[Huawei-Eth-Trunk1] max active-linknumber {number} #只有LACP模式支持配置最大活动接口数。
8、配置最小活动接口数
[Huawei-Eth-Trunk1] least active-linknumber {number}
#本端和对端设备的活动接口数下限阈值可以不同,手动模式、LACP模式都支持配置最小活动接口数
#配置最小活动接口数目的是为了保证最小带宽,当前活动链路数目小于最小活动接口数时,Eth-Trunk接口的状态转为Down。
七、配置举例
1、手动模式
2、LACP模式
步骤
1、先设置模式
2、加入成员接口
3、设置最大活动数
4、配置trunk
八、实验配置
SW1
[SW1]int Eth-Trunk 1 #创建Eth-Trunk接口,并进入Eth-Trunk接口视图。
[SW1-Eth-Trunk1]mode lacp-static #更改为LACP模式
[SW1-Eth-Trunk1]trunkport g0/0/1 #将接口加入链路聚合组中,加入进来的成员接口必须是0配置
[SW1-Eth-Trunk1]trunkport g0/0/4
[SW1-Eth-Trunk1]trunkport g0/0/5
[SW1-Eth-Trunk1]max active-linknumber 2 #最大活动接口数设置为2
[SW1-Eth-Trunk1]lacp preempt enable #开启抢占模式
[SW1-GigabitEthernet0/0/4]lacp priority 1000 #将4接口的优先级设置为1000
[SW1-GigabitEthernet0/0/5]lacp priority 1000
#配置成功后,G4和G5接口成功开启
--------------------------------------------------------------------------------
GigabitEthernet0/0/4 Selected 1GE 1000 5 305 10111100 1
GigabitEthernet0/0/5 Selected 1GE 1000 6 305 10111100 1
[SW1-Eth-Trunk1]least active-linknumber 2 #最小活动接口设置为2
[SW1-GigabitEthernet0/0/4]shutdown #当4接口下线后
#1接口自动启动
--------------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/1 Selected 1GE 32768 2 305 10111100 1
GigabitEthernet0/0/4 Unselect 1GE 1000 5 305 10100010 1
GigabitEthernet0/0/5 Selected 1GE 1000 6 305 10111100 1
[SW1-GigabitEthernet0/0/5]shutdown #当5也接口下线后
#活动链路数目小于最小活动接口数时,Eth-Trunk接口的状态转为Down。
--------------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/1 Unselect 1GE 32768 2 305 10100000 1
GigabitEthernet0/0/4 Unselect 1GE 1000 5 305 10100010 1
GigabitEthernet0/0/5 Unselect 1GE 1000 6 305 10100010
[SW1]dis eth-trunk #查看聚合链路配置信息
Eth-Trunk1's state information is:
Local:
LAG ID: 1 WorkingMode: STATIC
#LAG ID:聚合组的ID
#WorkingMode:模式为静态,表明为LACP模式
Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP # 抢占模式关闭 ,未来有更优的接口不会改变
System Priority: 32768 System ID: 4c1f-cc19-18e6 #系统优先级 系统ID
Least Active-linknumber: 1 Max Active-linknumber: 2 #最小活动接口 1 最大活动接口 2
Operate status: down Number Of Up Port In Trunk: 0 #状态 UP
--------------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/1 Selected 1GE 32768 2 305 10111100 1 #默认活动接口为1和4,因为接口编号小
GigabitEthernet0/0/4 Selected 1GE 32768 5 305 10111100 1
GigabitEthernet0/0/5 Unselect 1GE 32768 6 305 10100000 1
Partner:
--------------------------------------------------------------------------------
ActorPortName SysPri SystemID PortPri PortNo PortKey PortState
GigabitEthernet0/0/1 32768 4c1f-cca3-12a9 32768 3 305 10111100
GigabitEthernet0/0/4 32768 4c1f-cca3-12a9 32768 5 305 10111100
GigabitEthernet0/0/5 32768 4c1f-cca3-12a9 32768 6 305 10110000
[SW1]vlan batch 10 20 #创建VLan
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 10
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20
[SW1]stp region-configuration #进入MSTP的配置视图
#下面三个配置必须保持一致
[SW1-mst-region]revision-level 1 #修订版本保持一致
[SW1-mst-region]region-name simp #MSTP的域名
[SW1-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW1-mst-region]instance 2 vlan 20
[SW1-mst-region]active region-configuration #激活配置
[SW1]stp instance 1 root primary #交换机1为实例1的主根
[SW1]stp instance 2 root secondary #SW1为实例2的备份根
[SW3-GigabitEthernet0/0/3]stp edged-port enable #设置为边缘端口
[SW3]stp bpdu-protection #开启BPDU保护,需先开启边缘端口
#在所有的DP接口开启根保护
[SW1-GigabitEthernet0/0/1]stp root-protection
[SW1-GigabitEthernet0/0/2]stp root-protection
SW2
[SW2]int Eth-Trunk 1 #创建Eth-Trunk接口
[SW2-Eth-Trunk1]mode lacp-static #更改为LACP模式
[SW2-Eth-Trunk1]trunkport g0/0/2 #将接口加入链路聚合组中
[SW2-Eth-Trunk1]trunkport g0/0/4
[SW2-Eth-Trunk1]trunkport g0/0/5
[SW2]dis eth-trunk #查看聚合链路配置信息
Eth-Trunk1's state information is:
Local:
LAG ID: 1 WorkingMode: STATIC
Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP
System Priority: 32768 System ID: 4c1f-cca3-12a9
Least Active-linknumber: 1 Max Active-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 3
--------------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/2 Selected 1GE 32768 3 305 10111100 1
GigabitEthernet0/0/4 Selected 1GE 32768 5 305 10111100 1
GigabitEthernet0/0/5 Selected 1GE 32768 6 305 10111100 1
Partner:
--------------------------------------------------------------------------------
ActorPortName SysPri SystemID PortPri PortNo PortKey PortState
GigabitEthernet0/0/2 32768 4c1f-cc19-18e6 32768 2 305 10111100
GigabitEthernet0/0/4 32768 4c1f-cc19-18e6 32768 5 305 10111100
GigabitEthernet0/0/5 32768 4c1f-cc19-18e6 32768 6 305 10111100
[SW2]vlan batch 10 20 #创建VLan
[SW2-GigabitEthernet0/0/3]port link-type access
[SW2-GigabitEthernet0/0/3]port default vlan 20
[SW2-GigabitEthernet0/0/2]port link-type trunk
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
#下面三个配置必须保持一致
[SW2-mst-region]revision-level 1 #修订版本保持一致
[SW2-mst-region]region-name simp #MSTP的域名
[SW2-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW2-mst-region]instance 2 vlan 20
[SW2-mst-region]active region-configuration #激活配置
[SW2]stp instance 1 root secondary #SW2为实例1的备份根
[SW2]stp instance 2 root primary #交换机2为实例2的主根
SW3
[SW3]vlan batch 10 20
[SW3-GigabitEthernet0/0/3]port link-type access
[SW3-GigabitEthernet0/0/3]port default vlan 10
[SW3-GigabitEthernet0/0/4]port link-type access
[SW3-GigabitEthernet0/0/4]port default vlan 20
[SW3-GigabitEthernet0/0/2]port link-type trunk
[SW3-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
[SW3-GigabitEthernet0/0/1]port link-type trunk
[SW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
#对于实例1来讲,G2接口将会称为根端口的备份
[SW3]dis stp instance 1 brief
MSTID Port Role STP State Protection
1 GigabitEthernet0/0/1 ROOT FORWARDING NONE
1 GigabitEthernet0/0/2 ALTE DISCARDING NONE
1 GigabitEthernet0/0/3 DESI FORWARDING NONE
#对于实例2来讲,G4接口将会称为根端口的备份
[SW3]dis stp instance 2 brief
MSTID Port Role STP State Protection
2 GigabitEthernet0/0/1 ALTE FORWARDING NONE
2 GigabitEthernet0/0/2 ROOT DISCARDING NONE
2 GigabitEthernet0/0/4 DESI FORWARDING NONE
实现Vlan间的通信
一、单臂路由
1、使用路由器子接口
1、为不同的子接口配置不同网段的IP地址
2、Vlan10的网关指向子接口10
3、Vlan20的网关指向子接口20
4、子接口可以识别VLan Tag
2、子接口处理流程
子接口10对应Vlan10
子接口20对应Vlan20
#发送过程
1、PC1发送的数据到达SW1的G0/0/1的时候,会被打上Vlan Tag
2、通过Trunk接口发送,保留Vlan Tag
3、将数据交给子接口1.10(管理员赋予1.10接口处理Tag 10的能力),剥离Tag
4、查看数据的目的IP地址,发现目的IP是PC2的IP
5、查看路由表,发现出接口为子接口1.20,交给子接口1.20
6、子接口1.20收到数据后,封装,给数据打上帧头(PC2的MAC,VLan Tag)
获取目标MAC需要子接口发送ARP解析请求
7、通过物理链路发送数据给SW1,通过Vlan20对应的接口发送给PC2
3、子接口配置实例
4、实验演示
SW1
dis version #查看设备型号版本号
G0/0/2和G0/0/3配置access接口,G0/0/1配置Trunk接口
R1
[R1]int g0/0/0.10
[R1-GigabitEthernet0/0/0.10]ip addr 192.168.10.254 24
[R1-GigabitEthernet0/0/0.10]dot1q termination vid 10 #接口能处理的Vlan的ID
[R1-GigabitEthernet0/0/0.10]int g0/0/0.20
[R1-GigabitEthernet0/0/0.20]ip addr 192.168.20.254 24
[R1-GigabitEthernet0/0/0.20]dot1q termination vid 20
#配置完成后,30s内PC1ping不通自己的网关,是因为交换机接口达到转发状态需要30S的时间。配置成边缘端口就不需要等待时间
[R1-GigabitEthernet0/0/0.10]arp broadcast enable #子接口能够主动发送ARP请求来做ARP解析
[R1-GigabitEthernet0/0/0.10]int g0/0/0.20
[R1-GigabitEthernet0/0/0.20]arp broadcast enable #子接口能够主动发送ARP请求来做ARP解析
#配置完成后,就会发送ARP请求,确定对方的MAC地址,使得Vlan10可以访问Vlan20
二、三层交换机和VLANIF接口
1、概念
将单臂路由的子接口概念转化为IF接口
IF接口的编号必须与对应的Vlan相同
交换机维护MAC表、ARP表、路由表
2、转发流程
①
PC1通过本地IP地址、本地掩码、对端IP地址进行计算,发现目的设备PC2与自身不在同一个网段,判断该通信为三层通信,将去往PC2的流量发给网关。
PC1发送的数据帧:源MAC = MAC1,目的MAC = MAC2。
②
交换机收到PC1发送的去往PC2的报文,经解封装发现目的MAC为VLANIF10接口的MAC地址,将报文交给路由模块继续处理。
③
路由模块解析发现目的IP为192.168.20.2,非本地接口存在的IP地址,因此需要对该报文三层转发。查找路由表后,匹配中VLANIF20产生的直连路由。
④
因为匹配的为直连路由,说明已经到达最后一跳,所以交换机在ARP表中查找192.168.20.2,获取192.168.20.2的MAC地址,交由交换模块重新封装为数据帧。
⑤
交换模块查找MAC地址表以明确报文出接口、是否需要携带VLAN Tag。最终交换模块发送的数据帧:源MAC = MAC2,目的MAC = MAC3,VLAN Tag = None。
3、VLANIF配置示例
interface vlanif vlan-id命令用来创建VLANIF接口并进入到VLANIF接口视图。vlan-id表示与VLANIF接口相关联的VLAN编号。VLANIF接口的IP地址作为主机的网关IP地址,和主机的IP地址必须位于同一网段。
4、实验演示
SW1
#基础配置(Vlan省略)
[SW1]int vlan 10 #创建VLANIF10
[SW1-Vlanif10]ip addr 192.168.10.253 24
[SW1-Vlanif10]int vlan 20
[SW1-Vlanif20]ip addr 192.168.20.253 24
[SW1-Vlanif20]dis ip int brief #查看当前交换机的启用的IF接口
Interface IP Address/Mask Physical Protocol
MEth0/0/1 unassigned down down
NULL0 unassigned up up(s)
Vlanif1 unassigned up down
Vlanif10 192.168.10.253/24 up up
Vlanif20 192.168.20.253/24 up up
测试配置
实现SW1和AR1通信
- 原理
单独配置一个Vlan 用于设备间的互
- SW1
[SW1]vlan 88 #单独配置一个Vlan
[SW1-vlan88]q
[SW1]int vlan 88
[SW1-Vlanif88]ip addr 192.168.88.1 24
#把G0/0/1划分到Vlan88
[SW1]clear configuration interface g0/0/1
[SW1-GigabitEthernet0/0/1]undo shutdown
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 99
- R1
[R1-GigabitEthernet0/0/0]ip addr 192.168.88.1 24
[R1]ping 192.168.88.1
PING 192.168.88.1: 56 data bytes, press CTRL_C to break
Reply from 192.168.88.1: bytes=56 Sequence=1 ttl=255 time=10 ms
Reply from 192.168.88.1: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 192.168.88.1: bytes=56 Sequence=3 ttl=255 time=1 ms
Reply from 192.168.88.1: bytes=56 Sequence=4 ttl=255 time=1 ms
Reply from 192.168.88.1: bytes=56 Sequence=5 ttl=255 time=1 ms
--- 192.168.88.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/2/10 ms
5、拓展问题
①、交换机维护了几张表
- 交换机维护了三张表,分别是MAC地址表、ARP表、路由表
[SW1]dis mac-address #查看MAC地址表
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-983b-49b2 20 - - GE0/0/3 dynamic 0/-
5489-98b0-128c 10 - - GE0/0/2 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2
[SW1]dis arp #查看ARP表
IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE
VLAN
------------------------------------------------------------------------------
192.168.10.253 4c1f-cc51-7d75 I - Vlanif10
192.168.10.1 5489-98b0-128c 18 D-0 GE0/0/2
10
192.168.20.253 4c1f-cc51-7d75 I - Vlanif20
192.168.20.1 5489-983b-49b2 18 D-0 GE0/0/3
20
------------------------------------------------------------------------------
Total:4 Dynamic:2 Static:0 Interface:2
[SW1]dis ip routing-table #查看路由表
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost Flags NextHop Interface
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.10.0/24 Direct 0 0 D 192.168.10.253 Vlanif10
192.168.10.253/32 Direct 0 0 D 127.0.0.1 Vlanif10
192.168.20.0/24 Direct 0 0 D 192.168.20.253 Vlanif20
192.168.20.253/32 Direct 0 0 D 127.0.0.1 Vlanif20
②、交换机如何决定三层路由还是二层转发
交换机收到PC1发送的去往PC2的报文,经解封装发现目的MAC为VLANIF10接口的MAC地址,将报文交给路由模块继续处理。所以是三层路由
#什么时候二层转发
交换模块解析数据帧的帧头的时候,发现目的MAC不是我交换设备三层接口的MAC,就不会交给路由模块处理。
会查看Vlan10的MAC地址表,如果MAC表里没有此条目就会在Vlan10接口泛洪(未知单播)
VRRP原理与配置
一、VRRP简介
1、定义
虚拟路由冗余协议VRRP通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
2、目的
当网关发生故障时,本网段内所有以网关为缺省路由的主机将无法与外部网络通信。增加出口网关是提高系统可靠性的常见方法,此时如何在多个出口之间进行选路就成为需要解决的问题。
VRRP的出现很好的解决了这个问题。VRRP能够在不改变组网的情况下,采用将多台路由设备组成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现默认网关的备份。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
3、名词解释
- VRRP路由器:运行VRRP协议的设备,它可能属于一个或多个虚拟路由器,以组的形式呈现,如R1和R2
- VRID:虚拟路由器的标识。如R1和R2组成的虚拟路由器的VRID为1。一个VRID组中只能出现一台Master路由器
- 虚拟路由器:又称VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。如RouterA和RouterB共同组成了一个虚拟路由器。是VRRP虚拟出来的逻辑设备(拥有虚拟IP和虚拟MAC)
- 虚拟IP地址:虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。如RouterA和RouterB组成的虚拟路由器的虚拟IP地址为10.1.1.10/24。
- 虚拟MAC地址:虚拟路由器根据虚拟路由器ID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01xx,其中xx为VRID(VRRP for IPv4);00-00-5E-00-02xx,其中xx为VRID(VRRP for IPv6)。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。如R1和R2组成的虚拟路由器的VRID为1,因此这个VRRP备份组的MAC地址为00-00-5E-00-01-01。
- Master路由器:承担转发报文任务的VRRP设备(如R1)只有Master路由器才会响应针对虚拟IP地址的ARP Request。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况。
- Backup路由器:一组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备(如R2),Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作。
- Priority:优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255,值越大越优先,值相等则比较接口IP地址大小,大者优先。
- IP地址拥有者:如果一个VRRP设备将虚拟路由器IP地址作为真实的接口地址,则该设备被称为IP地址拥有者。该设备的Priority为255
4、VRRP报文格式
VRRP协议报文用来将Master设备的优先级和状态通告给同一备份组的所有Backup设备。
5、VRRP定时器
在VRRP协议工作过程中,VRRP定义了两个定时器:
-
ADVER_INTERVAL定时器:Master发送VRRP通告报文时间周期,缺省值为1秒。
-
MASTER_DOWN定时器:Backup设备监听该定时器超时后,会变为Master状态。
-
MASTER_DOWN定时器计算公式如下:
-
MASTER_DOWN =(3* ADVER_INTERVAL)+ Skew_time(偏移时间)
-
其中,Skew_Time=(256–Priority)/256
-
MASTER_DOWN越小,越优先切换到Master设备
-
-
6、VRRP的三种状态
#Master转换为Backup的三种情况
1、定时器超时
2、管理员将Master的接口shutdown的时候,Master会给Backup的设备发送一个优先级为0的通告报文
3、优先级收到比本地报文小的报文(关闭抢占的话就不会切换)
7、两种状态对比
二、VRRP的工作流程
- VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
- Master设备周期性向备份组内所有Backup设备发送VRRP通告报文,以公布其配置信息(优先级等)和工作状况。
- 如果Master设备出现故障,VRRP备份组中的Backup设备将根据优先级重新选举新的Master。
- VRRP备份组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
- 原Master设备故障恢复时,若该设备为IP地址拥有者(优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
- Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
- 抢占模式:在抢占模式下,如果Backup设备的优先级比当前Master设备的优先级高,则主动将自己切换成Master。
- 非抢占模式:在非抢占模式下,只要Master设备没有出现故障,Backup设备即使随后被配置了更高的优先级也不会成为Master设备。
由此可见,为了保证Master设备和Backup设备能够协调工作,VRRP需要实现以下功能:
- Master设备的选举。
- Master设备状态的通告。
下面将从上述两个方面详细介绍VRRP的工作过程。
-
Master设备的选举
VRRP根据优先级来确定虚拟路由器中每台设备的角色(Master设备或Backup设备)。优先级越高,则越有可能成为Master设备。
初始创建的VRRP设备工作在Initialize状态,收到接口Up的消息后,如果设备的优先级为255,则直接成为Master设备;如果设备的优先级小于255,则会先切换至Backup状态,待Master_Down_Interval定时器超时后再切换至Master状态。首先切换至Master状态的VRRP设备通过VRRP通告报文的交互获知虚拟设备中其他成员的优先级,进行Master的选举:
- 如果VRRP报文中Master设备的优先级高于或等于自己的优先级,则Backup设备保持Backup状态。
- 如果VRRP报文中Master设备的优先级低于自己的优先级,采用抢占方式的Backup设备将切换至Master状态,采用非抢占方式的Backup设备仍保持Backup状态。
- 如果多个VRRP设备同时切换到Master状态,通过VRRP通告报文的交互进行协商后,优先级较低的VRRP设备将切换成Backup状态,优先级最高的VRRP设备成为最终的Master设备;优先级相同时,VRRP设备上VRRP备份组所在接口主IP地址较大的成为Master设备。
- 如果创建的VRRP设备为IP地址拥有者,收到接口Up的消息后,将会直接切换至Master状态。
-
Master设备状态的通告
Master设备周期性地发送VRRP通告报文,在VRRP备份组中公布其配置信息(优先级等)和工作状况。Backup设备通过接收到VRRP报文的情况来判断Master设备是否工作正常。
- 当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到Master_Down_Interval定时器超时。这个切换的时间称为Skew time,计算方式为:(256-Backup设备的优先级)/256,单位为秒。
- 当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到Master_Down_Interval定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。其中,Master_Down_Interval定时器取值为:3×Advertisement_Interval+Skew_time,单位为秒。
三、VRRP主备选举
1、VRRP优先级不相等的情况
初始创建VRRP的设备工作在Initialize状态,收到接口Up的消息后,若此设备的优先级小于255,则会先切换至Backup状态,等待MASTER_DOWN定时器超时后再切换至Master状态。
优先级高的设备先启动,优先级低的设备后启动,则优先级高的设备先进入Master状态,优先级低的设备收到高优先级的VRRP通告报文,自己仍处于Backup状态。
如果优先级低的先启动,优先级高的后启动,则优先级低的先由Backup状态切换为Master状态,优先级高的设备收到优先级低的VRRP通告报文,重新进行选举,将优先级高的设备切换为Master状态。
发送免费ARP可以让交换机刷新MAC地址表,当PC1发送数据给虚拟网关的时候,交换机可以将数据引导到Master设备
2、VRRP优先级相等的情况
#虽然两个设备同时切换为Master但是经过报文交换后R2成为Master,R1变为Backup
3、IP地址拥有者的情况
四、VRRP主备切换
1、主–>备
2、备–>主
#开启抢占模式的VRRP备份组,当主备进行切换时,总共时长为:
3xAdver_Interval(Master发送VRRP通告报文时间周期)+Skew_time(偏移时间)+Delay_time(抢占时间)
#在抢占模式下,当Master的设备状态不稳定或者网络质量差时,会导致VRRP备份组频繁切换,从而引发终端ARP表项频繁刷新,为缓解此问题,通常设置抢占延时定时器,通过MASTER_INTERVAL定时器超时时间加上延时时间,确定状态稳定后,再进行主备回切。
1、如果关闭抢占模式,当R1故障的时候,因为MASTER_DOWN超时,所以R2会切换到Master
2、如果将R1的优先级改为100,关闭抢占模式,R2则不会抢占
3、抢占时延默认为0
五、VRRP特性
1、VRRP负载分担
2、VRRP监视上行端口
如果用户未配置VRRP监视上行端口,则当VRRP备份组中的Master设备R1的上行接口或者链路出现故障时,VRRP备份组无法感知,Master无法向外转发流量。但是由于主备不会发生切换,导致出现流量黑洞。
上行端口:去往互联网方向
监听上接口,当上接口出现故障的时候,自动降低优先级
3、VRRP和BFD联动
感知非直连端口的错误,当非直连接出先故障的时候,自降优先级
默认300ms探测一次,1s
BFD需要双向配置R1和上行设备都需要配置
4、VRRP与MSTP结合应用
MSTP是将一个或多个VLAN映射到一个生成树的实例,若干个VLAN共用一个生成树,MSTP可以实现负载均衡。
VRRP配置网关可以灵活根据网络拓扑变化而自动切换,提高网络可靠性。
VRRP+MSTP可以在实现负载分担的同时保证网络冗余备份。
Vlan10的根桥和Vlan10的Master要在相同的位置进行部署(相同设备),否则会出现次优问题
六、基本配置命令
1、创建VRRP备份组并给备份组配置虚拟IP地址
[interface-GigabitEthernet0/0/0] vrrp vrid 10 virtual-ip 192.168.1.254 #各备份组之间的虚拟IP地址不能重复;同属一个备份组的设备接口需使用相同的VRID。
2、配置路由器在备份组中的优先级
[interface-GigabitEthernet0/0/0] vrrp vrid v10 priority 120 #注意:通常情况下,Master设备的优先级应高于Backup设备。
3、配置备份组中设备的抢占延迟时间
[interface-GigabitEthernet0/0/0] vrrp vrid 10 preempt-mode timer delay 10 #设置vrid为10的抢占时延为10s
4、配置VRRP备份组中设备采用非抢占模式
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id preempt-mode disable #关闭抢占,通常开启
5、配置VRRP备份组监视接口
[interface-GigabitEthernet0/0/0] vrrp vrid 10 track interface g0/0/2 reduced 30 #发现G0/0/2接口故障的时候,降低自身30优先级(在主设备作此配置)
#可配置设备当检测到上行接口或链路出现故障时,增加或者减少自身优先级,IP地址拥有者和Eth-trunk成员口不允许配置VRRP监视功能。
6、配置VRRP备份组联动普通BFD会话
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id track bfd-session { bfd-session-id | session-name bfd-configure-name } [ increased value-increased | reduced value-reduced ]
#如果选择参数session-name bfd-configure-name,可以绑定静态BFD会话或者标识符自协商的静态BFD会话。如果选择参数bfd-session-id,只能绑定静态BFD会话。
七、VRRP基础配置实例
1、配置
优先级不配置默认为100
抢占时延默认为0s
2、验证
八、VRRP实验
1、配置
SW1
#配置链路聚合
[SW1]int Eth-Trunk 1
[SW1-Eth-Trunk1]trunkport g0/0/3
[SW1-Eth-Trunk1]trunkport g0/0/4
[SW1-Eth-Trunk1]port link-type trunk #在聚合接口下作接口配置
[SW1-Eth-Trunk1]port trunk allow-pass vlan 10 20
#配置Vlan和接口类型
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
#配置MSTP
[SW1]stp region-configuration #进入MSTP的配置视图
[SW1-mst-region]region-name simp #MSTP的域名
[SW1-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW1-mst-region]instance 2 vlan 20
[SW1-mst-region]active region-configuration
#设置SW1为实例1的根桥
[SW1]stp instance 1 root primary
#设置SW1为实例2的备份根桥
[SW1]stp instance 2 root secondary
#配置VlanIF
[SW1]int vlan 10
[SW1-Vlanif10]ip addr 192.168.10.253 24
[SW1-Vlanif10]int vlan 20
[SW1-Vlanif20]ip addr 192.168.20.253 24
#配置与路由器互联接口
[SW1]vlan 11
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 11
[SW1-GigabitEthernet0/0/2]int vlan 11
[SW1-Vlanif11]ip addr 10.1.11.2 24
#配置VRRP
[SW1]int Vlanif 10
[SW1-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254
[SW1-Vlanif10]vrrp vrid 10 priority 120 #调整优先级
[SW1-Vlanif10]vrrp vrid 10 preempt-mode timer delay 10 #抢占时延设置为10s
[SW1-Vlanif10]int vlan 20
[SW1-Vlanif20]vrrp vrid 20 virtual-ip 192.168.20.254
#查看VRRP配置
[SW1-Vlanif20]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Master Vlanif10 Normal 192.168.10.254
20 Backup Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:1 Backup:1 Non-active:0
#配置路由
[SW1]ip route-static 1.1.1.1 32 10.1.11.1
#VRRP检测上行接口
[SW1-Vlanif10]vrrp vrid 10 track interface g0/0/2 reduced 30 #如果发现G2接口故障,优先级降低30,只在Master接口上配置
#生成树优化,Access接口开启边缘端口特性
[SW1-GigabitEthernet0/0/2]stp edged-port enable
SW2
#配置链路聚合
[SW2]int Eth-Trunk 1
[SW2-Eth-Trunk1]trunkport g0/0/3
[SW2-Eth-Trunk1]trunkport g0/0/4
[SW2-Eth-Trunk1]port link-type trunk
[SW2-Eth-Trunk1]port trunk allow-pass vlan 10 20
#配置Vlan和接口类型
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
#配置MSTP
[SW2]stp region-configuration #进入MSTP的配置视图
[SW2-mst-region]region-name simp #MSTP的域名
[SW2-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW2-mst-region]instance 2 vlan 20
[SW2-mst-region]active region-configuration
#设置SW2为实例2的根桥
[SW2]stp instance 2 root primary
#设置SW2为实例1的备份根桥
[SW2]stp instance 1 root secondary
#配置VlanIF
[SW2]int vlan 10
[SW2-Vlanif10]ip addr 192.168.10.252 24
[SW2-Vlanif10]int vlan 20
[SW2-Vlanif20]ip addr 192.168.20.252 24
#配置与路由器互联接口
[SW2]vlan 12
[SW2-GigabitEthernet0/0/2]port link-type access
[SW2-GigabitEthernet0/0/2]port default vlan 12
[SW2-GigabitEthernet0/0/2]int vlan 12
[SW2-Vlanif12]ip addr 10.1.12.2 24
#配置VRRP
[SW2]int vlan 10
[SW2-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254 #备设备只用配一条命令
[SW2]int vlan 20
[SW2-Vlanif20]vrrp vrid 20 virtual-ip 192.168.20.254
[SW2-Vlanif20]vrrp vrid 20 priority 120
#查看VRRP配置
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Backup Vlanif10 Normal 192.168.10.254
20 Master Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:1 Backup:1 Non-active:0
#配置路由
[SW2]ip route-static 1.1.1.1 32 10.1.12.1
#VRRP检测上行接口
[SW2-Vlanif20]vrrp vrid 20 track interface g0/0/2 reduced 30 #如果发现G2接口故障,优先级降低30,只在Master接口上配置
#生成树优化,Access接口开启边缘端口特性
[SW2-GigabitEthernet0/0/2]stp edged-port enable
SW3
#配置Vlan和接口类型
[SW3]vlan batch 10 20
[SW3-GigabitEthernet0/0/1]port link-type access
[SW3-GigabitEthernet0/0/1]port default vlan 10
[SW3-GigabitEthernet0/0/2]port link-type access
[SW3-GigabitEthernet0/0/2]port default vlan 20
[SW3-GigabitEthernet0/0/4]port link-type trunk
[SW3-GigabitEthernet0/0/4]port trunk allow-pass vlan 10 20
[SW3-GigabitEthernet0/0/3]port link-type trunk
[SW3-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20
#查看配置信息
[SW3]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 access 10 -
GigabitEthernet0/0/2 access 20 -
GigabitEthernet0/0/3 trunk 1 1 10 20
GigabitEthernet0/0/4 trunk 1 1 10 20
#配置MSTP
[SW3]stp region-configuration #进入MSTP的配置视图
[SW3-mst-region]region-name simp #MSTP的域名
[SW3-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW3-mst-region]instance 2 vlan 20
[SW3-mst-region]active region-configuration
#生成树优化,Access接口开启边缘端口特性
[SW3-GigabitEthernet0/0/1]stp edged-port enable
[SW3-GigabitEthernet0/0/2]stp edged-port enable
R1
#配置接口
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip addr 10.1.11.1 24 #与SW1互通
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip addr 10.1.12.1 24 #与SW2互通
#配置环回接口,用于作连通性测试
[R1-GigabitEthernet0/0/1]int lo 0
[R1-LoopBack0]ip add 1.1.1.1 32
#配置浮动静态路由
[R1]ip route-static 192.168.10.0 24 10.1.11.2 #设置主路由
[R1]ip route-static 192.168.10.0 24 10.1.12.2 preference 61 #设置备份路由,备份路由优先级要比主路由大(值越大越不优先),主路由正常的情况下不显示备份路由
[R1]ip route-static 192.168.20.0 24 10.1.12.2
[R1]ip route-static 192.168.20.0 24 10.1.11.2 preference 61
#查看IP路由表
[R1]dis ip routing-table
192.168.10.0/24 Static 60 0 RD 10.1.11.2 GigabitEthernet0/0/0
192.168.20.0/24 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/1
2、测试
- SW1上的2接口shutdown后
只丢弃了一个数据包,就完成了切换
#此时SW1两个接口都进入了Backup状态
[SW1-GigabitEthernet0/0/2]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Backup Vlanif10 Normal 192.168.10.254
20 Backup Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:0 Backup:2 Non-active:0
#SW2接口都进入了Master状态
[SW2-Vlanif20]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Master Vlanif10 Normal 192.168.10.254
20 Master Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:2 Backup:0 Non-active:0
- 当SW1接口恢复正常后
[SW1-GigabitEthernet0/0/2]undo shutdown
#10s以后,恢复之前状态,实现0丢包(如果没有开启边缘端口的话,会出现丢包现象)
[SW1]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Master Vlanif10 Normal 192.168.10.254
20 Backup Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:1 Backup:1 Non-active:0
3、抓包情况
- G0/0/0
- G0/0/1
- 当SW1G0/0/2接口损坏时R1G0/0/1接口
所有流量都通过g0/0/2接口转发
九、BFD
1、BFD协议简介
①、背景
双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。
为了保护关键应用,网络中会设计有一定的冗余备份链路,网络发生故障时就要求网络设备能够快速检测出故障并将流量切换至备份链路以加快网络收敛速度。目前有些链路具备硬件检测机制来快速故障检测,但某些链路(如以太网链路)不具备这样的检测功能。这种情况下就需要上层协议自身的机制来进行故障检测。但大部分协议如OSPF,BGP等检测链路故障的速度都很慢,最快也需要1s的时间,而且这些功能只针对本协议有效,无法为其他的协议或者应用提供快速检测机制。这对于某些实时性较高的上层应用如音频,视频等是不能接受的。
BFD就是在这种背景下产生的,它提供了一个通用的标准化的介质无关和协议无关的检测机制。
②、原理
BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。
2、BFD实验
①、实验说明
在SW1上探测R1 G0/0/0接口的连通性
在R1上探测SW1 VlanIf11接口的连通性
SW1:
bfd tor1 bind peer-ip 10.1.11.1
discriminator local 10
discriminator remote 20
min-tx-interval 300
min-rx-interval 300
commit
R1:
bfd tosw1 bind peer-ip 10.1.11.2
discriminator local 20
discriminator remote 10
min-tx-interval 300
min-rx-interval 300
commit
关联BFD
SW1: vrrp vrid 10 track bfd-session 10 reduced 30
R1:ip route-static 192.168.10.0 255.255.255.0 10.1.11.2 track bfd-session tosw1-2
当r1的g0/0/0接口或者sw1的vlanif11接口故障时,PC都可以ping
通1.1.1.1
如果sw1的vlanif10接口故障,pc将无法ping通1.1.1.1,原因是R1的路由
不能正常进行切换
#此时,当HUB的E0/0/1接口损坏时,SW1就无法感知,SW1仍是Master
[SW1]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Master Vlanif10 Normal 192.168.10.254
20 Backup Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:1 Backup:1 Non-active:0
②、配置BFD
配置BFD需要双向配置(SW1和R1)
会探测到达目标节点整个路径的连通性
- SW1
[SW1]bfd #启用BFD
[SW1-bfd]q
[SW1]bfd tor1 bind peer-ip 10.1.11.1 #为bfd命名为 tor1 ,探测的ip为1.1.1.1
#建立标识符信息
[SW1-bfd-session-tor1]discriminator local 10 #本地为10(R1上的本地为20)
[SW1-bfd-session-tor1]discriminator remote 20 #对端为20(R1上的对端为10)
[SW1-bfd-session-tor1]min-rx-interval 300 #配置最小接收间隔
[SW1-bfd-session-tor1]min-tx-interval 300 #最小的发送间隔
[SW1-bfd-session-tor1]commit #使配置生效
#查看bdf配置
[SW1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------
10 20 10.1.11.1 Up S_IP_PEER -
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
#BFD与VRRP进行关联
[SW1-Vlanif10]vrrp vrid 10 track bfd-session 10 reduced 30 #本地标识符为10,发现问题降低30优先级
#查看BFD信息的详细信息
[SW1]dis bfd session all verbose
--------------------------------------------------------------------------------
Session MIndex : 257 (Multi Hop) State : Up Name : tor1
--------------------------------------------------------------------------------
Local Discriminator : 10 Remote Discriminator : 20 #本地标识符 远端标识符
Session Detect Mode : Asynchronous Mode Without Echo Function #检测模式为异步模式 (两边探测的时候为独立探测)
BFD Bind Type : Peer IP Address
Bind Session Type : Static
Bind Peer IP Address : 10.1.11.1
Bind Interface : -
Track Interface : -
FSM Board Id : 0 TOS-EXP : 7
Min Tx Interval (ms) : 300 Min Rx Interval (ms) : 300 #发送时间间隔,接受时间间隔
Actual Tx Interval (ms): 300 Actual Rx Interval (ms): 300
Local Detect Multi : 3 Detect Interval (ms) : 900 #3倍检测周期 900毫秒就可检测连通性问题
Echo Passive : Disable Acl Number : -
Destination Port : 3784 TTL : 254 #BFD端口号3784 (UDP)
Proc Interface Status : Disable
WTR Interval (ms) : -
Active Multi : 3
Last Local Diagnostic : No Diagnostic
Bind Application : No Application Bind
Session TX TmrID : 1036 Session Detect TmrID : 1037
Session Init TmrID : - Session WTR TmrID : -
Session Echo Tx TmrID : -
PDT Index : FSM-0 | RCV-0 | IF-0 | TOKEN-0
Session Description : -
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
查看VRRP信息
[SW1-Vlanif10]dis vrrp
Vlanif10 | Virtual Router 10
State : Master
Virtual IP : 192.168.10.254
Master IP : 192.168.10.253
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 10 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Track IF : GigabitEthernet0/0/2 Priority reduced : 30 #监测上行接口
IF state : UP
Track BFD : 10 Priority reduced : 30 #监测BFD会话
BFD-session state : UP
Create time : 2022-03-31 16:46:03 UTC-08:00
Last change time : 2022-03-31 17:50:48 UTC-08:00
Vlanif20 | Virtual Router 20
State : Backup
Virtual IP : 192.168.20.254
Master IP : 192.168.20.252
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 120
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-0114
Check TTL : YES
Config type : normal-vrrp
Create time : 2022-03-31 16:50:22 UTC-08:00
Last change time : 2022-03-31 17:02:09 UTC-08:00
- R1
[R1]bfd
[R1][R1]bfd tosw1 bind peer-ip 10.1.11.2 #为bfd命名为tosw1,探测的ip为10.1.11.2
[R1-bfd-session-tosw1]discriminator local 20
[R1-bfd-session-tosw1]discriminator remote 10
[R1-bfd-session-tosw1]min-rx-interval 300
[R1-bfd-session-tosw1]min-tx-interval 300
[R1-bfd-session-tosw1]commit #使配置生效
#查看bdf配置
[R1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------
20 10 10.1.11.2 Up S_IP_PEER -
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
#BFD与静态路由进行绑定,当监测到故障,主路由也会失效
[R1]ip route-static 192.168.10.0 255.255.255.0 10.1.11.2 track bfd-session tosw1
③、测试
当R1的G0/0/1接口shutdown的时候
接上述实验,当R1的G0/0/1接口没有IP的时候也能通
同理,Vlan11Down以后也可以实现连通
Vlan10 Down以后,虽然可以切换,但是路由没有切换,所以不能连通
3、拓展
①、实验目标
使整条链路无论是Vlan10、Vlan11出现问题,都可以检测到
第二种方案:
在sw1上以vlanif10接口IP为源去探测R1的接口IP地址
在R1上去探测vlanif10接口的IP地址
sw1:
bfd tor1-2 bind peer-ip 10.1.11.1 source-ip 192.168.10.253
discriminator local 100
discriminator remote 200
commit
int vlanif 10
vrrp vrid 10 track bfd-session 100 reduced 30
r1:
bfd tosw1-2 bind peer-ip 192.168.10.253
discriminator local 200
discriminator remote 100
commit
ip route-static 192.168.10.0 255.255.255.0 10.1.11.2
track bfd-session tosw1-2
当r1的g0/0/0接口或sw1的vlanif11接口、并且sw1的vlanif10接口故障时
pc都可以正常ping通1.1.1.1
②、配置
- SW1
[SW1]bfd tor1-2 bind peer-ip 10.1.11.1 source-ip 192.168.10.253
[SW1-bfd-session-tor1-2]discriminator local 100
[SW1-bfd-session-tor1-2]discriminator remote 200
[SW1-bfd-session-tor1-2]commit
[SW1-bfd-session-tor1-2]dis bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------
10 20 10.1.11.1 Up S_IP_PEER -
100 200 10.1.11.1 Up S_IP_PEER - #启动成功
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 2/0
#此时配置完成(删除普通实验的绑定也可以生效)
#删除之前配置
[SW1-Vlanif10]undo vrrp vrid 10 track bfd-session
[SW1-Vlanif10]undo vrrp vrid 10 track interface
#绑定BFD
[SW1-Vlanif10]vrrp vrid 10 track bfd-session 100 reduced 30
- R1
[R1]bfd tosw1-2 bind peer-ip 192.168.10.253
[R1-bfd-session-tosw1-2]discriminator local 200
[R1-bfd-session-tosw1-2]discriminator remote 100
[R1-bfd-session-tosw1-2]commit
#覆盖之前的关联
[R1]ip route-static 192.168.10.0 255.255.255.0 10.1.11.2 track bfd-session tosw1-2
③、测试
-
当R1的G0接口Shutdown后 #故障后 [SW1-Vlanif10]dis vrrp brief VRID State Interface Type Virtual IP ---------------------------------------------------------------- 10 Backup Vlanif10 Normal 192.168.10.254 20 Backup Vlanif20 Normal 192.168.20.254 ---------------------------------------------------------------- Total:2 Master:0 Backup:2 Non-active:0 #故障恢复后 [SW1-Vlanif10]dis vrrp brief VRID State Interface Type Virtual IP ---------------------------------------------------------------- 10 Master Vlanif10 Normal 192.168.10.254 20 Backup Vlanif20 Normal 192.168.20.254 ---------------------------------------------------------------- Total:2 Master:1 Backup:1 Non-active:0
-
在交换机上ShutdownVlan11接口
-
Vlan10 Shutdown以后
访问控制列表(ACL)
一、ACL简介
1、定义
访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。
ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。
2、目的
- 企业重要服务器资源被随意访问,企业机密信息容易泄露,造成安全隐患。
- Internet病毒肆意侵略企业内网,内网环境的安全性堪忧。
- 网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。
二、ACL原理描述
1、ACL基本原理
ACL编号:用于标识ACL,表明该ACL是数字型ACL。
- 基本ACL
- 高级ACL
- 二层ACL
- 用户ACL
规则:即描述报文匹配条件的判断语句。
- 规则编号:用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配
- 动作:包括permit/deny两种动作,表示允许/拒绝。
- 匹配项:ACL定义了极其丰富的匹配项。例子中体现的源地址,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)、三层报文信息(如目的地址、协议类型)以及四层报文信息(如TCP/UDP端口号)等
默认:rule permit source any
2、ACL的匹配机制
- 备将报文与ACL规则进行匹配时,遵循“一旦命中即停止匹配”的机制
三、ACL的组成
1、规则编号
设置步长的作用,在于方便后续在旧规则之间插入新的规则。
2、通配符
- IP地址与通配符掩码共同确定的地址范围
IP地址 | IP地址通配符掩码 | 确定的地址范围 |
---|---|---|
0.0.0.0 | 255.255.255.255 | 任意IP地址 |
172.18.0.0 | 0.0.255.255 | 172.18.0.0/16网段的IP地址 |
172.18.5.2 | 0.0.0.0 | 仅172.18.5.2这一个主机地址 |
172.18.8.0 | 0.0.0.7 | 172.18.8.0/29网段的IP地址 |
172.18.8.8 | 0.0.0.7 | 172.18.8.8/29网段的IP地址 |
10.1.2.0 | 0.0.254.255(通配符掩码中的1和0不连续) | 10.1.0.0/24~10.1.254.0/24网段之间且第三个字节为偶数的IP地址,如10.1.0.0/24、10.1.2.0/24、10.1.4.0/24、10.1.6.0/24等。 |
0表示严格匹配,1表示随机分配
网络号:相同为保留,不同位置0
通配符:严格匹配置0,任意匹配置1(相同位置0,不同位置1,主机位置1)
四、ACL的分类
高级ACL
1、允许源10.1.1.0到10.1.3.0的流量通过
2、允许10.1.2.0去访问10.1.3.0的21号端口的流量
五、ACL基础配置命令
1、基本ACL
①、创建基本ACL
[Huawei] acl [ number ] acl-number [ match-order config ] #使用编号(2000~2999)创建一个数字型的基本ACL,并进入基本ACL视图。
#举例
[Huawei] acl 2000
acl-number:指定访问控制列表的编号。
match-order config:指定ACL规则的匹配顺序,config表示配置顺序。
[Huawei] acl name acl-name { basic | acl-number } [ match-order config ] #使用名称创建一个命名型的基本ACL,并进入基本ACL视图。
acl-name:指定创建的ACL的名称。
basic:指定ACL的类型为基本ACL。
#配置基于时间的ACL规则
创建时间段working-time(周一到周五每天8:00到18:00),并在名称为work-acl的ACL中配置规则,在working-time限定的时间范围内,拒绝源IP地址是192.168.1.0/24网段地址的报文通过。
<Huawei> system-view
[Huawei] time-range working-time 8:00 to 18:00 working-day
[Huawei] acl name work-acl basic
[Huawei-acl-basic-work-acl] rule deny source 192.168.1.0 0.0.0.255 time-range working-time
②、配置基本ACL的规则
[Huawei-acl-basic-2000] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any } | time-range time-name ] #在基本ACL视图下,通过此命令来配置基本ACL的规则。
#举例
[Huawei-acl-basic-2000] rule deny source 192.168.10 0.0.0.255
rule-id:指定ACL的规则ID。
deny:指定拒绝符合条件的报文。
permit:指定允许符合条件的报文。
source { source-address source-wildcard | any }:指定ACL规则匹配报文的源地址信息。如果不配置,表示报文的任何源地址都匹配。其中:
source-address:指定报文的源地址。
source-wildcard:指定源地址通配符。
any:表示报文的任意源地址。相当于source-address为0.0.0.0或者source-wildcard为255.255.255.255。
time-range time-name:指定ACL规则生效的时间段。其中,time-name表示ACL规则生效时间段名称。如果不指定时间段,表示任何时间都生效。
③、接口应用
[Router] interface GigabitEthernet 0/0/1 #进入对应接口
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000 #在入方向应用ACL2000
2、高级ACL
①、创建高级ACL
[Huawei] acl [ number ] acl-number [ match-order config ] #使用编号(3000~3999)创建一个数字型的高级ACL,并进入高级ACL视图。
[Huawei] acl name acl-name { advance | acl-number } [ match-order config ] #使用名称创建一个命名型的高级ACL,进入高级ACL视图。
②、配置基本ACL的规则
-
根据IP承载的协议类型不同,在设备上配置不同的高级ACL规则。对于不同的协议类型,有不同的参数组合。
-
当参数protocol为IP时,高级ACL的命令格式为
#在高级ACL视图下,通过此命令来配置高级ACL的规则。 rule [ rule-id ] { deny | permit } ip [ destination { destination-address destination-wildcard | any } | source { source-address source-wildcard |any } | time-range time-name | [ dscp dscp | [ tos tos | precedence precedence ] ] ]
-
当参数protocol为TCP时,高级ACL的命令格式为
#在高级ACL视图下,通过此命令来配置高级ACL的规则。 rule [ rule-id ] { deny | permit } { protocol-number | tcp } [ destination { destination-address destination-wildcard | any } | destination-port { eq port | gt port | lt port | range port-start port-end } | source { source-address source-wildcard | any } | source-port { eq port | gt port | lt port | range port-start port-end } | tcp-flag { ack | fin | syn } * | time-range time-name ] *
-
六、ACL基础配置实例
1、基本ACL
2、高级ACL
七、ACL实验
1、基本ACL配置(1)
①、实验目标
- PC1不可以Ping通PC2
②、配置
SW1
[SW1]acl 2000 #创建一个基本ACL
[SW1-acl-basic-2000]rule deny source 192.168.10.1 0 #禁止192.168.10.1数据
[SW1]traffic-filter vlan 20 outbound acl 2000 #在Vlan20的出方向应用ACL 2000(发送数据到Vlan20的出方向的时候,不放行数据)
③、测试
2、高级ACL配置(2)
①、实验目标
- PC到Server的访问
- 配置基本ACL,使得PC1无法与PC2通信
- 配置高级ACL,使得PC2无法Ping通www.yyb
②、配置
-
SW1
#配置接口类型 [SW1-GigabitEthernet0/0/1]port link-type access [SW1-GigabitEthernet0/0/1]port default vlan 10 [SW1-GigabitEthernet0/0/2]port link-type access [SW1-GigabitEthernet0/0/2]port default vlan 20 #配置VlanIf [SW1-Vlanif10]ip addr 192.168.10.254 24 [SW1-Vlanif20]ip addr 192.168.20.254 24 [SW1-Vlanif1]ip addr 10.1.11.2 24 #交换机默认存在一个Vlan1,并且所有接口都属于Vlan1 #配置静态路由 [SW1]ip route-static 0.0.0.0 0.0.0.0 10.1.11.1 #默认路由 #配置基本ACL(模拟器BUG) [SW1]acl name denypc1 basic #创建ACL [SW1-acl-basic-denypc1]rule 5 deny source 192.168.10.10 0 #配置规则 [SW1]traffic-filter vlan 20 outbound acl name denypc1 #应用ACL #配置高级ACL [SW1]undo traffic-filter vlan 20 outbound acl name denypc1 #取消基本ACL配置 [SW1]acl name yyb advance #创建ACL [SW1-acl-adv-yyb]rule deny ip source 192.168.10.10 0 destination 192.168.20.10 0 #设置规则 [SW1]traffic-filter vlan 10 inbound acl name yyb #应用ACL
-
R1
#配置接口IP [R1-GigabitEthernet0/0/0]ip addr 10.1.11.1 24 [R1-GigabitEthernet0/0/1]ip addr 10.1.1.1 24 #配置静态路由 [R1]ip route-static 192.168.0.0 16 10.1.11.2 #汇总路由 #配置环回接口 [R1]int lo 0 [R1-LoopBack0]ip addr 1.1.1.1 32 #配置ACL(实验目标3) [R1]acl 3000 #创建ACL [R1-acl-adv-3000]rule deny udp source 192.168.20.0 0.0.0.255 destination 10.1.1.10 0 destination-port eq 53 #配置ACL规则 [R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000 #应用ACL
③、测试
- 连通性
-
PC1访问PC2
PC1不能和PC2通信,但是都可以访问Server 此时PC2也不可以和PC1通信,因为Ping是双向的
-
PC2不可解析DNS
PC2虽然可以ping通1.1.1.1 ,和服务器地址10.1.1.10,但是不可以进行DNS解析 PC1一切正常
网络地址转换(NAT)
一、NAT概述
NAT是将IP数据报文头中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能。Basic NAT是实现一对一的IP地址转换,而NAPT可以实现多个私有IP地址映射到同一个公有IP地址上。
二、静态NAT
- 静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射
- 支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会转换成对应的公有地址。同时外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址
NAT实验
1、实验目标
- Client1可以成功访问Client2
- 公网的Client2可以访问内网的Client1
2、配置
-
R1
#配置IP地址 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip addr 192.168.10.254 24 [R1-GigabitEthernet0/0/0]int g0/0/2 [R1-GigabitEthernet0/0/2]ip addr 192.168.20.254 24 [R1-GigabitEthernet0/0/2]int g0/0/1 [R1-GigabitEthernet0/0/1]ip addr 100.1.12.254 24 #配置默认路由 [R1]ip route-static 0.0.0.0 0.0.0.0 100.1.12.2 #配置NAT [R1]acl 2000 [R1-acl-basic-2000]rule permit source 192.168.20.0 0.0.0.255 #匹配需要对那些流量作NAT转换 [R1-GigabitEthernet0/0/1]nat outbound 2000 #在公网接口下配置NAT 此时Client2就可以Ping通Client1 #Nat Sever #不能同时使用一个地址做源和目的的映射,否则内网用户做源NAT转换的时候端口可能出现冲突的情况 [R1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.12.10 8080 inside 192.168.10.1 80
#查看NAT转换表 [R1]dis nat session all NAT Session Table Information: Protocol : ICMP(1) SrcAddr Vpn : 192.168.20.1 #私网IP DestAddr Vpn : 100.1.10.1 #转换之前的目的IP Type Code IcmpId : 0 8 1 NAT-Info New SrcAddr : 100.1.12.1 #转换之后的IP New DestAddr : ---- New IcmpId : 10240 Total : 1
#查看NAT Server配置信息 [R1]dis nat server Nat Server Information: Interface : GigabitEthernet0/0/1 Global IP/Port : 100.1.12.10/8080 Inside IP/Port : 192.168.10.1/80(www) Protocol : 6(tcp) VPN instance-name : ---- Acl number : ---- Description : ---- Total : 1
-
R2
#配置IP地址 [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip addr 100.1.12.2 24 [R2-GigabitEthernet0/0/0]int g0/0/1 [R2-GigabitEthernet0/0/1]ip addr 100.1.10.2 24
3、测试
-
Client1访问Client2
-
NAT Server
开放式最短路径优先(OSPF)
一、OSPF简介
1、定义
- 开放式最短路径优先OSPF是IETF组织开发的一个基于链路状态的内部网关协议
2、目的
在OSPF出现前,网络上广泛使用RIP作为内部网关协议。
由于RIP是基于距离矢量算法的路由协议,存在着收敛慢、路由环路、可扩展性差等问题,所以逐渐被OSPF取代。
OSPF作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外,OSPF还有以下优点:
- OSPF采用组播形式收发报文,这样可以减少对其它不运行OSPF路由器的影响。
- OSPF支持无类型域间选路(CIDR)。
- OSPF支持对等价路由进行负载分担。
- OSPF支持报文加密。
由于OSPF具有以上优势,使得OSPF作为优秀的内部网关协议被快速接收并广泛使用。
3、分类
-
按照工作区域划分
-
IGP:内部网关协议
- RIP:路由信息协议(距离矢量路由协议)
- OSPF:开放式最短路径优先(用于大型网络,内部网关)
- IS-IS:中间系统到中间系统(AS内部使用)
-
EGP:外部网关协议
-
BGP:边界网关协议(AS之间)
-
-
-
按工作机制及算法分类
- 距离矢量路由协议
- RIP
- 链路状态路由协议
- OSPF
- IS-IS
- 距离矢量路由协议
-
什么是内部,什么是边界
-
AS(自治系统):运行相同的路由器协议的路由器属于同一个自治系统
-
通过自治系统内连接外部的路由器,这个时候就需要外部网关
-
内部网关路由协议(IGP):用于在单一自治系统中去决策路由(RIP,PSPF)
-
外部网关路由协议(EGP):用于连接不同自治系统(BGP)
-
二、OSPF原理描述
1、距离矢量路由协议
#特点:
运行距离矢量路由协议的路由器周期性地泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中,然后再通告给其他相邻路由器。
在通告路由信息的时候,发送的是关于路由距离(开销)和方向(下一跳)的信息
#缺点:
对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的网段方向在哪里,开销有多大。
路径并非是最优的
RIP最大支持15跳,不适合大型网络部署
2、链路状态路由协议
①、LSA泛洪
向网络中通告LSA,用于描述链路状态信息
LSA描述了路由器接口的状态信息,例如接口的开销、连接的对象等
链路状态路由协议通告的的是链路状态而不是路由信息。
运行链路状态路由协议的路由器之间首先会建立邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。
②、LSDB维护
路由器使用LSDB维护LSA
LSDB通常会存储多种不同类型的LSA,每类LSA所描述的信息不同
每台路由器都会产生LSA,路由器将收到的LSA放入自己的LSDB。路由器通过对所存储的LSA进行解析,进而了解全网拓扑
③、SPF计算
以自己为跟节点,来计算到达目标节点的最优路径
SPF是OSPF路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策。
每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达所有网段的优选路径。
④、路由表形成
路由器将计算来的优选路径,加载进自己的路由表
⑤、总结
- 建立相邻路由器之间的邻居关系
- 邻居之间交互链路状态信息LSA并存到LSDB
- 进行优选路径计算
- 根据最短路径树生成路由表项加载到路由表
三、OSFF概念
1、OSPF概述
OSPF是IETF定义的一种基于链路状态的内部网关路由协议。目前针对IPv4协议使用的是OSPF Version 2;针对IPv6协议使用OSPF Version 3(
2、优点
- 基于SPF算法,以“累计链路开销”作为选路参考值
- 采用组播形式收发部分协议报文
- 支持区域划分
- 支持对等价路由进行负载分担
- 支持报文认证
3、应用场景
4、Router ID
- Router ID用于在自治系统中唯一标识一台允许OSPF的路由器,他是一个32位无符号整数
- Router ID一旦选定,之后如果要更改的话就需要重启OSPF进程
- Router ID选举规则如下
- 手动配置OSPF路由器的Router ID(建议手动配置)
- Loopback接口最大的IP地址作为Router ID
- 没配置Loopback的话,物理接口中最大的IP地址作为Router ID
5、区域
- OSPF Area用于标识一个OSPF的区域
- 区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识
- OSPF的区域ID是一个32bit的非负整数,按点分十进制的形式(与IPv4地址的格式一样)呈现,例如Area0.0.0.1。为了简便起见,我们也会采用十进制的形式来表示。
- 路由器过多的情况下,不划分区域会造成资源浪费,稳定性差的问题(如果其中一台路由器故障,所有路由器的OSPF都会重新计算)
- 区域内同步,区域间不进行同步(区域间通过三类LSA传播信息)
- 区域的划分基于接口
- G0/0/1:Area 1
- G0/0/2:Area 2
- G0/0/3:Area 3
- 区域ID相同才可以建立邻居关系
6、度量值
-
Cost值(带宽越高,Cost值越低),基于带宽计算
-
百兆以上的Cost值都为1
-
可以修改参考带宽(不建议)
-
可以修改Cost
-
路由的传递和数据的传递是相反的,Cost的计算是以路由传递的方向的所有入接口的Cost之和
四、OSPF三大表项
1、邻居表
- OSPF在传递链路状态信息之前,需要先建立OSPF邻居关系
- OSPF的邻居关系通过交互Hello报文建立
- OSPF邻居表显示了OSPF路由器之间的邻居状态
- 使用命令
display ospf peer
查看
2、LSDB
-
LSDB会保存自己产生的及从邻居收到的LSA信息
-
Type标识LSA的类型,AdvRouter标识发送LSA的路由器
-
不同区域的LSDB分开
-
使用命令
display ospf lsdb
查看
3、OSPF
-
OSPF路由表和路由器路由表是两张不同的表
- 并非所有的OSPF路由都会存放在全局路由表中
-
OSPF路由表中包含Destination(目的)、Cost(开销)、NextHop(下一跳)等指导转发的信息
-
使用命令
display ospf routing
查看
#10.1.12.0/30这条路由在全局路由表中的协议类型为直连(网络号与R1的G0/0/1接口一样)
OSPF学到10.1.12.0/30,直连也学到10.1.12.0/30,由于直连的优先级高,所以路由表中会存放直连路由
#协议类型
直连
静态
动态
五、OSPF报文格式
- OSPF一共定义了5种类型的报文,不同类型OSPF报文有相同的头部格式
- OSPF报文直接采用IP封装,在报文的IP头部中,协议号为89
重要字段解释
Version :对于当前所使用的OSPFv2,该字段的值为2。
Router ID:表示生成此报文的路由器的Router ID。
Area ID:表示此报文需要被通告到的区域。
Type:类型字段。
Packet length:表示整个OSPF报文的长度,单位是字节。
Checksum:校验字段,其校验的范围是整个OSPF报文,包括OSPF报文头部。
Auth Type:为0时表示不认证;为1时表示简单的明文密码认证;为2时表示加密(MD5)认证。
Authentication:认证所需的信息。该字段的内容随AuType的值不同而不同
六、OSPF工作过程
1、建立邻居关系
-
OSPF使用Hello报文发现和建立邻居关系
-
在以太网链路上,缺省时,OSPF采用组播的方式发送Hello报文(目的地址为224.0.0.5)
-
OSPF Hello报文中包含了路由器的Router ID、邻居列表等信息。
R1和R2路由器相互发送Hello报文,第一个Hello报文包含的邻居列表为空。
此时R1和R2进入Init状态,然后进行下一轮Hello报文交互
R2收到R1发送的Hello报文后,如果各项参数匹配,再次发送Hello报文时,将R1加入自己的邻居列表;同理R1回应的时候也会将R2加入自己邻居列表
当R1在R2发来的Hello报文中看到了自己的信息,则进入2-way状态,同理R2也进入2-way状态,形成邻居关系
Hello报文(发现和维护邻居关系)
查看Hello时间间隔是否一致(默认时间为10s)
查看子网掩码是否相同
查看失效时间是否相同(4倍的Hello周期内没有收到对方的Hello报文,就会失效)
查看Options字段是否相同
Router ID 两边不能相同
以上参数都全部符合才会建立邻居关系
2、建立邻接关系
-
DD:数据库(LSDB)描述报文
- Seq:序列号
- I:标识是否为第一个字段,是则置1,否则置0
- M:是否为最后一个字段,是则置0,否则置1
- MS(Master/Slave):标识自己是否为Master(Roter ID大的一方会成分Master)
-
DD(交互链路状态数据库摘要)
1、发送DD报文选取谁是Master,里面没有list(R2成为Master) Slave发送的数据的Seq为Master的Seq(隐式确认),必须成对出现,就算R2发送后R1没有DD数据需要发送,也会单独发送DD确认报文 2、同步前R2先发送List,R1进行比对,查看那些条目在本地存在,如果存在就不需要发送,如果没有再进行发送
-
LSR(请求特定的链路状态信息)
当收到R1的LSA后,会发送LSR来请求对方自己所缺失的LSA
-
LSU(发送详细的链路状态信息)
R2发送LSU(链路状态更新报文),LSU里包含LSA,LSA通过LSU报文发送
-
LSACK(确认LSA)
LSACK用来确认收到那些LSA LSR、LSU、LSACK会进行多次,知道同步完LSA
-
OSPF状态变迁过程
1、发送DD后,会进入ExStart状态 2、完成Master的选举,会进入ExChange状态,才会交互摘要信息(List) 3、交互完成后会进入Loading状态,开始发送LSR、LSU、LSACK报文 4、当LSA更新完成后,会进入Full状态(代表路由器完成了邻居之间的LSDB同步,建立邻接关系) 5、然后就可以进行SPF计算出最优路由
-
**PPT注释 **
R1和R2的Router ID分别为10.0.1.1和10.0.2.2并且二者已建立了邻居关系。当R1的邻居状态变为ExStart后,R1会发送第一个DD报文。此报文中,M-bit设置为1,表示后续还有DD报文要发送,MS-bit设置为1,表示R1宣告自己为Master。DD序列号被随机设置为X,I-bit设置为1,表示这是第一个DD报文。 同样当R2的邻居状态变为ExStart后,R2也会发送第一个DD报文。此报文中,DD序列号被随机设置为Y(I-bit=1,M-bit=1,MS-bit=1,含义同上)。由于R2的Router ID较大,所以R2将成为真正的Master。收到此报文后,R1会产生一个Negotiation-Done事件,并将邻居状态从ExStart变为Exchange。 当R1的邻居状态变为Exchange后,R1会发送一个新的DD报文,此报文中包含了LSDB的摘要信息,序列号设置为R2在步骤2中使用的序列号Y,I-bit=0,表示这不是第一个DD报文,M-bit=0,表示这是最后一个包含LSDB摘要信息的DD报文,MS-bit=0,表示R1宣告自己为Slave。收到此报文后,R2将邻居状态从ExStart变为Exchange。 当R2的邻居状态变为Exchange后,R2会发送一个新的DD报文,此报文包含了LSDB的摘要信息。DD序列号设置为Y+1, MS-bit=1,表示R2宣告自己为Master。 虽然R1不需要发送新的包含LSDB摘要信息的DD报文,但是作为Slave,R1需要对Master发送的每一个DD报文进行确认。所以,R1向R2发送一个新的DD报文,序列号为Y+1,该报文内容为空。发送完此报文后,RTA产生一个Exchange-Done事件,将邻居状态变为Loading。R2收到此报文后,会将邻居状态变为Full(假设R2的LSDB是最新最全的,不需要向R1请求更新)。
3、DR与BDR
①、作用
-
MA网络(多路访问网络)都会存在下列两个问题
- 管理复杂
- LSA泛洪,资源浪费
-
默认状态下,大家都会监听组播组(224.0.0.5)
-
**DR(指定路由器):**由DR发送组播流,每台路由器在启动的时候都会和DR形成邻接关系
- DR会统一收集大家的LSA,并进行通告
- DR会收到全网最全的LSA
-
**BDR(备份指定路由):**作为DR的备份,也拥有最全的LSA,如果DR失效快速接管DR工作
-
既不是DR也不是BDR的路由器,为DRohter
- DRother之间停留在
two-way
状态,不会进行LSA同步
- DRother之间停留在
②、选举规则
DR和BDR的选举
- DR/BDR的选举是非抢占式的
- 一旦选举时间接受,DR确定后,即使拥有更高的优先级也不会成为DR
- 选举过程会在two-way阶段进行
- 选举时间会等待40S
- DR/BDR的选举是基于接口的
- 接口的DR优先级越大越优先(Helo报文里包含路由器优先级,可以手动设置)
- 接口DR优先级相等的时候,Router ID越大越优先
- 优先级为0代表路由器剥夺选举权
思考
-
优先级全部为0,OSPF是否还会正常工作
当优先级为0的时候,会丧失选举权,所有路由器会都成为DRother,并且全部停留在two-way状态,所有不会同步LSA,不能通过SPF算法计算路由,所以OSPF不能进行正常工作
-
缺省情况下,那些链路类型组成的网络是MA网络
- 链路类型
- 局域网
- 以太网技术(双绞线)
- 广域网
- PPP(串行链路)
- 局域网
- 链路类型
③、不同网络类型中DR与BDR的选举操作
OSPF网络类型 | 常见链路层协议 | 是否选举DR | 是否和邻居建立邻接关系 |
---|---|---|---|
Point-to-Point(点到点) | PPP链路 | 否 | 是 |
Broadcast(广播MA) | 以太网链路 | 是 | |
NBMA | 帧中继链路 | 是 | |
P2MP(点到多点) | 需手工指定 | 否 | 是 |
链路类型决定网络类型,网络类型决定是否选取DR/BDR
此情况可以手动修改网络类型为P2P,就不会选举DR/BDR
好处:
节省时间,提高工作效率
这实际上是没有必要而且浪费时间的(DR及BDR的选举过程涉及一个等待计时器,这增加了直连路由器形成邻接关系的时间),因为这些链路其实从逻辑的角度看都是点对点的连接,选举DR或BDR实在是画蛇添足。因此为了提高OSPF的工作效率,加快邻接关系的建立过程,可以把这些互联接口的网络类型都修改为P2P。
七、OSPF基本配置
1、启动OSPF进程,进入OSPF视图。
[Huawei] ospf [ process-id | Router ID Router ID ]
#路由器支持OSPF多进程,进程号是本地概念,两台使用不同OSPF进程号设备之间也能够建立邻接关系。
#Router ID建议手动配置
#进程不配置的话默认为1
2、创建并进入OSPF区域视图
[Huawei-ospf-1] area area-id
3、在OSPF区域中那些接口启用OSPF
[Huawei-ospf-1-area-0.0.0.0] network 10.0.12.0 0.0.0.255 #被network所匹配的范围需要启用OSPF,并加入区域0
10.0.24.2 0.0.0.0 #指定10.0.24.2加入区域0
4、也可以进入某个接口,启用OSPF
[Huawei-GigabitEthernet1/0/0] ospf enable process-id area area-id #在接口上配置OSPF,优先级高于network命令
5、设置选举DR时的优先级
[Huawei-GigabitEthernet1/0/0] ospf dr-priority priority
6、设置网络类型
[Huawei-GigabitEthernet1/0/0] ospf network-type { broadcast | nbma | p2mp | p2p }
八、配置举例
九、实验
1、实验目的
配置OSPF实现路由学习
2、配置
R1
#配置IP地址以及环回地址
[R1-GigabitEthernet0/0/0]ip addr 10.0.123.1 24
[R1-GigabitEthernet0/0/0]int lo 0
[R1-LoopBack0]ip addr 11.1.1.1 32
#配置OSPF
[R1]ospf 1 router-id 11.1.1.1
[R1-ospf-1]area 2
[R1-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255
[R1-ospf-1-area-0.0.0.2]network 11.1.1.1 0.0.0.0
R3
#配置IP地址以及环回地址
[R3-GigabitEthernet0/0/0]ip addr 10.0.123.3 24
[R3-GigabitEthernet0/0/0]int lo 0
[R3-LoopBack0]ip addr 33.1.1.1 32
#配置OSPF
[R3]ospf 1 router-id 33.1.1.1
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255
[R3-ospf-1-area-0.0.0.2]network 33.1.1.1 0.0.0.0
R2
#配置IP地址以及环回地址
[R2-GigabitEthernet0/0/0]ip addr 10.0.123.2 24
[R2-GigabitEthernet0/0/1]ip addr 10.0.24.2 24
[R2-GigabitEthernet0/0/1]int lo 0
[R2-LoopBack0]ip addr 22.1.1.1 32 #配置换回接口
#配置OSPF
[R2]ospf 1 router-id 22.1.1.1 #配置OSFP的进程号为1,Router ID为22.1.1.1
[R2-ospf-1]area 0 #创建并进去区域0
[R2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255 #把24网段加入区域0
[R2-ospf-1-area-0.0.0.0]network 22.1.1.1 0.0.0.0 #把22.1.1.1加入区域0
[R2]ospf 1
[R2-ospf-1]area 2
[R2-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255 #把123网段加入区域2
#配置网络类型优化网络
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ospf network-type p2p #设置网络类型为点到点
#假如R2为出口路由,向全网发送默认路由
[R2]ospf 1
[R2-ospf-1]default-route-advertise always #配置完成后,全网所以的路由器的都会学到一条默认路由
#当R2和R4配置好后R2就学到了R4的路由
[R2]dis ospf routing
OSPF Process 1 with Router ID 22.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
10.0.24.0/24 1 Transit 10.0.24.2 22.1.1.1 0.0.0.0 #因为直连优先级更高,所以路由表中的路由为直连
22.1.1.1/32 0 Stub 22.1.1.1 22.1.1.1 0.0.0.0
44.1.1.1/32 1 Stub 10.0.24.4 44.1.1.1 0.0.0.0 #只有此条路由会加载到路由表中
[R2]dis ip routing-table protocol ospf #通过OSPF学来的路由有那些
Destination/Mask Proto Pre Cost Flags NextHop Interface
44.1.1.1/32 OSPF 10 1 D 10.0.24.4 GigabitEthernet0/0/1
#查看邻居表
[R2]dis ospf peer
OSPF Process 1 with Router ID 22.1.1.1
Neighbors
Area 0.0.0.0 interface 10.0.24.2(GigabitEthernet0/0/1)'s neighbors
Router ID: 44.1.1.1 Address: 10.0.24.4
State: Full Mode:Nbr is Master Priority: 1 #Full表示已经形成领接关系
DR: 10.0.24.2 BDR: 10.0.24.4 MTU: 0
Dead timer due in 40 sec
Retrans timer interval: 5
Neighbor is up for 00:28:12
Authentication Sequence: [ 0 ]
R4
#配置IP地址以及环回地址
[R4-GigabitEthernet0/0/0]ip addr 10.0.24.4 24
[R4-GigabitEthernet0/0/1]ip addr 10.0.45.4 24
[R4-LoopBack0]ip addr 44.1.1.1 32
#配置OSPF
[R4]ospf 1 router-id 44.1.1.1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 44.1.1.1 0.0.0.0
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]network 10.0.45.0 0.0.0.255
#配置网络类型优化网络
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ospf network-type p2p
#此时查看邻居表
[R4]dis ospf peer
OSPF Process 1 with Router ID 44.1.1.1
Neighbors
Area 0.0.0.0 interface 10.0.24.4(GigabitEthernet0/0/0)'s neighbors
Router ID: 22.1.1.1 Address: 10.0.24.2
State: Full Mode:Nbr is Slave Priority: 1
DR: None BDR: None MTU: 0 # 不存在DR、BDR
Dead timer due in 35 sec
Retrans timer interval: 5
Neighbor is up for 00:00:24
Authentication Sequence: [ 0 ]
R5
#配置IP地址以及环回地址
[R5-GigabitEthernet0/0/0]ip addr 10.0.45.5 24
[R5-GigabitEthernet0/0/0]int lo 0
[R5-LoopBack0]ip addr 55.1.1.1 32
#配置OSPF
[R5]ospf 1 router-id 55.1.1.1
[R5-ospf-1]area 1
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ospf enable area 1 #将此接口加入区域1
[R5-GigabitEthernet0/0/0]int lo 0
[R5-LoopBack0]ospf enable area 1
3、测试
- 查看R1的OSPF路由表
[R1]dis ospf routing
OSPF Process 1 with Router ID 11.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area #可以看到R1已经学习到了全网路由
10.0.123.0/24 1 Transit 10.0.123.1 11.1.1.1 0.0.0.2
11.1.1.1/32 0 Stub 11.1.1.1 11.1.1.1 0.0.0.2
10.0.24.0/24 2 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
10.0.45.0/24 3 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
22.1.1.1/32 1 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
33.1.1.1/32 1 Stub 10.0.123.3 33.1.1.1 0.0.0.2
44.1.1.1/32 2 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
55.1.1.1/32 3 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
Total Nets: 8
Intra Area: 3 Inter Area: 5 ASE: 0 NSSA: 0
-
连通性测试
hon
[Huawei-GigabitEthernet1/0/0] ospf dr-priority priority
#### 6、设置网络类型
```python
[Huawei-GigabitEthernet1/0/0] ospf network-type { broadcast | nbma | p2mp | p2p }
八、配置举例
[外链图片转存中…(img-uBWhEuDb-1651461459419)]
九、实验
[外链图片转存中…(img-1yosqn9q-1651461459420)]
1、实验目的
配置OSPF实现路由学习
2、配置
R1
#配置IP地址以及环回地址
[R1-GigabitEthernet0/0/0]ip addr 10.0.123.1 24
[R1-GigabitEthernet0/0/0]int lo 0
[R1-LoopBack0]ip addr 11.1.1.1 32
#配置OSPF
[R1]ospf 1 router-id 11.1.1.1
[R1-ospf-1]area 2
[R1-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255
[R1-ospf-1-area-0.0.0.2]network 11.1.1.1 0.0.0.0
R3
#配置IP地址以及环回地址
[R3-GigabitEthernet0/0/0]ip addr 10.0.123.3 24
[R3-GigabitEthernet0/0/0]int lo 0
[R3-LoopBack0]ip addr 33.1.1.1 32
#配置OSPF
[R3]ospf 1 router-id 33.1.1.1
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255
[R3-ospf-1-area-0.0.0.2]network 33.1.1.1 0.0.0.0
R2
#配置IP地址以及环回地址
[R2-GigabitEthernet0/0/0]ip addr 10.0.123.2 24
[R2-GigabitEthernet0/0/1]ip addr 10.0.24.2 24
[R2-GigabitEthernet0/0/1]int lo 0
[R2-LoopBack0]ip addr 22.1.1.1 32 #配置换回接口
#配置OSPF
[R2]ospf 1 router-id 22.1.1.1 #配置OSFP的进程号为1,Router ID为22.1.1.1
[R2-ospf-1]area 0 #创建并进去区域0
[R2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255 #把24网段加入区域0
[R2-ospf-1-area-0.0.0.0]network 22.1.1.1 0.0.0.0 #把22.1.1.1加入区域0
[R2]ospf 1
[R2-ospf-1]area 2
[R2-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255 #把123网段加入区域2
#配置网络类型优化网络
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ospf network-type p2p #设置网络类型为点到点
#假如R2为出口路由,向全网发送默认路由
[R2]ospf 1
[R2-ospf-1]default-route-advertise always #配置完成后,全网所以的路由器的都会学到一条默认路由
#当R2和R4配置好后R2就学到了R4的路由
[R2]dis ospf routing
OSPF Process 1 with Router ID 22.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
10.0.24.0/24 1 Transit 10.0.24.2 22.1.1.1 0.0.0.0 #因为直连优先级更高,所以路由表中的路由为直连
22.1.1.1/32 0 Stub 22.1.1.1 22.1.1.1 0.0.0.0
44.1.1.1/32 1 Stub 10.0.24.4 44.1.1.1 0.0.0.0 #只有此条路由会加载到路由表中
[R2]dis ip routing-table protocol ospf #通过OSPF学来的路由有那些
Destination/Mask Proto Pre Cost Flags NextHop Interface
44.1.1.1/32 OSPF 10 1 D 10.0.24.4 GigabitEthernet0/0/1
#查看邻居表
[R2]dis ospf peer
OSPF Process 1 with Router ID 22.1.1.1
Neighbors
Area 0.0.0.0 interface 10.0.24.2(GigabitEthernet0/0/1)'s neighbors
Router ID: 44.1.1.1 Address: 10.0.24.4
State: Full Mode:Nbr is Master Priority: 1 #Full表示已经形成领接关系
DR: 10.0.24.2 BDR: 10.0.24.4 MTU: 0
Dead timer due in 40 sec
Retrans timer interval: 5
Neighbor is up for 00:28:12
Authentication Sequence: [ 0 ]
R4
#配置IP地址以及环回地址
[R4-GigabitEthernet0/0/0]ip addr 10.0.24.4 24
[R4-GigabitEthernet0/0/1]ip addr 10.0.45.4 24
[R4-LoopBack0]ip addr 44.1.1.1 32
#配置OSPF
[R4]ospf 1 router-id 44.1.1.1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 44.1.1.1 0.0.0.0
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]network 10.0.45.0 0.0.0.255
#配置网络类型优化网络
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ospf network-type p2p
#此时查看邻居表
[R4]dis ospf peer
OSPF Process 1 with Router ID 44.1.1.1
Neighbors
Area 0.0.0.0 interface 10.0.24.4(GigabitEthernet0/0/0)'s neighbors
Router ID: 22.1.1.1 Address: 10.0.24.2
State: Full Mode:Nbr is Slave Priority: 1
DR: None BDR: None MTU: 0 # 不存在DR、BDR
Dead timer due in 35 sec
Retrans timer interval: 5
Neighbor is up for 00:00:24
Authentication Sequence: [ 0 ]
R5
#配置IP地址以及环回地址
[R5-GigabitEthernet0/0/0]ip addr 10.0.45.5 24
[R5-GigabitEthernet0/0/0]int lo 0
[R5-LoopBack0]ip addr 55.1.1.1 32
#配置OSPF
[R5]ospf 1 router-id 55.1.1.1
[R5-ospf-1]area 1
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ospf enable area 1 #将此接口加入区域1
[R5-GigabitEthernet0/0/0]int lo 0
[R5-LoopBack0]ospf enable area 1
3、测试
- 查看R1的OSPF路由表
[R1]dis ospf routing
OSPF Process 1 with Router ID 11.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area #可以看到R1已经学习到了全网路由
10.0.123.0/24 1 Transit 10.0.123.1 11.1.1.1 0.0.0.2
11.1.1.1/32 0 Stub 11.1.1.1 11.1.1.1 0.0.0.2
10.0.24.0/24 2 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
10.0.45.0/24 3 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
22.1.1.1/32 1 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
33.1.1.1/32 1 Stub 10.0.123.3 33.1.1.1 0.0.0.2
44.1.1.1/32 2 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
55.1.1.1/32 3 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
Total Nets: 8
Intra Area: 3 Inter Area: 5 ASE: 0 NSSA: 0
- 连通性测试
网络基础
一、图标介绍
二、网络作用
- 数据传输
- 软硬件资源共享
- 提升服务可靠性
三、常见术语
术语 | 说明 |
---|---|
数据载荷 | 最终想要传递的信息 |
报文 | 网络中交换与传输的数据单元(数据经过封装,打上头部和尾部) |
头部 | 在数据载荷的前面添加的信息段 |
尾部 | 在数据载荷的后面添加的信息段 |
封装 | 对数据载荷添加头部和尾部,形成新的报文的过程 |
解封装 | 去掉报文的头部和尾部,获取数据载荷的过程 |
网关 | 提供协议转换、路由选择、数据交换等功能的网络设备 |
路由器 | 为报文选择传递路径的网络设备 |
终端设备 | 数据通信系统的端设备,作为数据的发送者或接收者 |
AP:无线访问接入点
四、设备介绍
1、交换机
-
距离终端用户最近的设备,用于终端用户接入网络、对数据帧进行交换等。
2、路由器
- 网络层设备,可以在因特网中进行数据报文转发。路由器根据所收到的报文的目的地址选择一条合适的路径,将报文传送到下一个路由器或目的地,路径中最后的路由器负责将报文送交目的主机
- 实现同类型网络或异构网络之间的通信
- 隔离广播域
- 维护路由表、运行路由协议
- 路径选择、IP报文转发
- 广域网接入、网络地址转换
- 连接通过交换机组建的二层网络
3、防火墙
- 网络安全设备,用于控制两个网络之间的安全通信。
- 隔离不同安全级别的网络
- 实现不同安全级别的网卡之间的访问控制(安全策略)
- 用户身份认证
- 实现远程接入功能
- 实现数据加密及虚拟专用网业务
- 执行网络地址转换
- 其他安全功能
4、无线设备
执行标准:802.11ax(WiFi6)
- 胖AP
- 可以直接管理
- 家用
- 瘦AP
- 学校
- 企业
- 通过无线控制器(AC)来控制
- 只有一根网线,没有电源
五、分类
1、地理覆盖范围划分
- 局域网LAN
- 城域网MAN
- 广域网WAN
2、网络的拓扑形态划分
现在大多数使用的是组合型的网络拓扑
网络参考模型
一、常见的协议标准化组织
- IETF
- IEEE
- ISO
二、OSI模型
名称 | 作业 |
---|---|
应用层 | 对应用程序提供接口 |
表示层 | 对数据格式的转换,以确保一个系统生成的应用层数据能够被另外一个系统的应用层所识别和理解 |
会话层 | 在通信双方之间建立、管理和终止会话 |
传输层 | 建立、维护和取消一次端到端的数据传输过程。控制传输节奏的块慢,调整数据的排序等等 |
网络层 | 定义逻辑地址;实现数据从源到目的地的转发 |
数据链路层 | 将分组数据封装成帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信;差错检测 |
物理层 | 在媒介上传输比特流;提供机械的和电器的规约 |
三、TCP/IP模型
层次 | PDU |
---|---|
应用层 | Date数据 |
传输层 | Segment数据段 |
网络层 | Packet包 |
数据链路层 | Grame帧 |
物理层 | Bitstream比特流 |
协议标准
-
应用层(Date数据)
- Telnet
- FTP
- TFTP
- SNMP
- HTTP
- SMTP
- DNS(可以工作在TCP和UDP)
- 用户做DNS解析使用UDP
- DNS服务器之间进行域名同步的时候使用TCP
- DHCP
-
传输层(Segment数据段)
- TCP传输控制协议:传输更加稳定可靠
- UDP用户数据报:传输效率比较高
-
网络层
- ICMP:网际控制报文协议;
- IGMP:网际组管理协议
- ARP:地址解析协议----IP地址转换为MAC地址;
- PARP:逆地址解析协议;
- IP
-
数据链路层
- PPPoE
- Ethernet
- PPP
1、应用层
一、概念
- PDU(协议数据单元):Data(数据)
- 为应用软件提供接口,使应用程序能够使用网络服务。应用层协议会指定使用相应的传输层协议,以及传输层所使用的端口等
二、协议
- HTTP 80(TCP)
- 超文本传输协议,提供浏览网页服务
- Telnet 23(TCP)
- 远程登录协议,提供远程管理服务
- 采用明文不安全
- FTP 20 21(TCP)
- 20号端口一般用于传输数据,21号端口用于传输控制信息
- SMTP 25 (TCP)
- 简单邮件传输协议,提供互联网电子邮件服务
- TFTP 69(UDP)
- 简单文件传输协议,提供简单的文件传输服务
- 没有交互性
2、传输层
一、概念
- PDU:Segment(段)
- 接收来自应用层协议的数据,封装上相应的传输层头部
二、协议
- TCP:可靠的、面向连接的通信协议
- UDP:简单的无连接的协议
3、网络层
一、概念
-
PDU:Packet(包)
-
网络层也叫Internet层,负责将分组报文从源主机发送到目的主机(主机到主机间的通信)
二、网络层作用
- 为网络中的设备提供逻辑地址
- 负责数据包的寻址和转发
- 常见的协议如IPv4、IPv6、ICMP、IGMP等
4、数据链路层
一、概念
-
PUD:Grame(帧)
-
可以向网络层的IP、IPv6等协议提供服务
二、作用
- 数据链路层向网络层提供段内通信
- 负责组帧、物理编址、差错控制等功能
- 常见的数据链路层协议有:以太网(局域网)、PPPoE、PPP(广域网)等
三、以太网与MAC地址
1、以太网
- 以太网是一种广播式数据链路层协议,支持多点接入
- 个人电脑的网络接口遵循的就是以太网标准
- 一般情况下,一个广播域对应着一个IP网段
2、以太网MAC地址
- MAC地址在网络中唯一标识一个网卡,每个网卡都需要切会有唯一的一个MAC地址
- 二层交换机不能识别IP数据
- 用来表示一个局域网上的某个单独的设备或一组设备 IP地址的概念:用于标识网络中的某一台主机
- 两个设备想要在以太网中进行通信,那么就必须用MAC地址进行交互
- 局域网之内一般使用交换机,最接近设备的一般为二层交换机,而二层交换机看不到三层(IP)字段
- 两个设备需要在网络中进行通信,就必须配置相应的IP地址
- 两个设备想要在以太网中进行通信,那么就必须用MAC地址进行交互
- MAC地址有48位的二进制组成,通常表示位12位的十六进制
- 前面24位表示厂商的编码,后面24位是序列号,从而实现全球唯一
- 单播设备:当第八位为0时表示单独设备,也称单播地址
- 组播设备:当第八位为1时表示一组设备,也称组播地址
- 广播地址:FF-FF-FF-FF-FF-FF
- 默认填充的地址,当不知道对方MAC地址时会自动填充一个目的MAC地址:00-00-00-00-00-00
5、物理层
一、概念
-
PDU:Bitstream(比特流)
-
数据到达物理层后、物理层会根据物理介质的不同,将数字信号转换成光信号(光纤)、电信号(双绞线)或电磁波信号(无线)
二、作用
- 负责比特流在介质上的传输
- 规范物理特性
四、TCP
1、TCP的建立-三次握手
Seq:序号,随机数
Ack:确认号
①:确认所接收到的数据,a+1表示我已收到了a+1以前的全部数据
②:希望接受的下一个数据的Seq编号
-
标志位字段
- CWR(Congestion Window Reduce):拥塞窗口减少标志,用来表明它接收到了设置 ECE 标志的 TCP 包。并且,发送方收到消息之后,通过减小发送窗口的大小来降低发送速率。
- ECE(ECN Echo):用来在 TCP 三次握手时表明一个 TCP 端是具备 ECN 功能的。在数据传输过程中,它也用来表明接收到的 TCP 包的 IP 头部的 ECN 被设置为 11,即网络线路拥堵。
- URG(Urgent):表示本报文段中发送的数据是否包含紧急数据。URG=1 时表示有紧急数据。当 URG=1 时,后面的紧急指针字段才有效。
- ACK:表示前面的确认号字段是否有效。ACK=1 时表示有效。只有当 ACK=1 时,前面的确认号字段才有效。TCP 规定,连接建立后,ACK 必须为 1。
- PSH(Push):告诉对方收到该报文段后是否立即把数据推送给上层。如果值为 1,表示应当立即把数据提交给上层,而不是缓存起来。
- RST:表示是否重置连接。如果 RST=1,说明 TCP 连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。
- SYN:在建立连接时使用,用来同步序号。当 SYN=1,ACK=0 时,表示这是一个请求建立连接的报文段;当 SYN=1,ACK=1 时,表示对方同意建立连接。SYN=1 时,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中 SYN 才为 1。
- FIN:标记数据是否发送完毕。如果 FIN=1,表示数据已经发送完成,可以释放连接。
2、TCP的序列号与确认号
- TCP使用序列号和确认序列号字段实现数据的可靠和有序传输
Ack为对方的序列号+数据的长度
单纯的确认报文不需要进行确认,所以不会分配单独的唯一编号
3、TCP的窗口滑动机制
- TCP通过滑动窗口机制来控制数据的传输速率
win:它表示从 Ack Number 开始还可以接收多少字节的数据量,也表示当前接收端的接收窗口还有多少剩余空间,每次发送都会携带
五、封装
六、解封装
七、数据传输
华为VRP系统
一、用户级别
-
VRP提供基本的权限控制,可以实现不同级别的用户能够执行不同级别的命令,用以限制不同用户对设备的操作
用户等级 命令等级 名称 说明 0 0 参观级 可使用网络诊断工具命令(ping、tracert)、Telnet客户端命)、部分display命令 1 0 and 1 监控级 用于系统维护,可使用display命令 2 0,1and2 配置级 可使用业务配置命令 3-15 0,1,2and3 管理级 类似于管理员,但是级别高的可以把某一命令提高到比自己级别低的等级
二、基本命令行
1、基本命令结构
2、命令行视图
- 用户视图
- 登录系统后的第一个视图
- 唯一可进入的是系统 视图
system-view
进入系统视图
- 系统视图
- 提供全局配置命令
int g0/0/0
进入0/0/0接口
- 其他视图
3、使用undo命令行
-
使用undo命令行恢复缺省情况
sysname Server undo sysname
-
使用undo命令禁用某个功能
ftp server neable undo ftp server
-
使用undo命令删除某项配置
ip addr 192.168.1.1 24 undo ip address
4、命令快捷键
ctrl+A
:将光标移动到行开头ctrl+C
:停止当前命令的运行ctrl+E
:将光标移动到当前行的末尾ctrl+Z
:返回到用户视图ctrl+]
:终止当前连接或切换连接
5、常见文件系统操作命令
命令 | 功能 |
---|---|
pwd | 查看当前目录 |
dir | 查看当前目录下的文件信息 |
more | 查看文本文件的具体内容 |
cd | 修改用户当前界面的工作目录 |
mkdir | 创建新的目录 |
rmdir | 删除目录 |
copy | 复制文件 |
move | 移动文件 |
rename | 重命名文件 |
delete | 删除文件 |
undelete | 恢复删除的文件 |
reset recycle-bin | 彻底删除回收站中的文件 |
6、基本配置命令
-
配置设备名称
<Huawei>system-view //进入系统视图命令 Enter system view, return user view with Ctrl+Z. [Huawei]sysname YYB //YYB为设备名称 [RTA]
-
设置系统时钟
<Huawei>clock timezone BJ add 08:00:00 //设置所在时区-这里表示北京东八区 <Huawei>clock datetime 10:20:29 2020-9-27 //设置当前时间和日期 <Huawei>display clock //查看当前时钟 2020-09-27 10:20:45 Sunday Time Zone(BJ) : UTC+08:00
-
查看当前运行的配置文件
<Huawei>display current-configuration
-
配置文件保存
<Huawei>save name
-
查看保存的配置
<Huawei>display saved-configuration
-
清除已保存的配置
<Huawei>reset saved-configuration
-
查看系统启动配置参数
- 用来查看设备本次及下次启动相关的系统软件、备份系统软件、配置文件、License文件、补丁文件以及语言文件
<Huawei>display startup
-
配置系统下次启动时使用的配置文件
<Huawei>startup saved-condifuration name
三、实验----配置Telnet
实验一
实验要求:R1开启Telnet,R2通过Telnet连接R1
-
设备管理的两种方式
- Console管理
dis user-interface
显示接口的运行状态和相关信息- Console管理用户默认等级为15
- Telnet远程管理
- Console管理
1、配置R1
<R1>system-view
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip addr 10.1.12.1 24
[R1]user-interface vty 0 4
[R1-ui-vty0-4]authentication-mode password //配置本地认证密码
[R1-ui-vty0-4]user privilege level 3 //设置用户登录默认等级
[R1-ui-vty0-4]dis this //查看当前视图的配置
[V200R003C00]
#
user-interface con 0
authentication-mode password
user-interface vty 0 4
authentication-mode password
user privilege level 3
set authentication password cipher %$%$8ar&D-e$OM1<*6(DI0{1,$i~Z{V$HuiftQw[e}TE
/3R'$iB,%$%$
user-interface vty 16 20
#
return
2、配置R2
<R2>system-view
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip addr 10.1.12.2 24
[R2]q //退出到用户视图
<R2>telnet 10.1.12.1 //连接R1
<R1> //登录成功
3、配置命令级别
-
R1
[R1]command-privilege level 5 view system ip route-static //设置ip route-static的等级为5
The command level is modified successfully
//配置完成后立马生效,因为默认登录等级为3级,命令等级为5级,所以R2通过远程登录将无法使用此命令
-
取消配置
[R1]undo command-privilege view system ip route
4、显示接口的运行状态和相关信息
[R1]dis user-interface
Idx Type Tx/Rx Modem Privi ActualPrivi Auth Int
+ 0 CON 0 9600 - 15 15 P -
+ 129 VTY 0 - 3 3 P -
130 VTY 1 - 3 - P -
131 VTY 2 - 3 - P -
网络层协议及IP编址
一、IPv4基础概念
1、IPv4协议簇
传输层 | TCP、UDP |
---|---|
网络层 | ICMP IP RARP、ARP |
数据链路层 | 各种网络接口 |
ARP和RARP的功能是地址解析,介于数据链路层和网络层之间。ICMP协议的功能是为了更有效地转发IP数据报文和提高IP数据报文交付成功的机会,是介于网络层和传输层之间的协议。
①:ARP协议:ARP是用来将IP地址解析为MAC地址的协议,可以分为动态和静态两种类型。
②:RARP协议:RARP和ARP正好相反,是将MAC地址解析为IP地址的协议。
③:ICMP协议:为了更有效地转发IP数据报文和提高数据报文交付成功的机会,在网络层使用ICMP协议。ICMP允许主机或设备报告差错情况和提供有关异常情况的报告。ICMP报文作为IP报文的数据部分,再封装上IP报文首部,组成完整的IP报文发送出去。
二、IPv4报文格式
- 版本(version):标识当前使用的IP版本(IPv4,IPv6)
- 首部长度(IHL):由于IP数据报文的首部有一个可选项,所以首部的长度是可变的,所以需要定义
- 区分服务(服务质量/优先级和服务类型)(tos):为了保障更好的服务,主要是在IP层做Qos
- 总长度(totlen):主要用来标识整个数据包的长度
- 标识(identification)、标志(flag)、片位移(offsetfrag):上层来的数据到IP层会被分片,这几个字段用来对数据包进行标识,使数据到达目的端重组的时候不会乱序
- 生存时间(TTL值):数据包在路由器转发消耗的时间,如果小于1秒,TTL就会减1
- 协议(Protocol):标识上层数据是使用的何种协议(TCP6和UDP17、ICMP1)
- 首部检验(Header Checksum):检验数据报文的首部
- 源地址(Source Address):发送方的IP地址
- 目的地址(Destination Address):接受方的IP地址
1、生存时间(TTL)
- TTL字段设置了数据包可以经过的路由器数目
- 一旦经过一个路由器,TTL的值就会减1,当该字段值为0时,数据包将被丢弃
2、协议号(Protocol)
- IP报文头中的协议号字段标识了将会继续处理改报文的协议
- 即指出此数据包携带的数据使用何种协议
- 端口号表示应用的类型
三、实验----数据包分片
- 将报文分割成多个片段的过程叫做分片
- 网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路层所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输
- 根据**Identification(标识符)**能够把属于一个数据包的不同的分片标识出来
- Flags
- DF:不支持分片
- MF:不是最后一个分片
- Fragment Offset:分片的偏移位
- 第二个分片的偏移位为前面分片的总长度
- 偏移位为0代表第一个分片
实验二
-
配置IP
- R4
[R4]interface g0/0/0 [R4-GigabitEthernet0/0/0]ip addr 192.168.1.1 24 [R4-GigabitEthernet0/0/0]mtu 1400 //将接口的MTU值修改为1400,MTU表示接口的最大传输单元,默认为1500bite
- R5
[R5]interface g0/0/0 [R5-GigabitEthernet0/0/0]ip addr 192.168.1.2 24
-
在R4上pingR5
[R4]ping -s 5000 192.168.1.2 //-s指定ICMP数据大小 PING 192.168.1.2: 5000 data bytes, press CTRL_C to break Reply from 192.168.1.2: bytes=5000 Sequence=1 ttl=255 time=50 ms Reply from 192.168.1.2: bytes=5000 Sequence=2 ttl=255 time=60 ms Reply from 192.168.1.2: bytes=5000 Sequence=3 ttl=255 time=50 ms Reply from 192.168.1.2: bytes=5000 Sequence=4 ttl=255 time=60 ms Reply from 192.168.1.2: bytes=5000 Sequence=5 ttl=255 time=50 ms --- 192.168.1.2 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 50/54/60 ms
-
分析IP分片
1、表示IP的头部长度
2、表示IP报文的总长度,减去头部长度可以算出数据载荷长度
3、为1表示不允许分片,0表示可以分片
4、1表示不是最后一个分片
5、表示当前分片为第一个分片,偏移位为0(第二个分片的偏移位为第一个分片的长度)
6、数据的载荷长度
四、IPv4地址分类
1、特殊的IP地址
特殊的IP地址 | 地址范围 | 作用 |
---|---|---|
有限广播地址 | 255.255.255.255 | 可作为目的地址,发往该网段所有的主机(受限于网关) |
五、私网IP地址
-
公网IP:IP地址是由IANA统一分配的,以保证任何一个IP地址在Internet上的唯一性。这里的IP地址是指公网IP地址。
-
私网IP
- 实际上一些网络不需要连接到Internet,比如一个大学的封闭实验室内的网络,只要同一网络中的网络设备的IP地址不冲突即可。在IP地址空间里,A、B、C三类地址中各预留了一些地址专门用于上述情况,称为私网IP地址。
- 不需要申请
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
六、子网划分
1、为什么要进行子网划分
- 减少网络流量
- 优化网络性能
- 简化管理
- 有助于覆盖大型地理区域
2、每个子网可包含多少台主机?
2^y-2台,其中y是没被借用的主机位的位数。-2是因为,主机位全为0的部分是这个子网的网段号(Net_id),全为1的部分是这个网段的广播地址
3、子网划分的方法
通过VLSM实现子网划分的基本思想很简单:就是借用现有网段的主机位的最左边某几位作为子网位,划分出多个子网。
①、把原来有类网络IPv4地址中的“网络ID”部分向“主机ID”部分借位
②、把一部分原来属于“主机ID”部分的位变成“网络ID”的一部分(通常称之为“子网ID”)。
③、原来的“网络ID”+“子网ID”=新“网络ID”。“子网ID”的长度决定了可以划分子网的数量。
地址解析协议(ARP)
一、ARP协议
1、基础信息
- 根据已知的IP地址解析获得其对应的MAC地址
- 基于对方的源进行学习
2、免费ARP
-
功能
- 检测IP地址冲突
- 主机PC1,在获取到IP地址之后,会向网络中发起ARP Request或Reply(广播形式),请问PC1在吗?如果有人回应,则说明网络中有人跟自己的IP地址冲突了;如果没人回应,则可以使用
二、ARP的工作原理
1、Host1 ARP缓存
- 在发送数据前,设备会先查找ARP缓存表
- 如果缓存表中存在对方的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去。
- 如果缓存表中不存在相应的信息,则通过ARP来获取
2、ARP请求
- 主机1用通过发送ARP Request报文来获取主机2的MAC地址
- ARP Request报文封装在以太帧里。帧头中的源MAC地址为发送端主机1的MAC地址。此时,由于主机1不知道主机2的MAC地址,所以目的MAC地址为广播地址FF-FF-FF-FF-FF-FF。
- ARP Request报文中包含发送端MAC地址、发送端IP地址、目的端MAC地址、目的端IP地址,其中目的端MAC地址的值为0。ARP Request报文会在整个网络上传播,该网络中所有主机包括网关都会接收到此ARP Request报文。
- 由于不知道目的MAC地址,因此ARP Request报文内的目的端MAC地址为0
- ARP Request是广播数据帧,因此交换机收到后,会对该帧执行泛洪操作(广播)
3、Host 2 ARP缓存
- 先学习,将主机1的MAC地址记录到本地
- 所有的主机接收到该ARP Request报文后,都会检查它的目的端IP地址字段与自身的IP地址是否匹配。
- 如果匹配,则通过ARP Reply报文进行响应。
- 如果不匹配,则该主机将不会响应该ARP Request报文
4、ARP响应
- 主机2通过发送ARP Reply报文响应主机1的请求
- 此时主机2已知主机1的MAC地址,因此ARP Reply是单播数据帧
5、Host 1 ARP缓存
- 主机1收到ARP Reply以后,将主机2的MAC地址记录到自己ARP缓存表里
三、工作流程(蜗牛)
1、两个阶段
- ARP请求
- ARP响应
2、ARP协议报文(分组)格式
3、ARP缓存
- 主要的目的是为了避免重复去发送ARP请求
可以使用arp -a 来查看当前电脑里的arp缓存
arp -d 可以清空
arp -s 绑定arp
四、实验----ARP协议分析
1、实验目的
在R1与R2之间进行ping测,观察ARP解析过程,以及免费ARP的报文结构
2、具体配置
-
R1
[R1-GigabitEthernet0/0/0]ip addr 10.1.12.1 24
-
R2
[R2-GigabitEthernet0/0/0]ip addr 10.1.12.2 24
-
开机抓包
-
R1
ping -c 1 10.1.12.2
-
ARP请求
-
ARP响应
ICMP协议
一、ICMP协议
-
internet控制报文协议,用于在IP主机、路由器之间传递控制消息
控制信息指网络通不通、主机是否可达、路由是否可用等等
-
ICMP是属于网络层的协议,封装在传输层与网络层之间
二、ICMP报文格式
类型(type)
代码(code)
- 类型
- (8 0) 请求(Echo Request)
- (0 0) 回显应答(Echo Reply比较正常的应答)
- (3 1) 目标不可达(因为code是1,所以为主机不可达)
- (11 0) 超时(传输期间生存时间为0)
- (3 3) 目标不可达(因为code是3,所以为端口不可达)
- (3 2) 目标不可达(因为code是2,所以为协议不可达)
- 类型13、14 时间戳请求和应答
- (5 0) 重定向(网络重定向)
- (5 1) 主机重定向
- 总计类型0~18
三、ICMP常见的报文
- 响应请求
- 使用ping请求(type=8) 响应(type=0)
- 目标不可达
- type=3
- 源抑制
- 源抑制则充当一个控制流量的角色,它通知主机减少数据报流量,由于ICMP没有恢复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率 type=4
- 超时报文
- 类型11 code 0 传输超时 ,code 1 重组分段超时
- 时间戳
- type=13 时间戳请求
- type=14 时间戳应答
四、ICMP重定向
1、概念
- ICMP重定向报文是ICMP控制报文中的一种。在特定情况下,当路由器检测到一台机器使用非最优路由的时候,他会向主机发送一个ICMP重定向报文,请求主机改变路由
2、ICMP重定向过程
- 主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文。
- 网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,此转发路径是更优的路径,所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文。
- 主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A。
五、ICMP错误报告
功能:Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。 Tracert是检测网络丢包和时延的有效手段,同时可以帮助管理员发现网络中的路由环路。
帮助定位错误出现在哪里
-
ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。
-
如果网络中发生了环路,导致报文在网络中循环,且最终TTL超时,这种情况下网络设备会发送TTL超时消息给发送端设备。
-
如果目的地不可达,则中间的网络设备会发送目的不可达消息给发送端设备。目的不可达的情况有多种,如果是网络设备无法找到目的网络,则发送目的网络不可达消息;如果网络设备无法找到目的网络中的目的主机,则发送目的主机不可达消息。
-
ICMP的另一个典型应用是Tracert。Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。为了跟踪到达某特定目的地址的路径,源端首先将报文的TTL值设置为1。该报文到达第一个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。然后源端将报文的TTL值设置为2,报文到达第二个节点后超时,该节点同样返回TTL超时消息,以此类推,直到报文到达目的地。这样,源端根据返回的报文中的信息可以跟踪到报文经过的每一个节点,并根据时间戳信息计算往返时间。
六、实验----ICPM协议
1、实验目的
在PC1上Tracert PC2,观察路径探测的过程,了解Tracert技术的实现原理
2、具体配置
-
R5
[R5]interface g0/0/0
[R5-GigabitEthernet0/0/0]ip addr 10.1.10.254 24
[R5-GigabitEthernet0/0/0]q
[R5]int g0/0/1
[R5-GigabitEthernet0/0/1]ip addr 10.1.12.1 24
-
R6
[R6]int g0/0/0
[R6-GigabitEthernet0/0/0]ip addr 10.1.12.2 24
[R6-GigabitEthernet0/0/0]q
[R6]int g0/0/1
[R6-GigabitEthernet0/0/1]ip addr 10.1.23.2 24
-
R7
[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ip addr 10.1.23.3 24
[R7-GigabitEthernet0/0/0]q
[R7]int g0/0/1
[R7-GigabitEthernet0/0/1]ip addr 10.1.20.254 24
-
配置完成
[R5]dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.1.10.254/24 up up
GigabitEthernet0/0/1 10.1.12.1/24 up up
[R6]dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.1.12.2/24 up up
GigabitEthernet0/0/1 10.1.23.2/24 up up
[R7]dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.1.23.3/24 up up
GigabitEthernet0/0/1 10.1.20.254/24 up up
-
配置静态路由
-
R5
[R5]ip route-static 10.1.20.0 24 10.1.12.2
-
R6
[R6]ip route-static 10.1.10.0 24 10.1.12.1 [R6]ip route-static 10.1.20.0 24 10.1.23.3
-
R7
[R7]ip route-static 10.1.10.0 24 10.1.23.2
-
-
在PC1上Tracert PC2
以太网交换基础
一、以太网协议
- 以太网是当今现有局域网采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法
- 以太网是建立在CSMA/CD(载波监听多路访问/冲突检测)机制上的广播型网络
1、早期以太网
- 由HUB连接,所以的接口处于同一冲突域
- 建立在CSMA/CD机制上的广播型网络。冲突的产生是限制以太网性能的重要因素,早期的以太网设备如集线器HUB是物理层设备,不能隔绝冲突扩散,限制了网络性能的提高。
- 同一介质上的多个节点共享链路带宽,争用链路的使用权,这样就会发生冲突
- 同一介质上的节点越多,冲突发生的概率越大
- 解决方法:以太网络使用CSMA/CD技术,避免冲突问题
2、交换机组网
- 交换机做为一种能隔绝冲突的二层网络设备,极大的提高了以太网的性能,并替代HUB成为主流的以太网设备。但是交换机对网络中的广播数据流量不做任何限制,这也影响了网络的性能。
- 交换机不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互连的主机
(或网络)之间不必再担心流量大小对于数据发送冲突的影响。 - 隔离冲突域
- 每个接口相当于1个独立的冲突域
3、冲突域
- 冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一宽带,一个节点发出的报文(无论是单播、组播、广播),其余节点都可收到
4、CSMA/CD的基本工作过程
先听后发,边发边听,冲突停发,随机延迟后重发
- 终端设备不停的检测共享线路的状态。
- 如果线路空闲则发送数据。
- 如果线路不空闲则一直等待。
- 如果有另外一个设备同时发送数据,两个设备发送的数据必然产生冲突,导致线路上的信号不稳定。
- 终端设备检测到这种不稳定之后,马上停止发送自己的数据。
- 终端设备发送一连串干扰脉冲,然后等待一段时间之后再进行发送数据。发送干扰脉冲的目的是为了通知其他设备,特别是跟自己在同一个时刻发送数据的设备,线路上已经产生了冲突。
5、广播域
广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。
- 早期以太网
- 在传统的以太网中,同一介质上的多个节点共享链路,一台设备发出的广播报文,所有设备均会收到。
- 交换机组网
- 交换机对广播报文会向所有的接口都转发,所以交换机的所有接口连接的节点属于一个广播域。
二、以太网帧
1、概念
- 以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。
- 以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。
- Ethernet_II传输效率高
- 通常使用Ethernet_II
2、Ethernet Ⅱ以太帧
- 帧头(14字节)
- DMAC:6字节,目的MAC地址,IPV4为6字节,该字段标识帧的接收者。、
- SMAC:6字节,源MAC地址,IPV4为6字节,该字段标识帧的发送者。
- Type:2字节,协议类型。
- 帧尾FCS(4字节)
三、以太网交换机
1、交换机工作原理
-
早期的共享式以太网,它是由集线器(HUB)相连
- 一个冲突域/广播域的网络
-
源:主机A;目的:主机B
- 当交换机收到发来的数据帧后查看帧头部,首先查看源MAC地址有没有记录在自己的MAC表中
- 如果有,那么记录主机A------接口1,直接通过该表项中的出接口转发该报文;
- 如果没有,就直接从除接受接口外的所有连接的接口转发,这种方式称为广播,主机B和主机C都收到,主机C丢弃,主机B回应,直接单播(一对一)转发
- 当交换机收到发来的数据帧后查看帧头部,首先查看源MAC地址有没有记录在自己的MAC表中
-
工作模式
- 单工:数据报只能单向传输
- 半双工:数据报可以双向传输,但不能同时进行
- 全双工:数据报可以双向并且同时进行
-
接口速率
- 10
- 100
- 1000
2、MAC地址表
- 每台交换机都有一个MAC地址表,存放了MAC地址与交换机端口号之间的映射关系
MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系。交换机在转发数据帧时,根据数据帧的目的MAC地址查询MAC地址表。
如果MAC地址表中包含与该帧目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;
如果MAC地址表中没有包含该帧目的MAC地址对应的表项时,交换机将采取泛洪方式在除接收接口外的所有接口发送该报文。
- 基于源MAC地址进行学习,生成MAC表
- 基于目的MAC地址进行查表,转发
- 存放在内存中,重启后会消失
3、交换机的三种数据帧处理行为
- 泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
- 转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口” 不能是这个帧进入交换机的那个端口)。
- 丢弃:交换机把从某一端口进来的帧直接丢弃。
4、泛洪
- 如果从传输介质进入交换机的某个端口的帧是一个单播帧,交换机会去MAC表查这个帧的目的MAC地址。如果查不到这个MAC地址,则交换机将对该单播帧执行泛洪操作。
- 如果从传输介质进入交换机的某个端口的帧是一个广播帧,交换机不会去查MAC地址表,而是直接对该广播帧执行泛洪操作。
IP路由基础
一、路由概念
1、路由基本概念
- 路由器属于三层(网络层)设备
- 网络层功能
- 进行IP地址寻址,实现不同网络(网络地址不等或者说内网和外网分割**内网的IP地址是无法在外网上进行路由的 **)之间的路径选择
- 查找目的是否可以到达,如果可以到达选择一条最优的路径;
- 网络层所传输的PDU(传输数据单元)是数据包,我们称之为IP数据包
- 网络层封装的是IP头部
- 路由是指导报文转发的路径信息,通过路由可以确认咋转发IP报文的路径
- 路由设备维护着一张路由表,保存着路由信息,路由条目包含明确的出接口以及下一跳,这两项信息指导IP报文转发到相应的下一跳设备上。
2、路由信息表
-
查看命令
dis ip routing-table
-
格式
Destination/Mask Proto Pre Cost Flags NextHop Interface 目的网络地址/掩码长度 协议类型 优先级 度量值 标志 下一跳 出接口 目的网络:标识目的网段 掩码:与目的地址共同标识一个网段 协议类型:该路由的协议类型,也即路由器是通过什么协议获知该路由的 优先级:优先级最高(数值最小)者将成为当前的最优路由。 度量值:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由 出接口:数据包被路由后离开本路由器的接口 下一跳:路由器转发到达目的网段的数据包所使用的下一条地址
-
路由表的特点
- 路由器通过各种方式发现路由
- 路由器选择最优的路由条目放入路由表中
- 路由表指导设备对IP报文的转发
- 路由器通过对路由表的管理实现对路径信息的管理
- 路由表由路由条目组成,但不代表路由表中保存了所有路由,路由表中只会保存“最优的” 路由。
- 对路由表中的路由条目的管理实际上就是路由器维护、管理路由信息的具体实现。
3、路由条目的生成方式
直连路由
直连路由的下一跳地址并不是其他设备上的接口地址,因为该路由的目的网段为接口所在网段,本接口就是最后一跳,不需要再转发给下一跳,所以在路由表中的下一跳地址就是接口自身地址。
直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。
静态路由
需要管理员手工配置
动态路由
路由器通过动态路由协议学习到的路由
常见的动态路由协议:RIP、OSPF、IS-IS、BGP、IGRP、EIGRP
4、路由优先
先比较优先级,再比较开销
①、路由加表阶段
-
当三种形式都存在的话,只存放最优的
-
比价优先级
路由来源 路由类型 默认优先级 直连 直连路由 0 静态 静态路由 60 动态路由 OSPF内部路由 10 OSPF外部路由 150 -
比较开销
-
②、路由优选的阶段
- 在路由表中选择最适合自己的
- 最长匹配原则:目标ip与本地路由表比较,找匹配度最长的条,就是最适合的条目
5、日考题
一、当路由器收到一个目的非本设备接口的数据报文时,将如何处理此报文?
1、收到目的MAC不是自己接口MAC
丢弃数据,作为三层设备,每一个接口都是一个广播域
2、目的IP不是路由器接口IP
进行正常路由处理
查路由表
找到条目:
最长匹配原则,找到最合适的路由进行转发
找不到条目:
丢弃处理
二、交换机接受到数据帧后,经查表,发现出接口和入接口一直时,交换机会进行泛洪操作 ❌
三、交换机MAC表如果用SAVE命令保存,重启设备后,MAC条目就不会消失 ❌
二、静态路由
1、概念
- 需要手动配置,管理方便,对系统要求底
- 缺点
- 不能自动适应网络拓扑的变化,需要人工干预
- 配置量比较大
2、具体配置
-
RTA的配置如下
[RTA] ip route-static 20.1.1.0 24 10.0.0.2
-
RTC的配置如下
[RTC] ip route-static 10.0.0.0 24 20.1.1.2
静态配置:[Huawei]ip route-static 目的网段 掩码 (出接口)下一跳
注意:
下一跳地址:如果是以太网链路,g或者e开头的,出接口和下一跳地址必须加;
如果是s开头的串行线,可以不指定下一跳。
3、什么时候需要配置静态路由
- 对于非直连网段,才需要配置静态路由
- 直连网段不需要配置静态路由
4、实验----静态路由
①:配置IP地址
<R1>dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 192.168.10.254/24 up up
GigabitEthernet0/0/1 10.0.12.1/24 up up
<R2>dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.0.12.2/24 up up
GigabitEthernet0/0/1 10.0.23.2/24 up up
<R3>dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.0.23.3/24 up up
GigabitEthernet0/0/1 10.0.34.3/24 up up
<R4>dis ip int brief
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 10.0.34.4/24 up up
GigabitEthernet0/0/1 192.168.20.254/24 up up
②:配置静态路由
- R1
[R1]ip route-static 10.0.23.0 24 10.0.12.2
[R1]ip route-static 10.0.34.0 24 10.0.12.2
[R1]ip route-static 192.168.20.0 24 10.0.12.2
- R2
[R2]ip route-static 192.168.10.0 24 10.0.12.1
[R2]ip route-static 10.0.34.0 24 10.0.23.3
[R2]ip route-static 192.168.20.0 24 10.0.23.3
- R3
[R3]ip route-static 192.168.10.0 24 10.0.23.2
[R3]ip route-static 10.0.12.0 24 10.0.23.2
[R3]ip route-static 192.168.20.0 24 10.0.34.4
- R4
[R4]ip route-static 192.168.10.0 24 10.0.34.3
[R4]ip route-static 10.0.12.0 24 10.0.34.3
[R4]ip route-static 10.0.23.0 24 10.0.34.3
③:测试
三、路由高级特性
1、缺省路由(默认路由)
- 缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发
- 缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由
- 配置场景:网络出口配置一条默认路由,指向运营商
2、等价路由
路由表存在等价路由之后,前往该目的网段的IP报文路由器会通过
①、生成前提
- 路由生成方式是相同的
- 开销是一致的
②、显示方式
- 来源相同、开销相同的路由都会被加入路由表,形成的路由为等价路由(两个路由条目指向的目的网段相同,但是具有不同的下一跳地址),路由转发会将流量分布到多条路径上。
③、流量转发路径选择
- 基于包的负载
- 基于流的负载(默认情况)
- 流1选择链路1
- 流2选择链路2
3、浮动路由
路由器B正常的情况下走路由器B,路由器B出现故障的时候,走路由器C
①、基本概念
- 静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份
- 浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时,备份路由不会出现在路由表上
- 适用于:高速链路用户数据传输,低俗链路用于备份
②、配置
ip route-static 20.0.0.0 30 10.1.1.2
ip route-static 20.0.0.0 30 10.1.1.2 perference 70
4、CIDR
①、基本概念
-
CIDR(五类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分
-
CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有较少路由表条目数量
5、路由汇总
①、诞生背景
- 子网划分、VLSM解决了地址空间浪费问题,但同时也带来了新问题:路由表中的路由条目数量增加。
- 为减少路由条目数量可以使用路由汇总
②、汇总计算
- 网络号:相同位保留,不同位置0
- 掩码号:网络位置1,主机位置0
6、实验----浮动静态实验
①、R1配置默认路由
[R1]ip route-static 0.0.0.0 0 10.1.12.2
[R1]ip route-static 0.0.0.0 0 10.1.21.2
②、R2配置明细路由
[R2]ip route-static 192.168.10.0 24 10.1.12.1
[R2]ip route-static 192.168.10.0 24 10.1.21.1
③、查看R1的路由表
dis ip routing-table //查看路由信息表
//发现等价路由
④、测试连接
⑤、配置环回接口
- R2
[R2]int lo0
[R2-LoopBack0]ip addr 2.2.2.2 32
[R2-LoopBack0]dis this //查看当前接口下的配置
[V200R003C00]
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
return
⑥、PC1ping
2.2.2.2
实验证明可以ping通
PC1本地虽然没有2.2.2.2,但是有默认路由。
如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取默认路由进行转发
⑦、配置浮动路由
- R1
[R1]ip route-static 0.0.0.0 0 10.1.21.2 preference 66
[R1]dis ip routing-table //查看路由表,发现等价路由消失,备份路由没有出现在路由表中
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/0
[R1]dis cu | in ip route //从已经配置过的命令中筛选包含ip route的命令
- R2
[R2]ip route-static 192.168.10.0 255.255.255.0 10.1.21.1 preference 61
⑧、tracetr
查看路径
PC>tracert 192.168.20.1
traceroute to 192.168.20.1, 8 hops max
(ICMP), press Ctrl+C to stop
1 192.168.10.254 31 ms 16 ms 16 ms
2 10.1.12.2 15 ms 16 ms 31 ms
3 *192.168.20.1 16 ms 15 ms //证明是走主链路通过的
⑨、使用备份链路
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]shutdown
[R1]dis ip routing-table //发现备份路由已成功加载到路由表中
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 66 0 RD 10.1.21.2 GigabitEthernet0/0/1
//启用接口
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]undo shutdown
[R1]dis ip routing-table //主路由恢复到路由表中
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/0
⑩、路由汇总
[R2]int lo 2
[R2-LoopBack2]ip add 192.168.0.1 24
[R2-LoopBack2]ip add 192.168.1.1 24 sub //添加sub可以在一个接口配置多个ip
[R2-LoopBack2]ip add 192.168.2.1 24 sub
[R1]undo ip route-static 0.0.0.0 0 //删除整条默认路由
[R1]ip route-static 192.168.0.0 22 10.1.12.2 //配置汇总路由
[R1]dis ip routing-table //出现汇总路由
192.168.0.0/22 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/0
VLAN的原理与配置
一、目的
-
解决在典型交换网络中,当某台主机发送一个广播帧或未知单播帧时,该数据帧会被泛洪,甚至传递到整个广播域。
-
解决广播域越大,产生的网络安全问题、垃圾流量问题,就越严重。
-
隔离广播域
-
增加网络的完全性
-
简化了网络的管理
二、特点
- 不同交换机,只要Vlan相同就可以通信,可以跨设备通信
- 不受地域限制
- Vlan之间实现二层隔离,不同的Vlan属于不同的局域网
- Vlan内可以进行二层通信
- 虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。
- VLAN是一个虚拟的局域网,通过划分vlan可以使同一个虚拟局域网中的用户进行通信,从而,在不同的虚拟局域网中的用户不能进行通信,减少网络广播,进而起到提高网络安全性的问题。VLAN ID的范围是04095,可配置的值是14094,0和4095是保留值,默认VLAN ID是1。
三、Vlan标签(VLAN Tag)
- 如图所示,SW1识别出某个帧是属于哪个VLAN后,会在这个帧的特定位置上添加一个标签。这个标签明确地标明了这个帧是属于哪个VLAN的。其他交换机(如SW2)收到这个带标签的数据帧后,就能轻而易举地直接根据标签信息识别出这个帧属于哪个VLAN。
- IEEE 802.1Q定义了这种带标签的数据帧的格式。满足这种格式的数据帧称为IEEE 802.1Q数据帧,也称VLAN数据帧。
1、Vlan的实现
- Switch1和Switch2之间的链路要承载多个VLAN的数据,需要一种基于VLAN的数据“标记”手段,以便对不同VLAN的数据帧进行区分
2、VLAN Tag包含的信息
- 存放在目的MAC地址和源MAC地址之后
- **VLAN ID:**标识所属的VLAN,范围0-4095
- 就算只有一个Vlan,依然会打标签
四、Vlan的划分方式
- 基于接口
- 不管未来连那个主机,对应的接口都属于配置时的VLAN
- 基于MAC地址
- 不管未来怎样移动主机,连接到那个交换机,都属于MAC绑定的VLAN
- 基于IP子网划分
- 基于协议划分
- 基于策略
五、以太网二层接口类型
1、Access接口
交换机上常用来连接用户PC、服务器等终端设备的接口。Access接口所连接的这些设备的网卡往往**只收发无标记帧**。Access接口**只能加入一个VLAN**。
Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。
根据接收到数据的接口判断所属的Vlan,数据传输的过程中不携带Vlan Tag
- 交换机接受帧
- 不携带VLAN Tag:给数据帧打上接口所划分的VLAN(普遍情况)
- 携带VLAN Tag的数据帧:检测数据帧所携带的VLAN与我接口所划分的VLAN是否相同
- 相同:接受
- 不同:丢弃
- 交换机发送帧
- 检查VLAN ID 与接口划分的VLAN是否相同
- 相同:先剥离改帧的Tag,然后再将其从该接口发出
- 不同:禁止将该帧从改接口发出
- 检查VLAN ID 与接口划分的VLAN是否相同
2、Trunk接口
①、用途
- 主要用于交换机之间传输数据
②、接受帧(前提是接口允许Vlan通过)
- 接收到未携带Tag的数据帧:给数据打上Trunk所属的PVID
- 接受到携带Tag的数据帧:直接接受数据
③、发送帧(前提是接口允许Vlan通过)
- 帧的Vlan ID和PVID不同:保留该帧的PVID,然后转发数据
- 帧的Vlan ID和PVID相同:将数据所携带的Tag剥离,然后转发数据
④、基础配置命令
#配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type trunk
#配置Trunk接口加入指定的Vlan
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 20
#配置Trunk接口的缺省Vlan
[Huawei-GigabitEthernet0/0/1] port trunk pvid vlan 10
3、Hybrid接口
①、接受帧
- 接受到Untagged帧:打上PVID
- 接受到Tagged帧:在允许链表的时候,就会直接放行,
②、发送帧
- 管理员通过命令设置不携带Tag,则将该帧的Tag剥除
- 管理员通过命令设置携带Tag,则保留该帧的Tag
③、基础配置命令
[Huawei-GigabitEthernet0/0/1] port link-type hybrid #配置链路类型
[Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan 10 20 #指定Vlan不携带Tag
[Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan 30 40 #指定Vlan携带Tag
[Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id #配置hybrid接口的缺省Vlan(PVID)
六、基于MAC划分Vlan
基于MAC划分Vlan的时候,接口不需要配置PVID
1、配置思路
- 创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。
- 配置SW1和SW2的各接口类型以及通过的VLAN,实现相同业务用户通过SW1和SW2通信。
2、前提:接口类型需要为Hybrid
3、基础配置命令
[SW1-vlan10] mac-vlan 54-89-98-E2-32-78 #关联MAC地址与VLAN
[SW2-vlan10] mac-vlan 54-89-98-15-0E-A9
[sw1-GigabitEthernet0/0/1] mac-vlan enable #使能MAC地址与VLAN
七、实验
1、Access接口
- SW1
<Huawei>system-view
[Huawei]sysname SW1
[SW1]vlan batch 10 20 //创建多个VLAN时连续用to、不连续用空格隔开
[SW1]int g 0/0/1 //配置0/0/1接口
[SW1-GigabitEthernet0/0/1]port link-type access //接口类型改为access
[SW1-GigabitEthernet0/0/1]port default vlan 10 //把接口加入Vlan10
[SW1-GigabitEthernet0/0/1]dis this //查看配置,配置成功
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
return
//配置g 0/0/3
[SW1-GigabitEthernet0/0/1]int g0/0/3
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 10
//配置g 0/0/2
[SW1-GigabitEthernet0/0/3]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 20
- 查看SW信息
[SW1]dis port vlan //查看接口的链路类型,接口所划分的Vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 access 10 -
GigabitEthernet0/0/2 access 20 -
GigabitEthernet0/0/3 access 10 -
[SW1]dis vlan //查看当前配置了几个Vlan
The total number of vlans is : 3
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
--------------------------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------------------------
1 common UT:GE0/0/4(D) GE0/0/5(D) GE0/0/6(D) GE0/0/7(D) //Vlan1默认创建的,默认所以接口都属于Vlan1
GE0/0/8(D) GE0/0/9(D) GE0/0/10(D) GE0/0/11(D)
GE0/0/12(D) GE0/0/13(D) GE0/0/14(D) GE0/0/15(D)
GE0/0/16(D) GE0/0/17(D) GE0/0/18(D) GE0/0/19(D)
GE0/0/20(D) GE0/0/21(D) GE0/0/22(D) GE0/0/23(D)
GE0/0/24(D)
10 common UT:GE0/0/1(U) GE0/0/3(U) //U,表示接口为UP状态
20 common UT:GE0/0/2(U)
VID Status Property MAC-LRN Statistics Description
--------------------------------------------------------------------------------
1 enable default enable disable VLAN 0001
10 enable default enable disable VLAN 0010
20 enable default enable disable VLAN 0020
[SW1]dis mac-address //查看MAC地址表
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-9806-75cc 10 - - GE0/0/1 dynamic 0/-
5489-98c0-786b 10 - - GE0/0/3 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2
- 扩展
如果需要使得PC1可以和PC5通信,需要做两步操作:
1、把SW1的G0/0/4接口类型设置为access并划分为Vlan10
2、把SW2的G0/0/1接口类型设置为access并划分为Vlan20
当数据从G4接口发送的时候,会剥离Tag,G1收到数据后,会打上接收端口的PVID,使得数据属于Vlan20
2、Trunk接口
-
配置
[SW1-GigabitEthernet0/0/4]undo prot default vlan #删除接口所属的Vlan
[SW1-GigabitEthernet0/0/4]undo prot link-type #删除接口类型
[SW2]clear configuration interface g0/0/1 #删除接口所有配置并且shutdown接口
SW1
[SW1-GigabitEthernet0/0/4]port link-type trunk #将接口设置为trunk
[SW1-GigabitEthernet0/0/4]port trunk allow-pass vlan 10 20 #接口放行Vlan 10 20
[SW1]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 access 10 -
GigabitEthernet0/0/2 access 20 -
GigabitEthernet0/0/3 access 10 -
GigabitEthernet0/0/4 trunk 1 1 10 20 #允许Vlan10、20通过(V'lan)
SW2
[SW2]clear configuration interface g0/0/1 #删除接口所有配置并且shutdown接口
[SW2-GigabitEthernet0/0/1]undo shutdown #启动接口
[SW2-GigabitEthernet0/0/1]port link-type trunk #将接口设置为trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20 #接口放行Vlan 10 20
[SW2-GigabitEthernet0/0/1]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 trunk 1 1 10 20
-
Tag
此时如果在SW2的G0/0/1接口抓取数据流量的话,是可以抓取到Tag的,因为SW1的-4接口属于Vlan1,和PC1的tag不同,所以SW1不会剥离Tag数据
-
扩展
如果想实现PC1可以ping通PC4,需要做两步操作:
1、将SW1的G4接口,设置为Vlan10
2、将SW2的G1接口,设置为Vlan20
这样SW1G4接口发送数据帧时,因为G4接口的PVID和PC1的Tag相同,所以会剥离Tag
SW2收到没有带有Tag的数据时,会打上Vlan20的标签,使得PC1和PC4正常通信
SW1
[SW1]int g0/0/4
[SW1-GigabitEthernet0/0/4]port trunk pvid vlan 10 #将trunk的PVID设置为10
SW2
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port trunk pvid vlan 20 #将trunk的PVID设置为20
#测试
PC>ping 192.168.10.4
Ping 192.168.10.4: 32 data bytes, Press Ctrl_C to break
From 192.168.10.4: bytes=32 seq=1 ttl=128 time=62 ms
From 192.168.10.4: bytes=32 seq=2 ttl=128 time=63 ms
From 192.168.10.4: bytes=32 seq=3 ttl=128 time=63 ms
From 192.168.10.4: bytes=32 seq=4 ttl=128 time=62 ms
From 192.168.10.4: bytes=32 seq=5 ttl=128 time=62 ms
3、Hybrid接口
- 配置
SW1
[SW1]vlan batch 10 20
[SW1-GigabitEthernet0/0/1]port hybrid pvid vlan 10 #收数据的时候,会打上Vlan10的Tag
[SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 10 #发送数据到时候,不携带Tag
#配置G3接口
[SW1-GigabitEthernet0/0/1]int g0/0/3
[SW1-GigabitEthernet0/0/3]port hybrid untagged vlan 10 #两层含义 1、允许接口发送那些Vlan的数据;2、流量发送的时候不携带Tag
[SW1-GigabitEthernet0/0/3]port hybrid pvid vlan 10
#配置G2接口
[SW1-GigabitEthernet0/0/3]int g0/0/2
[SW1-GigabitEthernet0/0/2]port hybrid pvid vlan 20
[SW1-GigabitEthernet0/0/2]port hybrid untagged vlan 20 #终端设备不识别Tag,所以需要剥离Tag
#配置G4接口
[SW1-GigabitEthernet0/0/2]int g0/0/4
[SW1-GigabitEthernet0/0/4]port hy tagged vlan 10 20 #允许Vlan10和Vlan20发送数据并携带Tag
#测试连通性
PC>ping 192.168.10.3
Ping 192.168.10.3: 32 data bytes, Press Ctrl_C to break
From 192.168.10.3: bytes=32 seq=1 ttl=128 time=47 ms
From 192.168.10.3: bytes=32 seq=2 ttl=128 time=46 ms
SW2
[SW2]vlan batch 10 20
#配置G1接口
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20
#配置G2接口
[SW2-GigabitEthernet0/0/1]int g0/0/2
[SW2-GigabitEthernet0/0/2]port hybrid pvid vlan 20
[SW2-GigabitEthernet0/0/2]port hybrid untagged vlan 20
#查看配置
[SW2-GigabitEthernet0/0/2]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 hybrid 1 10 20
#测试连通性
PC>ping 192.168.10.4
Ping 192.168.10.4: 32 data bytes, Press Ctrl_C to break
From 192.168.10.4: bytes=32 seq=1 ttl=128 time=78 ms
From 192.168.10.4: bytes=32 seq=2 ttl=128 time=63 ms
- 扩展
①、实验目的
PC1、PC2、PC3、PC5都可以与PC4实现通信
②、配置
SW1
#配置G5接口
[SW1]vlan batch 30
[SW1]int g0/0/5
[SW1-GigabitEthernet0/0/5]port hybrid pvid vlan 30
[SW1-GigabitEthernet0/0/5]port hybrid untagged vlan 30
#配置G4接口
[SW1-GigabitEthernet0/0/4]port hybrid tagged vlan 30 #放行Vlan30数据
[SW1-GigabitEthernet0/0/4]dis this
#
interface GigabitEthernet0/0/4
port hybrid tagged vlan 10 20 30
#
return
SW2
[SW2]vlan 30
[SW2-vlan30]q
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port hybrid tagged vlan 30
[SW2-GigabitEthernet0/0/1]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 hybrid 1 10 20 30
③、扩展配置
SW2
[SW2-GigabitEthernet0/0/1]int g0/0/2
[SW2-GigabitEthernet0/0/2]port hybrid untagged vlan 10 20 30 #收到数据后,发到PC端的时候全部剥离Tag
SW1
#将SW1所有的接口发送数据时,都剥离Vlan20的Tag
#配置G1接口
[SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 20
#配置G2接口
[SW2-GigabitEthernet0/0/1]port hybrid untagged vlan 20
#配置G3接口
[SW3-GigabitEthernet0/0/1]port hybrid untagged vlan 20
#配置G5接口
[SW5-GigabitEthernet0/0/1]port hybrid untagged vlan 20
④、测试
生成树协议(STP/RSTP)
一、基础知识
1、目的
- 消除环路:通过阻塞冗余链路消除网络中可能存在的网络通信环路。
- 链路备份:当前活动的路径发生故障时,激活冗余备份链路,恢复网络连通性。
- 避免产生广播风暴
- 避免MAC地址漂移
2、在园区网中的位置
- 生成树主要工作在二层网络
- 动态路由主要工作在三层路由
- 静态路由主要 工作在出口
3、根桥(Root Bridge)
- 根桥就是网桥ID最小的桥,通过交互配置BPDU协议报文选出最小的BID。
- 根桥是生成树进行拓扑计算的重要参考点
- 首先比较优先级,优先级越小越优先,如果优先级相等,则会比较MAC地址,拥有最小MAC地址的交换机会成为根桥
4、开销(Cost)
- 交换机的每个端口都有一个端口开销(Port Cost)参数,此参数表示该端口在STP中的开销值。默认情况下端口的开销和端口的带宽有关,带宽越高,开销越小。
- 接口带宽越大,则Cos值越小
- 用户也可以根据需要通过命令调整接口的Cost
5、根路径开销(RPC)
- 一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有入方向接口的Cost累加
6、网桥协议数据单元(BPDU)
STP按照如下顺序选择最优的配置BPDU
#选举根网桥
最小的根桥ID
#选举根接口及指定端口
最小的根路径开销
最小的网桥ID
最小的接口ID
在这四条原则中(每条原则都对应配置BPDU中的相应字段)
根桥的路径开销为0,因为自己就是根桥
- BPDU是STP能正常工作的根本,BPDU是STP的协议报文
- STP交换机之间会交互BPDU报文
- BPDU报文分为两种类型
- 配置BPDU
- TCN BPDU
- 配置BPDU是STP进行拓扑计算的关键
- TCN BPDU只会在网络拓扑发生变更时才会被触发
7、比较
三种生成树协议的比较
生成树协议 | 特点 | 应用场景 |
---|---|---|
STP | 1、形成一颗无环路的树,解决广播风暴并实现冗余备份 2、收敛速度较慢 | 无需区分用户或业务流量,所以Vlan共享一颗生成树。 |
RSTP | 1、形成一颗无环路的树,解决广播风暴并实现冗余备份 2、收敛速度较快 | 无需区分用户或业务流量,所以Vlan共享一颗生成树。 |
MSTP | 1、形成多颗无环路的树,解决广播风暴并实现冗余备份 2、收敛速度块 3、多棵生成树在Vlan间实现负载均衡,不同Vlan的流量按照不同的路径转发 | 需要区分用户或业务流量,并实现负载分担。不同的Vlan通过不同的生成树转发流量,每颗生成树之间相互独立 |
二、两种度量
生成树的生成计算有两大基本度量依据:ID和路径开销。
1、ID
ID又分为:BID(Bridge ID)和PID(Port ID)
a、BID(桥ID)
- 比较网桥ID,网桥ID较小的为根交换机
- 网桥ID(网桥优先级+网桥的MAC地址)
- 网桥优先级,默认是32768,可以由管理员进行更改(更改时注意需要设置为4096的倍数)
- 网桥ID(网桥优先级+网桥的MAC地址)
- 根网桥上的端口是不可能被阻塞的
- 管理员可以干预桥优先级
- 步长为4096
b、PID(接口ID)
- 高4bit是接口优先级,底12bit是接口编号
- 用户可以根据实际需要,通过命令修改改优先级
- 步长为16
2、路径开销
路径开销(Path Cost)是一个端口变量,是STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。
在一个STP网络中,某端口到根桥的路径开销就是所经过的各个桥上的各端口的路径开销累加而成,这个值叫做根路径开销(Root Path Cost)。
三、三要素选举
从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。
1、根桥RB
#选举根桥
根桥就是网桥ID最小的桥,通过交互配置BPDU协议报文选出最小的BID。
#特点
1、在一个连续的STP交换网络中只会存在一个根桥
2、交换机在刚启动的时候都认为自己是根桥,互相发送BPDU进行STP运算,根桥的角色是抢占的
3、发送的BPUD只会由根桥产生
2、根端口RP
#选举根接口
1、最小的根路径开销
2、最小的发送方网桥ID
3、最小的发送方接口ID
#作用
1、根接口是接受来自根桥的BPDU的入口
2、根接口是去往根桥的出口
#特点
1、根端口在一个设备上有且只有一个
2、根端口负责向根桥方向转发数据,这个端口的选择标准是依据根路径开销判断
3、在一台设备上所有使能STP的端口中,根路径开销成本最小的端口,就是根端口
3、指定端口DP
#非根网桥上选指定端口
1、根路径成本最少,根网桥到本机RP的开销
2、最小的本地网桥ID
3、最下的本地端口ID
#特点
需要在每个网段(每条线路)上选择一个指定端口
根网桥上的所有端口都是指定端口
根端口的对端,是指定端口
根桥去往链路的出口
4、阻塞端口
没有被选择的端口就是阻塞端口
5、STP的计算过程
1、选举一个根桥
2、每个非根交换机选举一个根端口
3、每个网段选择一个指定端口
4、阻塞非根、非指定端口
四、STP思考题
1、
根桥:
三台SW的优先级相同,则比较MAC地址,谁小谁优先,SW1为根桥
根端口:
SW2的G0/0/1接口和SW3的G0/0/1接口距离根桥最近,RPC最小,所以这两个接口为根端口
指定端口:
SW1是根网桥,所以SW1的G0/0/0和G0/0/1接口为指定端口
SW2和SW3的RPC一样,但是SW2的BID更优,所以SW2的G0/0/2为指定端口
阻塞端口:
SW3的G0/0/2为阻塞端口
2、
根桥:
三台SW的优先级相同,则比较MAC地址,谁小谁优先,SW1为根桥
根端口:
SW2的G0/0/1接口距离根桥最近,RPC最小,所以这个接口为根端口
SW3的G0/0/2由于带宽问题,所以RPC较小,所以G0/0/2为根端口
指定端口:
SW1是根网桥,所以SW1的G0/0/0和G0/0/1接口为指定端口
阻塞端口:
SW3的G0/0/1为阻塞端口
3、
根桥:
四台SW的优先级相同,则比较MAC地址,谁小谁优先,SW1为根桥
根端口:
SW2的G0/0/1接口和SW3的G0/0/1接口距离根桥最近,RPC最小,所以这两个接口为根端口
SW4由于两个端口的RPC一样,则比较发送端的BID,SW2的BID最小,所以SW4的G0/0/1接口为根端口
指定端口
SW1是根网桥,所以SW1的G0/0/0和G0/0/1接口为指定端口
RP的对面是DP,所以SW2的G0/0/2端口为指定端口
对比SW4的G0/0/2端口和SW3的G0/0/1端口,RPC,SW3的RPC更小,所以SW3的G0/0/1接口为DP
阻塞端口:
SW4的G0/0/2为阻塞端口
4、
根桥:
SW1
根端口:
比较源网桥接口ID,G0/0/1更优,所以G0/0/1为根端口
指定端口:
根桥端口的G0/0/1和G0/0/2为指定端口
阻塞端口:
SW2的G0/0/2为阻塞端口
五、 五种端口状态
转发计时器:默认为15S,倾听转为学习,学习转为转发的两个过程中,都要等待转发计时器
#交换机端口的五种状态
1、禁用:down
2、阻塞:不能发送数据,也不会进行mac地址学习,只会去监听网络的BPDU(拓扑变更通告)
3、侦听:可以收发BPDU,但不会进行mac地址学习
4、学习:可以收发BPDU并可以进行mac地址学习,不会转发数据
5、转发:正常转发业务数据
#计时器
1、**Hello Timer(Hello时间):**STP交换机发送BPDU的时间间隔。当网络拓扑稳定之后,该计时器的修改只有在根桥修改才有效。根桥会在之后发出的BPDU中填充适当的字段以向其他非根桥传递该计时器修改信息。但当拓扑变化之后,TCN BPDU的发送不受这个计时器的管理。
2、**Forwarding Delay Timer(转发延时):**指一个端口Listening 和Learning的各自时间,默认为15秒,即Listening状态持续15秒,随后Learning状态再持续15秒。这两个状态下的端口会处Blocking状态,这是STP用于避免临时环路的关键。
3、**Max Age(最大老化时间):**端口的BPDU老化的时间。端口会根据接收到的BPDU存储所接收到的最好的四个信息(根桥BID、累计根路径开销、发送者BID和发送端口PID)。每次接收到合适的BPDU,端口都会启动这个Max Age计时器。超过这个Max Age时间端口接收不到合适BPDU,就会认为网络直径过大。这个时间默认为20秒。
参数 | 时间 |
---|---|
Hello Timer(Hello时间) | 2s |
Max Age(最大老化时间) | 20s |
Forwarding Delay Timer(转发延时) | 15s |
六、故障
1、根桥故障
#根桥故障:
1、在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。
2、如果根桥发生了故障,停止发送BPDU,下游交换机就无法收到来自根桥的BPDU报文。
3、如果下游交换机一直收不到BPDU报文,Max Age计时器(缺省: 20s)就会超时,从而导致已经收到的BPDU报文失效,此时,非根桥会互相发送配置BPDU,重新选举新的根桥。
#端口状态:
SW3的预备端口,20s后会从Blocking状态进入到Listening状态,再进入Learning状态,最终进入到Forwarding状态,进行用户流量的转发。
#收敛时间:
桥故障会导致50s左右的恢复时间,等于Max Age加上2倍的Forward Delay收敛时间。(20S+15S+15S)
2、直连链路故障
#直连链路故障:
1、当两台交换机间用两条链路互连时,其中一条是主用链路,另一条为备用链路。
2、当网络稳定时,交换机SWB检测到根端口的链路发生故障,则其备用端口会进入用户流量转发状态。
#端口状态:
1、备用端口会从Blocking状态,迁移到Listening-Learning-Forwarding状态。
#收敛时间:
1、直连链路故障,备用端口会经过30s后恢复转发状态。
3、非直连链路故障
#非直连故障
1、在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。
2、若SW1与SW2之间的链路发生了某种故障(非物理故障),因此SW2一直收不到来自根桥SW1的BPDU报文,Max Age计时器(缺省: 20 s)就会超时,从而导致已经收到的BPDU报文失效。
3、此时,非根桥SW2会认为根桥失效,并且认为自己是根桥,从而发送自己的配置BPDU给SW3,通知SW3自己是新的根桥。
4、在此期间,SW3的预备端口一直收不到包含根桥ID的BPDU,Max Age计时器超时后,端口进入到Listening状态,开始向SW2“转发”从上游发来的包含根桥ID的BPDU。
5、因此,Max Age定时器超时后,SW2和SW3几乎同时收到对方发来的BPDU,SW3转发来自根桥的BPUD给SW2.再进行STP重新计算,SW2发现SW3发来的BPDU更优,就放弃宣称自己是根桥并重新确定端口角色。
#端口状态:
预备端口20s后会从Blocking状态进入到Listening状态,再进入Learning状态,就可以转发BPDU,最终进入到Forwarding状态,进行用户流量的转发。
#收敛时间:
非直连链路故障后,SW3的备用端口恢复到转发状态,非直连故障会导致50s左右的恢复时间。(转换为DP)
5、拓扑改变导致MAC地址表错误
- SW3的G0/0/2接口切换到转发状态需要30s的时间,而MAC地址表的老化时间默认是300S
#在交换网络中,交换机依赖MAC地址表转发数据帧。缺省情况下,MAC地址表项的老化时间是300秒。如果生成树拓扑发生变化,交换机转发数据的路径也会随着发生改变,此时MAC地址表中未及时老化掉的表项会导致数据转发错误,因此在拓扑发生变化后需要及时更新MAC地址表项。
#本例中,SW2中的MAC地址表项定义了通过端口GigabitEthernet 0/0/3可以到达主机A,通过端口GigabitEthernet 0/0/3可以到达主机B。由于SW3的根端口产生故障,导致生成树拓扑重新收敛,在生成树拓扑完成收敛之后,从主机A到主机B的帧仍然不能到达目的地。这是因为MAC地址表项老化时间是300秒,主机A发往主机B的帧到达SW2后,SW3会继续通过端口GigabitEthernet 0/0/3转发该数据帧。
解决方法
#拓扑变化过程中,根桥通过TCN BPDU报文获知生成树拓扑里发生了故障。根桥生成TC用来通知其他交换机加速老化现有的MAC地址表项。
#拓扑变更以及MAC地址表项更新的具体过程如下:
1、SW3感知到网络拓扑发生变化后,会不间断地向SW2发送TCN BPDU报文,最终发送给根桥。
2、SW2收到SW3发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SW3,告知SW3停止发送TCN BPDU报文。
3、SW2向根桥转发TCN BPDU报文。
4、SW1收到TCN后,把配置BPDU报文中的Flags的TC位设置为1后发送,TC置位的BPDU会传遍全网,通知下游设备把MAC地址表项的老化时间由默认的300 s修改为Forward Delay的时间(默认为15 s)。到达老化时间后,MAC表会重新进行学习
5、SW2转发来自根桥的TC置位的BPDU
6、最多等待15 s之后,SW2中的错误MAC地址表项会被自动清除。此后,SW2就能重新开始MAC表项的学习及转发操作。
七、STP的基础配置
1、配置生成树的工作模式
[Huawei] stp mode { stp | rstp | mstp } #交换机支持STP、RSTP和MSTP三种生成树工作模式,默认情况工作在MSTP模式
2、配置根桥(可选)
[Huawei] stp root primary #配置当前设备为根桥。缺省情况下,交换机不作为任何生成树的根桥。配置后该设备优先级数值自动为0,并且不能更改设备优先级。
3、备份根桥(可选)
[Huawei] stp root secondary #配置当前交换机为备份根桥。缺省情况下,交换机不作为任何生成树的备份根桥。配置后该设备优先级数值为4096,并且不能更改设备优先级。
4、配置交换机的STP优先级(可选)
[Huawei] stp priority priority #缺省情况下,交换机的优先级取值是32768。
5、配置接口路径开销(可选)
[Huawei-GigabitEthernet0/0/1] stp cost cost #设置当前接口的路径开销值。
6、配置接口优先级(可选)
[Huawei-intf] stp priority priority #配置接口的优先级。缺省情况下,交换机接口的优先级取值是128。
7、启用STP/RSTP/MSTP
[Huawei] stp enable #使能交换机的STP/RSTP/MSTP功能。缺省情况下,设备的STP/RSTP/MSTP功能处于启用状态。
八、实验部分
1、课上实验
①、配置
#SW1
#配置Vlan
[SW1]vlan 10 #创建Vlan
[SW1-vlan10]q
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 10
[SW1-GigabitEthernet0/0/3]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SW1-GigabitEthernet0/0/1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
#配置生成树模式
[SW1]stp mode stp #调整当前交换机生成树模式为STP
#SW2
#配置Vlan
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/5]port link-type trunk
[SW2-GigabitEthernet0/0/5]port trunk allow-pass vlan 10
#配置生成树模式
[SW2]stp mode stp
#SW3
#配置Vlan
[SW3-GigabitEthernet0/0/4]port link-type trunk
[SW3-GigabitEthernet0/0/4]port trunk allow-pass vlan 10
[SW3-GigabitEthernet0/0/5]port link-type trunk
[SW3-GigabitEthernet0/0/5]port trunk allow-pass vlan 10
[SW3-GigabitEthernet0/0/1]port link-type access
[SW3-GigabitEthernet0/0/1]port default vlan 10
#配置生成树模式
[SW3]stp mode stp
②、查看状态
#SW1
#查看STP信息
<SW1>system-view
Enter system view, return user view with Ctrl+Z.
[SW1]dis stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc03-2e2a #桥ID
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc03-2e2a / 0
CIST RegRoot/IRPC :32768.4c1f-cc03-2e2a / 0
#查看交换机的接口状态
[SW1]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING #接口状态都为DP
0 0 GigabitEthernet0/0/2 DESI FORWARDING
0 0 GigabitEthernet0/0/3 DESI FORWARDING
#SW2
#查看STP信息
[SW2]dis stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-cc69-0bbd
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc03-2e2a / 20000 #不同的MSTP域之间的生成树
CIST RegRoot/IRPC :32768.4c1f-cc8d-268e / 0 #域内的根桥
#查看交换机的接口状态
[SW2]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 ROOT FORWARDING
0 0 GigabitEthernet0/0/5 DESI FORWARDING
#SW3
#查看信息
[SW3-GigabitEthernet0/0/1]dis stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-cc8d-268e
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc03-2e2a / 20000 #认为SW1为根桥 ,
CIST RegRoot/IRPC :32768.4c1f-cc69-0bbd / 0
#查看交换机的接口状态
[SW3-GigabitEthernet0/0/1]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/4 ALTE DISCARDING #因为SW3的桥ID较小,所以G0/0/5接口为阻塞接口
0 0 GigabitEthernet0/0/5 ROOT FORWARDING
[SW3]dis stp interface g0/0/4
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.4c1f-cc69-0bbd
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.4c1f-cc03-2e2a / 20000 #因为此接口为备份端口,所以不会处理BPDU,发过来的RPC是20000,再次也显示20000
CIST RegRoot/IRPC :32768.4c1f-cc69-0bbd / 0
Designated Bridge/Port :32768.4c1f-cc69-0bbd / 128.4 #发送方的桥ID和端口ID
2、扩展
私自接入优先级为0的交换机,会有什么情况发生
- 接入前各个接口的状态
[SW1]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/2 DESI FORWARDING
0 0 GigabitEthernet0/0/3 DESI FORWARDING
[SW2]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 ROOT FORWARDING
0 0 GigabitEthernet0/0/5 DESI FORWARDING
[SW3]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/4 ALTE DISCARDING
0 0 GigabitEthernet0/0/5 ROOT FORWARDING
- 接入交换机
[SW4]stp priority 0 #将交换机的优先级设置为0
- 接入后各个接口的状态
[SW1]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 ROOT FORWARDING
0 0 GigabitEthernet0/0/2 DESI FORWARDING
0 0 GigabitEthernet0/0/3 DESI FORWARDING
[SW2]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/2 ROOT FORWARDING
0 0 GigabitEthernet0/0/5 DESI FORWARDING
[SW3]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
0 0 GigabitEthernet0/0/4 ROOT FORWARDING
0 0 GigabitEthernet0/0/5 ALTE DISCARDING
[SW4]dis stp vlan 10
ProcessId InstanceId Port Role State
----------------------------------------------------------------------
0 0 GigabitEthernet0/0/1 DESI FORWARDING
- 发生变化
1、根桥由SW1变为SW4
2、SW1的G0/0/1由DP变为RP
3、SW2的G0/0/1由RP变为DP
4、SW3的G0/0/4接口由阻塞变为RP
5、SW3的G0/0/5接口由RP变为阻塞
九、RSTP
1、STP的不足之处
-
网络拓扑收敛慢,影响了用户的通信质量
-
依赖定时器等待的方式判断拓扑变化,收敛速度慢
-
STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。
-
STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文
- 只有根桥能发送BPDU
- 其他只能转发根桥的BPDU
2、RSTP概述
-
收敛速度更快,而且能够兼容STP
-
引入了新的角色
- A预备端口:作为指根口的备份,交换机根接口失效后,立即获得新的路径到达根桥
- B备份端口:作为指定端口的备份,帮助链路上的网桥快速获得到根桥的备份路径
- 边缘接口:使得交换机连接终端设备的接口在初始化之后能够立即进入转发状态,边缘端口正常情况下接收不到配置BPDU报文,不参与RSTP运算
-
配置BPDU的处理发生变化
- 拓扑稳定后,配置BPDU报文的发送方式进行了优化,每个交换机都可以主动的发送BPDU
- 使用更短的BPDU超时计时
- 对处理次等BPDU的方式进行了优化
-
配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了接口的角色
-
RSTP拓扑变化处理:相比于STP进行了优化,加速针对拓扑变更的反应速度
3、端口状态
STP接口状态 | RSTP接口状态 | 接口在拓扑中的角色 |
---|---|---|
Forwarding | Forwarding | 包括根接口、指定端口 |
Learning | Learning | 包括根接口、指定端口 |
Listening | Discarding | 包括根接口、指定端口 |
Blocking | Discarding | 包括Alternate接口、Backup接口 |
Discarding | Discarding | 包括Disable接口 |
4、STP/RSTP的缺陷
- 所有的Vlan共享一颗生成树
-
无法实现流量的负载分担
-
会形成次优路径
5、VBST
- 为了解决STP/RSTP所带来的问题
- 缺点
- 多个Vlan需要配置多个生成树
多生成树(MSTP)
一、MSTP概述
- MSTP把一个交换机网络划分为多个域,每个域形成多颗生成树,生成树之间彼此独立
- 每颗生成树叫做一个多生成树实例MSTI,通过实例来计算生成树
- 所谓生成树实例就是多个Vlan的一个集合
- 通过将多个Vlan捆绑到一个实例,可以节省通信开销和资源占用率
- MSTP各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡
- 可以把多个相同拓扑结构的Vlan映射到一个实例里,这些Vlan在接口上的转发状态取决于接口在对应实例的状态
链路聚合
一、网络高可靠的方法
- 单板冗余
- 设备冗余
- 链路冗余
二、设备基础
PFE:包转发引擎。接口板执行转发的部件为包转发引擎PFE,通常为NP或者ASIC芯片,报文直接由接口板独立完成转发,无需主控板参与。
业务报文:服务、应用在交互过程中涉及的报文。
切片:把报文送往交换网板之前,进行切片处理,也就是把报文按一定粒度进行切片,切成固定长度。
重组:将交换网板发送过来的已经切片的报文进行重新组合。
三、基础部分
1、未配置链路聚合时
设备之间存在多条链路时,由于STP的存在,实际只会有一条链路转发流量,设备间链路带宽无法得到提升
需求:
提升链路带宽,保留可靠性
2、以太网链路聚合
- 可在不进行硬件升级的条件下,达到增加链路带宽的目的
3、基本术语/概念
-
聚合组(LAG):若干条链路捆绑在一起所形成的的逻辑链路。每个聚合组唯一对应着一个逻辑接口,这个逻辑接口又被称为链路聚合接口或Eth-Trunk接口。
-
成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路
-
活动接口和活动链路:活动接口又叫选中(Selected)接口,是参与数据转发的成员接口。活动接口对应的链路被称为活动链路
-
非活动接口和非活动链路:又叫非选中(Unselected)接口,是不参与转发数据的成员接口。非活动接口对应的链路被称为非活动链路
-
聚合模式 :根据是否开启LACP(链路聚合控制协议),链路聚合可以分为手工模式(不可进行活动和非活动接口的设置)和LACP模式。
四、手工模式
1、概念
-
手工模式:Eth-Trunk的建立、成员接口的加入均由手动配置,双方系统之间不使用LACP进行协商。
-
正常情况下所有链路都是活动链路,**该模式下所有活动链路都参与数据的转发,平均分担流量,**如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。
-
当聚合的两端设备中存在一个不支持LACP协议时,可以使用手工模式
-
适用于老旧设备
2、缺陷
-
为了使链路聚合接口正常工作,必须保证本端链路聚合接口中所有成员接口的对端接口满足以下条件
- 属于同一设备:如图SW1就无法和SW3建立手工模式的链路聚合
- 加入同一链路聚合接口
-
设备之间没有报文交互,因此只能通过管理员人工确认
-
设备只能通过物理层状态判读对端接口是否工作正常(如下图,此情况SW1就无法发现)
五、LACP模式
1、LACPDU
-
LACP模式:采用LCAP协议的一种链路聚合模式。设备间通过链路聚合控制协议数据单元(LACPDU)进行交互,通过协议协商确保对端是同一台设备、同一个聚合接口的成员接口
-
LACPDU报文中包含设备优先级、MAC地址、接口优先级、接口号等
- 可以通过LACPDU就可以判断链路是否故障
2、系统优先级
- LCAP模式下,两端设备所选择的活动端口数目必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端成为主动端,另一端(被动端)根据主动端选择活动接口
- 通过系统LACP优先级确定主动端,默认为32768,值越小优先级越高
3、接口优先级
-
选出主动端后,两端都会以主动端的接口优先级来选择活动接口,优先级高的接口将优先被选为活动接口。接口LACP优先级越小,优先级越高
-
先比较接口优先级,如果一致时,通过接口编号选择,越小越优
4、最大活动接口数
LACP模式支持配置最大活动接口数目,当成员接口数目超过最大活动接口数目时会通过比较接口优先级、接口号选举出较优的接口成为活动接口,其余的则成为备份端口(非活动接口),同时对应的链路分别成为活动链路、非活动链路。交换机只会从活动接口中发送、接收报文。
- 当链路出现故障的时候
当活动链路中出现链路故障时,可以从非活动链路中找出一条优先级最高(接口优先级、接口编号比较)的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发。
5、活动链路选举
6、负载分担
推荐采用逐流负载分担的方式
7、负载分担模式
-
Eth-trunk支持基于报文的IP地址或MAC地址来进行负载分担,可以配置不同的模式(本地有效,对出方向报文生效)将数据流分担到不同的成员接口上。
-
常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC。
-
实际业务中用户需要根据业务流量特征选择配置合适的负载分担方式。业务流量中某种参数变化越频繁,选择与此参数相关的负载分担方式就越容易实现负载均衡。
如果报文的IP地址变化较频繁,那么选择基于源IP、目的IP或者源目IP的负载分担模式更有利于流量在各物理链路间合理的负载分担;
如果报文的MAC地址变化较频繁,IP地址比较固定,那么选择基于源MAC、目的MAC或源目MAC的负载分担模式更有利于流量在各物理链路间合理的负载分担。
如果负载分担模式选择的和实际业务特征不相符,可能会导致流量分担不均,部分成员链路负载很高,其余的成员链路却很空闲,如在报文源目IP变化频繁但是源目MAC固定的场景下选择源目MAC模式,那将会导致所有流量都分担在一条成员链路上
源目MAC相同,源目IP不同
1、采用源目IP模式的话,将会被认为是不同的流(推荐采用)
2、采用源目MAC模式的话,会被认为是相同的流
六、配置命令
1、创建链路聚合
[Huawei] interface eth-trunk trunk-id #创建Eth-Trunk接口,并进入Eth-Trunk接口视图。
2、配置链路聚合方式
[Huawei-Eth-Trunk1] mode {lacp | manual load-balance } #lacp模式/手工模式 需要保持两端链路聚合模式一致。
3、将接口加入链路聚合组中
[Huawei-GigabitEthernet0/0/1] eth-trunk trunk-id #以太网接口视图
[Huawei-Eth-Trunk1] trunkport interface-type { interface-number} #Eth-Trunk视图
4、允许不同速率端口加入同一Eth-Trunk接口的功能
[Huawei-Eth-Trunk1] mixed-rate link enable
#缺省情况下,设备未使能允许不同速率端口加入同一Eth-Trunk接口的功能,只能相同速率的接口加入到同一个Eth-Trunk接口中。
5、配置系统LACP优先级
[Huawei] lacp priority priority #系统LACP优先级值越小优先级越高,缺省情况下,系统LACP优先级为32768。
6、配置接口LCAP优先级
[Huawei-GigabitEthernet0/0/1] lacp priority priority
#在接口视图下配置接口LACP优先级。缺省情况下,接口的LACP优先级是32768。接口优先级取值越小,接口的LACP优先级越高。
#只有在接口已经加入到链路聚合中才可以配置该命令。
7、配置最大活动接口数
[Huawei-Eth-Trunk1] max active-linknumber {number} #只有LACP模式支持配置最大活动接口数。
8、配置最小活动接口数
[Huawei-Eth-Trunk1] least active-linknumber {number}
#本端和对端设备的活动接口数下限阈值可以不同,手动模式、LACP模式都支持配置最小活动接口数
#配置最小活动接口数目的是为了保证最小带宽,当前活动链路数目小于最小活动接口数时,Eth-Trunk接口的状态转为Down。
七、配置举例
1、手动模式
2、LACP模式
步骤
1、先设置模式
2、加入成员接口
3、设置最大活动数
4、配置trunk
八、实验配置
SW1
[SW1]int Eth-Trunk 1 #创建Eth-Trunk接口,并进入Eth-Trunk接口视图。
[SW1-Eth-Trunk1]mode lacp-static #更改为LACP模式
[SW1-Eth-Trunk1]trunkport g0/0/1 #将接口加入链路聚合组中,加入进来的成员接口必须是0配置
[SW1-Eth-Trunk1]trunkport g0/0/4
[SW1-Eth-Trunk1]trunkport g0/0/5
[SW1-Eth-Trunk1]max active-linknumber 2 #最大活动接口数设置为2
[SW1-Eth-Trunk1]lacp preempt enable #开启抢占模式
[SW1-GigabitEthernet0/0/4]lacp priority 1000 #将4接口的优先级设置为1000
[SW1-GigabitEthernet0/0/5]lacp priority 1000
#配置成功后,G4和G5接口成功开启
--------------------------------------------------------------------------------
GigabitEthernet0/0/4 Selected 1GE 1000 5 305 10111100 1
GigabitEthernet0/0/5 Selected 1GE 1000 6 305 10111100 1
[SW1-Eth-Trunk1]least active-linknumber 2 #最小活动接口设置为2
[SW1-GigabitEthernet0/0/4]shutdown #当4接口下线后
#1接口自动启动
--------------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/1 Selected 1GE 32768 2 305 10111100 1
GigabitEthernet0/0/4 Unselect 1GE 1000 5 305 10100010 1
GigabitEthernet0/0/5 Selected 1GE 1000 6 305 10111100 1
[SW1-GigabitEthernet0/0/5]shutdown #当5也接口下线后
#活动链路数目小于最小活动接口数时,Eth-Trunk接口的状态转为Down。
--------------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/1 Unselect 1GE 32768 2 305 10100000 1
GigabitEthernet0/0/4 Unselect 1GE 1000 5 305 10100010 1
GigabitEthernet0/0/5 Unselect 1GE 1000 6 305 10100010
[SW1]dis eth-trunk #查看聚合链路配置信息
Eth-Trunk1's state information is:
Local:
LAG ID: 1 WorkingMode: STATIC
#LAG ID:聚合组的ID
#WorkingMode:模式为静态,表明为LACP模式
Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP # 抢占模式关闭 ,未来有更优的接口不会改变
System Priority: 32768 System ID: 4c1f-cc19-18e6 #系统优先级 系统ID
Least Active-linknumber: 1 Max Active-linknumber: 2 #最小活动接口 1 最大活动接口 2
Operate status: down Number Of Up Port In Trunk: 0 #状态 UP
--------------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/1 Selected 1GE 32768 2 305 10111100 1 #默认活动接口为1和4,因为接口编号小
GigabitEthernet0/0/4 Selected 1GE 32768 5 305 10111100 1
GigabitEthernet0/0/5 Unselect 1GE 32768 6 305 10100000 1
Partner:
--------------------------------------------------------------------------------
ActorPortName SysPri SystemID PortPri PortNo PortKey PortState
GigabitEthernet0/0/1 32768 4c1f-cca3-12a9 32768 3 305 10111100
GigabitEthernet0/0/4 32768 4c1f-cca3-12a9 32768 5 305 10111100
GigabitEthernet0/0/5 32768 4c1f-cca3-12a9 32768 6 305 10110000
[SW1]vlan batch 10 20 #创建VLan
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 10
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20
[SW1]stp region-configuration #进入MSTP的配置视图
#下面三个配置必须保持一致
[SW1-mst-region]revision-level 1 #修订版本保持一致
[SW1-mst-region]region-name simp #MSTP的域名
[SW1-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW1-mst-region]instance 2 vlan 20
[SW1-mst-region]active region-configuration #激活配置
[SW1]stp instance 1 root primary #交换机1为实例1的主根
[SW1]stp instance 2 root secondary #SW1为实例2的备份根
[SW3-GigabitEthernet0/0/3]stp edged-port enable #设置为边缘端口
[SW3]stp bpdu-protection #开启BPDU保护,需先开启边缘端口
#在所有的DP接口开启根保护
[SW1-GigabitEthernet0/0/1]stp root-protection
[SW1-GigabitEthernet0/0/2]stp root-protection
SW2
[SW2]int Eth-Trunk 1 #创建Eth-Trunk接口
[SW2-Eth-Trunk1]mode lacp-static #更改为LACP模式
[SW2-Eth-Trunk1]trunkport g0/0/2 #将接口加入链路聚合组中
[SW2-Eth-Trunk1]trunkport g0/0/4
[SW2-Eth-Trunk1]trunkport g0/0/5
[SW2]dis eth-trunk #查看聚合链路配置信息
Eth-Trunk1's state information is:
Local:
LAG ID: 1 WorkingMode: STATIC
Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP
System Priority: 32768 System ID: 4c1f-cca3-12a9
Least Active-linknumber: 1 Max Active-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 3
--------------------------------------------------------------------------------
ActorPortName Status PortType PortPri PortNo PortKey PortState Weight
GigabitEthernet0/0/2 Selected 1GE 32768 3 305 10111100 1
GigabitEthernet0/0/4 Selected 1GE 32768 5 305 10111100 1
GigabitEthernet0/0/5 Selected 1GE 32768 6 305 10111100 1
Partner:
--------------------------------------------------------------------------------
ActorPortName SysPri SystemID PortPri PortNo PortKey PortState
GigabitEthernet0/0/2 32768 4c1f-cc19-18e6 32768 2 305 10111100
GigabitEthernet0/0/4 32768 4c1f-cc19-18e6 32768 5 305 10111100
GigabitEthernet0/0/5 32768 4c1f-cc19-18e6 32768 6 305 10111100
[SW2]vlan batch 10 20 #创建VLan
[SW2-GigabitEthernet0/0/3]port link-type access
[SW2-GigabitEthernet0/0/3]port default vlan 20
[SW2-GigabitEthernet0/0/2]port link-type trunk
[SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
#下面三个配置必须保持一致
[SW2-mst-region]revision-level 1 #修订版本保持一致
[SW2-mst-region]region-name simp #MSTP的域名
[SW2-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW2-mst-region]instance 2 vlan 20
[SW2-mst-region]active region-configuration #激活配置
[SW2]stp instance 1 root secondary #SW2为实例1的备份根
[SW2]stp instance 2 root primary #交换机2为实例2的主根
SW3
[SW3]vlan batch 10 20
[SW3-GigabitEthernet0/0/3]port link-type access
[SW3-GigabitEthernet0/0/3]port default vlan 10
[SW3-GigabitEthernet0/0/4]port link-type access
[SW3-GigabitEthernet0/0/4]port default vlan 20
[SW3-GigabitEthernet0/0/2]port link-type trunk
[SW3-GigabitEthernet0/0/2]port trunk allow-pass vlan 10
[SW3-GigabitEthernet0/0/1]port link-type trunk
[SW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 10
#对于实例1来讲,G2接口将会称为根端口的备份
[SW3]dis stp instance 1 brief
MSTID Port Role STP State Protection
1 GigabitEthernet0/0/1 ROOT FORWARDING NONE
1 GigabitEthernet0/0/2 ALTE DISCARDING NONE
1 GigabitEthernet0/0/3 DESI FORWARDING NONE
#对于实例2来讲,G4接口将会称为根端口的备份
[SW3]dis stp instance 2 brief
MSTID Port Role STP State Protection
2 GigabitEthernet0/0/1 ALTE FORWARDING NONE
2 GigabitEthernet0/0/2 ROOT DISCARDING NONE
2 GigabitEthernet0/0/4 DESI FORWARDING NONE
实现Vlan间的通信
一、单臂路由
1、使用路由器子接口
1、为不同的子接口配置不同网段的IP地址
2、Vlan10的网关指向子接口10
3、Vlan20的网关指向子接口20
4、子接口可以识别VLan Tag
2、子接口处理流程
子接口10对应Vlan10
子接口20对应Vlan20
#发送过程
1、PC1发送的数据到达SW1的G0/0/1的时候,会被打上Vlan Tag
2、通过Trunk接口发送,保留Vlan Tag
3、将数据交给子接口1.10(管理员赋予1.10接口处理Tag 10的能力),剥离Tag
4、查看数据的目的IP地址,发现目的IP是PC2的IP
5、查看路由表,发现出接口为子接口1.20,交给子接口1.20
6、子接口1.20收到数据后,封装,给数据打上帧头(PC2的MAC,VLan Tag)
获取目标MAC需要子接口发送ARP解析请求
7、通过物理链路发送数据给SW1,通过Vlan20对应的接口发送给PC2
3、子接口配置实例
4、实验演示
SW1
dis version #查看设备型号版本号
G0/0/2和G0/0/3配置access接口,G0/0/1配置Trunk接口
R1
[R1]int g0/0/0.10
[R1-GigabitEthernet0/0/0.10]ip addr 192.168.10.254 24
[R1-GigabitEthernet0/0/0.10]dot1q termination vid 10 #接口能处理的Vlan的ID
[R1-GigabitEthernet0/0/0.10]int g0/0/0.20
[R1-GigabitEthernet0/0/0.20]ip addr 192.168.20.254 24
[R1-GigabitEthernet0/0/0.20]dot1q termination vid 20
#配置完成后,30s内PC1ping不通自己的网关,是因为交换机接口达到转发状态需要30S的时间。配置成边缘端口就不需要等待时间
[R1-GigabitEthernet0/0/0.10]arp broadcast enable #子接口能够主动发送ARP请求来做ARP解析
[R1-GigabitEthernet0/0/0.10]int g0/0/0.20
[R1-GigabitEthernet0/0/0.20]arp broadcast enable #子接口能够主动发送ARP请求来做ARP解析
#配置完成后,就会发送ARP请求,确定对方的MAC地址,使得Vlan10可以访问Vlan20
二、三层交换机和VLANIF接口
1、概念
将单臂路由的子接口概念转化为IF接口
IF接口的编号必须与对应的Vlan相同
交换机维护MAC表、ARP表、路由表
2、转发流程
①
PC1通过本地IP地址、本地掩码、对端IP地址进行计算,发现目的设备PC2与自身不在同一个网段,判断该通信为三层通信,将去往PC2的流量发给网关。
PC1发送的数据帧:源MAC = MAC1,目的MAC = MAC2。
②
交换机收到PC1发送的去往PC2的报文,经解封装发现目的MAC为VLANIF10接口的MAC地址,将报文交给路由模块继续处理。
③
路由模块解析发现目的IP为192.168.20.2,非本地接口存在的IP地址,因此需要对该报文三层转发。查找路由表后,匹配中VLANIF20产生的直连路由。
④
因为匹配的为直连路由,说明已经到达最后一跳,所以交换机在ARP表中查找192.168.20.2,获取192.168.20.2的MAC地址,交由交换模块重新封装为数据帧。
⑤
交换模块查找MAC地址表以明确报文出接口、是否需要携带VLAN Tag。最终交换模块发送的数据帧:源MAC = MAC2,目的MAC = MAC3,VLAN Tag = None。
3、VLANIF配置示例
interface vlanif vlan-id命令用来创建VLANIF接口并进入到VLANIF接口视图。vlan-id表示与VLANIF接口相关联的VLAN编号。VLANIF接口的IP地址作为主机的网关IP地址,和主机的IP地址必须位于同一网段。
4、实验演示
SW1
#基础配置(Vlan省略)
[SW1]int vlan 10 #创建VLANIF10
[SW1-Vlanif10]ip addr 192.168.10.253 24
[SW1-Vlanif10]int vlan 20
[SW1-Vlanif20]ip addr 192.168.20.253 24
[SW1-Vlanif20]dis ip int brief #查看当前交换机的启用的IF接口
Interface IP Address/Mask Physical Protocol
MEth0/0/1 unassigned down down
NULL0 unassigned up up(s)
Vlanif1 unassigned up down
Vlanif10 192.168.10.253/24 up up
Vlanif20 192.168.20.253/24 up up
测试配置
实现SW1和AR1通信
- 原理
单独配置一个Vlan 用于设备间的互
- SW1
[SW1]vlan 88 #单独配置一个Vlan
[SW1-vlan88]q
[SW1]int vlan 88
[SW1-Vlanif88]ip addr 192.168.88.1 24
#把G0/0/1划分到Vlan88
[SW1]clear configuration interface g0/0/1
[SW1-GigabitEthernet0/0/1]undo shutdown
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 99
- R1
[R1-GigabitEthernet0/0/0]ip addr 192.168.88.1 24
[R1]ping 192.168.88.1
PING 192.168.88.1: 56 data bytes, press CTRL_C to break
Reply from 192.168.88.1: bytes=56 Sequence=1 ttl=255 time=10 ms
Reply from 192.168.88.1: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 192.168.88.1: bytes=56 Sequence=3 ttl=255 time=1 ms
Reply from 192.168.88.1: bytes=56 Sequence=4 ttl=255 time=1 ms
Reply from 192.168.88.1: bytes=56 Sequence=5 ttl=255 time=1 ms
--- 192.168.88.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/2/10 ms
5、拓展问题
①、交换机维护了几张表
- 交换机维护了三张表,分别是MAC地址表、ARP表、路由表
[SW1]dis mac-address #查看MAC地址表
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------
5489-983b-49b2 20 - - GE0/0/3 dynamic 0/-
5489-98b0-128c 10 - - GE0/0/2 dynamic 0/-
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2
[SW1]dis arp #查看ARP表
IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE
VLAN
------------------------------------------------------------------------------
192.168.10.253 4c1f-cc51-7d75 I - Vlanif10
192.168.10.1 5489-98b0-128c 18 D-0 GE0/0/2
10
192.168.20.253 4c1f-cc51-7d75 I - Vlanif20
192.168.20.1 5489-983b-49b2 18 D-0 GE0/0/3
20
------------------------------------------------------------------------------
Total:4 Dynamic:2 Static:0 Interface:2
[SW1]dis ip routing-table #查看路由表
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost Flags NextHop Interface
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.10.0/24 Direct 0 0 D 192.168.10.253 Vlanif10
192.168.10.253/32 Direct 0 0 D 127.0.0.1 Vlanif10
192.168.20.0/24 Direct 0 0 D 192.168.20.253 Vlanif20
192.168.20.253/32 Direct 0 0 D 127.0.0.1 Vlanif20
②、交换机如何决定三层路由还是二层转发
交换机收到PC1发送的去往PC2的报文,经解封装发现目的MAC为VLANIF10接口的MAC地址,将报文交给路由模块继续处理。所以是三层路由
#什么时候二层转发
交换模块解析数据帧的帧头的时候,发现目的MAC不是我交换设备三层接口的MAC,就不会交给路由模块处理。
会查看Vlan10的MAC地址表,如果MAC表里没有此条目就会在Vlan10接口泛洪(未知单播)
VRRP原理与配置
一、VRRP简介
1、定义
虚拟路由冗余协议VRRP通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
2、目的
当网关发生故障时,本网段内所有以网关为缺省路由的主机将无法与外部网络通信。增加出口网关是提高系统可靠性的常见方法,此时如何在多个出口之间进行选路就成为需要解决的问题。
VRRP的出现很好的解决了这个问题。VRRP能够在不改变组网的情况下,采用将多台路由设备组成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现默认网关的备份。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
3、名词解释
- VRRP路由器:运行VRRP协议的设备,它可能属于一个或多个虚拟路由器,以组的形式呈现,如R1和R2
- VRID:虚拟路由器的标识。如R1和R2组成的虚拟路由器的VRID为1。一个VRID组中只能出现一台Master路由器
- 虚拟路由器:又称VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。如RouterA和RouterB共同组成了一个虚拟路由器。是VRRP虚拟出来的逻辑设备(拥有虚拟IP和虚拟MAC)
- 虚拟IP地址:虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。如RouterA和RouterB组成的虚拟路由器的虚拟IP地址为10.1.1.10/24。
- 虚拟MAC地址:虚拟路由器根据虚拟路由器ID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01xx,其中xx为VRID(VRRP for IPv4);00-00-5E-00-02xx,其中xx为VRID(VRRP for IPv6)。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。如R1和R2组成的虚拟路由器的VRID为1,因此这个VRRP备份组的MAC地址为00-00-5E-00-01-01。
- Master路由器:承担转发报文任务的VRRP设备(如R1)只有Master路由器才会响应针对虚拟IP地址的ARP Request。Master路由器会以一定的时间间隔周期性地发送VRRP报文,以便通知同一个VRRP组中的Backup路由器关于自己的存活情况。
- Backup路由器:一组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备(如R2),Backup路由器将会实时侦听Master路由器发送出来的VRRP报文,它随时准备接替Master路由器的工作。
- Priority:优先级值是选举Master路由器和Backup路由器的依据,优先级取值范围0-255,值越大越优先,值相等则比较接口IP地址大小,大者优先。
- IP地址拥有者:如果一个VRRP设备将虚拟路由器IP地址作为真实的接口地址,则该设备被称为IP地址拥有者。该设备的Priority为255
4、VRRP报文格式
VRRP协议报文用来将Master设备的优先级和状态通告给同一备份组的所有Backup设备。
5、VRRP定时器
在VRRP协议工作过程中,VRRP定义了两个定时器:
-
ADVER_INTERVAL定时器:Master发送VRRP通告报文时间周期,缺省值为1秒。
-
MASTER_DOWN定时器:Backup设备监听该定时器超时后,会变为Master状态。
-
MASTER_DOWN定时器计算公式如下:
-
MASTER_DOWN =(3* ADVER_INTERVAL)+ Skew_time(偏移时间)
-
其中,Skew_Time=(256–Priority)/256
-
MASTER_DOWN越小,越优先切换到Master设备
-
-
6、VRRP的三种状态
#Master转换为Backup的三种情况
1、定时器超时
2、管理员将Master的接口shutdown的时候,Master会给Backup的设备发送一个优先级为0的通告报文
3、优先级收到比本地报文小的报文(关闭抢占的话就不会切换)
7、两种状态对比
二、VRRP的工作流程
- VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
- Master设备周期性向备份组内所有Backup设备发送VRRP通告报文,以公布其配置信息(优先级等)和工作状况。
- 如果Master设备出现故障,VRRP备份组中的Backup设备将根据优先级重新选举新的Master。
- VRRP备份组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
- 原Master设备故障恢复时,若该设备为IP地址拥有者(优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
- Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
- 抢占模式:在抢占模式下,如果Backup设备的优先级比当前Master设备的优先级高,则主动将自己切换成Master。
- 非抢占模式:在非抢占模式下,只要Master设备没有出现故障,Backup设备即使随后被配置了更高的优先级也不会成为Master设备。
由此可见,为了保证Master设备和Backup设备能够协调工作,VRRP需要实现以下功能:
- Master设备的选举。
- Master设备状态的通告。
下面将从上述两个方面详细介绍VRRP的工作过程。
-
Master设备的选举
VRRP根据优先级来确定虚拟路由器中每台设备的角色(Master设备或Backup设备)。优先级越高,则越有可能成为Master设备。
初始创建的VRRP设备工作在Initialize状态,收到接口Up的消息后,如果设备的优先级为255,则直接成为Master设备;如果设备的优先级小于255,则会先切换至Backup状态,待Master_Down_Interval定时器超时后再切换至Master状态。首先切换至Master状态的VRRP设备通过VRRP通告报文的交互获知虚拟设备中其他成员的优先级,进行Master的选举:
- 如果VRRP报文中Master设备的优先级高于或等于自己的优先级,则Backup设备保持Backup状态。
- 如果VRRP报文中Master设备的优先级低于自己的优先级,采用抢占方式的Backup设备将切换至Master状态,采用非抢占方式的Backup设备仍保持Backup状态。
- 如果多个VRRP设备同时切换到Master状态,通过VRRP通告报文的交互进行协商后,优先级较低的VRRP设备将切换成Backup状态,优先级最高的VRRP设备成为最终的Master设备;优先级相同时,VRRP设备上VRRP备份组所在接口主IP地址较大的成为Master设备。
- 如果创建的VRRP设备为IP地址拥有者,收到接口Up的消息后,将会直接切换至Master状态。
-
Master设备状态的通告
Master设备周期性地发送VRRP通告报文,在VRRP备份组中公布其配置信息(优先级等)和工作状况。Backup设备通过接收到VRRP报文的情况来判断Master设备是否工作正常。
- 当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到Master_Down_Interval定时器超时。这个切换的时间称为Skew time,计算方式为:(256-Backup设备的优先级)/256,单位为秒。
- 当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到Master_Down_Interval定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。其中,Master_Down_Interval定时器取值为:3×Advertisement_Interval+Skew_time,单位为秒。
三、VRRP主备选举
1、VRRP优先级不相等的情况
初始创建VRRP的设备工作在Initialize状态,收到接口Up的消息后,若此设备的优先级小于255,则会先切换至Backup状态,等待MASTER_DOWN定时器超时后再切换至Master状态。
优先级高的设备先启动,优先级低的设备后启动,则优先级高的设备先进入Master状态,优先级低的设备收到高优先级的VRRP通告报文,自己仍处于Backup状态。
如果优先级低的先启动,优先级高的后启动,则优先级低的先由Backup状态切换为Master状态,优先级高的设备收到优先级低的VRRP通告报文,重新进行选举,将优先级高的设备切换为Master状态。
发送免费ARP可以让交换机刷新MAC地址表,当PC1发送数据给虚拟网关的时候,交换机可以将数据引导到Master设备
2、VRRP优先级相等的情况
#虽然两个设备同时切换为Master但是经过报文交换后R2成为Master,R1变为Backup
3、IP地址拥有者的情况
四、VRRP主备切换
1、主–>备
2、备–>主
#开启抢占模式的VRRP备份组,当主备进行切换时,总共时长为:
3xAdver_Interval(Master发送VRRP通告报文时间周期)+Skew_time(偏移时间)+Delay_time(抢占时间)
#在抢占模式下,当Master的设备状态不稳定或者网络质量差时,会导致VRRP备份组频繁切换,从而引发终端ARP表项频繁刷新,为缓解此问题,通常设置抢占延时定时器,通过MASTER_INTERVAL定时器超时时间加上延时时间,确定状态稳定后,再进行主备回切。
1、如果关闭抢占模式,当R1故障的时候,因为MASTER_DOWN超时,所以R2会切换到Master
2、如果将R1的优先级改为100,关闭抢占模式,R2则不会抢占
3、抢占时延默认为0
五、VRRP特性
1、VRRP负载分担
2、VRRP监视上行端口
如果用户未配置VRRP监视上行端口,则当VRRP备份组中的Master设备R1的上行接口或者链路出现故障时,VRRP备份组无法感知,Master无法向外转发流量。但是由于主备不会发生切换,导致出现流量黑洞。
上行端口:去往互联网方向
监听上接口,当上接口出现故障的时候,自动降低优先级
3、VRRP和BFD联动
感知非直连端口的错误,当非直连接出先故障的时候,自降优先级
默认300ms探测一次,1s
BFD需要双向配置R1和上行设备都需要配置
4、VRRP与MSTP结合应用
MSTP是将一个或多个VLAN映射到一个生成树的实例,若干个VLAN共用一个生成树,MSTP可以实现负载均衡。
VRRP配置网关可以灵活根据网络拓扑变化而自动切换,提高网络可靠性。
VRRP+MSTP可以在实现负载分担的同时保证网络冗余备份。
Vlan10的根桥和Vlan10的Master要在相同的位置进行部署(相同设备),否则会出现次优问题
六、基本配置命令
1、创建VRRP备份组并给备份组配置虚拟IP地址
[interface-GigabitEthernet0/0/0] vrrp vrid 10 virtual-ip 192.168.1.254 #各备份组之间的虚拟IP地址不能重复;同属一个备份组的设备接口需使用相同的VRID。
2、配置路由器在备份组中的优先级
[interface-GigabitEthernet0/0/0] vrrp vrid v10 priority 120 #注意:通常情况下,Master设备的优先级应高于Backup设备。
3、配置备份组中设备的抢占延迟时间
[interface-GigabitEthernet0/0/0] vrrp vrid 10 preempt-mode timer delay 10 #设置vrid为10的抢占时延为10s
4、配置VRRP备份组中设备采用非抢占模式
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id preempt-mode disable #关闭抢占,通常开启
5、配置VRRP备份组监视接口
[interface-GigabitEthernet0/0/0] vrrp vrid 10 track interface g0/0/2 reduced 30 #发现G0/0/2接口故障的时候,降低自身30优先级(在主设备作此配置)
#可配置设备当检测到上行接口或链路出现故障时,增加或者减少自身优先级,IP地址拥有者和Eth-trunk成员口不允许配置VRRP监视功能。
6、配置VRRP备份组联动普通BFD会话
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id track bfd-session { bfd-session-id | session-name bfd-configure-name } [ increased value-increased | reduced value-reduced ]
#如果选择参数session-name bfd-configure-name,可以绑定静态BFD会话或者标识符自协商的静态BFD会话。如果选择参数bfd-session-id,只能绑定静态BFD会话。
七、VRRP基础配置实例
1、配置
优先级不配置默认为100
抢占时延默认为0s
2、验证
八、VRRP实验
1、配置
SW1
#配置链路聚合
[SW1]int Eth-Trunk 1
[SW1-Eth-Trunk1]trunkport g0/0/3
[SW1-Eth-Trunk1]trunkport g0/0/4
[SW1-Eth-Trunk1]port link-type trunk #在聚合接口下作接口配置
[SW1-Eth-Trunk1]port trunk allow-pass vlan 10 20
#配置Vlan和接口类型
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
#配置MSTP
[SW1]stp region-configuration #进入MSTP的配置视图
[SW1-mst-region]region-name simp #MSTP的域名
[SW1-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW1-mst-region]instance 2 vlan 20
[SW1-mst-region]active region-configuration
#设置SW1为实例1的根桥
[SW1]stp instance 1 root primary
#设置SW1为实例2的备份根桥
[SW1]stp instance 2 root secondary
#配置VlanIF
[SW1]int vlan 10
[SW1-Vlanif10]ip addr 192.168.10.253 24
[SW1-Vlanif10]int vlan 20
[SW1-Vlanif20]ip addr 192.168.20.253 24
#配置与路由器互联接口
[SW1]vlan 11
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 11
[SW1-GigabitEthernet0/0/2]int vlan 11
[SW1-Vlanif11]ip addr 10.1.11.2 24
#配置VRRP
[SW1]int Vlanif 10
[SW1-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254
[SW1-Vlanif10]vrrp vrid 10 priority 120 #调整优先级
[SW1-Vlanif10]vrrp vrid 10 preempt-mode timer delay 10 #抢占时延设置为10s
[SW1-Vlanif10]int vlan 20
[SW1-Vlanif20]vrrp vrid 20 virtual-ip 192.168.20.254
#查看VRRP配置
[SW1-Vlanif20]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Master Vlanif10 Normal 192.168.10.254
20 Backup Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:1 Backup:1 Non-active:0
#配置路由
[SW1]ip route-static 1.1.1.1 32 10.1.11.1
#VRRP检测上行接口
[SW1-Vlanif10]vrrp vrid 10 track interface g0/0/2 reduced 30 #如果发现G2接口故障,优先级降低30,只在Master接口上配置
#生成树优化,Access接口开启边缘端口特性
[SW1-GigabitEthernet0/0/2]stp edged-port enable
SW2
#配置链路聚合
[SW2]int Eth-Trunk 1
[SW2-Eth-Trunk1]trunkport g0/0/3
[SW2-Eth-Trunk1]trunkport g0/0/4
[SW2-Eth-Trunk1]port link-type trunk
[SW2-Eth-Trunk1]port trunk allow-pass vlan 10 20
#配置Vlan和接口类型
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
#配置MSTP
[SW2]stp region-configuration #进入MSTP的配置视图
[SW2-mst-region]region-name simp #MSTP的域名
[SW2-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW2-mst-region]instance 2 vlan 20
[SW2-mst-region]active region-configuration
#设置SW2为实例2的根桥
[SW2]stp instance 2 root primary
#设置SW2为实例1的备份根桥
[SW2]stp instance 1 root secondary
#配置VlanIF
[SW2]int vlan 10
[SW2-Vlanif10]ip addr 192.168.10.252 24
[SW2-Vlanif10]int vlan 20
[SW2-Vlanif20]ip addr 192.168.20.252 24
#配置与路由器互联接口
[SW2]vlan 12
[SW2-GigabitEthernet0/0/2]port link-type access
[SW2-GigabitEthernet0/0/2]port default vlan 12
[SW2-GigabitEthernet0/0/2]int vlan 12
[SW2-Vlanif12]ip addr 10.1.12.2 24
#配置VRRP
[SW2]int vlan 10
[SW2-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.254 #备设备只用配一条命令
[SW2]int vlan 20
[SW2-Vlanif20]vrrp vrid 20 virtual-ip 192.168.20.254
[SW2-Vlanif20]vrrp vrid 20 priority 120
#查看VRRP配置
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Backup Vlanif10 Normal 192.168.10.254
20 Master Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:1 Backup:1 Non-active:0
#配置路由
[SW2]ip route-static 1.1.1.1 32 10.1.12.1
#VRRP检测上行接口
[SW2-Vlanif20]vrrp vrid 20 track interface g0/0/2 reduced 30 #如果发现G2接口故障,优先级降低30,只在Master接口上配置
#生成树优化,Access接口开启边缘端口特性
[SW2-GigabitEthernet0/0/2]stp edged-port enable
SW3
#配置Vlan和接口类型
[SW3]vlan batch 10 20
[SW3-GigabitEthernet0/0/1]port link-type access
[SW3-GigabitEthernet0/0/1]port default vlan 10
[SW3-GigabitEthernet0/0/2]port link-type access
[SW3-GigabitEthernet0/0/2]port default vlan 20
[SW3-GigabitEthernet0/0/4]port link-type trunk
[SW3-GigabitEthernet0/0/4]port trunk allow-pass vlan 10 20
[SW3-GigabitEthernet0/0/3]port link-type trunk
[SW3-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20
#查看配置信息
[SW3]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 access 10 -
GigabitEthernet0/0/2 access 20 -
GigabitEthernet0/0/3 trunk 1 1 10 20
GigabitEthernet0/0/4 trunk 1 1 10 20
#配置MSTP
[SW3]stp region-configuration #进入MSTP的配置视图
[SW3-mst-region]region-name simp #MSTP的域名
[SW3-mst-region]instance 1 vlan 10 #实例的映射,vlan集合为10
[SW3-mst-region]instance 2 vlan 20
[SW3-mst-region]active region-configuration
#生成树优化,Access接口开启边缘端口特性
[SW3-GigabitEthernet0/0/1]stp edged-port enable
[SW3-GigabitEthernet0/0/2]stp edged-port enable
R1
#配置接口
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip addr 10.1.11.1 24 #与SW1互通
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip addr 10.1.12.1 24 #与SW2互通
#配置环回接口,用于作连通性测试
[R1-GigabitEthernet0/0/1]int lo 0
[R1-LoopBack0]ip add 1.1.1.1 32
#配置浮动静态路由
[R1]ip route-static 192.168.10.0 24 10.1.11.2 #设置主路由
[R1]ip route-static 192.168.10.0 24 10.1.12.2 preference 61 #设置备份路由,备份路由优先级要比主路由大(值越大越不优先),主路由正常的情况下不显示备份路由
[R1]ip route-static 192.168.20.0 24 10.1.12.2
[R1]ip route-static 192.168.20.0 24 10.1.11.2 preference 61
#查看IP路由表
[R1]dis ip routing-table
192.168.10.0/24 Static 60 0 RD 10.1.11.2 GigabitEthernet0/0/0
192.168.20.0/24 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/1
2、测试
- SW1上的2接口shutdown后
只丢弃了一个数据包,就完成了切换
#此时SW1两个接口都进入了Backup状态
[SW1-GigabitEthernet0/0/2]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Backup Vlanif10 Normal 192.168.10.254
20 Backup Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:0 Backup:2 Non-active:0
#SW2接口都进入了Master状态
[SW2-Vlanif20]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Master Vlanif10 Normal 192.168.10.254
20 Master Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:2 Backup:0 Non-active:0
- 当SW1接口恢复正常后
[SW1-GigabitEthernet0/0/2]undo shutdown
#10s以后,恢复之前状态,实现0丢包(如果没有开启边缘端口的话,会出现丢包现象)
[SW1]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Master Vlanif10 Normal 192.168.10.254
20 Backup Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:1 Backup:1 Non-active:0
3、抓包情况
- G0/0/0
- G0/0/1
- 当SW1G0/0/2接口损坏时R1G0/0/1接口
所有流量都通过g0/0/2接口转发
九、BFD
1、BFD协议简介
①、背景
双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。
为了保护关键应用,网络中会设计有一定的冗余备份链路,网络发生故障时就要求网络设备能够快速检测出故障并将流量切换至备份链路以加快网络收敛速度。目前有些链路具备硬件检测机制来快速故障检测,但某些链路(如以太网链路)不具备这样的检测功能。这种情况下就需要上层协议自身的机制来进行故障检测。但大部分协议如OSPF,BGP等检测链路故障的速度都很慢,最快也需要1s的时间,而且这些功能只针对本协议有效,无法为其他的协议或者应用提供快速检测机制。这对于某些实时性较高的上层应用如音频,视频等是不能接受的。
BFD就是在这种背景下产生的,它提供了一个通用的标准化的介质无关和协议无关的检测机制。
②、原理
BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。
2、BFD实验
①、实验说明
在SW1上探测R1 G0/0/0接口的连通性
在R1上探测SW1 VlanIf11接口的连通性
SW1:
bfd tor1 bind peer-ip 10.1.11.1
discriminator local 10
discriminator remote 20
min-tx-interval 300
min-rx-interval 300
commit
R1:
bfd tosw1 bind peer-ip 10.1.11.2
discriminator local 20
discriminator remote 10
min-tx-interval 300
min-rx-interval 300
commit
关联BFD
SW1: vrrp vrid 10 track bfd-session 10 reduced 30
R1:ip route-static 192.168.10.0 255.255.255.0 10.1.11.2 track bfd-session tosw1-2
当r1的g0/0/0接口或者sw1的vlanif11接口故障时,PC都可以ping
通1.1.1.1
如果sw1的vlanif10接口故障,pc将无法ping通1.1.1.1,原因是R1的路由
不能正常进行切换
#此时,当HUB的E0/0/1接口损坏时,SW1就无法感知,SW1仍是Master
[SW1]dis vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Master Vlanif10 Normal 192.168.10.254
20 Backup Vlanif20 Normal 192.168.20.254
----------------------------------------------------------------
Total:2 Master:1 Backup:1 Non-active:0
②、配置BFD
配置BFD需要双向配置(SW1和R1)
会探测到达目标节点整个路径的连通性
- SW1
[SW1]bfd #启用BFD
[SW1-bfd]q
[SW1]bfd tor1 bind peer-ip 10.1.11.1 #为bfd命名为 tor1 ,探测的ip为1.1.1.1
#建立标识符信息
[SW1-bfd-session-tor1]discriminator local 10 #本地为10(R1上的本地为20)
[SW1-bfd-session-tor1]discriminator remote 20 #对端为20(R1上的对端为10)
[SW1-bfd-session-tor1]min-rx-interval 300 #配置最小接收间隔
[SW1-bfd-session-tor1]min-tx-interval 300 #最小的发送间隔
[SW1-bfd-session-tor1]commit #使配置生效
#查看bdf配置
[SW1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------
10 20 10.1.11.1 Up S_IP_PEER -
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
#BFD与VRRP进行关联
[SW1-Vlanif10]vrrp vrid 10 track bfd-session 10 reduced 30 #本地标识符为10,发现问题降低30优先级
#查看BFD信息的详细信息
[SW1]dis bfd session all verbose
--------------------------------------------------------------------------------
Session MIndex : 257 (Multi Hop) State : Up Name : tor1
--------------------------------------------------------------------------------
Local Discriminator : 10 Remote Discriminator : 20 #本地标识符 远端标识符
Session Detect Mode : Asynchronous Mode Without Echo Function #检测模式为异步模式 (两边探测的时候为独立探测)
BFD Bind Type : Peer IP Address
Bind Session Type : Static
Bind Peer IP Address : 10.1.11.1
Bind Interface : -
Track Interface : -
FSM Board Id : 0 TOS-EXP : 7
Min Tx Interval (ms) : 300 Min Rx Interval (ms) : 300 #发送时间间隔,接受时间间隔
Actual Tx Interval (ms): 300 Actual Rx Interval (ms): 300
Local Detect Multi : 3 Detect Interval (ms) : 900 #3倍检测周期 900毫秒就可检测连通性问题
Echo Passive : Disable Acl Number : -
Destination Port : 3784 TTL : 254 #BFD端口号3784 (UDP)
Proc Interface Status : Disable
WTR Interval (ms) : -
Active Multi : 3
Last Local Diagnostic : No Diagnostic
Bind Application : No Application Bind
Session TX TmrID : 1036 Session Detect TmrID : 1037
Session Init TmrID : - Session WTR TmrID : -
Session Echo Tx TmrID : -
PDT Index : FSM-0 | RCV-0 | IF-0 | TOKEN-0
Session Description : -
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
查看VRRP信息
[SW1-Vlanif10]dis vrrp
Vlanif10 | Virtual Router 10
State : Master
Virtual IP : 192.168.10.254
Master IP : 192.168.10.253
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 10 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Track IF : GigabitEthernet0/0/2 Priority reduced : 30 #监测上行接口
IF state : UP
Track BFD : 10 Priority reduced : 30 #监测BFD会话
BFD-session state : UP
Create time : 2022-03-31 16:46:03 UTC-08:00
Last change time : 2022-03-31 17:50:48 UTC-08:00
Vlanif20 | Virtual Router 20
State : Backup
Virtual IP : 192.168.20.254
Master IP : 192.168.20.252
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 120
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-0114
Check TTL : YES
Config type : normal-vrrp
Create time : 2022-03-31 16:50:22 UTC-08:00
Last change time : 2022-03-31 17:02:09 UTC-08:00
- R1
[R1]bfd
[R1][R1]bfd tosw1 bind peer-ip 10.1.11.2 #为bfd命名为tosw1,探测的ip为10.1.11.2
[R1-bfd-session-tosw1]discriminator local 20
[R1-bfd-session-tosw1]discriminator remote 10
[R1-bfd-session-tosw1]min-rx-interval 300
[R1-bfd-session-tosw1]min-tx-interval 300
[R1-bfd-session-tosw1]commit #使配置生效
#查看bdf配置
[R1]dis bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------
20 10 10.1.11.2 Up S_IP_PEER -
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
#BFD与静态路由进行绑定,当监测到故障,主路由也会失效
[R1]ip route-static 192.168.10.0 255.255.255.0 10.1.11.2 track bfd-session tosw1
③、测试
当R1的G0/0/1接口shutdown的时候
接上述实验,当R1的G0/0/1接口没有IP的时候也能通
同理,Vlan11Down以后也可以实现连通
Vlan10 Down以后,虽然可以切换,但是路由没有切换,所以不能连通
3、拓展
①、实验目标
使整条链路无论是Vlan10、Vlan11出现问题,都可以检测到
第二种方案:
在sw1上以vlanif10接口IP为源去探测R1的接口IP地址
在R1上去探测vlanif10接口的IP地址
sw1:
bfd tor1-2 bind peer-ip 10.1.11.1 source-ip 192.168.10.253
discriminator local 100
discriminator remote 200
commit
int vlanif 10
vrrp vrid 10 track bfd-session 100 reduced 30
r1:
bfd tosw1-2 bind peer-ip 192.168.10.253
discriminator local 200
discriminator remote 100
commit
ip route-static 192.168.10.0 255.255.255.0 10.1.11.2
track bfd-session tosw1-2
当r1的g0/0/0接口或sw1的vlanif11接口、并且sw1的vlanif10接口故障时
pc都可以正常ping通1.1.1.1
②、配置
- SW1
[SW1]bfd tor1-2 bind peer-ip 10.1.11.1 source-ip 192.168.10.253
[SW1-bfd-session-tor1-2]discriminator local 100
[SW1-bfd-session-tor1-2]discriminator remote 200
[SW1-bfd-session-tor1-2]commit
[SW1-bfd-session-tor1-2]dis bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------
10 20 10.1.11.1 Up S_IP_PEER -
100 200 10.1.11.1 Up S_IP_PEER - #启动成功
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 2/0
#此时配置完成(删除普通实验的绑定也可以生效)
#删除之前配置
[SW1-Vlanif10]undo vrrp vrid 10 track bfd-session
[SW1-Vlanif10]undo vrrp vrid 10 track interface
#绑定BFD
[SW1-Vlanif10]vrrp vrid 10 track bfd-session 100 reduced 30
- R1
[R1]bfd tosw1-2 bind peer-ip 192.168.10.253
[R1-bfd-session-tosw1-2]discriminator local 200
[R1-bfd-session-tosw1-2]discriminator remote 100
[R1-bfd-session-tosw1-2]commit
#覆盖之前的关联
[R1]ip route-static 192.168.10.0 255.255.255.0 10.1.11.2 track bfd-session tosw1-2
③、测试
-
当R1的G0接口Shutdown后 #故障后 [SW1-Vlanif10]dis vrrp brief VRID State Interface Type Virtual IP ---------------------------------------------------------------- 10 Backup Vlanif10 Normal 192.168.10.254 20 Backup Vlanif20 Normal 192.168.20.254 ---------------------------------------------------------------- Total:2 Master:0 Backup:2 Non-active:0 #故障恢复后 [SW1-Vlanif10]dis vrrp brief VRID State Interface Type Virtual IP ---------------------------------------------------------------- 10 Master Vlanif10 Normal 192.168.10.254 20 Backup Vlanif20 Normal 192.168.20.254 ---------------------------------------------------------------- Total:2 Master:1 Backup:1 Non-active:0
-
在交换机上ShutdownVlan11接口
-
Vlan10 Shutdown以后
访问控制列表(ACL)
一、ACL简介
1、定义
访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。
ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。
2、目的
- 企业重要服务器资源被随意访问,企业机密信息容易泄露,造成安全隐患。
- Internet病毒肆意侵略企业内网,内网环境的安全性堪忧。
- 网络带宽被各类业务随意挤占,服务质量要求最高的语音、视频业务的带宽得不到保障,造成用户体验差。
二、ACL原理描述
1、ACL基本原理
ACL编号:用于标识ACL,表明该ACL是数字型ACL。
- 基本ACL
- 高级ACL
- 二层ACL
- 用户ACL
规则:即描述报文匹配条件的判断语句。
- 规则编号:用于标识ACL规则。可以自行配置规则编号,也可以由系统自动分配
- 动作:包括permit/deny两种动作,表示允许/拒绝。
- 匹配项:ACL定义了极其丰富的匹配项。例子中体现的源地址,ACL还支持很多其他规则匹配项。例如,二层以太网帧头信息(如源MAC、目的MAC、以太帧协议类型)、三层报文信息(如目的地址、协议类型)以及四层报文信息(如TCP/UDP端口号)等
默认:rule permit source any
2、ACL的匹配机制
- 备将报文与ACL规则进行匹配时,遵循“一旦命中即停止匹配”的机制
三、ACL的组成
1、规则编号
设置步长的作用,在于方便后续在旧规则之间插入新的规则。
2、通配符
- IP地址与通配符掩码共同确定的地址范围
IP地址 | IP地址通配符掩码 | 确定的地址范围 |
---|---|---|
0.0.0.0 | 255.255.255.255 | 任意IP地址 |
172.18.0.0 | 0.0.255.255 | 172.18.0.0/16网段的IP地址 |
172.18.5.2 | 0.0.0.0 | 仅172.18.5.2这一个主机地址 |
172.18.8.0 | 0.0.0.7 | 172.18.8.0/29网段的IP地址 |
172.18.8.8 | 0.0.0.7 | 172.18.8.8/29网段的IP地址 |
10.1.2.0 | 0.0.254.255(通配符掩码中的1和0不连续) | 10.1.0.0/24~10.1.254.0/24网段之间且第三个字节为偶数的IP地址,如10.1.0.0/24、10.1.2.0/24、10.1.4.0/24、10.1.6.0/24等。 |
0表示严格匹配,1表示随机分配
网络号:相同为保留,不同位置0
通配符:严格匹配置0,任意匹配置1(相同位置0,不同位置1,主机位置1)
四、ACL的分类
高级ACL
1、允许源10.1.1.0到10.1.3.0的流量通过
2、允许10.1.2.0去访问10.1.3.0的21号端口的流量
五、ACL基础配置命令
1、基本ACL
①、创建基本ACL
[Huawei] acl [ number ] acl-number [ match-order config ] #使用编号(2000~2999)创建一个数字型的基本ACL,并进入基本ACL视图。
#举例
[Huawei] acl 2000
acl-number:指定访问控制列表的编号。
match-order config:指定ACL规则的匹配顺序,config表示配置顺序。
[Huawei] acl name acl-name { basic | acl-number } [ match-order config ] #使用名称创建一个命名型的基本ACL,并进入基本ACL视图。
acl-name:指定创建的ACL的名称。
basic:指定ACL的类型为基本ACL。
#配置基于时间的ACL规则
创建时间段working-time(周一到周五每天8:00到18:00),并在名称为work-acl的ACL中配置规则,在working-time限定的时间范围内,拒绝源IP地址是192.168.1.0/24网段地址的报文通过。
<Huawei> system-view
[Huawei] time-range working-time 8:00 to 18:00 working-day
[Huawei] acl name work-acl basic
[Huawei-acl-basic-work-acl] rule deny source 192.168.1.0 0.0.0.255 time-range working-time
②、配置基本ACL的规则
[Huawei-acl-basic-2000] rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any } | time-range time-name ] #在基本ACL视图下,通过此命令来配置基本ACL的规则。
#举例
[Huawei-acl-basic-2000] rule deny source 192.168.10 0.0.0.255
rule-id:指定ACL的规则ID。
deny:指定拒绝符合条件的报文。
permit:指定允许符合条件的报文。
source { source-address source-wildcard | any }:指定ACL规则匹配报文的源地址信息。如果不配置,表示报文的任何源地址都匹配。其中:
source-address:指定报文的源地址。
source-wildcard:指定源地址通配符。
any:表示报文的任意源地址。相当于source-address为0.0.0.0或者source-wildcard为255.255.255.255。
time-range time-name:指定ACL规则生效的时间段。其中,time-name表示ACL规则生效时间段名称。如果不指定时间段,表示任何时间都生效。
③、接口应用
[Router] interface GigabitEthernet 0/0/1 #进入对应接口
[Router-GigabitEthernet0/0/1] traffic-filter inbound acl 2000 #在入方向应用ACL2000
2、高级ACL
①、创建高级ACL
[Huawei] acl [ number ] acl-number [ match-order config ] #使用编号(3000~3999)创建一个数字型的高级ACL,并进入高级ACL视图。
[Huawei] acl name acl-name { advance | acl-number } [ match-order config ] #使用名称创建一个命名型的高级ACL,进入高级ACL视图。
②、配置基本ACL的规则
-
根据IP承载的协议类型不同,在设备上配置不同的高级ACL规则。对于不同的协议类型,有不同的参数组合。
-
当参数protocol为IP时,高级ACL的命令格式为
#在高级ACL视图下,通过此命令来配置高级ACL的规则。 rule [ rule-id ] { deny | permit } ip [ destination { destination-address destination-wildcard | any } | source { source-address source-wildcard |any } | time-range time-name | [ dscp dscp | [ tos tos | precedence precedence ] ] ]
-
当参数protocol为TCP时,高级ACL的命令格式为
#在高级ACL视图下,通过此命令来配置高级ACL的规则。 rule [ rule-id ] { deny | permit } { protocol-number | tcp } [ destination { destination-address destination-wildcard | any } | destination-port { eq port | gt port | lt port | range port-start port-end } | source { source-address source-wildcard | any } | source-port { eq port | gt port | lt port | range port-start port-end } | tcp-flag { ack | fin | syn } * | time-range time-name ] *
-
六、ACL基础配置实例
1、基本ACL
2、高级ACL
七、ACL实验
1、基本ACL配置(1)
①、实验目标
- PC1不可以Ping通PC2
②、配置
SW1
[SW1]acl 2000 #创建一个基本ACL
[SW1-acl-basic-2000]rule deny source 192.168.10.1 0 #禁止192.168.10.1数据
[SW1]traffic-filter vlan 20 outbound acl 2000 #在Vlan20的出方向应用ACL 2000(发送数据到Vlan20的出方向的时候,不放行数据)
③、测试
2、高级ACL配置(2)
①、实验目标
- PC到Server的访问
- 配置基本ACL,使得PC1无法与PC2通信
- 配置高级ACL,使得PC2无法Ping通www.yyb
②、配置
-
SW1
#配置接口类型 [SW1-GigabitEthernet0/0/1]port link-type access [SW1-GigabitEthernet0/0/1]port default vlan 10 [SW1-GigabitEthernet0/0/2]port link-type access [SW1-GigabitEthernet0/0/2]port default vlan 20 #配置VlanIf [SW1-Vlanif10]ip addr 192.168.10.254 24 [SW1-Vlanif20]ip addr 192.168.20.254 24 [SW1-Vlanif1]ip addr 10.1.11.2 24 #交换机默认存在一个Vlan1,并且所有接口都属于Vlan1 #配置静态路由 [SW1]ip route-static 0.0.0.0 0.0.0.0 10.1.11.1 #默认路由 #配置基本ACL(模拟器BUG) [SW1]acl name denypc1 basic #创建ACL [SW1-acl-basic-denypc1]rule 5 deny source 192.168.10.10 0 #配置规则 [SW1]traffic-filter vlan 20 outbound acl name denypc1 #应用ACL #配置高级ACL [SW1]undo traffic-filter vlan 20 outbound acl name denypc1 #取消基本ACL配置 [SW1]acl name yyb advance #创建ACL [SW1-acl-adv-yyb]rule deny ip source 192.168.10.10 0 destination 192.168.20.10 0 #设置规则 [SW1]traffic-filter vlan 10 inbound acl name yyb #应用ACL
-
R1
#配置接口IP [R1-GigabitEthernet0/0/0]ip addr 10.1.11.1 24 [R1-GigabitEthernet0/0/1]ip addr 10.1.1.1 24 #配置静态路由 [R1]ip route-static 192.168.0.0 16 10.1.11.2 #汇总路由 #配置环回接口 [R1]int lo 0 [R1-LoopBack0]ip addr 1.1.1.1 32 #配置ACL(实验目标3) [R1]acl 3000 #创建ACL [R1-acl-adv-3000]rule deny udp source 192.168.20.0 0.0.0.255 destination 10.1.1.10 0 destination-port eq 53 #配置ACL规则 [R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000 #应用ACL
③、测试
- 连通性
-
PC1访问PC2
PC1不能和PC2通信,但是都可以访问Server 此时PC2也不可以和PC1通信,因为Ping是双向的
-
PC2不可解析DNS
PC2虽然可以ping通1.1.1.1 ,和服务器地址10.1.1.10,但是不可以进行DNS解析 PC1一切正常
网络地址转换(NAT)
一、NAT概述
NAT是将IP数据报文头中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能。Basic NAT是实现一对一的IP地址转换,而NAPT可以实现多个私有IP地址映射到同一个公有IP地址上。
二、静态NAT
- 静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射
- 支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会转换成对应的公有地址。同时外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址
NAT实验
1、实验目标
- Client1可以成功访问Client2
- 公网的Client2可以访问内网的Client1
2、配置
-
R1
#配置IP地址 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip addr 192.168.10.254 24 [R1-GigabitEthernet0/0/0]int g0/0/2 [R1-GigabitEthernet0/0/2]ip addr 192.168.20.254 24 [R1-GigabitEthernet0/0/2]int g0/0/1 [R1-GigabitEthernet0/0/1]ip addr 100.1.12.254 24 #配置默认路由 [R1]ip route-static 0.0.0.0 0.0.0.0 100.1.12.2 #配置NAT [R1]acl 2000 [R1-acl-basic-2000]rule permit source 192.168.20.0 0.0.0.255 #匹配需要对那些流量作NAT转换 [R1-GigabitEthernet0/0/1]nat outbound 2000 #在公网接口下配置NAT 此时Client2就可以Ping通Client1 #Nat Sever #不能同时使用一个地址做源和目的的映射,否则内网用户做源NAT转换的时候端口可能出现冲突的情况 [R1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.12.10 8080 inside 192.168.10.1 80
#查看NAT转换表 [R1]dis nat session all NAT Session Table Information: Protocol : ICMP(1) SrcAddr Vpn : 192.168.20.1 #私网IP DestAddr Vpn : 100.1.10.1 #转换之前的目的IP Type Code IcmpId : 0 8 1 NAT-Info New SrcAddr : 100.1.12.1 #转换之后的IP New DestAddr : ---- New IcmpId : 10240 Total : 1
#查看NAT Server配置信息 [R1]dis nat server Nat Server Information: Interface : GigabitEthernet0/0/1 Global IP/Port : 100.1.12.10/8080 Inside IP/Port : 192.168.10.1/80(www) Protocol : 6(tcp) VPN instance-name : ---- Acl number : ---- Description : ---- Total : 1
-
R2
#配置IP地址 [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip addr 100.1.12.2 24 [R2-GigabitEthernet0/0/0]int g0/0/1 [R2-GigabitEthernet0/0/1]ip addr 100.1.10.2 24
3、测试
-
Client1访问Client2
-
NAT Server
开放式最短路径优先(OSPF)
一、OSPF简介
1、定义
- 开放式最短路径优先OSPF是IETF组织开发的一个基于链路状态的内部网关协议
2、目的
在OSPF出现前,网络上广泛使用RIP作为内部网关协议。
由于RIP是基于距离矢量算法的路由协议,存在着收敛慢、路由环路、可扩展性差等问题,所以逐渐被OSPF取代。
OSPF作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外,OSPF还有以下优点:
- OSPF采用组播形式收发报文,这样可以减少对其它不运行OSPF路由器的影响。
- OSPF支持无类型域间选路(CIDR)。
- OSPF支持对等价路由进行负载分担。
- OSPF支持报文加密。
由于OSPF具有以上优势,使得OSPF作为优秀的内部网关协议被快速接收并广泛使用。
3、分类
-
按照工作区域划分
-
IGP:内部网关协议
- RIP:路由信息协议(距离矢量路由协议)
- OSPF:开放式最短路径优先(用于大型网络,内部网关)
- IS-IS:中间系统到中间系统(AS内部使用)
-
EGP:外部网关协议
-
BGP:边界网关协议(AS之间)
-
-
-
按工作机制及算法分类
- 距离矢量路由协议
- RIP
- 链路状态路由协议
- OSPF
- IS-IS
- 距离矢量路由协议
-
什么是内部,什么是边界
-
AS(自治系统):运行相同的路由器协议的路由器属于同一个自治系统
-
通过自治系统内连接外部的路由器,这个时候就需要外部网关
-
内部网关路由协议(IGP):用于在单一自治系统中去决策路由(RIP,PSPF)
-
外部网关路由协议(EGP):用于连接不同自治系统(BGP)
-
二、OSPF原理描述
1、距离矢量路由协议
#特点:
运行距离矢量路由协议的路由器周期性地泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中,然后再通告给其他相邻路由器。
在通告路由信息的时候,发送的是关于路由距离(开销)和方向(下一跳)的信息
#缺点:
对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的网段方向在哪里,开销有多大。
路径并非是最优的
RIP最大支持15跳,不适合大型网络部署
2、链路状态路由协议
①、LSA泛洪
向网络中通告LSA,用于描述链路状态信息
LSA描述了路由器接口的状态信息,例如接口的开销、连接的对象等
链路状态路由协议通告的的是链路状态而不是路由信息。
运行链路状态路由协议的路由器之间首先会建立邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。
②、LSDB维护
路由器使用LSDB维护LSA
LSDB通常会存储多种不同类型的LSA,每类LSA所描述的信息不同
每台路由器都会产生LSA,路由器将收到的LSA放入自己的LSDB。路由器通过对所存储的LSA进行解析,进而了解全网拓扑
③、SPF计算
以自己为跟节点,来计算到达目标节点的最优路径
SPF是OSPF路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策。
每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达所有网段的优选路径。
④、路由表形成
路由器将计算来的优选路径,加载进自己的路由表
⑤、总结
- 建立相邻路由器之间的邻居关系
- 邻居之间交互链路状态信息LSA并存到LSDB
- 进行优选路径计算
- 根据最短路径树生成路由表项加载到路由表
三、OSFF概念
1、OSPF概述
OSPF是IETF定义的一种基于链路状态的内部网关路由协议。目前针对IPv4协议使用的是OSPF Version 2;针对IPv6协议使用OSPF Version 3(
2、优点
- 基于SPF算法,以“累计链路开销”作为选路参考值
- 采用组播形式收发部分协议报文
- 支持区域划分
- 支持对等价路由进行负载分担
- 支持报文认证
3、应用场景
4、Router ID
- Router ID用于在自治系统中唯一标识一台允许OSPF的路由器,他是一个32位无符号整数
- Router ID一旦选定,之后如果要更改的话就需要重启OSPF进程
- Router ID选举规则如下
- 手动配置OSPF路由器的Router ID(建议手动配置)
- Loopback接口最大的IP地址作为Router ID
- 没配置Loopback的话,物理接口中最大的IP地址作为Router ID
5、区域
- OSPF Area用于标识一个OSPF的区域
- 区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识
- OSPF的区域ID是一个32bit的非负整数,按点分十进制的形式(与IPv4地址的格式一样)呈现,例如Area0.0.0.1。为了简便起见,我们也会采用十进制的形式来表示。
- 路由器过多的情况下,不划分区域会造成资源浪费,稳定性差的问题(如果其中一台路由器故障,所有路由器的OSPF都会重新计算)
- 区域内同步,区域间不进行同步(区域间通过三类LSA传播信息)
- 区域的划分基于接口
- G0/0/1:Area 1
- G0/0/2:Area 2
- G0/0/3:Area 3
- 区域ID相同才可以建立邻居关系
6、度量值
-
Cost值(带宽越高,Cost值越低),基于带宽计算
-
百兆以上的Cost值都为1
-
可以修改参考带宽(不建议)
-
可以修改Cost
-
路由的传递和数据的传递是相反的,Cost的计算是以路由传递的方向的所有入接口的Cost之和
四、OSPF三大表项
1、邻居表
- OSPF在传递链路状态信息之前,需要先建立OSPF邻居关系
- OSPF的邻居关系通过交互Hello报文建立
- OSPF邻居表显示了OSPF路由器之间的邻居状态
- 使用命令
display ospf peer
查看
2、LSDB
-
LSDB会保存自己产生的及从邻居收到的LSA信息
-
Type标识LSA的类型,AdvRouter标识发送LSA的路由器
-
不同区域的LSDB分开
-
使用命令
display ospf lsdb
查看
3、OSPF
-
OSPF路由表和路由器路由表是两张不同的表
- 并非所有的OSPF路由都会存放在全局路由表中
-
OSPF路由表中包含Destination(目的)、Cost(开销)、NextHop(下一跳)等指导转发的信息
-
使用命令
display ospf routing
查看
#10.1.12.0/30这条路由在全局路由表中的协议类型为直连(网络号与R1的G0/0/1接口一样)
OSPF学到10.1.12.0/30,直连也学到10.1.12.0/30,由于直连的优先级高,所以路由表中会存放直连路由
#协议类型
直连
静态
动态
五、OSPF报文格式
- OSPF一共定义了5种类型的报文,不同类型OSPF报文有相同的头部格式
- OSPF报文直接采用IP封装,在报文的IP头部中,协议号为89
重要字段解释
Version :对于当前所使用的OSPFv2,该字段的值为2。
Router ID:表示生成此报文的路由器的Router ID。
Area ID:表示此报文需要被通告到的区域。
Type:类型字段。
Packet length:表示整个OSPF报文的长度,单位是字节。
Checksum:校验字段,其校验的范围是整个OSPF报文,包括OSPF报文头部。
Auth Type:为0时表示不认证;为1时表示简单的明文密码认证;为2时表示加密(MD5)认证。
Authentication:认证所需的信息。该字段的内容随AuType的值不同而不同
六、OSPF工作过程
1、建立邻居关系
-
OSPF使用Hello报文发现和建立邻居关系
-
在以太网链路上,缺省时,OSPF采用组播的方式发送Hello报文(目的地址为224.0.0.5)
-
OSPF Hello报文中包含了路由器的Router ID、邻居列表等信息。
R1和R2路由器相互发送Hello报文,第一个Hello报文包含的邻居列表为空。
此时R1和R2进入Init状态,然后进行下一轮Hello报文交互
R2收到R1发送的Hello报文后,如果各项参数匹配,再次发送Hello报文时,将R1加入自己的邻居列表;同理R1回应的时候也会将R2加入自己邻居列表
当R1在R2发来的Hello报文中看到了自己的信息,则进入2-way状态,同理R2也进入2-way状态,形成邻居关系
Hello报文(发现和维护邻居关系)
查看Hello时间间隔是否一致(默认时间为10s)
查看子网掩码是否相同
查看失效时间是否相同(4倍的Hello周期内没有收到对方的Hello报文,就会失效)
查看Options字段是否相同
Router ID 两边不能相同
以上参数都全部符合才会建立邻居关系
2、建立邻接关系
-
DD:数据库(LSDB)描述报文
- Seq:序列号
- I:标识是否为第一个字段,是则置1,否则置0
- M:是否为最后一个字段,是则置0,否则置1
- MS(Master/Slave):标识自己是否为Master(Roter ID大的一方会成分Master)
-
DD(交互链路状态数据库摘要)
1、发送DD报文选取谁是Master,里面没有list(R2成为Master) Slave发送的数据的Seq为Master的Seq(隐式确认),必须成对出现,就算R2发送后R1没有DD数据需要发送,也会单独发送DD确认报文 2、同步前R2先发送List,R1进行比对,查看那些条目在本地存在,如果存在就不需要发送,如果没有再进行发送
-
LSR(请求特定的链路状态信息)
当收到R1的LSA后,会发送LSR来请求对方自己所缺失的LSA
-
LSU(发送详细的链路状态信息)
R2发送LSU(链路状态更新报文),LSU里包含LSA,LSA通过LSU报文发送
-
LSACK(确认LSA)
LSACK用来确认收到那些LSA LSR、LSU、LSACK会进行多次,知道同步完LSA
-
OSPF状态变迁过程
1、发送DD后,会进入ExStart状态 2、完成Master的选举,会进入ExChange状态,才会交互摘要信息(List) 3、交互完成后会进入Loading状态,开始发送LSR、LSU、LSACK报文 4、当LSA更新完成后,会进入Full状态(代表路由器完成了邻居之间的LSDB同步,建立邻接关系) 5、然后就可以进行SPF计算出最优路由
-
**PPT注释 **
R1和R2的Router ID分别为10.0.1.1和10.0.2.2并且二者已建立了邻居关系。当R1的邻居状态变为ExStart后,R1会发送第一个DD报文。此报文中,M-bit设置为1,表示后续还有DD报文要发送,MS-bit设置为1,表示R1宣告自己为Master。DD序列号被随机设置为X,I-bit设置为1,表示这是第一个DD报文。 同样当R2的邻居状态变为ExStart后,R2也会发送第一个DD报文。此报文中,DD序列号被随机设置为Y(I-bit=1,M-bit=1,MS-bit=1,含义同上)。由于R2的Router ID较大,所以R2将成为真正的Master。收到此报文后,R1会产生一个Negotiation-Done事件,并将邻居状态从ExStart变为Exchange。 当R1的邻居状态变为Exchange后,R1会发送一个新的DD报文,此报文中包含了LSDB的摘要信息,序列号设置为R2在步骤2中使用的序列号Y,I-bit=0,表示这不是第一个DD报文,M-bit=0,表示这是最后一个包含LSDB摘要信息的DD报文,MS-bit=0,表示R1宣告自己为Slave。收到此报文后,R2将邻居状态从ExStart变为Exchange。 当R2的邻居状态变为Exchange后,R2会发送一个新的DD报文,此报文包含了LSDB的摘要信息。DD序列号设置为Y+1, MS-bit=1,表示R2宣告自己为Master。 虽然R1不需要发送新的包含LSDB摘要信息的DD报文,但是作为Slave,R1需要对Master发送的每一个DD报文进行确认。所以,R1向R2发送一个新的DD报文,序列号为Y+1,该报文内容为空。发送完此报文后,RTA产生一个Exchange-Done事件,将邻居状态变为Loading。R2收到此报文后,会将邻居状态变为Full(假设R2的LSDB是最新最全的,不需要向R1请求更新)。
3、DR与BDR
①、作用
-
MA网络(多路访问网络)都会存在下列两个问题
- 管理复杂
- LSA泛洪,资源浪费
-
默认状态下,大家都会监听组播组(224.0.0.5)
-
**DR(指定路由器):**由DR发送组播流,每台路由器在启动的时候都会和DR形成邻接关系
- DR会统一收集大家的LSA,并进行通告
- DR会收到全网最全的LSA
-
**BDR(备份指定路由):**作为DR的备份,也拥有最全的LSA,如果DR失效快速接管DR工作
-
既不是DR也不是BDR的路由器,为DRohter
- DRother之间停留在
two-way
状态,不会进行LSA同步
- DRother之间停留在
②、选举规则
DR和BDR的选举
- DR/BDR的选举是非抢占式的
- 一旦选举时间接受,DR确定后,即使拥有更高的优先级也不会成为DR
- 选举过程会在two-way阶段进行
- 选举时间会等待40S
- DR/BDR的选举是基于接口的
- 接口的DR优先级越大越优先(Helo报文里包含路由器优先级,可以手动设置)
- 接口DR优先级相等的时候,Router ID越大越优先
- 优先级为0代表路由器剥夺选举权
思考
-
优先级全部为0,OSPF是否还会正常工作
当优先级为0的时候,会丧失选举权,所有路由器会都成为DRother,并且全部停留在two-way状态,所有不会同步LSA,不能通过SPF算法计算路由,所以OSPF不能进行正常工作
-
缺省情况下,那些链路类型组成的网络是MA网络
- 链路类型
- 局域网
- 以太网技术(双绞线)
- 广域网
- PPP(串行链路)
- 局域网
- 链路类型
③、不同网络类型中DR与BDR的选举操作
OSPF网络类型 | 常见链路层协议 | 是否选举DR | 是否和邻居建立邻接关系 |
---|---|---|---|
Point-to-Point(点到点) | PPP链路 | 否 | 是 |
Broadcast(广播MA) | 以太网链路 | 是 | |
NBMA | 帧中继链路 | 是 | |
P2MP(点到多点) | 需手工指定 | 否 | 是 |
链路类型决定网络类型,网络类型决定是否选取DR/BDR
此情况可以手动修改网络类型为P2P,就不会选举DR/BDR
好处:
节省时间,提高工作效率
这实际上是没有必要而且浪费时间的(DR及BDR的选举过程涉及一个等待计时器,这增加了直连路由器形成邻接关系的时间),因为这些链路其实从逻辑的角度看都是点对点的连接,选举DR或BDR实在是画蛇添足。因此为了提高OSPF的工作效率,加快邻接关系的建立过程,可以把这些互联接口的网络类型都修改为P2P。
七、OSPF基本配置
1、启动OSPF进程,进入OSPF视图。
[Huawei] ospf [ process-id | Router ID Router ID ]
#路由器支持OSPF多进程,进程号是本地概念,两台使用不同OSPF进程号设备之间也能够建立邻接关系。
#Router ID建议手动配置
#进程不配置的话默认为1
2、创建并进入OSPF区域视图
[Huawei-ospf-1] area area-id
3、在OSPF区域中那些接口启用OSPF
[Huawei-ospf-1-area-0.0.0.0] network 10.0.12.0 0.0.0.255 #被network所匹配的范围需要启用OSPF,并加入区域0
10.0.24.2 0.0.0.0 #指定10.0.24.2加入区域0
4、也可以进入某个接口,启用OSPF
[Huawei-GigabitEthernet1/0/0] ospf enable process-id area area-id #在接口上配置OSPF,优先级高于network命令
5、设置选举DR时的优先级
[Huawei-GigabitEthernet1/0/0] ospf dr-priority priority
6、设置网络类型
[Huawei-GigabitEthernet1/0/0] ospf network-type { broadcast | nbma | p2mp | p2p }
八、配置举例
九、实验
1、实验目的
配置OSPF实现路由学习
2、配置
R1
#配置IP地址以及环回地址
[R1-GigabitEthernet0/0/0]ip addr 10.0.123.1 24
[R1-GigabitEthernet0/0/0]int lo 0
[R1-LoopBack0]ip addr 11.1.1.1 32
#配置OSPF
[R1]ospf 1 router-id 11.1.1.1
[R1-ospf-1]area 2
[R1-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255
[R1-ospf-1-area-0.0.0.2]network 11.1.1.1 0.0.0.0
R3
#配置IP地址以及环回地址
[R3-GigabitEthernet0/0/0]ip addr 10.0.123.3 24
[R3-GigabitEthernet0/0/0]int lo 0
[R3-LoopBack0]ip addr 33.1.1.1 32
#配置OSPF
[R3]ospf 1 router-id 33.1.1.1
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255
[R3-ospf-1-area-0.0.0.2]network 33.1.1.1 0.0.0.0
R2
#配置IP地址以及环回地址
[R2-GigabitEthernet0/0/0]ip addr 10.0.123.2 24
[R2-GigabitEthernet0/0/1]ip addr 10.0.24.2 24
[R2-GigabitEthernet0/0/1]int lo 0
[R2-LoopBack0]ip addr 22.1.1.1 32 #配置换回接口
#配置OSPF
[R2]ospf 1 router-id 22.1.1.1 #配置OSFP的进程号为1,Router ID为22.1.1.1
[R2-ospf-1]area 0 #创建并进去区域0
[R2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255 #把24网段加入区域0
[R2-ospf-1-area-0.0.0.0]network 22.1.1.1 0.0.0.0 #把22.1.1.1加入区域0
[R2]ospf 1
[R2-ospf-1]area 2
[R2-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255 #把123网段加入区域2
#配置网络类型优化网络
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ospf network-type p2p #设置网络类型为点到点
#假如R2为出口路由,向全网发送默认路由
[R2]ospf 1
[R2-ospf-1]default-route-advertise always #配置完成后,全网所以的路由器的都会学到一条默认路由
#当R2和R4配置好后R2就学到了R4的路由
[R2]dis ospf routing
OSPF Process 1 with Router ID 22.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
10.0.24.0/24 1 Transit 10.0.24.2 22.1.1.1 0.0.0.0 #因为直连优先级更高,所以路由表中的路由为直连
22.1.1.1/32 0 Stub 22.1.1.1 22.1.1.1 0.0.0.0
44.1.1.1/32 1 Stub 10.0.24.4 44.1.1.1 0.0.0.0 #只有此条路由会加载到路由表中
[R2]dis ip routing-table protocol ospf #通过OSPF学来的路由有那些
Destination/Mask Proto Pre Cost Flags NextHop Interface
44.1.1.1/32 OSPF 10 1 D 10.0.24.4 GigabitEthernet0/0/1
#查看邻居表
[R2]dis ospf peer
OSPF Process 1 with Router ID 22.1.1.1
Neighbors
Area 0.0.0.0 interface 10.0.24.2(GigabitEthernet0/0/1)'s neighbors
Router ID: 44.1.1.1 Address: 10.0.24.4
State: Full Mode:Nbr is Master Priority: 1 #Full表示已经形成领接关系
DR: 10.0.24.2 BDR: 10.0.24.4 MTU: 0
Dead timer due in 40 sec
Retrans timer interval: 5
Neighbor is up for 00:28:12
Authentication Sequence: [ 0 ]
R4
#配置IP地址以及环回地址
[R4-GigabitEthernet0/0/0]ip addr 10.0.24.4 24
[R4-GigabitEthernet0/0/1]ip addr 10.0.45.4 24
[R4-LoopBack0]ip addr 44.1.1.1 32
#配置OSPF
[R4]ospf 1 router-id 44.1.1.1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 44.1.1.1 0.0.0.0
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]network 10.0.45.0 0.0.0.255
#配置网络类型优化网络
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ospf network-type p2p
#此时查看邻居表
[R4]dis ospf peer
OSPF Process 1 with Router ID 44.1.1.1
Neighbors
Area 0.0.0.0 interface 10.0.24.4(GigabitEthernet0/0/0)'s neighbors
Router ID: 22.1.1.1 Address: 10.0.24.2
State: Full Mode:Nbr is Slave Priority: 1
DR: None BDR: None MTU: 0 # 不存在DR、BDR
Dead timer due in 35 sec
Retrans timer interval: 5
Neighbor is up for 00:00:24
Authentication Sequence: [ 0 ]
R5
#配置IP地址以及环回地址
[R5-GigabitEthernet0/0/0]ip addr 10.0.45.5 24
[R5-GigabitEthernet0/0/0]int lo 0
[R5-LoopBack0]ip addr 55.1.1.1 32
#配置OSPF
[R5]ospf 1 router-id 55.1.1.1
[R5-ospf-1]area 1
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ospf enable area 1 #将此接口加入区域1
[R5-GigabitEthernet0/0/0]int lo 0
[R5-LoopBack0]ospf enable area 1
3、测试
- 查看R1的OSPF路由表
[R1]dis ospf routing
OSPF Process 1 with Router ID 11.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area #可以看到R1已经学习到了全网路由
10.0.123.0/24 1 Transit 10.0.123.1 11.1.1.1 0.0.0.2
11.1.1.1/32 0 Stub 11.1.1.1 11.1.1.1 0.0.0.2
10.0.24.0/24 2 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
10.0.45.0/24 3 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
22.1.1.1/32 1 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
33.1.1.1/32 1 Stub 10.0.123.3 33.1.1.1 0.0.0.2
44.1.1.1/32 2 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
55.1.1.1/32 3 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
Total Nets: 8
Intra Area: 3 Inter Area: 5 ASE: 0 NSSA: 0
-
连通性测试
hon
[Huawei-GigabitEthernet1/0/0] ospf dr-priority priority
#### 6、设置网络类型
```python
[Huawei-GigabitEthernet1/0/0] ospf network-type { broadcast | nbma | p2mp | p2p }
八、配置举例
[外链图片转存中…(img-uBWhEuDb-1651461459419)]
九、实验
[外链图片转存中…(img-1yosqn9q-1651461459420)]
1、实验目的
配置OSPF实现路由学习
2、配置
R1
#配置IP地址以及环回地址
[R1-GigabitEthernet0/0/0]ip addr 10.0.123.1 24
[R1-GigabitEthernet0/0/0]int lo 0
[R1-LoopBack0]ip addr 11.1.1.1 32
#配置OSPF
[R1]ospf 1 router-id 11.1.1.1
[R1-ospf-1]area 2
[R1-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255
[R1-ospf-1-area-0.0.0.2]network 11.1.1.1 0.0.0.0
R3
#配置IP地址以及环回地址
[R3-GigabitEthernet0/0/0]ip addr 10.0.123.3 24
[R3-GigabitEthernet0/0/0]int lo 0
[R3-LoopBack0]ip addr 33.1.1.1 32
#配置OSPF
[R3]ospf 1 router-id 33.1.1.1
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255
[R3-ospf-1-area-0.0.0.2]network 33.1.1.1 0.0.0.0
R2
#配置IP地址以及环回地址
[R2-GigabitEthernet0/0/0]ip addr 10.0.123.2 24
[R2-GigabitEthernet0/0/1]ip addr 10.0.24.2 24
[R2-GigabitEthernet0/0/1]int lo 0
[R2-LoopBack0]ip addr 22.1.1.1 32 #配置换回接口
#配置OSPF
[R2]ospf 1 router-id 22.1.1.1 #配置OSFP的进程号为1,Router ID为22.1.1.1
[R2-ospf-1]area 0 #创建并进去区域0
[R2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255 #把24网段加入区域0
[R2-ospf-1-area-0.0.0.0]network 22.1.1.1 0.0.0.0 #把22.1.1.1加入区域0
[R2]ospf 1
[R2-ospf-1]area 2
[R2-ospf-1-area-0.0.0.2]network 10.0.123.0 0.0.0.255 #把123网段加入区域2
#配置网络类型优化网络
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ospf network-type p2p #设置网络类型为点到点
#假如R2为出口路由,向全网发送默认路由
[R2]ospf 1
[R2-ospf-1]default-route-advertise always #配置完成后,全网所以的路由器的都会学到一条默认路由
#当R2和R4配置好后R2就学到了R4的路由
[R2]dis ospf routing
OSPF Process 1 with Router ID 22.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
10.0.24.0/24 1 Transit 10.0.24.2 22.1.1.1 0.0.0.0 #因为直连优先级更高,所以路由表中的路由为直连
22.1.1.1/32 0 Stub 22.1.1.1 22.1.1.1 0.0.0.0
44.1.1.1/32 1 Stub 10.0.24.4 44.1.1.1 0.0.0.0 #只有此条路由会加载到路由表中
[R2]dis ip routing-table protocol ospf #通过OSPF学来的路由有那些
Destination/Mask Proto Pre Cost Flags NextHop Interface
44.1.1.1/32 OSPF 10 1 D 10.0.24.4 GigabitEthernet0/0/1
#查看邻居表
[R2]dis ospf peer
OSPF Process 1 with Router ID 22.1.1.1
Neighbors
Area 0.0.0.0 interface 10.0.24.2(GigabitEthernet0/0/1)'s neighbors
Router ID: 44.1.1.1 Address: 10.0.24.4
State: Full Mode:Nbr is Master Priority: 1 #Full表示已经形成领接关系
DR: 10.0.24.2 BDR: 10.0.24.4 MTU: 0
Dead timer due in 40 sec
Retrans timer interval: 5
Neighbor is up for 00:28:12
Authentication Sequence: [ 0 ]
R4
#配置IP地址以及环回地址
[R4-GigabitEthernet0/0/0]ip addr 10.0.24.4 24
[R4-GigabitEthernet0/0/1]ip addr 10.0.45.4 24
[R4-LoopBack0]ip addr 44.1.1.1 32
#配置OSPF
[R4]ospf 1 router-id 44.1.1.1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 44.1.1.1 0.0.0.0
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]network 10.0.45.0 0.0.0.255
#配置网络类型优化网络
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ospf network-type p2p
#此时查看邻居表
[R4]dis ospf peer
OSPF Process 1 with Router ID 44.1.1.1
Neighbors
Area 0.0.0.0 interface 10.0.24.4(GigabitEthernet0/0/0)'s neighbors
Router ID: 22.1.1.1 Address: 10.0.24.2
State: Full Mode:Nbr is Slave Priority: 1
DR: None BDR: None MTU: 0 # 不存在DR、BDR
Dead timer due in 35 sec
Retrans timer interval: 5
Neighbor is up for 00:00:24
Authentication Sequence: [ 0 ]
R5
#配置IP地址以及环回地址
[R5-GigabitEthernet0/0/0]ip addr 10.0.45.5 24
[R5-GigabitEthernet0/0/0]int lo 0
[R5-LoopBack0]ip addr 55.1.1.1 32
#配置OSPF
[R5]ospf 1 router-id 55.1.1.1
[R5-ospf-1]area 1
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ospf enable area 1 #将此接口加入区域1
[R5-GigabitEthernet0/0/0]int lo 0
[R5-LoopBack0]ospf enable area 1
3、测试
- 查看R1的OSPF路由表
[R1]dis ospf routing
OSPF Process 1 with Router ID 11.1.1.1
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area #可以看到R1已经学习到了全网路由
10.0.123.0/24 1 Transit 10.0.123.1 11.1.1.1 0.0.0.2
11.1.1.1/32 0 Stub 11.1.1.1 11.1.1.1 0.0.0.2
10.0.24.0/24 2 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
10.0.45.0/24 3 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
22.1.1.1/32 1 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
33.1.1.1/32 1 Stub 10.0.123.3 33.1.1.1 0.0.0.2
44.1.1.1/32 2 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
55.1.1.1/32 3 Inter-area 10.0.123.2 22.1.1.1 0.0.0.2
Total Nets: 8
Intra Area: 3 Inter Area: 5 ASE: 0 NSSA: 0
- 连通性测试