路由器&&交换机的今生缘

1、路由器

1.1 何为路由器

  • 路由器是指主要负责OSI参考模型中网络层的处理工作,并根据路由表信息在不同网络之间转发IP分组的网络硬件。这里网络一般指IP子网,也可以称为广播域。

1.2 路由选择与转发

  • 路由器进行IP分组路径选择的处理
  • 路由器从接口接收到IP分组后,根据首部包含的目的地址信息进行路径选择,并根据选择结果将IP分组转发到流出接口处。
  • 相关术语
    在这里插入图片描述
  • 将分组从流入接口发送到流出接口的物理发送过程称之为转发

1.3 路由器基本作用

  • 实现网络互联为分组数据提供转发
    在这里插入图片描述
    在这里插入图片描述
  • 路由:使用路由表来实现,包括路由表的建立、更新、维护、查找
    使用静态路由和动态路由协议来获知远端网络构建路由表
  • 子网间速率适配
  • 隔离子网,防止广播蔓延,指定访问规则
  • 不同类型网络互联
    路由器经常会收到以某种类型的数据链路帧封装的数据包,当转发这种数据包时,路由器可能需要将其封装为另一种类型的数据链路帧。数据链路封装取决于路由器接口的类型及其连接的介质类型。

1.4 典型路由器的结构

在这里插入图片描述
上图路由器结构可划分为2个部分

  • 路由选择部分:也叫做控制平面(软件) ,其核心构建是路由选择处理机。
  • 分组转发部分:也叫数据平面(硬件), 由交换结构、输入端口和输出端口组成。
  • 在上图中,路由器的输入和输出端口里面都各有三个方框,用方框中的1,2和3分别代表物理层、数据链路层和网络层的处理模块。物理层进行比特的接收。数据链路层则按照链路层协议接收传送分组的帧。在把帧的首部和尾部剥去后,分组就被送入网络层的处理模块。若接收到的分组是路由器之间交换路由信息的分组(如RIP或OSPF分组等),则把这种分组送交路由器的路由选择部分中的路由选择处理机。若接收到的是数据分组,则按照分组首部中的目的地址查找转发表,根据得出的结果,分组就经过交换结构到达合适的输出端口。

1.5报文处理路径

路由器提供了两种不同报文处理路径
在这里插入图片描述

  • 控制路径:处理目的地址是本路由器的高层协议报文,特别是各种路由协议报文。虽然控制路径不是路由器的关键路径,但是它负责完成路由信息的交互,从而保证了数据路径上的报文沿着最优的路径转发
  • 数据路径:处理目的地址不是本路由器而需要转发的报文,因此数据这里的表都用来保存路由信息,路由表通常由路由协议和路由管理

1.6 路由器和转发表

这里的表都用来保存路由信息,路由表通常由路由协议和路由管理 模块维护,包括更多的信息(IP地址/IP子网、下一 跳、路由度量、超时时间等) ;转发表是基于路由生成的,路由器实际转发时使用
转发表(只包括IP地址/IP子网和下- -跳/出接口) ;高性能路由器转发表通常都用硬件来实现,有利于高速查找。

1.7 分组转发部分

输入端口 输出端口 交换结构

  • 输入端口与目标转发数据链路层剥去帧首部和尾部后,将分组送到网络层使用IP头部关键字去查找转发表找到出接口(匹配加动作),转发表是由路由选择处理机计算和更新的,如果数据进入接口的速度大于数据到交换模块的速度就会出现排队。
    在这里插入图片描述
  • 基于目标地址的转发 路由器转发不可能是针对每个目的都有一个表项,32位的IP地址有超过40亿个地址。
  • 当出现多个匹配时,路由器使用最长匹配原则
  • TCAM转发表从概念上讲是简单的,只是搜索转发表查找最长匹配,但是要实现纳秒级执行就不仅要硬件执行查找,而且需要对大型转发表使用超出简单线性搜索的技术(快速查找算法),同时必须对内存访问时间也有苛刻的要求我们会使用DRAM和SRAM,实际中经常用三元内容可寻址存储器来查找,无论表大小如何,都会在一个时钟周期内检索出地址。
  • 输出端口对线路上收到分组的处理当交换结构传送过来的分组先进行缓存。在网络层的处理模块中设有一个缓冲区,实际上它就是一个队列。当交换结构传送过来的分组的速率超过输出链路的发送速率时,来不及发送的分组就必须暂时存放在这个队列中。数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路。

在这里插入图片描述

  • 分组丢弃:若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。

1.8 交换结构

  • 交换结构是一台路由器的核心组件,它的作用就是根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。
  • 实现这种交换的三种方法:
    1、通过存储区交换
    2、通过总线交换
    3、通过内部网络互联交换

2、交换机

2.1交换机的工作原理

  • 交换机在接收到数据帧以后,首先、会记录数据帧中的源MAC地址和对应的接口到MAC表中,接着、会检查自己的MAC表中是否有数据帧中目标MAC地址的信息,如果有则会根据MAC表中记录的对应接口将数据帧发送出去(也就是单播),如果没有,则会将该数据帧从非接收接口广播发送出去。
  • MAC地址表建立过程
    1、交换机的初始状态MAC地址表为空
    2、 地址表源MAC地址学习
    当PC1要发送数据帧给PC2时,此时地址表是空的,交换机将向除PC1连接端口以外的其他所有端口转发数据帧。在转发之前,交换机首先检查该数据帧的源MAC地址,并在交换机的MAC地址表中添加一条记录使之和交换机的端口相对应。(源MAC+源端口)
    3、PC2接收数据帧
    PC2收到发送的数据帧后,用该数据帧的目的MAC地址和本机的MAC地址比较,发现PC1找的正是它,则接收该数据帧,其他PC的则丢弃数据帧。
    PC2回复PC1时,交换机直接从连接PC1的端口转发,并学习到连接PC2的端口,将其添加到地址表中。

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

为了保证MAC地址表中的信息能够实时地反映网络情况,每个学习到的记录都有一个老化时间 。默认的MAC 地址老化时间为300 秒。如果在老化时间内收到地址信息则刷新记录。对没有收到相应的地址信息的则删除该记录。

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

2.2 交换机的三种功能

  1. 学习
    以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中。
  2. 转发/过滤
    当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)。
  3. 消除回路
    当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。

2.3 三层交换机

  • 本质上就是带有路由的交换机,路由属于OSI参考模型中的网路层,因此带有路由功能的交换机才被称为“三层交换机”。
  • 三层交换机使用了三层交换技术,三层交换技术就是二层交换+三层转发技术,它解决了局域网中网段划分之后,网段中子网必须依赖路由器进行管理的局面,解决了传统路由器低速、复杂所造成的网络问题。

2.3.1 三层交换

  • 三层交换(也称多层交换技术,或IP交换技术)是相对于传统交换概念而提出的。
  • 三层交换技术是在网络模型中的第三层实现了数据包的高速转发。简单地说,三层交换技术就是:二层交换技术+三层转发技术。
  • 原理:假设两个使用IP协议的站点A、B通过第三层交换机进行通信。
    1、A在开始发送时,把自己的IP地址与B的IP地址比较,判断B站是否与自己在同一子网内。若目的站B与发送站A在同一子网内,则进行二层的转发。
    2、若两个站点不在同一子网内,当A要与目的站B通信,A要向“缺省网关”发出ARP(地址解析)封包,而“缺省网关”的IP地址其实是三层交换机的三层交换模块。当A对“缺省网关”的IP地址广播出一个ARP请求时,如果三层交换模块在以前的通信过程中已经知道B的MAC地址,则向A回复B的MAC地址。否则三层交换模块根据路由信息向B广播一个ARP请求,B得到此ARP请求后向三层交换模块回复其MAC地址,三层交换模块保存此地址并回复给A,同时将B的MAC地址发送到二层交换引擎的MAC地址表中。从这以后,当A向B发送的数据包便全部交给二层交换处理,信息得以高速交换。
    3、仅仅在路由过程中才需要三层处理,绝大部分数据都通过二层交换转发,因此三层交换机的速度很快。

3、Q&A(路由器&&交换机)

3.1 二层交换机和三层交换机的区别

  • 二层交换机用于小型的局域网络。
  • 三层交换机适合用于大型的网络间的路由。三层交换机采用了三层交换技术,即二层交换技术+三层转发技术。解决了局域网中网段划分之后,网段中子网必须依赖路由器进行管理的局面,解决了传统路由器低速、复杂所造成的网络瓶颈问题。

3 .2 二层交换机和路由器的区别

  • 传统 统交换机属于OSI第二层即数据链路层设备。
  • 路由器属于OSI第三层即网络层设备。
    1.回路:交换机之间不允许存在回路。一旦存在回路,必须启动生成树算法,阻塞掉产生回路的端口。路由器的路由协议没有这个问题,路由器之间可以有多条通路来平衡负载,提高可靠性。
    2.负载集中:交换机之间只能有一条通路,使得信息集中在一条通信链路上,不能进行动态分配,以平衡负载。路由器的路由协议算法可以避免这一点,OSPF路由协议算法不但能产生多条路由,而且能为不同的网络应用选择各自不同的最佳路由。
    3.广播控制:交换机只能缩小冲突域,而不能缩小广播域。整个交换式网络就是一个大的广播域,广播报文散到整个交换式网络。而路由器可以隔离广播域,广播报文不能通过路由器继续进行广播。
    4.子网划分:交换机只能识别MAC地址。路由器识别IP地址,IP地址是逻辑地址且IP地址具有层次结构,被划分成网络号和主机号,可以非常方便地用于划分子网 址等内容对报文实施过滤。

3.3 三层交换机和路由器的区别

  • 区别
    1、主要功能不同:三层交换机只具备了一些基本的路由功能,它的主要功能仍是数据交换。它同时具备了数据交换和路由转发两种功能,但其主要功能还是数据交换;而路由器仅具有路由转发这一种主要功能。
    2、适用的环境不同:三层交换机面对的主要是简单的局域网连接。因此,三层交换机的路由功能比较简单。路由器则不同,它是为了满足不同类型的网络连接,它的路由功能更多的体现在不同类型网络之间的互联上。
    3、性能体现不同:技术上讲,路由器和三层交换机在数据包交换操作上存在着明显区别。路由器一般由基于软件路由引擎执行数据包交换,而三层交换机通过硬件执行数据包交换。
  • 三层交换机对比路由器的优点
    1.带宽分配:路由器每个接口连接一个子网,子网通过路由器进行传输的速率被接口的带宽所限制。而三层交换机则不同,它可以把多个端口定义成一个虚拟网,把多个端口组成的虚拟网作为虚拟网接口,该虚拟网内信息可通过组成虚拟网的端口送给三层交换机,由于端口数可任意指定,子网间传输带宽没有限制。
    2.降低成本:通常的网络设计用交换机构成子网,用路由器进行子网间互连。采用三层交换机既可以进行任意虚拟子网划分,又可以通过交换机三层路由功能完成子网间通信,
    3.连接灵活:交换机之间不允许存在回路。路由器有多条通路来提高可靠性、平衡负载。三层交换机用生成树算法阻塞造成回路的端口,但进行路由选择时,依然把阻塞掉的通路作为可选路径参与路由选择。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章