参考资料

网络设备:中继器、集线器、网桥、交换机、路由器、网关的超全总结 - 知乎

《计算机网络》(谢希仁)内容总结 | JavaGuide

主动攻击与被动攻击的区别 | Baeldung中文网

计算机网络的分类 - takenika - 博客园

ARP欺骗_百度百科

计算机网络基础知识总结 | 菜鸟教程

详解计算机网络按范围拓扑等六大维度分类-开发者社区-阿里云

XSS跨站脚本攻击详解(包括攻击方式和防御方式)-阿里云开发者社区

计算机网络知识点全面总结(有这一篇就够了!!!) - 知乎

资讯安全网: 拒绝服务 / 分布式拒绝服务攻击

什么是 SQL 注入攻击?如何阻止它 - 知乎

什么是SQL注入?SQL注入攻击与防御 - 华为

计算机网络.pdf

24 张图搞定 ICMP :最常用的网络命令 ping 和 tracert - 知乎

ARP 与 MAC 地址解析:局域网通信的第一步-腾讯云开发者社区-腾讯云

网络传输介质 - 知乎

计算机网络基本构成之通信子网与资源子网解析-开发者社区-阿里云

对等网络(网络种类)_百度百科

网络协议 | 菜鸟教程

计算机网络中的令牌环网络(IEEE 标准 802.5)详解与使用示例 |

以太网与令牌环网 - 知乎

《以太网权威指南》第二章:IEEE 以太网标准 - GPL-技术沉思录 - 博客园

【图说网规】以太网分类标准及接口编码规则 - 知乎

计算机网络——CSMA/CD协议 - 知乎

<七> 数据封装与解封装过程 - 知乎

什么是FDDI,FDDI的知识介绍 - 与非网

网络地址 0.0.0.0 与回环地址 127.0.0.1 的区别-腾讯云开发者社区-腾讯云

什么是私有 IP 地址?私有 IP 地址范围有哪些?-腾讯云开发者社区-腾讯云

异步传输模式 (ATM) - 技术教程

帧中继特性描述 - NetEngine 8000E F8 V800R024C00SPC500 配置指南 - 华为

网络基础知识:ADSL宽带、光纤入户、PPPoE拨号 - 知乎

《计算机网络》| 三种交换方式:电路交换、分组交换、报文交换 - 知乎

IP地址与子网掩码,一篇文章彻底讲透 - 知乎

网络安全:IPS和IDS有啥区别?-阿里云开发者社区

什么是防火墙?| 防火墙定义 - Palo Alto Networks

防火墙是什么?防火墙类别及工作原理详解 - 知乎

你知道什么是B/S和C/S架构吗?说说它们的区别 - 王铁柱6 - 博客园

什么是网络管理?有哪些方式?区别是什么? - 知乎

【计算机网络】计算机网络的三种交换方式——三种交换方式的性能比较-腾讯云开发者社区-腾讯云


计算机网络整体框架


一、网络概述与组成

1. 概念与功能

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

三大核心要素(做题看到缺一不可)

自治的计算机(有独立处理能力)

通信介质与设备

通信协议(最核心,没有协议就是一堆废铁)。

四大基本功能(常考排序和优先级)

数据通信(最基本功能,如微信聊天、发邮件)。

资源共享(最核心目的,包括硬件共享如网络打印机、软件共享、数据共享如数据库)。

分布式处理(多台计算机协同完成大型任务,如云计算、Hadoop集群)。

提高可靠性(一台机器宕机,另一台顶上,如服务器集群)。

2. 分类(按覆盖范围、按工作模式)

按覆盖范围分类(常考英文缩写和距离特征)

局域网 (LAN)

覆盖范围小(几百米到几公里),通常是单个建筑物或园区。

速率高(百兆、千兆、万兆),延迟低,误码率极低。

典型技术:以太网、Wi-Fi。

城域网 (MAN)

覆盖一个城市(几公里到几十公里)。

通常作为骨干网连接多个LAN。

广域网 (WAN)

覆盖国家甚至全球(几百到几万公里)。

速率相对较低,延迟大,误码率高。

Internet就是最大的WAN。

按工作模式分类(与后面的C/S、B/S架构强关联)
对等网络

没有专用的服务器,每台电脑既是客户端也是服务器,地位平等。

适合小范围、安全要求低的场景。

基于服务器的网络

有专门的高性能服务器集中管理资源和权限,客户机请求服务。

适合企业级、安全要求高的场景。

3. 资源子网 vs 通信子网

资源子网(负责“干活”和“提供资源”)
组成

主机(服务器、工作站/PC)、终端、外设(打印机、存储设备)、软件资源。

功能

数据处理、提供网络共享资源。

除了网线和转发设备,你看得见摸得着、用来工作和存数据的东西,都在资源子网。

通信子网(负责“跑腿”和“搬运数据”)
组成

通信控制处理机(CCP,如路由器、交换机)、通信链路(双绞线、光纤等传输介质)。

功能

提供数据传输和交换功能。

注意:

网卡属于通信子网(它是网络接口卡,负责信号转换),

集线器/交换机/路由器属于通信子网。

千万不要把服务器归到通信子网!

4. 网络传输介质

有线介质
双绞线 (TP)

最常用。

分为无屏蔽(UTP)和屏蔽(STP)。

网线接口是RJ-45。

距离限制通常在100米左右。

同轴电缆

早期以太网和有线电视使用,抗干扰比双绞线强,但现在局域网中基本被淘汰。

光纤

利用光全反射传输。

分为单模光纤(长距离、高成本、激光、芯细)和多模光纤(短距离、低成本、LED、芯粗)。

骨干网必用,速率极高、完全抗电磁干扰。

无线介质

无线电波(Wi-Fi、蓝牙、4G/5G)
微波(卫星通信)
红外线(短距离、直线视距)

5. 常见网络设备与工作层次

设备名 = OSI层数 = 处理的地址类型 = 处理的PDU单位。

隔离冲突域的:网桥、交换机、路由器。

隔离广播域的:只有路由器(默认情况下)。

物理层设备(只懂0和1,不懂什么叫“地址”和“协议”)
中继器

对衰减的信号进行放大和整形,延长传输距离。

注意:它不能过滤冲突域。

集线器

多端口中继器。

本质是一个“大广播喇叭”,收到任何数据包都会向所有其他端口复制一份。

辨析:物理层设备连接的网段,依然在同一个“冲突域”里。

数据链路层设备(认识MAC地址,能看懂“帧”)
网桥

根据MAC地址表转发数据帧,能隔离冲突域(把大网切成小网,减少碰撞)。

交换机

多端口网桥。

能隔离冲突域,但不能隔离广播域。

它根据目标MAC地址进行精准转发。

网络层设备(认识IP地址,能看懂“IP分组”)
路由器

连接不同的网络(网段),根据路由表选择最佳路径转发IP分组。

既能隔离冲突域,也能隔离广播域。

三层交换机

带有路由功能的交换机,主要用于局域网内不同VLAN之间的高速路由。

应用层/高层设备
网关

概念最广的词。

当连接两个协议完全不同的网络时(比如局域网连IBM大型机),需要网关进行“协议转换”。

网关工作在传输层及以上(通常是应用层)。

二、网络体系结构与协议(OSI & TCP/IP)

1. 为什么需要分层?(理解底层逻辑)

如果不分层,写网络程序就像写一团乱麻:

既要管怎么发比特流,又要管怎么找路,还要管怎么加密。

分层的好处就四个词:各层独立、灵活性好、易于实现和维护、促进标准化工作。

快递系统就是分层的。你只管把东西打包交给驿站(应用层),驿站管分拣(网络层),货车管运输(物理层),各干各的,互不干涉。

2. OSI 七层参考模型

OSI是理论上的“宪法”,虽然现实中不用,但它是出题人的“母语”。

必须从上到下倒背如流:应、表、会、传、网、链、物

第7层:应用层

直接为用户的应用程序提供服务(人机交互的窗口)。

典型协议:HTTP、FTP、SMTP、DNS、Telnet。

PDU(数据单位):报文。

第6层:表示层

负责“翻译”和“格式化”。解决不同系统之间的数据表示差异。

三大任务:数据格式转换(如ASCII转EBCDIC)、数据加密/解密、数据压缩/解压缩。

JPEG、MPEG等格式标准在理论上属于这一层。

第5层:会话层

负责建立、管理和终止“会话”(对话)。

典型场景:

你在视频会议,会话层负责判断是谁在说话(单工/半双工/全双工),以及在网络断开时负责“断点续传”(设置同步点)。

第4层:传输层 —— (端到端的分水岭)

负责两台主机上进程到进程的通信。它是资源子网和通信子网的边界。

核心机制:

端口寻址(区分同一台电脑上的微信和浏览器)、可靠传输(TCP)、流量控制、拥塞控制。

PDU:

报文段(TCP产生) / 用户数据报(UDP产生)。软考常统称为“段”。

第3层:网络层

负责“找路”,决定数据包从源端到目的端走哪条路径(路由选择)。

核心机制:逻辑寻址(IP地址)、路由算法。

PDU:分组 / 数据报。软考常统称为“包”。

第2层:数据链路层

在相邻节点之间可靠地传输“帧”。

物理层只管传0和1,链路层负责把这些0和1组装成有头有尾的“车厢”。

核心机制:

物理寻址(MAC地址)、成帧、差错控制(CRC校验)、流量控制。

PDU:帧。

第1层:物理层

负责在物理媒体上透明地传输原始的比特流(0和1)。

核心机制:

定义接口的机械特性(插头长啥样)、电气特性(电压几伏)、功能特性(哪根线发哪根线收)、规程特性。

PDU:比特。

3. TCP/IP 四层模型

TCP/IP 是事实上的工业标准,实际在用的模型。

它把 OSI 的七层简化了。

网络接口层

对应 OSI 的物理层 + 数据链路层。

网际层

对应 OSI 的网络层。

传输层

对应 OSI 的传输层。

应用层

对应 OSI 的应用层 + 表示层 + 会话层。

注意:

HTTP、FTP这些协议在TCP/IP里统统叫应用层协议,不要选表示层!

4. 协议归属

ARP(地址解析协议):IP转MAC。

很多教材和旧题说它在网络层,也有说在链路层。

软考标准答案倾向:

由于它是为网络层IP服务的,且不使用IP头,很多软考真题将其归为网络层(网际层)。

如果选项有网络层,选网络层。

ICMP(网际控制报文协议):Ping和Traceroute用的协议。

网络层。它封装在IP包里,但属于网络层协议。

PING 命令:

问“Ping命令使用了哪种传输层协议?”

答案是:没有!它直接封装在ICMP里,不经过TCP也不经过UDP!

RARP(逆地址解析协议):MAC转IP。

同ARP,归为网络层。

5. 数据的封装与解封装

数据从上往下发,就像俄罗斯套娃,每过一层加一个“头”(有时加尾)。

封装过程(发送方)

应用层产生:【数据】

传输层加工:加上TCP/UDP头(含端口号) ➡️ 变成:【报文段】

网络层加工:加上IP头(含源/目的IP) ➡️ 变成:【数据报/分组】

链路层加工:加上MAC头和MAC尾(含源/目的MAC、FCS校验) ➡️ 变成:【帧】

物理层加工:变成比特流发到网线上 ➡️ 【比特】

解封装过程(接收方)

反过来,一层一层剥开,每层只看自己的头,干完活就把头去掉,传给上一层。

6. 记忆口诀

PDU口诀

“应表会传网链物,报报报包帧比特”(应用/表示/会话都是报文,传输是段/报文,网络是包,链路是帧,物理是比特)。

设备层次口诀

“物中集,链网交,网层路,高网关”(物理层-中继器/集线器,链路层-网桥/交换机,网络层-路由器,高层-网关)。

地址层次口诀

“物无址,链MAC,网IP,传端口”(物理层没有地址概念,链路层用MAC地址,网络层用IP地址,传输层用端口号区分进程)。

三、局域网技术与标准

1. 局域网的拓扑结构(结合访问控制方式理解)

局域网的拓扑结构直接决定了它的“交通规则”(介质访问控制方法)。

总线型拓扑

所有设备挂在一根主干电缆上。

规则:大家共用一条路,必须有一个“先来后到”的规则,这就诞生了 CSMA/CD。

缺点:一处断线,全网瘫痪;容易发生“交通堵塞”(冲突)。

星型拓扑

所有设备通过独立的线缆连接到中心设备(集线器或交换机)。

现在我们看到的星型以太网,用集线器连接时,物理上是星型,逻辑上依然是总线型(集线器是傻瓜,收到包还是全广播,所以还要用CSMA/CD);

用交换机连接时,才是真正的星型,各自独享带宽,不需要CSMA/CD。

环型拓扑

设备首尾相连形成一个闭合的环。

规则:不能像总线那样抢,必须有一个“通行证”在环上转,谁拿到通行证谁才能发数据。这就诞生了 令牌传递。

2. IEEE 802 标准家族

局域网标准主要由 IEEE 802 委员会制定。

IEEE 802.1

局域网概述、体系结构、网络互联(网桥/路由器协议)、VLAN等。

IEEE 802.2

逻辑链路控制(LLC)子层。(现在基本已经融入上层,考得极少)

IEEE 802.3

以太网(绝对的C位)。

IEEE 802.5

令牌环网。

IEEE 802.11

无线局域网,也就是 Wi-Fi。

3. 以太网与 CSMA/CD

以太网(802.3)占据了当今局域网 99% 的江山,它的核心灵魂就是 CSMA/CD(载波监听多路访问/冲突检测)。

CSMA/CD 的 16 字真言
先听后发

发送数据前,先监听线路上有没有别人在发(有没有载波)。

边发边听

如果线路空闲,开始发送数据,但不能闭着眼睛发,要一边发一边检测线路上电压的变化。

冲突停发

如果发现线路上电压异常(说明别人也在发,发生了碰撞/冲突),立刻停止发送原本的数据,并发送一个简短的“干扰信号”(Jam Signal)通知全网发生冲突了!

随机退避重发

冲突后,不能马上重发(否则会再次冲突)。

各自等待一个随机的时间(二进制指数退避算法),然后再回到第1步“先听后发”。

相关问题

题目问:“传统以太网(共享式集线器环境)的核心协议是什么?” ➡️ 答:CSMA/CD。

题目问:“现在普遍使用的全双工交换式以太网还需要 CSMA/CD 吗?”

➡️ 答:不需要!因为交换机提供了独享的链路,点对点连接,不可能发生冲突。所以全双工模式下,CSMA/CD 协议已经被彻底禁用/弃用。

4. 以太网的命名规则

公式

[数据传输率] + [信号方式] + [最大网段长度或介质类型]

前缀(速率)

10 代表 10Mbps;

100 代表 100Mbps(快速以太网);

1000 代表 1000Mbps/1Gbps(千兆以太网)。

中间(信号方式)
Base:代表基带传输

以太网绝大多数都是 Base,即数字信号直接送上网线,占满整个频带。

以太网是基带网,不是宽带网!

Broad:代表宽带传输

早期有线电视网用的方式,现在局域网不用了。

后缀(介质或长度)
T

Twisted pair(双绞线)。如 10Base-T(10兆,双绞线)。

F

Fiber(光纤)。如 10Base-F。

数字

通常代表最大网段长度(单位:百米)。

10Base-5(最大网段500米,粗同轴电缆);

10Base-2(最大网段185米,四舍五入叫2,细同轴电缆)。

千兆以太网的后缀升级
SX

Short wavelength(短波长激光,多模光纤,距离短,便宜)。

LX

Long wavelength(长波长激光,单模/多模光纤,距离长,贵)。

CX

Copper(铜线,双绞线,距离极短,机房内部用)。

问“需要跨越2公里连接两栋楼,用哪种千兆网线最合适?”

➡️ 选 1000Base-LX。

5. 令牌环网 (802.5) 与 FDDI

令牌环网 (IEEE 802.5):

机制

环上有一个特殊的数据帧叫“令牌”,沿着一个方向循环。

站点想发数据,必须抓住空闲的令牌,把数据挂上去发出去,数据绕一圈回来后再释放令牌。

优点

绝对不会发生冲突(因为同一时刻只有一个令牌);

在重负载(人特别多、网络很堵)的情况下,效率比以太网高,且延迟稳定(有保障)。

缺点

轻负载(就一个人上网)时效率低(还得傻等令牌转过来);

环断了全网瘫痪(后来发展出星型连线逻辑环的物理结构缓解此问题)。

FDDI(光纤分布式数据接口)
本质

就是“光纤版”的令牌环网,速率达到 100Mbps,早期用作校园网或骨干网。

双环自愈

FDDI 有两根光纤环(主环和副环)。

平时主环顺时针传数据,副环备用。

如果主环断了一处,两边断点会自动把主副环接通,形成一个完整的大环继续工作,这就是“自愈”能力。

题目问“FDDI如何提高可靠性”,直接答双环自愈。

四、广域网与互联网接入

1. 三种交换技术的本质对比

广域网的核心是“跨越长距离把数据传过去”,怎么传?

电路交换

就像打电话。

发数据前,必须先建立一条从起点到终点的“专用物理通路”。通上之后,这条线路就被你独占了,哪怕你不说话(不发数据),别人也不能用。挂了电话才释放线路。

优点

一旦建立连接,延迟极小且稳定,适合实时语音/视频。

缺点

线路利用率极低(发短信的间隙线路全浪费了);

建链慢。

报文交换

就像发平信(整个包裹)。

不需要建专用线路,把整个数据包(报文)作为一个整体,像接力一样,经过一个个节点存储下来,再转发给下一个节点。

缺点

要求每个中间节点有巨大的缓存空间;

延迟非常大(因为要等整个包存完再转发)。现在基本不用了。

分组交换

就像发快递(拆成很多小包裹)。

把大数据切成一个个固定大小的小块(分组/包),每个包贴上目的地址(IP头),各自独立地在网络中“闯关”(存储-转发)。

走哪条路、中间被塞在哪个路由器里排队都不一定,最后在目的地再拼装起来。

Internet的基石就是分组交换。

优点

线路利用率极高(不同人的包可以穿插在同一条线路上传);

不需要独占线路;

有纠错机制(一个包丢了,重传这一个包就行,不用重传整个大文件)。

缺点

有额外开销(每个包都要加头部);延迟不稳定(可能遇到堵车排队);不适合极高要求的实时通话(会有卡顿感)。

总结与对比

问“Internet采用什么交换技术?” ➡️ 答:分组交换。

问“哪种交换方式延迟最小、实时性最好?” ➡️ 答:电路交换。

问“哪种交换方式线路利用率最高?” ➡️ 答:分组交换。

2. 常见互联网接入技术

xDSL(数字用户线路)
本质

利用现有的电话线(铜线)来传数字信号,不用重新布线。

ADSL(非对称数字用户线路)

“非对称”是灵魂:

下行带宽(下载)远大于上行带宽(上传)。

为什么?因为普通网民绝大多数操作是“看网页、看视频”(下行大),而“发邮件、发请求”(上行极小)。

非对称设计能最大化利用电话线的频带。

光纤接入网(FTTx - 光纤到某处)
本质

用光纤代替铜线,速率天花板极高(千兆、万兆)。

FTTH(Fiber To The Home)

光纤到户。

现在最普及的终极形态,光纤直接拉到你家弱电箱,插光猫。

FTTB(Fiber To The Building)

光纤到楼。

光纤拉到楼道,楼道里放个交换机,最后一段用网线(双绞线)拉到你家(早期宽带常用)。

FTTC/FTTZ

光纤到路边/小区。

底层技术

现在光纤接入主流用的是 PON(无源光网络) 技术(如EPON、GPON)。

“无源”的意思是中间的分光器不需要插电,非常省事且故障率低。

HFC(光纤同轴混合网)

广电网络用的,主干用光纤,进入小区到你家电电视插座那一段用有线电视的同轴电缆。

可以通过 Cable Modem 上网,但现在基本被 FTTH 淘汰了。

3. 点对点协议(PPP)

当你用路由器连上运营商的光猫(或者以前用猫拨号上网时),路由器和光猫之间那条线路上跑的协议就是 PPP。

特点:

简单、面向连接、不能发广播包(和以太网不同)、支持身份验证(比如输入宽带账号密码,协议叫 PAP 或 CHAP)。

它是目前互联网中最广泛的数据链路层协议之一。

4. “老古董”广域网协议

X.25

特征词:早期的、古老的分组交换网协议。

关键点:

它太“谨慎”了,在每一个中间节点都要做繁琐的差错校验和流量控制,导致开销巨大、速度极慢。现在已经被淘汰。

帧中继(Frame Relay)

特征词:X.25的升级版/简化版。

关键点:

它吸取了教训,认为现在的光纤很靠谱,不会轻易出错,所以大胆去掉了中间节点的差错控制(出错就让两头的电脑自己重传)。因此,帧中继比X.25快得多,开销小很多。

ATM(异步传输模式)

曾经想一统天下的“完美协议”,结果被以太网打败。

ATM传输的数据单元叫“信元”,并且长度是固定的 53字节(其中5字节是头部,48字节是有效载荷)。

看到“固定53字节”、“信元交换”,闭着眼睛选ATM。

为什么固定长度?为了降低交换节点的处理延迟,方便硬件实现(当年想用来传语音和视频的,结果还是拼不过简单粗暴的IP网)。

五、TCP/IP 协议族

1. 网络层核心协议

网络层(网际层)的核心任务是“找路和转发”,它的代表协议是IP。

IP 协议的本质特征

无连接:发数据前不需要先和目标建立连接,直接丢给路由器就发。

不可靠:IP协议本身不管数据丢没丢、乱没乱序,它只提供“尽力而为”的服务。

题目问“IP协议能保证数据可靠到达吗?”

➡️ 答:不能! 可靠性是上层TCP的事,IP不背这个锅。

ICMP 协议(网络层报错员)

作用

因为IP本身不可靠,出错了怎么办?

ICMP就是用来传递“差错报告”和“网络探测信息”的。

应用

Ping:测试网络连通性。利用ICMP的回送请求和回送应答报文。

Tracert / Traceroute:

追踪数据包经过的路由器节点。利用ICMP报文的TTL(生存时间)超时机制。注意:

千万记住,Ping和Tracert都没有用到TCP或UDP,它们直接封装在IP数据报里调用ICMP!

ARP 与 RARP(地址翻译官)
ARP(地址解析协议)

已知目标IP地址,求目标的MAC地址。

RARP(逆地址解析协议)

已知自己的MAC地址,求自己的IP地址(早期无盘工作站用来获取IP,现在已被DHCP淘汰)。

ARP工作过程

主机先查本地的 ARP缓存表,有就直接用。

没有就发 ARP请求包。

请求包是广播发送的(MAC地址全填F,问局域网所有人:“谁是192.168.1.5?请告诉我你的MAC”)。

只有IP匹配的主机会回应 ARP响应包。

响应包是单播发送的(直接把MAC私发给询问者)。

2. 传输层:TCP vs UDP

传输层负责“端到端”(进程到进程)的通信,通过端口号来区分同一个电脑上的不同软件(如微信端口和浏览器端口不同)。

特性

TCP(传输控制协议)

UDP(用户数据报协议)

连接性

面向连接(传数据前必须三次握手)

无连接(想发就发)

可靠性

高可靠(确认、重传、排序)

不可靠(尽最大努力交付,不保证到达)

传输方式

字节流(把数据看成一连串无结构的字节)

报文(保留数据报文的边界,一次发一个完整包)

开销与速度

头部最小20字节,开销大,速度相对慢

头部仅8字节,开销极小,速度极快

拥塞/流量控制

有(滑动窗口机制,不让网络塞车或接收方崩溃)

无(发了就不管了)

典型应用

浏览网页(HTTP)、发邮件(SMTP)、文件传输(FTP)

视频会议、语音通话(VoIP)DNS查询、直播

看到“实时性要求高、允许少量丢包、视频/语音/直播”,闭眼选UDP;

看到“不允许丢任何一个字节、文件下载、网页浏览”,闭眼选TCP。

3. TCP 的“灵魂三问”

第一问:怎么建立连接?—— 三次握手
目的

双方确认彼此的发送和接收能力都正常;同步初始序号。

过程描述

客户端发 SYN=1, seq=x 给服务器

(客户端:我要连你,我的初始号是x)。

服务器回 SYN=1, ACK=1, seq=y, ack=x+1

(服务器:好的我收到你了,我也要连你,我的初始号是y)。

客户端发 ACK=1, seq=x+1, ack=y+1

(客户端:好的我也收到你了,连接建立!)。

为什么是三次握手,不是两次?

答:为了防止失效的连接请求突然到达服务器,产生错误和资源浪费。 假设只有两次,客户端发了一个请求A,因为网络拥堵滞留了,客户端超时又发了请求B并成功建立连接、传完数据断开。这时候,滞留的请求A突然到达服务器,服务器以为客户端又要连,于是发确认并一直傻等,白白浪费资源。第三次握手让服务器知道,客户端到底有没有真正请求连接。

第二问:怎么断开连接?—— 四次挥手

过程描述

主动方发 FIN=1

(我数据发完了,要关闭发送通道)。

被动方回 ACK

(好的,我知道了,但我可能还有数据没发完,你等我)。

(过一会儿) 被动方发 FIN=1

(我数据也发完了,我也要关闭发送通道了)。

主动方回 ACK(好的,我知道了),进入 TIME_WAIT 状态,等待 2MSL 时间后真正释放连接。

为什么建立是三次,断开是四次?

答:因为TCP是全双工的。建立连接时,服务器的ACK和SYN可以合并成一个包发(所以三次);断开连接时,当主动方发FIN时,被动方可能还有没发完的数据,所以被动方只能先回一个ACK(表示我听到了),等数据全发完了,才能再发一个FIN(表示我也发完了)。所以多了四次。

第三问:怎么保证数据不丢、不堵?—— 可靠传输机制
确认与重传

发出去的包,接收方必须回ACK。超时没收到ACK,发送方就重传。

序列号

给每个字节编号,接收方可以根据序列号对乱序到达的包进行重新排序。

滑动窗口(流量控制)

接收方在ACK包里告诉发送方:“我现在只能接收1000个字节了(窗口大小)”。

发送方就严格控制发出去的在途数据不超过1000字节,防止接收方内存溢出。

拥塞控制(防塞车)

全局性的控制。发送方有一个“拥塞窗口”,刚开始慢发(慢启动,指数增长),如果没丢包就慢慢加速(拥塞避免,线性增长),一旦发现丢包(塞车了),立刻踩刹车减半(快重传、快恢复)。

4. 应用层与端口号

端口号范围:0~65535。

其中 0~1023 是“知名端口”(系统保留,需管理员权限),1024~49151 是注册端口,49152~65535 是动态/私有端口。

“带S vs 不带S”
不带 S 的是“明文/不安全”的

HTTP、Telnet、FTP。

带 S 的是“加密/安全”的(Secure)

HTTPS、SSH、SFTP。

特例:SMTP 带S但不是加密的,它的加密版叫 SMTPS。

必背端口清单

FTP:21(控制连接,发命令)、20(数据连接,传文件)

➡️ 注意FTP是双端口!

SSH:22(安全远程登录)

Telnet:23(明文远程登录,现在淘汰了)

SMTP:25(发邮件)

DNS:53(域名解析)

DHCP:67(服务器端)、68(客户端)

TFTP:69(简单文件传输,基于UDP)

HTTP:80(网页)

POP3:110(收邮件)

HTTPS:443(加密网页)

SNMP:161(网络管理协议)

六、IP 地址与子网划分

1. IPv4 基础与分类

IPv4 是 32 位二进制数,为了人眼好看,用点分十进制表示(如 192.168.1.100)。

传统上分为五类,重点看前三位:

A 类

0 开头(第1位是0)。

范围 0.0.0.0 ~ 127.255.255.255。

默认子网掩码 /8。

B 类

10 开头(前2位是10)。

范围 128.0.0.0 ~ 191.255.255.255。

默认子网掩码 /16。

C 类

110 开头(前3位是110)。

范围 192.0.0.0 ~ 223.255.255.255。

默认子网掩码 /24。

D 类

1110 开头。

组播地址(一对多通信,如视频会议)。

E 类

1111 开头。

保留做实验用。

2. 特殊 IP 地址

私有地址(内网地址)

不能直接出现在互联网上,用于企业内部。

A类私有

10.0.0.0 ~ 10.255.255.255 (10.0.0.0/8)

B类私有

172.16.0.0 ~ 172.31.255.255 (172.16.0.0/12)

注意:不是172.0到172.255,是从16开始到31!

C类私有

192.168.0.0 ~ 192.168.255.255 (192.168.0.0/16)

回环地址

127.0.0.1(代表本机自己)。

Ping 127.0.0.1 通了,说明本机的 TCP/IP 协议栈安装正常。

网络地址

主机号全为 0 的地址(如 192.168.1.0)。

代表一个网段本身,不能分配给具体电脑。

广播地址

主机号全为 1 的地址(如 192.168.1.255)。向这个地址发数据,网段内所有主机都能收到,不能分配给具体电脑。

0.0.0.0

代表未指定地址,或者代表默认路由。

255.255.255.255

受限广播地址,只在本局域网内广播,路由器不会转发它。

3. 子网掩码

换算工具:在线网络计算器 | TCP/IP子网掩码计算换算 —在线工具

子网掩码的作用就是告诉电脑:“IP地址里,哪些位数是网络号,哪些位数是主机号”。

规则

掩码永远是连续的 1 接着连续的 0。

1 对应网络号,0 对应主机号。

写法

255.255.255.0 ➡️ 数前面有几个 1?8+8+8+0 = 24个1 ➡️ 写成 /24(这叫 CIDR 表示法)。

/26 ➡️ 前 26 位是 1 ➡️ 11111111.11111111.11111111.11000000 ➡️ 255.255.255.192(/26)。

4. “块大小”公式

公式

块大小 = 256 - 掩码中最后一个非 255 的数字

什么是块大小?

块大小就是子网的步长,每个子网包含的 IP 总数。

举例

掩码是 255.255.255.192。

最后一个非255的数字是 192。

块大小 = 256 - 192 = 64。

意思是:这个网段是从 0 开始,每次跳 64 个数。

子网划分分别是:0-63,64-127,128-191,192-255。

5. 三大经典计算套路

套路一:已知 IP 和掩码

已知 IP 和掩码,求【网络地址】、【广播地址】、【可用主机范围】

题目

IP 是 192.168.1.130,掩码是 255.255.255.192(即 /26)。求这三样。

秒杀步骤

算块大小:256 - 192 = 64。

找网络号(落入哪个坑):

64 的倍数是 0, 64, 128, 192。130 落在 128 和 192 之间。所以 网络地址是 192.168.1.128。

找广播地址:

下一个坑的前一个数。128 这个坑的终点是 191(因为下一个坑从192开始)。所以 广播地址是 192.168.1.191。

找可用主机范围:

掐头去尾(去掉网络号和广播号)。所以范围是 192.168.1.129 ~ 192.168.1.190。

(可选计算:能容纳多少台主机?公式 2^n - 2。掩码/26,主机位有 32-26=6 位。2^6 - 2 = 62 台。)

套路二:判断两个 IP 是否在【同一个网段】
题目

IP1 是 192.168.1.130,IP2 是 192.168.1.66,掩码都是 /26。它们能直接通信吗?

秒杀步骤

把两个 IP 分别用上面的套路一求出“网络地址”。

IP1(130) 的网络地址是 128。

IP2(66) 的网络地址是 64。

结论

网络地址不同,不在同一网段,不能直接通信,必须跨路由器。

套路三:根据【主机数量需求】,反推【子网掩码】
题目

你需要划分一个子网,里面要容纳 50 台主机,请问掩码该写多少?

秒杀步骤

用公式反推需要几位主机位:2^n - 2 \ge 50。

试几个数:n=5,2^5-2=30(不够);n=6,2^6-2=62(够了)。所以需要 6 位主机位。

算网络位:总共 32 位,减去 6 位主机位 = 26 位网络位。

答案:掩码就是 /26,即 255.255.255.192。

6. IPv6 基础速记

IPv4 快不够用了,IPv6 是下一代。

长度与表示:128 位。

用冒号十六进制表示。

(如 2001:0DB8:0000:0000:0000:FF00:0042:8329)。

省略规则

前导零可以省略(0DB8 写成 DB8,0042 写成 42)。

连续的全零块(注意必须是一段里的全零,不能把两个不连续的零合并),可以用双冒号 :: 只写一次。比如上面那个长串可以写成:2001:DB8::FF00:42:8329。

特点(与IPv4对比)

没有广播地址(用组播代替);

头部更简单,路由器处理更快;

内置 IPSec 安全协议(IPv4是可选外挂的)。

过渡技术

不可能一天全换完,怎么兼容?

双栈策略

同时安装 IPv4 和 IPv6 协议栈(最基础)。

隧道技术

把 IPv6 的包塞进 IPv4 的包里,在现有的 IPv4 网络里传输(像坐地铁过江)。

七、网络命令与诊断

1. IP 配置与释放命令

当你连接到局域网(如公司网、Wi-Fi),获取不到IP或者IP冲突时,用这些命令。

Windows 环境
ipconfig

查看本机所有网卡的 IP 地址、子网掩码、默认网关。(最基础的命令)。

ipconfig /all

必考。查看“详细”信息。不仅能看到IP,还能看到物理地址(MAC)、是否开启 DHCP、DHCP 服务器的 IP 是多少、DNS 服务器地址等。

ipconfig /release

释放当前通过 DHCP 获取的 IP 地址(把IP还给服务器,变成 169.254.x.x 这种无效地址)。

ipconfig /renew

重新向 DHCP 服务器申请 IP 地址。(排错套路:网络断了,经常先 /release 再 /renew 刷新一下)。

ipconfig /flushdns

清空本机的 DNS 解析缓存。(排错套路:网站 IP 变了,但你电脑还记着旧的,打不开网站,用这个命令清一下缓存)。

Linux 环境对应
ifconfig 或 ip addr(简写 ip a)

相当于 ipconfig。

dhclient -r

释放 IP。

dhclient

重新获取 IP。

2. 连通性测试命令

ping 命令

基于 ICMP 协议,测试两台机器之间能不能通。

常用参数
-t

不停地 ping(Windows特有,测试长时间稳定性用,Ctrl+C 停止)。

-n count

指定 ping 的次数(如 ping -n 4 192.168.1.1)。

-l size

指定发送的数据包大小(默认是32字节,可以用来测试网络能传多大的包不被分片,如 -l 1500)。

黄金排错步骤

当你发现“上不了网”时,正确的 ping 顺序应该是从内到外:

ping 127.0.0.1

Ping 本机回环地址。

如果通,说明本机的 TCP/IP 协议栈安装正常(网卡硬件驱动到操作系统这层没坏)。

如果不通,重装系统网络组件。

ping 本机IP(如 192.168.1.10)

如果通,说明网卡硬件设备工作正常。

如果不通,检查网卡灯亮不亮,网线接没接。

ping 同网段其他IP(如邻居电脑)

如果通,说明本局域网内部通信正常。

如果不通,检查交换机、网线、或者是否处于不同的 VLAN。

ping 默认网关(如 192.168.1.1,通常是你家光猫或路由器)

如果通,说明你到出口的第一道门是通的。

如果不通,说明你配的网关错了,或者路由器死机了。

ping 公网IP(如 114.114.114.114,这是国内的公共DNS)

如果通,说明整个互联网的路由是通的。

ping 域名(如 ping www.baidu.com

如果第5步通了,但这步不通(提示找不到主机),百分之百是 DNS 解析故障!

“能上QQ但打不开网页”

➡️ 为什么?因为QQ直接用IP通信(跳过了第6步),而网页要用域名(卡在第6步),DNS坏了。去 ipconfig /flushdns 或改 DNS 设置。

3. 路由追踪命令

作用

不仅告诉你目标通不通,还告诉你中间经过了哪些路由器,以及卡在哪个路由器上了。

Windows

tracert 目标IP或域名(如 tracert www.baidu.com)。

Linux

traceroute 目标IP或域名。(注意拼写区别,考试常混在一起让你选)。

如果前面几跳都很正常(几十毫秒),突然某一行出现    请求超时,说明故障点就出在那个路由器或者它后面的链路上。

4. 端口与连接状态查看

netstat 命令

查看本机当前所有的网络连接、端口监听状态、路由表。

常用参数组合:netstat -ano
-a

显示所有连接和监听端口。

-n

以数字形式显示 IP 和端口(不加 -n 的话,它会试图把 IP 反解析成域名,非常慢)。

-o

显示进程 PID(极其重要!)。

看什么状态
LISTENING

表示某个程序正在这个端口“蹲守”(比如 80 端口 LISTENING,说明开了 Web 服务器)。

ESTABLISHED

表示双方已经建立好连接,正在传数据。

 “提示 8080 端口被占用,启动 Tomcat 失败怎么办?”

➡️ 答:在 CMD 敲 netstat -ano | findstr 8080,找到最后一列的 PID 数字,然后打开“任务管理器” -> “详细信息”,找到这个 PID 的进程并结束掉。

Linux 对应

netstat -tunlp 或 ss -tunlp(ss 是新一代命令,更快)。

-t TCP,-u UDP,-n 数字,-l 监听,-p 显示进程名。

5. DNS 诊断命令

nslookup 命令

用来查询 DNS 的记录,看域名到底解析成了什么 IP,或者用来测试指定的 DNS 服务器好不好用。

用法

直接敲 nslookup www.baidu.com,它会先显示你当前用的默认 DNS 服务器,然后显示解析结果。

进阶用法

nslookup www.baidu.com 8.8.8.8(强制使用谷歌的 DNS 去解析,用来对比是不是你本地 DNS 的问题)。

Linux 对应

dig www.baidu.com 或 nslookup(Linux 下 dig 显示的信息更专业、更全面)。

八、Internet/Intranet 应用

1. DNS(域名系统)

DNS 的核心任务是把“人类爱看的域名”翻译成“机器爱看的 IP 地址”。

解析顺序(本地优先):

浏览器缓存 ➡️ 操作系统缓存(如 hosts 文件) ➡️ 本地域名服务器(LDNS) ➡️ 根域名服务器 ➡️ 顶级域名服务器 ➡️ 权威域名服务器。

递归查询 vs 迭代查询

 “递归是我帮你跑腿,迭代是我告诉你路你自己跑”。

递归查询

客户端 ➡️ 本地 DNS 服务器。客户端说:“你帮我找百度的IP,找不到你就别回来。” 本地 DNS 必须给出最终结果。

迭代查询

本地 DNS ➡️ 根/顶级/权威 DNS。

本地 DNS 问根服务器:“百度在哪?”

根服务器说:“我不知道具体IP,但你去问 .com 顶级服务器吧,这是它的地址。”

本地 DNS 只好自己再去问 .com 服务器……这叫迭代。

主机向本地 DNS 服务器的查询是递归;

本地 DNS 服务器向根/顶级/权威 DNS 服务器的查询是迭代。(通常是一次递归,N次迭代)。

2. WWW 与 HTTP 协议

HTTP 是万维网的数据传输基础,它基于 TCP(可靠传输),默认端口 80。

HTTP 的核心特征

无状态

服务器记不住你。你发一次请求,服务器处理完就忘了你是谁。

(引申考点:为了解决无状态带来的麻烦,后来发明了 Cookie 和 Session 来保持登录状态)。

请求-响应模型

永远是客户端先主动发请求,服务器被动回响应,服务器不能主动推数据给客户端(除非用 WebSocket)。

常用请求方法

GET

从服务器获取资源。

参数附在 URL 后面,数据长度有限制,不适合传敏感信息(会在浏览器历史里留下记录),安全且幂等(点一百次和点一次效果一样,不会改变服务器数据)。

POST

向服务器提交数据(如登录、发帖)。

参数放在请求体中,没有长度限制,相对安全,非幂等(提交一次创建一个帖子,提交两次创建两个)。

PUT

向服务器上传文件/整体替换资源。幂等。

DELETE

删除服务器上的资源。幂等。

常见状态码
200 OK

一切正常。

301 / 302:重定向

301 是永久搬家,302 是临时借宿。

SEO 优化中,换域名必须用 301)。

304 Not Modified

未修改。

配合浏览器的缓存机制(If-Modified-Since),告诉客户端“你本地缓存的图片还能用,不用重新下载了”,节省带宽。

403 Forbidden

服务器收到请求了,但你没权限(比如目录禁止访问)。

404 Not Found

找不到资源(最常见报错)。

500 Internal Server Error

服务器内部崩了(比如后端 Java 代码抛了空指针异常)。

3. 电子邮件系统

发邮件和收邮件,用的是两套完全不同的协议,千万别搞混。

发送协议——SMTP(简单邮件传输协议)

端口:25
工作机制:“推”模型

你写完邮件点发送,你的邮箱客户端(或发件服务器)利用 SMTP 把邮件“推”到对方的收件服务器上。SMTP 只能发,不能收!

接收协议——POP3 / IMAP
工作机制:“拉”模型

邮件已经在服务器上了,你打开手机邮件APP,APP用协议去服务器把邮件“拉”下来。

POP3(端口 110)

老协议。通常是“下载并删除”(拉到手机上,服务器上的就没了),虽然现在也能设置保留,但不支持多设备同步。

IMAP(端口 143)

现代协议。支持多设备同步。你在电脑上读了一封邮件标为“已读”,手机上立刻也会显示已读,因为它们是在直接操作服务器上的邮件。

MIME(多用途互联网邮件扩展)

SMTP 最初只能传纯文本(ASCII码)。

那怎么发图片、附件?就靠 MIME。

MIME 把图片和附件转成一段特殊的文本编码塞进邮件里发出去,收件方再解码还原。

MIME 不是协议,是对 SMTP 的补充扩展。

4. FTP 文件传输协议

FTP 是一个很有个性的协议,它干活需要两个连接同时工作(基于 TCP)。

控制连接(端口 21)

专门用来传命令(如“给我传个文件”、“登录用户名密码”)。

这个连接在整个会话期间一直保持。

数据连接(端口 20 或随机端口)

专门用来传真实的文件内容或目录列表。

只有传文件时才建立,传完就断开。

主动模式 vs 被动模式(为什么 FTP 总是连不上?)
主动

服务器从 20 端口主动连客户端的随机端口。

现在客户端都有防火墙,服务器主动连进来会被拦住!

被动

客户端连上服务器的 21 端口发命令后,服务器开一个随机端口“被动”等待客户端来连。

为了穿越客户端防火墙,现在绝大多数 FTP 软件默认都开被动模式。

TFTP(简单文件传输协议)

基于UDP(端口69),没有认证,代码极小,通常用于局域网内无盘工作站启动(PXE)或路由器升级固件。

5. Intranet(企业内部网)

采用 Internet 的技术(TCP/IP、Web、浏览器、DNS),但物理上或逻辑上被防火墙隔离在企业内部的网络。

它不是 Internet 的一部分,外面的网民进不来,但企业员工在内部可以像上网一样方便地访问企业内部的 OA、知识库(通过浏览器输入内网域名)。

九、网络安全基础

1. 安全的基石:CIA 三元组

无论什么安全产品、什么协议,它保护的无外乎就是这三个目标,做题时看到这三个词要高度敏感:

保密性

信息不泄露给未授权的用户、实体或过程。

别人看不懂/看不到➡️ 对应技术:加密。

完整性

数据未经授权不能进行改变的特性。

数据没被中间人篡改过➡️ 对应技术:哈希(MD5/SHA)、数字签名。

可用性

得到授权的实体在需要时可访问系统资源。

系统没被搞崩溃,想用的时候能用➡️ 对应防御:抗 DDoS 攻击、冗余备份。

2. 网络攻击分类与场景识别

被动攻击

偷窥者,只看不动,不改变数据流。

很难被发现,重点是预防。

窃听

抓包嗅探(如用 Wireshark 抓别人明文密码)。

流量分析

虽然数据加密了看不懂,但通过分析数据包的大小、频率,猜出你在干嘛(比如你在传个大文件)。

主动攻击

破坏者,篡改或伪造数据流。

篡改

中间人修改了数据包的内容(破坏完整性)。

伪造

假冒别人身份发数据(如伪造 IP 发 DDoS 攻击)。

中断

切断通信线路或搞死服务器(破坏可用性)。

重放攻击

截获一段合法的登录报文,过一会儿再原封不动地发一遍骗过服务器。(防御手段:加时间戳或随机序列号)

常见具体攻击场景
ARP 欺骗

局域网内,伪造 MAC 地址,把自己伪装成网关。

现象:本机 IP 没变,能上 QQ 但打不开网页(因为网关被劫持,DNS 解析出错)。

DDoS(分布式拒绝服务)

控制成千上万台“肉鸡”,在同一时间疯狂向目标服务器发无用请求,耗尽服务器的带宽或 CPU 资源。(破坏的是 CIA 里的可用性)。

SQL 注入

在网页的输入框里输入恶意的 SQL 代码(如 ' OR 1=1 --),绕过验证直接骗取数据库数据。

属于应用层攻击。

跨站脚本攻击(XSS)

在网页里植入恶意 JS 脚本,当别人浏览这个网页时,脚本在别人浏览器里执行,偷走他的 Cookie。

3. 核心安全设备:防火墙与 IDS/IPS

防火墙

本质

一种“访问控制”设备,通常部署在内部网和外部网之间。

核心思想:默认拒绝,明确允许。

主要技术分类

包过滤:

工作在网络层

只看 IP 头和端口,速度快,但“傻”(只看信封不拆信,防不了应用层攻击)。

应用代理:

工作在应用层

彻底拆开数据包检查内部内容,安全性极高,但速度慢,必须为每个应用(HTTP/FTP)写专门的代理代码。

状态检测NGFW:

结合前两者,不仅看包的头,还记录连接的状态(比如记住了你刚才发过 SYN,现在回来个 ACK 就是合法的),现代防火墙主流技术。

IDS 与 IPS

IDS(入侵检测系统)

网络里的“监控摄像头”。只发现,不处理。

发现异常它只能报警(发邮件/响铃),不能阻断攻击。通常旁路部署。

IPS(入侵防御系统)

网络里的“保安”。

发现异常,直接阻断。通常串接部署在网络主干线上。IPS 比 IDS 多了一个“Inline(在线阻断)”的能力。

4. 安全协议与加密的“层次归属”

网络层安全:IPSec。

它把 IP 包的内容加密,常用于 VPN(虚拟专用网)。

传输层安全:SSL / TLS。

它把 TCP 里面的数据加密。(注意:SSL 已被淘汰,现在用的是 TLS,但考试常并称 SSL/TLS)

应用层安全:PGP(电子邮件加密)、HTTPS。

题目:HTTPS 工作在 OSI 的哪一层?

正确答案:应用层。

原理解析:

HTTP 是应用层协议,HTTPS = HTTP + SSL/TLS。SSL/TLS 虽然叫“传输层安全”,但它是夹在应用层和传输层之间的一个“半层”。

对上层来说,它提供了应用层接口(所以整体算应用层);

对下层来说,它调用 TCP 接口。

常见安全协议替换常识(明文 vs 密文)

明文 Telnet (23) ➡️ 加密 SSH (22)

明文 HTTP (80) ➡️ 加密 HTTPS (443)

明文 FTP (21) ➡️ 加密 SFTP / FTPS

明文 SMTP/POP3 ➡️ 加密 SMTPS / POP3S

十、网络管理

1. 网络管理的五大功能:FCAPS

ISO 定义了网络管理的五大核心功能,考试通常给你一段场景描述,让你选它属于哪种功能。

F - Fault(故障管理)

最核心的功能。发现网络坏了,定位哪里坏了,隔离故障,修复故障。场景:网管软件弹出红框“某台交换机断网了”。

C - Configuration(配置管理)

初始化网络,批量下发配置,记录设备的参数变更。

场景:统一给100台路由器刷固件或改密码。

A - Accounting(计费管理)

统计用户用了多少流量或时长,用于收费。

场景:运营商计算你本月超出的流量费。

P - Performance(性能管理)

监控网络的健康状态,分析流量瓶颈

场景:生成报表显示“某条专线带宽利用率连续一周达到 90%”。

S - Security(安全管理)

控制访问权限,分发密钥,审计安全日志。

场景:设置只有网管IP能登录核心交换机。

2. SNMP 协议的基础属性

简单网络管理协议(SNMP)是事实上的网络管理工业标准。

SNMP 工作在 OSI 模型的哪一层?使用的是 TCP 还是 UDP?

答案:SNMP 工作在 应用层!它是应用层协议。

传输层协议:使用 UDP(端口 161 接收查询/改配置,162 接收设备主动发来的报警 Trap)。

注意:

很多人觉得“管理数据很重要,肯定用可靠的 TCP”。

错!因为网管数据通常是周期性轮询采集的,丢一两个包无所谓,下次采就行;

如果用 TCP,一旦网络拥塞导致 TCP 重传卡住,网管系统可能会因为等这一个包而“假死”。所以选轻量级的 UDP。

管理模型

由管理者(Manager,如网管软件)和代理(Agent,运行在路由器/交换机里的程序)组成。

管理者主动去“拽”数据,或者代理主动把报警“推”给管理者。

十一、网络结构与系统架构模式

1. 两层 C/S 架构(Client/Server 客户端/服务器)

网络结构

客户端程序直接通过网络连接数据库服务器。

特点(胖客户端):

业务逻辑(比如算工资的代码)全写在客户端软件里,服务器只管存数据。

客户端很“胖”,功能强大但极其臃肿。

优点:

交互能力强(能调用本地系统资源,比如直接操作本地文件)、响应速度快。

致命缺点:

维护升级极难:业务改了一行代码,全公司几千台电脑必须重新安装客户端!

跨平台性差:Windows 客户端没法在 Linux 上跑。

安全性差:数据库直接暴露给客户端,容易遭受攻击。

2. 三层 C/S 架构(解决两层架构的痛点)

在客户端和数据库之间,硬生生塞入一个 “应用服务器(中间件)”。

表示层(客户机)

只管显示界面和收集用户输入(变“瘦”了)。

功能层(应用服务器)

负责所有的业务逻辑处理(核心大脑)。

数据层(数据库服务器)

只管存取数据。

巨大优势:

升级业务逻辑时,只需要更新应用服务器上的代码,几千台客户端电脑完全不用动!而且数据库不直接面对客户,安全性大幅提升。

3. B/S 架构(Browser/Server 浏览器/服务器)
结构

浏览器 ➡️ Web 服务器(处理逻辑) ➡️ 数据库服务器。

核心特点(瘦客户端):

用户电脑上不需要安装任何专门的业务软件,有个浏览器(Chrome/IE)就能干活。

与 C/S 的终极对比

维护升级:

B/S 极易(只改服务器),C/S 极难(到处装软件)➡️ 这是 B/S 最大的优势!

部署成本:

B/S 零部署成本,C/S 高。

交互性与本地控制:

B/S 较弱(受限于浏览器沙盒,比如很难直接操控本地硬件),C/S 极强。

性能处理大数据/图形:

B/S 相对较弱,C/S 极强(比如大型3D游戏、重度CAD软件必须是C/S)。

安全性:

B/S 相对较高(封闭在浏览器环境),C/S 较低。

4. 话术翻译

“为什么要采用 B/S 架构?”

实现了客户端的“零部署”,降低了系统的总体拥有成本(TCO)。

极大的简化了系统的维护和升级工作,业务逻辑变更只需更新服务器端。

具备良好的跨平台性,用户只需通过标准浏览器即可访问。

基于三层架构分离了表示层、业务逻辑层和数据访问层,降低了系统耦合度,提高了可扩展性。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐