上一讲内容:数据传输方式、数据传输形式、传输差错处理、常用差错检测方法
数据通信过程中,一个很重要的问题就是如何控制数据的传输,就涉及到了传输控制规程(协议)
下面介绍两种:
**①BSC:**面向字符型的传输控制规程
BSC是一种面向字符的传输控制规程,主要用于异步通信。它将字符作为传输的基本单位,每个字符前加上起始位,后面跟着停止位,用于同步。BSC协议提供了错误检测和同步机制,但它的传输效率相对较低,因为它需要在每个字符前后添加额外的比特用于同步和界定。
**②HDLC:**面向比特型的传输控制规程
HDLC是一种面向比特的传输控制规程,它将比特(bit)作为传输的基本单位。HDLC协议通过使用特殊的比特模式(如01111110)来界定帧的开始和结束,从而实现高效的数据传输。它支持点到点链路和多点链路,并提供差错检测、流量控制和拥塞控制等功能。HDLC是一种更为高效和灵活的协议,广泛应用于同步通信环境。
随着网络技术的发展,HDLC和其他更为高效的协议(如PPP)已经逐渐取代了BSC,成为现代网络通信中更常用的数据链路层协议。
下面来详细介绍一下HDLC
1.面向比特型的传输控制规程---HDLC
1.1什么是HDLC
HDLC(High-Level Data Link Control)是一种数据链路层的通信协议,它定义了如何在网络实体之间进行可靠的通信。HDLC是由国际电信联盟(ITU)的推荐X.25协议族中的一个部分发展而来的,同时也受到了IBM的SDLC(Synchronous Data Link Control)协议的影响。HDLC是一种面向比特的协议,这意味着它将数据看作一连串的比特,而不是像面向字符的协议那样将数据看作字符序列。
常用的标准:ISO的高级数据链路控制规程(ISO HDLC)
CCITT 的平衡型链路访问规程(CCITT X25 LAP-B) HDLC支持任意比特序列的传输。
每个帧由起始帧定界符(01111110)、地址、控制、数据、帧校验序列(FCS)和结束帧定界符(01111110)组成。
1.2站类型
主站(Primary Station):控制整个链路的工作
次站(Secondary Station):受主站控制,只能发出响应的站;
组合站(Combined Station):兼有主/次站功能的站。
链路结构
非平衡结构:由一个主站和一个或多个次站组成,点-点、点-多点操作:
平衡结构:由两个组合站组成,适用于点-点操作:
1.3数据传输模式
(1)正常响应模式(NRM):
主站具有选择、轮询次站的能力, 并可向次站发送命令或数据;
次站只有在主站询问时才能作为响应传输数据。
(2)异步响应模式(ARM):
主站具有初始链路,差错校正和逻辑拆链功能;
次站可以主动传输数据。
(3)异步平衡模式(ABM):任一组合站均可控制链路,主动传送数据。
1.4HDLC 一般帧结构
★ F(帧间隔模式) : "01111110"---同步符号、 帧之间的填充字符 01111110111110000111100010101011010101010101001010100111111001111110
★ A(地址字段) :
正常响应模式(NRM)和异步响应模式(ARM):次站地址
异步平衡模式(ABM): 对方的地址
★ C(控制字段) : 用于区分帧的类型(信息帧(I)、监控帧(S)、无编号帧(U)),下面详细介绍这三种类型的帧:
信息帧(I帧):
-C的第一位为'0' ,用于传输用户数据,允许双向同时发送和接收数据
-Ns(发送帧序号)说明本帧对应的帧序号(采用模8计数),每发一帧,Ns模8计数一次;
-Nr(待收帧序号):希望接收对方帧的序号,采用模8计数);Nr隐含指示该序号之前的所有帧已被正确接收。
S(监控帧):用于表示接收状态,
-Type=00, 接收准备就绪(RR),准备接收编号为Nr的帧;
-Type=10, 未准备就绪(RNR),告诉对方已经收妥Nr以前的所有帧, 但希望对方暂缓发送Nr帧;
-Type=01, 拒绝接收(REJ),告诉对方已经收妥Nr以前的所有帧,但编号为Nr的帧有差错,希望对方重发编号为Nr及其以后的所有帧;
-Type=11, 选择接收(SREJ),类似REJ监控帧,但希望对方仅仅重发第Nr帧。
无编号帧(U):
-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;
★信息字段、校验字段:
Info(信息字段): 用于携带用户数据;仅在I帧中出现,任意位串(已实施'0'比特插入)。
FCS(校验字段):对A、C和Info字段进行循环校验; g(x) = x16 + x12 + x5 + 1 (CCITT和ISO制定) g(x) = x16 + x15 + x2 + 1 (IBM公司制定---源于SDLC) 因为HDLC的帧中至少包含A、C、FCS字段,因此帧长应大于等于32位。
1.5HDLC窗口机制------提高效率的保障
1、传输窗口: 通信双方同意在同一条链路上连续使用的信息帧序号。
窗口尺寸:通信双方协商同意的在同一条链路上可连续发送且未被认可的信息帧个数;
HDLC 窗口尺寸: 23-1=7,即任一方可以最多连续发送7帧无需对方的确认,帧序号循环使用(模8:Mod 8)。在信息帧中用Nr, Ns来表示当前窗口的情况。
2、捎带应答:允许在反向传输的信息帧中附带确认信息 (Nr)
3、超时重发:超时表示传输故障,准备重发所有未被确认的帧。
发送方每发送一信息帧,计时, 直到收到接收方的确认(包括捎带应答),若超时,则重发;
接收方在正确接收到信息帧后,计时,若在一定的时间内未收到后继信息,则发RR帧,准备继续接收后续帧。
下图是HDLC窗口机制示意图:
1.6HDLC数据交换过程
建立链路: 置初始化模式和置响应模式;通信双方确认可以通信,并协商通信的模式。
传输信息帧:通信双方通过交换I帧和S帧,完成双方的高层数据交换,采用全双工方式,通信双方均可发送信息帧和监控帧。
释放(拆除)链路:任意一方在发送完数据之后,均可用DISC命令要求拆除链路;对方同意拆链,用UA命令响应。
1.7HDLC规程特点
(1)HDLC 统一的帧格式:数据、命令和响应具有统一格式,易于实施;
(2)采用"0"比特插入法: 支持任意的比特流传输,提高了信息传输的透明性;
(3)采用窗口机制和捎带应答,支持全双工工作方式,提高信息传输的效率;
(4)采用帧校验序列,以及窗口序号的设置,提高信息传输的正确性和可靠性。
2.多路复用与集中传输
2.1多路复用
目的:使得多路信号可以共用一个信道,将多路信号组合在一条物理信道上传输,以充分利用信道容量。
原理:当物理信道的可用带宽超过单个原始信号的带宽时,将物理信道的总带宽分割成若干个和被传输的单个信号带宽相同或者略为宽一点)的子信道,并利用每个子信道传输一路信号,达到多路信号共用一个信道的目的,节省线路资源。
分类:频分多路复用、时分多路复用、波分多路复用(WDM)
下面进行详细介绍:
(1)频分多路复用
对整个物理信道的可用带宽进行分割, 并利用载波调制技术, 实现原始信号的频谱迁移, 使得多路信号在整个物理信道带宽允许的范围内, 实现频谱上的不重叠,从而共用一个信道。
频分多路复用主要用于模拟信道的复用(铜线、微波线路)
(2)时分多路复用(TDM)
主要用于数字信道的复用。
原理:当物理信道可支持的比特传输速率超过单个原始信号要求的数据传输速率时,可以将该物理信道划分成若干时间片,并将各个时间片轮流地分配给多路信号,使得它们在时间上不重叠。
典型应用:使用时分多路复用技术来支持语音信号的传输
★ T1系统(北美):24路/帧 、8bit/路 、帧/125微秒,
帧 长 度:24×8=192bit + 1(同步位)
传输速率:193/125微秒=1.544Mbps (1.536Mbps)
借助T1系统的语音传输:适用带宽:4Khz;
采样频率:8Khz(1次采样/125us);
量化级:256(8位)--- 传输速率:64Kbps;24路语音信息的传输。
(3)波分多路复用
主要用于光纤信道
原理:类似频分多路复用(FDM),将不同路信号调制成不同波长的光,并复用到光纤信道上,在不同的波长信道中传输;接收端进行光分离处理。
波分多路复用示意: 各路信息调制为不同波长的光信号经复用器复用到一根光纤,长距离传输时光信号强度发生衰减,需要增强能量。
2.2集中传输-对多路复用技术的进一步提高和改进
*特点:各个子信道(频分复用:子频段,时分复用:时间片,波分复用:波长)被静态地分配给多路信号传输,接收方可以直接通过识别固定子频段、时间片或者波长来完成。
*不足之处:信道的利用率不够高, 因为信号的传输往往是间断的, 在某个时刻,子信道会出现空闲状态(无数据)
3.数据交换
利用中间结点将通信双方连接起来。
中间结点(交换设备):不关心被传输的数据内容,仅执行交换的动作,起数据交换的功能, 将数据从一个端口交换到另一端口,继而传输到另一台中间结点,直至目的地。
结点:用于数据交换的中间设备,
站点: 发送和接收数据的终端设备。
数据交换方式:线路交换、报文交换、分组交换。
下面详细介绍这三种数据交换方式:
3.1线路交换
工作过程类似于电话系统,需要在通信的设备之间建立物理连接。
电路交换的过程包括三个阶段:
建立线路: 发方站点向接收方站点发请求,该请求通过中间结点传输至终点;中间结点分配线路。线路一旦被分配,在未释放前,将不能被其它站点所使用, 即使线路上并没有数据传输。
数据传输:物理线路建立后,站点之间进行数据传输。
释放线路:站点之间的数据传输完毕,执行释放线路的动作。线路被释放之后,进入空闲状态,可由其它站点通信所用。
线路交换的特点: 独占性,线路的利用率较低,也容易引起建链时的拥塞。
实时性好,数据传输的延迟小(一旦建链,占整个线路)
线路交换不提供任何缓冲装置,数据透明传输, 收发双方自动进行速率匹配。(交换机设备比较简单)
3.2报文交换
中间结点由具有存储能力的计算机承担,用户信息可以暂时保存在中间结点上,报文交换无需同时占用整个物理线路。 将目的地地址附加在报文上,然后将整个报文传递给中间结点,该结点暂存报文,根据地址确定输出端口和线路,排队等待线路空闲时再转发给下一结点,直至终点。
特点:"存储-转发"。
1.不独占线路,多个用户的数据可以通过存储和排队共享一条线路,无线路建立的过程,提高了线路的利用率;
2.可以支持多点传输(一个报文传输给多个用户);
3.中间结点可进行数据格式的转换,方便接收站点的收取,增加差错检测功能,避免出错数据的无谓传输等
不足之处: 1。由于"存储-转发"和排队,增加了数据传输的延迟, 2。报文长度未作规定,报文只能暂存在磁盘上,磁盘读取占用了额外的时间; 3。任何报文都必须排队等待:不同长度的报文要求不同长度的处理和传输时间,即使非常短小的报文(例如:交互式通信中的会话信息) 4。报文交换难以支持实时通信和交互式通信的要求。
3.3分组交换
结合线路交换和报文交换两者的优点,使其性能达到最优
类似报文交换,只是它规定了交换设备处理和传输的数据长度(称之为分组),将长报文分成若干个小分组进行传输。不同站点的数据分组可以交织在同一线路上传输。提高了线路的利用率 可以固定分组的长度,系统可以采用高速缓存技术来暂存分组,提高了转发的速度。
分组交换实现的关键:分组长度的选择,分组越小,冗余量(分组中的控制信息等)在整个分组中所占的比例越大,最终将影响用户数据传输的效率;
分组越大,数据传输出错的概率也越大,增加重传的次数,也影响用户数据传输的效率。
X.25分组交换网: 131字节,(128字节的用户数据、3字节的控制信息)
以太网中: 1500字节。 ATM网中:53个字节
3.4线路交换和分组交换的比较
1、分配通信资源(主要是线路)的方式
线路交换: 静态地事先分配线路,造成线路资源的浪费,并导致接续时的困难。
分组交换: 动态地(按序)分配线路,提高了线路的利用率,由于使用内存来暂存分组,可能出现因为内存资源耗尽,而中间结点不得不丢弃接到的分组的现象。
2、用户的灵活性
线路交换:信息传输是全透明的,用户可以自行定义传输信息的内容、速率、体积、格式等。
分组交换:信息传输则是半透明的,用户必须按照分组设备的要求使用基本的参数。
3、收费
线路交换:网络的收费仅限于通信的距离和使用的时间;
分组交换:网络的收费则考虑传输的字节(或者分组)数和连接的时间。
3.5虚电路
分组交换采用了两种不同方法来管理被传输的分组流:数据报和虚电路。
数据报:面向无连接的数据传输, 借鉴报文交换的思想,采用数据报方式传输时,被传输的分组称为数据报
数据报的前部增加地址信息的字段,网络中的各结点,根据地址信息和一定的路由规则,选择输出端口,暂存和排队数据报,并在传输媒体空闲时,发往相邻结点,直至最终站点。
虚电路:又被称为面向连接的数据传输,工作过程类似于线路交换,但电路是"虚拟"的。 物理媒体被理解为由多个子信道(称之为逻辑信道LC)组成,子信道的串接形成虚电路(VC),利用不同的虚电路来支持不同的用户数据的传输。
虚电路进行数据传输的过程:
虚电路建立:发送方发送含有地址信息的特定的控制信息块(如:呼叫分组),该信息块途经的每个中间结点根据当前的逻辑信道(LC)使用状况,分配LC,并建立输入和输出LC映射表,所有中间结点分配的LC的串接形成虚电路(VC)。
数据传输: 站点发送的所有分组均沿着相同的VC传输,分组的发收顺序完全相同;分组中只带逻辑信道号,而不带地址。
虚电路的建立和释放需要占用一定的时间,不适合站点之间具有频繁的、短小数据交换的场合。