路由器是什么(路由器是个什么玩意?)( 二 )


当输入端口收到一个分组时,就将它发送到与该输入端口相连的水平总线上 。若通向所要转发的输出端口的垂直总线是空闲的,则在这个结点将垂直总线与水平总线接通,然后将该分组转发到这个输出端口 。但若该垂直总线已被占用,则后到达的分组就被阻塞,必须在输入端口排队 。
转发和路由选择的区别
转发(forwarding)(只涉及一个路由器) 就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去 。
路由选择(routing)(涉及整个网络的很多路由器)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由 。
路由表(目的网络N,距离d,下一跳地址A)和转发表(下一跳地址X,对应物理地址HA)的项目内容和完成的功能也不相同 。路由表是根据路由选择算法得出的 。而转发表是从路由表得出的 。
对路由交换信息分组(如RIP/OSPF分组,由路由选择处理机来处理)和数据分组(由交换结构来处理)也是采取不同的处理方式 。
在讨论路由选择的原理时,往往不去区分转发表和路由表的区别 。
输入端口和输出端口
在上图中,路由器的输入和输出端口里面都各有三个方框,用方框中的1,2和3分别表示物理层,数据链路层和网络层的处理模块 。
物理层
物理层进行比特的接收 。
数据链路层
数据链路层按照链路层协议接收传送分组的帧 。在把帧的首部和尾部都剥去后,分组就被送入网络层进行处理 。
网络层
若接收到的分组是路由器之间交换路由信息的分组(如 RIP 或 OSPF 分组等),则把这种分组送交到路由器的路由选择部分中的路由选择处理机 。
若接收到的是数据分组,则按照分组首部中的目的地址查找转发表,根据得出的结果,分组就经过交换结构到达合适的输出端口 。
输入端口对线路上收到分组的处理
数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中进行排队等待处理 。当一个分组正在查找转发表,后面又跟着从这个输入端口收到的另一个分组,这个后到的分组就必须在队列中等待,这会产生一定的时延 。
路由器是什么(路由器是个什么玩意?)
文章图片


输出端口对线路上收到分组的处理
当交换结构传送过来的分组先进行缓存 。在网络层的处理模块中设有一个缓冲区,实际上它就是一个队列 。当交换结构传送过来的分组的速率超过输出链路的发送速率时,来不及发送的分组就必须暂时存放在这个队列中 。数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路 。
路由器是什么(路由器是个什么玩意?)
文章图片


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