欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 计算机网络--期末速通版

计算机网络--期末速通版

2025/6/24 1:12:13 来源:https://blog.csdn.net/Hock2023/article/details/148749760  浏览:    关键词:计算机网络--期末速通版

以下总结提纲来自于hcgg,伟大无需多言。socket编程没有写进去,Rdt的话我后来感觉可能只考概念,其余我感觉会考的部分都在里面了,如果有错误或者解释不清楚造成的疑问,希望大家及时指正,感谢。

应用层

DNS递归&迭代【画图】

区别

这个up画的图很直观的讲了这两者的区别(里面的问一次 就是发一次域名请求消息

查询方式使用

而DNS服务器有本地,顶级这些,具体的查询方式如下:

1. 在主机查询本地域名服务器的时候使用递归查询(记成本地服务器帮忙问)

2. 在本地服务器查询根、顶级、权威域名服务器的时候使用的是迭代查询(因为问的服务器没有义务帮忙问)

查询次数

DNS查询最少次数为1,这一次是直接查本地域名服务器就查到了。

DNS查询最多次数为4,1次本地域名服务器没查到,然后1次根域名服务器,也没查到,1次顶级域名服务器也没查到,1次权威域名服务器查到了。顺序是根-顶级-权威

Http版本迭代

1. HTTP/1.0

  • 每次请求需建立单独的 TCP 连接(短连接),请求完成后立即关闭。

  • 无状态协议,不支持持久连接(Keep-Alive)。

  • 性能差:频繁建立连接增加延迟。


2. HTTP/1.1

  • 核心改进

    • 持久连接(默认启用 Keep-Alive):一个 TCP 连接可处理多个请求/响应,减少延迟。

    • 管道化(Pipelining):允许连续发送多个请求(无需等待响应),但存在队头阻塞(HOL Blocking)问题。

    • 缓存控制:新增 Cache-ControlETag 等头部字段。

    • 分块传输(Chunked Transfer):支持流式传输。

  • 缺点

    • 队头阻塞(前一个请求未完成会阻塞后续请求)。

    • 头部冗余(每次请求携带重复的头部信息)。


3. HTTP/2

  • 核心改进

    • 二进制协议:取代文本格式,解析更高效。

    • 多路复用(Multiplexing):单一 TCP 连接上并行传输多个请求/响应,解决队头阻塞。

    • 头部压缩(HPACK):减少冗余头部开销。

    • 服务器推送(Server Push):服务器可主动推送资源。

  • 缺点

    • 仍依赖 TCP,可能因 TCP 丢包重传引发队头阻塞。


4. HTTP/3

  • 核心改进

    • 基于 QUIC 协议:使用 UDP 替代 TCP,解决 TCP 的队头阻塞和握手延迟。

    • 内置加密:默认使用 TLS 1.3,安全性更高。

    • 快速连接建立:0-RTT(零往返时间)恢复连接。

    • 改进的多路复用:每个数据流独立传输,彻底解决队头阻塞。

  • 优势

    • 更适合高延迟、不稳定网络(如移动端)。


对比总结

版本

核心协议连接方式关键改进主要问题
HTTP/1.0TCP短连接基础文本协议性能差
HTTP/1.1TCP持久连接管道化、缓存控制队头阻塞、头部冗余
HTTP/2TCP多路复用二进制、头部压缩、服务器推送TCP 层队头阻塞
HTTP/3QUIC/UDP独立流传输无队头阻塞、0-RTT、内置加密兼容性需提升

CDN

概念

CDN(Content Delivery Network,内容分发网络)是一个分布式服务器网络,用于快速、高效地向用户分发静态和动态内容(如网页、视频、图片等)。

作用

  • 加速访问:将内容缓存到离用户最近的服务器,减少延迟。

  • 减轻源站压力:分担流量,避免服务器过载。

  • 提高可用性:即使部分节点故障,仍可提供服务。

工作原理

  • 用户请求资源时,CDN 会智能选择最近的边缘服务器响应

  • 若边缘服务器没有缓存,则从源站获取并缓存,供后续用户使用。

P2P

P2P(Peer-to-Peer,对等网络)是一种去中心化的网络架构,其中所有节点(Peer)地位平等,既可以是客户端(请求数据),也可以是服务器(提供数据)。

应用 下载使用的种子节点、区块链这些,没有什么好说的

传输层

TCP三次握手四次挥手【画图】

UDP

UDP(用户数据报协议)是一种无连接的传输层协议,提供简单、不可靠的数据传输服务。

主要特点

  • 无连接:无需建立连接即可发送数据。

  • 不可靠:不保证数据顺序、不重传丢失报文。

  • 高效:头部开销小(仅8字节),传输延迟低。

  • 支持广播/多播:可向多个目标同时发送数据。

与TCP的主要区别

  • TCP可靠、有连接、保证顺序;UDP不可靠、无连接、不保证顺序。

  • TCP适合文件传输;UDP适合实时性要求高的应用。

拥塞控制&流量控制

拥塞控制算法

流量控制算法

这个一般会结合TCP三次握手四次挥手去考

RDT

RDT(可靠数据传输协议,Reliable Data Transfer)是一种确保数据在不可靠信道上可靠传输的机制,通常用于传输层(如TCP)或应用层协议设计。核心目的是确保数据无差错、不丢失、不重复、按序到达接收端。

主要技术

  • 校验和:检测数据错误(如CRC、校验和)。

  • 确认(ACK)与重传:接收方确认成功接收,发送方超时未收到ACK则重传。

  • 序号(Sequence Number):标识数据包,解决乱序和重复问题。

  • 滑动窗口:允许连续发送多个包,提高效率(如TCP的窗口机制)。

RDT 1.0(理想可靠信道)

  • 假设:底层信道完全可靠(无比特差错、无丢包、无乱序)。

  • 机制:无需任何额外控制(如校验、ACK、序号等),直接发送和接收数据。

  • 问题:现实中不存在完全可靠的信道,仅作为理论基准。


RDT 2.0(处理比特差错)

  • 问题:信道可能发生比特差错(如数据损坏)。

  • 机制

    • 校验和(Checksum):检测数据是否出错。

    • ACK/NAK

      • 接收方校验无误 → 回复 ACK(确认)。

      • 校验出错 → 回复 NAK(否定确认),要求重传。

    • 重传:发送方收到NAK或未收到反馈时重发数据。

  • 缺陷

    • 若 ACK/NAK 本身丢失或损坏,发送方无法区分是否需重传,可能导致重复或丢包。


RDT 2.1(引入序号解决ACK/NAK丢失)

  • 改进点:在RDT 2.0基础上增加序号(0/1),解决ACK/NAK丢失导致的歧义。

  • 机制

    • 每个数据包携带1比特序号(交替0和1)。

    • 接收方通过序号判断是否收到重复包(如收到相同序号则丢弃并重发ACK)。

  • 示例

    • 发送方发送包(seq=0)→ 接收方回复ACK0。

    • 若ACK0丢失,发送方超时重发包(seq=0)→ 接收方发现重复,丢弃包并再次回复ACK0。


RDT 2.2(取消NAK,仅用ACK+序号)

  • 改进点:取消NAK,全部用带序号的ACK(如ACK0、ACK1)实现确认。

  • 机制

    • 接收方若检测到错误,直接不回复ACK(发送方超时重传)。

    • 若数据正确,回复下一个期望的序号(如收到seq=0,回复ACK1)。

  • 优势:简化协议设计,与TCP的确认机制类似。


RDT 3.0(处理丢包问题)

  • 问题:信道可能丢失数据包或ACK(不只有比特差错)。

  • 机制

    • 超时重传计时器:发送方每次发送数据后启动计时器,若超时未收到ACK则重传。

    • 序号+ACK:沿用RDT 2.2的序号机制,避免重复包问题。

  • 关键点

    • 计时器时长需大于RTT(往返时间),否则会频繁误判丢包。

    • 即使ACK丢失,超时重传仍能保证可靠性。

  • 示例

    • 发送方发送包(seq=0)→ 若包丢失,接收方无反馈 → 发送方超时重传。

    • 若ACK丢失,发送方超时重传 → 接收方通过序号去重。


各版本核心改进总结

版本解决的问题关键技术缺陷或局限
1.0无(理想信道)不现实
2.0比特差错校验和、ACK/NAK、重传ACK/NAK丢失导致歧义
2.1ACK/NAK丢失1比特序号(0/1)仍需NAK机制
2.2简化确认机制仅用带序号的ACK未解决丢包问题
3.0数据包或ACK丢失超时重传计时器效率低(停等协议)

后续演进(超出基础RDT)

  • 滑动窗口协议:RDT 3.0是停等协议(发1个包等1个ACK),效率低;滑动窗口允许连续发送多个包(如TCP)。

  • 拥塞控制:纯RDT不解决网络拥塞问题,需额外机制(如TCP的慢启动、拥塞避免)。

总结:RDT通过逐步增加差错检测、序号、ACK、超时重传等机制,最终实现可靠传输,为TCP等协议奠定基础。

套接字编程

函数名 汉语名
socket()创建套接字
bind()绑定地址和端口
listen()    监听连接(TCP)
accept()接受连接(TCP)
connect()发起连接(TCP/UDP)
send()/write()发送数据
recv()/read()接收数据
sendto()发送数据(UDP)
recvfrom()接收数据(UDP)
inet_addr()/inet_aton()IP地址转换
inet_ntoa()IP地址转字符串
getaddrinfo()地址信息查询
freeaddrinfo()释放地址信息
setsockopt()设置套接字选项
getsockopt()获取套接字选项
close()/shutdown()关闭套接字
select()/poll()/epoll()I/O多路复用
fcntl()  文件控制
gethostbyname()主机名解析(过时)

可靠数据传输协议

可靠数据传输协议(RDT)是一种确保数据在网络中无差错、不丢失、不重复、按序到达的传输机制,通常用于TCP等可靠传输协议。

引入技术

  • 差错检测(如校验和 Checksum)

  • 确认机制(ACK, Acknowledgement)

  • 超时重传(Timeout & Retransmission)

  • 序号机制(Sequence Number)

  • 滑动窗口(Sliding Window)

回退N帧协议(GBN, Go-Back-N)

(1)基本思想
  • 发送方维护一个固定大小的窗口(N),可以连续发送多个分组。

  • 接收方只按序接收,丢弃所有乱序分组,并返回最后一个正确接收的ACK

  • 如果某个分组丢失或超时,发送方重传该分组及其之后的所有分组(“回退N帧”)。

(2)特点

✅ 简单,接收方只需维护一个期望的序号。
❌ 效率低,一旦丢包,需要重传大量分组。


选择重传协议(SR, Selective Repeat)

(1)基本思想
  • 发送方和接收方各自维护一个滑动窗口

  • 接收方缓存乱序到达的分组,并返回每个正确接收的分组的ACK

  • 发送方只重传丢失或超时的分组,而不是全部回退。

(2)特点

✅ 高效,只重传丢失的分组,减少带宽浪费。
❌ 实现复杂,接收方需要缓存乱序分组,并管理多个ACK。


GBN vs SR 对比

特性GBN(回退N帧)SR(选择重传)
接收方式只按序接收,丢弃乱序分组缓存乱序分组
ACK机制累积确认(只ACK最后一个正确接收的)单独确认(每个分组都ACK)
重传策略丢失分组及其后所有分组全部重传仅重传丢失的分组
效率低(可能重传大量数据)高(只重传必要的分组)
实现复杂度简单复杂(需缓存乱序分组)

总结

  • GBN 适用于低错误率网络,实现简单但效率低。

  • SR 适用于高错误率网络,效率高但实现复杂。

  • TCP 实际结合了 GBN 和 SR 的思想(如快速重传、选择确认 SACK)。

网络层

IP与子网划分【计算题】

DHCP

概念

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,用于自动为设备分配 IP 地址、子网掩码、默认网关和 DNS 服务器等网络配置信息。使设备能快速接入网络,广泛应用于家庭、企业等场景。

作用

  • 自动分配 IP 地址:避免手动配置,减少错误。

  • 集中管理网络参数:管理员可统一设置和更新。

  • 提高 IP 利用率:动态回收和分配 IP,节省地址资源。

工作原理

  • 发现(Discover):客户端广播请求 IP 地址。

  • 提供(Offer):DHCP 服务器回应可用的 IP 地址。

  • 请求(Request):客户端确认选择该 IP。

  • 确认(Acknowledge):服务器正式分配 IP 并发送配置信息。

优点

  • 简化网络管理,减少人工配置

  • 支持 IP 地址的动态回收和复用

  • 可扩展性强,适用于大规模网络

NAT

NAT(Network Address Translation,网络地址转换)是一种网络技术,用于将私有(内网)IP 地址转换为公有(外网)IP 地址使多台设备能共享一个公网IP访问互联网

作用

  • 节省 IPv4 地址:多个设备共用1个公网IP,缓解地址不足问题。

  • 增强安全性:隐藏内网设备真实IP,防止外部直接访问。

  • 解决地址冲突:允许不同内网使用相同的私有IP段(如192.168.1.x)。

常见类型

  • 静态NAT:一对一固定映射(如将内网服务器暴露到公网)。

  • 动态NAT:多对多IP池映射(临时分配公网IP)。

  • PAT(NAPT):多对一映射,通过不同端口区分设备(最常见,家庭路由器即采用此方式)。

Traceroute

Traceroute(路由追踪)是一种网络诊断工具,用于检测数据包从源主机到目标主机经过的所有网络路径(路由器跳数),并测量每跳的延迟时间。Traceroute 通过TTL机制追踪网络路径,是网络管理员常用的故障诊断工具。

作用

  • 显示数据包传输路径

  • 检测网络故障节点(如丢包、高延迟)

  • 分析网络拓扑结构

工作原理

  • 发送TTL(生存时间)递增的探测包(ICMP/UDP/TCP)

  • 每经过一个路由器,TTL减1,当TTL=0时返回"超时"响应

  • 通过收集各跳的响应IP和耗时,构建完整路径

路由CS+DV【迪杰斯特拉算法】

数据链路层

CRC 校验和 与 差错检测

性能比较

CRC > 校验和 > 差错检测

CRC算法内容

校验和与奇偶校验

通信划分协议

FDM分频率、TDM分时间、CDM分编码,三者分别通过频域、时域和编码域实现多路信号共享信道。

 FDM(频分复用,Frequency Division Multiplexing)

  • 原理:将总带宽划分为多个不同频率的子信道,每个信号占用一个频段。

  • 特点

    • 各信号并行传输,互不干扰(如广播电台、Wi-Fi信道)。

    • 需要保护频带(Guard Band)防止串扰。

  • 应用:传统电话系统、无线电广播、有线电视(CATV)。


TDM(时分复用,Time Division Multiplexing)

  • 原理:将时间划分为固定时隙,每个信号轮流占用全部带宽的特定时间段。

  • 特点

    • 按时间片轮转(如CPU时间片调度)。

    • 需严格同步时钟(如SDH光纤通信)。

  • 应用:传统电话PCM系统、4G LTE的时隙分配。


CDM(码分复用,Code Division Multiplexing)

  • 原理:为每个信号分配唯一编码(扩频码),所有信号共享同一频段和时间,通过编码区分。

  • 特点

    • 抗干扰能力强(如军事通信)。

    • 支持软容量(用户数灵活增减)。

  • 应用:3G(CDMA2000)、GPS信号、Wi-Fi DSSS技术。


对比总结

复用技术划分维度典型场景核心优势主要缺点
FDM频率广播、ADSL简单易实现带宽利用率低
TDM时间传统电话、光纤通信延迟稳定需精确同步
CDM编码3G网络、卫星通信抗干扰、安全性高实现复杂

随机访问协议

ALOHA简单但效率低,CSMA通过监听信道显著提升性能;CSMA/CD用于有线网络,CSMA/CA解决无线冲突问题。

ALOHA(纯ALOHA & 时隙ALOHA)

  • 原理

    • 纯ALOHA:用户有数据就立刻发送,冲突后随机退避重发。

    • 时隙ALOHA:时间被划分为时隙,用户只能在时隙起点发送。

  • 特点

    • 无需监听信道,实现简单。

    • 信道利用率低(纯ALOHA仅18%,时隙ALOHA约36%)。

  • 应用:早期卫星通信、RFID标签。


CSMA(载波监听多路访问,Carrier Sense Multiple Access)

  • 原理:发送前先监听信道:

    • 非持续CSMA:信道忙则随机等待后再监听。

    • 1-持续CSMA:信道忙则持续监听,空闲立即发送。

    • p-持续CSMA:信道空闲时以概率p发送。

  • 改进版

    • CSMA/CD(用于以太网):检测到冲突后立即停止发送。

    • CSMA/CA(用于Wi-Fi):通过ACK和退避机制避免冲突。

  • 特点

    • 减少冲突概率,提高信道利用率。

    • 需额外机制处理隐藏终端问题(如RTS/CTS)。

  • 应用:有线以太网(CSMA/CD)、无线Wi-Fi(CSMA/CA)。


对比总结

协议核心机制信道利用率典型场景主要缺点
纯ALOHA直接发送,冲突后重传≤18%早期卫星通信效率极低
时隙ALOHA时隙同步发送≤36%RFID系统需时间同步
CSMA先监听后发送较高有线/无线局域网存在隐藏终端问题
CSMA/CD监听+冲突检测80%~90%传统以太网(半双工)不适用于无线环境
CSMA/CA监听+冲突避免60%~70%Wi-Fi(无线网络)额外控制帧开销

轮流协议

轮询依赖主节点分配发送权,令牌传输通过令牌循环实现无冲突访问;前者适合主从网络,后者适用于分布式高负载场景。

轮询(Polling)

  • 原理

    • 主节点(如服务器)按固定顺序依次询问各从节点(如终端设备)是否有数据发送。

    • 从节点收到询问后,若有数据则发送,否则回复“无数据”。

  • 特点

    • 集中式控制:依赖主节点协调,主节点故障则全网瘫痪。

    • 公平性:每个节点有均等机会发送数据。

    • 效率问题:即使节点无数据,仍需轮询,造成带宽浪费。

  • 应用场景

    • 传统的主从式网络(如早期IBM系统)。

    • 工业控制网络(如Modbus协议)。


令牌传输(Token Passing)

  • 原理

    • 一个特殊帧(令牌)在节点间按逻辑顺序传递。

    • 只有持有令牌的节点可发送数据,发送后释放令牌给下一节点。

  • 特点

    • 分布式控制:无需主节点,令牌丢失时需恢复机制。

    • 无冲突:令牌独占性避免数据冲突。

    • 延迟问题:节点需等待令牌到达,高负载时效率高,低负载时延迟大。

  • 应用场景

    • 令牌环网络(如IEEE 802.5)。

    • 实时性要求高的网络(如FDDI光纤网络)。


对比总结

协议控制方式核心机制优点缺点
轮询集中式主节点主动询问从节点公平、易管理主节点单点故障、效率低
令牌传输分布式令牌循环传递无冲突、高负载效率高令牌丢失导致全网瘫痪

ARP

ARP通过广播请求和单播响应,实现IP地址到MAC地址的动态解析,是局域网通信的基础协议。

概念

ARP(Address Resolution Protocol,地址解析协议) 是一种用于将 IP地址 解析为 MAC地址 的网络协议,工作在 数据链路层(OSI L2)。

作用

  • 解决IP→MAC映射:在局域网(LAN)中,设备通过IP地址通信,但实际数据传输需要MAC地址。

  • 维护ARP缓存表:存储最近查询的IP-MAC对应关系,减少重复请求。

工作原理

  1. ARP请求(广播)

    • 主机A想发送数据给主机B(已知B的IP,但不知其MAC)。

    • A向局域网广播发送 "Who has IP_B? Tell IP_A" 的ARP请求。

  2. ARP响应(单播)

    • 主机B收到请求后,回复 "IP_B is at MAC_B" 的单播响应。

    • 其他主机忽略该请求。

优点

  • 简单高效,解决IP与MAC的映射问题。

  • 支持动态更新(ARP缓存表自动刷新)。

路由器和交换机

交换机用于局域网内设备直连(认MAC),路由器用于跨网络通信(认IP),两者协同构建完整网络架构。

交换机(Switch)

  • 作用

    • 工作在 数据链路层(OSI L2),负责局域网(LAN)内设备间的 MAC地址转发

    • 通过 MAC地址表 学习并记录设备连接端口,实现 点对点高效通信

  • 特点

    • 仅限局域网:无法跨网络通信(如连接不同子网)。

    • 无IP处理能力:不识别IP地址,仅根据MAC地址转发数据帧。

    • 减少冲突域:每个端口是独立的冲突域(全双工模式下无冲突)。

  • 应用场景

    • 企业内网、家庭局域网(连接电脑、打印机等设备)。


路由器(Router)

  • 作用

    • 工作在 网络层(OSI L3),负责不同网络(如LAN与WAN)间的 IP数据包转发

    • 通过 路由表 选择最佳路径,连接互联网或跨子网通信。

  • 特点

    • 跨网络通信:支持不同IP子网或ISP之间的数据传输。

    • NAT功能:共享公网IP(如家庭路由器让多设备上网)。

    • 防火墙功能:过滤非法流量(部分高级路由器支持)。

  • 应用场景

    • 家庭宽带接入、企业级网络互联、互联网骨干网。


对比总结

设备工作层级核心功能寻址依据典型应用场景
交换机数据链路层(L2)MAC地址转发MAC地址局域网内设备互联
路由器网络层(L3)IP路由与跨网络通信IP地址连接不同网络/互联网

补充说明

  • 三层交换机:结合交换机与路由器功能(支持VLAN间路由)。

  • 家庭“路由器”:实际是 路由器+交换机+AP 的集成设备。

知识点笔记

下面这部分是我之前学习时候的知识点笔记,不全,可以简单的过一下

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com