一、计算机网络基础
1. 什么是计算机网络?
计算机网络是将多台计算机通过通信设备和线路连接起来,实现资源共享和信息传递的系统。
2. 计算机网络的分类
- 按覆盖范围:
- 局域网(LAN):覆盖范围小,如家庭、办公室。
- 城域网(MAN):覆盖一个城市。
- 广域网(WAN):覆盖范围大,如互联网。
- 按传输介质:
- 有线网络(如光纤、双绞线)。
- 无线网络(如Wi-Fi、蓝牙)。
- 按拓扑结构:
- 星型、总线型、环型、网状型等。
3. 网络协议
- 定义:网络协议是计算机之间通信的规则和标准。
- 常见协议:
- HTTP/HTTPS:用于网页浏览。
- FTP:用于文件传输。
- TCP/UDP:用于数据传输。
- IP:用于网络寻址。
二、网络分层模型
1. OSI 七层模型
- 物理层:传输比特流(如网线、光纤)。
- 数据链路层:数据帧的传输(如MAC地址)。
- 网络层:数据包的路由和转发(如IP地址)。
- 传输层:端到端的通信(如TCP、UDP)。
- 会话层:建立、管理和终止会话。
- 表示层:数据格式转换(如加密、压缩)。
- 应用层:提供网络服务(如HTTP、FTP)。
2. TCP/IP 四层模型
- 网络接口层:对应OSI的物理层和数据链路层。
- 网络层:对应OSI的网络层(如IP协议)。
- 传输层:对应OSI的传输层(如TCP、UDP)。
- 应用层:对应OSI的应用层、表示层和会话层。
三、核心协议与技术
1. IP 协议
- 作用:为网络中的设备分配唯一地址(IP地址)。
- IPv4 vs IPv6:
- IPv4:32位地址,如
192.168.1.1
。 - IPv6:128位地址,如
2001:0db8:85a3::8a2e:0370:7334
。
- IPv4:32位地址,如
2. TCP 协议
- 特点:
- 面向连接:通信前需建立连接。
- 可靠传输:通过确认、重传等机制保证数据不丢失。
- 流量控制:通过滑动窗口机制控制发送速率。
- 三次握手:
- 客户端发送 SYN 报文。
- 服务器回复 SYN+ACK 报文。
- 客户端发送 ACK 报文。
- 四次挥手:
- 客户端发送 FIN 报文。
- 服务器回复 ACK 报文。
- 服务器发送 FIN 报文。
- 客户端回复 ACK 报文。
3. UDP 协议
- 特点:
- 无连接:无需建立连接。
- 不可靠传输:不保证数据不丢失。
- 高效:适用于实时应用(如视频、语音)。
4. HTTP 协议
- 特点:
- 无状态:每次请求独立,服务器不保存客户端状态。
- 基于请求-响应模型。
- HTTP vs HTTPS:
- HTTPS 是 HTTP 的安全版本,使用 SSL/TLS 加密。
5. DNS 协议
- 作用:将域名解析为 IP 地址。
- 过程:
- 客户端向本地 DNS 服务器查询。
- 本地 DNS 服务器向根 DNS 服务器查询。
- 根 DNS 服务器返回顶级域名服务器地址。
- 本地 DNS 服务器向顶级域名服务器查询。
- 顶级域名服务器返回权威 DNS 服务器地址。
- 本地 DNS 服务器向权威 DNS 服务器查询。
- 权威 DNS 服务器返回 IP 地址。
四、网络设备
1. 路由器
- 作用:连接不同网络,转发数据包。
- 功能:
- 路由选择:根据路由表选择最佳路径。
- 分组转发:将数据包发送到目标网络。
2. 交换机
- 作用:连接同一网络中的设备,转发数据帧。
- 功能:
- MAC 地址学习:记录设备的 MAC 地址。
- 数据帧转发:根据 MAC 地址表转发数据。
3. 防火墙
- 作用:保护网络安全,过滤非法流量。
- 功能:
- 包过滤:根据规则允许或拒绝数据包。
- 状态检测:跟踪连接状态,防止非法访问。
五、网络安全
1. 常见攻击
- DDoS 攻击:通过大量请求耗尽服务器资源。
- 中间人攻击:攻击者窃取或篡改通信数据。
- SQL 注入:通过恶意 SQL 语句攻击数据库。
2. 防御措施
- 加密:使用 SSL/TLS 加密通信数据。
- 防火墙:过滤非法流量。
- 入侵检测系统(IDS):监控网络流量,检测攻击行为。
六、网络性能优化
1. 带宽
- 定义:网络传输数据的能力,单位为 bps(比特每秒)。
- 优化:升级网络设备,增加带宽。
2. 延迟
- 定义:数据从发送端到接收端的时间。
- 优化:使用 CDN(内容分发网络),减少传输距离。
3. 吞吐量
- 定义:单位时间内成功传输的数据量。
- 优化:使用负载均衡,分散流量。
七、常见问题与解答
1. 什么是 NAT?
NAT(网络地址转换)将私有 IP 地址转换为公有 IP 地址,解决 IPv4 地址不足的问题。
2. 什么是 VPN?
VPN(虚拟专用网络)通过加密技术在公共网络上建立专用网络,保护数据安全。
3. 什么是 CDN?
CDN(内容分发网络)通过分布式服务器缓存内容,加速用户访问。
桥接模式(Bridged Mode) 和 NAT 模式(Network Address Translation Mode) 是虚拟机(如 VMware、VirtualBox)或网络设备中常见的两种网络连接方式。它们的主要区别在于虚拟机如何与外部网络通信。以下是它们的详细对比:
一、桥接模式(Bridged Mode)
1. 工作原理
- 在桥接模式下,虚拟机的网络接口直接连接到物理网络,就像一台独立的物理设备一样。
- 虚拟机会从物理网络的 DHCP 服务器获取 IP 地址,与主机和其他设备处于同一网段。
2. 特点
- IP 地址:虚拟机与主机在同一网段,拥有独立的 IP 地址。
- 网络访问:虚拟机可以直接访问外部网络(如互联网),外部网络也可以直接访问虚拟机。
- 网络拓扑:虚拟机和主机在同一个局域网中,地位平等。
3. 适用场景
- 需要虚拟机与外部网络直接通信(如服务器测试)。
- 需要虚拟机与局域网中的其他设备通信。
4. 示例
- 主机 IP:
192.168.1.100
- 虚拟机 IP:
192.168.1.101
(与主机在同一网段)
二、NAT 模式(Network Address Translation Mode)
1. 工作原理
- 在 NAT 模式下,虚拟机通过主机的网络接口与外部网络通信。
- 主机会为虚拟机分配一个私有 IP 地址(如
192.168.x.x
),并通过 NAT 技术将虚拟机的流量转发到外部网络。
2. 特点
- IP 地址:虚拟机使用私有 IP 地址,与主机不在同一网段。
- 网络访问:虚拟机可以访问外部网络,但外部网络无法直接访问虚拟机。
- 网络拓扑:虚拟机位于主机的“内部网络”,主机充当虚拟机的网关。
3. 适用场景
- 需要虚拟机访问外部网络,但不希望虚拟机暴露在外部网络中。
- 适合开发、测试等场景。
4. 示例
- 主机 IP:
192.168.1.100
- 虚拟机 IP:
192.168.56.101
(与主机不在同一网段)
三、桥接模式 vs NAT 模式
特性 | 桥接模式 | NAT 模式 |
---|---|---|
IP 地址 | 与主机在同一网段,独立 IP 地址 | 使用私有 IP 地址,与主机不在同一网段 |
网络访问 | 虚拟机可以直接访问外部网络 | 虚拟机通过主机访问外部网络 |
外部访问虚拟机 | 外部网络可以直接访问虚拟机 | 外部网络无法直接访问虚拟机 |
网络拓扑 | 虚拟机与主机在同一局域网中 | 虚拟机位于主机的“内部网络” |
安全性 | 较低(虚拟机暴露在外部网络中) | 较高(虚拟机隐藏在主机后) |
适用场景 | 服务器测试、局域网通信 | 开发、测试、虚拟机访问外部网络 |
四、如何选择?
1. 选择桥接模式的情况
- 需要虚拟机与局域网中的其他设备通信。
- 需要虚拟机作为独立的网络设备(如服务器)。
- 需要外部网络直接访问虚拟机。
2. 选择 NAT 模式的情况
- 需要虚拟机访问外部网络,但不希望虚拟机暴露在外部网络中。
- 在开发、测试环境中使用虚拟机。
- 主机网络环境复杂,无法为虚拟机分配独立 IP 地址。
五、配置示例
1. 桥接模式配置(以 VMware 为例)
- 打开虚拟机设置,选择“网络适配器”。
- 选择“桥接模式”。
- 启动虚拟机,获取与主机同一网段的 IP 地址。
2. NAT 模式配置(以 VMware 为例)
- 打开虚拟机设置,选择“网络适配器”。
- 选择“NAT 模式”。
- 启动虚拟机,获取私有 IP 地址(如
192.168.56.x
)。
六、总结
- 桥接模式:虚拟机与主机在同一局域网中,适合需要直接与外部网络通信的场景。
- NAT 模式:虚拟机通过主机访问外部网络,适合需要隐藏虚拟机的场景。