软考中级软件设计师——计算机网络篇
一、计算机网络体系结构
1.OSI七层模型
1. 物理层(Physical Layer)
-
功能:传输原始比特流(0和1),定义物理介质(如电缆、光纤)的电气、机械特性。
-
关键设备:中继器(Repeater)、集线器(Hub,相当于多路中继器)。
2. 数据链路层(Data Link Layer)
-
功能:
-
将比特流封装为 帧(Frame),进行物理寻址(MAC地址)。
-
错误检测(CRC校验)、流量控制(如滑动窗口协议)。
-
-
关键设备:交换机(Switch,多端口网桥)、网桥(Bridge)。
-
协议:以太网(Ethernet)、PPP(点对点协议)、HDLC。
-
重要概念:
-
MAC地址:48位,全球唯一(如
00-1A-2B-3C-4D-5E
)。 -
VLAN(虚拟局域网):通过交换机划分逻辑广播域。
-
3. 网络层(Network Layer)
-
功能:
-
逻辑寻址(IP地址) 和 路由选择(决定数据包传输路径)。
-
实现不同网络间的互联(如互联网)。
-
-
关键设备:路由器(Router)。
-
协议:IP、ICMP、ARP、RIP、OSPF、BGP。
-
重要概念:
-
IP地址分类:IPv4(如
192.168.1.1
)、IPv6(如2001:db8::1
)。 -
子网划分与CIDR:如
192.168.1.0/24
表示前24位为网络号。 -
路由协议:静态路由 vs 动态路由(RIP、OSPF)。
-
4. 传输层(Transport Layer)
-
功能:
-
提供端到端(进程到进程)的可靠或不可靠数据传输。
-
流量控制(防止发送方淹没接收方)和 拥塞控制(防止网络过载)。
-
-
协议:
-
TCP(传输控制协议):面向连接、可靠传输(如网页浏览)。
-
UDP(用户数据报协议):无连接、高效传输(如视频流)。
-
-
重要概念:
-
端口号:标识应用程序(如HTTP用80,DNS用53)。
-
三次握手(TCP连接建立):
SYN → SYN-ACK → ACK
。 -
四次挥手(TCP连接释放):
FIN → ACK → FIN → ACK
。
-
5. 会话层(Session Layer)
-
功能:建立、管理和终止会话(Session)连接,支持数据同步。
-
实际应用:远程登录(如SSH)、断点续传。
6. 表示层(Presentation Layer)
-
功能:
-
数据格式转换(如加密/解密、压缩/解压缩)。
-
确保不同系统间的数据兼容性(如ASCII与Unicode转换)。
-
-
实际应用:SSL/TLS加密、JPEG图像编码。
7. 应用层(Application Layer)
-
功能:为用户提供网络服务接口(如文件传输、电子邮件)。
-
协议:HTTP、FTP、SMTP、DNS、DHCP。
-
常见应用:
-
HTTP:网页传输(状态码如
404 Not Found
)。 -
DNS:域名解析(将
www.example.com
转换为IP地址)。
-
OSI七层模型 | TCP/IP四层模型 | 关键设备 | 设备作用 | 典型示例 |
---|---|---|---|---|
应用层 | 应用层 | 无专用设备 | 通过软件协议提供服务(如HTTP、FTP)。 | 浏览器、邮件客户端 |
表示层 | ↑ | ↑ | 数据格式转换(如加密、压缩)。 | SSL加密设备(软硬件结合) |
会话层 | ↑ | ↑ | 建立/管理会话连接(如远程登录)。 | VPN网关 |
传输层 | 传输层 | 网关(部分功能) | 连接不同协议的网络(如TCP与UDP转换)。 | 四层交换机(基于端口转发) |
网络层 | 网络层 | 路由器 | 跨网络路由数据包,基于IP地址寻址,分割广播域。 | Cisco路由器、华为AR系列 |
数据链路层 | 网络接口层 | 交换机 | 基于MAC地址转发帧,分割冲突域。 | 华为S5700交换机 |
网桥 | 连接两个局域网段,过滤MAC地址。 | 透明网桥 | ||
物理层 | ↑ | 集线器 | 广播转发比特流,所有端口共享冲突域和广播域。 | D-Link集线器 |
中继器 | 放大信号,扩展网络传输距离。 | 光纤中继器 |
8.广播域和冲突域
1. 冲突域(Collision Domain)
-
定义:网络中可能发生数据冲突(多个设备同时发送数据导致信号碰撞)的区域。
-
层级关系:由 物理层和数据链路层 的设备控制。
-
设备影响:
-
集线器(Hub):所有端口属于同一个冲突域。
-
交换机(Switch):每个端口是一个独立的冲突域。
-
2. 广播域(Broadcast Domain)
-
定义:网络中能接收同一广播消息(如ARP请求)的所有设备的集合。
-
层级关系:由 数据链路层和网络层 的设备控制。
-
设备影响:
-
交换机和集线器:所有端口默认属于同一个广播域。
-
路由器(Router):每个接口属于不同的广播域。
-
设备/层级 | 所在层 | 分割冲突域 | 分割广播域 | 典型应用 |
---|---|---|---|---|
集线器(Hub) | 物理层 | ❌ | ❌ | 小型局域网(已淘汰) |
交换机(Switch) | 数据链路层 | ✔️(每个端口) | ❌(默认) | 企业局域网(通过VLAN分割广播域) |
路由器(Router) | 网络层 | ✔️(每个接口) | ✔️(每个接口) | 连接不同网络(如互联网接入) |
2.TCP/IP四层模型
1. 应用层(Application Layer)
-
功能:直接面向用户或应用程序,提供具体的网络服务。
-
核心协议:
-
HTTP/HTTPS:网页浏览(端口80/443)。
-
FTP:文件传输(上传端口20/控制端口21)。
-
SMTP/POP3/IMAP:电子邮件发送与接收。
-
DNS:域名解析(端口53)。
-
DHCP:动态IP地址分配(端口67/68)。
-
-
典型设备:无专用硬件,由软件实现(如浏览器、邮件客户端)。
2. 传输层(Transport Layer)
-
功能:提供进程到进程的通信,确保数据完整性和传输效率。
-
核心协议:
-
TCP:面向连接、可靠传输(三次握手、流量控制、拥塞控制)。
典型应用:网页加载(HTTP)、文件下载(FTP)。 -
UDP:无连接、高效传输(无重传机制)。
典型应用:视频流(如Zoom)、DNS查询。
-
-
关键概念:
-
端口号:标识应用程序(如HTTP用80,DNS用53)。
-
数据单元:TCP称为“段(Segment)”,UDP称为“数据报(Datagram)”。
-
3. 网络层(Internet Layer)
-
功能:实现跨网络的数据包路由和逻辑寻址。
-
核心协议:
-
IP:无连接协议,负责数据包的路由与转发(IPv4/IPv6)。
-
ICMP:网络诊断(如
ping
、tracert
)。 -
ARP:将IP地址解析为MAC地址。
-
RARP:反向地址解析(已淘汰,由DHCP取代)。
-
-
典型设备:路由器(Router)、三层交换机。
4. 网络接口层(Network Interface Layer)
-
功能:处理物理介质上的数据传输,包括帧封装和本地网络寻址。
-
核心协议:
-
Ethernet:局域网通信(基于MAC地址)。
-
PPP:点对点通信(如拨号上网)。
-
Wi-Fi(IEEE 802.11):无线局域网标准。
-
-
典型设备:
-
数据链路层:交换机(Switch)、网桥(Bridge)。
-
物理层:集线器(Hub)、网卡(NIC)、光纤调制解调器。
-
TCP/IP四层模型 | 对应OSI层 | 核心功能 |
---|---|---|
应用层 | 应用层 + 表示层 + 会话层 | 提供用户接口和网络服务(如文件传输、邮件收发)。 |
传输层 | 传输层 | 实现端到端通信,提供可靠或不可靠的数据传输。 |
网络层 | 网络层 | 负责逻辑寻址(IP地址)和路由选择(跨网络传输数据包)。 |
网络接口层 | 数据链路层 + 物理层 | 处理物理介质上的数据传输(帧封装、MAC地址寻址)。 |
3.协议族
二、网络层核心协议
协议 | 功能 | 关键特点 |
---|---|---|
IP | 逻辑寻址、路由选择、数据包分片与重组 | 无连接、不可靠(依赖上层协议补充可靠性),支持IPv4(32位)和IPv6(128位) |
ICMP | 网络诊断与错误报告(如ping 、tracert ) | 封装在IP数据包中,用于传输控制信息(如目标不可达、超时) |
ARP | 将IP地址解析为MAC地址(局域网通信必需) | 广播请求、单播响应,维护本地ARP缓存表 |
RARP | 通过MAC地址反向解析IP地址(已被DHCP取代) | 历史协议,实际中极少使用 |
路由协议 | 动态管理路由表,优化网络路径 | 静态路由(手动配置) vs 动态路由(RIP、OSPF、BGP) |
IPv4地址分类
类别 | 地址范围(首字节) | 网络位/主机位 | 默认子网掩码 | 最大网络数 | 最大主机数 | 用途 | 私有地址范围 |
---|---|---|---|---|---|---|---|
A类 | 1.0.0.0 - 126.255.255.255 | 8位网络 / 24位主机 | 255.0.0.0 | 126 (2⁷−2) | 16,777,214 (2²⁴−2) | 超大型网络(ISP、国家级) | 10.0.0.0 - 10.255.255.255 |
B类 | 128.0.0.0 - 191.255.255.255 | 16位网络 / 16位主机 | 255.255.0.0 | 16,384 (2¹⁴) | 65,534 (2¹⁶−2) | 中型网络(企业、校园) | 172.16.0.0 - 172.31.255.255 |
C类 | 192.0.0.0 - 223.255.255.255 | 24位网络 / 8位主机 | 255.255.255.0 | 2,097,152 (2²¹) | 254 (2⁸−2) | 小型网络(家庭、办公室) | 192.168.0.0 - 192.168.255.255 |
D类 | 224.0.0.0 - 239.255.255.255 | 不划分网络与主机 | 无 | 无 | 无 | 多播通信(组播) | 无私有地址 |
E类 | 240.0.0.0 - 255.255.255.255 | 保留 | 保留 | 保留 | 保留 | 实验和研究用途 | 无私有地址 |
1. 子网划分计算
题目:将 192.168.1.0/24
划分为4个子网,求子网掩码和每个子网的地址范围。
解析:
-
需4个子网 → 借用2位主机位(2²=4)。
-
子网掩码:
255.255.255.192
(/26)。 -
子网范围:
-
子网1:
192.168.1.0~63
-
子网2:
192.168.1.64~127
-
子网3:
192.168.1.128~191
-
子网4:
192.168.1.192~255
-
2. 协议功能判断
题目:以下哪个协议用于跨网络路由数据包?
A. ARP B. IP C. ICMP D. UDP
答案:B
解析:IP协议负责逻辑寻址和路由选择,ARP用于MAC解析,ICMP用于网络诊断,UDP是传输层协议。
3. IPv6地址类型
题目:IPv6地址 fe80::1a2b:3c4d:5e6f
属于哪种类型?
A. 全局单播 B. 链路本地 C. 任播 D. 组播
答案:B
解析:fe80::/10
是链路本地地址前缀,用于本地网络通信。
三、传输层核心协议
-
TCP协议
-
特点:可靠传输、连接管理、差错校验和重传、流量控制、拥塞控制、端口寻址,其中流量控制采用的是:可变大小的滑动窗口协议。
-
三次握手:SYN → SYN-ACK → ACK(建立连接)。
-
四次挥手:FIN → ACK → FIN → ACK(释放连接)。
-
-
UDP协议
-
特点:无连接、不可靠、高效,适用于实时应用(视频会议、DNS查询)。
-
对比TCP:UDP包头简单(仅8字节),无流量控制。
-
VOIP允许某种程度上的数据丢失,采用不可靠的传输层协议UDP。
-
四、应用层协议
-
HTTP/HTTPS
-
HTTP状态码:
200 OK
、404 Not Found
、503 Service Unavailable
。 -
HTTPS = HTTP + SSL/TLS,默认端口443。
-
-
DNS
域名解析过程(递归查询与迭代查询),记录类型(A、CNAME、MX)。 -
FTP
端口:控制端口21,数据端口20(主动模式)。 -
电子邮件协议
SMTP(发邮件,端口25)、POP3(收邮件,端口110)、IMAP(端口143)。 - DHCP(动态主机配置协议)
- DHCP 协议的功能是:集中的管理、分配IP地址,使网络环境中的主机动态的获得IP 地址、Gateway 地址、DNS 服务器地址等信息,并能够提升地址的使用率。
- DHCP 客户端可以从 DHCP 服务器获得本机 IP 地址、DNS 服务器地址、DHCP 服务器地址和默认网关的地址等。
- Windows 无效地址:169.254.X.X
- Linux无效地址:0.0.0.0
- 169.254.X.X是 Windows 系统在 DHCP 信息租用失败时自动给客户机分配的 IP 地
五、网络设备与拓扑
-
常见设备
-
集线器(物理层)、交换机(数据链路层,MAC地址表)、路由器(网络层,IP寻址)。
-
-
VLAN(虚拟局域网)
-
逻辑划分广播域,基于端口或MAC地址。
-
-
NAT(网络地址转换)
-
私有IP ↔ 公有IP转换(如
192.168.x.x
转换为公网IP)。
-
六、网络安全
-
加密算法
-
对称加密(AES、DES) vs 非对称加密(RSA、ECC)。
-
数字签名:用私钥加密哈希值,验证数据完整性。
-
-
防火墙
-
包过滤防火墙、应用层网关(代理防火墙)。
-
-
常见攻击
-
DDoS(分布式拒绝服务)、ARP欺骗、SQL注入。
-
七、Windows命令
- ipconfig/release:DHCP 客户端手工释放IP 地址
- ipconfig/flushdns:清除本地 DNS 缓存内容
- ipconfig/displaydns:显示本地 DNS 内容
- ipconfig/registerdns:DNS 客户端手工向服务器进行注册
- ipconfig:显示所有网络适配器的IP地址、子网掩码和缺省网关值
- ipconfig/al:显示所有网络适配器的完整 TCP/IP 配置信息,包括 DHCP 服务是否已启动ipconfig/renew:DHCP 客户端手工向服务器刷新请求(重新申请IP 地址)
八、URL
协议名://主机名.域名.域名后缀.域名分类/目录/网页文件
主域名服务器在接收到域名请求后,查询顺序是本地缓存、本地 hosts 文件、本地数据库、转发域名服务器。
DNS域名查询的次序是:本地的hosts 文件→本地 DNS 缓存→本地 DNS 服务器→根域名服务器。