一、核心知识点详解
1. 计算机网络的定义与核心功能
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
核心功能:
-
资源共享:包括硬件资源(打印机、扫描仪、存储设备)、软件资源(应用程序、数据库)和数据资源
-
数据通信:实现计算机之间快速可靠的信息传输
-
分布式处理:将大型任务分解到多台计算机上并行处理
-
提高可靠性:通过冗余备份提高系统的容错能力
-
负载均衡:将工作任务均匀分配到多台计算机上
2. 计算机网络的分类
按地理覆盖范围分类(最常用)
-
局域网(LAN):覆盖范围一般在几千米以内,如校园网、企业内部网。特点是传输速率高、延迟小、误码率低。
-
城域网(MAN):覆盖范围为一个城市,一般在几十千米到上百千米。
-
广域网(WAN) :覆盖范围为一个国家或多个国家,甚至全球。特点是传输速率相对较低、延迟较大。互联网(Internet)是世界上最大的广域网。
按拓扑结构分类
-
总线型:所有节点连接在一条总线上,优点是结构简单、成本低;缺点是总线故障会导致整个网络瘫痪。
-
星型 :所有节点都连接到一个中心节点(如交换机),优点是单个节点故障不影响其他节点;缺点是中心节点故障会导致整个网络瘫痪。目前最常用的拓扑结构。
-
环型:所有节点连接成一个闭合的环,数据在环中单向传输。
-
网状型:节点之间有多条路径相连,优点是可靠性高;缺点是结构复杂、成本高。主要用于广域网。
3. OSI 七层参考模型(重点)
OSI(Open Systems Interconnection)七层模型是国际标准化组织(ISO)制定的网络通信标准,它将网络通信过程划分为七个层次,每层负责特定的功能。
|-------|-------|----------------------------------|------------------|--------------------|
| 层次 | 名称 | 主要功能 | 数据单位 | 典型设备 / 协议 |
| 第 7 层 | 应用层 | 为应用程序提供网络服务 | 报文 | HTTP、FTP、SMTP、DNS |
| 第 6 层 | 表示层 | 负责数据的格式转换、加密解密、压缩解压缩 | 报文 | SSL/TLS、JPEG、ASCII |
| 第 5 层 | 会话层 | 建立、管理和终止应用程序之间的会话 | 报文 | 会话协议、RPC |
| 第 4 层 | 传输层 | 提供端到端的可靠或不可靠数据传输,进行流量控制和拥塞控制 | 段(TCP)/ 数据报(UDP) | TCP、UDP |
| 第 3 层 | 网络层 | 进行路由选择和分组转发,实现不同网络之间的互联 | 分组(数据包) | IP、ICMP、ARP、路由器 |
| 第 2 层 | 数据链路层 | 将比特流封装成帧,进行差错检测和纠正,实现相邻节点之间的可靠传输 | 帧 | 以太网、PPP、交换机、网卡 |
| 第 1 层 | 物理层 | 传输比特流,定义物理介质的电气、机械、功能和规程特性 | 比特 | 双绞线、光纤、集线器、中继器 |
重点记忆:
-
数据封装过程:数据从应用层向下传递时,每一层都会加上自己的首部(和尾部),形成该层的数据单元。
-
数据解封装过程:数据从物理层向上传递时,每一层都会去掉对应的首部(和尾部),将数据交给上一层。
-
传输层及以上是端到端的通信,网络层及以下是点到点的通信。
4. TCP/IP 四层模型(重点)
TCP/IP 模型是互联网实际使用的标准模型,它将 OSI 七层模型简化为四层。
|-----------|-----------------|-------------|--------------------------|
| TCP/IP 四层 | 对应 OSI 七层 | 主要功能 | 典型协议 |
| 应用层 | 应用层 + 表示层 + 会话层 | 提供各种网络应用服务 | HTTP、FTP、SMTP、DNS、Telnet |
| 传输层 | 传输层 | 提供端到端的通信服务 | TCP、UDP |
| 网际层(互联网层) | 网络层 | 进行路由选择和分组转发 | IP、ICMP、ARP、RARP |
| 网络接口层 | 数据链路层 + 物理层 | 负责与物理网络的接口 | 以太网、PPP、令牌环 |
重点:TCP/IP 模型是一个事实标准,比 OSI 模型更简单、更实用,互联网就是基于 TCP/IP 模型构建的。
5. 常见网络设备
-
集线器(Hub):工作在物理层,将多个节点连接在一起,采用广播方式转发数据。缺点是所有节点共享带宽,容易产生冲突。
-
交换机(Switch) :工作在数据链路层,根据 MAC 地址转发数据。每个端口独享带宽,不会产生冲突。目前局域网中最常用的设备。
-
路由器(Router) :工作在网络层,根据 IP 地址转发数据,实现不同网络之间的互联。互联网的核心设备。
-
网关(Gateway):工作在应用层,用于连接不同体系结构的网络,实现协议转换。
-
防火墙(Firewall):用于保护内部网络免受外部攻击,根据规则过滤数据包。
6. IP 地址与子网划分(重点)
IP 地址的基本概念
IP 地址是互联网上每台计算机的唯一标识,由 32 位二进制数组成,通常采用点分十进制表示法,即将 32 位二进制数分成 4 个 8 位二进制数,每个 8 位二进制数转换为十进制数(0-255),之间用点号分隔。例如:192.168.1.1(192.168.1.1)。
IP 地址的分类
IP 地址分为 A、B、C、D、E 五类,其中 A、B、C 类是常用的主机地址,D 类用于组播,E 类保留用于实验。
|-----|---------|------|------|---------|------------------|------|
| 类别 | 第一个字节范围 | 网络位 | 主机位 | 网络数 | 每个网络的主机数 | 用途 |
| A 类 | 1-126 | 8 位 | 24 位 | 126 | 2^24-2=16777214 | 大型网络 |
| B 类 | 128-191 | 16 位 | 16 位 | 16384 | 2^16-2=65534 | 中型网络 |
| C 类 | 192-223 | 24 位 | 8 位 | 2097152 | 2^8-2=254 | 小型网络 |
| D 类 | 224-239 | - | - | - | - | 组播地址 |
| E 类 | 240-255 | - | - | - | - | 保留地址 |
重点:
-
网络位全 0 和全 1 的地址不能使用
-
主机位全 0 表示网络地址,主机位全 1 表示广播地址,这两个地址不能分配给主机
-
127.0.0.0(127.0.0.0)-127.255.255.255(127.255.255.255) 是回环地址,用于本地测试
子网划分
子网划分是将一个大的网络划分为多个小的子网,以提高 IP 地址的利用率,减少广播域。
子网划分的原理是从主机位中借用若干位作为子网位,这样原来的 IP 地址就分为网络位、子网位和主机位三部分。
子网掩码用于区分 IP 地址中的网络位和主机位,网络位用 1 表示,主机位用 0 表示。例如,C 类地址的默认子网掩码是 255.255.255.0(255.255.255.0)(二进制:11111111.11111111.11111111.00000000)。
7. TCP 与 UDP 协议(重点)
传输层有两个主要协议:TCP(传输控制协议)和 UDP(用户数据报协议)。
TCP 协议
-
面向连接:在传输数据之前必须先建立连接,传输结束后要释放连接
-
可靠传输:通过确认机制、重传机制、流量控制和拥塞控制保证数据可靠传输
-
字节流服务:将数据看作字节流,不保留数据边界
-
全双工通信:通信双方可以同时发送和接收数据
TCP 三次握手(建立连接):
-
客户端向服务器发送 SYN 报文,请求建立连接
-
服务器收到 SYN 报文后,向客户端发送 SYN+ACK 报文,确认客户端的请求,并同时请求建立连接
-
客户端收到 SYN+ACK 报文后,向服务器发送 ACK 报文,确认服务器的请求,连接建立
TCP 四次挥手(释放连接):
-
客户端向服务器发送 FIN 报文,请求释放连接
-
服务器收到 FIN 报文后,向客户端发送 ACK 报文,确认客户端的请求
-
服务器发送完所有数据后,向客户端发送 FIN 报文,请求释放连接
-
客户端收到 FIN 报文后,向服务器发送 ACK 报文,确认服务器的请求,连接释放
UDP 协议
-
无连接:传输数据之前不需要建立连接
-
不可靠传输:不提供确认、重传、流量控制和拥塞控制,数据可能丢失、重复或乱序
-
数据报服务:保留数据边界,每个数据报独立传输
-
开销小、传输速度快
TCP 与 UDP 的对比:
|------|----------------|----------------|
| 特性 | TCP | UDP |
| 连接性 | 面向连接 | 无连接 |
| 可靠性 | 可靠 | 不可靠 |
| 传输速度 | 较慢 | 较快 |
| 开销 | 较大 | 较小 |
| 流量控制 | 有 | 无 |
| 拥塞控制 | 有 | 无 |
| 应用场景 | 文件传输、电子邮件、网页浏览 | 视频会议、语音通话、实时游戏 |
8. 常见应用层协议
-
HTTP(超文本传输协议):用于网页浏览,默认端口 80
-
HTTPS(安全超文本传输协议):HTTP 的安全版本,使用 SSL/TLS 加密,默认端口 443
-
FTP(文件传输协议):用于文件上传和下载,默认端口 21(控制连接)和 20(数据连接)
-
SMTP(简单邮件传输协议):用于发送邮件,默认端口 25
-
POP3(邮局协议版本 3):用于接收邮件,默认端口 110
-
IMAP(互联网消息访问协议):用于接收邮件,比 POP3 更先进,默认端口 143
-
DNS(域名系统):用于将域名转换为 IP 地址,默认端口 53
-
Telnet(远程登录协议):用于远程登录到计算机,默认端口 23,不安全
二、核心知识点汇总表格
|-------------|---------------------------------------|-------------------------------|
| 知识点类别 | 核心内容 | 重点标注 |
| 网络定义与功能 | 定义、资源共享、数据通信、分布式处理、提高可靠性、负载均衡 | 资源共享和数据通信是最基本的功能 |
| 网络分类 | 按地理范围:LAN、MAN、WAN;按拓扑结构:总线型、星型、环型、网状型 | 互联网是最大的广域网;星型是目前最常用的拓扑结构 |
| OSI 七层模型 | 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 | 传输层及以上是端到端通信;数据封装与解封装过程 |
| TCP/IP 四层模型 | 网络接口层、网际层、传输层、应用层 | 互联网的事实标准,比 OSI 模型更实用 |
| 网络设备 | 集线器、交换机、路由器、网关、防火墙 | 交换机工作在数据链路层;路由器工作在网络层 |
| IP 地址与子网划分 | IP 地址格式、分类、子网掩码、子网划分 | C 类地址范围 192-223;子网划分的原理和方法 |
| TCP 与 UDP | TCP 三次握手、四次挥手;UDP 的特点;两者对比 | TCP 是可靠的面向连接协议;UDP 是不可靠的无连接协议 |
| 应用层协议 | HTTP、HTTPS、FTP、SMTP、POP3、DNS 等 | 各协议的默认端口号和用途 |
三、经典例题解析
例题 1:IP 地址分类与子网划分
原题:给定 IP 地址 192.168.5.120(192.168.5.120),子网掩码 255.255.255.192(255.255.255.192),回答以下问题:
-
该 IP 地址属于哪一类地址?
-
该网络被划分成了多少个子网?
-
每个子网有多少个可用的主机地址?
-
该 IP 地址所在的子网的网络地址和广播地址分别是什么?
-
该子网的可用主机地址范围是什么?
解析:
-
IP 地址分类 :第一个字节是 192,属于 192-223 范围,因此是C 类地址。
-
子网数量 : C 类地址默认子网掩码是 255.255.255.0(255.255.255.0),即前 24 位是网络位,后 8 位是主机位。 现在子网掩码是 255.255.255.192(255.255.255.192),转换为二进制是 11111111.11111111.11111111.11000000。 可以看到,从主机位中借用了2 位 作为子网位。 子网数量 = 2^ 子网位数 = 2^2 = 4 个子网。
-
每个子网的可用主机数 : 主机位还剩 8-2=6 位。 可用主机数 = 2^ 主机位数 - 2 = 2^6 - 2 = 64 - 2 = 62 个。 (减去的 2 个是网络地址和广播地址)
-
网络地址和广播地址: 首先将 IP 地址和子网掩码转换为二进制: IP 地址:192.168.5.120(192.168.5.120) → 11000000.10101000.00000101.01111000 子网掩码:255.255.255.192(255.255.255.192) → 11111111.11111111.11111111.11000000
网络地址是 IP 地址与子网掩码进行按位与 运算的结果: 11000000.10101000.00000101.01111000 & 11111111.11111111.11111111.11000000 = 11000000.10101000.00000101.01000000 转换为十进制是**192.168.5.64(192.168.5.64)**。
广播地址是网络地址的主机位全部置 1: 11000000.10101000.00000101.01111111 转换为十进制是**192.168.5.127(192.168.5.127)**。
-
可用主机地址范围 : 网络地址的下一个地址到广播地址的前一个地址,即**192.168.5.65(192.168.5.65) 到 192.168.5.126(192.168.5.126)**。
例题 2:TCP 三次握手
原题:简述 TCP 三次握手的过程,并说明为什么需要三次握手而不是两次。
解析 : TCP 三次握手过程:
-
第一次握手:客户端向服务器发送 SYN 报文段,SYN=1,ACK=0,序列号 seq=x。客户端进入 SYN_SENT 状态,等待服务器的确认。
-
第二次握手:服务器收到 SYN 报文段后,向客户端发送 SYN+ACK 报文段,SYN=1,ACK=1,确认号 ack=x+1,序列号 seq=y。服务器进入 SYN_RCVD 状态。
-
第三次握手:客户端收到 SYN+ACK 报文段后,向服务器发送 ACK 报文段,ACK=1,确认号 ack=y+1,序列号 seq=x+1。客户端和服务器都进入 ESTABLISHED 状态,连接建立完成。
为什么需要三次握手而不是两次 : 主要是为了防止已失效的连接请求报文段突然又传送到了服务器,导致服务器错误地建立连接。
如果采用两次握手,当客户端发送的第一个连接请求报文段因为网络延迟而长时间滞留,客户端超时后会重发一个新的连接请求,服务器收到后建立连接并传输数据,然后释放连接。此时,那个滞留的连接请求报文段到达服务器,服务器会认为这是一个新的连接请求,于是向客户端发送确认报文段并建立连接。但客户端此时并没有发送连接请求,会忽略服务器的确认,而服务器却一直在等待客户端发送数据,这样就会浪费服务器的资源。
采用三次握手可以避免这种情况。当那个滞留的连接请求报文段到达服务器时,服务器发送的确认报文段会被客户端忽略,服务器因为收不到客户端的第三次握手报文,就不会建立连接。
四、总结
计算机网络是现代信息技术的基础,掌握计算机网络的基础知识对于从事 IT 行业的人员来说至关重要。本文从零基础出发,详细介绍了计算机网络的定义、分类、OSI 七层模型、TCP/IP 四层模型、网络设备、IP 地址与子网划分、TCP 与 UDP 协议以及常见的应用层协议,并通过经典例题加深了对重点知识的理解。
希望这篇博客能够帮助零基础的读者快速入门计算机网络,为后续的深入学习打下坚实的基础。