路由器结构
结构
路由器结构

路由器由输入端口,交换结构,路由选择处理器以及输出端口组成。输入端口负责接收数据报,并且在这里决定好要怎么进行转发,然后经过交换结构,到达输出端口。即在输入端口这里已经找到了他的下一跳的地址,然后传送给交换结构,交换结构只需要根据数据去找对应的输出端口即可,可以大大减小路由表的大小。
而具体怎么找到该送往那个端口,最简单的是做一个map,包含了所有的映射,但是由于映射数量达到上百亿,不可取。另一种方案是:根据最长前缀匹配,比如说0000发网接口0,0001发网接口1,以此类推。
这里,输入端口查找的是数据报目的的ip,可能需要经过多个路由器来进行转发,才能到达目地地址。
交换
交换技术有三种,经内存的交换,经总线交换,互联网络交换。
经内存的交换
这种方案下,输入端口和输出端口的功能有点像传统操作系统中的I/O,当一个分组到达端口,改端口通过中断向路由选择处理器发送信号,然后将分组复制到处理器内存当中,路由选择器从分组的首部提取到目的地址,在转发表找适当的输出端口,再将该分组复制到输出端口的缓存当中。
经总线交换
这种方案下,输入端口经一根总线将分组直接发送到输出端口,不需要路由选择处理器的干预。这种方案下,输入端口需要预先计划一个交换机内部标签,指示本地输出端口,该分组可以由所有输出端口接受,但是只有标签匹配的才会保留,标签在输出端口被去除。单一总线会对性能造成影响
经互联网络交换
这种方案是用2N条总线连接输入和输出端口,总线可以通过交换设备自由闭合,比如A发往X的数据,可以调整只打开A和X,但是如果有多个数据报都发往X,那么在X之前还是需要排队。
参考
《计算机网络自顶向下》