计算机网络|第二章 物理层|湖科大课程|从零开始的计网学习——物理层(计网入门就看这篇!)
图片来源于胡科大计算机网络课程,https://www.bilibili.com/video/BV1c4411d7jb?p=20&vd_source=deb12d86dce7e419744a73045bc66364。文章非盈利商业用途,供博主与大家学习参考,如有侵权,请联系我删除!
2.1物理层的基本概念
在计算机网络中,用来连接各种网络设备的传输媒体种类众多。大致可以分为两类:一类是导引型传输媒体,另一类是非导引型传输媒体。在导引型传输媒体中,常见的有双绞线、同轴电缆、光纤;在非导引型传输媒体中,常见的是微波通信,例如使用2.4GHz和5.8GHz频段的WiFi。
计算机网络中的物理层就是要解决在各种传输媒体上传输比特0和比特1的问题,进而给数据链路层提供透明传输比特流的服务。所谓“透明”,是指数据链路层看不见、也无须看见物理层究竟使用的是什么方法来传输比特0和比特1的。它只管享受物理层提供的比特流传输服务即可。
物理层为了解决在各种传输媒体上传输比特0和比特1的问题,主要任务分别是机械特性、电气特性、功能特性以及过程特性。
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。
物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。
2.2物理层下面的传输媒体
传输媒体不属于计算机网络体系结构的任何一层。如果非要添加,只能将其放在物理层之下。传输媒体可分为两类,一类是导引型传输媒体,另一类是非导引型传输媒体。
在导引型传输媒体中,电磁波被导引沿着固体媒体传播,常见的导引型传输媒体有同轴电缆、双绞线、光纤、电力线;而非导引型传输媒体是指自由空间,可使用的电磁波有无线电波、微波、红外线、可见光。
1 同轴电缆
同轴电缆价格较贵且布线不够灵活和方便,随着集线器的出现,在局域网领域基本上都是采用双绞线作为传输媒体。
2 双绞线
双绞线是最古老又最常用的传输媒体。双绞线一般可分为两种:无屏蔽双绞线电缆和屏蔽双绞线电缆
屏蔽双绞线电缆比无屏蔽双绞线电缆增加了金属丝编织的屏蔽层,提高了抗电磁干扰的能力,但价格也会更高。
3 光纤
光纤的优点
1.通信容量大(25000~30000GHz的带宽);
2.传输损耗小,远距离传输时更加经济;
3.抗雷电和电磁干扰性能好,这在大电流脉冲干扰的环境下尤为重要。
4.无串音干扰,保密性好,不易被窃听。
5.体积小,重量轻 。
光纤的缺点
1.割接需要专用设备;
2.光电接口价格较贵。
光纤传输原理
折射角大于入射角,该过程反复进行,光也就沿着光纤传输下去。
无脉冲展宽~
4 电力线
4 无线电波
5 微波
频率范围为300MHz~300GHz(波长1m~1mm),但主要使用2~40GHz的频率范围。微波在空间主要是直播传播。由于微波会穿透电离层而进入宇宙空间,因此它不能经过电离层的反射传播到地面上很远的地方。传统的微波通信一般有两种方式,一种是地面微波接力通信,另一种是卫星通信。微波在空间主要是直播传播而地球表面是一个曲面,因此其传播距离受到限制,一般只有50公里左右。但若采用100米高的天线塔,则传播距离可增大到100公里。为实现远距离通信,必须在一条微波通信信道的两个终端之间建立若干个中继站。中继站把前一站发送来的信号经过放大后再发送到下一站,故称为“接力”。
常用的卫星通信方法是在地球站之间,利用位于约3万6千公里高空的人造同步地球卫星作为中继器的一种微波接力通信,其最大特点是通信距离远。相应地,传播时延也比较大,一般在250~300ms之间。除同步卫星外,低轨道卫星通信系统已开始在空间部署,并构成了空间高速链路。
6 红外线
很多家用电器(例如:电视、空调等)都配套有红外遥控器。以前的笔记本电脑基本都带有红外接口,可以进行红外通信。
红外通信特点
属于点对点无线传输;
直线传输,中间不能有障碍物,传输距离短;
传输速率低(4Mb/s~16Mb/s)。
现在笔记本电脑已经取消了红外接口,但很多智能手机还带有红外接口,以方便用户对电视、空调等家用电器进行红外遥控。
7 可见光
LiFi通信
2.3 传输方式
串行传输
串行传输是一个比特一个比特依次传输,因此在发送端和接收端之间只需要一条数据传输线路即可。
并行传输
并行传输是指一次发送n个比特而不是一个比特,为此,在发送端和接收端之间需要有n条数据传输线路。
优点:
并行传输速率是串行传输速率n倍;
缺点:
成本高;
计算机内部的数据传输,常采用并行传输方式。例如CPU与内存之间,通过总线进行数据传输。
常见的数据总线宽度有8位、16位、32位和64位。
同步传输
数据块以稳定的比特流的形式传输,字节之间没有间隔。
接收端在每个比特信号的中间时刻进行检测,判别接收到的是比特0还是比特1。由于不同设备的时钟频率存在一定差异,不可能做到完全相同,在传输大量数据的过程中,所产生的判别时刻的累积误差,会导致接收端对比特信号的判别错位。因此,需要采取方法使收发双方的时钟保持同步。
实现收发双方时钟同步的方法主要有两种:
异步传输
采用异步传输时,以字节为独立的传输单位。字节之间的时间间隔不是固定的。接收端仅在每个字节的起始处对字节内的比特实现同步。为此,通常要在每个字节前后分别加上起始位和结束位。
这里的异步是指:
单工通信/单向通信
通信双方只有一个数据传输方向,例如:无线电广播采用的就是这种传输方式。
半双工通信/双向交替通信
通信双方可以相互传输数据,但不能同时进行。例如:对讲机采用的就是这种传输方式。
全双工通信/ 双向同时通信
通信双方可以同时发送和接收数据。例如:电话采用的就是这种传输方式。
单向通信只需一条信道, 而双向交替通信和双向同时通信都需要两条信道,每个方向各一条。
重点是理解同步和异步的内涵!!
2.4 编码与调制
信道
信号需要在信道中传输,信道可分为数字信道和模拟信道两种。
数字基带信号
在不改变信号性质的前提下,仅对数字基带信号的波形进行变换,称为编码。编码后产生的信号仍为数字信号,可以在数字信道中传输。例如,以太网使用曼彻斯特编码、4B/5B、8B/10B等编码。
把数字基带信号的频率范围,搬移到较高的频段并转换为模拟信号,称为调制。调制后的信号为模拟信号,可以在模拟信道中传输。例如,WiFi使用补码键控、直接序列扩频、正交频分复用等调制方法。
模拟基带信号
对于模拟基带信号的处理,也有编码和调制两种方法。对模拟基带信号进行编码的典型应用是:对音频信号进行编码的脉码调制PCM。也就是将模拟音频信号通过采样,量化,编码这三个步骤进行数字化。对模拟信号进行调制的典型应用是将语音数据加载到模拟的载波信号中传输,例如,传统的电话;另一个是频分复用FDM技术,充分利用带宽资源。
码元
在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形称为码元。简单来说,码元就是构成信号的一段波形。
这一段波形是构成该信号的一个基本波形,我们可称其为码元。它表示比特0,当然,也可以表示比特1;一种信号由两种码元构成。
传输媒体和信道不能直接划等号,对于单工传输来说,传输媒体中只包含一个信道,要么是发送信道,要么是接收信道;而对于半双工和全双工传输,传输媒体中要包含两个信道,一个是发送信道,另一个是接收信道。如果使用信道复用技术,一条传输媒体还可以包含多个信道。
在计算机网络中,常见的是将数字基带信号通过编码或调制的方法在相应信道进行传输。
常用编码
不归零编码
正电平表示比特1,负电平表示比特0;所谓不归零,就是指在整个码元时间内,电平不会出现零电平。
如何判断码元个数?
需要额外一根传输线来传输时钟信号,使发送方和接收方同步。接收方按时钟信号的节拍来逐个接收码元。对于计算机网络,宁愿利用这根数据线传输数据信号,而不是传输时钟信号!
由于不归零编码存在同步问题(缺点)。计算机网络中的数据传输不采用这类编码。
归零编码
很明显,每个码元传输结束后信号都要“归零”。所以接收方只要在信号归零后进行采样即可,不需要单独的时钟信号。
实际上,归零编码相当于把时钟信号用“归零”方式编码在了数据之内,这称为“自同步”信号。
但是,归零编码中大部分的数据带宽都用来传输“归零”而浪费掉了。
特点
优点:自同步;
缺点:编码效率低。
曼彻斯特编码
在每个码元的中间时刻,信号都会发生跳变。跳变的含义可以自己定义,例如:负跳变表示比特1(黄色向下箭头),正跳变表示比特0(白色向上箭头)。
码元中间时刻的跳变既表示时钟,又表示数据。
传统以太网使用的就是曼彻斯特编码。
差分曼彻斯特编码
在每个码元时间的中间时刻,信号都会发生跳变。但是此跳变只代表时钟信号。
具体的数据由码元开始处至码元结束出,电平是否变化来表示。
例如在码元结束和码元开始的时候电平做对比,有变化代表0/1,无变化代表1/0。(含义自己定义)
特点
1.跳变仅表示时钟;
2.码元开始处电平是否发生变化表示数据。
例题
解析:
1.10BaseT以太网使用的是曼彻斯特编码;
2.每个码元在中间时刻发生跳变,按此特点找出每个码元;
3.正跳变表示1还是0,负跳变表示0还是1,可自行假设。
正跳变表示比特1,负跳变表示比特0,原假设错误!故正跳变表示比特0,负跳变表示比特1。
基本调制方法
等待传输的数字基带信号也就是来自信源的原始数字信号。我们要使用模拟信道来传输。因此需要将数字基带信号通过调制方法,调制成可以在模拟信道中传输的模拟信号。
这是调幅所产生的模拟信号,无载波输出表示比特0,有载波输出表示比特1。
这是调频所产生的模拟信号,频率f1的波形表示比特0,频率f2的波形表示比特1。
这是调相所产生的模拟信号,初相位0度表示比特0,初相位180度表示比特1。
使用基本调制方法,1个码元只能包含1个比特信息。如何使1个码元包含更多的比特呢?
混合调制举例——正交振幅调制QAM
QAM-16
12种相位;
每种相位有1或2种振幅可选;
QAM-16可调制16种码元(波形),每种码元可以对应表示4个比特;
每个码元可以包含几个比特?
每个码元与4个比特的对应关系可以随便定义吗?
每个码元与4个比特的对应关系应该采用格雷码,也就是任意两个相邻码元只有1个比特不同。
物理层的主要任务就是解决比特0和比特1在线路上传输的问题。
2.5 信道的极限容量
失真因素:
码元传输速率、信号传输距离、噪声干扰、传输媒体质量等。
奈氏准则
在假定的理想条件下,为了避免码间串扰,码元传输速率是有上限的。
调幅、调频、调相都属于二元调制,只能产生两种不同的码元也就是两种不同的基本波形。因此每个码元只能携带1比特的信息量。
而混合调制属于多元调制,例如:QAM-16可以调制出16种不同的码元。因此每个码元可以携带4比特的信息量。
实际的信道所能传输的最高码元速率,要明显低于奈氏准则给出的这个上限数值。这是因为奈氏准则是在假定的理想条件下推导出来的,它不考虑其他因素,例如:传输距离、噪声干扰、传输媒体质量等。
香农公式
综合来看奈氏准则和香农公式,在信道带宽一定的情况下,根据奈氏准则和香农公式,要想提高信息的传输速率就必须采用多元制(更好的调制方法)和努力提高信道中的信噪比。
自从香农公式发表后,各种新的信号处理和调制方法就不断出现,其目的都是为了尽可能地接近香农公式给出的极限速率。
例题
自由空间:3*10^8 m/s
铜 线:2.3*10^8 m/s
光 纤:2.0*10^8 m/s
相关文章:
计算机网络|第二章 物理层|湖科大课程|从零开始的计网学习——物理层(计网入门就看这篇!)
图片来源于胡科大计算机网络课程,https://www.bilibili.com/video/BV1c4411d7jb?p20&vd_sourcedeb12d86dce7e419744a73045bc66364。文章非盈利商业用途,供博主与大家学习参考,如有侵权,请联系我删除!2.1物理层的基…...
【微服务】RabbitMQSpringAMQP消息队列
🚩本文已收录至专栏:微服务探索之旅 👍希望您能有所收获 一.初识MQ (1) 引入 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,可以立即得到响应,但是你却不能跟多个人同时通话。 异…...
jenkins +docker+python接口自动化之docker下安装jenkins(一)
jenkins dockerpython接口自动化之docker下安装jenkins(一) 目录:导读 1、下载jenkins 2、启动jenkins 3、访问jenkins 4.浏览器直接访问http://ip/:8080 5.然后粘贴到输入框中,之后新手入门中先安装默认的插件即可,完成后出…...
SpringBoot——Banner介绍
一、什么是BannerBanner即横幅标语,我们在启动SpringBoot项目时会将Banner信息打印至控制台。我们可以输出一些图形、SpringBoot版本信息等内容。默认情况下是通过实现类SpringBootBanner输出的Banner内容,默认的输出内容如下。二、自定义Banner如果不想…...
【STL】综述
STL,一文即可知 文章目录一、STL基本知识概述容器二、序列式容器详述数组容器array向量容器vector双端队列容器deque链式容器list正向链容器forward_list二、关联式容器详述红黑树RB-Tree哈希表参考博客😊点此到文末惊喜↩︎ 一、STL基本知识 概述 STL…...
C++中编译的静态库与动态库
1.什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载…...
JS对象到原始值的转换
JS对象到原始值转换的复杂性 主要由于某些对象类型存在不止一种原始值的表示 对象到原始值转换的三种基本算法 在解释三种算法前需要了解toString valueOf这两个方法 toString 返回对象的字符串表示Array类的toString方法会将每个元素转换为字符串,再使用逗号作为…...
深度复盘-重启 etcd 引发的异常
作者信息: 唐聪、王超凡,腾讯云原生产品中心技术专家,负责腾讯云大规模 TKE 集群和 etcd 控制面稳定性、性能和成本优化工作。 王子勇,腾讯云专家级工程师, 腾讯云计算产品技术服务专家团队负责人。 概况 作为当前中国…...
2023年春招热点面试题(一)------新特性
文章目录一、Spring 6.0 新特性二、Spring Boot 3.0 新特性三、JDK 系列 新特性A.**JDK8新特性(2014年初)(LTS版本)**B. **JDK9新特性(2017年9月)**C.**JDK10新特性(2018年3月)**D.*…...
工程项目管理系统源码+spring cloud 系统管理+java 系统设置+二次开发
工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…...
想要精通算法和SQL的成长之路 - 接雨水
想要精通算法和SQL的成长之路 - 接雨水前言一. 接雨水前言 想要精通算法和SQL的成长之路 - 系列导航 一. 接雨水 原题链接 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 输入:height [0,…...
Vue3 更高效的构建工具——Vite
文章目录前言一、Vite简介1. Vite组成2.为什么选 Vite?二、Vite的优缺点vite优点vite缺点三、使用Vite创建Vue3项目1. 创建 vite 的项目2.项目的结构前言 本文讲解了构建工具 Vite,目前只有vue3才可以使用Vite,如果本文对你有所帮助请三连支持博主。 下…...
优思学院|從《狂飙》高启强爱看的《孙子兵法》到六西格玛项目管理
近期最受人瞩目的,无疑是电视剧《狂飙》中出类拔萃的反派高启强。而在剧中,指引高启强走向顶峰的,正是那部著名的军事经典——《孙子兵法》。 在剧中,高启强在一次村庄改造项目上遇到了困难,但他仍保持冷静࿰…...
如何利用状态机编程实现启保停控制(含Stateflow模型介绍)
状态机的介绍这里不再赘述,概念也很简单没有过多的复杂理论。下面我们直接给出具体实现过程。有限自动状态机详细讲解请参看下面的文章链接: PLC面向对象编程系列之有限状态机(FSM)详解_RXXW_Dor的博客-CSDN博客_有限状态机 plc实现编写PLC控制机器动作类程序时,当分支比较…...
4. sql 语句中常用命令
1. 数据表: 本文中所有命令,测试的数据表结构如下图: 2. 查询语句: 2.1 基础查询:select //查询单个字段: select 字段名 from 表名; //查询多个字段 select 字段名1,字段名2,... from 表名; //查询所…...
第三章 Opencv图像像素操作
目录1.像素1-1.确定像素位置1-2.获取指定像素的像素值1-3.修改像素的BGR值2.用numpy模块操作像素2-1.创建图像1.创建黑白图像2.创建彩色图像3.创建随机图像2-2.拼接图像1.水平拼接hstack()方法2.垂直拼接vstack()方法1.像素 1.像素是构成数字图像的最小单位。每一幅图像都是由M…...
SpringBoot集成swagger3(CD2207)(内含教学视频+源代码)
SpringBoot集成swagger3(CD2207)(内含教学视频源代码) 教学视频源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87435564 目录SpringBoot集成swagger3(CD2207)&#…...
Go语言语言学习十三(反射的对象值)
在Go语言中反射不仅可以获取值的类型和种类,还可以获取值和更改值,使用reflect.ValueOf()获取和设置变量的值。 使用反射值包装任意值 Go语言通过reflect.ValueOf()获取的是值的反射值对象,书写格式如下 value : reflect.ValueOf(rawValue…...
【ESP 保姆级教程】玩转emqx数据集成篇② ——控制台输出动作(多用于测试环境调试功能)
忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-10 ❤️❤️ 本篇更新记录 2023-02-10 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...
MyBatis案例 | 使用映射配置文件实现CRUD操作——添加数据
本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等,如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址:🔥JavaWeb Java入门篇: 🔥Java基础学习篇 Java进阶学习篇&…...
2023年,什么样的CRM,才是您最需要的?
春节假期刚刚结束,当大家还沉浸在新春佳节的喜悦中时,很多地方已经争先恐后地奋力开跑了。近日,全国各地方政府相继出台并发布了2023年数字化转型规划,纷纷结合自身的区位特色和优势资源,明确2023年乃至此后数年的数字…...
【C语言】编程初学者入门训练(6)
文章目录51. 计算一元二次方程52. 获取月份天数53. 简单计算器54. 线段图案55. 正方形图案56. 直角三角形图案57. 翻转直角三角形图案58. 带空格直角三角形图案59. 金字塔图案60. 翻转金字塔图案51. 计算一元二次方程 问题描述:从键盘输入a, b, c的值,编…...
Java笔记-异常相关
一、异常概述与异常体系结构 Error:Java虚拟机无法解决的严重问题: JVM系统内部错误,资源耗尽,如:StackOverflow \OOM堆栈溢出 处理办法:只能修改代码,不能编写处理异常的代码 Exception:可以处理的异常 &…...
pytest-xdist测试用例并发
官方文档:pytest-xdist初次使用参考:Python测试框架pytest(22)插件 - pytest-xdist(分布式执行)pytest测试框架系列 - Pytest pytest-xdist 分布式、多进程并发执行用例你会用吗?Pytest-xdist并…...
大数据---Hadoop安装jdk简易版
编写自动安装jdk的shell脚本 完整流程: 大数据—Hadoop安装教程(一) 文章目录编写自动安装jdk的shell脚本上传压缩包编写shell脚本vim autoinstall.sh解压更名添加环境运行上传压缩包 在opt目录下创建连个目录install和soft 将压缩包上传到install目录…...
【0基础学爬虫】爬虫基础之爬虫的基本介绍
大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学…...
Python 数据库开发实战 - Python与Redis交互篇- 综合案例 - 新闻管理系统 - 缓存新闻数据至redis
接下来这个章节将继续来完成 《新闻管理系统》 这个项目,上一章节我们完成了 “发表新闻” 这个功能,在发表新闻后,什么时候才会缓存该条新闻记录呢?并不是说在发表新闻成功之后就立刻被缓存,而是该新闻被管理员审批通…...
Vue拼图验证
vue-puzzle-verification 封装的一个用于登录验证的拼图的vue组件,使用了canvas画图和拖拽的一些技巧。支持大小、形状、图片、偏差、范围的自定义。 一、安装使用 npm install vue-puzzle-verification 二、main.js里引入 import PuzzleVerification from vue…...
这个神器,让 Python 爬虫如此简单
相信大家应该都写过爬虫,简单的爬虫只需要使用 requests 即可。遇到复杂的爬虫,就需要在程序里面加上请求头和参数信息。类似这种: 我们一般的步骤是,先到浏览器的网络请求中找到我们需要的请求,然后将请求头和参数信…...
网络舆情公关必须把握的四项基本原则
在这个网络媒体占主导的时代,舆情公关进入了网络自媒体时代,有时候可能企业认为是小事儿,也可能在网上掀起轩然大波,所以网络舆情优化成为营销推广工作中重要一环。网络舆情优化的目标是让网络舆论对企业经营发展有利的方向发展&a…...
网站创建方案怎么写/开一个网站需要多少钱
zookeeper其中的一个功能就是实现集群master的选举功能,这篇文章就来实现一下这个master选举功能,并附上相应的demo 首先是应用原理,先上一个原理图 原理图结构图解释:左侧树状结构为zookeeper集群,右侧为程序服务器。…...
外贸公司图片/独立站seo优化
简介: 当一个Spark应用提交到集群上运行时,应用架构包含了两个部分 Driver Program(资源申请和调度Job执行)Executors(运行Job中Task任务和缓存数据),两个都是JVM Process进程 1: Driver程序运行的位置可以通过–depl…...
凡客建站官网登录/vivo应用商店
有时感觉技术选型就像个伪命题,胜出的技术占据绝对的主流,就像 java 领域中 ejb 被 ssh/ssi 框架取代。 大部分项目使用近似的模式搭建,选型在工程中变得似乎可有可无。 时间上胜出的开源技术帮助开发者在客观上做出了选择,我们先…...
装修设计软件知乎/前端优化
工厂模式定义:实例化对象,用工厂方法代替new操作。 接口(IBase): public interface IBase {void Excute(); } 实现类A(BaseAImpl): public class BaseAImpl : IBase {public void Excute(){Type type this…...
整站系统/新开网店自己如何推广
6.1.4 处理长ACL列表 ACL列表某些时候非常长。这样的列表在squid.conf文件里难以维护。你也可能想从其他资源里自动产生squid ACL列表。在如此情况下,你可以从外部文件里包含ACL列表。语法如下: acl name "filename" 这里的双引号指示squid…...
南京网站制作案例/知识营销案例
接上一节,咱们现在已经有了二个接口,分别是, app.get(/node_a 复制代码和 app.get(/node_a 复制代码以后还会有更多的接口,那么有必要在一个单独的地方来统一管理所有的接口。 在src目录下新建一个文件:api_dev.js&…...