HCIP网络笔记分享——VLAN及MPLS多标签协议交换

news2024/9/24 9:24:47

第三部分

  • HCIA回顾
  • 一、MPLS多协议标签交换
    • 1、标签交换
    • 2、静态LSP搭建
    • 3、LDP协议
    • 4、本地LDP会话建立的过程
  • 二、MPLS VPN的配置使用
    • MPLS VPN
  • 三、实际情况配置
    • 1、VLAN
      • 第一步:创建VLAN
      • 第二步:将接口划入VLAN
      • 第三步:配置trunk干道
    • 2、U/T标记
    • 3、ACCESS接口
    • 4、Trunk接口
  • 四、VLAN之间通信
    • 1、生成树技术
    • 2、配置BPDU
  • 五、完整通信分类
    • 1、实现VLAN之间通信
    • 2、使用路由器物理接口
    • 3、使用路由器子接口
    • 4、使用三层交换机的VLANIF接口
      • 4.1 配置
      • 4.2 VLANIF的转发流程
    • 5、三层交换机参与下的三层通信流程
      • 5.1 网络拓扑
      • 5.2 连接逻辑图
      • 5.3 通信过程
    • 6、二层与三层接口对比
  • 六、STP
    • 1、STP概述
    • 2、二层环路带来的问题
      • 2.1 广播风暴问题
      • 2.2 MAC地址漂移问题
      • 2.3 多帧复制

HCIA回顾

1、七层参考模型及IP讲解
2、TCP三次握手讲解
3、TCP四次挥手讲解及抓包分析
4、DHCP协议讲解及抓包分析
5、静态综合实验讲解
7、静态路由讲解
8、RIP路由信息协议讲解
9、动态路由协议讲解
10、抓包进行分析RIP以及OSPF的包
11、动态路由OSPF配置综合实验讲解
12、Vlan虚拟局域网技术讲解
13、ACL访问控制列表讲解
14、NAT技术讲解
15、网络综合实验讲解

一、MPLS多协议标签交换

MPLS — 多协议标签交换
包交换所谓包交换,数据组成数据包,在各个网络节点中不断传递,最终到达目标。可以简单的理解为是三层转发的过程

其实,我们对于包交换的转发方式并不是很满意,主要是因为他的转发效率太低:

  • 1,完成过程需要查两张表 — 路由表,ARP缓存表
  • 2,路由表的匹配原则 — 最长匹配原则
  • 3,递归查找 — 在一定情况下,设备需要递归查找出接口或者下一跳。
  • 4,IPV4头部是可变长头部 — 则处理头部信息时必须依靠软件来处理。相较而言,交换机的二层转发可以基于硬件来实现(通过使用支持二元运算的硬件芯片。如:CAM),这样,即使MAC地址表中的条目数量很多,也可以在短时间内完成匹配动作,效率要远高于路由表的软件查找。

1、标签交换

在二层和三层封装之间,添加一个和路由条目存在映射关系的标签,之后,维护一张记录对应关系和转发接口表。携带标签的数据来到设备上,将先看到标签,之后,基于维护的表进行转发,而不看三层的IP数据。因为标签本身短小而且定长,所以其转发效率应该高于包交换。

但是标签交换需要给数据包中先打上标签,之后到达目标之前,还需要弹出标签因为标签只是在传输过程中提高转发效率的手段。因为有这些动作的存在,所以,标签交换转发效率的提升相较于包交换并不明显。

因为标签交换的转发效率提升并不是很明显,所以,我们在数据转发上又继续研发改进包交换。包交换至今,存在3次大的变更。

  • 1,进程交换process switching — 最早的包交换,就是每个数据包到设备上需要先根据IP地址查询路由表,之后,在查看ARP缓存表实现转发。
  • 2,快速包交换Fast switching基于流的包交换一次路由,多次交换 — 一股数据流来到设备上,只需要针对数据流中的第一个数据包进行路由查询过程,之后,将数据包的特征(一般使用五元组来标识数据流)及转发方式记录在缓存中,之后,数据流中的其他数据包来到设备上,将直接比对缓存中的特征,比对上则直接按照转发方式进行转发,而不需要所有数据包都进行路由过程,可以大大的提高转发效率。
  • 3,思科的特快交换Cisco Express Forwading — 简称CEF,其思路就是将路由表和ARP缓存表中的内容进行预读取,之后都记录在CEF表中。并且该表支持硬件转发。

虽然CEF是思科的私有技术,但是,各大厂商也根据其思路设计出了属于自己的特快交换技术。华为在进行数据转发时,使用的就是FIB转发信息数据库),该表就是可以支持硬件处理的转发表。

MPLS和包交换共同发展的一个标签交换技术因为标签交换中的标签需要很路由信息相关,MPLS作为多协议标签交换技术,可以识别并兼容多种三层协议(IPV4,IPV6…),其兼容性较强。

MPLS主要应用于三大领域

  • 1,用于解决BGP的路由黑洞问题。
  • 2,MPLS VPN
  • 3,MPLS TE流量工程简单理解为控制流量转发的路径。

在这里插入图片描述
所有路由器激活MPLS之后,将按照MPLS的规则实现标签交换,这些运行了标签交换的设备所组成的MPLS网络,我们称为MPLS域
所有运行了MPLS的路由器,都可以称为LSR(标签交换路由器)

因为所有匹配到同一条路由的所有数据报文,他们最终走的路由都是一样的,所以,我们只需要给他们分配同一个标签即可。在MPLS中,我们把这些具有相同特征的数据报文称为FEC等价转发类。一个FEC只需要分配一个标签即可。

标签分配后,设备需要将路由信息和标签的映射关系记录在一张表中LIB(标签信息表),之后,结合FIB表,生成LFIB(标签转发表) — 这张表中记录的时标签编号,和对应出接口和下一跳信息。

MPLS和包交换一样,其过程也可以分为控制层面和数据层面
包交换

  • 控制层面 — 路由协议的数据流方向,目的时为了获取未知网段的路由信息,生成路由表。

  • 数据层面 — 设备基于已经完善的路由表(FIB表),来转发具体的数据信息,其方向和控制层面相反

MPLS

  • 控制层面 — 基于FEC分配标签,并获取其他LSR对同一个FEC分配的标签,记录生成LIB表,之后再结合FIB表生成LFIB表。(这个过程可以通过手工静态实现,也可以通过动态协议来实现 — LDP协议:标签分发协议
  • 数据层面 — 设备基于LFIB表,根据标签进行转发。

入站LSRingress — MPLS域的一个边界,之前数据包中不存在标签,数据来到设备上之后,需要压入标签,完成压入动作的设备,我们称为入站LSR
中转LSRtransit在标签交换过程中完成标签置换动作的LSR
出站LSRegress弹出标签,之后基于三层IP头部进行包交换的LSR设备。

我们标签交换数据流量走过的路径 — R1 - R2 - R3 - R4这条路径我们称为LSP — 标签交换路径。特别注意,LSP是分方向的,如果想要实现1.0网段和2.0网段的互通,除了要有R1-R2-R3-R4这条LSP外,还需要构建一条R4-R3-R2-R1的LSP
在这里插入图片描述
Label标签号前20位(0 - 2的20次方 — 这个标签的取值范围可以理解为标签空间。每台设备的标签空间都是独立的。),是标签转发的主要标识依据。

  • 0 - 15 — 特殊标签值 — 不能直接分配,每一个都存在特殊含义。
  • 16 - 1023 ---- 一般用于静态LSP的搭建
  • 1024 - 2的20次方 — LDP等一些动态协议分配标签的取值范围

EXP主要做策略用,占3位可以理解为是优先级,数值越大,优先级越高,越高则可以优先转发数据。

S栈底位仅占1位标签不止可以打一个,可以打两个或多个。这些标签头部的有序集合我们称为标签栈。

  • 如果存在多个标签,且该标签是最后一个标签,则栈底位置1,不是则置0
  • 如果只有一个标签,则栈底位置1。

TTL生存时间和三层IP头部中的TTL值作用一样,每经过一台设备转发需要减1,因为在标签交换过程中,不看IP头部,所以,TTL的计数作用就放在标签中了在进入MPLS域时,由入站LSR将IP头部中的TTL值复制压入到标签中,之后,离开MPLS域时,再弹出标签时,将标签中的TTL值再复制回IP头部。

2、静态LSP搭建

1,创建路由条件* — 静态搭建LSP不需要所有设备都具备路由信息,因为所有路径都需要人工手工说明。只有边界设备(入站LSR和出站LSR)需要具备路由,因为他们将成为核查条件。

[r1]ip route-static 4.4.4.0 24 12.0.0.2

2,配置MPLS

  • 1,配置LSR-ID
    MPLS要求每台LSR设备都拥有唯一的身份标识,我们使用LSRID来标识,这个参数由32位二进制构成,按照IP地址格式配置,但是,只能手工配置,不能自动生成。注意:一般情况下,我们习惯使用设备的环回接口的IP地址作为LSR - ID
[r1]mpls lsr-id 1.1.1.1
  • 2,激活MPLS
    全局激活
[r1]mpls
Info: Mpls starting, please wait... OK!
[r1-mpls]

接口激活所有参与MPLS转发的接口都需要激活

[r1-GigabitEthernet0/0/0]mpls
  • 3,搭建静态LSP
    入站LSR
[r1]static-lsp ingress 1to4 destination 4.4.4.0 24 nexthop 12.0.0.2 out-label 16

destination 4.4.4.0 24 nexthop 12.0.0.2 这个需要和本地路由表中的内容对应上,否则静态LSP将搭建失败
out-label 出站标签即R1将这个数据包转发后压入的标签,R2收到数据包后,需要根据这个标签判断到底是到达那个网段的数据包。

中转LSR

[r2]static-lsp transit 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 16 nexthop
23.0.0.2 out-label 17

incoming-interface数据进入的接口
in-label入站标签这个标签必须和R1上配置的出站标签相同

出站LSR

[r4]static-lsp egress 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 18

4.4.4.0/24 12.0.0.2 GSU t[902] GE0/0/0 0x1 注意: 在入站LSR上,需要根据FIB表中标识判断其需要走标签交换,标识就是tunnel ID为非0值。

[r1]display mpls static-lsp #查看静态LSP

在这里插入图片描述

3、LDP协议

标签分发协议
LDP协议主要需要完成的任务:

  • 1,分配标签;
  • 2,传递标签

因为LDP协议需要完成以上两个任务,所以,我们需要先保证MPLS域中运行IGP协议来获取路由信息。 —IGP协议是LDP协议的基础。

  • 1,**LDP激活后需要先在本设备上为FEC分配标签。 ** — 如果该设备是这个FEC的出站LSR时,LDP才会主动为这个FEC分配标签。例如,R4是4.0网段的出站LSR,则R4会主动为4.0网段分配一个标签。但是R1,R2,R3均不是出站LSR,则都不会主动分配标签。但是,构建LSP时也都需要有4.0网段的标签所以,当R4将自己的标签信息传递到R3时,R3收到后,将进行检查环节 — 看本地路由表中是否存在到达4.0网段的路由信息,且路由表中的下一跳是否和通告者相同,如果检查成功,则R3也会为4.0网段分配一个标签,依次类推。 ---- 这种标签分配方式我们称为有序模式。 — 华为设备默认选择的是有序模式。

除了有序模式以外,还存在一种标签分配方式 — 独立模式。独立模式就是设备可以自主的分配标签而不需要等待其他设备的通告。

  • 2,传递标签
    传递标签的前提条件是设备之间必须先是LDP对等体关系才行,而对等体关系建立的前提条件是需要先建立LDP会话。
    LDP会话存在两种类型
    • 1,本地会话 — 直连设备之间建立的LDP会话
    • 2,远程会话 — 并不一定是直连设备,可以通过手工指定的方式去创建远程的LDP会话。(LDP会话可以实现非直连建邻。

LDP会话在建立本地会话时,不需要指定邻居关系,也可以建立。 — 因为LDP协议会先以组播(224.0.0.2 — 所有路由器都会监听的本地链路组播地址)的形式发送hello包发现邻居关系。 — hello包将使用UDP协议进行封装,源目端口均为646号端口。

4、本地LDP会话建立的过程

  • 1,在激活了LDP之哦胡,LSR的接口首先会周期性的发送Hello默认5S为周期,保活时间默认为3倍周期,15S)包来发现LDP对等体关系。

在这里插入图片描述
hello包在发现邻居的过程中,会携带一些参数,主要有个参数,一个是传输地址,一个是LDP ID

    • 传输地址:
      这个传输地址是后续需要进行TCP会话建立使用的地址。 这个传输地址默认使用配置的LSR-ID,所以,我们配置设备LSR-ID时要求必须使用环回接口的IP地址,并且保证该地址可达,因为后面需要使用这个地址建立TCP会话。
    • LDP ID
      如果设备激活了LDP协议,则需要具有一个LDP ID。 ---- 由48位二进制构成。 —32:16 — 前面32位二进制使用的就是LSR-ID。后16位一般写0。
  • 2,双方交互完hello包之后,则获取到对方的传输地址,之后将基于这个传输地址,建立TCP会话。
    在建立TCP会话之前,也需要进入检查环节 — 检查传输地址的可达性。
    因为双方都收到了对方的传输地址,则都将发起TCP会话的建立,这样将造成资源浪费,因为一方发起则建立的时一个双向的通道。所以,LDP在发起TCP会话之前,会先比较传输地址,谁的传输地址大,谁就是主动方,则可以主动发起TCP会话请求。
    在这里插入图片描述

  • 3,完成TCP会话建立之后,将开始建立LDP会话。传输地址大的一方,优先发送初始化的报文,里面将包含需要协商建立LDP会话的参数。对端收到后,如果认可,可以将自己的初始化报文发送,并且同时发送一个Keeplive报文,进行确认。如果双方都确认完成,则LDP会话建立完成。
    在这里插入图片描述
    LDP协议也会周期性的发送keeplive来保活会话。 ---- 周期时间为15S,失效判断时间为3倍周期时间,默认45S。

二、MPLS VPN的配置使用

在这里插入图片描述
上下游关系在标签交换中,我们将以数据流动的方向为准,区分上下游关系,数据发出设备处于上游,而接受设备处于下游。 — 控层流量流动的方向是和数据层流动方向相反,即从下游传递到上游。 — 上游需要获取下游的标签,而下游不需要获取上游的标签。

标签传递方式也分为两种

  • 1,DU模式(下游自主模式);
    DU模式 — 在分配完标签之后,设备将自主的传递标签,因为设备本身无法分辨上下游关系,所以,这个标签将传递给自己的上游和下游。
  • 2,DoD模式(下游按需模式
    DoD模式 — 就是下游在给上游传递标签之前,需要先获取上游发送的数据包,之后,才可以传递标签信息。

标签的保存方式

  • 保守模式 — 只保留下游传递的标签
  • 自由模式 — 所有标签均保存

华为设备默认选择DU + 保守模式
在数据传输过程中,入站LSR和出站LSR都将查看两张表(FIB和LFIB),这样将导致传输效率下降。

入站LSR的优化将LFIB表中的出站标签记录在FIB表中出站LSR的优化PHP次末跳弹出机制 — 需要用到一个特殊标签值3(隐式空标签),当一条条目中的出站标签为3时,则他将把标签弹出出站LSR在分配标签时,分配3号标签,之后传递给次末跳。之后,数据转发时,标签将在次末跳上弹出,在出站LSR上只需要查看FIB进行路由转发即可。华为设备默认开启PHP机制。

  • 1,配置 LSR-ID
    [r1]mpls lsr-id 1.1.1.1
  • 2,激活 MPLSLDP
    全局激活
[r1]mpls #激活MPLS
Info: Mpls starting, please wait... OK!
[r1-mpls]
[r1]mpls ldp #激活LDP
[r1-mpls-ldp]
  • 接口激活 — 所有参与MPLS转发的接口都需要激活
[r1-GigabitEthernet0/0/0]mpls # 激活MPLS
[r1-GigabitEthernet0/0/0]mpls ldp # 激活LDP
[r1]display mpls ldp peer # 查看LDP对等体
[r1]display mpls ldp session # 查看LDP会话
[r1]display mpls lsp # 查看LFIB表
[r1]display fib verbose # 查看FIB表细节信息
[r4-mpls]lsp-trigger all # 给所有的路由条目都分配标签 
# 默认情况下,华为设备只给主机路由分配标签,因为如果所有路由都分配标签,则都需要走标签交换,将导致转发效率降低。所以,仅针对部分路由分配。

利用MPLS解决BGP的路由黑洞问题
[r2]route recursive-lookup tunnel

MPLS VPN

VPN虚拟专用网

在这里插入图片描述
站点可以理解为同属于一个企业或机构,位于不同地理位置的IP网络。
MPLS VPN并不是单一的一种VPN技术,而是由多种技术结合的综合解决方案。

PE服务提供商边界设备一方面需要接入到VPN骨干网络中,另一方面需要为不同的客户提供VPN接入服务,和CE(客户边界设备)设备相连
P 服务提供商设备MPLS VPN骨干网中的设备,并不连接CE,只是提供路由快速的转发。
C客户设备MPLS VPN中不扮演实质性的角色

  • 控制层面 — 站点1的CE设备通过IGP协议学习本站点内的路由信息,之后,传递给PE设备(可以使用静态或者动态来进行传递),之后,PE设备通过骨干网络传递给远端的PE设备(使用BGP来传递),远端PE在将路由信息传递给站点2的CE设备(动态静态方法均可),之后,站点2的CE设备再通过IGP协议将路由信息发送到本站点内部。

  • 数据层面 — 站点2的想访问站点1的网段,数据先到达站点2的CE设备,之后,传递给PE设备。PE设备再传递到远端的PE设备,之后,再传递到站点1的CE设备,再由CE设备发送到目标网段。

控制层面
VRF虚拟路由转发 VPN InstanceVPN实例) — 相当于将一台真实的设备逻辑上划分成多台虚拟的路由器。每个VRF各自拥有独立的路由表,FIB表,动态路由协议进程及接口等。
在这里插入图片描述
RD值路由区分码由64位二进制构成的AS:NN — AS号:自定义值
在这里插入图片描述
IPV4路由信息32位二进制构成
加了RD值之后96位二进制构成 ---- VPNV4路由信息
因为普通的BGPV4版本只是针对IPV4环境,传递的是IPV4路由,这里需要传递VPNV4路由,所以,需要应用到MP-BGP协议(多协议BGP协议),可以支持多种地址族。
RT值 — 路由目标值 — 也被称为VPN target32位二进制构成

  • 出站RTPE设备为不同的VRF配置不同出站RT值,发出时由社团属性携带。
  • 入站RT远端PE设备为不同VRF空间配置的不同的入站RT,根据社团属性中的值进行对比,将其放入到对应的VRF空间中。

在这里插入图片描述
数据层面
在数据层流量穿过骨干网络时,需要打上双重标签。一个靠近二层的标签,我们称为公网标签一个靠近三层的标签,我们称为私网标签。公网标签由LDP协议分配,其作用是保证数据流量可以顺利的通过MPLS骨干网络,而私网标签,由MP-BGP协议分配(在传递路由信息时分配,之后通过社团属性携带传递到对端),其作用是用来区分不同的VRF空间数据到达远端PE后,先弹出公网标签,之后露出私网标签,可以根据私网标签和VRF的映射关系,将数据发放到对应的VRF空间中。

VRF空间的创建

[r2]ip vpn-instance a # VRF空间在命名时大小写敏感
[r2-vpn-instance-a]
[r2-vpn-instance-a]route-distinguisher 100:1 # 配置RD值
[r2-vpn-instance-a-af-ipv4]
[r2-vpn-instance-a-af-ipv4]vpn-target 100:1 export-extcommunity # 配置出站RT
EVT Assignment result:
Info: VPN-Target assignment is successful.
[r2-vpn-instance-a-af-ipv4]vpn-target 100:2 import-extcommunity # 配置入站RT
IVT Assignment result:
Info: VPN-Target assignment is successful.

将接口划入到VRF空间中

[r2-GigabitEthernet0/0/0]ip binding vpn-instance a
Info: All IPv4 related configurations on this interface are removed!
Info: All IPv6 related configurations on this interface are removed!
[r2]display ip routing-table vpn-instance a # 查看VRF空间的路由表
[r2]ping -vpn-instance a 192.168.2.1

通过静态路由在CE和PE上配置

[r2]ip route-static vpn-instance a 192.168.1.0 24 192.168.2.1
MP-BGP
[r2-bgp]ipv4-family vpnv4
[r2-bgp-af-vpnv4]peer 4.4.4.4 enable # 因为PE设备之间需要传递VPNV4路由,
# 所以,在普通的BGPV4邻居关系建立的基础上,需要在VPNV4地址族中激活邻居关系
[r2-bgp]ipv4-family vpn-instance a # 在VRF空间中发布路由信息
[r2-bgp-a]
[r2-bgp-a]import-route direct
[r2-bgp-a]import-route static

[r2]display bgp vpnv4 vpn-instance a routing-table 查看VRF空间的BGP表
CE和PE设备之间动态路由传递

[r2]rip 1 vpn-instance a # 在VRF空间中启动RIP进程
[r2-rip-1]
[r4]ospf 2 vpn-instance b router-id 4.4.4.4 # 在VRF空间中启动OSPF进程
[r4-ospf-2]

三、实际情况配置

网络的三层架构 — 园区网搭建的建议方案
园区工厂,政府机关,商场,写字楼,校园,公园等,这些公共场所为了实现数据的互通而搭建的网络称为园区网。

在这里插入图片描述
接入层有接入层交换机(一般就是二层交换机)组成,为终端设备提供接入网络条件。
WLAN无线局域网从广义上来讲,指以无线电波,激光,红外线等代替有线局域网中的部分或全部传输介质所以构成的网络。
“无线是有线的最后一公里”
AP无线接入点
无线网络的缺陷

  • 1、传输速率本身较低并且信号强弱波动较大
  • 2、无线信号本身穿透性较差2.4G,5G
  • 3、接入人数较多时,会出现明显的卡顿

CSMA/CD载波侦听多路访问/冲突检测将设备通过AP接入到无线网络中,也相当于接入到一个冲突域中,所以需要去进行冲突避免。但是,因为无线网络本身信号强度的动态范围非常大,往往接收到的信号强度远小于发出时的信号,导致冲突检测不易进行;并且再某些场景下,无线当中的冲突是检测不到的,所以,无法使用CD冲突检测技术,只能使用CA冲突避免技术。

CSMA/CA载波侦听多路访问/冲突避免

  • 1,即使侦听到没有信号,也不会立即发送信息,而是先给自己施加一个随机的计时器,尽可能的再发送之前避免冲突。
  • 2,CSMA/CA技术,采用了停等式流控。即每发送一个数据包,都需要对方回复ACK进行确认。

汇聚层汇聚接入层收集到的流量,一般使用三层交换机来组成。
三层交换机和二层交换机最显著的区别是三层交换机即拥有像二层交换机一样的二层接口(不需要配置IP地址,也不需要MAC地址)同时也拥有像路由器一样的三层接口(需要配置IP地址,同时拥有MAC地址)。可以理解为是交换机和路由器的集成设备。既可以完成交换机的二层转发,也可以完成路由器的三层转发。其内部既有MAC地址表也存在IP路由表。

三层架构的核心冗余(备份)

  • 1,线路冗余
  • 2,设备冗余
  • 3,网关冗余
  • 4,UPS冗余 — UPS — 不间断电源 — 99.9999%的可用性

核心层 — 作用是完成私网和公网之间数据的快速转发。

1、VLAN

LAN局域网地理覆盖范围较小的网络
VLAN虚拟局域网交换机和路由器协同工作,将原来的一个广播域逻辑上切分成为多个。

第一步:创建VLAN

<Huawei>display vlan
VIDVLAN ID用来区分和标识不同VLANIEEE组织在802.1Q标准定义VLAN ---- 由12位二进制构成 — 0 - 4095其中0和4095保留 — 真正的取值范围 — 1 - 4094所有设备默认存在VLAN 1,并且,所有接口默认属于VLAN 1

[Huawei]vlan 2 # 创建VLAN
[Huawei]vlan batch 4 to 100 # 批量创建VLAN

第二步:将接口划入VLAN

VID配置映射到交换机的接口,实现VLAN的划分 — 物理VLAN/一层VLAN
VID配置映射到数据帧中的MAC地址,实现VLAN的划分 — 二层VLAN
数据帧中的类型字段映射VID进行VLAN的划分 — 三层VLAN
在这里插入图片描述
通过IP地址划分VLAN ,通过策略来划分VLAN
802.1Q帧 — 在以太网Ⅱ型帧的基础上,在源MAC地址和类型字段之间,添加了4个字节的TAG包含12位的VID)。也可以将这种打了标签的帧称为tagged帧,正常没有打标签的帧可以称为untagged帧。

因为我们的电脑是无法识别tagged帧,只有交换机(支持802.1Q的设备)才能识别。根据这个特性,我们把交换机和电脑之间的链路称为Access链路,交换机侧的接口称为Access接口,这些链路中只能通过untagged帧,并且这些帧只能属于某一种特定VLAN;交换机和交换机之间的链路称为trunk链路(trunk干道),交换机侧的接口称为trunk接口,这些链路中可以通过tagged帧,并且,这些帧可以属于多个vlan。

第三步:配置trunk干道

第二步配置

[sw1-GigabitEthernet0/0/1]port link-type access
[sw1-GigabitEthernet0/0/1]port default vlan 2
[sw1]port-group group-member GigabitEthernet 0/0/3 GigabitEthernet 0/0/4
[sw1-port-group] # 创建接口组

第三步配置

[sw1-GigabitEthernet0/0/5]port link-type trunk
[sw1-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 to 3
[sw2-GigabitEthernet0/0/3]port trunk allow-pass vlan all

hybrid混杂接口
[sw1]display port vlan active
华为交换机设备所有接口默认情况下都是hybrid 类型,混杂接口。

PVID接口所对应的VID值,可以理解为接口所属VLAN。华为设备,默认情况下,所有接口的PVID值为1。
华为设备VLAN技术中规定,所有通过接口进入到交换机的数据,都必须打上接口对应PVID的标签。也就是说,交换机内部的所有数据都是带标签的数据。

VLAN List接口允许通过的VLAN列表ACCESS接口因为只允许通过接口所属的VLAN的流量,所以,其允许列表只能通过一个VLAN且和PVID相同。Trunk干道允许通过多个VLAN,默认放通VLAN 1的流量,之后,可以通过port trunk allow-pass vlan XX去放通其他VLAN的流量。

2、U/T标记

--- U --- Untagged — 代表后面允许列表中的VLAN数据在通过时不携带标签发出。
--- T --- Tagged — 代表后面允许列表中的VLAN数据在通过时携带标签发出。

Trunk干道在发出流量时,为了区分不同VLAN的流量,需要带上标签,只有该TRUNK接口PVID对应的VLAN的流量需要剥离标签。

3、ACCESS接口

  • 1,当ACCESS接口从链路上接收到一个untagged帧时。 ---- 交换机接收到这个帧后,需要先添加vidPVIDtag。然后,看允许列表,如果允许列表存在该VIDACCESS接口必然存在),则转发。
  • 2,当一个tagged帧从交换机的其他端口到达一个ACCESS接口后。 — 则交换机会先检查该数据帧标签中VID值在不在自己的允许列表中。如果在,则剥离标签后转发,如果不在,则丢弃。
  • 3,如果ACCESS接口从链路上接受到一个tagged帧。交换机不需要再打标签,而是查看他的VID是否再自己的允许列表中,如果在,则可以转发;如果不在,则丢弃。

4、Trunk接口

  • 1,当trunk接口从链路上收到一个untagged帧 — 交换机会先在数据帧中打上和PVID相同VID的标签。之后查看允许列表,如果允许列表中存在该VID,则转发;如果不存在,则直接丢弃。
  • 2,当一个tagged帧从交换机的其他端口到达一个Trunk接口后。如果这个tag中的VID不在trunk接口的允许列表中,则直接丢弃;如果在,则进行转发。如果VIDTRUNK接口的PVID相同,则先剥离标签,之后转发;如果不同,则带标签转发
  • 3.如果Trunk接口从链路上接受到一个tagged帧。交换机不需要再打标签,而是查看他的VID是否再自己的允许列表中,如果在,则可以转发;如果不在,则丢弃。

ACCESS接口的修改权限 — 可以修改PVID,可以修改允许列表,但是只能放通一个VLAN的流量,并且这个VLAN必须和PVID相同。出口的封装方式不能修改,这能是不带标签发出
TRUNK接口的修改权限 — 可以修改PVID,可以修改允许列表,可以放通多个VLAN的流量。出口的封装方式不能修改,和PVID相同的VLAN的流量出去时需要剥离标签,其余的出去需要携带标签。
[sw1-GigabitEthernet0/0/5]port trunk pvid vlan 2修改trunk接口的PVID
hybrid混杂接口接口的修改权限可以修改PVID,可以修改允许列表,可以放通多个VLAN的流量。可以定义出口的封装方式。

[SW1-GigabitEthernet0/0/1]port link-type hybrid
[SW1-GigabitEthernet0/0/1]port hybrid pvid vlan 2
[SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3 4

四、VLAN之间通信

vlan一个网段 一个广播域
在这里插入图片描述
路由器可以实现异种网络的链接
路由器一般情况下路由性能比三层交换机要强(cpu,内存)路由器能实现nat,一般交换机没有NAT功能

SVI switch vlan interface 技术从根本上改变了园区网的组网架构
在这里插入图片描述
层次化模块化
SVI技术强化了交换机作为园区网组网的核心地位,进而也出现了三层交换机的快速转发技术(三层交换机不光在园区内取代了路由器而且转发速度更快)。
一次路由多次交换

1、生成树技术

在这里插入图片描述
环路导致的现象: 形成广播风暴

  1. 交换机接口的带宽资源被迅速消耗殆尽
  2. 交换机的转发资源也被快速消耗殆尽
  3. 交换机的mac地址表出现漂移,mac地址反复修改接口

解决环路交换机必不可少的技术
生成树之BPDU bridge protocol data unit
BPDU主要分为两大类

  • 配置BPDU
  • TCN BPDU

其中,配置BPDUSTP进行拓扑计算的关键;TCN BPDU只在网络拓扑发生变更时才会被触发。

2、配置BPDU

配置BPDU的报文格式
在这里插入图片描述

五、完整通信分类

1、实现VLAN之间通信

传统交换二层组网中,默认所有网络都处于同一个广播域,这带了诸多问题。VLANVirtual Local Area Network虚拟局域网)技术的提出,满足了二层组网隔离广播域需求,使得属于不同VLAN的网络无法互访,但不同VLAN之间又存在着相互访问的需求。

  • 实际网络部署中一般会将不同IP地址段划分到不同的VLAN
  • VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。
  • VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。
    在这里插入图片描述

2、使用路由器物理接口

在这里插入图片描述

  • 路由器三层接口作为网关转发本网段前往其它网段的流量。
  • 路由器三层接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器的接口需配置为 Access。
  • 路由器的一个物理接口作为一个VLAN的网关,因此存在一个VLAN就需要占用一个路由器物理接口。
  • 路由器作为三层转发设备其接口数量较少方案的可扩展性太差

3、使用路由器子接口

在这里插入图片描述

  • 子接口Sub-Interface)是基于路由器以太网接口所创建的逻辑接口,以物理接口ID+子接口ID进行标识,子接口同物理接口一样可进行三层转发。
  • 子接口不同于物理接口,可以终结携带VLAN Tag的数据帧。由于三层子接口不支持VLAN报文,当它收到VLAN报文时,会将VLAN报文当成是非法报文而丢弃。因此,需要在子接口上将VLAN Tag剥掉,也就是需要VLAN终结(VLAN Termination)。
  • 基于一个物理接口创建多个子接口,将该物理接口对接到交换机的Trunk接口,即可实现使用一个物理接口为多个VLAN提供三层转发服务。

在这里插入图片描述
交换机连接路由器的接口类型配置为Trunk,根据报文的VLAN Tag不同,路由器将收到的报文交由对应的子接口处理。
在这里插入图片描述

  • interface interface-type interface-number.sub-interface number命令用来创建子接口sub- interface number代表物理接口内的逻辑接口通道。一般情况下,为了方便记忆,子接口ID与所要终结的VLAN ID相同
  • dot1q termination vid命令用来配置子接口Dot1q终结的单层VLAN ID。缺省情况,子接口没有配置dot1q终结的单层VLAN ID arp broadcast enable命令用来使能终结子接口的ARP广播功能缺省情况下,终结子接口没有使能ARP广播功能。终结子接口不能转发广播报文,在收到广播报文后它们直接把该报文丢弃。为了允许终结子接口能转发广播报文,可以通过在子接口上执行此命令。

4、使用三层交换机的VLANIF接口

在子接口技术的启发下我们研究出了三层交换机技术,该技术彻底摆脱了物理接口。
在这里插入图片描述

  • 二层交换机(Layer 2 Switch)指的是只具备二层交换功能的交换机。
  • 三层交换机(Layer 3 Switch)除了具备二层交换机的功能,还支持通过三层接口(如VLANIF接口)实现路由转发功能。
  • VLANIF接口是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现 VLAN之间的通信。
  • VLANIF接口编号与所对应的VLAN ID相同,如VLAN 10对应VLANIF 10

4.1 配置

在这里插入图片描述

[SW1]vlan batch 10 20
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access [SW1-GigabitEthernet0/0/1] port default vlan 10 [SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 20
[SW1]interface Vlanif 10
[SW1-Vlanif10]ip address 192.168.10.254 24
[SW1]interface Vlanif 20
[SW1-Vlanif20]ip address 192.168.20.254 24

4.2 VLANIF的转发流程

  • 假设PC、三层交换机上都已存在相应的ARPMAC表项。
  • PC1PC2之间通信过程如下:
  • PC1通过本地IP地址、本地掩码、对端IP地址进行计算,发现目的设备PC2与自身不在同一个网段,判断该通信为三层通信,将去往PC2的流量发给网关。PC1发送的数据帧:源MAC = MAC1,目的MAC = MAC2
    在这里插入图片描述
  • 交换机收到PC1发送的去往PC2的报文,经解封装发现目的MACVLANIF10接口的MAC地址,所以将报文交给路由模块继续处理。
  • 路由模块解析发现目的IP为192.168.20.2,非本地接口存在的IP地址,因此需要对该报文三层转发。查找路由表后,匹配中VLANIF20产生的直连路由。
    在这里插入图片描述
  • 因为匹配的为直连路由,说明已经到达最后一跳,所以交换机在ARP表中查找192.168.20.2,获取192.168.20.2MAC地址,交由交换模块重新封装为数据帧。
  • 交换模块查找MAC地址表以明确报文出接口、是否需要携带VLAN Tag。最终交换模块发送的数据帧:源MAC = MAC2,目的MAC = MAC3VLAN Tag = None

在这里插入图片描述

5、三层交换机参与下的三层通信流程

5.1 网络拓扑

在这里插入图片描述

5.2 连接逻辑图

在这里插入图片描述

5.3 通信过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、二层与三层接口对比

二层接口(Layer2 Interface)三层接口(Layer3 Interface)
二层接口不能配置IP地址三层接口可以配置IP地址
二层接口不具备MAC地址三层接口具备MAC地址
当二层接口收到数据帧时,设备在其 MAC地址表中查询该帧的目的MAC地址,找到匹配的MAC地址表项后按照该表项的指示转发帧;如果没有找到匹配的MAC地址表项,则将帧进行泛洪。三层接口收到数据帧后,如果数据帧的目的MAC地址与设备的本地MAC地址相同,则将数据帧解除封装,然后在路由表中查询数据包的目的IP地址,找到匹配的路由表项后按照该表项的指示转发包;如果没有找到匹配的表项,则将包丢弃。
典型的二层接口如二层交换机(只具备二层交换能力的交换机)的物理接口;大部分三层交换机(同时具备二层及三层交换能力的交换机)的物理接口缺省为二层接口。典型的三层接口如路由器的三层接口。某些三层交换机的物理接口可以切换成三层模式。此外除了物理三层接口,还存在逻辑三层接口,例如交换机的 VLANIF,或者网络设备上的逻辑子接口,如 GE0/0/1.10。
二层接口并不隔离广播域,当二层接口收到广播帧时,会将数据帧进行泛洪。三层接口隔离广播域,当三层接口收到广播帧时,缺省不会进行泛洪,而是直接终结。

六、STP

1、STP概述

以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STPSpanning Tree Protocol)。
在这里插入图片描述

  • 随着局域网规模的不断扩大,越来越多的交换机被用来实现主机之间的互连。如图,接入层交换机单链路上联,则存在单链路故障,也就是如果这根上联链路发生故障,交换机下联用户就断网了。另一个问题的单点故障,也就是交换机如果宕机,交换机下联用户也就断网了。
  • 为了解决此类问题,交换机在互连时一般都会使用冗余链路来实现备份。冗余链路虽然增强了网络的可靠性,但是也会产生环路,而环路会带来一系列的问题,继而导致通信质量下降和通信业务中断等问题。

2、二层环路带来的问题

2.1 广播风暴问题

在这里插入图片描述

  • 根据交换机的转发原则如果交换机从一个端口上接收到的是一个广播帧,或者是一个目的MAC地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧。
  • 本例中,SW3收到了一个广播帧将其进行泛洪,SW1SW2也会将此帧转发到除了接收此帧的其他所有端口,结果此帧又会被再次转发给SW3,这种循环会一直持续,于是便产生了广播风暴。交换机性能会因此急速下降,并会导致业务中断。

2.2 MAC地址漂移问题

在这里插入图片描述

  • 交换机是根据所接收到的数据帧的源地址和接收端口生成MAC地址表项的。
  • 本例中,SW3收到一个广播帧泛洪,SW1GE0/0/1接口接收到广播帧后学习且泛洪,形成MAC地址5489-98EE-788AGE0/0/1的映射;SW2收到广播帧后学习且泛洪,SW1再次从GE0/0/2收到源 MAC地址为5489-98EE-788A的广播帧并进行学习,5489-98EE-788A会不断地在GE0/0/1GE0/0/2接口之间来回切换,这被称为MAC地址漂移现象

2.3 多帧复制

这个好理解,同一个数据帧被重复收到多次,被称为多帧复制。
为了保证备份链路的存在,并且不会出现二层环路,所以,我们设计了STP协议。
在这里插入图片描述

  • STP通过构造一棵树来消除交换网络中的环路。
  • 运行STP算法,判断网络中存在环路的地方并阻断冗余链路,将环路网络修剪成无环路的树型网络,从而避免了数据帧在环路网络中的增生和无穷循环。

在这里插入图片描述

  • 交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并且自动做出调整。
    如图,交换机上运行STP协议,会通过报文监控网络的拓扑结构,正常情况下是将SW3上的一个接口进行阻塞(Block),从而打破环路,当监控到SW1与SW3之间出现链路故障,则恢复阻塞端口进入转发状态。
  • 因此,生成树既能解决二层环路问题,也能为网络的冗余性提供一种方案。

生成树协议原理:在二层交换网络中,逻辑的阻塞部分的接口,实现从根交换机到所有节点唯一的路径且为最佳路径,生成一个没有环路的拓扑。当最佳路径出现故障时,个别被阻塞的接口将打 开,形成备份链路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/672568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI绘画基于 Kaggle 10 分钟搭建 Stable Diffusion(保姆级教程)

AI绘画基于 Kaggle 10 分钟搭建 Stable Diffusion&#xff08;保姆级教程&#xff09; 一、引言二、安装教程1. 注册 Kaggle2. Edit My Copy3. 进行手机号的验证4. 打开 “internet off” 开关&#xff0c;并选择显卡5. 开启 session&#xff0c;运行脚本 三、主界面介绍四、注…

车辆派遣管理系统——需求

文章目录 一、背景二、用户的特点三、系统范围四、系统体系结构系统总体架构描述&#xff1a; 五、数据库设计E-R图数据字典 六、工作量估算七、项目燃尽图 一、背景 车辆派遣管理系统是提供对车辆派遣高效管理的系统&#xff0c;自动生成结算结果&#xff1b;可以有效节约车辆…

侯捷——1.C++面向对象高级开发 总结

侯捷——1.C面向对象高级开发 总结 前面的几个视频没有总结&#xff0c;等以后有空再补 7. Class with pointer member(s) —— string 类 该string类&#xff0c;内含指针&#xff0c;所以要自己写构造函数和析构函数&#xff0c;不能使用默认的构造函数和析构函数。 包含…

MHA部署

目录 高可用集群MHA 环境准备 设置服务器免密通联 修改主机名和hosts文件(四台) 四台服务器相同操作 四台服务器相同操作-关闭防火墙 四台服务器-免密配置-生成密钥 四台服务器-免密配置-复制密钥 将authorized_keysau文件发送给node2/3/4 测试是否免密登陆其他主机 …

0018-TIPS-pawnyable : NULL-Pointer-Dereference

原文 NULL Pointer Dereference 题目下载 环境宽松限制 启动选项中可以看到&#xff0c;SMAP在被攻击的机器上被禁用。除非禁用 SMAP&#xff0c;否则无法利用本章中讨论的 NULL 指针取消引用。 还可以尝试启动该内核并输入以下命令&#xff1a; $ cat /proc/sys/vm/mmap_mi…

chatgpt赋能python:Python文件打包:了解基本概念和步骤

Python文件打包&#xff1a; 了解基本概念和步骤 Python开发现在已经越来越成为了一种主流开发方式&#xff0c;然而&#xff0c;当我们的代码在多个环境中运行时&#xff0c;我们可能会遇到各种问题。Python文件打包就起到了非常重要的作用&#xff0c;它可以把我们的代码和环…

java ArrayList()常用详解

文章目录 java ArrayList()常用详解构造方法构造一个具有指定初始容量的空列表构造具有指定初始容量的空列表 常用方法指定的元素追加到此列表的末尾泛型 用来约束集合中存储数据的数据类型在次列表中的指定位置插入指定的元素返回此列表中指定位置的元素删除该列表中指定位置的…

spring 解决循环依赖

spring 解决循环依赖 1、什么是循环依赖&#xff1f; 循环依赖其实就是循环引用&#xff0c;也就是两个或则两个以上的bean互相持有对方&#xff0c;最终形成闭环。比如A依赖于B&#xff0c;B依赖于C&#xff0c;C又依赖于A。如下图&#xff1a; spring的单例对象的初始化主要…

DAC0832

芯片简介&#xff1a; DAC0832是采样频率为八位的D/A转换芯片&#xff0c;集成电路内有两级输入寄存器&#xff0c;使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式。D/A转换结果采用电流形式输出。若需要相应的模拟电压信号&#xff0c;可通过一个高输入阻抗的线性运算放…

Redmi Book Pro 15 2022 笔记本电脑更换硬盘总结

我的电脑型号是Redmi Book Pro 15 2022 锐龙版&#xff0c;早在6月15日磁盘空间就告急了&#xff0c;正好遇上618就打算更换硬盘&#xff0c;直到今天更换成功&#xff0c;特此来记录一下 目录 一、更换硬盘前准备工作二、更换硬盘三、硬盘迁移以及分区四、总结 本文的更换过程…

实验记录之——mac用visual studio code配置opencv

安装opencv 用Homebrew安装opencv brew install wget brew install cmake brew install opencv看来都安装过了hhh 通过下面命令再次检测安装的opencv版本 brew info opencv全部都打绿色的勾&#xff0c;应该就是都安装完了。 Vscode配置c/c环境 配置cpp项目可以看下面链接…

第一天,PyTorch张量的运算

文章目录 一、说明二、张量的常用运算1. 索引和切片&#xff08;与numpy类似&#xff09;2. 通过torch.cat来进行连接张量3. 矩阵运算和算数运算1. 在PyTorch中mul与matmul和的区别2. 矩阵运算和算数运算的示例 4. 聚合张量中的所有值5. 给所有元组增加1&#xff0c;使用add_&a…

Chrome 开发者调试常用工具

Chrome调试工具介绍 ①②③④⑤⑥⑦⑧⑨⑩ 一、Elements-元素 选项说明 styles filter搜索框&#xff1a;查找过滤样式&#xff0c; 包括class名当前选中的元素 查看其伪类效果已经样式给当前选中元素添加class名可以把当前元素class名或者id&#xff0c; 按照css层级添加一…

C语言:获得月份天数(多组输入)

题目&#xff1a; 描述 KiKi想获得某年某月有多少天&#xff0c;请帮他编程实现。输入年份和月份&#xff0c;计算这一年这个月有多少天。 输入描述&#xff1a; 多组输入&#xff0c;一行有两个整数&#xff0c;分别表示年份和月份&#xff0c;用空格分隔。 输出描述&#xff…

chatgpt赋能python:Python整除判断——一个不可缺少的技能

Python整除判断——一个不可缺少的技能 Python是一门广泛应用于科学计算、人工智能等多个领域的编程语言。在Python中&#xff0c;整除判断是一个非常基础但却不可或缺的技能。本篇文章将从基础开始介绍如何判断是否整除&#xff0c;以及如何在实际应用中使用整除判断。 整除…

PB9与Navicat Premium 16同时连接Oracle11g的连接问题

PB9与Navicat Premium 16同时连接Oracle11g的连接问题。 电脑安装的是win64_11gR2_database就是64的。 Navicat Premium 16其实是等oracle安装好后直接就能连了毫无问题。 pb9呢。因为需要32驱动的oci.dll&#xff0c;所以需要下载instantclient-basic-win32-11.1.0.7.0解压…

第七章 MobileNetv2网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

【C++篇】动态分配内存

友情链接&#xff1a;C/C系列系统学习目录 知识点内容正确性以C Primer&#xff08;中文版第五版&#xff09;、C Primer Plus&#xff08;中文版第六版&#xff09;为标准&#xff0c;同时参考其它各类书籍、优质文章等&#xff0c;总结归纳出个人认为较有逻辑的整体框架&…

EBU5476 Microprocessor System Design 知识点总结_6 Timer

Timer 想让程序定时运行&#xff0c;比如led 1s闪烁一次。如何做到&#xff1f; 第一种方法是愚蠢的delay延时&#xff0c;我自己估算一下&#xff1a;嗯&#xff0c;delay(2000)差不多1s。然后在程序中delay&#xff0c;点亮&#xff0c;delay&#xff0c;熄灭…… 太浪费资…

【C++篇】友元、运算符重载与多态

友情链接&#xff1a;C/C系列系统学习目录 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的…