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

计算机网络之物理层——基于《计算机网络》谢希仁第八版

  • (꒪ꇴ꒪ ),Hello我是祐言QAQ
  • 我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍
  • 快上🚘,一起学习,让我们成为一个强大的攻城狮!
  • 送给自己和读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!
  • 作者水平很有限,如果发现错误,请在评论区指正,感谢🙏


        计算机网络体系结构的物理层就是要解决在各种传输媒体上传输比特零和一的问题,进而给数据链路层提供透明传输比特流。所谓透明,是指数据链路层看不见也无需看见物理层究竟用的是什么方法来传输比特零和一,他只管享受物理层提供的比特流传输服务。

       此外物理层是计算机网络体系结构中最底层的层次,负责在物理媒介上传输原始的比特流。它的主要任务是将数据链路层传递下来的数据封装成适合在物理媒介上传输的信号,并确保这些信号能够被接收端正确地解码。

一、物理层的基本概念及主要任务

        物理层主要关注数据的传输方式和传输介质的特性。它定义了数据传输的机械特性、电气特性、功能特性和过程特性。具体而言,物理层需要解决以下问题:

        机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等;

        电气特性:指明在接口电缆的各条线上出现的电压的范围(传输速度、距离限制);

        功能特性:指明某条线上出现的某一电平的电压表示何种意义(规定接口的信号线作用);

        过程特性:指明对于不同功能的各种可能事件的出现顺序(时序关系)。

        通过定义这些特性,物理层为数据链路层提供了透明的比特流传输服务,使得上层协议可以在不同的物理媒介上进行通信,而无需关心底层的具体实现细节。其次物理层的主要任务包括:

        比特流的传输:物理层负责将数据链路层传递下来的比特流转换为适合在物理媒介上传输的信号,并在接收端将这些信号转换回比特流。 物理连接的建立、维持和释放:物理层需要管理物理连接的生命周期,包括连接的建立、维持和释放。信号的编码和调制:物理层需要将比特流编码为适合传输的信号,并可能需要对信号进行调制,以适应不同的传输媒介。传输速率的控制:物理层需要控制数据的传输速率,以适应不同的传输媒介和设备的能力。

二、数据通信的基本知识

        在深入了解物理层之前,首先需要掌握一些数据通信的基本概念。

2.1 数据通信系统的模型

        一个典型的数据通信系统包括源系统、传输系统和目的系统。源系统负责生成要传输的数据,传输系统负责将数据从源系统传输到目的系统,目的系统负责接收并处理数据。

        源系统一般包括一下两个部分:
        (1)源点(source):源点设备产生要传输的数据,例如,从PC机的键盘输入汉字,PC机产生输出的数字比特流。源点又称为源站,或信源。
        (2)发送器:通常源点产生的数字比特流要通过发送器编码后才能够在传输系统中进行传输。典型的发送器就是调制器。现在好多PC机使用内置的调制解调器(包括调制器和解调器),用户在PC机外面看不见调制解调器。
        目的系统一般包括一下两个部分:
        (1)接收器:接收传输系统传送过来的信号,并把它转换为能够被目的设备处理的信息。典型的接收器就是解调器,它把来自传输线路上的模拟信号进行解调,提取出在发送端置入的消息,还原出发送端产生的数字比特流。
        (2)终点:终点设备从接收器获取传送来的数字比特流,然后把信息输出。

2.2 信道的概念

        信道是指用于传输信息的物理媒介。根据传输方向的不同,信道可以分为单工、半双工和全双工。单工信道只能单向传输,半双工信道可以双向传输但不能同时进行,全双工信道则可以同时双向传输。

 2.3 编码与调制

        在实际通信系统中,编码和调制通常是结合使用的,以实现更高的传输效率和可靠性。例如,在无线通信中,常采用自适应调制与编码(AMC,Adaptive Modulation and Coding)技术,根据信道条件动态调整编码和调制方式,以优化传输性能。

        计算机需要处理和传输用户的文字图片音频和视频,他们统称为消息,而数据是运送消息的实体,相较于人类比较熟悉的十进制数据,而计算机只能处理二进制数据,也就是比特零和比特一。

        计算机中的网卡将比特零和比特一变换成相应的电信号发送到网线,也就是说信号是数据的电磁表现。由信源发出的原始电信号称为基带信号,基带信号又可分为两类:

        (1)数字基带信号,例如计算机内部CPU与内存之间传输的信号;

        (2)模拟基带信号,例如麦克风收到声音后产生的音频信号。

        此外信号需要在信道中进行传输,信道可分为数字信道和模拟信道两种。在不改变信号性质的前提下,对数字基带信号波形进行变换,称为编码。编码后产生的信号仍为数字信号,可以在数字信道中传输;把数字信号的频率范围搬移到较高的频段,并转换为模拟信号,称为调制。调制后产生的信号是模拟信号,可以在模拟信道传输。

2.3.1 基本调制方法介绍

(1)常用编码方式

不归零制:正是1,负是0
归零制:正脉冲是1,负脉冲是0
曼切斯特编码:位周期中心向上跳是0,向下是1
查分曼切斯特:中心都跳变,边界跳变是0,不跳变是1

(2)调制方法

        调制是将信息信号转换为适合在传输媒介上传输的形式的过程。其主要目的是使信号能够在特定的传输媒介上有效传播,并抵抗噪声和干扰。

        模拟调制是通过改变载波信号的某一特性(如幅度、频率或相位)来表示信息信号的过程。 常见的模拟调制方式包括:

        调幅(AM):通过改变载波的幅度来表示信息信号;

        调频(FM):通过改变载波的频率来表示信息信号;

        调相(PM):通过改变载波的相位来表示信息信号。

       数字调制是将数字信息映射到模拟信号的过程。 常见的数字调制方式包括:

        幅度键控(ASK):通过改变载波的幅度来表示不同的数字状态;

        频率键控(FSK):通过改变载波的频率来表示不同的数字状态;

        相位键控(PSK):通过改变载波的相位来表示不同的数字状态;

        正交幅度调制(QAM):结合幅度和相位调制,在同一频率上同时传输多个比特。

2.4 信道的极限容量

         香农定理(Shannon Theorem)是信息论的基石之一,它指出,信道的最大传输速率与信道带宽和信噪比有关。具体而言,信道的最大传输速率等于带宽乘以信噪比的对数值。

(1)香农定理的公式

        在加性高斯白噪声(AWGN)信道中,信道的最大传输速率(即信道容量)C与信道带宽B和信噪比S/N之间的关系可以用以下公式表示:

        C:信道容量,单位为比特每秒(bps)。
        B:信道带宽,单位为赫兹(Hz)。
        S:信号功率,单位为瓦特(W)。
        N:噪声功率,单位为瓦特(W)。
        S/N:信噪比,即信号功率与噪声功率的比值。

        该公式表明,信道的最大传输速率取决于信道的带宽和信噪比。增大带宽或提高信噪比都可以提高信道的容量。然而,增大带宽时,噪声功率也会相应增加,因此,信道容量的提升并非线性。

(2)香农极限

        在给定的信道带宽和信噪比条件下,存在一个理论上的最大传输速率,即香农极限。当传输速率接近或达到香农极限时,误码率会急剧增加。因此,实际通信系统的设计需要在传输速率和误码率之间进行权衡。它告诫工程人员,在有噪声的实际信道上,无论采用多么复杂的编码技术,都不能突破上述公式给出的信息传递速率的绝对极限。

三、物理层的传输媒体

        传输媒体又称介质,物理层使用不同的传输媒体来传输信号,主要包括:导引型传输媒体非导引型传输媒体。

3.1 导引型传输媒体

(1)双绞线

        比较古老但是常用,即把两根互相绝缘的铜导线排放在一起,用规则的方法绞合(twist)起来构成双绞线,绞合度越高,数据传输率越高。

(2)同轴电缆

        由内导体、绝缘层、外导体和外护套组成,抗干扰能力强,适用于长距离传输

(3)光纤

        光纤凭借其高带宽、长距离传输、抗干扰、安全性、轻便性和耐腐蚀性,成为现代通信系统中不可或缺的关键组件。

3.2非导引型传输媒体

(1)无线电波

        无线电波通信利用电磁波在空间传播,实现信息的远距离传输。它广泛应用于广播、电视、移动通信和卫星通信等领域。

        无线电波通信的优势包括:

  • 无需物理介质:信息通过电磁波在空间传播,无需依赖物理线路;

  • 覆盖范围广:能够覆盖广阔的地理区域,适用于远距离通信;

  • 适应性强:可在各种环境条件下工作,适应性强。

(2)微波接力

        微波接力指中继站把前一站发送的信号放大后再发送到下一站。微波是频率范围约为300 MHz至300 GHz的电磁波,波长介于1米至1毫米之间。其具有直线传播、易于定向和穿透性强等特性。微波广泛应用于通信、雷达、加热等领域。

        微波的主要特性:

  • 直线传播:微波沿直线传播,遇到障碍物时会被反射或吸收。

  • 高频率:微波的频率高于无线电波,低于红外线。

  • 穿透性强:微波能够穿透云层、雨雪等天气条件,适合用于卫星通信。

(3)卫星通信

        卫星通信利用人造地球卫星作为中继站,通过转发或反射无线电波,实现地球站之间的通信。这种方式突破了地理限制,提供了广泛的覆盖范围,特别适用于偏远地区和海上通信。

        卫星通信的主要特点:

  • 广泛覆盖:卫星通信能够覆盖地球表面的大部分区域,尤其适用于地面通信设施难以到达的地区。

  • 高带宽:卫星通信系统通常提供较大的带宽,支持高速数据传输,满足视频会议、互联网接入等高数据率应用的需求。

  • 稳定性:卫星通信系统的中继站位于太空,受地面天气和地理条件影响较小,通信质量相对稳定。

        不同的传输媒体具有不同的特性,如带宽、传输距离、抗干扰能力和成本等。物理层需要根据具体的应用场景选择合适的传输媒体。

四、信道复用技术

        

4.1 频分复用(FDM)

        将信道的带宽划分为多个子带宽,每个子带宽用于传输不同的信号。

4.2 时分复用(TDM)

        将时间划分为多个时隙,每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,其中,TDM信号为等时信号。

4.3 波分复用(WDM)

        在光纤通信中,使用使用一根光纤同时传输多个频率很接近的光载波信号,使光纤的传输能力成倍提高。

4.4 码分复用(CDM)

        在CDM中,每个用户被分配一个唯一的码字,这些码字通常是正交的,即它们之间的内积为零。这种正交性确保了各用户信号的相互干扰最小化。发送时,用户的数据信号与其对应的码字进行乘法调制,生成扩频信号。接收端通过与相应的码字进行匹配解调,恢复出原始数据信号。

        更多C/C++语言Linux系统数据结构ARM板实战相关文章,关注专栏:

   手撕C语言

            玩转linux

                    脚踢数据结构

                            系统、网络编程

                                     探索C++

                                            计算机网络

                                                      6818(ARM)开发板实战

                                                               MATLAB实战  

📢写在最后

  • 今天的分享就到这啦~
  • 觉得博主写的还不错的烦劳 一键三连喔~
  • 🎉🎉🎉感谢关注🎉🎉🎉

相关文章:

计算机网络之物理层——基于《计算机网络》谢希仁第八版

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮&#xff0…...

简讯:Rust 2024 edition and v1.85.0 已发布

详见 https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html 升级方法:rustup update stable...

DeepSeek写俄罗斯方块手机小游戏

DeepSeek写俄罗斯方块手机小游戏 提问 根据提的要求,让DeepSeek整理的需求,进行提问,内容如下: 请生成一个包含以下功能的可运行移动端俄罗斯方块H5文件: 核心功能要求 原生JavaScript实现,适配手机屏幕 …...

uniapp中引入Vant Weapp的保姆级教学(包含错误处理)

废话不多说,直接上方法,网上的教学好多都是错误的 1.安装vant weapp 在Hbuilder的终端,输入以下代码 npm install vant/weapp -S --production 2.新建wxcomponents文件夹 在项目的跟目录新建一个“wxcomponents’文件夹,与app.…...

【Python爬虫(20)】解锁Python爬虫数据存储秘籍:文件存储全攻略

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取&#xff…...

关于Unity的一些基础知识点汇总

1.Prefab实例化后,哪些资源是共用的?哪些资源是拷贝的? 共用资源 脚本组件:实例化后的 Prefab 共享脚本组件的代码。若脚本中无状态数据,多个实例对脚本方法的调用会有相同逻辑。比如一个控制物体移动的脚本&#xff0…...

SpringCould+vue3项目的后台用户管理的CURD【Taurus教育平台】

文章目录 一.SpringCouldvue3项目的后台用户管理的CURD【Taurus教育平台】 1.1 背景 二.用户列表(分页查询) 2.1 前端Vue3 (Vue3-Element-Admin)2.2 后端SpringCould 处理 三. 用户信息删除 3.1 前端Vue3 (Vue3-Eleme…...

功能说明并准备静态结构

功能说明并准备静态结构 <template><div class"card-container"><!-- 搜索区域 --><div class"search-container"><span class"search-label">车牌号码&#xff1a;</span><el-input clearable placeho…...

solidity之Foundry安装配置(一)

一门面向合约的高级编程语言&#xff0c;主要用来编写以太坊只能合约。 Solidity受C语言&#xff0c;Python和js影响&#xff0c;但为编译成为以太坊虚拟机字节码在EVM上执行&#xff0c;很多特性和限制都和EVM相关。 Solidity 是静态类型语言&#xff0c;支持继承、库、自定义…...

请解释 Vue 中的生命周期钩子,不同阶段触发的钩子函数及其用途是什么?

vue生命周期钩子详解&#xff08;Vue 3版本&#xff09; 一、生命周期阶段划分 Vue组件的生命周期可分为四大阶段&#xff0c;每个阶段对应特定钩子函数&#xff1a; 创建阶段&#xff1a;初始化实例并准备数据挂载阶段&#xff1a;将虚拟DOM渲染为真实DOM更新阶段&#xff…...

C#上位机--选择语句(switch)

在 C# 上位机开发的广阔领域中&#xff0c;流程控制语句如同程序的 “交通枢纽”&#xff0c;精准地引导着程序的执行路径。继深入探讨if语句后&#xff0c;我们将目光聚焦于另一个重要的流程控制语句 ——switch语句。switch语句以其独特的多路分支结构&#xff0c;为处理多条…...

Hadoop初体验

一、HDFS初体验 1. shell命令操作 hadoop fs -mkdir /itcast hadoop fs -put zookeeper.out /itcast hadoop fs -ls / 2. Web UI页面操作 结论&#xff1a; HDFS本质就是一个文件系统有目录树结构 和Linux类似&#xff0c;分文件、文件夹为什么上传一个小文件也这…...

在vue2中操作数组,如何保证其视图的响应式

在 Vue 2 中&#xff0c;操作数组时需要注意一些方法不会触发视图的响应式更新。为了确保数组的操作是响应式的&#xff0c;可以使用 Vue 提供的响应式方法。以下是一些常见的操作及其替代方法&#xff1a; 使用 Vue.set 方法&#xff1a; 当你需要通过索引直接修改数组中的某个…...

CentOS的ssh复制文件

1.前提 首先要已经连接上了对方的ssh 2.命令 scp [文件] 目标IP:目标路径 例如&#xff1a; $PWD是一个环境变量&#xff0c;可以获取当前绝对目录&#xff0c;ssh上传的时候一定要确保对方有这个目录才行&#xff0c;不然会报错 3.递归上传 scp -r 目录 目标IP:路径 可以…...

Spring Cloud — Hystrix 服务隔离、请求缓存及合并

Hystrix 的核心是提供服务容错保护&#xff0c;防止任何单一依赖耗尽整个容器的全部用户线程。使用舱壁隔离模式&#xff0c;对资源或失败单元进行隔离&#xff0c;避免一个服务的失效导致整个系统垮掉&#xff08;雪崩效应&#xff09;。 1 Hystrix监控 Hystrix 提供了对服务…...

Vmware虚拟机Ubantu安装Docker、k8s、kuboard

准备工作: 切换用户&#xff1a;su root关闭防火墙: sudo ufw diasble关闭swap: systemctl stop swap.target systemctl status swap.target systemctl disable swap.target #开机禁用 systemctl stop swap.img.swap systemctl status swap.img.swap关闭虚拟交换分区 vim /…...

PHP建立MySQL持久化连接(长连接)及mysql与mysqli扩展的区别

如果在 PHP 5.3 的版本以前想要创建MySQL的持久化连接(长连接)&#xff0c;需要显式调用 pconnect 创建&#xff1a; $con mysql_pconnect($server[host], $server[username], $server[password]); if (!($con false)) { if (mysql_select_db($server[database], $con) fals…...

python爬虫系列课程2:如何下载Xpath Helper

python爬虫系列课程2:如何下载Xpath Helper 一、访问极简插件官网二、点击搜索按钮三、输入xpath并点击搜索四、点击推荐下载五、将下载下来的文件解压缩六、打开扩展程序界面七、将xpath.crx文件拖入扩展程序界面一、访问极简插件官网 极简插件官网地址:https://chrome.zzz…...

【Python项目】基于Python的Web漏洞挖掘系统

【Python项目】基于Python的Web漏洞挖掘系统 技术简介&#xff1a; 采用Python技术、MySQL数据库、Django框架、Scrapy爬虫等技术实现。 系统简介&#xff1a; Web漏洞挖掘系统是一个基于B/S架构的漏洞扫描平台&#xff0c;旨在通过自动化的方式对网站进行漏洞检测。系统主要功…...

多环境日志管理:使用Logback与Logstash集成实现高效日志处理

多环境日志管理&#xff1a;使用Logback与Logstash集成实现高效日志处理 在现代软件开发中&#xff0c;有效的日志管理是至关重要的。无论是调试问题、监控应用性能还是审计用户活动&#xff0c;良好的日志策略都能大大提高工作效率。本文将详细介绍如何配置Spring Boot项目以…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...