基本概念
ETHERNET II
MTU: 1500字节,以太帧的最大载荷,也称IP MTU。
一些常见的EtherTypes:
IPv4 : 0x0800
ARP : 0x0806
RARP : 0x8035
IPv6 : 0x86DD
LLDP : 0x88CC
FCoE : 0x8906
802.1Q : 0x8100
MAC
MAC地址有48位,通常被表示为点分十六进制数。MAC地址全球唯一,由 IEEE对这些地址进行管理和分配。每个地址由两部分组成,分别是供应商代码OUI和序列号BIA,其中前24位二进制代表该供应商代码,剩下的24位由厂商自己分配。
单播,接收者只有一个,单播 MAC 地址是指第一个字节的最低位是 0 的 MAC 地址。单播IP地址为0.0.0.0-223.255.255.255,IPv6全球单播地址为2000::/3。
组播,接收者有多个,组播 MAC 地址是指第一个字节的最低位是 1 的 MAC 地址。组播IP地址为224.0.0.0-239.255.255.255,组播IPv6地址为FF00::/8。二层组播地址和三层组播地址的映射关系如图:
广播,接收者为所有设备,二层广播MAC地址FF:FF:FF:FF:FF:FF,对应三层广播IP地址255.255.255.255,ipv6没有广播。
单双工
单工:只能单向数据通信
半双工:同一时间只能单方向数据通信
全双工:同一时间双方向通信,当前制造的网卡、二层设备、三层设备都支持全双工模式,HUB除外。
冲突域与广播域
冲突域是基于第一层(物理层),而广播域是基于第二层(数据链路层)。
集线器相连所有设备处于同一个冲突域和同一个广播域。
CSMA/CD载波侦听多路访问/冲突侦测,用于缓解冲突域中的数据冲突问题。全双工从根本上解决了以太网的冲突问题,以太网从此告别CSMA/CD。
交换机/网桥隔绝冲突域,每个接口为一个冲突域,默认所有接口处于同一个广播域。
路由器隔绝广播域,每个接口为一个冲突域,每个接口为一个广播域。
VLAN可以把交换机划分成多个广播域。
线缆标准
400G/1600G 802.3df
40G/100G 802.3ba
10GBASE-LR 10km
10GBASE-SR OM4 400m
10GBASE-T 100m CAT-6A或CAT-7
1000Base-ZX 70km cisco制定
1000Base-LH 10km
1000Base-LX 5km
1000Base-SX 550m
1000Base-T 100m 采用5类、超5类、6类、7类双绞线 802.3ab
1000Base-TX 100m 6类或7类双绞线
100Base-FX
100Base-T 曼彻斯特
100Base-T4
100Base-TX 4B/5B 100m
10Base-T 100m 曼彻斯特
自协商
自动协商的内容主要包括双工模式、运行速率以及流控等参数。无论是自协商还是手动设定,链路两端的接口最终工作在尽可能优的同样的双工模式和运行速率。
交换机原理
二层交换机原理
基于源MAC地址学习,基于目标MAC地址转发。
- 二层交换设备收到以太网帧,将其源MAC与接收接口的对应关系写入MAC表,作为以后的二层转发依据。如果MAC表中已有相同表项,那么就刷新该表项的老化时间。MAC表采取一定的老化更新机制,老化时间内未得到刷新的表项将被删除。
- 设备判断目的MAC地址是不是广播地址:
a. 如果目的MAC地址是广播地址,那么向所有接口转发(报文的入接口除外)。
b. 如果目的MAC地址不是广播地址,则查找MAC表,如果能够找到匹配表项,则向表项所示的对应接口转发,如果没有找到匹配表项,那么向所有接口转发(报文的入接口除外)。
三层交换机原理
早期的网络中一般使用二层交换机来搭建局域网,而不同局域网之间的网络互通由路由器来完成。那时的网络流量,局域网内部的流量占了绝大部分,而网络间的通信访问量比较少,使用少量路由器已经足够应付了。
但是,随着数据通信网络范围的不断扩大,网络业务的不断丰富,网络间互访的需求越来越大,而路由器由于自身成本高、转发性能低、接口数量少等特点无法很好的满足网络发展的需求。因此出现了三层交换机这样一种能实现高速三层转发的设备。
当然,三层交换机并不能完全替代路由器,路由器所具备的丰富的接口类型、良好的流量服务等级控制、强大的路由能力等仍然是三层交换机的薄弱环节。
三层交换机三层转发示意图:
MAC地址表是以MAC地址和VLAN ID或VSI为索引来唯一标识。
MAC地址漂移是指设备上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。
环路检测工具:MAC地址漂移检测、Loop Detection、Loopback Detection
display mac-address ?
display bridge mac-address
链路聚合
链路聚合组LAG(Link Aggregation Group)
每个聚合组唯一对应着一个逻辑接口,称之为链路聚合接口或Eth-Trunk接口
链路聚合分为手工模式(流量均担)和LACP模式
同板、跨板、跨框(集群中)、跨设备(MPLS L2VPN中)
Eth-Trunk可以配置子接口
interface Eth-Trunk1
port link-type trunk
port trunk allow-pass vlan 10 20
# mode lacp // 使用此命令就是使用LACP模式
load-balance src-dst-mac
#
interface GigabitEthernet1/0/1
eth-trunk 1
#
interface GigabitEthernet1/0/2
eth-trunk 1
VLAN
华为定义了4种接口的链路类型:Access、Trunk、Hybrid和QinQ。Hybrid可以兼作Access和Trunk。
交换机处理的数据帧都带Tag,当交换机收到Untagged帧时,添加接口pvid的tag。
VLAN内二层隔离技术有端口隔离、MUX VLAN和基于MQC的VLAN内二层隔离等。
vlan batch 10
#
vlan 10
management-vlan
#
aaa
local-user client001 password irreversible-cipher $1a$EqZEVTq=/@T2XM0q0W{Ec[Fs2@&4YII@-=(lbr[K>4Dq76]3#BgqMOAxu^%$$
local-user client001 privilege level 3
local-user client001 service-type ssh
#
interface Vlanif10
ip address 10.10.10.2 255.255.255.0
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
stelnet server enable
ssh user client001
ssh user client001 authentication-type password
ssh user client001 service-type stelnet
#
user-interface vty 0 14
authentication-mode aaa
MUX VLAN
Principal port可以和MUX VLAN内的所有接口进行通信。Separate port只能和Principal port进行通信。Group port可以和Principal port进行通信,和同一组内的Group port通信,但不能和其他组Group port或Separate port通信。
sysname Switch1
#
vlan batch 2 to 4
#
vlan 2
mux-vlan
subordinate separate 4
subordinate group 3
#
interface Vlanif2
ip address 192.168.100.100 255.255.255.0
#
interface GigabitEthernet1/0/2
port link-type trunk
port trunk allow-pass vlan 2
port mux-vlan enable vlan 2
#
interface GigabitEthernet1/0/3
port link-type trunk
port trunk allow-pass vlan 3
port mux-vlan enable vlan 3
#
interface GigabitEthernet1/0/4
port link-type trunk
port trunk allow-pass vlan 3
port mux-vlan enable vlan 3
#
interface GigabitEthernet1/0/5
port link-type trunk
port trunk allow-pass vlan 4
port mux-vlan enable vlan 4
#
interface GigabitEthernet1/0/6
port link-type trunk
port trunk allow-pass vlan 4
port mux-vlan enable vlan 4
#
VLAN终结
- Dot1q终结子接口实现同设备VLAN间通信
- Dot1q终结子接口实现跨设备VLAN间通信
- Dot1q终结子接口接入VLL
- QinQ终结子接口接入VLL
- Dot1q终结子接口接入VPLS
- QinQ终结子接口接入VPLS
- Dot1q终结子接口接入L3VPN
- QinQ终结子接口接入L3VPN
Voice Vlan
基于MAC OUI或基于VLAN
对于基于VLAN的Voice VLAN,IP电话通过LLDP获得Voice VLAN信息。
三层优先级,ToS,在IP头部。
二层优先级,802.1p 优先级,也称 CoS 优先级,在VLAN头部。
ToS与CoS的对应关系:
华为Voice VLAN的缺省802.1p优先级为6,缺省DSCP优先级为46。思科为5。
vlan batch 2 to 3
#
lldp enable
#
interface GigabitEthernet1/0/1
port link-type hybrid
voice-vlan 2 enable
port hybrid pvid vlan 3
port hybrid tagged vlan 2
port hybrid untagged vlan 3
#
interface GigabitEthernet1/0/2
port link-type hybrid
voice-vlan 2 enable
port hybrid tagged vlan 2
QinQ
QinQ是一项扩展VLAN空间的技术。
基本QinQ基于接口方式实现。
灵活QinQ,又叫VLAN Stacking或QinQ Stacking,基于VLAN ID,基于802.1p优先级,或基于基于流策略实现。
QinQ Mapping与VLAN Mapping差异表:
Mapping类型 | 相同点 | 不同点 |
---|---|---|
1 to 1 | 接口收到Tagged帧后,将帧中的一层Tag映射为用户指定的一层Tag。 |
|
2 to 1 | 入接口收到的帧带有两层Tag。将帧中的外层Tag映射为用户指定的一层Tag,内层Tag作为业务数据透传。 |
|
VLAN Mapping
STP
IEEE 802.1d标准中规定BID是由桥优先级(Bridge Priority)与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。
根桥(Root Bridge)
端口角色:根端口(Root Port)(非根桥交换机上,到根桥的根路径开销最小的端口,即为该非根交换机的根端口)、指定端口(Designated Port)(在链路中间观察两端的端口,到根桥的根路径开销最小的端口成为指定端口)
STP的BPDU报文分为两种:配置BPDU和TCN BPDU。
STP的存在5种端口状态:Disabled, Blocking, Listening, Learning, Forwarding.
选举原则:最小BID、最小根路径开销、最小发送者BID、最小PID
RSTP
802.1w
端口角色分为4种,分别为DP、RP、AP、BP,RSTP保留了STP原有的DP和RP端口角色,将阻塞端口细分为AP和BP。
AP(Alternate Port,替代端口)和BP(Backup Port,备份端口)端口如何区分:
①从配置BPDU报文发送角度来看:AP就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口。BP就是由于学习到自己发送的配置BPDU报文而阻塞的端口。
②从用户流量角度来看:AP提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。BP作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。
RSTP的状态规范把原来STP的5种状态缩减为3种,将STP的disable状态、blocking状态、listening状态合并为一种状态为discarding,保留了STP的learning状态以及forwarding状态。
RST BPDU 利用Flag字段,明确端口角色 Proposal/Agreement机制
边缘端口(EP,edge port),边缘端口不参与RSTP运算。
BPDU保护、根保护、环路保护、防TC-BPDU攻击
MSTP
IEEE 802.1s
华为交换机默认生成树工作模式
MSTP - 博客园
VBST(VLAN-Based Spanning Tree)
华为专有协议,与PVST/PVST+/Rapid PVST+互通。
stp mode vbst
stp vlan 1 disable
stp vlan 10 20 root secondary
stp vlan 30 root primary
SEP
RRPP
ERPS
(公有协议)