21 KiB
网络管理
一:网络管理
1. 网络服务管理
NetworkManager vs. network服务
-
NetworkManager(推荐):
[root@wxin ~]# systemctl start NetworkManager # 启动 [root@wxin ~]# systemctl enable NetworkManager # 开机自启
-
传统network服务:
[root@wxin ~]# systemctl start network # 启动 [root@wxin ~]# systemctl enable network # 开机自启
2. 网络配置文件
-
路径:
/etc/sysconfig/network-scripts/ifcfg-<网卡名>
(如ifcfg-ens33
)。 -
静态IP配置示例:
DEVICE=ens33 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.159.100 NETMASK=255.255.255.0 GATEWAY=192.168.159.2 DNS1=8.8.8.8 DNS2=8.8.4.4
-
应用配置:
[root@wxin ~]# nmcli connection reload # NetworkManager重载配置 [root@wxin ~]# systemctl restart network # 传统服务重启
3. 网络接口管理
-
查看接口:
[root@wxin ~]# ip addr show # 显示所有接口 [root@wxin ~]# nmcli device status # NetworkManager查看设备
-
启用/禁用接口:
[root@wxin ~]# ifup ens33 # 启用接口 [root@wxin ~]# ifdown ens33 # 禁用接口
4. 使用 nmcli 配置网络
-
查看连接:
[root@wxin ~]# nmcli connection show
-
设置静态IP:
[root@wxin ~]# nmcli con mod ens192 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8" [root@wxin ~]# nmcli con up ens192
-
启用DHCP:
[root@wxin ~]# nmcli con mod ens192 ipv4.method auto [root@wxin ~]# nmcli con up ens192
5. 图形化工具nmtui
运行命令启动文本界面:
[root@wxin ~]# nmtui
通过菜单配置IP、DNS、网关等。
6. 防火墙管理(firewalld)
-
开放端口/服务:
[root@wxin ~]# firewall-cmd --permanent --add-port=80/tcp # 开放80端口 [root@wxin ~]# firewall-cmd --permanent --add-service=http # 允许HTTP服务 [root@wxin ~]# firewall-cmd --reload # 重载配置
-
查看规则:
[root@wxin ~]# firewall-cmd --list-all
7. 网络测试工具
-
连通性测试:
[root@wxin ~]# ping google.com traceroute google.com
-
端口监听检查:
[root@wxin ~]# ss -tuln | grep 80 # 查看80端口状态
-
DNS解析:
[root@wxin ~]# nslookup google.com [root@wxin ~]# dig google.com
8. 主机名与路由
-
修改主机名:
[root@wxin ~]# hostnamectl set-hostname server1.example.com
-
添加静态路由:
[root@wxin ~]# ip route add 10.0.0.0/24 via 192.168.1.1 dev ens192 # 持久化:将路由添加到/etc/sysconfig/network-scripts/route-ens192
二:OSI 模型
1. OSI七层模型概览
层级 | 名称 | 功能 | 数据单位 | 典型协议/设备 |
---|---|---|---|---|
7 | 应用层 | 用户接口,提供网络服务 | 数据(Data) | HTTP, FTP, DNS, SMTP |
6 | 表示层 | 数据格式转换、加密/解密 | 数据(Data) | SSL/TLS, JPEG, ASCII |
5 | 会话层 | 建立、管理、终止会话连接 | 数据(Data) | NetBIOS, RPC |
4 | 传输层 | 端到端数据传输,可靠性控制 | 段(Segment) | TCP, UDP |
3 | 网络层 | 路由寻址,跨网络传输数据包 | 包(Packet) | IP, ICMP, 路由器 |
2 | 数据链路层 | 局域网内帧传输,MAC地址管理 | 帧(Frame) | Ethernet, MAC, 交换机 |
1 | 物理层 | 物理介质传输比特流 | 比特(Bit) | 电缆、光纤、网卡、集线器 |
2. 各层核心功能
物理层
- 作用:通过物理介质(如电缆、光纤)传输原始比特流(0和1)。
- 关键设备:网卡(NIC)、集线器(Hub)、中继器(Repeater)。
- 示例:定义电压、接口类型(如RJ45)、传输速率(如100Mbps)。
数据链路层(Date Link Layer)
- 作用:将比特流组织成帧(Frame),通过MAC地址实现局域网内设备通信。
- 子层:
- MAC子层:控制物理介质的访问(如CSMA/CD)。
- LLC子层:流量控制和错误校验。
- 关键设备:交换机(Switch)。
网络层(Network Layer)
- 作用:通过IP地址实现跨网络的数据包路由和转发。
- 核心协议:IPv4/IPv6、ICMP(用于Ping)、路由协议(如OSPF、BGP)。
- 关键设备:路由器(Router)。
传输层(Transport Layer)
- 作用:确保端到端的数据传输可靠性。
- TCP:面向连接,提供可靠传输(如文件下载)。
- UDP:无连接,低延迟(如视频流、DNS查询)。
会话层(Session Layer)
- 作用:管理通信会话(建立、维护、终止连接)。
- 示例:断点续传、会话身份验证。
表示层(Presentation Layer)
- 作用:数据格式转换(如加密、压缩、字符编码)。
- 典型技术:SSL/TLS(加密)、JPEG(图像压缩)、ASCII/Unicode(字符编码)。
应用层(Application Layer)
- 作用:直接为用户应用程序提供网络服务接口。
- 常见协议:
- HTTP:网页浏览。
- FTP:文件传输。
- SMTP:电子邮件发送。
- DNS:域名解析。
3. 实际意义
- 故障排查:逐层定位问题(如物理层检查网线,网络层检查IP配置)。
- 协议设计:各层协议独立发展(如HTTP无需关心底层如何传输)。
- 设备分工:明确设备作用(如交换机处理数据链路层,路由器处理网络层)。
4. 数据封装与解封装
数据从发送端到接收端的过程:
-
封装(发送端):
应用层数据 → 传输层添加TCP头 → 网络层添加IP头 → 数据链路层添加帧头/尾 → 物理层转为比特流。
-
解封装(接收端):
物理层接收比特流 → 数据链路层剥离帧头 → 网络层剥离IP头 → 传输层剥离TCP头 → 应用层获取原始数据。
三:TCP / IP 模型
1. 分层模型详解
应用层(Application Layer)
- 核心功能:直接面向用户应用程序,定义数据格式与交互规则。
- 关键协议:
- HTTP/HTTPS:用于网页传输,HTTPS通过TLS/SSL加密。
- DNS:将域名(如
www.example.com
)解析为IP地址,采用UDP/TCP端口53。 - SMTP/POP3/IMAP:邮件发送(SMTP)与接收(POP3/IMAP)。
- FTP/SFTP:文件传输,SFTP基于SSH加密。
- DHCP:动态分配IP地址,避免手动配置。
- 数据单元:消息(Message)或应用层PDU(协议数据单元)。
传输层(Transport Layer)
- 核心功能:提供端到端(进程到进程)的可靠或高效传输。
- TCP(传输控制协议):
- 特点:
- 面向连接:通过三次握手建立连接(SYN, SYN-ACK, ACK)。
- 可靠性:确认(ACK)、超时重传、数据校验和(Checksum)。
- 流量控制:滑动窗口机制,防止接收方缓冲区溢出。
- 拥塞控制:慢启动、拥塞避免、快速重传(如收到3个重复ACK)。
- 首部格式(20字节基础):
- 源/目的端口(16位)、序列号(32位)、确认号(32位)、窗口大小(16位)等。
- 特点:
- UDP(用户数据报协议):
- 特点:
- 无连接:直接发送数据,无需建立连接。
- 低延迟:首部仅8字节(源/目的端口、长度、校验和)。
- 无拥塞控制:适用于实时应用(如VoIP、在线游戏)。
- 典型场景:DNS查询、视频流媒体、物联网传感器数据。
- 特点:
网络层(Internet Layer)
- 核心功能:实现数据包的路由与寻址,跨越不同网络。
- IP协议(Internet Protocol):
- IPv4:
- 32位地址(如
192.168.1.1
),采用点分十进制表示。 - 地址耗尽问题:通过NAT(网络地址转换)和CIDR(无类别域间路由)缓解。
- 32位地址(如
- IPv6:
- 128位地址(如
2001:0db8:85a3::8a2e:0370:7334
),支持更多设备。 - 改进:简化首部格式、内置安全扩展(IPsec)、无状态地址自动配置(SLAAC)。
- 128位地址(如
- 数据单元:数据报(Datagram)。
- IPv4:
- 辅助协议:
- ICMP(Internet控制报文协议):用于网络诊断(如
ping
、traceroute
)。 - ARP(地址解析协议):将IP地址映射为MAC地址(链路层)。
- 路由协议:
- OSPF(开放最短路径优先):内部网关协议(IGP),基于链路状态。
- BGP(边界网关协议):外部网关协议(EGP),管理跨AS(自治系统)路由。
- ICMP(Internet控制报文协议):用于网络诊断(如
链路层(Link Layer)
- 核心功能:在物理介质(电缆、光纤、无线电波)上传输原始比特流。
- 关键技术与协议:
- 以太网(Ethernet):使用MAC地址(如
00:1A:2B:3C:4D:5E
)标识设备,帧结构包含前导码、目的/源MAC、类型字段(如IPv4为0x0800
)、数据及CRC校验。 - Wi-Fi(IEEE 802.11):无线局域网标准,支持CSMA/CA(载波侦听多路访问/冲突避免)。
- PPP(点对点协议):用于拨号或直接设备间通信。
- 以太网(Ethernet):使用MAC地址(如
- 数据单元:帧(Frame)。
2. 数据传输流程
封装(Encapsulation)
数据从应用层到链路层的封装过程:
- 应用层:生成原始数据(如HTTP请求)。
- 传输层:添加TCP/UDP首部(包含端口号、序列号等)。
- 网络层:添加IP首部(源/目的IP地址、TTL等)。
- 链路层:添加帧头(MAC地址)和帧尾(CRC校验)。
分用(Demultiplexing)
接收方逐层解析数据:
- 链路层:校验CRC,剥离帧头,将数据报传递给网络层。
- 网络层:检查IP地址,决定转发或上传至传输层。
- 传输层:根据端口号将数据交给对应应用进程。
3. 关联机制
TCP连接管理
-
三次握手建立连接:
- 客户端→服务端:发送SYN(seq=x)。
- 服务端→客户端:回复SYN-ACK(seq=y, ack=x+1)。
- 客户端→服务端:发送ACK(ack=y+1)。
- 目的:同步初始序列号,协商窗口大小等参数。
-
四次挥手释放连接:
- 主动方→被动方:发送FIN(seq=u)。
- 被动方→主动方:回复ACK(ack=u+1)。
- 被动方→主动方:发送FIN(seq=v)。
- 主动方→被动方:回复ACK(ack=v+1)。
- 原因:TCP支持半关闭状态,确保双方数据发送完毕。
IP路由与NAT
- 路由表:路由器根据目标IP前缀选择下一跳,最长前缀匹配优先。
- NAT(网络地址转换):
- 功能:将私有IP(如
192.168.x.x
)映射为公网IP,解决IPv4地址不足。 - 类型:静态NAT(一对一)、动态NAT(地址池)、PAT(端口转换,多对一)。
- 功能:将私有IP(如
ARP与MAC寻址
- ARP请求/响应:
- 主机A广播ARP请求:“谁的IP是
192.168.1.2
?”。 - 主机B单播回复:“我的MAC是
00:1A:2B:3C:4D:5E
。”。
- 主机A广播ARP请求:“谁的IP是
- ARP缓存表:存储IP-MAC映射,减少重复查询。
四:数据链路层详解
1. 核心功能
物理寻址(MAC地址)
- 每个网络设备(如网卡)拥有唯一的MAC地址(如
00:1A:2B:3C:4D:5E
),用于在本地网络中标识设备。 - 地址解析协议(ARP):将IP地址映射为MAC地址(通过广播请求和单播响应)。
数据成帧(Framing)
- 将网络层传递的IP数据报封装为帧,添加帧头(源/目的MAC地址)和帧尾(校验码)。
- 帧的格式需适应不同物理介质(如以太网、Wi-Fi)。
错误检测与纠正
- CRC(循环冗余校验):通过帧尾的校验码检测传输中的比特错误,丢弃错误帧。
- 部分协议支持纠错码(如海明码),但多数依赖上层协议(如TCP)重传。
流量控制
- 防止接收方因处理速度不足导致数据丢失,例如:
- 停顿协议(Stop-and-Wait):发送一帧后等待确认。
- 滑动窗口协议:允许连续发送多帧,提升效率。
介质访问控制(MAC)
- 协调多设备共享同一物理介质的访问,避免冲突:
- CSMA/CD(载波侦听多路访问/冲突检测):用于以太网,检测冲突后重发。
- CSMA/CA(载波侦听多路访问/冲突避免):用于Wi-Fi,通过ACK和随机退避减少冲突。
2. 常见协议与技术
以太网(Ethernet)
-
帧结构:
字段 说明 前导码(7字节) 同步接收方时钟。 SFD(1字节) 帧起始定界符( 10101011
)。目的MAC(6字节) 目标设备的MAC地址。 源MAC(6字节) 发送方MAC地址。 类型(2字节) 上层协议类型(如IPv4为 0x0800
,ARP为0x0806
)。数据(46-1500字节) 携带IP数据报(最小46字节,不足需填充)。 CRC(4字节) 校验码,检测传输错误。 -
特点:
- 支持多种速率(10Mbps、1Gbps、10Gbps等)和介质(双绞线、光纤)。
- 使用交换机实现全双工通信,避免冲突(传统集线器已被淘汰)。
Wi-Fi(IEEE 802.11)
- 帧结构:
- 包含MAC头(控制帧类型、地址)、数据载荷和CRC。
- 支持三种地址类型:源地址、目的地址、AP(接入点)地址。
- 关键技术:
- CSMA/CA:发送数据前先监听信道,空闲时发送,否则随机等待。
- RTS/CTS(可选):减少隐藏终端问题(如设备A和C无法直接通信,但均连接至B)。
- ACK机制:接收方需确认帧的接收,否则发送方重传。
PPP(点对点协议)
- 用途:用于拨号上网、路由器间直连等点对点链路。
- 特点:
- 支持身份验证(如PAP、CHAP协议)。
- 封装多种网络层协议(IP、IPX等)。
- 帧结构简单,无MAC地址(因仅两点通信)。
3. 关键机制
ARP协议流程
- 场景:主机A(IP: 192.168.1.1)需向主机B(IP: 192.168.1.2)发送数据,但未知B的MAC地址。
- ARP请求(广播):
- A发送广播帧,询问“谁的IP是192.168.1.2?”。
- 目标MAC为
FF:FF:FF:FF:FF:FF
,局域网内所有设备均接收。
- ARP响应(单播):
- B回复单播帧,告知A自己的MAC地址。
- A将B的IP-MAC映射存入ARP缓存表(有效期通常几分钟)。
MTU与分片
- MTU(最大传输单元):数据链路层可传输的最大帧长度(如以太网为1500字节)。
- 分片处理:
- 若IP数据报超过MTU,网络层(IP协议)负责分片。
- 接收方重组分片,但分片会增加延迟和丢包风险(现代网络通常避免分片,通过路径MTU发现确定最小MTU)。
错误处理
- CRC校验:接收方计算帧的CRC值,若与帧尾不匹配,直接丢弃该帧。
- 纠错机制:Wi-Fi等无线协议可能使用前向纠错(FEC),在帧中添加冗余数据,允许接收方自行修复少量错误。
4. 数据链路层与物理层的关系
- 数据链路层:定义帧格式、寻址和错误控制,依赖物理层实现比特流传输。
- 物理层:负责将帧转换为电信号、光信号或无线电波(如网卡、光纤模块、天线)。
五:网络层详解
1. 核心协议与功能
IP协议(Internet Protocol)
- 作用:为数据包提供逻辑寻址(IP地址)和路由选择。
- 版本:
- IPv4:
- 32位地址(如
192.168.1.1
),总量约42亿,通过NAT和CIDR缓解地址短缺。 - 数据报格式:
- 首部(20字节+可选字段):包含TTL(生存时间)、协议类型(如TCP/UDP)、源/目的IP等。
- 数据:承载传输层报文(如TCP段或UDP数据报)。
- 32位地址(如
- IPv6:
- 128位地址(如
2001:0db8:85a3::8a2e:0370:7334
),几乎无限地址空间。 - 改进:
- 简化首部(固定40字节,无分片字段)。
- 内置IPsec加密与身份验证。
- 支持无状态地址自动配置(SLAAC)。
- 128位地址(如
- IPv4:
辅助协议
- ICMP(Internet控制报文协议):
- 用于网络诊断与错误报告(如
ping
基于ICMP Echo Request/Reply)。 - 报告网络问题(如目标不可达、超时)。
- 用于网络诊断与错误报告(如
- 路由协议:
- OSPF(开放最短路径优先):内部网关协议(IGP),基于链路状态算法,适用于企业内网。
- BGP(边界网关协议):外部网关协议(EGP),管理跨自治系统(AS)的路由,支撑互联网核心路由。
2. 关键机制
IP寻址与子网划分
- IP地址结构:
- 网络号 + 主机号:通过子网掩码(如
255.255.255.0
)区分网络与主机部分。 - CIDR(无类别域间路由):取代传统A/B/C类地址,支持灵活划分(如
192.168.1.0/24
表示前24位为网络号)。
- 网络号 + 主机号:通过子网掩码(如
- 私有地址与NAT:
- 私有IP范围:
10.0.0.0/8
、172.16.0.0/12
、192.168.0.0/16
,用于局域网内。 - NAT(网络地址转换):
- 功能:将私有IP映射为公网IP,实现多设备共享单一公网IP。
- 类型:
- 静态NAT:一对一映射(如将
192.168.1.2
映射为203.0.113.5
)。 - PAT(端口地址转换):多对一映射,通过端口号区分会话(常见于家庭路由器)。
- 静态NAT:一对一映射(如将
- 私有IP范围:
路由与转发
-
路由表:
-
每台路由器维护一张表,记录目标网络与下一跳的映射。
-
表项示例:
目标网络 下一跳 接口 度量值 192.168.1.0/24 直接连接 eth0 0 0.0.0.0/0 203.0.113.1 eth1 1
-
-
路由选择原则:
- 最长前缀匹配:优先选择子网掩码最长的路由条目。
- 动态路由协议:OSPF通过计算最短路径树,BGP基于策略选择最优路径。
分片与重组
- MTU(最大传输单元):数据链路层帧的最大载荷(如以太网为1500字节)。
- 分片场景:
- 当IP数据报大小超过MTU时,路由器将其分割为多个分片。
- 每个分片携带标识符、偏移量、MF标志(More Fragments)。
- 重组:由目标主机根据分片信息重新组装原始数据报。
- 现代优化:通过路径MTU发现(PMTUD),源主机主动探测路径最小MTU,避免分片。
3. IPv4 与 IPv6 对比
特性 | IPv4 | IPv6 |
---|---|---|
地址长度 | 32位(4字节) | 128位(16字节) |
地址表示 | 点分十进制(如192.168.1.1 ) |
冒号分隔十六进制(如2001:db8::1 ) |
首部复杂度 | 包含可选字段,可变长度(20-60字节) | 固定40字节,无选项字段 |
安全性 | 依赖外部协议(如IPsec) | 内置IPsec支持 |
地址配置 | DHCP或手动配置 | 支持SLAAC(无状态自动配置) |
4. 网络层安全与挑战
常见攻击
- IP欺骗(Spoofing):伪造源IP发起DDoS攻击或绕过认证。
- 分片攻击:发送恶意分片耗尽目标资源。
- 路由劫持:通过伪造BGP路由条目劫持流量。
防护措施
- IPsec:为IP层提供加密、完整性验证与抗重放保护(IPv6原生支持)。
- 过滤与ACL:路由器配置访问控制列表(ACL),拦截非法IP或分片。
- RPKI(资源公钥基础设施):验证BGP路由宣告的合法性,防止路由劫持。