计算机网络往往由许多种不同类型的网络互连连接而成。如果几个计算机网络只是在物理上连接在一起,它们之间并不能进行通信,那么这种“互连”并没有什么实 际意义。因此通常在谈到“互连”时,就已经暗示这些相互连接的计算机是可以进行通信的,也就是说,从功能上和逻辑上看,这些计算机网络已经组成了一个大型 的计算机网络,或称为互联网络,也可简称为互联网、互连网。
将网络互相连接起来要使用一些中间设备(或中间系统),ISO 的术语称之为中继(relay)系统。根据中继系统所在的层次,可以有以下五种中继系统:
- 1.物理层(即常说的第一层、层 L1)中继系统,即转发器(repeater)。
- 2.数据链路层(即第二层,层 L2),即网桥或桥接器(bridge)。
- 3.网络层(第三层,层 L3)中继系统,即路由器(router)。
- 4.网桥和路由器的混合物桥路器(brouter)兼有网桥和路由器的功能。
- 5.在网络层以上的中继系统,即网关(gateway).
当中继系统是转发器时,一般不称之为网络互联,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。高层网关由于比较复杂,目前使用得较少。因此一般讨论网络互连时都是指用交换机和路由器进行互联的网络。本文主要阐述交换机和路由器及其区别。
一、交换机和路由器
“交换”是今天网络里出现频率最高的一个词,从桥接到路由到 ATM 直至电话系统,无论何种场合都可将其套用,搞不清到底什么才是真正的交换。其实交换一词 最早出现于电话系统,特指实现两个不同电话机之间话音信号的交换,完成该工作的设备就是电话交换机。所以从本意上来讲,交换只是一种技术概念,即完成信号 由设备入口到出口的转发。因此,只要是和符合该定义的所有设备都可被称为交换设备。
由此可见,“交换”是一个涵义广泛的词语,当它被用来描述数据网络第二 层的设备时,实际指的是一个桥接设备;而当它被用来描述数据网络第三层的设备时,又指的是一个路由设备。
我们经常说到的以太网交换机实际是一个基于网桥技术的多端口第二层网络设备,它为数据帧从一个端口到另一个任意端口的转发提供了低时延、低开销的通路。
由此可见,交换机内部核心处应该有一个交换矩阵,为任意两端口间的通信提供通路,或是一个快速交换总线,以使由任意端口接收的数据帧从其他端口送出。
在实 际设备中,交换矩阵的功能往往由专门的芯片(ASIC)完成。另外,以太网交换机在设计思想上有一个重要的假设,即交换核心的速度非常之快,以致通常的大 流量数据不会使其产生拥塞,换句话说,交换的能力相对于所传信息量而无穷大(与此相反,ATM 交换机在设计上的思路是,认为交换的能力相对所传信息量而言有限)。
虽然以太网第二层交换机是基于多端口网桥发展而来,但毕竟交换有其更丰富的特性,使之不但是获得更多带宽的最好途径,而且还使网络更易管理。
而路由器是 OSI 协议模型的网络层中的分组交换设备(或网络层中继设备),路由器的基本功能是把数据(IP 报文)传送到正确的网络,包括:
- 1.IP 数据报的转发,包括数据报的寻径和传送;
- 2.子网隔离,抑制广播风暴;
- 3.维护路由表,并与其他路由器交换路由信息,这是 IP 报文转发的基础。
- 4.IP 数据报的差错处理及简单的拥塞控制;
- 5.实现对 IP 数据报的过滤和记帐。
对于不同地规模的网络,路由器的作用和侧重点有所不同。
在主干网上,路由器的主要作用是路由选择。主干网上的路由器,必须知道到达所有下层网络的路径。这需要维护庞大的路由表,并对连接状态的变化作出尽可能迅速的反应。路由器的故障将会导致严重的信息传输问题。
在地区网中,路由器的主要作用是网络连接和路由选择,即连接下层各个基层网络单位–园区网,同时负责下层网络之间的数据转发。
在园区网内部,路由器的主要作用是分隔子网。早期的互连网基层单位是局域网(LAN),其中所有主机处于同一逻辑网络中。随着网络规模的不断扩大,局域网 演变成以高速主干和路由器连接的多个子网所组成的园区网。在其中,各个子网在逻辑上独立,而路由器就是唯一能够分隔它们的设备,它负责子网间的报文转发和 广播隔离,该边界上的路由器则负责与上层网络的连接。
二、第二层交换机和路由器的区别
传统交换机从网桥发展而来,属于 OSI 第二层即数据链路层设备。它根据 mac 地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行。
路由器属于 OSI 第三层即网络层设备,它根据 IP 地址进行寻址,通过路由表路由协议产生。
交换机最大的好处是快速,由于交换机只须识别帧中 MAC 地址,直接根据 MAC 地址产生选择转发端口算法简单,便于 ASIC 实现,因此转发速度极高。
但交换机的工作机制也带来一些问题。
- 1.回路:根据交换机地址学习和站表建立算法,交换机之间不允许存在回路。一旦存在回路,必须启动生成树算法,阻塞掉产生回路的端口。而路由器的路由协议没有这个问题,路由器之间可以有多条通路来平衡负载,提高可靠性。
- 2.负载集中:交换机之间只能有一条通路,使得信息集中在一条通信链路上,不能进行动态分配,以平衡负载。而路由器的路由协议算法可以避免这一点,OSPF 路由协议算法不但能产生多条路由,而且能为不同的网络应用选择各自不同的最佳路由。
- 3.广播控制:交换机只能缩小冲突域,而不能缩小广播域。整个交换式网络就是一个大的广播域,广播报文散到整个交换式网络。而路由器可以隔离广播域,广播报文不能通过路由器继续进行广播。
- 4.子网划分:交换机只能识别 MAC 地址。MAC 地址是物理地址,而且采用平坦的地址结构,因此不能根据 MAC 地址来划分子网。而路由器识别 IP 地 址,IP 地址由网络管理员分配,是逻辑地址且 IP 地址具有层次结构,被划分成网络号和主机号,可以非常方便地用于划分子网,路由器的主要功能就是用于连接 不同的网络。
- 5.保密问题:虽说交换机也可以根据帧的源 MAC 地址、目的 MAC 地址和其他帧中内容对帧实施过滤,但路由器根据报文的源 IP 地址、目的 IP 地址、TCP 端口地址等内容对报文实施过滤,更加直观方便。
- 6.介质相关:交换机作为桥接设备也能完成不同链路层和物理层之间的转换,但这种转换过程比较复杂,不适合 ASIC 实现,势必降低交换机的转发速度。
因此 目前交换机主要完成相同或相似物理介质和链路协议的网络互连,而不会用来在物理介质和链路层协议相差甚元的网络之间进行互连。而路由器则不同,它主要用于 不同网络之间互连,因此能连接不同物理介质、链路层协议和网络层协议的网络。路由器在功能上虽然占据了优势,但价格昂贵,报文转发速度低。
近几年,交换机为提高性能做了许多改进,其中最突出的改进是虚拟网络和三层交换。
划分子网可以缩小广播域,减少广播风暴对网络的影响。路由器每个接口连接一个子网,广播报文不能经过路由器广播出去,连接在路由器不同接口的子网属于不同子网,子网范围由路由器物理划分。对交换机而言,每一个端口对应一个网段,由于子网由若干网段构成,通过对交换机端口的组合,可以逻辑划分子网。广播报文只能在子网内广播,不能扩散到别的子网内,通过合理划分逻辑子网,达到控制广播的目的。由于逻辑子网由交换机端口任意组合,没有物理上的相关性,因此称为虚拟子网,或叫虚拟网。虚拟网技术不用路由器就解决了广播报文的隔离问题,且虚拟网内网段与其物理位置无关,即相邻网段可以属于不同虚拟网,而相隔甚远的 两个网段可能属于不同虚拟网,而相隔甚远的两个网段可能属于同一个虚拟网。不同虚拟网内的终端之间不能相互通信,增强了对网络内数据的访问控制。
交换机和路由器是性能和功能的矛盾体,交换机交换速度快,但控制功能弱,路由器控制性能强,但报文转发速度慢。
解决这个矛盾的技术是三层交换,既有交换机线速转发报文能力,又有路由器良好的控制功能。
三、第三层交换机和路由器的区别
在第三层交换技术出现之前,几乎没有必要将路由功能器件和路由器区别开来,他们完全是相同的:提供路由功能正在路由器的工作,然而,现在第三层交换机完全能够执行传统路由器的大多数功能。
1、作为网络互连的设备,第三层交换机具有以下特征:
- 1).转发基于第三层地址的业务流;
- 2).完全交换功能;
- 3).可以完成特殊服务,如报文过滤或认证;
- 4).执行或不执行路由处理。
2、第三层交换机与传统路由器相比有如下优点:
- 1).子网间传输带宽可任意分配:传统路由器每个接口连接一个子网,子网通过路由器进行传输的速率被接口的带宽所限制。而三层交换机则不同,它可以把多个端口定义成一个虚拟网,把多个端口组成的虚拟网作为虚拟网接口,该虚拟网内信息可通过组成虚拟网的端口送给三层交换机,由于端口数可任意指定,子网间传输带宽没有限制。
- 2).合理配置信息资源:由于访问子网内资源速率和访问全局网中资源速率没有区别,子网设置单独服务器的意义不大,通过在全局网中设置服务器群不仅节省费用,更可以合理配置信息资源。
- 3).降低成本:通常的网络设计用交换机构成子网,用路由器进行子网间互连。目前采用三层交换机进行网络设计,既可以进行任意虚拟子网划分,又可以通过交换机三层路由功能完成子网间通信,为此节省了价格昂贵的路由器。
- 4).交换机之间连接灵活:作为交换机,它们之间不允许存在回路,作为路由器,又可有多条通路来提高可靠性、平衡负载。三层交换机用生成树算法阻塞造成回路的端口,但进行路由选择时,依然把阻塞掉的通路作为可选路径参与路由选择。
- 5)交换机和路由器是性能和功能的矛盾体,交换机交换速度快,但控制功能弱,路由器控制性能强,但报文转发速度慢。解决这个矛盾的最新技术是三层交换,既有交换机线速转发报文能力,又有路由器良好的控制功能。
3、三层交换机与路由器的主要区别
搞不清三层交换机和路由器之间的区别,最根本就是三层交换机也具有“路由”功能,与传统路由器的路由功能总体上是一致的。虽然如此,三层交换机与路由器还是存在着相当大的本质区别的:
1)主要功能不同
虽然三层交换机与路由器都具有路由功能,但我们不能因此而把它们等同起来,正如现在许多网络设备同时具备多种传统网络设备功能一样,就如现在有许多宽带路由器不仅具有路由功能,还提供了交换机端口、硬件防火墙功能,但不能把它与交换机或者防火墙等同起来一样。因为这些路由器的主要功能还是路由功能,其它功能只不过是其附加功能,其目的是使设备适用面更广、使其更加实用。这里的三层交换机也一样,它仍是交换机产品,只不过它是具备了一些基本的路由功能的交换机,它的主要功能仍是数据交换。也就是说它同时具备了数据交换和路由 由发两种功能,但其主要功能还是数据交换;而路由器仅具有路由转发这一种主要功能。
2)主要适用的环境不一样
三层交换机的路由功能通常比较简单,因为它所面对的主要是简单的局域网连接。正因如此,三层交换机的路由功能通常比较简单,路由路径远没有路由器那么复杂。它用在局域网中的主要用途还是提供快速数据交换功能,满足局域网数据交换频繁的应用特点。而路由器则不同,它的设计初哀就是为了满足不同类型的网络连接,虽然也适用于局域网之间的连接,但它的路由功能更多的体现在不同类型网络之间的互联上,如局域网与广域网之间的连接、不同协议的网络之间的连接等,所以路由器主要是用于不同类型的网络之间。它最主要的功能就是路由转发,解决好各种复杂路由路径网络的连接就是它的最终目的,所以路由器的路由功能通常非常强大,不仅适用于同种协议的局域网间,更适用于不同协议的局域网与广域网间。它的优势在于选择最佳路由、负荷分担、链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。
3)性能体现不一样
从技术上讲,路由器和三层交换机在数据包交换操作上存在着明显区别。路由器一般由基于微处理器的软件路由引擎执行数据包交换,而三层交换机通过硬件执行数据包交换。三层交换机在对第一个数据流进行路由后,它将会产生一个 MAC 地址与 IP 地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率。
同时,三层交换机的路由查找是针对数据流的,它利用缓存技术,很容易利用 ASIC 技术来实现,可以大大节约成本,并实现快速转发。而路由器的转发采用最长匹配的方式,实现复杂,通常使用软件来实现,转发效率较低。正因如此,从整体性能上比较的话,三层交换机的性能要远优于路由器,非常适用于数据交换频繁的局域网中;而路由器虽然路由功能非常强大,但它的数据包转发效率远低于三层交换机,更适合于数据交换不是很频繁的不同类型网络的互联,如局域网与互联网的互联。如果把路由器,特别是高档路由器用于局域网中,则在相当大程度上是一种浪费(就其强大的路由功能而言),而且还不能很好地满足局域网通信性能需求,影响子网间的正常通信。
综上所述,三层交换机与路由器之间还是存在着非常大的本质区别的。无论从哪方面来说,在局域网中进行多子网连接,最好还选用三层交换机,特别是在不同子网数据交换频繁的环境中。一方面可以确保子网间的通信性能需求,另一方面省去了另外购买路由器的投资。当然,如果子网间的通信不是很频繁,采用路由器也无可厚非,也可达到子网安全隔离相互通信的目的。具体要根据实际需求来定。
四、三层交换机的前世今生
三层交换机的最重要的目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。
出于安全和管理方便的考虑,主要是为了减小广播风暴的危害,必须把大型局域网按功能或地域等因素化成一个个小的局域网,这就使得 VLAN 技术在网络中得到大量应用,而不同 VLAN 之间的通信都要经过路由器来完成转发,随着网间互访的不断增加。单纯使用路由器来实现网间访问,不但由于端口数量有限,而且路由速度较慢。从而限制了网络的规模和访问速度。基于这种情况三层交换机便应用而生。三层交换机是为 IP 设计的,接口类型简单;拥有很强二层包处理能力,非常适合用于大型局域网内的数据路由与交换,它既可以工作在协议第三层替代或是部分完成传统路由器的功能,同时又具有几乎第二层交换的速度,且价格相对便宜。
三层交换机出现最重要的目的是加快大型局域网内部的数据交换,所具有的路由功能也多是围绕这个目的而展开的,所以它的路由功能没有同一档次的专业路由器强。毕竟在安全、协议支持等方面还有许多欠缺,并不能完全取代路由器的工作。
在实际中的典型用法是:处于同一个局域网中的各个子网的互联以及局域网中 VLAN 间的路由,用三层交换机来代替路由。而只有局域网与公网互联之间要实现跨地域的网络访问,才通过专业路由器。
从表面上看,第三层交换机是第二层交换器与路由器的合二为一,然而这种结合并非简单的物理结合,而是各取所长的逻辑结合。其重要表现是,当某一信息源的第一个数据流进行第三层交换后,其中的路由系统会产生一个 MAC 地址与 IP 地址的映射表,并将该表存储起来,当同一信息源的后续数据流再次进入交换环境时,交换机将根据第一次产生并保存的地址映射表,直接从第二层由源地址传输到目的地址,不再经过第三路由系统处理,从而消除路由选择的网络延迟。
五、结论
综上所述,交换机一般用于 lan-wan 的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第三层的交换。路由器用于 wan-wan 之间的连接,可以解决异性网络之间转发分组,作用于网络层。他们只是从一条线路上接受输入分组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议。相比较而言,路由器的功能较交换机要强大,但速度相对也慢,价格昂贵,第三层交换机既有交换机线速转发报文能力,又有路由器良好的控制功能,因此得以广泛使用。