[计算机网络基础]物理层详解

news2024/11/19 22:50:43

首先说明,基本的概述我还没写完,那部分虽然简单但是感觉要照顾到很多概念.....

以及本系列博客使用点模型并非iso模型,也并非tcp/IP模型,而是我们俗称的教学模型

也就是:物理层,数据链路层,网络层,传输层,应用层这五个,整个模型大多数是在教学中使用的,现实中基本不会这样子划分.但是网络分层本身就是一共封装的过程,所以无伤大雅,该学还是能学.

(1)物理层的含义,以及主要功能:

物理层,顾名思义就是整个计算机网络层次结构中最下面的一层,有的时候他并不算在实际的网络和内容中,因为他真的主要是由显示物理媒介和一些转换器构成的

物理层的主要功能是传输比特位,bit也就是物理层的PDU(协议数据单元).并且在传输的时候,把比特转化为媒介中能够传递的数据信号.简单来说,物理层专注于使用媒介,在两个相邻节点之间传递数据比特.

物理媒介严格来说不能算是物理层,但是不同的媒介确实对应了不同的方法(包括编码什么的).但是物理层封装了具体的传输原理和媒介之间的差异,向上方的数据链路层提供了更加简约而稳定的服务,某种意义上讲也体现了一定的模块化和封装思想.

(2)物理层的主要传输方式:

物理层的传输方式有很多,并且可以区分成不同的维度,这里大多数时候只要了解即可

1.串行和并行:

串行和并行的概念已经很简单了,串行传输是在同一个链路上进行的,成本较低但是效率不高

并行和操作系统中常用的并发也不一样,是真正意义上的多个多条传输链路,成本肥肠高

穿行和并行没法简单地使用一共tradeoff来进行概括,不同的场景有不同的用法,比如这张示意图:

两个计算机之间进行传输数据,在远距离的时候使用串行运输,在近距离(计算机内部)为了更好的效率和性能,我们使用并行传递数据.网卡实现了这种传并行转化

2.同步和异步

同步传输传递的是比特流,在每个字节之间没有区分,这就导致了一些传递的信息可能会造成混淆,无法划分出字节.这就要求双方对比特传输信号的事件和频率有共同的约定,但是总会受到噪声等等影响,所以我们有外同步和内同步两种手段:

* 外同步:指的是我们再单独拉一根时钟信号线,用来传输起始信号

* 内同步:我们在传递的数据之间,将时钟编码信号通过归零(归零编码)跳变(曼彻斯特,差分曼彻斯特等等手段)嵌入传输的数据流中,整个将在后面编码的时候做详细解释.

异步传递的是字节,由于异步的传递双方无法约定时间,所以要在字节的前后分别加上一个开始位和截止位.但是字节内部的比特仍然是同步的,所以判断终止和开始的单位肯定是字节了.

3.按照通信方向,

我们可以简单地区分为:

单向,双向交替通信,双向同时通信

单向顾名思义,就是只能往一个方向进行传递,交替双向的意思就是同一时刻只能一个方向.而双向同时就很简单,完完全全是双向的.

(3)调制和编码

首先先明确一个定义:基带信号,由一系列0和1组成,一切信源发送过来的信号(麦克风,视频,摄像头,还有比如图片文件等等,都会转化为这种信号)

1.调制

但是基带信号由于一些原因,比如频率较低等等,很难直接传递在信道上,所以我们必须要进行一些处理,将其转化为数字信号或者模拟信号,整个过程就被称之为调制.

(这里先说神魔是数字信号和模拟信号,其实这就是两种不同的信号调制结果,差不多区别就这样,将就看)

左侧为数字信号的基本情况,数字信号的特征是离散的,可以被数字信道所传输

右侧为模拟信号的基本情况,模拟信号的特征是连续的,可以被模拟信道传输,但是这种信号容易受到噪声的影响,经常用来代表连续的频率这种概念.

 其中,基带调制就是把原有的数字信号变得更加合理,适合在信道中传递,所以整个过程也是我们所俗称的'编码'.

2.码元

(虽然这个的谐音词是我学的最认真但是分数最低的一门...........)

`对于模拟信号和数字信号的图像来说,码元指的是能代表一个离散数值的片段.借用一下网图

数字信号的图片可能更明显一点,对应一个脉冲就是一个码元........

反正大概就是代表一个离散数值/信号的区间/段就对啦.....

3.编码:

之前说过,对于数字信号的调制,我们要进行编码,并且在这个编码的过程中,我们需要一些设置来解决同步的问题.

常用的编码方式一共有四种,不归零编码,归零编码,曼彻斯特以及差分曼彻斯特编码四种,下面将一一解释,其中曼彻斯特和差分曼彻斯特还会有各自的例题需要处理:

* 不归零编码:

不归零编码,就是严格按照这个脉冲数据进行编码的,或者说压根就没有编码,问题也很明显,我们无法解决时钟同步的问题,也就是不知道什么时候是下一个bit

 * 归零编码中,

我们设置了一共零电平的位置(注意不是0),而原本的0和1分别被我们称之为高电平和低电平.每次完成一个脉冲以后,会立刻回到0电平的位置,这个0电平就代表了一共时钟信号.

(在数字信号调制的时候,我们将这种内置时钟信号的编码称之为自同步编码)

* 曼彻斯特编码:

曼彻斯特编码的一个特征就是,增加了一个跳变的因素,这跳变的方向就代表了1或者0,而且跳变本身的出现就是时间信号的象征

比如这样子的跳变就代表1 这样子的跳变代表0:,但是值得注意的一点是曼彻斯特编码并没有明确规定向上是0还是向下跳变是0,这个可以通过各种假设来进行判断.

* 差分曼彻斯特编码:

差分曼彻斯特编码中,跳变仅仅只是提供时间信号的判断,而具体的信号判断是使用本码元的前半部分和前码元的后半部分是否一致进行判断的,如果是0,则本码元的前半部分和前一个码元的后半部分会发生差异.

这样子的说法可能有点抽象,我们来举一个实际的例子来作为画图和解题时候的方法步骤规范 

首先要明白每个码元中间的跳变是一定会发生的,因为这个代表了时间信号,我们需要去关注的,是这样这样的部分,该码元的开始和上一个码元的结束会不会有变化,而这个变化就是该位置0来决定的.所以在这里跳变的部分我们用绿色来进行展示

然后我们可以知道下一个码元是0,所以这个位置要发生跳变,所以这里的结果就是

然后下一个码元是1,1就不发生变化了,所以就是

所以这个差分曼彻斯特编码的结果就是:101001 

*做个简单的总结:归零编码和两种曼彻斯特都是子同步,通过归零和跳变,把时钟这一信号存入了比特流的内部.

(4)关于信道的容量

1.关于信号的失真

有的时候,我们去传输一些信号,总会发生信号失真的情况(distort),这种失真如果放在图像中是这样子的

因为信道的传输是有自己的限制的,比如容量,带宽,允许最大速度等等.还有一些其他的因素比如说噪声,这些都会影响到我们最终得到的波形信号.

,我们需要通过公式计算出合理的,或者说最大还有极限的码元传输速率:主要由奈氏准则和香农公式来计算.

首先说一下关于频率的事情,在计算机图形学中我们有过这样一条知识:通过傅里叶变换,可以把一个函数转化为很多不同的函数,也就是把图片实域转化为一很多不同的函数,也就是频率

对于一个数字信号来说,我们可以用很多模拟信号的类似叠加方式得到一个近似数字信号的模拟信号.

信道在不同的状态下都存在一个最大码元传输速率,对于数字信号来说,由于信道的频率带宽是有限的,所以高频信号无法通过,这就导致码元之间区分不明显,成就了码间串扰,也就是失真的根本原因之一,我们要避免码间串扰

这种情况最直接的处理方法自然是扩大信道的频率带宽,比如原本是2100-100=2000hz的带宽,我们扩大到3000hz-100hz=2900hz的情况,这种自然是可行的,但是毕竟做什么成本都优先,为了避开码间串扰这种情况,我们需要去计算出最大码元传输速率,只要不超过这个,理论上就不会发生信号的串扰情况.

(特别注明,这个单位叫做频率带宽)

 在这里其实要介绍的不是很多,主要要知道两个东西,如何用奈氏准则计算低通信道下的最大码元传输速率,以及如何试用香农公式计算有噪声的情况下所允许的极限码元传输速率..

2.奈氏准则

首先来说奈氏准则

在理想的,没有噪声的条件下,一个信道的码元最大传输速率,和信道本身的频率带宽是一致的

信道的传输速率为Baud,也就是波特率,单位为码元/秒,也被称为调制速率等等

信道带宽我们称之为W

则奈氏准则的计算公式为:

对于低通信道:

对于带通信道:

奈氏准则是一种肥肠理想的情况,规定了一个最大的码元传递速率,如果我们想要在这个基础上进行提高,我们能做的事情就是提升单一码元所携带的信息量

3.香浓公式

香浓公式涉及到了另一个单位量,或者说另外两个单位量:信噪比,传输功率和噪声.

香农公式用来计算有噪声,并且带宽受限制的情况,肥肠重要

(5)关于信道复用的方式:

信道不能只给一个用户用,因为那就变成接线传递,梦回上世纪了,我们可以通过种种办法让传输信息的信道被多个用户所用.

不过在此之前,我们要明白单独依靠信道是不可能完成这个任务的,信道上的信息都在一起了,总需要什么东西把他们分开,然后放给各个用户,这就需要两个结构,我们称之为复用器和分用器,起到了很简单的区分作用.

后面的四种方法都沿用了这一操作

* 频分复用:

频分复用就是使用了信道中有一定的频率带宽,我们就可以通过拆分,规定不同的频率区间可以被不同的用户所同时使用.

简单来说,就是实现了同步,不同频.

* 时分复用

时分复用其实就是分时操作,我们先来介绍最基础的TDM分时复用,这种分时复用是按照用户的数目,划分出一个时间帧,一个帧可以理解为一个周期,在这个周期中,我们给每个用户一小段时间做自己的事情,原理和分时复用是差不多的

和上一个相反,用户在自己的时间段内独占这个信道,也就是同频,但不同时

但是这样的时分服用会带来一个问题,就是如果某个用户在规定的时间片内没有使用传递数据,那么这段时间就被浪费了,降低了传输率.

所以我们有另一种STDM时分复用,最开头的S是静态的意思,在STDM帧中,不是为每个用户都划分属于自己的时间片.而是进行动态的调整.当用户的传输数据发送来的时候,会先存入这个帧数中,等到这个帧满了就直接发送.

因为不是规定好的用户时间片划分,所以我们要做的事情去就是给时间片加上一些地址还有复用的信息.其中,给数据做集中的集中器为智能复用器 .

* 波分复用:

波分复用其实就是频分复用在光波作为媒介的时候,就是频率从电子变成了光波,一种情况,应用比较广泛

*码分复用 :

(终于到最后的重头戏了,我写了一整天了真的是....)

码分复用不再是在空间和时间上作出区分,而是使用数学方法实现复用和分用两个功能

对于每个用户,我们给他们一个专属而随机的伪随机序列号,被称之为码片(chip)

比如我们有三个用户,码片分别为

A1011
B1010
C0110

然后在传输信号的时候,我们规定传递1的时候,用的是码片的原文,传递0的时候用的是码片的反码.

并且在传递的时候,我们需要把这个随机序列号按照1->+1 , 0->-1这个规律,转化为码片向量

A(1011)(+1,-1,+1,+1)
B(1010)(+1,-1,+1,-1)
C(0110)(-1,+1,+1,-1)

使用这个码片向量,我们就可以进行一些传输操作

(另外注意一点:传递0的时候,码片向量也要取反)

比如我们同时想要传递这些信息:A:1,B:0,C:什么都传递

则信道中的复合向量应该是:1*A + -1*B + 0*C

(这也是一个要注意的点,当什么都不传递的时候,对应的码片向量*0即可) 

所以这个时候的信道量为 (0,0,0,+1)

接下来展示使用信道量进行解码的过程

信道量解码很简单,就是乘以对应的码片向量,

计算结果如果为1,则代表传递了1

计算结果为-1,则代表传递了0

否则则是没有参与这次传递

这样就能直接根据000-1解码出结果了

做总结:

物理层实现的功能不多而且基础,主要是用来传递实际的信号,解决了最根本的传递问题.见哲学复杂的物理还有时间问题封装起来,向上层提供简单的接口服务

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring容器ioc和di

spring ioc 容器的创建 BeanFactory 接口提供了一种高级配置机制,能够管理任何类型的对象,它是SpringIoC容器标准化超接口! ApplicationContext 是 BeanFactory 的子接口。它扩展了以下功能: 更容易与 Spring 的 AOP 功能集成消…

K8S云计算系列-(3)

K8S Kubeadm案例实战 Kubeadm 是一个K8S部署工具,它提供了kubeadm init 以及 kubeadm join 这两个命令来快速创建kubernetes集群。 Kubeadm 通过执行必要的操作来启动和运行一个最小可用的集群。它故意被设计为只关心启动集群,而不是之前的节点准备工作…

echarts仪表盘vue

<div class"ybptx" ref"btryzb"></div>mounted() {this.getBtData();},getBtData() {var chart this.$echarts.init(this.$refs.btryzb);var data_czzf 88;var option {series: [{name: 内层数据刻度,type: gauge,radius: 80%,min: 0,max: 1…

Selenium+Pytest自动化测试框架

前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象&#xff0c;封装继承 一定的selenium基础——本篇不讲selenium&#xff0c;不会的可以自己去看selenium中文翻译网 测试框架简介 测试框架有什么优点呢&#xff1a; 代码复用率高&…

【安全】linux audit审计使用入门

文章目录 1 audit简介2 auditctl的使用2 audit配置和规则3 工作原理4 audit接口调用4.1 获取和修改配置4.2 获取和修改规则4.3 获取审计日志 5 audit存在的问题5.1 内核版本5.2 审计日志过多造成的缓存队列和磁盘问题5.2 容器环境下同一个命令的日志存在差异 6 参考文档 1 audi…

【gmail注册教程】手把手教你注册Google邮箱账号

手把手教你注册Google邮箱账号 写在前面&#xff1a; 要注意&#xff0c;注册Google邮箱必须要确保自己能够 科学上网&#xff0c;如果暂时做不到&#xff0c;请先进行相关学习。使用的手机号是大陆&#xff08;86&#xff09;的。 在保证自己能够科学上网后&#xff0c;在浏…

[硬件基础]-双稳态多谐振荡器配置

双稳态多谐振荡器配置 文章目录 双稳态多谐振荡器配置1、概述2、双稳态多谐振荡器的内部运行原理 在上一篇文章中&#xff0c;我们深入了解了555定时器在单稳态模式下的内部工作原理。 如果您已经理解了上一篇文章&#xff0c;那么本文对您来说将会非常简单。 我们将研究 555 定…

C++ - 智能指针 - auto_ptr - unique_ptr - std::shared_ptr - weak_ptr

前言 C当中的内存管理机制需要我们自己来进行控制&#xff0c;比如 在堆上 new 了一块空间&#xff0c;那么当这块空间不需要再使用的时候。我们需要手动 delete 掉这块空间&#xff0c;我们不可能每一次都会记得&#xff0c;而且在很大的项目程序当中&#xff0c;造成内存泄漏…

【合集】Java进阶——Java深入学习的笔记汇总 JVM底层、多线程、类加载 ...

前言 spring作为主流的 Java Web 开发的开源框架&#xff0c;是Java 世界最为成功的框架&#xff0c;持续不断深入认识spring框架是Java程序员不变的追求&#xff1b;而spring的底层其实就是Java&#xff0c;因此&#xff0c;深入学习Spring和深入学习Java是硬币的正反面&…

[代码随想录]二叉树篇

文章目录 1. 二叉树之层序遍历1.1 144-二叉树的前序遍历1.2 94-二叉树的中序遍历1.3 145-二叉树的后序遍历1.4 102-二叉树的层序遍历1.5 107-二叉树的层序遍历II1.6 199-二叉树的右视图1.7* 637-二叉树的层平均值1.8* 429-N叉树的层序遍历1.9 515-在每个树行中找最大值1.10* 11…

【算法挨揍日记】day14——724. 寻找数组的中心下标、238. 除自身以外数组的乘积

724. 寻找数组的中心下标 724. 寻找数组的中心下标 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标&#xff0c;其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端&#…

客户成功体系如何构建?请看这7步

⭐简单说两句⭐ 作者&#xff1a;后端小知识 CSDN个人主页&#xff1a;后端小知识 &#x1f50e;GZH&#xff1a;后端小知识 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 客户成功体系如何构建&#xff1f;请看这7步 在中国企业服务领域的…

js获取当前月第一天最后一天

【版权所有&#xff0c;文章允许转载&#xff0c;但须以链接方式注明源地址&#xff0c;否则追究法律责任】【创作不易&#xff0c;点个赞就是对我最大的支持】 前言 仅作为学习笔记&#xff0c;供大家参考 总结的不错的话&#xff0c;记得点赞收藏关注哦&#xff01; 目录 …

C++ DAY 5

#include <iostream>using namespace std;class Sofa { private:string sit; public:Sofa(string s "-") :sit(s){cout << "sofa 构造函数" << endl;}void show (){cout << sit << endl;} }; class Bed { private:string sl…

Spring框架是什么Spring框架的体系结构

Spring框架是什么 Spring是为企业Java最流行的应用程序开发框架。数以百万计的世界各地的开发人员使用Spring框架来创建高性能&#xff0c;易于测试的&#xff0c;可重用的代码。 Spring框架是一个开源的Java平台&#xff0c;它最初是由Rod Johnson编写并在2003年6月在Apache2…

Logo设计教程:从入门到精通的全程指导

如果你想制作一个专业的Logo标识&#xff0c;但是又缺乏设计技能&#xff0c;那么乔拓云可以帮助你轻松完成这个任务。以下是通过乔拓云制作Logo标识的简单步骤&#xff1a; 1. 注册并登录乔拓云账号 访问乔拓云官网&#xff0c;注册并登录你的账号。登录后&#xff0c;你将进…

麒麟系统加密/麒麟系统防泄密

​深信达网络科技有限公司自主研发的深信达主机加固系统软件V2.0、深信达沙盒防泄密系统软件V5.0&#xff0c;与麒麟软件完成兼容认证&#xff0c;并被纳入麒麟软件安全生态联盟成员之一。 麒麟软件主要面向通用和专用领域打造安全创新操作系统产品和相应解决方案&#xff0c;以…

Linux 中如何安全地抹去磁盘数据?

哈喽大家好&#xff0c;我是咸鱼 离过职的小伙伴都知道&#xff0c;离职的时候需要上交公司电脑&#xff0c;但是电脑里面有许多我们的个人信息&#xff08;聊天记录、浏览记录等等&#xff09; 所以我们就需要先把这些信息都删除&#xff0c;确保无法恢复之后才上交 即有些…

Etsy店铺爆单的7个技巧

2023年跨境电商行业趋势愈发旺盛&#xff0c;目前正处于红利期&#xff0c;而作为近年来的电商网红“Etsy”&#xff0c;以其低成本低竞争高回报的优势吸引了大批的跨境电商玩家。但仅仅入驻照搬其他平台经验很难出单&#xff0c;如果你正烦恼这个问题&#xff0c;那么接下来的…

人工智能在教育上的应用2-基于大模型的未来数学教育的情况与实际应用

大家好&#xff0c;我是微学AI ,今天给大家介绍一下人工智能在教育上的应用2-基于大模型的未来数学教育的情况与实际应用&#xff0c;随着人工智能(AI)和深度学习技术的发展&#xff0c;大模型已经开始渗透到各个领域&#xff0c;包括数学教育。本文将详细介绍基于大模型在数学…