<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Computer Networks on farmer3-c Blog</title><link>https://farmer3-c.github.io/tags/computer-networks/</link><description>Recent content in Computer Networks on farmer3-c Blog</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 27 Aug 2025 19:48:37 +0800</lastBuildDate><atom:link href="https://farmer3-c.github.io/tags/computer-networks/index.xml" rel="self" type="application/rss+xml"/><item><title>应用层</title><link>https://farmer3-c.github.io/posts/computer-networks/application-layer/</link><pubDate>Wed, 27 Aug 2025 19:48:37 +0800</pubDate><guid>https://farmer3-c.github.io/posts/computer-networks/application-layer/</guid><description>&lt;p&gt;应用层是参考模型的最上层，也是距离用户最近的一层，为各式各样的应用定义了通信规则和协同方式，满足不同的应用需求。围绕这个主题，本章主要探讨了以下内容。&lt;/p&gt;
&lt;h3 id="1应用进程通信方式与套接字编程"&gt;（1）应用进程通信方式与套接字编程&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;客户/服务器模型（C/S）&lt;/strong&gt;：服务器长期运行，被动等待请求；客户主动发起请求，完成服务后断开。优点是集中管理，缺点是服务器可能成为瓶颈。现代 Web、FTP、电子邮件均采用此模型。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;套接字（Socket）&lt;/strong&gt;：应用层与传输层的编程接口。原语包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;socket()&lt;/code&gt;：创建套接字。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bind()&lt;/code&gt;：绑定本地地址和端口（服务器用）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;listen()&lt;/code&gt;（TCP）：进入被动监听状态。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;accept()&lt;/code&gt;（TCP）：接受连接请求。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;connect()&lt;/code&gt;（TCP）：主动连接服务器。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;send()/recv()&lt;/code&gt; 或 &lt;code&gt;write()/read()&lt;/code&gt;：数据传输。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;close()&lt;/code&gt;：关闭连接。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;基于 TCP 的套接字流程：服务器创建→绑定→监听→接受；客户端创建→连接→通信；可靠有序字节流。
基于 UDP 的套接字流程：无需连接，直接使用 &lt;code&gt;sendto()&lt;/code&gt;/&lt;code&gt;recvfrom()&lt;/code&gt;，发送和接收数据报。&lt;/p&gt;
&lt;h3 id="2域名系统dns"&gt;（2）域名系统（DNS）&lt;/h3&gt;
&lt;p&gt;DNS 负责将主机名（如 &lt;a href="https://www.example.com"&gt;www.example.com&lt;/a&gt;）解析为 IP 地址。域名空间为层次树结构，根域为 &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;（点），顶层域（TLD）包括通用域（.com, .org）和国家域（.cn, .uk）等。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;域名服务器&lt;/strong&gt;按层次分工：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;根域名服务器&lt;/strong&gt;：全球 13 组（逻辑上），不直接解析，只指引到 TLD 服务器。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;顶级域名服务器&lt;/strong&gt;：负责特定 TLD 下的域名。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;权威域名服务器&lt;/strong&gt;：负责特定域（如 example.com）的所有记录。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;本地域名服务器&lt;/strong&gt;：ISP 或企业网络提供，缓存解析结果，代表用户发起查询。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;解析算法&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;递归查询&lt;/strong&gt;：本地域名服务器代为请求其他服务器，将最终结果返回用户。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;迭代查询&lt;/strong&gt;：本地域名服务器依次询问各服务器（根→TLD→权威），每个服务器返回下一级地址。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;DNS 缓存&lt;/strong&gt;：各层服务器缓存解析结果，降低延迟，但必须设置 TTL 以确保更新。&lt;/p&gt;
&lt;h3 id="3典型应用层协议"&gt;（3）典型应用层协议&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;文件传输（FTP）&lt;/strong&gt;：使用两个 TCP 连接：控制连接（端口 21，发送命令）和数据连接（端口 20，传输文件）。支持主动模式（服务器主动连接客户端）和被动模式（客户端连接服务器协商的端口）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;远程登录 TELNET/SSH&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TELNET&lt;/strong&gt;（端口 23）：明文传输，不安全。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSH&lt;/strong&gt;（端口 22）：加密认证，支持远程 shell、文件传输（SFTP）、端口转发。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;电子邮件协议&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SMTP（简单邮件传输协议）&lt;/strong&gt;（端口 25）：用于邮件客户端到服务器、服务器到服务器之间的邮件发送。仅支持 ASCII 文本，使用 MIME 支持多媒体。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;POP3（邮局协议第3版）&lt;/strong&gt;（端口 110）：下载邮件到本地，通常删除服务器上的邮件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IMAP（互联网消息访问协议）&lt;/strong&gt;（端口 143）：邮件保留在服务器上，支持远程文件夹管理、部分下载。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;MIME（多用途互联网邮件扩展）&lt;/strong&gt;：在邮件中传输非 ASCII 内容（图片、音频、附件），通过定义新的内容类型（Content-Type）和编码方式（Base64、QP）。&lt;/p&gt;</description><content:encoded><![CDATA[<p>应用层是参考模型的最上层，也是距离用户最近的一层，为各式各样的应用定义了通信规则和协同方式，满足不同的应用需求。围绕这个主题，本章主要探讨了以下内容。</p>
<h3 id="1应用进程通信方式与套接字编程">（1）应用进程通信方式与套接字编程</h3>
<p><strong>客户/服务器模型（C/S）</strong>：服务器长期运行，被动等待请求；客户主动发起请求，完成服务后断开。优点是集中管理，缺点是服务器可能成为瓶颈。现代 Web、FTP、电子邮件均采用此模型。</p>
<p><strong>套接字（Socket）</strong>：应用层与传输层的编程接口。原语包括：</p>
<ul>
<li><code>socket()</code>：创建套接字。</li>
<li><code>bind()</code>：绑定本地地址和端口（服务器用）。</li>
<li><code>listen()</code>（TCP）：进入被动监听状态。</li>
<li><code>accept()</code>（TCP）：接受连接请求。</li>
<li><code>connect()</code>（TCP）：主动连接服务器。</li>
<li><code>send()/recv()</code> 或 <code>write()/read()</code>：数据传输。</li>
<li><code>close()</code>：关闭连接。</li>
</ul>
<p>基于 TCP 的套接字流程：服务器创建→绑定→监听→接受；客户端创建→连接→通信；可靠有序字节流。
基于 UDP 的套接字流程：无需连接，直接使用 <code>sendto()</code>/<code>recvfrom()</code>，发送和接收数据报。</p>
<h3 id="2域名系统dns">（2）域名系统（DNS）</h3>
<p>DNS 负责将主机名（如 <a href="https://www.example.com">www.example.com</a>）解析为 IP 地址。域名空间为层次树结构，根域为 <code>&quot;&quot;</code>（点），顶层域（TLD）包括通用域（.com, .org）和国家域（.cn, .uk）等。</p>
<p><strong>域名服务器</strong>按层次分工：</p>
<ul>
<li><strong>根域名服务器</strong>：全球 13 组（逻辑上），不直接解析，只指引到 TLD 服务器。</li>
<li><strong>顶级域名服务器</strong>：负责特定 TLD 下的域名。</li>
<li><strong>权威域名服务器</strong>：负责特定域（如 example.com）的所有记录。</li>
<li><strong>本地域名服务器</strong>：ISP 或企业网络提供，缓存解析结果，代表用户发起查询。</li>
</ul>
<p><strong>解析算法</strong>：</p>
<ul>
<li><strong>递归查询</strong>：本地域名服务器代为请求其他服务器，将最终结果返回用户。</li>
<li><strong>迭代查询</strong>：本地域名服务器依次询问各服务器（根→TLD→权威），每个服务器返回下一级地址。</li>
</ul>
<p><strong>DNS 缓存</strong>：各层服务器缓存解析结果，降低延迟，但必须设置 TTL 以确保更新。</p>
<h3 id="3典型应用层协议">（3）典型应用层协议</h3>
<p><strong>文件传输（FTP）</strong>：使用两个 TCP 连接：控制连接（端口 21，发送命令）和数据连接（端口 20，传输文件）。支持主动模式（服务器主动连接客户端）和被动模式（客户端连接服务器协商的端口）。</p>
<p><strong>远程登录 TELNET/SSH</strong>：</p>
<ul>
<li><strong>TELNET</strong>（端口 23）：明文传输，不安全。</li>
<li><strong>SSH</strong>（端口 22）：加密认证，支持远程 shell、文件传输（SFTP）、端口转发。</li>
</ul>
<p><strong>电子邮件协议</strong>：</p>
<ul>
<li><strong>SMTP（简单邮件传输协议）</strong>（端口 25）：用于邮件客户端到服务器、服务器到服务器之间的邮件发送。仅支持 ASCII 文本，使用 MIME 支持多媒体。</li>
<li><strong>POP3（邮局协议第3版）</strong>（端口 110）：下载邮件到本地，通常删除服务器上的邮件。</li>
<li><strong>IMAP（互联网消息访问协议）</strong>（端口 143）：邮件保留在服务器上，支持远程文件夹管理、部分下载。</li>
</ul>
<p><strong>MIME（多用途互联网邮件扩展）</strong>：在邮件中传输非 ASCII 内容（图片、音频、附件），通过定义新的内容类型（Content-Type）和编码方式（Base64、QP）。</p>
<h3 id="4万维网与-http">（4）万维网与 HTTP</h3>
<p>万维网（WWW）是基于客户/服务器的分布式信息系统，通过超链接关联资源（网页、图片、视频）。</p>
<p><strong>静态 Web vs 动态 Web</strong>：</p>
<ul>
<li><strong>静态页面</strong>：HTML 文件存储在服务器，内容固定，适用于信息展示。</li>
<li><strong>动态页面</strong>：服务器端脚本（PHP、ASP、Node.js）根据请求参数动态生成 HTML，或由客户端 JavaScript 操作 DOM 实现动态效果。</li>
</ul>
<p><strong>HTTP（超文本传输协议）</strong>：</p>
<ul>
<li>版本演变：HTTP/0.9（仅 GET）、HTTP/1.0（支持头部、状态码）、HTTP/1.1（持久连接、管道化）、HTTP/2（多路复用、服务器推送）、HTTP/3（基于 QUIC）。</li>
<li>方法：GET、POST、PUT、DELETE、HEAD、OPTIONS。</li>
<li>状态码：1xx（信息）、2xx（成功）、3xx（重定向）、4xx（客户端错误）、5xx（服务器错误）。</li>
</ul>
<p><strong>代理服务器与 Web 缓存</strong>：</p>
<ul>
<li><strong>代理服务器</strong>：位于客户端和服务器之间，可转发请求、过滤内容、缓存响应、匿名访问。</li>
<li><strong>Web 缓存</strong>：将最近访问的页面副本存储靠近用户的位置（浏览器缓存、ISP 缓存、反向代理），减少延迟和带宽消耗。缓存一致性通过 <code>Cache-Control</code> 和 <code>ETag</code> 控制。</li>
</ul>
<p><strong>Web 安全</strong>：</p>
<ul>
<li><strong>加密通信</strong>：HTTPS = HTTP + TLS（传输层安全），加密数据防止窃听。</li>
<li><strong>验证对方身份</strong>：服务器证书（X.509），由 CA（证书颁发机构）签名。</li>
<li><strong>数据完整性</strong>：TLS 的 MAC 保证数据在传输中未被篡改。</li>
</ul>
<h3 id="5多媒体应用与内容分发网络">（5）多媒体应用与内容分发网络</h3>
<p>因特网的三种音频/视频服务：</p>
<ul>
<li><strong>流式存储音频/视频</strong>：用户点播预先录制的文件（如 Netflix、YouTube）。支持暂停、快进。</li>
<li><strong>流式直播音频/视频</strong>：实时采集并广播（如直播、网络电台）。</li>
<li><strong>交互式音频/视频</strong>：实时双向通信（如 Zoom、Skype），对延迟敏感。</li>
</ul>
<p>发布海量音频/视频数据面临挑战：服务器带宽、延迟、跨运营商传输质量。<strong>内容分发网络（CDN）</strong> 解决此问题：在全球部署边缘节点，将内容缓存在靠近用户的位置。用户被 DNS 重定向到最近的 CDN 节点。CDN 降低了源服务器负载，提高了用户体验。</p>
<h3 id="6p2p-应用与分布式散列表">（6）P2P 应用与分布式散列表</h3>
<p><strong>P2P 体系结构</strong>：没有中心服务器，每个节点（对等方）既是客户端又是服务器（称为“对等方”）。通过直接交换共享文件、带宽、存储。</p>
<p><strong>工作原理</strong>：例如 BitTorrent，将文件分为很多小块（piece）。节点从 tracker 或 DHT 获取其他对等方地址，并行下载不同块，同时上传自己已拥有的块（“人人为我，我为人人”）。稀有优先、阻塞/乐观疏通等机制提高效率。</p>
<p><strong>分布式散列表（DHT）</strong>：实现键值对的分布式存储，每个对等方负责一小部分键空间。典型算法：Chord（环形结构）、Kademlia（基于异或距离）。DHT 为 P2P 系统（如 BT 的 DHT 网络、以太坊）提供高效的资源定位服务。</p>
]]></content:encoded></item><item><title>网络层</title><link>https://farmer3-c.github.io/posts/computer-networks/network-layer/</link><pubDate>Wed, 27 Aug 2025 19:48:28 +0800</pubDate><guid>https://farmer3-c.github.io/posts/computer-networks/network-layer/</guid><description>&lt;p&gt;网络层是两个核心层之一，其功能是将分组从源主机一路送到目的主机。本章围绕这个功能，探讨网络层的技术和协议。&lt;/p&gt;
&lt;h2 id="网络层服务模型"&gt;网络层服务模型&lt;/h2&gt;
&lt;p&gt;网络层首先探讨了源和目的之间的通信网络的分类和提供的服务：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;数据报网络&lt;/strong&gt;：提供无连接的服务，每个分组（数据报）独立路由，使用 IP 协议。特点：不维护连接状态，分组可能乱序到达。优点：鲁棒性强，适合动态路由。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;虚电路网络&lt;/strong&gt;：提供面向连接的服务，通信前需建立虚电路（如 X.25、ATM、MPLS）。特点：所有分组沿相同路径按序到达，可以预留资源（QoS）。缺点：需要维护连接状态，容错性差（节点故障导致所有连接中断）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;网络层上的协议分为被路由协议（routed protocol）和路由选择协议（routing protocol）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;被路由协议&lt;/strong&gt;：为分组的路由提供所需要的信息，例如 IP 协议提供地址和分组格式。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;路由选择协议&lt;/strong&gt;：用于填充路由表，如 RIP、OSPF、BGP。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ipv4-地址与子网划分"&gt;IPv4 地址与子网划分&lt;/h2&gt;
&lt;h3 id="ipv4-地址表示和分类"&gt;IPv4 地址表示和分类&lt;/h3&gt;
&lt;p&gt;IPv4 地址长度为 32 位，通常用点分十进制表示（如 192.0.2.1）。最初分为五类（A、B、C、D、E）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A 类&lt;/strong&gt;：首位 0，网络号 8 位，主机号 24 位（范围 0.0.0.0 – 127.255.255.255），但 0 和 127 保留，实际 1–126。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;B 类&lt;/strong&gt;：首位 10，网络号 16 位，主机号 16 位（128.0.0.0 – 191.255.255.255）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C 类&lt;/strong&gt;：首位 110，网络号 24 位，主机号 8 位（192.0.0.0 – 223.255.255.255）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;D 类&lt;/strong&gt;（组播）：1110 开头，地址 224.0.0.0 – 239.255.255.255。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;E 类&lt;/strong&gt;（保留）：240.0.0.0 – 255.255.255.255。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="子网划分与-cidr"&gt;子网划分与 CIDR&lt;/h3&gt;
&lt;p&gt;IPv4 地址资源按块分配给 ISP，个人用户从 ISP 获取 IP 地址。为了方便管理和节约 IP 地址，使用&lt;strong&gt;子网掩码&lt;/strong&gt;（如 255.255.255.0）将主机号再分为子网号和子网内主机号。**可变长子网掩码（VLSM）**允许不同子网使用不同掩码长度，尽量不浪费地址。&lt;/p&gt;</description><content:encoded><![CDATA[<p>网络层是两个核心层之一，其功能是将分组从源主机一路送到目的主机。本章围绕这个功能，探讨网络层的技术和协议。</p>
<h2 id="网络层服务模型">网络层服务模型</h2>
<p>网络层首先探讨了源和目的之间的通信网络的分类和提供的服务：</p>
<ul>
<li><strong>数据报网络</strong>：提供无连接的服务，每个分组（数据报）独立路由，使用 IP 协议。特点：不维护连接状态，分组可能乱序到达。优点：鲁棒性强，适合动态路由。</li>
<li><strong>虚电路网络</strong>：提供面向连接的服务，通信前需建立虚电路（如 X.25、ATM、MPLS）。特点：所有分组沿相同路径按序到达，可以预留资源（QoS）。缺点：需要维护连接状态，容错性差（节点故障导致所有连接中断）。</li>
</ul>
<p>网络层上的协议分为被路由协议（routed protocol）和路由选择协议（routing protocol）：</p>
<ul>
<li><strong>被路由协议</strong>：为分组的路由提供所需要的信息，例如 IP 协议提供地址和分组格式。</li>
<li><strong>路由选择协议</strong>：用于填充路由表，如 RIP、OSPF、BGP。</li>
</ul>
<h2 id="ipv4-地址与子网划分">IPv4 地址与子网划分</h2>
<h3 id="ipv4-地址表示和分类">IPv4 地址表示和分类</h3>
<p>IPv4 地址长度为 32 位，通常用点分十进制表示（如 192.0.2.1）。最初分为五类（A、B、C、D、E）：</p>
<ul>
<li><strong>A 类</strong>：首位 0，网络号 8 位，主机号 24 位（范围 0.0.0.0 – 127.255.255.255），但 0 和 127 保留，实际 1–126。</li>
<li><strong>B 类</strong>：首位 10，网络号 16 位，主机号 16 位（128.0.0.0 – 191.255.255.255）。</li>
<li><strong>C 类</strong>：首位 110，网络号 24 位，主机号 8 位（192.0.0.0 – 223.255.255.255）。</li>
<li><strong>D 类</strong>（组播）：1110 开头，地址 224.0.0.0 – 239.255.255.255。</li>
<li><strong>E 类</strong>（保留）：240.0.0.0 – 255.255.255.255。</li>
</ul>
<h3 id="子网划分与-cidr">子网划分与 CIDR</h3>
<p>IPv4 地址资源按块分配给 ISP，个人用户从 ISP 获取 IP 地址。为了方便管理和节约 IP 地址，使用<strong>子网掩码</strong>（如 255.255.255.0）将主机号再分为子网号和子网内主机号。**可变长子网掩码（VLSM）**允许不同子网使用不同掩码长度，尽量不浪费地址。</p>
<p><strong>CIDR（无类别域间路由）</strong>：舍弃固定类别，使用“前缀/长度”表示任意长度的网络前缀（例如 192.168.0.0/16）。CIDR 支持路由聚合（超网），大幅缩小路由表规模。</p>
<h3 id="ip-寻址与-mac-寻址的协作">IP 寻址与 MAC 寻址的协作</h3>
<p>IP 寻址用于跨网络通信（逻辑地址），而 MAC 寻址（物理地址）用于同一子网内的链路层传输。在数据传输过程中：</p>
<ul>
<li>源主机将 IP 分组封装成帧，目的 MAC 地址为下一跳路由器（或目的主机）的 MAC。</li>
<li>路由器转发时，IP 分组（源和目的 IP 不变）被重新封装，MAC 地址每跳都更新。</li>
</ul>
<h3 id="地址解析协议arp">地址解析协议（ARP）</h3>
<p>在知晓通信对方的 IPv4 地址，但却不知其 MAC 地址时，启用地址解析协议（ARP）。工作原理：</p>
<ol>
<li>发送方广播 ARP 请求（“谁拥有 IP X？请回复 MAC”）。</li>
<li>目标主机单播 ARP 应答（包含自己的 MAC）。</li>
<li>发送方将映射存入 ARP 缓存（通常 20 分钟有效期）。</li>
</ol>
<p>当目的主机位于远程网络中时，必须使用<strong>默认网关</strong>（路由器），此时 ARP 请求的目标 IP 是网关 IP，从而获得网关 MAC。</p>
<h3 id="icmp互联网控制消息协议">ICMP（互联网控制消息协议）</h3>
<p>IP 分组传输仅是尽力而为，会遭遇丢包、拥塞等异常。ICMP 提供差错报告和网络诊断。</p>
<ul>
<li><strong>差错报告</strong>：目的不可达（3）、超时（11，如 TTL 为 0）、参数问题等。</li>
<li><strong>网络诊断</strong>：回声请求/应答（Type 8/0）用于 ping；时间戳请求用于测量延迟。</li>
<li>著名的 <strong>traceroute</strong> 使用 TTL 逐跳递增和 ICMP 超时报文来探测路径。</li>
</ul>
<h2 id="nat网络地址转换">NAT（网络地址转换）</h2>
<p>IPv4 总地址池已于 2011 年枯竭，而网民人数还在逐年上升。NAT 是地址不够用的快速修补方案。</p>
<ul>
<li><strong>私有地址</strong>：三个保留地址块（10.0.0.0/8、172.16.0.0/12、192.168.0.0/16），仅限内部网络使用，不接入公网路由。</li>
<li><strong>NAT 工作原理</strong>：内部主机访问公网时，NAT 路由器将源 IP（私有）和端口号转换为公网 IP 和一个新端口，并维护映射表。返回数据时逆向转换。</li>
<li><strong>NAT 局限性</strong>：破坏端到端透明性，外部无法主动连接内部主机（需手动配置端口转发或 UPnP）。</li>
</ul>
<h2 id="ipv6">IPv6</h2>
<p>IPv6 是大势所趋，其地址长度为 128 位，采用冒分十六进制表示（如 2001:0db8:85a3::8a2e:0370:7334）。</p>
<h3 id="ipv6-地址分类">IPv6 地址分类</h3>
<ul>
<li><strong>单播</strong>：唯一标识一个接口，包括全球单播（可聚合全球）、链路本地（FE80::/10）、唯一本地（FC00::/7）等。</li>
<li><strong>多播</strong>（FF00::/8）：代替 IPv4 广播。</li>
<li><strong>任播</strong>：分配多个节点，数据发送到最近的一个（按路由距离）。</li>
</ul>
<h3 id="地址获取与-dad">地址获取与 DAD</h3>
<p>IPv6 地址可以通过两种方式获取：</p>
<ul>
<li><strong>无状态地址自动配置（SLAAC）</strong>：根据路由器通告的前缀 + 接口标识符（通常由 MAC 生成 EUI-64）自动生成地址。</li>
<li><strong>动态主机配置协议 v6（DHCPv6）</strong>：有状态配置，可下发 DNS 等信息。</li>
</ul>
<p>获得的 IPv6 地址需要通过<strong>重复地址检测（DAD）</strong> 之后才可使用：节点发送邻居请求（NS）询问该地址是否已被使用，若无响应则地址有效。</p>
<h3 id="邻居发现协议ndp">邻居发现协议（NDP）</h3>
<p>NDP 取代 IPv4 的 ARP，提供：</p>
<ul>
<li><strong>地址解析</strong>：使用邻居请求（NS）/邻居通告（NA）获取链路层地址。</li>
<li><strong>路由器发现</strong>：主机通过路由器通告（RA）获知前缀和默认网关。</li>
<li><strong>地址自动配置</strong>：结合 SLAAC。</li>
<li><strong>重定向</strong>：路由器通知主机更优的下一跳。</li>
</ul>
<h3 id="ipv4-向-ipv6-过渡技术">IPv4 向 IPv6 过渡技术</h3>
<p>三大类过渡技术：</p>
<ol>
<li><strong>双协议栈</strong>：节点同时运行 IPv4 和 IPv6，根据目的地址选择协议。</li>
<li><strong>隧道技术</strong>：将 IPv6 分组封装在 IPv4 分组中，穿越 IPv4 网络（如 6to4、Teredo）。</li>
<li><strong>NAT-PT / NAT64</strong>：在边界网关处进行 IPv6 与 IPv4 地址和协议的转换。</li>
</ol>
<h2 id="路由选择协议">路由选择协议</h2>
<p>按照运行的位置，路由选择协议分为：</p>
<ul>
<li><strong>IGP（内部网关协议）</strong>：在一个自治系统（AS）内部运行，如 RIP、OSPF。</li>
<li><strong>EGP（外部网关协议）</strong>：AS 之间运行，主要是 BGP。</li>
</ul>
<h3 id="距离矢量路由协议rip">距离矢量路由协议（RIP）</h3>
<p>基本原理：每个路由器周期性地向邻居通告其到所有目的网络的“距离”（跳数），并更新自己的路由表。</p>
<ul>
<li><strong>RIP（Routing Information Protocol）</strong>：使用跳数作为度量（最大 15，16 表示无穷大）。每 30 秒广播更新。存在<strong>计数到无穷</strong>问题：链路故障时，错误路由信息在网中传播，需通过水平分割、毒性逆转、最大跳数限制（15）等方法缓解。</li>
<li><strong>RIPv2</strong>：支持 CIDR、认证和多播。</li>
</ul>
<h3 id="链路状态路由协议ospf">链路状态路由协议（OSPF）</h3>
<p>链路状态（LS）路由协议的基本原理是：发现、设置、构造、分发和计算。每个路由器通过洪泛 LSA（链路状态通告）收集全网的拓扑信息，用 Dijkstra 算法计算最短路径。</p>
<p><strong>OSPF（开放最短路径优先）</strong>：</p>
<ul>
<li>五种报文：Hello（建立邻居）、数据库描述（DD，同步 LSA 摘要）、链路状态请求（LSR）、链路状态更新（LSU）、链路状态确认（LSAck）。</li>
<li><strong>DR/BDR 选举</strong>：在广播多路访问网络（如以太网）中，选举一个指定路由器（DR）和备份 BDR 来减少 LSA 洪泛。</li>
<li><strong>分区域运行</strong>：将大型 AS 分为多个区域（Area 0 为骨干区域），区域内部计算详细路由，区域间汇总路由。好处：缩小路由表、隔离故障、减少 LSA 洪泛。</li>
</ul>
<h2 id="qos服务质量">QoS（服务质量）</h2>
<p>网络从免费走向商用时，QoS 问题就不可回避了。本章探讨了三个 QoS 模型：</p>
<ol>
<li><strong>综合服务模型（IntServ）</strong>：为每个流（如视频会议）预留资源，使用 RSVP 信令。可提供严格 QoS，但扩展性差，不适合大规模网络。</li>
<li><strong>区分服务模型（DiffServ）</strong>：对流量分类标记（DS 字段），边界路由器标记流量类别，核心路由器按每跳行为（PHB）调度（如加速转发 EF、确保转发 AF）。可扩展性好，是目前主流的 QoS 方案。</li>
<li><strong>多协议标签交换（MPLS）</strong>：在网络边缘给分组打上固定长度的标签，核心路由器根据标签快速转发（不查 IP 头）。支持流量工程和虚拟专用网（VPN），位于层 2 和层 3 之间。</li>
</ol>
<hr>
<p><a href="/pdf/05-%E8%B7%AF%E7%94%B1%E9%80%89%E6%8B%A9%E5%92%8C%E7%BD%91%E7%BB%9C%E5%B1%82-0929.pdf">0929</a><br>
<a href="/pdf/05-%E8%B7%AF%E7%94%B1%E9%80%89%E6%8B%A9%E5%92%8C%E7%BD%91%E7%BB%9C%E5%B1%82-1014.pdf">1014</a></p>
]]></content:encoded></item><item><title>传输层</title><link>https://farmer3-c.github.io/posts/computer-networks/transport-layer/</link><pubDate>Wed, 27 Aug 2025 19:47:43 +0800</pubDate><guid>https://farmer3-c.github.io/posts/computer-networks/transport-layer/</guid><description>&lt;p&gt;传输层是承接应用层和网络层的关键一环，传输层基于网络层提供的服务将主机与主机之间的通信封装为端与端之间的通信，实现了两台主机进程之间的数据交付，并且为上层应用屏蔽了复杂的底层网络细节，建立了网络的抽象模型。围绕以上特性，本章探讨传输层使用的技术。&lt;/p&gt;
&lt;h3 id="1传输层多路复用分用功能与端到端传输"&gt;（1）传输层多路复用/分用功能与端到端传输&lt;/h3&gt;
&lt;p&gt;传输层通过 &lt;strong&gt;多路复用&lt;/strong&gt; 和 &lt;strong&gt;多路分用&lt;/strong&gt; 实现多个应用进程共享网络层服务。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;多路复用&lt;/strong&gt;：发送方传输层将多个应用进程的数据（来自不同套接字）封装成数据段，然后传递给网络层。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多路分用&lt;/strong&gt;：接收方传输层根据数据段中的端口号，将数据交付给正确的套接字（即相应进程）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;端口&lt;/strong&gt;：16 位整数（0–65535），用于标识主机上的特定进程。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;熟知端口&lt;/strong&gt;（0–1023）：分配给标准服务，如 HTTP(80)、HTTPS(443)、FTP(21)、SSH(22)、DNS(53)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;注册端口&lt;/strong&gt;（1024–49151）：用户应用程序使用，需要向 IANA 注册。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;动态/私有端口&lt;/strong&gt;（49152–65535）：客户端临时使用。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;套接字（Socket）&lt;/strong&gt;：IP 地址 + 端口号的组合，唯一标识网络中的一个端点。套接字是应用层与传输层之间的编程抽象。&lt;/p&gt;
&lt;p&gt;传输层提供两种核心服务模式：无连接的 UDP 和面向连接的 TCP。&lt;/p&gt;
&lt;h3 id="2udp用户数据报协议"&gt;（2）UDP（用户数据报协议）&lt;/h3&gt;
&lt;p&gt;UDP 提供无连接、不可靠的数据传输服务，不保证顺序，不进行重传。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;特点&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;无连接：发送前无需建立连接，每个 UDP 数据段独立处理。&lt;/li&gt;
&lt;li&gt;轻量：头部开销小（仅 8 字节），无拥塞控制和流量控制。&lt;/li&gt;
&lt;li&gt;支持组播和广播。&lt;/li&gt;
&lt;li&gt;应用场景：对延迟敏感、容忍丢包、实时性要求高的场景（如 DNS 查询、VoIP、视频直播、在线游戏）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;UDP 数据段格式&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;源端口（2 字节）、目的端口（2 字节）、长度（2 字节，包括头部和数据）、校验和（2 字节，覆盖头部和数据及伪头部）。&lt;/li&gt;
&lt;li&gt;校验和计算：包含 UDP 伪头部（源 IP、目的 IP、协议号、UDP 长度），用于检测从网络层到传输层的差错。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;典型应用&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;远程过程调用（RPC）&lt;/strong&gt;：客户调用远程服务时，UDP 的低延迟适合请求-响应交互。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;实时传输协议（RTP）&lt;/strong&gt;：通常运行在 UDP 上，传输音视频媒体流，允许少量丢包。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3tcp传输控制协议"&gt;（3）TCP（传输控制协议）&lt;/h3&gt;
&lt;p&gt;TCP 提供面向连接、可靠、有序的字节流服务。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;特点&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;面向连接：数据传输前需经过三次握手建立连接。&lt;/li&gt;
&lt;li&gt;可靠传输：使用序号、确认、重传保证数据不丢失、不重复、按序到达。&lt;/li&gt;
&lt;li&gt;流量控制：基于滑动窗口机制，协调发送速率避免接收方缓存溢出。&lt;/li&gt;
&lt;li&gt;拥塞控制：动态调整发送速率，避免网络过载。&lt;/li&gt;
&lt;li&gt;全双工通信：支持双向同时传输数据。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;TCP 数据段格式&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;源端口、目的端口（各 2 字节）&lt;/li&gt;
&lt;li&gt;序号（4 字节，本段第一个字节的序号）&lt;/li&gt;
&lt;li&gt;确认号（4 字节，期望收到的下一个序号，表示之前的数据都已收到）&lt;/li&gt;
&lt;li&gt;数据偏移（4 位，头部长度）&lt;/li&gt;
&lt;li&gt;标志位：ACK（确认有效）、RST（复位）、SYN（同步序号）、FIN（终止连接）、URG（紧急指针有效）、PSH（立即推送）&lt;/li&gt;
&lt;li&gt;窗口大小（2 字节，接收方给出的剩余缓存空间）&lt;/li&gt;
&lt;li&gt;校验和（2 字节，覆盖头部、数据和伪头部）&lt;/li&gt;
&lt;li&gt;紧急指针（2 字节，与 URG 配合）&lt;/li&gt;
&lt;li&gt;选项（可变长，如最大段大小 MSS、时间戳、窗口缩放因子）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;可靠传输机制&lt;/strong&gt;：&lt;/p&gt;</description><content:encoded><![CDATA[<p>传输层是承接应用层和网络层的关键一环，传输层基于网络层提供的服务将主机与主机之间的通信封装为端与端之间的通信，实现了两台主机进程之间的数据交付，并且为上层应用屏蔽了复杂的底层网络细节，建立了网络的抽象模型。围绕以上特性，本章探讨传输层使用的技术。</p>
<h3 id="1传输层多路复用分用功能与端到端传输">（1）传输层多路复用/分用功能与端到端传输</h3>
<p>传输层通过 <strong>多路复用</strong> 和 <strong>多路分用</strong> 实现多个应用进程共享网络层服务。</p>
<ul>
<li><strong>多路复用</strong>：发送方传输层将多个应用进程的数据（来自不同套接字）封装成数据段，然后传递给网络层。</li>
<li><strong>多路分用</strong>：接收方传输层根据数据段中的端口号，将数据交付给正确的套接字（即相应进程）。</li>
</ul>
<p><strong>端口</strong>：16 位整数（0–65535），用于标识主机上的特定进程。</p>
<ul>
<li><strong>熟知端口</strong>（0–1023）：分配给标准服务，如 HTTP(80)、HTTPS(443)、FTP(21)、SSH(22)、DNS(53)。</li>
<li><strong>注册端口</strong>（1024–49151）：用户应用程序使用，需要向 IANA 注册。</li>
<li><strong>动态/私有端口</strong>（49152–65535）：客户端临时使用。</li>
</ul>
<p><strong>套接字（Socket）</strong>：IP 地址 + 端口号的组合，唯一标识网络中的一个端点。套接字是应用层与传输层之间的编程抽象。</p>
<p>传输层提供两种核心服务模式：无连接的 UDP 和面向连接的 TCP。</p>
<h3 id="2udp用户数据报协议">（2）UDP（用户数据报协议）</h3>
<p>UDP 提供无连接、不可靠的数据传输服务，不保证顺序，不进行重传。</p>
<p><strong>特点</strong>：</p>
<ul>
<li>无连接：发送前无需建立连接，每个 UDP 数据段独立处理。</li>
<li>轻量：头部开销小（仅 8 字节），无拥塞控制和流量控制。</li>
<li>支持组播和广播。</li>
<li>应用场景：对延迟敏感、容忍丢包、实时性要求高的场景（如 DNS 查询、VoIP、视频直播、在线游戏）。</li>
</ul>
<p><strong>UDP 数据段格式</strong>：</p>
<ul>
<li>源端口（2 字节）、目的端口（2 字节）、长度（2 字节，包括头部和数据）、校验和（2 字节，覆盖头部和数据及伪头部）。</li>
<li>校验和计算：包含 UDP 伪头部（源 IP、目的 IP、协议号、UDP 长度），用于检测从网络层到传输层的差错。</li>
</ul>
<p><strong>典型应用</strong>：</p>
<ul>
<li><strong>远程过程调用（RPC）</strong>：客户调用远程服务时，UDP 的低延迟适合请求-响应交互。</li>
<li><strong>实时传输协议（RTP）</strong>：通常运行在 UDP 上，传输音视频媒体流，允许少量丢包。</li>
</ul>
<h3 id="3tcp传输控制协议">（3）TCP（传输控制协议）</h3>
<p>TCP 提供面向连接、可靠、有序的字节流服务。</p>
<p><strong>特点</strong>：</p>
<ul>
<li>面向连接：数据传输前需经过三次握手建立连接。</li>
<li>可靠传输：使用序号、确认、重传保证数据不丢失、不重复、按序到达。</li>
<li>流量控制：基于滑动窗口机制，协调发送速率避免接收方缓存溢出。</li>
<li>拥塞控制：动态调整发送速率，避免网络过载。</li>
<li>全双工通信：支持双向同时传输数据。</li>
</ul>
<p><strong>TCP 数据段格式</strong>：</p>
<ul>
<li>源端口、目的端口（各 2 字节）</li>
<li>序号（4 字节，本段第一个字节的序号）</li>
<li>确认号（4 字节，期望收到的下一个序号，表示之前的数据都已收到）</li>
<li>数据偏移（4 位，头部长度）</li>
<li>标志位：ACK（确认有效）、RST（复位）、SYN（同步序号）、FIN（终止连接）、URG（紧急指针有效）、PSH（立即推送）</li>
<li>窗口大小（2 字节，接收方给出的剩余缓存空间）</li>
<li>校验和（2 字节，覆盖头部、数据和伪头部）</li>
<li>紧急指针（2 字节，与 URG 配合）</li>
<li>选项（可变长，如最大段大小 MSS、时间戳、窗口缩放因子）</li>
</ul>
<p><strong>可靠传输机制</strong>：</p>
<ul>
<li><strong>序号机制</strong>：每个字节都有序号，ACK 确认的是累积收到的最高序号的下一字节。</li>
<li><strong>确认机制</strong>：接收方发送 ACK，可延迟确认（通常 200ms）或捎带在数据中。</li>
<li><strong>重传机制</strong>：发送方维护重传计时器，超时未收到 ACK 则重传。超时时间 RTO 根据往返时间 RTT 动态计算（Jacobson 算法）。</li>
</ul>
<p><strong>流量控制</strong>：通过接收窗口（rwnd）实现。接收方在 ACK 中通告自己的可用缓存大小，发送方不能超过该窗口。</p>
<h3 id="4tcp-连接管理">（4）TCP 连接管理</h3>
<p><strong>三次握手建立连接</strong>：</p>
<ol>
<li>客户端发送 SYN 段（seq=x，SYN=1），进入 SYN_SENT。</li>
<li>服务器回复 SYN+ACK（seq=y，ACK=x+1，SYN=1），进入 SYN_RCVD。</li>
<li>客户端发送 ACK（ACK=y+1），进入 ESTABLISHED；服务器收到 ACK 后也进入 ESTABLISHED。</li>
</ol>
<p>必要性：防止旧的重复连接请求突然到达服务器而产生错误；双方协商初始序号。</p>
<p><strong>四次挥手释放连接</strong>：</p>
<ol>
<li>主动关闭方发送 FIN（seq=u），进入 FIN_WAIT_1。</li>
<li>被动关闭方回复 ACK（ACK=u+1），进入 CLOSE_WAIT；主动方进入 FIN_WAIT_2。</li>
<li>被动方发送 FIN（seq=v），进入 LAST_ACK。</li>
<li>主动方回复 ACK（ACK=v+1），进入 TIME_WAIT（等待 2MSL 后关闭），被动方关闭。</li>
</ol>
<p><strong>TCP 状态机</strong>：包括 LISTEN、SYN_SENT、SYN_RCVD、ESTABLISHED、FIN_WAIT_1/2、CLOSE_WAIT、TIME_WAIT、CLOSED 等状态。</p>
<h3 id="5tcp-计时器管理">（5）TCP 计时器管理</h3>
<p>四种常见计时器：</p>
<ul>
<li><strong>重传计时器</strong>：超时未收到 ACK 则重传，RTO 基于 RTT 估算（使用 Karn 算法处理重传歧义）。</li>
<li><strong>持续计时器</strong>：当接收窗口为 0 时启动，定期发送零窗口探测，防止窗口更新丢失导致的死锁。</li>
<li><strong>保活计时器</strong>：长时间空闲时发送探测段，用于检测连接是否存活（默认 2 小时）。</li>
<li><strong>时间等待计时器</strong>：TIME_WAIT 状态时长 2MSL（最长报文段寿命），确保最后一个 ACK 可重发并延迟释放端口。</li>
</ul>
<p><strong>RTT 估算</strong>：Jacobson 算法使用加权移动平均：<br>
<code>SRTT = α * SRTT + (1-α) * RTT_sample</code>（α 通常 0.875）<br>
<code>RTTVAR = β * RTTVAR + (1-β) * |SRTT - RTT_sample|</code><br>
<code>RTO = SRTT + 4 * RTTVAR</code><br>
Karn 算法指出：重传后的 RTT 样本不应参与计算，且采用指数退避。</p>
<h3 id="6tcp-拥塞控制">（6）TCP 拥塞控制</h3>
<p>拥塞控制的目标是避免网络过载，公平共享带宽。TCP 使用窗口机制：拥塞窗口（cwnd）与接收窗口（rwnd）的最小值为实际发送窗口。</p>
<p>四个阶段：</p>
<ol>
<li><strong>慢启动</strong>：cwnd 从 1 个 MSS 开始，每收到一个 ACK 增加 1 个 MSS（指数增长），直到达到慢启动阈值 ssthresh。</li>
<li><strong>拥塞避免</strong>：cwnd 每 RTT 增加 1 个 MSS（线性增长），直到出现丢包（超时或收到三个重复 ACK）。</li>
<li><strong>快速重传</strong>：发送方收到三个重复 ACK 后立即重传丢失段，无需等待超时。</li>
<li><strong>快速恢复</strong>（TCP Reno）：将 ssthresh 设为 cwnd/2，cwnd 设为 ssthresh + 3，然后进入拥塞避免。</li>
</ol>
<p><strong>AIMD（加性增乘性减）</strong>：拥塞避免阶段线性增加；丢包后将窗口减半（乘性减）。此算法保证了 TCP 流的公平性（多个流共享瓶颈链路时逐渐收敛到公平带宽分配）。</p>
<h3 id="7新一代传输协议-quic">（7）新一代传输协议 QUIC</h3>
<p>TCP 在移动网络、高延迟、多路复用下存在头部阻塞等问题。QUIC（Quick UDP Internet Connections）是基于 UDP 的新一代低时延传输协议。</p>
<p><strong>发展历程</strong>：由 Google 提出，现已成为 IETF 标准（RFC 9000），是 HTTP/3 的底层传输协议。</p>
<p><strong>优化思路</strong>：</p>
<ul>
<li><strong>多流复用</strong>：在一个连接内支持多个独立流，某个流丢包不影响其他流（解决 TCP 头部阻塞）。</li>
<li><strong>0-RTT 连接建立</strong>：结合加密握手，可在首个数据包中携带数据，减少延迟。</li>
<li><strong>连接迁移</strong>：使用连接 ID 而非 (IP, port) 标识连接，支持移动设备切换网络时连接不断。</li>
<li><strong>改进的拥塞控制</strong>：每个流独立拥塞控制，可插拔算法（如 BBR）。</li>
</ul>
<p><strong>数据段格式</strong>：长头部（版本协商）和短头部（常规传输），包含连接 ID、包号、帧类型等。</p>
<p><strong>连接管理</strong>：基于非对称加密的握手，结合 TLS 1.3，实现安全与连接建立并行。</p>
<p>QUIC 通过“流”这一概念，实现了更灵活的传输模型，特别适用于 Web 和实时应用。</p>
]]></content:encoded></item><item><title>链路层</title><link>https://farmer3-c.github.io/posts/computer-networks/data-link-layer/</link><pubDate>Wed, 27 Aug 2025 19:47:32 +0800</pubDate><guid>https://farmer3-c.github.io/posts/computer-networks/data-link-layer/</guid><description>&lt;h2 id="数据链路层的主要功能"&gt;数据链路层的主要功能&lt;/h2&gt;
&lt;p&gt;数据链路层位于物理层和网络层之间，其主要功能包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;成帧&lt;/strong&gt;：将网络层交付的比特流封装成独立的帧，添加帧头和帧尾，以便接收方能识别帧的边界。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;差错控制&lt;/strong&gt;：通过检错码或纠错码检测（或纠正）传输过程中产生的比特错误，并可配合重传机制。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;流量控制&lt;/strong&gt;：协调发送方和接收方的速率，防止接收方缓存溢出。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;介质访问控制（MAC）&lt;/strong&gt;：在广播型多路访问链路（如以太网、WiFi）上，决定哪个节点何时占用信道。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;链路管理&lt;/strong&gt;：建立、维护和释放数据链路层的连接（在面向连接的链路中）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可靠传输&lt;/strong&gt;：在不可靠的物理链路上，通过确认和重传机制实现数据的可靠交付。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本章对成帧的基本方法进行了详细的描述；针对错误的处理这一数据链路层的重要任务，介绍了检错和纠错的基本原理和典型的编码方法；详细介绍了奇偶检验、循环冗余校验、互联网校验等常用检错码，以及纠1位错的海明码、里所码、低密度奇偶检验等常用纠错码。&lt;/p&gt;
&lt;h3 id="成帧的基本方法"&gt;成帧的基本方法&lt;/h3&gt;
&lt;p&gt;成帧是指将原始比特流分割成若干独立的帧，以便接收方能准确提取每个帧的数据。常用方法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;字节计数法&lt;/strong&gt;：帧头中使用一个字段表示帧的总长度（字节数）。接收方读取长度字段后，就知道从哪里结束。缺点：长度字段本身出错会导致帧同步丢失。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;字节填充的标志字节法&lt;/strong&gt;：使用特殊标志字节（如 FLAG=0x7E）表示帧的开始和结束。如果数据中出现了标志字节，则在其前面插入转义字节（如 ESC=0x7D）。接收方遇到转义字节则删除并还原数据。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;比特填充的标志比特法&lt;/strong&gt;（HDLC 常用）：使用标志位序列 01111110 作为帧边界。发送方在数据中连续出现 5 个 1 后自动插入一个 0；接收方连续收到 5 个 1 后，若下一比特为 0 则删除该 0，若为 1 且再下一比特为 0 则视为标志。该方法避免了修改数据内容长度。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;物理层编码违例法&lt;/strong&gt;：利用物理层编码中的“非法”信号作为帧边界（例如曼彻斯特编码中不使用连续的相同电平）。仅适用于特定的物理层编码。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="检错与纠错基本原理"&gt;检错与纠错基本原理&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;检错码&lt;/strong&gt;：在数据后添加冗余位（校验位），使得接收方能根据校验位判断数据是否出错。常见检错码：奇偶校验、循环冗余校验（CRC）、校验和（Checksum）。检错码无法确定错误位置，只能判断“有/无错误”。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;纠错码&lt;/strong&gt;：添加更多冗余位，使接收方能不仅检测错误，还能定位并纠正一定数量的错误比特。典型纠错码：海明码（纠1位错）、BCH码、里所（Reed-Solomon）码、低密度奇偶检验（LDPC）码。纠错码的编码效率（数据位/总位数）较低，适用于无法重传的场景（如深空通信、实时音频）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="常用检错码详解"&gt;常用检错码详解&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;奇偶校验&lt;/strong&gt;：在数据后面附加一个比特，使整个数据中 1 的个数为奇数（奇校验）或偶数（偶校验）。可以检测奇数个比特错误，但不能检测偶数个错误，且无法纠错。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;循环冗余校验（CRC）&lt;/strong&gt;：将数据视为多项式，用生成多项式相除，余数作为 CRC 码附加。接收方重新计算并比对余数。可以检测任意长度的大多数突发错误（取决于生成多项式），广泛用于以太网、WiFi、存储设备。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;互联网校验和（Internet Checksum）&lt;/strong&gt;：将数据按 16 位字分组，进行二进制反码求和，结果取反。简单高效，用于 IP、TCP、UDP 头部校验。错误检测能力弱于 CRC，但便于在软件中快速计算。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="常用纠错码简介"&gt;常用纠错码简介&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;海明码（Hamming Code）&lt;/strong&gt;：通过在数据位之间插入校验位，使得数据位与校验位形成多个奇偶校验组。能够纠正单比特错误，并能检测双比特错误（扩展海明码）。最小码距为 3（或 4）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;里所码（Reed-Solomon, RS）&lt;/strong&gt;：非二进制纠错码，以符号（如 8 位字节）为单位进行编码，非常擅长纠正突发错误。广泛用于光盘、QR 码、卫星通信、数字电视。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低密度奇偶检验码（LDPC）&lt;/strong&gt;：使用稀疏校验矩阵，通过迭代置信传播译码，性能接近香农极限。用于 5G、WiFi 6（802.11ax）、10G 以太网等。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;为了实现数据链路层上的可靠传输，本章介绍了利用停-等协议实现流量控制，利用肯定确认与重传机制处理信道上出现差错的情况。此外，为了提高信道利用率，本章介绍了滑动窗口协议的基本思想，在此基础上详细说明了回退 n 帧协议和选择性重传协议的工作原理，并对两者的滑动窗口大小进行了分析。&lt;/p&gt;</description><content:encoded><![CDATA[<h2 id="数据链路层的主要功能">数据链路层的主要功能</h2>
<p>数据链路层位于物理层和网络层之间，其主要功能包括：</p>
<ul>
<li><strong>成帧</strong>：将网络层交付的比特流封装成独立的帧，添加帧头和帧尾，以便接收方能识别帧的边界。</li>
<li><strong>差错控制</strong>：通过检错码或纠错码检测（或纠正）传输过程中产生的比特错误，并可配合重传机制。</li>
<li><strong>流量控制</strong>：协调发送方和接收方的速率，防止接收方缓存溢出。</li>
<li><strong>介质访问控制（MAC）</strong>：在广播型多路访问链路（如以太网、WiFi）上，决定哪个节点何时占用信道。</li>
<li><strong>链路管理</strong>：建立、维护和释放数据链路层的连接（在面向连接的链路中）。</li>
<li><strong>可靠传输</strong>：在不可靠的物理链路上，通过确认和重传机制实现数据的可靠交付。</li>
</ul>
<p>本章对成帧的基本方法进行了详细的描述；针对错误的处理这一数据链路层的重要任务，介绍了检错和纠错的基本原理和典型的编码方法；详细介绍了奇偶检验、循环冗余校验、互联网校验等常用检错码，以及纠1位错的海明码、里所码、低密度奇偶检验等常用纠错码。</p>
<h3 id="成帧的基本方法">成帧的基本方法</h3>
<p>成帧是指将原始比特流分割成若干独立的帧，以便接收方能准确提取每个帧的数据。常用方法：</p>
<ul>
<li><strong>字节计数法</strong>：帧头中使用一个字段表示帧的总长度（字节数）。接收方读取长度字段后，就知道从哪里结束。缺点：长度字段本身出错会导致帧同步丢失。</li>
<li><strong>字节填充的标志字节法</strong>：使用特殊标志字节（如 FLAG=0x7E）表示帧的开始和结束。如果数据中出现了标志字节，则在其前面插入转义字节（如 ESC=0x7D）。接收方遇到转义字节则删除并还原数据。</li>
<li><strong>比特填充的标志比特法</strong>（HDLC 常用）：使用标志位序列 01111110 作为帧边界。发送方在数据中连续出现 5 个 1 后自动插入一个 0；接收方连续收到 5 个 1 后，若下一比特为 0 则删除该 0，若为 1 且再下一比特为 0 则视为标志。该方法避免了修改数据内容长度。</li>
<li><strong>物理层编码违例法</strong>：利用物理层编码中的“非法”信号作为帧边界（例如曼彻斯特编码中不使用连续的相同电平）。仅适用于特定的物理层编码。</li>
</ul>
<h3 id="检错与纠错基本原理">检错与纠错基本原理</h3>
<ul>
<li><strong>检错码</strong>：在数据后添加冗余位（校验位），使得接收方能根据校验位判断数据是否出错。常见检错码：奇偶校验、循环冗余校验（CRC）、校验和（Checksum）。检错码无法确定错误位置，只能判断“有/无错误”。</li>
<li><strong>纠错码</strong>：添加更多冗余位，使接收方能不仅检测错误，还能定位并纠正一定数量的错误比特。典型纠错码：海明码（纠1位错）、BCH码、里所（Reed-Solomon）码、低密度奇偶检验（LDPC）码。纠错码的编码效率（数据位/总位数）较低，适用于无法重传的场景（如深空通信、实时音频）。</li>
</ul>
<h3 id="常用检错码详解">常用检错码详解</h3>
<ul>
<li><strong>奇偶校验</strong>：在数据后面附加一个比特，使整个数据中 1 的个数为奇数（奇校验）或偶数（偶校验）。可以检测奇数个比特错误，但不能检测偶数个错误，且无法纠错。</li>
<li><strong>循环冗余校验（CRC）</strong>：将数据视为多项式，用生成多项式相除，余数作为 CRC 码附加。接收方重新计算并比对余数。可以检测任意长度的大多数突发错误（取决于生成多项式），广泛用于以太网、WiFi、存储设备。</li>
<li><strong>互联网校验和（Internet Checksum）</strong>：将数据按 16 位字分组，进行二进制反码求和，结果取反。简单高效，用于 IP、TCP、UDP 头部校验。错误检测能力弱于 CRC，但便于在软件中快速计算。</li>
</ul>
<h3 id="常用纠错码简介">常用纠错码简介</h3>
<ul>
<li><strong>海明码（Hamming Code）</strong>：通过在数据位之间插入校验位，使得数据位与校验位形成多个奇偶校验组。能够纠正单比特错误，并能检测双比特错误（扩展海明码）。最小码距为 3（或 4）。</li>
<li><strong>里所码（Reed-Solomon, RS）</strong>：非二进制纠错码，以符号（如 8 位字节）为单位进行编码，非常擅长纠正突发错误。广泛用于光盘、QR 码、卫星通信、数字电视。</li>
<li><strong>低密度奇偶检验码（LDPC）</strong>：使用稀疏校验矩阵，通过迭代置信传播译码，性能接近香农极限。用于 5G、WiFi 6（802.11ax）、10G 以太网等。</li>
</ul>
<p>为了实现数据链路层上的可靠传输，本章介绍了利用停-等协议实现流量控制，利用肯定确认与重传机制处理信道上出现差错的情况。此外，为了提高信道利用率，本章介绍了滑动窗口协议的基本思想，在此基础上详细说明了回退 n 帧协议和选择性重传协议的工作原理，并对两者的滑动窗口大小进行了分析。</p>
<h3 id="停-等协议stop-and-wait">停-等协议（Stop-and-Wait）</h3>
<p>发送方每发送一个帧，就必须等待接收方发回确认（ACK）后才能发送下一帧。若超过一定时间（重传计时器）未收到 ACK，则重传该帧。接收方发送 ACK 后可设置一个序号（0/1）来区分新旧帧。</p>
<ul>
<li><strong>优点</strong>：实现简单，需要的帧序号少（1 比特即可）。</li>
<li><strong>缺点</strong>：信道利用率低，尤其在长传播时延的链路（如卫星链路）中，发送方大部分时间在等待 ACK。</li>
</ul>
<h3 id="滑动窗口协议">滑动窗口协议</h3>
<p>为了提高信道利用率，允许发送方在未收到确认前连续发送多个帧。发送方维护一个发送窗口（可发送但未确认的帧序号范围），接收方维护一个接收窗口（允许接收的帧序号范围）。窗口大小 W 影响吞吐量和缓冲区需求。</p>
<ul>
<li><strong>回退 n 帧协议（Go-Back-N, GBN）</strong>：接收方只按序接收，若收到失序帧则丢弃，且不发送 ACK。发送方超时后从第一个丢失帧开始重传之后所有帧。<br>
<strong>窗口大小限制</strong>：发送窗口 ≤ 2^m - 1（m 为序号比特数），否则无法区分新旧帧。<br>
<strong>优缺点</strong>：接收方缓存要求低（只需 1 个位置），但重传效率低（一帧错误导致多帧重传）。</li>
<li><strong>选择性重传协议（Selective Repeat, SR）</strong>：接收方可以缓存所有正确接收但序号不连续的帧，并对每个正确帧单独发送 ACK。发送方仅重传超时的帧。<br>
<strong>窗口大小限制</strong>：发送窗口和接收窗口均 ≤ 2^(m-1)。<br>
<strong>优缺点</strong>：效率高（只重传错误帧），但需要接收方缓存失序帧，实现更复杂。</li>
</ul>
<p>本章选择 HDLC 协议、PPP 以及 PPPoE 作为数据链路层的协议实例，通过介绍这三个协议的工作机制，进一步帮助读者理解数据链路层协议在网络体系结构中起到的重要作用。</p>
<h3 id="协议实例解析">协议实例解析</h3>
<ul>
<li><strong>HDLC（High-Level Data Link Control）</strong>：面向比特的同步链路层协议，支持点对点和多点链路。使用比特填充（01111110 标志）实现透明传输。提供三种帧类型：信息帧（I）、监控帧（S，用于确认和拒绝）、无编号帧（U，用于链路建立/释放）。帧中包含 3 比特序号，支持滑动窗口。</li>
<li><strong>PPP（Point-to-Point Protocol）</strong>：面向字节的点对点链路协议，广泛用于拨号上网、PPPoE 等。使用字节填充的标志字节（0x7E）。支持多种网络层协议（如 IP、IPX）。封装时包含协议字段，提供 LCP（链路控制协议）建立/配置链路，以及 NCP（网络控制协议）配置网络层参数。</li>
<li><strong>PPPoE（PPP over Ethernet）</strong>：将 PPP 帧封装在以太网帧中，支持以太网上的点对点会话（如宽带拨号）。分为发现阶段（获取对端 MAC 地址和 Session ID）和会话阶段（传输 PPP 帧）。PPPoE 使得 ISP 可以在共享以太网上对每个用户进行身份认证和计费。</li>
</ul>
<h2 id="局域网与介质访问控制">局域网与介质访问控制</h2>
<p>本章从局域网的拓扑和传输数据方式开始，阐述了局域网中的广播信道和传输带来的问题，由此引出介质访问控制（MAC）子层。MAC 子层是数据链路层的主要部分，局域网主要覆盖了物理层和数据链路层两层的内容。</p>
<h3 id="广播信道与冲突问题">广播信道与冲突问题</h3>
<p>局域网通常采用多路访问广播信道（如总线型、星型），所有节点共享同一信道。当多个节点同时发送时，信号在信道上叠加（<strong>冲突</strong>），导致数据损坏。解决冲突的方法就是介质访问控制协议。</p>
<p>介质访问控制解决共享信道引发的争用问题，主要有随机访问协议、受控访问协议和有限竞争访问协议三种。</p>
<h3 id="随机访问协议">随机访问协议</h3>
<p>节点随机发送数据，发生冲突后采取相应恢复机制。</p>
<ul>
<li><strong>纯 ALOHA</strong>：有数据就发，冲突后等待随机时间重传。效率低（最大吞吐量仅 18.4%）。</li>
<li><strong>分槽 ALOHA</strong>：将时间划分为时间槽，节点只能在槽开始时刻发送。冲突概率减半，最大吞吐量提高到 36.8%。</li>
<li><strong>CSMA（载波侦听多路访问）</strong>：发送前先侦听信道（“先听后发”）。包括 1-坚持 CSMA（信道空闲立即发）、非坚持 CSMA（空闲则发，否则等待随机时间）和 p-坚持 CSMA（以概率 p 发送）。</li>
<li><strong>CSMA/CD（带冲突检测的 CSMA）</strong>：在 CSMA 基础上增加“边发边听”，一旦检测到冲突立即停止发送并发送阻塞信号，然后随机退避。用于经典以太网（半双工模式）。最小帧长需保证在发送完成前能检测到冲突（对于 10M 以太网，最小帧长 64 字节）。</li>
</ul>
<h3 id="受控访问协议">受控访问协议</h3>
<p>无冲突协议，节点通过某种机制轮流使用信道。</p>
<ul>
<li><strong>位图协议（预留协议）</strong>：每个竞争周期内，每个节点在自己的比特槽中宣布是否有数据要发，后续按位图顺序轮询发送。</li>
<li><strong>二进制倒计数协议</strong>：每个帧发送前，节点以二进制地址竞争信道，地址高的节点优先发送。</li>
<li><strong>令牌传递协议</strong>：一个特殊的令牌帧在网络中循环，只有持有令牌的节点才能发送数据。用于令牌环、FDDI。</li>
</ul>
<h3 id="有限竞争访问协议">有限竞争访问协议</h3>
<p>结合随机访问（轻载时低延迟）和受控访问（重载时高吞吐量）的优点，如自适应树搜索协议。</p>
<p>以太网是使用最广泛的局域网，本章介绍了经典以太网的物理拓扑和逻辑拓扑介质访问控制方法；经典以太网逐渐过渡到了交换式以太网，冲突域的缩小，提升了网络的性能。</p>
<h3 id="以太网帧格式">以太网帧格式</h3>
<p>以太网数据帧的格式是重要的内容，本章详细介绍了 DIX 以太网数据帧中各个字段的名称和含义，在此基础上介绍 IEEE 802.3 数据帧的不同之处，读者可对比学习。</p>
<ul>
<li>
<p><strong>DIX Ethernet II 帧</strong>（当前主流）：</p>
<ul>
<li>前导码（7 字节同步 + 1 字节 SFD）</li>
<li>目的 MAC 地址（6 字节）</li>
<li>源 MAC 地址（6 字节）</li>
<li>类型（2 字节，表示上层协议如 0x0800 为 IP）</li>
<li>数据（46–1500 字节）</li>
<li>帧校验序列（FCS，4 字节 CRC32）</li>
</ul>
</li>
<li>
<p><strong>IEEE 802.3 帧</strong>：用“长度”字段代替“类型”字段（2 字节），数据之后增加 LLC（逻辑链路控制）头部。由于实际使用中类型字段更灵活，802.3 帧逐渐被 DIX 替代。</p>
</li>
</ul>
<p>以太网从 10M 经典以太网开始，不断发展，传输速率从 10 Mb/s 到 100 Mb/s（快速以太网），再到 1000 Mb/s（吉比特以太网），后面还有万兆以太网、25 Gb/s、40 Gb/s、100 Gb/s、400 Gb/s，以太网也从局域网的范畴跨入了广域传输的范畴。</p>
<h3 id="交换式以太网与交换机工作原理">交换式以太网与交换机工作原理</h3>
<p>数据链路层（L2）交换原理可以用转发、丢弃（过滤）、泛洪和学习 4 个词概括，每个数据帧的到来，促使算法运行以决策执行哪个动作（三选一）：学习的全称是逆向地址学习，以建立、更新和维护 MAC 地址表（决策依据），学习每个数据帧，且终身学习。</p>
<ul>
<li><strong>转发</strong>：若目的 MAC 地址在 MAC 地址表中且端口不同于接收端口，将帧从该端口转发出去。</li>
<li><strong>丢弃（过滤）</strong>：若目的 MAC 地址对应的端口就是接收端口，则丢弃（不转发）。</li>
<li><strong>泛洪</strong>：若目的 MAC 地址是广播地址、多播地址或未知单播地址，则向除接收端口外的所有端口转发。</li>
<li><strong>学习</strong>：从帧的源 MAC 地址和接收端口学习，将映射写入或刷新 MAC 地址表（老化时间通常 300 秒）。</li>
</ul>
<p>执行链路层交换的设备主要是交换机，交换机转发数据帧有三种方式：</p>
<ul>
<li><strong>存储转发交换</strong>：完整接收整个帧并检查 FCS 无误后才转发。错误率低，但时延高（取决于帧长）。</li>
<li><strong>直通交换</strong>：只查看目的 MAC 地址（前 6 字节）即开始转发。时延最低，但可能转发错误帧或冲突碎片。</li>
<li><strong>无碎片交换</strong>：检查前 64 字节（通常错误帧小于 64 字节），无错则转发。出错率和时延介于前两者之间。</li>
</ul>
<h3 id="广播域与-vlan">广播域与 VLAN</h3>
<p>交换机连接起来的网络同在一个物理 LAN，即广播域。大的广播域带来网络性能的下降（广播风暴）和安全问题（任何节点可嗅探广播流量）。虚拟局域网（VLAN）等同于一个广播域，可以切分一个大的物理 LAN 为若干小的 VLAN。</p>
<ul>
<li><strong>VLAN 原理</strong>：通过交换机配置将端口分组，不同 VLAN 间的通信必须经过三层路由（通常使用路由器或三层交换机）。</li>
<li><strong>VLAN 标记</strong>：IEEE 802.1Q 标准在以太网帧中插入 4 字节 VLAN 标签（包含 12 位 VLAN ID），允许多个 VLAN 共享物理链路。</li>
<li><strong>优点</strong>：隔离广播域、增强安全性、简化网络管理、灵活控制访问策略。</li>
</ul>
<h3 id="生成树协议stp">生成树协议（STP）</h3>
<p>为了可靠传输数据帧，交换机之间往往采用多条物理连接，不可避免地形成物理环，从而引发重复帧、MAC 地址表不稳定、广播风暴等严重问题。生成树协议（STP）用于在冗余物理拓扑上产生无环的逻辑树，任意两点之间通达但不产生环。</p>
<ul>
<li><strong>工作原理</strong>：交换机交换 BPDU（桥协议数据单元），选举根桥（Root Bridge），每个非根桥选择到根桥的最短路径端口（根端口），每个网段选择一个指定端口（Designated Port），其余冗余端口被阻塞。</li>
<li><strong>改进</strong>：RSTP（快速 STP）实现了快速收敛（秒级→亚秒级），MSTP（多 STP）支持 VLAN 分组。</li>
</ul>
<h3 id="无线局域网wlan">无线局域网（WLAN）</h3>
<p>无线局域网（WLAN）被称为无线以太网，是非常重要的接入网络。本章主要介绍了 IEEE 802.11 系列标准（Wi-Fi）的发展和主要技术特点、介质访问控制方法 CSMA/CA、数据帧格式等。</p>
<ul>
<li><strong>CSMA/CA（冲突避免）</strong>：由于无线半双工环境下难以边发边听（无法同时检测冲突），采用发送前随机退避（DCF 机制）和可选 RTS/CTS 握手机制减少冲突。</li>
<li><strong>帧格式</strong>：包括帧控制（类型/子类型）、Duration/ID、地址 1~4（最多 4 个：目的、源、BSSID、发送/接收端）、序列控制、数据、FCS。</li>
<li><strong>Wi-Fi 标准演进</strong>：802.11b（11 Mbps）、a/g（54 Mbps）、n（600 Mbps，MIMO）、ac（6.9 Gbps，多用户 MIMO）、ax（Wi-Fi 6，OFDMA）。</li>
</ul>
<h3 id="蓝牙与物联网无线协议">蓝牙与物联网无线协议</h3>
<p>蓝牙技术是短距离、无线、低功耗通信的成功范例，广泛用于音频流、数据传输、定位服务和设备网络等领域。本章介绍了蓝牙网络的物理构成、蓝牙协议的体系结构和蓝牙帧的格式，还介绍了 ZigBee、6LoWPAN、Z-Wave 等无线协议，重点介绍了在物联网中广为使用的 ZigBee 技术的特点，并对蓝牙、ZigBee 和 Wi-Fi 三种无线连接技术进行了对照。</p>
<ul>
<li><strong>蓝牙</strong>：使用 2.4 GHz ISM 频段，跳频扩频（FHSS），主从结构，支持微微网和散射网。经典蓝牙（BR/EDR）用于音频，低功耗蓝牙（BLE）用于传感器。</li>
<li><strong>ZigBee（IEEE 802.15.4）</strong>：低速率（250 kbps）、低功耗、自组网，适合传感器网络、智能家居。支持星型、树型、网状拓扑。</li>
<li><strong>6LoWPAN</strong>：在 IEEE 802.15.4 上传输 IPv6 数据，实现低功耗设备接入互联网。</li>
<li><strong>Z-Wave</strong>：专有协议（868 MHz/900 MHz），用于智能家居，兼容性好。</li>
</ul>
<table>
	<thead>
			<tr>
					<th>技术</th>
					<th>速率</th>
					<th>功耗</th>
					<th>组网能力</th>
					<th>典型应用</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>蓝牙 BLE</td>
					<td>1–2 Mbps</td>
					<td>极低</td>
					<td>星型（主从）</td>
					<td>可穿戴、智能锁</td>
			</tr>
			<tr>
					<td>ZigBee</td>
					<td>250 kbps</td>
					<td>低</td>
					<td>网状，数百节点</td>
					<td>工业监控、智能照明</td>
			</tr>
			<tr>
					<td>Wi-Fi</td>
					<td>数十~数千 Mbps</td>
					<td>高</td>
					<td>星型，数十节点</td>
					<td>互联网接入、视频</td>
			</tr>
	</tbody>
</table>
<hr>
<ul>
<li><a href="/pdf/03-%E6%95%B0%E6%8D%AE%E9%93%BE%E8%B7%AF%E5%B1%82%EF%BC%88%E5%85%A8%EF%BC%89.pdf">链路层</a></li>
<li><a href="/pdf/04-%E6%95%B0%E6%8D%AE%E9%93%BE%E8%B7%AF%E5%B1%82-%E4%BB%8B%E8%B4%A8%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6%E5%92%8C%E5%B1%80%E5%9F%9F%E7%BD%91.pdf">数据链路层-介质访问控制和局域网</a></li>
<li><a href="https://web.mit.edu/16.36/2006directory/lectures/Lecture_15.pdf">Cyclic Codes for Error Detection</a></li>
</ul>
]]></content:encoded></item><item><title>物理层</title><link>https://farmer3-c.github.io/posts/computer-networks/physical-layer/</link><pubDate>Wed, 27 Aug 2025 19:46:42 +0800</pubDate><guid>https://farmer3-c.github.io/posts/computer-networks/physical-layer/</guid><description>&lt;h1 id="物理层负责比特流的透明传输"&gt;物理层负责比特流的透明传输&lt;/h1&gt;
&lt;p&gt;物理层是参考模型中的最底层，是最基础的一层。本章探讨传输比特所需要的介质和所使用的技术。&lt;/p&gt;
&lt;h2 id="通信-信道"&gt;通信 信道&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;物理层通信&lt;/strong&gt;：利用物理传输介质，将计算机中的比特流（0、1）转换为电信号、光信号或电磁波信号，在物理链路上实现透明、原始的比特流传输，不负责数据含义与纠错，只负责信号的发送与接收。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;信道&lt;/strong&gt;：在物理层中，传送信号的通路，是传输比特流的逻辑通道，包含传输介质和相关通信设备。&lt;/p&gt;
&lt;h3 id="模拟和数字通信"&gt;模拟和数字通信&lt;/h3&gt;
&lt;p&gt;数字和模拟通信的区别在于使用数字信号还是模拟信号进行传递消息。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;模拟信号&lt;/strong&gt;：代表信息的信号及其参数（幅度、频率或相位）随着消息连续变化的信号，它在幅度上连续，但在时间上可以连续也可以不连续。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;波形连续，具有无穷多个幅度取值；&lt;/li&gt;
&lt;li&gt;易受干扰，噪声会累积且难以去除；&lt;/li&gt;
&lt;li&gt;不易加密，不易存储和处理（需先数字化）；&lt;/li&gt;
&lt;li&gt;典型例子：传统电话语音、模拟电视信号。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;数字信号&lt;/strong&gt;：不仅在时间上是离散的，而且在幅度上也是离散的信号，通常只取有限个离散值（如二进制信号取0和1）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;波形离散，只传送0和1；&lt;/li&gt;
&lt;li&gt;抗干扰能力强，噪声不会累积（可通过中继器再生）；&lt;/li&gt;
&lt;li&gt;易加密、易存储、易纠错，与计算机系统天然兼容；&lt;/li&gt;
&lt;li&gt;典型例子：以太网信号、USB信号、光纤通信信号。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="并行和串行通信"&gt;并行和串行通信&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;串行通信&lt;/strong&gt;：数据在传输过程中，逐位依次传输，一次只传输一个比特。数据通过单一的通信线路（如一根电线或一根光纤）按顺序发送和接收。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;优点：节省线路资源，线缆成本低；远距离传输时不易出现信号间干扰（串扰）。&lt;/li&gt;
&lt;li&gt;缺点：传输速率相对较低（需通过提高时钟频率来提升速率）。&lt;/li&gt;
&lt;li&gt;典型应用：USB、RS-232、I²C、以太网（内部串行化）、SATA。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;并行通信&lt;/strong&gt;：数据在传输过程中，同时通过多条线路传输，一次可以传输多个比特。通常每条线路传输一个比特，多条线路同时传输数据。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;优点：相同时钟频率下，数据吞吐量是串行的N倍（N为并行位数）。&lt;/li&gt;
&lt;li&gt;缺点：线路多，成本高；远距离时不同线路的信号到达时间可能不一致（时延偏移），限制传输距离和速率。&lt;/li&gt;
&lt;li&gt;典型应用：旧式打印机并口（Centronics）、IDE硬盘接口、芯片内部总线。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="同步和异步通信"&gt;同步和异步通信&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;异步通信&lt;/strong&gt;：收发双方时钟各自独立，以字符为单位传输，每个字符加起始位、停止位做同步。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;特点：
&lt;ul&gt;
&lt;li&gt;按字符逐个发送，字符之间的间隔不固定；&lt;/li&gt;
&lt;li&gt;无需统一的时钟信号，实现简单，成本低；&lt;/li&gt;
&lt;li&gt;每个字符需要额外的起始位和停止位（通常每8位数据需2-3位开销），传输效率较低；&lt;/li&gt;
&lt;li&gt;适用于低速、间歇性数据传输。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;例子：串口RS-232、键盘输入、鼠标通信。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;同步通信&lt;/strong&gt;：收发双方使用统一时钟信号（可由单独时钟线或从数据信号中提取），以数据块/帧为单位连续传输，不需每个字符加起止位。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;特点：
&lt;ul&gt;
&lt;li&gt;连续成块传输，数据块内比特间隔固定；&lt;/li&gt;
&lt;li&gt;收发双方时钟需严格同步（使用同步时钟或锁相环）；&lt;/li&gt;
&lt;li&gt;传输效率高，额外开销仅为帧头帧尾（如标志位或同步字符）；&lt;/li&gt;
&lt;li&gt;硬件复杂，适合高速、大块连续数据传输。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;例子：以太网、光纤通信（SONET/SDH）、USB高速模式。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="单工半双工和全双工通信"&gt;单工、半双工和全双工通信&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;单工通信&lt;/strong&gt;&lt;br&gt;
定义：信息只能单向传输，一方固定发送，一方固定接收，不能反向。&lt;br&gt;
例子：广播、电视、遥控器。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;半双工通信&lt;/strong&gt;&lt;br&gt;
定义：双方都能收发，但同一时刻只能单向，不能同时发和收。&lt;br&gt;
例子：对讲机、传统步话机、RS-485总线。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;全双工通信&lt;/strong&gt;&lt;br&gt;
定义：双方可同时发送和接收，双向互不干扰。&lt;br&gt;
例子：手机通话、以太网（使用独立收发线对）、微信语音通话。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="信号传输特性与信道容量"&gt;信号传输特性与信道容量&lt;/h2&gt;
&lt;p&gt;通过信号的傅里叶分析，本章解释了其传输过程存在的衰减、失真等现象，引入了截止频率、物理带宽的概念以及它们对信号传输的影响。&lt;/p&gt;
&lt;h3 id="傅里叶分析与信号失真"&gt;傅里叶分析与信号失真&lt;/h3&gt;
&lt;p&gt;任何周期信号都可以分解为一系列不同频率的正弦波（基波和谐波）的叠加。当信号通过实际信道时，不同频率分量会经历不同的衰减和相移，导致接收端波形发生畸变。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;幅度衰减&lt;/strong&gt;：高频分量衰减通常比低频分量更严重，导致信号边沿变缓。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;相位失真&lt;/strong&gt;：不同频率的传输延迟不同，造成码间干扰。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;信道带宽&lt;/strong&gt;：信道的截止频率范围，只有频率落在带宽内的分量才能被有效传输。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="信道带宽与截止频率"&gt;信道带宽与截止频率&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;物理带宽&lt;/strong&gt;：信道能够通过的最大频率与最小频率之差，单位为赫兹（Hz）。例如，话音信道带宽约为3.1 kHz（300 Hz～3.4 kHz）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;截止频率&lt;/strong&gt;：信号功率衰减超过某一阈值（通常为-3 dB）的频率点。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;影响&lt;/strong&gt;：带宽越窄，可传输的高频分量越少，输出波形越接近“圆滑”，可能导致接收端无法区分相邻比特。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="信道容量奈奎斯特定理与香农定理"&gt;信道容量：奈奎斯特定理与香农定理&lt;/h3&gt;
&lt;p&gt;信道的物理带宽直接影响信道的传输性能，即它的传输速率，或者数字带宽。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;奈奎斯特定理（无噪声信道）&lt;/strong&gt;&lt;br&gt;
对于无噪声、带宽为 B 赫兹的理想信道，最大数据速率为：&lt;br&gt;
&lt;code&gt;最大数据速率 = 2B * log2(M)&lt;/code&gt;，其中 M 为信号电平数（如M=2，则速率为 2B bps）。&lt;br&gt;
该定理给出了在避免码间串扰条件下的理论上限。&lt;/p&gt;</description><content:encoded><![CDATA[<h1 id="物理层负责比特流的透明传输">物理层负责比特流的透明传输</h1>
<p>物理层是参考模型中的最底层，是最基础的一层。本章探讨传输比特所需要的介质和所使用的技术。</p>
<h2 id="通信-信道">通信 信道</h2>
<p><strong>物理层通信</strong>：利用物理传输介质，将计算机中的比特流（0、1）转换为电信号、光信号或电磁波信号，在物理链路上实现透明、原始的比特流传输，不负责数据含义与纠错，只负责信号的发送与接收。</p>
<p><strong>信道</strong>：在物理层中，传送信号的通路，是传输比特流的逻辑通道，包含传输介质和相关通信设备。</p>
<h3 id="模拟和数字通信">模拟和数字通信</h3>
<p>数字和模拟通信的区别在于使用数字信号还是模拟信号进行传递消息。</p>
<p><strong>模拟信号</strong>：代表信息的信号及其参数（幅度、频率或相位）随着消息连续变化的信号，它在幅度上连续，但在时间上可以连续也可以不连续。</p>
<ul>
<li>波形连续，具有无穷多个幅度取值；</li>
<li>易受干扰，噪声会累积且难以去除；</li>
<li>不易加密，不易存储和处理（需先数字化）；</li>
<li>典型例子：传统电话语音、模拟电视信号。</li>
</ul>
<p><strong>数字信号</strong>：不仅在时间上是离散的，而且在幅度上也是离散的信号，通常只取有限个离散值（如二进制信号取0和1）。</p>
<ul>
<li>波形离散，只传送0和1；</li>
<li>抗干扰能力强，噪声不会累积（可通过中继器再生）；</li>
<li>易加密、易存储、易纠错，与计算机系统天然兼容；</li>
<li>典型例子：以太网信号、USB信号、光纤通信信号。</li>
</ul>
<h3 id="并行和串行通信">并行和串行通信</h3>
<p><strong>串行通信</strong>：数据在传输过程中，逐位依次传输，一次只传输一个比特。数据通过单一的通信线路（如一根电线或一根光纤）按顺序发送和接收。</p>
<ul>
<li>优点：节省线路资源，线缆成本低；远距离传输时不易出现信号间干扰（串扰）。</li>
<li>缺点：传输速率相对较低（需通过提高时钟频率来提升速率）。</li>
<li>典型应用：USB、RS-232、I²C、以太网（内部串行化）、SATA。</li>
</ul>
<p><strong>并行通信</strong>：数据在传输过程中，同时通过多条线路传输，一次可以传输多个比特。通常每条线路传输一个比特，多条线路同时传输数据。</p>
<ul>
<li>优点：相同时钟频率下，数据吞吐量是串行的N倍（N为并行位数）。</li>
<li>缺点：线路多，成本高；远距离时不同线路的信号到达时间可能不一致（时延偏移），限制传输距离和速率。</li>
<li>典型应用：旧式打印机并口（Centronics）、IDE硬盘接口、芯片内部总线。</li>
</ul>
<h3 id="同步和异步通信">同步和异步通信</h3>
<p><strong>异步通信</strong>：收发双方时钟各自独立，以字符为单位传输，每个字符加起始位、停止位做同步。</p>
<ul>
<li>特点：
<ul>
<li>按字符逐个发送，字符之间的间隔不固定；</li>
<li>无需统一的时钟信号，实现简单，成本低；</li>
<li>每个字符需要额外的起始位和停止位（通常每8位数据需2-3位开销），传输效率较低；</li>
<li>适用于低速、间歇性数据传输。</li>
</ul>
</li>
<li>例子：串口RS-232、键盘输入、鼠标通信。</li>
</ul>
<p><strong>同步通信</strong>：收发双方使用统一时钟信号（可由单独时钟线或从数据信号中提取），以数据块/帧为单位连续传输，不需每个字符加起止位。</p>
<ul>
<li>特点：
<ul>
<li>连续成块传输，数据块内比特间隔固定；</li>
<li>收发双方时钟需严格同步（使用同步时钟或锁相环）；</li>
<li>传输效率高，额外开销仅为帧头帧尾（如标志位或同步字符）；</li>
<li>硬件复杂，适合高速、大块连续数据传输。</li>
</ul>
</li>
<li>例子：以太网、光纤通信（SONET/SDH）、USB高速模式。</li>
</ul>
<h3 id="单工半双工和全双工通信">单工、半双工和全双工通信</h3>
<ol>
<li>
<p><strong>单工通信</strong><br>
定义：信息只能单向传输，一方固定发送，一方固定接收，不能反向。<br>
例子：广播、电视、遥控器。</p>
</li>
<li>
<p><strong>半双工通信</strong><br>
定义：双方都能收发，但同一时刻只能单向，不能同时发和收。<br>
例子：对讲机、传统步话机、RS-485总线。</p>
</li>
<li>
<p><strong>全双工通信</strong><br>
定义：双方可同时发送和接收，双向互不干扰。<br>
例子：手机通话、以太网（使用独立收发线对）、微信语音通话。</p>
</li>
</ol>
<hr>
<h2 id="信号传输特性与信道容量">信号传输特性与信道容量</h2>
<p>通过信号的傅里叶分析，本章解释了其传输过程存在的衰减、失真等现象，引入了截止频率、物理带宽的概念以及它们对信号传输的影响。</p>
<h3 id="傅里叶分析与信号失真">傅里叶分析与信号失真</h3>
<p>任何周期信号都可以分解为一系列不同频率的正弦波（基波和谐波）的叠加。当信号通过实际信道时，不同频率分量会经历不同的衰减和相移，导致接收端波形发生畸变。</p>
<ul>
<li><strong>幅度衰减</strong>：高频分量衰减通常比低频分量更严重，导致信号边沿变缓。</li>
<li><strong>相位失真</strong>：不同频率的传输延迟不同，造成码间干扰。</li>
<li><strong>信道带宽</strong>：信道的截止频率范围，只有频率落在带宽内的分量才能被有效传输。</li>
</ul>
<h3 id="信道带宽与截止频率">信道带宽与截止频率</h3>
<ul>
<li><strong>物理带宽</strong>：信道能够通过的最大频率与最小频率之差，单位为赫兹（Hz）。例如，话音信道带宽约为3.1 kHz（300 Hz～3.4 kHz）。</li>
<li><strong>截止频率</strong>：信号功率衰减超过某一阈值（通常为-3 dB）的频率点。</li>
<li><strong>影响</strong>：带宽越窄，可传输的高频分量越少，输出波形越接近“圆滑”，可能导致接收端无法区分相邻比特。</li>
</ul>
<h3 id="信道容量奈奎斯特定理与香农定理">信道容量：奈奎斯特定理与香农定理</h3>
<p>信道的物理带宽直接影响信道的传输性能，即它的传输速率，或者数字带宽。</p>
<ul>
<li>
<p><strong>奈奎斯特定理（无噪声信道）</strong><br>
对于无噪声、带宽为 B 赫兹的理想信道，最大数据速率为：<br>
<code>最大数据速率 = 2B * log2(M)</code>，其中 M 为信号电平数（如M=2，则速率为 2B bps）。<br>
该定理给出了在避免码间串扰条件下的理论上限。</p>
</li>
<li>
<p><strong>香农定理（有噪声信道）</strong><br>
对于带宽为 B 赫兹、信噪比为 SNR（信号功率与噪声功率之比）的信道，最大数据速率为：<br>
<code>信道容量 C = B * log2(1 + SNR)</code>。<br>
该公式揭示了无论采用何种调制或编码技术，在有噪声信道中传输速率无法超过 C。信噪比常用分贝（dB）表示：<code>SNR(dB) = 10 * log10(SNR)</code>。</p>
</li>
</ul>
<hr>
<h2 id="基带传输技术">基带传输技术</h2>
<p>基带传输是指不经过载波调制，直接将原始数字信号（如曼彻斯特编码后的方波）在信道上传输。常见线路编码方法及其特点如下：</p>
<h3 id="1-nrz不归零编码">1. NRZ（不归零编码）</h3>
<ul>
<li><strong>原理</strong>：高电平表示1，低电平表示0（或相反）。</li>
<li><strong>优点</strong>：简单，占用带宽小。</li>
<li><strong>缺点</strong>：连续长串0或1时，接收端无法保持时钟同步；无法区分空闲和0信号。</li>
<li><strong>应用</strong>：早期低速串行链路，不单独用于现代高速网络。</li>
</ul>
<h3 id="2-nrzi不归零反相编码">2. NRZI（不归零反相编码）</h3>
<ul>
<li><strong>原理</strong>：电平在比特开始时反转表示1，不变表示0（或相反）。</li>
<li><strong>优点</strong>：解决了连续1的同步问题（因为每传1都会跳变）。</li>
<li><strong>缺点</strong>：连续长串0仍无跳变，同步仍会丢失。</li>
<li><strong>应用</strong>：USB 低速/全速模式。</li>
</ul>
<h3 id="3-曼彻斯特编码">3. 曼彻斯特编码</h3>
<ul>
<li><strong>原理</strong>：每个比特中间有一次电平跳变，从高到低表示1，从低到高表示0（或按IEEE 802.3标准：由高到低表示0，低到高表示1）。</li>
<li><strong>优点</strong>：每个比特都包含时钟跳变，自同步能力强；无直流分量。</li>
<li><strong>缺点</strong>：带宽效率低（有效数据率仅为信号波特率的一半）。</li>
<li><strong>应用</strong>：经典以太网（10BASE-T）。</li>
</ul>
<h3 id="4-4b5b-编码">4. 4B/5B 编码</h3>
<ul>
<li><strong>原理</strong>：每4位数据映射为5位编码组，保证编码序列中不会出现连续3个0；然后使用 NRZI 传输。</li>
<li><strong>优点</strong>：提高同步可靠性，带宽利用率（4/5 = 80%）高于曼彻斯特（50%）。</li>
<li><strong>缺点</strong>：需要查表映射，复杂度稍高。</li>
<li><strong>应用</strong>：快速以太网（100BASE-TX）、FDDI、USB 高速模式。</li>
</ul>
<hr>
<h2 id="通带传输技术">通带传输技术</h2>
<p>通带传输将数字信号通过调制加载到高频载波上，以适应带通信道（如无线电、同轴电缆）。常用的调制方法如下：</p>
<h3 id="基本调制方式">基本调制方式</h3>
<ul>
<li><strong>调幅（ASK）</strong>：载波幅度随数字信号变化（1有载波，0无载波）。易受幅度噪声干扰。</li>
<li><strong>调频（FSK）</strong>：载波频率随数字信号变化（1对应高频率，0对应低频率）。抗干扰能力强于ASK。</li>
<li><strong>调相（PSK）</strong>：载波相位随数字信号变化（例如0°表示0，180°表示1）。有较好的抗噪声性能。</li>
</ul>
<h3 id="正交幅度调制qam">正交幅度调制（QAM）</h3>
<p>QAM 是一种将 ASK 和 PSK 组合在一起的调制方式，可同时改变载波的幅度和相位，从而在一个符号周期内携带多个比特。</p>
<ul>
<li><strong>原理</strong>：使用两个正交载波（正弦和余弦），分别进行独立调制，然后叠加。每个符号可以表示 M 个不同的幅度-相位组合。</li>
<li><strong>星座图</strong>：每个点对应一个幅度和相位组合。例如 16-QAM 有16个点，每符号4比特；64-QAM 每符号6比特；256-QAM 每符号8比特。</li>
<li><strong>优缺点</strong>：频谱利用率高，但对线路信噪比要求更高（高阶QAM需要更高的SNR）。</li>
<li><strong>应用</strong>：WiFi（802.11ac 支持256-QAM）、4G/5G、数字电视（DVB-C）、有线宽带（DOCSIS 3.1支持4096-QAM）。</li>
</ul>
<p>不同级别的 QAM 正在各种计算机网络中起着非常重要的作用。</p>
<hr>
<h2 id="传输介质">传输介质</h2>
<p>传输介质分为导引性和非导引性两大类。</p>
<h3 id="导引性传输介质">导引性传输介质</h3>
<h4 id="双绞线">双绞线</h4>
<p>由两根绝缘铜导线相互绞合而成，绞合可减少电磁干扰。</p>
<ul>
<li><strong>屏蔽双绞线（STP）</strong>：外层有金属屏蔽层，抗干扰更好，但成本高、安装较硬。</li>
<li><strong>非屏蔽双绞线（UTP）</strong>：无屏蔽层，轻便、灵活，是局域网主流。</li>
<li><strong>分类</strong>：Cat5e（千兆）、Cat6（千兆/万兆短距）、Cat6a（万兆）、Cat7（屏蔽+万兆）。</li>
<li><strong>优点</strong>：成本低、布线灵活、连接方便（RJ45接口）。</li>
<li><strong>缺点</strong>：传输距离有限（最大100米），易受强电磁干扰。</li>
<li><strong>应用</strong>：以太网（10BASE-T ~ 10GBASE-T）、电话线、工业控制。</li>
</ul>
<h4 id="同轴电缆">同轴电缆</h4>
<p>中心铜导线、绝缘层、金属屏蔽层和外包层组成。</p>
<ul>
<li><strong>特性</strong>：抗干扰优于双绞线，带宽较宽（早期可达几百MHz），但比光纤笨重。</li>
<li><strong>类型</strong>：细缆（RG-58，阻抗50Ω，用于早期10BASE2以太网）、粗缆（RG-11，10BASE5）、视频电缆（RG-59，75Ω，用于有线电视）。</li>
<li><strong>应用</strong>：有线电视（CATV）、闭路监控、早期局域网（已淘汰）。</li>
</ul>
<h4 id="光纤">光纤</h4>
<p>利用光脉冲在玻璃或塑料纤维中全反射传输信号。</p>
<ul>
<li><strong>单模光纤</strong>：纤芯细（约9μm），只允许单一光模式传播，传输距离远（几十公里）、速率高（100Gbps+），使用激光源。</li>
<li><strong>多模光纤</strong>：纤芯粗（50μm或62.5μm），允许多种模式传播，存在模间色散，传输距离短（几百米至2公里），使用LED或VCSEL光源。</li>
<li><strong>优点</strong>：带宽极大（THz级别）、无电磁干扰、信号衰减极低、重量轻、保密性好（无辐射泄漏）。</li>
<li><strong>缺点</strong>：成本（尤其是单模光模块）、安装熔接需要专用工具、弯曲敏感。</li>
<li><strong>应用</strong>：网络主干线、数据中心互联、长距离骨干网（如海底光缆）、光纤到户（FTTH）。</li>
</ul>
<h3 id="非导引性传输介质">非导引性传输介质</h3>
<p>以空间电磁波为传输载体，无需物理线缆。</p>
<h4 id="无线电波">无线电波</h4>
<ul>
<li><strong>频率范围</strong>：3 Hz ~ 300 GHz（实际常用30 kHz ~ 3 GHz）</li>
<li><strong>特性</strong>：绕射能力强，可穿透建筑物，传播距离远（可达几十公里）。</li>
<li><strong>应用</strong>：广播（AM/FM）、移动通信（2G/3G/4G/5G部分频段）、WiFi（2.4 GHz）、蓝牙、物联网（LoRa、NB-IoT）。</li>
</ul>
<h4 id="微波">微波</h4>
<ul>
<li><strong>频率范围</strong>：约300 MHz ~ 300 GHz（通常指1 GHz以上，尤其2-40 GHz）</li>
<li><strong>特性</strong>：直线传播（视距），不能绕射；带宽高；受天气（雨衰）影响；需要抛物面天线对准。</li>
<li><strong>应用</strong>：点对点骨干链路、卫星通信（C/Ku/Ka波段）、WiFi（5 GHz）、4G/5G高频段（毫米波）。</li>
</ul>
<h4 id="红外线">红外线</h4>
<ul>
<li><strong>频率范围</strong>：约300 GHz ~ 400 THz</li>
<li><strong>特性</strong>：短距离（几米到几十米），需直视（不能穿透墙壁），不受无线电干扰。</li>
<li><strong>应用</strong>：遥控器（电视、空调）、近距离点对点通信（如IrDA）。</li>
</ul>
<h4 id="激光">激光</h4>
<ul>
<li><strong>特性</strong>：极高带宽（可达Gbps）、保密性强（波束窄，不易窃听）、直线传播，但受天气（雾、雨、雪）和大气扰动影响大。</li>
<li><strong>应用</strong>：楼宇间点对点无线通信（自由空间光通信 FSO），应急临时链路。</li>
</ul>
<hr>
<h2 id="用户接入技术">用户接入技术</h2>
<p>本章从物理层探讨了用户接入互联网的方式，从而引出了几种接入网络。以下为主要的接入网框架及技术。</p>
<h3 id="公共交换电话网络pstn接入">公共交换电话网络（PSTN）接入</h3>
<ul>
<li><strong>传统调制解调器（56K拨号）</strong>：利用话音信道（3.1 kHz带宽），通过V.90/V.92协议实现下行56 Kbps、上行33.6 Kbps。占用电话线，上网时无法通话。</li>
<li><strong>数字用户线路（xDSL）</strong>：在现有电话线上使用高频段传输数据，低频段保留话音。
<ul>
<li>ADSL（非对称）：下行可达8-24 Mbps，上行1-3.5 Mbps。</li>
<li>VDSL/VDSL2：下行可达100 Mbps以上，短距离内可对称。</li>
<li>需在局端和用户端分别安装DSLAM和调制解调器。</li>
</ul>
</li>
</ul>
<h3 id="蜂窝移动网络">蜂窝移动网络</h3>
<ul>
<li><strong>2G（GSM/CDMA）</strong>：最高约几百Kbps（GPRS/EDGE）。</li>
<li><strong>3G（UMTS/CDMA2000）</strong>：几Mbps，支持移动互联网初步应用。</li>
<li><strong>4G（LTE/LTE-Advanced）</strong>：下行百Mbps至1 Gbps，采用OFDM和MIMO技术，是全IP网络。</li>
<li><strong>5G（NR）</strong>：分低频（sub-6 GHz）和毫米波（24 GHz+），峰值速率可达10-20 Gbps，低时延（1 ms级），高连接密度。</li>
<li><strong>框架</strong>：终端 → 基站（gNB/eNB） → 核心网 → 互联网。</li>
</ul>
<h3 id="有线电视网络hfc">有线电视网络（HFC）</h3>
<ul>
<li><strong>混合光纤同轴网（HFC）</strong>：主干使用光纤，入户段使用同轴电缆。</li>
<li><strong>技术</strong>：DOCSIS（Data Over Cable Service Interface Specification）。DOCSIS 3.1 可提供下行10 Gbps、上行1-2 Gbps。</li>
<li><strong>特点</strong>：共享介质，下行通过广播、上行通过TDMA/SCDMA接入。需配合电缆调制解调器。</li>
</ul>
<h3 id="卫星通信网络">卫星通信网络</h3>
<ul>
<li><strong>传统卫星接入</strong>：使用地球静止轨道（GEO）卫星，覆盖广，但延迟高（约500-600 ms RTT）。</li>
<li><strong>低轨卫星星座</strong>：如Starlink（LEO，高度约550 km），延迟降至20-40 ms，带宽可达百Mbps甚至Gbps。</li>
<li><strong>应用场景</strong>：偏远地区、航海航空、应急通信、全球宽带覆盖。</li>
<li><strong>缺点</strong>：设备成本较高，受恶劣天气影响（雨衰）。</li>
</ul>
<p>以上接入技术正在不断融合，例如5G与光纤、卫星与地面网络互补，形成“天地一体化”网络，用户可实现按需接入、无缝切换。</p>
<hr>
<h2 id="物理层设备">物理层设备</h2>
<p>本章最后介绍物理层设备的功能、使用场景，并特别说明了光纤收发器和全光中继器的技术特点，以及冲突域等概念。</p>
<h3 id="中继器repeater与集线器hub">中继器（Repeater）与集线器（Hub）</h3>
<ul>
<li><strong>中继器</strong>：物理层设备，用于延长网络距离。它接收衰减和畸变的信号，进行再生、整形、放大，然后转发到另一端口。中继器不解析数据内容，只处理比特流。
<ul>
<li>作用：增加信号传输距离，克服介质衰减。</li>
<li>限制：不能连接不同速率的网络；不能隔离冲突域。</li>
</ul>
</li>
<li><strong>集线器（多端口中继器）</strong>：多个端口的中继器，一个端口收到信号后会向除接收口外的所有端口转发。所有端口共享同一冲突域。</li>
</ul>
<h3 id="冲突与冲突域">冲突与冲突域</h3>
<ul>
<li><strong>冲突</strong>：在共享介质型网络中，两个或多个节点同时发送数据时，信号在信道上叠加，导致接收端无法正确识别。</li>
<li><strong>冲突域</strong>：一组可能互相产生冲突的节点的集合。在集线器构建的网络中，所有节点位于同一个冲突域内。</li>
<li><strong>技术演变</strong>：由于冲突会大幅降低网络效率（尤其在节点多、流量大时），现代以太网使用<strong>交换式</strong>架构（交换机可隔离冲突域，每个端口为一个独立冲突域）或全双工模式（彻底消除冲突）。</li>
</ul>
<h3 id="电中继器和集线器的衰落">电中继器和集线器的衰落</h3>
<p>随着网络技术发展，电中继器和集线器逐渐消失，主要原因如下：</p>
<ol>
<li><strong>效率低下</strong>：共享带宽且冲突导致时延不确定性。</li>
<li><strong>扩展性差</strong>：级联受限（通常最多4个集线器，遵守5-4-3规则）。</li>
<li><strong>不支持全双工</strong>：无法同时收发，浪费链路能力。</li>
<li><strong>安全隐患</strong>：所有端口都能收到所有帧，易被嗅探。</li>
</ol>
<p>如今，集线器已被交换机（二层设备，但端口工作于物理层和MAC层）取代，仅在极少数调试或特定老旧系统中出现。</p>
<h3 id="光纤收发器">光纤收发器</h3>
<p>用于实现电信号（如RJ45以太网）与光信号（光纤）之间的转换，并完成媒体类型和接口的适配。</p>
<ul>
<li><strong>功能</strong>：将双绞线的电信号转换为光纤上的光信号（或反之），同时可能进行速率匹配和缓存。</li>
<li><strong>分类</strong>：
<ul>
<li>独立式外置收发器（用于连接不同介质设备）；</li>
<li>模块化收发器（如SFP、SFP+、QSFP等，可直接插入交换机或网卡）。</li>
</ul>
</li>
<li><strong>技术参数</strong>：支持速率（10/100/1000 Mbps、10G、25G、40G、100G+）、光纤类型（单模/多模）、波长（850 nm、1310 nm、1550 nm）、传输距离（几百米至120公里）。</li>
<li><strong>应用</strong>：升级旧网络到光纤、跨楼宇/跨园区连接、数据中心短距高速互联。</li>
</ul>
<h3 id="全光中继器">全光中继器</h3>
<p>用于长距离光纤传输，对光信号进行再生或放大，无需将光信号转换为电信号再处理。</p>
<ul>
<li><strong>传统光电光中继器（O-E-O）</strong>：光→电→再生整形→光，可重构帧但延迟大、功耗高、成本高。</li>
<li><strong>全光中继器（光放大器）</strong>：如EDFA（掺铒光纤放大器），在光域直接放大信号，透明、低延迟、高带宽。</li>
<li><strong>技术特点</strong>：
<ul>
<li>支持波分复用（WDM）所有波长同时放大；</li>
<li>不能消除色散引起的波形失真（需配合色散补偿模块）；</li>
<li>需避免放大器自发辐射（ASE）噪声积累。</li>
</ul>
</li>
<li><strong>应用场景</strong>：海底光缆、长途骨干网、数据中心间长距直连。</li>
</ul>
<hr>
<p><a href="/pdf/02-%E7%89%A9%E7%90%86%E5%B1%82%EF%BC%88%E5%85%A8%EF%BC%89.pdf">物理层</a></p>
]]></content:encoded></item><item><title>计算机网络概述</title><link>https://farmer3-c.github.io/posts/computer-networks/cw/</link><pubDate>Wed, 27 Aug 2025 19:40:32 +0800</pubDate><guid>https://farmer3-c.github.io/posts/computer-networks/cw/</guid><description>&lt;h3 id="计算机网络在信息时代的作用"&gt;计算机网络在信息时代的作用&lt;/h3&gt;
&lt;p&gt;计算机网络已经成为信息社会的核心基础设施。它使得人们可以随时随地访问、处理和交换信息，极大地促进了数字化、网络化和智能化的发展。具体作用包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;信息共享&lt;/strong&gt;：用户可以通过网络访问分布在世界各地的信息资源（网页、数据库、文件等）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;通信协同&lt;/strong&gt;：电子邮件、即时消息、视频会议等应用支持人与人、人与机器之间的高效协作。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;远程访问&lt;/strong&gt;：支持远程办公、在线教育、远程医疗等，打破了地理限制。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;电子商务与金融&lt;/strong&gt;：网络支付、网上银行、在线购物等改变了传统商业模式。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;娱乐与媒体&lt;/strong&gt;：流媒体、社交网络、在线游戏等丰富了人们的文化生活。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="互联网概述"&gt;互联网概述&lt;/h3&gt;
&lt;h4 id="网络的网络"&gt;网络的网络&lt;/h4&gt;
&lt;p&gt;互联网是由众多计算机网络（局域网、城域网、广域网）通过路由器互联而成的“网络的网络”。其两大基本特点是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;连通性&lt;/strong&gt;：任何接入互联网的用户（终端）之间都可以相互交换数据，仿佛彼此直接相连一样。这种连通性不受物理距离的限制。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;共享性&lt;/strong&gt;：指资源共享，包括信息（网页、文件）、软件（在线服务、云应用）和硬件（如远程打印机、算力资源）。共享使得资源利用率大幅提升，降低了成本。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="picture1" loading="lazy" src="https://farmer3-c.github.io/img/in-post/copn1.png"&gt;
&lt;img alt="picture2" loading="lazy" src="https://farmer3-c.github.io/img/in-post/copn2.png"&gt;&lt;/p&gt;
&lt;h4 id="互联网基础结构发展三个阶段"&gt;互联网基础结构发展三个阶段&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;第一阶段（1969–1990）：ARPANET 到互联网雏形&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1969 年美国国防部建立 ARPANET，最初只有 4 个节点。&lt;/li&gt;
&lt;li&gt;20 世纪 70 年代提出 TCP/IP 协议体系。&lt;/li&gt;
&lt;li&gt;1983 年 ARPANET 全面采用 TCP/IP，标志着现代互联网的诞生。&lt;/li&gt;
&lt;li&gt;80 年代中期美国国家科学基金会建立 NSFNET，成为主干网。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;第二阶段（1990–2000）：商业化与万维网兴起&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1990 年 ARPANET 停止运行，NSFNET 成为骨干。&lt;/li&gt;
&lt;li&gt;1991 年万维网（WWW）公开，浏览器出现，互联网向公众开放。&lt;/li&gt;
&lt;li&gt;1995 年 NSFNET 退役，互联网完全由商业 ISP 运营，进入爆炸式增长。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;第三阶段（2000 至今）：移动互联网、物联网与高速宽带&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;光纤到户、4G/5G 移动通信普及。&lt;/li&gt;
&lt;li&gt;智能终端、云计算、社交网络、流媒体成为主流。&lt;/li&gt;
&lt;li&gt;物联网（IoT）将数十亿设备接入互联网，进入“万物互联”时代。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="互联网的标准化工作"&gt;互联网的标准化工作&lt;/h4&gt;
&lt;p&gt;互联网的标准化由 &lt;strong&gt;IETF（互联网工程任务组）&lt;/strong&gt; 等组织负责，遵循“ rough consensus and running code” 原则。主要成果以 &lt;strong&gt;RFC（Request For Comments）&lt;/strong&gt; 文档形式发布。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Internet Standard&lt;/strong&gt;：经过充分验证的正式标准（如 RFC 791 – IP、RFC 793 – TCP）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proposed Standard / Draft Standard&lt;/strong&gt;：处于不同成熟度的草案。&lt;/li&gt;
&lt;li&gt;此外还有 &lt;strong&gt;BCP（Best Current Practice）&lt;/strong&gt;、&lt;strong&gt;Informational&lt;/strong&gt; 等类型。&lt;/li&gt;
&lt;li&gt;标准化过程公开透明，任何人均可提交提案，保证了互联网的开放性和快速演进。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="互联网的组成"&gt;互联网的组成&lt;/h3&gt;
&lt;p&gt;互联网从物理结构上由以下四类元素构成：&lt;/p&gt;</description><content:encoded><![CDATA[<h3 id="计算机网络在信息时代的作用">计算机网络在信息时代的作用</h3>
<p>计算机网络已经成为信息社会的核心基础设施。它使得人们可以随时随地访问、处理和交换信息，极大地促进了数字化、网络化和智能化的发展。具体作用包括：</p>
<ul>
<li><strong>信息共享</strong>：用户可以通过网络访问分布在世界各地的信息资源（网页、数据库、文件等）。</li>
<li><strong>通信协同</strong>：电子邮件、即时消息、视频会议等应用支持人与人、人与机器之间的高效协作。</li>
<li><strong>远程访问</strong>：支持远程办公、在线教育、远程医疗等，打破了地理限制。</li>
<li><strong>电子商务与金融</strong>：网络支付、网上银行、在线购物等改变了传统商业模式。</li>
<li><strong>娱乐与媒体</strong>：流媒体、社交网络、在线游戏等丰富了人们的文化生活。</li>
</ul>
<h3 id="互联网概述">互联网概述</h3>
<h4 id="网络的网络">网络的网络</h4>
<p>互联网是由众多计算机网络（局域网、城域网、广域网）通过路由器互联而成的“网络的网络”。其两大基本特点是：</p>
<ul>
<li><strong>连通性</strong>：任何接入互联网的用户（终端）之间都可以相互交换数据，仿佛彼此直接相连一样。这种连通性不受物理距离的限制。</li>
<li><strong>共享性</strong>：指资源共享，包括信息（网页、文件）、软件（在线服务、云应用）和硬件（如远程打印机、算力资源）。共享使得资源利用率大幅提升，降低了成本。</li>
</ul>
<p><img alt="picture1" loading="lazy" src="/img/in-post/copn1.png">
<img alt="picture2" loading="lazy" src="/img/in-post/copn2.png"></p>
<h4 id="互联网基础结构发展三个阶段">互联网基础结构发展三个阶段</h4>
<ol>
<li>
<p><strong>第一阶段（1969–1990）：ARPANET 到互联网雏形</strong></p>
<ul>
<li>1969 年美国国防部建立 ARPANET，最初只有 4 个节点。</li>
<li>20 世纪 70 年代提出 TCP/IP 协议体系。</li>
<li>1983 年 ARPANET 全面采用 TCP/IP，标志着现代互联网的诞生。</li>
<li>80 年代中期美国国家科学基金会建立 NSFNET，成为主干网。</li>
</ul>
</li>
<li>
<p><strong>第二阶段（1990–2000）：商业化与万维网兴起</strong></p>
<ul>
<li>1990 年 ARPANET 停止运行，NSFNET 成为骨干。</li>
<li>1991 年万维网（WWW）公开，浏览器出现，互联网向公众开放。</li>
<li>1995 年 NSFNET 退役，互联网完全由商业 ISP 运营，进入爆炸式增长。</li>
</ul>
</li>
<li>
<p><strong>第三阶段（2000 至今）：移动互联网、物联网与高速宽带</strong></p>
<ul>
<li>光纤到户、4G/5G 移动通信普及。</li>
<li>智能终端、云计算、社交网络、流媒体成为主流。</li>
<li>物联网（IoT）将数十亿设备接入互联网，进入“万物互联”时代。</li>
</ul>
</li>
</ol>
<h4 id="互联网的标准化工作">互联网的标准化工作</h4>
<p>互联网的标准化由 <strong>IETF（互联网工程任务组）</strong> 等组织负责，遵循“ rough consensus and running code” 原则。主要成果以 <strong>RFC（Request For Comments）</strong> 文档形式发布。</p>
<ul>
<li><strong>Internet Standard</strong>：经过充分验证的正式标准（如 RFC 791 – IP、RFC 793 – TCP）。</li>
<li><strong>Proposed Standard / Draft Standard</strong>：处于不同成熟度的草案。</li>
<li>此外还有 <strong>BCP（Best Current Practice）</strong>、<strong>Informational</strong> 等类型。</li>
<li>标准化过程公开透明，任何人均可提交提案，保证了互联网的开放性和快速演进。</li>
</ul>
<h3 id="互联网的组成">互联网的组成</h3>
<p>互联网从物理结构上由以下四类元素构成：</p>
<ul>
<li><strong>主机（hosts）</strong>：包括个人电脑、服务器、智能手机、物联网设备等，位于互联网边缘，运行各种网络应用。</li>
<li><strong>交换设备</strong>：如交换机（链路层）和路由器（网络层），负责转发数据包，决定数据的传输路径。</li>
<li><strong>通信链路</strong>：光纤、双绞线、同轴电缆、无线电波、卫星链路等，提供比特流传输的物理介质。</li>
<li><strong>协议软件</strong>：TCP/IP 等协议栈，定义了数据如何封装、寻址、传输和解析。</li>
</ul>
<h4 id="边缘部分">边缘部分</h4>
<p>由所有连接在互联网上的主机组成，用户直接使用这些主机进行通信和资源共享。这些主机又称为<strong>端系统（end system）</strong>。</p>
<ul>
<li><strong>端系统</strong>可以是客户端（如 PC、手机）或服务器（如 Web 服务器、邮件服务器）。</li>
<li>边缘部分的主要通信方式有两种（见下文）。</li>
</ul>
<p><img alt="picture3" loading="lazy" src="/img/in-post/copn3.png">
<img alt="picture5" loading="lazy" src="/img/in-post/copn5.png"></p>
<h5 id="通信方式">通信方式</h5>
<ul>
<li>
<p><strong>客户-服务器方式（C/S 方式）</strong><br>
即 Client/Server 方式。服务器长期运行，被动等待请求；客户主动发起通信，获得服务后结束。特例是浏览器/服务器方式（B/S 方式），浏览器作为通用客户端访问 Web 服务器。<br>
特点：服务器需要高带宽和强处理能力；客户之间不直接通信。</p>
</li>
<li>
<p><strong>对等方式（P2P 方式）</strong><br>
即 Peer-to-Peer 方式。每个节点既是客户也是服务器，直接共享资源（文件、带宽、算力）。<br>
特点：可扩展性好，无需中心服务器；常用于文件共享（BitTorrent）、区块链、视频会议（WebRTC）等。</p>
</li>
</ul>
<h4 id="核心部分">核心部分</h4>
<p>由大量网络和连接这些网络的路由器组成，为边缘部分提供连通性和交换服务。</p>
<ul>
<li><strong>路由器</strong>：核心设备，负责分组存储转发，依据路由表选择最佳路径。</li>
<li><strong>核心网络</strong>：通常采用高带宽光纤链路，运行复杂的路由协议（如 OSPF、BGP），保证全球范围的数据传输。</li>
</ul>
<p><img alt="picture4" loading="lazy" src="/img/in-post/copn4.png"></p>
<h3 id="计算机网络在我国的发展">计算机网络在我国的发展</h3>
<ul>
<li><strong>起步（1980s–1994）</strong>：1987 年发出第一封国际电子邮件；1994 年全功能接入 Internet。</li>
<li><strong>加速（1995–2000）</strong>：中国公用计算机互联网（CHINANET）建成，互联网服务开始民用。</li>
<li><strong>普及（2001–2010）</strong>：宽带接入普及，网民数量激增，电子商务、社交网络兴起。</li>
<li><strong>领先（2011 至今）</strong>：4G/5G 网络大规模覆盖，光纤宽带用户数世界第一，IPv6 部署迅速，移动支付和物联网应用全球领先。</li>
</ul>
<h3 id="计算机网络的类别">计算机网络的类别</h3>
<h4 id="定义">定义</h4>
<p>计算机网络是由通信链路连接的、具有独立功能的计算机系统集合，遵循协议实现资源共享和信息交换。</p>
<h4 id="几种类别">几种类别</h4>
<p>按覆盖范围分类：</p>
<ul>
<li><strong>个人区域网（PAN）</strong>：范围约 10 米，如蓝牙、USB 连接个人设备。</li>
<li><strong>局域网（LAN）</strong>：覆盖一栋楼或一个园区，典型技术为以太网、Wi-Fi。</li>
<li><strong>城域网（MAN）</strong>：覆盖一个城市，常用技术如以太网汇聚、有线电视网。</li>
<li><strong>广域网（WAN）</strong>：跨越国家或大陆，如 Internet 骨干网、运营商核心网。</li>
</ul>
<p>按拓扑结构分类：总线型、星型、环型、网状型等。<br>
按交换方式分类：电路交换、报文交换、分组交换。<br>
按使用范围分类：公用网（Internet）、专用网（企业内部网、金融专网）。</p>
<h3 id="计算机网络的性能">计算机网络的性能</h3>
<h4 id="性能指标">性能指标</h4>
<ul>
<li><strong>速率</strong>：数据率（data rate）或比特率（bit rate），单位 b/s（bps），常用 kb/s, Mb/s, Gb/s 等。文献中的网络速率一般指额定/标称速率，即设备能够达到的最高速率，而非实际运行的速率。</li>
<li><strong>额定/标称速率</strong>：由于在每一帧被传送的数据量中还包括同步码、纠错码等辅助成分，实际有效数据传输速率会低于标称速率。</li>
<li><strong>有效速率</strong>：在标称速率中扣除辅助成分后，为理想信号条件下传送数据的理论最高速率。</li>
<li><strong>包转发率（Packet Per Second, PPS）</strong>：网络设备（如交换机、路由器）以包为单位的转发速率。线速转发指交换机端口在满负载下能够达到的最高速度（即端口带宽除以最小包长对应的包转发率）。</li>
</ul>
<p>其他重要性能指标：</p>
<ul>
<li><strong>带宽</strong>：模拟信号中指频率范围（Hz）；数字通信中指最大数据速率（b/s）。</li>
<li><strong>吞吐量</strong>：实际网络中端到端的传输速率，受拥塞、丢包等影响。</li>
<li><strong>时延</strong>：包括发送时延、传播时延、处理时延和排队时延。</li>
<li><strong>时延带宽积</strong>：传播时延 × 带宽，表示链路中正在传输的比特数量。</li>
<li><strong>丢包率</strong>：分组在传输过程中丢失的比例。</li>
<li><strong>往返时间（RTT）</strong>：从发送端发出数据到收到确认的时间间隔。</li>
</ul>
<h4 id="非性能特征">非性能特征</h4>
<ul>
<li><strong>可靠性</strong>：系统连续无故障运行的能力，常用平均故障间隔时间（MTBF）衡量。</li>
<li><strong>可扩展性</strong>：网络规模扩大时，性能和服务质量能否保持。</li>
<li><strong>可管理性</strong>：网络监控、配置、故障排除的难易程度。</li>
<li><strong>标准化程度</strong>：是否符合国际标准（IEEE、IETF、ITU-T）。</li>
<li><strong>成本</strong>：包括建设、运营、维护费用。</li>
</ul>
<h3 id="计算机网络体系结构">计算机网络体系结构</h3>
<h4 id="形成">形成</h4>
<p>为了降低网络设计的复杂性，采用分层体系结构。每层完成特定功能，下层为上层提供服务，层间通过接口交互。国际标准化组织（ISO）于 1984 年提出了 OSI 七层参考模型（物理层、数据链路层、网络层、传输层、会话层、表示层、应用层），但因实现复杂未被广泛采用。实际使用中，TCP/IP 四层模型成为事实标准。</p>
<h4 id="协议与划分层次">协议与划分层次</h4>
<ul>
<li><strong>协议</strong>：控制两个对等实体通信的规则集合，包括语法（格式）、语义（含义）、同步（时序）。</li>
<li><strong>分层原则</strong>：每一层独立完成特定功能；层间变化不影响其它层；提供标准化的服务接口。</li>
</ul>
<h4 id="具有五层协议的体系结构">具有五层协议的体系结构</h4>
<p>综合 OSI 和 TCP/IP，教学中常采用五层模型：</p>
<ol>
<li><strong>物理层</strong>：传输比特流，定义电压、接口、介质等。</li>
<li><strong>数据链路层</strong>：在相邻节点间可靠传输帧，处理差错控制和流量控制。</li>
<li><strong>网络层</strong>：负责分组从源到目的地的路由选择和转发（IP 协议）。</li>
<li><strong>传输层</strong>：提供端到端的可靠（TCP）或不可靠（UDP）数据传输。</li>
<li><strong>应用层</strong>：为用户应用提供协议支持（HTTP、SMTP、FTP 等）。</li>
</ol>
<h4 id="实体协议服务和服务访问点">实体、协议、服务和服务访问点</h4>
<ul>
<li><strong>实体</strong>：每一层中的活动元素（如进程、硬件模块），可以发送或接收信息。</li>
<li><strong>协议</strong>：同一层不同系统上的实体之间通信的规则。</li>
<li><strong>服务</strong>：下层为上层提供的一组操作，上层通过 <strong>服务访问点（SAP）</strong> 访问下层服务。例如传输层的 SAP 就是端口号。</li>
</ul>
<h4 id="tcpip-的体系结构">TCP/IP 的体系结构</h4>
<p>TCP/IP 协议栈包括四层（应用层、传输层、互联网层、网络接口层），并不严格区分物理层和数据链路层。其核心协议：</p>
<ul>
<li><strong>IP</strong>（互联网协议）：提供无连接、不可靠的分组交付。</li>
<li><strong>TCP</strong>（传输控制协议）：面向连接、可靠、有序的字节流传输。</li>
<li><strong>UDP</strong>（用户数据报协议）：无连接、不可靠但高效的数据报传输。</li>
</ul>
<p>TCP/IP 体系结构采用沙漏模型：IP 位于中央，支持多种上层协议和多种底层网络技术。</p>
<hr>
<ul>
<li><a href="/pdf/01-%E7%BB%AA%E8%AE%BA.pdf">绪论</a></li>
<li><a href="https://www.internetsociety.org/internet/history-internet/brief-history-internet/">A Brief History of the Internet</a></li>
</ul>
]]></content:encoded></item><item><title>计算机网络</title><link>https://farmer3-c.github.io/posts/computer-networks/post-2025-08-27/</link><pubDate>Wed, 27 Aug 2025 19:08:07 +0800</pubDate><guid>https://farmer3-c.github.io/posts/computer-networks/post-2025-08-27/</guid><description>Computer Networks</description><content:encoded><![CDATA[<h1 id="计算机网络">计算机网络</h1>
<ul>
<li><a href="/2025/08/27/cw/">概述</a></li>
<li><a href="/2025/08/27/1/">物理层</a></li>
<li><a href="/2025/08/27/2/">链路层</a></li>
<li><a href="/2025/08/27/4/">网络层</a></li>
<li><a href="/2025/08/27/3/">传输层</a></li>
<li><a href="/2025/08/27/5/">应用层</a></li>
</ul>
<h1 id="参考">参考</h1>
<hr>
<ul>
<li>计算机网络, 谢希仁</li>
<li><a href="https://github.com/CyC2018/CS-Notes/tree/master">CS-Notes</a></li>
<li><a href="https://textbook.cs168.io/">book</a></li>
</ul>
]]></content:encoded></item></channel></rss>