计算机在一个网络中发送信息时,会将信息分割成一些小的片断,称为“数据包”或者“数据封”(Datagram),这些包都包含了目标地址 。所以在它们进入网络后,能到达正确的目标计算机 。若目标计算机位于另一个网络,就必须通过一个路由器,将其转发(路由选择)至正确的网络 。那么路由器是如何做的呢?它会检查数据包中包含的地址,判定应将这些包些向哪个网络 。
要了解路由器的工作原理,我们先得了解一些桥接与路由的基础知识 。
图1
上图展示的是一张路由器工作流程图,通过它可了解一个路由器在进行路由选择或桥接时,它的一部分工作原理 。我们将稍微深入地探讨这些步骤,但要注重的是,我们的讨论仍然非常简略,并末考虑到所有的可能性 。
路由器预备处理一条消息之前,必须通过它的某个接口,以帧的形式,接收到这条消息(1号框) 。假如是由LAN接口接收到帧,路由器就会检查帧的目标MAC地址,判定这个帧是否发给本网的某个主机(2号框) 。假如帧确实应该进入本网,同时其中封装数据的协议已在路由器上配置好了,路由器就会尝试对其进行路由选择(3号框) 。假如这个帧不该由本网接收,同时已在路由器上配置好了桥接功能(4号框),而且路由器上尚未配置好封装数据采用的协议(6号框),路由器就会试着对其进行桥接处理 。如某个主机正在运行路由的协议,并希望从另一个网络的另一个主机得到一条消息,主机通常会将帧发给路由器,今其路由出去 。反之,假若主机正在运行的是一种桥接过的协议,那么主机就不会注重到一个网桥的存在 。所以,主机永远不会将一个帧直接发给网桥 。
所谓“桥接”,是指依据网络消息的第2层头内的一个地址对其进行转发的过程 。网间网操作系统支持多种类型的桥接方式:
--透明桥接 。
--封装桥接 。
--源路由桥接 。
--源路由透明桥接 。
--源路由转换桥接 。
为了理解桥接的过程,首先让我们简要讨论一下透明桥接 。之所以认为这种桥接是“透明”的,是由于主机同一个路由器的接口LAN连接之后,在那些主机的眼中,是“瞧不见”那个路由器的 。注重在上图的4号框中,只有在路由器收到一个并非发给自己(本网)的帧时,才会考虑桥接选项 。假如路由器收到一个并非发结自己的帧,而且自己没有配置桥接功能,就简单地将那个帧“扔掉”(上图7号框) 。进行透明桥接的路由器(网桥)具有下述功能:
--调查主机位置 。
--根据第2层地址,对帧进行扩散、转发以及过滤处理 。
网桥会处理所有接口上的所有帧,并实时调查每个主机的位置 。若网桥在某个接口上收到一个帧,就会在其桥接表内置入一个条目(人口),显示出始发主机和接收到帧的那个接口的MAC地址 。利用这种技术,网桥就能完善自己的桥按表,以便正确决定路由 。网桥不断把握每个主机的位置时,它会执行三个F,即Flooding(扩散)、Forwarding(转发)及Filtering(过滤) 。
网桥收到一个帧时,若发现其中的MAC地址不在自己的桥接表里,就会将这个帧扩散到每个接口(当然,最初接收的那个接口除外),如上图的11号框所示 。采取这样的做法,有望使帧抵达自己的目的地,而无论目标主机的位置如何 。目标主机对源主机作出回应以后,网桥就会更新自己的桥接表,加入新的位置 。
图2展示了一条消息从主机l传到主机2的过程 。封装级与头进行了最大程度的简化,以便我们将重点放在网络消息的定址,以及它对桥接的影响上面 。MAC地址表达成十六进制数位,从A到D 。主机1将一个帧发给主机2时,网桥发现主机2的MAC地址巳在桥接表中,所以假如目标接口与源接口不同,就会将帧转发到适当的接口(图1的15号框) 。图2显示出不同的接收与发送接口 。
推荐阅读
- 2 路由器接口及连接
- 1 路由器接口及连接
- 路由器接口及连接
- 在Linux上实现单臂路由器功能
- 低端路由器内部挖潜
- 360N5什么时候上市?360N5配置怎么样?
- 图 思科路由器模块之二
- 路由器的发展历程与趋势
- 小米路由器hd什么时候开卖?小米路由器hd国内发售时间?
- WS-X4232-L3 路由模块配置和概述为Catalyst 4000家族