DJ4-3 路由器的工作原理

目录

一、路由器的整体结构

二、输入端口的功能

1. 三大模块

2. 查找与转发模块

三、交换结构

1. 经内存的交换结构

2. 经总线的交换结构

3. 经交换矩阵交换结构

四、输出端口的功能

五、排队

1. 输入端口排队

2. 输出端口排队


一、路由器的整体结构

路由器的两个核心功能:

  1. 运行路由协议或称路由算法(OSPF/RIP/BGP)
  2. 将分组从路由器的输入链路传送到正确的输出链路

路由器的体系结构:

根据路由器之间的通讯,路由处理器再运行路由协议,计算得到路由表,进而得到转发表。

二、输入端口的功能

1. 三大模块

模块名功能
线路端接将一条物理链路端接到路由器的物理层
数据链路处理实现路由器的数据链路层功能
查找与转发实现查找与转发功能,以便分组通过路由器的交换结构转发到适当的输出端口

输入端口示意图

在物理层,将接收到的信号转换为二进制序列。在数据链路层,解析数据帧得到数据报,再解析数据报得到目的主机的 IP 地址。

2. 查找与转发模块

确定将一个到达的分组通过交换结构转发给哪个输出端口。 通过查找转发表实现,这里的转发表是存储在输入端口的内存中。

如果不为每个输入端口设置内存存储转发表,则每个端口都需要查询路由器处理器内存中的转发表,从而形成瓶颈。

分布式交换:

  • 选路处理器计算转发表,给每个输入端口存放一份转发表拷贝。
  • 在每个输入端口本地做出交换决策,无须激活中央选路处理器。
  • 可避免在路由器中某个单点产生转发处理瓶颈。

输入端口也可直接称为端口,因为路由器的每个端口都是既能出也能入的。

目的:以线速完成输入端口的处理。

排队:如果数据报到达输入端口的速度快于输入端口将数据报转发到交换结构的速度,就会发生排队。

三、交换结构

功能:将分组从输入端口缓存交换/转发到恰当的输出端口缓存中。

三种类型的交换结构:经内存、经总线、经交换矩阵。

1. 经内存的交换结构

早期用计算机作为路由器时所采用的结构。

输入端口与输出端口之间的交换由 CPU(路由处理器)控制完成;

输入端口与输出端口类似 I/O 设备:

  1. 当分组到达输入端口时,通过中断向路由处理器发出信号,将分组拷贝到处理器内存中;
  2. 路由处理器根据分组中的目的地址查表找出适当的输出端口,将该分组拷贝到输出端口的缓存中。

输入端口与输出端口也和 I/O 设备一样只有缓存没有内存。

交换速度受总线带宽的速度限制,因为每个分组需要经过两次总线。

若总线带宽为每秒写入或读出 B 个分组,则总的转发吞吐量(分组从输入端口被传送到输出端口的总速率)小于 B/2 。

转发一个分组需要经过两次总线,而单位时间内总线写入或读出 B 个分组,因此单位时间内只能写入 B/2 分组和读出 B/2 个分组,即至多完成 B/2 个分组的转发。注意是写入 “和” 读出不是写入 “或” 读出。

2. 经总线的交换结构

输入端口通过一条共享总线将分组直接传送到输出端口,不需要路由处理器的干预。

每个输入端口的内存中都存有一份拷贝来的转发表,不再需要被路由处理器拷贝到路由器内存中查找。分组只用经过一次总线。

  • 每次只能有一个分组通过总线传送。
  • 分组到达一个输入端口时,若总线正忙,会被暂时阻塞,在输入端口排队
  • 路由器交换带宽受总线速率限制。

3. 经交换矩阵交换结构

纵横式交换机:由 2n 条总线组成,n 个输入端口与 n 个输出端口连接。

到达输入端口的分组沿水平总线穿行,直至与所希望的输出端口的垂直总线交叉点:

  • 若该条垂直总线空闲,则分组被传送到输出端口;
  • 否则,该到达的分组被阻塞,必须在输入端口排队。
  1. 输入端口通过查询自己内存中的转发表,来决定关闭哪个交叉点的开关。
  2. 不能有多个输入端口同时向一个输出端口转发分组。
  3. 同一时刻最多能够闭合三个开关,即转发三个分组。

四、输出端口的功能

取出存放在输出端口内存中的分组,并将其传输到输出链路上。

当交换结构将分组交付给输出端口的速率超过输出链路速率时,就需要排队与缓存管理功能。

  • 当输出端口的缓冲区溢出时,就会出现延时和丢包。

在数据链路层,根据采用的链路技术的不同,将 IP 分组封装成不同的链路帧。在物理层,根据采用的物理链路的不同,如:双绞线、光纤、无线电磁波,将数据转换为不同的信号。

五、排队

路由器中排队的位置有:

  1. 输入端口的内存中
  2. 交换结构中(如果采用的是内存交换方式)
  3. 输出端口的内存中

1. 输入端口排队

当交换结构的速度慢于输入端口的速度时,就会在输入端口的缓冲区发生排队。

会导致排队延时和由于输入缓冲区溢出导致的丢包!

线头阻塞(Head-of-the-Line(HOL)blocking):在队列前面的被阻塞的数据报会阻止队列中的其它数据报被转发。

2. 输出端口排队

当经过交换结构到达的速度快于输出端口的处理线速时,就会在输出端口的缓冲区发生排队。

当输出端口的缓冲区溢出时就会发生丢包!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值