以太网交换以及三层交换

稚 发布于 2024-08-26 31 次阅读


基础

以太网是当今现有局域网(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的改进:

  1. 增加了端口角色:Alternate(预备端口),Backup(备份端口),边缘端口
    阻塞端口分成了A(预备端口)、B(备份端口)
    A端口是对R端口的备份
    B端口是对D端口的备份
    边缘端口:不参与生成树计算,可以直接进入forwarding的状态,通常连接终端设备。
    配置边缘端口stp edged-port enable
  2. 端口状态缩减成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标签进行转发,主要看出接口