几种安全的网络传输协议

几种安全的网络传输协议

·从URL谈起(可以直接跳到第4页看FTPS,HTTPS)

当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,这个网站地址,术语叫做URL(Uniform Resource Locator),译成中文即“统一资源定位符”。就像每家每户都有一个门牌地址一样,每个网页也都有一个互联网地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。

·超文本传输协议HTTP

大家一定注意到,在输入网站地址时,http://这一部分通常不用输入,系统软件会自动补上,所有网页地址都少不了它。那么,http 究竟是个什么含义呢?

HTTP 是“超文本传输协议(Hypertext Transfer Protocol)”的意思。

简单地讲,HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。

它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以http://开头的原因。

基于HTTP协议的通讯的基本工作过程如下:

由于HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息,包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

在互联网上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP 80,但其它的端口也是可用的。HTTP只预示着一个可靠的传输。它并不特别指明网络传输媒介,HTTP传输可以在互联网上完成,也可以在其它网络的其它协议之上完成。

在WWW中,“客户机”与”服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户机在另一个连接中可能作为服务器。基于HTTP协议的客户机/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。

任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求。你的浏览器是HTTP客户机,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。服务器的驻留程序接收到请求,在进行必要的操作后回送所要求的文件。在这一过程中,根据TCP/IP协议的规定,在网络上发送和接收的数据被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP协议决定了每个数据包的格式。传输完成后的这些数据包再重新组合,还原为数据信息。从网络层次模型的角度讲,HTTP协议以及下面将要讲述的几种互联网传输协议都属于TCP/IP模型最上层的应用层协议。

·文件传输协议FTP

以上介绍的HTTP协议主要是用于网页传输。下面,我们再介绍另一种很常见的网络传输应用层协议FTP。FTP(File Transfer Protocal),是文件传输协议的简称,主要功能是完成从一个系统到另一个系统完整的文件拷贝。同时,它也是一个应用程序。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。 正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。

在FTP的使用当中,用户经常遇到两个概念:“下载”(Download)和“上载”(Upload)。“下载”文件就是从远程主机拷贝文件至自己的计算机上;“上载”文件就是将文件从自己的计算机中拷贝至远程主机上。用互联网语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。

FTP工作原理如下:

与大多数互联网服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户机与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。 PORT(主动)方式的连接过程是:客户机向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户机在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户机的XXXX端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的不同点在于:当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户机向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

两种方式的命令链路连接方法是一样的。

FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。

那么,FTP协议的必要性究竟是什么呢?

一般来说,用户联网的首要目的就是实现信息共享,我们知道互联网是一个非常复杂的计算机环境,有PC,有工作站,有小型机,有大型机,据统计连接在互联网上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等。各种操作系统之间的文件交流问题,如果没有一个统一的文件传输协议,就会变得非常困难。而FTP就是一个统一的文件传输协议。虽然基于不同的操作系统有不同的FTP应用程序,但只要所有这些应用程序都遵守同一种协议,用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。

在所有的互联网协议中,FTP协议是个相对古老的协议,它的第1版(RFC172)公布于19xx年,甚至早于TCP/IP的诞生。随着技术的不断发展,FTP协议已经更新了很多次,19xx年公布的FTP(RFC 959)是目前各项定义的基础。从那时以后,还有多次其他标准的发布,为FTP的功能扩展提供了补充。下面就是一个例子——

·FTP的匿名机制

使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上载或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了互联网的开放性,互联网上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。

FTP支持匿名机制。用户可通过匿名FTP机制连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous(意匿名),互联网上的任何人在任何地方都可使用该用户ID。

通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous。该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。

值得注意的是,匿名FTP不适用于所有互联网主机,它只适用于那些提供了这项服务的主机。

当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上载文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上载文件,用户也只能将文件上载至某一指定上载目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上载有问题的文件,如带病毒的文件。

作为一个互联网用户,可通过FTP在任何两台互联网主机之间拷贝文件。互联网上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。这是互联网吸引我们的重要原因之一。

匿名FTP是互联网网上发布软件的常用方法。互联网之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。像这样的程序,有许多就是通过匿名FTP发布的,任何人都可以存取它们。

互联网中的有数目巨大的匿名FTP主机以及更多的文件,那么到底怎样才能知道某一特定文件位于哪个匿名FTP主机上的哪个目录中呢?这正是ARCHIE服务器所要完成的工作。在Internet 上有许多ARCHIE服务器,用户可以通过Telnet方式登录到ARCHIE服务器上,用户只需提供所要查找的文件名,ARCHIE服务器就能找到该文件所在的FTP服务器及所在路径并将查询结果通知用户,使你可以直接找到所需文件的位置信息。

为了实现文件传输,用户还要运行专门的文件传输程序,比如网际快车就有这方面的功能,其它还有很多专门的FTP传输软件,各有各的特色。

·远程登录服务协议Telnet

上文曾提到,用户可以通过Telnet方式登录到ARCHIE服务器上。那么Telnet又是什么东西呢?Telnet最早是由ARPANET开发的Internet的登录和仿真程序。它的基本功能是,允许用户登录进入远程主机系统。通过远程登录,我们允许用户在远地机器上建立一个登录会话,然后通过执行命令来实现更一般的服务,就像在本地操作一样。这样,我们便可以访问远地系统上所有可用的命令,并且系统设计员不需提供多个专用的服务器程序。

但为了使多个操作系统间的Telnet交互操作成为可能,就必须详细了解异构计算机和操

作系统,给设计人员带来极大的不便。因此,需要制定一个这方面的标准来解决这个问题,这个标准就是远程登录服务协议Telnet。

Telnet协议是TCP/IP协议族中的一员,应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:

1)Telnet定义一个网络虚拟终端为远地系统提供一个标准接口。客户机程序不必详细了解远地系统,他们只需构造使用标准接口的程序;

2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;

3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

然而事情总是具有两重性的,Telnet在为用户提供远程登录服务的同时,也为黑客侵入服务器系统提供了方便。因此,在WindowsNT操作系统提供的Telnet服务中设置了安全认证机制,即NTLM(WindowsNT LAN Manager)。这是一种基于挑战/响应验证的机制。其工作流程是这样的:

1、客户端首先在本地加密当前用户的密码成为密码散列;

2、客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输;

3、服务器产生一个16位的随机数字发送给客户端,作为一个 challenge(挑战);

4、客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response(响应);

5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器;

6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge;

7、域控制器比较两次加密的 challenge ,如果一样,那么认证成功。

·几种安全的网络传输协议

1)FTPS

我们知道, FTP协议和HTTP、SMTP以及其他一些互联网应用协议一样,其诞生时间要早于SSL安全协议。这就难怪,这些协议在设计中没有考虑多少安全性的问题。因为FTP协议使用明文的用户名和密码口令,被传输的数据也是明文,所以FTP的命令、和被传输的文件有被黑客窃取的风险。为了解决这个问题,许多人开始想法把FTP的标准交易信息放到一个被加密的通道中来传输。而这正是FTPS协议的主要宗旨。

有人把FTPS解释为“安全文件传输协议”,这是望文生义,并不准确,准确的中文译名为“在SSL之上的文件传输协议”,即“FTP over SSL”。

FTPS协议在它的下层使用了SSL/TLS 传输层协议,可以对控制信息和数据通道进行加密。FTPS可以有多种使用方法,最常见的模法称为显式FTPS(Explicit FTPS)。在显式FTPS的模式下,客户与服务器的端口21相连接,并且启动一个普通的非加密的FTP会话,然后,客户请求TLS(Trasport Layer Security)传输层安全机制——进行SSL/TLS协议规定的握手、数字证书认证、建立加密的命令通道和数据通道。通道建立后,任何敏感的数据就可以在命令/数据通道中被加密而传输了。(有关SSL/TLS认证和加密的详细内容请参看《晨曦》20xx年12期文章“SSL协议及其应用”。)

FTPS仅仅是FTP协议的一个扩展,因而它得到大部分服务器的支持,并且由于它和FTP使用同一个端口,在用户的防火墙上就没有必要再开另外的端口了。

另一种替代FTPS的协议是安全文件传输协议(SFTP)。这个协议使用SSH文件传输协议加密从

客户机到服务器的FTP连接

2)HTTPS

有了FTPS的概念,HTTPS 的概念即可触类旁通。

HTTPS协议是由Netscape公司开发的,该公司在其浏览器中预置了相应的应用程序。与FTPS一样,HTTPS也采用了SSL协议作为HTTP应用层的下层协议。其工作原理也十分类似。HTTPS使用端口443,而不是象HTTP那样使用端口80来进行通信。SSL使用40 位或128位密钥,采用RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证。在HTTP与TCP之间存在一个加密/身份验证层。

HTTPS简单讲是HTTP的安全版。HTTPS的安全基础是SSL, HTTPS协议更适合于电子商务的站点,被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

除了FTPS、HTTPS之外,还有更多的安全的网络传输协议,如SCP、SFTP等,使用了另外的安全机制,其应用不如上面两种广泛。

 

第二篇:几种常用的网络协议

几种常用的网络协议

几种常用的网络协议

一、OSI模型

名称 层次 功能

物理层 1 实现计算机系统与网络间的物理连接

数据链路层 2 进行数据打包与解包,形成信息帧

网络层 3 提供数据通过的路由

传输层 4 提供传输顺序信息与响应

会话层 5 建立和中止连接

表示层 6 数据转换、确认数据格式

应用层 7 提供用户程序接口

二、协议层次

网络中常用协议以及层次关系

几种常用的网络协议

1、 进程/应用程的协议

平时最广泛的协议,这一层的每个协议都由客程序和服务程序两部分组成。程序通过服务器与客户机交互来工作。常见协议有:Telnet、FTP、SMTP、HTTP、DNS等。

2、 主机—主机层协议

建立并且维护连接,用于保证主机间数据传输的安全性。这一层主要有两个协议: TCP(Transmission Control Protocol:传输控制协议;面向连接,可靠传输 UDP(User Datagram Protocol):用户数据报协议;面向无连接,不可靠传输

3、 Internet层协议

负责数据的传输,在不同网络和系统间寻找路由,分段和重组数据报文,另外还有设备寻址。些层包括如下协议:

IP(Internet Protocol):Internet协议,负责TCP/IP主机间提供数据报服务,进行数据封装并产生协议头,TCP与UDP协议的基础。

ICMP(Internet Control Message Protocol):Internet控制报文协议。ICMP协议其实是IP协议的的附属协议,IP协议用它来与其它主机或路由器交换错误报文和其它的一些网络情况,在ICMP包中携带了控制信息和故障恢复信息。 ARP(Address Resolution Protocol)协议:地址解析协议。

RARP(Reverse Address Resolution Protocol):逆向地址解析协议。

OSI 全称(Open System Interconnection)网络的OSI七层结构20xx年03月28日 星期五 14:18(1)物理层——Physical

这是整个OSI参考模型的最低层,它的任务就是提供网络的物理连接。所以,物理层是建立在物理介质上(而不是逻辑上的协议和会话),它提供的是机械和电气接口。主要包括电缆、物理端口和附属设备,如双绞线、同轴电缆、接线设备(如网卡等)、RJ-45接口、串口和并口等在网络中都是工作在这个层次的。

物理层提供的服务包括:物理连接、物理服务数据单元顺序化(接收物理实体收到的比特顺序,与发送物理实体所发送的比特顺序相同)和数据电路标识。

(2)数据链路层——DataLink

数据链路层是建立在物理传输能力的基础上,以帧为单位传输数据,它的主要任务就是进行数据封装和数据链接的建立。封装的数据信息中,地址段含有发送节点和接收节点的地址,控制段用来表示数据连接帧的类型,数据段包含实际要传输的数据,差错控制段用来检测传输中帧出现的错误。

数据链路层可使用的协议有SLIP、PPP、X.25和帧中继等。常见的集线器和低档的交换机网络设备都是工作在这个层次上,Modem之类的拨号设备也是。工作在这个层次上的交换机俗称“第二层交换机”。

具体讲,数据链路层的功能包括:数据链路连接的建立与释放、构成数据链路数据单元、数据链路连接的分裂、定界与同步、顺序和流量控制和差错的检测和恢复等方面。

(3)网络层——Network

网络层属于OSI中的较高层次了,从它的名字可以看出,它解决的是网络与网络之间,即网际的通信问题,而不是同一网段内部的事。网络层的主要功能即是提供路由,即选择到达目标主机的最佳路径,并沿该路径传送数据包。除此之外,网络层还要能够消除网络拥挤,具有流量控制和拥挤控制的能力。网络边界中的路由器就工作在这个层次上,现在较高档的交换机也可直接工作在这个层次上,因此它们也提供了路由功能,俗称“第三层交换机”。

网络层的功能包括:建立和拆除网络连接、路径选择和中继、网络连接多路复用、分段和组块、服务选择和流量控制。

(4)传输层——Transport

传输层解决的是数据在网络之间的传输质量问题,它属于较高层次。传输层用于提高网络层服务质量,提供可靠的端到端的数据传输,如常说的QoS就是这一层的主要服务。这一层主要涉及的是网络传输协议,它提供的是一套网络数据传输标准,如TCP协议。

传输层的功能包括:映像传输地址到网络地址、多路复用与分割、传输连接的建立与释放、分段与重新组装、组块与分块。

根据传输层所提供服务的主要性质,传输层服务可分为以下三大类:

A类:网络连接具有可接受的差错率和可接受的故障通知率(网络连接断开和复位发生的比率),A类服务是可靠的网络服务,一般指虚电路服务。

C类:网络连接具有不可接受的差错率,C类的服务质量最差,提供数据报服务或无线电分组交换网均属此类。

B类:网络连接具有可接受的差错率和不可接受的故障通知率,B类服务介于A类与C类之间,在广域网和互联网多是提供B类服务。

网络服务质量的划分是以用户要求为依据的。若用户要求比较高,则一个网络可能归于C型,反之,则一个网络可能归于B型甚至A型。例如,对于某个电子邮件系统来说,每周丢失一个分组的网络也许可算作A型;而同一个网络对银行系统来说则只能算作C型了。

(5)会话层——Senssion

会话层利用传输层来提供会话服务,会话可能是一个用户通过网络登录到一个主机,或一个正在建立的用于传输文件的会话。

会话层的功能主要有:会话连接到传输连接的映射、数据传送、会话连接的恢复和释放、会话管理、令牌管理和活动管理。

(6)表示层——Presentation

表示层用于数据管理的表示方式,如用于文本文件的ASCII和EBCDIC,用于表示数字的1S或2S补码表示形式。如果通信双方用不同的数据表示方法,他们就不能互相理解。表示层就是用于屏蔽这种不同之处。

表示层的功能主要有:数据语法转换、语法表示、表示连接管理、数据加密和数据压缩。

(7)应用层——Application

这是OSI参考模型的最高层,它解决的也是最高层次,即程序应用过程中的问题,它直接面对用户的具体应用。应用层包含用户应用程序执行通信任务所需要的协议和功能,如电子邮件和文件传输等,在这一层中TCP/IP协议中的FTP、SMTP、POP等协议得到了充分应用。

SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

SNMP的体系结构是围绕着以下四个概念和目标进行设计的:保持管理代理(agent)的软件成本尽可能低;最大限度地保持远程管理的功能,以便充分利用Internet的网络资源;体系结构必须有扩充的余地;保持SNMP的独立性,不依赖于具体的计

算机、网关和网络传输协议。在最近的改进中,又加入了保证SNMP体系本身安全性的目标。

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous

system,AS)内决策路由。与RIP相对,OSPF是链路状态路由协议,而RIP是距离向量路由协议。

RIP(Routing information Protocol)是应用较早、使用较普遍的内部网关协议(Interior Gateway Protocol,简称IGP),适用于小型同类网络,是典型的距离向量(distance-vector)协议。文档见RFC1058、RFC1723。

RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。如果到相同目标有二个不等速或不同带宽的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达

CSMA/CD(Carrier Sense Multiple Access/Collision Detect)

即载波监听多路访问/冲突检测方法

一、基础篇:

是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。 CSMA/CD控制方式的优点是:

原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。 CSMA/CD应用在 ISO7层里的数据链路层

它的工作原理是: 发送数据前 先监听信道是否空闲 ,若空闲 则立即发送数据.在发送数据时,边发送边继续监听.若监听到冲突,则立即停止发送数据.等待一段随即时间,再重新尝试.

二、进阶篇:

CSMA/CD控制规程:

控制规程的核心问题:解决在公共通道上以广播方式传送数据中可能出现的问题(主要是数据碰撞问题)

控制过程包含四个处理内容:侦听、发送、检测、冲突处理

(1) 侦听:

通过专门的检测机构,在站点准备发送前先侦听一下总线上是否有数据正在传送(线路是否忙)?

若“忙”则进入后述的“退避”处理程序,进而进一步反复进行侦听工作。 若“闲”,则一定算法原则(“X坚持”算法)决定如何发送。

(2) 发送:

当确定要发送后,通过发送机构,向总线发送数据。

(3) 检测:

数据发送后,也可能发生数据碰撞。因此,要对数据边发送,边接收,以判断是否冲突了。(参5P127图)

(4)冲突处理:

当确认发生冲突后,进入冲突处理程序。有两种冲突情况:

① 侦听中发现线路忙

② 发送过程中发现数据碰撞

① 若在侦听中发现线路忙,则等待一个延时后再次侦听,若仍然忙,则继续延迟等待,一直到可以发送为止。每次延时的时间不一致,由退避算法确定延时值。 ② 若发送过程中发现数据碰撞,先发送阻塞信息,强化冲突,再进行侦听工作,以待下次重新发送(方法同①)

面向比特的协议中最有代表性的是IBM的同步数据链路控制规程SDLC

(Synchronous Data Link Control),国际标准化组织ISO (International Standards Organization)的高级数据链路控制规程HDLC(High Level Data Link Control),美国国家标准协会(American National Standar ds Institute )的先进数据通信规程ADCCP ( Advanced Data Communications Control Procedure)。这些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束,故称"面向比特"的协议。

二.帧信息的分段

SDLC/HDLC的一帧信息包括以下几个场(Field),所有场都是从最低有效位开始传送。

1. SDLC/HDLC标志字符

SDLC/HDLC协议规定,所有信息传输必须以一个标志字符开始,且以同一个字符结束。这个标志字符是01111110,称标志场(F)。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(Frame)。所有的信息是以帧的形式传输的,而标志字符提供了每一帧的边界。接收端可以通过搜索"01111110"来探知帧的开头和结束,以此建立帧同步。

2.地址场和控制场

在标志场之后,可以有一个地址场A(Address)和一个控制场C(Contro1)。地址场用来规定与之通信的次站的地址。控制场可规定若干个命令。SDLC规定A场和C场的宽度为8位。HDLC则允许A场可为任意长度,C场为8位或16位。接收方必须检查每个地址字节的第一位,如果为"0",则后边跟着另一个地址字节;若为"1",则该字节就是最后一个地址字节。同理,如果控制场第一个字节的第一位为"0",则还有第二个控制场字节,否则就只有一个字节。

3.信息场

跟在控制场之后的是信息场I(Information)。I场包含有要传送的数据,亦成为数据场。并不是每一帧都必须有信息场。即信息场可以为0,当它为0时,则这一帧主要是控制命令。

4.帧校验场

紧跟在信息场之后的是两字节的帧校验场,帧校验场称为FC(Frame Check)场, 校验序列FCS(Frame check Sequence)。SDLC/HDLC均采用16位循环冗余校验码CRC (Cyclic Redundancy Code),其生成多项式为CCITT多项式

X^16+X^12+X^5+1。除了标志场和自动插入的"0"位外,所有的信息都参加CRC计算。 CRC的编码器在发送码组时为每一码组加入冗余的监督码位。接收时译码器可对在纠错范围内的错码进行纠正,对在校错范 围内的错码进行校验,但不能纠正。超出校、纠错范围之外的多位错误将不可能被校验发现 。

三.实际应用时的两个技术问题

1."0"位插入/删除技术

如上所述,SDLC/HDLC协议规定以01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符,为了把它与标志区分开来,所以采取了"0"位插入和删除技术。具体作法是发送端在发送所有信息(除标志字节外)时,只要遇到连续5个"1",就自动插入一个"0"当接收端在接收数据时(除标志字节)如果连续接收

到5个"1",就自动将其后的一个"0"删除,以恢复信息的原有形式。这种"0"位的插入和删除过程是由硬件自动完成的,比上述面向字符的"数据透明"容易实现。

2. SDLC/HDLC异常结束

若在发送过程中出现错误,则SDLC/HDLC协议用异常结束(Abort)字符,或称失效序列使本帧作废。在HDLC规程中7个连续的"1"被作为失效字符,而在SDLC中失效字符是8个连续的"1"。当然在失效序列中不使用"0"位插入/删除技术。 SDLC/HDLC协议规定,在一帧之内不允许出现数据间隔。在两帧信息之间,发送器可以连续输出标志字符序列,也可以输出连续的高电平,它被称为空闲(Idle)信号。

相关推荐