扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
所谓路由就是指通过相互连接的网络把信息从源地点移动到目标地点的活动。一般来说,在路由过程中,信息至少会经过一个或多个的中间节点。
路由与交换
通常,人们会把路由和交换进行对比,这主要是因为在普通用户看来,两者所实现的功能是完全一样的。其实,路由和交换之间的主要区别就是交换发生在OSI参考模型的第二层(数据链路层),而路由则发生在第三层(网络层)。这一区别决定了路由和交换在移动信息的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。
目前,实现网络互联的方式有很多种,如使用中继器、网桥、网关或路由器等。其中路由器由于具有阻塞控制、差错隔离、网络安全及便于管理等特性而得到了广泛的应用。在路由的实现过程中,根据方法的不同,又可以分为专用路由器路由及软件路由。所谓软件路由是指将一台安装了多个网卡的计算机通过软件设置为路由器。专用路由器路由在速度、流量控制方面都比较优越,适用于多个网络的互联。但在一个较小的工作组级网络环境中,如果只涉及两个子网,则采用软件路由更能保护现有的硬件资源,减少网络资金投入。
路由的实现
我们通常所说的路由技术其实是由两项最基本的活动组成的,即决定最优路径和传输信息单元(也被称为数据包)。其中,数据包的传输和交换相对较为简单和直接,而路由的确定则复杂一些。
1. 路由的确定
度量标准(metric),例如路径长度等,是路由算法中用来计算和确定到达目的地的最优路径的标准。为了帮助确定数据传输的路径,路由算法可以建立和维护路由表。路由表中包含了各种路由信息,路由信息根据所使用的路由算法的不同而各异。
路由算法在路由表中写入各种不同的信息,路由器会根据数据包所要到达的目的地选择最佳路径,并把数据包发送到可以到达该目的地的下一台路由器。当下一台路由器接收到该数据包时,也会查看其目标地址,并使用合适的路径继续传送给后面的路由器。依次类推,直到数据包到达最终的目的地。
路由表中还会包含其他一些对路由的计算和选择有价值的信息。路由器通过比较不同路径的度量值决定最优路径,而具体的度量值则要视所使用的路由算法而定。
2. 数据包交换
交换算法相对路由算法来说更加简单,而且绝大多数的路由协议都可以使用相同的交换技术。当数据包的发送方通过一定的方式获得路由器的地址之后,就会把数据包以该路由器的物理地址(MAC地址)发送出去,同时使用网络层地址标识数据包的最终目的地。
当路由器接收到数据包后将查看标明其目的地的协议地址,并决定是否按照该地址将数据包转发到下一台路由器。如果路由器不知道如何把数据包转发到其目的地的话,一般会丢弃该数据包。如果路由器知道数据包的转发路径,则会将其中的物理地址改为下一台路由器的地址,然后将其发送出去。
以此类推,直到数据包到达最终的目的地为止。在整个过程中,数据包的物理地址会随着移动中所经过的不同的路由器而变化,但是代表目的地的协议地址一直保持不变。
路由算法
路由算法主要由几个关键因素决定。首先,算法的设计意图对路由协议的实际运作具有很大的影响。其次,目前存在许多不同类型的路由算法,每一种算法对网络和路由器资源都有不同的要求和影响。最后,路由算法使用不同的度量标准,从而使最优路径的计算结果不同。
通常,一种路由算法可以体现出以下几方面的设计意图:最优性、简单、低开销、健壮、稳定、快速聚敛、适用性强。
最优性是指路由算法选择最佳路径的能力,这主要取决于计算最佳路径所使用的度量标准。举例来说,一种路由算法可以同时采用数据包经过路由器的跳数和时延作为度量标准,而其中又以时延为主要标准。但每一种路由协议都必须严格定义度量值的计算方法。
路由协议的设计应当尽可能地简单。换句话说,路由算法必须能够以最有效的方式发挥其功能,最大程度地降低软件和使用开销。尤其是当实现路由算法的软件只能在资源有限的机器上运行时,有效性就变得更为重要。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者