交换机路由器的原理和差异浅析
⼀、⼯作原理
1、⼆层交换机
⼆层交换技术是发展⽐较成熟,⼆层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进⾏转发,并将这些MAC地址与对应的端⼝记录在⾃⼰内部的⼀个地址表中。
具体如下:
(1)当交换机从某个端⼝收到⼀个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端⼝上;
(2)再去读取包头中的⽬的MAC地址,并在地址表中查相应的端⼝;
(3)如表中有与这⽬的MAC地址对应的端⼝,把数据包直接复制到这端⼝上。
2、三层交换机
三层交换技术就是将路由技术与交换技术合⼆为⼀的技术。在对第⼀个数据流进⾏路由后,它将会产⽣
⼀个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从⼆层通过⽽不是再次路由,从⽽消除了路由器进⾏路由选择⽽造成⽹络的延迟,提⾼了数据包转发的效率。
3、路由器
传统地,路由器⼯作于OSI七层协议中的第三层,其主要任务是接收来⾃⼀个⽹络接⼝的数据包,根据其中所含的⽬的地址,决定转发到下⼀个⽬的地址。因此,路由器⾸先得在转发路由表中查它的⽬的地址,若到了⽬的地址,就在数据包的帧格前添加下⼀个MAC地址,同时IP数据包头的TTL(Time To Live)域也开始减数,并重新计算校验和。当数据包被送到输出端⼝时,它需要按顺序等待,以便被传送到输出链路上。
路由器在⼯作时能够按照某种路由通信协议查设备中的路由表。如果到某⼀特定节点有⼀条以上的路径,则基本预先确定的路由准则是选择最优(或最经济)的传输路径。由于各种⽹络段和其相互连接情况可能会因环境变化⽽变化,因此路由情况的信息⼀般也按所使⽤的路由信息协议的规定⽽定时更新。
⼆、差异分析
主要区别:⼆层交换机⼯作在数据链路层,三层交换机⼯作在⽹络层,路由器⼯作在⽹络层。
具体区别如下:
1、⼆层交换机和三层交换机的区别:三层交换机使⽤了三层交换技术
简单地说,三层交换技术就是:⼆层交换技术+三层转发技术。它解决了局域⽹中⽹段划分之后,⽹段中⼦⽹必须依赖路由器进⾏管理的局⾯,解决了传统路由器低速、复杂所造成的⽹络瓶颈问题。
三层交换(也称多层交换技术,或IP交换技术)是相对于传统交换概念⽽提出的。众所周知,传统的交换技术是在OSI⽹络标准模型中的第⼆层——数据链路层进⾏*作的,⽽三层交换技术是在⽹络模型中的第三层实现了数据包的⾼速转发。简单地说,三层交换技术就
是:⼆层交换技术+三层转发技术。三层交换技术的出现,解决了局域⽹中⽹段划分之后,⽹段中⼦⽹必须依赖路由器进⾏管理的局⾯,解决了传统路由器低速、复杂所造成的⽹络瓶颈问题。
其原理是:假设两个使⽤IP协议的站点A、B通过第三层交换机进⾏通信,发送站点A在开始发送时,把⾃⼰的IP地址与B站的IP地址⽐较,判断B站是否与⾃⼰在同⼀⼦⽹内。若⽬的站B与发送站A在同⼀⼦⽹内,则进⾏⼆层的转发。若两个站点不在同⼀⼦⽹内,如发送
站A要与⽬的站B通信,发送站A要向“缺省⽹关”发出ARP(地址解析)封包,⽽“缺省⽹关”的IP地址其实是三层交换机的三层交换模块。当发送站A对“缺省⽹关”的IP地址⼴播出⼀个ARP请求时,如果三层交
换模块在以前的通信过程中已经知道B站的MAC地址,则向发送站A回
复B的MAC地址。否则三层交换模块根据路由信息向B站⼴播⼀个ARP请求,B站得到此ARP请求后向三层交换模块回复其MAC地址,三层交换模块保存此地址并回复给发送站A,同时将B站的MAC地址发送到⼆层交换引擎的MAC地址表中。从这以后,当A向B发送的数据包便全部交给⼆层交换处理,信息得以⾼速交换。由于仅仅在路由过程中才需要三层处理,绝⼤部分数据都通过⼆层交换转发,因此三层交换机的速度很快,接近⼆层交换机的速度,同时⽐相同路由器的价格低很多。
2、⼆层交换机和路由器的区别:
传统交换机从⽹桥发展⽽来,属于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实现,势必降低
交换机的转发速度。因此⽬前交换机主要完成相同或相似物理介质和链路协议的⽹络互连,⽽不会⽤来在物理介质和链路层协议相差甚元的
⽹络之间进⾏互连。⽽路由器则不同,它主要⽤于不同⽹络之间互连,因此能连接不同物理介质、链路层协议和⽹络层协议的⽹络。路由器
在功能上虽然占据了优势,但价格昂贵,报⽂转发速度低。近⼏年,交换机为提⾼性能做了许多改进,其中最突出的改进是虚拟⽹络和三层
交换。
划分⼦⽹可以缩⼩⼴播域,减少⼴播风暴对⽹络的影响。路由器每⼀接⼝连接⼀个⼦⽹,⼴播报⽂不能经过路由器⼴播出去,连接在路
由器不同接⼝的⼦⽹属于不同⼦⽹,⼦⽹范围由路由器物理划分。对交换机⽽⾔,每⼀个端⼝对应⼀个⽹段,由于⼦⽹由若⼲⽹段构成,通
过对交换机端⼝的组合,可以逻辑划分⼦⽹。⼴播报⽂只能在⼦⽹内⼴播,不能扩散到别的⼦⽹内,通过合理划分逻辑⼦⽹,达到控制⼴播
的⽬的。由于逻辑⼦⽹由交换机端⼝任意组合,没有物理上的相关性,因此称为虚拟⼦⽹,或叫虚拟⽹。虚拟⽹技术不⽤路由器就解决了⼴
播报⽂的隔离问题,且虚拟⽹内⽹段与其物理位置⽆关,即相邻⽹段可以属于不同虚拟⽹,⽽相隔甚远的两个⽹段可能属于不同虚拟⽹,⽽
相隔甚远的两个⽹段可能属于同⼀个虚拟⽹。不同虚拟⽹内的终端之间不能相互通信,增强了对⽹络内数据的访问控制。
3、第三层交换机和路由器的区别:
之所以有⼈搞不清三层交换机和路由器之间的区别,最根本就是三层交换机也具有“路由”功能,与传统路由器的路由功能总体上是⼀致的。虽然如此,三层交换机与路由器
1. 主要功能不同
虽然三层交换机与路由器都具有路由功能,但我们不能因此⽽把它们等同起来,正如现在许多⽹络设备同时具备多种传统⽹络设备功能⼀样,就如现在有许多宽
带路由器不仅具有路由功能,还提供了交换机端⼝、硬件防⽕墙功能,但不能把它与交换机或者防⽕墙等同起来⼀样。因为这些路由器的主要功能还是路由功
能,其它功能只不过是其附加功能,其⽬的是使设备适⽤⾯更⼴、使其更加实⽤。这⾥的三层交换机也⼀样,它仍是交换机产品,只不过它是具备了⼀些基本的
路由功能的交换机,它的主要功能仍是数据交换。也就是说它同时具备了数据交换和路由由发两种功能,但其主要功能还是数据交换;⽽路由器仅具有路由转发
这⼀种主要功能。
2. 主要适⽤的环境不⼀样
三层交换机的路由功能通常⽐较简单,因为它所⾯对的主要是简单的局域⽹连接。正因如此,三层交换机的路由功能通常⽐较简单,路由路径远没有路由器那么
复杂。它⽤在局域⽹中的主要⽤途还是提供快速数据交换功能,满⾜局域⽹数据交换频繁的应⽤特点。⽽路由器则不同,它的设计初哀就是为了满⾜不同类型的
⽹络连接,虽然也适⽤于局域⽹之间的连接,但它的路由功能更多的体现在不同类型⽹络之间的互联上,如局域⽹与⼴域⽹之间的连接、不同协议的⽹络之间的
连接等,所以路由器主要是⽤于不同类型的⽹络之间。它最主要的功能就是路由转发,解决好各种复杂路由路径⽹络的连接就是它的最终⽬的,所以路由器的路
由功能通常⾮常强⼤,不仅适⽤于同种协议的局域⽹间,更适⽤于不同协议的局域⽹与⼴域⽹间。它的优势在于选择最佳路由、负荷分担、链路备份及和其他⽹
络进⾏路由信息的交换等等路由器所具有功能。
3. 性能体现不⼀样
从技术上讲,路由器和三层交换机在数据包交换操作上存在着明显区别。路由器⼀般由基于微处理器的软件路由引擎执⾏数据包交换,⽽三层交换机通过硬件执
⾏数据包交换。三层交换机在对第⼀个数据流进⾏路由后,它将会产⽣⼀个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从⼆层
通过⽽不是再次路由,从⽽消除了路由器进⾏路由选择⽽造成⽹络的延迟,提⾼了数据包转发的效率。同时,三层交换机的路由查是针对数据流的,它利⽤缓
存技术,很容易利⽤ASIC技术来实现,因此,可以⼤⼤节约成本,并实现快速转发。⽽路由器的转发采⽤最长匹配的⽅式,实现复杂,通常使⽤软件来实现,
转发效率较低。正因如此,从整体性能上⽐较的话,三层交换机的性能要远优于路由器,⾮常适⽤于数据交换频繁的局域⽹中;⽽路由器虽然路由功能⾮常强
⼤,但它的数据包转发效率远低于三层交换机,更适合于数据交换不是很频繁的不同类型⽹络的互联,如局域⽹与互联⽹的互联。如果把路由器,特别是⾼档路
由器⽤于局域⽹中,则在相当⼤程度上是⼀种浪费(就其强⼤的路由功能⽽⾔),⽽且还不能很好地满⾜局域⽹通信性能需求,影响⼦⽹间的正常通信。综上所
述,三层交换机与路由器之间还是存在着⾮常⼤的本质区别的。⽆论从哪⽅⾯来说,在局域⽹中进⾏多⼦⽹连接,最好还选⽤三层交换机,特别是在不同⼦⽹数
据交换频繁的环境中。⼀⽅⾯可以确保⼦⽹间的通信性能需求,另⼀⽅⾯省去了另外购买交换机的投资。当然,如果⼦⽹间的通信不是很频繁,采⽤路由器也⽆
可厚⾮,也可达到⼦⽹安全隔离相互通信的⽬的。具体要根据实际需求来定。
三层交换机的最重要的⽬的是加快⼤型局域⽹内部的数据交换,所具有的路由功能也是为这⽬的服务的,能够做到⼀次路由,多次转发。对于数据包转发等
规律性的过程由硬件⾼速实现,⽽像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。
出于安全和管理⽅便的考虑,主要是为了减⼩⼴播风暴的危害,必须把⼤型局域⽹按功能或地域等因素化成⼀个个⼩的局域⽹,这就使得VLAN技术在⽹络
中得到⼤量应⽤,⽽不同VLAN之间的通信都要经过路由器来完成转发,随着⽹间互访的不断增加。单纯使⽤路由器来实现⽹间访问,不但由于端⼝数量有限,
⽽且路由速度较慢。从⽽限制了⽹络的规模和访问速度。基于这种情况三层交换机便应⽤⽽⽣。三层交换机是为IP设计的,接⼝类型简单;拥有很强⼆层包处理
能⼒,⾮常适合⽤于⼤型局域⽹内的数据路由与交换,它既可以⼯作在协议第三层替代或是部分完成传统路由器的功能,同时⼜具有⼏乎第⼆层交换的速度,且
价格相对便宜。
在实际中的典型⽤法是:处于同⼀个局域⽹中的各个⼦⽹的互联以及局域⽹中VLAN间的路由,⽤三层交换机来代替路由。⽽只有局域⽹与公⽹互联之间要实现跨地域的⽹络访问,才通过专业路由器。从表⾯上看,第三层交换机是第⼆层交换器与路由器的合⼆为⼀,然⽽这种结合并⾮简单的物理结合,⽽是各取所长的逻辑结合。其重要表现是,当⼀信息源的第⼀个数据流进⾏第三层交换后,其中的路由系统会产⽣⼀个MAC地址与IP地址的映射表,并将该表存储起来,当同⼀信息源的后续数据流再次进⼊交换环境时,交换机将根据第⼀次产⽣并保存的地址映射表,直接从第⼆层由源地址传输到⽬的地址,不再经过第三路由系统处理,从⽽消除路由选择的⽹络延迟。
在第三层交换技术出现之前,⼏乎没有必要将路由功能器件和路由器区别开来,他们完全是相同的:提供路由功能正在路由器的⼯作,然⽽,现在第三层交换机完全能够执⾏传统路由器的⼤多数功能。作为⽹络互连的设备,第三层交换机具有以下特征:
1.转发基于第三层地址的业务流;
2.完全交换功能;
3.可以完成,如报⽂过滤或认证;
4.执⾏或不执⾏路由处理。
第三层交换机与传统路由器相⽐有如下优点:
交换机 路由器1.⼦⽹间传输带宽可任意分配:传统路由器每个接⼝连接⼀个⼦⽹,⼦⽹通过路由器进⾏传输的速率被接⼝的带宽所限制。⽽三层交换机则不同,它可以把多个端⼝定义成⼀个虚拟⽹,把多个端⼝组成的虚拟⽹作为虚拟⽹接⼝,该虚拟⽹内信息可通过组成虚拟⽹的端⼝送给三层交换机,由于端⼝数可任意指定,⼦⽹间传输带宽没有限制。
2.合理配置信息资源:由于访问⼦⽹内资源速率和访问全局⽹中资源速率没有区别,⼦⽹设置单独服务器的意义不⼤,通过在全局⽹中设置服务器不仅节省费⽤,更可以合理配置信息资源。
3.降低成本:通常的⽹络设计⽤交换机构成⼦⽹,⽤路由器进⾏⼦⽹间互连。⽬前采⽤三层交换机进⾏⽹络设计,既可以进⾏任意虚拟⼦⽹划分,⼜可以通过交换机三层路由功能完成⼦⽹间通信,为此节省了价格昂贵的路由器。
4.交换机之间连接灵活:作为交换机,它们之间不允许存在回路,作为路由器,⼜可有多条通路来提⾼可靠性、平衡负载。三层交换机⽤⽣成树算法阻塞造成回路的端⼝,但进⾏路由选择时,依然把阻塞掉的通路作为可选路径参与路由选择。
交换机和路由器是性能和功能的⽭盾体,交换机交换速度快,但控制功能弱,路由器控制性能强,但
报⽂转发速度慢。解决这个⽭盾的最新技术是三层交换,既有交换机线速转发报⽂能⼒,⼜有路由器良好的控制功能。