上传文件至 /

This commit is contained in:
wxin 2025-03-19 20:36:50 +08:00
parent b05a57cb08
commit 98c439e752

537
网络管理.md Normal file
View File

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