软件设计师-第十章(计算机网络)
网络功能分类
计算机网络是计算机技术与通信技术相结合的产物,它实现了远程通信、远程信息处理和资源共享。
计算机网络的功能:数据通信、资源共享、负载均衡、高可靠性
。
计算机网络按分布范围和拓扑结构划分
如下图所示:
网络分类 | 缩写 | 分布距离 | 计算机分布范围 | 传输速率范围 |
---|---|---|---|---|
局域网 | LAN | 10m左右 | 房间 | 4Mbps ~ 1Gbps |
局域网 | LAN | 100m左右 | 楼寓 | 4Mbps ~ 1Gbps |
局域网 | LAN | 1000m左右 | 校园 | 4Mbps ~ 1Gbps |
城域网 | MAN | 10km | 城市 | 50Kbps ~ 100Mbps |
广域网 | WAN | 100km以上 | 国家或全球 | 9.6Kbps ~ 45Mbps |
- 总线型(利用率低、干扰大、价格低)
- 星型(交换机形成的局域网、中央单元负荷大)
- 环型(流动方向固定、效率低扩充难)
- 树型(总线型的扩充、分级结构)
- 分布式(任意节点连接、管理成本高)
OSI七层模型
层 | 功能 | 单位 | 协议 | 设备 |
---|---|---|---|---|
应用层 | 对用户不透明的提供各种服务 ,如E-mail。 |
数据 | Telnet、FTP、HTTP、SMTP、 POP3、DNS、DHCP等 |
网关 |
表示层 | 实现数据转换 (包括格式转换、压缩、加密等),提供标准的应用接口、公用的通信服务、公共数据表示方法。 |
JPEG、ASCII、GIF、MPEG、DES | 网关 | |
会话层 | 建立通信进程的逻辑名字与物理名字之间的联系 ,提供进程之间建立、管理和终止会话的方法,处理同步与恢复 问题。 |
RPC、SQL、NFS | 网关 | |
传输层 | 提供端-端间可靠的、透明的数据传输 ,保证报文顺序的正确性、数据的完整性。 |
报文段 | TCP、UDP | 网关 |
网络层 | 在源节点-目的节点之间进行路由选择、拥塞控制、顺序控制 、传送包,保证报文的正确性 。网络层控制着通信子网的运行,因而它又称为通信子网层。 |
IP分组 | IP、ICMP、IGMP、ARP、RARP | 路由器 |
数据链路层 | 把不可靠的信道变为可靠的信道 为此将比特组成帧 在链路上提供点到点的传输,并进行差错控制、流量控制等。 |
帧 | SDLC、HDLC、LAPB、PPP、 STP、帧中继等、IEEE802、ATM |
交换器、网桥 |
物理层 | 在链路上透明地传输位 。 |
比特 | EIA/TIA RS-232、RS-449、V.35、 RJ-45、FDDI |
中继器、集线器 |
TCP/IP协议
网络协议三要素:语法、语义、时序
。
- 语法:规定数据传输的格式。
- 语义:规定所要完成的功能。
- 时序:规定操作的条件和顺序关系。
网络层协议:
- IP:网络层最重要的核心协议,在源地址和目的地址之间传送数据报,无连接、不可靠。
- ICMP:因特网控制报文协议,用于在IP主机和路由器之间传递控制消息,如网络连通性、主机可达性等。
- ARP和RARP:地址解析协议。
- ARP:将IP地址转换为物理地址。
- RARP:将物理地址转换为IP地址。
- IGMP:网络组管理协议,支持计算机加入多播组并向路由器报告组成员信息,用于组播通信。
传输层协议
:
- TCP:提供可靠的、面向连接的、全双工的数据传输服务。通过重发机制确保数据完整性,适用于数据量小且对可靠性要求高的场景。
- UDP:提供不可靠、无连接的数据传输服务,传输速度快,适用于数据量大且对实时性要求高的场景。
应用层协议
:(基于TCP的FTP、HTTP等都是可靠传输。基于UDP的DHCP、DNS等都是不可靠传输)
- FTP:可靠的文件传输协议,用于在因特网上进行文件的双向传输。
- TFTP:轻量级文件传输协议,适用于小文件传输,但不保证可靠性。
- HTTP:超文本传输协议,用于从Web服务器向浏览器传输数据。HTTPS是其安全版本,使用SSL/TLS加密。
- SMTP和POP3:用于电子邮件的传输和接收。SMTP负责发送邮件,POP3用于从服务器下载邮件。
- Telnet:用于远程登录到网络设备,提供命令行界面进行操作。
- SNMP:简单网络管理协议,用于监控和管理网络设备,确保其正常运行。
- DHCP:动态主机配置协议,自动为网络设备分配IP地址,
支持固定、动态和自动分配
。 - DNS:域名系统,将域名转换为IP地址,便于用户访问网络资源。
协议端口号对照表
端口 | 服务 | 描述 |
---|---|---|
20 | FTP (数据) | 文件传输协议,用于传输文件的数据端口 |
21 | FTP (控制) | 文件传输协议,用于控制连接的端口 |
22 | SSH | 安全外壳协议,用于加密的远程登录和安全文件传输 |
23 | Telnet | 终端仿真协议,用于远程登录(不加密)。 |
25 | SMTP | 简单邮件传输协议,用于发送电子邮件。 |
53 | DNS | 域名系统,用于将域名解析为IP地址。 |
67 | DHCP (服务器) | 动态主机配置协议,服务器端用于分配IP地址。 |
68 | DHCP (客户端) | 动态主机配置协议,客户端用于接收IP地址。 |
69 | TFTP | 简单文件传输协议,用于小文件传输(无认证)。 |
80 | HTTP | 超文本传输协议,用于网页浏览。 |
110 | POP3 | 邮局协议版本3,用于接收电子邮件。 |
143 | IMAP | 互联网消息访问协议,用于管理邮箱中的邮件。 |
161 | SNMP | 简单网络管理协议,用于网络设备监控和管理。 |
162 | SNMP (陷阱) | 简单网络管理协议,用于接收SNMP陷阱消息。 |
443 | HTTPS | 安全的超文本传输协议,用于加密的网页浏览。 |
3389 | RDP | 远程桌面协议,用于远程桌面连接。 |
传输介质、通信方式、交换方式
- 光纤:
- 定义:光纤是一种利用光信号传输数据的传输介质
- 特点:
- 高速传输:支持极高的数据传输速率
- 长距离传输:信号衰减小,适合远距离通信
- 抗干扰:不受电磁干扰,安全性高。
- 成本较高:安装和维护费用较高。
- 类型:
- 单模光纤:用于长距离、高宽带传输、光信号沿单一路径传播。
- 多模光纤:用于短距离传输,光信号沿多条路径传播。
- 通信方式
- 单工通信:
- 定义:数据只能在一个方向上传输。
- 例子:广播、电视。
- 半双工通信:
- 定义:数据可以在两个方向上传输,但不能同时进行。
- 例子:对讲机。
- 全双工通信:
- 定义:数据可以同时在两个方向上传输。
- 例子:电话、网络通信
- 单工通信:
- 交换方式:
- 电路交换:
- 定义:在通信前建立一条专用的物理连接,通信结束后释放。
- 特点:
- 实用性好,适合语音通信。
- 资源利用率低,建立连接耗时。
- 例子:传统电话网络。
- 报文交换:
- 定义:将整个报文作为一个整体进行存储和转发。
- 特点:
- 不需要专用连接,资源利用率高。
- 延迟较大,不适合实时通信。
- 例子:早期的电报系统。
- 分组交换:
- 定义:将数据分成多个分组,每个分组独立传输。
- 特点:
- 资源利用率高,适合突发性数据传输。
- 延迟较小,适合现代数据通信。
- 类型:
- 数据报:每个分组独立路由,可能无序到达。
- 虚电路:预先建立逻辑连接,分组按顺序到达。
- 例子:互联网(IP网络)。
- 电路交换:
总结
- 光纤:高速、长距离、抗干扰,适合现代通信需求。
- 通信方式:单工、半双工、全双工,分别适用于不同的通信场景。
- 交换方式:电路交换、报文交换、分组交换,各有优缺点,适用于不同的通信需求。
IP地址表示(IP4、IP6)
- IPv4地址
- 表示:32位二进制数,通常用点分十进制表示(如192.168.1.1).
- 地址分类:
- A类:1.0.0.0到126.0.0.0,默认子网掩码255.0.0.0.
- B类:128.0.0.0到191.255.0.0,默认子网掩码255.255.0.0.
- C类:192.0.0.0到223.255.255.0,默认子网掩码255.255.255.0.
- D类:224.0.0.0到239.255.255.255,用于多播
- E类:240.0.0.0到255.255.255.255,保留用于实验
- IPv6地址
- 表示:128位二进制数,通常用于十六进制表示(如2001:0db8:85a3::8a2e:0370:7334).
- 特点:
- 地址空间更大:IPv6地址空间位2^128,远大于IPv4的2^32.
- 简化头部:IPv6头部更简洁,提高了路由效率。
- 无NAT:IPv6地址充足,无需网络地址转换(NAT)。
- 内置安全性:支持IPSec,提供端到端加密。
特性 | IPv4 | IPv6 |
---|---|---|
地址长度 | 32位 | 128位 |
地址表示 | 点分十进制(如192.168.1.1) | 十六进制(如2001:db8::1) |
地址空间 | 约43亿个地址 | 约3.4 x 10^38个地址 |
NAT | 需要NAT | 不需要NAT |
安全性 | 可选IPSec | 内置IPSec |
头部复杂度 | 较复杂 | 更简洁 |
IPv4与IPv6的过渡技术
- 双栈技术(Dual Stack):
- 设备同时支持IPv4和IPv6协议栈
- 根据目的地址选择使用IPv4或IPv6通信
- 隧道技术(Tunneling):
- 将IPv6数据包封装在IPv4数据包中传输
- 常用隧道协议:6to4、GRE、ISATAP
- 协议转换(NAT64/DNS64):
- 将IPv6数据包转换位IPv4的数据包,或反之。
- 适用于IPv6-only网络访问IPv4资源
子网划分
- 子网划分
- 目的:提高IP地址利用率,减少网络拥塞,增强安全性。
- 步骤:
- 确定子网数:根据需求确定需要划分多少个子网。
- 确定主机数:根据每个子网中的主机数量,确定主机部分的位数。
- 计算子网掩码:根据子网数和主机数,计算新的子网掩码。
- 划分子网:根据子网掩码,将IP地址划分为多个子网。
- 子网划分计算
- 公式:
- 子网数:2^n,其中n是借用的主机位数。
- 每个子网的主机数:2^m - 2 ,其中m是剩余的主机位数。
- 公式:
- 示例
- 示例1:将192.168.1.0/24划分为4个子网。
- 步骤:
- 需要4个子网,借用2位主机位(2^2 = 4)
- 新的子网掩码:255.255.255.192(/26)
- 每个子网的主机数:2^6 - 2 = 62.
- 子网划分:
- 子网1:192.168.1.0到192.168.1.63
- 子网2:192.168.1.64到192.168.1.127
- 子网3:192.168.1.128到192.168.1.191
- 子网4:192.168.1.192到192.168.1.255
- 步骤:
- 示例2:将172.16.0.0/16划分为8个子网。
- 步骤:
- 需要8个子网,借用3位主机位(2^3 = 8)
- 新的子网掩码:255.255.224.0(/19)
- 每个子网的主机数:2^13 - 2 = 8190
- 子网划分:
- 子网1:172.16.0.0到172.16.31.255
- 子网2:172.16.32.0到172.16.63.255
- 子网3:172.16.64.0到172.16.95.255
- 子网4:172.16.96.0到172.16.127.255
- 子网5:172.16.128.0到172.16.159.255
- 子网6:172.16.160.0到172.16.191.255
- 子网7:172.16.192.0到172.16.223.255
- 子网8:172.16.224.0到172.16.255.255
- 步骤:
- 示例1:将192.168.1.0/24划分为4个子网。
防火墙技术
- 防火墙的定义
- 防火墙是一种网络安全设备,用于监控和控制进出网络的流量,基于预定义的安全规则允许或阻止数据包的传输。
- 主要功能:
- 防止未经授权的访问。
- 保护内部网络免受外部攻击
- 监控和记录网络流量。
- 防火墙的类型
- 包过滤防火墙(Packet Filtering Firewall)
- 工作原理:基于数据包的源地址、目标地址、端口号和协议类型进行过滤。
- 优点:简单、高效。
- 缺点:无法检测数据包内容,容易被欺骗。
- 状态检测防火墙(Stateful Inspection Firewall):
- 工作原理:不仅检查单个数据包,还跟踪连接状态(如TCP三次握手)
- 优点:更安全,能防止某些类型的攻击(如IP欺骗)。
- 缺点:性能开销较大。
- 应用层网关(Application Layer GateWay):
- 工作原理:工作在应用层,深层检查数据包内容(如HTTP、FTP)
- 优点:能检测和阻止应用层攻击(如SQL注入、XSS)。
- 缺点:性能开销大、配置复杂。
- 下一代防火墙(Next-Generation Firewall,NGFW):
- 工作原理:结合传统防火墙功能,增加入侵检测(IDS)、入侵防御(IPS)、深度包检测(DPI)等功能
- 优点:功能全面,能应对复杂威胁。
- 缺点:成本高,配置复杂。
- 包过滤防火墙(Packet Filtering Firewall)
- 防火墙的工作模式:
- 路由模式:
- 防火墙作为网络中的路由器,转发数据包。
- 适用于需要隐藏内部网络结构的场景。
- 透明模式:
- 防火墙作为网络中的透明设备,不改变网络拓扑。
- 适用于需要无缝集成到现有网络的场景。
- 混合模式:
- 结合路由模式和透明模式,适用于复杂网络环境
- 路由模式:
- 防火墙的部署位置
- 网络边界防火墙:
- 部署在内网和外网之间,保护整个内部网络。
- 内部防火墙:
- 部署在内网的不同部门之间,实现内部网络的分段保护。
- 主机防火墙:
- 部署在单个主机上,保护特定设备。
- 网络边界防火墙:
- 防火墙的安全策略:
- 默认允许策略:
- 允许所有流量,除非明确禁止。
- 适用于内部网络,灵活性高,但安全性较低。
- 默认拒绝策略:
- 拒绝所有流量,除非明确允许。
- 适用于外部网络,安全性高,但配置复杂。
- 默认允许策略:
- 防火墙的配置与管理:
- 访问控制列表(ACL):
- 定义允许或拒绝流量的规则。
- 示例:
allow tcp 192.168.1.0/24 any 80 deny ip any any
- 日志与监控:
- 记录网络流量和安全事件。
- 实时监控网络状态,及时发现异常。
- 更新于维护:
- 定期更新防火墙规则和软件版本。
- 定期审查和优化安全策略。
- 访问控制列表(ACL):
- 防火墙的局限性
- 无法防御内部攻击:防火墙主要防御外部攻击,对内部威胁无能为力。
- 无法防御新型攻击:防火墙依赖于预定义的规则,无法应对未知威胁。
- 性能瓶颈:高流量环境下,防火墙可能成为网络性能的瓶颈。
- 防火墙的应用场景
- 企业网络:保护企业内部网络免受外部攻击
- 数据中心:保护服务器和存储设备,确保数据安全。
- 云环境:在云平台中部署虚拟防火墙,保护云资源。
- 总结
- 防火墙是网络安全的重要组成部分,用于监控和控制网络流量。
- 类型:包过滤、状态检测、应用层网关、下一代防火墙。
- 工作模式:路由模式、透明模式、混合模式。
- 部署位置:网络边界、内部网络、主机。
- 安全策略:默认允许、默认拒绝。
- 配置与管理:ACL、日志与监控、更新与维护。
- 局限性:无法防御内部攻击、新型攻击、性能瓶颈。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 JavaHna!