精华内容
下载资源
问答
  • 以太网交换机转发数据帧

    千次阅读 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;
    }


    展开全文
  • 以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网。以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式。交换机能同时连通许多对端口,使每一对相互...
    caf14febe450d5fd823506b1a0c44e4e.png

    以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网。以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式。交换机能同时连通许多对端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据。那么,以太网交换机的工作原理有哪些呢?接下来我们就一起来详细看看吧!

    以太网交换机工作原理

    以太网交换机工作于OSI网络参考模型的第二层(即数据链路层),是一种基于MAC(Media Access Control,介质访问控制)地址识别、完成以太网数据帧转发的网络设备。

    交换机上用于连接计算机或其他设备的插口称作端口。计算机借助网卡通过网线连接到交换机的端口上。网卡、交换机和路由器的每个端口都具有一个MAC地址,由设备生产厂商固化在设备的EPROM中。MAC由IEEE负责分配,每个MAC地址都是全球唯一的。MAC地址是长度为48位的二进制,前24位由设备生产厂商标识符,后24位由生产厂商自行分配的序列号。

    46cd148c6b19de44a81f6114cd9d5b95.png

    交换机在端口上接受计算机发送过来的数据帧,根据帧头的目的MAC地址查找MAC地址表然后将该数据帧从对应端口上转发出去,从而实现数据交换。

    交换机的工作过程可以概括为“学习、记忆、接收、查表、转发”等几个方面:通过“学习”可以了解到每个端口上所连接设备的MAC地址;将MAC地址与端口编号的对应关系“记忆”在内存中,生产MAC地址表;从一个端口“接收”到数据帧后,在MAC地址表中“查找”与帧头中目的MAC地址相对应的端口编号,然后,将数据帧从查到的端口上“转发”出去。

    交换机分割冲突域,每个端口独立成一个冲突域。每个端口如果有大量数据发送,则端口会先将收到的等待发送的数据存储到寄存器中,在轮到发送时再发送出去。

    9bb6f59aded3b8db44078cfe720a6935.png
    展开全文
  • 网桥工作在数据链路层,根据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
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    using namespace std;
    
    const int maxn = 1e3 + 10;
    string s[maxn];
    int num[maxn];
    int m, n;
    
    struct Node
    {
        string address;
        int num;
    }addr[maxn], Addr[maxn];
    
    int main()
    {
        string addres, Macadd;
        int time;
        cin >> m >> n;
        int i, j, k;
        int flag;
        for(i = 0; i < m; i++)
        {
            cin >> addr[i].address >> addr[i].num >> time;
        }
        for(i = 0; i < n; i++)
        {
            cin >> Addr[i].address >> addres >> Addr[i].num >> time;
        }
        for(i = 0; i < n; i++)
        {
            flag = 0;
            for(j = 0; j < m; j++)
            {
    
                if(Addr[i].address == addr[j].address && Addr[i].num != addr[j].num)
                {
                    printf("%-18s%-d\n", addr[j].address.c_str(), addr[j].num);
                }
                else if(Addr[i].address == addr[j].address && Addr[i].num == addr[j].num)
                {
                    printf("%-18sNONE\n", addr[j].address.c_str());
                }
                else if(Addr[i].address != addr[j].address)
                {
                    flag ++;
                    k = i;
                    //printf("%-18sALL\n", Addr[i].address.c_str());
                }
                //break;
            }
            if(flag == m)
                printf("%-18sALL\n", Addr[k].address.c_str());
        }
    
        return 0;
    }
    


    展开全文
  • 以太网交换机

    2019-03-25 15:30:11
    交换机会通过传输介质进去其端口的每一个帧都进行转发操作,交换机的基本作用是用来转发帧的。 一。三种转发操作:泛洪(Flooding)、转发(Forwarding)、丢弃(Discarding)。 (1)泛洪:交换机把从某一端口进来...

    交换机会通过传输介质进去其端口的每一个帧都进行转发操作,换机的基本作用是用来转发帧的

    一。三种转发操作泛洪(Flooding)转发(Forwarding)丢弃(Discarding)

    (1)泛洪:交换机把从某一端口进来的帧通过所有其他的端口转发出去(除了这个帧进来的端口以外的其他所有端口)。泛洪操作是一个点到多点的转发行为。

    (2)转发:交换机把从某一端口进来的帧通过另一端口端口转发出去(除了这个帧进来的端口以外的其他端口)。是一种点到点的转发行为。

    (3)丢弃:交换机把从某一端口进来的帧直接丢弃。丢弃操作实际上是不进行转发的

    2.交换机的工作原理:

    交换机的工作原理主要是指交换机对于从传输介质进去其端口的帧进行转发操作的过程。每台交换机中都有一个MAC地址表,它用来存放MAC地址与交换机端口编号之间的映射关系。MAC地址表存在于交换机的工作内存中,当交换机上电时,MAC地址表中没有任何内容,这时是一个空表。伴随着交换机不断的转发数据并进行学习地址的过程,MAC地址表的内容会逐渐增加。当交换机重启或下电时,MAC地址表中的内容会完全丢失。

    过程如下:

    (1)如果从传输介质进入交换机的某个端口的帧是一个单播帧,交换机会去MA地址表中查询这个帧的目的MAC地址。有两种情况:1.查找不到,交换机对其执行泛洪操作;2.查到了目的MAC地址,会比较这个MAC地址在MAC地址表中对应的端口编号是不是这个帧从传输介质进入交换机的那个端口编号,如果是,则丢弃该帧;不是的话,交换机对其进行转发操作(从在MAC地址表上对应的那个端口转发出去)。

    (2)如果从传输介质进入交换机的某个端口的帧是一个广播帧,交换机不会去查找MAC地址表,而是直接对其进行泛洪操作。

    补充:交换机还具有MAC地址学习的能力。当一个帧(单播帧、组播帧、广播帧均可)从传输介质进去交换机后,交换机会检查这个帧的源MAC地址,并将其与这个帧进去交换机的那个端口的端口号进行映射,并将这个映射关系放进MAC地址表中。

    重点知识总结:

    (1)当计算机的网卡收到一个单播帧时,会将该帧的目的MAC地址与自己的MAC地址进行比较。如果两者相同,则网卡会根据该帧的类型字段的值将该单播帧中的数据载荷上送至网络层中的相应处理模块,如果不同,网卡会将该帧直接丢弃。

    (2)当计算机的网卡收到一个广播帧时,会直接根据该广播帧的类型字段的值将其中的数据载荷上送至网络层中的相应处理模块。

    (3)当交换机的网卡收到一个单播帧时,不会将该帧的目的MAC地址与自己的MAC地址进行比较,而是直接去查MAC地址表,并根据地址表的结果对其进行相应的转发操作。

    (4)当交换机的网卡收到一个广播帧时,会直接对其进行泛洪操作。

    二。MAC地址表

    交换机的MAC地址表也称为MAC地址映射表,其中每一个条目也称为一个地址表项,地址表项反映了MAC地址与端口的映射关系。

    以X表示任何一个源MAC地址为MACx的帧(x:可以为单播帧、组播帧或广播帧),并假设交换机的N个端口为Port1、Port2、...Port N,则MAC地址表的老化机制有下面两个原则:

    (1)当X从Port k(1<=k<=N)进入交换机时,如果MAC地址表中不存在关于MACx的表项,则建立一条新的、内容为“MACx--Port k"的表项,同时将该表象的倒数计时器的值设置为缺省初始值300s;如果MAC地址表中存在一条关于MACx的表项,则该表项昂的内容更新为”MACx-- Port k“,并将该表项的倒数计时器的值重置为缺省初始值300s。

    (2)MAC地址表中的每一个地址表项都有一个与之对应的倒数计时器MAC地址表的内容是动态的,新的表项不断被建立,老的表项不断被更新或被删除。

    从图片上可以看出:倒数计时器的初始值越小,MAC地址表的动态性就越强。

    标准规定上倒数计时器的缺省初始值为300s,但是这个初始值是可以通过配置命令进行修改的。

    补充:一台低档的交换机的MAC地址表通常最多可以存数千条地址表项;一台中档的交换机的MAC地址表通常最多可存放数万条地址表项;一台高档的交换机的MAC地址表通常最多可存放几十万条地址表项。

     

     

     

     

    展开全文
  • 以太网交换机工作原理以太网定义特征MAC地址以太网帧格式交换机定义交换机数据转发原理MAC地址表工作机制数据帧的转发方式数据传输模式广播域 以太网 定义 传输标准Ethernet Ⅱ类型帧的网络 特征 多路访问,广播...
  • H3C低端系列以太网交换机支持多款不同规格的光模块,用户可以根据自己的需要选择合适的光模块,通过光纤进行数据传输。目前常规通用的光模块主要包括:光发送器,光接收器,Transceiver(光收发一体模块)以及...
  • IES-1008 8端口工业以太网交换机说明书pdf,IES-1008 8端口工业以太网交换机:符合IEEE802.3/802.3u/802.3x 标准;8 个10/100BaseT(X)(RJ45)4;支持10/100Mbps 自适应;支持MDI/MDI-X 自适应;冗余双电源输入;存储...
  • IES-1206 8端口工业以太网交换机说明书pdf,IES-1206 8端口工业以太网交换机:符合IEEE802.3/802.3u/802.3x 标准;6 个10/100BaseT(X)(RJ45),2 个100BaseFX(SC或ST 接口);支持10/100Mbps 自适应;支持MDI/MDI-X ...
  • 网桥与以太网交换机

    2018-10-06 19:28:00
    工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发 具有帧过滤功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口 具有自学习功能...
  • 针对目前流行的高性能无线路由器以及家庭网关等应用场景,设计了基于FPGA的千兆以太网交换机。采用自顶向下的设计方法,通过MAC控制器、交换控制模块、学习查找模块以及共享缓存空间这4个模块实现系统功能。实现了5...
  • 下面文章进行有效的说明下以太网交换机的参数配置问题,交换机根据工作协议层可以划分为第二层交换机、第三层交换机和第四层交换机,根据是否支持网管功能可以划分 网管型交换机和非网管理型交换机。 包转发率...
  • IES-2206 8端口冗余工业以太网交换机说明书pdf,IES-2206 8端口冗余工业以太网交换机:符合IEEE802.3/802.3u/802.3x 标准;6 个10/100BaseT(X)(RJ45),2 个100BaseFX(SC或ST 接口);支持10/100Mbps 自适应;支持MDI...
  • 本章介绍了共享式以太网和交换式以太网的区别,最后重点讲述了交换机进行MAC地址学习以构建MAC地址表的过程,对数据帧的转发原理。共享式与交换式以太网共享式以太网Hub与同轴电缆都是典型的共享式以太网所...
  • 第二层交换机是按照MAC地址进行数据转发的。[]3.基于服务器的网络计算机之间没有级别之分,所有的计算机都是平等的。[]4.Windows操作系统各种版本均适合作网络服务器的基本平台。[]5.WindowsServer2003的域,是指...
  • 二层交换机转发数据原理解析

    千次阅读 2019-10-18 18:55:27
    二层交换技术的发展已经比较成熟,二层交换机属于数据链路层设备,可以识别数据帧中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。 二、交换机的特性 1、学习 ...
  • 交换机可以起到扩展局域网的作用,交换机的每个接口直接与一个单台主机或另一个以太网交换机相连,它一般都工作在全双工方式。交换机的接口处有存储器,能在输出端口繁忙时把到来的帧进行缓存,在线路空闲时转发出去...
  • 网络交换机以太网电缆,数据中心概念。今天我们来看看,交换机的工作转发原理是什么样的。交换机既然是利用端口进行网络数据传输,那么它是如何识别数据是谁给谁的呢?其实交换机通电后会自动建立一个端口地址表,...
  • 以太网三层交换机驱动程序的设计,卢雪冰,马跃,第三层交换机能够在网络层按照IP地址进行快速转发,同时具备传统的第二层交换机的特点,使得组建快速、高效、大规模的局域网成为�
  • 在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发。 二、交换机的转发行为 1、交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系。MAC地址表也称为CAM(Content ...
  • 一、vsphere 交换机分为两类:标准交换机、分布式交换机 与物理以太网交换机相同标准交换机:它检测与其虚拟端口进行逻辑相连的交换机,正确的转发信息。只在本地有效,且只能被一台主机使用识别。如果将上行链路...
  • 一、交换网络基础1、越来越多的用户需要接入到网络,...在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发。二、交换机的转发行为1、交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映...
  • 交换机

    2010-03-14 14:17:15
    交换机: v 交换机是用来连接局域网的主要设备 ▪ 交换机能够根据以太网帧中目标地址智能的... 存储转发:交换机接受整个帧之后再进行转发。 快速转发:只要交换端口接受了帧的足够部分,能够获悉了目的的MAC地...
  • 分为两类:标准交换机、分布式交换机 与物理以太网交换机相同 标准交换机:它检测与其虚拟端口进行逻辑相连的交换机,正确的转发信息。 只在本地有效,且只能被一台主机使用识别。 如果将上行链路适配器(即物理...
  • (一)以太网交换机基础以太网的最初形态就是在一段同轴电缆上连接多台计算机,所有计算机都共享这段电缆。...以太网交换机在数据链路层进行数据转发时需要确认数据帧应该发送到哪一端口,而不是简单的向所有端口转发...
  • 标准交换机和分布式交换机区别

    千次阅读 2020-08-04 14:58:25
    分为两类:标准交换机、分布式交换机 与物理以太网交换机相同 标准交换机:它检测与其虚拟端口进行逻辑相连的交换机,正确的转发信息。 只在本地有效,且只能被一台主机使用识别。 如果将上行链路适配器(即物理...
  • 012-A 交换机及VLAN

    2020-02-20 11:06:27
    交换机3种行为 参见:HCNA网络技术学习指南 第3.3以太网交换机,比较详细 常见的以太网设备包括Hub、交换机等。交换机工作在数据链路层,转发数据帧,它有效地...交换机进行转发,泛洪,丢弃 广播,未知单播,组播(...
  • 浅谈交换机MAC地址学习和数据转发

    万次阅读 多人点赞 2017-07-15 11:51:29
    PC1要与PC2通信,基于以太网通信中,必须在数据帧中指定目标MAC地址才可以进行正常通信。 假定PC1的arp表项中没有对应通信的PC2的MAC地址B与IP映射,那么PC1将广播一个“arp请求”,交换机通过port1 接收到PC1广播...
  • 以太网交换机厂商根据市场需求,推出了二层、三层甚至四层交换机。但无论如何,其核心功能仍是二层的以太网数据包交换,只是带有了一定的处理IP层甚至更高层数据包的能力。接下来就由飞畅科技来为大家详细介绍下二层...
  • 交换机原理

    2018-02-09 17:08:31
    常见的有以太网交换机、电话语音交换机、光纤交换机等等。 二、交换机的工作原理 1.根据收到pc机发出的数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。 2.将数据帧中的目的MAC地址同已...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 237
精华内容 94
关键字:

以太网交换机进行转发