分享
 
 
 

网络基础:通讯协议

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

由于网路的迅猛发展╋出现了许多供网路使用的软体和硬体╋为了让它们都能够有效的沟通╋我们需要建立一些规则。

在这一章里面╋我会向大家介绍目前比较通用的网路通讯协定╋和模拟数据是如何的从一个节点传送到另一个节点╋从功能上面看看通讯协定的定义。

何为通讯协定?

一个比较好理解的讲法是?通讯协定就是一些标准和规则。例如╋我们看到红灯就要停、绿灯才可以走,者就是一种协定了。若是彼此使用不同的协定,那就会造成混乱:澳洲(或英联邦)开车考左行使、台湾则靠右。只要所在国家不变,那么该协定就可以运作,但是当到达协定不一样的国家,就得进行协定上的转换了。否则,不出车祸才怪!

在网路通讯中,如果主机 A 要将一个 packet 送给主机 B╋它们就必须使用相同的通讯协定。

LAN 的工作就是让应用程式利用网路获得?管理?和安排数据。每一个节点都透过一张网路卡(NIC, Network Interface Card)连接到网路╋再由此和其它的节点沟通。在每一个独立的工作站上面╋已经安装了一些应用程式╋如 Word?Outlook 等。这些程式如果想使用网路上面的资源╋比如在伺服器上面的数据?网路印表机?电子邮箱等等╋会使用网路软体(network software)去和 NIC 沟通╋然后 NIC 再和网路上的其它节点沟通。所有这些信息都要经过转换╋就必须要使用通讯协定来确保所有这些参与者╋能够彼此理解对方和进行有效的沟通。

正如您所见到的╋在节点与节点之间╋最先的交流是在 NIC 的层次上。当数据从一个节点通过 NIC 传送到另一个节点之后╋数据再从 NIC 传送到网路软体。而这个网路软体就是我们所说的传输通讯协定(Transport protocol)了╋在双方的机器上都会有这些 transport protocol。对于这个所谓的网路软体╋我们可以从好些不同的角度去理解╋不过我们可以简单的从三个层次去看?

第一╋也是最容易的理解的╋就是 NIC 的驱动程式。

它负责处理网路卡和传输协定之间的沟通。网路卡的厂家都会提供一支驱动程式让您使用一些特定的协定╋您可以使用同一张卡来供不同的作业系统使用。只要这张网卡在“物理”上是兼容的╋那你就可以在作业系统上面使用了。换而言之╋您大可不必只依赖一个牌子的厂家。当然╋您不能将 Ethernet 网路卡当 Token Ring 来使用。

我们也知道要让网路卡工作╋除了要使用正确的驱动程式之外╋您还得要确定 IRQ 和 IO 要正确。另外╋在网路卡上面╋还有一个由 6 组十六进位数字组成的 48bit 的物理位址(Physical Address)╋也叫 MAC(Media Access Control) Address 或 Node ID╋等名称╋相信我们前面也听过数次了。这个位址其实分为两个部份:前面三组数字为 Manufacture ID╋也就是厂商 ID?而后面的三组是 Card ID。如果我们见到一张卡的 MAC 位址是?02-60-8C-67-CD-54╋那么我们可以知道这张卡是 3Com 的╋因为 02608C 就是 3Com 的ID。透过这两组 ID ,我们可以在实体上区分各自的网路卡。理论上来说,全世界没有两张卡的 MAC Address 是相同的,而且我们也不应去修改它。

然后╋基于这个物理位址╋我们就可以把逻辑位址捆绑于其上。物理位址我们是无法更改的╋而且您也很难找到两张相同物理位址的网路卡?但逻辑位址则是由网路管理员来设定。就好比您不能将公司地址门牌给改了╋但您喜欢给您的公司起什么名字或搬到别的地址去都可以╋只要不会和其它公司搞混了就行。

如果使用不同的传输协定╋逻辑位址的格式也不相同(后面我们会就会讲到这问题了)。但无论是物理位址还是逻辑位址╋要在网路上面沟通的话╋就必须不同╋否则就是所谓的位址冲突啦。

下面我们以 IPX 协定为例子认识一下逻辑位址?

?内部网路位址(Internal Network Address)。

简单地说╋internal address 是用来识别每一台机器是“谁”。很重要一点是╋这个内部 IPX 号码在同一个网路中╋对每一台机器来说必须是唯一的。例如 Novell NetWare 使用内部 IPX 号码来识别网路中的伺服器╋当您安装 NetWare Server 的时候╋您会被问及接受或更改一个随机产生的内部 IPX 号码╋然后这个号码就成了该 server 的 ID 了。当您从工作站中输入 slist 命令╋您就可以看到每一台 server 的 ID 都被列出来。

?外部网路位址(External Network Address)。

这是用来识别一个网路或一个在网路中的网段(segment)用的。如果在同一个网路上面同时有两台 server 出现╋那么它们就必须使用相同的 external address 了。这个 external address 好比是用来识别所有的 server 在“哪里”的。在 Novell Netware 里面╋只有 Server 才需要设定 external address ╋工作站使用的是它登录所在的 server 的 external address。

一个完整的 IPX 位址会是这个样子的?1C9FDB42 : 2E701AID╋在“?” 前面的部份为 external address╋而后一部份则为 internal。不过这样设定也有一个潜在的危险╋如果您在安装 Novell server 的时候一不留神╋接受了程式自选的 External Address╋那样就很可能不能和其它 server 沟通了╋而且在接下来的安装中╋您会被诸如 wrong router address 等错误信息烦死?程式通常也可以提示您正确的号码╋但如果您有两张网路卡在上面╋您就要自己设定了。如果您的号码输入错误╋您或许不可能修改系统的 AUTOEXEC.NCF 档案╋而 external 和 internal 位址都包括在这个档案里面╋所以务必小心?

第二。在网路处理程式的另一端╋需有一个重导向(Redirector) 的软体。

我们知道在单机作业模式下╋当程式呼叫档案 IO 的时候╋会由作业系统接管这个请求╋然后再传给 BIOS╋再到硬体那里。如果当程式呼叫的档案 IO 为网路位址的时候╋那么 redirector 就会接管这个请求╋而重新导向到网路上面去╋把请求交给对方机器。

例如╋当您使用 Word 的时侯╋要开启一个在网路磁碟上面的档案╋将会如何呢?从 Word 的角度去看╋它根本不知道有网路这回事╋它只知道有一个和多个像 A??B??C?这样的磁碟。就像您吃麦当劳的时候╋您不用知道汉堡包是怎样制作出来的╋您只需知道鱼柳包?鸡柳包和拿到什么样的 Kitty 猫就是了。Word 在设计上并不是应用于非本地磁碟上的╋当要使用存储在网路上面的数据的时候╋就必须有一种软体能够以磁碟代号的形式告诉 Word 才行。所以╋如果您告诉 Word 去一个在叫 FILESER1 的伺服器之 DOC 目录下面找档案╋那么 redirector 软体就会接管这个请求了。

然而╋redirector 在这个网路软体集团里面╋也只是其中一个角色而已╋要真正能够拿回资料╋我们还得需要另一角色的配合? Redirector 只是工作在 client 上面╋而在 server 那边╋还必须有一个档案系统(File System)╋或曰 mounter╋来接应 redirector 的请求。

在网路世界中╋有许多种这样的 file system╋最出名的有 Novell 的 NetWare File System?Unix 网路的 Network File System (NFS)?以及 Microsoft 的 CIFS (Common Internet File System)。在 client 端的 redirector 必须要和在 server 上面的 file system 兼容(使用相同的协定)╋否则 client 也只能望 file 兴叹而已。

第三。终于来到这章的戏肉了?出场的就是通讯协定╋也就是节点和节点之间在网路上搬运数据的方法。

我之所以将这三个层次的中间部份留在现在才说╋是因为它是最抽象的。您或许可以这样想象?NIC 驱动程式负责和 NIC 之间的沟通且尽力讨其欢心?在 client 上面的 redirector 和在 server 上面的 mounter ╋则和程式沟通╋也极尽体贴之能事?然后通讯协定╋则出尽法宝缀合 NIC 驱动程式和 redirector (或 mounter)╋并建立起网路通讯的交通规则。

正如前述╋通讯协定只是一些标准和规则而已╋而这些规则令到交流的融合性得以标准化。就如我们不能离开一些经已认同的规矩去使用道路一样╋我们的网路也需要一些共同的沟通语言╋才能让所有机器相互交流而不至于混乱。

LAN 和 LAN 之间的通讯也一样需要一些网路语言╋所以它们都需要有语言大师的本领才行。事实上╋网路语言有多种多样╋由于它们在设计之初只为了应付不同的工作╋而且它们大部份都从来不考虑要和其它网路兼容的。传输协定虽然可说琳琅满目╋然而不幸得很╋各自的厂商都有各自的一套偏好。但又非常幸运的是?大部份新的网路作业程式都支持超过一种协定╋可以和不同的作业系统沟通╋比起以前独沽一味的情形的确容易多了。

下面我们就浅略的浏览一些您将会在网路上运用到的通讯协定。

NetBEUI

让我们回到 IBM 最初进军个人电脑网路的时代╋他们当时的确需要一个很基本的网路通讯协定╋但他们并不打算用此来建构大型网路╋仅仅供数十台电脑甚至更小的网路而已。基于这个诉求╋就诞生了Network Basic Input/Output System╋或称 NetBIOS。

NetBIOS 其实只有 18 个命令(command)来让网路的电脑能够建立?维持?和使用连接服务。不过 IBM 在不久后又再推出了 NetBIOS 的延伸版本?NetBIOS Extened User Interface╋或称 NetBEUI╋基本上是 NetBIOS 的改良版本而已。然而╋NetBIOS 和 NetBEUI 终究是不同的?NetBEUI 事实上可以说是一个传输协定╋而 NetBIOS 充其量只是一组命令来让系统可以使用网路而已╋在技术角度来看╋它是一个 Application Program Interface (API)。关于 NetBIOS 与 NetBEUI 的技术分歧,请参考:

Netbios Network Basic Input/Output System Protocols

NetBios, NetBEUI, NBF, SMB, CIFS Networking

NetBEUI 可以算是您在 LAN 中能够用到的最快通讯协定了。这个“最快”是指它可以将格式化资料放进封包里面╋而接收节点又可以迅速的解读到内容。然而╋NetBEUI 却有一个最致命的弱点?它不是可路由(routable)协定╋也就是不能够和其它网路的机

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有