精华内容
下载资源
问答
  • 一、交换机的工作原理     当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录...

    一、交换机的工作原理

         当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应信息。某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端口上,然后交换机把数据帧从该端口转发出去。

    1.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。
    2.交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。
    3.如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。
    4.广播帧和组播帧向所有的端口转发。

    例:某网络如图1所示。

                                                                             图1 交换机地址表

    表1端口/MAC地址映射表

                    MAC地址                   

               端口              

    00-10-B5-4B-30-85

    E0/1

    00-10-B5-4B-30-90

    E0/2

    00-10-B5-4B-30-65

    E0/24

    假设主机pc1向主机pc7发送一个数据帧,该数据帧被送到交换机后,交换机首先查MAC地址表,发现主机pc7连接在E0/24接口上,就将数据帧从E0/24接口转发出去。


    二、MAC地址表的构建过程

           为快速转发报文,以太网交换机需要建立和维护MAC地址表。交换机采用源MAC地址学习的方法建立MAC地址表。

    (1)交换机初始状态

    交换机的初始状态MAC地址表为空,如图2所示。


                                                      图2 交换机地址表初始状态


    (2)地址表源MAC地址学习

         当计算机PC1要发送数据帧给计算机PC6时,因此时地址表是空的,交换机将向除PC1连接端口E0/1以外的其他所有端口转发数据帧。在转发之前,首先检查该数据帧的源MAC地址(00-10-B5-4B-30-85),并在交换机的MAC地址表中添加一条记录(00-10-B5-4B-30-85,E0/1)使之和端口E0/1相对应。

    (3)计算机PC6接收数据帧

        计算机PC6收到发送的数据帧后,用该数据帧的目的MAC地址和本机的MAC地址比较,发现PC1找的正是它,则接收该数据帧,其他计算机丢弃数据帧。

        计算机PC6回复PC1时,交换机直接从端口E0/1转发,并学习到(00-10-B5-4B-30-65)为PC6连接的端口,将其添加到地址表中,如图3所示。

                                                               图3 地址表源MAC地址学习


           交换机的其他端口利用源MAC地址学习的方法在MAC地址表中不断添加新的MAC地址与端口号的对应信息。直到MAC地址表添加完整为止。

          为了保证MAC地址表中的信息能够实时地反映网络情况,每个学习到的记录都有一个老化时间,如果在老化时间内收到地址信息则刷新记录。对没有收到相应的地址信息的则删除该记录。例如,计算机PC6停止了和交换机通信,达到老化时间后,交换机会将其对应的记录从MAC地址表中删除。

          也可以手工添加交换机的MAC地址表的静态记录,手工配置的静态记录没有老化时间的限制。由于MAC地址表中对于同一个MAC地址只能有一条记录,所以如果手工配置了MAC地址和端口号对应关系后,交换机就不再动态学习这台计算机的MAC地址了。


    三、交换机的三个主要功能 

    a -- 学习

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

    b -- 转发/过滤

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

    c -- 消除回路

          当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。


    四、交换机的工作特性 

    1.交换机的每一个端口所连接的网段都是一个独立的冲突域。 

    2.交换机所连接的设备仍然在同一个广播域内,也就是说,交换机不隔绝广播(惟一的例外是在配有VLAN的环境中)。 

    3.交换机依据帧头的信息进行转发,因此说交换机是工作在数据链路层的网络设备(此处所述交换机仅指传统的二层交换设备)。


    五、交换机的分类 

       依照交换机处理帧时不同的操作模式,主要可分为两类: 

    a -- 存储转发

           交换机在转发之前必须接收整个帧,并进行错误校检,如无错误再将这一帧发往目的地址。帧通过交换机的转发时延随帧长度的不同而变化。 

    b -- 直通式

          交换机只要检查到帧头中所包含的目的地址就立即转发该帧,而无需等待帧全部的被接收,也不进行错误校验。由于以太网帧头的长度总是固定的,因此帧通过交换机的转发时延也保持不变。


    六、二、三、四层交换机对比

    多种理解的说法:

    1.

    二层交换(也称为桥接)是基于硬件的桥接。基于每个末端站点的唯一MAC地址转发数据包。二层交换的高性能可以产生增加各子网主机数量的网络设计。其仍然有桥接所具有的特性和限制。

    三层交换是基于硬件的路由选择。路由器和第三层交换机对数据包交换操作的主要区别在于物理上的实施。 

    四层交换的简单定义是:不仅基于MAC(第二层桥接)或源/目的地IP地址(第三层路由选择),同时也基于TCP/UDP应用端口来做出转发决定的能力。其使网络在决定路由时能够区分应用。能够基于具体应用对数据流进行优先级划分。它为基于策略的服务质量技术提供了更加细化的解决方案。提供了一种可以区分应用类型的方法。


    2.

    二层交换机 基于MAC地址
    三层交换机 具有VLAN功能 有交换和路由///基于IP,就是网络
    四层交换机 基于端口,就是应用


    3.

    二层交换技术从网桥发展到VLAN(虚拟局域网),在局域网建设和改造中得到了广泛的应用。第二层交换技术是工作在OSI七层网络模型中的第二层,即数据链路层。它按照所接收到数据包的目的MAC地址来进行转发,对于网络层或者高层协议来说是透明的。它不处理网络层的IP地址,不处理高层协议的诸如TCP、UDP的端口地址,它只需要数据包的物理地址即MAC地址,数据交换是靠硬件来实现的,其速度相当快,这是二层交换的一个显著的优点。但是,它不能处理不同IP子网之间的数据交换。传统的路由器可以处理大量的跨越IP子网的数据包,但是它的转发效率比二层低,因此要想利用二层转发效率高这一优点,又要处理三层IP数据包,三层交换技术就诞生了。

    三层交换技术的工作原理

    第三层交换工作在OSI七层网络模型中的第三层即网络层,是利用第三层协议中的IP包的包头信息来对后续数据业务流进行标记,具有同一标记的业务流的后续报文被交换到第二层数据链路层,从而打通源IP地址和目的IP地址之间的一条通路。这条通路经过第二层链路层。有了这条通路,三层交换机就没有必要每次将接收到的数据包进行拆包来判断路由,而是直接将数据包进行转发,将数据流进行交换


    下面看一下详细分析:

    1、二层交换技术

          二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。

      具体的工作流程如下:

    (1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;

    (2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;

    (3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;

    (4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。

            不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。

    从二层交换机的工作原理可以推知以下三点:

    (1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;

    (2) 学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;

    (3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC(Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。

    以上三点也是评判二三层交换机性能优劣的主要技术参数,这一点请大家在考虑设备选型时注意比较。


    2、路由技术

           路由器工作在OSI模型的第三层---网络层操作,其工作模式与二层交换相似,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方式就不同。工作原理是在路由器的内部也有一个表,这个表所标示的是如果要去某一个地方,下一步应该向那里走,如果能从路由表中找到数据包下一步往那里走,把链路层信息加上转发出去;如果不能知道下一步走向那里,则将此包丢弃,然后返回一个信息交给源地址。

         路由技术实质上来说不过两种功能:决定最优路由和转发数据包。路由表中写入各种信息,由路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台路由器依照相同的工作方式继续转发,依次类推,直到数据包到达目的路由器。

        而路由表的维护,也有两种不同的方式。一种是路由信息的更新,将部分或者全部的路由信息公布出去,路由器通过互相学习路由信息,就掌握了全网的拓扑结构,这一类的路由协议称为距离矢量路由协议;另一种是路由器将自己的链路状态信息进行广播,通过互相学习掌握全网的路由信息,进而计算出最佳的转发路径,这类路由协议称为链路状态路由协议。

       由于路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。当然这一判断还是对中低端路由器而言,因为高端路由器往往采用分布式处理系统体系设计。


    3、三层交换技术

          近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?下面先来通过一个简单的网络来看看三层交换机的工作过程。

         组网比较简单

         使用IP的设备A------------------------三层交换机------------------------使用IP的设备B

         比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。

         如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。

       如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。

        以上就是三层交换机工作过程的简单概括,可以看出三层交换的特点:

    a -- 由硬件结合实现数据的高速转发。

    b -- 这就不是简单的二层交换机和路由器的叠加,三层路由模块直接叠加在二层交换的高速背板总线上,突破了传统路由器的接口速率限制,速率可达几十Gbit/s。算上背板带宽,这些是三层交换机性能的两个重要参数。

    c -- 简洁的路由软件使路由过程简化。

    d -- 大部分的数据转发,除了必要的路由选择交由路由软件处理,都是又二层模块高速转发,路由软件大多都是经过处理的高效优化软件,并不是简单照搬路由器中的软件。


    简单总结:

         二层交换机用于小型的局域网络。这个就不用多言了,在小型局域网中,广播包影响不大,二层交换机的快速交换功能、多个接入端口和低谦价格为小型网络用户提供了很完善的解决方案。

         路由器的优点在于接口类型丰富,支持的三层功能强大,路由能力强大,适合用于大型的网络间的路由,它的优势在于选择最佳路由,负荷分担,链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。

         三层交换机的最重要的功能是加快大型局域网络内部的数据的快速转发,加入路由功能也是为这个目的服务的。如果把大型网络按照部门,地域等等因素划分成一个个小局域网,这将导致大量的网际互访,单纯的使用二层交换机不能实现网际互访;如单纯的使用路由器,由于接口数量有限和路由转发速度慢,将限制网络的速度和网络规模,采用具有路由功能的快速转发的三层交换机就成为首选。

        一般来说,在内网数据流量大,要求快速转发响应的网络中,如全部由三层交换机来做这个工作,会造成三层交换机负担过重,响应速度受影响,将网间的路由交由路由器去完成,充分发挥不同设备的优点,不失为一种好的组网策略,当然,前提是客户的腰包很鼓,不然就退而求其次,让三层交换机也兼为网际互连。


    4、四层交换机

      第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层)应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。

      在第四层交换中为每个供搜寻使用的服务器组设立虚IP地址(VIP),每组服务器支持某种应用。在域名服务器(DNS)中存储的每个应用服务器地址是VIP,而不是真实的服务器地址。

      当某用户申请应用时,一个带有目标服务器组的VIP连接请求(例如一个TCP SYN包)发给服务器交换机。服务器交换机在组中选取最好的服务器,将终端地址中的VIP用实际服务器的IP取代,并将连接请求传给服务器。这样,同一区间所有的包由服务器交换机进行映射,在用户和同一服务器间进行传输。

    第四层交换的原理 

      OSI模型的第四层是传输层。传输层负责端对端通信,即在网络源和目标系统之间协调通信。在IP协议栈中这是TCP(一种传输协议)和UDP(用户数据包协议)所在的协议层。
      在第四层中,TCP和UDP标题包含端口号(portnumber),它们可以唯一区分每个数据包包含哪些应用协议(例如HTTP、FTP等)。端点系统利用这种信息来区分包中的数据,尤其是端口号使一个接收端计算机系统能够确定它所收到的IP包类型,并把它交给合适的高层软件。端口号和设备IP地址的组合通常称作“插口(socket)”。

      1和255之间的端口号被保留,他们称为“熟知”端口,也就是说,在所有主机TCP/IP协议栈实现中,这些端口号是相同的。除了“熟知”端口外,标准UNIX服务分配在256到1024端口范围,定制的应用一般在1024以上分配端口号.

       分配端口号的最近清单可以在RFc1700”Assigned Numbers”上找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第4层交换的基础。 

    "熟知"端口号举例: 

    应用协议         端口号 

    FTP                         20(数据)
               21(控制)

    TELNET                 23
    SMTP                     25
    HTTP                      80
    NNTP                     119
    NNMP                    16
                                   162(SNMP traps) 

         TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。

      具有第四层功能的交换机能够起到与服务器相连接的“虚拟IP”(VIP)前端的作用。

         每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址。这个VIP地址被发送出去并在域名系统上注册。

      在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址。

      每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP端口相关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现会话为止。

      在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。


            <div class="person-messagebox">
                <div class="left-message"><a href="https://blog.csdn.net/huan447882949">
                    <img src="https://profile.csdnimg.cn/2/3/2/3_huan447882949" class="avatar_pic" username="huan447882949">
                </a></div>
                <div class="middle-message">
                                        <div class="title"><span class="tit "><a href="https://blog.csdn.net/huan447882949" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;ab&quot;:&quot;new&quot;}" target="_blank">Leo-Lian</a></span>
                        <!-- 等级,level -->
                                                <img class="identity-icon" src="https://csdnimg.cn/identity/blog5.png">                                            </div>
                    <div class="text"><span>原创文章 35</span><span>获赞 137</span><span>访问量 32万+</span></div>
                </div>
                                <div class="right-message">
                                            <a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;ab&quot;:&quot;new&quot;}">关注</a>
                                                                <a href="https://im.csdn.net/im/main.html?userName=huan447882949" target="_blank" class="btn btn-sm bt-button personal-letter">私信
                        </a>
                                    </div>
                            </div>
                        
        </div>
    
    展开全文
  • 浅谈数据中心白盒交换机开发

    千次阅读 2018-07-31 11:42:10
    随着白盒交换机生态系统的发展,硬件,网络操作系统、控制、管理以及数据平面协议软件等逐步成熟,白盒交换机迎来了较大的发展,越来越多的客户投入到白盒交换机的研发和使用中,尤其在互联网行业,随着业务的精细化...

           随着白盒交换机生态系统的发展,硬件,网络操作系统、控制、管理以及数据平面协议软件等逐步成熟,白盒交换机迎来了较大的发展,越来越多的客户投入到白盒交换机的研发和使用中,尤其在互联网行业,随着业务的精细化发展,对网络的特制化的需求越来越多,自主可控的白盒交换机愈发显得重要。

          数据中心场景比较单一,需求明确,对软件特性的要求相对简单,非常适合采用白盒交换机

           白盒交换机的研发分为以下几个步骤

           需求分析->部件选型和供应商选型->ODM代工生产->软件开发->整机验证->部署/上市

        需求分析:

    确定交换机的定位,应用场景,通过应用场景,确认出产品的软硬件规格,比如,用于高性能计算,那么重点关注高带宽,软件特性非常简单,交换机的规格可能为32100G的盒式1U交换机。应用场景就是我们的需求,决定了我们的芯片选型,网络操作系统选型。

        选型

    包含硬件部件选型和供应商选型,网络操作系统选型

                CPU选型:CPU主要由嵌入式系统CPUX86 CPU,在传统的交换机中,CPU主要用于协议的计算,要求不高,通常选用嵌入式系统的CPU,比如Power PC的。在现在的数据中心中,为了更好的和linux以及外部系统兼容,数据中心交换机选择使用X86的也逐步成为一种趋势。

                交换芯片选型:交换芯片的供应商有博通,Marvel,擎发科技,barefoot,国内的盛科,有得成熟稳定,有的价格便宜,有的可编程等,每家芯片都有自己的特点以及应用场景,这个就需要根据应用场景进行选择,比如国内有不少公司采用barefoot的可编程特性来开发SD-WAN网关。

                ODM厂家选型:国内做ODM相关的厂商很多,不少给国外的互联网公司,如亚马逊,facebook生产白盒,技术也相对比较成熟,比如,天弘,富士康,智邦,DNI等,可以综合多家进行选择,也可以同时有多家供应商。

               网络操作系统选型:网络操作系统很多,比如商用的有iCOSmarvelIP InfusionPica 8metaswitch等,开源的有SONICopenswitch,这里,应用场景和定位就必须非常清晰,需求决定了网络操作系统。闭源的操作系统基本上是协议丰富,经过大规模的市场检验,但是也存在软件特性臃肿,开发性不够的缺点。如果白盒产品最终客户是企业网客户,那么建议选用闭源操作系统,如果是互联网客户,具备较强的技术实力,可选用SONICSONIC虽然距离商用还有一段距离,但是满足简单场景下的使用,是可行的,比如,高性能计算,数据中心TOR设备。个人判断,SONIC将是未来的发展方向,将极大的简化和改造我们的网络。SONIC的安全性,稳定性,可靠性方面还有待加强。

        ODM代工生产

             定义好硬件规格和选型后,由ODM代工商生产,这里也需要关注主要部件的生产和选择,如PCB板,电源,不同的选材,价格差异较大,比如不同的电源存在不同的输入电压,在电压不稳定的时候,电源的差异就会暴露出来。建议在关键件选择上,都选择通过CCC认证的,这样至少有一定的质量保证。这个时候,最好也有硬件工程师,对产品硬件的设计,生产进行审核,保证产品的生产没有问题

         软件开发

             硬件样机出来后,需要进行相关的EMC等测试,同时,进行软件的适配,芯片SDK由芯片厂家提供,BSPODM厂家提供,需要将网络操作适配到样机上,此项工作由ODM厂家和交换机厂家共同开发完成。现在大部分芯片都支持SAI接口,网络操作系统只要支持SAI接口,那么可以快速的实现交换机的功能。但SAI一个交换机功能的最小集,如果要实现更多的复杂功能,需要网络操作系统进行驱动适配。

         整机验证

             软件开发完成后,就可以进行整机的系统测试,包括特性功能测试,稳定性,可靠性,性能,规格等方面的测试,同时,将设备部署在真实的业务场景中进行测试。

         部署上市

             测试完成后,交换机产品就可以进入量产阶段,如果要对外销售,需要到工信部申请入网认证(NAL证书,此操作可以部分提交到软件开发完成阶段),如果是自用,则可以进行上线部署运行

     

    以上,是一款白盒交换机开发的大体过程,如果是成熟产品,历时3-4个月即可开发完成,如果是定制产品,历时7-9月即可上市。

    展开全文
  • 一、交换机的工作原理  当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC...

    一、交换机的工作原理

         当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应信息。某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端口上,然后交换机把数据帧从该端口转发出去。

    1.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。
    2.交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。
    3.如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。
    4.广播帧和组播帧向所有的端口转发。

    例:某网络如图1所示。

                                                                             图1 交换机地址表

    表1端口/MAC地址映射表

                    MAC地址                   

               端口              

    00-10-B5-4B-30-85

    E0/1

    00-10-B5-4B-30-90

    E0/2

    00-10-B5-4B-30-65

    E0/24

    假设主机pc1向主机pc7发送一个数据帧,该数据帧被送到交换机后,交换机首先查MAC地址表,发现主机pc7连接在E0/24接口上,就将数据帧从E0/24接口转发出去。

     

    二、MAC地址表的构建过程

           为快速转发报文,以太网交换机需要建立和维护MAC地址表。交换机采用源MAC地址学习的方法建立MAC地址表。

    (1)交换机初始状态

    交换机的初始状态MAC地址表为空,如图2所示。

                                                      图2 交换机地址表初始状态

     

    (2)地址表源MAC地址学习

         当计算机PC1要发送数据帧给计算机PC6时,因此时地址表是空的,交换机将向除PC1连接端口E0/1以外的其他所有端口转发数据帧。在转发之前,首先检查该数据帧的源MAC地址(00-10-B5-4B-30-85),并在交换机的MAC地址表中添加一条记录(00-10-B5-4B-30-85,E0/1)使之和端口E0/1相对应。

    (3)计算机PC6接收数据帧

        计算机PC6收到发送的数据帧后,用该数据帧的目的MAC地址和本机的MAC地址比较,发现PC1找的正是它,则接收该数据帧,其他计算机丢弃数据帧。

        计算机PC6回复PC1时,交换机直接从端口E0/1转发,并学习到(00-10-B5-4B-30-65)为PC6连接的端口,将其添加到地址表中,如图3所示。

                                                               图3 地址表源MAC地址学习

     

           交换机的其他端口利用源MAC地址学习的方法在MAC地址表中不断添加新的MAC地址与端口号的对应信息。直到MAC地址表添加完整为止。

          为了保证MAC地址表中的信息能够实时地反映网络情况,每个学习到的记录都有一个老化时间,如果在老化时间内收到地址信息则刷新记录。对没有收到相应的地址信息的则删除该记录。例如,计算机PC6停止了和交换机通信,达到老化时间后,交换机会将其对应的记录从MAC地址表中删除。

          也可以手工添加交换机的MAC地址表的静态记录,手工配置的静态记录没有老化时间的限制。由于MAC地址表中对于同一个MAC地址只能有一条记录,所以如果手工配置了MAC地址和端口号对应关系后,交换机就不再动态学习这台计算机的MAC地址了。

     

     

    三、交换机的三个主要功能 

    a -- 学习

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

    b -- 转发/过滤

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

    c -- 消除回路

          当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。

     

    四、交换机的工作特性 

    1.交换机的每一个端口所连接的网段都是一个独立的冲突域。 

    2.交换机所连接的设备仍然在同一个广播域内,也就是说,交换机不隔绝广播(惟一的例外是在配有VLAN的环境中)。 

    3.交换机依据帧头的信息进行转发,因此说交换机是工作在数据链路层的网络设备(此处所述交换机仅指传统的二层交换设备)。

     

    五、交换机的分类 

       依照交换机处理帧时不同的操作模式,主要可分为两类: 

    a -- 存储转发

           交换机在转发之前必须接收整个帧,并进行错误校检,如无错误再将这一帧发往目的地址。帧通过交换机的转发时延随帧长度的不同而变化。 

    b -- 直通式

          交换机只要检查到帧头中所包含的目的地址就立即转发该帧,而无需等待帧全部的被接收,也不进行错误校验。由于以太网帧头的长度总是固定的,因此帧通过交换机的转发时延也保持不变。

     

    六、二、三、四层交换机对比

    多种理解的说法:

    1.

    二层交换(也称为桥接)是基于硬件的桥接。基于每个末端站点的唯一MAC地址转发数据包。二层交换的高性能可以产生增加各子网主机数量的网络设计。其仍然有桥接所具有的特性和限制。

    三层交换是基于硬件的路由选择。路由器和第三层交换机对数据包交换操作的主要区别在于物理上的实施。 

    四层交换的简单定义是:不仅基于MAC(第二层桥接)或源/目的地IP地址(第三层路由选择),同时也基于TCP/UDP应用端口来做出转发决定的能力。其使网络在决定路由时能够区分应用。能够基于具体应用对数据流进行优先级划分。它为基于策略的服务质量技术提供了更加细化的解决方案。提供了一种可以区分应用类型的方法。

     

    2.

    二层交换机 基于MAC地址
    三层交换机 具有VLAN功能 有交换和路由///基于IP,就是网络
    四层交换机 基于端口,就是应用

     

    3.

    二层交换技术从网桥发展到VLAN(虚拟局域网),在局域网建设和改造中得到了广泛的应用。第二层交换技术是工作在OSI七层网络模型中的第二层,即数据链路层。它按照所接收到数据包的目的MAC地址来进行转发,对于网络层或者高层协议来说是透明的。它不处理网络层的IP地址,不处理高层协议的诸如TCP、UDP的端口地址,它只需要数据包的物理地址即MAC地址,数据交换是靠硬件来实现的,其速度相当快,这是二层交换的一个显著的优点。但是,它不能处理不同IP子网之间的数据交换。传统的路由器可以处理大量的跨越IP子网的数据包,但是它的转发效率比二层低,因此要想利用二层转发效率高这一优点,又要处理三层IP数据包,三层交换技术就诞生了。

    三层交换技术的工作原理

    第三层交换工作在OSI七层网络模型中的第三层即网络层,是利用第三层协议中的IP包的包头信息来对后续数据业务流进行标记,具有同一标记的业务流的后续报文被交换到第二层数据链路层,从而打通源IP地址和目的IP地址之间的一条通路。这条通路经过第二层链路层。有了这条通路,三层交换机就没有必要每次将接收到的数据包进行拆包来判断路由,而是直接将数据包进行转发,将数据流进行交换

     

    下面看一下详细分析:

    1、二层交换技术

          二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。

      具体的工作流程如下:

    (1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;

    (2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;

    (3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;

    (4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。

            不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。

    从二层交换机的工作原理可以推知以下三点:

    (1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;

    (2) 学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;

    (3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC(Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。

    以上三点也是评判二三层交换机性能优劣的主要技术参数,这一点请大家在考虑设备选型时注意比较。

     

    2、路由技术

           路由器工作在OSI模型的第三层---网络层操作,其工作模式与二层交换相似,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方式就不同。工作原理是在路由器的内部也有一个表,这个表所标示的是如果要去某一个地方,下一步应该向那里走,如果能从路由表中找到数据包下一步往那里走,把链路层信息加上转发出去;如果不能知道下一步走向那里,则将此包丢弃,然后返回一个信息交给源地址。

         路由技术实质上来说不过两种功能:决定最优路由和转发数据包。路由表中写入各种信息,由路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台路由器依照相同的工作方式继续转发,依次类推,直到数据包到达目的路由器。

        而路由表的维护,也有两种不同的方式。一种是路由信息的更新,将部分或者全部的路由信息公布出去,路由器通过互相学习路由信息,就掌握了全网的拓扑结构,这一类的路由协议称为距离矢量路由协议;另一种是路由器将自己的链路状态信息进行广播,通过互相学习掌握全网的路由信息,进而计算出最佳的转发路径,这类路由协议称为链路状态路由协议。

       由于路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。当然这一判断还是对中低端路由器而言,因为高端路由器往往采用分布式处理系统体系设计。

     

    3、三层交换技术

          近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?下面先来通过一个简单的网络来看看三层交换机的工作过程。

         组网比较简单

         使用IP的设备A------------------------三层交换机------------------------使用IP的设备B

         比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。

         如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。

       如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。

        以上就是三层交换机工作过程的简单概括,可以看出三层交换的特点:

    a -- 由硬件结合实现数据的高速转发。

    b -- 这就不是简单的二层交换机和路由器的叠加,三层路由模块直接叠加在二层交换的高速背板总线上,突破了传统路由器的接口速率限制,速率可达几十Gbit/s。算上背板带宽,这些是三层交换机性能的两个重要参数。

    c -- 简洁的路由软件使路由过程简化。

    d -- 大部分的数据转发,除了必要的路由选择交由路由软件处理,都是又二层模块高速转发,路由软件大多都是经过处理的高效优化软件,并不是简单照搬路由器中的软件。

     

    简单总结:

         二层交换机用于小型的局域网络。这个就不用多言了,在小型局域网中,广播包影响不大,二层交换机的快速交换功能、多个接入端口和低谦价格为小型网络用户提供了很完善的解决方案。

         路由器的优点在于接口类型丰富,支持的三层功能强大,路由能力强大,适合用于大型的网络间的路由,它的优势在于选择最佳路由,负荷分担,链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。

         三层交换机的最重要的功能是加快大型局域网络内部的数据的快速转发,加入路由功能也是为这个目的服务的。如果把大型网络按照部门,地域等等因素划分成一个个小局域网,这将导致大量的网际互访,单纯的使用二层交换机不能实现网际互访;如单纯的使用路由器,由于接口数量有限和路由转发速度慢,将限制网络的速度和网络规模,采用具有路由功能的快速转发的三层交换机就成为首选。

        一般来说,在内网数据流量大,要求快速转发响应的网络中,如全部由三层交换机来做这个工作,会造成三层交换机负担过重,响应速度受影响,将网间的路由交由路由器去完成,充分发挥不同设备的优点,不失为一种好的组网策略,当然,前提是客户的腰包很鼓,不然就退而求其次,让三层交换机也兼为网际互连。

     

    4、四层交换机

      第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层)应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。

      在第四层交换中为每个供搜寻使用的服务器组设立虚IP地址(VIP),每组服务器支持某种应用。在域名服务器(DNS)中存储的每个应用服务器地址是VIP,而不是真实的服务器地址。

      当某用户申请应用时,一个带有目标服务器组的VIP连接请求(例如一个TCP SYN包)发给服务器交换机。服务器交换机在组中选取最好的服务器,将终端地址中的VIP用实际服务器的IP取代,并将连接请求传给服务器。这样,同一区间所有的包由服务器交换机进行映射,在用户和同一服务器间进行传输。

    第四层交换的原理 

      OSI模型的第四层是传输层。传输层负责端对端通信,即在网络源和目标系统之间协调通信。在IP协议栈中这是TCP(一种传输协议)和UDP(用户数据包协议)所在的协议层。
      在第四层中,TCP和UDP标题包含端口号(portnumber),它们可以唯一区分每个数据包包含哪些应用协议(例如HTTP、FTP等)。端点系统利用这种信息来区分包中的数据,尤其是端口号使一个接收端计算机系统能够确定它所收到的IP包类型,并把它交给合适的高层软件。端口号和设备IP地址的组合通常称作“插口(socket)”。

      1和255之间的端口号被保留,他们称为“熟知”端口,也就是说,在所有主机TCP/IP协议栈实现中,这些端口号是相同的。除了“熟知”端口外,标准UNIX服务分配在256到1024端口范围,定制的应用一般在1024以上分配端口号.

       分配端口号的最近清单可以在RFc1700”Assigned Numbers”上找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第4层交换的基础。 

    "熟知"端口号举例: 

    应用协议         端口号 

    FTP                         20(数据)
               21(控制)

    TELNET                 23
    SMTP                     25
    HTTP                      80
    NNTP                     119
    NNMP                    16
                                   162(SNMP traps) 

         TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。

      具有第四层功能的交换机能够起到与服务器相连接的“虚拟IP”(VIP)前端的作用。

         每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址。这个VIP地址被发送出去并在域名系统上注册。

      在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址。

      每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP端口相关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现会话为止。

      在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。

    --------------------- 本文来自 Leo-Lian 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/huan447882949/article/details/79764605?utm_source=copy

    展开全文
  • ViVitz智能开关 此git包含ESP8266智能交换机固件和Android App的项目文件,使用MQTT协议在App和设备之间进行通信
  • Marvell交换机开发资料收集

    千次阅读 2017-07-07 16:05:02
    1. SPI Flash相关 SPI总线之CPOL CPHA(转)_冻柿子的家_新浪博客 http://blog.sina.com.cn/s/blog_9cc7125c0100yk1s.html

    1. SPI Flash相关

    (1)SPI总线之CPOL CPHA(转)_冻柿子的家_新浪博客
    http://blog.sina.com.cn/s/blog_9cc7125c0100yk1s.html

    (2)W25Q256学习 - ye_wei_yang的专栏 - CSDN博客
    http://blog.csdn.net/ye_wei_yang/article/details/72901711

    (3)SPI详解及SPI接口flash举例 - u010246947的专栏 - CSDN博客
    http://blog.csdn.net/u010246947/article/details/17390975

    (4)SPI_FLASH时序描述及驱动编程 - strongerHuang - 博客园
    http://www.cnblogs.com/strongerHuang/p/5730253.html

    (5)S3C2440 Linux驱动移植——SPI - 嵌入式Linux - CSDN博客
    http://blog.csdn.net/yj4231/article/details/7777945

    (6)SPI子系统分析之四:驱动模块 - 冷烟花 - 博客园
    http://www.cnblogs.com/jason-lu/articles/3165327.html

    展开全文
  • 三层交换机报文转发过程 如图所示,假如主机A想访问主机B,首先主机A会将自己的IP地址和子网掩码做与操作,得出网路地址(如:Host-A的IP地址100.1.1.2与自身掩码255.255.255.0做与操作后,得到的网络号是100.1....
  • 交换机收到ARP广播报文后,首先学习ARP报文Ethernet头部的源MAC地址,交换机芯片将自动记录主机A的MAC地址(00e0-d26b-8121)、接收该ARP报文的交换机接口号(E1/0/0)及此接口所属的VLAN(VLAN 10)等信息,并形成一条MAC表...
  • 利用三层交换机在局域网中划分VLAN,可以满足用户端多种灵活的逻辑组合,防止了广播风暴的产生,对不同 VLAN 之间可以根据需要设定不同的访问权限,以此增加网络的整体安全性,极大地提高网络管理员的工作效率,而且第...
  • 你在你的android设备上使用开发者选项吗?比如“show overdraw”或“show layout bounds”?
  • 一、ARP协议简介   Internet是由各种各样的物理网络通过使用诸如路由器之类的设备连接在一起组成的。当主机发送一个数据包到另一台主机的过程中 可能要经过多种不同的物理网络。主机和路由器都是在网络层通过IP...
  • 利用三层交换机在局域网中划分VLAN,可以满足用户端多种灵活的逻辑组合,防止了广播风暴的产生,对不同 VLAN 之间可以根据需要设定不同的访问权限,以此增加网络的整体安全性,极大地提高网络管理员的工作效率,而且第...
  • KSZ系列,千兆交换机开发,外部IO硬件配置。
  • 程控交换机接口开发

    2013-05-04 11:13:21
    阿尔卡特程控交换机接口开发的有关函数和说明文档
  • 交换机命令

    2013-09-10 19:26:49
    交换机开发 交换机命令
  • 交换机交换机

    2014-05-26 14:36:39
    交换机交换机
  • 西门子交换机CTC接口的开发文档,很全。
  • 东进kegoo交换机C#开发示列,基于OCX开发

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,811
精华内容 23,124
关键字:

交换机开发