← 博客

计算机网络

系统整理计算机网络体系结构、物理层与数据链路层、IP 与路由、TCP/UDP、应用层协议及网络安全的课程学习笔记。

中文内容82 分钟约 27355 字

Created: 2026年3月16日 13:33 Class: 科林

ISP (Internet Service Provider): 互联网服务提供者 , 互联网的“网费供应商”(如电信、联通、移动),负责向普通用户提供接入互联网的线路和服务。

ICP (Internet Content Provider):互联网内容提供商, 互联网资源的运营者(如腾讯、百度、字节跳动),负责提供网站、APP 等内容信息。

IXP (Internet Exchange Point): 互联网交换点,不同 ISP 之间互换流量的交换中心,旨在减少网络绕路、提升不同服务商之间的传输速度。

WAN (Wide Area Network): 广域网,范围最大的网络,跨越国家或洲际,通过长距离线路连接不同地区,是互联网的核心骨干。

LAN (Local Area Network):局域网,覆盖小范围(如家庭、办公室、学校)的网络,是目前连接计算机最基础的网络形式。

PAN (Personal Area Network): 个人局域网,范围最小的网络(如蓝牙连接),用于在个人身边的设备之间进行数据通信。

MAN (Metropolitan Area Network): 城域网,覆盖一个城市范围的网络,通常用来连接该城市内的多个局域网。

RFC (Request For Comments):请求评议文档,互联网一系列标准的“技术法规”,所有标准协议(如 HTTP、TCP、IP)的技术规范都写在这些文档里。

ISO (International Organization for Standardization): 国际标准化组织,制定全球工业和商业标准的国际组织,它提出了著名的 OSI 参考模型。

OSI (Open Systems Interconnection): 开放系统互连参考模型,将网络架构拆解为 7 层的逻辑标准模型,是理解网络通信各层级功能的核心理论基础。

ACK (Acknowledgment): 确认位/确认号,TCP 协议中用于确认收到数据的标志。

ARQ (Automatic Repeat reQuest): 自动重传请求,停止-等待协议及滑动窗口协议中实现可靠传输的机制。

CA (Certificate Authority): 证书授权中心,网络世界的第三方权威机构,用于颁发和验证数字证书。

DHCP (Dynamic Host Configuration Protocol): 动态主机配置协议,用于自动为局域网内的主机分配 IP 地址、网关和 DNS 服务器等配置信息。

DNS (Domain Name System): 域名系统,互联网的通讯录,负责将易读的域名解析为 IP 地址。

FIN (Finish): 终止位,TCP 协议中用于释放连接的标志。

FTP (File Transfer Protocol): 文件传输协议,用于在网络中进行文件的上传与下载。

GBN (Go-Back-N): 后退 N 帧协议,一种改进的滑动窗口可靠传输协议。

HTTP (HyperText Transfer Protocol): 超文本传输协议,万维网网页搬运的基石协议。

HTTPS (HyperText Transfer Protocol Secure): 安全超文本传输协议,在 HTTP 之上增加了 SSL/TLS 加密层,保障数据传输安全。

IMAP (Internet Message Access Protocol): 因特网邮件访问协议,支持邮件的双向实时同步,是现代邮箱接收邮件的主流协议。

IPSec (IP Security): 网络层安全协议族,用于保障 IP 数据报的机密性、完整性和鉴别。

ISP (Internet Service Provider): 互联网服务提供者,即向用户提供互联网接入服务的供应商(如电信、联通等)。

MIME (Multipurpose Internet Mail Extensions): 多用途互联网邮件扩展,用于扩展 SMTP 使其能传输多媒体文件和非 ASCII 数据。

PGP (Pretty Good Privacy): 优良保密协议,应用层中专门用于保障电子邮件安全的协议。

POP3 (Post Office Protocol 3): 邮局协议第 3 版,传统的邮件接收协议,通常将邮件下载到本地后从服务器删除。

QUIC (Quick UDP Internet Connections): 基于 UDP 的快速互联网连接协议,HTTP/3 的底层传输协议,旨在彻底解决 TCP 的队头堵塞问题。

RTT (Round-Trip Time): 往返时间,信号在网络中从发送端到接收端再回到发送端的总耗时。

SMTP (Simple Mail Transfer Protocol): 简单邮件传送协议,专门负责发送电子邮件的协议。

SR (Selective Repeat): 选择重传协议,一种更加高效的滑动窗口协议,仅重传丢失的分组。

SSL (Secure Sockets Layer): 安全套接字层,早期的安全传输协议,TLS 的前身。

SYN (Synchronize): 同步位,TCP 协议中用于建立连接时同步序号的标志。

TCP (Transmission Control Protocol): 传输控制协议,运输层面向连接的、可靠的通信协议。

TLS (Transport Layer Security): 传输层安全协议,目前 HTTPS 采用的安全加密标准。

UDP (User Datagram Protocol): 用户数据报协议,运输层无连接的、不可靠的通信协议。

WWW (World Wide Web): 万维网,基于超链接的全球性网页信息系统。

计算机网络是指将分布在不同地理位置、具有独立功能的多台计算机 / 终端设备,通过通信线路与网络设备连接,配合完整网络协议实现数据传输、资源共享的系统。

三类网络

电信网络,有线电视网络,计算机网络。

“三网融合”电信,有线电视融入现代计算机网络。

互联网发展三个阶段

1.从单个网络ARPANET向互联网发展(军用)

高级研究计划局网络(ARPANET)阿帕网:最初是一个单个的分组交换网,不是一个互联网。

2.建成了三级结构的互联网

NSFNET国家科学基金网

商业化开始实现。

三级结构:主干网,地区网,校园网/企业网。成为互联网中的重要组成部分。

3.全球范围的多层次ISP结构的互联网

互联网服务提供者ISP

提供接入到互联网的服务,付费。

多层次ISP结构,主干ISP,地区ISP,本地ISP。覆盖面积大小和所拥有的IP地址不同。

互联网内容提供商ICP

计算机网络分类

作用范围

广域网 WAN 作用范围广,通常为几十到几千公里。

局域网 LAN 一般用微型计算机或者工作站,通过高速通信线路相连。

路由器口一般有一个WAN用于接外部,其余的LAN口用于接电器。

若中央处理机之间的距离非常近,则一般称之为多处理机系统,不称之为计算机网络。

个人局域网 PAN

城域网 MAN

使用者

公用网 电信公司出资建造的大型网络,公用就是只要愿意接受电信公司规定缴费的人都可以使用这种网路。

专用网 为满足本单位的特殊业务工作的需要而建造的网络,个人 企业 军队等

拓扑结构

总线型,星型,环型,网状型,树型

数据交换技术

电路交换:通信前在双方建立被双方独占的物理通道。

特点:传送数据量大,传送时间远大于呼叫时间。独占一条线,传输时延最小。

报文交换:以报文为数据交换单位,报文携带有目标地址,源地址等信息,整个报文发送,一次一跳,在交换节点采用存储转发的方式,即将到达交换机的分组先送到存储器中暂时存储,等相应的输出电路有空闲的时候再发送。

特点:端到端有很多链路组成。

分组交换:将报文划分为更小的数据单位:报文分组,仍采用存储转发传输方式,区别是将一个长报文分割为若干个较短的分组,把这些分组逐个发过去,但先发不一定先到,需要有编号信息,便于在目的地按编号组合起来。

特点:信道利用率上来看,报文/分组优于电路,而且分组比报文的时延小,更适合突发形式的数据通信。

计算机网络分层体系结构

OSI参考模型

服务下层向上层提供的功能能力,上层只调用,不用关心下层实现。

同层对等尸体进行信息交换时必须遵守的规则称为协议。

同一节点内相邻两层之间通过接口实现通信过程。

应用层:所有能和用户交互产生网络流量的程序。数据

表示层:用于处理两个通信系统中交换信息的表达方式。数据

会话层:会话建立,想表示层实体/用户进程提供建立链接并连接上有序的传输数据。数据

传输层:负责主机中两个进程的通信,端到端的通信。传输单位为报文段或用户数据报。TCP:段;UDP:用户数据报

网络层:把分组从源传递到目的端,为分组交换网上的不同主机提供通信服务。分组/包

数据链路层:网络层传下来的数据报组装成帧。帧

物理层:在物理媒体上实现比特流的透明传输。比特

TCP/IP体系结构 (五层参考模型)

应用层

通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。进程就是主机中正在运行的程序。应用层交换的数据单元为报文。

运输层

负责向两台主机中进程之间的通信提供通用的数据传输服务,由于一台主机可以有多个进程,运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面应用层的服务,分用是运输层把收到的信息分别交付给上面应用层的响应进程。计算机网络中,运输层负责将数据分组和分段。

拥塞控制:就是网络在 “堵车” 时,自动调节发送速度,避免越堵越死的一套机制。

传输控制协议TCP:提供1.面向连接的 2.可靠的 3.基于字节流的 传输层通信协议,有流量控制与差错控制,邮件收发,文件传输,远程登录,数据稳定性和完整性高的场景。

用户数据包协议UDP:提供1.无连接的 2.高效率的 3.低可靠性的数据传输服务,视频聊天,在线游戏,需要时效性比较高的场景。

网络层

信号传送,负责为分组交换网上的不同主机提供通信服务,发送数据时,网络层把传输层的报文段或用户数据报封装成分组或者包进行传送,在TCP/IP体系中,网络层使用IP协议,所以分组也叫IP数据报,或者也叫数据报。

任务

1.在互联网上每一个路由器生成一个用于转发分组的转发表。

2.每个路由器接收到分组,根据转发表指明的路径转发给下一个路由器,以到达目的主机。

数据链路层

在两个相邻节点传输数据时,数据链路层将网络层交下来的IP数据报组装成帧,在相邻节点送帧,每一个帧都包括数据和必要的控制信息。

控制信息的作用

1.知道一个帧的起始位置,数据链路层收到一个帧后,将提取数据部分,上交给网络层

2.检查帧是否有差错,如果有,直接丢弃差错帧,也可以在必要的时候纠正帧错误。

物理层

传输的单位是比特,以二进制代码为单位,何种电压代表1,0,还需要确认连接电缆的插头应当有多少个引脚以及各个引脚如何连接。值得注意的是,解释各个比特所代表的意思,并不是物理层的工作,至于物理传输媒体也不属于物理层,也可以理解为物理层之下的层次。

物理层用于传输信号,电,光,无线等,但只传输了信号,并不知道传输给谁,此时就需要数据链路层将一长串01信号分为一块一块的,知道首位。但是在不同局域网中的信号仍旧无法传播,此时需要路由进行将各类局域网连接起来,IP地址对各个局域网进行统一,截至于此,实现了主机之间的信息互通。运输层为最后关口,在这里的数据一定为准确的,向上将各个数据分发给各个应用。

计算机网络体系结构中的通信子网层次包括网络层,数据链路层和物理层。

1. 应用层 (Application Layer)

  • 主要作用:直接为用户的应用程序提供网络服务。它定义了应用进程之间通信和交互的规则,决定了数据的呈现格式和业务逻辑。
  • 常见协议:
    • HTTP / HTTPS:超文本传输协议(万维网服务)
    • FTP:文件传输协议
    • DNS:域名系统(将域名解析为 IP 地址)
    • SMTP / POP3 / IMAP:电子邮件相关协议
    • SSH / Telnet:远程登录协议

2. 传输层 (Transport Layer)

  • 主要作用:负责进程与进程之间(端到端)的通信。它为上层应用提供可靠或不可靠的传输机制,并处理流量控制和差错校验。数据在此层被称为段 (Segment)。
  • 常见协议:
    • TCP(传输控制协议):面向连接的、可靠的传输协议(提供面向字节流、拥塞控制、重传机制,常用于网页、邮件)。
    • UDP(用户数据报协议):无连接的、不可靠的传输协议(高效、延迟低,常用于视频直播、即时游戏、DNS 查询)。

3. 网络层 (Network Layer)

  • 主要作用:负责主机与主机之间的通信(寻址和路由选择)。它决定数据包从源到目的地的最佳传输路径。数据在此层被称为包 (Packet) 或IP数据报。
  • 常见协议:
    • IP(网际协议,包括 IPv4 和 IPv6):核心协议,负责分配 IP 地址和路由数据包。
    • ICMP(互联网控制报文协议):用于检测网络连接状态和报告错误(如 ping 命令)。
    • ARP(地址解析协议):将网络层的 IP 地址转换为数据链路层的 MAC 地址。
    • OSPF / BGP:路由选择协议。
  • 主要作用:负责相邻节点(如同一个局域网内的设备)之间的物理通道上的可靠数据传输。它通过 MAC 地址来识别设备,并进行硬件寻址、差错检测(CRC)和帧同步。数据在此层被称为帧 (Frame)。
  • 常见协议/技术:
    • Ethernet(以太网协议,目前最常用的有线局域网技术)
    • Wi-Fi (802.11)(无线局域网协议)
    • PPP(点对点协议,常用于广域网拨号)
    • VLAN (802.1Q)(虚拟局域网技术)

5. 物理层 (Physical Layer)

  • 主要作用:负责在物理媒介上透明地传输原始比特流(Bitstream,即 0 和 1)。它定义了接口的机械、电气、功能和规程特性(如电压、接口形状、传输速率等)。
  • 常见技术/标准:
    • RJ-45(双绞线网线接口标准)
    • 光纤标准(如 100BASE-FX)
    • 蓝牙 (Bluetooth)
    • USB、RS-232 串口标准

互联网的特点

连通性

资源共享

保持连通性以实现资源共享。

计算机由若干个节点和链接这些节点的链路组成,节点可以是计算机,集线器,交换机或路由器等。多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络。

互连网:是一个通用名次,泛指由多个计算机网络互联而形成的计算机网络。

互联网:是一个专属名词,它指当前全球最大的,开放的,由众多网络相互连接而成的特定互联网,它采用TCP/IP协议族作为通信规则,前身是美国的ARPANET。

在局部范围内,把许多网络通过一些路由器连接在一起,与网络相连的计算机称为主机。

互联网标准化

互联网的标准化工作对互联网的发展起到了非常重要的作用。

标准发表:以RFC形式

不是所有的RFC文档都能成为互联网标准,少部分才能成为互联网标准。

国际标准化组织ISO

互联网的边缘部分

由所有用户直接使用的主机手机大型计算机服务器组成。也叫端系统,所有主机。

客户端请求服务,服务端提供服务。

客户程序:被用户调用后运行,需要主动向远地服务器发起通信(请求服务),必须知道服务器程序的地址,不需要特殊的硬件和很复杂的操作系统。

服务器程序:可以同时处理多个用户请求,不断地运行着,被动接受请求,不需要知道客户地址,需要强大的硬件和高级的操作系统支持。

C/S:有明确的服务器,客户端,中心化,容易管理,但是有瓶颈。

B/S:浏览器,服务器模式,诸如浏览器网址等。

P2P:无中心,节点平等,分布式,只要都运行了P2P软件,就可以进行平等的,对等的连接通信。

互联网的核心部分

由网络和路由器组成。

是互联网中最复杂的部分,向边缘网络提供连通性,使得任何一个主机都能够向其他主机通信。

在网络核心部分其特殊作用的是路由器,它是实现分组交换的关键构件,其任务是转发收到的分组。

而分组转发是网络核心部分最重要的功能。

电路交换

特点:通话的两个用户始终占用端到端的通信资源。包含三个阶段,建立连接,通话,释放连接。

电路交换:电线对的数量与电话机数量的平方成正比。当电话机数量增多时,使用电话交换机将这些电话连接起来。

交换机:需要有原地址,目的地址等。

转接:把一条电话线连接到另一条电话线,使之联通。从通信资源的分配角度来看,就是按照某种方式动态地分配传输线路的资源。

缺点:计算机数据具有突发性,通信线路的利用率很低,已经被用户使用的通信线路资源在绝大部分时间都是空闲的。

分组交换

采用存储转发技术,不约定实际通信路径,在发送端,先把较长的报文划分为更小的等长的数据段。

左边是前面,数据段前面加首部就成了分组,分组又称为“包”,而分组的首部也可以称为包头。接收端收到分组后剥去首部,还原成原来的报文。

根据首部中包含的目的地址,原地址等信息进行转发。

每一个分组在互联网中独立选择传输路径。

位于网络核心部分的路由器负责转发分组,即进行分组交换。

路由器要创建和动态维护转发表。

优点

高效:在分组传输过程中动态分配传输带宽,对通信链路是逐段占用。

灵活:为每一个分组独立地选择最合适的转发路由。

迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组。

可靠的:保证可靠的网络协议,分布式多路由的分组交换网,使其有很好的生存性。

缺点

排队延迟:分组在各个路由器存储转发时需要排队。排队多了会导致丢失。

不保证带宽:动态分配。

增加开销:各分组必须携带控制信息,路由器需要暂存分组,维护转发表等。

报文交换

整个报文先传送到相邻节点,全部存储下来之后查找转发表,转发到下一个节点。

三种交换方式的比较

若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。

报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。

由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

运行的程序才有进程,进程有生命周期。

进程之间的通讯。

计算机网络性能指标

速率:数据的传送速率,也叫数据率或比特率。往往是额定速率或标称速率,实际要低很多。

带宽:某个信号具有的频带宽度,在计算机网络中,带宽用来表示网络中某通道传送数据的能力,单位时间所传送的最高数据率。带宽越宽,所能传输的最高数据率也越高。

吞吐量:单位时间通过某个网络的实际数据量。受带宽和网络的速率的限制。

时延:一个报文或分组从网络一端传送到另一端的时间。

1.发送时延(传输时延)主机或路由器发送帧所需要的时间,从第一个比特算起,道最后一个比特发送完所需的时间,发送时延=数据帧长度(bit)/发送速率(bits/s)

2.传播时延 电磁波在信道中传播一定距离所花费的时间,传播时延=信道长度(m)/信号在信道上的传播速率(m/s)在信道建造完毕之后,传播时延就已经固定,在理论上。只与信道长度相关,电磁波速率为光速。

3.处理时延 接收到分组后,对分组进行处理的时间。

4.排队时延 在输入队列上排队等待处理。

5.时延带宽积 时延带宽积=传播时延*带宽

6.往返时延

只有排队时延是可变的,网络受其影响。

7.利用率

信道利用率:某信道有百分之几的时间是被利用的,完全空闲的信道利用率是0。

网络利用率:全网络的信道利用率的加权平均值。

信道利用率增大的同时,时延也会迅速增加。

系统网络体系结构 SNA(System Network Architecture)

计算机网络的各层及其协议的集合就叫网络的体系结构

由于不同计算机体系结构不同,不同公司的设备很难互相连通。

1.将文件传送模块作为最高的一层,两台主机的进程进行通讯。

2.进程将信息交付给通信服务模块,

3.网络接入模块通过两个主机的网络接口进行网络通信。并向上层提供接入和通信服务。

优点:各层独立,互不影响,易于维护,促进标准化工作。

缺点:有些功能会重复出现,因而产生了额外开销。

1. 文件传送模块(应用层):老板与秘书

对应物流:确定货物与包装 这是最高层,直接面对用户需求。

  • 场景:北京的老王想送一盒瓷器给伦敦的大卫。老王只需要下令:“把这盒瓷器寄走。”
  • 职能:这一层只关心**“寄什么”**。它负责把文件转换成计算机能理解的格式,就像秘书把瓷器装进保护盒,贴上“易碎”标签,写好收件人地址。

2. 通信服务模块(传输层):快递公司分拣中心

对应物流:运输规划与质量保证 这一层负责确保信息能“稳妥”地到达目的地。

  • 场景:快递员把盒子取走,送到分拣中心。分拣中心不关心里面是瓷器还是书,它关心的是:“怎么运最稳?”
  • 职能:如果货物太大,它会把货物拆成好几个小包裹(数据分段);它还会给每个包裹编号,确保伦敦那边收到时能按顺序拼好。如果路上丢了一个包裹,它负责通知重发。

3. 网络接入模块(物理/链路层):运输工具与道路

对应物流:真实的交通运输 这是最底层,负责物理上的“动起来”。

  • 场景:包裹被装上卡车、飞机或轮船。
  • 职能:它只负责**“两点之间的移动”**。卡车只管把货从北京运到上海机场,飞机只管从上海飞到希伯罗机场。它利用各种“接口”(公路、航线)进行实际的物理移动。

解释互联网的边缘部分和核心部分的区别。

互联网的边缘部分由所有连接在互联网上的主机组成,主要用于信息处理和资源共享。核心部分则由大量网络和连接这些网络的路由器组成,负责提供连通性和交换服务。边缘部分的主机进行通信时依赖核心部分提供的服务,而核心部分的路由器则负责分组交换和路由选择。

简述分组交换的主要优点。

分组交换的主要优点包括:高效利用带宽、灵活选择转发路由、快速传输数据、以及网络具有良好的生存性。分组交换采用存储转发的方式,使得数据传输效率更高,并且在遇到网络故障时可以灵活调整路由,确保数据传输的可靠性。

简述计算机网络体系结构中五层协议的主要功能。

应用层:负责应用进程间的交互,提供特定网络应用的通信服务。

运输层:提供端到端的可靠数据传输服务,支持复用和分用功能。

网络层:负责分组交换网上的不同主机之间的通信,生成转发表并转发分组。

数据链路层:负责相邻节点之间的数据帧传输,提供差错检测和纠正功能。

物理层:负责物理信号的传输,定义了物理连接的电气、机械特性。

物理层

物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体,尽可能屏蔽掉不同传输数据的方式之间的差异。

机械特性:接口接线器形状,引脚数目等等接插件。

电气特性:接口电缆的各条线的电压的范围。

功能特性:指明每条线某一电平的电压的意义。

过程特性:指明对不同功能的各种可能事件的出现顺序,也就是协议的同步。

数据通信

数据通信分为三个部分:源系统,传输系统,目的系统。

源系统包括源点和发送器,目的系统包括接收器和终点。

源点→发送器→ 接收器→ 终点

通信的目的是传送消息

消息:语音,文字,图像,视频等。

数据:运送消息的实体。

信号:数据的电气电磁表现。

模拟信号:消息的参数取值是连续的。

数字信号:消息的参数取值是离散的,典型就是数字信号01,不同离散数值的基本波形就称为码元。

信道

信道是向某一方向传送信息的媒体,所以通信电路要有发送信道和一条接受信道。

从通信双方信息交互的方式来看,有三种方式

单向通信,也叫单工通信,只能有一个方向通信,没有反方向交互,如广播,电视广播等。

双向交替通信,也叫半双工通信,双方都可以发送信息,但是不可以同时发送,也就不能同时接收。如对讲机。

双向同时通信,也叫全双工通信,双方可以同时发送接收,所以需要两条信道,传输效率也最高。

来自信源的信号也叫基带信号,基本频带信号。如计算机输出的代表文字和图像文件的数据信号。基带有很多低频分量,有的信道不能传输这种低频分量,必须进行调制。调制可以分为两类,一种对波形进行调制,结果也是基带,就叫基带调制。本质是数字信号的改变,这一过程也可称为编码。第二种使用载波进行调制,调制之后叫做带通信号,这种方式叫带通调制。

基带调制

也叫编码,变成数字信号。

带通调制

调幅,调频,调相,三种方式可以混着用,表达更复杂的编码,如正交振幅调制QAM。

常见编码方式

不归零制:正电平1,负电平0

归零制:正脉冲1,负脉冲0

曼彻斯特编码:中心向上跳为0,向下跳为1,也可以反过来定义。

差分曼彻斯特编码:开始边界跳为0,不跳为1

基带信号:来自信源的信号。

信道的极限容量

在传输过程中会失真,但是小幅度会恢复,大幅度就无法恢复了。

限制码元的传输速率

1.信道能通过的频率范围有限

高频分量在传输过程中收到衰减,每一个码元所占的时间不在清晰明确,也就失去了码元之间的界限,这种现象叫码间串扰。严重会导致一串清晰的码元变得模糊,无法识别。

由此推导出了奈式准则:在带宽为W的低通信道中,若不考虑噪声,码元间最高速率为2W,超过就会出现严重串扰。

定理一:奈氏准则(Nyquist Theorem)—— 理想无噪声信道 在理想(没有噪声干扰)的信道中,为了避免码间串扰,码元传输速率是有上限的。 • 极限码元传输速率 = 2W (Baud) • 极限信息传输速率(比特率) = 2W log_2 M (bps) ◦ (其中W是信道的带宽,单位是赫兹 Hz)

结论:在无噪声的理想状态下,要想无限提高上网速度(比特率),唯一的办法就是增加码元的状态数 M(即让每个波形携带更多比特)。

2.信噪比

噪声是普遍存在的,也是随机产生的,噪声的影响是相对的,信号强则噪声影响弱。信噪比很重要,也就是信号的平均功率与噪声的平均功率之比,即为S/N,

信噪比(dB)=10log⁡10(S/N) (dB)\text{信噪比(dB)}=10\log_{10}(S/N)\,\text{(dB)}

定理二:香农公式(Shannon's Formula)—— 有噪声的实际信道 实际的信道是有噪声的。噪声太大会让接收端分不清码元的状态(比如火光太小,隔远了分不清是大火还是小火)。 • 信道的极限信息传输速率 :

C=Wlog⁡2(1+S/N) (bits/s)C=W\log_2(1+S/N)\,\text{(bits/s)}

◦ W为信道带宽(Hz) ◦ S为信道内所传信号的平均功率 ◦ N为信道内部的高斯噪声功率 ◦ S/N 是信噪比。通常题目会给出分贝数dB,换算公式为:

dB=10log⁡10(SN)\text{dB} = 10 \log_{10} \left( \frac{S}{N} \right) 若 dB=X  ⟹  SN=10X10\text{若}\ \text{dB} = X \implies \frac{S}{N} = 10^{\frac{X}{10}}

结论:在有噪声的现实世界中,码元的状态数M是不能无限拆分的。如果拆得太细,噪声一干扰信号就会失真。香农公式直接决定了某条网线或某个无线频段的“最高速度天花板”。

信道的带宽或信道的信噪比越大,信息的极限传输速率越高,这个为理论极限值。

数据在传输媒体上一般使用串行传输,也就是比特按照时间顺序传输。

复用技术

复用:允许用户使用一个共享信道进行通信。CallBack

频分复用FDM:将带宽分为多份,用户被分配一个频带后,通信过程中自始至终都占用这个频带,频分多址接入FDMA。

时分复用TDM:把时间划分多份,类似于时间片,时分多址接入TDMA。时分复用会导致信道利用率不高。

统计时分复用STDM:不是固定分配时隙,按需动态分配时隙,可提高线路的利用率。

波分复用:光的频分复用,用一根光纤同时传输多个光载信号。

码分复用CDM:每个用户可以在同样的时间使用同样的频带进行通信。各用户使用特殊挑选的不同码型,不会对彼此进行干扰。CallBack,计算方法

物理层下方的传输介质

引导型传输媒体

双绞线(铜线)

无屏蔽双绞线UTP:无屏蔽层,便宜。

屏蔽双绞线STP:带铝箔屏蔽层,对抗外部信号干扰,都必须有接地线。

优点:便宜/易于布线/技术成熟统一

缺点:易被干扰/传输距离较弱

日常中超五类(5E),6类使用比较多。

同轴电缆(早期)

计算机内总线的形式,有很强的抗干扰能力,用于传输较高速率的数据。

优点:抗干扰/带宽大/物理强度高

缺点:不易布线/成本高/单点故障脆弱

光缆

光纤在光芯中不断的全反射,

多模光纤:可同时存在多条不同角度入射光线在同一光纤,远距离会失真。

单模光纤:成本高,适用于远距离传输。

优点

1.抗雷电,电磁性能好。

2.通信容量大。

3.无串音干扰,保密性好。

4.体积小,重量轻。

非引导型传输媒体

无线电波

信号向所有方向传播

较强穿透能力,传远距离传播,广泛用于通信领域。

多径效应:基站的信号经过多个障碍物多次反射,从多条路径信号叠加在一起会产生很大的失真。

微波

信号固定方向传播

微波通信频率高,频段范围宽,因此数据率很高。

(1)地面微波接力通信

(2)卫星通信

优点:

1.通信容量大

2.距离远

3.范围广

4.广播通信和多址通信。

缺点:

1.传播时延长

2.受气候影响大

3.误码率高

4.成本高

5.保密性差

红外线,激光

信号固定方向传播

把要传输的信号分别转换为各自的信号形式,即红外光信号和激光信号。

物理层设备

中继器

把微弱的、失真的电信号进行“整形”和“放大”,然后再传出去,以此来延长网络的传输距离。

两端口设备:它只有两个口,一个进口,一个出口。

傻瓜式工作:它不看 MAC 地址,也不看 IP 地址,更不认识什么是数据帧。它只负责在物理层对 0 和 1 的电信号进行单纯的复制和放大。所有接口同属一个冲突域,也同属一个广播域。

带宽分配: 共享带宽。

集线器

集线器内部只有一条共享的总线。当端口 A 的电脑发送一个信号给集线器时,集线器会把这个信号自盲目地复制放大,然后向除了 A 以外的所有接口(B、C、D)同时发送出去。

至于这个数据到底是给谁的?集线器不管,由各个接收端电脑网卡自己看 MAC 地址决定要不要。

物理层设备:中继器/集线器

链路层设备:网桥,交换机

网络层设备:路由器

宽带接入技术

1. FTTH (基于 PON 架构) —— 光纤到户

这是目前最先进、考频最高的接入技术。FTTH 的底层核心是 PON(无源光网络) 架构。

结构组成(三件套)

PON 是一种 点到多点(P2MP) 的拓扑结构,主要由以下三部分组成:

  1. OLT(Optical Line Terminal,光线路终端):位于运营商机房(局端)。负责连接核心网,并对下端所有用户设备进行控制和时钟同步。
  2. ODN(Optical Distribution Network,光分配网):连接 OLT 和 ONU 的中间桥梁,最核心的部件是无源分光器(Splitter)。它不需要电源,纯靠物理棱镜把一根光纤里的光信号分流到几十路用户光纤中。
  3. ONU(Optical Network Unit,光网络单元):位于用户家中(即我们俗称的光猫)。负责把光信号还原成电脑认的电信号。
核心考点与传输方式
  • 单纤双向技术(WDM):在一根光纤中,利用波分复用(WDM)把上下行信号隔离开。 ◦ 下行波长通常为 1490nm ◦ 上行波长通常为 1310nm • 下行传输方式:广播(Broadcast)。OLT 发出的信号通过分光器像大喇叭一样传给所有人,ONU 根据物理地址(MAC/LLID)只过滤并接收属于自己的那份数据。 • 上行传输方式:时分多址(TDMA)。由于所有用户上行共享一根主干光纤,为了防止光信号“撞车”(碰撞干扰),OLT 会给每个 ONU 分配严格的时间片,大家轮流在属于自己的时间内发射光信号。

2. ADSL (Asymmetric Digital Subscriber Line) —— 非对称数字用户线路

ADSL 属于 DSL(数字用户线路) 技术的一种,其最大特点是“废物利用”——利用现有的普通电话线(双绞线)来传输高频数字信号。

结构组成
  1. 用户端设备: ◦ 电话分离器(Splitter):负责把电话线里的低频语音信号(发给电话机)和高频数字信号(发给调制解调器)分离开,互不干扰。 ◦ ATU-R(ADSL调制解调器 / ADSL 猫):把电脑的数字信号调制成高频模拟信号送上电话线。
  2. 机房端设备: ◦ DSLAM(数字用户线路接入复用器):运营商机房的核心。它把成百上千个用户传过来的 ADSL 信号汇聚起来,剥离出上网数据,统一送往因特网骨干网。
核心考点与传输方式
  • 频分复用(FDM):ADSL 将传统的电话双绞线中 0∼1.1 MHz0 \sim 1.1\text{ MHz} 的带宽划分为不同的频段: ◦ 04kHz:留给传统的有线电话语音。 ◦ 30138kHz:留给上行通信。 ◦ 138kHz~1.1MHz:留给下行通信。 • 为什么叫“非对称”? 因为下行频段的带宽(放了更多的子信道)远大于上行频段的带宽。这非常契合当年网民“下载数据多(看网页、看视频)、上传数据少(发指令)”的非对称行为特征。 • 致命缺点:对距离极其敏感。由于双绞线对高频信号衰减极大,用户距离机房超过3~5km 基本就无法开通。

3. HFC (Hybrid Fiber-Coaxial) —— 光纤同轴混合网

HFC 是在传统的有线电视(CATV)网络基础上改造而来的宽带接入技术。

结构组成

顾名思义,它是光纤与同轴电缆的结合体:

  1. 骨干网部分(光纤):从有线电视中心(前端)到住宅小区的光节点(Fiber Node)之间,全部采用光纤传输,带宽极大。
  2. 接入网部分(同轴电缆):从小区光节点到用户家里,采用传统的同轴电缆。
  3. 关键设备: ◦ 电缆调制解调器(Cable Modem):用户家里的网卡连接它,负责同轴电缆高频信号的调制解调。 ◦ CMTS(电缆调制解调器终端系统):位于前端(机房),管理并汇聚所有用户的 Cable Modem 流量。
核心考点与传输方式
  • 共享式带宽:与 ADSL 每个人独享一根电话线到机房不同,HFC 在进入小区后,一个楼道或一个社区的所有用户都是并联在同一根同轴电缆上的。 • 高峰期卡顿现象:因为带宽是共享的,当晚上上网高峰期(全楼都在用电脑或看电视),每个人分配到的可用带宽就会急剧下降。 • 频分复用(FDM):同轴电缆带宽极宽(可达1GHz),它把不同的频率划分为:有线电视模拟信号、数字电视信号、上行数据信道和下行数据信道。
考核维度FTTH (PON)ADSLHFC
物理介质光纤(无源分光)传统电话双绞线光纤(主干) + 同轴电缆(入户)
拓扑结构点到多点(P2MP)星型点到点(P2P)独享架构树形 / 共享总线型
局端核心设备OLTDSLAMCMTS
用户端设备ONU(光猫)ATU-R(ADSL猫) + 分离器Cable Modem(电缆猫)
带宽分配特征动态带宽分配(DBA)非对称(下行大,上行小)共享式带宽(用的人多会变慢)
核心复用技术下行广播,上行 TDMA;全双工靠 WDM频分复用{FDM}频分复用FDM
传输距离限制可达20km以上极短(通常限制在 3~5km介于两者之间

1.说明HFC网的结构及其优势。

结构:HFC网由光纤干线(主干网)、同轴电缆分配网(用户接入)及光分路器组成,光纤连接至小区光节点,再通过同轴电缆接入家庭。

优势:

带宽高,支持双向传输(如视频点播)。

利用现有有线电视网络,改造成本低。

频分复用技术灵活划分上下行信道。

2.简述频分复用(FDM)和时分复用(TDM)的区别

频分复用:将信道带宽划分为多个互不重叠的频段,每个用户独占一个频段传输数据。

时分复用:将时间划分为固定长度的时隙,多个用户轮流占用全部带宽的时隙传输数据。

数据链路层

信道类型

点对点信道:一对一的点对点通信方式。

广播信道:一对多的广播通信方式,必须使用专用的共享信道协议来协调这些主机的数据发送。

传输数据单元:帧

封装成帧

将一段数据的前后分别添加首部和尾部,构成一个帧。首部尾部作用是进行帧界定,确定帧定边界。数据包最大传输单元1500。

透明传输

不管所传的数据以什么样的比特组合,都能在链路上进行传送,链路层看不见有什么阻碍传输数据的东西,中间数据与头尾相同了,分不清谁是谁。

解决方式

在不是头尾的类头尾数据前加转义字符

差错检测

位错:比特位出错了,1变成0,0变成1;

循环冗余检验CRC:在发送端把数据划分为组,设定每组k个比特。CRC运算在每组M后面再添加用于差错检测用的n为冗余码,然后构成一个帧发送出去,共发送K+n位。

通过除产生的余数进行校验,将余数拿过去,按理应该整除,若不能整除,则产生差错了,但是不知道位置。

帧错:丢失/重复/失序;

一般来讲,传输中的差错都是由于噪声引起的。

全局性

由于本身的电气特性产生的随机噪声,信道固有的,随即存在的。

解决办法:提高信道的信噪比避免干扰;

局部性

外界特定的短暂原因引起的冲击噪声,是产生差错的主要原因。

解决办法:利用编码技术来解决。

在传输过程中kennel会产生比特差错,可能1→0;

可以用奇偶校验,会增加一些开销。

在一段时间内传输错误的比特占所传输的比特的总数的比率叫做误码率BER。

只解决差错,保证数据正确,并不会保证可靠,传输过程中可能丢失。

点对点协议PPP

满足的需求

1.简单:首要需求

2.封装成帧:规定字符为帧界定符

3.透明性:保证数据传输透明性

4.多种网络协议:能在同一条物理链路上同时支持多种网络层协议

5.多种类型链路:必须在多种类型链路上运行

6.差错检测:

7.检测连接状态

8.最大传送单元

9.网络层地址协商

10.数据压缩协商

透明传输问题

PPP异步传输时,使用字节/字符填充法。插入转义字符

PPP同步传输时,采用零比特传输。

PPP协议

  • 两大核心组件:
    1. LCP(链路控制协议): 用于建立、配置和测试数据链路层连接(协商链路选项)。
    2. NCP(网络层控制协议): 用于配置不同的网络层协议(如分配 IP 地址)。
  • 常考辨析:为什么 PPP 不需要帧编号、确认和流量控制?
    • 定位: PPP 提供的是不可靠传输服务。
    • 环境: 现代物理链路(如光纤)误码率极低。
    • 上层保障: 差错纠正、可靠传输和流量控制全部移交给上层(如运输层的 TCP 协议)去处理,链路层只需“尽力而为”,从而极大提高了传输效率。

HDLC:面向比特(Bit-oriented)的同步传输协议。

广播信道与介质访问控制(MAC)

1.信道划分(静态分配 —— 绝不冲突)

  • FDMA(频分复用): 拆分频率(子信道)。
  • TDMA(时分复用): 拆分时间。
  • CDMA(码分复用): 拆分正交码片。
    • 考点延伸: 各站点的码片序列必须相互正交(规格化内积为 0)。

2.随机访问(动态分配 —— 可能冲突)

  • CSMA: 先听后发。可能发生冲突!
  • CSMA/CD(有线以太网):
    • 十六字诀: 先听后发,边发边听,冲突停发,随机重发。
    • 三阶段生命周期: 发送前(CS)→\rightarrow 发送中(CD)→\rightarrow 冲突后(干扰与指数退避)。
    • 以太网物理编码: 采用 曼彻斯特编码,每个码元正中间都有一次电压跳变(自带时钟同步信号)。
  • CSMA/CA(无线 Wi-Fi):
    • 核心功能: 对正确接收的数据帧进行确认(必须有 ACK 握手)。
    • 解决痛点: 隐蔽站问题。
    • 高级机制: 使用 RTS/CTS(请求/允许发送)进行信道预约。

CSMA/CD协议

Carrier Sense Multiple Access with Collision Detection(载波监听多点接入/碰撞检测)

应用场景: 早期的总线型以太网、使用集线器(Hub)连接的半双工(Half-Duplex)网络。

核心目的: 协调多个节点对共享传输介质的访问权,解决信道争用,防止数据碰撞。

三部曲(发送前CS→发送中CD→冲突后)
1.载波侦听(Carrier Sense)

说话前先闭嘴偷听。电脑想发数据前,得先听听网线上有没有别人在说话。如果有人在说,它就等着;如果没人说话(空闲),它才准备开口。

状态: 节点处于准备发送状态。

动作: “先听后发”。持续检测信道。若信道忙则等待,若信道空闲,则在规定时间内将数据帧发出。

多路访问(Multiple Access)

大家共用一条道。一条网线上连着好多台电脑,大家都平等地共享这个通道,谁空闲了谁就能用。

2.冲突检测(Collision Detection)

边说边听。因为信号传输有延迟,有时候两台电脑同时“偷听”都以为没人说话,结果同时开口,数据就在网线上撞车(冲突)了。这时候,电脑能立马发现“糟糕,撞车了!”

状态: 数据正在网线中传输。

动作: “边发边听”。节点在发送数据的同时,必须边发边监听信道电压。

  • 情况 A: 顺利发完(没有发生冲突),该帧传输成功,生命周期直接结束。
  • 情况 B: 检测到冲突,立马进入第三阶段。
3.冲突后阶段:强化冲突与随机退避
  • 状态: 发生撞车,紧急避险。
  • 动作: “冲突停发,随机重发”。
    • 立刻收手: 节点发现撞车后立即停止发送正常数据。
    • 强化干扰: 广播 Jam 信号(干扰信号)通知全网。
    • 算命等待: 启动二进制指数退避算法,算出随机等待时间,倒计时结束后重新回到“阶段一”。

设备名称工作图层转发依据能否隔离冲突域?能否隔离广播域?场景比喻
集线器 (Hub)物理层无(只认电信号)不能(所有接口共用1个)不能(所有接口共用1个)对讲机大喇叭,一人说话全员闭嘴
网桥 / 交换机数据链路层MAC 地址能(每个端口是一个独立的冲突域)不能(默认所有接口都在1个广播域)专属车道,大家可以同时开车,但高架上大喇叭喊话全城都能听见
路由器 (Router)网络层IP 地址能能(每个接口都是独立的广播域)邮局,彻底把不同的区域/国家隔开

1. 过滤与转发(Filtering and Forwarding)

  • 当一个帧进入交换机,它会检查目的 MAC 地址,决定是转发(传到对应端口)、泛洪(找不到地址时广播)还是过滤(源和目的在同一个端口,直接丢弃)。

2. 即插即用与自学习(Self-Learning)

  • 交换机刚开机时,里面的 MAC 地址表是空的。
  • 自学习机制: 它通过检查每个进入端口的数据帧的“源 MAC 地址”,把它和对应的端口号记录到表里。
  • 八字口诀: “看源地址添加,看目的地址转发”。

3. 隔离冲突域,但不隔离广播域

  • 冲突域(Conflict Domain): 交换机的每个端口都是一个独立的冲突域。只要你插在独立的端口上,哪怕工作在半双工,你和别人同时发数据也不会撞车。
  • 广播域(Broadcast Domain): 交换机默认不隔离广播域。如果局域网里有人发了一个目的地址是 FF-FF-FF-FF-FF-FF 的广播帧(比如 ARP 请求),交换机会老老实实地把它转发给除输入端口外的所有接口。

4. 支持三种转发模式(考研/大题常客)

  • 直通交换(Cut-Through): 交换机只读完帧前部的 6 字节目的 MAC 地址 就立马开始转发。
    • 优点: 延迟极低。
    • 缺点: 不做差错检测,哪怕是冲突的残帧或坏帧也会被转发。
  • 存储转发(Store-and-Forward): 交换机必须把整个数据帧完整接收下来,先做 CRC 差错检测,确认为对的帧之后再转发。
    • 优点: 可靠,不转发脏数据。
    • 缺点: 延迟比直通高。(现代交换机默认主要采用这种)
  • 碎片隔离(Fragment-Free): 折中方案。读完前 64 字节(因为以太网最小帧长是 64B,冲突一定发生在前 64 字节内)确认没有冲突后就转发。

VLAN(虚拟局域网)

1. 核心定位

• 一句话总结: 用软件(交换机配置)将一个物理局域网,在逻辑上划分成多个独立的广播域。 • 核心目的: 隔离广播域,抑制广播风暴,提高安全性,简化网络管理。 • 通信限制: 同一 VLAN 内可以直接通信;不同 VLAN 之间默认无法直接通信,必须通过三层设备(路由器或三层交换机)进行路由转发。

2. 802.1Q 帧与 VID(填空题常客)

• 机制: 交换机在普通以太网帧中插入一个 4 字节的 VLAN 标签(Tag)。 • 关键字段: VID(VLAN ID),占 12 位。 • 考点眼: 因为 VID 是 12 位,所以一个网络最多只能划分 2^12 = 4096个 VLAN(可用范围为1 ~4094)。

3. 交换机端口类型(大题、分析题必考)

端口类型连接对象特点与数据处理逻辑
Access 端口只能连接普通电脑 / 终端1. 只能属于一个固定的 VLAN。 2. 进站染色: 收到电脑的无 Tag 帧,强行打上该端口的 VLAN Tag。 3. 出站脱色: 转发给电脑前,强行剥离 Tag,还原为普通帧。
Trunk 端口用于交换机之间 / 交换机与路由器1. 允许多个不同 VLAN 的帧通过(干线传输)。 2. 带色通行: 数据在通过 Trunk 链路时,必须保持 802.1Q 的 Tag 标签,以便对端交换机识别。

什么是虚拟局域网(VLAN)?其主要作用是什么?

虚拟局域网(VLAN)是通过逻辑划分的广播域,与物理位置无关。其主要作用是缩小广播范围、提高网络安全性,并灵活管理不同部门的通信。

简述以太网交换机与集线器的主要区别

以太网交换机是数据链路层设备,通过MAC地址表转发帧,支持全双工通信,允许多对端口同时通信;而集线器是物理层设备,仅简单广播比特流,所有端口共享带宽,且工作在单工或半双工模式。

PPP协议为什么不需要使用帧编号?

PPP协议设计简单,仅提供不可靠的数据传输服务,差错纠正由上层协议(如TCP)完成,因此不需要帧编号和确认机制。

根据 CSMA/CD 协议的限制,为了保证发送站点在自身数据发送完毕之前能够检测到可能发生的冲突,最短帧长的发射时间(传输时延)必须大于等于信号在网络两端跑一个来回的时间(争用期 2τ2\tau)。

核心基本公式为:

最短帧长=数据率×争用期(2τ)\text{最短帧长} = \text{数据率} \times \text{争用期}(2\tau)

其中,τ\tau 为单向传播时延,

计算公式为:τ=两站间最远距离信号传播速率\tau = \frac{\text{两站间最远距离}}{\text{信号传播速率}}

网络层

使两端系统能够互联且决定最佳路径,并有一定的拥塞控制和流量控制的能力。又称IP层。

IP数据报格式

第一板块:基础控制(第一行)
  1. 版本(Version)—— 4位 • 重点: 标识 IP 协议的版本。目前主流是 0100(代表 IPv4),如果是 0110 则代表 IPv6。
  2. 首部长度(Header Length)—— 4位 • 考点陷阱: 4位二进制最大只能表示 15(即 1111)。为了表示 20~60 字节的首部长度,它的单位是“4字节(32位字)”! • 必背计算: 如果首部长度的值是 5,实际长度就是54=20 字节(固定首部);如果值是 15,实际长度就是154=60字节(最大首部)。
  3. 服务类型(TOS / DS)—— 8位 • 重点: 现代叫区分服务,用来实现 QoS(服务质量),比如让视频流量优先通过。考试一般不考计算。
  4. 总长度(Total Length)—— 16位 • 重点: 指首部 + 数据部分的总字节数。 • 考点眼: 16位最大能表示2^16-1 = 65535 字节。但是因为底层数据链路层有 MTU(比如以太网是 1500 字节)的限制,所以超过 MTU 时,IP 数据报必须进行分片。
第二板块:分片三兄弟(第二行,大题核心!)

当 IP 数据报的总长度大于底层链路的 MTU 时,就要被拆开。这三个字段就是用来指导接收方怎么把碎片“拼回去”的。

  1. 标识(Identification)—— 16位 • 重点: 计数器。属于同一个原始数据报的所有分片,都会获得相同的标识号。接收方看到标识号一样,就知道它们是亲兄弟。
  2. 标志(Flags)—— 3位(实际只有2位有用) • MF (More Fragments): 最低位。MF=1 表示后面还有分片;MF=0 表示这已经是最后一个分片了。 • DF (Don't Fragment): 中间位。DF=1 表示不允许分片;DF=0 表示允许分片。如果 DF=1 却又超过了 MTU,路由器会直接丢弃并报错。
  3. 片偏移(Fragment Offset)—— 13位 • 考点陷阱: 指出较长的分组在分片后,某片在原分组中的相对位置。它的单位是“8字节”! • 必背计算: 每个分片的长度(除最后一片外)必须是 8 字节的整数倍。如果片偏移计算出来是 100,说明它在原数据报里的实际起始位置是第 100* 8 = 800字节处。
第三板块:传输控制(第三行)
  1. 生存时间(TTL,Time to Live)—— 8位 • 重点: 数据报在网络中能经过的最大路由器跳数。 • 防死循环机制: 数据报每经过一个路由器,TTL 就会减 1。当 TTL 减到 0 时,路由器就会毫不留情地丢弃它,并向源头报错。这就防止了数据报在网络中因路由环路而无限死循环,挤爆带宽。
  2. 协议(Protocol)—— 8位 • 重点: 指出这个 IP 数据报的数据部分携带的是什么上层协议的数据,方便接收方交给对应的部门。 • 常考对应值: 6 代表 TCP,17 代表 UDP,1 代表 ICMP。
  3. 首部检验和(Header Checksum)—— 16位 • 重点: 只校验数据报的首部,不校验数据部分。每经过一个路由器,因为 TTL 变了,所以检验和都要重新计算一遍。
第四板块:寻址核心(第四、五行)

1.. 源 IP 地址 —— 32位(4字节) • 发送方的 IP 地址。 2. 目的 IP 地址 —— 32位(4字节) • 接收方的 IP 地址。

分类的IP地址

  • 本网络地址: 主机号全为 0 的 IP 地址。
    • 例子: 192.168.1.0。它代表这整个网络本身,不能分配给具体任何一台电脑或路由器的接口。
  • 广播地址(直接广播): 主机号全为 1 的 IP 地址。
    • 例子: 192.168.1.255。只要往这个地址发传单,这个局域网里的所有主机都能收到。

子网掩码与子网划分

一、 核心概念:什么是子网划分?

原本的 IP 地址只有两级:IP地址 = 网络号 + 主机号。 划分子网后,IP 地址变成了三级:IP地址 = 网络号 + 子网号 + 主机号。

  • 做法: 从原本属于主机号的高位部分,强行借用(Borrow) 几位来充当“子网号”。
  • 代价: 借用的位数越多,能划分的子网就越多;但每个子网里剩下能用的主机号位数就越少,每个子网容纳的主机数就会变少。
二、 终极工具:子网掩码(Subnet Mask)

因为从外表看,三级 IP 地址和二级 IP 地址长得一模一样,路由器根本分不清哪些位是网络号、哪些是子网号。所以必须引入子网掩码。

  • 构造规则(必背):
    • 对应于网络号和子网号的位,全设为 1;
    • 对应于主机号的位,全设为 0。
  • 核心计算(与运算): 路由器将 IP 地址与子网掩码进行 按位与(AND)运算,就能瞬间压榨出该 IP 地址所属的 子网网络地址。

💡 两类子网掩码:

  1. 默认子网掩码: 未划分子网时的自带掩码。A类为 255.0.0.0,B类为 255.255.0.0,C类为 255.255.255.0。
  2. 自定义子网掩码: 划分子网后,因为向主机号借了 1,原本全为 0 的地方变成了 1,比如 255.255.255.192。
三、 核心大题公式秘籍(拿分关键)

考试最喜欢让你算:能划分多少个子网?每个子网能接多少台主机?子网的掩码是多少?

*记住下面这套黄金公式: 假设某个网络向主机号借了 nn 位来作为子网号,原本的主机号还剩下 hh 位。

  1. 划分的子网个数*

最大子网个数=2n\text{最大子网个数} = 2^n

(注:现代标准和 408 考试中,子网号全 0 和全 1 的子网都可以正常使用,所以直接是 2n2^n。除非题目极其老旧或特别说明,才需要减 2。)

2. 每个子网可分配的最大主机数(必减 2 陷阱!)

每个子网最大可用主机数=2h−2\text{每个子网最大可用主机数} = 2^h - 2

  • 为什么要减 2?
    1. 必须扣除主机号全 0 的本子网网络地址;
    2. 必须扣除主机号全 1 的本子网广播地址。
  • 10000000 = 128
  • 11000000 = 192
  • 11100000 = 224
  • 11110000 = 240
  • 11111000 = 248
  • 11111100 = 252
  • 11111110 = 254

CIDR 与路由聚合

一、 CIDR(无分类间路由选择)

因为传统的 A、B、C 类划分太浪费地址,现在全世界早就全面普及了 CIDR。

  • 核心特点: 彻底消除了传统的 A、B、C 类地址以及划分子网的概念。
  • 变二级为新二级: IP 地址重新变成两级:IP地址 = 网络前缀 + 主机号。
  • 斜杠表示法(CIDR 记法): 例如 128.14.35.7/20。
    • 意思是这个 IP 地址的前 20 位是网络前缀,剩下的 32−20=1232 - 20 = 12 位是主机号。
怎么快速写出 CIDR 的掩码和网络地址?

拿 128.14.35.7/20 举例:

  1. 看前缀盯字节: 前 20 位里,前两个字节占了 16 位(全为 1),还剩 4 个 1 落在第三个字节。
  2. 拆分第三字节: 第三字节的二进制掩码是 11110000(十进制为 240)。所以它的子网掩码就是 255.255.240.0。
  3. 求网络地址: 把第三字节的 35 变成二进制:00100011。和掩码 11110000 进行按位与,得到 00100000(十进制为 32)。
  4. 结论: 该地址的网络地址是 128.14.32.0/20。

路由聚合(构造超网 / Supernetting)

这是 408 和期末大题最喜欢考的逆向操作。子网划分是把一个大网“切成”好几个小网;而路由聚合则是把好几个连续的小网“合并成”一个大网,用来减少路由表里的表项。

如果题目给你一堆网络地址(比如 206.0.68.0/24、206.0.69.0/24、206.0.70.0/24、206.0.71.0/24),求聚合后的地址: • 第一步:对齐相同字节。 发现前两个字节 206.0 和第四个字节 .0 大家全一样,不用管。 • 第二步:把不一样的那个字节转成二进制。 ◦ 68 = 01000100 ◦ 69 = 01000101 ◦ 70 = 01000110 ◦ 71 = 01000111 • 第三步:找最长公共前缀(找相同位)。 ◦ 仔细观察,这四个数的二进制前 6 位完全一模一样,都是 010001。 ◦ 后面不一样的位全部刷成 0,得到 01000100(也就是 68)。 ◦ 重新计算前缀长度:原本前两个字节是 16 位,加上这次相同的 6 位,一共是 16+6=2216 + 6 = 22 位。 • 最终聚合结果: 206.0.68.0/22

三、 最长前缀匹配原则(交换机/路由器转发核心)

当路由器收到一个 IP 数据报,在路由表里查到了好几个都能匹配上的路由条目时,它会怎么选?

背诵金句: 前缀越长,网络越小,路由越具体,听谁的!

路由器会优先选择网络前缀最长(掩码里面 1 最多)的那条路由,因为那条路由描述得最精准。

网际控制报文协议ICMP(Internet Control Message Protocol)

一、 核心定位与装包机制

为什么需要它: IP 协议是一个“只管尽力交付”的没头脑协议,数据报在半路丢了、超时了或者找不到路了,IP 协议自己是不会报错的。为了提高 IP 数据报交付的成功率、反馈网络中的各种差错和状态,工程师们设计了 ICMP。

装包特例(高频选择题考点): ICMP 报文虽然是网络层协议,但它不能独立发送,必须作为数据部分封装在 IP 数据报中。

二、 ICMP 报文的两大分类(核心骨架)

ICMP 报文主要分为两大类:ICMP 差错报告报文 和 ICMP 询问报文。

1. ICMP 差错报告报文(网络出事了,路由器向源主机告状)

当路由器或主机处理 IP 数据报遇到灾难时,会发送以下 5 种差错报文:

终点不可达: 路由器找不到路,或者主机把对应的端口关了,无法交付。

源点抑制: 路由器或主机太拥堵,快撑爆了,发这个报文让源主机“发慢点”(现在很少用)。

时间超过(TTL超时): (大题重灾区!) 路由器收到 IP 数据报时发现 TTL 减到 0 了,只能丢弃该报文,并向源主机发送“时间超过”报文。

参数问题: 路由器发现 IP 首部里的字段出错了,直接丢弃并报错。

改变路由(重定向): 路由器跟源主机说:“兄弟,你下次别走我这条路了,隔壁那条路去目的地更近!”

我有五不发:

对 ICMP 差错报告报文,不能再发 ICMP 差错报告报文(防止无限死循环)。

对第一个分片以后的后续分片,都不发(只对第一个分片报错)。

对具有组播/广播地址的数据报,不发。

对特殊地址(如 0.0.0.0 或 127.0.0.1),不发。

  1. ICMP 询问报文(主动提问)

回送请求和回答(Echo Request/Reply): 用来测试目标站是否可达以及了解其状态。

时间戳请求和回答: 用于时钟同步和测量时间。

PING (Packet InterNet Groper)

用来测试两个主机之间的连通性。 使用了 ICMP 回送请求与回送回答报文。 是应用层直接使用网络层 ICMP 的例子,没有通过运输层的 TCP 或 UDP。

Traceroute

这是UNIX操作系统中名字。在 Windows 操作系统中这个命令是 tracert。 用来跟踪一个分组从源点到终点的路径。 它利用 IP 数据报中的 TTL 字段、ICMP 时间超过差错报告报文(路由器返回的)和ICMP 终点不可达差错报告报文(到达目的主机后,Traceroute把这个包的UDP端口号写一个根本不存在的数字,目的主机说我没有阿,回传了一个重点不可达差错报文用于确定终点)实现对从源点到终点的路径的跟踪。用来追踪一个 IP 数据报从你的电脑出发,到达目的地,一路上经过了哪些路由器。

ARP(地址解析协议)

一、 核心定位:为什么需要 ARP?
  • 已知对方 IP 地址,去打听对方 MAC 地址(物理地址)。
  • 为什么要物理地址? 在现实网络中,虽然我们用 IP 地址寻路,但当数据包落到具体的局域网(比如以太网)里传递时,网卡只认 MAC 地址。如果没有目标 MAC 地址,数据链路层就无法把 IP 包打包成“帧”发出去。
  • 层级归属(高频选择题陷阱): 网络层协议。虽然它服务于链路层,但在 TCP/IP 体系中,它属于网络层。
二、 核心机制:ARP 高速缓存(ARP Cache)

为了不用每次发包都大张旗鼓地去问,每台主机和路由器里都有一个 ARP 缓存表,里面记录着 IP 地址 <--> MAC 地址 的映射关系。

  • 动态老化: 这个表项是有 TTL(生存时间)的,定期会自动删除(比如几分钟),防止设备换了网卡或者改了 IP 导致信息过期。

三、 ARP 工作流程:保姆级拆解(大题必考!)

假设在同一个局域网内,主机 A(192.168.1.1)想要给主机 B(192.168.1.2)发数据,但 A 的 ARP 缓存表里没有 B 的 MAC 地址:

阶段一:大喇叭广播(ARP 请求)
  • 主机 A 在局域网里大喊一声:“谁的 IP 是 192.168.1.2 啊?请把你的 MAC 地址告诉我!”
  • 硬核封装:
    • ARP 请求报文 里面写着自己的 IP/MAC,以及对方的 IP,对方 MAC 留空。
    • 链路层封装时,目的 MAC 地址全为 F(FF-FF-FF-FF-FF-FF)。这意味着这是一个广播帧,局域网内的所有主机(包括路由器)都会收到并拆开看。
阶段二:小两口点对点(ARP 响应)
  • 局域网里的其他人(比如主机 C、D)拆包一看:“哦,找 1.2 啊,不关我事”,默默丢弃。
  • 主机 B 一看:“嘿,找我的!” B 会先把 A 的 IP-MAC 对记到自己的 ARP 表里(白嫖一波信息),然后单独给 A 回一封信:“我就是 1.2,我的 MAC 地址是 BB-BB...。”
  • 硬核封装: ARP 响应报文。链路层封装时,目的 MAC 直接写 A 的地址。这是一个单播帧,只有 A 能收到。

四、 终极期末/408 连环陷阱(不看必丢分!)

考试大题最喜欢考跨网段(跨路由器)传输时,ARP 是怎么工作的。

【考题情景】 主机 A 想给另一个外网/远程网络的主机 Z 发包。A 知道 Z 的 IP 地址,那 A 会发 ARP 请求去要 Z 的 MAC 地址吗?

  • ❌ 错误答案: 会,广播找 Z。
  • 🎯 正确核心逻辑(必背): 绝对不会!ARP 协议是一个“不见外”的协议,它只能在“同一个局域网”内广播,绝对进不去路由器的物理接口!
正确的跨网段解题步骤:
  1. 主机 A 发现 Z 的 IP 和自己不在同一个网段,它立刻意识到:“我得找我的班主任(默认网关 / 路由器)帮我转发”。
  2. A 检查自己的 ARP 表,看有没有路由器接口的 MAC 地址。
  3. 如果没有,A 会发送 ARP 请求,广播寻找路由器网关的 MAC 地址(而不是 Z 的)。
  4. 拿到路由器的 MAC 地址后,A 把 IP 数据报(源 IP=A,目的 IP=Z)打包成帧(源 MAC=A,目的 MAC=路由器),甩给路由器。
  5. 路由器拆包后,再在另外一个网络里通过 ARP 去摸下一跳或者主机 Z 的 MAC 地址。

终极高频金句: 在数据包一路上跨越无数路由器的转发过程中:

  • 源 IP 地址和目的 IP 地址始终保持不变(除非用了 NAT);
  • 源 MAC 地址和目的 MAC 地址每经过一个路由器,都要被无情地刷新变幻一次

互联网组管理协议IGMP(Internet Group Management Protocol)

一、 核心定位:它是干嘛的?
  • 它是让局域网内的“路由器”知道本地有哪些“主机”加入了哪个组播群的协议。
  • 层级归属: 网络层协议。和 ICMP 一样,IGMP 报文也是封装在 IP 数据报中发送的。
  • 服务的对象: 专门服务于 IP 组播。组播地址使用的是我们之前背过的 D 类 IP 地址(224.0.0.0 ~ 239.255.255.255)。

IGMP 协议只局限在本地局域网内工作!它只负责主机和本地第一跳路由器之间的通信。

  • 如果组播数据要跨越互联网、跨越不同的路由器传输,靠的是组播路由选择协议(如 DVMRP、PIM 等),绝对不是靠 IGMP!
二、 IGMP 的两大工作阶段

本地路由器是个“群主”,局域网内的电脑是“群员”,某个 D 类地址(比如 224.1.1.1)是一个游戏直播群。

阶段一:主动加群(Join)
  1. 当你的电脑(主机 A)想看这个游戏直播时,它会主动向本地局域网发送一个 IGMP 报文,大喊:“我要加入 224.1.1.1 群!”
  2. 本地组播路由器收到后,在自己的小本本上记下一笔:“当前局域网内有人想看 224.1.1.1 的直播,以后外网有这个群的数据包,我得留着并转发到这个局域网内。”
阶段二:群主例行点名(Query / Report)
  1. 组播路由器每隔一段时间,就会向局域网内发送一个组播周期性查询报文:“群里的老铁们,还有人在看 224.1.1.1 吗?”
  2. 如果主机 A 还在看,它就会回一个报告报文(Report):“在呢在呢,别退群!”
  3. 聪明的“成员报告机制”: 如果局域网内有 10 台电脑都在看这个直播,只要其中一台率先举手回应了“在呢”,其他 9 台电脑就会默默把自己的报告憋回去。因为对于路由器来说,它只关心这个局域网里“有没有人看”,而不在乎“有多少人看”。只要有一个人在看,它就必须继续转发该组播流。

三、 跨层联动陷阱:IGMP 遇上交换机(IGMP Snooping)

考试特别喜欢在综合题里把路由器、交换机和 IGMP 混在一起考。

  • 正常情况的漏洞: 组播数据包到了局域网后,因为在数据链路层映射成的是组播 MAC 地址,普通的二层交换机看不懂网络层的 IP 组播,只能无奈地把这个组播包当作广播,强行分发给局域网里的所有人。这会让没加群的人无故被垃圾流量卡死。
  • 硬核解决方案: IGMP Snooping(IGMP 窥探)。
    • “Snoop”是偷窥的意思。让原本只管二层链路的交换机,偷偷拆开经过它的网络层 IGMP 报文。
    • 交换机通过偷看主机向路由器发的“我要加群”报告,就能在自己内部拉一个表:“哦,原来只有 1 号端口的主机加了群,2、3、4 号没有。”
    • 这样,当真正的组播视频流冲进来时,交换机就能精准地只投喂给 1 号端口,实现了二层的精准拦截。

路由选择协议体系

一、 宏观架构:分层路由选择(AS 的概念)

全世界的路由器有几十亿台,如果让所有路由器都去计算怎么去往任意一台设备,路由表会直接撑爆,算法也会陷入死循环。所以,现代网络采用了分层次的路由选择:

  • 自治系统(AS, Autonomous System): 在单一的技术管理下的一组路由器。比如一个大学、一个省的电信网、腾讯的内网。AS 内部的事情自己说了算。
  • 两大路由选择协议阵营:
    1. 域内路由选择(IGP): 在一个 AS 内部运行的协议。核心是 RIP 和 OSPF。
    2. 域间路由选择(EGP): 在不同的 AS 之间进行路由选择的协议。核心是 BGP。
二、 域内路由 1:RIP 协议(路由信息协议)
  • 大白话: “听信谣言”的分布式协议。它是应用层协议,基于 UDP(端口 520)。
  • 核心算法: 距离向量**(Distance Vector)算法**。
运行机制(怎么交换路由信息?)

每个路由器只和自己相邻的路由器交换信息。交换的是自己的整个路由表。每隔 30 秒雷打不动交换一次。

408 核心考点眼
  1. 距离(跳数 Hop): RIP 把经过的路由器数量称为“跳数”。直接相连跳数为 1,每过一个路由器跳数加 1。
  2. 最大跳数(致命弱点): RIP 认为 16 跳表示不可达!因此它只能用在小型网络中。
  3. 收敛慢的通病(好消息传得快,坏消息传得慢): 当某个网络断开时,相邻路由器会因为互相传旧的路由表而陷入死循环(路由环路),直到跳数慢慢累加到 16 才会发现断网了。这就是大名鼎鼎的“坏消息传得慢 / 距离向量收敛慢”缺陷。

三、 域内路由 2:OSPF 协议(开放最短路径优先)

  • 大白话: “掌握天下全局”的硬核协议。它是网络层协议,直接封装在 IP 数据报中发送。
  • 核心算法: Dijkstra(迪杰斯特拉)最短路径算法。
运行机制(怎么交换路由信息?)

每个路由器用洪泛法(Flooding)向整个自治系统内的所有路由器发送信息。发送的不是路由表,而是自己和周围相邻路由器的链路状态(我跟谁连着,带宽是多少)。

408 核心考点眼

  1. 链路状态数据库(LSDB): 因为全网洪泛,最终 AS 内的所有路由器都能拿到一份一模一样的全网拓扑图!
  2. 各自闭门计算: 拿到拓扑图后,每台路由器都在本地运行一次 Dijkstra 算法,算出自己去往各个网络的最短路径,然后生成路由表。
  3. 收敛极快: 只要网络没有变化,大家就闭嘴不发。只有当链路状态发生改变时(比如某条线断了),才会瞬间洪泛通知全网,大家立刻重新计算。非常适合大型网络。
四、 域间路由:BGP 协议(边界网关协议)
  • “政治谈判”协议。它是应用层协议,基于 TCP(端口 179),追求的是可靠和策略。
  • 核心算法: 路径向量(Path Vector)算法。

运行机制

不同 AS 的发言人(BGP 边界路由器)坐下来建立 TCP 连接,互相交换可以到达的网络以及要经过的 AS 路径列表。

408 核心考点眼

  1. 为什么不用最短路径? 因为互联网太大了,根本算不出绝对的最短路径。而且跨国、跨大厂的网络传递往往受到政治、经济和安全策略的限制(比如腾讯的包不能随便走对头公司的骨干网)。所以 BGP 寻找的是一条较好的、没有环路的策略路径。
  2. 防止死循环: BGP 报文里带着一串 AS路径列表(比如经过了 AS1 -> AS2 -> AS3)。路由器收到一瞧,如果发现自己的 AS 编号已经在列表里了,说明绕回来了,直接丢弃,完美解决环路问题。
协议名称路由算法归属阵营传输层/网络层承载交换给谁?交换什么?适用网络
RIP距离向量IGP (域内)UDP (应用层)仅相邻路由器自己的整个路由表小型网络
OSPF链路状态IGP (域内)IP (网络层直接承载)全网所有路由器相邻链路的状态大型网络
BGP路径向量EGP (域间)TCP (应用层)相邻的 BGP 发言人首次全量,后仅根本路径跨 AS 互联网
核心特性IPv4IPv6408 / 期末核心考点眼
地址空间(位数)32 位(4 字节)128 位(16 字节)扩大了2^96 倍,彻底解决地址枯竭问题。
地址表示法点分十进制 (如 192.168.1.1)冒号十六进制 (如 2001:0db8::1)考查双冒号压缩法,注意 :: 只能出现一次。
首部长度不固定(20 ~ 60 字节)固定长度:40 字节IPv6 取消了“首部长度”字段,路由器硬件处理极快。
首部校验和有(Checksum)彻底取消IPv6 移除了该字段,加快了路由器的转发速度。
中途分片功能支持 (路由器发现超限会帮忙分片)彻底取消IPv6 路由器遇到超限包直接丢弃并报 ICMPv6 错误,分片由源主机在发出前完成。
配置方式手动配置 或 DHCP支持 无状态自动配置 (SLAAC)IPv6 实现了真正的“即插即用”,不依赖 DHCP 服务器也能联网。
安全性支持后来通过 IPSec 补丁扩展原生内置支持 IPSecIPv6 在设计之初就将安全加密和认证纳为了标准规范。
子网掩码有无/

一、 MPLS(多协议标签交换)

  • 全称: Multi-Protocol Label Switching
  • 为什么需要它(诞生背景): 传统的 IP 转发需要路由器去查几百万行的 CIDR 路由表,还要做最长前缀匹配,在早期硬件性能不够时速度极慢。为了让转发像交换机一样快,工程师设计了 MPLS。
  • 核心思想: “打标签”。不再看复杂的 IP 地址,只看固定长度的“标签”。
  • 层级归属: 介于数据链路层(第二层)和网络层(第三层)之间,常被称为 2.5 层协议。
  • MPLS支持面向连接的服务质量

MPLS 核心运作机制

在进入 MPLS 网络时,入口标签边缘路由器(LSR)会给普通的 IP 数据报戴上一顶“帽子”——MPLS 标签(4 字节)。

  • 打标签(Push): 入口路由器收到 IP 包,查表打上标签。
  • 换标签(Swap): 核心路由器收到带标签的包,不再看 IP 头部,直接根据标签查一个非常简单的“标签转发表”,换上新标签,甩给下一个端口。硬件芯片处理固定长度的标签速度极快。
  • 撕标签(Pop): 出口路由器把标签撕掉,还原成普通的 IP 数据报,送给传统 IPv4/IPv6 网络。

现代化考点演变: 现在的路由器芯片性能早就上去了,IP 转发不再是瓶颈。所以如今 MPLS 最大的用处不是“提速”,而是用来做 流量工程(Traffic Engineering) 和 VPN(虚拟专用网),用来规划特定的硬核传输路径。

二、 SDN(软件定义网络)

  • 全称: Software Defined Network
  • 核心思想: “控制与转发分离”。这是对传统网络架构的一次彻底颠覆(革命)。

传统路由器 vs SDN 路由器的本质区别

  • 传统路由器(两权合一): 每台路由器既要用 RIP/OSPF 算法拼命计算路径(控制权),又要用硬件 ASIC 芯片快速转发数据(转发权)。就像一个社会里,每个人既是交警指挥交通,又是司机开车,缺乏全局最优规划。
  • SDN 架构(中央集权): 把所有路由器的“大脑”(计算路径、生成转发表的能力)全部剥离抽走,集中到一个地方,叫做 SDN 控制器(软件定义)。下面的路由器彻底变成没有灵魂的“纯转发工具人”(流表驱动)。

SDN 的三层三接口架构

  1. 应用层: 各种网络应用(如流量均衡、安全防火墙、路由规划软件)。
    • ↔ 北向接口(Northbound API): 控制器向上提供给应用层的编程接口(通常是 RESTful API)。
  2. 控制层(核心): SDN 控制器。掌握全网的全局拓扑图,计算出所有路径,并下发控制指令。
    • ↔ 南向接口(Southbound API): 控制器向下控制工具人路由器的协议。最著名的标准协议叫做 OpenFlow。
  3. 数据层/转发层: 各种支持 OpenFlow 的 SDN 交换机/路由器。它们不运行 OSPF,只管老老实实执行控制器发来的 流表(Flow Table)。
对比要点虚电路服务 (Virtual Circuit)数据报服务 (Datagram)
连接性必须面向连接无连接
目的地址仅在建立连接时需要,分组只带虚电路号每个分组都必须携带完整的目的 IP 地址
路由选择建立连接时确定路径,后续分组全走同一条路每个分组独立选择路由,可能走不同的路
分组顺序总是按发送顺序到达终点抵达终点时可能乱序
端到端可靠性由网络层保证网络层不保证,由传输层(主机)保证
路由器故障某个路由器崩了,整条虚电路直接瘫痪某个路由器崩了,后续分组自动绕道走新路
现代应用代表ATM 网络、MPLS(刚才聊的标签交换)现代因特网(IPv4 / IPv6)

简述RIP协议和OSPF协议的主要区别。

RIP是基于距离向量的路由选择协议,适用于小型互联网,按固定的时间间隔与相邻路由器交换信息,信息是自己当前的路由表。

OSPF是基于链路状态的路由选择协议,适用于大型互联网,只在链路状态发生变化时,才向本自治系统中的所有路由器发送链路状态信息,信息是与本路由器相邻的所有路由器的链路状态(见文档4.6.2节和4.6.3节)。

简述CIDR(无分类域间路由选择)的主要优点。

CIDR可以更加有效地分配IP地址空间,推迟IP地址用尽的日子。

CIDR通过路由聚合减少转发表中的项目数量,压缩转发表的大小,加速分组在路由器中的转发

简述SDN(软件定义网络)的主要特点

SDN是一种新的体系结构,其要点是基于流的转发。

数据层面与控制层面分离,控制层面用软件实现,并且是逻辑上的集中式控制。

SDN使整个网络成为可编程的,能够灵活地管理网络资源

运输层

TCP/UDP

对比维度UDP(用户数据报协议)TCP(传输控制协议)核心考点眼 / 大白话解释
连接性无连接(想发就发)面向连接(发前先握手)UDP 像发短信;TCP 像打电话。
可靠性不可靠(不包到、不查错)绝对可靠(无差错、不丢失、不乱序)TCP 靠确认和重传机制兜底。
通信范围支持 一对一、一对多、多对多只能 一对一(点对点)高频陷阱: 凡是广播/组播业务,绝对不能用 TCP!
传输层载荷面向报文(不合并、不拆分)面向字节流UDP 保留应用层分界;TCP 把数据看成连绵不断的无结构字节流。
首部开销极小:固定 8 字节较大:20 ~ 60 字节UDP 额外负担极低,实时性极高。
拥塞/流量控制无(网络卡死我也照样发)有(根据网络动态调速)视频通话卡顿时宁可丢帧也不愿延迟,选 UDP。
典型业务DNS、视频直播、语音通话、游戏同步HTTP/HTTPS、FTP、文件传输、邮件追求快选 UDP,追求准选 TCP。
特性UDP 校验和TCP 校验和
强制性 (IPv4)可选的。若不计算,该字段全填 0。强制的。必须计算并填充。
强制性 (IPv6)强制的。IPv6 取消了网络层校验,运输层必须强制校验。强制的。
伪首部协议号17 (0x11)6 (0x06)

二、 TCP 首部核心解剖

TCP 能够实现无敌的可靠性,全靠首部里这几个核心字段:

  1. 序号(Seq, Sequence Number):

占 4 字节。TCP 是面向字节流的,每一个字节都有一个序号。本报文段的 Seq 指的是本段数据第一个字节的序号。

  1. 确认号(Ack, Acknowledgment Number):

占 4 字节。期望收到对方下一个报文段第一个数据字节的序号。 ◦ 铁律:如果 Ack = N,说明序号 N-1 及之前的字节全部收到!

  1. 核心标志位(Control Bits): ◦ ACK: 确认位。只有 ACK = 1 时,确认号字段才有效。连接建立后,所有传送的报文 ACK 必须为 1。 ◦ SYN: 同步位。在建立连接时用来同步序号。SYN=1, ACK=0 表示连接请求。 ◦ FIN: 终止位。用来释放连接。FIN=1 表示数据已发完,请求断开。

  2. 窗口(Window):

占 2 字节。告诉对方:“我现在接收缓存还能装多少字节”(即发送方的发送上限),是流量控制的依据。

三、 核心大戏 1:TCP 三次握手(连接建立)

假设客户端(A)主动找服务器(B)建连接: • 第一次握手(A →B): A 发送连接请求报文。 ◦ 标志位:SYN = 1, ACK = 0 ◦ 序号:Seq = x(随机产生一个初始序号) ◦ 状态:A 进入 SYN-SENT(同步已发送) • 第二次握手(B →A): B 收到请求,同意建立连接,向 A 发送确认。 ◦ 标志位:SYN = 1, ACK = 1 ◦ 确认号:Ack = x + 1(告诉 A:序号 x 我收到了,下次请从 x+1 发起) ◦ 序号:Seq = y(B 也给自己定一个初始序号) ◦ 状态:B 进入 SYN-RCVD(同步收到) • 第三次握手(A → B): A 收到 B 的确认后,给 B 回送终极确认。 ◦ 标志位:SYN = 0, ACK = 1 ◦ 确认号:Ack = y + 1 ◦ 序号:Seq = x + 1 ◦ 状态:A、B 同时进入 ESTABLISHED(已建立连接)

为什么必须是“三次”?两次行不行? • 绝对不行!核心原因:防止“已失效的连接请求报文段”突然又传到了服务器,产生死锁与资源浪费。 • 情景: A 发了第一次握手,但包在路上卡住了。A 等不及又发了第二遍,这次成功了,传输完数据断开了。过了一会,卡住的第一个旧包终于漂到了服务器 B。 ◦ 如果是两次握手: B 一收旧包,以为 A 又要连它,直接单方面宣布建立连接,傻傻等待 A 发数据,B 的资源白白被一直占用。 ◦ 如果是三次握手: B 收到旧包发出第二次握手,A 收到后一发觉:“不对啊,我没连你啊!” 于是 A 拒绝回送第三次握手。B 等不到第三次确认,就知道这只是个误会,放弃连接

四、 核心大戏 2:TCP 四次挥手(连接释放)

TCP 的连接是全双工的(A能发B,B也能发A)。断开连接时,发与收的单向通道要分别单独关闭,所以叫“半关闭”: • 第一次挥手(A→B): A 数据发完了,申请断开发送通道。 ◦ FIN = 1, Seq = u →A 进入 FIN-WAIT-1 • 第二次挥手(B→A): B 收到断开申请,同意 A 不发了,但 B 的缓存里可能还有残留数据没发给 A。 ◦ ACK = 1, Ack = u + 1, Seq = v →B 进入 CLOSE-WAIT,A 进入 FIN-WAIT-2 ◦ (此时 A 到 B 的通道断开,但 B 到 A 的通道继续保持,B 继续发完遗留数据) • 第三次挥手(B→A): B 的数据也全部发完了,正式申请断开 B 到 A 的通道。 ◦ FIN = 1, ACK = 1, Ack = u + 1, Seq = w →B 进入 LAST-ACK • 第四次挥手(A→B): A 收到 B 的终极断开申请,给 B 发确认。 ◦ ACK = 1, Ack = w + 1, Seq = u + 1 →B 收到后当场进入 CLOSED ◦ A 此时还没死!A 必须进入 TIME-WAIT(时间等待)状态,苦苦等待 2MSL(最长报文段寿命,约4分钟)后,才彻底进入 CLOSED!

机制名称针对的对象核心解决什么问题?核心手段
流量控制 (Flow Control)点对点(接收方)发送方发得太快,接收方来不及消化,导致缓存溢出。接收方通过报文首部的 “窗口(rwnd)” 字段动态限制发送方的速度。
拥塞控制 (Congestion Control)全局网络全天下所有人发得太猛,中间的骨干路由器堵死了。发送方自己维护一个 “拥塞窗口(cwnd)”,根据丢包情况自行探路。
五、 拥塞控制四大核心算法

发送方维护两个核心参数:拥塞窗口(cwnd) 和 慢开始门限(ssthresh)。 数据包以“轮次(RTT,往返时间)”为单位发送。

  1. 慢开始(Slow Start): ◦ 逻辑: 初始 cwnd = 1。每经过一个 RTT 收到全部确认,cwnd 直接翻倍(指数增长:1→2→4→8)。 ◦ 刹车点: 当 cwnd 增长到达到 ssthresh 时,立刻停止指数翻倍,切换为“拥塞避免”。
  2. 拥塞避免(Congestion Avoidance): ◦ 逻辑: 窗口按线性增长,每过一个 RTT,cwnd 只按 +1 加法增大。不断缓慢试探网络的极限。
  3. 网络超时崩溃时的处理(老算法): ◦ 一旦发生超时重传(说明网络重度瘫痪):
    1. ssthresh 直接腰斩(更新为当前 cwnd 的一半)。
    2. cwnd 一朝回到解放前,直接一夜重置为 1,重新执行“慢开始”。(极度伤元气)
  4. 快重传(Fast Retransmit)与 快恢复(Fast Recovery)—— 现代化改良! ◦ 快重传: 如果接收方收到一个乱序包,立刻发连续的三个重复 ACK。发送方一收到连续 3 个相同 ACK,立马意识到某个包丢了,在超时计时器到期前,提前重发该包。 ◦ 快恢复(遇上快重传时触发): 既然还能收到连续 ACK,说明网络只是轻微受阻,没必要重置为 1!
    1. ssthresh 腰斩(设为当前 cwnd 的一半)。
    2. cwnd 直接从新的 ssthresh 处开始,执行加法增大的“拥塞避免”!

解释TCP 的滑动窗口机制。

滑动窗口机制是TCP 用来控制发送方和接收方之间数据传输的机制。发送方维护一个发送窗口,位于窗口内的数据可以连续发送,不需要等待确认。接收方采用累积确认的方式,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已正确收到

简述TCP 和UDP 的主要区别。

TCP 是面向连接的,提供可靠传输,支持全双工通信,面向字节流。

UDP 是无连接的,尽最大努力交付,不提供可靠性保证,面向报文。

简述TCP 的拥塞控制策略。

TCP 的拥塞控制策略包括慢开始、拥塞避免、快重传和快恢复。慢开始阶段,拥塞窗口呈指数增长;拥塞避免阶段,拥塞窗口呈线性增长;快重传机制允许发送方在收到三个重复确认后快速重传丢失的报文段;快恢复机制在快重传后不进入慢开始,而是继续按线性增长。

应用层

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

一、 网络应用模型(大家怎么一起玩)

  • C/S (Client/Server - 客户/服务器模式): 你当顾客(Client),找服务员(Server)点菜。比如你拿手机刷 B 站,你是客户端,B 站是服务器。服务器只要一死机,所有人都看不了。
  • P2P (Peer-to-Peer - 对等模式): 人人为我,我为人人。大家既是顾客也是服务员。比如用老版的迅雷下电影,你一边下载别人的数据,同时也在把自己的数据上传给别人,下载的人越多,速度反而越快。

二、 域名系统

  • DNS:互联网的“超级通讯录翻译官”。
    • 作用: 底层的路由器只认识枯燥的 IP 地址,但咱们人类只能记住好拼的网址(比如 www.qq.com)。DNS 就是负责帮你把网址瞬间查表,翻译成对应的 IP 地址。没它你就上不了网。
DNS 查字典全过程(以查 www.qq.com 为例)

当你在浏览器输入 www.qq.com 并按下回车,背后会经历以下严谨的步骤:

第一阶段:本地缓存大搜查(自己找)
  1. 浏览器缓存: 浏览器先翻自己的小本本,看最近有没有访问过 qq.com。
  2. 操作系统缓存(hosts 文件): 如果浏览器没记住,就去问操作系统的 hosts 文件。
  3. 路由器缓存: 如果电脑里都没有,就去问家里的路由器。
第二阶段:全球联网大搜查(找中介跑腿)

如果本地全都没有,那就要正式向外网求助了!

  1. 请求本地域名服务器(Local DNS): 你的电脑DNS客户端向运营商(比如电信、联通,或者 114.114.114.11)的本地域名服务器发送一个递归查询请求:“老大,帮我查查 www.qq.com 的 IP 是啥?”
  2. 本地域名服务器问“根服务器 (Root DNS)”: 本地 DNS 也不知道,于是它开启迭代查询,先去找全球最高级别的根域名服务器。
    • 根服务器回答: “我管不了具体的网址,但我看到后缀是 .com,我把负责 .com 的顶级域名服务器的地址给你,你自己去问它。”
  3. 本地域名服务器问“顶级服务器 (TLD DNS)”: 本地 DNS 拿着地址去找负责 .com 的顶级服务器。
    • 顶级服务器回答: “具体的服务器 IP 我不知道,但我查到 qq.com 这个域名是由腾讯的权威域名服务器管的,地址给你,你自己去问它。”
  4. 本地域名服务器问“权威服务器 (Authoritative DNS)”: 本地 DNS 终于找到了最终大 Boss(权威服务器),也就是腾讯自己维护的 DNS。
    • 权威服务器回答: “这个归我管!www.qq.com 的 IP 地址是 123.151.137.18,拿去吧!”
  5. 把结果交给你: 苦逼跑腿的本地域名服务器终于拿到了最终的 IP 地址。它做两件事:
    • 把这个 IP 缓存在自己这里(下次别人再问就不用跑腿了)。
    • 把 IP 交给你的电脑。你的电脑拿到 IP,就可以跟服务器建立 TCP 连接了!

三、 电子邮件

邮件的发和收,底层其实是两套完全不同的快递公司:

  • SMTP:专门负责“发”邮件。 它负责把你的信件从你的电脑,一路推送到对方的邮件服务器上。(发送方 🚀)
  • POP3:专门负责“收”邮件。 它负责去邮件服务器上,把别人发给你的信件下载回你自己的电脑里。(接收方 📥)
  • MIME 的救场: MIME 并没有废除 SMTP,而是在 SMTP 的上方加了一个“编码包装层”。它负责把中文、图片、视频等非 ASCII 数据,自动转换成普通的 ASCII 文本,让老旧的 SMTP 顺畅传输;到了接收端,MIME 再把这些文本还原成原本的图片或多国语言。
  • IMAP:双向同步的邮件接受协议,基于TCP,端口为143
对比维度POP3 (Post Office Protocol 3)IMAP (Internet Message Access Protocol)
工作哲学“下载并删除/本地管理” (相当于把信件从邮局彻底搬回自己家)“远程联机/双向同步” (信件依然留在邮局,你只是远程翻看)
同步状态单向。 客户端的操作(如分类、删除、标记已读)不会影响服务器。双向。 客户端与服务器完美实时同步。
多设备支持极其糟糕。换台设备看邮箱,之前处理过的邮件全变成未读,甚至找不到。极其完美。手机、平板、电脑任何时候看到的状态完全一致。
流量与存储第一次下载时很耗流量(全部下载),但之后不占服务器空间。极其省流量(可以只下载邮件头),但比较消耗服务器的存储空间。
按需下载不支持。必须把整封邮件(含大附件)全部下载下来才能看。支持。 比如邮件有 100MB 附件,你可以先只看正文,觉得有用再下载附件。

四、 文件传输协议

  • FTP:专业的“大货车”。端口20
  • 使用两个并行的TCP进项连接。数据连接用于传送文件。控制连接传送控制信息。
    • 作用: 专门用来在两台电脑之间安全、稳定地上传和下载文件。比如你要把自己做的像素游戏的美术素材包和代码打包上传到云主机上,这种大块头的文件搬运工作,底层核心就是 FTP 思想。

五、 万维网

  • WWW (World Wide Web): 就是咱们常说的“网页世界”,无数个网页通过超级链接连在一起的巨大虚拟世界。
  • HTTP (超文本传输协议):网页世界的“专职外卖小哥”。
    • 作用: 只要你打开浏览器看文字、看图片、刷网页,底层全靠 HTTP 在给你疯狂搬运数据。没有它,浏览器就是个空壳。请求报文包括请求行、首部行、空行和实体主体组成。
特性HTTPHTTPS
全称超文本传输协议安全超文本传输协议
端口号80443
安全性明文传输,极不安全密文传输,极难破解
系统架构TCP之上直接跑 HTTPTCP之上先跑一层 SSL/TLS(安全层),再跑 HTTP
速度极快(建立 TCP 就直接发数据)稍慢(要先建立 TCP,再进行耗时的 SSL 加密握手)
成本免费需要向 CA 机构申请并购买数字证书
对比维度HTTP/1.1HTTP/2硬核考点眼
传输格式纯文本格式 (Textual) (人类肉眼可读,但传输效率低)二进制分帧 (Binary Framing) (计算机处理极快,解析无歧义)革命性改变! HTTP/2 的所有高性能特性均基于二进制分帧层。
多路复用不支持 (存在应用层“队头堵塞” HOL Blocking)支持(真正的多路复用) (单条连接并发现并发收,互不干扰)核心痛点解决! HTTP/1.1 即使开启管道化也必须按顺序响应;HTTP/2 用流和帧彻底消除应用层队头堵塞。
头部压缩不支持 (每次请求都重复携带几百字节的纯文本 Header)支持(HPACK 算法) (静态/动态表 + 哈夫曼编码)HTTP/2 极大地减少了带宽浪费,双方只传输“增量首部”。
连接管理每个域名通常限制建立 6 个 TCP 并行连接每个域名仅使用 1 条 TCP 连接HTTP/2 减少了 TCP 握手开销及慢启动对高并发的影响,也减轻了服务器的连接压力。
服务端推送不支持 (客户端不请求,服务器绝不主动给)支持 (Server Push) (服务器可主动向客户端缓存推送资源)HTML 解析时,服务器可以把配套的 CSS/JS 提前推送过去,减少往返时延。
资源优先级无法灵活控制,浏览器只能通过控制连接发起顺序来抢夺带宽支持数据流优先级 (Stream Prioritization)客户端可以给不同的数据流设置权重,确保关键的 CSS/JS 优先加载,图片后加载。

一、 DHCP:网络世界的“自动发号器”

DHCP(动态主机配置协议) 的核心作用:插上网线(或连上 WiFi)就能直接上网,不用手动去配那一长串复杂的 IP 地址、子网掩码和网关。

  • 底层协议: 它是基于 UDP 的。
  • 端口号: 客户端用 68 端口,服务器用 67 端口。
  • 核心工作流程:著名的“DORA”四次交互

你的电脑和 DHCP 服务器会发生以下 4 步对话:

  1. D - Discover(发现): 你的电脑刚来,是个“黑户”,连自己 IP 都不知道。于是它在局域网里大喊(广播):“这里有 DHCP 服务器吗?救救孩子,给我分个 IP 吧!”
  2. O - Offer(提供): 局域网里的 DHCP 服务器听到了,查了一下空闲地址池,给你回喊(通常也是广播):“我这里有个 192.168.1.100,你要不要?”
  3. R - Request(请求): 你的电脑收到了(可能收到多个服务器的 Offer,通常挑最快那个),再次大喊(广播):“好嘞,我就要刚才大哥给的 192.168.1.100 了!”(注意:这里必须是广播,目的是告诉其他没被选中的服务器:“谢谢你们,我已经有主了,你们的 IP 可以收回去了”。)
  4. A - Acknowledge(确认): 被选中的 DHCP 服务器最后给你发个确认包:“成交!这个 IP 租给你用 8 个小时,顺便把网关和 DNS 服务器的地址也一并打包给你。”子网掩码也给。

简述SMTP协议的工作过程。

SMTP协议的工作过程分为三个阶段:连接建立、邮件传送和连接释放。首先,SMTP客户使用熟知端口25与SMTP服务器建立TCP连接;然后,SMTP客户发送邮件内容,SMTP服务器接收并存储邮件;最后,SMTP客户发送QUIT命令,SMTP服务器返回确认信息并释放TCP连接。

简述DNS解析过程。

DNS解析过程包括递归查询和迭代查询。主机向本地域名服务器发出递归查询请求,本地域名服务器向根域名服务器发出迭代查询请求,根域名服务器返回顶级域名服务器的IP地址,本地域名服务器再向顶级域名服务器发出迭代查询请求,顶级域名服务器返回权限域名服务器的IP地址,本地域名服务器最终向权限域名服务器查询并返回解析结果。最后,本地域名服务器将解析结果返回给客户机,并写入缓存。

网络安全

安全通信的 4 个基本要素

  1. 机密性 (Confidentiality): 防止别人偷看。
    • 人话: 数据在传输时必须是看不懂的乱码。
    • 核心手段: 加密。
  2. 报文完整性 (Integrity): 防止数据被中途篡改或残缺。
    • 人话: 接收方收到的数据必须和发送方发出来的一模一样。
    • 核心手段: 密码散列函数(如 MD5、SHA-1)。
  3. 实体鉴别 / 身份认证 (Authentication): 证明“你就是你”,防止别人冒充。
    • 核心手段: 数字证书。
  4. 不可否认性 / 不可抵赖性 (Non-repudiation): 发了消息不能赖账。
    • 人话: 只要是你发的信息,你就没办法抵赖说不是你发的。
    • 核心手段: 数字签名。

对称密码 vs 非对称密码三个最基本的维度:

对比维度对称密钥密码体制非对称密钥(公钥)密码体制
钥匙数量加密和解密用同一把钥匙有两把钥匙:公钥(公开)和 私钥(自己保存)
主要优缺点速度极快,但密钥分发和管理很困难速度较慢,但密钥分发和管理非常安全方便
最经典算法DES、AESRSA
  • 非对称加密(用来保密): A 用 B 的公钥加密 →只有 B 的私钥能解开。
  • 数字签名(用来防赖账): A 用 A 的私钥加密 →所有人都能用 A 的公钥解开(只要能解开,就证明绝对是 A 发的)。

数字签名与报文摘要

1. 数字签名

  • 怎么做: 发送方用自己的 私钥 对数据进行加密。
  • 两个基本功能: * 证明发送方的身份(端点鉴别)。
    • 保证数据没有被篡改,且发送方无法赖账(不可否认性)。

2. 报文摘要(Hash)

  • 代表: MD5、SHA-1。
  • 特点:
    • 不管输入多大,输出都是固定长度。
    • 单向性:根据摘要绝对无法反推出原文。
    • 防篡改:原文变动一点点,算出来的摘要也会天差地别。

CA 与数字证书

  • 为什么要 CA 如果黑客伪造了一个公钥假装是 A 的,接收方无法分辨。
  • 什么是 CA(证书授权中心)? 相当于网络世界的“公安局”绝对值得信任的第三方。
  • 数字证书: CA 用自己的私钥,给 A 的个人信息和 A 的公钥盖个章(签名),做成一张“数字身份证”。
    • 接收方收到后,用 CA 的公钥解开证书,就能百分之百确认:“这个 A 的公钥是真的,不是黑客冒充的”。

各层安全协议

  1. 应用层安全: PGP 专门保护电子邮件安全的协议。
  2. 运输层安全: SSL / TLS 也就是 HTTPS 的底层防护层。
  3. 网络层安全: IPSec 保护所有 IP 数据报的安全协议。
通过邮件交流

相关推荐