作者PsMonkey (痞子军团团长)
看板Network
标题Re: [问题] IP分享器、路由器和交换器傻傻分不清楚..
时间Mon Apr 2 23:47:56 2007
※ 引述《seraphalpha (五谷杂粮)》之铭言:
: 问这个问题有点蠢..不过这问题已经困扰我一阵子了..
: 请问一下ip分享器(hub)、交换器(switch)和路由器(router)的差别在哪??
只回答上面这句,刚好又是之前打过的文章 XD
我後来没去翻网路的书,不过有翻的岁月当中
就数这本这段讲解的最清楚,也不用担心他的正确性 XD
里头有一些基本的专有名词,看不懂请自己 google
资料来源:
书名:Cisco 路由器设定
(Managing IP Network witch Cisco Routers)
1998.12 初版
出版社:O'Reilly
ISBN:957-98213-7-2
/*转载开始*/
//p.36
[标题]集线器、桥接器、Switch 与路由器[/标题]
在讨论路由器的放置地点之前,先确定你是否需要一台路由器。能不能用
Switch(交换器)或 Bridge(桥接器)之类的设备代替?通常网路公司的
业务员不会回答这类的问题,但每种设备在网路中都有独特的地位。你必须
了解它们各自的特性,尤其是他们的弱点。
最简单的网路设备就是集线器(Hub),应该也是网路上最常见的机器。一
班网路如 Ethernet,Token Ring,或 FDDI 都会有 Hub,选购安装都没有
什麽学问。我们就略过不谈。Hub 的等级和价格没太大差别,主要是有没有
操作界面。但 Switch,Bridge,和路由器就完全不是这麽回事了。
几年之前,还有人在争论网路是该透过 Bridge 还是该透过路由器连接。
Bridge 阵营坚持路由器太复杂,速度太慢,设定维护太困难;路由器阵营
则预测网路会大幅成长,Bridge 将无法应付。当然,路由器最後占了上风
,网路成长的规模出乎每个人的意外。路由器的可扩充性(Scalability)
是 Internet 成长的动力。
为什麽 Bridge 的扩充性不够?这牵涉到 Bridge 本身的运作原理。当一台
Bridge 收到来自网路的框包(frame),会检查框包内的目的地位址,和自
己知道的地址比对;找到符合的位址之後,它会决定是否传送这个框包到目
的地所属的网路区段,或是转送到目前目的地中途的区段。如果 Bridge 知
道框包是来自和目的地同样的区段,它会忽略这个封包,因为目的地自己会
接收。
如果 Bridge 不知道目的地位址,它会假定目的地可能在任何地点,直接传
送框包。如果目的地传回一个回应讯息,Bridge 会根据讯息中的位址加在
自己的位址纪录中。所以 Bridge 是根据收到的框包位址来判断网路组成的
架构。
这个程序就是 Bridge 运作的核心。但某些框包是 Bridge 必须送到每个地
方的,就是 Multicast(多址传送)与 Broadcast(广播)框包。由於网路
上每台机器都必须收到这些框包,意思是网路上会充斥(flooded)这些框
包。
//p.37
Broadcast 和 Multicast 类型的框包限制了 Bridge 网路的扩充规模。当
网路上的机器数量增加时,需要广播的框包也随之增加。平均来说,一台机
器每十秒送出一个广播,如果网路上有 1000 台电脑,平均每秒就有 100
个广播在流窜。如果有十万台机器,情况将难以想像!
占据频宽并非广播的唯一问题。因为每台机器必须时时检查广播框包的内容
,所以会透过中断处理。如果一直造成中断,机器效率会慢下来,网路协定
堆叠也会难以运作。
难道机器每十秒一定要送出广播吗?想想广播与多址传送的应用情况。在
IP 协定里面,广播是应用在位址解析(ARP,Address Resolution
Protocol),路由更新,以及 rwho 之类的服务。Multicast 的应用功能大
致差不多,但相对 Bridge 构成的网路来说,Multicast 和 Broadcast 没
什麽差别,反正都是要充斥整个网路。有些 Multicast 和 Broadcast 封包
是定时传送的,以 rwho 和一些路由协定资讯来说,大约每 30 秒会送出一
次。
但 rwho 在这个周期之下只能送出一个封包,某些路由协定如 RIP 可以送
出许多封包。对一个大型网路来说,可能一次有 10 个封包。
其他协定对 Broadcast 和 Multicast 传输也有一些影响。AppleTalk 这种
协定在进行资源搜寻,位址指定,或路由等动作时,会大量使用 Multicast
和 Broadcast。Novell 的 IPX 协定在服务宣告与资源搜寻时也有类似的倾
向。
看以上的叙述,你不得不相信,每台机器十秒一个框包算是相当保守的估算
,如果加上其他稀奇古怪的协定,产生的框包传输绝对不只此数。
难道路由器就能摆脱这些问题吗?路由器的扩充性是否比 Bridge 来得好?
要回答这个问题,首先让我们看看路由器的原理。
//p.38
[标题]路由器采取的做法[/标题]
Bridge 在决定是否转送框包时,是根据目的地的硬体位址。如果不知道目
的地位址,或是确定框包前往的区段不在来源区段,就进行转送。路由器传
送封包时的决定过程很类似,差别在於路由器根据的是网路层位址,而非硬
体位址。但这不是唯一的差别。
真正的差别在於网路位址是由人来指定的。原则上,具有共同 prefix 的位
址都属於同一个网路。相对上,硬体位址是制造厂商决定的,不管网路的实
际配置。考虑实际的网路配置,可以增进资讯聚集(aggregation)的能力
。一个 1000 台主机的网路上的 Bridge 可能要追踪 1000 个地点才能做出
决定,但一台路由器只须追踪 10 个以下的位址就够了。这就是路由器高效
率的主因。
资讯聚集的能力,使得路由器比 Bridge 具有更强的扩充性,但还有其他因
素。Bridge 必须随时注意网路区段的每个封包,因为它必须确定框包的目
的地位址来决定是否传送[痞注]。路由器不需要随时注意每个封包,因为封
包传送者已经决定了封包是否要转送。如果传送者知道目的地不在本身的区
段,就利用路由器本身的硬体位址当作目的地位址,直接传送给路由器。所
以路由器只需要注意直接传给它的封包,大大降低了路由器处理的流量。
Routing 的可扩充性还有更重要的因素。Bridge 必须传送所有的
Broadcast 和 Multicast 封包,但路由器采取不同的做法。因为路由器知
道网路的实际配置,它会建立广播网域(Broadcast domain),这只是网路
的一部分,但网路上所有的机器都可以看到广播封包。除非特别设定,否则
路由器不会随便传送广播封包。例如,你可以设定一台路由器转送 BOOTP
或 DHCP 的广播给远端伺服器,传送 IP Multicast 封包给已登录的主机。
除了节省 Broadcast 和 Multicast 的传输之外,路由器在其他方面也可以
减低频宽的使用量。
除此之外,如果路由器收到一个无法传送目的地的封包,它会丢弃(drop)
这个封包,并回应一个讯息给寄出封包的主机,表示传送失败。
//p.39
总结来说,路由器的扩充性是由於下列几个因素:
→由於网路位址是配合实际配置来指定的,它具有高度的资讯聚集能力。
→它不必随时注意区段上的每个封包。
→它会建立广播网域,减少不必要的 Broadcast 和 Multicast 封包传送。
→它会丢弃不明位址的封包,减少频宽的浪费。
[标题]路由器与 Switch[/标题]
路由器显然比 Bridge 优越,只是 Bridge 不需要复杂的设定程序,也没有
人会为 Bridge 设定特别写一本书。由於电脑硬体的速度越来越快,反而网
路的频宽成为新的问题,这就是 Switch 出现的背景。
Switch 绝大部分都是应用在 Ethernet 上(目前 Token Ring 与 FDDI
switch 也日渐普遍),它透过分散频宽的方式增加频宽的使用效率。你可
以更换硬体增加频宽,例如将 10Mbps Ethernet 换成 100Mbps Fast
Ethernet,但你得同时需要更换新的集线器,网路缆线与网路卡,这是一笔
不小的花费。
Switch 扮演了一个特殊的角色。在一个分享的网路区段上,每台主机都是
碰撞网域(Collision Domain)的一部分,因为 Ethernet 的传输会互相争
夺频宽导致碰撞。路由器有能力缩减碰撞网域的范围,但成本太高,而且设
定复杂。以一个连接 24 个 Ethernet 区段的高速路由器来说,大概需要
10 万美金。但一台 24-Port 的同级 Switch 只需要 8 千美金左右。
那为什麽不乾脆把路由器甩在一边,全部都用 Switch 就好了?一旦你明了
Switch 运作的原理,答案就很明显了。让我们先看看 Switch 工作的方式
。
当 Switch 收到一个框包,它必须判断目的地在网路上的位置。Switch 捡
视框包内的目的地硬体位址,检查转送表,如果找到符合的资料,就将框包
送往表上指定的埠。如果找不到,它就将框包送往除了来源之外的每一个埠
,希望收到的目的地会送出一个回应,让 Switch 更新本身的转送表。广播
与 Multicast 都送往每个埠。
/*转载结束*/
[痞注] 这里应该是用「传送」比较合适。
另外 p.40 页说,switch 说穿了,就是一个多 port 的 Bridge
其他的没啥好提的,所以就省略不 post :P
--
侃侃长论鲜窒碍 首页:
http://www.psmonkey.idv.tw
众目睽睽无心颤 Blog:
http://ps-think.blogspot.com
茕居少聊常人事
杀头容易告白难 欢迎参观 Java 版(@ptt.cc) \囧/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.193.189
1F:推 lordmi:我看到了时代的眼泪,appletalk、Tokenring... 04/03 10:19
2F:推 seraphalpha:哇~光看字数就要跟你跪恩~感谢感谢~这样我大致都懂了~ 04/04 20:59