无论是几台机器组成的Windows 95/98对等网 , 还是规模较大的Windows NT、Novell或Unix/Xenix局域网 , 凡是亲自组建或治理过网络的人 , 都碰到过如何选择和配置网络通信协议的问题 。由于许多用户对网络中的协议及其功能特点不是很清楚 , 所以在组网中经常选用了不符合自身网络特点的通信协议 。其结果就造成了网络无法接通 , 或者是速度太慢 , 工作不稳定等现象而影响了网络的可靠性 。事实上 , 不同的网络协议都有其存在的必要 , 每一种协议都有它所主要依靠的操作系统和工作环境 。在一个网络上运行得很好的通信协议 , 在另一个看起来很相似的网络上可能完全不适合 。因此 , 组建网络时通信协议的选择尤为重要 。本文基于局域网环境 , 以Windows NT为主 , 同时兼顾NetWare、Windows 95/98等操作系统 , 介绍和分析了常用通信协议的特点、性能和必要的配置方法 , 供组网者和网络治理人员参考 。
一、通信协议
组建网络时 , 必须选择一种网络通信协议 , 使得用户之间能够相互进行“交流” 。协议(Protocol)是网络设备用来通信的一套规则 , 这套规则可以理解为一种彼此都能听得懂的公用语言 。关于网络中的协议可以概括为两类:“内部协议”和“外部协议”(笔者这样区分 , 在专业分类上不是很严密 , 但确实能够解决一些在概念和应用中的混淆) , 下面分别予以介绍 。1.内部协议
1978年 , 国际标准化组织(ISO)为网络通信制定了一个标准模式 , 称为OSI/RM(Open System Interconnect/Reference Model , 开放系统互联参考模型)体系结构 。该结构共分七层 , 从低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层 。其中 , 任何一个网络设备的上下层之间都有其特定的协议形式 , 同时两个设备(如工作站与服务器)的同层之间也有其使用的协议约定 。在这里 , 我们将这种上下层之间和同层之间的协议全部定义为“内部协议” 。内部协议在组网中一般很少涉及到 , 它主要提供给网络开发人员使用 。假如你只是为了组建一个网络 , 可不去理会内部协议 。2.外部协议
外部协议即我们组网时所必须选择的协议 。由于它直接负责计算机之间的相互通信 , 所以通常称为网络通信协议 。自从网络问世以来 , 有许多公司投入到了通信协议的开发中 , 如IBM、Banyan、Novell、Microsoft等 。每家公司开发的协议 , 最初一般是为了满足自己的网络通信 , 但随着网络应用的普及 , 不同网络之间进行互联的要求越来越迫切 , 因此通信协议就成为解决网络之间互联的要害技术 。就像使用不同母语的人与人之间需要一种通用语言才能交谈一样 , 网络之间的通信也需要一种通用语言 , 这种通用语言就是通信协议 。目前 , 局域网中常用的通信协议(外部协议)主要有NetBEUI、IPX/SPX及其兼容协议和TCP/IP三类 。
3.选择网络通信协议的原则
我们在选择通信协议时一般应遵循以下的原则:
第一、所选协议要与网络结构和功能相一致 。如你的网络存在多个网段或要通过路由器相连时 , 就不能使用不具备路由和跨网段操作功能的NetBEUI协议 , 而必须选择IPX/SPX或TCP/IP等协议 。另外 , 假如你的网络规模较小 , 同时只是为了简单的文件和设备的共享 , 这时你最关心的就是网络速度 , 所以在选择协议时应选择占用内存小和带宽利用率高的协议 , 如NetBEUI 。当你的网络规模较大 , 且网络结构复杂时 , 应选择可治理性和可扩充性较好的协议 , 如TCP/IP 。
第二、除非凡情况外 , 一个网络尽量只选择一种通信协议 。现实中许多人的做法是一次选择多个协议 , 或选择系统所提供的所有协议 , 其实这样做是很不可取的 。因为每个协议都要占用计算机的内存 , 选择的协议越多 , 占用计算机的内存资源就越多 。一方面影响了计算机的运行速度 , 另一方面不利于网络的治理 。事实上一个网络中一般一种通信协议就可以满足需要 。
第三、注重协议的版本 。每个协议都有它的发展和完善过程 , 因而出现了不同的版本 , 每个版本的协议都有它最为合适的网络环境 。从整体来看 , 高版本协议的功能和性能要比低版本好 。所以在选择时 , 在满足网络功能要求的前提下 , 应尽量选择高版本的通信协议 。
第四、协议的一致性 。假如要让两台实现互联的计算机间进行对话 , 它们两者使用的通信协议必须相同 。否则中间还需要一个“翻译”进行不同协议的转换 , 这样不仅影响通信速度 , 同时也不利于网络的安全和稳定运行 。二、局域网中常用的三种通信协议
1.NetBEUI协议
■NetBEUI通信协议的特点 。NetBEUI(NetBIOS Extended User Interface , 用户扩展接口)由IBM于1985年开发完成 , 它是一种体积小、效率高、速度快的通信协议 。NetBEUI也是微软最钟爱的一种通信协议 , 所以它被称为微软所有产品中通信协议的“母语” 。微软在其早期产品 , 如DOS、LAN Manager、Windows 3.x和Windows for Workgroup中主要选择NetBEUI作为自己的通信协议 。在微软如今的主流产品 , 如Windows 95/98和Windows NT中 , NetBEUI已成为其固有的缺省协议 。有人将WinNT定位为低端网络服务器操作系统 , 这与微软的产品过于依靠NetBEUI有直接的关系 。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的 , 它不具有跨网段工作的功能 , 即NetBEUI不具备路由功能 。假如你在一个服务器上安装了多块网卡 , 或要采用路由器等设备进行两个局域网的互联时 , 将不能使用NetBEUI通信协议 。否则 , 与不同网卡(每一块网卡连接一个网段)相连的设备之间 , 以及不同的局域网之间将无法进行通信 。虽然NetBEUI存在许多不尽人意的地方 , 但它也具有其他协议所不具备的优点 。在三种通信协议中 , NetBEUI占用内存最少 , 在网络中基本不需要任何配置 。尤其在微软产品几乎独占PC操作系统的今天 , 它很适合于广大的网络初学者使用 。
■NetBEUI与NetBIOS之间的关系 。细心的读者可能已经发现 , NetBEUI中包含一个网络接口标准NetBIOS 。NetBIOS(Network Basic Input/Output System , 网络基本输入/输出系统)是IBM在1983年开发的一套用于实现PC间相互通信的标准 , 其目的是开发一种仅仅在小型局域网上使用的通信规范 。该网络由PC组成 , 最大用户数不超过30个 , 其特点是突出一个“小”字 。后来 , IBM发现NetBIOS存在的许多缺陷 , 所以于1985年对其进行了改进 , 推出了NetBEUI通信协议 。随即 , 微软将NetBEUI作为其客户机/服务器网络系统的基本通信协议 , 并进一步进行了扩充和完善 。最有代表性的是在NetBEUI中增加了叫做SMB(Server Message Blocks , 服务器消息块)的组成部分 , 以降低网络的通信堵塞 。为此 , 有时将NetBEUI协议也称为“SMB协议” 。人们常将NetBIOS和NetBEUI混淆起来 , 其实NetBIOS只能算是一个网络应用程序的接口规范 , 是NetBEUI的基础 , 它不具有严格的通信协议功能 。而NetBEUI是建立在NetBIOS基础之上的一个网络传输协议 。
2.IPX/SPX及其兼容协议
■IPX/SPX通信协议的特点 。IPX/SPX(Internetwork Packet eXchange/Sequences Packet eXchange , 网际包交换/顺序包交换)是Novell公司的通信协议集 。与NetBEUI的明显区别是 , IPX/SPX显得比较庞大 , 在复杂环境下具有很强的适应性 。因为 , IPX/SPX在设计一开始就考虑了多网段的问题 , 具有强大的路由功能 , 适合于大型网络使用 。当用户端接入NetWare服务器时 , IPX/SPX及其兼容协议是最好的选择 。但在非Novell网络环境中 , 一般不使用IPX/SPX 。尤其在Windows NT网络和由Windows 95/98组成的对等网中 , 无法直接使用IPX/SPX通信协议 。
■IPX/SPX协议的工作方式 。IPX/SPX及其兼容协议不需要任何配置 , 它可通过“网络地址”来识别自己的身份 。Novell网络中的网络地址由两部分组成:标明物理网段的“网络ID”和标明非凡设备的“节点ID” 。其中网络ID集中在NetWare服务器或路由器中 , 节点ID即为每个网卡的ID号(网卡卡号) 。所有的网络ID和节点ID都是一个独一无二的“内部IPX地址” 。正是由于网络地址的唯一性 , 才使IPX/SPX具有较强的路由功能 。在IPX/SPX协议中 , IPX是NetWare最底层的协议 , 它只负责数据在网络中的移动 , 并不保证数据是否传输成功 , 也不提供纠错服务 。IPX在负责数据传送时 , 假如接收节点在同一网段内 , 就直接按该节点的ID将数据传给它;假如接收节点是远程的(不在同一网段内 , 或位于不同的局域网中) , 数据将交给NetWare服务器或路由器中的网络ID , 继续数据的下一步传输 。SPX在整个协议中负责对所传输的数据进行无差错处理 , 所以我们将IPX/SPX也叫做“Novell的协议集” 。
■NWLink通信协议 。Windows NT中提供了两个IPX/SPX的兼容协议:“NWLink SPX/SPX兼容协议”和“NWLink NetBIOS” , 两者统称为“NWLink通信协议” 。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现 , 它在继续IPX/SPX协议优点的同时 , 更适应了微软的操作系统和网络环境 。Windows NT网络和Windows 95/98的用户 , 可以利用NWLink协议获得NetWare服务器的服务 。假如你的网络从Novell环境转向微软平台 , 或两种平台共存时 , NWLink通信协议是最好的选择 。不过在使用NWLink协议时 , 其中“NWLink IPX/SPX兼容协议”类似于Windows 95/98中的“IPX/SPX兼容协议” , 它只能作为客户端的协议实现对NetWare服务器的访问 , 离开了NetWare服务器 , 此兼容协议将失去作用;而“NWLink NetBIOS”协议不但可在NetWare服务器与Windows NT之间传递信息 , 而且能够用于Windows NT、Windows 95/98相互之间任意通信 。
3.TCP/IP协议
TCP/IP(Transmission Control Protocol/Internet Protocol , 传输控制协议/网际协议)是目前最常用到的一种通信协议 , 它是计算机世界里的一个通用协议 。在局域网中 , TCP/IP最早出现在Unix系统中 , 现在几乎所有的厂商和操作系统都开始支持它 。同时 , TCP/IP也是Internet的基础协议 。
■TCP/IP通信协议的特点 。TCP/IP具有很高的灵活性 , 支持任意规模的网络 , 几乎可连接所有的服务器和工作站 。但其灵活性也为它的使用带来了许多不便 , 在使用NetBEUI和IPX/SPX及其兼容协议时都不需要进行配置 , 而TCP/IP协议在使用时首先要进行复杂的设置 。每个节点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”和一个“主机名” 。如此复杂的设置 , 对于一些初识网络的用户来说的确带来了不便 。不过 , 在Windows NT中提供了一个称为动态主机配置协议(DHCP)的工具 , 它可自动为客户机分配连入网络时所需的信息 , 减轻了联网工作上的负担 , 并避免了出错 。当然 , DHCP所拥有的功能必须要有DHCP服务器才能实现 。同IPX/SPX及其兼容协议一样 , TCP/IP也是一种可路由的协议 。但是 , 两者存在着一些差别 。TCP/IP的地址是分级的 , 这使得它很轻易确定并找到网上的用户 , 同时也提高了网络带宽的利用率 。当需要时 , 运行TCP/IP协议的服务器(如Windows NT服务器)还可以被配置成TCP/IP路由器 。与TCP/IP不同的是 , IPX/SPX协议中的IPX使用的是一种广播协议 , 它经常出现广播包堵塞 , 所以无法获得最佳的网络带宽 。////////
■Windows 95/98中的TCP/IP协议 。Windows 95/98的用户不但可以使用TCP/IP组建对等网 , 而且可以方便地接入其它的服务器 。值得注重的是 , 假如Windows 95/98工作站只安装了TCP/IP协议 , 它是不能直接加入Windows NT域的 。虽然该工作站可通过运行在Windows NT服务器上的代理服务器(如Proxy Server)来访问Internet , 但却不能通过它登录Windows NT服务器的域 。假如要让只安装TCP/IP协议的Windows 95/98用户加入到Windows NT域 , 还必须在Windows 95/98上安装NetBEUI协议 。
■TCP/IP协议在局域网中的配置 。在提到TCP/IP协议时 , 有许多用户便被其复杂的描述和配置所困扰 , 而不敢放心地去使用 。其实就局域网用户来说 , 只要你把握了一些有关TCP/IP方面的知识 , 使用起来也非常方便 。
●IP地址基础知识 。前面在谈到IPX/SPX协议时就已知道 , IPX的地址由“网络ID”(NetWork ID)和“节点ID”(Node ID)两部分组成 , IPX/SPX协议是靠IPX地址来进行网上用户的识别的 。同样 , TCP/IP协议也是靠自己的IP地址来识别在网上的位置和身份的 , IP地址同样由“网络ID”和“节点ID”(或称HOST ID , 主机地址)两部分组成 。一个完整的IP地址用32位(bit)二进制数组成 , 每8位(1个字节)为一个段(Segment) , 共4段(Segment1~Segment4) , 段与段之间用“.”号隔开 。为了便于应用 , IP地址在实际使用时并不直接用二进制 , 而是用大家熟悉的十进制数表示 , 如192.168.0.1等 。IP地址的完整组成:“网络ID”和“节点ID”都包含在32位二进制数中 。目前 , IP地址主要分为A、B、C三类(除此之外 , 还存在D和E两类地址 , 现在局域网中这两类地址基本不用 , 故本文暂且不涉及) , A类用于大型网络 , B类用于中型网络 , C类一般用于局域网等小型网络中 。其中 , A类地址中的最前面一段Segment1用来表示“网络ID” , 且Segment1的8位二进制数中的第一位必须是“0” 。其余3段表示“节点ID”;B类地址中 , 前两段用来表示“网络ID” , 且Segment1的8位二进制数中的前二位必须是“10” 。后两段用来表示“节点ID”;在C类地址中 , 前三段表示“网络ID” , 且Segment1的8位二进制数中的前三位必须是“110” 。最后一段Segment4用来表示“节点ID” 。值得一提的是 , IP地址中的所有“网络ID”都要向一个名为InterNIC(Internet Network Information Center , 互联网络信息中心)申请 , 而“节点ID”可以自由分配 。目前可供使用的IP地址只有C类 , A类和B类的资源均已用尽 。不过在选用IP地址时 , 总的原则是:网络中每个设备的IP地址必须唯一 , 在不同的设备上不答应出现相同的IP地址 。表1列出了IP地址中的“网络ID”的有关属性 , “节点ID”在互不重复的情况下由用户自由分配 。其实 , 将IP地址进行分类 , 主要是为了满足网络的互联 。假如你的网络是一个封闭式的网络 , 只要在保证每个设备的IP地址唯一的前提下 , 三类地址中的任意一个都可以直接使用(为以防万一 , 你还是老老实实地使用C类IP地址为好) 。
●子网掩码 。对IP地址的解释称之为子网掩码 。从名称可以看出 , 子网掩码是用于对子网的治理 , 主要是在多网段环境中对IP地址中的“网络ID”进行扩展 。举个例子来说明:例如某个节点的IP地址为192.168.0.1 , 它是一个C类网 。其中前面三段共24位用来表示“网络ID” , 是非常珍贵的资源;而最后一段共8位可以作为“节点ID”自由分配 。但是 , 假如公司的局域网是分段治理的 , 或者该网络是由多个局域网互联而成 , 是否要给每个网段或每个局域网都申请分配一个“网络ID”呢?这显然是不合理的 。此时 , 我们可以使用子网掩码的功能 , 将其中一个或几个节点的IP地址全部充当成“网络ID”来使用 , 用来扩展“网络ID”不足的困难 。当我们将某一节点的IP地址如192.168.0.1已设置成一个“网络ID”时 , 网络上的其它设备又怎样知道它是一个“网络ID” , 而不是一个节点IP地址呢?这就要靠子网掩码来告知 。子网掩码是这样做的:假如某一位的二进制数是“1” , 它就知道是“网络ID”的一部分;假如是“0”便认作是“节点ID”的一部分 。如将192.168.0.1当做“网络ID”时 , 其子网掩码就是11111111.11111111.11111111.00000001 , 对应的十进制数表示为255.255.255.1 。否则它的子网掩码就是11111111.11111111.11111111.00000000 , 对应的十进制数表示应为255.255.255.0。有了子网掩码 , 便可方便地实现用户跨网段或跨网络操作 。不过 , 为了让子网掩码能够正常工作 , 同一子网中的所有设备都必须支持子网掩码 , 且子网掩码相同 。表2列出了A、B、C三类网络的缺省子网掩码 。
●网关 。网关(Gateway)是用来连接异种网络的设置 。它充当了一个翻译的身份 , 负责对不同的通信协议进行翻译 , 使运行不同协议的两种网络之间可以实现相互通信 。如运行TCP/IP协议的Windows NT用户要访问运行IPX/SPX协议的Novell网络资源时 , 则必须由网关作为中介 。假如两个运行TCP/IP协议的网络之间进行互联 , 则可以使用Windows NT所提供的“默认网关”(Default Gateway)来完成 。网关的地址该如何分配呢?可举一个例子往返答:假如A网络的用户要访问B网络上的资源 , 必须在A网络中设置一个网关 , 该网关的地址应为B网络的“网络ID”(一般可理解为B网络服务器的IP地址) 。当A网络的用户同时还要访问C网络的资源时又该怎么呢?你只需将C网络的“网络ID”添加到A网络的网关中即可 。依次类推……网关连多少个网络 , 就拥有多少个IP地址 。
●主机名 。网络中唯一能够代表用户或设备身份的只有IP地址 。但一般情况下 , 众多的IP地址不轻易记忆 , 操作起来也不方便 。为了改善这种状况 , 我们可给予每个用户或设备一个有意义的名称 , 如“WANGQUN” 。至于在网络中用到“WANGQUN”时 , 怎样知道其对应的IP地址呢?这完全由操作系统自己完成 , 我们大可不必考虑 。三、通信协议的安装、设置和测试 局域网中的一些协议 , 在安装操作系统时会自动安装 。如在安装Windows NT或Windows 95/98时 , 系统会自动安装NetBEUI通信协议 。在安装NetWare时 , 系统会自动安装IPX/SPX通信协议 。其中三种协议中 , NetBEUI和IPX/SPX在安装后不需要进行设置就可以直接使用 , 但TCP/IP要经过必要的设置 。所以下文主要以Windows NT环境下的TCP/IP协议为主 , 介绍其安装、设置和测试方法 , 其他操作系统中协议的有关操作与Windows NT基本相同 , 甚至更为简单 。
■TCP/IP通信协议的安装 。在Windows NT中 , 假如未安装有TCP/IP通信协议 , 可选择“开始/设置/控制面板/网络” , 将出现“网络”对话框 , 选择对话框中的“协议/添加” , 选取其中的TCP/IP协议 , 然后单击“确定”按钮 。系统会询问你是否要进行“DHCP服务器”的设置?假如你的IP地址是固定的(一般是这样) , 可选择“否” 。随后 , 系统开始从安装盘中复制所需的文件 。
■TCP/IP通信协议的设置 。在“网络”对话框中选择已安装的TCP/IP协议 , 打开其“属性” , 将出现图2所示的对话框 。在指定的位置输入已分配好的“IP地址”和“子网掩码” 。假如该用户还要访问其它Widnows NT网络的资源 , 还可以在“默认网关”处输入网关的地址 。
■TCP/IP通信协议的测试 。当TCP/IP协议安装并设置结束后 , 为了保证其能够正常工作 , 在使用前一定要进行测试 。笔者建议大家使用系统自带的工具程序:PING.EXE , 该工具可以检查任何一个用户是否与同一网段的其他用户连通 , 是否与其他网段的用户连接正常 , 同时还能检查出自己的IP地址是否与其他用户的IP地址发生冲突 。假如服务器的IP地址为192.168.0.1 , 如要测试你的机器是否与服务器接通时 , 只需切换到DOS提示符下 , 并键入命令“PING 192.168.0.1”即可 。假如出现类似于“Reply from 192.168.0.1……”的回应 , 说明TCP/IP协议工作正常;假如显示类似于“Request timed out”的信息 , 说明双方的TCP/IP协议的设置可能有错 , 或网络的其它连接(如网卡、HUB或连线等)有问题 , 还需进一步检查 。
小结
在组建局域网时 , 具体选择哪一种网络通信协议主要取决于网络规模、网络间的兼容性和网络治理几个方面 。假如正在组建一个小型的单网段的网络 , 并且对外没有连接的需要 , 这时最好选择NetBEUI通信协议 。假如你正从NetWare迁移到Windows NT , 或两种平台共存时 , IPX/SPX及其兼容协议可提供一个很好的传输环境 。假如你正在规划一个高效率、可互联性和可扩展性的网络 , TCP/IP则将是理想的选择 。
- QQ坦白说如何改匿名身份 改匿名身份方法分享
- QQ坦白说如何发消息 给好友匿名发消息方法推荐
- 如何补数学 数学不好怎么提高
- Windows11最低配置要求是什么 Windows11要求配置
- QQ坦白说如何申请内测 内测资格获得方法说明
- 红豆赤小豆区别 如何区分赤小豆和红豆
- 暴风影音慢放如何调节 播放速度调节方法介绍
- 如何用wps合并文档
- 戒指测量方法 如何测量戒指尺寸
- Uplay点数如何获取 快速获取方法介绍
