【HCIP】03.VLAN高级技术

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是固定值

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

kafka晋升之路-理论+场景

kafka晋升之路 一:故事背景二:核心概念2.1 系统架构2.2 生产者(Producer)2.2.1 生产者分区2.2.2 生产者分区策略 2.3 经纪人(Broker)2.3.1 主题(Topic)2.3.2 分区(Partit…

Charles通过逍遥模拟器抓包APP,亲测可用

1.设置http代理. Proxy-->Proxy settings 2.设置ssl proxy-->ssl proxying settings 3.Charles安装证书 弹出证书安装界面,点击"安装证书" 选择当前用户, 选择: 将所有的证书都放入下列存储: 直接下一步,最后确定提示"导入成功" 4.接着设置Charles安…

怎样通过本地电脑搭建SFTP服务器,并实现公网访问?

本地电脑搭建SFTP服务器,并实现公网访问 文章目录 本地电脑搭建SFTP服务器,并实现公网访问1. 搭建SFTP服务器1.1 下载 freesshd 服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2. 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内…

科技项目验收检测报告获取有哪些注意事项,作用都有哪些?

验收测试报告 软件从研发到结束是一个很长的周期,对于软件想要完成上市或者是交付到用户手中之前我们还需要进行一次全面检测,也就是科技项目验收测试,此测试有着严格的要求,需要第三方软件测评机构来完成,并出具科技…

相关搜索引擎常用搜索语法(Google hacking语法和FOFA语法)

一:Google Hack语法 Google Hacking原指利用Google搜索引擎搜索信息来进行入侵的技术和行为,现指利用各种搜索引擎并使用一些高级的搜索语法来搜索信息。既利用搜索引擎强大的搜索功能,在在浩瀚的互联网中搜索到我们需要的信息。 &#xff0…

代码随想录算法训练营第四十三天|LeetCode 123, LeetCode 188

目录 LeetCode 123.买卖股票的最佳时机III 动态规划五步曲: 1.确定dp[i][j]的含义 2.找出递推公式 3.初始化dp数组 4.确定遍历方向 5.打印dp数组 LeetCode 188.买卖股票的最佳时机IV 动态规划五步曲: 1.确定dp[i][j]的含义 2.找出递推公式 3.初始化dp数…

【仿写tomcat】三、通过socket读取http请求信息

仿写tomcat 建立Socket连接获取连接信息查看HTTP信息 建立Socket连接 这里我们也是创建一个专门管理socket的类 package com.tomcatServer.socket;import java.io.*; import java.net.ServerSocket;/*** 套接字存储** author ez4sterben* date 2023/08/15*/ public class Soc…

如何在控制台查看excel内容

背景 最近发现打开电脑的excel很慢,而且使用到的场景很少,也因为mac自带了预览的功能。但是shigen就是闲不住,想自己搞一个excel预览软件,于是在一番技术选型之后,我决定使用python在控制台显示excel的内容。 具体的需…

交互消息式IMessage扩展开发记录

IMessage扩展简介 iOS10新加入的基于iMessage的应用扩展,可以丰富发送消息的内容。(分享表情、图片、文字、视频、动态消息;一起完成任务或游戏。) 简单的将发送的数据内型分为三种: 1.贴纸Stickers; 2.交…

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

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

NEO-6M GPS模块 +无线透传模块组成短距离数据空中传输

NEO-6M GPS模块 无线透传模块组成短距离数据空中传输 📌相关篇《GY-NEO6MV2 GPS模块测试》 🌿NEO-6M GPS模块 🌿透传模块采用的是GC2400-TC017 ✨数据的一收一发,需要配合一个USB转TTL工具,在电脑端通过串口调试助…

无涯教程-PHP - 静态变量函数

静态变量 静态变量在函数退出时值不会丢失,您只需将关键字STATIC放在变量名称的前面,即可将变量声明为静态变量。 <?phpfunction keep_track() {STATIC $count0;$count;print $count;print "<br />";}keep_track();keep_track();keep_track(); ?> 这…

C++ 网络编程项目fastDFS分布式文件系统(四)-fastCGI项目相关技术以及linux搜狗输入法相关问题。

目录 1. Nginx作为web服务器处理请求 2. http协议复习 Get方式提交数据 Post方式提交数据 3. fastCGI 3.1 CGI 3.2 fastCGI 3.3 fastCGI和spawn-fcgi安装 1. 安装fastCGI 2. 安装spawn-fcgi 3.4 nginx && fastcgi 4其他知识点 1. fastCGI环境变量 - fas…

Nacos配置管理、Feign远程调用、Gateway服务网关

1.Nacos配置管理 1.1.将配置交给Nacos管理的步骤 1.在Nacos中添加配置 Data Id服务名称-环境名称.yaml eg&#xff1a;userservice-dev.yaml 2.引入nacos-config依赖 在user-service服务中&#xff0c;引入nacos-config的客户端依赖 <!--nacos配置管理依赖--> <dep…

【使用Zookeeper当作注册中心】自己定制负载均衡常见策略

自己定制负载均衡常见策略 一、前言随机&#xff08;Random&#xff09;策略的实现轮询&#xff08;Round Robin&#xff09;策略的实现哈希&#xff08;Hash&#xff09;策略 一、前言 大伙肯定知道&#xff0c;在分布式开发中&#xff0c;目前使用较多的注册中心有以下几个&…

iOS代码混淆

文章目录 一、混淆的原理二、实现混淆1. 创建文件2. 将文件拖导入目录中3. 将以下脚本拷贝到刚新建的confuse.sh文件中4. 修改文件权限5. 修改项目配置6. 添加需要混淆的方法名7. 配置PCH文件8. 运行效果 一、混淆的原理 这里使用的混淆的原理是&#xff0c;用一串随机生成的字…

发展全球电商业务,为什么首选Facebook Messenger电子商务?

Facebook Messenger电子商务就是使用Facebook的消息传递渠道Messenger来购买和销售产品或服务。通过将 Messenger与客户服务平台&#xff0c;例如SaleSmartly&#xff08;SS客服&#xff09;集成&#xff0c;企业可以利用渠道强大的消息传递功能为客户提供更加个性化和对话式的…

ComPDFKit PDF SDK for Windows Crack

ComPDFKit PDF SDK for Windows Crack 添加了在创建文本框时调整默认属性的支持。 增加了对调整PDF大小时调整宽度的支持。 添加了对编辑文本时更多快捷方式的支持。 优化了文本输入&#xff0c;并将字体样式与原始文本相匹配。 在内容编辑器模式下复制和粘贴时优化了UI交互。 …

提升研发效能的开发工具

一、前言 随着企业对创新和效率的追求不断升级&#xff0c;研发效能成为了炙手可热的概念。各大公司纷纷成立专门的团队&#xff0c;以提升研发效能为重要目标。本文将从研发人员的视角出发&#xff0c;结合自身的深度思考&#xff0c;探讨研发效能的相关概念&#xff0c;共同寻…