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

上节内容传送口:数据通信原理基础


1.数据传输方式

1.1并行传输

并行传输:    字符编码的各个比特同时传输

特点: 一个比特时间内可传输一个字符,传输速度快,每个比特传输要求一个单独的信道支持,通信成本高,远距离传输时,线间干扰导致可靠性下降。

                                      

1.2串行传输

串行传输:将组成字符的各个比特串行地发往线路

特点:传输速度低,一次一个比特;通信成本较低,只需一个信道。

                               

1.3同步传输

同步传输:以多个字符或者多个比特组合成的数据块为单位进行传输,利用独特的同步模式来限定数据块,达到同步接收的目的。

SYN,SYN,G,H, …,B,A,SYN,D,E,SYN,SYN→传输方向

发送:同步符号(起始字符)+数据块+同步符号(结束字符)

接收:遇到同步符号,开始接收数据,直到结束符号为止。

同步符号:标识数据块的开始和结束

可能问题:假同步现象—数据块中含有与同步符号相同的内容

解决方法:增加匹配同步符号的难度

同步技术

目的: 保证接收方在时间上与发送方取得同步,以便能够正确地识别和接收发送方发来的数据。 位同步: 使接收方可以正确地接收各个比特。    

自同步法:接收方直接从数据波中获取同步信号(曼码)。    

外同步法:发送方在发数据前,先向接收方发一串同步时钟序列,接收方根据这一同步时序锁定接收频率。(异步传输的起始/终止位)

字符同步: 使接收方可以正确地识别数据群。    

利用同步传输时的同步字符(SYN),接收方在识别到独特的同步字符或同步模式后,才开始真正的数据接收。

1.4异步传输

异步传输:字符内部的各个比特采用固定的时间模式,每个字符独立传输, 字符之间间隔任意;用独特的起始位/终止位来限定每个字符,并同步双方的动作。 传输效率较低。

2.数据传输形式

单工传输 :任意时刻只允许向一个方向进行信息传输

                                                    

半双工传输: 可以交替改变方向的信息传输,但在任一特定时刻,信息只能向一个方向传输;                                              

全双工传输: 任意时刻信息都可进行双向的信息传输。    

                                              

3.传输差错处理

1.目的:保证信息传输的正确性;噪声导致差错,无差错处理能力的系统是不可用系统。

2.方法1:反馈重传法(ARQ) (1) 发送方发送具有检测错误能力的代码(检错码); (2) 接收方根据代码的编码规则,验证接收到的数据代码, 并将结果反馈给发送方(正确接收/接收有错); (3) 发送方根据反馈的结果决定是否执行重传动作,如果接收方未正确接收,则重传; (4) 在规定的时间内,若未能收到反馈结果(称为超时),则发送方可以认为传输出现差错,进而执行重传动作。(超时重传)

3.停-等协议

发送一块数据,计时。

等待接收方的反馈结果,如果接到否定确认,重新传输本数据块;

如果收到接收确认,继续发送后继块数据;

如果计时器超时,重新传输本数据块。

停—等协议流程:

收发双方以半双工方式进行工作, 特点:控制简单,易于实现;等待验证,效率较低。

4.滑动窗口协议—停等协议的改进

(1)  发方可以连续发送多块数据(块数限于窗口尺寸);  

(2)  收方对每块数据进行差错分析,如果发现错误,立即反馈发送方;  

(3)  收方可对收到的多个正确的数据块进行一次性确认;  

(4)  发方根据反馈的结果,重发指定的数据块(SB),或重发指定数据块及其之后的所有数据块(GBN),或者直接发送后续数据块。 SB:选择重传;GBN:后退N块重传

                                             

滑动窗口协议—流程示意;

允许连续发送多块数据;允许对多块数据统一确认。

特点:提高信道利用率,全双工方式,控制相对复杂。

5.方法2:前向纠错法(FEC)

发送方发送具有纠错能力的编码; 接收方根据编码规则纠正传输中的差错。

特点:无需反馈信道;编码复杂(纠错能力有限)。

6.常用检错码

检错码是差错检测的核心。

检错码=信息字段+校验字段(冗余字段)

校验字段和信息字段之间存在相关性、联动性;

校验字段越长,编码检错能力越强,编/解码设施越复杂;

附加的冗余信息在整个编码中所占的比例越大,传输的有效成分越低。    

传输顺序:信息字段在前,校验字段在后。

①奇偶校验码

奇/偶校验码的校验字段仅占1个比特(1位,校验位)。

(1) 水平奇/偶校验码  (可发现奇位错)

校验位的取值应使整个码字(包括校验位)中为“1”的比特个数为奇(偶)数。    

传输时,形成的校验位附加在信息字段之后传输。

编码效率: Q/(Q+1) (信息字段占Q个比特)  

异步传输方式中采用偶校验同步传输方式中采用奇校验

(2) 垂直奇/偶校验码  (可发现有限位错)  

将被传输的信息进行分组,每个分组(字符)的相同位进行奇/偶校验

编码效率为:   PQ/P(Q+1)   (假设信息分组占Q行P列)

(3) 水平垂直奇/偶校验码(可用于纠一位错)     同时实施水平、垂直校验,只能使用偶校验。

若被传的信息分组占Q行P列, 编码效率为QP/(P+1)(Q+1)

奇/偶校验码是最常用的校验码; 应用时应注意信息字段(字符)的传输方向(依赖通信协议);校验字段附接信息字段之后传输。

②循环校验码(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,0<i<R;g0 = gR =1,

原理:当确定字段长度后,任意一个二进制位串(字段)都可以和一个系数仅为0和1取值的多项式一一对应。

若信息字段为K位,校验字段为R位,则码字长度为:N=K+R;  

任一合法码字都可由一个R次多项式g(x)产生。  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

红黑树插入删除流程(流程图)

红黑树插入删除流程&#xff08;流程图&#xff09; 红黑树性质 左根右(二叉树&#xff09;根叶黑&#xff08;根节点是黑色的&#xff09;不红红&#xff08;不存在相邻两个红色节点&#xff09;黑路同&#xff08;对于每个节点&#xff0c;从该节点出发到任一空叶节点所经过…

收银系统源码-千呼新零售【全场景收银】

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

intellij idea中使用R语言plot画图无图像问题

1、在intellij idea中使用R语言plot函数时&#xff0c;会遇到各种各样的问题&#xff0c;会出现图片不显示问题&#xff0c; 可以看到&#xff0c;目前我电脑r语言版本为4.2.1&#xff0c;输入下面代码&#xff1a; # # 安装包 # install.packages(ggplot2) # library(ggplot2…

理解MySQL核心技术:外键的概念作用和应用实例

引言 在数据库管理系统&#xff08;DBMS&#xff09;中&#xff0c;外键&#xff08;Foreign Key&#xff09;是维持数据一致性和实现数据完整性的重要工具。本文将详细介绍MySQL外键的基本概念、作用&#xff0c;以及相关的操作指南和应用实例&#xff0c;帮助读者掌握并灵活…

实现了Map接口的HashMap

HashMap 底层主要由以下几个部分组成&#xff1a; 数组 (Node<K,V>[] table): 这是一个数组&#xff0c;存储的是链表的头节点。默认大小为 16。链表 (Linked List): 当发生哈希冲突时&#xff0c;即不同的键具有相同的哈希值&#xff0c;HashMap 使用链表来解决冲突。链…

2024年06月CCF-GESP编程能力等级认证Scratch图形化编程一级真题解析

本文收录于《Scratch等级认证CCF-GESP图形化真题解析》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(每题 3 分,共 30 分) 第1题 小杨父母带他到某培训机构给他报名参加 CCF 组织的 GESP 认证考试的第 1级,那他可以选择的认证语言有几种?( ) A、…

C++ | Leetcode C++题解之第204题计数质数

题目&#xff1a; 题解&#xff1a; class Solution { public:int countPrimes(int n) {vector<int> primes;vector<int> isPrime(n, 1);for (int i 2; i < n; i) {if (isPrime[i]) {primes.push_back(i);}for (int j 0; j < primes.size() && i …

百度网盘下载速度慢的解决办法

目录 一、背景 二、解决办法 1、点击三个竖点&#xff0c;再点设置 2、点击传输&#xff0c;再点击去开启该功能 3、点击同意&#xff0c;开启优化速率 三、结果 四、备注 一、背景 当你不是百度网盘会员时&#xff0c;你在使用百度网盘下载时&#xff0c;是否下载速度太…

isalnum()方法——判断字符串是否由字母和数字组成

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 isalnum()方法用于判断字符串是否由字母和数字组成。isalnum()方法的语法格式如下&#xff1a; str.isalnum() 如果字符串中至少有一个字…

缺少msvcp140一键修复方法,快速解决msvcp140.dll丢失问题

日常中电脑已经成为我们生活和工作中不可或缺的工具。然而&#xff0c;在使用电脑的过程中&#xff0c;我们常常会遇到一些问题&#xff0c;其中之一就是电脑运行软件时提示找不到msvcp140.dll。这个问题会导致软件无法启动运行&#xff0c;但只要我们了解其原因并采取相应的解…

六月,允许自己做自己,别人做别人

今天结束后&#xff0c;2024 就过去一半了。 年初的规划完成一半了吗&#xff1f;如果没有也没关系&#xff0c;做你自己继续前进。 家人来北京旅游&#xff0c;我累趴了 六月初&#xff0c;我搬家了&#xff0c;这次租了一整套房&#xff0c;是一个小俩居、还带一个小阁楼。…

鸿蒙如何打包应用程序

总结鸿蒙应用程序包 之前文章详细讲解了关于三种程序包的内容&#xff0c;现在简单总结一下&#xff1a; 1. 总结 首先需要搞清楚鸿蒙项目的模块Module的分类: Module分为“Ability”和“Library”两种类型 HAP HAP: Harmony Ability Package , 叫做鸿蒙Ability包。 “Abil…

静态时序分析:ideal_clock、propagated_clock以及generated_clock的关系及其延迟计算规则(二)

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 生成时钟 上一节中&#xff0c;我们讨论了理想时钟和传播时钟的创建和使用&#xff0c;本节将讨论生成时钟及其与理想时钟和传播时钟的关系。 图1所示的是一个简…

权限维持-域环境单机版---映像劫持(多)

目录 映像位置: 测试&#xff1a;执行 notepad 成 cmd 配合GlobalFlag隐藏-->执行正常关闭后触发 映像位置: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe 测试&#xff1a;执行 notepad 成 cmd…

Python和MATLAB粘性力接触力动态模型半隐式欧拉算法

&#x1f3af;要点 &#x1f3af;运动力模型计算制作过程&#xff1a;&#x1f58a;相机捕捉网球运动图&#xff0c;制定运动数学模型&#xff0c;数值微分运动方程 | &#x1f58a;计算运动&#xff0c;欧拉算法离散积分运动&#xff0c;欧拉-克罗默算法微分运动方程 &#…

VSCode + GDB + J-Link 单片机程序调试实践

VSCode GDB J-Link 单片机程序调试实践 本文介绍如何创建VSCode的调试配置&#xff0c;如何控制调试过程&#xff0c;如何查看修改各种变量。 安装调试插件 在 VSCode 扩展窗口搜索安装 Cortex-Debug插件 创建调试配置 在 Run and Debug 窗口点击 create a launch.json …

05 threeJs基础---阵列立方体和相机适配体验立方体

1.增加相机视角fov 注&#xff1a; 范围更大&#xff0c;意味着可以看到渲染范围更大&#xff0c;远小近大的视觉效果更明显 fov:眼球张开的角度&#xff0c;0时相当于闭眼。aspect:可视区域横纵比。near:眼睛能看到的最近垂直距离。far&#xff1a;眼睛能看到的最远垂直距离。…

12-Django项目--Ajax请求三

目录 路由 添加与编辑 视图函数 perform_list.html 路由 添加与编辑 视图函数 perform_list.html {% endblock %}{% block js %}<script>var DELETE_ID undefined;var MODIFY_ID undefined;$(function () {bindBtnAdd();bindBtnSave();bindBtnDelete();bindBtnDelet…

ESP32-S3[Wire.cpp:513] requestFrom(): i2cRead returned Error -1报错问题

前言&#xff1a; esp32本来是用的ESPWroom32&#xff0c;连接NFC模块&#xff0c;测试完功能是没有问题的&#xff0c;但是换成ESP32-S3&#xff0c;就会报这个错。 报错代码 EPSWroom32 ESP32-S3 解决办法 其实问题就出再ESP32-S3要多一步初始化I2C的代码&#xff0c;初始…

跟《经济学人》学英文:2024年6月22日这期 The exponential growth of solar power

The exponential growth of solar power will change the world An energy-rich future is within reach 原文&#xff1a; It is 70 years since AT&T’s Bell Labs unveiled a new technology for turning sunlight into power. The phone company hoped it could rep…