常听他们讲,我说电脑的那个盒子是猫,那路由器是什么东东?
參考答案:所谓路由就是指通过相互连接的网络把信息从源地点移动到目标地点的活动。一般来说,在路由过程中,信息至少会经过一个或多个中间节点。通常,人们会把路由和交换进行对比,这主要是因为在普通用户看来两者所实现的功能是完全一样的。其实,路由和交换之间的主要区别就是交换发生在OSI参考模型的第二
层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换在移动信息的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。
早在40多年之间就已经出现了对路由技术的讨论,但是直到80年代路由技术才逐渐进入商业化的应用。路由技术之所以在问世之初没有被广泛使用主要是因为80年代之前的网络结构都非常简单,路由技术没有用武之地。直到最近十几年,大规模的互联网络才逐渐流行起来,为路由技术的发展提供了良好的基础和平台。
什么是路由?
我们通常所说的路由技术其实是由两项最基本的活动组成,即决定最优路径和传输信息单元(也被称为数据包)。其中,数据包的传输和交换相对较为简单和直接,而路由的确定则更加复杂一些。
确定路由
度量标准(metric),例如路径长度等,是被路由算法用来计算和确定到达目的地的最优路径的标准。为了帮助确定数据传输的路径,路由算法可以建立和维护路由表。路由表中包含了各种路由信息。路由信息根据所使用的路由算法的不同而各异。
路由算法在路由表中写入各种不同的信息,路由器会根据数据包所要到达的目的地选择最佳路径把数据包发送到可以到达该目的地的下一台路由器处。当下一台路由器接收到该数据包时,也会查看其目标地址,并使用合适的路径继续传送给后面的路由器。依次类推,直到数据包到达最终目的地。这种通过目的地和路由器地址决定最佳传输路径的示意图如下:
除了我们在上图中看到的两项信息之外,路由表中还会包含其它一些对路由的计算和选择有价值的信息。路由器通过比较不同路径的度量值决定最优路径,而具体的度量值则要视所使用的路由算法而定。我们将会在文章稍后对一些较为常用的度量标准进行详细的介绍。
路由器之间可以进行相互通讯,而且可以通过传送不同类型的信息维护各自的路由表。路由更新信息就是这样一种信息,一般是由部分或全部路由表组成。通过分析其它路由器发出的路由更新信息,路由器可以掌握整个网络的拓扑结构。链路状态广播是另外一种在路由器之间传递的信息,它可以把信息发送方的链路状态及时的通知给其它路由器。
数据包交换
交换算法相对路由算法来说更加简单,而且绝大多数的路由协议都可以使用相同的交换技术。当数据包的发送方通过一定的方式获取到路由器的地址之后,就会把数据包以该路由器的物理地址(MAC地址)发送出去,同时使用网络层地址标识数据包的最终目的地。
当路由器接收到数据包后将查看标明其目的地的协议地址,并决定是否按照该地址将数据包转发到下一台路由器。如果路由器不知道如何把数据包转发到其目的地的话,一般会丢弃该数据包。如果路由器知道数据包的转发路径,则会将其中的物理地址改为下一台路由器的地址,然后将其发送出去。以此类推,直到数据包到达最终的目的地。在整个过程中,数据包的物理地址会随着移动过程中所经过的不同的路由器而变化,但是代表目的地的协议地址一直保持不变。