分类: 系统运维
2007-04-13 02:56:54
为了更清楚地说明路由器的工作原理,现在我们假设有这样一个简单的网络。假设其中一个网段网络ID号为"A",在同一网段中有4台终端设备连接在一起,这个网段的每个设备的IP地址分别假设为:A1、A2、A3和A4。连接在这个网段上的一台路由器是用来连接其它网段的,路由器连接于A网段的那个端口IP地址为A5。同样路由器连接另一网段为B网段,这个网段的网络ID号为"B",那连接在B网段的另几台工作站设备设的IP地址我们设为:B1、B2、B3、B4,同样连接与B网段的路由器端口的IP地址我们设为B5,结构如图1所示。
首先A1用户把所发送的数据及发送报文准备好,以数据帧的形式通过集线器或交换机广播发给同一网段的所有节点(集线器都是采取广播方式,而交换机因为不能识别这个地址,也采取广播方式),路由器在侦听到A1发送的数据帧后,分析目的节点的IP地址信息(路由器在得到数据包后总是要先进行分析)。得知不是本网段的,就把数据帧接收下来,进一步根据其路由表分析得知接收节点的网络ID号与B5端口的网络ID号相同,这时路由器的A5端口就直接把数据帧发给路由器B5端口。B5端口再根据数据帧中的目的节点IP地址信息中的主机ID号来确定最终目的节点为B2,然后再发送数据到节点B2。这样一个完整的数据帧的路由转发过程就完成了,数据也正确、顺利地到达目的节点。
当然实际上像以上这样的网络算是非常简单的,路由器的功能还不能从根本上体现出来,一般一个网络都会同时连接其它多个网段或网络,就像图2所示的一样,A、B、C、D四个网络通过路由器连接在一起。
第1步:用户A1将目的用户C3的地址C3,连同数据信息以数据帧的形式通过集线器或交换机以广播的形式发送给同一网络中的所有节点,当路由器A5端口侦听到这个地址后,分析得知所发目的节点不是本网段的,需要路由转发,就把数据帧接收下来。
第2步:路由器A5端口接收到用户A1的数据帧后,先从报头中取出目的用户C3的IP地址,并根据路由表计算出发往用户C3的最佳路径。因为从分析得知到C3的网络ID号与路由器的C5网络ID号相同,所以由路由器的A5端口直接发向路由器的C5端口应是信号传递的最佳途经。
第3步:路由器的C5端口再次取出目的用户C3的IP地址,找出C3的IP地址中的主机ID号,如果在网络中有交换机则可先发给交换机,由交换机根据MAC地址表找出具体的网络节点位置;如果没有交换机设备则根据其IP地址中的主机ID直接把数据帧发送给用户C3,这样一个完整的数据通信转发过程也完成了。
从上面可以看出,不管网络有多么复杂,路由器其实所作的工作就是这么几步,所以整个路由器的工作原理都差不多。当然在实际的网络中还远比上图2所示的要复杂许多,实际的步骤也不会像上述那么简单,但总的过程是这样的。