计算机网络之物理层(数据通信有关)
一、概述
1.1物理层引入的目的
屏蔽掉传输介质的多样性,导致数据传输方式的不同;物理层的引入使得高层看到的数据都是统一的0,1构成的比特流
1.2.物理层如何实现屏蔽
物理层靠定义的不同的通信协议(一般称通信规程)
这些协议的主要特征表现:物理层标准(机械特性(管脚多少,大小,形状),电气特性(电压高低)功能特性,过程特性(做出什么相应))
1.3物理层下的传输媒体
- 引导型传输媒体(有线)
- 非引导型传输媒体(无线)
重点:
双绞线的绞合目的:抵御部分来自外界的电磁波干扰和减少相邻导线的电磁干扰。
光纤分为:多模光纤和单模光纤。
1)导向性 (能够将数字信号按固定方向传导的)
铜介质:金属铜材料构成的
同轴电缆,双绞线(虽然带宽低,编码的方式提升了比特的传输速率)
塑料介质:
光纤导线
要求掌握:不同传输介质的传输特性,各种介质优缺点
2)非导向性(不能控制数据信号传输方向)
无线:
红外线(遥控器:功耗小)微波传输(卫星,空间站) Wi-Fi 蓝牙
1.4通信模型中相关术语
1)信息 :通讯的目的是传输信息
2)数据:数据是信息的载体
3)信号:数据的外在表现形式
信号分为:连续变化的模拟信号(正弦波),离散变化的数据信号(脉冲)
4)信号的变换:信号由一种形式变化成另一种形式 调制
数字信号---》数字信号 编码
数字信号---》模拟形式 调制
5)常见的编码技术
6)常见的调制技术
1.5传输方式
★串行/并行传输
串行传输是指数据是
1
个比特1
个比特依次发送的,发送端与接收端之间只用1
条数据传输线即可
并行传输是指一次发送n
个比特而不是一个比特,在发送端和接收端之间要有n
条传输线路
在计算机网络中,数据在传输线路上的传输时串行传输;而计算机内部(如CPU和内存)多使用并行传输
★同步传输
数据块以稳定的比特流形式传输,字节之间没有间隔。接收端在每个比特信号的中间时刻(有区分
0,1
的标志)进行检测,以判别接收到的是比特0
还是1
由于不同设备的时钟频率存在一定差异,不可能完全相同,在传输大量数据的过程中,所产生的判别时刻的累计误差会导致接收端对比特信号的判别错位。因此需要采取方法使双方的时钟保持同步
收发双方时钟同步方法
- 外同步:在收发双方之间加一条单独的时钟信号线
- 内同步:发送端将时钟同步信号编码到发送数据中一起传输(如曼彻斯特编码)
★异步传输
以字节为独立的传输单位,字节间的时间间隔不是固定的,接收端仅在每个字节的起始处对字节内的比特实现同步,为此通常传送前要在每个字节前后加上起始位和结束位。
- 异步是指字节之间异步(字节之间的时间间隔不固定)
- 字节中的每个比特仍然要同步(各比特的持续时间是相同的)
单工/半双工/全双工
- 单工通信:通信双方只有一个数据传输方向(无线电广播)
- 半双工通信:通信双方可以相互传输数据,但不能同时进行(对讲机)
- 全双工通信:通信双方可以同时发送和接收消息(电话)
单工需要一条信道;其他的需要两条(一个方向一条),
1.6编码与调制
消息:需要计算机帮助用户处理和传输的文字、图片、音频、视频等。
数据:运送消息的实体。计算机只能处理二进制数据。
信号:数据的电磁表现。
基带信号:由信源发出的原始电信号。基带信号又可分为两类:
- 数字基带信号
- 模拟基带信号
信道可分为数字信道和模拟信道两种。信号需要在信道中进行传输
常用编码
①不归零编码
正电平代表比特
1
,负电平代表比特0
。在整个码元时间内,电平不会出现零电平
这种编码方式如何区分连续几个相同电平呢?
这要求发送方发送和接收方接收严格同步,这就需要额外一根传输线来传输时钟信号。接收方按照时钟节拍逐个接收码元。但是对于计算机网络,多的线不如拿来传输数据,因此由于存在同步问题,计算机中的数据传输不使用不归零编码
②归零编码
每个码元传输结束后信号都要"归零",所以接收方只要在信号归零后进行采样即可,不需要单独的时钟信号。
实际上,归零编码相当于把时钟信号用"归零"方式编码在了数据之内,这称为"自同步"信号
归零编码中的大部分数据带宽都用来传输"归零"而浪费掉了(编码效率低)
③曼彻斯特编码
码元的中间时刻既表示时钟,又表示数据。根据正负跳变来区分比特
具体如何根据跳变实现同步?
第一次数据跳变的时间记录下来【即半个码元的时间】,此后每过一个码元的时间就进行检测,根据跳变方向决定数据为
0
还是1
。
④差分曼彻斯特编码
①跳变仅表示时钟 ②码元开始处电平是否发生变化表示数据。
比曼彻斯特变化少,更适合较高的传输速率
基本调制方法
1.7信道的极限容量
通信质量较差的信道在传输信号的过程中会发生严重失真(无法识别原信号)【码间串扰】
失真因素
- 码元传输速率
- 信号传输距离
- 噪声干扰
- 传输媒体质量
奈氏准则
信道传输容量
信号不能无限制的传输速率 在低通信情况下(无噪声,带宽受限)码元传输速率是有影响的 2W
香农公式
信道无差别传输速率
按香农定理指导,一定有一种方法保证数据能以这样的速率无差错的进行传输
1.8信道的复用技术
1)目的
提供传输介质的利用率
信道是信号传输通路,信道的载体是具体的传输介质
2)方法
频带细分;时间细分;编码细分
频分多路复用技术,将传输介质的同频带进行划分,划分出不同的子频带,然后让每一路信号在不同子频带上传输,从而让多路信号同时进行传输
3)具体实现
1.频分多路复用技术
2.时分多路复用技术
3.波分多路复用技术
4.码分多路复用技术
相关文章:

计算机网络之物理层(数据通信有关)
一、概述 1.1物理层引入的目的 屏蔽掉传输介质的多样性,导致数据传输方式的不同;物理层的引入使得高层看到的数据都是统一的0,1构成的比特流 1.2.物理层如何实现屏蔽 物理层靠定义的不同的通信协议(一般称通信规程) 这些协议…...
安卓开发之HTTP API服务接口设计(基于okhttp3请求)
安卓中的请求 OkHttp3 是一个开源的 Java/Android HTTP 客户端库,由 Square 公司开发。它提供了简洁和高效 的 API ,用于进行 HTTP 请求、处理响应以及与服务器进行通信。 以下是 OkHttp3 的一些主要特点和功能: 简单易用: OkHttp3 提供了简洁的 API ,使得发送 HTTP 请求变…...

我的第一次SACC之旅
今年有很多第一次,第一次作为“游客”参加DTCC(中国数据库大会),第一次作为讲师参与ACDU中国行(成都站),第一次参加OB年度发布会(包含DBA老友会),而这次是第一…...
Codeforces Round 908 (Div. 2)
Codeforces Round 908 (Div. 2) 文章目录 Codeforces Round 908 (Div. 2)ABCD A 获取对战的最后一个即为胜者 #include <bits/stdc.h>using namespace std;void solve() {int n;cin >> n;string s;cin >> s;cout << s[n-1] << endl; }int main…...

Java实现-数据结构 2.时间和空间复杂度
.如何衡量一个算法的好坏:时间复杂度和空间复杂度 算法效率分为时间效率和空间效率,时间效率称为时间复杂度,空间效率称为空间复杂度 时间复杂度 算法的时间复杂度是一个数学函数,它描述了算法的运行时间,一个算法执…...
Docker exec命令
docker exec :在运行的容器中执行命令。 语法: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]OPTIONS说明: -d:分离模式: 在后台运行 -i:即使没有附加也保持STDIN打开 -t:分配一个伪终…...

可燃气体监测仪助力燃气管网安全监测,效果一览
城市地下管线是指城市范围内供应水、排放水、燃气等各类管线及其附属设施,它们是保障城市正常运转的重要基础设施且影响着城市生命线。其中燃气引发的事故近些年不断增加,由于燃气管线深埋地下环境复杂,所以仅仅依赖人工巡查难以全面有效地防…...
Kafka(二)在WSL搭建Schema Registry
目录 1 Avro与Schema Registry2 搭建Schema Registry2.1 下载Confluent并解压2.2 设置环境变量2.3 修改配置2.4 启动服务 3 API列表 1 Avro与Schema Registry Apache Avro 是一种高效的数据序列化系统,用于在不同的应用程序和平台之间传输和存储数据。它提供了一种…...

webrtc AEC 线性滤波 PBFDAF(均匀分块频域自适应滤波)介绍
计算一个脉冲响应和输入信号的卷积,除了使用原始的时域卷积以外,还有如下方法: FFT卷积的方法:对输入信号(长度M)和脉冲响应(长度N)分别补零到K(K>MN-1),…...

开源vs闭源,处在大模型洪流中,向何处去?
文章目录 一、开源和闭源的优劣势比较1.1 开源优势1.2 闭源的优势 二、开源和闭源对大模型技术发展的影响2.1 数据共享2.2 算法创新2.3 业务拓展2.4 安全性和隐私2.5 社会责任和伦理 三、开源与闭源的商业模式比较3.1 盈利模式3.2 市场竞争3.3 用户生态3.4 创新速度 四…...

web前端之vue和echarts的堆叠柱状图顶部显示总数、鼠标悬浮工具提示、设置图例的显示与隐藏、label、legend、tooltip
MENU 效果图htmlJavaScripstyle解析 效果图 html <template><div><div><div id"idStackedColumnChart" style"width: 100%; height: 680px"></div></div></div> </template>JavaScrip export default {…...

Excel表中合并两个Sheet的方法?
按AltF11,调出Visual Basic 界面。 在左侧窗口中,右键选择“插入”—“模块”: 将如下代码粘贴进去,点击运行按钮,完成数据表合并。 Sub MergeAllSheetsInThisWorkbook() On Error Resume Next Application.ScreenU…...
1个10进制数转为2进制和转为8进制, 各位上数字后2进制的值与8进制的值相同的值有 1 8 9 64 问第23个值是多少?
1个10进制数转为2进制和转为8进制, 各位上数字后2进制的值与8进制的值相同的值有 1 8 9 64 问第23个值是多少? #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include<cmath&g…...
27、Nuxt.js项目整合ElementUI组件库
参考element-ui官网安装组件库 项目中新建插件引入element-ui plugins\element-ui.js import Vue from vue; import ElementUI from element-ui;Vue.use(ElementUI);nuxt.config.js plugins: ["/plugins/element-ui.js"],build: {// 将位于 node_modules 目录下的…...

设计问卷调查问题的9大技巧!技巧1:明确目标与问题
我们在设计问卷调查时要考虑很多因素,其中问卷问题是需要关注的重要因素之一。有效的问题能够帮助我们获取到有用的信息,让问卷结论更准确。怎么设计问卷调查的问题呢?本文就为大家提供几个设计问题时的神仙技巧! Tip1࿱…...

java代码调用twitter-api用例实战
一、申请twitter开发者账号 首先先申请twitter开发者免费的API,要填写申请的内容,放心大胆地写,申请完,会提供免费的API接口。 以下是我申请到的三个免费API 申请完开始进行测试调用。 读官方文档账户认证那块:https…...
UniWebView的更新日志【### 5.3.0 (28 Jan, 2023)】
UniWebView的更新日志 # Release Note ### 5.3.0 (28 Jan, 2023) #### Add * Support for customization of Kotlin and Android Browser package versions. This can help to resolve the conflict with other plugins which use another version of these packages. ###…...

【VScode】安装配置、插件及远程SSH连接
一、VSCode安装 二、配置安装插件 三、配置远程连接SSH 四、MinGW 一、VSCode安装 VS官网 Visual Studio Code - Code Editing. Redefined下载安装包: 二、配置安装插件 安装中文插件 配置字体为20 配置文件–>首选项->设置->Font Size为20 设置 VSC…...
IOS Frida 常用脚本
调用堆栈 console.log("bt:" + Thread.backtrace(this.context,Backtracer.ACCURATE).map(DebugSymbol.fromAddress).join(\n\t)); Hook 调用,修改返回值 // Get a reference to the openURL selectorvar openURL = ObjC.classes.UIApplication["- openURL:&qu…...
vuex actions异步请求 跟module模块化
actions vuex里面的异步操作,接受参数context ,参数有commt,getters,state 列如:调用 mutations 方法实现修改state 数据 (只能通过mutations 修改 state 数据) state:()>{count: 0, }mutations: {addCount(state)…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...