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

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


    展开全文
  • 以太网数据的封装

    千次阅读 2017-11-09 19:56:42
    以太网数据格式与封装解封  我们在上一文中介绍了以太网5层模型,这一节我想学习一下以太网数据封装与解封的知识,了解以太网数据是如何传输的。 一、数据封装  当我们应用程序用TCP传输数据的时候,数据被送入...

    以太网数据格式与封装解封

          我们在上一文中介绍了以太网5层模型,这一节我想学习一下以太网数据封装与解封的知识,了解以太网数据是如何传输的。
    一、数据封装
          当我们应用程序用TCP传输数据的时候,数据被送入协议栈中,然后逐个通过每一层,知道最后到物理层数据转换成比特流,送入网络。而再这个过程中,每一层都会对要发送的数据加一些首部信息。整个过程如下图。




           如图可以看出,每一层数据是由上一层数据+本层首部信息组成的,其中每一层的数据 ,称为本层的协议数据单元   ,即PDU.
           应用层数据在传输层添加TCP报头后得到的PDU被称为 Segment(数据段 ),图示为TCP段
           传输层的数据(TCP段)传给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包); 图示为IP数据包
           网络层数据报(IP数据包)被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧),图示为以太网帧。
           最后,帧被转换为比特,通过网络介质传输。这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。
    二、数据格式
           需要注意的是,这里所说的以太网帧,与我们常说的以太网是不一样的。下面我们就来介绍每一层数据的 首部信息 内容。
           首先我们知道世界上有个协会叫作IEEE,即电子工程师协会,里面有个分会,叫作IEEE802委员会,是专门来制定局域网各种标准的。而802下面还有个分部,叫作802.3.就是我们经常提到的 IEEE802.3,这个部门制定的规范叫以太网规范,这个以太网规范中就定义了上面提到的“以太网首部”,这个以太网规范,实际只定义了数据链路层中的MAC层和物理层规范。(注意数据链路层包括MAC子层和LLC子层两个子层,而LLC子层是在IEEE802.2中规范的)。
    1、以太网帧格式
            以太网常用帧格式有两种,一种是Ethernet II,另一种是IEEE 802.3 格式。这两种格式区别是:Ethernet II中包含一个Type字 段,。而IEEE 802.3格式中,此位置是长度字段。 其中Type字段描述了,以太网首部 后面所跟数据包的类型,例如Type为0x8000时为IP协议包,Type为8060时,后面为ARP协议包。以太网中多数数据帧使用的是Ethernet II帧格式。
          a、 Ethernet II帧格式

        

         b、IEEE 802.3 帧格式

            
         前导码:Ethernet II是由8个8‘b10101010构成,IEEE802.3由7个8‘b10101010+1个字节SFD..
         目的地址:目的设备的MAC物理地址。
         源 地址 :发送设备的MAC物理地址。
         类型(Ethernet II)以太网首部 后面所跟数据包的类型,例如Type为0x8000时为IP协议包,Type为8060时,后面为ARP协议包。
         长度(IEEE802.3):当长度小于1500时,说明该帧为IEEE802.3帧格式,大于1500时,说明该帧为Ethernet II帧格式。
         数据:数据长度最小为46字节,不足46字节时,填充至46字节。因为最小帧长度是64字节,所以,46+6+6+2+4=64。(不算前导码)
         FCS: 就是CRC校验值

         以太网首部就是:

    2、IP数据包格式
        IP数据包格式如下图。IP首部,如图也表示出来了。

        
    3、TCP数据段格式
            如图所示为TCP首部和TCP数据段格式

    下面我们再介绍几个常见的数据格式

    4、UDP数据段格式--传输层的

        
        其中UDP首部如上图所示。
    5、ARP数据包格式(摘自:来源: http://blog.sina.com.cn/s/blog_9c5d29f70101dwgk.html)



    1)硬件类型字段指明了发送方想知道的硬件接口类型,以太网的值为1

    2)协议类型字段指明了发送方提供的高层协议类型,IP080016进制);

    3)硬件地址长度和协议长度指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;

    4)操作字段用来表示这个报文的类型,ARP请求为1ARP响应为2RARP请求为3RARP响应为4

    5)发送方的硬件地址(0-3字节):源主机硬件地址的前3个字节;

    6)发送方的硬件地址(4-5字节):源主机硬件地址的后3个字节;

    7)发送方IP0-1字节):源主机硬件地址的前2个字节;

    8)发送方IP2-3字节):源主机硬件地址的后2个字节;

    9)目的硬件地址(0-1字节):目的主机硬件地址的前2个字节;

    10)目的硬件地址(2-5字节):目的主机硬件地址的后4个字节;

    11)目的IP0-3字节):目的主机的IP地址。

    来自为知笔记(Wiz)

    展开全文
  • 以太网数据通信

    2019-03-27 21:48:56
    目录 总线型网络拓扑 星型网路结构 网络拓扑结构:1,总线型网络拓扑 2,环形网络拓扑 3,星型网络拓扑 ...转发机制非常落后,只通过数据泛洪进行数据转发 冲突域:基于集线器将多个网络设备组在...

    目录

    总线型网络拓扑

    星型网路结构


    网络拓扑结构:1,总线型网络拓扑

                             2,环形网络拓扑

                             3,星型网络拓扑

    总线型网络拓扑

    基于集线器Hub,已被淘汰,主要原因是带宽低,只支持半双工,而且是一层设备,

    转发机制非常落后,只通过数据泛洪进行数据转发

    冲突域:基于集线器将多个网络设备组在一起的区域

    以太网帧:发到交换机的数据就是数据帧

    两台主机连接一根网线,需要遵守相应的协议才护具可以通信,而这些协议由数据链路层定义。

    网络设备看不懂数据载荷,只能给数据载荷添加报头

    应用程序产生数据流量,使用以太网二封装

    网络设备产生控制层面流量,使用IEEE 802.3封装


    星型网路结构

    二层智能设备:交换机(全双工模式)

    可以识别帧头和帧尾,实现精确数据转发,交换机MAC地址表由 管理员配置-->静态,学习-->老化

    交换机的接口可以分割冲突域,也可以放大信号,交换机连接范围内,星型网络中的所有成员--->广播域

    网络内通信(局域网)和网络间(广域网)通信

    网络内:在同一个广播域,网络设备为集线器和交换机,负责数据转发,内网使用私有地址

    网络间:不在同一个广播域,原IP和目的IP不在一个网络号,公网使用公网地址

    边界设备使用防火墙和路由器(可以隔离广播域)

    跨广播域的终端之间不能直接通信,必须基于IP地址,但数据帧的传递需要基于MAC地址

    网关:一个以太网局域网通往另外一个以太网局域网的“关口”

    一般网关以IP的第一位和最后一位来指定   xxx.xxx.xxx.1    xxx.xxx.xxx.254     192.168.1.1   192.168.1.254

    展开全文
  • 以太网交换

    2019-08-17 00:28:56
    熟悉以太网数据帧结构 学会查看MAC地址白哦 理解二层交换机的基本工作原理 8.1二层交换基础 我们在生活中所见的局域网几乎均以以太网技术实现,以太网交换机是非常重要及基础的网络设备。 交换机通常以两种形态呈现...

    理解MAC地址的基本概念及用途
    熟悉以太网数据帧结构
    学会查看MAC地址白哦
    理解二层交换机的基本工作原理

    8.1二层交换基础
    我们在生活中所见的局域网几乎均以以太网技术实现,以太网交换机是非常重要及基础的网络设备。
    交换机通常以两种形态呈现:二层交换机和三层交换机。二层交换机指的是只具备二层交换功能的交换设备。三层交换机除了二层交换机的功能,还具备三层路由和三层数据转发功能。所谓二层交换就是根据数据链路层信息对数据进行转发的行为,指的是TCP/IP对等模型。
    对等模型:物理层 数据链路层 网络层 传输层 应用层

    8.1.1MAC地址
    数据链路层的基本功能是将源设备的网络层下发的数据传输到链路上的目的相邻设备,为保证数据能够准确的送达目的相邻设备,还需借助一个第二层地址。在以太网中,MAC地址用于定位设备和第二层的数据寻址。
    MAC地址分为三种:
    一:单播MAC地址
    用于唯一的标识一台设备的某个接口,第一个字节的最低比特位为0。通常也被称为硬件地址,具有全球唯一性。
    二:组播MAC地址
    标识了一组设备,第一个字节的最低比特位为1,一个组播MAC地址所标识的一组设备有着共同的特点,那就是都加入了相同的组播组,这些设备将会这怎听目的MAC地址为该组播MAC地址的数据帧。组播和广播MAC地址不能作为数据真的源MAC地址,而只能作为目的MAC地址
    三:广播MAC地址
    所有比特位全是1(因此广播MAC地址就是ffff-ffff-ffff),标示了所有的以太网接口。所有收到该数据帧的网卡都要处理他。

    8.1.2以太网数据帧
    IP包要在以太网数据路上传输,要增加以太网的封装,形成一个以太网帧。有两种标准,一个是IEEE 802.3格式,另一个是Ethernet Ⅱ格式。目前的设备兼容两种格式的以太网帧,但大多数使用Ethernet Ⅱ格式。
    Ethernet Ⅱ格式各个字段描述如下:
    目的MAC地址:标识了该数据帧的接收者,目的MAC地址可以是的单播,组播,广播
    源MAC地址:标识了该数据帧的发送者,只能是单播MAC地址
    类型:表示该数据帧头部后所封装的上层协议类型,值为00800则表示IPv4报文,值为086dd则表示IPv6报文
    载荷数据:长度为46-1500byte
    CRC(Cyclie Redundancy Check):循环冗余效验字段,用于检测数据帧在传输过程中是否发生损坏。

    8.1.3MAC地址表
    包含着MAC地址,VLAN-ID以及交换机接口等信息。当某个接口收到一份数据帧时,他将该数据真的源MAC地址学习到MAC地址表追踪,并且与收到该帧的接口以及该接口所加入的VLAN进行关联,从而形成一个表项。
    交换机在接受数据帧时,通过检测数据帧从而自动学习到的MAC地址表项是动态表项,在MAC地址表中,这些表项的类型为Dynamic(动态)。动态的MAC地址表是存在老化时间的,缺省为300s
    除了动态的MAC地址表之外,我们可以为交换机添加静态的表项,并不会被老化

    8.1.4二层交换的工作原理
    当交换机的某个接口收到一个单播数据帧是,他将首先读取数据帧的目的MAC地址,并在自己的MAC地址表中查询该地址,如果没有,则将该数据帧进行泛洪。如果MAC地址表存在该表项,并收到该帧的接口与该表项中对应的接口不同时,则将数据从对应接口转发出去;如果相同,则丢弃该帧
    当交换机收到一个数据帧,会读取数据帧的MAC地址,如果该地址在MAC地址表中不存在,则交换机将创建一个MAC地址表项,并将该MAC地址及收到该数据帧的接口记录在该表项中,这就是交换机的MAC地址学习功能。
    两台PC通过交换机通信,PC1构造IP数据包,在以太网中传输时会封装一个以太网的帧头。交换机收到数据帧后,首先会借助数据帧尾部的CRC字段进行差错效验。然后读取数据帧中目的MAC地址,如果没有匹配表项,则泛洪该数据帧。
    PC2收到交换机转发的数据帧后,发现目的MAC地址与自己的网卡相同,并且对数据帧进行解封装。
    PC2要回复一份数据给PC1,将数据封装成帧后,从网卡接口发出,交换机将数据帧的源MAC地址学习到MAC地址表中。
    当交换机收到一个广播帧后,是不会查询MAC地址表,而是之间进行泛宏操作
    收到一个组播帧时,缺省情况下,交换机会进行泛洪处理,如果部署了IGMP Snooping的二层组播技术,会被交换机从特定的接口转发出去

    8.2.1VLAN的概念及意义
    如果存在一个由许多二层交换机构成的大型二层网络,在这个大规模的广播域中,出现广播帧或目的MAC地址未知的单播帧引起的大量泛洪现象,网络的负担会非常大
    VLAN可以将一个物理的LAN在逻辑上划分多个广播域。

    8.2.2VLAN的跨交换机实现
    不同VLAN的流量都在交换机互联链路上传输,这条链路被称为干道链路。由于链路两端接口需要识别对端发送的数据帧属于哪一个VLAN,我们需要对数据帧进行特定的标记。

    展开全文
  • 网桥工作在数据链路层,根据MAC帧的目的地址对收到的帧进行转发或过滤。当网桥收到一个帧时,并不是向所有的端口转发此帧,而是根据此帧的目的MAC地址,查找网桥中的MAC地址表,然后确定将该帧转发到哪一个端口,或...
  • 从串口中接收数据,转为以太网的服务端,设置侦听端口,即可在本机上启动以太网服务器 实现从串口中接收到的数据以太网转发出去。
  • 以太网数据链路层协议分析

    千次阅读 2015-07-30 21:09:29
    其他局域网,比如令牌环网、F D D I和R S-2 3 2串行线路采用的是不一样的技术,因此数据链路层的协议也不一致。比如PPP和SLIP就是适用于串行线路的。另外PPPOE是在以太网的基础上封装了PPP协议,方便运营商计费和...
  • 以太网数据帧协议分析

    万次阅读 2015-10-17 17:58:53
    通过本次总结,更直观的学习了数据报和帧格式和入户正确快速利用搜索的其他主机的MAC地址和IP地址(121.42.123.186),将数据填入帧格式中。在实验中遇到不懂的问题及时细读实验要求和实验内容原理或者直接问同学,增强...
  • 以太网数据帧详细解析 逐字节分析

    千次阅读 2020-08-25 21:18:49
    以太网数据帧详细解析 详细解析以太网通信数据帧 测试环境 机器名 mac ip port tcp_server 00:0c:29:8b:37:da 10.1.2.7 9502 tcp_client 00:50:56:c0:00:08 10.1.2.1 12345 抓包 客户端向服务端发送 '...
  • 交换以太网和共享式以太网区别   集线器,又称Hub,在OSI模型中属于数据链路层。但由于集线器属于共享型设备,导致了在繁重的网络中,效率变得十分低下,易产生广播风暴。所以我们在中、大型的网络中看不到集线...
  • 那么,交换机的转发方式有哪几种呢?接下来我们就跟随飞畅科技的小编一起来详细了解下吧! 转发方式: 1.直通转发(cut-through switching ) 2.存储转发(Store-and-Forward switching) 3.无碎片转
  • SDH光网络以太网数据单板特性介绍

    千次阅读 2020-10-27 17:24:07
    1.以太网单板完成的功能 2. 1.不同标准定义业务类型的比较 4. ITU-T(G.8011) EPL EVPL EPLAN EVPLAN 2.1 EPL 以太网专线(Ethernet Private Line):EPL有两个业务接入点,实现对用户以太网MAC帧进行点到点的透明...
  • 以太网数据链路层)学习笔记

    万次阅读 2016-05-05 18:08:44
    从共享式以太网发展到交换以太网 出现VLAN和三层交换技术 从低速以太网发展到高速以太网 传输媒体从采用同轴电缆到双绞线缆和光纤 从共享式以太网发展到交换以太网总线形以太网拓扑结构 为了解决信号的衰弱...
  • CSMA/CD总线以太网交换以太网

    千次阅读 2019-06-09 08:24:00
    为什么以太网最初没有采用TDM或者FDM或者随便别的什么xxDM,而是采用随机统计分时复用的CSMA/CD呢? 以太网流量是突发的 以太网流量不要求实时 以太网无连接 其实,甚至 冲突检测 都是次要的,它只是优化,而并非...
  • 串口数据以太网

    千次阅读 2018-09-28 14:55:16
    DTU (Data Transfer unit),是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备。DTU广泛应用于气象、水文水利、地质等行业。 1.概述  串口转以太网目前可以采用...
  • 共享式以太网交换以太网的区别

    万次阅读 多人点赞 2019-06-12 07:39:23
    而交换机则属于数据链路层,是一种基于MAC地址的、能够完成数据封装转发的网络设备。交换机可以“学习”MAC地址,并将其存放在内部的地址表中,通过在数据帧的始发者和接收者之间建立临时的交换路径,交换机可以将...
  • 【计算机网络基础】数据链路之以太网 在众多数据链路中最为著名,使用最为广泛的莫过于以太网。它的规范简单,易于NIC...以太网最早是由美国的Xeros公司与前DEC公司设计的一种通信方式,当时命名为Ethernet,之后
  • 以太网交换原理

    千次阅读 2014-02-17 20:12:40
    以太网交换原理 本文力求阐明以太网交换原理,并对相关知识作以介绍。 1 以太网交换机相关概念 1.1 传统的电话交换技术 交换概念始于电话交换。传统电话网由传输电路与电话交换机组成,处于网络节点的交换机...
  • 在车载以太网测试过程中,抓取以及分析车载以太网的通信是必不可少的一步,抓取通信后通常还需要对数据进行保存。这个保存的数据格式通常为.pcap格式; 使用这个.pcap格式的,除了专门的车载以太网测试软件外,还有...
  • Broadcom以太网交换芯片转发流程

    千次阅读 2014-02-14 16:23:17
    http://wenku.baidu.com/view/625b73fec8d376eeaeaa3174.html
  • 以太网根据传输方式可分为 共享式以太网交换以太网   共享式以太网 共享式以太网顾名思义就是所有设备共享同一带宽。 共享带来的问题就是冲突严重,所以以太网中采用CSMA/CD来解决这个问题 CS(Carrier ...
  • Modbus以太网传输方式

    千次阅读 2019-08-06 23:38:26
    因此,如果在TCP 连接端这个过程没有发送数据,在两个TCP 模块间就没有交换任何数据。这就假设客户机端应用和服务器端应用均采用计数器来探测连接的存活性,以便关闭连接。 建议:在客户机与服务器连接两端均采用...
  • STM32 LWIP TCP以太网传输数据

    万次阅读 热门讨论 2015-05-21 16:03:07
    最近在做以太网数据传输,要把AD采到的数据通过网口发送给上位机(客户端),我采用的是LWIP协议栈,实现了功能。做项目时间紧,也要先看一下LWIP协议栈,TCP ,UDP传输协议。我采用的是TCP协议数据传输,好处是传输...
  • 以太网的其他名称就是内网和局域网。 在局域网中有两种通信方式,一种是基于ppp协议的点对点通信。另一种是基于CSMA/CD的广播通信。 集线器(Hub):集线器(hub)属于纯硬件网络底层设备,基本上不具有类似于交换机的...
  • 路由器查看IP数据包的IP头部,将IP头部中的目的IP地址拿到路由表中进行查找,找到匹配的条目后,依照条目所指示的下一跳IP地址及出接口信息将数据包进行转发。 从上面的描述我们可以看出几点信息: 路由是基于...
  • 数据链路层的建立维护与删除,数据帧的包装,传输与同步, 以太网帧的格式,交换机的转发原理(环境,过程,原理) 交换机的命令行配置(用户,特权,接口,全局配置模式,)
  • 以太网

    千次阅读 2018-03-17 11:20:34
    3.0以太网发展过程与内容简介以太网是当今最广泛的局域网。... 最初以太网是总线式以太网(共享式以太网以太网交换机诞生,共享式以太网转变为交换以太网交换导致大量MAC帧广播导致危害,VLAN出现三层交...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,298
精华内容 26,119
关键字:

以太网数据转发方式