![[ 永远的UNIX::UNIX技术资料的宝库 ]](/images/title.gif)
|
| 首页 > 网络管理 > 局域网技术 > 正文 |
 |
| 网路概论---9.超越LAN之外 --- Internetworking |
| http://www.study-area.net/menu1.htm (2001-06-03 21:04:00) |
基本上我们前面所接触的都是在LAN的围但时至今日的网络尤其是internet的蓬勃发展我想也很少网络会独立在局域之内吧所以了解一下网路和网路之间的通讯是势在必行的了。
在某些定义来看一个LAN就好像一台放大比例的电脑只不过更加杂而已那麽在LAN和LAN之间组建网路我们称之为internetworking比如
图书馆可以通过它安排联网借还
可以将各医院的病人记录集中管理
银行可以通过它进行转帐
报馆之间可以进行新闻交换
旅行社可以为客人预定全世界的机票和座位
等等可以说internetworking所带来的便利远超过我们能够想象的。
Internetworking设备
增益器(Repeater)
我们已经在前面讲述过repeater的功能了它是用来放大传输信号的。当我们的网路线路过长的时候信号会因为损耗而减弱甚至丢失这样的话repeator就可以在中间帮我们将信号接收下来然後把它放大重新继续传送以达到我们预定的距离。
准确来讲repeater不能算是internetworking的设备仅可以算是网路的延伸设备基本上它做到的只是重它所收到的信号而已。
桥接器(Bridge)
它是一个硬体或软体用来连接不同的网路区段(segment)的设备(一个segment就是一个无需借助internetworking设备连接的电脑群体)。例如您可以用一个bridge来连接两个Ethernet segment或连接一个Token Ring segment到一个Ethernet segment或连接一个Mac segment到一个PC segment。
只要网路间使用相同的上层协定(如IPX或TCP/IP)bridge就可以成功的将任何网路连接到其它网路它们之间的沟通就无需理会对方使用的是何种机器(网路硬体)了。
一个bridge的资料传输主要有三个步骤
Discovery就是bridge的任意一端告诉bridge有资料需要传送到另一端
Filtering接着bridbe过滤(filter)资料并将协定翻译给目的端
Forwarding然後bridge将资料传送(forward)给目的端的正确地址
其实bridge是很简单的就像一座桥架於不同的网路之间您可以将它想象成两个国家之间的边境桥梁而两国都使用着自己各自的语言一边说Token语另一边说Ether语。由於两国过从甚密然语言又互不相通所以他们就聘请了一个传译员坐在桥中间再另外聘两个跑腿各站两边。当说Token语的跑腿来告诉传译员他们有信息传到另一边传译员首先将地址翻译成Ether语再将信息重新装进Ether国的信封然後叫说Ether语的跑腿将信送到该地址去。传译员一点也不在乎信是从哪边过来的他只关心的是地址准确就行。
为什麽我们说使用桥的时候网路之间要使用相同的上层协定呢您可以将这些上层协定看成是语言规则。无论是说Token语还是说Ether语他们都使用相同的方法用口来说假如Token国人用画画来沟通而Ether国人却用跳舞来沟通(也就是说他们使用不同的上层协定)那麽这个传译员也只有乾瞪眼的份儿了。
另外bridge除了是一个传译员之外它还可以充当交通警察。当我们发现网路过繁忙的时候那麽我们就可以将网路分成两个或多个segment而bridge就可以帮助网路更好的管理交通和解决瓶颈问题了。
路由器(Router)
和bridge差不多router也是一个用来将资料从一个网路节点传送到其它网路的硬体或软体设备并能把资料从出发地使用的协定翻译成目的地使用的协定。
在使用bridge的时候它的传译员会要求所有信息先得经他才能传出去就算是同一国度里面的人民相互分享资料传译员也要先检查一下确定是否要进行翻译传递。。这方面router比bridge聪明些也不像bridge那样劳碌。在router上面的传译员会先问跑腿“这资料要送哪里去的啊”如果资料是传递到相同的国度里去router就根本无需理会而让资料按其正常的方法传递就如根本没有router存在一样。只有那些需要翻译的资料router才会理会。简单来说bridge会对所有信息进行检查看看是否要翻译传递而router仅对那些需要翻译的信息进行处理。
和bridge不同的是bridge需要所有的segment使用相同的传输协定(transport protocol)而router则要求他们使用相同的路由协定(routing protocol)通常是router自己使用的特定协定。
还要一种叫做Brouter(我也不知道如何翻译好)的设备可以应用於不同的传输协定上面它揉合了bidge和router的优点所在既可以使用不同的上层协定也可以直接将数据以最快的路径传递。当然它的问题是比较难昂贵而且安装也是件非常头疼的事情它需要对每一个不同的网路进行细的调校。如果您有一个比较杂的具有多种平的大型网路环境使用brouter通常可以获得最佳的效能尽管安装比较困难但一旦设好了自是受益非浅。
网关(Gateway)
Gateway可以说是internerworking的最後设备了它通常是一些硬卡跑着一些软体专门是设计给两个完全不同的网路结构(比如PC网路和SNA Mainframe)之间进行沟通的。
如若bridge和router使用的传译员仅能够翻译语言gateway这个更高级的翻译却能完全的将各自不同的交流模式进行翻译并能让对方可以理解不管他们使用的是画画还是跳舞。
Bridge的使用
正如刚才提到bridge的时候已经知道它的主要功能就是过滤(filter)和传递(forward)当bridge接到一个封包的时候它就得问自己“这个封包究竟是留在这个区段内还是应该传递到下一个区段呢”
让我们先假设在两个Ethernet区段之间架设了一个bridge您有一个资料想从区段甲的节点A送到区段乙的节点B其过程有的像这样当节点A送出的封包抵达bridge的时候bridge会先检查封包的来源地址和目的地址如果是寄往同一区段的其它节点的话(在bridge的同一边)桥就不会向区段乙进行广播了我们称这功能为过滤这样区段乙就减少了无必要的交通了参考下图
但是如果封包是要传递到另外一个区段的那麽bridge就将封包向另外一边广播这动作我们称之为传递
Bridge通常是独立协定之外的可以同时支持多个协定它只关心封包的来源和目的地址不管双方使用的封包是IPX还是TCP/IPbridge都毫不理会。只要它读得懂来源和目的地址就能够判定要对封包进行过滤还是传递。
有一种learning bridge会保持一个表格记录哪些地址属哪个区段每次有封包在网路中广播的时候bridge都会参照记录检查其封包地址并进行必要的更新。但并不是所有bridge都会这样做有些比较低档的bridge就不管三七二十一凡是接到封包就给它传递出去我们称这样的bridge为forward-only bridge请参考下图
Learning Bridge: 只对不同区段的封包进行传递。
大多数的bridge都只能够连接两个网路区段如果您的网路扩展到一定围的时候您就要考虑增加bridge了。然而当使用多个bridge的时候您就会有风险遇到looping的问题。这通常发生在当区段之间有超过一个路径的时候
如上图所示当区段甲的节点A对区段乙的节点B进行广播有两个bridge接收到信息并认为目的地是在区段乙也就将封包传递出去了。当节点B接收到这两个封包的时候很有可能不知道它们是相同的数据如果节点B将两份资料都写到同一个档案里面的话就会造成数据错误的情形了。
不过可以告诉大家的是bridge looping只会在Ethernet逻辑形态和Bus物理形态上面出现但使用802.5的Token Ring网路对它是免疫的。
有些bridge也可以连接两个以上的区段当有广播封包(就是给所有节点的封包)要发送的时候由於它是要传递给网路上所有节点的bridge就会将它传递给所有连接上来的区段我们称这样的情形为flooding。越多这样的广播封包flooding的出现也就越频繁网路也就越慢
当您有一个定点封包传到bridge的时候bridge就要判定究竟要对此封包进行过滤还是传递。如果连接到它的区段超过两个的话它还要知道究竟传递到哪个网段去。一些低档的bridge并不会像learning bridge那样会记住地址属於哪个区段然後它就简单地会向所有连接的区段进行广播这样一些不必要交通也就多起来了
那究竟我们如何避免flooding呢下面有两个选择
如果您需要使用一个bridge来连接多个区段确定您购买的是learning bridge也就是能够追踪每个节点地址的bridge。
您还可以购买half-bridge也就是使用一对bridge将过滤和传递工作分开。见图
Half-bridge也有被称做remote bridge通常是配对的用来连接两个区段而各自只负责一半处理。例如有一个封包要由区段甲的节点A送到区段乙的节点B先会到达区段甲的half-bridge这个half-bridge只会记着自己所连接的区段之内的地址如果地址不是在此区段那麽就将封包传给另外一个half-bridge当另外的half-bridge收到封包之後看看地址是否属它所属的区段如果不是的话这个封包就会被忽略也不会被重发。这样网路的交通就会被限制在最低的情况之下了。
Bridge的标准
由於bridge只有很低的处理能力如果网路交通太忙的话有可能出现封包丢失的情形。为了解决这样的问题一些bridge的标准相继的被开发出来通常有两个标准是比较广泛被接受的它们是spanning tree和source-route bridging标准。而且这些标准还可以解决looping和flooding的问题呢不错哦~~
Spanning Tree Standard
此标准里面网路会有一个root bridge然後其下还有一些child bridge这个root bridge会决定目的封包要传递给哪一个child bridge。由於上级bridge只会将封包传递给包含该目的地址的下级bridge因而也就避免了looping的可能性了。
Spanning Tree是由Digital Equipment Corporation (DEC)开发的是专门给802.3 (逻辑bus或Ethernet)和802.4(token bus)网路使用的。给802.5的Token Ring使用的是下个要说的标准。
Source-route Bridging Standard
在Source-rout Bridging标准里面发送端节点要先判定哪个传送路径是最佳的再将封包传给bridge然後再传给目的地的bridge。这时候bridge可以当成网关(gateway)一样。它们的连接如下图
当一个bridge判定了两个节点之间的最佳路径之後就会永远地使用此一路径就算以後还有更佳路径的出现也不会被考虑的了。如果您想您的bridge能够适应不同的网路交通层次并能报告出进行桥接过程的错误信息那麽您需要的并非bridge而是router了。
Router的使用
Router有那些功能呢先让我们先将它和bridge做一个透视比较
Router可以在节点间进行多工处理
Router可以直接和使用者设备对讲
Router可以协助管理网路交通
不像bridgerouter并不会阅读所有在网路上面的封包只会阅读那些需要进行路由的封包
由於router是用来连接不同网路的所以他们并不能独立协定之外
为了更好的了解router的功能您最好先要明白router是如何工作的以及它和bridge的分别。它们主要的分别是它们如何看待所连接上来的区段当使用bridge连接两个网路的时候它们仅属同一网路之内的两个区段如果使用router来连接两个网路它们是各自独立的网路。
如下图所见当网路1的节点A要传送一个封包网路6的节点B节点A会先将封包传给连接到网路1的router 1。当router 1接到封包的时候他就得要判定哪条是最佳的传递给网路6 的路径。通常最佳的路由路径对会在好几个不同的router之间跳来跳去的但无论如何在router将送出封包之前都会根据当前情况而选择最佳的路径而不像bridge那样一旦选定了路径就永远固定下来。Router具备这种搜索路径的能力是非常有用的然而是基於它能否看到其它router的能力而定。
由於Router 1分别连接到Router 234它会知道它们有多忙以及它们和哪些网路连接着这样当Router 1有封包要传递到其它网路的时候它就会看看哪条路径在当时是最快的。由於router 2和4都比较忙所以router 1也就选取了没那麽忙的router 3为路径了。
每次当封包从一个router传到另一个router的过程我们称之为“hop”,为了找到一条最少hop数的路径封包的路径通常会在中就会被改变而补偿网路交通的变化。例如在网路1的节点A有一个封包要送到网路4的节点B必需经过router123和4您可以从下图看到初始路径的选择
然而当封包从Router 1移到Router 2的时候Router 2或许会说“嗯~~ 我可以将这个封包传给Router 3不过~~ Router 3现在看起来挺忙的我想封包如果经由Router 5然後到6再到7再到4或许比较快些咧因为567好像比较清闲。”这条路径就会改变成下图那样了
虽然这路径要经的hop数目更多但它依然是比经由繁忙的router 3 要快。
当封包在进行路由的时候有两组地址是router必需追踪的封包的来源和目的地址以及datalink的来源和目的地址。网路来源地址和目的地址通常是这样的一个组合网路号码和节点地址这两个地址在路由的任何过程中都不会改变。但datalink地址(例如封包从哪台router来和要送到哪个router去)记录着即刻需要从一个router传到下一个router的传递信息而最终抵达目的地。您可以从下图看到这过程是如何工作的
正如您所见到的router和router之间必需相互认识才能让路由工作正常。更重要的是对使用者而言所有工作站都必须知道它们直接连到哪个(些)router去。每次当一个router加入到网路中的时候它都会向WAN上面的其它router广告自己的地址和其所连接的网路
当其它router接收到这样的广播信息之後就会将资料加入本身的路由表(routing table)去如果越多router加入那麽路由表也就越大。至於路由表的格式则视乎所使用的路由协定而定这些协定都会规定出诸如如何产生路由表如何对建构的表格进行追踪要保存什麽样的资料以及每个router如何和别的router进行沟通等细节。其中有一个比较简单的路由协定叫做 Routing Information Protocol (RIP)。
当您开启一个RIP router的时候它会先建立好自己的路由表首先它向所有它连接的网路广播自己地址并广告其它在WAN上面的router这些信息。然後大约每隔一分钟router就会对资料进行更新在其余时间它会倾听其它router的广告信息如何将所有新信息加进自己的路由表。这里的最重要字眼是 --- 新。每次当router的状态或连接发生改变的时候它都会广播这些信息让其它router将旧信息删除掉换成新的信息。这样如果WAN上面有一个router工作不良的话其它router就会知道而不会再将封包传送给它了。
您可以把RIP router看成是极度信任别人的一伙它们之间不断地相互交谈但永远只相信最後告诉它们的router所说的。不过这样有一个潜在的问题如果其中一个router有一个错误的关别的router的信息然後将这不实信息在WAN上传播开其它router接收到信息後就会更新它们的路由表而不实的路由表会导致封包的传送速度变慢。其情形就如下图一样
为了绕过这个问题许多新的路由协定都只会广播其直接连的网路信息也就增加了资料的可信性了。
Gateway的使用
Gateway的工作比bridge和router都要杂许多Bridge只是简单的看看封包资料的来源和目的地址然後将资料传递到正确的地方Router则会看看封包资料然後把封包传给其它router一路的改变datalink的来源和目的地址但并不改变封包里面的资料但是Gateway却实际上可以有效地将资料从一种协定标准转换成另一种协定标准它在处理使用完全不同协定的网路间的数据传输过程中可以使用两种方法tunneling和terminal emulation。
Tunneling
这是最常用而且也是处理器耗费最少的方法。使用tunnelinggateway会先使用第一个网路的格式传送封包并将之包裹在双方都容易理解的格式然後在另外一个网路中使用另一种格式进行传送。
概念上tunneling和邮局系统差不多如果您使用公司内部便条传一个memo给同办公室的同事只要填上发信人和收信人然後交由秘书就可以但如果要经过邮局寄信给分公司的某经理的话则不能使用这样的格式了。因为邮局不知道如何处置这便条才好所以您必须将便条装进邮局标准信封(也就是所谓的双方都容易理解的格式)里面然後邮局将信件传(路由)到分公司经理然後他把邮局信封(路由信封)撕掉就可以得到您的便条了假如便条是用英文写的而那经理却只识中文那麽就要找秘书给翻译(数据转换)了。
比如说我有一个Novell IPX封包要从我的PC送给在AppleTalk网路上面的Mac而Netware和AppleTalk都可以理解TCP/IP。这样我就可以进行资料传输了PC将封包装进一个TCP/IP“信封”里面然後将封包发送出去当抵达Mac之後将TCP/IP信封撕掉而得到真正的封包但此时Mac依然是读不懂封包内容的它还的做些数据转换工作才能看的懂PC的数据。不过数据转换却不是gateway的问题哦一旦数据从PC网路抵达Mac网路gatewate的任务就大功告成了。如果您记不起前面讨论TCP/IP时候的图示现在也可以重温一下
Terminal Emulation
另一种gateway方法是使用terminal emulation。Mainframe原本在设计上并不是和PC沟通的它们是使用dumb terminal进行通讯的。这样当一台PC要和mainframe通讯的时候它在转换过程中就得将自己当成终端才行。
通常有两种方法可以进行终端模拟终端模拟卡和终端模拟软体同时也有两个途径来成功地执行终端模拟
PC Emulation Card或称为gateway card您可以将它插进每一台需要连接mainframe的PC。不过这通常都很费劲才能将之调整正确因为这比较容易引起资源突或是系统不稳定等问题。您可以从下图看到这样的配置
Gateway Server您也可以专门指定一台PC为工作站处理所有的模拟工作这样的PC就成为gateway server了。模拟卡只需安装在这台机器之上就可以
这样所有工作站都使用模拟软体连接到gateway server再通过模拟卡和mainframe沟通
然而使用 Emulation Card 进行终端模拟都会有下面的不利因素
比较昂贵您必须购买额外的硬体和软体来让您的PC和mainframe沟通。
额外的软体和硬体也容易引起更多的设备突。
比较慢每次您要由一个作业系统要求另外一个系统都需要时间。
针对那些问题您或许会考虑使用gateway server不过您依然还是会碰到这些问题的只不过将问题集中在一台机器而不是在所有机器而已而且那些使用软体的工作站还依然可能会碰到软体上面的麻烦。
小结
至此为止相信您也已经有一定的概念去如何使用各种不同的设备将您的LAN连到WAN上面了吧。如果您管理的是一个小办公室那您很有可能是邀请外面的商家帮您连接您的LAN。然而当您的网路成长的时候对各种WAN设备的需求也会显得越来越重要了。
(http://www.fanqiang.com)
进入【UNIX论坛】
|
|
| 相关文章 |
网路概论---10.电信 (Telecommunication) (2001-06-03 22:08:00) 网路概论---9.超越LAN之外 --- Internetworking (2001-06-03 21:04:00) 网路概论---8.网路作业系统 (2001-06-03 20:10:00) 网路概论---7.通讯协定 (2001-06-03 19:00:00) 网路概论---6.网路管理模式 (2001-06-03 18:55:37) 网路概论---5.网路架构 (2001-06-03 17:04:00) 网路概论---4.连线材料 (2001-06-03 16:10:00) 网路概论---3.一些网路名词 (2001-06-03 15:00:00) 网路概论---2.网路能做些什麽 (2001-06-03 14:08:00) 网路概论---1.何为网路? (2001-06-03 13:04:00)
|
|
|
|
 |
★ 樊强制作 欢迎分享 ★ |