﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-westwin的blog-随笔分类-Router/Switch</title><link>http://www.blogjava.net/westwin/category/2372.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 21:06:50 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 21:06:50 GMT</pubDate><ttl>60</ttl><item><title>(转贴)路由器基础</title><link>http://www.blogjava.net/westwin/archive/2005/07/29/8701.html</link><dc:creator>westwin的blog</dc:creator><author>westwin的blog</author><pubDate>Fri, 29 Jul 2005 01:03:00 GMT</pubDate><guid>http://www.blogjava.net/westwin/archive/2005/07/29/8701.html</guid><wfw:comment>http://www.blogjava.net/westwin/comments/8701.html</wfw:comment><comments>http://www.blogjava.net/westwin/archive/2005/07/29/8701.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/westwin/comments/commentRss/8701.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/westwin/services/trackbacks/8701.html</trackback:ping><description><![CDATA[<p><font color="#c00000">一、路由器概述</font></p>

<p>　　路由器是一种连接多个网络或网段的网络设备，它能将不同网络或网段之间的数据信息进行“翻译”，以使它们能够相互“读懂”对方的数据，从而构成
一个更大的网络。它与前面所介绍的集线器和交换机不同，它不是应用于同一网段的设备，而是应用于不同网段或不同网络之间的设备，属网际设备。路由器之所以
能在不同网络之间起到“翻译”的作用，是因为它不再是一个纯硬件设备，而是具有相当丰富路由协议的软、硬结构设备，如RIP协议、OSPF协议、
EIGRP、IPV6协议等。这些路由协议就是用来实现不同网段或网络之间的相互“理解”。</p>

<p>　　路由器有两大典型功能，即数据通道功能和控制功能。数据通道功能包括转发决定、背板转发以及输出链路调度等，一般由特定的硬件来完成；控制功能一般用软件来实现，包括与相邻路由器之间的信息交换、系统配置、系统管理等。</p>

<p>　　路由器具有判断网络地址和选择路径的功能，它能在多网络互联环境中，建立灵活的连接，可用完全不同的数据分组和介质访问方法连接各种子网。路由
器只接受源站或其他路由器的信息，属网络层的一种互联设备，它不关心各子网使用的硬件设备，但要求运行与网络层协议相一致的软件。路由器分本地路由器和远
程路由器，本地路由器是直接通过诸如光纤、同轴电缆、双绞线等传输介质连接的；远程路由器是不是通过以上传输介质直接连接的，而是通过其它网络，如电话
网、有线电视网等进行远程连接的。　</p>

<p>　　在局域网接入广域网的众多方式中，通过路由器接入互联网是最为普遍的方式。使用路由器互联网络的最大优点是：各互联子网仍保持各自独立，每个子
网可以采用不同的拓扑结构、传输介质和网络协议，网络结构层次分明，还有的路由器具有VLAN管理功能。通过路由器与互联网相连，则可完全屏蔽公司内部网
络，起到一个防火墙的作用，因此使用路由器上网还可确保内部网的安全。<br></p>
<p>【注】路由器这类网络设备尽管自身具有许多软件性质的协议和OS系统，但从总体上来说它仍属于硬件设备，自身
是不怕攻击的（集线器与交换机等网络设备也一样不怕攻击）。另外，路由器具有独立的公网IP地址，当局域网通过路由器接入互联网后，在互联网上显示的只是
路由器的公网IP地址，而局域网用户所采用的是局域网IP地址，不属同一网络，所以起到保护作用。</p>

<p>　　从本质上说，路由器也是一台计算机，其操作系统是在计算机引导时从ROM中装入内存的。随着Internet和企业网络的不断普及，路由器这种
网络设备也被大量地采用。目前，市场上的路由器品牌很多，其中Cisco（思科）路由器在路由器技术方面最为权威，从某种意义上来说它是路由器的代名字，
所以人们一讲到路由器这个名字就会想到Cisco这个名字。Cisco的路由器不仅产品线非常齐全（低端有Cisco
1600／1700系列，中端有Cisco 2500／2600／3600系列，高端有Cisco
7200／12000系列等），而且其技术也是最先进的，引导着整个市场。不过我国的华为，经过十多年的发展，也已非常强大，在一定程度上它几乎成为了
Cisco公司最具有竞争力的公司之一，为了抑制我国华为公司发展，前不久还在与华为公司打侵权官司。　</p>

<p>　　新购买路由器的配置文件是空的，管理人员必须编辑路由器的配置文件，并将其写入路由器的NVRAM（属于一种内存）。这样，路由器在下次启动时会根据配置文件来进行相应操作。</p>

<p>　　路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径，并将该数据有效地传送到目的站点。由此可见，选择最佳路径的策略即路由算
法是路由器的关键所在。为了完成这项工作，在路由器中保存着各种传输路径的相关数据－－路径表（Routing
Table），供路由选择时使用。路径表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路径表可以是由系统管理员固定设置好的，
也可以由系统动态修改，可以由路由器自动调整，也可以由主机控制。在路由器中涉及到两个有关地址的名字概念，那就是：静态路径表和动态路径表。由系统管理
员事先设置好固定的路由表称之为静态（static）路由表，一般是在系统安装时就根据网络的配置情况预先设定的，它不会随未来网络结构的改变而改变。动
态（Dynamic）路由表是路由器根据网络系统的运行情况而自动调整的路由表。路由器根据路由选择协议（Routing
Protocol）提供的功能，自动学习和记忆网络运行情况，在需要时自动计算数据传输的最佳路径。<br></p>
<p><font color="#c00000">二、路由器的主要功能</font></p>

<p>　　路由器的主要功能就是“路由”的作用，通俗地讲就是“向导”作用，主要用来为数据包转发指明一个方向的作用。但如要细分的话，路由器的“路由”功能可以细分为如以下几个方面：</p>

<p>　　（1）。在网际间接收节点发来的数据包，然后根据数据包中的源地址和目的地址，对照自己缓存中的路由表，把数据包直接转发到目的节点，这主要是我在上面所讲的路由器的最主要，也是最基本的路由作用。</p>

<p>　　（2）为网际间通信选择最合理的路由，这个功能其实是上述路由功能的一个扩展功能。如果有几个网络通过各自的路由器连在一起，一个网络中的用户
要向另一个网络的用户发出访问请求的话，路由器就会分析发出请求的源地址和接收请求的目的节点地址中的网络ID号，找出一条最佳的、最经济、最快捷的一条
通信路径。就像我们平时到了一个陌生的地方，不知道到目的地点的最佳走法，这时我们就得找一个向导，这个向导就会告诉我们这个最佳的捷径，因为他熟悉各条
的走法，这里所讲的路由器就相当于这里的“向导”。</p>

<p>　　（3）拆分和包装数据包，这个功能也是路由功能的附属功能。因为有时在数据包转发过程中，由于网络带宽等因素，数据包过大的话，很容易造成网络
堵塞，这时路由器就要把大的数据包根据对方网络带宽的状况拆分成小的数据包，到了目的网络的路由器后，目的网络的路由器就会再把拆分的数据包装成一个原来
大小的数据包，再根据源网络路由器的转发信息获取目的节点的MAC地址，发给本地网络的节点。</p>

<p>　　（4）不同协议网络之间的连接。目前多数中、高档的路由器往往具有多通信协议支持的功能，这样就可以起到连接两个不同通信协议网络的作用。如常
用Windows
NT　操作平台所使用的通信协议主要是TCP／IP协议，但是如果是NetWare系统，则所采用的通信协议主要是IPX／SPX协议，还有一些特殊协议
网段，这些都需要靠支持这些协议的路由器来连接。</p>

<p>　　（5）　目前许多路由器都具有防火墙功能（可配置独立IP地址的网管型路由器），它能够起到基本的防火墙功能，也就是它能够屏蔽内部网络的IP地址，自由设定IP地址、通信端口过滤，使网络更加安全。<br></p>
<p><font color="#c00000">三、路由器和交换机的区别</font></p>

<p>　　路由器是产生于交换机之后，就像交换机产生于集线器之后，所以路由器与交换机也有一定联系，并不是完全独立的两种设备。路由器主要克服了交换机不能路由转发数据包的不足。总的来说，路由器与交换机的主要区别体现在以下几个方面：</p>

<p>　　（1）工作层次不同</p>

<p>　　最初的交换机是工作在OSI／RM开放体系结构的数据链路层，也就是第二层，而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在
OSI的第二层（数据链路层），所以它的工作原理比较简单，而路由器工作在OSI的第三层（网络层），可以得到更多的协议信息，路由器可以做出更加智能的
转发决策。</p>

<p>　　（2）数据转发所依据的对象不同</p>

<p>　　交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。而路由器则是利用不同网络的ID号（即IP地址）来确定数据转发的地址。IP
地址是在软件中实现的，描述的是设备所在的网络，有时这些第三层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的，由网卡生产商来分配的，
而且已经固化到了网卡中去，一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。</p>

<p>　　（3）传统的交换机只能分割冲突域，不能分割广播域；而路由器可以分割广播域。由交换机连接的网段仍属于同一个广播域，广播数据包会在交换机连
接的所有网段上传播，在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域，广播数据不会穿过路由器。</p>

<p>　　虽然第三层以上交换机具有VLAN功能，也可以分割广播域，但是各子广播域之间是不能通信交流的，它们之间的交流仍然需要路由器。</p>

<p>　　（4）路由器提供了防火墙的服务，它仅仅转发特定地址的数据包，不传送不支持路由协议的数据包传送和未知目标网络数据包的传送，从而可以防止广播风暴。<br></p>
<p><font color="#c00000">四、路由器的发展过程及趋势</font></p>

<p>　　虽然路由器本质上还是一台特殊的专门执行协议处理的计算机，但从功能上看，路由器与计算机还是有较大的区别。这种区别虽然大多在低档路由器或在
路由器的初期发展阶段表现得并不突出，但到了网络系统的规模、速度、种类、应用都已发生巨大变化的今天，这些网络系统本身的变化当然要导致作为网络核心的
路由器的体系结构发生巨大变化。<br>　<br>　　目前，路由器主要有三种发展趋势：一是越来越多的功能以硬件方式来实现，具体表现为ASIC芯片使
用得越来越广泛；二是放弃使用共享总线，而使用交换背板，即开始普遍采用交换式路由技术；三是并行处理技术在路由器中运行，极大地提高了路由器的路由处理
能力和速度。 下面是路由器的总体发展过程：</p>

<p>　　<strong>·第一代单总线单CPU结构路由器</strong></p>

<p>　　最初的路由器采用了传统计算机体系结构，包括共享中央总线、中央CPU、内存及
挂在共享总线上的多个网络物理接口。如Cisco2501路由器就是第一代路由器的典型代表，其中CPU是Motorola的68302处理器，具有一个
AUI以太网接口和两个广域网接口。<br>　<br>　　中央CPU完成除所有物理接口之外的其他所有功能，数据包从一个物理接口接收进
来，经总线送到中央CPU中做到转发决定处理，然后又经总线送到另一个物理接口发送
出去。这种单总线单CPU的主要局限是处理速度慢，一个CPU完成所有的任务，从而限制了系统的吞吐量。另外，系统容错性也不好，CPU若出现故障容易导
致系统完全瘫痪 。但该结构的优点是系统价格低。目前的边缘路由器基本上都是这种结构。　</p>

<p>　　<strong>·第二代单总线主从CPU结构路由器</strong></p>

<p>　　采用主从两个CPU代替了原来仅一个CPU结构，因而较大地降低了CPU的负荷，提高
了处理速度。第二代路由器的两个CPU为非对称主从式关系结构，其中一个CPU负责通
信链路层的协议处理，另一个CPU则作为主CPU负责网络层以上的处理，主要包括转发决　定、路由算法和配置控制等计算工作。<br>　<br>　　总体上来说，第二代体系结构实际上是第一代体系结构的简单延伸，对系统的容错性能没 有多大提高，速度的提高也非常有限。像这种单总线主从CPU结构的典型设备有3Com公 司的NetBuilder2路由器等。　<br></p>
<p><strong>第三代单总线对称式多CPU结构路由器</strong></p>

<p>　　第三代路由器可以说改善了在第二代体系结构中主要限制，因为它开始采用了简单
的并行处理技术，即做到在每个接口处都有一个独立CPU，专门单独负责接收和发送本
接口数据包，管理接收发送队列、查询路由表做到出转发决定等。而主控CPU仅完成路　由器配置控制管理等非实时功能。<br>　<br>　　这种体系结构
的优点是本地转发／过滤数据包的决定由每个接口处理的专用CPU来完 成，对数据包的处理被分散到每块接口卡上。第三代路由器的主要代表有北电的Bay
BCN系列，其中大部分接口CPU采用的是性能并不算高的Motorola 60MHz的MC68060或 33MHz的MC68040。　</p>

<p>　　<strong>·第四代多总线多CPU结构路由器</strong></p>

<p>　　第四代路由器至少包括三类以上总线和三类以上CPU。显然，这种路由器的结构非常
复杂，性能和功能也非常强大。这完全可以从该类路由器的典型之作Cisco7000系列中看
出。在Cisco7000中共有3类CPU和3条总线，分别是接口CPU、交换CPU、路由CPU、CxBUS 、dBUS、SxBUS。　</p>

<p>　　<strong>·第五代共享内存式结构路由器</strong></p>

<p>　　在共享存储器结构路由器中，使用了大量的高速RAM来存储输入数据，并可实现向输　出端的转发。在这种体系结构中，由于数据首先从输入端口存入
共享存储器，再从共享 存储器结构路由器的交换带宽主要由存储器的带宽决定。为了提高带宽，必须增大存储　器的带宽，并采用较多存储模块。<br>　<br>　　显然，当规模较小时，这类结构还比较容易实现，但当系统升级扩展时，设备所需　要的连线将会大量增加，控制也会变得越来越复杂。这种结构不适应向更高水平发展。　</p>

<p>　　<strong>·第六代交叉开关体系结构路由器</strong></p>

<p>　　与共享内存式结构路由器相比，基于交叉开关设计则有更好的可扩展性能，并且省　去了控制大量存储模块的复杂性和高成本。在交叉开关体系结构路由
器中，数据直接从　输入端经过交叉开关流向输出端。它采用交叉开关结构替代共享总线，这样就允许多个　数据包同时通过不同的线路进行传送，从而极大地提高
了系统的吞吐量，使得系统性能
得到了显著提高。系统的最终交换带宽仅取决于中央交叉阵列和各模块的能力，而不是　取决于互连线自身。就目前来看，这种方案是高速核心路由器的最佳方案。
　<br>　　新一代路由器普遍采用交换方法来充分利用公共通信链路设备，不但有效地提高
了整个链路的利用率，其交换还为各结点间通信的并行传输提供了可能性，这类路由　器也就是具有交换功能的路由器。一个性能和功能优秀的路由器，不但要有科
学的路由计算法则，有足够的传输带宽和高速率，还要有较强的信息流量控制能力。</p>
<img src ="http://www.blogjava.net/westwin/aggbug/8701.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/westwin/" target="_blank">westwin的blog</a> 2005-07-29 09:03 <a href="http://www.blogjava.net/westwin/archive/2005/07/29/8701.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转贴)走近交换机</title><link>http://www.blogjava.net/westwin/archive/2005/07/29/8702.html</link><dc:creator>westwin的blog</dc:creator><author>westwin的blog</author><pubDate>Fri, 29 Jul 2005 01:03:00 GMT</pubDate><guid>http://www.blogjava.net/westwin/archive/2005/07/29/8702.html</guid><wfw:comment>http://www.blogjava.net/westwin/comments/8702.html</wfw:comment><comments>http://www.blogjava.net/westwin/archive/2005/07/29/8702.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/westwin/comments/commentRss/8702.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/westwin/services/trackbacks/8702.html</trackback:ping><description><![CDATA[<p><font color="#c00000">一、交换机基础</font></p>

<p>　　集线器作为第一类广泛应用的网络集线设备，当时在各大局域网中应用非常广泛。但随着网络传输媒体类型的日益丰富，图形、图像及各种流媒体等多媒
体内容的出现，人们对高网络数据传输速度和传输性能的要求日益提高。集线器由于它的共享介质传输、单工数据操作和广播数据发送方式等都先天决定了很难满足
用户的上述速度和性能要求。在用户的需求下、在全球各大网络设备开发商的努力下，一种更新、更实用的集线设备－－交换机出现了。交换机完全克服了集线器的
上述种种不足之处，所以在短时间内得到业界广泛的认可和应用。交换机技术也得到了飞速发展，数据传输速度的发展也是一日千里。目前最快的以太网交换机端口
带宽可达到10Gbps，千兆（G位）级的交换机在各企业骨干网络中早已得到广泛应用。</p>

<p>　　交换机的英文名称之为“Switch”，它是集线器的升级换代产品，从外观上来看的话，它与集线器基本上没有多大区别，都是带有多个端口的长方
形盒状体。交换机是按照通信两端传输信息的需要，用人工或设备自动完成的方法把要传输的信息送到符合要求的相应路由上的技术统称。广义的交换机就是一种在
通信系统中完成信息交换功能的设备。</p>

<p>　　“交换”和“交换机”最早起源于电话通讯系统（PSTN）。我们以前经常在电影或电视中看到一些老的影片时常看到有人在电话机旁狂摇几下（注意
不是拨号），然后就说：跟我接XXX，话务接线员接到要求后就会把相应端线头插在要接端子上，即可通话。其实这就是最原始的电话交换机系统，只不过它是一
种人工电话交换系统，不是自动的，也不是我们今天要谈的计算机交换机，但是我们现在要讲的计算机交换机也就是在这个电话交换机技术上发展而来。</p>

<p>　　在计算机网络系统中，交换概念的提出是相对于共享工作模式的改进。我们知道集线器（HUB）是一种共享介质的网络设备，而且HUB本身不能识别
目的地址，是采用广播方式向所有节点发送。即当同一局域网内的A主机给B主机传输数据时，数据包在以HUB为架构的网络上是以广播方式传输的，对网络上所
有节点同时发送同一信息，然后再由每一台终端通过验证数据包头的地址信息来确定是否接收。在这种方式下我们知道很容易造成网络堵塞，因为其实接收数据的一
般来说只有一个终端节点，而现在对所有节点都发送，那么绝大部分数据流量是无效的，这样就造成整个网络数据传输效率相当低。另一方面由于所发送的数据包每
个节点都能侦听到，那显然就不会很安全了，容易出现一些不安全因素。</p>

<p>　　交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上。控制电路收到数据包以后，处理端口会查找内存中
的MAC地址（网卡的硬件地址）对照表以确定目的MAC的NIC（网卡）挂接在哪个端口上，通过内部交换矩阵直接将数据迅速包传送到目的节点，而不是所有
节点，目的MAC若不存在才广播到所有的端口。这种方式我们可以明显地看出一方面效率高，不会浪费网络资源，只是对目的地址发送数据，一般来说不易产生网
络堵塞；另一个方面数据传输安全，因为它不是对所有节点都同时发送，发送数据时其它节点很难侦听到所发送的信息。这也是交换机为什么会很快取代集线器的重
要原因之一。<br></p>
<p>交换机还有一个重要特点就是它不是像集线器一样每个端口共享带宽，它的每一端口都是独享交换机的一部分总带宽，这样在速率上对于每个端口来说有
了根本的保障。另外，使用交换机也可以把网络“分段”，通过对照地址表，交换机只允许必要的网络流量通过交换机，这就是后面将要介绍的VLAN（虚拟局域
网）。通过交换机的过滤和转发，可以有效的隔离广播风暴，减少误包和错包的出现，避免共享冲突。这样交换机就可以在同一时刻可进行多个节点对之间的数据传
输，每一节点都可视为独立的网段，连接在其上的网络设备独自享有固定的一部分带宽，无须同其他设备竞争使用。如当节点A向节点D发送数据时，节点B可同时
向节点C发送数据，而且这两个传输都享有带宽，都有着自己的虚拟连接。打个比方就是，如果现在使用的是10Mbps
8端口以太网交换机，因每个端口都可以同时工作，所以在数据流量较大时，那它的总流量可达到8＊10Mbps＝80Mbps，而使用10Mbps的共享式
HUB时，因为它是属于共享带宽式的，所以同一时刻只能允许一个端口进行通信，那数据流量再忙HUB的总流通量也不会超出10Mbps。如果是16端口、
24端口的更是明显了！</p>

<p>　　交换机的主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流量控制。目前一些高档交换机还具备了一些新的功能，如对VLAN（虚拟局域网）的支持、对链路汇聚的支持，甚至有的还具有路由和防火墙的功能。</p>

<p>　　交换机除了能够连接同种类型的网络之外，还可以在不同类型的网络（如以太网和快速以太网）之间起到互连作用。如今许多交换机都能够提供支持快速以太网或FDDI等的高速连接端口，用于连接网络中的其它交换机或者为带宽占用量大的关键服务器提供附加带宽。</p>

<p>　　一般来说，交换机的每个端口都用来连接一个独立的网段，但是有时为了提供更快的接入速度，我们可以把一些重要的网络计算机直接连接到交换机的端口上。这样，网络的关键服务器和重要用户就拥有更快的接入速度，支持更大的信息流量。</p>

<p>　　总之，交换机是一种基于MAC地址识别，能完成封装转发数据包功能的网络设备。交换机对于因第一次发送到目的地址不成功的数据包会再次对所有节
点同时发送，企图找到这个目的MAC地址，找到后就会把这个地址重新加入到自己的MAC地址列表中，这样下次再发送到这个节点时就不会发错。交换机的这种
功能就称之为“MAC地址学习”功能。</p>

<p>　　<font color="#c00000">二、交换机与集线器的区别</font></p>

<p>　　上面我们讲到，交换机最开始是为了解决集线器共享传输介质，端口带宽过窄，容易产生广播风暴而产生，最初的交换机是工作在OSI／RM开放体系
结构中的第二层，所以也称之为第二层交换机（这一点我们会在下篇介绍交换机的分类时继续介绍）。本节要介绍的是交换机与集线器之间到底有哪些区别，换句话
说也就是交换机到底有哪些优点，理解了它们之间的区别后就能正确理解当前局域网为什么广泛使用交换机，而非集线器，也便于我们在日后的网络设备选购中正确
地选择。</p>

<p>　　交换机与集线器的区别主要体现在如下几个方面：</p>

<p>　　<strong>（1）在OSI／RM中的工作层次不同</strong></p>

<p>　　交换机和集线器在OSI／RM开放体系模型中对应的层次就不一样，集线器是同时工作在第一层（物理层）和第二层（数据链路层），而交换机至少是工作在第二层，更高级的交换机可以工作在第三层（网络层）和第四层（传输层）。</p>

<p>　　<strong>（2）交换机的数据传输方式不同</strong></p>

<p>　　集线器的数据传输方式是广播（broadcast）方式，而交换机的数据传输是有目的的，数据只对目的节点发送，只是在自己的MAC地址表中找
不到的情况下第一次使用广播方式发送，然后因为交换机具有MAC地址学习功能，第二次以后就不再是广播发送了，又是有目的的发送。这样的好处是数据传输效
率提高，不会出现广播风暴，在安全性方面也不会出现其它节点侦听的现象。具体在前面已作分析，在此不再赘述。</p>

<p>　　<strong>（3）带宽占用方式不同</strong></p>

<p>　　在带宽占用方面，集线器所有端口是共享集线器的总带宽，而交换机的每个端口都具有自己的带宽，这样就交换机实际上每个端口的带宽比集线器端口可用带宽要高许多，也就决定了交换机的传输速度比集线器要快许多。</p>

<p>　　<strong>（4）传输模式不同</strong></p>

<p>　　集线器只能采用半双工方式进行传输的，因为集线器是共享传输介质的，这样在上行通道上集线器一次只能传输一个任务，要么是接收数据，要么是发送
数据。而交换机则不一样，它是采用全双工方式来传输数据的，因此在同一时刻可以同时进行数据的接收和发送，这不但令数据的传输速度大大加快，而且在整个系
统的吞吐量方面交换机比集线器至少要快一倍以上，因为它可以接收和发送同时进行，实际上还远不止一倍，因为端口带宽一般来说交换机比集线器也要宽许多倍。<br></p>
<p><font color="#c00000">三、交换机的工作原理</font></p>

<p>　　交换机和集线器在外型上非常相似，而且都遵循IEEE802.3及其扩展标准，介质存取方式也均为CSMA／CD，但是它们之间在工作原理上还
是有着根本的区别。简单地说，由交换机构建的网络称之为交换式网络，每个端口都能独享带宽，所有端口都能够同时进行通讯，并且能够在全双工模式下提供双倍
的传输速率。而集线器构建的网络称之为共享式网络，在同一时刻只能有两个端口（接收数据的端口和发送数据的端口）进行通讯，所有的端口分享固有的带宽。下
面简单以图示方式介绍如下。</p>

<p>　　<strong>1、“共享”与“交换”数据传输技术</strong></p>

<p>　　要明白交换机的优点我们首先就必须明白交换机的基本工作原理，而交换机的工作原理其实最根本的是要理解“共享”（Share）和“交换”
（Switch）这两个概念。集线器是采用共享方式进行数据传输的，而我们在这里要讲的交换机工作原理则是采用“交换”方式进行数据传输的。我们可以把
“共享”和“交换”理解成公路。“共享”方式就是来回车辆共用一个车道的单车道公路，而“交换”方式则是来回车辆各用一个车道的双车道公路，“共享”和
“交换”这两种数据传输方式的示意图分别如图1左、右图所示。</p>

<p align="center"><img src="file:///D:/xf/material/network/switch/yesky/%CD%F8%C2%E7%D1%A7%CC%C3%CA%AE%D2%BB%A3%BA%D7%DF%BD%FC%BD%BB%BB%BB%BB%FA3_files/72484.gif" onerror="this.src='http://www.yesky.com/image20010518/72484.gif';" alt="" align="middle" border="1" hspace="3" vspace="1"><br>图1</p>

<p>&nbsp;</p>

<p>　　从我们平常生活中就可感觉到这两种方式的不同之处，明显可以感受到双车道的交换方式的优越性。因为双车道来回的车辆可以在不同的车道上单独行
走，一般来说如果不出现意外的外是不可能出现大塞车现象（当然也有可能，那就车辆太多，速度太慢情况下），而单车道就象我们过单车道的桥一样，来回的车辆
每次只能允许一个方向的车辆经过这个桥，这样就很容易出现塞车现象。</p>

<p>　　交换机进行数据交换的原理就是在这样的背景下产生，它解决了集线器那种共享单车道容易出现“塞车”现象。在交换机技术上把这种“独享”道宽（网
络上称之为“带宽”）情况称之为“交换”，这种网络环境称为“交换式网络”，交换式网络必须采用交换机（Switch）来实现。从图1右图可以知道交换式
网络可以是“全双工”（Full
Duplex）状态，即可以同时接收和发送数据，数据流是双向的。而集线器的“共享”方式的网络就称之为“共享式网络”，共享式网络采用集线器（集线器）
作为网络连接设备。显然，共享网络的效率非常低，在任一时刻只能有一个方向的数据流，即处于“半双工”（Half
Duplex）模式，也称为“单工”模式。</p>

<p>　　另外一方面，由于单车道共享方式中来回车辆共用一个车道，也就是每次只能过一个方向的车，这样车辆一多，速度肯定会降下来，效率也就跟着下降。
共享式网络的通信也与共享车道情况类似，它的效率在数据流量大的时候效率也肯定会降低，因为同一时刻只能进行单一数据传输任务。还可能造成数据碰撞现象，
就像我们在单车道上经常看到撞车现象一样，因为车流量一大，就很难保证每个车辆的司机都那么遵守交通规则，容易出现数据碰撞、争抢车道的现象。而交换式的
数据交换方式出现这种情况就少许多，因为各自都有自己的信道，各行其道基本上是不太可能发生争抢信道的现象。但也有例外，那就是数据流量增大，而网络速度
和带宽没有得到保证时才会在同一信道上出现碰撞现象，就像我们在双车道或多车道也可能发生撞车现象一样。解决这一现象的方法有两种，一种是增加车道，另一
种方法就是提高车速，很显然增加车道这一方法是最基本的，但它不是最终的方法，因为车道的数量肯定有限，如果所有车辆的速度上不去，那还是会效率低的，对
于一些心急的司机来说还是会撞车的。第二种方法是一种比较好的方法，提速有助于车辆正常有序地快速流动，这就是为什么高速公路反而出现撞车的现象比普通公
路上少许多的原因。计算机网络也一样，虽然我们的交换机能提供全双工方式进行数据传输，但是如果网络带宽不宽、速度不快，每传输一个数据包都有要花费大量
的时间，则信道再多也无济于事，网络传输的效率还是高不起来的，况且网络上的信道也是非常有限的，这要决定于带宽。目前最快的以太网交换机带宽可达到
10Gbps。<br></p>
<p><strong>2。　数据传递的方式</strong></p>

<p>　　通过前面的学习我们已经知道集线器的数据包传输方式是广播方式，如图2所示。由于集线器中只能同时存在一个广播，所以同一时刻只能有1个数据包在传输，信道的利用率较低。</p>

<p align="center"><img src="file:///D:/xf/material/network/switch/yesky/%CD%F8%C2%E7%D1%A7%CC%C3%CA%AE%D2%BB%A3%BA%D7%DF%BD%FC%BD%BB%BB%BB%BB%FA4_files/72486.gif" onerror="this.src='http://www.yesky.com/image20010518/72486.gif';" alt="" align="middle" border="1" hspace="3" vspace="1"><br>图2</p>

<p>　　而对于交换机而言，它能够“认识”连接到自己身上的每一台电脑，凭什么认识呢？就是凭每块网卡物理地址，俗称“MAC地址”。交换机还具有
MAC地址学习功能，它会把连接到自己身上的MAC地址记住，形成一个节点与MAC地址对应表。凭这样一张表，它就不必再进行广播了，从一个端口发过来的
数据，其中会含有目的地的MAC地址，交换机在保存在自己缓存中的MAC地址表里寻找与这个数据包中包含的目的MAC地址对应的节点，找到以后，便在这两
个节点间架起了一条临时性的专用数据传输通道，这两个节点便可以不受干扰地进行通信了。要注意交换机档次越低，交换机的缓存就越小，也就是说为保存MAC
地址所准备的空间也就越小，对应的就是它能记住的MAC地址数也就越少。通常一台交换机都具有1024个MAC地址记忆空间，都能满足实际需求。从上面的
分析来看我们知道交换机所进行的数据传递是有明确的方向的，而不是乱传递，而不是集线器的广播方式，这种传递示意图如图3所示。同时由于交换机可以进行全
双工传输，所以交换机可以同时在多对节点之间建立临时专用通道，形成了立体交叉的数据传输通道结构。</p>

<p align="center"><img src="file:///D:/xf/material/network/switch/yesky/%CD%F8%C2%E7%D1%A7%CC%C3%CA%AE%D2%BB%A3%BA%D7%DF%BD%FC%BD%BB%BB%BB%BB%FA4_files/72488.gif" onerror="this.src='http://www.yesky.com/image20010518/72488.gif';" alt="" align="middle" border="1" hspace="3" vspace="1"><br>图3</p>

<p>　　交换机的数据传递工作原理可以简单地这样来说明：</p>

<p>　　当交换机从某一节点收到一个以太网帧后，将立即在其内存中的地址表（端口号－MAC地址）进行查找，以确认该目的MAC的网卡连接在哪一个节点
上，然后将该帧转发至该节点。如果在地址表中没有找到该MAC地址，也就是说，该目的MAC地址是首次出现，交换机就将数据包广播到所有节点。拥有该
MAC地址的网卡在接收到该广播帧后，将立即做出应答，从而使交换机将其节点的“MAC地址”添加到MAC地址表中。换言之，当交换机从某一节点收到一个
帧时（广播帧除外），将对地址表执行两个动作，一是检查该帧的源MAC地址是否已在地址表中，如果没有，则将该MAC地址加到地址表中，这样以后就知道该
MAC地址在哪一个节点；二是检查该帧的目的MAC地址是否已在地址表中，如果该MAC地址已在地址表中，则将该帧发送到对应的节点即可，而不必像集线器
那样将该帧发送到所有节点，只须将该帧发送到对应的节点，从而使那些既非源节点又非目的节点的节点间仍然可以进行相互间的通信，从而提供了比集线器更高的
传输速率。如果该MAC地址不在地址表中，则将该帧发送到所有其它节点（源节点除外），相当于该帧是一个广播帧。</p>

<p>　　讲到这里我们要明白一个事实，那就是交换机在刚买回来不可能知道您所在网络中各节点的地址，也就是说在交换机刚刚打开电源时，其MAC地址表是
一片空白。那么，交换机的地址表是怎样建立起来的呢？学习！交换机根据以太网帧中的源MAC地址来更新地址表。当一台计算机打开电源后，安装在该系统中的
网卡会定期发出空闲包或信号，交换机即可据此得知它的存在以及其MAC地址，这就是所谓自动地址学习。由于交换机能够自动根据收到的以太网帧中的源MAC
地址更新地址表的内容，所以交换机使用的时间越长，学到的MAC地址就越多，未知的MAC地址就越少，因而广播的包就越少，速度就越快。</p>

<p>　　那么，交换机是否会永久性地记住所有的端口号－MAC地址关系呢？不是的。由于交换机中的内存毕竟有限，因此，能够记忆的MAC地址数量也是有
限的。既然不能无休止地记忆所有的MAC地址，那么就必须赋予其相应的忘却机制，从而吐故纳新。事实上，工程师为交换机设定了一个自动老化时间（Auto
－aging），若某MAC地址在一定时间内（默认为300秒）不再出现，那么，交换机将自动把该MAC地址从地址表中清除。当下一次该MAC地址重新出
现时，将会被当作新地址处理。</p>

<p>　　综上所述，交换机作为当前局域网的主要连接设备，与集线器相比具有许多明显的优点，目前正有全面取代集线器之势，随着交换技术的不断发展，以太
网交换机的价格急剧下降，交换到桌面已是大势所趋。如果网络上拥有大量的用户、繁忙的应用程序和各式各样的服务器，而且你还未对网络结构做出任何调整，那
么整个网络的性能可能会非常低。最为有效的解决方法就是用交换机替代原来的集线器，当然交换机的价格会比集线器贵些，但目前来说应该完全可以接受。况且所
带来的性能提绝不是“一点点”那么简单！　</p>

<p><br></p>
<img src ="http://www.blogjava.net/westwin/aggbug/8702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/westwin/" target="_blank">westwin的blog</a> 2005-07-29 09:03 <a href="http://www.blogjava.net/westwin/archive/2005/07/29/8702.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>