基础
以太网是当今现有局域网(LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法
在传统的以太网中,同一介质上的多个节点共享链路带宽,争用链路的使用权,这样就会发生冲突
以太网隔离冲突域在软件层面可以采用CSMA/CD(载波侦听)在硬件层面可以采用使用交换机的方法进行隔离 交换机的每一个接口都属于一个冲突域
CSMA/CD工作原理:①先听后发;②边发边听;③冲突停发;④随机延迟后重发;
广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。
以太网帧格式
以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式
一般采用Ethernet——Ⅱ格式 不同的type字段代表不同的上层协议
0X0800 ---上层协议是IP协议
0X0806 ---上层协议是ARP协议
MAC地址
48位二进制 用十六进制表示 前24为OUI分配 后边为厂商自定义 MAC全球唯一
单播MAC:第8位为0
组播MAC:第8位为1
广播MAC:FF-FF-FF-FF-FF-FF
换算方法 :四位为一个整体 先转十进制 再转16进制
交换机的数据帧处理行为
在收到数据帧后,交换机学习帧的源MAC地址,然后在MAC地址表中查询该帧的目的MAC地址并将帧从对应的端口转发出去。
交换机的三种数据帧处理行为:
泛洪:从一个接口进,从其他所有接口出 --- 一对多
转发:从一个接口进,从另外一个接口出 --- 一对一
丢弃:从一个接口进,不出
交换机对不同类型的数据帧的处理行为:
单播:交换机收到一个单播数据帧,查看交换机 的MAC地址表中是否有该数据帧的目的MAC地址
①没有,直接泛洪
②有该数据帧则判断发出去的接口是否是接收数据帧的接口 若发出去的接口是接收数据帧的接口 则直接丢弃 不是则直接转发
广播:收到一个广播数据帧,直接泛洪
组播: 泛洪
虚拟局域网(VLAN)
vlan作用:隔离广播域
vlan的划分:
基于接口(比较常见,不同的接口划分入不同的vlan)
基于MAC地址(针对终端经常移动,但是 希望vlan不变的这种场景)
基于子网
基于协议
基于策略
缺省VLAN:PVID
网络管理员预先给交换机的每个接口配置不同的PVID,将该接口划入PVID对应的VLAN,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的Tag,然后数据帧将在指定PVID中传输 , 交换机内部的数据帧都是带标签的数据帧
Port VLAN ID,是接口上的缺省VLAN。
取值:1~4094。
Access接口
交换机上常用来连接用户PC、服务器等终端设备的接口。Access接口所连接的这些设备的网卡往往只收发无标记帧。Access接口只能加入一个VLAN。只能允许一个VLAN通过
转发原则
接收原则:
①收到不带标签的数据帧,打上标签,vlan id=端口的PVID
②收到带标签的数据帧,检查数据帧vlan id是否和端口的PVID相同,相同直接接收;不同拒绝接收
发送原则:
①数据帧vlan id和端口PVID 相同,剥离标签发送;
②数据帧vlan id和端口PVID 不同,禁止发送。
Trunk接口
Trunk接口允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。Trunk接口常用于交换机之间的互联,也用于连接路由器、防火墙等设备的子接口
转发原则
接收原则:
①收到不带标签的数据帧,打上标签,vlan id=端口的PVID,然后查看该vlan id是否在允许列表中,是--接收,不是--拒绝
②收到带标签的数据帧,查看该vlan id是否在允许列表中,是--接收,不是--拒绝
发送原则:
查看vlan id是否在允许列表中,I:不是--拒绝发送;II:是,查看接口的PVID和vlan id是否相同,相同--剥标签发送;不同--直接发送。
Hybrid接口(华为特有)
Hybrid接口与Trunk接口类似,也允许多个VLAN的数据帧通过,这些数据帧通过802.1Q Tag实现区分。用户可以灵活指定Hybrid接口在发送某个(或某些)VLAN的数据帧时是否携带Tag
转发原则
接收原则:
①收到不带标签的数据帧,打上标签,vlan id=端口的PVID,然后查看该vlan id是否在允许列表中,是--接收,不是--拒绝
②收到带标签的数据帧,查看该vlan id是否在允许列表中,是--接收,不是--拒绝
发送原则:查看vlan id是否在允许列表中,I:不是--拒绝发送;II:是,是否带标签发送取决于接口的配置。
命令
[S1]vlan 10 ---创建单个vlan
[S2]vlan batch 10 20 创建多个vlan
display vlan 查看创建的vlan
display port vlan 查看所有的端口的类型以及PVID
[S1-GigabitEthernet0/0/1]port link-type access 设置接口类型为access
[S1-GigabitEthernet0/0/1]port default vlan 10 设置access接口的PVID为10
[S2-vlan10]port g0/0/2 设置access接口的PVID为10 和上一条命令二选一即可
[S1-GigabitEthernet0/0/3]port link-type trunk 设置接口类型为trunk口
[S1-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20 设置trunk口的允许列表,允许vlan10、20通过
[S1-GigabitEthernet0/0/3]undo port trunk allow-pass vlan 1 端口默认通过vlan1,设置不允许vlan1通过
[S1-GigabitEthernet0/0/3]port trunk pvid vlan 10 设置trunk接口的PVID为10
[S3-GigabitEthernet0/0/1]port link-type hybrid 设置接口类型为hybrid口
[S3-GigabitEthernet0/0/1]port hybrid pvid vlan 10 设置hybrid接口 的PVID
[S3-GigabitEthernet0/0/1]port hybrid untagged vlan 10 100 ①设置hybrid口的允许列表,允许vlan10 、100通过;②设置hybrid发送vlan10、100数据帧剥离标签发送
基于MAC地址 绑定vlan:
[S3-vlan10]mac-vlan mac-address 5489-981F-71C7 在vlan视图下,将MAC地址和vlan进行绑定
[S3-GigabitEthernet0/0/1]mac-vlan enable 在接口下开启Mac地址和vlan绑定的功能
dis mac-address 查看MacVlan地址表
STP
为解决交换网络中的环路问题,提出了生成树协议STP
原因:冗余链路造成的环路;人为造成环路
带来的问题:广播风暴;MAC地址漂移(两个接口学习到一个MAC地址);
解决办法:使用STP协议
STP协议的优势:①解决二层环路;②增加网络的冗余性
基础概念
STP开始工作后,会在交换网络中选举一个根桥,根桥是生成树进行拓扑计算的重要“参考点”,是STP计算得出的无环拓扑的“树根”
BID(桥)=桥优先级+MAC 例:4096.4c1f-aabc-102a
桥优先级 0-61440 默认32768 必须是4096的倍数,越小越优
PID(端口ID)=端口优先级+端口号 例:128.24
端口优先级 0-240 默认128,步长是16
cost值:每一条链路的开销值,接口带宽越大,则Cost值越小
RPC(根路径开销):到达根桥的所有路径开销值之和
运行STP的交换机使用接口ID来标识每个接口,接口ID主要用于在特定场景下选举指定接口。
BPDU
BPDU(Bridge Protocol Data Unit,网桥协议数据单元)
BPDU分为两种类型:配置BPDU、TCN BPDU
配置BPDU在生成树计算和后期网络拓扑检测时使用,TCN BPDU:只有在网络拓扑变化的时候会使用
MAx age :最大生存时间 默认20s
Hello timer:BPDU的发送间隔 默认2s
Forward Delay :转发间隔 默认15s
工作原理
在网络中部署生成树后,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中的某个(或某些)接口进行阻塞(Block),从而打破环路
根本目标:防环
怎么防环:选端口将其阻塞,从而破除环路
使用方法:排除法 选举出不能阻塞的端口,剩下端口阻塞
计算过程
①选根桥:越小越优
基于BID进行选举,最初都认为自己是根桥,然后通过交互配置BPDU,比较BID,选举出根桥。
在BID的比较过程中,首先比较桥优先级,优先级的值越小,则越优先,如果优先级相等,那么再比较MAC地址,拥有最小MAC地址的交换机会成为根桥。
根桥的角色是可抢占的
②选根端口
选举根端口是在非根交换机上 ,非根桥交换机上有且只会有一个根接口
选举根端口依据依次为 根路径开销(最优开销)、对端BID、对端PID、本端PID
③选指定端口
选举指定端口是在每一条链路上,每一条链路上都要有一个指定端口
指定端口的选举依据依次是根路径开销(最优开销)本机最小的rpc与对端比、本端BID、本端PID
④非根、非指定端口阻塞
配置
[Huawei]stp enable 开启stp功能
[Huawei]stp disable 关闭stp功能
[Huawei]stp mode stp 配置stp模式
[Huawei]display stp brief 查看stp接口
[Huawei]stp priority 0 设置交换机 的优先级
[Huawei]stp root primary 设置交换机为根桥,优先级为0
[Huawei]stp root secondary 设置交换机为备份根桥,优先级为4096
[Huawei-Ethernet0/0/1]stp cost 400000 修改接口的路径开销值
[Huawei-GigabitEthernet0/0/2]stp port priority 16 修改端口的优先级
STP的接口状态
R、D端口最终 处于Forwarding状态,阻塞端口处于Blocking
5、拓扑变化
1)根桥故障:20s+30s=50s
20s 是Max age时间 30s是从blocking-->forwarding的转发延时
2)直连链路故障:交换机和根桥之间有备用链路,当到达根桥的主链路故障,非根交换机能够直接感知,不需要20s的等待 时间,只需要30s的转发延迟即可恢复
3)非直连链路故障:交换机和根桥之间没有备用链路,当到达根桥的链路故障,非根交换机能够直接感知,此时非根 交换机会向外发送报文,宣称自己是根桥,A端口收到次优的BPDU报文不会处理,只有等待20s后才意识到出问题,此时将根桥发送过来的BPDU报文转发给另一个非根交换机,接口转化Forwarding需要时延30s,所以共需要50s的时间
4)拓扑改变带来的交换机MAC地址表项错误:通过发送TCN BPDU报文交换,将MAC地址表项的老化时间由300s改为15s 收到tcnBpdu的接口改变老化时间
RSTP
RSTP对STP的改进:
- 增加了端口角色:Alternate(预备端口),Backup(备份端口),边缘端口
阻塞端口分成了A(预备端口)、B(备份端口)
A端口是对R端口的备份
B端口是对D端口的备份
边缘端口:不参与生成树计算,可以直接进入forwarding的状态,通常连接终端设备。
配置边缘端口stp edged-port enable
- 端口状态缩减成3种
RSTP的状态规范把原来的5种状态缩减为3种。
如果不转发用户流量也不学习MAC地址,那么接口状态就是Discarding状态。
如果不转发用户流量但是学习MAC地址,那么接口状态就是Learning状态。
如果既转发用户流量又学习MAC地址,那么接口状态就是Forwarding状态。
缺陷
STP/RSTP的缺陷:所有的VLAN共享一棵生成树
由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,还有可能造成部分VLAN的报文无法转发。
针对二层环路,解决办法:①stp;②堆叠、链路聚合;③Smart Link;
VLAN间通信
1)单臂路由配置
交换机--路由器:
交换机:交换机--PC,设置成Access口,然后加入相应vlan,交换机--路由器:Trunk,允许相应vlan通过
路由器:创建子接口,然后对子接口进行配置
interface GigabitEthernet0/0/1.10 创建并进入子接口
dot1q termination vid 10 两层含义:①进路由器剥标签;②出路由器加便签
ip address 10.0.10.254 255.255.255.0 配置IP地址,作为主机的网关
arp broadcast enable 开启ARP广播功能
2)三层交换
交换机的物理接口是二层接口:设置成Access口,然后加入相应vlan
交换机上的三层接口vlanif接口:需要将相应的物理接口加入到对应的vlan中,然后配置IP地址即可 。
vlanif之间进行的是三层通信时不带vlan标签的在通信完之后会判断出接口和是否要带上vlan标签进行转发,主要看出接口
Comments NOTHING