【HCIP】03.VLAN高级技术

news2024/11/15 23:24:14

Eth-trunk

  • 链路聚合,定义出一个逻辑聚合口,把物理接口和逻辑接口关联,此时在STP中,会把多个物理接口看成一个逻辑接口,此时不会出现环路。

接口负载分担(逐包|逐流)

  • 基于IP的散列算法能保证包顺序,但不能保证带宽利用率。
  • 基于包的散列算法能保证带宽利用率,但不能保证包的顺序。

  • 逐包发送
    • 一个数据,分成多个数据包,会从0,1,2编号依次轮询发送。优势:公平,负载分担均匀,缺点就是如果有一条线有一点点卡,那么就可能会出现数据包的顺序不一样,出现乱序。
  • 逐流发送
    • 流一般由五元组定义(源MAC,目的MAC,源IP,目的IP,协议)
    • 对数据流进行哈希计算得到一个数,用这个数字除以物理链路的数量,看余数,如果余数为0,则走0号链路,余数为1,则走1号链路,余数为2,则走2号链路。实现了不同数据流走不同链路。
    • 好处:弥补了逐包的问题,不会出现乱序,但是不会做到绝对的公平负载分担。
    • 如果一直是两台设备之间相同服务,不建议使用逐流,因为MAC地址IP都相同,所以会一直走一条路。

链路聚合模式(手工负载|LACP)

手工负载分担模式

  • 当两台设备中至少有一台不支持LACP协议时,可使用手工负载分担模式的Eth-Trunk来增加设备间的带宽及可靠性。
  • 在手工负载分担模式下,加入Eth-Trunk的链路都进行数据的转发。

LACP模式

  • LACP模式也称为M:N模式,其中M条链路处于活动状态转发数据,N条链路处于非活动状态作为备份链路。
  • 设置的活跃链路数为2,即2条链路处于转发状态,1条链路处于备份状态,不转发数据,只有当活跃的链路出现故障时,备份链路才进行转发。

LCAP模式活动链路选举

LCAP模式链路抢占机制

  • LACP抢占发生时,处于备用状态的链路将会等待一段时间后再切换到转发状态,这就是抢占延时。配置抢占延时是为了避免由于某些链路状态频繁变化而导致Eth-Trunk数据传输不稳定的情况。
    • 主链路故障,肯定会启用备用链路,但是如果主链路恢复,可以切回:一般主链路的带宽比备用链路的带宽大,所以为了通信质量,要切回带宽大的主线路。不可以切换:如果主链路与备链路带宽相同,不建议切换,因为切换的时候会产生丢包,备链路启用后,主链路会开始备用。

配置

[Huawei]int Eth-Trunk 0	创建Eth-trunk接口0
[Huawei-Eth-Trunk0]mode manual load-balance|lacp-static	采用手动配置|LACP模式
				[Huawei-Eth-Trunk0]lacp preempt enable	开启活跃端口枪占
[Huawei-Eth-Trunk0]load-balance dst-mac 	基于什么来定义逐流

[Huawei-Eth-Trunk0]int g0/0/1	进入接口
[Huawei-GigabitEthernet0/0/1]eth-trunk 0	将接口加入到eth-trunk 0
[Huawei-Eth-Trunk0]int g0/0/2
[Huawei-GigabitEthernet0/0/2]eth-trunk 0

[Huawei]display eth-trunk 0
[Huawei]load-balance flow|packet 逐包|逐流(逐流需要在局部模式下配置逐流的定义)
Eth-Trunk0's state information is:
WorkingMode: NORMAL         Hash arithmetic: According to SIP-XOR-DIP         
Least Active-linknumber: 1  Max Bandwidth-affected-linknumber: 8              
Operate status: up          Number Of Up Port In Trunk: 2                     
--------------------------------------------------------------------------------
PortName                      Status      Weight 
GigabitEthernet0/0/1          Up          1      
GigabitEthernet0/0/2          Up          1      

VLAN聚合

  • 节约网关IP地址,解决相同网段,不同VLAN,能够互访;既能做到二层广播隔离,也能做到三层可以互访。
  • 主VLAN中不可以有接口,从VLAN不可以有VLANIF

VLAN聚合的应用

传统VLAN方式每一个VLAN需要划分不同的IP地址网段,在本例中需要耗费4个IP网段和产生4条路由条目;Super-VLAN方式只需要分配一个IP地址网段。下属二层VLAN共用同一个IP地址网段,共用同一个三层网关,同时VLAN之间保持二层隔离。

相同Sub-VLAN内部通信

  • 当Sub-VLAN与其他设备进行二层通信时,与普通的VLAN内二层通信无区别。
  • 由于Super-VLAN不属于任何物理接口,即不会处理任何携带Super-VLAN标签的报文。

  • Sub-VLAN二层通信过程举例:
    • 从PC1进入SW1的报文会被打上VLAN10的Tag。在SW1中这个Tag不会因为VLAN10是VLAN100的Sub-VLAN而变为VLAN100的Tag。
    • 当报文从SW1的GE0/0/0出去时,依然携带VLAN10的Tag。也就是说,SW1本身不会发出VLAN100的报文。就算其他设备有VLAN100的报文发送到该设备上,这些报文也会因为SW1上没有VLAN100应的物理接口而被丢弃。
    • 对于其他设备而言,有效的VLAN只有Sub-VLAN10,20和30, 所有的报文都是在这些VLAN中交互的。因此,SW1上虽然配置了VLAN聚合,但与其他设备的二层通信,不会涉及到Super-VLAN,与正常的二层通信流程一样。
  • 当Sub-VLAN内的PC需要与其他网络进行三层通信时,首先将数据发往默认网关,即Super-VLAN对应的VLANIF,再进行路由。

不同Sub-VLAN之间通信

  • 不同Sub-VLAN之间进行通信,IP地址属于相同网段,因此主机会发送ARP请求,但是实际不同Sub-VLAN之间属于不同的广播域,因而ARP报文无法传递到其他Sub-VLAN,ARP请求得不到响应,设备无法学习到对端MAC地址,从而无法完成Sub-VLAN之间通信。
  • 要实现Sub-VLAN之间的通信,需要在Super-VLAN 的VLANIF中开启ARP代理功能。

  1. PC1发现PC2与自己在同一网段,且自己ARP表无PC2对应表项,则直接发送ARP广播请求PC2的MAC地址。
  2. 作为网关的Super-VLAN对应的VLANIF 100收到PC1的ARP请求,由于网关上使能Sub-VLAN间的ARP代理功能,则向Super-VLAN 100的所有Sub-VLAN接口发送一个ARP广播,请求PC2的MAC地址。
  3. PC2收到网关发送的ARP广播后,对此请求进行ARP应答。
  4. 网关收到PC2的应答后,就把自己的MAC地址回应给PC1,PC1之后要发给PC2的报文都先发送给网关,由网关做三层转发。

二层和三层转发

  • 二层转发,直接请求目的ip的arp,三层转发,交给网关来进行转发。
  • 分别用自己的ip地址和对方的ip地址与自己的掩码进行与运算得到网络号,网络号若相同,则使用二层转发,不同,则使用三层转发。

  • 因为网段相同,所以A访问B时采用的是二层转发,会直接广播向B请求ARP,此时广播最远可以传到网关;又因为网关开启了arp代理,他将会重新产生一个ARP,欺骗别人,自己是IP是A,MAC还是自己的;B收到后回复消息给网关,网关得到了B的MAC信息,再次去欺骗A,我是B,MAC地址是网关的MAC,这样A就会学到B的MAC,B学到了A的MAC,MAC地址都是网关的MAC。这样AB再次互访是,数据都会发给网关,网关查看MAC是自己的就开始解封装,但是ip地址不是自己的,就开始查路由表,实现了三层转发。

配置

vlan batch 10 20 30
#
vlan 10
	aggregate-vlan	设置为Super vlan
   access-vlan 20 30	将20 30设置为Sub vlan
#
interface GigabitEthernet0/0/1
	port link-type access
  port default vlan 20
#
interface GigabitEthernet0/0/2
	port link-type access
  port default vlan 30

MUX VLAN

  • 任何一个从VLAN与主VLAN之间都可以互访;从VLAN之间无法互访。
  • 主VLAN中可以有接口,真机上可以开VLANIF,可以做arp代理。

基本概念

  • MUX VLAN分为Principal VLAN(主VLAN)和Subordinate VLAN(从VLAN),Subordinate VLAN又分为Separate VLAN(隔离型从VLAN)和Group VLAN(互通型从VLAN)。

配置

vlan batch 10 20 30 100
vlan 100
	mux-vlan	设置为主VLAN
  subordinate separate 30	隔离型
  subordinate group 10 20	互通型
#
interface  Gigabitethernet0/0/1
	port link-type access
  port default vlan 10
  port mux-vlan enable	接口开启MUX VLAN功能,发现此vlan在主vlan里面后,就会把标签脱掉
#
interface  Gigabitethernet0/0/2
	port link-type access
  port default vlan 20
  port mux-vlan enable
#
interface  Gigabitethernet0/0/3
	port link-type access
  port default vlan 30
  port mux-vlan enable

QinQ

  • 用户报文在公网上传递时携带了两层Tag,内层是私网Tag,外层是公网Tag。

QinQ的封装结构

  • QinQ封装报文是在无标签的以太网数据帧的源MAC地址字段后面加上两个VLAN标签构成。

  • TPID(Tag Protocol Identifier,标签协议标识)表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
  • CFI (Canonical Format Indicator,标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。

基本QinQ

  • 基本QinQ是基于端口方式实现的。开启端口的基本QinQ功能后,当该端口接收到报文,设备会为该报文打上本端口缺省VLAN 的VLAN Tag。如果接收到的是已经带有VLAN Tag的报文,该报文就成为双Tag的报文;如果接收到的是不带VLAN Tag的报文,该报文就成为带有端口缺省VLAN Tag的报文。
  • 基于端口的QinQ的缺点是外层VLAN Tag封装方式固定,不能根据业务种类选择外层VLAN Tag封装的方式,从而很难有效支持多业务的灵活运营。

  1. SW1收到VLAN ID为10和20的报文,将该报文发给SW2。
  2. SW2收到该报文后,在该报文原有Tag的外侧再添加一层VLAN ID 为100的外层Tag。
  3. 带着两层Tag的用户数据报文在网络中按照正常的二层转发流程转发。
  4. SW3收到VLAN100的报文后,剥离报文的外层Tag(VLAN ID 为100)。将报文发送给SW4,此时报文只有一层Tag(VLAN ID 为10或20)。
  5. SW4收到该报文,根据VLAN ID和目的MAC地址进行相应的转发。

灵活QinQ

  • 对进入二层QinQ接口的帧,可以根据不同的内层Tag而加上不同的外层Tag,对于用户VLAN的划分更加细致

  1. SW1收到VLAN ID为10和20的报文,将该报文转发给SW2。
  2. SW2收到VLAN ID为10的报文后,添加一层VLAN ID 为100 的外层Tag;SW2收到VLAN ID为20的报文后,添加一层VLAN ID为200的外层Tag。
  3. 带着两层Tag的用户数据报文在网络中按照正常的二层转发流程转发。
  4. SW3收到报文后,剥离报文的外层Tag(VLAN ID 为100或200)。将报文发送给SW4,此时报文只有一层Tag(VLAN ID 为10或20)。
  5. SW4收到报文,根据VLAN ID和目的MAC地址进行相应的转发。

配置

port link-type dot1q-tunel	在这个接口进入打上Tag,从这个接口发出剥离Tag
qinq protocol 9100	告诉trunk链路,这是一个双层Tag,9100是固定值

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

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

相关文章

Fast DDS (2)

1、结构: Fast DDS的架构如下图所示,可以看到以下不同环境的层模型: 应用层:利用Fast DDS API 在分布式系统中实现通信的用户应用程序。Fast DDS层:DDS 通信中间件的稳健实现。它允许部署一个或多个 DDS 域&#xff…

css 实现电梯导航

实现原理&#xff1a;利用css实现电梯导航很简单&#xff0c;基本原理就是通过a标签绑定跳转目标的id来实现的 html代码&#xff1a; <div class"body"><div class"top" id"top"></div><div class"con1" id"…

[Docker] Portainer + nginx + AList 打造Docker操作三板斧

Portainer : Docker容器图形化管理系统nginx: 反向代理利器AList: 文件管理系统 1. 安装 ##### portainer ##### # 拉取镜像 portainer 注: ce 社区版 ee 企业版 原项目(portainer/portainer)已弃用 docker pull portainer/portainer-ce # 运行容器 docker run -d --name por…

如何编写系统要求规范(SRS)文档

想象一下&#xff0c;你负责设计一座17层的大楼&#xff0c;但是蓝图丢失了。在没有这个关键文件的情况下&#xff0c;整个项目可能会因严重错误而处于风险之中。软件项目也有类似的情况&#xff0c;如果没有蓝图&#xff0c;你可能会生开发出缺乏必要软件功能并且与客户需求不…

【Apollo】阿波罗自动驾驶技术:引领汽车行业革新

前言 Apollo (阿波罗)是一个开放的、完整的、安全的平台&#xff0c;将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统&#xff0c;快速搭建一套属于自己的自动驾驶系统。 开放能力、共享资源、加速创新、持续共赢是 Apollo 开放平台的口号。百度把自己所拥有的强大、…

Python爬取Google高清遥感瓦片地图

Python爬取Google高清遥感瓦片地图 这是一个能直接从Google地图服务下载瓦片地图的程序&#xff0c;非常稳定&#xff0c;只需要设置需要下载的左上角和右下角的经纬度坐标即可下载。当然总所周知的原因&#xff0c;下载google地图需要先打开梯子。 下面放上一个下载的高清遥感…

【数据结构】回溯算法公式化解题 leetcode经典题目带刷:全排列、组合、子集

目录 回溯算法一、什么是回溯算法1、基本思想&#xff1a;2、一般步骤&#xff1a; 二、题目带练1、全排列2、组合3、子集 三、公式总结 回溯算法 一、什么是回溯算法 回溯算法&#xff08;Backtracking Algorithm&#xff09;是一种解决组合问题、排列问题、选择问题等一类问…

Python“牵手”淘宝商品详情数据采集方法,淘宝API申请步骤说明

淘宝平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范。 淘宝API接口是指通过编程的方式&#xff0c;让开发者能够通过HTTP协议直接访问淘宝平台的数据&#xff0c;包括商品信息、店铺信息、物流信息等&#xff0c;从而实现淘宝平台的数据开…

Android开发基础知识总结(一)初识安卓Android Studio

一.基础理论知识 1.Linux相当于是地基。 MIUI&#xff0c;EMUI等操作系统&#xff0c;是基于安卓的改版——且裁掉了一部分Google的服务。 &#xff08;鸿蒙虽然是改版&#xff0c;但和安卓的架构基本上一致&#xff09; 2.Kotlin和Java都是JVM语言&#xff0c;必须先复习好…

Python数据分析实战-给定JSON格式的数据提取所需字段并转换为DataFrame(附源码和实现效果)

实现功能 给定JSON格式的数据提取所需字段并转换为DataFrame 实现代码 import pandas as pd import json# 假设给定的JSON数据已经存储在data变量中 data [{"title": "Data Source Adapter for Excel Sheets","project_code_url": "htt…

Mac下Jmeter安装及基本使用

本篇文章只是简单的介绍下Jmeter的下载安装和最基本使用 1、初识Jmeter 前一段时间客户端app自测的过程中&#xff0c;有偶现请求某个接口返回数据为空的问题&#xff0c;领导让我循环100次请求这个接口&#xff0c;看看有没有结果为空的问题。听同事说有Jmeter的专业测试工具…

Java数据结构学习和源码阅读(线性数据结构)

线性数据结构 链表 LinkList 链表的数据结构 一组由节点组成的数据结构&#xff0c;每个元素指向下一个元素&#xff0c;是线性序列。 最简单的链表结构&#xff1a; 数据指针&#xff08;存放执行下一个节点的指针&#xff09; 不适合的场景&#xff1a; 需要循环遍历将…

【C++】 使用红黑树模拟实现STL中的map与set

文章目录 前言1. 对之前实现的红黑树进行一些补充和完善1.1 析构1.2 查找 2. STL源码中map和set的实现3. 改造红黑树封装map和set3.1 红黑树结构修改3.2 map、set的结构定义3.3 insert的封装3.4 insert测试3.5 发现问题并解决3.6 红黑树迭代器实现3.7 封装set和map的迭代器并测…

uniapp scroll-view横向滚动无效,scroll-view子元素flex布局不生效

要素排查&#xff1a; 1.scroll-x属性需要开启&#xff0c;官方类型是Boolean&#xff0c;实际字符串也行。 2scroll-view标签需要给予一个固定宽度&#xff0c;可以是百分百也可以是固定宽度或者100vw。 3.子元素需要设置display: inline-block&#xff08;行内块元素&#x…

国标GB28181视频平台EasyGBS通过对应密钥上传到其他平台展示的详细步骤来啦!

国标GB28181协议视频平台EasyGBS是基于国标GB28181协议的视频云服务平台&#xff0c;支持多路设备同时接入&#xff0c;并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可提供视频监控直播、云端录像、云存储、检索回放、智能告警、语音对讲、平台级…

项目管理实战笔记:硬技能(下)

需求变更&#xff1a; pmp里面涉及需求变更的很多&#xff0c;尤其是CCB 对于CCB的需求变更&#xff0c;可能需要以下步骤&#xff1a; 1. 确定变更的原因和必要性&#xff1a;需要了解变更是因为业务需求的变化、技术方案的变更还是其他原因&#xff0c;以及变更是否是必要的…

内行才知道的新闻稿发布技巧,媒介盒子为你揭秘

不知道最近其他小伙伴有没有遇上以上说的一些情况&#xff0c;必须借助新闻稿发布达到营销推广的目的。 可是对于新闻稿发布这一块却不知道应该怎么办&#xff0c;尤其是新手上任&#xff0c;对于如何发布新闻稿是一头雾水。 新闻稿的发布是企业在公关传播中重要的一环&#…

如何将PDF文件转换为PPT文件?

如何将pdf转换成ppt&#xff1f;PDF文件作为常用的文件格式&#xff0c;不仅可以在教学过程中使用&#xff0c;还可以在营销展会、培训讲座等过程中使用。欧迪芬文件的使用&#xff0c;能够在一定程度上提升我们的办公效率。对于PDF文件来说&#xff0c;其中包含的元素非常多&a…

【算法刷题之数组篇(2)】

目录 1.leetcode-35. 搜索插入位置&#xff08;简单&#xff09;2.leetcode-74. 搜索二维矩阵&#xff08;中等&#xff09;3.leetcode-73. 矩阵置零&#xff08;中等&#xff09;4.leetcode-56. 合并区间&#xff08;中等&#xff09;5.leetcode-54. 螺旋矩阵&#xff08;中等…

水溶性试剂Hexynoic acid STP ester,炔酸STP酯,NHS酯的极好替代品

产品简介&#xff1a;炔酸STP酯是一种具有末端炔丙基和STP酯基的水溶性试剂。STP酯是在水性环境中进行偶联反应的传统N-羟基琥珀酰亚胺&#xff08;NHS&#xff09;酯的极好替代品。炔丙基通过铜催化的叠氮化物-炔烃点击化学与含叠氮化物的化合物或生物分子反应&#xff0c;产生…