计算机网络基础
计算机网络是软件设计师考试的重要考点,主要考查网络协议、IP地址计算和常用网络命令。
一、网络体系结构
1.1 OSI七层模型
| 层次 | 名称 | 功能 | 协议/设备 |
|---|---|---|---|
| 7 | 应用层 | 提供应用服务 | HTTP, FTP, SMTP, DNS |
| 6 | 表示层 | 数据格式转换、加密 | SSL, JPEG |
| 5 | 会话层 | 建立、管理会话 | RPC |
| 4 | 传输层 | 端到端传输 | TCP, UDP |
| 3 | 网络层 | 路由寻址 | IP, ICMP, 路由器 |
| 2 | 数据链路层 | 帧传输 | 交换机, MAC |
| 1 | 物理层 | 比特传输 | 网卡, 中继器, 集线器 |
1.2 TCP/IP四层模型
| TCP/IP层 | 对应OSI层 | 协议 |
|---|---|---|
| 应用层 | 应用层+表示层+会话层 | HTTP, FTP, DNS, SMTP |
| 传输层 | 传输层 | TCP, UDP |
| 网络层 | 网络层 | IP, ICMP, ARP |
| 网络接口层 | 数据链路层+物理层 | Ethernet |
二、常用协议
2.1 TCP vs UDP
| 特性 | TCP | UDP |
|---|---|---|
| 连接性 | 面向连接 | 无连接 |
| 可靠性 | 可靠传输 | 不可靠 |
| 传输方式 | 字节流 | 数据报 |
| 速度 | 较慢 | 较快 |
| 应用场景 | 文件传输、网页 | 视频、游戏 |
2.2 TCP三次握手
客户端 服务器
| |
|------ SYN(seq=x) ----->| 第一次握手
| |
|<-- SYN+ACK(seq=y,ack=x+1) --| 第二次握手
| |
|------ ACK(ack=y+1) --->| 第三次握手
| |
| 连接建立成功 |为什么需要三次握手:
- 防止失效的连接请求到达服务器
- 确认双方的接收和发送能力
2.3 TCP四次挥手
客户端 服务器
| |
|------ FIN(seq=u) ----->| 第一次挥手
| |
|<----- ACK(ack=u+1) ----| 第二次挥手
| |
| (服务器发送数据) |
| |
|<----- FIN(seq=w) ------| 第三次挥手
| |
|------ ACK(ack=w+1) --->| 第四次挥手
| |2.4 常用端口号
| 协议 | 端口 | 说明 |
|---|---|---|
| FTP控制 | 21 | 文件传输控制 |
| FTP数据 | 20 | 文件传输数据 |
| SSH | 22 | 安全远程登录 |
| Telnet | 23 | 远程登录 |
| SMTP | 25 | 邮件发送 |
| DNS | 53 | 域名解析 |
| HTTP | 80 | 网页 |
| POP3 | 110 | 邮件接收 |
| HTTPS | 443 | 安全网页 |
2.5 HTTP状态码
| 类别 | 范围 | 说明 | 常见状态码 |
|---|---|---|---|
| 1xx | 100-199 | 信息性 | 100 Continue |
| 2xx | 200-299 | 成功 | 200 OK, 201 Created |
| 3xx | 300-399 | 重定向 | 301 永久重定向, 302 临时重定向 |
| 4xx | 400-499 | 客户端错误 | 400 Bad Request, 404 Not Found |
| 5xx | 500-599 | 服务器错误 | 500 Internal Error, 503 Service Unavailable |
三、IP地址
3.1 IP地址分类
| 类别 | 第一字节范围 | 网络号位数 | 主机号位数 | 默认子网掩码 |
|---|---|---|---|---|
| A类 | 1-126 | 8 | 24 | 255.0.0.0 |
| B类 | 128-191 | 16 | 16 | 255.255.0.0 |
| C类 | 192-223 | 24 | 8 | 255.255.255.0 |
| D类 | 224-239 | 组播地址 | - | - |
| E类 | 240-255 | 保留 | - | - |
3.2 特殊IP地址
| 地址 | 说明 |
|---|---|
| 127.0.0.1 | 本地回环地址 |
| 0.0.0.0 | 任意地址 |
| 255.255.255.255 | 广播地址 |
| 10.x.x.x | A类私有地址 |
| 172.16.x.x - 172.31.x.x | B类私有地址 |
| 192.168.x.x | C类私有地址 |
3.3 子网划分
CIDR表示法
192.168.1.0/24 表示前24位是网络号子网掩码计算
示例:192.168.1.100/26
- /26 表示网络位26位,主机位6位
- 子网掩码:11111111.11111111.11111111.11000000 = 255.255.255.192
- 子网大小:2^6 = 64个地址
- 可用主机数:64 - 2 = 62个(去掉网络地址和广播地址)
计算网络地址
步骤:IP地址 AND 子网掩码
IP地址: 192.168.1.100
子网掩码: 255.255.255.192
192.168.1.100 = 11000000.10101000.00000001.01100100
255.255.255.192 = 11111111.11111111.11111111.11000000
─────────────────────────────────
网络地址: 11000000.10101000.00000001.01000000
= 192.168.1.64计算广播地址
步骤:网络地址 + (2^主机位数 - 1)
网络地址:192.168.1.64
主机位:6位
广播地址:192.168.1.64 + 63 = 192.168.1.127计算默认网关
通常:网络中第一个可用地址
网络地址:192.168.1.64
默认网关:192.168.1.65(网络地址+1)四、常用网络命令
4.1 PING命令
用途:测试网络连通性
使用ICMP协议
诊断顺序(由近到远):
ping 127.0.0.1- 测试本地TCP/IP协议栈ping 本地IP- 测试本地网卡ping 默认网关- 测试到网关的连通ping 远程主机- 测试到远程的连通
4.2 常用命令
| 命令 | 用途 |
|---|---|
| ping | 测试网络连通性 |
| ipconfig (Windows) | 显示网络配置信息 |
| ifconfig (Linux) | 显示网络配置信息 |
| tracert (Windows) | 追踪路由路径 |
| traceroute (Linux) | 追踪路由路径 |
| netstat | 显示网络连接状态和端口 |
| nslookup | DNS查询 |
| arp | 查看ARP缓存 |
4.3 netstat命令
用途:显示网络连接、端口使用情况
常用参数:
netstat -a:显示所有连接和端口netstat -n:以数字形式显示地址和端口netstat -o:显示进程IDnetstat -b:显示程序名称(需管理员权限)
查看端口对应程序:netstat -ano 或 netstat -ab
五、加密技术
5.1 对称加密 vs 非对称加密
| 特性 | 对称加密 | 非对称加密 |
|---|---|---|
| 密钥 | 加密解密用同一密钥 | 公钥加密,私钥解密 |
| 速度 | 快 | 慢 |
| 安全性 | 密钥分发困难 | 较安全 |
| 典型算法 | DES, AES, 3DES | RSA, ECC |
5.2 常见加密算法
| 算法 | 类型 | 说明 |
|---|---|---|
| DES | 对称 | 56位密钥,已不安全 |
| 3DES | 对称 | 三重DES |
| AES | 对称 | 128/192/256位密钥 |
| RSA | 非对称 | 基于大数因子分解 |
| MD5 | 摘要 | 128位摘要,已不安全 |
| SHA | 摘要 | SHA-1 160位,SHA-256 256位 |
5.3 数字签名
过程:
- 发送方用私钥对消息摘要加密(签名)
- 接收方用公钥验证签名
作用:
- 认证:确认发送者身份
- 完整性:确保消息未被篡改
- 不可否认性:发送者不能否认发送
六、考试要点
高频考点
- TCP三次握手过程
- 常用端口号
- IP地址分类和子网计算
- 网络命令用途
- 对称加密vs非对称加密
典型例题
题1:要获取某网络端口对应的应用程序信息,应使用什么命令? 答案:netstat
题2:192.168.1.100/28的子网掩码是? 答案:255.255.255.240(/28表示28位网络位)
题3:FTP的控制连接端口是? 答案:21
题4:RSA属于什么加密算法? 答案:非对称加密
PING诊断顺序记忆
本回环 → 本地IP → 默认网关 → 远程主机
127.0.0.1 → 本机 → 网关 → 目标
由近及远排查问题常用端口记忆
21-FTP控制,20-FTP数据
22-SSH安全,23-Telnet登
25-SMTP发邮件,53-DNS解析名
80-HTTP网页,443-HTTPS安全访