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

    千次阅读 2018-07-06 17:45:08
    题目描述以太网交换机实质上就是一个多端口的网桥。网桥工作在数据链路层,根据...以太网交换机转发帧的步骤:先查找交换机的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;
    }


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

    千次阅读 2019-10-18 18:55:27
    二层交换机转发数据原理解析 一、什么是二层交换机 二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术的发展已经比较成熟,二层交换机属于数据链路层设备,可以识别数据帧中的MAC地址...

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

    一、什么是二层交换机

    二层交换机工作于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进行单播通讯。

    展开全文
  • 当PCA要想和PCC,PCB,PCD进行通信时,当该二层数据帧通过端口E1/0/1发送到交换机上时, 交换机会将PCA发送的数据帧中的源MAC地址和接受该数据帧的端口建立映射关系, 并将该映射关系生成映射条目保存到MAC地址表中...
    1
    :交换机
    MAC
    地址学习
    
     
    在交换机初始化的,也就是刚启动的时候,交换机的MAC地址表是没有任何MAC地址和端口的映射条目的
     
    PCA要想和PCCPCB,PCD进行通信时,当该二层数据帧通过端口E1/0/1发送到交换机上时,
    交换机会将PCA发送的数据帧中的源MAC地址和接受该数据帧的端口建立映射关系,
    并将该映射关系生成映射条目保存到MAC地址表中。
     
    PCBPCCPCD发出数据帧,通过和它相连接的交换机端口到达交换机时,交换机都会将其MAC地址和端口建立映射关系,并生成相应的映射条目,保存到交换机的MAC地址表中,这样交换机会完成了MAC地址学习的过程,
    2:交换机转发数据帧原理:
    单播帧的转发原理
     
    PCA想和PCD通讯时,PCA将二层数据帧发送到交换机,交换机通过E1/0/1端口接受到该数据帧,提取要发送的数据帧的目的MAC地址,,于是到MAC地址表中去查找该MAC地址与端口的映射条目,如果有该条目,就按照MAC地址表中的映射条目中的端口发送出去,上图中交换机在MAC地址表中通过目的MAC地址信息查找到该MAC地址与端口的映射条目,然后通过端口将数据帧发送到目的地址。


    广播和组播的转发原理
     
    PCA想和PCD通讯时,PCA将二层数据帧发送到交换机,交换机通过E1/0/1端口接受到该数据帧,提取要发送的数据帧的目的MAC地址,,于是到MAC地址表中去查找该MAC地址与端口的映射条目,如果该MAC地址表中没有该MAC地址与端口映射的条目,那么交换机就将该数据帧通过除源端口以外的其他端口广播出去, 上图中由于在交换机的MAC地址表中没有改目的MAC地址的映射条目,所有该交换机就将该数据帧从E1/0/2,E1/0/3E1/0/4广播出去,
    展开全文
  • 在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发。 二、交换机转发行为 1、交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系。MAC地址表也称为CAM(Content ...

    一、交换网络基础

    1、越来越多的用户需要接入到网络,交换机提供的大量的接入端口能够很好地满足这种需求。同时,交换机也彻底解决了困扰早期以太网的冲突问题,极大地提升了以太网的性能,同时也提高了以太网的安全性。

    2、交换机工作在数据链路层,对数据帧进行操作。在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发。

     

     

    二、交换机的转发行为

     

    1、交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系。MAC地址表也称为CAM(Content Addressable Memory)表。

    2、交换机对帧的转发操作行为一共有三种:

    泛洪(Flooding),转发(Forwarding),丢弃(Discarding)。

    1.泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去。

    2.转发:交换机把从某一端口进来的帧通过另一个端口转发出去。

    3.丢弃:交换机把从某一端口进来的帧直接丢弃。

    三、交换机初始状态

     

    1、初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。SWA为初始状态,

    在收到主机A发送的数据帧之前,MAC地址表中没有任何表项。

    学习MAC地址

    2、交换机将收到的数据帧的源MAC地址和对应接口记录到MAC地址表中

    主机A发送数据给主机C时,一般会首先发送ARP请求来获取主机C的MAC地址,此ARP请求帧中的目的MAC地址是广播地址,源MAC地址是自己的MAC地址。SWA收到该帧后,会将源MAC地址和接收端口的映射关系添加到MAC地址表中。缺省情况下,交换机学习到的MAC地址表项的老化时间为300秒。如果在老化时间内再次收到主机A发送的数据帧,SWA中保存的主机A的MAC地址和G0/0/1的映射的老化时间会被刷新。此后,如果交换机收到目标MAC地址为00-01-02-03-04-AA的数据帧时,都将通过G0/0/1端口转发。

    四、转发数据帧

    转发数据帧

    1、数据帧的目的MAC地址不在MAC表中,或者目的MAC地址为广播地址时,交换机会泛洪该帧。

    主机A发送的数据帧的目的MAC地址为广播地址,所以交换机会将此数据帧通过G0/0/2和G0/0/3端口广播到主机B和主机C。

    目标主机回复

    2、交换机根据MAC地址表将目标主机的回复信息单播转发给源主机。

    主机B和主机C接收到此数据帧后,都会查看该ARP数据帧。但是主机B不会回复该帧,主机C会处理该帧并发送ARP回应,此回复数据帧的目的MAC地址为主机A的MAC地址,源MAC地址为主机C的MAC地址。SWA收到回复数据帧时,会将该帧的源MAC地址和接口的映射关系添加到MAC地址表中。如果此映射关系在MAC地址表已经存在,则会被刷新。然后SWA查询MAC地址表,根据帧的目的MAC地址找到对应的转发端口后,从G0/0/1转发此数据帧。

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

    千次阅读 2017-09-30 14:48:43
    H3C参考: ... 举例一: 如图,交换机A 、B ,主机11给主机
  • 交换机的工作转发原理

    千次阅读 2020-01-21 10:56:33
    今天我们来看看,交换机的工作转发原理是什么样的。 交换机既然是利用端口进行网络数据传输,那么它是如何识别数据是谁给谁的呢? 其实交换机通电后会自动建立一个端口地址表,也叫MAC地址表它会记录每个设备的MAC...
  • 交换机端口转发规则

    千次阅读 2017-01-03 18:54:49
    交换机内部是能转发带VLAN标记的数据帧的,但VLAN标记要与端口PVID相同。 3,Trunk端口收发数据帧规则 收:Trunk端口收到不带标签的数据帧,会打上PVID,然后转发到PVID对应VLAN端口(PC2发出的数据...
  • 三层以太网交换机基本原理及转发流程 本文简要介绍了三层以太网交换机的二三层转发机制,主要目的是帮助读者进一步了解交换机的基本原理及转发流程,以期有利于更好的从事设备维护工作和建立于进一步学习的索引。 ...
  • 交换机的工作原理

    2020-06-01 16:43:06
    交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应...
  • NIC从网络层接收数据报,创建数据帧。 监听信道(1-坚持):如果NIC监听到信道空闲,则开始发送帧;如果NIC监听到信道忙,则一直等待到信道空闲,然后发送帧。 NIC发送完整个帧,而没有检测到其他结点的数据发送,则...
  • 交换机的工作原理一、以太网MAC地址二、以太网格式三、交换机的工作原理3.1交换机以太网接口的工作模式3.1.1单工3.1.2半双工3.1.3全双工交换机以太网接口速率3.2交换机转发原理 一、以太网MAC地址 MAC地址是用来...
  • 交换机VLAN二层转发机制

    千次阅读 2019-12-13 16:52:09
    根据端口划分是目前定义VLAN的最广泛的方法,IEEE 802.1Q规定了依据以太网交换机的端口来划分VLAN的国际标准 (2)基于Mac地址划分: 这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对每个MAC地址的主机配置...
  • --- IT动力源 ItZero.COMIT快报 <br /> 交换机基本原理和转发流程总结  关键词:  以太网集线器Ethernet HUB  交换机Switch  虚拟局域网 VLAN  路由器 Router  ...
  • 交换机

    2019-09-22 13:51:56
    问题1:交换机的工作原理是什么? 当交换机收到数据时,它会检查它的目的...某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接...
  • 交换机开发(一)—— 交换机的工作原理

    万次阅读 多人点赞 2018-03-30 23:14:49
    一、交换机的工作原理 当交换机收到数据时,它会检查它的...某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端...
  • 交换机的二层转发和三层转发

    千次阅读 2019-12-02 14:19:42
    二层交换设备工作在OSI模型的第二层,即数据链路层,它对数据包的转发是建立在MAC(Media Access Control )地址基础之上的。二层交换设备不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了...
  • 交换机有多个网络端口,它通过识别数据帧的目标 MAC 地址,根据 MAC 地址表决定从哪个端口发送数据。MAC 地址表不需要在交换机上手工设置,而是可以自动生成的。 交换机是如何添加、更新、删除 MAC 地址表条...
  •  转发器(Repeater)又被称为中继器或放大器,执行物理层协议,负责第一层(物理层)的数据中继,实现电气信号的“再生”。用于互连两个相同类型的网段,主要功能是延伸网段和改变传输媒体,从而实现信息位的转发。...
  • 交换机数据转发

    2015-04-10 23:25:49
    规划如果所示!!当所有设备配置后,查看交换机的mac表,发现交换机已经...)当R1要ping R3 时,这个时候R1要封装成,所以会先发送arp广播请求R3的mac地址,R3回复mac地址给R1(此时记录下R1的ip与mac的映射),有...
  • 网桥与交换机

    千次阅读 2021-11-13 12:40:13
    文章目录前言一、网桥二、以太网交换机(switch)总结 前言 提示:以下是本篇文章正文内容 一、网桥 冲突域: 在同一个冲突域中的每一个节点都能收到所有被发送的,同一时间内只能有一台设备发送信息的范围 广播...
  • 现在三层交换机基本都用相应的交换芯片来做,交换机的的主要功能从处理流程上来说主要有以下几点: 端口接收报文,并形成,进行端口统计、MTU检查,对报文的端口信息进行标注,分配报文buffer;解析端口的报文...
  • 文章目录链路层交换机交换机交换机互连交换机和路由器比较 链路层交换机 链路层交换机(下面就简称为交换机)的...每段链路是一个单独的冲突域,交换机在每段链路上利用 CSMA/CD 访问链路并发送数据帧,但无冲突,
  • 交换机基础知识

    2021-01-12 13:50:01
    交换机基础知识以太网交换机演进史 以太网交换机演进史 随着以太网的飞速发展,以太网交换机凭着高性能,低成本的优势在不断演进。目前已经成为应用最广泛的网络设备。早期的以太网设备如集线器是物理层设备,不能...
  • Layer2-2 交换机转发原理

    千次阅读 2016-07-07 21:53:26
    1、区分L2转发和L3转发,当交换机收到主机发来的电信号后,将这串电信号(数据包)串行化成交换机能识别的二进制数(01010101这样的bit),然后查看其中的目的MAC地址的bit位,如果发现目的MAC是未知的或者是记录与...
  • 是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间,发送时延 = 数据帧长度(b) / 信道带宽(b/s) 传播时延: 是电磁波在信道中传播一定的距离需要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,307
精华内容 1,722
关键字:

交换机转发数据帧的依据是