switch-----交换机;
《从交换式HUB和SWITCH区别的探讨来理解LAN中信息传递的发展变化》http://bbs.sjtu.edu.cn/mgb/post/121/686
交换机过去是电信设备的称谓,比如电话交换机、ATM交换机、FR交换机。后来以太网的设备也有了二层的智能,虽然不象电信交换机能交换电路或虚电路,但是各厂商从开拓市场考虑,就把多口的桥称为交换机。HUB工作在第一层;而SWITCH,从局域网的发展来看,为了便于管理,把比较大的网络从物理上分隔,成为不同的网段,为了逻辑上连接这些不同的网段,使之可以相互通信,产生了网桥,连接多个网段需要多口的网桥,多口的网桥采用硬件来实现,就成为第二层交换机,随着LAN规模的进一步扩大,第二层交换机采用了专用软件来在逻辑上把同一个LAN划分为不同的子网,即虚拟的子网(VLAN)。而这不同VLAN间的通信,早期由交换机上一级的专用路由器负责,但VLAN一多的话,转发速度就比较慢,所以后来将路由模块简化并采用硬件实现后集成到二层交换机中,成为第三层交换机。
其实对于三层交换,每个厂商的实现都是不太一样的。但关键的
就是尽量不查路由表;减轻核心CPU负担(增加ASIC,每个模块都放CPU等措施)。简单的说三层交换就是switch通过硬件来实现ip的路由,而传统的router主要是通过软件实现的,所以转发速率没有switch高。各个厂家对三层交换的解释也不同,但有一点是一致的,三层交换就是能路由。
简要介绍一下:
Hub: 是所有端口共享一个通道,既同一网段的主机共享固有的带宽,传输通过碰撞检测进行,同一网段计算机越多,传输碰撞也越多,传输速率会变慢;本意是枢纽,就是好多线都连在这个东西上,因为最早的以太网拓扑结构是总线型的,后来,以AT&T为首的几家公司开发了在双绞线上跑的星型以太网,所有的网线都汇聚在一台设备上,这台设备就是网络枢纽---HUB,不管是共享式集线器还是交换机,都是HUB。在星型结构中,它是连接的中间结点,它起放大信号的作用;所有设备共享Hub的带宽,也就是说,如果hub的带宽是10M,连结了10了设备,每个设备就是1M;Hub所有端口共享一个MAC地址。
交换机(SWITCH):是2个相互通讯的端口独占一个端口!每个端口为固定带宽,有独特的传输方式,传输速率不受计算机增加影响,其独特的NWAY、全双工功能增加了交换机的使用范围和传输速度。实质就是多端口网桥,只不过传统网桥的实现以软件为主,而交换机则一硬件为主来实现,所以速度才够快,如果这么多端口全靠软件也不会有这么好的性能了.这两种设备的设计出发点不同:网桥是用来连接两个LAN的,目的是连通,而交换机则是为了提高网络性能而设计的,着眼点在性能。用于星型结构时,它作为中心结点起放大信号的作用;端口不共享带宽,如果是一个10M的switch,那么每个端口的带宽就是10M;每个端口拥有自己的MAC地址。它是一个网络设备,拥有路由器的一部分功能,它可以决定接收到的数据向什么地方发送,它的速度比路由器要快。交换机根据工作的ISO模型不同,分为三层交换机和二层交换机,即有无路由功能来区分。而交换式HUB是二层交换机的一种通俗叫法。SWITCH是每个端口都是交换式的,每个端口都有MAC地址表,通过学习形成一张转发对应表,根据各公司的技术不同,有些是每端口都有BUFFER和ASIC,有些是所有端口共用一个BUFFER和ASIC(CPU),一般说来,前者用在高端交换机上,后者用在低端或桌面型交换机上。至于是否可网管,不是HUB和SWITCH之间的区别,CISCO的一些型号的HUB也是可网管的。
交换式HUB,D-LINK有这样称呼的产品,是10/100M的,HUB的原理是广播和信号放大,所谓交换,实际上是当端口是100M的状态时,数据从100M的端口到10M端口去,或者从10M端口到100M的端口去,因为速率不同,因此需要有一个交换模块起存储转发作用,避免丢包太多,作用类似于CPU加缓存,但在10M端口或100M端口之间采用的还是广播的形式,这样可以降低成本。switch hub是一个过渡性的名词,现在很少用了,大家能清楚搞明白swtich和hub的区别也就可以了。
交换式HUB和SWITCH间,其实倒很难说有什么特别明显的界限。一些介绍以太网等相关知识的资料里,大多建议把中低档桌面式的称为"交换式集线器" SWITCH-HUB,而把背板带宽较大、转发速率较高、带网管的中高档的称"交换机" SWITCH,这是根据两者在一个网络中所处的不同地位来划分的。前者仅起一个汇集作用,后者则网管,并不是狭义的网管,而是指划VLAN、绑MAC等管理功能都在其上实现。FTTB+LAN的三层模式是汇集、转发、路由。
就"交换机"本身的涵义而言,合理的划分似乎应是这样:
早期LAN:客户机——HUB——SWITCH(二层)——路由器(网关)
现在LAN:客户机——HUB/SWITCH(二层)——SWITCH(三层)(网关)——路由器
早期划分:HUB(集线器)/SWITCH(交换机)(二层)
现在划分:HUB(集线器)/SWITCH HUB(交换式集线器)(即原先的中低档二层交换机)/SWITCH(交换机)(三层)
但由于历史的原因,加上个别厂商出于商业考虑的不负责任的宣传,交换式HUB其实可能是以下几种情况:
1 SWITCH---交换机、交换器、网络开关(不同的译法,同一种东西)
2 带交换模块内含两个中继器的共享式HUB(10/100M自适应)
3 可附加交换模块的共享式HUB 具体情况可以看看产品说明书。
若一定要在概念上划分,那SWITCH HUB和SWITCH的区别可以理解为SWITCH HUB是把端口分组,组与组之间进行交换,组内部通信通过竞争来实现通信,而SWITCH就是能够实现所有端口之间的交换。这样L2 SWITCH就能很方便的划分VLAN,而SWITCH HUB就只能简单的划分网段了。
通俗的讲,交换式集线器是端口分组交换,交换机是MAC交换,我的意思是前者是对所有端口进行分组,同一组中采用HUB式的第一层共享,不同组间采用第二层交换,但可能采用了特殊算法,使实际应用中,每一端口在通讯时,并不向其它端口广播),后者则所有端口完全是第二层以上的交换,以此来划分。(前者1~2层,后者2~3层)
第二层交换机应该是客户机自己通过ARP去获得IP->MAC的对应,如果是同一个switch下的其它host,它就"安排"了,如果需要通过路由器出去的话(比如IP是www.online.sh.cn的IP 218.1.64.50),上层路由器会回答说:218.1.64.50的MAC是......(路由器自己的端口的MAC),然后交换机就把包送到上层的路由器那里去了,这是发生在proxy ARP时。GW会冒充另一网段的主机的MAC地址。这种方法有一定容错能力,但scalability较差。应该是:node(节点)通过mask判断目标是否同一个网段。如果不是,就试图与gateway通讯,如果ARP(地址解析协议) cache(缓存)里没有gateway(网关)的MAC地址,就ARP广播,得到GW的MAC地址,转发给GW。
早期的"交换机"是指第二层的设备,但随着网络的发展,第三层交换机(SWITCH)才能在整个网络中,真正起到了"交换"的作用,交换通讯录、交换IP包;而原先的第二层交换机,除了自己下属端口可以直接交换外,其它的,都不管三七二十一,全部转手给上层交换机或路由器做,自身只起到了一个汇集用户的作用。所以我觉得照现在的应用,倒是称前者为交换机,而称后者为交换式集线器SWITCH-HUB更贴切一些。SWICH通过MAC地址交换,当然是在2层,MAC(硬件地址)是数据连路层标准,因此SWICH是2层硬件,HUB是物理层硬件,严格意义上不存在第3层的概念,7层模型只是逻辑概念的划分。厂商设计产品时可以根据需要按照ISO标准来进行分类,这是7层模型带来的好处。以前认为3层交换机不能代替路由器,但从目前的发展来看,这种看法有值得商榷之处。
把IP理解为一个人的姓名(例:张三),MAC理解为其住址。访问过程应如下:
"客户机向上级交换机发出ARP请求"我要给张三寄东西",交换机看通讯录"张三归哪个邮局管?",有,则通知客户机可发,客户机在IP包内封装己方IP和MAC、目标IP和自己网关(可能是承担路由功能的普通服务器,也可能是第三层交换机或者专用的路由器)MAC、内容,发往路由交换机(第一个路由),再通过一个个路由(每到一个路由,此路由器就将己方MAC改为自己的,目标MAC改为下一个路由器的MAC,这样才能不断的传送),最终到达张三处;若无,交换机向上一层交换机/路由器发出ARP请求,要求查询,查到所属邮局后反溃为了下次使用方便,交换机(路由)同时将其记录在自己的通讯录上。"
路由器根据内部的动态路由表或利用预设的固定路由规则生成动态路由表,以此决定IP包的最终去向(在多条可达路由中挑选一条捷径)。整个传送过程中,源IP和目标IP是不变的,但MAC则由路由器"盖上自己的邮戳"。对于外网,本机只知道IP(通过DNS),而MAC是交由路由器处理的——本机发送的IP包中的目标MAC是路由器的。
进一步理解三层交换: 三层就是IP层了。三层交换机应该功能和路由器相似,不过前者是由硬件实现路由后者是主要由软件来做。
三层路由和三层交换的区别:后者简化查表的动作,最简单的模型是所谓route cache,复杂的,比如netflow, CEF or deCEF
简单介绍netflow, CEF or deCEF:比较Process Switching,Fast Switching和CEF。
Process Switching
In process switching the first packet is copied to the system buffer. The router looks up the Layer 3 network address in the routing table and initializes the fast-switch cache. The frame is rewritten with the destination address and sent to the outgoing interface that services that destination. Subsequent packets for that destination are sent by the same switching path. The route processor computes the cyclical redundancy check (CRC).
翻译:在Process Switching,第一包被复制到系统buffer,然后查路由表并初始化fast-switch cache。帧(是第2层的哦)的目标地址(比如MAC地址)被改写,发到出口interface。后续的同一目标的包按照同样的switching path发送。路由处理器计算CRC。
Fast Switching
When packets are fast switched, the first packet is copied to packet memory and the destination network or host is found in the fast-switching cache. The frame is rewritten and sent to the outgoing interface that services the destination. Subsequent packets for the same destination use the same switching path. The interface processor computes the CRC.
翻译:当包被fast switching,第一包复制到内存,发现与fast-switching cache的某一表项吻合。帧被重写二层地址,发到出口interface。后续的同一目标的包按照同样的switching path发送。interface处理器计算CRC。
CEF Switching
When CEF mode is enabled, the CEF FIB and adjacency tables reside on the route processor, and the route processor performs the express forwarding. You can use CEF mode when line cards are not available for CEF switching or when you need to use features not compatible with distributed CEF switching. 当打开CEF模式,CEF FIB(转发信息库)和邻居表位于路由处理器,如果模块不支持分布式处理,就由路由处理器执行快速转发。
其实现在的技术发展的那么快, 底层的设备都在向上层发展, HUB从物理层向数据链路层发展, SWITCH向网络层发展, 目前三层SWITCH有完整的路由功能, 但是做的主要工作还是VLAN之间的路由, 做外网IP的路由还是靠路由器。 然而随着千兆以太网的迅速发展我想传统的共享式HUB和传统的路由器可能在市场上的占有率会越来越少的。
可以这样理解,就是三层交换机的交换表中多了一个IP的条目或者干脆多了一个路由表,这样它在将包交付路由器之前就已经知道了到达远程IP所需经过路线的下一个路由的MAC地址了。无论是hub,switch,在发送正是数据前会侦测线路,如果发现线路繁忙,它会暂时不送数据到总线上,而是随机等待一个时延后再侦测.所以也就不存在丢弃冲突的包的情况。
随着网络的发展,接入层的switch必然会在控制成本的前提下越来越完善,支持snmp、icmp、甚至简单的qos。cisco新推出的2950多了什么,主要就是服务质量(QoS)和组播管理,这是网络应用发展的必然。
单纯的路由器逐渐退到网络边缘,最终会被swtich取代。而所谓交换集线器这个名词很快会消失——实际上现在有几个做网络的人还会用这个名词?现在的新名词是:桌面式交换机、骨干交换机、路由交换机......
交换机过去是电信设备的称谓,比如电话交换机、ATM交换机、FR交换机。后来以太网的设备也有了二层的智能,虽然不象电信交换机能交换电路或虚电路,但是各厂商从开拓市场考虑,就把多口的桥称为交换机。HUB工作在第一层;而SWITCH,从局域网的发展来看,为了便于管理,把比较大的网络从物理上分隔,成为不同的网段,为了逻辑上连接这些不同的网段,使之可以相互通信,产生了网桥,连接多个网段需要多口的网桥,多口的网桥采用硬件来实现,就成为第二层交换机,随着LAN规模的进一步扩大,第二层交换机采用了专用软件来在逻辑上把同一个LAN划分为不同的子网,即虚拟的子网(VLAN)。而这不同VLAN间的通信,早期由交换机上一级的专用路由器负责,但VLAN一多的话,转发速度就比较慢,所以后来将路由模块简化并采用硬件实现后集成到二层交换机中,成为第三层交换机。
其实对于三层交换,每个厂商的实现都是不太一样的。但关键的
就是尽量不查路由表;减轻核心CPU负担(增加ASIC,每个模块都放CPU等措施)。简单的说三层交换就是switch通过硬件来实现ip的路由,而传统的router主要是通过软件实现的,所以转发速率没有switch高。各个厂家对三层交换的解释也不同,但有一点是一致的,三层交换就是能路由。
简要介绍一下:
Hub: 是所有端口共享一个通道,既同一网段的主机共享固有的带宽,传输通过碰撞检测进行,同一网段计算机越多,传输碰撞也越多,传输速率会变慢;本意是枢纽,就是好多线都连在这个东西上,因为最早的以太网拓扑结构是总线型的,后来,以AT&T为首的几家公司开发了在双绞线上跑的星型以太网,所有的网线都汇聚在一台设备上,这台设备就是网络枢纽---HUB,不管是共享式集线器还是交换机,都是HUB。在星型结构中,它是连接的中间结点,它起放大信号的作用;所有设备共享Hub的带宽,也就是说,如果hub的带宽是10M,连结了10了设备,每个设备就是1M;Hub所有端口共享一个MAC地址。
交换机(SWITCH):是2个相互通讯的端口独占一个端口!每个端口为固定带宽,有独特的传输方式,传输速率不受计算机增加影响,其独特的NWAY、全双工功能增加了交换机的使用范围和传输速度。实质就是多端口网桥,只不过传统网桥的实现以软件为主,而交换机则一硬件为主来实现,所以速度才够快,如果这么多端口全靠软件也不会有这么好的性能了.这两种设备的设计出发点不同:网桥是用来连接两个LAN的,目的是连通,而交换机则是为了提高网络性能而设计的,着眼点在性能。用于星型结构时,它作为中心结点起放大信号的作用;端口不共享带宽,如果是一个10M的switch,那么每个端口的带宽就是10M;每个端口拥有自己的MAC地址。它是一个网络设备,拥有路由器的一部分功能,它可以决定接收到的数据向什么地方发送,它的速度比路由器要快。交换机根据工作的ISO模型不同,分为三层交换机和二层交换机,即有无路由功能来区分。而交换式HUB是二层交换机的一种通俗叫法。SWITCH是每个端口都是交换式的,每个端口都有MAC地址表,通过学习形成一张转发对应表,根据各公司的技术不同,有些是每端口都有BUFFER和ASIC,有些是所有端口共用一个BUFFER和ASIC(CPU),一般说来,前者用在高端交换机上,后者用在低端或桌面型交换机上。至于是否可网管,不是HUB和SWITCH之间的区别,CISCO的一些型号的HUB也是可网管的。
交换式HUB,D-LINK有这样称呼的产品,是10/100M的,HUB的原理是广播和信号放大,所谓交换,实际上是当端口是100M的状态时,数据从100M的端口到10M端口去,或者从10M端口到100M的端口去,因为速率不同,因此需要有一个交换模块起存储转发作用,避免丢包太多,作用类似于CPU加缓存,但在10M端口或100M端口之间采用的还是广播的形式,这样可以降低成本。switch hub是一个过渡性的名词,现在很少用了,大家能清楚搞明白swtich和hub的区别也就可以了。
交换式HUB和SWITCH间,其实倒很难说有什么特别明显的界限。一些介绍以太网等相关知识的资料里,大多建议把中低档桌面式的称为"交换式集线器" SWITCH-HUB,而把背板带宽较大、转发速率较高、带网管的中高档的称"交换机" SWITCH,这是根据两者在一个网络中所处的不同地位来划分的。前者仅起一个汇集作用,后者则网管,并不是狭义的网管,而是指划VLAN、绑MAC等管理功能都在其上实现。FTTB+LAN的三层模式是汇集、转发、路由。
就"交换机"本身的涵义而言,合理的划分似乎应是这样:
早期LAN:客户机——HUB——SWITCH(二层)——路由器(网关)
现在LAN:客户机——HUB/SWITCH(二层)——SWITCH(三层)(网关)——路由器
早期划分:HUB(集线器)/SWITCH(交换机)(二层)
现在划分:HUB(集线器)/SWITCH HUB(交换式集线器)(即原先的中低档二层交换机)/SWITCH(交换机)(三层)
但由于历史的原因,加上个别厂商出于商业考虑的不负责任的宣传,交换式HUB其实可能是以下几种情况:
1 SWITCH---交换机、交换器、网络开关(不同的译法,同一种东西)
2 带交换模块内含两个中继器的共享式HUB(10/100M自适应)
3 可附加交换模块的共享式HUB 具体情况可以看看产品说明书。
若一定要在概念上划分,那SWITCH HUB和SWITCH的区别可以理解为SWITCH HUB是把端口分组,组与组之间进行交换,组内部通信通过竞争来实现通信,而SWITCH就是能够实现所有端口之间的交换。这样L2 SWITCH就能很方便的划分VLAN,而SWITCH HUB就只能简单的划分网段了。
通俗的讲,交换式集线器是端口分组交换,交换机是MAC交换,我的意思是前者是对所有端口进行分组,同一组中采用HUB式的第一层共享,不同组间采用第二层交换,但可能采用了特殊算法,使实际应用中,每一端口在通讯时,并不向其它端口广播),后者则所有端口完全是第二层以上的交换,以此来划分。(前者1~2层,后者2~3层)
第二层交换机应该是客户机自己通过ARP去获得IP->MAC的对应,如果是同一个switch下的其它host,它就"安排"了,如果需要通过路由器出去的话(比如IP是www.online.sh.cn的IP 218.1.64.50),上层路由器会回答说:218.1.64.50的MAC是......(路由器自己的端口的MAC),然后交换机就把包送到上层的路由器那里去了,这是发生在proxy ARP时。GW会冒充另一网段的主机的MAC地址。这种方法有一定容错能力,但scalability较差。应该是:node(节点)通过mask判断目标是否同一个网段。如果不是,就试图与gateway通讯,如果ARP(地址解析协议) cache(缓存)里没有gateway(网关)的MAC地址,就ARP广播,得到GW的MAC地址,转发给GW。
早期的"交换机"是指第二层的设备,但随着网络的发展,第三层交换机(SWITCH)才能在整个网络中,真正起到了"交换"的作用,交换通讯录、交换IP包;而原先的第二层交换机,除了自己下属端口可以直接交换外,其它的,都不管三七二十一,全部转手给上层交换机或路由器做,自身只起到了一个汇集用户的作用。所以我觉得照现在的应用,倒是称前者为交换机,而称后者为交换式集线器SWITCH-HUB更贴切一些。SWICH通过MAC地址交换,当然是在2层,MAC(硬件地址)是数据连路层标准,因此SWICH是2层硬件,HUB是物理层硬件,严格意义上不存在第3层的概念,7层模型只是逻辑概念的划分。厂商设计产品时可以根据需要按照ISO标准来进行分类,这是7层模型带来的好处。以前认为3层交换机不能代替路由器,但从目前的发展来看,这种看法有值得商榷之处。
把IP理解为一个人的姓名(例:张三),MAC理解为其住址。访问过程应如下:
"客户机向上级交换机发出ARP请求"我要给张三寄东西",交换机看通讯录"张三归哪个邮局管?",有,则通知客户机可发,客户机在IP包内封装己方IP和MAC、目标IP和自己网关(可能是承担路由功能的普通服务器,也可能是第三层交换机或者专用的路由器)MAC、内容,发往路由交换机(第一个路由),再通过一个个路由(每到一个路由,此路由器就将己方MAC改为自己的,目标MAC改为下一个路由器的MAC,这样才能不断的传送),最终到达张三处;若无,交换机向上一层交换机/路由器发出ARP请求,要求查询,查到所属邮局后反溃为了下次使用方便,交换机(路由)同时将其记录在自己的通讯录上。"
路由器根据内部的动态路由表或利用预设的固定路由规则生成动态路由表,以此决定IP包的最终去向(在多条可达路由中挑选一条捷径)。整个传送过程中,源IP和目标IP是不变的,但MAC则由路由器"盖上自己的邮戳"。对于外网,本机只知道IP(通过DNS),而MAC是交由路由器处理的——本机发送的IP包中的目标MAC是路由器的。
进一步理解三层交换: 三层就是IP层了。三层交换机应该功能和路由器相似,不过前者是由硬件实现路由后者是主要由软件来做。
三层路由和三层交换的区别:后者简化查表的动作,最简单的模型是所谓route cache,复杂的,比如netflow, CEF or deCEF
简单介绍netflow, CEF or deCEF:比较Process Switching,Fast Switching和CEF。
Process Switching
In process switching the first packet is copied to the system buffer. The router looks up the Layer 3 network address in the routing table and initializes the fast-switch cache. The frame is rewritten with the destination address and sent to the outgoing interface that services that destination. Subsequent packets for that destination are sent by the same switching path. The route processor computes the cyclical redundancy check (CRC).
翻译:在Process Switching,第一包被复制到系统buffer,然后查路由表并初始化fast-switch cache。帧(是第2层的哦)的目标地址(比如MAC地址)被改写,发到出口interface。后续的同一目标的包按照同样的switching path发送。路由处理器计算CRC。
Fast Switching
When packets are fast switched, the first packet is copied to packet memory and the destination network or host is found in the fast-switching cache. The frame is rewritten and sent to the outgoing interface that services the destination. Subsequent packets for the same destination use the same switching path. The interface processor computes the CRC.
翻译:当包被fast switching,第一包复制到内存,发现与fast-switching cache的某一表项吻合。帧被重写二层地址,发到出口interface。后续的同一目标的包按照同样的switching path发送。interface处理器计算CRC。
CEF Switching
When CEF mode is enabled, the CEF FIB and adjacency tables reside on the route processor, and the route processor performs the express forwarding. You can use CEF mode when line cards are not available for CEF switching or when you need to use features not compatible with distributed CEF switching. 当打开CEF模式,CEF FIB(转发信息库)和邻居表位于路由处理器,如果模块不支持分布式处理,就由路由处理器执行快速转发。
其实现在的技术发展的那么快, 底层的设备都在向上层发展, HUB从物理层向数据链路层发展, SWITCH向网络层发展, 目前三层SWITCH有完整的路由功能, 但是做的主要工作还是VLAN之间的路由, 做外网IP的路由还是靠路由器。 然而随着千兆以太网的迅速发展我想传统的共享式HUB和传统的路由器可能在市场上的占有率会越来越少的。
可以这样理解,就是三层交换机的交换表中多了一个IP的条目或者干脆多了一个路由表,这样它在将包交付路由器之前就已经知道了到达远程IP所需经过路线的下一个路由的MAC地址了。无论是hub,switch,在发送正是数据前会侦测线路,如果发现线路繁忙,它会暂时不送数据到总线上,而是随机等待一个时延后再侦测.所以也就不存在丢弃冲突的包的情况。
随着网络的发展,接入层的switch必然会在控制成本的前提下越来越完善,支持snmp、icmp、甚至简单的qos。cisco新推出的2950多了什么,主要就是服务质量(QoS)和组播管理,这是网络应用发展的必然。
单纯的路由器逐渐退到网络边缘,最终会被swtich取代。而所谓交换集线器这个名词很快会消失——实际上现在有几个做网络的人还会用这个名词?现在的新名词是:桌面式交换机、骨干交换机、路由交换机......