1、计算机网络及应用主讲教师:程 光东南大学计算机科学与工程学院 江苏省计算机网络技术重点实验室 CERNET华东北地区网络中心 ,计算机网络及应用第四讲,数据传输方式:并行、串行(同步、异步) 数据传输形式:半双工、全双工 传输差错处理:反馈重传法(停等协议、滑动窗口协议) 什么情况下停等协议的效率比滑动窗口协议高? 常用差错检测方法:检错码信息字段校验字段(冗余字段)奇偶校验法?,第2章 数据通信原理,上节课内容回顾:,为什么要用编码解码器?,编码/解码(COding and DECoding)实现模拟信息与数字信号之间的转换生产控制、用数字信道传输模拟信息等 编码:将模拟信息转换为数字信号的
2、过程 解码:将数字信号还原为模拟信息的逆过程,15,循环校验码(CRC),若信息字段为K位,校验字段为R位,则码字长度为N=K+R;任一合法码字都可由一个R次多项式g(x)产生。合法码字 V(x) = xR m(x)+r(x) = A(x)g(x)m(x) K次信息多项式,信息字段,r(x) R-1次校验多项式,校验字段,g(x) R次生成多项式g(x)=g0 + g1x + g2x2 + .+ g(R-1)x(R-1) + gRxR。其中: gi = 0 或 1,0iR;g0 = gR =1,,15,原理:当确定字段长度后,任意一个二进制位串(字段)都可以和一个系数仅为0和1取值的多项式一一
3、对应。 例: 1010111: x6+x4+x2+x+1x5+x3+x2+x+1: 101111,循环校验码(CRC),若信息字段为K位,校验字段为R位,则码字长度为:N=K+R;任一合法码字都可由一个R次多项式g(x)产生。,16,校验字段r(x)生成方法之一:软件方法多项式除法取余数,例如:信息字段代码为: 1011001 对应 m(x)=x6+x4+x3+1生成多项式:g(x)=x4+x3+1 对应代码: 11001则 x4 m(x)=x10+x8+x7+x4 对应代码:10110010000,校验字段r(x)生成方法之二:硬件实现,输入:发送时为信息字段,或者校验时为接收到的码字。 移
4、位寄存器R:发送时逐步形成校验字段,发送完后开关上拨,逐位输出;校验时逐步形成校验结果。,17,根据g(x)构建编码电路,信息字段作为输入,校验字段存寄存器。g(x)=g0 + g1x + g2x2 + .+ g(R-1)x(R-1) + gRxR,g(x)=x4+x3+1的编码电路:,18,此例: g0,g4恒为1,g3为1, g1,g2为0;编码电路:,硬件编码使用举例:,19,g(x)=x4+x3+1的编码电路:,硬件编码使用举例:,20,硬件电路主要用于自动生成码字,或者进行校验; 多项式除法主要用于软件编程。常用的CRC生成多项式g(x)为:CRC16=x16+x15+x2+1 R=
5、16, IBM专用CRC16=x16+x12+x5+1 R=16, CCITT专用CRC32=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 R=32, LAN中常用,CRC校验码使用,数据传输方式 数据传输形式 传输差错处理 常用差错检测方法,数据的可靠传输,如何控制数据的传输?传输控制规程(协议),BSC:面向字符型的传输控制规程 HDLC:面向比特型的传输控制规程,第2章 数据通信原理,面向比特型的传输控制规程HDLC 支持任意二进制数据的传输。 常用的标准:ISO的高级数据链路控制规程(ISO HDLC)CCITT 的平衡型链路访问
6、规程(CCITT X25 LAP-B) HDLC支持任意比特序列的传输,,数据帧格式: 起始标志 传输数据块 终止标志011111100011011000010110110011011101111110“帧”: 通信双方交换的最小单位。,a) 非平衡结构,b)平衡结构,站类型 主站(Primary Station):控制整个链路的工作 次站(Secondary Station):受主站控制,只能发出响应的站; 组合站(Combined Station):兼有主/次站功能的站。,面向比特型的传输控制规程HDLC,链路结构 非平衡结构:由一个主站和一个或多个次站组成, 点-点、点-多点操作; 平衡
7、结构:由两个组合站组成,适用于点-点操作;,数据传输模式 正常响应模式(NRM): 主站具有选择、轮询次站的能力, 并可向次站发送命令或数据;次站只有在主站询问时才能作为响应传输数据;,面向比特型的传输控制规程HDLC,异步平衡模式(ABM): 任一组合站均可控制链路,主动传送数据。,异步响应模式(ARM): 主站具有初始链路,差错校正和逻辑拆链功能;次站可以主动传输数据;,HDLC 一般帧结构8 n8 8 0N 16 8 (位) F A C I FCS F 起始标志 地址字段 控制字段 信息 校验码 结束标志F(帧间隔模式): “01111110”同步符号、 帧之间的填充字符 0111111
8、0111110000111100010101011010101010101001010100111111001111110,“0”比特插入法: 0111111011110001110001100111111001101111110111010111111001111110 011111101111000111000110011111010011011111010111010111111001111110,A(地址字段):正常响应模式(NRM)和异步响应模式(ARM): 次站地址异步平衡模式(ABM): 对方的地址,信息帧(I帧) ,C的第一位为0 用于传输用户数据 允许双向同时发送和接收数据N
9、s(发送帧序号)说明本帧对应的帧序号(采用模8计数),每发一帧,Ns模8计数一次;Nr(待收帧序号):希望接收对方帧的序号,(采用模8计数);Nr隐含指示该序号之前的所有帧已被正确接收;,C(控制字段): 用于区分帧的类型, 信息帧P/F(Probe/Final-查询/终止指示位),要求对方做出响应;建立链接阶段:发送方询问对方是否同意链接;P=1对方需立即响应,并在响应中置F=1。(例:同意建链)数据传送阶段:发送方置P=1,询问对方是否有数据待发;如果对方有数据待发,开始发送信息帧(I);对方可以连续发送多帧,并在最后一个I帧中,置F=1,示意数据传输完毕;如果对方无数据待发,直接以S帧(
10、F=1)进行响应, 示意无数据可发。 * P/F总是一一对应的,在接到F=1的帧之前,不允许再发P=1的帧,S(监控帧):用于表示接收状态,Type=00, 接收准备就绪(RR),准备接收编号为Nr的帧;Type=10, 未准备就绪(RNR),告诉对方已经收妥Nr以前的所有帧, 但希望对方暂缓发送Nr帧;Type=01, 拒绝接收(REJ),告诉对方已经收妥Nr以前的所有帧,但编号为Nr的帧有差错,希望对方重发编号为Nr及其以后的所有帧;Type=11, 选择接收(SREJ),类似REJ监控帧,但希望对方仅仅重发第Nr帧。,C(控制字段): S(监控帧),C的前两位为11 : 链路控制帧,不含
11、序号M1,M2表示帧类型M(M1M2)=11 100(SABM),某一复合站置本次链路为异步平衡模式;M(M1M2)=00 010(DISC), 请求释放(拆除)本次链路;M(M1M2)=00 110(UA),次站对主站命令的确认,类似BSC中的ACK;M(M1M2)=10 001(CMDR),次站对主站命令的否认,类似BSC中的NAK;,C(控制字段): 无编号帧,C的前两位为11 : 链路控制帧,不含序号M1,M2表示帧类型M(M1M2)=11100(SABM),某一复合站置本次链路为异步平衡模式;M(M1M2)=00010(DISC), 请求释放(拆除)本次链路;M(M1M2)=0011
12、0(UA), 次站对主站命令的确认,类似BSC中的ACK;M(M1M2)=10001(CMDR),次站对主站命令的否认,类似BSC中的NAK;,SABM请求建链,UA 同意建链,确认,CMDR不同意建链,否认,SABM请求建链,DISC请求拆链,UA 同意拆链,确认,C(控制字段): 无编号帧, 信息字段、校验字段,8 n8 8 0N 16 8 (位) F A C I FCS F 起始标志 地址字段 控制字段 信息 校验码 结束标志, Info(信息字段): 用于携带用户数据;仅在I帧中出现,任意位串(已实施0比特插入)。 FCS(校验字段):对A、C和Info字段进行循环校验;g(x) =
13、x16 + x12 + x5 + 1 (CCITT和ISO制定)g(x) = x16 + x15 + x2 + 1 (IBM公司制定源于SDLC)因为HDLC的帧中至少包含A、C、FCS字段,因此帧长应大于等于32位。,1、传输窗口: 通信双方同意在同一条链路上连续使用的信息帧序号。 窗口尺寸:通信双方协商同意的在同一条链路上可连续发送 且未被认可的信息帧个数;,HDLC窗口机制提高效率的保障,HDLC 窗口尺寸: 23-1=7,即任一方可以最多连续发送7帧无需对方的确认,帧序号循环使用(模8:Mod 8)。在信息帧中用Nr, Ns来表示当前窗口的情况;,HDLC窗口机制提高效率的保障,2、捎
14、带应答:允许在反向传输的信息帧中附带确认信息 (Nr) 3、超时重发:超时表示传输故障,准备重发所有未被确认的帧。 发送方每发送一信息帧,计时, 直到收到接收方的确认(包括捎带应答?),若超时,则重发; 接收方在正确接收到信息帧后,计时,若在一定的时间内未收到后继信息,则发RR帧,准备继续接收后续帧。?,HDLC窗口机制示意,REJ,6,窗 口 尺 寸,建立链路: 置初始化模式和置响应模式;通信双方确认可以通信,并协商通信的模式。传输信息帧:通信双方通过交换I帧和S帧,完成双方的高层数据交换,全双工方式,通信双方均可发送信息帧和监控帧。释放(拆除)链路:任意一方在发送完数据之后,均可用DISC
15、命令要求拆除链路;对方同意拆链,用UA命令响应。,HDLC数据交换过程,建立链路 主机A向主机B发建立请求 SABM CMRD B未准备好,不同意建链。向A发否认信息主机A向主机B发建立请求 SABM UA 主机B已准备好,同意建链。向A发确认信息链路建立成功,进入数据传输阶段,HDLC数据交换过程,数据传输Ia1,0,0 RR,1Ia2,1,0 Ib1,0,2Ia3,2,1 Ia4,3,1 Ib2,1,4Ia5,4,2 Ib3,2,5Ia6,5,3 Ia7,6,3 Ia7,7,3 Ib4,3,0Ia8,0,4 Ia9,1,4 Ia10,2,4 RR,3 Ia11,3,4 ,HDLC数据交换过程,拆除链路 A(主机) 方向 B(主机) 说 明 DISC UA ;B对拆链进行确认,HDLC数据交换过程,HDLC规程分析 HDLC 统一的帧格式:数据、命令和响应具有统一格式,易于实施;采用“0”比特插入法: 支持任意的比特流传输,提高了信息传输的透明性;采用窗口机制和捎带应答,支持全双工工作方式,提高信息传输的效率;采用帧校验序列,以及窗口序号的设置,提高信息传输的正确性和可靠性。,第2章 数据通信原理,课堂练习: 二进制字串:1100101, 生成多项式:g(x)=x4+x3+1(11001)请给出发往线路的检错码,