一、计算机网络基础
1. 计算机网络的定义与分类
定义
计算机网络是通过通信设备和线路将分布在不同地理位置的独立计算机连接起来,以实现资源共享和信息传递的系统。
分类
• 按覆盖范围:
• 局域网(LAN):覆盖范围小,常用于企业或家庭网络。
• 城域网(MAN):覆盖一个城市范围,通常由多个局域网组成。
• 广域网(WAN):覆盖大范围区域,常通过运营商线路连接,典型例子是互联网。
• 按拓扑结构:
• 总线型:所有设备通过共享一条通信线路相连。
• 星型:所有设备通过中心节点连接,常见于交换机网络。
• 环型:节点按环形连接,数据沿固定方向传输。
• 网状型:每个节点都有多个路径到达其他节点,可靠性高。
2. 网络体系结构
OSI七层模型
• 物理层:提供比特流的传输。
• 数据链路层:组帧、差错检测与纠正。
• 网络层:路由选择与转发。
• 传输层:可靠性、数据完整性。
• 会话层:建立、管理和终止会话。
• 表示层:数据翻译、加密解密、压缩解压。
• 应用层:用户与网络交互(HTTP、FTP等协议)。
TCP/IP四层模型
• 链路层:数据链路层和物理层的结合。
• 网络层:IP协议,提供寻址和路由。
• 传输层:TCP/UDP协议,提供端到端服务。
• 应用层:包括OSI模型的会话层、表示层、应用层。
对比
TCP/IP更贴近实际实现,而OSI模型更偏理论。
3. 网络协议
网络协议是网络通信的规则,包含语法、语义、时序三部分。
常见协议
• 应用层协议:
• HTTP:超文本传输协议,用于网页访问。
• FTP:文件传输协议,用于文件上传和下载。
• DNS:域名系统,用于将域名解析为IP地址。
• 传输层协议:
• TCP:面向连接的可靠传输。
• UDP:无连接的快速传输。
• 网络层协议:
• IP:提供数据报传输和寻址功能。
• ICMP:用于网络诊断(如ping命令)。
• 数据链路层协议:
• 以太网协议:定义帧格式和MAC地址。
二、物理层
1. 功能与传输方式
功能
• 定义设备间传输的电气、机械、规程特性。
• 提供比特流的透明传输。
传输方式
• 串行与并行:串行逐位传输,并行多位同时传输。
• 单工、半双工、全双工:单工单向通信,半双工双向但不可同时通信,全双工可以同时通信。
2. 传输介质
有线介质
• 双绞线:廉价,常用于局域网。
• 同轴电缆:抗干扰性强,常用于电视网络。
• 光纤:带宽高、衰减小,适用于远距离传输。
无线介质
• 微波:适合远距离、需要视距。
• 红外线:短距离、无障碍环境。
• 卫星通信:覆盖范围广,但延时较大。
3. 信道容量与编码
信道容量
• 奈奎斯特定理:最大无噪声信道容量为 ,其中 为带宽, 为符号数。
• 香农公式:有噪声信道最大容量为 ,其中 为信噪比。
线路编码方式
• 曼彻斯特编码:同步性好。
• 差分曼彻斯特编码:抗干扰能力强。
三、数据链路层
1. 功能
• 帧的封装与拆封:将数据分组为帧,加上帧头和帧尾。
• 差错检测:使用循环冗余校验(CRC)检测传输错误。
• 流量控制:控制发送速率,避免接收方因缓冲区不足丢包。
2. 协议与设备
• 以太网协议:采用CSMA/CD(载波侦听多路访问/碰撞检测)机制。
• 数据链路层设备:
• 网桥:连接多个局域网,基于MAC地址转发。
• 交换机:提供高效帧交换。
3. 链路层通信技术
• PPP协议:点对点协议,支持鉴权与压缩。
• HDLC协议:提供无确认、面向比特的链路控制。
四、网络层
1. 功能
网络层负责跨网络的数据传输,提供以下功能:
• 寻址:分配逻辑地址(如IP地址)以标识网络中的设备。
• 路由选择:通过路由算法决定数据包的最佳传输路径。
• 拥塞控制:检测网络拥塞并调整流量。
2. IP协议
IPv4
• 地址格式:32位二进制表示,可分为网络部分和主机部分。
• 地址分类:
• A类:用于大型网络,首字节范围0-127。
• B类:用于中型网络,首字节范围128-191。
• C类:用于小型网络,首字节范围192-223。
• D类:用于组播。
• E类:保留地址。
• 子网划分:通过子网掩码将IP地址划分为子网,以提高地址利用率。
IPv6
• 地址格式:128位,采用冒号分隔的十六进制表示法。
• 特点:
• 更大的地址空间。
• 去分类化,无需子网掩码。
• 内置支持IPSec(网络安全)。
CIDR(无类别域间路由)
通过前缀表示地址范围,例如 192.168.1.0/24 表示前24位为网络部分。
3. 路由算法
路由分类
• 静态路由:管理员手动配置,适合小型网络。
• 动态路由:使用路由协议自动更新,适合大型网络。
路由协议
• RIP(路由信息协议):
• 基于距离向量算法,度量单位是跳数。
• 最大跳数限制为15,适用于小型网络。
• OSPF(开放最短路径优先):
• 基于链路状态算法,支持多区域划分。
• 收敛速度快,适用于中大型网络。
• BGP(边界网关协议):
• 用于自治系统之间的路由选择,适合广域网。
4. 网络层设备
• 路由器:主要设备,用于连接多个网络并转发数据包。
• 防火墙:保护网络安全,基于网络层和传输层过滤数据包。
五、传输层
1. 功能
传输层为应用进程提供端到端的通信服务:
• 可靠性:提供可靠数据传输(TCP)。
• 顺序性:保证数据按顺序到达。
• 流量控制:防止发送方传输速率过快导致接收方丢包。
• 多路复用:通过端口号区分多个应用。
2. 协议
TCP(传输控制协议)
• 三次握手:
1. 客户端发送SYN包。
2. 服务器回复SYN-ACK包。
3. 客户端发送ACK确认包,连接建立。
• 四次挥手:
1. 客户端发送FIN包。
2. 服务器回复ACK。
3. 服务器发送FIN包。
4. 客户端回复ACK,连接断开。
• 拥塞控制:
• 慢启动:初始发送窗口小,逐渐加速。
• 拥塞避免:探测网络容量。
• 快速重传与快速恢复:应对丢包。
UDP(用户数据报协议)
• 特点:无连接、不可靠、简单高效。
• 应用场景:视频流、在线游戏、DNS查询等。
3. 端口号
• 常见端口:
• HTTP:80
• HTTPS:443
• FTP:21
• DNS:53
• 动态端口:49152-65535,供临时使用。
六、应用层
1. 应用层协议
• HTTP/HTTPS:用于网页访问,HTTPS基于SSL/TLS提供安全通信。
• FTP:文件传输协议,分为主动模式和被动模式。
• DNS:将域名解析为IP地址,分为递归查询和迭代查询。
2. Web相关技术
• URL和URI:URL是URI的子集,URI包含更多类型(如URN)。
• Cookie与Session:
• Cookie存储在客户端,用于会话跟踪。
• Session存储在服务器端,用于用户状态维护。
七、网络安全
1. 网络安全基础
• 三要素:机密性、完整性、可用性。
• 常见攻击:
• DDoS攻击:分布式拒绝服务攻击,导致网络瘫痪。
• SQL注入:通过插入恶意代码攻击数据库。
• XSS攻击:在网页中插入恶意脚本。
2. 加密技术
• 对称加密:加密和解密使用相同密钥(如DES、AES)。
• 非对称加密:公钥加密,私钥解密(如RSA、ECC)。
• 哈希算法:将数据映射为固定长度值(如MD5、SHA系列)。
3. 认证机制
• 数字签名:用私钥签名,公钥验证,确保数据完整性和来源可信。
• 数字证书(CA认证):绑定公钥和身份信息,确保通信安全。
• 单点登录(SSO):用户只需登录一次即可访问多个系统。
八、无线网络与移动通信
1. 无线网络协议
• Wi-Fi:基于IEEE 802.11协议,适用于局域网无线通信。
• 蓝牙:适用于短距离设备间的低功耗通信。
2. 移动通信技术
• 蜂窝网络架构:基站、核心网协同工作。
• 代际技术:
• 2G:语音和短信服务。
• 3G:支持数据业务(如视频通话)。
• 4G:高速数据传输(如LTE)。
• 5G:低时延、高速率、大连接密度。
九、网络性能与管理
1. 性能指标
• 吞吐量:单位时间内成功传输的数据量。
• 时延:数据从发送到接收所需的时间。
• 丢包率:传输中丢失的数据包比例。
• 带宽:网络的最大传输能力。
2. 网络管理技术
• SNMP:简单网络管理协议,用于收集和管理网络设备信息。
• 网络监控工具:如Wireshark,用于捕获和分析网络流量。