二、交换机介绍及vlan原理

目录

一、交换机

1.1、交换机处理数据帧的三种行为

1.2、初始化通信

二、虚拟局域网(VLAN)

三、vlan间通信        

3.1、子接口        

3.2、三层交换机


一、交换机

        交换机:隔离冲突域,交换机每个接口都有一个网卡(计算机或交换机通过网卡交换数据)

        一块网卡的MAC地址(48位)全球唯一

        单播帧:目的MAC地址

        广播帧:全F

        组播帧:默认第8位组播位为1

        交换机启动后先学再转发,将接口和从该接口收到的源mac地址做一个记录,生成MAC表,正常300秒超时,如果被覆盖立即更新。

一个接口能不能学到多个MAC地址?

        1口学macA,2口学macB,3口学macA和C,4口学macB,5口学macC。

同一个mac地址能不能属于交换机两个接口?

        不能。

1.1、交换机处理数据帧的三种行为

  1. 泛洪:广播、组播和未知单播帧
  2. 转发:已知单播帧
  3. 丢弃

        已知目的ip查mac发送arp广播是主机行为(三层行为),不是二层交换机行为。(arp协议是二层协议)

1.2、初始化通信

        以上图为例,在计算机A处ping 1.2:

        ping 包是icmp协议(应用层协议),封装数据包+网络层+数据链路层,无需封装传输层。

  1.  首先,主机A会根据目的IP判断是否在同一网段:如在,查看主机A自己的arp缓存表是否有1.2对应的mac,没有的话发送arp广播请求报文找目的ip对应的目的mac;如不在,找网关;
  2.   其次,arp广播请求报文(数据包会写明自己的ip和目的ip+源mac为A,目的mac为FF,不封装网络层)发送至交换机,交换机先学习(记录0口对应的mac为A)后泛洪;
  3.  然后,主机B收到arp广播请求,先记录arp缓存(1.1对应的mac为A)后返回arp单播应答(没有网络层);
  4. 之后,交换机收到arp单播应答,先学习(记录1口对应的mac为B)后转发(查表通过0口发送出去);
  5. 最后,主机A收到arp单播应答先记录arp缓存(1.2对应的mac为B)。   

        可以看出,计算机是建立arp缓存表,交换机的是建立mac表。

二、虚拟局域网(VLAN)

        802.1Q(标记标准)

        傻瓜交换机:无需配置,即插即用

        二层网络不是考虑怎么通,而是提高网络通信质量。

        分割广播域时,一般都必须使用到路由器。使用路由器后,可以以路由器上的网络接口(LAN Interface)为单位分割广播域。

        但是,通常情况下路由器上不会有太多的网络接口,其数目多在1~4个左右。随着宽带连接的普及,宽带路由器(或者叫IP共享器)变得较为常见,但是需要注意的是,它们上面虽然带着多个(一般为4个左右)连接LAN一侧的网络接口,但那实际上是路由器内置的交换机,并不能分割广播域。

        况且使用路由器分割广播域的话,所能分割的个数完全取决于路由器的网络接口个数,使得用户无法自由地根据实际需要分割广播域。

        与路由器相比,二层交换机一般带有多个网络接口。因此如果能使用它分割广播域,那么无疑运用上的灵活性会大大提高。

        用于在二层交换机上分割广播域的技术,就是VLAN。通过利用VLAN,我们可以自由设计广播域的构成,提高网络设计的自由度。

为何不用路由器隔离广播域?

  1. 路由器口比较少
  2. 路由器每秒吞吐量(PPS,paket per secongd)比交换机低
  3. 路由器作了广播域隔离(物理隔离),无法灵活修改网络

        交换机下面的计算机默认属于同一个广播域VLAN1,也就是说,没有做任何vlan规划,不会给数据帧打上或剥离vlan标记,会以原始帧的方式进行发送,换个思路理解,当其他数据帧都有vlan标记的前提下,原始帧没有标记也是一种标记。

        vid,VLAN id,交换机给数据包打标记,同一vid下的计算机属于同一广播域。

        access口:接收数据帧打vid标记,发送数据帧剥离vid标记,允许一个vlan;

        trunk口:接收数据帧和发送数据帧保持vid标记,允许多个vlan。

##创建一个vlan(1~4094)
vlan10 
##同时创建多个vlan
vlan bacth 10 20
##同时创建多个连续vlan
vlan batch 10 to 100
##修改接口类型-access
port link-type access(简写 p l a)
##透传vlan
port default vlan 10(简写 p d v)

##修改接口类型-trunk
port link-type trunk
port trunk allow-pass vlan 10(允许通过的vlan)

        当两台交换机下的两台计算机要归属到同一广播域,除了对应计算机的交换机接口需要配置同vlan标记外,交换机之间通信时需要保持vlan标记(trunk链路)。

        hybrid口:收帧打标记(pvid,port vid,默认为1),发送不打标记,允许多vlan

##修改接口类型-hybrid
port link-type hybrid
##接收数据桢打标vlan 10
port hybrid pvid vlan 10
##发送数据帧不打标记且可以发送vlan 10的数据帧
port hybrid untagged vlan 10

以上两条命令合起来就是:收到原始帧打vlan10,收到vlan10的数据帧发送时不打标


port link-type hybrid
port hybrid tagged vlan 10 20
等同于
port link-type trunk
port trunk allow-pass vlan 10 20

port link-type hybrid
port hybrid pvid vlan 100
port hybrid untagged vlan  100
等同于
port link-type access
port default vlan 100

        计算机A的数据帧到达1口会剥离标记,数据帧到达2口后会打上标记100,带有标记100的数据帧通过交换机内部转发至计算机B的access口,接收并剥离标记发送至计算机B。

三、vlan间通信        

        vlan是隔离广播域的,所以vlan间通信需要通过路由通信,属于三层通信。

        如上图:

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

        缺陷:因为Access口只能透传一个vlan,如果交换机有更多的vlan,那么交换机和路由器就需要更多的连线。

3.1、子接口        

        子接口:三层接口,基于物理口创建的逻辑接口,命名方式:物理接口id+子接口id。

        所以基于同物理口的子接口对端是同一设备,因此为了区分子接口,就要求收发带vlan标记的数据帧,所以对端交换机端口需要配置trunk类型。

        子接口也需要遵守路由器原则,即不同子接口属于不同广播域。

        子接口处理流程   

        下图为典型的单臂路由:

      

[R1]interface GigabitEthernet0/0/1.10
##dot1q表示802.1q协议,termination vid 10表示终结vlan10的标记,即数据帧进来后会去掉标记转发
[R1-GigabitEthernet0/0/1.10]dot1q termination vid 10
[R1-GigabitEthernet0/0/1.10]ip address 192.168.10.254 24
[R1-GigabitEthernet0/0/1.10]arp broadcast enable

[R1]interface GigabitEthernet0/0/1.20
##dot1q表示802.1q协议,termination vid 20表示终结vlan20的标记,即数据帧进来后会去掉标记转发
[R1-GigabitEthernet0/0/1.20]dot1q termination vid 10
[R1-GigabitEthernet0/0/1.20]ip address 192.168.20.254 24
[R1-GigabitEthernet0/0/1.20]arp broadcast enable
##与路由器连接端口为trunk
[R1]interface GigabitEthernet0/0/2
[R1-GigabitEthernet0/0/2]port link-type trunk
[R1-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 20

##与PC连接端口为access
[R1]interface GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1]port link-type access
[R1-GigabitEthernet0/0/1]port default vlan 10 

[R1]interface GigabitEthernet0/0/3
[R1-GigabitEthernet0/0/3]port link-type access
[R1-GigabitEthernet0/0/3]port default vlan 20 

3.2、三层交换机

        二层交换机(Layer2Switch)指的是只具备二层交换功能的交换机。
        三层交换机(Layer 3Switch)除了具备二层交换机的功能,还支持通过三层接口(如VLANIF接口)实现路由转发功能。
        VLANIF接口(SVI,交换虚拟接口,又叫vlan网关)是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信。
        VLANIF接口编号与对应的VLAN ID强关联,如VLAN10对应VLANIF 10。

        配置vlanif后会自动生成直连路由。

        如上图:

##基础配置:
[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

##配置Vlanif:
[SW1]interface Vlanif10
[SW1-Vlanif10]ip address 192.168.10.254 24

[SW1]interface Vlanif 20
[SW1-Vlanif20]ip address 192.168.20.254 24

        vlanif DOWN原因:

  1. 没有创建vlan
  2. 没有透传vlan

        vlanif转发流程:

        假设PC、三层交换机上都已存在相应的ARP或MAC表项。
        PC1与PC2之间通信过程如下:

  1. PC1通过本地IP地址、本地掩码、对端IP地址进行计算,发现目的设备PC2与自身不在同
  2. 一个网段,判断该通信为三层通信,将去往PC2的流量发给网关。PC1发送的数据帧:源MAC= MAC1,目的MAC=MAC2(网关mac)。
  3. 网关接口作为三层接口收到数据帧后,先终结掉vid,二层解封装后查看三层,根据目的ip20.2,查看路由表,发现一条直连路由,出接口为vlanif20,会做三层转发,此时数据包无vlan标记。
  4. vlanif20接口收到数据包后,解封三层,根据目的ip,查看路由表,发现是本地直连路由,会查看arp缓存表,将目的mac=MAC3,打上vlan20标记向交换模块转发,交换模块查MAC表后转发至PC2。    

        1)所有vlan的网关全部配置在核心上,称为集中式网关。
                核心交换机有所有vlan的直连路由,无需配置路由协议。
                vlan间通信时,流量必须经过核心,有可能造成次优路径。

        此时,PC1-PC4能够相互通信。

        2)把vlan的网关,配置在汇聚层/接入层,称为分布式网关。
                vlan间通信时,流量可以经过最近的网关转发,使用最佳路径。
                但是在跨设备的vlan间通信时,需要先配置互联vlan和互联IP,然后再运行路由协议,才能通信。

        此时,PC1与PC2、PC3与PC4间可以相互通信,PC1与PC3不能相互通信!

        因为在PC1ping PC3时,因为不在同一网段,会找到网关vlanif10,但是!sw2上并没有去往vlanif30的直连路由,也就是说,sw2和sw3之间没有可以通信的互联链路,所以无法通信(注:此时sw1上是没有ip地址的)。

        通过在sw2和sw3建立vlanif100并在sw1透传vlan100,就在sw1、sw2、sw3之间建立了一个vlan100的广播域(逻辑上可以理解为sw2口的1口和sw3的1口直连)。

        然后在sw2、sw3上配置OSPF协议宣告路由即可,此时PC1与PC3可以互通。

       

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

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

相关文章

解放代码:识别与消除循环依赖的实战指南

目录 一、对循环依赖的基本认识 (一)代码中形成循环依赖的说明 (二)无环依赖的原则 二、识别和消除循环依赖的方法 (一)使用JDepend识别循环依赖 使用 Maven 集成 JDepend 分析报告识别循环依赖 &a…

超越中心化:Web3如何塑造未来数字生态

随着技术的不断发展,人们对于网络和数字生态的期望也在不断提升。传统的中心化互联网模式虽然带来了便利,但也暴露出了诸多问题,比如数据滥用、信息泄露、权力集中等。在这样的背景下,Web3技术应运而生,旨在打破传统中…

Shopee API接口:获取搜索栏生成的商品结果列表

一、平台介绍 Shopee,作为东南亚领先的电商平台,一直致力于为卖家和买家提供便捷、高效的在线购物体验。为了满足广大开发者的需求,Shopee提供了丰富的API接口服务,帮助卖家和第三方开发者更好地与平台进行数据交互,实…

ucos抢占式实时多任务操作系统 (RTOS)。

介绍 uCOS (也称为 μC/OS 或 Micro-Controller Operating System) 是一个开源的、可移植的、可裁剪的、抢占式实时多任务操作系统 (RTOS)。它最初由 Jean J. Labrosse 编写,并广泛用于嵌入式系统设计中。uCOS 是一个小型的 RTOS,非常适合那些需要实时性…

区间预测 | Matlab实现CNN-ABKDE卷积神经网络自适应带宽核密度估计多变量回归区间预测

区间预测 | Matlab实现CNN-ABKDE卷积神经网络自适应带宽核密度估计多变量回归区间预测 目录 区间预测 | Matlab实现CNN-ABKDE卷积神经网络自适应带宽核密度估计多变量回归区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CNN-ABKDE卷积神经网络自适应…

基于深度学习网络的USB摄像头实时视频采集与人脸检测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 将摄像头对这播放视频的显示器,然后进行识别,识别结果如下: 本课题中,使用的USB摄像头为&#xff…

30.保存游戏配置到文件

上一个内容:29.添加录入注入信息界面 以 29.添加录入注入信息界面 它的代码为基础进行修改 效果图: 首先在我们辅助程序所在目录下创建一个ini文件 文件内容 然后首先编写一个获取辅助程序路径的代码 TCHAR FileModule[0x100]{};GetModuleFileName(NUL…

【教学类-12-12】20240617通义万相-动物图片6张编故事(A4一页4条)

背景需求 【教学类-12-11】20240612通义万相-动物图片连连看(A4一页3套)-CSDN博客文章浏览阅读891次,点赞34次,收藏11次。【教学类-12-11】20240612通义万相-动物图片连连看(A4一页3套)https://blog.csdn.n…

Web前端项目-拼图游戏【附源码】

拼图游戏 拼图游戏是一种经典的益智游戏,通过HTML、CSS和JavaScript等前端技术的综合运用来实现;拼图游戏可以锻炼玩家的观察能力、空间认知能力和逻辑思维能力。游戏开始时,一张图片会被切割成多个小块,并以随机顺序排列在游戏区…

【第三篇】SpringSecurity请求流程分析

简介 本篇文章主要分析一下SpringSecurity在系统启动的时候做了那些事情、第一次请求执行的流程是什么、以及SpringSecurity的认证流程是怎么样的,主要的过滤器有哪些? SpringSecurity初始化流程 1.加载配置文件web.xml 当Web服务启动的时候,会加载我们配置的web.xml文件…

你是否感受到AI就在身边?

人工智能(AI)是一项革命性的技术,旨在模仿人类智慧并执行通常需要人类认知能力的任务。它覆盖了多个子领域,如机器学习、自然语言处理、计算机视觉和机器人技术。AI系统设计用于分析大量数据、从模式中学习、做出预测,…

ue5创建地图瓦片

先在虚幻商城下载免费的paperzd插件,并启用。 导入资源后,先通过应用paper2d纹理资源,将去掉导入ue时产生的边缘模糊,再点击下面的创建瓦片集, 打开瓦片集,发现选中不对, 改变瓦片大小为16*…

Java——IO流(字符流,字节流)

JavaIO的整体框架图 IO流从方向上来说,可以分为输入流和输出流; 从传输内容上来说,可以分为字符流和字节流 防止记混的口诀 所谓的IO,说白了就是数据在内存和硬盘之间的传输 输入流 %Reader %InputStream,从硬盘写…

如何应对缺失值带来的分布变化?探索填充缺失值的最佳插补算法

本文将探讨了缺失值插补的不同方法,并比较了它们在复原数据真实分布方面的效果,处理插补是一个不确定性的问题,尤其是在样本量较小或数据复杂性高时的挑战,应选择能够适应数据分布变化并准确插补缺失值的方法。 我们假设存在一个…

华为----RIP- RIPv2的认证配置

8.2 配置RIPv2的认证 8.2.1 原理概述 配置协议的认证可以降低设备接受非法路由选择更新消息的可能性,也可称为“验证”。非法的更新消息可能来自试图破坏网络的攻击者,或试图通过欺骗路由器发送数据到错误的目的地址的方法来捕获数据包。RIPv2协议能够…

Pycharm社区版搭建Django环境及Django简单项目、操控mysql数据库

Web应用开发(Django) 一、配置Django环境 1、先通过Pycharm社区版创建一个普通的项目 2、依次点击”file"-->"Settings" 3、点击"Project:项目名"-"Python Interpreter"-"号" 4、在搜索框输入要安装的…

CSS选择符和可继承属性

属性选择符&#xff1a; 示例&#xff1a;a[target"_blank"] { text-decoration: none; }&#xff08;选择所有target"_blank"的<a>元素&#xff09; /* 选择所有具有class属性的h1元素 */ h1[class] { color: silver; } /* 选择所有具有hre…

渗透测试和红蓝对抗是什么?二者之间有何区别?

在网络安全这个庞大的体系中&#xff0c;渗透测试、红蓝对抗是比较常见的专业名词&#xff0c;承担着非常重要的作用&#xff0c;那么什么是渗透测试、红蓝对抗?红蓝对抗和渗透测试有什么区别?小编通过这篇文章为大家介绍一下。 渗透测试 渗透测试&#xff0c;是通过模拟黑…

Java基础 - 练习(一)打印等腰三角形

Java基础练习 打印等腰三角形&#xff0c;先上代码&#xff1a; public static void main(String[] args) {// 打印等腰三角形System.out.println("打印等腰三角形&#xff1a;");isoscelesTriangle(); } public static void isoscelesTriangle() {// for循环控制行…

java:一个springfox swagger2的简单例子

# 示例程序 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>…