计算机网络

文章目录

计算机网络概论

路由收发数据两种方式

电路交换

电路交换技术就像是为两个通话的人专门拉一条临时的"专线"。比如你打电话给朋友,接通后,网络会为你们俩建立一个固定的连接通道,直到挂电话前,这条通道都只给你们用,不会让别人挤进来。优点是通话稳定、延迟低,缺点是占资源,哪怕你们不说话,通道也闲着。像老式电话系统就是典型的电路交换。

是端到端的通信

报文交换

报文分为控制信息和用户数据,通过报文交换机存储转发

分组交换

解决了报文交换长报文的问题

虚电路技术,基于分组交换,建立虚拟连接,从而确定传输路径

延迟和丢包

  • 延迟:数据包在路由器缓冲区中排队,等待传输

  • 产生原因:数据到达速率超过输出速率

  • 丢包:保存排队数据包的内存已满时发生

延迟的四个来源

1.处理延迟:数据包到达设备(如路由器)时,设备需要"思考"怎么处理,比如检查包头、决定转发路径等。这就像快递员收到包裹后要先看看地址、分类,费点时间。

2.排队延迟:如果网络忙,数据包可能要在设备的队列里"排队"等着被处理。就像在超市结账,前面人多你就得等。

3.传输延迟:数据包从设备发出到进入传输介质(如光纤、网线)需要时间。这取决于包的大小和链路带宽。比如寄大包裹比小包裹花时间多,宽马路比窄巷子快。

4.传播延迟:数据包在物理介质中从一端传到另一端需要时间,跟距离和介质的传播速度有关。比如,信号从北京到上海,光纤再快也得跑一段路程。

丢失的处理

丢失的数据包可能由前一个节点、源端系统重新传输,或者根本不重新传输

性能指标

带宽:某信道的最高数据传输速率

下行带宽:别人给你传数据(比如下载资源)

上行带宽:你给别人传

吞吐量

吞吐量是指从发送方到接收方传输数据的速度,用"比特每秒"(bps)表示。就像一条水管,吞吐量告诉你每秒有多少水(数据)能从一头流到另一头。它反映了网络实际能传多少数据,受带宽、拥堵、延迟等影响。

瞬时吞吐量

瞬时吞吐量是某个具体时刻的传输速率,就像你看水管某一秒流了多少水。比如,你下载文件时,速度可能一会是5Mbps,一会掉到2Mbps,这就是瞬时吞吐量的波动。网络状况变化时,瞬时吞吐量会跟着变。

平均吞吐量

平均吞吐量是较长时间段内的平均传输速率。就像你算水管一小时流了多少水的平均值。比如,下载一个大文件花了10分钟,总共传了1GB,平均吞吐量就是总比特数除以时间。平均吞吐量更能反映整体性能,忽略短期波动。

时延

往返时延RTT

数据全部发完后开始计算

信道利用率

信道中有数据通过时间的百分比

计算机网络五层协议

由下到上:


物理层:负责实际的"电信号"传输,就像铺设网线、光纤或Wi-Fi信号。它的任务是把数据变成比特流(0和1),通过硬件(如网卡、电缆)从一端送到另一端。就像邮递员把信封送出去,不管里面是什么。

数据链路层:负责在直接相连的设备间可靠传输数据。它把比特流打包成"帧",加上地址和错误检查,确保数据不丢、不乱。比如,交换机工作在这层,像是小区快递员确保包裹送到正确楼栋。

网络层:决定数据如何从起点到终点跨网络传输,像导航系统。IP协议在这层工作,给数据包加上源和目标IP地址,路由器根据这些地址选择路径。就像全国物流网络,决定包裹走哪条路到目的地。

传输层:负责端到端的通信,确保数据完整、按序到达。TCP和UDP协议在这层,TCP像快递签收确认,丢包会重发;UDP像寄明信片,速度快但不保证送达。就像确保整本书的每一页都送到。

应用层:直接为用户提供服务,处理具体应用的数据。比如,HTTP(网页浏览)、FTP(文件传输)、SMTP(邮件发送)都在这层。就像你用浏览器看网页、发邮件,应用层把你的需求翻译成网络能懂的语言。


OSI七层模型

层与层之间通过接口访问,从下到上的记忆顺序物联网书卉试用(谐音梗不扣钱)

应用层

应用层学习自https://www.cnblogs.com/XiaoJ-cs/p/15159772.html

应用层对应用程序的通信提供服务。

应用层的功能:文件传输、访问和管理;电子邮件;虚拟终端;查询服务和远程作业登录

应用层的重要协议:HTTP、FTP、SMTP、POP3、DNS

服务器:提供计算服务的设备。

1、永久提供服务。

2、永久性访问地址/域名。

客户机:请求计算服务的主机。

1、与服务器通信,使用服务器提供的服务。

2、间歇性接入网络。

3、可能使用动态IP地址。

4、不与其他客户机直接通信。

DNS 域名系统

DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用 53 号端口。

1. DNS是干什么的?

当你在浏览器输入一个网址(比如 www.baidu.com),你的设备需要知道这个网站的具体"地址"(IP地址)才能连接。DNS负责把域名快速转换成IP地址,就像你查电话簿找到朋友的号码。

2. DNS怎么工作?

DNS工作像一个分级查询的团队协作过程:

  • 你的设备:先问本地DNS缓存(比如浏览器或操作系统),有没有存过这个域名的IP。如果有,直接用,省时间。
  • 本地DNS服务器:如果本地没找到,就去问你的网络提供商(或你设置的DNS服务器,比如 8.8.8.8)。它可能有缓存,或者继续向上问。
  • 根域名服务器:全球有13组根服务器,负责"指路"。它们知道顶级域名(如 .com、.cn)的服务器在哪里。
  • 顶级域名服务器:比如 .com 的服务器,知道具体域名(如 google.com)的权威DNS服务器。
  • 权威DNS服务器 :最终给出 www.google.com 对应的IP地址。

整个过程很快,通常几毫秒到几十毫秒完成。

3. DNS的组成

  • 域名 :像 www.google.com,分成层级(根、顶级域名、二级域名等)。
  • DNS服务器:分根服务器、顶级域名服务器、权威服务器等,全球分布,层层分工。
  • 解析器:你的设备或本地DNS服务器上跑的软件,负责发起查询。
  • 记录:DNS存储各种记录,比如 A 记录(域名到IP)、CNAME(别名)、MX(邮件服务器)等。

4. DNS的优点

  • 好记 :让你用 www.google.com 而不是记一串数字。
  • 灵活:一个域名可以对应多个IP(负载均衡),IP变了也能快速更新。
  • 广泛用:不仅网页,连邮件、游戏、VPN等都靠DNS。

5. DNS的挑战

  • 速度:查询多级服务器可能有延迟(不过缓存帮了大忙)。
  • 安全:DNS可能被劫持(比如返回假IP),所以有了 DNSSEC 等安全协议。
  • 隐私:查询DNS可能暴露你的访问记录,DoH(DNS over HTTPS)可以加密保护。

域名解析过程(递归查询&迭代查询)

域名解析是指把域名映射成为 IP 地址或把 IP 地址映射成域名的过程。

前者称为正向解析,后者称为反向解析。

文件传输协议 FTP

FTP 是基于客户/服务器(C/S)的协议,使用TCP可靠的传输服务。用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。

依照FTP协议提供服务,进行文件传送的计算机就是 FTP服务器。

连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。

FTP工作原理

FTP服务器进程由两大部分组成:一个主进程,负责接收新的请求;另外有若干从属进程,负责处理单个请求。

工作步骤如下:

1、打开熟知端口 21 (控制端口),使客户进程能够连接上。

2、等待客户进程发连接请求。

3、启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止。

4、回到等待状态,继续接收其他客户进程的请求。

控制连接和数据连接

FTP在工作时使用两个并行的TCP连接:一个是控制连接(端口号21),一个是数据连接(端口号20)。

控制进程和数据传送进程都属于从属进程。

  • 控制连接在整个会话期间一直保持打开状态。
  • 数据连接在文件传送完毕之后会关闭。

数据连接有两种传输模式:主动模式 PORT 和 被动模式 PASV。

主动方式使用 TCP 20端口,被动方式由服务器和客户端自行协商决定(端口 > 1024)。

电子邮件机制

电子邮件系统的组成结构

1、用户代理(User Agent,UA)

用户与电子邮件系统的接口。

用户代理向用户提供一个很友好的接口来发送和接收邮件。

用户代理应当具有撰写、显示和邮件处理的功能。

通常情况下,用户代理是一个运行在PC上的程序,常见的有 Outlook、Foxmail。

2、邮件服务器

发送和接收文件,同时向发信人报告邮件传送的情况。

采用客户/服务器方式工作,必须能够同时充当客户和服务器。

3、邮件发送协议和读取协议

邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,如SMTP。

邮件读取协议用于用户代理从邮件服务器读取邮件,如POP3。

多用途网际邮件扩充 MIME

由于SMTP只能传送一定长度的 ASCII 码,许多其他非英语国家的文字就无法传送,且无法传送可执行文件及其他二进制对象,因此提出了 多用途网络邮件扩充 MIME。

MIME 继续使用SMTP的格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。

使电子邮件系统可以支持声音、图像、视频多种国家语言。

SMTP

简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)是一种提供可靠且有效的电子邮件传输的协议。

规定了在两个相互通信的SMTP进程之间应如何交换信息。

负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。

SMTP使用TCP连接,端口号为25。

SMTP通信有以下三个阶段:1、连接建立 2、邮件传送 3、连接释放

SMTP的缺点:

1、SMTP不能传送可执行文件或者其他二进制对象。

2、SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。

3、SMTP服务器会拒绝超过一定长度的邮件。

POP3

邮局协议(Post Office Protocol,POP)是一个非常简单但功能有限的邮件读取协议。用于客户端向服务器端读取邮件内容

POP 使用客户/服务器的工作方式,在传输层使用TCP,端口号为110。

两种工作方式:1、下载并保留(在服务器)2、下载并删除。

万维网(WWW)

用户通过点击超链接(http://www.baidu.com)获取资源,这些资源通过"超文本传输协议(HTTP)传送给使用者。

万维网以"客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。

万维网使用超文本标记语言 HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。

HTTP协议的特点:

1、HTTP是无状态的。

2、HTTP采用TCP作为传输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)。

3、HTTP的连接方式分为持久连接(流水线、非流水线)【HTTP/1.1支持】和 非持久连接。

对于非持久连接

每个网页元素对象的传输都需要单独建立一个TCP连接。

请求一个万维网文档所需的时间是该文档的传输时间加上两倍往返时间RTT(一个RTT用于TCP连接,另一个RTT用于请求和接收文档)。

每个对象引用都导致 2xRTT的开销,此外每次建立新的TCP连接都要分配缓存和变量,使万维网服务器的负担很重。

对于持久连接

指万维网服务器在发送响应后仍然保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求和响应报文。

对于非流水线方式,客户在收到前一个响应后才能发出下一个请求,服务器发送完一个对象后,其TCP连接就处于空闲状态,浪费了服务器资源。

HTTP/1.1的默认方式是使用流水线的持久连接,这种情况下,客户每遇到一个对象引用就立即发出一个请求,因而客户可以逐个地连续发出对各个引用对象的请求。所有引用的对象共计经历1个RTT延迟,提高效率。

HTTP的报文结构

HTTP是面向文本的,因此报文种的每个字段都是一些ASCII码串,并且每个字段的长度都是不确定的。

  • 请求报文:从客户向服务器发送的请求报文。
  • 响应报文:从服务器到客户的回答。

状态码:

1xx表示通知信息的,如请求收到了或正在处理。

2xx表示成功,如接受或知道了。

3xx表示重定向,如要完成请求还必须采取进一步的行动。

4xx表示客户的差错,如请求中有错误的语法或不能完成。

5xx表示服务器的差错,如服务器失效无法完成请求。

网络应用程序架构

客户-服务器体系结构

在客户-服务器体系结构中,有一个持续打开,等待连接的主机称为服务器,它服务于来自许多其他称为 客户 的主机请求。比如 Web 服务器总会等待来自浏览器(运行在客户主机上)的请求。

客户之间彼此不会通信,只会通过服务器通信

这种客户-服务器体系结构存在弊端,那就是有的时候服务器的响应跟不上客户请求速度的情况,鉴于此,这种体系结构需要经常配备数据中心(data center)用来创建更强大的服务器。例如搜索引擎(谷歌、Bing和百度)互联网商店(亚马逊、e-Bay 和阿里巴巴)、基于 Web 的电子邮件(Gmail 和 雅虎)社交网络(脸书、Instagram、推特和微信),就是用了多个数据中心。

P2P体系结构

P2P 体系结构则直接通过两台相连的主机直接通信,这些主机称为对等方。典型的 P2P 体系结构的应用包括 文件共享(BitTorrent)下载器(迅雷)互联网电话和视频会议(Skype)

客户和服务器进程

网络应用程序由成对的进程组成,这些进程通过网络相互发送报文。例如,在 Web 应用程序中,文件从一个对等方中的进程传输到另一个对等方中的进程。而在每对通信的进程中,都会有一对客户(client)服务器(server) 存在。

进程与计算机网络之间的接口

应用程序由多个进程共同作用协商进行,那么,分布在多个端系统间的进程是怎么通信的呢?

采用套接字(socket)

简单地说。进程可类比一座房子,而它的套接字相当于是房子的门,当一个进程想要与其他进程进行通信时,它会把报文推出门外,然后通过运输设备把报文运输到另外一座房子,通过门进入房子内部使用。

1. Socket是啥?

Socket是网络通信的桥梁,允许程序通过网络发送和接收数据。它是操作系统提供的一个接口,让你的程序能跟网络"对话"。比如,你用微信聊天,微信的程序通过Socket把消息发到服务器,再传给对方。

2. Socket怎么工作?

Socket像一个虚拟的"插座",两台设备(或程序)各有一个Socket,配对后就能通信。工作流程大概这样:

  • 创建Socket:程序告诉操作系统,"我要开个通信通道"。
  • 绑定地址:给Socket指定一个IP地址和端口号(像门牌号),比如服务器可能是 192.168.1.1:80。
  • 连接:客户端的Socket找到服务器的Socket,建立连接。
  • 通信:双方通过Socket发送和接收数据,像寄信和收信。
  • 关闭:通信完后,关闭Socket,释放资源。
3. Socket的类型
  • 流式Socket(TCP):基于TCP协议,像快递送包裹,稳定可靠、数据按顺序到达,适合网页、邮件等。
  • 数据报Socket(UDP):基于UDP协议,像寄明信片,速度快但可能丢包,适合视频流、游戏等对速度要求高的场景。
  • 其他类型:比如Unix域Socket(本地通信)或原始Socket(低级网络操作)。
4. Socket的用途
  • 客户端-服务器通信:像浏览器访问网站,浏览器用Socket连接Web服务器。
  • 实时应用:视频通话、在线游戏用Socket快速交换数据。
  • 跨设备通信:任何联网设备(手机、电脑、物联网设备)都可能用Socket。

CDN

CDN是一组分布在全球各地的服务器(叫"边缘节点"),它们缓存网站的静态内容(比如图片、视频、CSS文件),甚至动态内容,替原始服务器分担压力。当你访问网站时,CDN会从离你最近的节点把内容快速送到你面前,减少延迟,就像去家门口的便利店买东西比去远处的超市快。

CDN的优点

  • 速度快:内容从近处传,加载时间短。

  • 减轻压力:原始服务器不用直接处理所有请求,省资源。

  • 高可用:如果一个节点挂了,其他节点能接替。

  • 安全性:CDN常提供DDoS防护、HTTPS加密等。

CDN的工作过程

CDN的工作像一个高效的快递网络,分几步完成:

  1. 内容缓存
    • 网站管理员把内容(比如网页、视频)交给CDN服务商(如Cloudflare、Akamai)。
    • CDN把这些内容复制到全球各地的边缘节点,存好备用。
  2. 用户请求
  3. 边缘节点响应
    • 如果边缘节点有缓存的内容(比如图片或网页),直接传给你,超级快。
    • 如果没有缓存(或内容过期),边缘节点会悄悄向原始服务器要数据,缓存后再传给你。
  4. 内容交付
    • 你收到内容,感觉网站加载飞快。
    • 边缘节点可能还会根据你的设备(手机、电脑)优化内容,比如压缩图片。
  5. 更新与同步
    • 如果网站内容更新,CDN会根据设置(比如缓存时间)刷新边缘节点的缓存,确保用户看到最新内容。

传输层

[CS-Notes 面试笔记](http://www.cyc2018.xyz/)\](http://www.cyc2018.xyz/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80/%E7%BD%91%E7%BB%9C%E5%9F%BA%E7%A1%80/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%20-%20%E4%BC%A0%E8%BE%93%E5%B1%82.html#udp-%E5%92%8C-tcp-%E7%9A%84%E7%89%B9%E7%82%B9) ## 网络层 https://github.com/CyC2018/CS-Notes/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%20-%20%E7%BD%91%E7%BB%9C%E5%B1%82.md ### 网络层的功能 ![image-20250617164458370](https://i-blog.csdnimg.cn/img_convert/7aff5985ab43aaddae3e47ee90542c40.png) ### IP地址 #### IP数据报的格式 ![image-20250617172817876](https://i-blog.csdnimg.cn/img_convert/9aa006cb01253625bf4cf183875b570d.png) 分片可能会在源主机或任何一个路由器中发生,只有目的主机才会进行重组 MTU(最大传送单元):一个链路层数据帧能承载的最大数据量 ![image-20250617174433671](https://i-blog.csdnimg.cn/img_convert/11ae1ff0fbe3f0abd1bd94bd6550e54f.png) ![image-20250617174154382](https://i-blog.csdnimg.cn/img_convert/138ec1578e3372f728eaf0bb6318a1aa.png) ### IP地址划分 #### ABCD类地址划分 32位只有42亿个地址,放当下来看肯定是不够的 早期通过前几个比特规定了ABCD类地址,由网络号加主机号构成 单薄地址类似qq号,主机独享ip地址,而多播地址类似qq群号,多台主机共享,发送给该ip的信息会发给所有主机 ![image-20250617190435718](https://i-blog.csdnimg.cn/img_convert/6645df0623a96bc6c310e56c8edbfb7f.png) 一些特殊的ip地址,一个主机刚接入网络时,发送DHCP协议申请ip地址,在ip地址下来之前就以地址0.0.0.0表示向DHCP服务器发送的源地址 ![image-20250618153556471](https://i-blog.csdnimg.cn/img_convert/384abbde6bf50293be7e3c2de246ec3c.png) #### 子网划分和子网掩码 主机号全0:这个地址表示网络地址 主机号全1:表示这个网络的广播地址,用于向网络或子网中的所有设备发送数据 子网划分:其实就是把大的网络,通过主机号里面拆出几个标识符,将其分为几个小的网络 ![image-20250618155101376](https://i-blog.csdnimg.cn/img_convert/6e13f5b1e93e901393a57e53fe20f45c.png) 子网掩码:其实就是分隔出网络号和主机号,网络号和子网号全1,主机号全0 #### CIDR技术 无分类编址CIDR,不分固定长度的网络号和主机号,按需分配 ![image-20250618161934519](https://i-blog.csdnimg.cn/img_convert/883a85026258c5d171be9f486f173f30.png) ![image-20250618161021941](https://i-blog.csdnimg.cn/img_convert/d6b9a1daba1047cf349baa9053fa0c3a.png) #### 路由聚合 路由聚合(Route Aggregation),也称为路由汇总或超网化(Supernetting),是一种网络技术,用于将多个较小的子网地址合并成一个更大的地址块,从而减少路由表的条目数量,提高路由效率。 利用前提:如果几条路由表项的转发接口相同,部分网络前缀也相同,那么可以将这几条路由表项聚合为一条 ![image-20250618163220872](https://i-blog.csdnimg.cn/img_convert/a9b603a0c39079cebf2d68e925924109.png) #### 网络地址转换NAT技术 其实就是局域网内设备共享一个ip地址 用端口号映射到特定进程 ![image-20250618164043684](https://i-blog.csdnimg.cn/img_convert/d62768098e8f52aade4330d1a29b61f7.png) ![image-20250618164600987](https://i-blog.csdnimg.cn/img_convert/f5bbe385c296d771dd5522824ef21fd4.png) ### ARP协议 ![image-20250618165514638](https://i-blog.csdnimg.cn/img_convert/de4478f31b24b6a6764e7ec0aad98526.png) ### DHCP协议 #### **1. 核心功能** DHCP的主要目的是为网络中的设备(客户端)动态分配IP地址及相关网络参数(如子网掩码、默认网关、DNS服务器等),避免手动配置的复杂性和错误。 * **动态分配**:自动为设备分配IP地址,租期结束后可回收或续租。 * **简化管理**:减少网络管理员的手动配置工作,适合大规模网络。 * **支持多种设备**:适用于PC、手机、IoT设备等各种客户端。 ## 链路层 把网络层给它的数据封装成帧 ### 链路层的功能 ![image-20250615150221353](https://i-blog.csdnimg.cn/img_convert/063bf4d0045f7ebdb5c0984feb80a4f2.png) ### 组帧 帧定界问题其实就是在物理层一串01数据中识别出帧的界限,透明传输是指接收方把帧还原成ip数据报,让网络层感受不到数据被分成帧的这样一个过程 ![image-20250615150720598](https://i-blog.csdnimg.cn/img_convert/996898590db9a4146d4d4faf84d440de.png) #### 1. **字符计数法** * **原理**:在帧的头部添加一个字段,记录帧的字符总数(包括头部和数据)。接收端根据这个计数来确定帧的边界。注意帧长=计数字段长度+帧的数据部分长度 * 优点: * 简单直观,易于实现。 * 缺点: * 如果计数字段出错(例如位翻转),可能导致帧边界错位,引发后续帧的解析错误。 * 对传输错误的容错能力较差。 * **应用场景**:较少用于现代协议,但在一些早期协议中可见。 #### 2. **字符填充法(定界符法)** * **原理**:使用特定的控制字符(如SOH表示帧开始,EOT表示帧结束)作为帧的定界符。如果数据中出现与定界符相同的字符,则通过插入转义字符(ESC)进行填充,避免误判。 * 示例:数据中有EOT,发送前在其前插入ESC,接收端解析时移除ESC。 * 优点: * 适用于面向字符的传输(如ASCII码)。 * 缺点: * 效率较低,适合字符型数据,不适合二进制数据。 * 依赖转义字符,增加了实现的复杂性。 * **应用场景**:常用于基于文本的协议,如PPP(Point-to-Point Protocol)。 #### 3. **比特填充法(零比特填充法)** * **原理**:使用特定的比特序列(称为标志位,如01111110)标记帧的开始和结束。为防止数据中出现与标志位相同的序列,在发送时对数据进行处理:每连续出现5个1后插入一个0(比特填充)。接收端检测到5个1后若紧跟0,则移除该0。 * 优点: * 适用于二进制数据,效率较高。 * 透明传输,不受数据内容限制。 * 缺点: * 需要额外的比特处理,略微增加传输开销。 * **应用场景**:广泛用于高清数据链路控制协议(HDLC)和以太网等。 #### 4. **物理层编码违例法** * **原理**:利用物理层编码的特性,在数据传输中插入特殊的违例码(不属于正常数据编码的信号)来标记帧的边界。例如,在曼彻斯特编码中,某些特定信号模式不用于数据编码,可用作帧定界符。 * 优点: * 不需要修改数据内容,效率高。 * 帧边界清晰,误判率低。 * 缺点: * 依赖物理层编码方式,适用范围受限。 * 实现需要硬件支持,成本可能较高。 * **应用场景**:常见于以太网(如10Base-T)和光纤通信中。 ### 差错控制 **检错编码**:奇偶校验码和CRC校验码,检查发现错误后通知重传帧 **纠错编码**:海明校验码,发现并纠正比特错误 ##### 1. 奇偶校验码(Parity Check Code) * 原理: * 在数据末尾添加一个校验位(parity bit),使整个数据(包括校验位)的1的总数满足特定条件: * **奇校验**:1的总数为奇数。 * **偶校验**:1的总数为偶数。 ##### 2. CRC校验码(Cyclic Redundancy Check,循环冗余校验) * 原理: * CRC基于多项式除法,使用生成多项式(generator polynomial)对数据进行编码。 * 发送端步骤: 1. 将数据看作二进制多项式,在数据后添加r个0(r为生成多项式的阶数)。 2. 用生成多项式(模2除法)除数据,余数即为CRC校验值,附加到数据后发送。 * 接收端步骤: 1. 用相同的生成多项式除接收到的数据(包括CRC值)。 2. 若余数为0,数据无误;若不为0,说明存在错误。 * 例如,数据110100,生成多项式为1011(x\^3+x+1),计算余数后附加到数据,形成帧 ##### 3. 海明校验码(Hamming Code) * 原理: * 海明码是一种线性纠错码,通过在数据位中插入冗余校验位,检测并纠正单比特错误,检测(但不纠正)双比特错误。 * 步骤: 1. **确定校验位数量**:对于m位数据,需r个校验位,满足2\^r ≥ m + r + 1。 2. **插入校验位**:校验位放在2的幂次位置(1、2、4、8...),其余为数据位。 3. **计算校验位**:每个校验位检查特定数据位(通过二进制位置编号确定),通常使用奇偶校验。例如,校验位P1检查位置1、3、5、7等。 4. 错误检测与纠正: * 接收端重新计算校验位,生成"错误位置指示"(syndrome)。 * 若syndrome为0,无错误;若不为0,其值指示错误位的位置,直接翻转该位纠正。 * 例如,4位数据1011,需3个校验位,帧结构为P1 P2 D1 P3 D2 D3 D4,计算后发送。若某位错误,syndrome会指出具体位置。 | 校验码类型 | 类型 | 功能 | 错误处理 | 优点 | 缺点 | 应用场景 | |--------|-------|-----------|---------------|-------------|--------------|--------------| | 奇偶校验码 | 检错 | 检测奇数位错误 | 通知重传 | 简单、低成本 | 只能检测奇数错误,能力弱 | 串口通信、早期存储 | | CRC校验码 | 检错 | 检测多种错误 | 通知重传 | 检错能力强、硬件实现快 | 无法纠正,需优化多项式 | 以太网、Wi-Fi、硬盘 | | 海明校验码 | 纠错+检错 | 纠正1位,检测2位 | 纠正单比特或重传(双比特) | 自动纠错,减少重传 | 仅限单比特纠错,冗余较高 | ECC内存、卫星通信 | *** ** * ** *** 检错编码(奇偶校验、CRC)依赖重传,适用于误码率低、双向通信可靠的场景。重传协议如ARQ(自动重传请求)包括: ### 流量控制和可靠传输 * **停止-等待ARQ**:发送一帧后等待确认。 ![image-20250615154034825](https://i-blog.csdnimg.cn/img_convert/b72c9d1f22dd6777c628c54d72a18b24.png) * **回退N帧ARQ**:出错后重传从错误帧开始的所有帧。 ![image-20250615154438552](https://i-blog.csdnimg.cn/img_convert/b27037242f3ec795f17a6753349f5c34.png) * **选择重传ARQ**:只重传出错帧。 ![image-20250615154815573](https://i-blog.csdnimg.cn/img_convert/e1c223916a768dcb71a1d8ce157c6f23.png) ### 介质访问控制 #### 信道划分技术 控制节点对传输介质访问的控制 ##### 频分复用(FDM) 它把传输通道的频率范围(带宽)切成多个小频段,每个频段独立传输一路信号。优点是能同时传多路信号,缺点是需要足够的带宽,分频段也可能浪费资源。 ##### 时分复用(TDM) TDM像是让多个人轮流用同一条跑道,每个人分到一个短暂的时间片,快速切换。优点是高效利用通道,缺点是对时间同步要求高,设备复杂。 ##### 波分复用 即光的频分复用技术 码分复用(Code Division Multiplexing, CDM)是一种允许多个信号在同一信道上同时传输的复用技术,广泛应用于无线通信系统,如CDMA(码分多址接入)。以下是对码分复用技术的简要介绍: 1. **基本原理** 码分复用通过为每个用户或数据流分配一个唯一的伪随机码(称为码序列或扩展码)来实现多路信号的共享传输。发送端将原始信号与该码序列进行调制(通常通过异或或乘法操作),生成扩展后的信号。接收端使用相同的码序列进行解调,提取原始信号。由于不同用户的码序列具有正交或低相关性,接收端能够区分不同的信号,即使它们在同一频段内同时传输。 2. **关键特点** * **频谱共享**:所有用户共享相同的频率和时间资源,依靠码序列区分信号。 * **抗干扰能力强**:伪随机码的特性使得CDM对窄带干扰和多径衰落有较好的抵抗力。 * **高效利用带宽**:通过扩展信号,CDM可以在有限带宽内支持多个用户。 * **安全性较高**:由于需要特定的码序列才能解调信号,CDM具有一定的保密性。 3. **工作流程** 4. **信号编码**:发送端将数据信号与唯一的伪随机码序列(如沃尔什码或PN码)进行混合,生成宽带信号。 5. **信号传输**:所有用户的信号在同一信道上叠加传输,形成了看似"噪声"的复合信号。 6. **信号解码**:接收端使用与发送端匹配的码序列,通过相关性检测分离出目标信号,抑制其他信号。 #### 随机访问技术 ##### ALOHA协议 **纯ALOHA**:节点有数据时立即发送。若发生冲突(多个节点同时发送),则等待随机时间后重传。 **时隙ALOHA**:时间被划分为离散的时隙,节点只能在时隙开始时发送数据,减少冲突概率。 ##### 载波监听多路访问(CSMA, Carrier Sense Multiple Access) **工作原理**: * 节点在发送前检测信道是否空闲。 * 若信道空闲,则发送数据;若忙碌,则等待。 * 冲突发生后,节点随机等待一段时间后重试。 **变种**: * **1-坚持CSMA**:信道空闲时立即发送,忙碌时持续监听。 * **非坚持CSMA**:信道忙碌时等待随机时间后重新检测。 * **p-坚持CSMA**:信道空闲时以概率p发送,概率1-p等待下一时隙。 ##### 载波监听多路访问/冲突检测(CSMA/CD, Carrier Sense Multiple Access with Collision Detection) **工作原理**: * 节点发送前监听信道,空闲时发送。 * 发送过程中持续检测冲突(通过信号异常检测)。 * 若检测到冲突,立即停止发送,广播干扰信号(确保所有节点感知冲突),然后随机等待后重试(指数退避算法)。 ##### 载波监听多路访问/冲突避免(CSMA/CA, Carrier Sense Multiple Access with Collision Avoidance) **工作原理**: * 节点发送前监听信道,空闲时等待一段随机时间(退避时间)。 * 使用RTS/CTS(请求发送/清除发送)握手机制,预留信道,减少隐藏终端问题。 * 成功传输后,接收方发送ACK确认。 | 协议 | 适用场景 | 优点 | 缺点 | |---------|---------|-------------|-------------| | 纯ALOHA | 无线、卫星通信 | 简单,无需同步 | 冲突概率高,效率低 | | 时隙ALOHA | 无线、卫星通信 | 效率高于纯ALOHA | 需时隙同步,冲突仍存在 | | CSMA | 有线/无线网络 | 降低冲突概率 | 高负载下冲突仍较多 | | CSMA/CD | 有线以太网 | 冲突检测提高效率 | 不适合无线网络 | | CSMA/CA | 无线网络 | 冲突避免,适合无线环境 | 协议开销大 | ![image-20250615210357920](https://i-blog.csdnimg.cn/img_convert/32a492067572f7a9ea9f7710abddf4f8.png) 解决隐蔽站问题:向接入点预约信道的使用权 ![image-20250615210720043](https://i-blog.csdnimg.cn/img_convert/ed59ce97096b6717db8c2582ff51e164.png) #### 轮询访问 各节点轮询访问信道,只有获得令牌才可以访问,不会发生信道冲突 ### 局域网 有线局域网:以太网技术 无线局域网:wifi技术 局域网(Local Area Network, LAN)是一个在小范围内(如家庭、办公室、学校)连接多个设备的网络,让这些设备可以互相通信、共享资源(如文件、打印机、互联网)。 #### 通俗解释:什么是局域网(LAN)? 局域网(Local Area Network, LAN)是一个在小范围内(如家庭、办公室、学校)连接多个设备的网络,让这些设备可以互相通信、共享资源(如文件、打印机、互联网)。你可以把局域网想象成一个"小区里的朋友圈",设备就像朋友,通过网络线或无线信号"聊天"或"分享东西"。 * 特点: * 范围小:通常覆盖几十米到几公里。 * 速度快:局域网内的数据传输速度通常较高。 * 私有性:通常由个人或组织管理,安全性较高。 * **例子**:家里用路由器连接手机、电脑、电视的Wi-Fi网络;公司内部的电脑网络。 下面分别介绍**有线局域网的以太网技术** 和**无线局域网的Wi-Fi技术**。 *** ** * ** *** #### 1. 有线局域网:以太网技术(Ethernet) 以太网(Ethernet)是一种广泛使用的有线局域网技术,基于IEEE 802.3标准,常见于办公室、学校等需要稳定、高速连接的场景。 ##### **基本原理** 以太网通过网线(如双绞线、光纤)将设备(如电脑、交换机、路由器)连接起来,数据以帧(Frame)的形式在设备间传输。每个设备有唯一的MAC地址,用于识别发送和接收方。 ##### **关键特点** * **物理连接**:使用网线(如Cat5e、Cat6)或光纤,连接到交换机或路由器。 * **速度**:从早期的10 Mbps(10Base-T)发展到现在的100 Mbps、1 Gbps、甚至10 Gbps(千兆以太网)。 * **协议** :早期使用**CSMA/CD**(载波监听多路访问/冲突检测)来管理共享介质的访问,现代以太网多用全双工模式(交换机支持同时发送和接收,减少冲突)。 * **拓扑结构**:常见为星型拓扑(设备通过交换机或集线器连接)。 ##### **工作流程** 1. 设备通过网线连接到交换机或路由器。 2. 数据封装成以太网帧,包含源MAC地址、目的MAC地址和数据内容。 3. 交换机根据MAC地址表将帧转发到目标设备。 4. 接收方校验帧的完整性,提取数据。 #### 2. 无线局域网:Wi-Fi技术 Wi-Fi(Wireless Fidelity)是一种基于IEEE 802.11标准的无线局域网技术,允许设备通过无线电波通信,广泛应用于家庭、公共场所和移动场景。 ##### **基本原理** Wi-Fi使用无线电波(2.4 GHz、5 GHz或6 GHz频段)传输数据,设备通过无线接入点(Access Point, 如路由器)连接到网络。Wi-Fi也使用MAC地址标识设备,采用**CSMA/CA**(载波监听多路访问/冲突避免)协议管理信道访问。 ##### **关键特点** * **无线连接**:无需网线,设备通过Wi-Fi信号连接。 * **速度**:从早期的802.11b(11 Mbps)到现在的Wi-Fi 6/6E(最高可达9.6 Gbps)。 * 频段: * 2.4 GHz:覆盖范围广,但速度较低,易受干扰(如微波炉、蓝牙)。 * 5 GHz:速度快,干扰少,但覆盖范围较小。 * 6 GHz(Wi-Fi 6E):更宽信道,速度更快,干扰更少。 * 协议标准: * 802.11n:支持多输入多输出(MIMO),提升速度和范围。 * 802.11ac:5 GHz频段,支持更高吞吐量。 * 802.11ax(Wi-Fi 6):提高效率,支持更多设备同时连接。 ##### **工作流程** 1. 设备(如手机、电脑)搜索Wi-Fi信号,连接到接入点(如路由器)。 2. 数据封装成帧,通过无线电波传输。 3. 接入点协调多个设备的通信,避免冲突(如通过RTS/CTS机制)。 4. 数据到达目标设备,接收方发送确认(ACK)。 ### MAC地址 mac地址放在以太网适配器的ROM芯片中 ![image-20250616163030088](https://i-blog.csdnimg.cn/img_convert/860d22023a3678efb927e70aff447f2f.png) 厂家生产适配器时需要向IEEE申请MAC地址段,从而确保MAC地址段唯一 ![image-20250616163231035](https://i-blog.csdnimg.cn/img_convert/d6a99b39e0ccfe99b5f10c139997f37e.png) ### VLAN(虚拟局域网技术) 大局域网被划分位小网,小网叫VLAN ![image-20250616202828346](https://i-blog.csdnimg.cn/img_convert/dd643ac59afb5a5ad00ce0b009c6c3df.png) ### 无线局域网 通信设备-\>AP-\>以太网交换机-\>路由器-\>外部网络 可以通过门户将无线局域网协议和有线局域网协议转换 ### 以太网交换机 交换机一般都支持全双工通信,除非跟集线器连接,它本质上是一个多端口网桥 用交换表来记录mac地址和端口号,交换表动态更新 ![image-20250617161830456](https://i-blog.csdnimg.cn/img_convert/49134d21e36cbd979b02d88ac18e4c0c.png) ## 物理层 ### 基本概念 每一个信号就是一个码元,信号周期就是码元宽带,信号可以是离散的或者连续的,如果一个码元可能有四种状态,就可以称其为四进制码元 * 码元和比特的关系:问一个码元可以携带多少比特数据![image-20250614165608618](https://i-blog.csdnimg.cn/img_convert/82085dbb681e1bb88fbb1dc357e85311.png) 波特实际上代表的是码元/秒 ![image-20250614165712634](https://i-blog.csdnimg.cn/img_convert/b6d4c9df64812a484466cce7b6d1c07c.png) ### 信道的极限容量 信道传输数据的能力,除了受到带宽的影响,还会受到噪声的影响 #### 奈奎斯特定理(无噪声干扰) ![image-20250614170229859](https://i-blog.csdnimg.cn/img_convert/431fd27a552506f546e3abf3492e4767.png) ### 香农定理(有信噪比) ![image-20250614170534729](https://i-blog.csdnimg.cn/img_convert/6f12a72952dc8b3b525dbe9db616110e.png) ![image-20250614170614586](https://i-blog.csdnimg.cn/img_convert/33353e2707c81673b9cfe02033d89944.png) ### 编码解码,调制解调 二进制数据-\>数字信号:编码,反之则为解码 光猫的调制:将二进制数据转换为光信号 ![image-20250614172003698](https://i-blog.csdnimg.cn/img_convert/bc5fcc7870cb6518a9fd7a6dd108c5ff.png) 中间的跳变可以作为时钟信号来使用 ![image-20250614172633045](https://i-blog.csdnimg.cn/img_convert/43f40ce08a21881d05261d7fe82820c2.png) 可以增加不同的幅度和频率来表示不同的信号 ### 传输介质 双绞线: ![image-20250614173222043](https://i-blog.csdnimg.cn/img_convert/03316c1f9a4ea3d6600f01cb36751d39.png) ![image-20250614194650987](https://i-blog.csdnimg.cn/img_convert/5a1181596a28b873e0b06a48b6acbaa4.png) ![image-20250614194815828](https://i-blog.csdnimg.cn/img_convert/f9088d1af659021b58344f3e87a4018d.png) 波长越短,信号指向性越强(天线需要对准卫星) ### 工作设备 #### 中继器 传输距离太长,数字信号会失真。 通过中继器将失真信号整形再生 ![image-20250614195557549](https://i-blog.csdnimg.cn/img_convert/8f2270a56ad454caf369ef2860b84f72.png) #### 集线器 本质上是多端口中继器,将其中一个端口接收到的信号整形后转发到所有其他端口,各端口不可同时发送数据,否则会导致冲突,集线器的N个端口对应N个网段 冲突域:如果两台主机同时发送数据会导致冲突,则这两台主机处于同一个冲突域,存在信道争用的问题 集线器不可以隔离冲突域,但交换机可以 5-4-3原则,规定了最多可以使用的集线器数量 ![image-20250614200331093](https://i-blog.csdnimg.cn/img_convert/2d7453d006860e24eb309adc6ceeea76.png) 逻辑上是总线型拓扑结构

相关推荐
Jackilina_Stone4 小时前
【网工】华为配置专题进阶篇①
网络·华为·网工
LPH31194 小时前
Linux系统安全管理
linux·网络·安全·系统安全
kikumaru7146 小时前
Mac 安装 finalshell
linux·网络·macos
小兔子酱#6 小时前
【Docker 07】Network - 网络
网络·docker·php
OKUNP7 小时前
LVS+Keepalived高可用群集
网络·智能路由器·lvs
現実君9 小时前
【期末总结】计算机网络
计算机网络
哪 吒11 小时前
突破亚马逊壁垒,Web Unlocker API 助您轻松获取数据
前端·网络·python·网络安全
蜡笔小电芯11 小时前
【STM32】 LWIP -TCP 客户端收发数据
网络·stm32·tcp/ip
却道天凉_好个秋13 小时前
WebRTC(六):ICE协议
服务器·网络·webrtc