底层协议
3. 2 物理层
1. 物理层概述
物理层是OSI参考模型中的最低层,也是最重要、最基础的一层。物理层既不是指连接计算机的具体物理设备,也不是指负责信号传输的具体物理介质,而是指物理介质上为上一层(数据链路层)提供传输比特流的一个物理连接。
物理层屏蔽掉了具体的通信介质、通信设备和通信方式的差异,为数据链路层提供服务。
物理层的主要任务是为通信双方的数据传输提供物理连接,并在物理连接上透明地传输比特流。
物理层的数据传输单位是位(比特)。
2. 物理层的功能
ITU-T对物理层的定义:利用机械的、电气的、功能的和规程的特性在DTE和DCE之间实现对物理信道的建立、维持和拆除功能。
建立、维持和拆除物理连接:为两个数据链路层实体之间进行数据传输建立、维持和拆除相应的物理连接
位同步传输:在物理连接上,数据一般是串行传输。物理层要保证信息按比特传输的正确性(即比特同步,可以是同步传输,也可以是异步传输) 。
物理层管理:物理层内的一切活动管理
实现四大特性的匹配:物理层要实现其机械特性、电气特性、功能特性和规程特性的匹配。
3. 物理层接口协议
DCE
DCE
DTE
DTE
DTE/DCE模型
通 信 子 网
物理链路
机械特性:也称物理特性,它规定了DTE和DCE之间连接器的几何参数,包括形状、几何尺寸、引线数目和排列方式等。
机械特性典型的ISO标准有:
ISO 2110 (25针),ISO 2593 (34针) ,
ISO 4902 (37针或9针) ,ISO 4903(15针)。
电气特性:规定了DTE与DCE之间多条信号线的电气参数及有关电路的特征,如电气接口连接方式、信号源输入/输出阻抗、信号电压范围、传输速率和距离的限制等。
接口连接有单端驱动单端接收、单端驱动差分接收和双端驱动差分接收三种方式,可分别称为非平衡型、半平衡型和平衡型连接。
常见的电气特性
发送器
接收器
(a)非平衡型
发送器
接收器
(b)半平衡型
发送器
接收器
(c)平衡型
功能特性:对接口各信号线的含义、功能及各信号之间的对应关系给出了确切的定义,说明某些连线上出现的某一电平的电压所表示的意义。
按功能区分,接口信号线有地线、数据线、控制线和定时线四种类型 ,有时还有备用信号线(次信道或辅信道线)。
信号线的命名:
十进制数字名称:如102,103等
英文字母名称:如BA,BB等
英文缩写名称:如T,R等
规程特性:规定了DTE和DCE之间各接口信号线实现数据传输时的控制过程,也就是在物理连接的建立、维持和拆除时,各信号线的动作规则和步骤等。
物理层协议主要任务是实现DTE与DCE 之间数据比特的透明传输。
物理层协议很多,也比较成熟,如ISO、ITU-T、EIA等机构制定的协议。
ITU-T制定的DTE与DCE之间的物理层接口标准(协议)有V系列、X系列和I系列等建议。
V系列建议:是以字母V开头编号的一系列协议的集合。 V系列建议是为解决在以电话网为基础的模拟信道上传输数据而由ITU-T提出的,是一类比较复杂的接口标准。
V系列建议中著名的电气特性建议是和;功能特性建议是;过程特性建议是等。功能特性建议包括100和200系列标准。此外还有100系列接口标准和200系列接口标准(接口线名字第1位为“1”和“2”的物理接口。
X系列建议:是以字母X开头编号的一系列协议的集合。X系列建议是为解决以公共数据网为基础的数字通信问题而由ITU-T制定的,是一类比较简单的接口标准。
X系列建议中著名的电气、功能和规程特性分别有、X 27,,、。
I 系列建议:是以字母I开头编号的一系列协议的集合。I系列建议是针对综合业务数字网应用而由ITU-T制定的。
I 系列建议有接口结构建议和接口特性建议,分别定义了N-ISDN和B-ISDN与UNI的结构配置和速率规范。
4. 典型的物理层标准
RS 232协议 :是由美国电子工业协会EIA 发布的物理层标准。
RS 449、RS422-A和RS423-A协议:是EIA于1977年推出的对RS 232协议改进的标准。
协议:是ITU-T于1976年推出的一种数字接口标准。
(1) EIA RS 232协议
EIA RS 232协议 是1962年由EIA 颁布。RS 意为推荐标准,232为标准序号。EIA分别对该标准进行了四次修改,并分别用A、B、C和D标识其版本。
RS 232协议用于电话网实现两DTE之间的数据传输,因此它与V系列建议相似。
接口位置:作为物理层接口标准,EIA RS 232可以用于DTE(计算机或终端)与 DCE (调制解调器)之间的连接;也可以直接用于DTE(计算机)与DTE(计算机或终端)之间的连接,该情况称为空调制解调器状态。
RS-232接口界面
公用电话
交换网
RS-232接口
RS-232接口
(a) 利用公共电话网实现远程连接
RS-232接口
(b) DTE与DTE的直接连接
DTE
调制解调器
调制解调器
DTE
DTE
DTE
DTE
机械特性:RS 232采用ISO2110标准的25针连接器(DB-25接口),并对该连接器的尺寸及针脚排列位置等都做了确切的规定;在DTE一侧采用孔式结构插头,在DCE一侧采用针式结构插座。
ISO 2110 连接器的机械特性
英寸
1
13
13
英寸
14
25
英寸
英寸
电气特性:使用非平衡型电路,其逻辑“1”电平为-5~-15V,逻辑“0”电平为+5~+ 15V,-5~+5V内为过渡区。规定数据传输速率最高为 ;两连接器间最长连线为15m。实际的数据传输速率应根据传输距离和信道质量加以选择,一般距离远、信道误码率高的信道,应选择低速率;反之,则选择高速率。
功能特性:规定了接口中20个针及其信号线的功能。但最常用的信号线有10根。
若有两台DTE(计算机)设备距离很近,可将其直接连接而不使用调制解调器,此时RS 232接口直接连接两个DTE,这就是空调制解调器状态。
规程特性:定义了DTE和DCE通过RS 232 接口连接时,各信号线在建立、维持和拆除物理连接及传输比特信号时的控制时序。RS 232的工作过程是在各条控制信号线有序的“on” 和“off” 状态的配合下进行的。现以发送数据为例,说明RS 232接口的工作过程(规程特性)。
建立阶段:当DTE有数据要发送时,置20号(CD)线为“on”(“通”状态),通知本地Modem,DTE处于通信就绪状态(DTE准备好) 。本地Modem若响应此信号,则置6号(CC)线为“on”,回答DTE,Modem准备好;
DTE再置4号(CA)线为“on”,通知Modem要发送数据(请求发送)。本地Modem检测到4号线为 “通”状态后,置5号(CB)线为“on” ,通知DTE允许发送;同时通过长途线发一载波信号给远端Modem,通知它准备接收数据。远程Modem检测到载波后置8号(CF)线和22号(CE)线为“on”,通知远程DTE准备接收数据;
数传阶段:DTE检测到5号线为高电平后,即由2号(BA)线发送数据,并用3号(BB)线接收远程DTE发回的数据;
拆除阶段: DTE数据发送完后,置4号线为“off” (“断”状态),通知本地Modem数据发送已结束。本地Modem收到“通知”后置5号线为“off”,并停止向长途线发载波信号。远程Modem检测不到载波后置8号线和22号线为“off”,恢复到原始状态;
DTE置20号线为“off”,通知本地Modem拆线。本地Modem接到“通知”后置6号线为“off”,同意拆线。至此,一次通信结束,一切恢复到初始状态。
空调制解调器方式的RS-232连接方法
DTE1
DTE2
1
2
3
4
5
6
7
8
20
1
2
3
4
5
6
7
8
20
(a)
(b)
DTE1
DTE2
1
2
3
4
5
6
7
8
20
1
2
3
4
5
6
7
8
20
DB-25与DB-9:
在实际使用中,由于并非要用到RS 232标准的全集(即各条信号线的功能),所以也可采用针孔较少的标准连接器,如ISO 4902规定的9针连接器(DB-9接口)。DB-9接口针的排列顺序类似于DB-25接口(ISO 2110)两种接口线也有一定的对应关系。
DB-9接口和DB-25接口针孔的对应关系表
DB-9
DB-25
插针功能说明
标记
1
8
信号检测
DCD
2
3
接收数据
RD
3
2
发送数据
SD
4
20
DTE就绪
DTR
5
7
信号地
SG
6
6
DCE就绪
DSR
7
4
请求发送
RTS
8
5
允许发送
CTS
9
22
振铃指示
RI
(2) RS 449、RS422-A和RS423-A
RS 232建议被广泛应用于串行通信中,但它有以下不足:
传输速率和距离受限制:20kbps和15m;
非平衡型电气特性使得电气性能佳;
信号线间易产生干扰。
为了解决这些不足,EIA在1977年推出了RS 449标准。
RS 449标准包括了两个子集:RS 422A和RS 423A。RS 449的机械、功能、规程特性由RS 449定义,其电气特性由RS 422-A和RS 423-A定义。
RS 449标准的机械特性采用ISO 4902标准的37针和9针连接器两种接口。
RS 422A采用双线平衡型接口电路(差分驱动、差分接收),其抗串扰能力大大加强。可在较远距离内明显地提高传输速率。在传输距离为10m时,数据传输速率可达10Mbps;传输距离为1000m时,数据传输速率可达100 Kbps。
RS449 的电气特性
发送器
接收器
(a)半平衡型
发送器
接收器
(a)平衡型
RS 423A采用单端驱动、差分接收的半平衡型接口电路,其电气特性得到较大改善。在传输距离为10m时,数据传输速率可达100Kbps;传输距离为100m时,数据传输速率为10Kbps。
RS 422A 和RS 423A一个共同的优点是允许传输线路连接多个接收器。
RS 449 标准的功能特性:每个接口线具有一个功能,除保护地线外,保留了RS 232所有的接口线,并增加了10条新接口线。
RS 449标准的规程特性与RS 232标准基本一样。
(3) ITU-T 协议
协议是ITU-T于1976年推荐的一种数字接口标准。作为协议的第一级,它规定了DCE如何与DTE通过交换信号来建立和拆除连接。
的DTE与DCE接口
发送(T)
控制(C)
接收(R)
指示(I)
位定时信号(S)
字节定时信号(B)
DTE公用回线
保护地(G)
DCE
DTE
采用由ISO 4903标准所规定的15针连接器,它只定义了8根信号线。
的电气性能较为灵活,在DCE一侧使用新的平衡电气特性,而在DTE一侧用或非平衡电气特性。的目的之一在于减少接口线数目。
3. 3 数据链路层
1. 数据链路层概述
差错控制
3. 流量控制
4. 数据链路层协议
5. HDLC协议
1 . 数据链路层概述
(1) 数据链路层的概念:
链路:就是数据传输中任何两个相邻节点间承载信息的物理线路段。链路间没有任何其他节点存在。
物理链路:两节点间的实际传输介质。
逻辑链路:加有逻辑控制功能的物理链路。
帧:就是数据链路层的数据传输单位,也是分组在数据链路层的具体体现。
数据链路:在网络中,从一方到另一方的数据通信通常是由许多链路串接而成的,这就是数据链路,也叫数据通路。
(2) 数据链路层的主要任务:
检测并校正物理层传输介质上产生的传输差错。该层负责数据链路信息从源点传输到目的点的数据传输与控制,如连接的建立、维护与拆除、异常情况处理、差错控制与恢复、信息格式等,检测和校正物理层可能出现的差错,使两系统之间构成一条无差错的链路。
(3) 数据链路层功能:
数据链路的建立、维持和拆除:链路两端的节点在进行通信前要先建立数据链路,在传输过程中还要维持这种链路,传输完毕后要拆除该数据链路。
帧同步传输:帧是数据链路层传输的数据单位。每个帧包括帧头、帧尾、帧检验码和帧序号。帧头和帧尾以表示帧的开始和结束,接收方要能够明确地从物理层收到的比特流中区分出帧的起始与终止,以便进行帧同步。实现帧头部的方式有子节计数法、字符填充法、比特填充法和违法编码法。
差错控制:帧信息在传输过程中存在出现差错的情况。在计算机通信中采用差错控制技术可保证数据传输的正确性。通常采用检错重发方式,即接收方每收到一帧便检查帧中是否有错,一旦有错,就让发送方重发该帧,直至接收方正确接收为止。
流量控制:流量控制是指采用一定措施使通信网络中部分或全部链路和节点上的信息流量不超过某一限制值,来保证信息流动顺利通畅。
数据链路层采用简单的流量控制方式,它控制的是相邻两节点间数据链路上的信息流量。
2 . 差错控制
在数据链路层常用的差错控制方式有检错重发法ARQ和反馈检测法。
ARQ差错控制使用检错码,接收端放弃有差错的信息块或帧,并通过反馈通道请求重传,重传一直进行到该帧被成功地接收为止。由于该过程比较简单,且使传输系统增加了可靠性,因此在计算机网络中得到了广泛应用。
由于重传增加了往返行程的时延,使系统的实时性变差。
链路层的差错控制是保证相邻节点之间的传输差错被控制在所允许的范围内。
3 . 流量控制
数据链路层的流量控制就是要控制相邻两节点之间的数据链路上的信息流量,使发送端发送数据的能力不大于接收端接收数据的能力,以使接收端在接收前有足够的缓冲存储空间来接收每一个字符或帧
4 . 数据链路层协议
(1) 数据链路层协议
数据链路层协议要对链路和传输操作进行控制和管理,完成这种控制和管理功能的规则和约定即为数据链路协议。
数据链路层协议(也叫数据链路控制规程)是网络两个相邻节点之间的通信所遵守的规则。它是建立在物理层基础上的。
数据链路控制规程中涉及到数据编码、同步方式、传输控制字符、报文格式、差错控制、应答方式、通信方式和传输速率等,它是计算机网络软件编制的基础。
数据链路控制规程有两大类:面向字符型的数据链路控制规程和面向比特型的数据链路控制规程。
① 面向字符型的数据链路控制规程:
面向字符型的数据链路控制规程以字符为传输信息的基本单位,利用控制字符进行传输控制。控制字符不允许在用户信息中出现,以避免用户信息与控制信息相混淆。
面向字符型的数据链路控制规程的典型代表是IBM公司的二进制同步通信(BSC)规程。由于该规程与特定的ASCII编码集联系密切,兼容性差,且在实现上也比较复杂。在早期的面向终端的网络中应用广泛,而现代数据通信系统中已很少使用。
② 面向比特型的数据链路控制规程:
面向比特型的数据链路控制规程先将数据分成块,再在这些块上加相应的起始和终止标志构成帧。数据帧和控制帧均采用统一的格式。
典型的面向比特型的数据链路控制规程是高级数据链路控制协议HDLC。它是在IBM公司于70年代提出同步数据链路控制规程SDLC基础上,经ISO修改后得到的,已作为国际标准,得到广泛应用。
(2) 差错控制与流量控制协议
① Xon/Xoff方案:接收方利用控制字符DC1和DC3分别控制发送方,使其“继续发送”信息或“停止发送”信息。
该方案可有效地避免接收缓冲区的溢出和处理能力的过荷,但没有差错控制功能,一般只用在近距离的异步传输中。
② 停止等待协议
停等协议是一种最简单的差错控制和流量控制协议。其规定在发送一帧数据后便停止发送,等待收端的响应。根据接收端的不同响应,发送端进行不同的处理:
接收端发回ACK确认帧,说明接收正常,发送端继续发下一帧;
接收端发回NAK否认帧,说明发送端发送的数据有错,不予接收,发送端要重发数据帧。若多次有错,就要多次重发,直至接收正确;
发送的数据帧丢失,收端未接到信息,因此无任何响应发回。发送端根据超时设置确定超时后,再重发数据帧;
接收端正确接收了数据帧后,发回响应帧,但响应帧丢失中途丢失。发送端也要根据定时设置,在超时时,重发数据帧。
可见,发送端的发送速度完全受控于接收端的响应帧。接收端可以根据情况放慢接收速度或停止继续接收数据,就可达到流量控制的目的。停等协议对有错数据的重发是自动进行的,因此也叫停等ARQ协议。
③ 连续ARQ协议(也称连续ARQ协议):
该协议允许一次连续发送若干帧数据,即不等前一帧数据被确认即可发送下一帧。
该协议在用于差错控制和流量控制是分别有不同的方法。
连续ARQ协议用于差错控制:
发送端一次可连续发送若干带有序号的数据帧而无须等待接收端的响应帧,接收端按序接收数据帧。但由于链路的不可靠,数据帧可能会出现差错或丢失。收端按帧检测后发回确认ACK或否认NAK信息给发端。
如第n帧有错,接收端发回否认帧的同时,丢弃该帧及该帧以后各帧,发送端要重发第n帧及以后各帧(go-back-n)。如出现已发送的数据帧或响应帧丢失现象,发送端同样可根据超时器的记录得知,就要重发刚才接到确认帧以后的各帧。
连续ARQ协议用于流量控制:
由于连续发送对发送端和接收端的缓冲容量都有较高要求,加之连续发送的信息在未被确认及有错需要重发时,都要增加开销和降低传输效率,因此对于连续发送的数据流量要进行控制,即对发送端已发送过但未被接收端确认的帧的数目加以限制。
④ 选择重传ARQ协议:
连续ARQ协议传输中一旦数据帧出错就要go-back-n,n 帧以后各帧均要重传,开销大。
选择重传ARQ协议就是只选择重传出错的第 n 帧而对其后正确接收的帧不再重传。但这样就要求接收端要配置较大的缓冲容量。
5 . HDLC协议
(1) 数据链路配置和传输模式:
① 三种类型的站点:
主站:负责整个链路的控制,主站发出命令帧,接收响应帧。
从站:为受控站,配合主站参与链路控制。发出响应帧,接收主站的命令帧。
复合站:具有主站和从站的双重功能,既能发送、又能接收命令帧和响应帧。
② 两种连接结构:
点--点连接:一条数据链路把两个 DTE 连接起来构成的连接方式。
点--多点连接:一个DTE通过数据链路与多个DTE连接方式。
点到点式链路配置
命令(A)
复合站
A
复合站
B
响应(B)
命令(B)
响应(A)
响应(B)
命令(B)
主站
A
次站
B
点对多点式链路配置
响应(B)
响应(B)
响应(B)
主站
A
次站B
次站C
次站D
命令(B 或C或D)
③ 两种链路配置:
非平衡配置:使用于点--点或点--多点链路,这种配置是由一个主站和一个或多个从站组成,支持半双工或全双工通信。
平衡配置:只适用于点--点链路,由两个复合站组成,支持半双工或全双工通信。
④ 三种数据传输模式:
正常响应模式(NRM):这是一种不平衡配置的传输模式。主站启动数据传输,从站当收到主站的询问命令后才能发送数据。在这种模式中,主站负责管理整个链路,负责对超时、重发和各类恢复操作的控制,并有查询从站和查询从站向从站发送信息的权利。
异步响应模式(ARM):这也是一种不平衡配置的传输模式,但NRM的不同之处在于:从站不必确切地接收到来自主站的允许传输的命令就可开始传输。
异步平衡模式(ABM):这是一种平衡配置的传输模式。它传输的可以是一帧或多帧,传输是在复合站之间进行的。在传输过程中,一个复合站不必接收到另一个复合站的允许就可以开始发送。
(2) HDLC的帧格式:
信息以帧为单位传输,有固定的帧格式,由F、A、C、I、FCS、F六个字段组成。
F A C I FCS F
8位 8位 8/16位 不定长 16/32位 8位
HDLC帧格式
① 标志字段F:
F 字段是由 8 位固定编码“01111110”组成,放在一个帧的开头和结尾处,起同步、填充、定界作用。
采用“0”比特插入、删除技术,保证 F 字段的唯一性。
“0”比特插入和删除:发送时发送端监测两 F字段间的比特序列,当发现有5个连续的“1”时,就在第5个“1”后自动插入一个“0”比特。这样可保证除F字段外帧内不出现多于连续5个“1”的序列,因此也就不能出现与F字段相混淆的情况。接收接收端检查比特序列,当发现有连续5个“1”时,就将其后的“0” 删除,使之恢复原信息。
② 地址字段A:
A字段由8位码组成,用以指明从站的地址,即主站命令帧中该字段为从站地址;从站响应帧中该字段为本站地址。
③ 控制字段C:
C字段由8或16位组成,用以标识帧的类型和功能。
④ 信息字段I:
I 字段用来填充要传输的数据、报表等信息。
⑤ 帧校验序列FCS:
FCS是采用16或32位的CRC校验码进行差错控制的。FCS的校验范围是除F字段外的内容。
(3) HDLC的帧类型:
HDLC定义了三种类型的帧,它们具有不同的控制字段。信息帧( I 帧)、监控帧( S帧)和无编号帧( U 帧)。
每一类型的帧都是由控制字段前1位或2位的不同取值定义的。
C字段的第1位为“0”时表示该帧为信息帧,第1~2位为“10”时表示该帧为监控帧,第1~2位为“11”时表示该帧为无编号帧。
1 2 3 4 5 6 7 8
0 N(S) P/F N(R)
1 0 S1 S2 P/F N(R)
1 1 M M P/F M M M
① 信息帧( I 帧):信息帧中包括信息(I)字段,用来传输用户数据。
N (S)存放发送帧的序号,N (R)存放希望接收帧的序号,均由三位二进制码组成。
P/F位为轮询/结束位:对于主站,P=“1”时,表示主站不再发送信息,请求从站响应,从站可传输响应帧;对于从站,F=“1”时,表示这是从站的最后响应帧。
② 监控帧( S 帧):监控帧中没有 I 字段,用于完成链路的监控功能,监视链路上的常规操作。主站和从站均可能发送此类帧。
S 帧中无 N(S)位。
S 帧中第6-8位的 N(R) 的含义与 I 帧同。
S 帧中第3-4位S1S2可有四种不同的组合,其意义为:
S1S2=00:意为接收准备好RR,该站准备接收序号为N(R)的帧,并表示N(R)以前各帧均已正确接收;
S1S2=10:意为接收未准备好RNR(本站忙),该站不准备接收序号为N(R)的帧,但表示N(R)以前各帧均已正确接收;
S1S2=01:意为拒绝接收REJ,表示原发送的第N(R)帧有错,该站希望重发N(R)帧及其以后各帧,并表示N(R)以前各帧均已正确接收;
S1S2=11:意为选择拒绝接收SREJ,表示原发送的第N(R)帧有错,该站希望只重发该帧,并表示原连续发送的其它各帧均已正确接收。
以上四种S帧,前三种可用于连续ARQ协议,后一种用于选择重发ARQ协议。
S 帧中第5位P/F的含义与 I 帧基本相同,只是在ARM和ABM操作方式下有所区别:
当从站收到P=1的命令帧后即可发送F=1的响应帧,但随后从站仍可继续发送响应帧,直至再无响应帧发送。
③ 无编号帧( U 帧):U 帧本身不带编号,即无N (S)和 N (R),U 帧用于链路的建立和拆除阶段。
U 帧控制字段的第3-4和第6-8位5个M位仅定义了15种U帧。主要有置NRM帧、置ARM帧、置ABM帧、拆除链路、无编号确认和命令拒绝等。
(4) HDLC通信过程:
HDLC规程中规定,两站间的通信过程分为链路建立、数据传输、链路拆除三个阶段。这三个过程中分别使用不同的帧。下图就是HDLC的通信过程。
帧的表示顺序是:帧类型, N(s), N(R),P/F,如用I,2,0,P表示第2号信息帧,希望接收第0号响应帧。
HDLC的数据传输过程
A站
A站
B站
A站
B站
释放
链路
数据
传输
建立
链路
UA,F
DISC,P
I,3,0,P
I,2,0
I,1,0
I,0,0
UA,F
SNRM,P
UA,F
DISC,P
I,1,4,F
I,0,4
I,3,0,P
I,2,0
I,1,0
REJ,1,F
UA,F
DISC,P
I,1,4,F
I,0,4
I,1,0,P
SREJ,1,F
I,1,0未通过CRC校验
I,3,0,P
I,2,0
I,1,0
I,0,0
UA,F
SNRM,P
(b)
(a)
I,1,0未通过CRC校验
I,3,0,P
I,2,0
I,1,0
I,0,0
UA,F
SNRM,P
I,1,4,F
(c)
B站
I,0,4