什么是交换机(快速了解交换机基础知识)
一、概念
交换机(英文:Switch,意为“开关”)是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。
二、主要特点
交换机的主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。目前交换机还具备了一些新的功能,如对VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能。
学习:以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中。
转发/过滤:当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)。
消除回路:当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。
交换机除了能够连接同种类型的网络之外,还可以在不同类型的网络(如以太网和快速以太网)之间起到互连作用。如今许多交换机都能够提供支持快速以太网或FDDI等的高速连接端口,用于连接网络中的其它交换机或者为带宽占用量大的关键服务器提供附加带宽。
一般来说,交换机的每个端口都用来连接一个独立的网段,但是有时为了提供更快的接入速度,我们可以把一些重要的网络计算机直接连接到交换机的端口上。这样,网络的关键服务器和重要用户就拥有更快的接入速度,支持更大的信息流量。
三、交换机的基本功能:
1. 像集线器一样,交换机提供了大量可供线缆连接的端口,这样可以采用星型拓扑布线。
2. 像中继器、集线器和网桥那样,当它转发帧时,交换机会重新产生一个不失真的方形电信号。
3. 像网桥那样,交换机在每个端口上都使用相同的转发或过滤逻辑。
4. 像网桥那样,交换机将局域网分为多个冲突域,每个冲突域都是有独立的宽带,因此大大提高了局域网的带宽。
5. 除了具有网桥、集线器和中继器的功能以外,交换机还提供了更先进的功能,如虚拟局域网(VLAN)和更高的性能。
四、基本术语
交换机的传输模式有全双工,半双工,全双工/半双工自适应,交换机的全双工是指交换机在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的交换机都支持全双工。全双工的好处在于迟延小,速度快。
提到全双工,就不能不提与之密切对应的另一个概念,那就是“半双工”,所谓半双工就是指一个时间段内只有一个动作发生,举个简单例子,一条窄窄的马路,同时只能有一辆车通过,当目前有两辆车对开,这种情况下就只能一辆先过,等到头儿后另一辆再开,这个例子就形象的说明了半双工的原理。早期的对讲机、以及早期集线器等设备都是实行半双工的产品。随着技术的不断进步,半双工会逐渐退出历史舞台。
从广义上来看,网络交换机分为两种:广域网交换机和局域网交换机。广域网交换机主要应用于电信领域,提供通信用的基础平台。而局域网交换机则应用于局域网络,用于连接终端设备,如PC机及网络打印机等。从传输介质和传输速度上可分为以太网交换机、快速以太网交换机、千兆以太网交换机、FDDI交换机、ATM交换机和令牌环交换机等。从规模应用上又可分为企业级交换机、部门级交换机和工作组交换机等。各厂商划分的尺度并不是完全一致的,一般来讲,企业级交换机都是机架式,部门级交换机可以是机架式(插槽数较少),也可以是固定配置式,而工作组级交换机为固定配置式(功能较为简单)。另一方面,从应用的规模来看,作为骨干交换机时,支持500个信息点以上大型企业应用的交换机为企业级交换机,支持300个信息点以下中型企业的交换机为部门级交换机,而支持100个信息点以内的交换机为工作组级交换机。本文所介绍的交换机指的是局域网交换机。
五、原理
工作在数据链路层,交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的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的第二层数据链路层设备。也就是说集线器只是对数据的传输起到同步、放大和整形的作用,对于数据传输中的短帧=碎片等无法进行有效的处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过滤短帧、碎片等。
2.从工作方式看,集线器是一种广播模式,也就是说集线器的某个端口工作的时候,其它所有端口都能够收听到信息,容易产生广播风暴,当网络较大时网络性能会受到很大影响;而交换机就能够避免这种现象,当交换机工作的时候,只有发出请求的端口与目的端口之间相互响应而不影响其它端口,因此交换机就能够隔离冲突域并有效地抑制广播风暴的产生。
3.从带宽来看,集线器不管有多少个端口,所有端口都共享一条带宽,在同一时刻只能有两个端口传送数据,其它端口只能等待,同时集线器只能工作 在半双工模式下;而对于交换机而言,每个端口都有一条独占的带宽,当两个端口工作时不影响其它端口的工作,同时交换机不但可以工作 在半双工模式下而且可以工作在全双工模式下。
八、交换方式
交换机通过以下三种方式进行交换:
1) 直通式:
直通方式的以太网交换机可以理解为在各端口间是纵横交叉的线路矩阵电话交换机。它在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入与输出交叉处接通,把数据包直通到相应的端口,实现交换功能。由于不需要存储,延迟非常小、交换非常快,这是它的优点。它的缺点是,因为数据包内容并没有被以太网交换机保存下来,所以无法检查所传送的数据包是否有误,不能提供错误检测能力。由于没有缓存,不能将具有不同速率的输入/输出端口直接接通,而且容易丢包。
2) 存储转发:
存储转发方式是计算机网络领域应用最为广泛的方式。它把输入端口的数据包先存储起来,然后进行CRC(循环冗余码校验)检查,在对错误包处理后才取出数据包的目的地址,通过查找表转换成输出端口送出包。正因如此,存储转发方式在数据处理时延时大,这是它的不足,但是它可以对进入交换机的数据包进行错误检测,有效地改善网络性能。尤其重要的是它可以支持不同速度的端口间的转换,保持高速端口与低速端口间的协同工作。
3) 碎片隔离:
这是介于前两者之间的一种解决方案。它检查数据包的长度是否够64个字节,如果小于64字节,说明是假包,则丢弃该包;如果大于64字节,则发送该包。这种方式也不提供数据校验。它的数据处理速度比存储转发方式快,但比直通式慢。
原文地址:https://tangjiusheng.cn/it/1658.html