精华内容
下载资源
问答
  • 三层涵义 三层交换机“三层”指是OSI(开放系统互连)七层参考模型下面三层。如果您想理解三层交换,首先就需要理解OSI参考模型。 1、什么是OSI参考模型 OSI参考模型是国际标准化组织为了解决不同系统...
    三层的涵义

      三层交换机中的“三层”指的是OSI(开放系统互连)七层参考模型的下面三层。如果您想理解三层交换,首先就需要理解OSI参考模型。

      1、什么是OSI参考模型

      OSI参考模型是国际标准化组织为了解决不同系统的互联而提出的模型,它将计算机网络按功能划分为七个层次,这就是网络通信中的七层模型或七层结构,各层名称如图1所示。


    图1  OSI各层之间存在相互依存关系。如果没有底层,上层也将无从存在。举一个浅显的例子。网络上数据传输就像是过地下通道,必须一级一级台阶地下,然后一级一级台阶地上,才能完成整个过程,如图2所示。



    图2


      2、OSI参考模型与网络设备

      OSI参考模型与网络设备,如集线器、交换机、路由器,存在一一对应的关系,图3就是OSI模型下三层与网络设备及网络设备处理的数据单元的对应图。

      (1)第一层——物理层

      物理层设备是最低层次的网络设备,主要负责实际的信号传输,即比特流。对于物理层设备来讲,它只认识比特流,至于什么MAC地址、IP地址,它什么也不知道。有些校园网中现在还在使用的集线器(Hub)就是典型的物理层设备。

      (2)第二层——数据链路层

      数据链路层负责在两个主机上建立数据链路连接,向物理层传输数据帧,并对信号进行处理使之无差错并合理地传输。

      校园网中我们最常使用的交换机(Switch)就是典型的数据链路层设备。对于数据链路层设备来讲,它只认识帧和比特流(二层以下的数据),至于IP地址(三层以上的东西),它就不知道了。“帧”是第二层的数据单元,而且只在第二层中才有意义。

      二层交换机只能连接IP地址在同一子网内的计算机,如果计算机的IP地址在不同的子网内,即使连接在同一台交换机的端口上,虽然近在咫尺,也不能相互通信,因为现在的计算机是通过IP地址相互通信的,而交换机不能识别IP地址。

      (3)第三层——网络层

      网络层主要负责路由,即选择合适的路径的功能。网络中经常使用的路由器(Router)就是典型的网络层设备,它能够识别帧中的三层地址。比如一台IP地址为“192.168.1.1”的计算机想与IP地址为“10.1.1.2”的计算机通信,因为它们不在同一子网里,必须通过路由器路由才能实现通信。

     三层交换机的工作原理

      三层交换是相对于传统的交换概念而提出的。传统的交换技术是在OSI网络参考模型中的第二层(即数据链路层)进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发。简单地说,三层交换技术就是二层交换技术+三层转发技术,三层交换机就是“二层交换机+基于硬件的路由器”。



    图3

      那么三层交换是怎样实现的呢?三层交换的技术细节非常复杂,不可能一下子讲清楚,不过您可以简单地将三层交换机理解为由一台路由器和一台二层交换机构成,如图4所示。

      两台处于不同子网的主机通信,必须要通过路由器进行路由。在图4中,主机A向主机B发送的第1个数据包必须要经过三层交换机中的路由处理器进行路由才能到达主机B,但是当以后的数据包再发向主机B时,就不必再经过路由处理器处理了,因为三层交换机有“记忆”路由的功能。

      三层交换机的路由记忆功能是由路由缓存来实现的。当一个数据包发往三层交换机时,三层交换机首先在它的缓存列表里进行检查,看看路由缓存里有没有记录,如果有记录就直接调取缓存的记录进行路由,而不再经过路由处理器进行处理,这样的数据包的路由速度就大大提高了。如果三层交换机在路由缓存中没有发现记录,再将数据包发往路由处理器进行处理,处理之后再转发数据包。



    图4

      三层交换机的缓存机制与CPU的缓存机制是非常相似的。大家都有这样的印象,开机后第一次运行某个大型软件时会非常慢,但是当关闭这个软件之后再次运行这个软件,就会发现运行速度大大加快了,比如本来打开Word需要5~6秒,关闭后再打开Word,就会发现只需要1~2秒就可以打开了。原因在于CPU内部有一级缓存和二级缓存,会暂时储存最近使用的数据,所以再次启动会比第一次启动快得多。

      具有“路由器的功能、交换机的性能” 的三层交换机虽然同时具有二层交换和三层路由的特性,但是三层交换机与路由器在结构和性能上还是存在很大区别的。在结构上,三层交换机更接近于二层交换机,只是针对三层路由进行了专门设计。之所以称为“三层交换机”而不称为“交换路由器”, 原因就在于此;在交换性能上,路由器比三层交换机的交换性能要弱很多。

    展开全文
  • 路由器的工作原理 路由器(三层设备) 当数据包进入路由器时,路由器先查看数据包中的目标MAC地址;   1、广播 —解封装到3层   2、组播 —每一个组播地址均存在自己的MAC地址;基于目标MAC就...

    路由器的工作原理

    路由器(三层设备)
    当数据包进入路由器时,路由器先查看数据包中的目标MAC地址;

      1、广播 —解封装到3层

      2、组播 —每一个组播地址均存在自己的MAC地址;基于目标MAC就可以判断本地是否
    需要解封装;若本地设备加入了该组将解包,否则直接丢弃

      3、单播 —目标MAC为路由器接收到该流量的接口mac地址 --解封装
                       目标MAC不是本地路由器的mac地址 --丢弃

    二层解封装完成后,查看3层报头;默认路由器仅查看目标ip地址;
      1、广播 —解封装

      2、组播 —若路由器加入了该组,解封;若没有加入,丢弃

      3、单播 —目标ip地址为路由器,继续解封
                        目标ip地址为其他设备,路由器将查询本地的路由表—TCAM

    注:交换机的CAM表二进制表格,TCAM由1、0、x构成 x标识主机位

    数据交换方式(路由方式)

    1、原始包交换—先查询本地的TCAM表,再查看本地的ARP表来确定目标或者下一跳的mac地址—前提网络环境为以太网

    2、快速交换一次路由多次交换 基于数据流的第一个包进行TCAM和ARP表查询;之后将该通过过程—源目ip地址、进出接口、新的二层封装记录到缓存中;生成一个cache列表;该数据量的第二个包将基于缓存直接转发;

    3、特快交换 最早由cisco提出;CEF技术 无需路由直接交换
    路由器将本地的路由表和ARP直接转换为二进制的列表;之后将两个表格整合形成转发规则;

      路由表—FIB转发信息数据库 –解决完了递归
      ARP—adj 邻居关系表

    网络类型

    判断接口网络类型:关注接口的二层封装技术。

    1、点到点 – 在一网段内只能存在两个物理接口
    2、BMA – 广播型多路访问网络 在一个MA网络中,同时存在广播洪泛机制
    3、NBMA – 非广播型多路访问网络 在一个MA中不支持洪泛机制,只能使用伪广播来进行广播或组播行为

    MA:多路访问,在一个网段内物理节点数量不做限制

    二层交换机的作用

    1、提供端口密度,用于更多节点的互联 集线器(HUB)也可以实现
    2、对电流信息进行识别在转发;故理论上可以无限延长传输距离
    3、完全没有冲突域;实现所有节点间的同时数据收发
    4、二层单播

    二层交换机的工作原理

    数据帧进入交换机后,交换机先查看数据帧中的源mac地址,基于该mac的进入接口记录到本地的MAC地址表—CAM 表

    标准CAM MAC+ 接口编号 哈希运算

    支持vlan基础的CAM MAC+接口编号+VLAN ID 哈希运算

    哈希运算==hash 散列函数算法 – 摘要提取法

    最常用哈希算法 MD5 SHA-1 -128 -256 -512

    哈希算法特点

    1、不等长的输入,等长的输出
    2、雪崩效应
    3、不可逆向运算

    3层交换机工作原理

    三层交换机:二层交换机和路由器的功能集合设备;

    当一个数据包进入3层交换机后;

    1、先查看源mac地址,生成cam

    2、再查看目标mac地址

        1)广播 —洪泛 同时解封装
        2)组播 —洪泛或者基于组转发 若该设备处于该组同时解封
        3)单播 —目标mac为本地,直接解封 目标mac为其他设备基于cam表转发

    3、解封装后,查看目标ip地址;此时行为将和路由器一致

    思维导图

    在这里插入图片描述

    展开全文
  • 路由器的工作原理三层设备) 当数据包进入路由器时,路由器先查看数据包中的目标MAC地址; 此时有三种情况: 1、广播-------解封装到3层 2、组播-------每一个组均存在自己的MAC地址;基于目标MAC就可以判断本地...

    路由器的工作原理(三层设备)

    当数据包进入路由器时,路由器先查看数据包中的目标MAC地址;

    此时有三种情况:
    1、广播-------解封装到3层
    2、组播-------每一个组均存在自己的MAC地址;基于目标MAC就可以判断本地是否需要解封装;若本地加入了该组就解包,否则直接丢弃
    3、单播-------目标MAC为路由器收到该流量的接口MAC地址(解封装)
    目标MAC不是本地路由器的MAC地址(丢弃)

    二层解封装完成后,查看三层报头;默认路由器仅查看目标ip地址

    之后基于目标ip:
    1、广播-------解封装到4层
    2、组播-------若路由器加入了改组(解封)
    若路由器没有加入改组(丢弃)
    3、单播-------目标ip地址为路由器(继续解封)
    目标ip地址为其他设备,路由器将查询本地的路由表(TCAM)

    CAM:

    (摘选,原文链接:https://blog.csdn.net/u013710265/article/details/72232312)
    “CAM表”:就是指二层交换机上运行的Cisco IOS在内存中维护的一张表,CAM表是交换机在二层转发数据要查找的表,表中有MAC地址,对应的端口号,端口所属的VLAN。

    交换机的每一个二层端口都有MAC地址自动学习的功能,当交换机收到PC发来的一个帧,就会查看帧中的源MAC地址,并查找CAM表,如果有就什么也不做,开始转发数据。如果没有就存入CAM表,以便当其他人向这个MAC地址上发送数据时,可以决定向哪个端口转发数据。

    需要注意的是,数据帧的转发是依据目的MAC地址查询CAM表,而CAM表的学习则是以源MAC地址为依据

    数据交换方式(路由方式)

    1、原始包交换-------先查本地TCAM表,再查本地ARP确定下一跳MAC地址(以太网)

    2、快速交换-------一次路由多次交换,基于数据流的第一个包进行TCAM和ARP表查询;之后将该通过过程,“源目ip地址,进出接口”,新的二层封装记录到缓存中;生成一个cache列表,该数据流的第二个包基于缓存直接转发
    3、特快交换-------最早由cisco提出;CEF技术无需路由直接交换
    路由器将本地的路由表和ARP直接转换为二进制的列表;随后将两个表格整合形成转发规则;

    路由表

    路由表-------路由信息数据库 RIB
    保存传输层/网络层所涉及的相关信息
    路由器处理数据流程:
    原图链接:https://blog.csdn.net/yueyadao/article/details/86709503
    在这里插入图片描述
    相关进程:

    协议号 协议
    1 ICMP
    2 IGMP
    4 被ip封装的ip
    46 资源预留协议(RSVP)
    47 通用路由封装(GRE)
    54 NHRP
    88 EIGRP
    89 OSPF

    如果数据包可被路由,那么路由器将会查找路由表获得一个正确的路径。在数据库中的每个路由表项至少包括下面两项:
    1、目标地址-------这是路由器可这到达的网络地址。
    2、指向目标的指针-------指针不是指向路由器的直连目标网络,就是指向直连目标网络内的另一台路由器(下一跳路由器),或者是到达这个链路的本地接口。
    路由器将会通过最常匹配原则匹配,优先级高到低匹配顺序如下
    主机地址(最优先)
    子网
    一组子网(一条汇总)
    主网号
    一组主网号(超网)
    缺省地址(最后选择)
    如果数据包的目标地址不能匹配到任何一条路由表项,那么数据包将被丢弃,同时一个“目标网络不可达”的ICMP消息将会发给源地址。

    网络类型

    1、点到点-------在一网段只能存在两个物理接口
    2、BMA-------广播型多路访问网络;在一个MA网络中,同时存在广播洪泛机制
    3、NBMA-------非广播型多路访问网络;在一个MA中不支持洪泛机制,只能使用伪广播(多次发送达到广播效果)来进行广播或组播行为

    二层交换机的作用:

    1、提供端口密度,用于更多的节点的互联(集线器)
    2、对电流信息进行识别再转发-------理论上可以无限延长传输距离
    3、完全没有冲突,实现所有节点间的同时数据收发
    4、二层单播

    二层交换机的工作原理:

    数据帧进入交换机后,交换机先查看数据帧中的源MAC地址,基于该MAC的进入接口记录到本地的MAC地址表-------CAM表
    标准CAM-------MAC+接口编号-------哈希运算
    支持VLAN基础的CAM-------MAC+接口编号+VALANID-------哈希运算
    哈希算法特点:
    1、不等长的输入,等长的输出
    2、雪崩效应
    3、不可逆向运算

    三层交换机的工作原理:

    (二层交换机和路由器的功能集合设备)
    当一个数据包进入3层交换机后:
    1、先查看源MAC地址,生成CAM
    2、再查看目标MAC地址
    (1)广播-------洪泛,同时解封装
    (2)组播-------洪泛或者基于组转发
    (3)单播-------目标MAC为本地,直接解封
    目标MAC为其他设备基于CAM表转发
    3、解封装后,查看目标ip地址;
    此时行为将和路由器一致

    展开全文
  • 三层交换机工作原理

    万次阅读 多人点赞 2017-09-03 13:53:52
     路由器的三层转发主要依靠CPU进行,而三层交换机的三层转发依靠ASIC芯片完成,这就决定了两者在转发性能上的巨大差别。当然,三层交换机并不能完全替代路由器,路由器所具备的丰富的接口类型、良好的流量服务等级...

    此处还有一篇介绍三层交换机的文章:http://blog.csdn.net/lycb_gz/article/details/8780851


     路由器的三层转发主要依靠CPU进行,而三层交换机的三层转发依靠ASIC芯片完成,这就决定了两者在转发性能上的巨大差别。当然,三层交换机并不能完全替代路由器,路由器所具备的丰富的接口类型、良好的流量服务等级控制、强大的路有能力等仍然是三层交换机的薄弱环节。目前的三层交换机一般是通过VLAN来划分二层网络并实现二层交换的,同时能够实现不同VLAN间的三层IP互访。在讨论三层交换机的转发原理之前有必要交代一下不同网络的主机之间互访时的行为:


    (1)源主机在发起通信之前,将主机的IP与目的主机的IP进行比较,如果两者位于同一个网段(用网络掩码计算后具有相同的网络号),那么源主机直接向目的主机发送ARP请求,在收到目的主机的ARP应答后获得对方的物理层(MAC)地址,然后用对方MAC作为报文的目的MAC进行报文发送。位于同一VLAN(网段)中的主机互访时属于这种情况,这时用于互连的交换机作二层交换转发;


    (2)档源主机判断目的主机与主机位于不同的网段时,它会通过网关(Gateway)来递交报文,即发送ARP请求来获取网关IP地址对应的MAC,在得到网关的ARP应答后,用网关MAC作为报文的目的MAC进行报文发送。注意,发送报文的源IP是源主机的IP,目的IP仍然是目的主机的IP。位于不同VLAN(网段)中的主机互访时属于这种情况,这时用于互连的交换机作三层交换转发。


    为了后续讨论的三层交换原理便于理解,这里简单介绍一下三层交换机内部结构,如图1所示:
     
    三层交换结构

    图1 三层交换机硬件结构
    三层交换机内部的两大部分是ASID和CPU,它们的作用分别如下:
    1.ASIC:完成主要的二三层转发功能,内部包含用于二层转发的MAC地址表以及用于IP转发的三层转发表;
    2.CPU:用于转发的控制,主要维护一些软件表项(包括软件路由表、软件ARP表等等),并根据软件表项的转发信息来配置ASIC的硬件三层转发表。当然,CPU本身也可以完成软件三层转发。
    从三层交换机的结构和各部分作用可以看出,真正决定高速交换转发的是ASIC中的二三层硬件表项,而ASIC的硬件表项来源于CPU维护的软件表项。
    下面分别以两种组网情况下主机间的通信来解释三层交换机的转发原理。
    组网1如图2所示,通信的源、目的主机连接在同一台三层交换机上,但它们位于不同VLAN(网段)。对于三层交换机来说,这两台主机都位于它的直连网段内,它们的IP对应的路由都是直连路由。

    路由
    图2 三层转发组网
    图2中标明了两台主机的MAC、IP地址、网关,以及三层交换机的MAC、不同VLAN配置的三层接口IP。当PC A 向PC B 发起ICMP请求时,流程如下:(假设三层交换机上还未建立任何硬件转发表项)
    1.PC A 首先检查出目的IP地址2.1.1.2(PC B)与自己不在同一个网段,因此它发出请求网关地址1.1.1.1对应MAC的ARP请求;
    2.L3_SW收到PC A 的ARP请求后,检查请求报文,发现被请求IP是自己的三层接口IP,因此发送ARP应答并将自己的三层接口MAC(MAC S)包含在其中。同时它还会把PC A 的IP 地址与MAC地址对应起来(1.1.1.2<==>MAC A)关系记录到自己的ARP表项中去(因为ARP请求报文中包含了发送者的IP和MAC);
    3.PC A得到网关(L3_SW)的ARP应答后,组装ICMP请求报文并发送,报文的目的MAC = MAC S 、源MAC = MAC A 、源IP=1.1.1.2、目的IP = 2.1.1.2;
    4.L3_SW收到报文后,首先根据报文的源MAC+VID(即VLAN ID)更新MAC地址表。然后,根据报文的目的MAC+VID查找MAC地址表,发现匹配了自己三层接口MAC的表项。这里说明一下,三层交换机为VLAN配置三层接口IP后,会在交换芯片的MAC地址表中添加三层接口MAC+VID的表项,并且为表项的三层转发标志置位。当报文的目的MAC匹配这样的表项以后,说明需要作三层转发,于是继续查找交换芯片的三层表项;
    5.芯片根据报文的目的IP去查找其三层表项,由于之前未建立任何表项,因此查找失败,于是将报文送到CPU去进行软件处理;
    6.CPU根据报文的目的IP去查找其软件路由表,发现匹配了一个直连网段(PC B对应的网段),于是继续查找其软件ARP表,仍然查找失败。然后L3_SW会在目的网段对应的VLAN3的所有端口发送请求地址2.1.1.2对应MAC的ARP请求;
    7.PC B收到L3_SW发送的ARP请求后,检查发现被请求IP是自己的IP,因此发送ARP应答并将自己的MAC(MAC B)包含在其中。同时,将L3_SW的IP与MAC的对应关系(2.1.1.1<==>MAC S)记录到自己的ARP表中去;
    8.L3_SW收到PC B的ARP应答后,将其IP和MAC对应关系(2.1.1.2<==>MAC B)记录到自己的ARP表中去,并将PC A的ICMP请求报文发送给PC B,报文的目的MAC修改为PC B 的MAC(MAC B),源MAC修改为自己的MAC(MAC S)。同时,在交换芯片的三层表项中根据刚才得到的三层转发信息添加表项(内容包括IP、MAC、出口VLAN、出端口等),这样后续的PC A发送PC B的报文就可以通过该硬件三层表项直接转发了;
    9.PC B收到L3_SW转发过来的ICMP请求报文以后,回应ICMP应答给PC A。ICMP应答报文的转发过程与前面类似,只是由于L3_SW在之前已经得到PC A的IP和MAC对应关系了,也同时在交换芯片中添加了相关的三层表项,因此这个报文直接由交换芯片硬件转发给PC A;
    这样,后续的往返报文都经过查MAC表=>查三层转发表的过程由交换芯片直接进行硬件转发了。
    从上述流程可以看书,三层交换正是充分利用了“一次路由(首包CPU转发并建立三层转发硬件表项)、多次交换(后续包芯片硬件转发)”的原理实现了转发性能与三层交换的完美统一。
     
    下面介绍另一种组网情况的三层转发流程,如图3所示。
    路由

    如图3 三层转发组网2
    图3中标明了两台主机的MAC、IP地址、网关,以及两台三层交换机的MAc、不同VLAN配置的三层接口IP。假设L3_SW1上配置了静态路由:ip route2.1.1.0 255.255.255.0 3.1.1.2;L3_SW2上配置了静态路由:ip route1.1.1.0 255.255.255.0 3.1.1.1。当然,路由信息也可以通过动态路由协议的交互来获得,有关路由的知识请查阅相关文档。
    这种组网情况下的转发过程与图2的组网1情况是类似的,下面的流程讲解中降省略部分前面已经分析过的细节问题。当PCA向PCB发起ICMP请求时,流程如下:(假设三层交换机上还未建立任何硬件转发表项)
    1.PC A首先检查出目的IP地址2.1.1.2(PC B)与自己不在同一个网段,因此它通过ARP解析得到网关地址1.1.1.1对应的MAC(MAC S1)。然后,PC A组装ICMP请求报文并发送,报文的目的MAC=MAC S1、源MAC=MAC A、源IP=1.1.1.2、目的IP=2.1.1.2;
    2.L3_SW1收到报文后,首先根据报文的源MAC+VID更新MAC地址表。然后,根据报文的目的MAC+VID查找MAC地址表,发现匹配了自己三层接口MAC的表项,于是继续查找芯片的三层转发表;
    3.由于之前未建立任何表项,因此三层转发表查找失败,于是将报文送到CPU去进行软件处理;
    4.CPU根据报文的目的IP去查找其路由软件表,发现匹配路由2.1.1.0/24,其下一跳IP地址为3.1.1.2,于是继续查找3.1.1.2是否有对应的ARP,仍然查找失败。然后L3_SW1在下一跳地址3.1.1.2对应的VLAN4内发起ARP请求,并得到L3_SW2的回应,从而得到I和MAC对应关系(3.1.1.2<==>MAC S2);
    5.L3_SW1将Pc A发出的ICMP请求报文转发给L3_Sw2,报文的目的MAC修改为L3_SW2的MAC(MAC S2),源MAc修改为自己的MAC(MAC S1)。同时,将刚刚用到的转发信息添加到交换芯片的三成转发表中去,包括匹配的网段2.1.1.0/24、下一跳地址的MAC(MAC S2)、出口VLAN、出端口。这样,后续发往2.1.1.2的报文就可以直接通过交换芯片硬件转发了;
    6.L3_SW2收到报文后,与组网1中的处理类似,经过查MAC表=>查三层转发表=>送CPU=>匹配直连路由=>ARP解析=>转发报文同时添加硬件表项的过程,将报文转发给PC B,此时报文的目的MAC修改为PC B的MAC(MAC B),源MAC修改为L3_SW2的MAC(MAC S2)。这样后续发往2.1.1.2的报文就直接由交换芯片硬件转发了;
    7.PC B收到来自PC A的ICMP请求报文后进行ICMP应答。由于在ICMP请求报文转发的过程中,每个网段的两端节点都已经通过ARP解析得到了对方的IP和MAC对应关系,因此应答报文的转发完全由交换芯片完成(查MAC表=>查三层转发表=>发送);
    这样,后续的往返报文都经过查MAC表=>查三层转发表的过程由交换芯片直接进行硬件转发了。
    从上述两种组网情况下的转发流程可以看出,三层交换机的转发具有以下特点:
    1.首包通过CPU转发,同时建立交换芯片硬件表项;后续包由交换芯片直接硬件转发,即常说的“一次路由、多次交换”;
    2.交换芯片的硬件转发并不关心路由的具体下一跳IP地址是多少,硬件三层表项中只包含了目的地址(或网段)、目的IP(或下一跳IP)对应的MAC、出口VLAN、出端口;(这里说明一下,并不是所有的三层交换机的硬件三层表项都会包含“出端口”的。)
    3.IP报文每经过一次三层转发,它的源、目的MAC都会变化,但是源IP、目的IP是始终不变。
     
    在三层交换转发中,交换芯片(ASIC)起到了至关重要的作用,因此三层交换机的性能和转发特点主要取决于交换芯片的实现机制。在三层交换原理一节中讲解的三层交换原理只是一个大致的转发流程,对于使用了不同交换芯片的三层交换机,其硬件转发过程中的一些细节内容是有所区别的。本节主要就硬件三层表项的结构和查表方式介绍几种不同的实现。
     
    从前面的描述可以看出,三层转发是必然需要路由信息的,而转发过程中的路由选择决定了报文的最终出口如何,三层交换机只是将这种路由功能整合到交换芯片中去了。路由选择存在精确匹配和最长匹配两种方式,精确匹配即目的IP地址与路由的地址信息必须完全吻合,而最长匹配则是选择所有包含了目的地址的路由中掩码最长的一条。
    早期的三层交换机上,其交换芯片多采用精确匹配的方式,它们的硬件三层表项中只包含其目的IP地址,并不带掩码信息。比如在转发目的IP为2.1.1.2的报文时,通过软件查找匹配了非直路由2.1.1.0/24,那么就将2.1.1.2的转发信息添加到交换芯片中去,如果继续来了目的IP为2.1.1.3的报文需要转发,则需要重新进行软件查找,并在交换芯片中为2.1.1.3增加新的表项。这样的选录方式表项结构对交换芯片的硬件资源要求很高,因为芯片中集成的表项存储空间是有限的,如果要发大量目的IP地址不同的报文那么就需要添加大量的硬件表项。曾经泛滥一时的冲击波病毒,就导致了当时大量的只支持精确匹配的三层交换机资源耗尽。因为冲击波病毒的手段之一就是发送巨数量的网段扫描报文,而多数三层交换机上都配置了缺省路由,这样所有的报文在CPU软件查找都能够找到匹配路由,进而针对每一个病毒报文的目的IP都需要新增硬件表项并迅速将硬件资源满。这样,大部分用户的正常数据流由于转发资源耗尽而得不到高速处理了。
    由于精确匹配方式的三层交换机的这种缺陷,后期的三层交换机增加了对最长匹配方式的支持,即硬件三层表项中可同时包含IP地址和掩码,在查找时遵循最长匹配原则。这种类型的三层交换机,一般在软件路由表建立时就将路由信息添加到硬件三层表中去,包括直连路由和非直连路由。对于直连路由,对应的硬件三层表项的“to CPU”标志位始终置1,报文的目的IP匹配这样的表项被送往CPU处理,CPU软件会在直连网段发送ARP请求,并将获取的ARP信息作为主机路由添加到硬件表项中(对应的“to CPU”标志位置0),这样后续的同样目的IP的报文就直接通过新添加的硬件表项转发了;对于非直连路由,当下一跳地址对应ARP信息还未获得时,对应的硬件三层表项的“to CPU”标志位置1,报文的目的IP匹配这样的表项以后被送往CPU处理,CPU软件会在下一跳地址对应的直连网段发送ARP请求,并使用获取的ARP信息中的下一跳MAC、出口VLAN等信息更新对应的硬件三层表项,然后将其“to CPU”标志位置0,这样后续的目的IP匹配该非直连路由的报文就能够直接通过修改后的硬件表项转发了。
    目前,大多数的三层交换机均能够同时支持精确匹配表项和最长匹配表项,一般来说精确匹配表项对应于软件中的ARP表,最长匹配表项对应于软件中的直连路由和非直连路由。
    在交换机三层转发流程中,曾经提到,硬件三层表项由目的IP(或网段)、目的IP(或下一跳IP)对应MAC、出口VLAN、出端口组成,采用这样表项的三层交换芯片一般直接通过查找三层转发表项就能够完成转发。这种处理机制流程简单、转发效率高,但是也使得CPU软件对硬件表项的配置控制比较复杂,因为每当IP地址对应的MAC和物理端口出现变化,就必须对三层转发表项进行更新。而在交换机上二层信息变化的可能性是比较大的,特别是交换机支持链路聚合、生成树等冗余机制,所以在某些应用环境中CPU不得不经常的对三层转发表进行更新,一旦更新出现问题(特别是出端口错误)必然对转发造成严重的不利影响。
    不过,并不是所有的三层交换机的硬件三层表项都带有出端口信息,部分交换芯片使用的硬件表项只包括目的IP(或网段)、目的IP(或下一跳IP)对应的MAC、出口VLAN,从转发流程上来说有以下变化:根据报文的目的IP查找三层转发表后,只得到了目的IP(或下一跳IP)对应的MAC和出口VLAN;然后继续根据MAC+VID去查找MAC地址表,并最终获得出端口信息,如果查找MAC表失败的话会在出口VLAN进行广播。这样的处理机制虽然增加了芯片处理复杂度,但是流程更加清晰合理,CPU的处理更加简单,因为物理出口的变化只需要反映在MAC地址表中就可以了,硬件三层表项无需频繁更新。

    这两种处理方式的交换芯片各有优势,不同厂商会根据成本、可靠性、产品定位等各方面因素来进行选择,这也使得不同型号的三层交换机在同一应用环境中可能有不同的表现

    展开全文
  • 路由器的三层转发主要依靠CPU进行,而三层交换机的三层转发依靠ASIC芯片完成,这就决定了两者在转发性能上的巨大差别。当然,三层交换机并不能完全替代路由器,路由器所具备...在讨论三层交换机的转发原理之前有必要...
  • 二、三层交换机工作原理

    千次阅读 2020-05-19 22:51:21
    交换机工作在二,可以用来隔离冲突域,在OSI参考模型中,二(数据链路)作用是寻址,这边寻址指是MAC地址,而交换机就是对MAC地址进行转发,在每个交换机中,都有一张MAC地址表,这个表是交换机自动学习,...
  • 三层交换机原理

    千次阅读 2018-09-22 20:13:57
    *“一次路由,多次交换”*基本概括了三层交换机的原理,通过这句话可以把三层交换机剖析清楚。 首先简单回顾一下二层交换机的原理: 二层交换机是工作在数据链路层的设备,有三个数据处理能力, ①数据从一个接口...
  • 可以满足用户端多种灵活的逻辑组合, 防止了广播风暴的产生, 对不同 VLAN 之间可以根据需要设定不同的访问权限,以此增加网络的整体安全性,极大地提高网络管理员的工作效率,而且第三层交换机可以合理配置信息资源...
  • 三层交换机基本原理

    2012-05-20 20:09:26
    全面介绍三层交换机的基本工作原理,华为3COM公司技术文档
  • #三层交换机的转发原理的概念 三层交换(也称多层交换技术,或IP交换技术),第三层交换是在网络交换机中引入路由模块而取代传统路由器实现交换与路由相结合的网络技术。它根据实际应用时的情况,灵活地在网络第二...
  • 二层交换机:二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应端口记录在自己内部一个地址表中。...三层交换机: 三层交换...
  • 原理 **二层交换机:**二层交换机属数据链路层设备,可以识别数据帧中MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应端口记录在自己内部...**三层交换机:**二层交换机与路由器集合设备。在对第一个
  • 路由器的三层转发主要依靠CPU进行,而三层交换机的三层转发依靠ASIC芯片完成,这就决定了两者在转发性能上的巨大差别。当然,三层交换机并不能完全替代路由器,路由器所具备...在讨论三层交换机的转发原理之前有必要交
  • (二层交换机从收到数据帧到发出数据帧) 1.收到一个数据帧后先学习帧中源MAC地址来形成MAC地址表; 2.然后检查帧中目标MAC地址,并匹配MAC地址表:如表中有匹配项则单播转发,如表中无匹配项则除接收端口外...
  • 层交换机是数据链路层设备,它能够读取数据包中MAC地址信息并根据MAC地址来进行交换。 交换机内部有一个地址表,这个地址表标明了MAC地址和交换机端口对应关系。当交换机从某个端口收到一个数据包,它首先...
  • 路由器的工作原理、3设备(同时基于二工作);当数据包进入路由器时,路由器 先查看数据包中的目标MAC地址; 1、广播 解封装到3 2、组播 每一个组播地址均存在自己的MAC地址;基于目标MAC就可以 判断本地是否...
  • 最近上班就是开会、写文档,闲时候也不想干什么事,真心没学什么技术上东西,...在网络行业中核心交换机是指有网管功能,吞吐量强大2层或者3层交换机,一个超过100台电脑网络,如果想稳定并高速运行,核心交换
  • 层交换机因为不能隔离广播域,导致网络效率降低,所以在较大规模网络里,为了提高网络工作效率,采用路由器划分子网! 这样,在大网络被划分成一个个子网,路由器相互连接,通信过程不断通过路由器处选路...
  • 一、工作原理 1、二层交换机 二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应端口记录在自己内部一个地址表中。 具体...
  • 层交换机属数据链路层设备,可以识别数据包中MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应端口记录在自己内部一个地址表中。 工作流程如下:  (1)当交换机从某个端口收到一个数据包,它先...
  • 三层交换机的配置.pdf

    2019-11-16 11:01:54
    一、什么是vlan 二、vlan的优势 三、vlan的背景 四、三层交换机的工作原理 五、三层交换机的配置流程 六、测试连通性

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 521
精华内容 208
关键字:

三层交换机的工作原理