当前位置: 首页 > news >正文

计算机网络技术基础:6.数据传输方式

        数据传输是指利用信号把数据从发送端传送到接收端的过程,通常可以从多个不同的角度对数据传输方式进行描述。

一、并行传输和串行传输

        数据在信道上传输时,按照使用信道的多少可以分为串行传输和并行传输两种方式。

1.串行传输

        在计算机中,通常使用8个数据位来表示一个字符。串行传输指的是数据的若干位按顺序一位一位地传送,从发送端到接收端只要一条传输信道即可。

2.并行传输

        在进行近距离传输时,为获得较高的传输速率,使数据的传输时延尽量小,常采用并行传输方式,即字符的每一个数据位各占一条传输信道,通过多条并行的信道同时传输。例如,计算机内的数据总线就是采用并行传输的,根据信道数量不同可分为8位、16位、32位、和64位等等。

        串行传输可以节省传输线路和设备,利于远程传输,所以广泛用于远程数据传输。例如,通信网和计算机网络中数据传输都是以串行方式进行的。并行传输的速率高,但传输路线和设备都需要增加若干倍,一般用于短距离并要求快速传输的情况。

二、单工、半双工和全双工通信

        根据数据在信道上传输方向与时间的关系,数据通信方式分为单工、半双工和全双工通信。

1.单工通信

        单工通信又称单向通信。在单工通信中,数据固定地从发送端传送到接收端,即信息流仅沿一个方向流动。例如,无线广播采用的就是单工通信。

2.半双工通信

        半双工通信又称双向交替通信。在半双工通信中,数据可以双向传送,但不能在两个方向上同时进行。通信双方都具有发送器和接收器,但在同一时刻信道只能容纳一个方向的数据传输。例如,无线对讲机采用的就是半双工通信,当甲讲话时,乙无法讲话,等甲讲完后,乙才能讲话。

3.全双工通信

        全双工通信又称双向同时通信。在全双工通信中,同一时刻双方能在两个方向传输数据,它相当于把两个相反方向的单工通信方式组合起来。例如,打电话时,双方可以同时讲话。全双工通信效率高,但结构复杂,成本较高。

三、异步传输和同步传输

        当发送端将数据发送出去后,为保证数据传输的正确性,收发双方要同步处理数据。所谓同步,就是指通信双方在发、收时间上必须保持一致;否则,数据传输就会发生丢包或重复读取等错误。

        根据通信双方协调方式的不同,同步方式有两种:异步传输和同步传输。

1.异步传输

        异步传输又称为起止式传输。发送端可以在任何时刻向接收端发送数据,且将每个字符(5~8位)作为一个独立的整体进行发送,字符间的间隔时间可以任意变化。为了便于接收端识别这些字符,发送端需要在每个字符的前后分别加上一位或多位信息作为它的起始位和停止位。

        如果传送的字符由7位二进制组成,那么在其前后各附加一位起始位和停止位,甚至还有校验位,其字符长度将达10位。很显然,由于辅助位多,这种方式的传输效率很低,适用于低速通信。

2.同步传输

        同步传输要求数据的发送端和接收端始终保持时钟同步。根据同步通信规程,同步传输具体又分为面向字符的同步和面向位的同步。

(1)面向字符的同步

        发送端将字符分成组进行连续发送,并在每组字符前后各加一个同步字符(SYN)。当接收端接收到同步字符时开始接收数据,直到再次收到同步字符时停止接收,然后进入等待状态,准备下一次通信。

(2)面向位的同步

        发送端每次发送一个二进制位序列并在发送过程的前后分别使用一个特殊的8位位串(如01111110)作为同步字节来表示发送的开始和结束。

        在同步传输中将整个字符组作为一个单位进行传送,且附加位比较少,从而提高了数据传输效率。这种方式一般用于高速传输数据的系统中。但是要求收发双方的时钟严格同步,加重了数据通信设备的负担,如果传输的数据中出现与同步字符(或同步字节)相同的数据,则需要额外的技术来解决;如果一次传输有错,则需要将该次传输的整个数据块进行重传。

四、基带传输和频带传输

        在数据通信中,计算机等设备产生的信号是二进制数字信号,即“1”和“0”。若要在相应的信道中传输,需要转换成适合传输的数字信号或模拟信号。数字信号在信道中的传输技术分为基带传输和频带传输两类。

1.基带传输

        由计算机等设备直接发出的数字信号是一连串矩形电脉冲信号,包含直流、低频和高频等多种成分。在其频谱中,从零到能量集中的一段频率范围称为基本频带,简称基带。在线路上直接传输数字基带信号称为基带传输。

        基带传输中,发送端需要用编码器对数字信号进行编码,然后在接收端由译码器进行解码才能恢复发送端发送的数据。在实际应用中,常采用非归零编码、曼彻斯特编码和差分曼彻斯特编码3种编码方法。

        基带传输时一种最简单的传输方式,它抗干扰能力强、成本低,但是由于基带信号含有从直流到高频的频率特性,传输时必须占用整个信道,因此信道利用率低。另外,基带传输信号衰减严重,传输的距离受到限制,因此常用于局域网。

2.频带传输

        在实现远距离通信时,最经常使用的仍然是普通的电话线。电话信道的带宽为3.1KHz,只适用于传输音频范围为300Hz~3400Hz的模拟信号,不适用于直接传输频带很宽而且又集中在低频段的数字基带信号。因此必须将数字信号转换成模拟信号进行传输。

        一般采用的方法是发送端在音频范围内选择某一频率的正(余)弦波作为载波,用它寄载所要传输的数字信号,通过电话信道将其送至接收端;在接收端再将数字信号从载波上分离出来,恢复为原来的数字信号。这种利用模拟信道实现数字信号传输的方法称为频带传输。

        在频带传输中,由发送端将数字信号转换成模拟信号的过程称为调制,使用的调制设备称为调制器;在接收端把模拟信号还原为数字信号的过程称为解调,使用的设备称为解调器。同时具备调制和解调功能的设备称为调制解调器(Modem,俗称“猫”)。在实现全双工通信时,则要求收发双方都安装调制解调器。

相关文章:

计算机网络技术基础:6.数据传输方式

数据传输是指利用信号把数据从发送端传送到接收端的过程,通常可以从多个不同的角度对数据传输方式进行描述。 一、并行传输和串行传输 数据在信道上传输时,按照使用信道的多少可以分为串行传输和并行传输两种方式。 1.串行传输 在计算机中,…...

免费开源了一个图床工具 github-spring-boot-starter

文章目录 第一步,新建一个SpringBoot项目第二步,在pom文件里面引入jar包第三步,配置你的github信息github.authorization1、进入github官网,登录账号,点击头像,选择setting2、选择[Developer Settings](htt…...

Mysql之YUM安装时GPG 密钥报错问题处理

一、背景说明 使用YUM安装mysql5.7的时候报错,报错信息提示未安装公钥。博主查看/etc/yum.repos.d/mysql-community.repo配置文件中关于公钥的配置,确实启用了公钥验证,博主再排查过程中还是走了一些弯路,最终顺利解决了&#xff…...

Hw亮度省电

1. 亮度控制策略 /decompile-hw/decompile/app/HwPowerGenieEngine3/src/main/res/xml/backlight_policy.xml <?xml version"1.0" encoding"utf-8"?> 2 <backlight_policy xmlns:android"http://schemas.android.com/apk/res/android&qu…...

【信息系统项目管理师-论文真题】2015下半年论文详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论题一:大项目或多项目的成本管理解题思路写作要点论题二:项目的采购管理解题思路写作要点论题一:大项目或多项目的成本管理 随着移动互联网、物联网、云计算、大数据等新一代信息技术的广泛应用,我国目前…...

django的model中定义【记录修改次数】的这个字段该用什么类型

django中定义对于某个文章应用的数据库中使用到记录修改次数的这个字段 如models.py中的配置 from django.db import models from django.utils import timezone from django.contrib.postgres.fields import ArrayFieldclass Article(models.Model):# Titlestitle_cn model…...

windows openssl编译x64版libssl.lib,编译x64版本libcurl.lib,支持https,vs2015编译器

不要纠结&#xff0c;直接选择用perl编译&#xff01; 告诫想要用弄成vs编译版的&#xff0c;暂时先别给自己增加麻烦 告诫&#xff0c;以下执行的每一步&#xff0c;都不要纠结 先安装环境 nasm 64位版本 https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-…...

搭建 Elasticsearch 集群:完整教程

本文将详细介绍如何在 Linux 环境下搭建一个 Elasticsearch 集群&#xff0c;涵盖环境准备、配置优化、服务启动等多个环节。 一、环境准备 创建安装目录 mkdir /es cd /es解压 Elasticsearch 安装包 tar -xzf elasticsearch-7.10.1-linux-x86_64.tar.gz -C /es配置环境变量 编…...

如何实现序列化和反序列化?如何处理对象的生命周期管理?

序列化和反序列化 实现思路&#xff1a; 序列化&#xff1a;将对象的状态信息转换为可以存储或传输的格式&#xff0c;通常是字节流。 确定要序列化的对象的数据成员。将这些数据成员按照一定的规则&#xff08;如二进制、文本、JSON、XML 等&#xff09;编码为字节序列。将生…...

WPF+MVVM案例实战与特效(三十八)- 封装一个自定义的数字滚动显示控件

文章目录 1、运行效果2、案例实现1、功能设计2、页面布局3、控件使用4、运行效果3、拓展:多数字自定义控件1、控件应用4、总结1、运行效果 在Windows Presentation Foundation (WPF)应用程序中,自定义控件允许开发者创建具有特定功能和外观的独特UI元素。本博客将介绍一个名…...

docker安装Redis、docker使用Redis、docker离线安装redis、Redis离线安装

服务器到期了&#xff0c;换了一个新的环境要重搭&#xff0c;就记录一下好了&#xff1a; -----docker在线安装Redis 拉取 Redis 镜像 docker pull redis:6.2 运行 Redis 容器 docker run --name redis -d redis docker run --name redis -d redis:6.2 映射端口 docker run -…...

单目动态新视角合成

目录 单目动态新视角合成 Generative Camera Dolly:Extreme Monocular Dynamic Novel View Synthesis 单目动态新视角合成 Generative Camera Dolly: Extreme Monocular Dynamic Novel View Synthesis Generative Camera Dolly: Extreme Monocular Dynamic Novel View Synth…...

STM32--IO引脚复用

IO引脚复用...

Python字符串及正则表达式(十):字符串常用操作、字符串编码转换

前言&#xff1a;在编程的世界里&#xff0c;字符串无处不在。它们是构建用户界面、存储数据、进行通信的基础元素。无论是财务系统的总账报表、电子游戏的比赛结果&#xff0c;还是火车站的列车时刻表&#xff0c;这些信息最终都需要以文本的形式呈现给用户。这些文本的背后&a…...

前端的Python入门指南(完):错误和异常处理策略及最佳实践

《前端的 Python 入门指南》系列文章&#xff1a; &#xff08;一&#xff09;&#xff1a;常用语法和关键字对比&#xff08;二&#xff09;&#xff1a;函数的定义、参数、作用域对比&#xff08;三&#xff09;&#xff1a;数据类型对比 - 彻底的一切皆对象实现和包装对象异…...

LeetCode 2475 数组中不等三元组的数目

问题描述: 给定一个下标从 0 开始的正整数数组 nums&#xff0c;我们的目标是找出并统计满足下述条件的三元组 (i, j, k) 的数目&#xff1a; 0 < i < j < k < nums.length&#xff0c;这确保了三元组索引的顺序性。nums[i]、nums[j] 和 nums[k] 两…...

【和春笋一起学C++】字符串比较

目录 C语言字符串比较 C语言字符比较 C字符串比较 C语言字符串比较 在C语言中用于比较字符串的函数为strcmp函数&#xff0c;该函数定义在头文件<string.h>中&#xff0c;是一个标准库函数。strcmp函数的工作原理是逐字符比较两个字符串&#xff0c;直到找到不同的字符…...

HTTP 协议报文结构 | 返回状态码详解

注&#xff1a;本文为 “HTTP 历史 | 协议报文结构 | 返回状态码” 相关文章合辑。 未整理去重。 HTTP 历史 wangjunliang 最后更新: 2024/3/16 上午10:29 超文本传输协议(英语:HyperTextTransferProtocol,缩写:HTTP)是 万维网(World Wide Web)的基础协议&#xff61;自 蒂姆…...

.net winform 实现CSS3.0 泼墨画效果

效果图 代码 private unsafe void BlendImages1(Bitmap img1, Bitmap img2) {// 确定两个图像的重叠区域Rectangle rect new Rectangle(0, 0,Math.Min(img1.Width, img2.Width),Math.Min(img1.Height, img2.Height));// 创建输出图像&#xff0c;尺寸为重叠区域大小Bitmap b…...

LearnOpenGL学习(高级OpenGL - - 实例化,抗锯齿)

实例化 对于在同一场景中使用相同顶点数据的对象&#xff08;如草地中的草&#xff09;&#xff0c;可以使用实例化&#xff08;Instancing&#xff09;技术&#xff0c;用一个绘制函数让OpenGL绘制多个物体&#xff0c;而非循环&#xff08;Drawcall: N->1&#xff09;。 …...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...