mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
8438 字
23 分钟
计算机网络
2026-05-24
2026-06-07

计算机网络笔记#

前言#

又到了每个学期的补天环节,计算机网络的知识点我一开始是找到了学长的博客

计算机网络 – View of Thai

计算机网络笔记 | 独奏の小屋

也是按照thai神的方法,直接去找考研课来预习

王道计算机考研 计算机网络_哔哩哔哩_bilibili

计算机网络的概念#

概念#

计算机网络是指将地理位置不同的具有独立功能多台计算机以及一些外部设备,通过一些通讯设备与线路连接起来,在网络操作系统、网络管理软件和网络通信协议的管理下,实现资源共享和信息传递的计算机互联系统。

特点:

  1. 计算机之间相互独立自治
  2. 通信线路
  3. 网络协议
  4. 资源共享

概念之间的区别与联系:

image-20260524161049439

组成#

从组成部分看#

  • 硬件

    • 主机(服务器)
    • 网络节点
      • 端节点:计算机终端
      • 中间节点:通信控制处理机(交换机)、网络连接设备(路由器、调制解调器即Modem)
    • 通信链路:信息传输的通道
      • 传输介质:同轴电缆、双绞线、光纤
  • 软件

    • 网络操作系统:Linux、UNIX、NetWare、Windows
    • 通信软件、网络协议软件:TCP/IP、IPX/SPX、IEEE802标准
    • 网络管理或安全控制软件
    • 网络应用软件:通讯程序QQ、IE浏览器等
  • 协议

    • 规定计算机网络中的通信规则
    • 由硬件和软件共同实现,如:网络适配器+软件实现网络通信协议

image-20260524162337093

从工作方式看#

  • 边缘部分
    • 工作方式:直接为用户服务
    • 主要用连接到互联网上的主机及其软件组成
  • 核心部分
    • 工作方式:为边缘部分提供服务(连通性、交换服务)
    • 由大量网络和连接这些网络的路由器组成

image-20260524162706825

功能#

  • 数据通信(Communication Medium)
  • 资源共享(Resource Sharing)
    • 软件,硬件,数据库资源的共享
  • 分布式处理(Distributed Processing)
    • 降低软件设计的复杂性,大大提高工作效率、降低成本
  • 提供高可靠性服务(High Reliability)
    • 利用可替代的资源,提供连续的高可靠服务(云服务)
  • 负载均衡
    • 网络中各台计算机共同承担繁重工作

image-20260524163435467

网络交换技术#

  1. 电话交换过程(即时、独占)
    1. 链路建立: • 发送方提出连接请求,完成逐个结点的接续过程。建立由源站到目的站的传输链路。
    2. 数据传输: • 全双工、实时、有序传输
    3. 路拆除: • 传输结束,一方提出终止通信。拆除连接,释放信道资源
  2. 报文交换过程(存储转发)
    1. 结点接收报文后,存储报文,根据目的地址转发至下一个结 点,如此反复,直到报文到达目的地址
    2. 特点 • 双方无需预先建立专用数据通路。
    3. 缺点 • 需要对完整报文进行存储/转发,结点处理时延较大,实时性差
  3. 分组交换过程(分组寻址/转发)
    1. 报文被划分为分组,每个分组独立寻找转发
    2. 采用“存储/转发”交换方式

image-20260524164321220

分组交换主要分为两类:数据报虚电路

维度数据报 (Datagram)虚电路 (Virtual Circuit)
工作方式无连接,每个分组自带完整目标地址面向连接,先建连接,分组只带虚电路号
路由选择每个分组独立动态选择路径建连时选好固定路径,所有分组走同一条路
到达顺序可能乱序按序到达
路由器状态无连接状态,简单需维护虚电路表,有状态
故障适应强(自动绕行)弱(链路坏则全部重连)
典型应用IP网络 (Internet)帧中继、ATM、MPLS
开销头部较大(含完整地址)头部小(短标签)

分类#

image-20260524164604739

按地域范围划分#

  • 个人区域网(Personal Area Network, PAN)
  • 局域网(Local Area Network, LAN)
  • 城域网(Metropolitan Area Network, MAN)
  • 广域网(Wide Area Network, WAN)
  • 互联网(Internet)

image-20260524164804911

image-20260524164839404

按传输技术划分#

  • 广播式网络(@某人的群消息)
    • 当一台计算机发送数据分组时,广播范围内所有计算机都会收到该分组,并通过检查分组的目的地址决定是否接收该分组
    • 所有无线网络都是广播式
  • 点对点网络(一对一私信)
    • 数据只会从发送方“点对点”发到接收方,精准送达
    • 路由器转发的数据分组

按拓扑结构分类#

首先计算机网络可以用图论描述

    • 端接系统:PC、服务器、PDA等
    • 交换设备、节点设备:路由器、集中器、交换机等
    • 通信链路:光纤、线缆、无线链路等

那么其拓扑结构可分为

  • 星形拓扑结构
  • 树形拓扑结构
  • 总线型拓扑结构
  • 不规则(网状)拓扑结构
  • 全连接(网状型拓展)拓扑结构

image-20260524165610967

image-20260524165635905

按使用者分类#

  • 公用网
    • 向公众开放的网络。如:办宽带、交手机话费即可使用的互联网
  • 专用网
    • 供某个组织内部使用的网络。

七层模型-四层模型(OSI参考模型-TCP/IP模型)#

image-20230502220344109

一些协议

image-20230503180843142

image-20260601180501961

物理层#

看老师ppt直接跳过这一部分了,thai神也说很少考,直接跳了

数据链路层#

image-20260527145245792

网络层#

网络层的功能#

image-20260527150550140

ip数据包和分组传输#

IP数据报格式,需要注意(ip数据报的)首部长度单位是4B,(ip数据报的)总长度单位是1B

image-20260527151126892

  • MTU( Maximum Transmission Unit):

    • 最大传输单元;它定义了一个网络数据包(主要是数据链路层)所能传输的最大数据量(字节数)。如果数据包大于路径上的某个 MTU,它就需要被分片或直接丢弃。
  • 标识 (Identification - 16位)

    • 唯一标识一个原始数据包。属于同一个原始数据包的所有分片,都具有相同的“标识”值。
  • 标志(Flags - 3位)

    • 作用:控制分片行为,只有后两位有意义(第一位保留为0)
    • 第2位:DF (Don’t Fragment)0:(允许分片) 1:(禁止分片)如果数据包太大且不允许分片,路由器会丢弃它,并返回一个 ICMP 错误(需要分片但DF=1)。用于路径MTU发现
    • 第3位:MF (More Fragments)0:这是最后一个分片 1后面还有更多分片。除了最后一个分片外,所有前面的分片都必须设置 MF=1。
  • 片偏移 (Fragment Offset - 13位)

    • 作用:指示当前分片中的原始数据起始位置,以 8字节 为单位。
  • 生存时间(TTL:Time To Live)

    • TTL 是一个 8 位的整数(取值范围 0-255),它限制了数据包在网络中的最大跳数(经过路由器的数量)
    • 每个路由器:每经过一个路由器,该路由器会将 TTL 减 1
      • 如果 TTL > 0:正常转发数据包到下一跳。
      • 如果 TTL = 0:路由器丢弃该数据包,并向源地址发送一个 ICMP 超时错误消息(“Time Exceeded”)。
  • 协议

    • TCP 6
    • UDP 17

image-20260527155221431

长度单位口诀:==418,首偏总==

IPv4#

32位二进制数表示

分网络号+主机号

ip地址的分类

image-20230626214247753

一些特殊ip,基本上规律就是全0全1

image-20260527161832215

NAT-子网划分-子网掩码#

  • 子网划分
    • 原理:若某单位租用了一个IP地址段,假设原本主机号占nbit,那么可以将前kbit抠出来作为子网号,用剩余的n-k bit作为主机号,这样就能划分出2~k个子网(每个子网包含的IP地址块大小相等)
    • 子网划分前,IP地址为两级结构=<网络号,主机号> 子网划分后,IP地址为三级结构=〈网络号,子网号,主机号>
    • 注意:每个子网地址中,主机号不能分配为全0/全1-全0表示子网本身,全1为子网广播地址
  • 子网掩码
    • 网络号和子网号的位数全1,主机号部分全0,通过逐位与操作算出<网络号,子网号>(网络前缀)
    • 注意:如果进行了子网划分,那么这个网络的每台主机、每个路由器都需要配置IP地址、默认网关、子网掩码

img

重要

image-20260529191414570

NAT

image-20260531152807089

无分类编址 CIDR#

现实中最最常见的网络地址分配方式

知识点1:

xx.xx.xx.xx/xx

知道/xx就是指前面xx位是子网掩码就行,在CIDR中,不按照A/B/C类地址进行划分,直接看/后面的数字就好

(理解起来其实和前面没差,就是这里直接把子网掩码标出来了,可以一眼看到网络号和主机号)

image-20260530164046016

关于定长子网划分的题

image-20260530164228934

关于变长子网划分的题

image-20260530164604055

从根开始构造哈夫曼数,最后记得减二

路由聚合#

也称为路由汇总(Route Summarization)或CIDR(无类别域间路由),是将多条具有相同前缀的细化路由条目合并为一条更粗略的路由的技术。

注意:

  • 同的路由不能聚合

  • 应用时采用最长匹配原则(从路由表中选出最精确的那条路由的规则)

  • 简单理解:谁的子网掩码越长(网络部分越多),谁就越优先

ARP#

ARP(Address Resolution Protocol,地址解析协议) 是网络层与数据链路层之间的一个关键协议,它的作用是通过目标的IP地址,解析出它的MAC地址

层级地址类型作用比喻
网络层IP地址(如 192.168.1.1)逻辑寻址,跨网络定位你的身份证号
数据链路层MAC地址(如 00:1A:2B:3C:4D:5E)物理寻址,局域网内定位你的长相/指纹

image-20260601170111882

image-20230627112220202

DHCP#

DHCP服务器用于动态分配ip

dhcp应用层协议,使用客户/服务端模式,通过广播的方式,基于udp

重点是下面的彩色字体部分

image-20260601180207633

DHCP的工作全流程图

image-20260601181418203

1. Discover(发现)—— 客户端广播寻找服务器#

  • 作用:客户端不知道 DHCP 服务器在哪,所以广播说“我要上网,谁能给我 IP?”
  • 注意事项
    • 广播目标地址 255.255.255.255,源地址 0.0.0.0(因为此时还没 IP)。
    • DHCP 中继:如果客户端和服务器在不同网段,路由器默认不转发广播。必须配置 ip helper-address 之类的命令将广播转为单播传给服务器。

2. Offer(提供)—— 服务器预租一个 IP#

  • 作用:服务器收到 Discover 后,从地址池里挑一个还没租出去的 IP,“预租”给客户端,并单播(或广播)回复 Offer。
  • 注意事项
    • 预租状态:此时 IP 只是被标记为“已提供”,并未真正分配给客户端,服务器会暂时保留一小段时间(通常几十秒)等待客户端的 Request。
    • 多服务器场景:如果网络里有多个 DHCP 服务器,客户端可能收到多个 Offer,通常会选择第一个到达的

3. Request(请求)—— 客户端正式确认租用#

  • 作用:客户端从收到的多个 Offer 里选一个,广播(或单播)说“我正式请求使用 XX.XX.XX.XX 这个 IP”。
  • 注意事项(很重要)
    • 为什么还是广播:为了“通知”所有其他 DHCP 服务器。客户端通过广播 Request,告诉其他没被选中的服务器:“我选了别人的 IP,你们可以把预留给我的 IP 释放回去了。”
    • 重播/续租时的不同:在租期过半进行续租时,Request 是单播直接发给原服务器的,不需要广播。

4. Ack(确认)—— 服务器最终授权#

  • 作用:服务器收到 Request 后,正式将这个 IP 分配给客户端,并回复 Ack。里面包含租约时间、子网掩码、网关、DNS 等关键配置。
  • 注意事项
    • Nak(拒绝):如果服务器发现 Request 里的 IP 已经无法分配(比如被别的客户端占用了),就回复 Nak。客户端收到 Nak 必须立刻重新从 Discover 开始。
    • 租约定时器:Ack 里包含 T1(租期 50% 时续租)和 T2(租期 87.5% 时如果续租失败就广播找任何服务器)的时间。

ICMP#

ICMP(Internet Control Message Protocol,互联网控制报文协议) 是 TCP/IP 协议栈中的辅助协议。它不传输用户数据(不像 TCP/UDP),而是用于在网络设备之间传递控制信息和错误报告

简单理解:ICMP 是网络的**“邮差反馈系统”**——当你的数据包无法送达时,ICMP 会告诉你是”查无此人”还是”道路不通”。

常见 ICMP 报文类型#

类型代码报文名称说明
00Echo Replyping 响应
30网络不可达路由不通
31主机不可达目标主机不存在
32协议不可达目标不支持该协议
33端口不可达目标端口未监听
34需要分片但 DF=1路径 MTU 发现失败
40源点抑制拥塞,请减速(已弃用)
51重定向(主机)告诉主机更好的路由
80Echo Requestping 请求
110TTL 超时traceroute 的核心报文
111分片重组超时分片丢失,无法重组

ICMP 的主要功能#

功能说明典型应用
错误报告数据包无法送达时,向源端返回原因网络不可达、主机不可达、端口不可达
网络诊断主动探测网络连通性和路径pingtraceroute
拥塞控制通知发送方降低发送速率源点抑制(已废弃)
重定向告诉主机有更好的路由可用优化本地路由表

核心工具:ping#

ping 是最常用的网络诊断工具,基于 ICMP Echo Request(类型8)Echo Reply(类型0)

工作流程#

  1. 源端发送 Echo Request 到目标
  2. 目标收到后,原样返回 Echo Reply
  3. 源端计算往返时间(RTT)

核心工具:traceroute#

traceroute(Windows 上为 tracert)利用 ICMP 的 TTL 超时(类型11) 机制,逐跳发现网络路径。

工作原理#

  1. 发送 TTL=1 的包 → 第一跳路由器丢弃,返回 TTL 超时 → 记录该路由器 IP
  2. 发送 TTL=2 的包 → 第二跳路由器丢弃,返回 TTL 超时 → 记录该路由器 IP
  3. 重复直到到达目标(收到 Echo Reply 或端口不可达)

image-20260601204555380

ipv6#

总共128bit,通常用4位x8组16进制数表示

ipv4和ipv6的区别联系

image-20230627165229079

ipv6数据报格式

image-20230627192029665

路由算法#

image-20260601210629818

路由往往分静态路由和动态路由

分类#

分类特点代表算法比喻
静态路由管理员手工配置,不自动适应网络变化无(人工指定)固定公交线路,不堵车也不改道
动态路由路由器自动发现路径、自动应对故障Dijkstra、Bellman-Ford实时导航,会根据路况重新规划

路由算法举例#

距离-向量路由算法:#

字面意思,路由表记录距离(代价)和目的主机。然后每个路由器都监听相邻的路由器的路由表更新情况,如果有更新情况就会随之更新

核心机制

  1. 路由表:每一项是 [目标网络, 距离(代价), 下一跳]

  2. 信息交换只与邻居交换,且交换的是整个路由表

  3. 更新逻辑:你提到的”代价变了”或”节点变了”触发更新,背后是 Bellman-Ford 方程

    我到你 = min( 我直连到你, 我到邻居 + 邻居到你 )

  4. 问题:正因为是”听邻居说”,容易传错话,导致收敛慢路由环路(比如A到D断了,但A听B说B能到,B又听A说A能到,互相误导)。

典型协议:RIP

  • 跳数作距离,最大15跳。
  • 每隔30秒就把整个路由表广播给邻居。

链路状态路由算法:#

每个路由都储存着整个网络的拓扑情况,每个路由器都做两个事,一是主动测试所有邻接结点的状态,二是定期的将链路状态传播给所有其他结点(不过也是从相邻的结点逐步扩散开来)

核心机制

  1. 发现邻居:通过Hello协议主动测试直连链路的状态。
  2. 构建LSP:将邻接关系打包成链路状态数据包,包含”我是谁、邻居是谁、链路代价多少”。
  3. 可靠泛洪:将LSP传给所有邻居,邻居再转发给它们的邻居,最终网络中的每个路由器都会收到相同的LSP,从而拥有一致的全网拓扑图(LSDB)。
  4. 计算路径:以自身为根,运行 Dijkstra算法计算出到所有目标的最短路径树。

看看题

image-20260601210441497

==D==


层次路由

层次路由的核心思想:把大规模网络划分成多个区域,内部细节自己知道,对外只暴露汇总信息。

  • 区域内:跑完整的路由算法(如OSPF的链路状态),知道所有细节。
  • 区域间:通过边界路由器交换汇总路由(如把10个子网聚合成1条),不暴露内部拓扑变化。

image-20230627200118015

传输层#

常考知识#

image-20260603113021461

熟知端口号(上次小测有一道答题考了FTP,题目给你端口让你判断是什么服务进程)

image-20260603124640510

速率#

单位时间的数据量(在数字信道上单位时间从某一端到某一端的数据量,即数据传输率,也称数据率或比特率)

单位:

比特(bit)是数据量的最小单位,s(秒)是时间的最小单位。

所以速率单位为bit/s或bps(bit persecond),类似的有kb/s(k=10^3)、Mb/s(M=10^6)、Gb/s(G=10^9)、Tb/s(T=10^12),1Byte=8bit 1B=8b1B/s=8b/s(或1Bps=8bps)

带宽#

单位时间最大数据量(计算机网络中的主机在数字信道上,单位时间内从一端传送到另一端的最大数据量,即最大速率)

停-等协议#

我的理解就是画图

image-20230627225330681

随着时间变化,我们花的总时间=传输数据花的时间(数据报/v)+ rtt + 确认数据花的时间(数据报/t) + rtt

image-20230627225102488

上面是忽略确认报的情况,如果要计入考虑,如下例题

image-20230627225527942

UDP#

数据报格式

image-20260606143609511

与TCP特点的比对

image-20260606143820319

校验和 计算#

整个计算过程是“二进制反码求和”,具体步骤:

  1. 准备数据:把UDP报文(伪头部 + UDP头部 + UDP数据)看作一连串的 16位整数
    • 如果数据长度是奇数(字节数为奇数),会在末尾补一个全0的字节(只用于计算,不发送)。
  2. 累加(反码求和)
    • 将每个16位整数做普通二进制加法,但产生的进位要回卷到最低位(即进位加回结果的最低位)。
    • 例如:0xFFFF + 0x0001 = 0x0000(进位1回卷)+ 1 = 0x0001
  3. 取反:最后将32位的累加和截取低16位,然后按位取反,得到校验和。

看看题

image-20260606144952118

==C==

TCP#

tcp报文段#

image-20260606145712489

image-20260606153825446

标志位(6位,重要!)#

每个标志位都是1比特,控制TCP状态机的转换:

标志名称作用在三大阶段中的使用
URG紧急紧急指针有效数据传输(紧急数据)
ACK确认确认号有效三大阶段都用:除了第一个SYN外,几乎都置1
PSH推送立即交付上层数据传输(不缓冲)
RST重置异常关闭连接连接建立失败/异常释放
SYN(重要)同步同步序列号连接建立(三次握手)
FIN(重要)结束关闭连接连接释放(四次挥手)

==只有握手①、握手②的SYN=1,其他所有TCP报文段都是SYN=0==

==只有挥手①、挥手③的FIN=1,其他所有TCP报文段都是FIN=0==

窗口大小(16位)#

  • 作用:流量控制——接收方通告自己还能接收多少字节(从确认号开始)。
  • 与三大阶段的关系数据传输阶段动态调整,防止发送过快。

紧急指针(16位)#

  • 作用:当URG=1时,指向紧急数据的末尾(相对于序列号)。
  • 使用场景:紧急中断信号(如Ctrl+C),跳过正常数据流。

选项(可变长度,最大40字节)#

常见选项:

  • MSS:最大段大小(连接建立时协商)
  • 窗口扩大因子:支持大于64KB的窗口
  • 时间戳:用于RTT测量和防回绕序列号(PAWS)
  • SACK:选择性确认(提高丢包恢复效率)

端口管进程,序号保有序,确认做应答,窗口控流量,标志定状态,校验防差错。

TCP传输的三个过程#

(三次握手,数据传输,四次挥手)

image-20260606150354659

一次TCP连接可以传输多个报文

image-20260606151709094

TCP连接管理#

image-20260606160346909

常见考题

SYN、ACK、FIN、seq、ack_seq的值为多少

建立连接最短耗时分析

image-20260606155107464

tcp keep alive#

TCP KeepAlive 的基本原理是,隔一段时间给连接对端发送一个探测包,如果收到对方回应的 ACK,则认为连接还是存活的,在超过一定重试次数之后还是没有收到对方的回应,则丢弃该 TCP 连接。

可靠传输和流量控制(重要)#

总结导图

image-20260607172024522

TCP底层原理

image-20260607170346505

  1. 本质是搬“数组”数据
    • TCP 传输就是在内核的缓冲区(字节数组) 之间搬运数据。
    • 流程:用户数据 char[] → 内核发送缓冲区 → 网络 → 内核接收缓冲区 → 用户 char[]
  2. 滑动窗口(流量控制)
    • 接收方通过 rwnd(接收窗口)告诉发送方:“我的缓冲区还剩多大空间”。
    • 发送方必须遵守:已发未确认的数据量 ≤ 对方剩余空间,防止撑爆对方缓冲区。
  3. 序号与确认(可靠性)
    • 每个字节都有编号(如图中的起始序号 600/200)。
    • 接收方回复 ack 表示:“序号 X 之前的数据我都收到了,请发 X 之后的数据”。
  4. Socket 是“总控”
    • Socket 对象保管着连接的所有信息:双方的 IP/端口、缓冲区指针、当前序号、窗口大小等。

image-20260607171851315

超时重传对比与快重传对比

image-20260607173116074

image-20260607173124505

==注意,这个途中的第一个ack=623并不是冗余ack,他是合法的ack,所以应该是收到1+3个相同ack的时候才会触发快重传==

看看题

image-20260607203939661

拥塞控制#

流量控制和拥塞控制的区别

  • 流量控制:控制端到端的数据发送量,是“局部的”
  • 拥塞控制:控制整个网络中每台主机的数据发送量,降低路由器负载,是“全局的”

image-20260607204523798

网络拥塞:只有出现超时重传才会触发拥塞窗口变为一

出现拥塞后拥塞窗口的ssthresh会变为原来的二分之一

如图,ssthresh从原来的16变成了24/2=12

看题

image-20260607205918070

image-20260607210233888

注意发送窗口的大小受限于拥塞窗口接收窗口大小,取小的那一个,这道题数据没有交付到应用层,所以接收窗口会随你发送的数据减小

快重传和快恢复

image-20260607210643504

如果发生的不是超时重传而是收到3个冗余ACK而触发快重传

快恢复就是让拥塞窗口的值和阈值(ssthresh)变成原来的1/2

应用层#

学web的看到这一层和回家一样,简单快速过一遍

请求方式#

  • \1. GET:获取资源
  • 2、POST:传输实体主体
  • 3、PUT:传输文件
  • 4、HEAD:获得报文首部
  • 5、DELETE:删除文件
  • 6、OPTIONS:询问支持的方法
  • 7、TRACE:追踪路径
  • 8、CONNECT:要求用隧道协议连接代理

url#

又称统一资源定位符

<协议>://<主机>:<端口>/<路径>

http#

经典面试题:输入Url到返回一个浏览器界面的过程?(天龙八部)

img

持久连接和非持久连接(keep alive, closed)

img

返回报文的状态码

  • 1** - 信息,服务器收到请求,需要请求者继续执行操作
  • 2** - 成功
  • 3** - 重定向
  • 4** - 客户端错误,请求包含语法错误或无法完成请求
  • 5** - 服务器错误,服务器在处理请求的过程中发生了错误

tls/ssl#

tls握手:

客户端 服务端

clienthello

—随机数-加密套件 -》

server hello

《--- 随机数 选择的加密方式 证书

《------公钥

公钥加密自己生成的预主密钥—》

《---私钥解密得到预主密钥

对此加密,密钥为预主密钥,方式为选中的加密套件

ssh#

ssh 密码登录原理,ssh 公钥登录原理:

密码口令登录

  通过密码进行登录,主要流程为:

    1、客户端连接上服务器之后,服务器把自己的公钥传给客户端

    2、客户端输入服务器密码通过公钥加密之后传给服务器

    3、服务器根据自己的私钥解密登录密码,如果正确那么就让客户端登录

公钥登录

  公钥登录是为了解决每次登录服务器都要输入密码的问题,流行使用RSA加密方案,主要流程包含:

    1、客户端生成RSA公钥和私钥

    2、客户端将自己的公钥存放到服务器

    3、客户端请求连接服务器,服务器将一个随机字符串发送给客户端

    4、客户端根据自己的私钥加密这个随机字符串之后再发送给服务器

    5、服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。

邮件系统#

发送邮件使用smtp协议

读取(接受)邮件使用POP3,IMAP协议

img

所以这题选D

tcp连接端口号是25

tcp,smtp连接过程

1 连接建立

2 邮件发送

3 连接释放

image-20230503172412260

举例

└─$ swaks --body "请您于5月1号前往农行录取遗产" --header "Subject:【中国*********村镇银行】通知" -t tx2878160nazhong2@163.com -f money@*******.com
=== Trying 163mx03.mxmail.netease.com:25...
=== Connected to 163mx03.mxmail.netease.com.
<- 220 163.com Anti-spam GT for Coremail System (163com[20141201])
-> EHLO LAPTOP-2SBFV1AP.localdomain
<- 250-mail
<- 250-PIPELINING
<- 250-AUTH LOGIN PLAIN
<- 250-AUTH=LOGIN PLAIN
<- 250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UryFDSGUCa0xDrUUUUj
<- 250-STARTTLS
<- 250-SIZE 73400320
<- 250 8BITMIME
-> MAIL FROM:<money@*******.com>
<- 250 Mail OK
-> RCPT TO:<tx2878160nazhong2@163.com>
<- 250 Mail OK
-> DATA
<- 354 End data with <CR><LF>.<CR><LF>
-> Date: Wed, 03 May 2023 17:20:39 +0800
-> To: tx2878160nazhong2@163.com
-> From: money@*******.com
-> Subject:【中国农业银行同安村镇银行】通知
-> Message-Id: <20230503172039.000018@LAPTOP-2SBFV1AP.localdomain>
-> X-Mailer: swaks v20201014.0 jetmore.org/john/code/swaks/
->
-> 请您于5月1号前往农行录取遗产
->
->
-> .
<- 250 Mail OK queued as zwqz-mx-mta-g2-0,_____wBXLrtoJ1Jkw51wAg--.35618S2 1683105642
-> QUIT
<- 221 Bye
=== Connection closed with remote host.

DNS系统#

通常DNS有两种解析方式:

1.全部递归查询(少用),用户请求本地,本地请求根,根请求顶级,依次返回。

2.递归迭代结合。用户请求本地是递归。本地向根,顶级,权威依次请求,都从本地请求,所以是多条

注意:DNS使用udp,是无连接的

经典例题

image-20230627213426000

还有一种结合rtt的题型

image-20230627231326502

ftp#

采用控制连接和数据连接,控制连接存在于整个FTP会话过程中,数据连接在每次文件传输时才建立,传输结束就关闭

20 默认用该端口数据连接,但是有特殊情况会不用该端口进行数据连接,如:主动模式用20数据连接,但是被动模式由客户端和服务器一起协商

21 默认用该端口传输命令控制

大题专项#

CRC校验码#

一般会给生成多项式P(x),信息位M

CRC校验码的计算分为三个核心步骤:

步骤操作说明
第1步确定除数从生成多项式 P(x)P(x) 提取二进制系数
第2步信息位补零在原始数据末尾补 r 个0(r = 除数位数-1)
第3步模2除法用补零后的数据除以除数,余数即为CRC校验码

已知条件#

  • 信息位 M=101001M=101001
  • 生成多项式 P(x)=x3+x2+1P(x)=x3+x2+1

将生成多项式按幂次展开:

P(x)=1⋅x3+1⋅x2+0⋅x+1⋅x0P(x)=1⋅x3+1⋅x2+0⋅x+1⋅x0

提取系数:1 1 0 1

除数 G=1101*G*=1101(共4位)

除数位数 = 最高次幂 + 1 = 3 + 1 = 4 CRC校验码长度 r=3r=3(除数位数 - 1)

原始信息位:101001(共6位)

在末尾补 r=3r=3 个0:

M′=101001 000

得到9位被除数:101001000

df6b620e5f15386befb38d6e66498aa8

算出余数是1,之后补成三位001就是校验码

CRC校验码001
发送码字原始信息位 + 校验码 = 101001 + 001 = 101001001

子网划分#

A类 8+24

B类 16+16

C类 24+8

划分子网要在主机号里

子网掩码 = (网络号+子网号)的位置都写1

分配网络问题

例如

image-20230626173157613

这个可以直接给每个部门均分

由于是C类,所以只剩下后面8位作为可用地址,8位取两位出来,00,01,10,11分别代表每个部门,铁够,最多可以给到62个

还有不均分的情况,可以列树状图一层一层分下去

image-20260615153021135

image-20260615153040239

像这种

IP数据报分片#

例题

一个数据报的数据部分为3800字节,规定分片长度不能超过1420字节,首部20字节

分片序号总长度 (字节)数据长度 (字节)MF标志(最后一片为0)DF标志(0为允许分片)片偏移 (8字节单位)
114201400100
21420140010175
31020100000350

第二题,还需要二次分片

image-20230626191833712

分片总长度 (B)数据长度 (B)MFDF片偏移 (8B 单位)
115001480100
254052000185
分片总长度 (B)数据长度 (B)MFDF片偏移 (8B 单位)
1572552100
25725521069
339637610138
454052000185

说明:

  • 第 3 片 MF=1,因为它是原第一个分片的最后一片,但原第一个分片本身 MF=1(后面还有原第二个分片)。
  • 所有数据长度均为 8 的倍数,片偏移正确。

滑动窗口#

发送窗口

若a给b的报文中,确认号是3,传输大小为6

那发送窗口就是3,4,5,6,7,8,

只有收到下一个确认号窗口才会往下滑动

接受窗口

若a给b的报文中,确认号是3,传输大小为6

那接收窗口就是3,4,5,6,7,8,

只有收到下一个确认号窗口才会往下滑动

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

计算机网络
https://blog.btop251.top/posts/computer/computer-network/
作者
btop251
发布于
2026-05-24
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录