书城计算机网络信息技术教育大全-计算机网络
24549500000017

第17章 互联网硬件(3)

路由器(Router)是一种负责寻径的网络设备,它在互连网络中从多条路径中寻找通讯量最少的一条网络路径提供给用户通信。路由器用于连接多个逻辑上分开的网络。对用户提供最佳的通信路径,路由器利用路由表为数据传输选择路径,路由表包含网络地址以及各地址之间距离的清单,路由器利用路由表查找数据包从当前位置到目的地址的正确路径。路由器使用最少时间算法或最优路径算法来调整信息传递的路径,如果某一网络路径发生故障或堵塞,路由器可选择另一条路径,以保证信息的正常传输。路由器可进行数据格式的转换,成为不同协议之间网络互连的必要设备。

路由器使用寻径协议来获得网络信息,采用基于“寻径矩阵”的寻径算法和准则来选择最优路径。按照OSI参考模型,路由器是一个网络层系统。路由器分为单协议路由器和多协议路由器。

因特网由各种各样的网络构成,路由器是其中非常重要的组成部分,整个Internet上的路由器不计其数。Intranet要并入Internet,兼作Internet服务,路由器是必不可少的组件,并且路由器的配置也比较复杂。

一、路由器基础

路由器与前面所介绍的集线器和交换机不同,它不是应用于同一网段的设备,而是应用于不同网段或不同网络之间的设备,属网际设备。路由器之所以能在不同网络之间起到“翻译”的作用,是因为它不再是一个纯硬件设备,而是具有相当丰富路由协议的软、硬结构设备,如RIP协议、OSPF协议、EIGRP、IPV6协议等。这些路由协议就是用来实现不同网段或网络之间的相互“理解”。

路由器具有判断网络地址和选择路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网。路由器只接受源站或其他路由器的信息,属网络层的一种互联设备,它不关心各子网使用的硬件设备,但要求运行与网络层协议相一致的软件。路由器分本地路由器和远程路由器,本地路由器是直接通过诸如光纤、同轴电缆、双绞线等传输介质连接的;远程路由器是不是通过以上传输介质直接连接的,而是通过其它网络,如电话网、有线电视网等进行远程连接的。

在局域网接入广域网的众多方式中,通过路由器接入互联网是最为普遍的方式。使用路由器互联网络的最大优点是:各互联子网仍保持各自独立,每个子网可以采用不同的拓扑结构、传输介质和网络协议,网络结构层次分明,还有的路由器具有VLAN管理功能。通过路由器与互联网相连,则可完全屏蔽公司内部网络,起到一个防火墙的作用,因此使用路由器上网还可确保内部网的安全。

【注】路由器这类网络设备尽管自身具有许多软件性质的协议和OS系统,但从总体上来说它仍属于硬件设备,自身是不怕攻击的(集线器与交换机等网络设备也一样不怕攻击)。另外,路由器具有独立的公网IP地址,当局域网通过路由器接入互联网后,在互联网上显示的只是路由器的公网IP地址,而局域网用户所采用的是局域网IP地址,不属同一网络,所以起到保护作用。

从本质上说,路由器也是一台计算机,其操作系统是在计算机引导时从ROM中装入内存的。随着Internet和企业网络的不断普及,路由器这种网络设备也被大量地采用。目前,市场上的路由器品牌很多,其中Cisco(思科)路由器在路由器技术方面最为权威,从某种意义上来说它是路由器的代名字,所以人们一讲到路由器这个名字就会想到Cisco这个名字。Cisco的路由器不仅产品线非常齐全(低端有Cisco1600/1700系列,中端有Cisco2500/2600/3600系列,高端有Cisco7200/12000系列等),而且其技术也是最先进的,引导着整个市场。不过我国的华为,经过十多年的发展,也已非常强大,在一定程度上它几乎成为了Cisco公司最具有竞争力的公司之一,为了抑制我国华为公司发展,前不久还在与华为公司打侵权官司。

新购买路由器的配置文件是空的,管理人员必须编辑路由器的配置文件,并将其写入路由器的NVRAM(属于一种内存)。这样,路由器在下次启动时会根据配置文件来进行相应操作。

二、路由器的主要功能

路由器的主要功能就是“向导”的作用,主要用来为数据包转发指明一个方向的作用。但如要细分的话,路由器的“路由”功能可以细分为如以下几个方面:

(1)在网际间接收节点发来的数据包,然后根据数据包中的源地址和目的地址,对照自己缓存中的路由表,把数据包直接转发到目的节点,这主要是我在上面所讲的路由器的最主要,也是最基本的路由作用。

(2)为网际间通信选择最合理的路由,这个功能其实是上述路由功能的一个扩展功能。如果有几个网络通过各自的路由器连在一起,一个网络中的用户要向另一个网络的用户发出访问请求的话,路由器就会分析发出请求的源地址和接收请求的目的节点地址中的网络ID号,找出一条最佳的、最经济、最快捷的一条通信路径。就像我们平时到了一个陌生的地方,不知道到目的地点的最佳走法,这时我们就得找一个向导,这个向导就会告诉我们这个最佳的捷径,因为他熟悉各条的走法,这里所讲的路由器就相当于这里的“向导”。

(3)拆包和打包,这个功能也是路由功能的附属功能。因为有时在数据包转发过程中,由于网络带宽等因素,数据包过大的话,很容易造成网络堵塞,这时路由器就要把大的数据包根据对方网络带宽的状况拆分成小的数据包,到了目的网络的路由器后,目的网络的路由器就会再把拆分的数据包装成一个原来大小的数据包,再根据源网络路由器的转发信息获取目的节点的MAC地址,发给本地网络的节点。

(4)不同协议网络之间的连接。目前多数中、高档的路由器往往具有多通信协议支持的功能,这样就可以起到连接两个不同通信协议网络的作用。如常用WindowsNT操作平台所使用的通信协议主要是TCP/IP协议,但是如果是NetWare系统,则所采用的通信协议主要是IPX/SPX协议,还有一些特殊协议网段,这些都需要靠支持这些协议的路由器来连接。

(5)路由器大都具有防火墙功能(可配置独立IP地址的网管型路由器),它能够起到基本的防火墙功能,也就是它能够屏蔽内部网络的IP地址,自由设定IP地址、通信端口过滤,使网络更加安全。

三、路由器和交换机的区别

路由器与交换机是有区别的。路由器是产生于交换机之后,就像交换机产生于集线器之后,所以路由器与交换机也有一定联系,并不是完全独立的两种设备。路由器主要克服了交换机不能路由转发数据包的不足。总的来说,路由器与交换机的主要区别体现在以下几个方面:

(1)工作层次不同。最初的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第二层,而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在OSI的第二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可以得到更多的协议信息,路由器可以做出更加智能的转发决策。

(2)数据转发所依据的对象不同。交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中去,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。

(3)传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域。由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。

虽然第三层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。

(4)路由器提供了防火墙的服务,它仅仅转发特定地址的数据包,不传送不支持路由协议的数据包传送和未知目标网络数据包的传送,从而可以防止广播风暴。

四、路由器的工作原理

前面提到路由器是用来连接不同网段或网络的,在一个局域网中,如果不需与外界网络进行通信的话,内部网络的各工作站都能识别其它各节点,完全可以通过交换机就可以实现目的发送,根本用不上路由器来记忆局域网的各节点MAC地址。路由器识别不同网络的方法是通过识别不同网络的网络ID号进行的,所以为了保证路由成功,每个网络都必须有一个唯一的网络编号。路由器要识别另一个网络,首先要识别的就是对方网络的路由器IP地址的网络ID,看是不是与目的节点地址中的网络ID号相一致。如果是当然就向这个网络的路由器发送了,接收网络的路由器在接收到源网络发来的报文后,根据报文中所包括的目的节点IP地址中的主机ID号来识别是发给哪一个节点的,然后再直接发送。

用假设一个简单的网络来更清楚地说明路由器的工作原理。假设其中一个网段网络ID号为“A”,在同一网段中有4台终端设备连接在一起,这个网段的每个设备的IP地址分别假设为:A1、A2、A3和A4。连接在这个网段上的一台路由器是用来连接其它网段的,路由器连接于A网段的那个端口IP地址为A5。同样路由器连接另一网段为B网段,这个网段的网络ID号为“B”,那连接在B网段的另几台工作站设备设的IP地址我们设为:B1、B2、B3、B4,同样连接与B网段的路由器端口的IP地址我们设为B5,结构如图所示。

在这样一个简单的网络中同时存在着两个不同的网段,现如果A网段中的A1用户想发送一个数据给B网段的B2用户,有了路由器就非常简单了。

首先A1用户把所发送的数据及发送报文准备好,以数据帧的形式通过集线器或交换机广播发给同一网段的所有节点(集线器都是采取广播方式,而交换机因为不能识别这个地址,也采取广播方式),路由器在侦听到A1发送的数据帧后,分析目的节点的IP地址信息(路由器在得到数据包后总是要先进行分析)。得知不是本网段的,就把数据帧接收下来,进一步根据其路由表分析得知接收节点的网络ID号与B5端口的网络ID号相同,这时路由器的A5端口就直接把数据帧发给路由器B5端口。B5端口再根据数据帧中的目的节点IP地址信息中的主机ID号来确定最终目的节点为B2,然后再发送数据到节点B2。这样一个完整的数据帧的路由转发过程就完成了,数据也正确、顺利地到达目的节点。

当然实际上像以上这样的网络算是非常简单的,路由器的功能还不能从根本上体现出来,一般一个网络都会同时连接其它多个网段或网络,就像图所示的一样,A、B、C、D四个网络通过路由器连接在一起。

现在我们来看一下在如图所示网络环境下路由器又是如何发挥其路由、数据转发作用的。我们同样需要假设,各网络用户的IP地址分配就不多讲了,图已有标注。现假设网络A中一个用户A1要向C网络中的C3用户发送一个请求信号时,信号传递的步骤如下:

第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,这样一个完整的数据通信转发过程也完成了。

从上面可以看出,不管网络有多么复杂,路由器其实所作的工作就是这么几步,所以整个路由器的工作原理都差不多。当然在实际的网络中还远比上图所示的要复杂许多,实际的步骤也不会像上述那么简单,但总的过程是这样的。

计算机网络在今天给我们带来了许多便利和快乐,尽管它也给我们带来过痛苦,但那只是一个小插曲而已。我们都相信,网络会给我们带来一个更美好的未来!