HUB属于总线型设备,连接在同一台HUB上的网元处在一个冲突域中,处在冲突域上的网元在同一时间只能有一个网元在享用带宽,发送数据。如果同时有两个网元在发送数据就会产生冲突,数据包就会受损。
交换机的每一个接口是一个单独的冲突域,连接在同一台交换机上的所有的节点处在一个广播域中。交换机基于MAC进行寻址
交换机的功能:
一个广播域是一个逻辑子网,同一台交换机上的PC之间的通信行为称为二层通信。路由器的一个接口是一个广播域
路由器的功能:
多层交换网络:
网络拓扑:
网络技术成长之路
OSI的概念:Open System Interconnect开放系统互连参考模型, 是由ISO(国际标准化组织)定义的。它是个灵活的、稳健的和可互操作的模型,并不是协议,而是一个伟大的模型。常用来分析和设计网络体系结构。
OSI模型的目的:规范不同系统的互联标准,使两个不同的系统能够较容易的通信,而不需要改变底层的硬件或软件的逻辑。
OSI模型分为七层:OSI把网络按照层次分为七层, 由下到上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
OSI的优点(不限于)
将网络的通信过程划分为小一些、简单一些的部件,因此有助于各个部件的开发、设计和故障排除
通过网络组件的标准化,允许多个供应商进行开发
通过定义在模型的每一层实现什么功能,鼓励产业的标准化,允许各种类型的网络硬件和软件相互通信
防止对某一层所做的改动影响到其他的层,这样就有利于开发
应用层:为应用软件提供接口,使应用程序能够使用网络服务。常见的应用层协议:http(80)、ftp(20/21)、smtp(25)、pop3(110)、dns(53)
表示层:数据的编码和解码;数据的加密和解密;数据的压缩和解压缩;常见的标准如:ASCII、JPEG
会话层:负责建立、管理和终止表示层实体之间的会话连接;在设备或节点之间提供会话控制;它在系统之间协调通信过程
传输层:负责将来自上层应用程序的数据进行分段和重组,并将它们组合为同样的数据流形式;提供端到端的数据传输服务;工作在传输层的协议:TCP、UDP
网络层:定义了逻辑地址(三层地址);分组寻址,负责将分组数据从源端传输到目的端;路由选择、维护路由表
路由器:广播、组播隔绝;寻址及数据转发,选择到达目的网络的最佳路径;路由发现、路径选择、维护路由表;流量管理;连接广域网(WAN)
逻辑地址:IP地址:IP地址用于在一个IP网络中标识一个节点或者一个设备的接口,同时也用于数据包在网络中的寻址
数据链路层:在不可靠的物理链路上,提供可靠的数据传输服务,把帧从一跳(节点)移动到另一跳(节点)。 组帧、物理编址、流量控制、差错控制、接入控制。数据链路层在物理层基础上向网络层提供服务。数据链路层在物理链路上提供可靠的数据传输。局域网的数据链路层协议有以太网、令牌环网等。广域网数据链路层协议有PPP、HDLC、Frame Relay等
使用 ipconfig /all
查看网卡的详细配置
设备:交换机
物理层:定义接口和媒体的物理特性。 定义比特的表示、数据传输速率、信号的传输模式(单工、半双工、全双工)。 定义网络物理拓扑(网状、星型、环型、总线型等拓扑结构)。 负责把逐个的比特从一跳(结点)移动到另一跳(结点)
设备:HUB集线器
PASS
arp -a
查看ARP消息
ping www.baidu.com
查看网络的连通性
tracert www.baidu.com
路由追踪
网络地址:指代网络的地址。在网络的IPv 4地址范围内, 最小地址保留为网络地址。此地址的主机部分的每个主机位均为0。
广播地址:用于向网络中的所有主机发送数据的特殊地址。广播地址使用该网络范围内的最大地址。即主机部分的各比特位全部为1的地址。
主机地址:可分配给网络中终端设备的地址
VLSM(Variable Length Subnet Mask,可变长子网掩码)
为什么要划分子网?
一个B类地址用于一个广播域,地址浪费;广播域太庞大,一旦发生广播,内网不堪重负。
PASS
一个网络包含多种类型的设备:路由器、交换机、防火墙、负载均衡器、服务器等等,数通的工作是要根据客户的需求,对数据网络平台(主要由数据通信设备构成)规划设计并对网络设备进行配置实施最终将网络方案落地。
那么掌握网络设备的配置和管理方法就是第一步
当用户需为第一次上电的设备进行配置时,可通过Console口登录设备。
控制口(Console Port) 是一种通信串行端口,由设备的主控板提供。
一块主控板提供一个Console口, 端口类型为EIA/TIA-232DCE。用户终端的串行端口可以与设备Console口直接连接, 实现对设备的本地配置。
Console线缆一端为RJ45水晶头, 一端为串口接头。RJ45接头用于连接设备的RJ 45的Console口, 线缆另一端的串口用于连接PC机, 现在大部分台式机都有串口可以直接连接Console线缆。但大部分笔记本电脑上并没有配置串口, 因此我们需要另一根线缆来转接 – USB-RS 232的线缆。
通过这根线缆, 将USB端连接到笔记本电脑USB接口, RS 232接头连接到Console线的串口, Console线的RJ 45接头连接被管理网络设备的Console口, 配置环境即可搭建完成
用户登录到交换机出现命令行提示符后, 即进入命令行接口CLI(CommandLine Interface) , 命令行接口是用户与交换机进行交互的常用工具。
通用路由平台VRP(Versatile Routing Platform) 是华为数据通信产品的通用操作系统平台,它以IP业务为核心,采用组件化的体系结构,在实现丰富功能及特性的同时,提供基于应用的可裁剪能力和可扩展能力。
VRP其实就是运行在华为数通产品上的操作系统, 就像Windows系统对于PC, iOS系统对于苹果终端。
GigabitEthernet 0/0/0 第一个0表示槽位,第二个0表示子线卡,第三个0表示接口ID
每条命令都有特定的格式或语法结构,并在相应的视图下进行配置,常规命令语法为关键字+参数
使用快捷键
基本配置命令
配置设备名称
[Router] sysname R1
配置设备时钟
clock datetime 12:00:00 2013-12-20
配置接口
system-view
[Router] interface GigabitEthernet0/0/0
[Router-GigabitEthernet0/0/0] ip address 10.1.12.1 255.255.255.0
#上面这条命令也可使用如下配置方式
[Router-GigabitEthernet0/0/0] ip address 10.1.12.1 24
[Router-GigabitEthernet0/0/0] display current-configuration
[Router-GigabitEthernet0/0/0] display this
[Router-GigabitEthernet0/0/0] undo ip add
#取消配置
[Router-GigabitEthernet0/0/0] undo shutdown
使能设备的 Telnet 服务
[Quidway] User-interface vty 0 4
[Quidway-ui-vty0-4] authentication-mode password
[Quidway-ui-vty0-4] protocol inbound telnet
[Quidway-ui-vty0-4] set authentication password cipher huawei
[Quidway-ui-vty0-4] quit
[Quidway] super password level 15 cipher huawei15
管理配置文件
保存配置文件,在第一次保存配置文件时,如果不指定可选参数configuration-file
, 则交换机将提示是否将文件名保存为“vrp cfg.zip”
。“vrp cfg.zip
“是系统缺省的配置文件, 初始状态是空配置。
save
清除已保存的配置文件,下次设备重启将恢复出厂配置。
reset saved-configuration
备份配置文件
copy flash:/vrpcfg.zip flash:/cfgbackup.zip
eNSP使用:关闭防火墙(或者添加TerminateRunning.exe允许应用通过防火墙进行通信),配置VB的IP地址192.168.65.1,设置兼容模式win7并以管理员身份运行
二层交换机的主要功能
MAC地址及MAC地址表
MAC地址
MAC地址有48位, 通常被表示为点分十六进制数。
MAC地址全球唯一, 由IEEE对这些地址进行管理和分配。
每个地址由两部分组成,分别是供应商代码和序列号。其中前24位二进制代表该供应商代码。剩下的24位由厂商自己分配。
为什么需要VLAN?
整台交换机的所有端口均属于同一个广播域
网络中的设备有可能被大量的广播损耗资源
无法根据业务需求灵活的规划网络结构
VLAN(Virtual LAN)可以解决上述问题,通过将交换机的端口划入特定的VLAN,可以起到隔离广播域的作用
VLAN知识点小结
一个VLAN中所有设备都是在同一广播域内, 不同的VLAN为不同的广播域
VLAN之间互相隔离, 广播不能跨越VLAN传播, 因此不同VLAN之间的设备一般无法互访, 不同VLAN间需通过三层设备实现相互通信
一个VLAN一般为一个逻辑子网, 由被配置为此VLAN成员的设备组成
VLAN中成员多基于交换机的端口分配, 划分VLAN就是对交换机的接口划分
VLAN工作于OSI参考模型的第二层
VLAN是二层交换机的一个非常根本的工作机制
Access的概念
Trunk的概念
当一条链路, 需要承载多VLAN信息的时候, 需使用trunk来实现
Trunk两端的交换机需采用相同的干道协议
一般见于交换机之间或交换机与路由器之间
以太网交换机的端口分类
Access端口:一般用于连接主机的端口, access端口只能属于1个VLAN。
Trunk端口:一般用于交换机之间连接的端口, trunk端口可以属于多个VLAN, 可以接收和发送多个VLAN的报文。
Hybrid端口:可以用于交换机之间的连接,也可以用于连接用户的计算机,hybrid端口可以属于多个VLAN, 可以接收和发送多个VLAN的报文。
端口的缺省ID(PVID)
每个Access、Trunk、Hybrid、QinQ类型的端口都可以配置一个缺省VLAN(PVID : Port Default VLAN ID),表示端口所属的VLAN。
对于Access类型端口,PVID的数值表示当前端口所属的VLAN。
对于Trunk、Hybrid类型端口,由于Hybrid类型端口和Trunk类型端口允许多个VLAN数据帧通过,也可理解为这两种类型的端口属于多个VLAN,所以需要配置PVID。
PVID, 在缺省情况下为VLAN 1。
vlan基本配置
在交换机上创建VLAN并进入VLAN视图
[Quidway] vlan 10
(可选) 在特定的VLAN视图下修改VLAN的名字
[Quidway-vlan 10] name TechVLAN
为特定的vlan添加接口
[Quidway-vlan 10] port GigabitEthernet 0/0/1
将特定的接口配置为access类型, 并加入vlan
[Quidway] interface gigabitEthernet 0/0/1
[Quidway-gigabitEthernet0/0/1] port link-type access
[Quidway-gigabitEthernet0/0/1] port default vlan 10
Trunk基本配置
将特定接口配置为trunk类型
[Quidway] interface gigabitEthernet 0/0/24
[Quidway-gigabitEthernet0/0/24] port link-type trunk
在该trunk接口上放行特定VLAN
[Quidway-gigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 99
配置trunk接口的pvid, 这个vlan的流量从trunk接口转发不会打标签, 默认是vlan1
[Quidway-gigabitEthernet0/0/24] port trunk pvid vlan 99
VLAN基础实验1
VLAN基础实验2
Access Port
Trunk Port
Hybrid Port
交换机单线路上联,存在单点故障,上行线路及设备都不具备冗余性,一旦链路或上行设备发生故障,网络将面临断网。
冗余拓扑能够解决单点故障问题,但是同时冗余拓扑也带来了二层环路,实际网络环境中,经常容易产生二层环路从而引发网络故障
环路带来的问题—广播风暴
网络中如若存在二层环路,一旦出现广播数据帧,这些数据帧帧将被交换机不断进行泛洪,从而造成广播风暴。
广播风暴对网络的危害是非常大的,将严重消耗设备资源及网络带宽,是需要格外注意的问题。
如果交换机的CPU的占用率达到90%以上或者LED指示灯出现齐闪的情况可能就出现了环路
环路带来的问题—MAC表的紊乱
PC发送数据帧给Server
SW3没有目的MAC的表项, 于是将数据帧进行泛洪
SW1及SW2都能够收到这个数据帧并学习源MAC,同时将数据帧进一步泛洪。
SW1及SW2又从自身的另一个接口收到这个数据帧,于是MAC表又一次发生改变,如此往复。
复杂的冗余性网络环境存在更多的物理二层环路
Spanning-tree的基本概念
采用生成树(Spanning-tree) 技术, 能够在网络中存在二层环路时, 通过阻塞(Block) 特定端口从而打破环路, 并且在网络出现拓扑变更时及时收敛,以保证网络的冗余性。
每个广播域选择一个根桥(Root Bridge)
每个非根桥上选择一个根端口(Root Port)
每个段选择一个指定端口(Designated Port)
选出非指定端口(Non Designated Port)
BPDU Packets
网桥协议数据单元 Bridge Protocol Data Unit
,依赖BPDU报文的洪泛,使得STP能够正常工作
BPDU报文
配置BPDU中的重要参数
Bridge ID
桥ID一共8个字节, 由2个字节的优先级和6个字节的MAC地址构成。
桥优先级默认32768,可以手工修改,以4096的倍数进行调整。MAC地址为交换机的背板MAC
Path Cost
路径开销是一个端口量, 是STP/RSTP协议用于选择链路的参考值。
端口路径开销的默认值及取值范围由选定的路径开销算法决定,路径开销与端口的带宽成反比。
我司设备支持的路径开销计算标准:802.1d-1998、802.1t、legacy, 其中legacy为我司私有标准。我司交换机默认选择802.1t的标准。
Port ID
端口ID(2字节) = 端口优先级(1字节)+端口编号(1字节)。 缺省优先级128,范围0-255,越小越优
STP操作
每个非根交换机上选择一个根端口(RootPort)。
根端口:具有最低根路径的接口
如果交换机上有多个端口拥有相同的到根的开销,则进一步比较候选接口上所收BPDU的优劣。
每个段选择一个指定端口(Designated Port)。根桥的所有端口都是指定端口,都不会被阻塞
指定端口:具有最低根路径的接口
如果一个链路上有多个端口拥有相同的到根的开销,则进一步比较候选接口上所收BPDU的优劣。
案例1
案例2
案例3
案例4
STP的端口状态
STP拓扑变更机制
指定生成树协议类型(STP/RSTP/MSTP)
[SW] stp mode{stp|rstp}
默认是MSTP
配置交换机优先级
[SW] stp priority pri
默认是32768
指定交换机成为根桥
[SW] stp root primary
事实上是将交换机的优先级设置为0
指定交换机成为次根桥
[SW] stp root secondary
事实上是将交换机的优先级设置为4096
启用生成树
[SW] stp enable
默认处于disable状态
配置端口STP优先级
[SW] interface GigabitEthernet0/0/24
[SW-GigabitEthernet0/0/24] stp priority priority
配置端口路径开销
[SW] interface GigabitEthernet0/0/24
[SW-GigabitEthernet0/0/24] stp cost cost
STP基础实验
SW1的配置如下
[SW1] stp mode stp
[SW1] stp enable
[SW1] stp root primary
SW2的配置如下
[SW1] stp mode stp
[SW1] stp enable
[SW1] stp root secondary
SW3的配置如下
[SW1] stp mode stp
[SW1] stp enable
Sw1上查看stp状态:
[SW1] display stp
SW3上查看stp状态
[SW3] display stp brief
问题1 是否需要激活生成树协议
STP是一个在交换机上配置运行的二层协议, 如果一对防火墙or路由器隔开两对交换机形成‘日’字型网络. 路由器、防火墙与交换机形成‘口’字型网络等情况都是不需要启用STP的。
有一种情况例外,图一中当防火墙采用透明(混合)模式时,网络中存在环路,此时需要在防火墙的端口上配置一些参数来规避环路, 与STP没什么关系。
问题2 以下环境中是否存在环路?
问题3
CD出现VRRP双主
由于生成树规划的不合理, 导致最终如图所示的端口被Block, VRRP报文无法通过CD之间的互联链路泛洪到对端,因此出现双主现象。
STP的短板
如何优化?
MSTP
MSTP兼容STP和RSTP, 通过多实例能实现对业务流量和用户流量的隔离,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
在MSTP中, 你可以将若干个VLAN映射到一个实例(instance) ,MSTP将为每个instance运行一颗生成树, 可以基于instance设置优先级、端口路径开销等参数。
MSTP配置示例
MSTP配置示例SW1
[SW1] vlan batch 10 20 30 40
[SW1] stp mode mstp #将生成树模式设置为MSTP
[SW1] stp region-configuration #进入MSTP配置视图
[SW1-mst-region] region-name huawei #MSTP域名为huawei
[SW1-mst-region] instance 1 vlan 10 20 #配置VLAN到实例的映射
[SW1-mst-region] instance 2 vlan 30 40 #配置VLAN到实例的映射
[SW1-mst-region] active region-configuration #激活MST域的配置
[SW1-mst-region] quit
#配置各实例的优先级, SW1配置为实例1 CIST的主根、实例2的次根
[SW1] stp instance 1 root primary #或者stp instance 1 priority 0
[SW1] stp instance 2 root secondary #或者stp instance 2 priority 4096
[SW1] stp enable #运行STP
[SW1] interface GigabitEthernet0/0/24
[SW1-GigabitEthernet0/0/24] port link-type trunk
[SW1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 40
[SW1] interface GigabitEthernet0/0/22
[SW1-GigabitEthernet0/0/22] port link-type trunk
[SW1-GigabitEthernet0/0/22] port trunk allow-pass vlan 10 20 30 40
MSTP配置示例SW2
[SW1] vlan batch 10 20 30 40
[SW1] stp mode mstp #将生成树模式设置为MSTP
[SW1] stp region-configuration #进入MSTP配置视图
[SW1-mst-region] region-name huawei #MSTP域名为huawei
[SW1-mst-region] instance 1 vlan 10 20 #配置VLAN到实例的映射
[SW1-mst-region] instance 2 vlan 30 40 #配置VLAN到实例的映射
[SW1-mst-region] active region-configuration #激活MST域的配置
[SW1-mst-region] quit
#配置各实例的优先级, SW2配置为实例2 CIST的主根、实例1的次根
[SW1] stp instance 1 root secondary
[SW1] stp instance 2 root primary
[SW1] stp enable #运行STP
[SW1] interface GigabitEthernet0/0/24
[SW1-GigabitEthernet0/0/24] port link-type trunk
[SW1-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 40
[SW1] interface GigabitEthernet0/0/23
[SW1-GigabitEthernet0/0/22] port link-type trunk
[SW1-GigabitEthernet0/0/22] port trunk allow-pass vlan 10 20 30 40
MSTP配置示例SW3
[SW1] vlan batch 10 20 30 40
[SW1] stp mode mstp #将生成树模式设置为MSTP
[SW1] stp region-configuration #进入MSTP配置视图
[SW1-mst-region] region-name huawei #MSTP域名为huawei
[SW1-mst-region] instance 1 vlan 10 20 #配置VLAN到实例的映射
[SW1-mst-region] instance 2 vlan 30 40 #配置VLAN到实例的映射
[SW1-mst-region] active region-configuration #激活MST域的配置
[SW1-mst-region] quit
#SW3的多生成树实例优先级保持默认32768即可,无需配置
技术背景
VLAN是广播域。而通常两个广播域之间由路由器连接, 广播域之间来往的数据包都是由路由器中继的。因此, VLAN间的通信也需要路由器提供中继服务, 这被称作:VLAN间路由。
通过路由器实现VLAN间的路由
VLAN内部节点的通信是二层通信, 而不同的VLAN之间的节点通信则是三层通信,需要借助三层设备,如路由器来实现。
通过子接口实现VLAN间的路由
在路由器以太网接口上进行"子接口"的划分,与交换机的Trunk链路对接
存在问题: 流量需要经过路由器和交换机之间的链路,导致链路的负载很高,造成网络的瓶颈
Vlan interface的基础配置
SW的配置如下:
#创建VLAN 10及20, 将GE0/0/1划分到vlan 10, GE0/0/2划分到vlan 20
[SW] vlan batch 10 20
[SW] interface GigabitEthernet0/0/1
[SW-GigabitEthernet0/0/1] port link-type access
[SW-GigabitEthernet0/0/1] port default vlan 10
[SW] interface GigabitEthernet0/0/2
[SW-GigabitEthernet0/0/2] port link-type access
[SW-GigabitEthernet0/0/2] port default vlan 20
#为vlanif 10及vlanif 20配置IP地址, 作为vlan 10及vlan 20用户的网关
[SW] interface vlanif 10
[SW-vlanif 10] ipaddress 192.168.10.254 24
[SW] interface vlanif 20
[SW-vlanif 20] ipaddress 192.168.20.254 24
二、三层交换机、路由器简单组网
SW1的配置如下:
[SW1] vlan batch 10 20
[SW1] interface GigabitEthernet0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-Gig abt Ethernet0/0/1] port default vlan 10
[SW1] interface GigabitEthernet0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 20
[SW1] interface GigabitEthernet0/0/22
[SW1-GigabitEthernet0/0/22] port link-type trunk
[SW1-GigabitEthernet0/0/22] port trunk allow-pass vlan 10 20
SW2配置如下:
[SW2] vlan batch 10 20 99
[SW2] interface GigabitEthernet0/0/22
[SW2-GigabitEthernet0/0/22] port link-type trunk
[SW2-GigabitEthernet0/0/22] port trunk allow-pass vlan 10 20
#GE0/0/24口用于跟路由器对接
[SW2] interface GigabitEthernet0/0/24
[SW2-GigabitEthernet0/0/24] port link-type access
[SW2-GigabitEthernet0/0/24] port default vlan 99
[SW2] interface vlan if 10
[SW2-vlan if 10] ip address 192.168.10.254 24
[SW2] interface vlan if 20
[SW2-vlan if 20] ip address 192.168.20.254 24
[SW2] interface vlan if 99
[SW2-vlan if 99] ip address 192.168.99.1 24
#为SW2配置默认路由,下一跳是路由器
[SW2] ip route-static 0.0.0.0 0.0.0.0 192.168.99.2
Router的配置如下:
[Router] interface GigabitEthernetO/0/0
[Router-GigabitEthernet0/0/0] ip address 192.168.99.2 24
#记得为路由器配置静态路由指向vlan 10及vlan 20对应的网段, 否则回程数据就会有问题。
[Router] iproute-static 192.168.10.0 24 192.168.99.1
[Router] iproute-static 192.168.20.0 24 192.168.99.1
交换机端口镜像技术背景
在某些场景中,我们可能需要监控交换机特定端口的入站或出站报文
端口镜像概述
镜像的应用:流量观测、故障定位
镜像的分类
1. 基于端口的镜像
端口镜像就是将被监控端口上的数据复制到指定的监控端口,对数据进行分析和监视
端口镜像是指交换机复制一份从镜像端口流经的报文(可以指定入站或出站),并将此报文传送到指定的观察端口进行分析和监视。端口镜像中,镜像端口流经的所有报文都将被复制到观察端口。
以太网交换机支持多对一的镜像,即将多个端口的报文复制到一个监控端口上
端口镜像分为本地端口镜像和远程端口镜像:
本地端口镜像。本地端口镜像中,监控主机与观察端口直接相连。
远程端口镜像。远程端口镜像中,监控主机与观察端口所在设备之间通过二层网络或三层网络相联。
2. 基于流的镜像
流镜像就是将匹配访问控制列表规则的业务流复制到指定的监控端口,用于报文的分析和监视
流镜像就是将流镜像端口上的特定数据复制到指定的观察端口或CPU进行分析和监视。流镜像端口是指应用了包含流镜像行为的流策略的接口,从流镜像端口流过的报文,如果匹配此接口上流策略中的流分类,则将被复制并传送到观察端口或CPU。
流镜像分为两种, 即流镜像到接口和流镜像到CPU:
流镜像到接口,是把通过配置了流镜像的接口上的符合要求的报文复制一份,然后发送到观察端口以供分析诊断。
流镜像到CPU,是把通过配置了流镜像的接口上的符合要求的报文复制一份,然后发送到CPU以供分析诊断。这里的CPU指的是配置了流镜像的接口所在接口板上的CPU。
配置本地端口镜像
交换机配置如下
[SW] observe-port 1 interface gigabitethernet0/0/5
[SW] interface gigabitethernet0/O/24
[SW-gigabitethernet0/0/24] port-mirroring to observe-port 1 both
报文分析
在IP网络中,有着各种各样的流量。PDU是流量在IP网络中的协议单元, 如OSPF协议报文、BPDU报文等。协议的正常工作得益于报文的正常交互。对于一个职业网络工程师,应该能够从报文层面理解IP数据,进而理解各种协议,以及利用这种技术理解对网络进行管理和排障。
报文分析工具:Ethereal、Wireshark、Sniffer
Wireshark
报文筛选
报文过滤: tcp、udp、arp
源目的ip或mac:
eth.addr == 00ac.aacc.00a1
ip.addr == 192.168.1.1
ip.src/dst == 192.168.1.1
端口过滤:tcp.srcport/dstport == 8080
逻辑表达式:arp or http。ip.addr == 192.168.1.1 and http 。 not ip
练习
链路聚合技术背景
链路聚合概述
链路聚合(Link Aggregation) 是将—组物理接口捆绑在一起作为一个逻辑接口来增加带宽的一种方法, 又称为多接口负载均衡组(Load Sharing Group) 或链路聚合组(Link Aggregation Group) , 相关的协议标准请参考IEEE 802.3ad。
通过在两台设备之间建立链路聚合组,可以提供更高的通讯带宽和更高的可靠性。链路聚合不仅为设备间通信提供了冗余保护,而且不需要对硬件进行升级。
工作方式:手工负载分担
手工负载分担模式允许在聚合组中手工加入多个成员接口,所有的接口均处于转发状态, 分担负载的流量。S9300支持的负载分担方式包括目的MAC、源MAC、源MAC异或目的MAC、源IP、目的IP、源IP异或目的IP和增强模式。
Eth-Trunk的创建、成员接口的加入都需要手工配置完成, 没有LACP(link Aggregation Control Protocol) 协议报文的参与。
手工负载分担模式通常应用在对端设备不支持LACP协议的情况下。
工作方式:静态LACP
静态LACP模式是一种利用LACP协议进行聚合参数协商、确定活动接口和非活动接口的链路聚合方式。该模式下, 需手工创建Eth-Trunk, 手工加入Eth-Trunk成员接口, 由LACP协议协商确定活动接口和非活动接口。
静态LACP模式也称为M:N模式。这种方式同时可以实现链路负载分担和链路冗余备份的双重功能。在链路聚合组中M条链路处于活动状态,这些链路负责转发数据并进行负载分担,另外N条链路处于非活动状态作为备份链路,不转发数据。当M条链路中有链路出现故障时,系统会从N条备份链路中选择优先级最高的接替出现故障的链路,同时这条替换故障链路的备份链路状态变为活动状态开始转发数据。
静态LACP模式与手工负载分担模式的主要区别为:静态LACP模式有备份链路,而手工负载分担模式所有成员接口均处于转发状态,分担负载流量。
和静态LACP模式相对应的还包括动态LACP模式。动态LACP模式的链路聚合, 从Eth-Trunk的创建到加入成员接口都不需要人工的干预, 由LACP协议自动协商完成。虽然这种方式对于用户来说很简单,但由于这种方式过于灵活,不便于管理, 所以S9300上不支持动态LACP模式链路聚合。
静态LACP
实验1:手工负载分担模式
SW1、SW2的GE0/0/23及24口互联, 捆绑成Eth-Trunk,采用手工负载分担模式。同时将Eth-trunk配置为Trunk模式接口,使得VLAN流量能够跨越交换。
SW1和SW2的配置如下
#创建聚合链路eth-trunk1,并将GE0/0/23及24口添加到聚合链路中
[SW1] interface Eth-Trunk 1
[SW1-Eth-Trunk1] trunkport GigabitEthernet0/0/23
[SW1-Eth-Trunk1] trunkport GigabitEthernet0/0/24
#由于eth-trunk 1聚合链路需要承载多vlan, 因此需配置为trunk模式
[SW1-Eth-Trunk1] port link-type trunk
[SW1-Eth-Trunk1] port trunk allow-pass vlan 10 20
[SW1-Eth-Trunk1] quit
#查看及验证
[SW1] display eth-trunk 1
实验2:静态LACP模式
SW1、SW2的GE0/0/22、23及24口互联, 捆绑成Eth-Trunk,采用静态LACP模式,并且2条链路为活动链路,其余一条为备份链路。SW1为主动端
SW1的配置如下
[SW1] lacp priority 0 #将设备的LACP优先级设置成1
[SW1] interface Eth-Trunk 1
[SW1-Eth-Trunk1] mode lacp-static
[SW1-Eth-Trunk1] max active-link number 2 #最大活动链路数
[SW1-Eth-Trunk1] trunkport GigabitEthernet0/0/22
[SW1-Eth-Trunk1] trunkport GigabitEthernet0/0/23
[SW1-Eth-Trunk1] trunkport GigabitEthernet0/0/24
[SW1-Eth-Trunk1] int g 0/0/22
[SW1-GigabitEthernet0/0/22] lacp priority 1
[SW1-GigabitEthernet0/0/22] int g 0/0/23
[SW1-GigabitEthernet0/0/23] lacp priority 1
SW2配置如下
[SW2] interface Eth-Trunk 1
[SW2-Eth-Trunk1] mode lacp-static
[SW2-Eth-Trunk1] max active-link number 2 #最大活动链路数
[SW2-Eth-Trunk1] trunkport GigabitEthernet0/0/22
[SW2-Eth-Trunk1] trunkport GigabitEthernet0/0/23
[SW2-Eth-Trunk1] trunkport GigabitEthernet0/0/24
什么是路由
路由器的工作内容
IP路由表
初始化情况下,路由器所知的网络,只有其直连接口所在网络
直连网络在路由表中的标记为Direct 直连路由
直连网络出现在路由表中的前提,是该网络的接口物理及协议状态都为UP
查看路由表:display ip routing-table
优先级指对应路由协议的优先级,优先级越小,对应的路由协议越优
Flags为D表示该路由已被下载到底层的转发信息表(FIB)中
路由条目的来源
直连路由的获取
目前R1访问192.168.12.2可达,但是R1访问192.168.23.3不可达,因为R1没有去往192.168.23.0的路由,并且R3上也没有回程路由
什么是静态路由
静态路由的配置
静态路由的配置(关联下一跳IP的方式)
[Router] ip route-static 网络号 掩码 下一跳IP地址
静态路由的配置(关联出接口的方式)
[Router] ip route-static 网络号 掩码 出接口
静态路由的配置(关联出接口和下一跳IP的方式)
[Router] ip route-static 网络号 掩码 出接口 下一跳IP地址
配置示例:
[R1] ip route-static 192.168.100.0 255.255.255.0 192.168.12.2
[R1] ip route-static 192.168.100.0 24 192.168.12.2
静态路由的配置 示例
默认路由
常用命令
ping #测试连通性
tracert #追踪到达目标网段中的每一跳
display ip routing-table #查看路由表
display ip interface brief #接口消息摘要
静态路由的配置及解析
小实验
Loopback接口
Loopback接口,也叫回环口,是一个逻辑的、虚拟的接口
使用全局配置命令interface loopback
加上接口编号创建,创建完成后即可为接口配置IP地址
Loopback接口在手工创建后, 是不会DOWN掉的, 因此非常稳定
Loopback接口常用于
→模拟路由器的直连网段,可用于测试
→可用于设备管理(Loopback接口比较稳定)
→供其他协议使用, 例如OSPF、BGP、MPLS等的Router lD
→作为SNMP traps消息的源地址
→其他用途(Loopback接口的用途十分广泛)
汇总路由的精确计算
路由汇总是一个非常重要的网络设计思想,一个可汇总的网络设计方案将使得我们的网络更加优化、路由条目更加精简、网络管理更加简单…在网络设计及部署中应时刻保有路由汇总的意识。不仅仅静态路由能够部署路由汇总,动态路由协议也都支持路由汇总功能。
路由条目的类型
IP路由查找的最长匹配原则
计算方法
当路由器在将目的IP地址在路由表中执行查找时,采用的原则是“最长匹配原则”,也就是查找目的IP地址与路由前缀匹配度最长的表项,使用该表项作为最终数据转发的依据。
IP路由查找小结
不同的前缀(网络号+掩码),在路由表中属于不同的路由
相同的前缀(网络号及掩码均相同),且通过不同的协议获取,先比路由协议优先级,优选的条目装载进路由表,如果路由协议优先级相等,则进一步比较路由度量值(metric,华为设备上是cost)。
在路由查找时采用最长匹配原则,匹配,转发;没有匹配项,则找缺省路由,如果也没有缺省路由,则丢弃数据包。
路由器的行为是逐跳的,到目标网络的沿路径每个路由器都必须有关于目标的路由,否则就会造成丢包。
数据是双向的,考虑流量的时候,要关注流量的往返。
什么是路由递归
路由的下一跳最终必须关联到本地出接口,以及下一跳IP地址,而这个下一跳IP地址必须属于本地直连网络,否则该路由就视为无效。
在设备进行IP路由查找的时候,递归可能会耗费一定的资源。但在目前行业中拓扑驱动的转发机制下,在路由表项形成后系统即会自动完成路由的递归并创建相应的底层转发表项,而不会在每一个数据包到达都触发一次递归。
路由递归在某些协议中被广泛应用。例如BGP。
在实际业务环境的部署中,如果采用静态路由的方式,则不建议部署路由递归。
故障分析
浮动静态路由
由于R3上配置的两条静态路由的route preference一样, cost也一样, 因此同时装载进了路由表进行负载均衡,那么两条路径都有可能转发数据。
在配置静态路由时,可以手工指定该路由条目的优先级(默认为60)
汇总路由存在的问题
背景
路由汇总是一个非常重要的网络优化工具,然而如果使用不当,也有可能带来问题,在上图中, R1左侧有192.168开头的一系列网络, 为了让他们能够访问Internet,R1配置了指向R2的默认路由。而R2为了让数据能够回程,又为了精简路由表,配置了一条汇总路由192.168.0.0/16,并指向R1。这个网络看似没什么问题,但…
黑洞路由
BFD配置
R1的配置如下
[R1] interface gigabitEthernetO/0/0
[R1-gigabitEthernet0/0/23] ipaddress 192.168.12.1 24
[R1-gigabitEthernet0/0/23] quit
[R1] bfd #使能BFD
[R1-bfd] quit
#配置R1与R2之间的BFD Session:
[R1] bfd bfd12 bind peer-ip 192.168.12.2 source-ip 192.168.12.1
[R1-bfd-session-bfd12] discriminator local 11 #配置本地标示符
[R1-bfd-session-bfd12] discriminator remote 22 #配置远端标示符
[R1-bfd-session-bfd12] commit #使用commit关键字使得BFD生效
[R1-bfd-session-bfd12] quit
[R1] ip route-static 2.2.2.0 255.255.255.0 192.168.12.2 track bfd-session bfd 12
[R1] display bfq session all
R2的配置如下
[R2] interface gigabitEthernetO/0/0
[R2-gigabitEthernet0/0/23] ipaddress 192.168.12.2 24
[R2-gigabitEthernet0/0/23] quit
[R1] bfd #使能BFD
[R1-bfd] quit
#配置R1与R2之间的BFD Session:
[R1] bfd bfd12 bind peer-ip 192.168.12.1 source-ip 192.168.12.2
[R1-bfd-session-bfd12] discriminator local 22 #配置本地标示符
[R1-bfd-session-bfd12] discriminator remote 11 #配置远端标示符
[R1-bfd-session-bfd12] commit #使用commit关键字使得BFD生效
[R1-bfd-session-bfd12] quit
当路由器(或其他三层设备)收到一个IP数据包时,会查看数据包的IP头部中的目的IP地址,并在路由表中进行查找,在匹配到最优的路由后,将数据包扔给该路由所指的出接口或下一跳。
路由协议的分类
动态路由协议的分类
距离矢量路由选择协议
使用距离矢量路由协议的路由器并不了解网络的拓扑。该路由器只知道:自身与目的网络之间的距离;应该往哪个方向或使用哪个接口转发数据包
RIP协议概述
RIP(Routing Information Protocols, 路由信息协议),是应用较早、使用较普遍的内部网关协议,适用于小型网络,是典型的距离矢量协议,RIP基于UDP, 端口520
距离矢量路由选择协议的特点:周期性地更新(广播)整张路由表
路由器收敛完成的标志:当所有路由表包含相同网络可达性信息。网络(路由)进入一个稳态
路由器继续交换路由信息:当无新路由信息被更新时收敛结束。网络在达到收敛前无法完全正常工作
RIP路由的度量值
RIP以跳数(Hops)作为度量值,虽然简单,但是事实上是不够科学的。如下图:
如何查看RIP路由的度量值
Route Preference 路由优先级
华为定义的路由协议优先级
距离矢量路由选择协议的防环机制
链路状态路由协议
什么叫链路(LINK):路由器接口
什么叫状态(State):描述接口以及其与邻居路由器之间的关系
OSPF简介
Open Shortest Path First, 开放最短路径优先协议
OSPF是一种链路状态路由协议, 在RFC 2328中描述;
Open开放意味着公有, 任何厂商都能够支持OSPF, 这也使得OSPF在业内被广泛部署;
在华为设备上, OSPF路由协议优先级Internal 10; External 150
OSPF基本特点
适应范围广:支持各种规模的网络。
快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。
无自环:由于OSPF根据收集到的链路状态用最短路径树算法计算路由, 从算法本身保证了不会生成自环路由。
区域划分:允许自治系统的网络被划分成区域来管理,交换机的链路状态数据库仅需和所在区域的其他交换机保持一致。链路状态数据库的减小降低了对交换机内存的占用和CPU的消耗。同时, 需要在区域间传送的路由信息的减小, 降低了网络带宽的占用。
等价路由:支持到同一目的地址的多条等价路由。
路由分级:使用4类不同的路由,按优先顺序分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。
支持验证:支持基于区域和接口的报文验证,以保证报文交互的安全性。
组播发送:在某些类型的链路上以组播地址发送协议报文,减少对其他未使能OSPF设备的干扰。
RouterID
OSPF Router-ID用于在OSPF domain中唯一地表示一台OSPF路由器, 从OSPF网络设计的角度, 我们要求全OSPF域内, 禁止出现两台路由器拥有相同的OSPF Router ID。
OSPF Router-ID的设定可以通过手工配置的方式, 或者通过协议自动选取的方式。当然, 在实际网络部署中, 强烈建议手工配置OSPF的Router-ID, 因为这关系到协议的稳定。
在路由器运行了OSPF并由系统自动选定Router-ID之后, 如果该Router-ID对应的接口DOWN掉, 或出现一个更大的IP, OSPF仍然保持原Router-ID(也就是说,Router-ID值是非抢占的, 稳定第一) , 即使此时reset ospf process重启OSPF进程, Router-ID也不会发生改变; 除非重新手工配置Router-ID(OSPF进程下手工敲router-id xxx) , 并且重启OSPF进程方可。另外, 如果该Router-ID对应的接口IP地址消失, 例如undo ipaddress, 则reset ospf process后, Router ID也会发生改变。
OSPF Cost
OSPF使用cost“开销”作为路由度量值
OSPF接口cost=100M/接口带宽, 其中100M为OSPF的参考带宽(reference-bandwidth) , 可以修改。
每一个激活OSPF的接口都有一个cost值。
一条OSPF路由的cost由该路由从起源一路到达本地的所有入接口cost值的总和。
OSPF的三张表
邻居表(Peer table) :
OSPF是一种可靠的路由协议, 要求在路由器之间传递链路状态通告之前, 需先建立OSPF邻居关系, hello报文用于发现直连链路上的其他OSPF路由器,再经过一系列的OSPF消息交互最终建立起全毗邻的邻居关系, OSPF路由器的邻居信息显示在邻居表中。
链路状态数据库(Link-state database, 简称LSDB) :
OSPF用LSA(link state Advertisement链路状态通告) 来描述网络拓扑信息, 然后OSPF路由器用链路状态数据库来存储网络的这些LSA。OSPF将自己产生的以及邻居通告的LSA搜集并存储在链路状态数据库LSDB中。掌握LSDB的查看以及对LSA的深入分析才能够深入理解OSPF。
OSPF路由表(Routing table) :
基于LSDB进行SPF(Dijkstra算法) 计算, 而得出的OSPF路由表。
OSPF报文类型
Hello 建立和维护OSPF邻居关系
DBD 链路状态数据库描述信息(描述LSDB中LSA头部信息)
LSR 链路状态请求, 向OSPF邻居请求链路状态信息
LSU 链路状态更新(包含一条或多条LSA)
LSAck 对LSU中的LSA进行确认
OSPF邻居关系的建立(宏观)
OSPF邻居关系的建立(细节)
OSPF邻居关系的建立
OSPF网络类型
OSPF支持的网络类型:点到点网络、广播型多路访问网络、非广播型多路访问(NBMA) 网路、P2MP网络
常见链路层协议对应的默认网络类型
DR、BDR
在广播多路访问网络(MultiAccess) 中, 所有的路由器的接口都是相同网段,这些接口都将两两建立OSPF邻居关系, 这就意味着, 网络中共有:n(n-1)/2这么多个OSPF邻居关系, 维护如此多的邻居关系不仅仅额外消耗设备资源,更是增加了网络中LSA的泛洪数量。
为减小多路访问网络中的OSPF流量, OSPF会在每一个MA网络(多路访问网络) 选举一个指定路由器(DR) 和一个备用指定路由器(BDR) 。
DR选举规则:最高OSPF接口优先级拥有者被选作DR, 如果优先级相等(默认为1) , 具有最高的OSPF Router-ID的路由器被选举成DR, 并且DR具有非抢占性
指定路由器(DR) :DR负责使用该变化信息更新其它所有OSPF路由器(DRother)
备用指定路由器(BDR) :BDR会监控DR的状态, 并在当前DR发生故障时接替其角色
注意OSPF为“接口敏感型协议”,DR及BDR的身份状态是基于OSPF接口的
MA网络中, 所有的DRother路由器均只与DR和BDR建立邻接关系, DRother间不建立全毗邻邻接关系
如此一来, 该多路访问网络中设备需要维护的OSPF邻居关系大幅减小:M=(n-2) ×2+1,LSA的泛洪问题也可以得到一定的缓解
LSA的泛洪
路由器R3用224.0.0.6通知DR及BDR
DR、BDR监听224.0.0.6这一组播地址
DR向组播地址224.0.0.5发送更新以通知其它路由器
所有的OSPF路由器监听224.0.0.5这一组播地址
路由器收到包含变化后的LSA的LSU后, 更新自己的LSDB, 过一段时间(SPF延迟) , 对更新的链路状态数据库执行SPF算法,必要时更新路由表。
OSPF area 的概念
单区域存在的问题
LSA泛洪严重, OSPF路由器的负担很大
区域内部动荡会引起全网路由器的SPF计算
LSDB庞大, 资源消耗过多, 设备性能下降, 影响数据转发
每台路由器都需要维护的路由表越来越大,单区域内路由无法汇总
OSPF 多区域
减少了LSA洪泛的范围, 有效地把拓扑变化控制在区域内, 达到网络优化的目的
在区域边界可以做路由汇总,减小了路由表
充分利用OSPF特殊区域的特性, 进一步减少LSA泛洪, 从而优化路由
多区域提高了网络的扩展性,有利于组建大规模的网络
Area0为骨干区域, 负责在非骨干区域之间中转由区域边界路由器归纳的链路状态通告信息。为了防止出现环路, OSPF要求所有的非骨干区域之间不能直接进行LSA的交互, 而必须通过Area0骨干区域进行中转, 因此所有的非骨干区域必须都与Area 0“直连”
OSPF路由器的角色
#创建OSPF进程, 并指定OSPF进程号及Router ID
[Router] ospf [ process-id | router-id router-id]
#在area0中宣告指定接口
[Router-ospf] area area-id
[Router-ospf-area] network ip-address wildcard-mask
OSPF进程号(Processor ID)
进程号取值范围1-65535, 只标识ospf在本路由器内的一个进程, 因为OSPF多进程, 在同一台路由器上可以运行多个不同的OSPF进程, 它们之间互不影响, 彼此独立。
不同OSPF进程之间的路由交互相当于不同路由协议之间的路由交互。进程号是本地有效, 若不同的路由器之间OSPF对接, 设备A的进程号为1与设备B的进程号为2的OSPF可正常完成路由学习和计算。
通配符掩码wildcard-mask
通配符是一个用于决定哪些IP地址位该精确匹配( 0代表精确匹配 )哪些地址位被忽略的32位数值, 通常用于处理访问控制列表(ACL) 、OSPF和EIGRP等路由协议的网络通告。
掩码:1位表示网络位;0位表示主机位。掩码用于区分IP地址中的网络及主机部分
通配符:1位表示无所谓;0位表示需严格匹配。通配符用于决定一个IP中的那些位该匹配
单区域OSPF的基础配置示例
R1的配置如下
[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
R2的配置如下
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0] network 192.168.23.0 0.0.0.255
R3的配置如下
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 0
[R3-ospf-1-area-0.0.0.0] network 192.168.2.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0] network 192.168.23.0 0.0.0.255
多区域OSPF配置示例
R2的配置如下
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R2-ospf-1] area 1
[R2-ospf-1-area-0.0.0.1] network 192.168.23.0 0.0.0.255
OSPF查看及验证
查看OSPF协议相关运行参数
display ospf brief
查看OSPF邻居表
display ospf peer
查看LSDB表
display ospf lsdb
查看OSPF路由
display ospf routing
修改OSPF cost
修改OSPF DR优先级
程号为1与设备B的进程号为2的OSPF可正常完成路由学习和计算。
通配符掩码wildcard-mask
通配符是一个用于决定哪些IP地址位该精确匹配( 0代表精确匹配 )哪些地址位被忽略的32位数值, 通常用于处理访问控制列表(ACL) 、OSPF和EIGRP等路由协议的网络通告。
掩码:1位表示网络位;0位表示主机位。掩码用于区分IP地址中的网络及主机部分
通配符:1位表示无所谓;0位表示需严格匹配。通配符用于决定一个IP中的那些位该匹配
单区域OSPF的基础配置示例
R1的配置如下
[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
R2的配置如下
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0] network 192.168.23.0 0.0.0.255
R3的配置如下
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 0
[R3-ospf-1-area-0.0.0.0] network 192.168.2.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0] network 192.168.23.0 0.0.0.255
多区域OSPF配置示例
R2的配置如下
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 192.168.12.0 0.0.0.255
[R2-ospf-1] area 1
[R2-ospf-1-area-0.0.0.1] network 192.168.23.0 0.0.0.255
OSPF查看及验证
查看OSPF协议相关运行参数
display ospf brief
查看OSPF邻居表
display ospf peer
查看LSDB表
display ospf lsdb
查看OSPF路由
display ospf routing
修改OSPF cost
修改OSPF DR优先级