单工通信、半双工通信和全双工通信的区别

article/2025/10/14 17:02:10

对于点对点之间的通信,按照消息传送的方向与时间关系,通信方式可分为单工通信半双工通信全双工通信三种。

一、单工通信

单工通信(Simplex Communication)是指消息只能单方向传输的工作方式。

在单工通信中,通信的信道是单向的,发送端与接收端也是固定的,即发送端只能发送信息,不能接收信息接收端只能接收信息,不能发送信息。基于这种情况,数据信号从一端传送到另外一端,信号流是单方向的。

例如:生活中的广播就是一种单工通信的工作方式。广播站是发送端,听众是接收端。广播站向听众发送信息,听众接收获取信息。广播站不能作为接收端获取到听众的信息,听众也无法作为发送端向广播站发送信号。

通信双方采用“按——讲”(Push To Talk,PTT)单工通信属于点到点的通信。根据收发频率的异同,单工通信可分为同频通信和异频通信 。

二、半双工通信

半双工通信(Half-duplex Communication)可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。

在这种工作方式下,发送端可以转变为接收端;相应地,接收端也可以转变为发送端。但是在同一个时刻,信息只能在一个方向上传输。因此,也可以将半双工通信理解为一种切换方向的单工通信。

例如:对讲机是日常生活中最为常见的一种半双工通信方式,手持对讲机的双方可以互相通信,但在同一个时刻,只能由一方在讲话。

三、全双工通信

例如TCP连接的断开过程【四次挥手】就是一个全双工通信,所以要有4次挥手。

全双工通信(Full duplex Communication)是指在通信的任意时刻,线路上存在A到B和B到A的双向信号传输。 全双工通信允许数据同时在两个方向上传输,又称为双向同时通信,即通信的双方可以同时发送和接收数据。在全双工方式下,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送。全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信号。(可能还需要控制线和状态线,以及地线)。

理论上,全双工传输可以提高网络效率,但是实际上仍是配合其他相关设备才有用。例如必须选用双绞线的网络缆线才可以全双工传输,而且中间所接的集线器(HUB),也要能全双工传输;最后,所采用的网络操作系统也得支持全双工作业,如此才能真正发挥全双工传输的威力。

例如:计算机主机用串行接口连接显示终端,而显示终端带有键盘。这样,一方面键盘上输入的字符送到主机内存;另一方面,主机内存的信息可以送到屏幕显示。通常,往键盘上打入1个字符以后,先不显示,计算机主机收到字符后,立即回送到终端,然后终端再把这个字符显示出来。这样,前一个字符的回送过程和后一个字符的输入过程是同时进行的,即工作于全双工方式 。

下图说明了三者的通信方式的不同:

在这里插入图片描述

拓展

单工、半双工和全双工是电信计算机网络中的三种通信信道。这些通信信道可以提供信息传达的途径。通信信道可以是物理传输介质或通过多路复用介质的逻辑连接。物理传输介质是指能够传播能量波的材料物质,例如数据通信中的导线。并且逻辑连接通常指电路交换连接或分组模式虚拟电路连接,例如无线电信通道。由于通信信道的帮助,信息可以无障碍地传输。

参考:https://blog.csdn.net/m0_37805255/article/details/101157017


http://chatgpt.dhexx.cn/article/e2yZA3Ed.shtml

相关文章

【网络基础】半双工和全双工

讨论在网络中使用的两种不同的传输类型。 半双工(half duplex)和全双工(full duplex)。 引入基带传输、宽带传输两种传输频带,并讨论全双工的实现。 半双工 在半双工的网络中,两个设备使用网络电缆互连成一…

【数据存储】分布式文件系统SeaweedFS

2021.05.25 初始seaweedFS 安装 1、先去GitHub下载所需版本 linux_amd64.tar.gz2、然后放到服务器的文档中 /opt/software3、解压安装 tar -zxvf ./linux_amd64.tar.gz -C /opt/install/seaweed4、在seaweed安装包下安装seaweedfs文件夹及其下属两个文件夹 mkdir -p ./se…

seata

Seata 1 seata概述 1.1 Seata简介 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 1.1.1 AT 模式 基于支持本地 ACID…

Selective sweep与Genomic island

最近在阅读文献时遇到了“genomic island”的概念,其概念并不难理解,但是其形成的机制之一“selective sweep”比较难理解。之前在一篇综述(Variation of the adaptive substitution rate between species and within genomes)中我…

Docker seaweedfs

2019独角兽企业重金招聘Python工程师标准>>> 关于seaweedfs的介绍我就不在此文赘述,本文的主要目的是讲述我在docker中运行seaweedfs遇到的一些问题。 这是我搜集的一些关于SeaWeedFS的资料 ps.不管是在物理机还是docker之中运行seaweedfs,建…

Seaweed-fs

windows–文件服务器weed集群操作: weed master -ip 127.0.0.1 weed volume -max10 -mserver“127.0.0.1:9333” -ip127.0.0.1 -port9331 -dir“C:\data1” weed volume -max10 -mserver“127.0.0.1:9333” -ip127.0.0.1 -port9332 -dir“C:\data2” Linux部署文件…

seaweedfs上传文件为什么要先申请文件号?(/dir/assign)(两种工作模式:Volume模式与Filer模式)(seaweed上传文件)

文章目录 SeaweedFS两种工作模式Volume模式Filer模式总结 SeaweedFS两种工作模式 SeaweedFS是一个分布式文件系统,它有两种模式:Volume模式和Filer模式。 Volume模式 在Volume模式下,需要先申请文件号,因为SeaweedFS会为每个文…

docker部署seaweedf

总的来说需要两个文件,如下: 1、compose.yml 需要注意:network_mode 模式、ip为宿主机ip version: 3.3services:master:network_mode: "host"image: chrislusf/seaweedfs # use a remote imagecommand: "master -ip172.0.1…

浅析 SeaweedFS 与 JuiceFS 架构异同

SeaweedFS 是一款高效的分布式文件存储系统,最早的设计原型参考了 Facebook 的 Haystack,具有快速读写小数据块的能力。本文将通过对比 SeaweedFS 与 JuiceFS 在设计与功能上的差异,以帮助读者进行更适合自己的选择。 SeaweedFS 系统结构 S…

seaweedfs 部署使用

seaweedfs是一个非常优秀的由 golang 开发的分布式存储开源项目。它是用来存储文件的系统 seaweedfs的特点: 1 可以成存储上亿的文件(根据你硬盘大小变化) 2 速度快 weed-fs自身可以在两种模式下运行,一种是Master,另…

SeaweedFs分布式文件存储实战

背景: 需求重点:大量小文件,读场景多,磁盘存储有限,要能支持fuse挂载,兼容s3接口 公司最近要进行分布式文件服务的选型,起因是因为公司目前有一些设备上报的文件或者日志性能管理文件需要定时…

SEA~~

抹平One-Stage与Two-Stage目标检测之间的差距 ,重新讨论了单阶段和两阶段的检测器蒸馏任务 在这讨论了单阶段和两阶段的检测器蒸馏任务,并提出了一个简单而有效的语义感知框架来填补它们之间的空白。作者通过设计类别Anchor来生成每个类别的代表性模式,…

SeaweedFS容器部署(seaweed部署、seaweedfs部署)(文件块chunks概念)(master节点与volume节点通信原理)(seaweed上传seaweed下载)

官网链接:https://github.com/seaweedfs 文章目录 seaweed简介seaweedfs文件块概念(chunks)分布式部署时master节点与volume节点通信原理seaweed容器部署方法单个节点部署部署方法(mastervolum)(mastervolu…

seaweedfs服务启动参数及翻译(seaweed参数、seaweed命令、weed参数、weed命令)(在单个容器同时启动master、volume、filer服务)

文章目录 weed命令翻译weed server命令翻译 weed filer命令 docker容器运行示例(docker run命令)以下是一个在单个容器启动master、volume、filer服务的示例 weed server 容器debug 版本:3.47从官方镜像docker容器里扒下来的,只扒…

Paramiko: Python使用paramiko连接主机报错“Authentication timeout”

问题描述: 在用Python Paramiko库去连接主机时 始终无法连接,exception输出错误仅有 Authentication timeout connection paramiko.SSHClient()connection.set_missing_host_key_policy(paramiko.AutoAddPolicy())try:connection.connect(hostname192.1…

安装paramiko模块

使用Python实现自动化运维巡检网络设备,需要使用到paramiko模块 下载过程: 进入至CMD命令提示符 win r 跳转出 " 运行 " 窗口 打开内输入" cmd " 进入命令提示符 安装paramiko模块 cmd输入:pip install paramiko PS&…

python-paramiko安装

paramiko 安装坑比较多 测试环境: python3.7.9 win10 安装步骤: pip install pep517 pip install cryptography pip install paramiko

Python paramiko 模块详解与SSH主要功能模拟

我们知道,通过SSH服务可以远程连接到Linux服务器,查看上面的日志状态,批量配置远程服务器,文件上传,文件下载等,Python的paramiko模块同样实现了这一功能。 首先我们需要安装这一模块,pycharm环…

paramiko的安装

import paramiko 出错 直接通过下列代码即可,无需安装VS之类的 pip install paramiko 再上一步安装了paramiko之后,若您安装了pycharm ,博主安装的是pycharm 2018 community版则可通过File --> setting -->下列方式 步骤1&#xf…

Python模块之paramiko

Paramiko paramiko模块,基于SSH用于连接远程服务器并执行相关操作。 一、安装 1 pip3 install paramiko 二、使用 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: 1 import paramiko2 3 # 创建SSH对象4 ssh paramiko.SSHCli…