网普科技
网普管理员
![](images/kll_dz4/star.gif) ![](images/kll_dz4/star.gif) ![](images/kll_dz4/star.gif) ![](images/kll_dz4/star.gif) ![](images/kll_dz4/star.gif) ![](images/kll_dz4/star.gif) ![](images/kll_dz4/star.gif) ![](images/kll_dz4/star.gif) ![](images/kll_dz4/star.gif) ![](images/kll_dz4/star.gif) 网普科技人民公仆
积分 3080
发贴 2863
注册 2004-6-26 来自 网普科技
状态 离线
|
#1 网络协议与标准[ZT]
摘要
计算机网络的硬件设备,它们是承载计算机通信的实体。然而它们是怎样有序地完成计算机之间的通信任务的呢?
(2002-09-02 12:44:23)
--------------------------------------------------------------------------------
By Wing, 出处:fjxufeng
计算机网络的硬件设备,它们是承载计算机通信的实体。然而它们是怎样有序地完成计算机之间的通信任务的呢?
具体地说,共享计算机网络的资源,以及在网中交换信息,就需要实现不同系统中的实体的通信。实体包括用户应用程序、文件传送包、数据库管理系统、电子设备以及终端等,系统包括计算机、终端和各种设备等。一般说来,实体是能发送和接收信息的任何东西,而系统是物理上明显的物体,它包含一个或多个实体。两个实体要想成功地通信,它们必须具有相同的语言。交流什么,怎样交流及何时交流,都必须遵从有关实体间某种互相都能接受以一些规则,这些规则的集合称为协议,它可以定义为两实体间控制数据交换的规则的集合。
上面洋洋洒洒地一大通话,可能早已让读者晕头转向了。简单地说,所谓的协议,就象人与人交流的语言一样,它是计算机网络通信实体之间语言。不同的网络结构可能使用不同的网络协议;而同样的,不同的网络协议设计也就造就了不同的网络结构。下面将从计算机网络协议参考模型开始,逐一介绍局域网、广域网、 Internet的计算机网络通信协议。
6.1 开放系统互连参考模型OSI
自从计算机网络面世以来,它不断地促进着社会的发展,而且人类对计算机网络的依赖与需求都愈演愈烈,所以许许多多的计算机厂商都建立了自己一套与众不同的网络协议体系,然后配套一系列相对应的计算机网络硬件设备来完成计算机的连网需求,而且它们之间并不能通用。这样造成了如果你选择了一个厂商的网络产品,就被捆绑在这个厂商上,不得不“从一而终”,这显然降低了整个网络系统的可扩展性,甚至妨碍了计算机网络的更一步发展。
为此,国际标准化组织(ISO、International Standard Organization)在1979年建立了一个专门的分委员会来研究和制定一种开放的、公开的、标准化了的网络结构模型,以期用它来实现计算机网络之间相互联接与沟通。
经过一段时间后,ISO组织提出了一套称为“开放系统互联参考模型”(OSI、Open System Interconnection)。它定义了一套用于连接异种计算机的标准框架。由于ISO组织的权威性,加上人们需要一个相互兼容、共同发展的,新的网络体系,所以OSI参考模型成为了各大厂商努力遵循的标准。到了今天,虽然网络协议并不是完全与它一致的,但却都是根据它来制定的,所以确保了它们的开放性和兼容性。从某种意义上说,OSI参考模型已成为了计算机网络协议的“金科玉律”。
OSI参考模型采用了分层的结构化技术,将功能逻辑上划分开来,以使整个结构具有较高的灵活性。OSI参考模型共七层:应用层(Application Layer)、表示层(Presentation Layer)、会话层(Session Layer)、传输层(Transport Layer)、网络层(Network Layer)、数据链路层(Data Link Layer)、物理层(Physical Layer)。
7. 应用层(Application)
6. 表示层(Presentation)
5. 会话层(Session)
4. 传输层(Transport)
3.网络层(Network)
2.数据链路层(Data Link)
1. 物理层(Physical)
表6-1 OSI七层结构
有一句英文短句可以帮助你来记住它们的顺序:All people seem need to data process.每个单词的最前一个字母与每一个层相对应。下面我们就逐层作一相对简单的介绍:
6.1.1 物理层
物理层,它通过一系列协议定义了通信设备的机械的、电气的、功能的、规程的特征。
机械特征:规定线缆与网络接口卡的连接头的形状、几何尺寸、引脚线数、引线排列方式、锁定装置等一系列外形特征;
电气特征:规定了在传输过程中多少伏特的电压代表“1”,多少伏特代表“0”;
功能特征:规定了连接双方每个连接线的作用:用于传输数据的数据线、用于传输控制信息的控制线、用于协调通信的定时线、用于接地的地线;
过程特征:具体规定了通信双方的通信步骤。
一句话,物理层的所有协议就是人为规定了不同种类传输设备、传输媒介如何将数字信号从一端传送到另一端,而不管传送的是什么数据。从这里我们可以判断出中继器和非交换技术的集线器是一种工作在物理层上的设备,因为它们都不关心它们传送的是什么设备,也不负责数据的正确到达目的地。
6.1.2 数据链路层
数据链路层,在物理层已能将信号发送到通信链路中的基础上,完成保证相邻结点之间有效地传送数据的任务。正在通信的两个站在某一特定时刻,一个发送数据,一个接收数据。数据链路层通过一系列协议将实现以下功能:
1) 封装成帧:把数据组成一定大小的数据块,我们称之为帧。然后以帧为单位发送、接收、校验数据;
2) 流量控制:对发送数据的一方,根据接收站的接收情况,实时地进行传输速率控制,以免出现发送数据过快,接收方来不及处理而丢失数据;
3) 差错控制:对接收数据的一方,当接收到数据帧后对其进行检验,如果发现错误,则通知发送方重传;
4) 传输管理:在发送端与接收端通过某种特定形式的对话来建立、维护和终止一批数据的传输过程,以此对数据链路进行管理。
就发送端而言,数据链路层将来自上层的数据按一定规则就成比特流送到物理层处理;就接收端而言,它通过数据链路层将来自物理层的比特流合并成完整的数据帧供上层使用。
根据数据链路层的需要,必须唯一的标识出每个站点。现在最常用的方法是将网络接口卡(网卡)编上一个唯一的编号。习惯上,这个编号称为MAC地址。
实际上很大一部分的数据链路层的功能是由网卡来完成的,网卡工作在数据链路层,网桥需要将物理层的比特流合并成完整的数据帧,以得知其接收站点的地址,所以也是工作在数据链路层的一种网络设备。
6.1.3 网络层
网络层,用于从发送端向接收端传送分组。
也许读者会觉得不可思议,不是数据链路层已经保证了相邻节点之间无差错传送数据帧了吗?那么网络层到底有什么用呢?它存在的主要目的就是解决以下问题:
1)通信双方并不相邻:在计算机网络中,通信双方可能是相互邻接的,但也可能并不是邻接的,这样当一个数据分组从发送端发送到接收端的过程中,就可能在这个中间要经过多个其它网络结点,这些结点暂时存储“路过”的数据分组,再根据网络的“交通状况”选择下一个结点将数据分组发出去,直到发送到接收方为止。
2) 正如前面所阐述的一样,由于OSI参考模型是出现在许多网络协议之后的,它就必须为使用这些已经存在的网络协议的计算机网络之间的相互通信作出贡献。事实上,网络层的一些协议解决了这样的异构网络的互联问题。
另外,上一章所提到的路由器、第三层交换机都是用于实现根据网络的“交通状况”
选择下一个站点将数据分组发出去的功能,所以它们都是网络层的设备。
6.1.4 传输层
传输层,实现发送端和接收端的端口到端口的数据分组传送。
传输层的出现是为了更加有效地利用网络层所提供的服务。它主要体现在以下两方面:
1) 将一个较长的数据分成几个小数据报发送:由于实际在网络上传递的每个数据帧都是有一定大小限制的。假设如果我们要传送一个字串“123456789”,它太长了,网络服务程序一次只能传送一个数字(当然在实际中不可能这么小,这里仅是为了方便讲解作的假设),因此,网络就需要将其分成9次来传递。就发送端而言当然是从1传到9的,但是由于每个数据分组传输的路径不会完全相同(因为它是要根据当时的网络“交通状况”而选择路径的嘛),先传送出去的包,不一定会先被收到,因此接收端所收到的数据的排列顺序是与发送的顺序不同的。而传输层的协议就给每一个数据组加入排列组合的记号,以便接收端能根据这些记号将它们“重组”成原来的顺序。
2) 解决通信双方不只有一个数据连接的问题:这个问题从字面上可能不容易理解,实际上就是指,比如我用电脑与另一台电脑连接拷贝数据是同时,又通过一些交谈程序进行对话。这个时候,拷贝的数据与对话的内容是同时到达的,传输的协议还负责将它们分开,分别传给相应的程序端口。这也就是端到端的通信。
6.1.5 会话层
相对于其它层来说,会话层比较简单,它主要的服务是管理对话控制。比如说,在传输的数据中加入检查点来使通信双方同步。
6.1.6 表示层
表示层以下的各层只关心从这里到那里可靠地传输数据,而表示层则关心的是所传送的信息的语义与语法。它负责将收到的数据转换为计算机内的表示方法或特定的程序的表示方法。也就说,它负责通信协议的转换、数据的翻译、数据的加密、字符的转换等工作。
6.1.7 应用层
应用层,就是直接提供服务给使用者的应用软件。比如电子邮件、在线交谈程序都属于应用层的范畴。
6.1.8 OSI参考模型工作模式
上面一大段的文字也许让大家都感到晕头转向了,让我们一起来整理一个思路。
图6-1 OSI参考模型工作模式示意图
首先发送端由应用层的软件产生通信数据,然后各个层均对这些数据作相应的处理,最后将将它就成比特流,通过物理上的传输介质来传送到接收端。到了接收端,接收端从物理层获得比特流,然后逐层分析,最后获得发给相应程序的数据,传给相应程序。在这个过程中数据有过十分大的变化,具体如下图所示:
图6-2 用OSI参考模型来传送数据的过程
6.2 局域网协议
局域网技术由于具有其规模小、组网灵活和结构规整的特点,所以极易形成标准。事实在,局域网技术也是在所有计算机网络技术中标准化程序最高的一部分。国际电子电气工程师协议IEEE早在70年代就制定了三个局域网标准:IEEE 802.3 (CSMA/CD。以太网),IEEE 802.4 (Token Bus,令牌总线),IEEE 802.5 (Token Ring,令牌环)。由于它已被市场广泛接受,所以IEEE 802系列标准已被ISO采纳为国际标准。而且,随着网络技术的发展,又出现了象IEEE 802.7 (FDDI),IEEE 802.3u (快速以太网),IEEE 802.12 (100VG-AnyLAN),IEEE 802.3z (千兆以太网)等新一代网络标准。
接下来,我们一起来看看一些典型的局域网协议。
不同的局域网协议最重要的区别是它们具有不同的数据在电缆上的“存取方法”,所谓的存取方法指的是在计算机网络中,如何将数据放在电缆上传输以及如何从电缆上取得数据的一组规则。
6.2.1 以太网/IEEE 802.3
以太网技术可以说是局域网技术中历史最悠久的一种,它Xerox(施乐)公司在七十年代为解决网络中零散的和偶然的堵塞开发的。它采用的是“存取方法”是带冲突检测的载波监听多路访问协议(CSMA/CD)技术。以太网一词泛指所有采用这个协议实现的局域网。
现在以太网主要包括以下三种类型,而且现在还在继续向前发展:
1) IEEE 802.3中所定义的标准局域网,速度为10Mbps,传输介质为细同轴电缆;
2) IEEE 802.3u中所定义的快速以太网,速度为100Mbps,传输介质为双绞线;
3) IEEE 802.3z中所定义的千兆以太网,速度为1000Mbps,传输介质为光纤或双绞线。
由于灵活性高且易于理解与实现,以太网成了最常用的局域网技术。尽管其它有些技术被吹捧得可以完全代替以太网,但是网络管理者最终还是选择以太网及其衍生技术作为实施小型网络的有效解决方案。为了解决以太网的局限性,专家们正在逐步扩大以太网的范畴。评论家们不喜欢以太网,把它当为一种难以评价的技术,但这阻止不了以太网技术的继续风行于网络世界。
1. 存取方法
虽然以太网技术已有了很大的发展,但是它们所采用的“存取方法”都是基于CSMA/CD发展而来的。所以在介绍具体的不同的以太网技术之前,我们先详细地阐述CSMA/CD。
CSMA/CD(Carrier-Sense Multiple Access with Collision Detection),载波侦听多路传送碰撞检测技术。它让整个网络上的电脑都以竞争的方式来抢夺传送数据的权力,它的工作原理如下所述:
1) 每当网络上的电脑将数据送上电缆时,都事先监听电缆上是否有数据正在传输,如果没有,就将数据包送出去;
2) 如果侦测到电缆上正好有数据在传输,则继续监听网络,直到电缆上的传输结束,再将自己在传送的数据传送出去;
3)还有一种情况是,网络上有两台电脑同时要开始传输数据,而同时开始监听,这时电缆刚好是闲着的,而同时通过电缆传输数据。这时就发生了“碰撞”。当遇到这种情况的时候,两台电脑同时中止传送,然后继续监听电缆。(要注意的是,只要一个节点停止传输,就可以解决这个问题,但是如果是这样的话,则又要设计一下谁退让,反而增加了复杂性。)
举个例子来说吧,假设有这样的一层楼,两旁住了几十户人,中间只有一条仅供一人通行的走道。我们看看,情况会是怎样:
1) 当这些住户要经过走道出来是,首先探出头来看看走道上有人走吗?如果没有,就通过走道走出来;
2) 如果走道上有人走,那么就一直盯着走道,直到走道上没人时再走出来;
3)如果是有两个人同时看到走道上没有人行走,而同时走向走道时,则两个人发现时就马上回到自己屋里。(要注意的是,只要一个人退让,就可以解决这个问题,但是如果是这样的话,则又要设计一下谁退让的判断依据,反而使得更复杂)通过上面的介绍,细心的读者一定会发现,当网络上的电脑越来越多的时候,采用这种方法常发生“碰撞”的情况,过度的碰撞将引起网络效率的急剧下降。虽然看上去这种技术并不能提供很高的传输速度,然而事实却不是这样,在以太网一出现的时候,就提供了当时的高传输率——10Mbps,虽然有人曾经认为以太网技术将随着时代的发展而被淘汰出局。但千兆以太网的出现也再次证明了以太网仍正值英年。
事实上,以太网在全世界的局域网建设中仍是最主要的一种。
2. IEEE 802.3——10Mbps以太网
这个标准是由IEEE802.3委员会根据以太网技术总结出来的一个标准。它定义出了一系列面向不同的传输媒介的,传输速率为10Mbps的以太网规范。用以下表示法来区别:
<用Mbps计的传输速率><信号发式><用百米计的最大段的长度/线缆类型>
其中定义过10BASE5、10BASE2、10BASE-T、10BASE-F等几种(需要注明的是,其中10BASE-T与10BASE-F的最后一项就是以线缆类型进行命名的,其中T代表双绞线,F代表光纤)。下面我们将对它们作一个简单的介绍。
10BASE5 10BASE2 10BASE-T 10BASE-F
传输媒体 同轴粗缆 同轴细缆 非屏蔽双绞线 850nm光纤对
编码技术 基带技术 基带技术 基带技术
拓扑结构 总线型 总线型 星型 星型
最大段长度 500米 185米 100米 500米
每段节点数 100 30 -- 33
表6-2 IEEE802.3规范一览表
1) 10BASE5标准
这是最早的媒体规范,它使用的是阻抗为50W的同轴粗缆。但由于同轴粗缆的缆线直径大,所以比较笨重,不易铺设。
2) 10BASE2标准
为了建立一个比10BASE5更廉价的人人电脑的局域网,又制定了基于一种称为同轴细缆的。同轴细缆的阻抗也是50W,采用的编码技术也一样,达到的传输速率也一样,唯一的差别就是它使得每两个节点间的距离限制从500米降为185米。
3) 10BASE-T标准
为了使得它能适应更多种不同的线缆类型,又制定了一个使用非屏蔽双绞线为传输介质的标准。事实证明,这种标准是成功的,它不公占据了这个领域,而且从后面还能看到,它有力地促进了这个领域的向前发展。
值得一提的是,10BASE-T所要用到的非屏蔽双绞线只需3类线标准即可满足要求。
4) 10BASE-F标准
1993年制定的这个标准,它充分利用了新兴媒体光纤的距离长、传输性能号的优点,大大改进了以太网技术。
3. IEEE 802.3u——10Ombps快速以太网
随着计算机技术的不断发展,10Mbps的网络传输速度实在无法满足日益增大的需求。
这时就人们就开始了不懈的研究,寻求更高的网络传输速度。但是由于IEEE 802.3已被广泛应用于实际中去,为了能够在它的基础上进行轻松升级,IEEE 802.3u充分考虑到了向下兼容性:它采用了非屏蔽双绞线(或屏蔽双绞线、光纤)作为传输媒介,采用与IEEE 802.3一样的介质访问控制层——CSMA/CD。IEEE 802.3u常称为快速以太网。
根据实现的介质不同,快速以太网可以分为100BaseTX、100BaseFX和100BaseT4三种:
电缆类型 线束数 最大网段长度 网络最大直径
100BaseTx 5类非屏蔽双绞线/1、2类STP 2对 100米 200米
100BaseFx 62.5/125多模光纤 2束 400米 400米
100BaseT4 3类非屏蔽双绞线 4对 100米 200米
表6-3 IEEE 802.3u标准一览表
1) 100BaseTX
它用2对5类非屏蔽双绞线(UTP),或者1类、2类屏蔽双绞线(STP)作为传输媒介,来实现传输速度100Mbps的网络。要注意的是,若要使用非屏蔽双绞线,则一定要使用规格较高的5类线,而不能使用一般的3类线。
100BaseTX的网络标准IEEE 802.2最多支持两个中继器,而关于网段最大长度为100米,网络最大直径为200米的限制如下图所示:
图6-3 100BaseTx的链路长度限制示意图
2) 100BaseFX
100BaseFX是将运行在2束多模光纤上的标准。在没有中继设备的网络中最大距离为400米,如果有中继器,则最大距离为300米。
3) 100BaseT4
在10BAST-T中,虽然它只需要2对3类非屏蔽双绞线来传输数据,然而双绞线却常是4对一束出现的,所以原来的10Mbps的网络中使用的3类线有 2对是空着没有利用的。而100BaseT4正是基于利用这剩下的2对线而推出的。它使得能用4对3类非屏蔽双绞线上提供传输速度为100Mbps网络。
4. IEEE 802.3z——1000Mbps千兆以太网
九十年代中期,随着各种新的网络技术的推出,仅有100Mbps传偷速度的以太网似乎已经发展到了极限,“以太网被淘汰了”的说法让以太网技术一度低糜。许多对网络速度要求更高的计算机网络不得不采用一些新的网络技术(如ATM技术)来解决他们的问题。然而,1000Mbps的千兆以太网的推出,给以太网技术一针“强心针”,以太网技术迅速重新崛起,收复失地。
它在780纳米光纤上或超5类非屏蔽双绞线上运行。值得一提的是,为了给千兆以太网提供更好的传输媒介,非屏蔽双绞线也推陈出新,不断地发展。首先是在5类双绞线的基础上进行改进,以适应千兆以太网的需要。接着,是紧锣密鼓地进行6类线的标准制定工作,预计1999年底或2000年初,关于6类线的标准将面市。
IEEE 802.3z的出现向世人证明了以太网的“青春仍在”,而研究以太网技术的科学家们并没有因此而停止进一步研究,而是大胆地推进了万兆以太网的研究工作,我们拭目以待,相信以太网的奇迹仍然会出现。
6.2.2 令牌环网/IEEE 802.5
令牌环网是业界老大IBM(国际商用机器)公司于七十年代开发出来的,至今仍然沿用于IBM内部局域网的一种局域网技术。它在局域网中的流行性仅次于以太网。它还有一种变形,就是令牌总线/IEEE 802.4。
它的传输介质虽然没有明确定义,但主要基于屏蔽双绞线、非屏蔽双绞线两种。
它的拓扑结构可以有多种:环型(最典型,是原意)、星型(实际上采用得最多)、总线型(一种变形)。
实际上,IEEE 802.5的定义是在IBM令牌环网的基础上进行总结于统一的结果,可以这样理解,IBM令牌环网是具体应用的一种方案,实际上几乎是唯一在实际应用中的方案,而IEEE 802.5则是一种抽象的群体,它们的异同,如下表所示:
IBM令牌环网 IEEE 802.5
数据速率 4.16Mbps 4.16Mbps
最大网段长度 260米(STP)/72米(UTP) 250米
拓扑结构 星型 没有指定
传输介质 双绞线 没有指定
信号机制 基带 基带
访问控制 令牌传递 令牌传递
编码方法 差分曼彻斯特编码 差分曼彻斯编码
表6-4 令牌环网对照表
1. 存取方法——令牌环控制
1) 首先,令牌环网在网络中传递一个很小的帧,称为“令牌”,只有拥有令牌环的工作站才有权力发送信息;
2) 令牌在网络上依次顺序传递;
3) 当工作站要发送数据时,等待捕获一个空令牌,然后将要发送的信息附加到后边,发往下一站,如此直到目标站。然后将令牌释放;
4) 如果工作站要发送数据时,经过的令牌不是空的,则等待令牌释放。
为了让大家更好地理解这种存取方法,我们在此构造一个例子:
1) 假设有10个人围成一圈,他们无法交谈,只能通过写字来交谈。然而为了他们能够有序地交谈,给他们一个空信封;
2) 这个空信封在他们之间依次顺序传递;
3) 当有人要说话时,先等这个空信封传在面前,然后将写好话的纸放入信封,在信封上写上接收人的号数,然后往下传,当接收人看到后,从中取出低,擦去信封外的号数。这样还原成一个空的信封,继续依次顺序向下传递;
4) 如果有人要说话时,信封没到面前或信封不是空的,那么就得等待。
2. 与以太网的比较
从上面的介绍上中,我们明显感觉到了它的缺点,那就是协议过于复杂,所以造成了不必要的带宽开支,使得令牌环网的速度比以太网慢得多。
当然,令牌环网也有它的优点,它可以定制每个站持有令牌的时间,使得整个网络是“确定性”的。
我们一起来对以太网,令牌环网以及它的变形令牌总线进行一个综合的比较,以便积各位读者比较、选择。
IEEE 802.3以太网 IEEE 802.5令牌环 IEEE 802.4令牌总线
协议复杂性 碰撞解决较复杂 令牌和环维护复杂 最复杂
访问确定性 不确定 确定 确定
支持优先级 不支持 支持 支持
模拟技术 碰撞检测使用 完全数字化 大量使用
数据速率 10-1000Mbps 4.16Mbps 1,5,10Mbps
通信介质 均可 均可 宽带同轴电缆
可靠性 好 较好 不好
轻负载时网络性能 无延迟 有延迟 有延迟
重负载时网络性能 急剧下降 好
安装 简单 较复杂 复杂
使用广泛性 广泛 一般 不常用
适用场合 中等负载情况下 重负载,要求实时 实时性要求极高
表6-5 三种局域网的比较
6.2.3 FDDI/光纤分布式数据接口
FDDI(Fiber Destributed Data Interface),光纤分布式数据接口。它是由美国国家标准协会X3T9.5委员会制定的光纤环网标准。它采用了类似令牌环网的协议,它用光纤作为传输介质,数据传速可达到100Mbps,环路长度可扩展到200公里,连接的站点数可以达到1000个。
FDDI网络在过去的10年中有了迅速的发展,主要的网络产品制造商有DEC、AT&T等,正如下图所示,绝大部分的FDDI都是用于LAN的骨干网。
图6-4 FDDI环作为连接LAN的骨干网
FDDI采用双环体系结构,两环上的信息反方向流动。双环中的一环称为主环,另一环称为次环。在正常情况下,主环传输数据,次环处于空闲状态。双环设计的目的是提供高可靠性和稳定性。其结构如下图所示:
图6-5 FDDI环结构示意图
1) FDDI的传输介质
FDDI采用光纤作为主要的传输介质,它定义了单模光纤和多模光纤两种。
“模“是以一定角度进入光纤的束光。多模光纤采用发光二极管作为光源,而单棋光纤采用激光作为光源。
允许多“模”光在光纤中传播,因为每一“模”光进入光纤的角度不同,它们到达光纤另一端的时间也不同。这种特性称为模分散。模分散技术限定了多模光纤的带宽和距离。
则只允许一束光传播。由于只使用一束光,单模光纤没有模分散的特性,因此,单模有能力提供更高的传输性能和更远的距离。
2) FDDI的站点连接
FDDI的一大特点是其设备可以采用多种方法连接。FDDI定义了单连接站点(SAS)、双连接站点(DAS)和集线器三种类型的设备。
单连接站点只能通过集线器连接到主环上,这种连接方式的主要优点是当单连接站点与主环的连接中断后,对环路没有影响。它是一个单纯的利用FDDI环通信的设备。
双连接站点有两个端口,它们反DAS连接到FDDI的双环上,而且每个端口都能分别与主环和次环连接。当然,如果采用双站点连接的设备与主环或次环的连接出现问题,将直接影响FDDI的环路结构。连接如下图所示:
图6-6 FDDI的双连接站点连接示意图
3)FDDI的双环结构
FDDI的主要容错特性是双环结构。当双环上的一个站点失效时,双环自动回绕成单环。
图6-7 FDDI的站点失效后环路变化示意图
4)铜缆分布式数据接口CDDI
为了使得FDDI能够更加有用,在此基础上又制定了铜缆分布式数据接口CDDI标准。
铜缆分布式数据接口是FDDI协议在铜轴双绞线上的实现。与FDDI一样,它的速率为100Mbps,也采用了双环体系结构提供冗余特性。CDDI支持的工作站与集线器间的最大距离为100米。
6.3 广域网协议
在地域分布很远、很分散,以致于无法用直接连接来接入局域网的场合,广域网(WAN)通过专用的或交换式的连接把计算机连接起来。这种广域连接可以是通过公众网建立的,也可以是通过服务于某个专门部门的专用网建立起来。
相对来说,广域网显得比较错综复杂,主要用于广域传输的协议比较多:PPP(点对点协议)、DDN、ISDN(综合业务数字网)、X.25、FR(帧中继)、ATM(异步传输模式)、等。下面就逐一作个简要的叙述,以便大家更好地了解和选择广域网协议。
6.3.1 PPP点对点协议
PPP点对点协议主要用于“拔号上网”这种广域连接模式。一般来说,一些无法使用专门的网络线连接的双方(比如说家庭用户、移动用户)需要广域相连接的时候,就可以借助分布最广的公用交换电话网来实现。
图6-8 “拔号上网”示意图
正如图所示,终端通过调制解调器的调制,将要传输的数字信号调制成模拟信号然后通过模拟的PSTN线路传输到目的地。要说明的是图中的笔记本电脑虽然没有画出调制解调器,但并不是说它就不需要。而是考虑到现在市场上的笔记本一般是内置了调制解调器的原因而故意作的调整。
让我们来想想,平时我们要浏览互联网上的网页的时候,首先就是通过调制解调器连接到电话线上,然后将在远方服务器的内容通过电话线传送到自己的计算机中来。或者,当大家要发送电子邮件的时候,就将写好的电子邮件从电话线中传送出去。
另外,两个不同城市的两台计算机要互相传送数据,也可以通过装在两台计算机上调制解调器,让其中一台呼叫另一台(拔打它的电话号码)而建立点对点的连接而实现。
迄今为止,拔号上网还是绝大多数的家庭用户和小型办公室用户广域连接的一种最常用的手段。但是因为通过的是模拟线路,所以传输速度较慢。
6.3.2 DDN数字专线
我国邮电部于1994年10月完成了全国数字数据骨干网的一期建议。这个网络是利用光纤、数字微波或卫星数字数字交驻连接设备组成的数字数据业务网。这些数字线路用于出租给最终用户。
由于当我们使用PPP协议拔号上网的时候,发送、接收数据所通过的电话线路是不明确的,根据当时线路的拥塞情况不同而不同。所以它的传输是低速且不稳定的。
而某些用户需要更高的传输速度和质量,就可以租用DDN线路来实现。租用了DDN线路,就等于在用户与电信局端直接用一条定制带宽的专用电话线路相连,显然这能大大提高整个数据传输的稳定性和速度。这项业务开通后,受到了用户的广泛好评,并且广泛的采用。
在DDN的客户端需要一个称为DDN MODEM的CSU/DSU设备,以及一个路由器,它的价格与DDN线路的带宽相关,一般来说开通一个DDN客户端的费用在1.5万元左右。
6.3.3 ISDN综合业务数字网
ISDN经历了一个极为漫长的“进化”过程。如果你常看一些网络界的时报,你一定不会在10年之前就对它有所耳闻。在它出现的时候,远程通信界的专家们都声称它是未来的公共电话、电信接口。但是它的不够经济却严重的阻碍了它的广泛应用。
在这个世纪弥留之际,ISDN终于迅速发展起来。中国电信用了一个形象的名字“一线通”描述出了它的特点:ISDN将数据、声音、视频信号集成进一根数字电话线路,提供了有效经济的途径,将用户与高带宽数字服务相连。
ISDN可分为N-ISDN(窄带ISDN)和B-ISDN(宽带ISDN)两种。
其中常用于家庭及小型办公室的是N-ISDN,它提供的基本速率接口(BRI)服务由2个B信道和1个D信道组成(2B+D),其中B信道为64Kbps,D信道为16Kbps。
而B-ISDN提供的主要速率接口(PRI)则根据不同的国家而有尽相同。在北美、日本为23个速率为64Kbps的B信道和1个速率也为 64Kbps 的D信道,总速率为1.544Mbps,即23B+D。而在欧洲、澳洲及其它国家,一般则是由30个速率为64Kbps的B信道和1个速率也为 64Kbps的D信道构成,总的接口速率可达到2.048Mbps,也就是30B+D。
下面我们介绍一下N-ISDN所需要的硬件设备,以及其连接方式。
图6-9 使用NT1连接
NT1是一种ISDN的网络终端设备,一般是ISDN的服务提供商来安装,它有三个端口,一个是电话线路的接入端口,用它与服务提供商的局端连接。另一边,它对用户提供了两个数字接口,由于普通电话无法直接使用数据信号,所以无法直接与它连接,而只有数字电话才能直接连接到NT1上。而计算机要与 NT1 相连,还必须在计算机上插上一个ISDN适配卡(它与MODEM相似),然后用一根双绞线将它们连接在一起。
如果用户需要直接将模拟设备连接在ISDN线路上,则需要另一个设备——TA。下图阐述了使用TA连接ISDN的方法。
图6-10 使用TA连接
如图所示,首先用双绞线将TA连接到NT1上。计算机则是通过串口电缆与TA连接的,而TA提供了许多模拟接口,所以传真机、普通电话(模拟电话)可以直接连接到TA上。
ISDN逐渐成为替代“拔号上网”的新的一种广域连接的方式。但虽然ISDN在速度上毫不逊色于DDN专线,但是ISDN也与拔号上网一样,它的传输信道不是专有的,所以它没有DDN专线那样稳定。另外,ISDN对电话线路的要求也要高于拔号上网,所以在某些地方,ISDN的发展速度缓慢。
6.3.4 X.25
X.25是历史最悠久的广域数据传输协议。尽管它是所有广域数据传输协议的鼻祖,而且也曾经为广域传输做出了很大的贡献,然而现在它似乎已经走到了尽头,X.25的应用越来越少见了。但由于许多新的协议是从它的基础上衍生出来的,所以我们先回顾一下这个早先的协议。
X.25是一个基于分组的、面向连接的传输协议。在X.25网络中,要传送的数据首先被分割成为许多小的可以各自寻址的数据分组,然后将它们传送到目标站。到了目标站,分组再重新组装成为原始的数据。这个用来分割、寻址和重新组装分组的设备称作PDA(分组组装/拆装器),如图所示:X.25网络中的站点由它来连接。
图6-11 X.25网络连接示意图
由于历史原因,X.25在设计时,网络的传输出错率较高。所以整个设计充分考虑到了可靠性和数据完整性方面。X.25网络通过一个复杂的数据分组确认和差错校验过程来实现。它要求每个分组通过的每个节点都对接收到的数据进行确认。
下图说明了它的慢条斯理的分组转发过程。它是将整个分组全部收完后,再转发。
图6-12 X.25网络分组转发示意图
正是由于它将一大部分的带宽用在了这样的差错校验,所以它成为了一个相对低速的协议,而且现在网络的传输质量越来越好,在差错校验上花太大的力量将是得不偿失的,所以X.25也就越来越不适应现在的网络环境。人们开始朝着更新的协议迈进。
但请一定不要忘记,X.25协议可以在网络传输环境不好的情况下提供较好的传输质量,这就是它的要点。
6.3.5 FR帧中继
作为X.25网络协议的发展,帧中继是一种高性能的广域网协议。它是X.25的一个简化版本,它省去了X.25的一些强健的功能,如提供窗口技术和数据重发功能,这是因为帧中继的设计是基于网络的传输环境已经有了很大的提高的前提下。
1990年,Cisco、Digital Equipment、Northern Telecom和StartaCom等公司组成一个联合体,共同开发了帧中继技术。此后,帧中继技术有了迅猛发展。
从整个连接上,帧中继与X.25相当类似。但它在数据分组确认和差错校验方法作了很大的简化,而且分组的转发也有了改变。帧中继只要接到分组头,就开始转发,这样进一步提高了速度。
但是,需要强调的是,帧中继在网络环境不好的情况下,将无法象X.25那样提供较好的传输质量,而且可能会使用传输质量急剧下降。
6.3.6 ATM异步传输模式
ATM,是这几年兴起的一种宽带网络技术。许多业界人士都认为ATM技术给计算机网络带来巨大的革新。甚至有些商家认为它是这10年来最有意义的网络技术。
1.ATM技术的优缺点
虽然我们在这里将ATM技术划在广域网部分来介绍,但ATM却是一种可以将局域网功能、广域网功能、语音、视频和数据集成进一个统一的协议设计。正是它的高度统一性和良好的可扩展性,给计算机网络技术掀开了新的一页。它具有以下特点:
1) 速度:ATM支持高达622Mbps的传输率;
2) 可扩展性:ATM允许在现存结构中增加带宽和端口密度;
3) 高传输质量QoS:它保证了传输服务的QoS,这也是一般网络技术所不具备的;
4) 一体化安装:ATM提供了端到端解决方案的潜力,这意昧着它的应用可以从桌面到局域网,一直延伸到广域网。
但是ATM绝不能统治未来的网络世界!
1) 随着时间的推移,ATM的速度已不再是神话,千兆以太网的速度已经超过了ATM;
2) ATM技术上还不能很好地支持语音业务,这也是它的一个局限;
3) ATM技术与原有的网络设备不兼容,这就意味着如果采用了ATM技术,则原有的网络投资将付诸东流;
4) 随着对网络QoS的重视,各种IP OVER技术兴起,在一定程度上解决了这方面的需求,而且很好地保护了现有的网络投资,所以谁将笑在最后现在还无法下定论。
2.ATM技术适用的范围
1) 由于ATM技术提供了基于专用带宽的设计和数据优先级设计,使得它特别适合多媒体和视频应用;
2) ATM技术具有良好的扩展能力以及高性能的网络传输能力,适合构架骨干网;
3) ATM具有高性能的无缝地集成广域网和局域网的能力,所以被广泛地应用于广域网建设中。
3.ATM技术不适用的领域
1) 由于它的成本较高,所以不适合于小网络;
2) 在需要保留不同类型的传统网络协议的网络中,采用AYM技术也是不适合的。
6.4 Internet网络协议
在前面的章节中,我们学习了许多局域网和广域网的协议和技术,现在我们一起来探讨一个在计算机通信发展中出现的解决新的需求而衍生出来的技术——一个用来把多个物理网络连成一个巨大统一的通信系统的网络互联技术。
那么为什么需要将构建在不同协议上的物理网络连接成一个统一的通信系统呢?这是因为,每个网络技术被设计成符合一特定的限制。例如,局域网技术被设计用于在短距离内提供高速通信,而广域网技术则被设计用于在大的范围内提供通信。因而,没有任何一种网络技术对所有的需求来说都是最好的选择。所以,计算机网络的建设都是因地制宜,选择最适合的网络技术来构建最高效率的网络。而当人们需要在这些五花八门的网络之间进行通信的时候,就产生了网络互联的需要。
在70年代中期,美国高级国防研究项目署(DAPRA)为了建立一个适应战争的连通全国军部的大型网络APRANET,就掀开了这种异种网络互联的先河。为了完成这个网络的建设,DAPRA投入了大量的人力物力,最后在许多大学的参与下,制定了一系列的协议,并且高效地完成了网络互联的任务。这一系列的协议就是著名的TCP/IP协议。
TCP/IP协议是当今世界上最流行的开放系统协议集。它正在支撑着Internet(国际互联网)的正常运转。下面我们一起来看看TCP/IP协议集的组成:
应用层、表示层、会话层:FTP TELNETSMTP HTTPSNMP
传输层:TCP UDP
网络层:ICMP IP 路由选择协议
数据链路层:ARP RARP
物理层:任意
下面我们就一起来看看,它们是如何协作而将各种异构的网络互联起来,提供一个统一的通信体系结构的。
6.4.1 IP及相关协议
由于各种网络协议主要是定义了“物理层”和“数据链路层”。要让这些在最低两层不同的网络能够形成一个统一的通信大网,则必须在更高的一层——网络层得到统一。
相对应的,IP协议(Internet Protocol)就是运行在网络层上,为实现这样的功能而设计的。它为这个统一的大网规定了地址访问信息及一系列相关的信息。它是整个TCP/IP协议集的最核心协议之一。
1. IP地址
为了让连接在整个大网上的主机能够相互通信,IP协议给每一台主机分配一个唯一的地址,这个地址就叫IP地址。
1) IP地址格式
IP地址的长度为32位,它分为网络号和主机号两部分。网络号标识一个网络同,一般网络号由互联网络信息中心(InterNIC)统一分配。主机号用来标识网络中的一个主机,它一般由网络中的管理员来具体分配。
一个由32位二进制数构成的IP地址是什么冗长,难以阅读的。为了平时更好的记忆和使用,人们就将它分成4组,每组8位,然后每组都以十进制表示,并用小圆点分开。这种表示方法又称为“点分十进制表示法”。例如:
IP地址: 11001010011001010110100101000010
分成4组: 11001010 01100101 01101001 01000010
用十进制表示: 202 101 105 66
用小点隔开: 202 . 101 . 105 . 66
这样我们就得到了点分用十进制表示的IP地址:202.101.105.66
2) IP地址的分类
将IP地址分成了网络号和主机号两部分,设计者们就必须决定每部分包含多少位。网络号部分包含几位就直接决定了整个互联网可以为多少个网络分配IP地址;同样的主机号部分包含几位也直接决定了所包含网络中最大的主机数。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明地选择了一种灵活的方案:将IP地址窨划分成不同的类别,每一类具有不同的网络号位数和主机号位数。正如下图所示,IP地址的前四位用来决定地址所属的类别:
6-13 IP地址分类
需要注意的是,在IP地址中,全0代表的网络,全1代表的是广播。举个例子来说:假设一个单位的IP地址是202.101.105.66,那么它所在的网络则有202.101.105.0来表示,而 202.101.105.255(8位全为1转成十进制为255)则代表向整个网络广播的地址。另外,127.0.0.1被保留作为本机回送地址。
以上的设计贯彻了灵活的原则,给IP地址带来了很好的实用性。举个例子来说,象IBM这样的大企业,可能拥有上十万台的主机,则可以分配一个A类地址来满足它;而对一些只有不上千台主机的用户,只要分配一个C类地址给它就行了,这样也就很好地避免了分配给它的IP地址过多而造成IP地址浪费的情况。
下面我们一起来看看每一类地址,比较一下它们的异同,以便大家在申请IP地址的时候有的放矢,根据实际使用情况选择最适合的IP地址类别。
A类地址 B类地址 C类地址 D类地址 E类地址
地址格式 N.H.H.H N.N.H.H N.N.N.H N/A N/A
适用范围 大的组织 中型组织 小型组织 多目广播 保留
高位数字 0 10 110 1110 1111
地址范围 1.0.0.0到126.0.0.0 128.1.0.0到191.254.0.0 192.0.1.0到223.225.254.0 224.0.0.0到239.255.255.255 240.0.0.0到254.255.255.255
网络/主机位 7/24 14/15 22/8 N/A N/A
最大主机数 16777214 65543 254 N/A N/A
表6-7 IP地址类别对照表
3) 子网掩码
子网掩码是相对特别的IP地址而言的,如果脱离了IP地址就毫无意义。它的出现一般是跟着一个特定的IP地址,用来为计算这个IP地址中的网络号部分和主机号部分提供依据,换句话说,就是在写一个IP地址后,再指明哪些是网络号部分,哪些是主机号部分。
子网掩码的格式与IP地址相同,对应的网络号部分用1填上,主机号部分用0填上。例如:一个B类地址:172.16.3.4,为了直观地告诉大家前 16 位是网络号,后16位是主机号,就可以附上子网掩码:255.255.0.0(11111111 11111111 00000000 00000000)。
4) 子网连网
虽然这种两级编址体系给TCP/IP协议带来了勃勃生机,但是它是基于每个地点只有一网络的假定而设计的,因为每个地点或组织只需要一个与互联网的连接。但时这种假定随着时间的过去而逐渐成为错误,情况已经不是这样了,许多组织希望多个子网甚至是每个子网都与互联网相连接。就象下图所示:
图6-14 每个地点有多个网络要连接到互联网而破坏了原来的设想
如果按原来的设计,要解决这种情况,就必须为另一个网络再申请一个网络地址。但是这样的话,一个新的问题就衍生了。比如说,上图的两个网络是同属一个组织,而现在要同时接入互联网。假设左边的一个LAN有50个主机,我们得为它申请一个C类地址,而右边一个LAN有60个主机,我们又得为它再申请一个 C 类地址。其实,这两个LAN的主机总数也还用不完一个C类地址。这样就造成了严重的IP地址浪费。
而且这种情况又发生在连接到互联网的主机急剧上升,使得原先设计的IP地址显得极为紧张,已经离不够分配的日子不远的时候。一方面,地址不够用,另一方面,地址又在浪费,这个矛盾在彻底解决IP地址不足的问题之前,必须有一个良好的过渡方法,否则它必将加剧恶化的速度。这时也就出现了许多解决问题的方法。其中一种就叫“子网连网”。
子网连网,出自RFC950的定义。它的主要思想就是将IP地址划分成三个部分:
。网络号部分
。子网号部分
。主机号部分
也就是说,将原先的IP地址的主机号部分分成子网号和主机号两部分。说到底,也就是利用主机号部分继续划分子网。子网可以用“子网掩码”来识别。
例如,我们可以将一个C类地址进行划分子网。也就是:
0 8 16 24 26 31
网 络 号 子网 主机号
将最后8位——原来的主机号,拿出两位用来表示子网,则可以产生两个子网(01和10,由于00代表网络,11代表广播不能用来表示具体的网络),每个子网可包含62个主机(000001 –111110,同样的000000代表网络,111111代表广播被保留)。这样,只要将这两个子网分别赋给图6-14中的左、右两个LAN,问题也就迎刃而解了。值得一提的是,这个时候,子网掩码就不是255.255.255.0(11111111 11111111 11111111 00000000),而应该是255.255.255.192(11111111 11111111 11111111 11000000)。
下面我们一起来看一看,一个C类地址,可以怎样来划分子网以及划分子网后的情况。
表示子网号的位数 划分后的子网掩码 可用子网地址数 子网可用主机数
2位 255.255.255.192 2 62
3位 255.255.255.224 6 30
4位 255.255.255.240 14 14
5位 255.255.255.248 30 6
6位 255.255.255.252 62 2
表6-8 C类地址空间子网划分一览表
大家在从C类地址中划分子网的时候就可以参照这个表来进行。
5) VLSM 可变长子网掩码
虽然子网连网是对互联网的编址的一个有价值的补充,但是它还存在着一个不足:那就是子网一经选定,网络地址将被限制在一个固定的范围内。
假设有一个这样的案例:一个组织有几个相对大的子网,每个子网包括了25台左右的计算机;而又有一些相对较小的子网,每个子网大概只有几台计算机。这种情况下,如果我们采用了子网连网的策略,可以将一个C类地址分成6个子网(每个子网可以包含30台计算机),这样解决了很大的问题。但是出现了一个新的情况,那就是大的子网基本上完全利用了IP地址范围,但是小的子网却造成了许多IP地址的浪费。
为了解决这个新的难题,避免任何的可能避免的IP浪费,就出现了允许应用不同大小的子网掩码来对IP地址空间进行子网划分的解决方案。这种新的方案就叫作可变长子网掩码VLSM。
VLSM用一个十分直观的方法来表示,那就是在IP地址后面加上“/网络号及子网络号编址比特数”来表示。例如:193.168.125.0/27,就表示前27位表示网络号。
6) Ipv6
现在的IP协议的版本号为4,所以也称之为Ipv4。它已经有了20年漫长的历史,为计算机网络互联作出了巨大的贡献。然而,互联网以人们不可想象的速度在膨胀,Ipv4不论从地址空间上,还是协议的可用性上都无法满足互联网的新要求。这样一个新的IP协议开始孕育而生,这个新版本IP协议,早先被称为 IPng,现在一般被叫作Ipv6。
Ipv6的设计要点在于克服Ipv4的地址短缺,无法适应对时间敏感的通信等缺点。值得一说的是,Ipv6将原来的32比特地址扩展成为128位地址,彻底解决了地址缺乏的问题。然而,由于Ipv4的广泛使用,而且充当在重要的角色,一下子升级成新的协议是不大现实的,加上现在也出现了许多在 Ipv4上的改良技术,也使用Ipv4能够应付现在的大部分网络互联要求。当然,随着时间的推移,新一代的 IP协议将取代现有的Ipv4,为网络互联提供一个更稳定、更优秀的协议平台。
2. ARP地址解析协议
IP地址是由人为指定的,它并没有与硬件在物理上一对一联系起来。那么,如何将IP地址与硬件联系起来呢?我们都知道,每一台PC或每一个终端都有一个硬件地址(根据网络类型的不同而不同),只要我们用一种规则将IP地址与硬件地址相对应起来,而在数据链路层的一些设备已经具备使用一个特定的硬件地址进行通信的能力,那么IP地址也就与每一个通信实体一对一联系起来了。
我们将一台计算机的IP地址映射成相对应的硬件地址的过程叫地址解析(address resolution),相应地,这个解析过程的规范被称为地址解析协议(ARP,Address Resolution Protocol)。
在将协议地址(比如IP协议的地址——IP地址)翻译成硬件地址时,使用什么算法呢?不同的协议将采用不同的算法和方案。例如,将IP地址解析成以太网地址的方法与将IP地址解析为ATM地址的方法是不同。大致上可以使用以下三种算法:
1) 查表法(Table lookup)。将地址映射关系存在一个特定的表里,到时用查表的方法来实现地址间的转换;
2) 相近形式计算(Close-form computation)。在分配IP地址时就认真的根据情况挑选,使得每个网络节点的硬件地址可以由它的IP地址通过特定的布尔函数或数学函数计算得到;
3) 消息交换法(Message exchange)。网络各节点通过网络交换消息来完成地址解析,当一个节点发出地址解析请求消息后,同相对应的节点就发送一个带有硬件地址的回应消息。
这三种方法各具特色,下表总结了它们的特点:
特点 查表法 相近形式计算法 消息交换法
适用于任何硬件 Ö
地址变化影响所有主机 Ö
协议地址不依赖于硬件地址 Ö Ö
硬件地址必须小于协议地址 Ö
协议地址由硬件地址决定 Ö
需要硬件广播 Ö
给网络增加了通信量 Ö
最小的延迟时间产生解析结果 Ö Ö
实现比较复杂 Ö
表6-9 地址解析协议特点对比
在TCP/IP中,可以使用以上三种地址解析方法中的任何一种。为一个网络所选的方法依赖于网络底层硬件所使用的编址方案。查表法通常用于广域网,相近形式计算法常用于可配置网络,而消息交换法常用于静态编址的局域网。
正是由于查表法和相近形式计算机法的实现是相对简单的,所以ARP协议中并未对它们做特别的规范,而是对最后一种——消息交换法作了明确的规范。
ARP协议定义了两类基本的消息:
1) 请求信息:包含自己的IP地址、硬件地址和请求解析的IP地址;
2) 应答信息:包含发来的IP地址和对应的硬件地址。
下面,我们看看ARP协议是怎样通过信息交换法来完成地址解析工作的:
图6-15 ARP地址解析过程示意图
1) 假设站点10.0.0.2要与站点10.0.0.4通信,但它并不知道10.0.0.4的硬件地址。
这时,站点10.0.0.2向整个网络发送一个广播——一个ARP地址解析请求。这个地址请求中包含自己的IP地址、硬件地址和请求解析的IP地址:10.0.0.4;
2) 当所有的站点收到来自站点10.0.0.2的地址解析请求广播后,对它要求解析的地址进行判断,看是不是要求解析的IP地址是不是自己的IP地址;
3)站点10.0.0.4判断要求解析的IP地址是自己的IP地址,就将自己的物理地址写在一个应答消息中,根据解析请求消息中的10.0.0.2的硬件地址发送给站点10.0.0.2;这样就完成了一次地址解析过程。
3. ICMP互联网控制消息协议
IP协议旬一种尽力传送的通信协议,也就意味着其中的数据报仍可能丢失、重复、延迟或乱序传递。所以IP协议需要一种尝试避免差错并在发生差错时报告的机制。
TCP/IP协议系列中包含了一个专门用于发送差错报文的协议,这个协议就叫作Internet控制报文协议ICMP(Internet Control Message Protocol),这一协议对一个完全标准的IP是不可或缺的。有趣的是,这两个协议是相互依赖的:IP在需要发送一个差错报文时要使用ICMP,而 ICMP却也是利用IP来传送报文的。
ICMP定议了五种差错报文和四种信息报文。
1) 五种差错报文:
a. 源抑制:发送端的速度太快,以致于时网络速度跟不上时产生;
b. 超时:一个数据包在网络中传输的周期超过一个预定的值时产生;
c. 目的不可达:数据包的目的地无法到达时产生;
d. 重定向:当数据包路由改变时产生;
e. 要求分段:数据包经过的网段无法在一个包中容纳下整个数据包时产生。
2) 四种信息报文:
a. 回应请求
b. 回应应答
c. 地址屏蔽码请求
d. 地址屏蔽码应答
可以这么说,ICMP是让IP更加稳固、有效的一种“贤内助”,它使得IP传送机制变得更加可靠。而且利用ICMP还可以用于测试互联网,以得到一些有用的网络维护和排错的信息。例如著名的ping工具就是利用ICMP报文和进行目标是否可达测试。
4. 其它协议简介
除了以上的协议,还包括了一些相关的协议来辅助完成整个IP传送工作。例如RAPR,反向地址解析协议,用来通过自己的IP来取得自己的硬件地址(主要用于无盘工作站向服务器取得自己的硬件地址)。
值得专门一提的就是路由选择协议,路由器是网络互联的重要设备,,但是由于路由技术是一门复杂的技术,也是相对较高级的技术内容。鉴于本书是介绍网络技术的基础性书籍,在此就不对路由选择协议进行深入的讲解,若读者有兴趣可以查阅相关书籍。
6.4.2 传输控制协议TCP
TCP(Transmission Control Protocol),传输控制协议,是整个TCP/IP协议族中最重要的一个协议。它实现了一个看起来不太可能的事情:它在IP协议提供的不可靠数据服务的基础上,为应用程序提供了一个可靠的数据传输服务。
程序员在编写应用程序的时候,总是有这样的一个假设,那就是认为计算机系统是可靠的。例如,在应用程序中要编写一个向某个输入输出设备(如打印机)发送数据时,应用会直接将数据写到设备上,而不去验证数据是否正确地到达设备。事实上,计算机系统的可靠性完全达到了这样的要求。
而如果网络是基于IP协议这样一个不可靠的传输服务的基础上,那么程序员就必须在代码中自己去验证数据是否正确到达了,这将造成一个不可想象的工作量增大。而 TCP协议却有效地完成了这个工作,这样使用程序员在使用互联网资源时仍可以采用常规的技术,完全不必却担心可靠性问题。
TCP协议是怎样实现可靠性的呢?这可是一个十分复杂的问题。但说到底,最重要的是TCP采用了一个叫重发(retransmission)的技术。具体来说,就是 TCP发送数据时,发送方通过一种重发方案来被偿包的丢失,而且通信双方都要参与。在TCP传输过程中,发送方启动一个定时器,然后将数据包发出,当接收方收到了这个信息就给发送方一个确认(acknowledgement)。而如果发送方在定时器到点之前没收到这个确认,就重新发送这个数据包。下面是一个TCP重发的示意图:
TCP的重发方案是它获得成功的关键,因为它处理了在一个任意互联网上的及允许多个应用程序并发地进行通信。例如,一个应用能够通过卫星频道向另一个国家的某台计算机发送数据。与此同时,另一个应用正通过局域网向隔壁房间的某台计算机发送数据。TCP必须准备为任何一个连接中出现的丢失消息进行重发。并且由于一个局域网中TCP不应该在重发之前等待过久。然而,对一个长距离的卫星连接来说,就应该有更长的重发等待时间。相对应的,TCP分门别类地对不同链路进行了不同的处理,以适应它们的特点。
总的来说,传输控制协议(TCP)作为TCP/IP协议族中最主要的协议之一,它为应用程序直接提供了一个可靠的、可流控的、全双工的流传输服务。在请求TCP建立一个连接之后,一个应用程序能使用这一连接发送和接收数据。TCP确保它们按序无错传递。最终,当两个应用结束使用一个连接时,它们请求终止连接。
除此之外,由于一个互联网迅速随着时间推移而不断变化,因此TCP的重发超时必须具有适应性。在具体实现中,TCP协议是使用了缓冲、流控、窗口和拥塞控制等一系列机制来实现。有趣的读者可以专门阅读关于这方面的文献。
6.4.3 用户数据报协议UDP
与TCP协议相对应的是UDP(User Datagram Protocol),用户数据报协议。UDP是一个简单的协议,它并没有显著地增加IP层的功能和语义。这为应用程序提供了一个不可靠、无连接的分组传输服务服务。因此,UDP传输协议的报文可能会出现丢失、重复、延迟以及乱序的错误,使用UDP进行通信的程序就必须负责处理这些问题。换句话说,就是采用 UDP传输协议其实就无法避免前一上节提到的无可思议的工作量增加。
既然UDP有这样的缺点,那么它为什么还有存在的必要呢?其实,世界上有许多问题都是十分矛盾的,TCP协议虽然提供了一个可靠的数据传输服务,但是它是以牺牲通信量来实现的。也就是说,为以完成一个同样的任务, TCP会需要更多的时间和通信量。这在网络不可靠的时候,牺牲一些时间换来可靠是值得的,但当网络十分可靠的情况下,TCP又成为了浪费带宽的“罪魁祸首”,这时UDP则以十分小的通信量浪费占据优势。
另外,在某些情况下,每个数据的传输可靠性并不是十分重要,重要的却是整个网络的传输速度。例如语音传输,如果其中的一个包丢失了,重发也没有,因为这个语音数据已经是失效的,谁能想象一个你先听到一分钟后的话音,再听到一分钟前的话音的通信。
所以,UDP的存在是顺应一些特定的数据传输需要的。
6.4.4 高层协议
TCP与IP协议为计算机网络提供了一个端到端通信的能力。而计算机网络的价值并不在计算机网络的本身而是构建在它上面的各种各样的应用系统。
计算机网络的广泛应用,人们也已经有了许多相同的基本的应用需求。为了让不同平台的计算机能够通过计算机网络获得一些基本的相同的服务,也就应运而生了一系列应用级的标准,实现这些应用的标准的专用协议被称为应用级协议,相对于OSI参考模型来说,它们处于较高的层次结构,所以也称为高层协议。
下面我们一起来看一些广泛应用的协议。
1. DNS域名服务
在用TCP/IP协议族架设的网络中,每一个节点都有一个唯一的IP地址,用来作为它们唯一的标志。然而,如果让使用者来记住这些毫无记忆规律的IP地址将是不可想象的。人们就需要一种有记忆规律的字符串来作为唯一标记节点的名字。
然而,虽然符号名对于人来说是极为方便的,但是在计算机上实现却不是那么方便的。为了解决这个需求,应运而生了一个域名服务系统DNS,它运行在 TCP 协议之上,负责将字符名——域名转换成实际相对应的IP地址。这样,它就在不改变底层协议的寻址方法的基础上为使用者提供一个直接使用符号名来确定主机的平台。经过了十余年的发展完善,DNS已经成为了一套成熟的机制,广泛地应用于Internet,为成千上万的人服务。
1) 域名的组织结构
在域名的组织上,每台计算机的域名由一系列用“.”隔开的字母或数据构成的段组成。
例如厦门市电信局的Web服务器的域名为:www.xm.fj.cn。域名是有层次的,域名?..晔端舻淖橹?/a>
一个域名可以由几个段组成,它们是怎样被赋值的呢?由InterNIC(域名分配机构)规定最高域的选择方法,然后由逐层的组织自己确定剩下的部分。
表6-10 域名组织结构
域名 应用于
com 商业组织
edu 教育结构
gov 政府组织
mil 军事组织
net 主要网络支持中心
org 上述以外的组织
arpa 临时ARPA域
int 国际组织
国家代码 国家
比如说,上面举过的一个例子:www.xm.fj.cn,首先,InterNIC已经将C...遣磺执笮⌒础?/a>
除了以上讲述的名字语法规则和管理机构的设立,域名系统中还包括一个高效、可靠、通用的分布式系统用于名字到地址的映射。将域名映射到IP地址的机制由若干个为称为名字服务器(name server)的独立、协作的系统组成。要理解域名服务器的工作原理最简单的方法就是将它们放置在与命名等级对应的树形结构中,如下图所示。
图6-17 名字服务器分布情况
树的根是识别顶层域的服务器。在下一级的一组服务器都可为顶层域提供回答结果。而这一级的服务器知道哪一个服务器可解析它所在域下的某个子域。在树的第三级,名字服务器为子域提供回答结果。这种概念树继续在子域定义的每一级都有一个服务器。
上面抽象的一段,也许说得大家是云里来雾里去了,下面我们就举个实际的例子来说明。比如有一台连接在互联网上的一台计算机要寻找www.xm.fj.cn这台服务器,但不知道它的IP地址。这时:
a. 它首先将这个域名解析请求发给根服务器;
b. 根服务器接到解析请求后,根据域名而向子域.cn服务器提问;
c. .cn服务器将向子域fj服务器提问;
d. fj服务器将向子域 xm服务器提问;
e. xm服务器将结果告诉fj服务器,依次上传至根服务器;
f. 最后,根服务器将解析结果回答给域名解析请求方。
当然,这是一种最基本的概念模型,如果现在还完全按这种方法的话,巨大数量的主机名将使得根服务器陷入无限繁忙,而造成解析服务的失效。这时域名系统则采用了象高速缓冲等一系列的新技术在此基础上改善了整个解析效率。在此就不再详述。
2. WWW万维网服务
提到互联网的使用,就一定会联想到大名鼎鼎的万维网服务(WWW,World Wide Web)。它是一个大规模、在线式的信息储藏所,用户可以通过一个被称为浏览器的交互式应用程序来查找他所要的信息。
从技术上说,WWW是一个支持交互式访问的分布式超媒体系统。超媒体系统直接扩充了传统的超文本系统。在这两个系统中,信息被作为一个文档集而存储起来,除了基本的信息外,还包含有指向集中其它文档的。
WEB文档用超文本排版语言(HTML)来撰写。除了文本外,文档还包括指定文档版面与格式的标签。在页面中可以包含图形、音频、视频等各种多媒体信息。
可以这么说,WEB服务已经成为一种最佳的信息发布媒体,在许多著名的人士都认识到它的重要性,甚至可以认为,WEB服务是继报纸、广播、电视之后的新一代媒体。而且它以它独有的快捷有效、传播范围广的特征席卷全球。
3. E-Mail电子邮件服务
作为当今互联网中最大的应用的E-MAIL服务,最初是被设计为传统的办公室备忘录的简单扩展。像办公室备忘录一样,电子邮件信息由一个人创建,副本发送给其他人。也像办公室备忘录一样,电子邮件被设计成既方便,又不比普通通信开销大。
功能强大、使用简单的E-MAIL服务受到了大家的好评,以致于许多用户在发送电子邮件到远地网点或从远地网点接收到电子邮件成为他们认识计算机网络的第一步。
整个电子邮件系统主要是由那些遍布在各地的E-MAIL服务器来提供的。举个例子,我在厦门申请了一个E-MAIL帐户,我就获得了一个E-MAIL 地址和在厦门E-MAIL服务器上一个暂存硬盘邮件的空间。而我的朋友则在广州申请了一个E-MAIL帐户,同时它也就获得了一个E-MAIL地址和在广州 E-MAIL服务器上的一个暂存邮件的硬盘空间。这样我们之间就可以用电子邮件来交流了。当我给朋友发电子邮件的时候,就象传统寄信的方法一样,先在收件人上写上他的地址,当然这里是E-MAIL地址。然后写完正文,就可以利用网络给他发送出去了。这封电子邮件首先从我的电脑发到厦门的E-MAIL服务器,然后,厦门的E-MAIL服务器根据收件人的E-MAIL地址,将这封信原样发送给广州的E-MAIL服务器。这时我的朋友有没有开机的话都没有关系,因为这封发给他的电子邮件已经存在广州E-MAIL服务器中属于他的空间里,他随时可以从广州E-MAIL服务器中收到我给他的电子邮件。
现在,许多公司、团体甚至个人都已经架设了自己的邮件服务器,也就是自己开了一个电子“邮局”。这样,电子邮件更是人们相互交流的好工具了。加上新近出现的一些E-MAIL转传呼,E-MAIL传手机等一系列服务,必将把电子邮件服务推到更多人的面前。电子邮件将成为人们相互沟通时不可缺少的一种工具。
说了这么多,举个E-MAIL地址给大家看一看:xufeng@xminfoport.com,整个E-MAIL地址由两部分组成,中间用一个“@“符分隔开。前一个部分是用户的名字,后一个部分是E-MAIL服务器的名字。如本例:xufeng就是代表我的用户名,xminfoport.com就是我在的公司的域名。这个E-MAIL就是我所在公司给我分配的。有空给我发E-MAIL吧!
4. FTP文件传输服务
在网络出现以前,当人们需要在不同的计算机之间进行数据传输的时候,唯一可以借助的工具是诸如磁带、磁盘之类的磁介质。在一台计算机中将数据写入磁介质,然后将磁介质人为地拿到另一台计算机,再将其中的数据来。如果是长距离的交换,还需要将这个磁介质通过邮寄等方式来传送。当人们使用网络来传输数据的时候,才觉得这种方法是多少的低效。
现在在Internet上使用最广泛的文件传输协议(FTP,File Transfer Protocol)。FTP允许传输任意文件,并且允许文件具有所有权与访问权限。(也就是说,你可以指定哪些人能访问你的哪些文件,甚至不能访问)还有一个很重要的功能就是,它允许你在IBM PC与Macintosh之间进行文件传输,这是一个多么激动人心的事呀!
基于FTP协议,你可以架设一台专门供人们上传或下载文件的FTP文件服务器,你还可以根据这些文件的性质来对不同用户进行授权:将一些你认为可以公开的内容开放给一些匿名用户(也就是任何人),将一些不可以公开的内容,根据你的实际情况给具备有用户名和密码字的用户。
文件传输服务提供了将整个文件副本从一台计算机传送到另一台计算机的功能,它日益成为许多计算机用户应用程序交流的好方法。正在这个原因,FTP服务也是一种应用极为广泛服务之一。 TCP/IP协议族中包括两种文件传输服务:FTP和TFTP。FTP功能更强,它支持面向命令的交互界面,从而允许用户列。另外,TFTP是使用UDP 协议进行实际的数据传输,而FTP则是使用TCP协议进行实际的数据传输。
5. TELNET远程登录服务
在 TCP/IP协议族中还包括了一个简单远程终端协议——TELNET。TELNET允许某个网点上的用户与另一个网点上的登录服务器(提供TELNET服务的服务器)建立TCP连接。TELNET然后将用户键盘上的键入直接传递到远地计算机,好像用户是在连远地机器的本地键盘上操作一样。TELNET也将远地机器的输出送回到用户屏幕上。这种服务称为“透明”服务,因为它给人的感觉好像用户键盘和显示器是直接连在远地机器上的一样。
图6-18 TELNET远程终端协议原理图
TELNET服务广泛应用于远程维护中,它使得维护一台远地的机器并不一定要在机器的面前,而是只要通过网络,用TELNET远程登录进行相应的维护工作,当然有时这也成为了网络安全中的一个缺口。
6.5 小结
在本文中,笔者简单地对网络协议作了一个全局的、轻描淡写的叙述,就洋洋洒洒2万多字的篇幅。这也正是意味着计算机网络协议的复杂性,现在在全世界也的确有着许多成功应用的协议,而且随着计算机网络的不断发展,还会有许多新兴在协议出现。而网络协议又是一个十分核心的内容。所以,有志于在计算机网络领域发展的读者可得有功啊!
而且,上面介绍的所有网络协议都是源于美国,所以他们在网络技术上处于绝对领先的地位,我们在学习这些技术的同时,应该基于创新的思想去学习。也许有一天,中国人制定的网络协议也获得广泛的应用。
|
![](images/common/sigline.gif)
天理路上甚宽,稍游心,胸中便觉广大宏朗;
人欲路上甚窄,才寄迹,眼前俱是荆棘泥涂。
网普科技,优质美国主机服务!
美国Linux主机,美国虚拟主机
支持PHP+MYSQL+cPanel+EMAIL
为用户负责,拒绝反动、赌博及色情内容! QQ:126818
发送QQ消息 |
|