什么是路由器(什么是路由器)

/ 0评 / 0

什么是路由器?路由器(英文:Router,又称router)是一种电信网络设备,它提供两种重要的机制:路由和转发

router(英文:Router,又名Router)是一种电信网络设备,提供路由和转发两种重要机制,可以确定数据包从源端到目的端经过的路由路径(主机与主机之间的Baxter网络的传输路径)。这个过程叫做路由。将数据包从路由器输入端传输到适当的路由器输出端(路由器内部)称为转发。路由工作在OSI模型的第三层,即网络层,如互联网协议(IP)。

路由器结构
路由器是一种具有多个输入端口和多个输出端口的特殊计算机,其任务是转发数据包。也就是说,根据由路由器的输入端口接收的分组的目的地(即,目的地网络),分组被从路由器的适当输出端口转发到下一跳的路由器。

下一跳的路由器也按照这个方法处理Baxter数据包,直到数据包到达终点。


从上图可以看出,整个路由器的结构可以分为两部分:

路由部分
报文转发部分
路由部分[/。

路由处理器

路由处理器的主要任务是根据选择的路由协议(RIP/OSPF)构建、更新和维护路由表。如何根据路由协议构造和更新路由表将在后面讨论。

报文转发部分
报文转发部分分为:

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

交换结构:
h/]

交换结构是一种网络拓扑,其中网络节点通过一个或多个网络交换机(尤其是纵横制交换机)互连。因为交换结构网络将网络流量分布在多个物理链路上,所以它比广播网络(如早期的10BASE5以太网)或大多数无线网络(如Wi-Fi)产生更高的总吞吐量。

交换结构也叫交换组织,它的作用是根据转发表处理数据包,将进入输入端口的数据包从合适的输出端口转发出去。交换结构本身是一种网络,但这种网络完全包含在路由器中,所以交换结构可以看作是“路由器中的网络”。

实现这种交换的方式有很多种,下图是三种常见的交换方式。

通过存储器
通过总线
通过互连网络

,这三种方法是将输出端口I1接收到的数据包转发到输出端口O2。

通过存储器

上面(a)中的示意图显示了通过内存交换数据包。

路由器和早期路由器的区别在于目的地址的搜索和内存中数据包的缓存都是在输入端口进行的。

通过总线

(www.isoyu.com原创版权)

上面(b)中的示意图显示了通过总线交换数据包。

这样,数据报通过共享总线直接从输入端口传输到适当的输出端口,而无需路由处理器的干预。但是,因为总线是共享的,所以同一时间只能在总线上传输一个数据包。当数据包到达输入端口时,如果发现总线繁忙,它就会被阻塞,无法通过交换结构,并在输入端口排队等候。因为每个要转发的数据包都要经过每条总线,所以路由器的转发带宽受到总线效率的限制。

通过互联网络

【/h/】上图中(c)的示意图显示了通过纵横制交换机结构交换数据包。这种交换结构通常被称为互连网络。

它有2N条总线,可以连接N个输入端口和N个输出端口,这取决于相应的交叉节点是连接还是断开水平总线和垂直总线。

当输入端口收到数据包时,它会将其发送到连接到输入端口的水平总线。如果通向要转发的输出端口的垂直总线空闲,请在此节点将垂直总线与水平总线连接,然后将数据包转发到此输出端口。但是,如果垂直总线被占用,稍后到达的数据包将被阻塞,必须在输入端口排队。

转发和路由的区别

转发(只涉及一台路由器)是指路由器根据转发表从合适的端口转发用户的IP数据报。

路由(涉及整个网络中的多台路由器)是根据从每台相邻路由器获得的网络拓扑的变化,根据分布式算法动态改变选择的路由。

路由表(目的网络n,距离d,下一跳地址a)和转发表(下一跳地址x,对应物理地址HA)的项目和功能也不同。路由表是根据路由算法推导出来的。并且转发表是从路由表中导出的。

它还对路由交换信息包(如RIP/OSPF包,由路由处理器处理)和数据包(由交换结构处理)采用不同的处理方法。

在讨论路由的原理时,我们往往不区分转发表和路由表的区别。

输入端口和输出端口

【/h/】在上图中,路由器的输入输出端口有三个方框,方框中分别用1、2、3表示物理层、数据链路层和网络层的处理模块。

物理层

物理层接收比特。

数据链路层

数据链路层根据链路层协议接收用于传输数据包的帧。在剥离帧的头部和尾部后,数据包被发送到网络层进行处理。

网络层

如果收到的数据包是用于在路由器之间交换路由信息的数据包(如RIP或OSPF数据包等)。),将数据包发送到最佳网络路由器路由部分的路由处理器。

如果收到数据包,根据包头中的目的地址查找转发表,根据结果,数据包将通过交换结构到达适当的输出端口。

输入端口对线路上接收的数据包的处理

数据链路层剥离帧头和帧尾后,将数据包发送到网络层的队列中进行排队等待处理。当一个数据包在寻找转发表时,后面跟着从输入端口接收到的另一个数据包,后面的数据包必须在队列中等待,这会造成一定的延迟。


通过输出端口
处理线路上接收的数据包

交换结构发送的数据包首先被缓冲时。网络层的处理模块中有一个缓冲区,其实就是一个队列。当交换结构传输的数据包速率超过输出链路的发送速率时,来不及发送的数据包必须临时存储在该队列中。数据链路层处理模块将链路层的头和尾添加到数据包中,然后在切换到物理层后发送到外部线路。


数据包丢弃

如果路由器的包处理速率跟不上进入队列的包,那么队列的存储空间最终会减少到零,这就使得后面进入队列的包因为没有存储空间只能被丢弃。

路由器中输入或输出队列溢出是丢包的重要原因。