人生亦编程

--Programmable Life
posts - 86, comments - 43, trackbacks - 0, articles - 7

协议的定义及意义

Posted on 2006-07-21 12:45 人生亦编程 阅读(368) 评论(0)  编辑 收藏 引用 所属分类: 程序

如何定义网络协议,它有哪些意义?
    协议是对网络中设备以何种方式交换信息的一系列规定的组合,它对信息交换的速率、传输代码、代码结构、传输控制步骤、出错控制等许多参数作出定义。

  网络是一个相互联结的大群体,因此要想加入到这个群体中来,就不能随心所欲,任由兴之所发。就好象一个国家或一个种族拥有自己的语言,大家都必须通晓并凭借这种语言来对话一样,相互联结的网络中各个节点也需要拥有共同的“语言”,依据它所定义的规则来控制数据的传递,这种语言便是大家经常听说的 “协议”。协议是对网络中设备以何种方式交换信息的一系列规定的组合,它对信息交换的速率、传输代码、代码结构、传输控制步骤、出错控制等许多参数作出定义。

  对网络始入门者来说,纷繁复杂的协议常常让人头痛不已—这些协议各起什么作用?它们之间又有什么联系?为什么有了A协议还需要补充B协议?这些问题搞不清楚,往往成为进一步学习的障碍。其实这个问题应该这样理解:是先有了各种不同语言的民族,后来随着社会的发展,才有了不同民族间交流的需求。网络也是这样,最初人们在小范围内建立网络,只需要自己作一些简单的约定,保证这一有限范围内的用户遵守就可以了;到后来网络规模越来越大,才考虑到制定更严格的规章制度即协议;而为了实现多个不同网络的互联,又会增加不少新协议作为补充,或成长为统一的新标准。

  数据在网络中由源传输到目的地,需要一系列的加工处理,为了便于理解,我们这里不妨打个比喻。如果我们把数据比做巧克力:我们可以把加工巧克力的设备作为源,而把消费者的手作为目的来看看会有什么样的传输过程。巧克力厂通常会为每块巧克力外边加上一层包装,然后还会将若干巧克力装入一个巧克力盒,再把几个巧克力盒一起装入一个外包装,运输公司还会把许多箱巧克力装入一个集装箱,到达消费者所在的城市后,又会由运输商、批发商、零售商、消费者打开不同的包装层。不同层次的包装、解包装需要不同的规范和设备,计算机网络也同样有不同的封装、传输层面,为此国际标准化组织ISO于1978 年提出“开放系统互连参考模型”,即著名的OSI(Open System Interconnection)七层模型,它将是我们后续篇幅中要介绍的内容,这里先不展开论述。 网络的协议就是用作这些不同的网络层的行为规范的。网络在发展过程中形成了很多不同的协议族,每一协议族都在网络的各层对应有相应的协议,其中作为Internet规范的是ICP/IP协议族,这也是我们今天要讲的。

TCP/IP协议的定义以及层次、功能

什么是TCP/IP协议,划为几层,各有什么功能?
  TCP/IP协议族包含了很多功能各异的子协议。为此我们也利用上文所述的分层的方式来剖析它的结构。TCP/IP层次模型共分为四层:应用层、传输层、网络层、数据链路层。

TCP/IP网络协议
  TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网间网协议)是目前世界上应用最为广泛的协议,它的流行与Internet的迅猛发展密切相关—TCP/IP最初是为互联网的原型ARPANET所设计的,目的是提供一整套方便实用、能应用于多种网络上的协议,事实证明TCP/IP做到了这一点,它使网络互联变得容易起来,并且使越来越多的网络加入其中,成为Internet的事实标准。

* 应用层—应用层是所有用户所面向的应用程序的统称。ICP/IP协议族在这一层面有着很多协议来支持不同的应用,许多大家所熟悉的基于Internet的应用的实现就离不开这些协议。如我们进行万维网(WWW)访问用到了HTTP协议、文件传输用FTP协议、电子邮件发送用SMTP、域名的解析用DNS协议、 远程登录用Telnet协议等等,都是属于TCP/IP应用层的;就用户而言,看到的是由一个个软件所构筑的大多为图形化的操作界面,而实际后台运行的便是上述协议。

* 传输层—这一层的的功能主要是提供应用程序间的通信,TCP/IP协议族在这一层的协议有TCP和UDP

* 网络层—是TCP/IP协议族中非常关键的一层,主要定义了IP地址格式,从而能够使得不同应用类型的数据在Internet上通畅地传输,IP协议就是一个网络层协议。

* 网络接口层—这是TCP/IP软件的最低层,负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。

1.TCP/UDP协议
  TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

IP协议的定义、IP地址的分类及特点

什么是IP协议,IP地址如何表示,分为几类,各有什么特点?
  为了便于寻址和层次化地构造网络,IP地址被分为A、B、C、D、E五类,商业应用中只用到A、B、C三类。

  IP协议(Internet Protocol)又称互联网协议,是支持网间互连的数据报协议,它与TCP协议(传输控制协议)一起构成了TCP/IP协议族的核心。它提供网间连接的完善功能, 包括IP数据报规定互连网络范围内的IP地址格式。

  Internet 上,为了实现连接到互联网上的结点之间的通信,必须为每个结点(入网的计算机)分配一个地址,并且应当保证这个地址是全网唯一的,这便是IP地址。

  目前的IP地址(IPv4:IP第4版本)由32个二进制位表示,每8位二进制数为一个整数,中间由小数点间隔,如159.226.41.98,整个IP地址空间有4组8位二进制数,由表示主机所在的网络的地址(类似部队的编号)以及主机在该网络中的标识(如同士兵在该部队的编号)共同组成。

  为了便于寻址和层次化的构造网络,IP地址被分为A、B、C、D、E五类,商业应用中只用到A、B、C三类。

* A类地址:A类地址的网络标识由第一组8位二进制数表示,网络中的主机标识占3组8位二进制数,A类地址的特点是网络标识的第一位二进制数取值必须为“0”。不难算出,A类地址允许有126个网段,每个网络大约允许有1670万台主机,通常分配给拥有大量主机的网络(如主干网)。

* B类地址:B类地址的网络标识由前两组8位二进制数表示,网络中的主机标识占两组8位二进制数,B类地址的特点是网络标识的前两位二进制数取值必须为“10”。B类地址允许有16384个网段,每个网络允许有65533台主机,适用于结点比较多的网络(如区域网)。

* C类地址:C类地址的网络标识由前3组8位二进制数表示,网络中主机标识占1组8位二进制数,C类地址的特点是网络标识的前3位二进制数取值必须为“110”。具有C类地址的网络允许有254台主机,适用于结点比较少的网络(如校园网)。

  为了便于记忆,通常习惯采用4个十进制数来表示一个IP地址,十进制数之间采用句点“.”予以分隔。这种IP地址的表示方法也被称为点分十进制法。如以这种方式表示,A类网络的IP地址范围为1.0.0.1-127.255.255.254;B类网络的IP地址范围为:128.1.0.1-191.255.255.254;C类网络的IP地址范围为:192.0.1.1-223.255.255.254。

  由于网络地址紧张、主机地址相对过剩,采取子网掩码的方式来指定网段号。

  TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点。正因为如此 ,它能广泛地支持由低两层协议构成的物理网络结构。目前已使用TCP/IP连接成洲际网、全国网与跨地区网。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理