在有多个输出链路可用的节点,其中,全部或任何用于转发给定包的选择需要一个 决定决策的过程,虽然概念简单,就是有时有扑朔迷离的复杂性。因为每一个转发决定 必须由处理每个数据包的节点进行,为此所需要的总时间可能会成为整体网络性能的主 要限制因素。大部分高速路由器和交换机的设计工作一直集中在对大量数据包的转发作 出快速决定。
转发决定一般应用于两种过程中的一种。一种是路由,它通过一个设备的地址编码, 以获得在网络上的设备地址;另一种是桥接,它使得关于地址位于何处没有任何假设和 在很大程度上取决于广播来定位未知地址推断其位置信息。广播的重开销导致在大型网络中,特别是互联网中路由的支配地位;桥接沦为小型网络广播的开销很大程度上是可 以容忍的。然而,由于大型网络通常是由许多小的网络连接在一起的,这将不准确的指 出桥接在因特网上是没有用的;相反,它的使用逐渐本地化[12]。
分组转发算法:来:自[优.尔]论,文-网www.youerw.com +QQ752018766-
(1) 首先从数据分组的首部提取目的 IP 地址 D, 从而得出目的网络地址为 N。 (2) 如果网络地址 N 与路由器是直接相连的,就直接把数据分组交付给目的主机
D;否则间接交付,执行(3)。
(3) 如果路由表中有目的地址为 D 的特定主机路由,就直接把数据分组传送给路 由表所指明的下一跳进行转发;否则,执行(4)。
(4) 如果路由表中有到达网络 N 的路由,就把数据分组传送给路由表所指明的下 一跳进行;否则,执行(5)。
(5) 如果路由表中有一个默认路由,就把数据分组传送给路由表中所指明的默认路 由器;否则,执行(6)。
(6) 报告转发分组出错[1]。