详谈交换机和路由器的区别 什么是交换机( 二 )


五、原理
工作在数据链路层,交换机拥有一条很高带宽的背部总线和内部交换矩阵 。交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在,广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部MAC地址表中 。使用交换机也可以把网络“分段”,通过对照MAC地址表,交换机只允许必要的网络流量通过交换机 。通过交换机的过滤和转发,可以有效的减少冲突域,但它不能划分网络层广播,即广播域 。交换机在同一时刻可进行多个端口对之间的数据传输 。每一端口都可视为独立的网段,连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用 。当节点A向节点D发送数据时,节点B可同时向节点C发送数据,而且这两个传输都享有网络的全部带宽,都有着自己的虚拟连接 。假使这里使用的是10Mbps的以太网交换机,那么该交换机这时的总流通量就等于
2×10Mbps=20Mbps,而使用10Mbps的共享式HUB时,一个HUB的总流通量也不会超出10Mbps 。总之,交换机是一种基于MAC地址识别,能完成封装转发数据帧功能的网络设备 。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址 。
六、交换机与路由器的区别
传统交换机从网桥发展而来,属于OSI第二层即数据链路层设备 。它根据MAC地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行 。路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址,通过路由表路由协议产生 。交换机最大的好处是快速,由于交换机只须识别帧中MAC地址,直接根据MAC地址产生选择转发端口算法简单,便于ASIC实现,因此转发速度极高 。
但交换机的工作机制也带来一些问题 。
1.回路:根据交换机地址学习和站表建立算法,交换机之间不允许存在回路 。一旦存在回路,必须启动生成树算法,阻塞掉产生回路的端口 。而路由器的路由协议没有这个问题,路由器之间可以有多条通路来平衡负载,提高可靠性 。
2.负载集中:交换机之间只能有一条通路,使得信息集中在一条通信链路上,不能进行动态分配,以平衡负载 。而路由器的路由协议算法可以避免这一点,OSPF路由协议算法不但能产生多条路由,而且能为不同的网络应用选择各自不同的最佳路由 。
3.广播控制:交换机只能缩小冲突域,而不能缩小广播域 。整个交换式网络就是一个大的广播域,广播报文散到整个交换式网络 。而路由器可以隔离广播域,广播报文不能通过路由器继续进行广播 。
4.子网划分:交换机只能识别MAC地址 。MAC地址是物理地址,而且采用平坦的地址结构,因此不能根据MAC地址来划分子网 。而路由器识别IP地址,IP地址由网络管理员分配,是逻辑地址且IP地址具有层次结构,被划分成网络号和主机号,可以非常方便地用于划分子网,路由器的主要功能就是用于连接不同的网络 。
5.保密问题:虽说交换机也可以根据帧的源MAC地址、目的MAC地址和其他帧中内容对帧实施过滤,但路由器根据报文的源IP地址、目的IP地址、TCP端口地址等内容对报文实施过滤,更加直观方便 。
七、交换机与集线器的区别
1.从OSI体系结构来看,集线器属于第一层物理层设备,而交换机属于OSI的第二层数据链路层设备 。也就是说集线器只是对数据的传输起到同步、放大和整形的作用,对于数据传输中的短帧=碎片等无法进行有效的处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过滤短帧、碎片等 。

推荐阅读