精华内容
下载资源
问答
  • 交换机数据转发原理

    万次阅读 多人点赞 2017-08-01 10:19:54
    H3C参考: ... 举例一: 如图,交换机A 、B ,主机11给主机33发送一个
    H3C参考: 
    

    http://www.h3c.com.cn/Service/Document_Center/Switches/Catalog/S3100/S3100-52P/Command/Command_Manual/S3100-52P_CM-Release_1702-6W100/201004/672685_30005_0.htm

    举例一:

    如图,交换机A 、B ,主机11给主机33发送一个数据帧:假设交换机A B MAC地址表都是空的。

    1.       交换机A在接收到数据帧后,执行以下操作:

    1)       交换机A学习主机11的MAC地址,则现在交换机A的MAC地址表为:

    2)       交换机A查看MAC地址表;

    3)       如果MAC地址表有目的主机MAC地址则直接进行数据转发。如果没有则继续执行步骤4):

    4)       交换机A向除源数据发送端口外的其他所有端口发送广播;

    2.       交换机B在接收到数据帧后,执行以下操作:

    5)       交换机B学习源MAC地址和端口号,交换机B 现在的MAC地址表为:

    1)   交换机B查看MAC地址表;

    6)       交换机B向除源数据发送端口外的其他所有端口发送广播包;

    2)   主机22,查看数据包的目标MAC地址不是自己,丢弃数据包;

    3)   主机33,接收到数据帧;

    7)       主机44,丢弃数据帧。

     

    总结:【一台交换机有一张MAC表】

    当一台主机A发送数据时,交换机会收到MAC帧,会包含发送主机的MAC地址和接收主机的地址,交换机收到这个帧后,会把这个发送主机的MAC地址记录在自己的MAC表中,并记下这个发送主机对应的端口号。之后交换机会查看自己MAC表看有没有接收主机的记录,如果有就直接发到对应的端口,如果没有就广播出去

     

    举例二:

    假如接着主机44要给主机11发送一个数据帧:

    1.       交换机B在接收到数据帧后,执行以下操作:

    1)            交换机B学习源MAC地址和端口号;

    2)            交换机B查看MAC地址表,根据MAC地址表中的条目,单播转发               数据到端口3。

    2.       交换机A在接收到数据帧后,执行以下操作:

    1)        交换机A学习源MAC地址和端口号;

    4)   交换机A查看MAC地址表,根据MAC地址表中的条目,单播转发数据到端口1

    5)   主机11,收到数据帧。

    展开全文
  • 二层交换机转发数据原理解析

    千次阅读 2019-10-18 18:55:27
    二层交换技术的发展已经比较成熟,二层交换机属于数据链路层设备,可以识别数据帧中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。 二、交换机的特性 1、学习 ...

    二层交换机转发数据原理解析

    一、什么是二层交换机

    二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术的发展已经比较成熟,二层交换机属于数据链路层设备,可以识别数据帧中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。

    二、交换机的特性

    1、学习

    以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中。

    2、转发/过滤

    当一个数据包的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口) 。

    三、二层交换机转发数据过程

    如下图所示
    在这里插入图片描述
    1、环境介绍:
    (1)交换机为初始状态,若主机A B C知道对方MAC地址

    (2)主机A想与主机B通信

    2、过程介绍

    当主机A B C 知道对方MAC地址

    主机A发送一个数据帧到交换机的1号端口,此时:

    源MAC为主机A的MAC

    目标MAC为主机B的MAC

    交换机接受到数据帧首先会记录主机A的MAC地址(记在MAC地址表中)和收到该帧的端口号,因为交换机

    MAC地址表中没有目标MAC地址,所以交换机会在2号端口和3号端口进行一个广播,当主机B收到这个和自

    己对应的广播时会做出回应发个数据帧给交换机,此时:

    源MAC为主机B的MAC

    目标MAC为主机A的MAC

    交换机会记录主机B的MAC地址和接受该地址的端口号,然后查询MAC地址表直接与主机A进行单播通讯

    若主机A B C不知道对方MAC地址

    主机A会发送一个arp请求给交换机,交换机记录主机A的MAC地址(记在MAC地址表中)和端口号,然后对2

    号端口和3号端口进行arp广播,主机B收到广播后会做出回应发送一个数据帧给交换机,交换机会记录主机B

    的MAC地址和接受该地址的端口号,然后查询MAC地址表直接与主机A进行单播通讯。

    展开全文
  • 以太网交换机转发数据

    千次阅读 2018-07-06 17:45:08
    网桥工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发或过滤。当网桥收到一个帧时,并不是向所有的端口转发此帧,而是根据此帧的目的MAC地址,查找网桥中的MAC地址表,然后确定将该帧转发到哪一个端口,或...

    题目描述

    以太网交换机实质上就是一个多端口的网桥。网桥工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发或过滤。
    当网桥收到一个帧时,并不是向所有的端口转发此帧,而是根据此帧的目的MAC地址,查找网桥中的MAC地址表,然后确定将该帧转发到哪一个端口,或把它丢弃(即过滤)。
    以太网交换机转发帧的步骤:
    先查找交换机的MAC地址表中与收到帧的目的地址有无相匹配的项目。
    如没有,则向所有其他端口(进入的端口除外)转发;
    如有,则按MAC地址表中给出的端口进行转发(若MAC地址表中给出的端口就是该帧进入交换机的端口,则应丢弃这个帧)。
    现假设有一个24端口的以太网交换机,你的任务是编写程序对收到的MAC帧进行处理。

    输入描述

    输入的第一行为两个正整数M、N(M、N<=24),分别表示交换机的MAC地址表有M行,有N个MAC帧进入交换机。
    然后就是M行的MAC地址表,每行包括(MAC地址  对应的端口号  时间),相互之间以空格分隔,其中MAC地址用十六进制表示。
    最后N行,每行表示进入交换机的MAC帧相关的信息,包括(目的MAC地址  源MAC地址  进入的端口号  进入的时间),相互之间以空格分隔,其中MAC地址用十六进制表示。

    输出描述

    对于每行输入,输出以太网交换机处理帧的结果。
    输出(目的MAC地址  外出端口号),其中目的MAC地址占18位,左对齐,具体格式详见样例输出。
    如果是向所有端口转发,端口号输出ALL;如果是过滤了,端口号输出NONE。

    输入样例

    5 3
    
    0001.c7ea.e078 20 172
    
    0009.7c7c.c95e 13 163
    
    0009.7ced.ddc6 5 122
    
    0050.0fc3.7770 10 135
    
    
    00e0.8fb2.7a69 11 142
    
    0001.c7ea.e078 0001.646a.1e5c 12 4568
    
    0001.422b.486b 0009.7ced.ddc6 5 5888
    
    ffff.ffff.ffff 00e0.8fb2.7a69 11 7600
    

    输出样例

    0001.c7ea.e078    20
    
    0001.422b.486b    ALL
    
    ffff.ffff.ffff    ALL

    AC代码如下:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    
    struct poin
    {
        char add[20];
        int id;
        int time;
    }a[25];
    
    struct point
    {
        char da[20];
        char aa[20];
        int id;
        int time;
    }b[25];
    
    int isInclude(poin s[],int num,char t[20])
    {
        for(int i=0;i<num;i++)
        {
            if(strcmp(s[i].add,t)==0)
            {
                return i;
            }
        }
        return -1;
    }
    
    int main()
    {
        int m,n;
        scanf("%d %d",&m,&n);
        for(int i=0;i<m;i++) scanf("%s%d%d",a[i].add,&a[i].id,&a[i].time);
        for(int i=0;i<n;i++) scanf("%s%s%d%d",b[i].da,b[i].aa,&b[i].id,&b[i].time);
        for(int i=0;i<n;i++)
        {
            if(isInclude(a,m,b[i].da)!=-1)
            {
                int numi=isInclude(a,m,b[i].da);
                if(b[i].id==a[numi].id) printf("%-18sNONE\n",b[i].da);
                else printf("%-18s%d\n",b[i].da,a[numi].id);
            }
            else
            {
                printf("%-18sALL\n",b[i].da);
            }
        }
        return 0;
    }


    展开全文
  • 交换机转发原理

    千次阅读 2021-01-23 13:44:10
    MAC地址表是交换机的一个核心组成部分,交换机主要是根据MAC地址表来进行帧的转发的。交换机对帧的转发操作行为一共有3种:泛洪( Flooding)转发(Forwarding)和丢弃( Discarding)。关于这3种转发操作行为的具体含义在此...

    原理概述
    MAC地址表是交换机的一个核心组成部分,交换机主要是根据MAC地址表来进行帧的转发的。交换机对帧的转发操作行为一共有3种:泛洪( Flooding)转发(Forwarding)和丢弃( Discarding)。关于这3种转发操作行为的具体含义在此不再赘述。


    在不涉及VLAN的情况下,交换机的转发原理可以概括地描述为:

    (1)如果进入交换机的是一个单播帧,则交换机会去MAC地址表中查找这个帧的目的MAC地址,如果查不到这个MAC地址,则交换机将对该帧执行泛洪操作;如果查到了这个MAC地址,则比较这个MAC地址在MAC地址表中对应的端口是不是这个帧进入交换机的那个端口,如果不是,则交换机将对该帧执行转发操作,如果是,则交换机将对该帧执行丢弃操作。

    (2)如果进入交换机的是一个广播帧,则交换机不会去查MAC地址表,而是直接对该帧执行泛洪操作。

    (3)如果进入交换机的是一个组播帧,则交换机的处理行为比较复杂。

    每当IP模块收到上层应用的加入组播组的请求之后,IP模块就会向数据链路层通告,通告的时候携带了组播组的IP地址,于是数据链路层就会把IP地址进行适当的变换变换的结果就是一个组播MAC地址,于是数据链路层把这个组播MAC地址插入自己的接收列表里面,以后每当有数据帧到来的时候,数据链路层就会把数据帧的目的MAC地址跟接收列表里的每项内容进行比较,遇到任何匹配的一项就接收
    下来,并向IP层传送。
    数据链路层如何区分单播MAC地址跟组播MAC地址?一般情况下单播MAC地址的最高字节的最低比特为0,而组播MAC地址的最高字节的最低比特为1

     

    数据链路层做一个IP地址跟组播MAC地址的影射,这个影射是怎样的?

    比如

    IP模块告诉数据链路层软件,自己加入了一个组播组224.10.10.10,则数据链路层形成一个MAC地址01--00--5E--0A--0A--0A(取组播IP地址低23位,高位为上面介绍的规则)并加入接收地址列表中,

    交换机根据什么创建组播转发项,并对组播转发项的出口集合做出修改?

    回忆单播的情况下,交换机是根据学习来获得单播转发表的,在组播情况下,学习能否奏效?其实在组播情况下,学习是不行的,因为在单播情况下的学习是针对数据帧的源MAC地址进行的,而组播MAC地址不可能出现在数据帧的源MAC地址位置上(组播MAC地址出现的唯一位置就是数据帧的目的MAC地址),所以根本无法学习。这时候我们必须想一些其他办法来解决该问题,这些办法就是二层组播协议(IGMP)。

    交换机分析每个接收到的组播数据帧(IGMP加入消息是以组播方式发送的),看该数据是否是一个IGMP加入消息,如果是,则从消息中就可以知道发出该消息的主机想加入的组播组,根据该组播组的IP地址形成组播MAC地址,并把接收到该消息的端口加入出口列表,这样一个组播转发项就创建完成了。 完成之后,交换机把刚才拦截的IGMP消息在不加改变的转发出去。这样不停的窥探,交换机就可以掌握网络上的组播成员情况,并反映在自己内部转发表里,以后就根据创建的组播转发表来进行数据的转发

    交换机具有转发帧的能力,同时还具有MAC地址学习能力。当一个帧进入交换机后,交换机会检查这个帧的源MAC地址,并将该MAC地址与这个帧进入交换机的那个端口进行映射,然后将这个映射关系作为一个动态地址表项存放进MAC地址表。MAC地址表是一张动态的表,每个表项在创建或刷新时,都会设定并维护一个默认是300s的生存期(也称为老化周期)。一个MAC地址表项如果超过了生存期,则该表项会立即被自动清除。MAC地址表中的表项分为动态表项和静态表项,前者是交换机通过动态学习过程创建的,后者是通过手工配置创建的。静态表项不存在生存期的概念,并且其优先级高于动态表项:对于一个特定的MAC地址,如果手工配置了关于它的静态表项,则MAC地址表中将不会再出现关于它的动态表项。


    如果两台主机之间通过交换机相连,那么其中一台主机在向另一台主机发送数据帧的时候,会首先在自己的ARP缓存表中查找目标主机的MAC地址。如果ARP缓存表中不存在目标主机的MAC地址,则源主机会以广播帧的形式发送ARP请求报文来获取目标主机的MAC地址,目标主机接收到该ARP请求报文后,会以单播帧的形式回应一个ARP回复报文,告知自己的MAC地址。源主机在获取了目标主机的MAC地址后,一方面可利用该MAC地址向目标主机发起通信,另一方面会将目标主机的IP地址和MAC地址建立一个映射关系,并将此映射关系作为一个条目存放在自己的ARP缓存表中。ARP缓存表也是一张动态的表,关于其动态机制这里就不再赘述了。

    展开全文
  • 交换机(三层)转发原理

    千次阅读 2019-12-23 14:04:34
      三层交换示意图:     如图所示,假如主机A想访问主机B,首先主机A会将自己的IP地址和子网掩码做与操作,得出网路地址(如:Host-A的IP地址...因为图中主机A和主机B不在同一子网内,所以需要进行三层转发。 ...
  • 一:手动配置mac地址表(静态方式) (1)以太网帧结构: (2)配置了vlan后的以太网帧结构(多了4个字节的vlan tag) 含义: ...比如当一个untagged报文进入端口时,就会被加上VLAN tag,后面会根据进入端口的
  • 交换机MAC地址学习与转发机制

    千次阅读 2019-12-13 16:54:53
    根据数据帧的目的mac,查询mac地址表,有则转发,无则洪泛,将数据帧发送至目的地;(dst_mac | port) MAC地址老化: 老化时间默认为300秒; 从一个地址记录加入地址表以后开始计时,如果在老化时间内各端口未收到...
  • 交换机的工作转发原理

    千次阅读 2020-01-21 10:56:33
    今天我们来看看,交换机的工作转发原理是什么样的。 交换机既然是利用端口进行网络数据传输,那么它是如何识别数据是谁给谁的呢? 其实交换机通电后会自动建立一个端口地址表,也叫MAC地址表它会记录每个设备的MAC...
  • 搭建实验拓扑图,这里以...洪范行为:是交换机对未知单播帧的处理方式, 是将此帧向所有端口(除收到该数据帧的端口)进行转发。 c.广播: 是指交换将帧目的MAC 为FF:FF:FF:FF:FF:FF的数据转发到除收到该帧之外...
  • 交换机收到一个数据包时;交换机会将这个数据包包头的目的MAC信息提取出来,与自身的MAC地址表比较;...问题:当情况二发生时,需要在其他所有端口进行广播(这样做其实很不好),这个广播会到什么地方...
  • 交换机和计算机处理帧的差别 路由器数据包转发原理
  • 网桥工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发或过滤。当网桥收到一个帧时,并不是向所有的端口转发此帧,而是根据此帧的目的MAC地址,查找网桥中的MAC地址表,然后确定将该帧转发到哪一个端口,或...
  • arp协议,交换机地址学习机制,交换机mac地址转发原理。
  • 在收到数据帧后,交换机会根据数据帧的头部信息对数据进行转发。 二、交换机转发行为 1、交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系。MAC地址表也称为CAM(Content ...
  • 三层以太网交换机基本原理及转发流程 本文简要介绍了三层以太网交换机的二三层转发机制,主要目的是帮助读者进一步了解交换机的基本原理及转发流程,以期有利于更好的从事设备维护工作和建立于进一步学习的索引。 ...
  • 交换机收到一个数据包时; 交换机会将这个数据包包头的目的MAC信息提取出来,与自身的MAC地址表比较; 情况一:如果找到对应项,则按MAC表进行转发; 情况二:如果没找到对应项,则在除了接收到数据包以外的所有...
  • 工业以太网交换机的三种转发方式

    千次阅读 2021-04-06 09:44:32
    根据工作位置的不同,可以分为广域网交换机和局域网交换机。广域网的交换机(switch)就是一种在通信系统中完成信息交换功能的设备。那么,交换机转发方式有哪几种呢?接下来我们就跟随飞畅科技的小编一起来详细了解...
  • 浅谈交换机MAC地址学习和数据转发

    万次阅读 多人点赞 2017-07-15 11:51:29
    PC1要与PC2通信,基于以太网通信中,必须在数据帧中指定目标MAC地址才可以进行正常通信。 假定PC1的arp表项中没有对应通信的PC2的MAC地址B与IP映射,那么PC1将广播一个“arp请求”,交换机通过port1 接收到PC1广播...
  • 交换机

    千次阅读 2019-08-18 16:15:23
    交换机的功能 网桥/交换机的工作原理 以太网桥(目前也不用) (1)交换式以太网的优势    ①扩展了网络带宽    ②分割了网络冲突域,使网络冲突被限制在最小的范围内 ...②对于未知MAC地址,网桥将转发...
  • 交换机是一种工作在数据链路层对流量进行转发的网络设备。主要应用于延长传输距离,解决冲突域,实现单播等功能。 ** 工作过程: **当流量进入交换机后,根据数据帧中的源MAC,建立该地址与交换机端口的映射,并写入...
  • 交换机转发数据原理

    2013-05-16 03:48:23
    交换机转发数据原理文档目录:一,二层交换机数据转发整体过程:二,多层交换机数据转发整体过程:三,交换机数据转发过程中的细节技术1,CAM表的查找方式:IVL模式和SVL模式(1), IVL模式和SVL模式介绍(2),IVL...
  • 主机A给主机B发送帧,首先假设已经通过arp协议得到主机B的MAC地址,当交换机1收到该帧后将源MAC地址和接口登记,然后在帧交换表中查到目的MAC地址,没有找到就进行盲目转发(泛洪),交换机2收该帧后,做相同的动作...
  • 当PCA要想和PCC,PCB,PCD进行通信时,当该二层数据帧通过端口E1/0/1发送到交换机上时, 交换机会将PCA发送的数据帧中的源MAC地址和接受该数据帧的端口建立映射关系, 并将该映射关系生成映射条目保存到MAC地址表中...
  • 交换机二三层转发原理简单总结

    千次阅读 多人点赞 2018-12-20 17:25:12
    首先二层转发是基于MAC地址转发,三层转发基于IP地址转发,但是这并不意味着仅仅依靠IP地址就能转发,三层转发是建立在二层的基础上的,而仅仅依靠MAC地址是能够转发的。另外,由于二三层转发基于MAC地址、IP地址、...
  • IEEE于1999年正式签发了802.1q标准,即Virtual Bridged Local Area Networks协议,规定了VLAN的国际标准实现,从而使得不同厂商之间的VLAN互通成为可能。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,236
精华内容 24,894
关键字:

交换机根据什么进行数据转发