计算机网络之数据通信原理(下)

上一讲内容:数据传输方式、数据传输形式、传输差错处理、常用差错检测方法


数据通信过程中,一个很重要的问题就是如何控制数据的传输,就涉及到了传输控制规程协议

下面介绍两种:

①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传输,分组的发收顺序完全相同;分组中只带逻辑信道号,而不带地址。

虚电路的建立和释放需要占用一定的时间,不适合站点之间具有频繁的、短小数据交换的场合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/365038.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI模型的奥运会:谁将在OlympicArena中夺冠?

获取本文论文原文PDF,请在公众号【AI论文解读】留言:论文解读 引言:AI模型的奥林匹克级评测 评估和比较不同AI模型的性能始终是一个核心话题。随着技术的不断进步,这些模型在处理复杂任务的能力上有了显著的提升。为了更精确地衡…

pytest测试框架pytest-random-order插件随机执行用例顺序

Pytest提供了丰富的插件来扩展其功能,本章介绍下pytest-random-order插件,随机设置pytest测试用例的运行顺序,并对随机性进行一些控制。 官方文档: https://pytest-cov.readthedocs.io/en/latest/index.html 适配版本说明&#x…

istitle()方法——判断首字母是否大写其他字母小写

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 istitle()方法用于判断字符串中所有的单词首字母是否为大写而其他字母为小写。istitle()方法的语法格式如下: str.istitle() …

【超级简单】植物大战僵尸杂交版V2.1,手机上最简单的安装方法~!

大家好,我是坤坤黑科技!之前给大家分享了植物大战僵尸杂交版手机的安装方法,但是很多朋友还是因为操作难度大所以没有玩到。今天发现一个更加简单的在手机上玩植物大战僵尸杂交版的方法,直接安装就可以玩到最新的2.1版本~ 植物大…

基于UDP的网络聊天室(多线程实现收和发消息)

要求&#xff1a;1.有新用户登录&#xff0c;其他在线的用户可以收到登录信息 2.有用户群聊&#xff0c;其他在线的用户可以收到群聊信息 3.有用户退出&#xff0c;其他在线的用户可以收到退出信息 4.服务器可以发送系统信息 效果图&#xff1a; service.c #include <head…

【NodeJs】入门

目录 一、前导 二、 url模块 三、path模块 四、buffer模块 五、fs模块 六、stream流模块 七、os模块 八、crypto模块 九、util模块 十、http模块 nodejs官网 Node.js — 在任何地方运行 JavaScript nmp是Node.js包管理器&#xff0c;用来安装各种库、框架和工具&…

音视频开发30 FFmpeg 视频编码- 流程以及重要API,H264编码原理说明,该章节使用h264编码说明

一.H264编码原理 1 视频为什么需要进行编码压缩 ◼ 一张为 720x480 的图像&#xff0c;用 YUV420P 的格式来表示&#xff0c;其大小为&#xff1a; 720*480*1.5 约等于 0.5MB 。 ◼ 如果是 25 帧&#xff0c; 10 分钟的数据量 0.5M*10*60*25 7500MB -> 7GB 多 ◼ …

Open3D(C++) 删除点云中重复的点

目录 一、算法原理1、重叠点2、主要函数二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、重叠点 原始点云克隆一份   构造重叠区域   合并点云获得重叠点 2、主要…

2024 Parallels Desktop for Mac 功能介绍

Parallels Desktop的简介 Parallels Desktop是一款由Parallels公司开发的桌面虚拟化软件&#xff0c;它允许用户在Mac上运行Windows和其他操作系统。通过强大的技术支持&#xff0c;用户无需重新启动电脑即可在Mac上运行Windows应用程序&#xff0c;实现了真正的无缝切换。 二…

Python变量的命名规则与赋值方式

第二章&#xff1a;Python 基础语法 第一节&#xff1a;变量的命名规则与赋值方式 2.1.1 引言 在编程中&#xff0c;变量是存储数据的基本单元。变量的命名和赋值是编程语言中表达和操作数据的基础。了解和遵循变量命名规则对于编写清晰、可维护的代码至关重要。 2.1.2 变量…

基于Spring Boot的药房信息管理系统

1 项目介绍 1.1 研究的背景及意义 随着社会的飞速进步和药房行业竞争的白热化&#xff0c;传统的手工管理模式已难以适应药房信息管理的现代化需求。在计算机科学技术日臻完善的背景下&#xff0c;药房信息管理者们日益认识到运用计算机技术进行信息管理的迫切性和重要性。计…

【PL理论深化】(13) 变量与环境:文法结构 | 真假表达式:isZero E | let 表达式叠放 | 定义的规则 | 条件语句的使用

&#x1f4ac; 写在前面&#xff1a;从现在开始&#xff0c;让我们正式设计和实现编程语言。首先&#xff0c;让我们扩展在之前定义的整数表达式语言&#xff0c;以便可以使用变量和条件表达式。 目录 0x00 文法结构 0x01 真假表达式&#xff1a;isZero E 0x02 let 表达式叠…

Vite: 高阶特性 Pure ESM

概述 ESM 已经逐步得到各大浏览器厂商以及 Node.js 的原生支持&#xff0c;正在成为主流前端模块化方案。 而 Vite 本身就是借助浏览器原生的 ESM 解析能力( type“module” )实现了开发阶段的 no-bundle &#xff0c;即不用打包也可以构建 Web 应用。不过我们对于原生 ESM 的…

【2024-热-办公软件】ONLYOFFICE8.1版本桌面编辑器测评

在今日快速发展的数字化办公环境中&#xff0c;选择一个功能全面且高效的办公软件是至关重要的。最近&#xff0c;我有幸体验了ONLYOFFICE 8.1版本的桌面编辑器&#xff0c;这款软件不仅提供了强大的编辑功能&#xff0c;还拥有众多改进&#xff0c;让办公更加流畅和高效。在本…

【Linux】进程优先级 | 环境变量

目录 Ⅰ. 进程优先级&#xff08;Process Priority&#xff09; 1. 什么是进程优先级&#xff1f; 2. 查看系统进程 3. 修改进程优先级 4.优先级调度原理 Ⅱ. 进程的切换&#xff08;Process Switch&#xff09; 1. 竞争与独立 2. 并行与并发 3. 进程抢占 4.实现切换…

Python技术笔记汇总(含语法、工具库、数科、爬虫等)

对Python学习方法及入门、语法、数据处理、数据可视化、空间地理信息、爬虫、自动化办公和数据科学的相关内容可以归纳如下&#xff1a; 一、Python学习方法 分解自己的学习目标&#xff1a;可以将学习目标分基础知识&#xff0c;进阶知识&#xff0c;高级应用&#xff0c;实…

医院管理系统带万字文档医院预约挂号管理系统基于spingboot和vue的前后端分离java项目java课程设计java毕业设计

文章目录 仓库管理系统一、项目演示二、项目介绍三、万字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码带万字文档&#xff08;9.9&#xffe5;带走&#xff09; 仓库管理系统 一、项目演示 医院管理系统 二、项目介绍 基于springbootvue的前后端分离医院管…

LabVIEW遇到无法控制国外设备时怎么办

当使用LabVIEW遇到无法控制国外产品的问题时&#xff0c;解决此类问题需要系统化的分析和处理方法。以下是详细的解决思路和具体办法&#xff0c;以及不同方法的分析和比较&#xff0c;包括寻求代理、国外技术支持、国内用过的人请教等内容。 1. 了解产品的通信接口和协议 思路…

如何利用python画出AHP-SWOT的战略四边形(四象限图)

在企业或产业发展的相关论文分析中&#xff0c;常用到AHP-SWOT法进行定量分析&#xff0c;形成判断矩阵后&#xff0c;如何构造整洁的战略四边形是分析的最后一个环节&#xff0c;本文现将相关代码发布如下&#xff1a; import mpl_toolkits.axisartist as axisartist import …

基于FPGA的温湿度检测

初始化部分就不过多赘述&#xff0c;我会给出对应的文件&#xff0c;我只说明这部分里面涉及到使用的代码部分 1、数据的读取和校验 数据的读取和检验代码如下 always (posedge clk_us)if (data_temp[7:0] data_temp[39:32] data_temp[31:24] data_temp[23:16] data_te…