计算机网络自学笔记:路由器工作原理

2019-04-23 15:41:18 浏览数 (1)

路由器有 4 个组成部分。

·输入端口。输入端口要执行将一条输入的物理链路端接到路由器的物理层功能。它也要执行需要与位于入链路另一端接口交互的数据链路层功能。它还要完成转发表查找与转发功能,以便转发到路由器交换结构部分的分组能出现在适当的输出端口。

·交换结构。交换结构将路由器的输入端口连接到它的输出端口。交换结构完全包容在路由器内部,即它是一台网络路由器中的网络。

·输出端口。输出端口存储经过交换结构转发给它的分组,并将这些分组传输到输出链路。因此,输出端口执行与输入端口顺序相反的数据链路层和物理层功能。

当一条链路是双向(承载两个方向的流量)链路时,与链路相连的输出端口通常与输入端口在同一线路卡上成对出现。

·选路处理器。选路处理器执行选路协议,维护选路信息与转发表,并执行路由器中的 网络管理功能

1 输入端口

输入端口的线路端接实现了物理层功能;数据链路处理模块实现了数据链路层功能。

输入端口的查找/转发模块对于路由器的转发功能是至关重要的。在许多路由器中,都是在这里通过查询转发表来确定一个到达的分组经交换结构转发给哪个输出端口。

虽然转发表是由选路处理器计算的,但通常路由器会将一份转发表的拷贝存放在每个输入端口,而且经常更新。

2 交换结构

交换结构位于一台路由器的核心部位。正是通过交换结构,分组才能实际地从一个输入 端口交换(即转发)到一个输出端口中。

交换可以通过许多方式完成:

·经内存交换。最简单、最早的路由器通常是传统的计算机,在输入端口与输出端口之间的交换是在 CPU(选路处理器)的直接控制下完成的。输入端口与输出端口的作用就像传统 操作系统中的 IO 设备一样。一个分组到达一个输入端口时,该端口会先通过中断方式向选 路处理器发出信号。于是,将分组从输入端口处拷贝到处理器内存中。选路处理器则从分组 首部中取出目的地址,在转发表中找出适当的输出端口,并将该分组拷贝到输出端口的缓存 中。

许多路由器都使用内存交换技术。然而,目的地址的查找和将分组存储(交换)进适当的存储位置是由输入线路卡上的处理器来执行的。

·经总线交换。在这种方法中,输入端口经一共享总线将分组直接传送到输出端口,不 需要选路处理器的干预(注意经内存交换时,分组进出内存也必须跨越系统总线)。

虽然选路处理器没有涉及总线传送,但由于总线是共享的,故一次只能有一个分组通 过总线传送。某个分组到达一个输入端口时,如果发现总线正忙于传送另一个分组,则它会 被阻塞而不能通过交换结构,并在输入端口排队。因为每个分组必须跨过单一总线,所以路 由器的交换带宽受总线速率的限制。

现在的技术条件下,总线带宽可能超过 1 G bps,基于总线的交换目前已被相当多的路 由器产品所采用。

·经一个 crossbar 络交换。克服单一、共享式总线带宽限制的一种方法是,使用一个更复杂的互联网络,如过去在多处理器计算体系结构中用来互连多个处理器的网络

3 输出端口

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

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

4 何时出现排队

输入端口和输出端口处都能会出现分组排队现象。随着这些队列的增长,路由器的缓存 空间最终将会耗尽,然后出现丢包现象。分组丢失的实际位置(要么在输入端口队列,要么 在输出端口队列)将取决干流负载、交换结构的相对速率和线路速率等几个因素。

输入端口排队主要原因是交换结构不能及时转发数据报。

输出端口排队时,输出端口可以使用某种调度策略,如先来先服务调度;加权公平排队 (WQ)规则等,尽可能在不同端到端连接之间公平地共享输出链路。

分组调度程序在提供服务质量保证方面起着关键作用。

0 人点赞