计算机网络原理
计算机网络概述
基本概念
起源:计算机网络是计算机技术与通信技术融合的产物。
定义:计算机网络是互连的、自治的计算机的集合。
ISP:因特网服务提供商(Internet Service Provider)。
协议
网络协议:网络通信实体之间在数据交换过程中需要遵循的规则或约定。
协议三要素:
- 语法:定义实体之间交换信息的格式与结构
- 语义:定义实体直接交换信息中的控制信息
- 时序:同步,定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度
计算机网络功能
- 硬件资源共享:云存储、云计算
- 软件资源共享:大型办公软件 SaaS、大型数据库系统
- 信息资源共享:信息检索、新闻浏览
计算机网络分类
按照覆盖范围分类:
- 个域网(PAN):1~10m
- 局域网(LAN):10m~1km
- 城域网(MAN):5~50km
- 广域网(WAN):50km+
按照拓扑结构分类:
- 星形拓扑结构:中央结点故障,全网瘫痪;规模受限于中央结点端口数量
- 总线型拓扑结构:广播通信,容易产生冲突
- 环形拓扑结构:某个结点故障,全网瘫痪;加新结点麻烦
- 网状拓扑结构:网络可靠性高,成本高,用于核心网络
- 树形拓扑结构:根结点要求高;目前局域网
- 混合拓扑结构:绝大多数实际网络
按照交换方式分类:
- 电路交换方式
- 报文交换方式
- 分组交换方式(计算网络采用此方式)
按网络用户属性分类:公用网、私有网
计算机网络结构
计算机网络结构:网络边缘、接入网络、网络核心。
网络边缘:连接到网上的所有端系统
接入网络:
- 电话拨号接入:利用电话网络接入
- 非对称数字用户线路 ADSL:利用电话网络接入、基于频分多路复用技术、非对称、独享式接入
- 混合光纤同轴电缆 HFC:利用有线电视网络接入、基于频分多路复用技术、非对称、共享式接入
- 局域网:典型的局域网技术是以太网、WiFi
- 移动接入网络:3G、4G、5G网络
网络核心:由通信链路互连的分组交换设备构成的网络,实现网络边缘中主机之间的中继与转发
数据交换技术
交换设备:多通信端口,同时连接多个通信结点。
数据交换是实现在大规模网络核心上进行数据传输的技术基础。
三种交换技术:
- 电路交换:最早出现;电话网络是最早、最大的电路交换网络;三个阶段:建立电路、传输数据、拆除电路
- 报文交换:存储-转发的交换方式;报文过大会丢失
- 分组交换:存储-转发的交换方式;包交换;最广泛的交换技术;为每个数据块附加上地址、序号等控制信息。优点:
- 交换设备存储容量要求低
- 交换速度快
- 可靠传输效率高
- 更加公平
分组交换:若其他条件相同,分组越长,延迟时间越长(合理范围:16B~4096B)
计算机网络性能
速率与带宽、时延、时延带宽积、丢包率、吞吐量
速率与带宽
速率:单位时间内传送的数据量,描述网络传输数据的快慢,也叫比特率。
- 单位:bit/s(位每秒)| bps(位每秒)
- 换算:bit-Kbit-Mbit-Gbit,使用 1000 换算
带宽:指一条链路或信道的最高数据速率;单位:bit/s(位每秒)
时延
时延:也称延迟,指数据从网络中的一个结点到达另一个结点所需要的时间。
跳:连接两个结点的直接链路称为一个“跳步”。
分组的每跳传输过程产生 4 类时间延迟:
时延带宽积
物理链路的传播时延与链路带宽的乘积,记为 G
,表示一段链路可以容纳的数据位数,也称:以位为单位的链路长度。
G = 传播时延 x 链路带宽 = dp x R
,得到的单位:bit
丢包率
反映网络的拥塞程度。
丢包率 = (实际发送的数据 - 实际收到的数据)/ 实际发送的数据
吞吐量
单位时间内源主机通过网络向目的主机实际送达的数据量,记为 Thr
;单位 bit/s 或 B/s;1B = 8bit
当存在多个链路时,吞吐量选择最小的(木桶原理)
ARPAnet 是第一个分组交换计算机互连的网络,也是当今因特网的祖先。
计算机网络体系结构
计算机网络体系结构:计算机网络所划分的层次以及各层次协议的集合。
分为三类:
- OSI 参考模型(7 层)+ 各层协议
- TCP/IP 参考模型(4 层)+ 各层协议
- 五层参考模型(5 层)+ 各层协议
- 应用层:报文
- 传输层:数据段或报文段
- 网络层:分组或包
- 数据链路层:帧
- 物理层:比特流或位流
相关术语:
数据单元:在层的实体之间传送的比特组
协议数据单元(PDU):对等层之间传输的数据单元
服务访问点(SAP):相邻层间是通过服务访问点进行的,每个 SAP 都有一个唯一的地址号码
服务原语:每一层都是为上一层服务的,提供服务用一组原语描述:请求、指示、响应、证实
OSI 7层参考模型
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层(物联网叔会使用)
-
自上而下逐层传递,接收端从下而上
-
发送方跟接收方的对等层不直接通信,称为虚拟通信
-
两个物理层端点进行物理通信,称为实通信
-
中间系统通常只实现(路由器等网络设备):物理层、数据链路层、网络层功能(后三层)
-
结点到结点层:后三层
-
端到端层:传输层(第一个端到端层)、会话层、表示层、应用层(前四层)
TCP/IP 4层参考模型
传输层主要包括:
- TCP:面向连接、提供可靠数据流传输的传输控制协议
- UDP:无连接,不提供可靠数据传输的数据报协议
四层模型:
- 应用层(报文)
- 传输层(段)
- 网络互联层(数据报;核心)
- 网络接口层(帧)
五层参考模型
- 应用层(报文)
- 传输层(段)
- 网络层(数据报)
- 链路层(帧)
- 物理层(比特流)
计算机网络中最常用、最接近实际网络的参考模型。
网络应用
计算机网络应用体系结构
- C/S 结构网络应用:最典型、最基本的网络应用;客户主动发起,服务器被动接收,服务器必须先运行
- 纯 P2P 结构网络应用:没有客户端服务器之分;应用于上传下载
- 混合结构网络应用:以上两种相结合
网络应用通信基本原理
基本通信过程:运行在不同主机上的应用进程间以 C/S方式 进行的通信
网络应用编程接口:套接字(Socket),用端口号标识套接字
域名系统(DNS)
域名系统:将域名映射为 IP 地址,实现映射的过程叫域名解析(分布式数据库存储映射关系数据)。
域名命名规则:层次树状结构命名方式,每个域名由不同级别的域名构成,用点分隔;不区分大小写。
层次化域名空间
顶级域名的分类:
- 国家顶级域名:cn、us、uk
- 通用顶级域名:com、org、gov、edu
- 基础结构域名:仅一个,arpa
域名服务器
- 根域名服务器:最重要,全球有 13 个,用 a~m 命名,首先求助该服务器
- 顶级域名服务器:管理注册的所有二级域名(www(三级).baidu(二级).com(一级))
- 权威域名服务器:负责一个区的域名服务器,保存该区中所有主机的域名和IP地址的映射
- 中间域名服务器:域名过长,才会用到该域名服务器,最少四级域名才会用到
本地域名服务器:主机进行域名查询时首先被查询的域名服务器,不在电脑上,在电脑周围(非本地 Hosts 文件)
查询顺序:主机 - 本地 - 根 - 顶级 - 权威
浏览器解析 IP 地址:最短一个 RTTd,最长四个 RTTd。
域名解析过程:
- 递归解析:主机 - 本地;本地 - 根;根 - 顶级 ... 找到谁谁去找下一个
- 迭代解析:主机 - 本地;本地 - 根;本地 - 顶级 ... 每次本地去挨个找
万维网应用
包括三个部分:
- Web 服务器
- 浏览器
- 超文本传输协议(HTTP)
统一资源定位符 URL,组成部分:主机域名(或 IP)和对象的路径名称。
HTTP
浏览器向服务器发送请求前,首先建立 TCP 连接
- 非持久连接(HTTP 1.0):发一次断一次
- 并行连接:建立多条并行 TCP 连接,并行发送请求和接收请求,仍然发一次断一次
- 持久链接
- 非流水方式持久连接:收到响应报文后,不断开连接,等上一次响应收到后才继续请求
- 流水方式持久连接(HTTP 1.1):并行请求,不断开连接
请求报文和响应报文的主要区别在于起始行:
HTTP 典型的请求方法:
- GET:最常见,读取信息
- HEAD:请求信息首部
- POST:添加信息
- OPTION:请求一些选项信息
- PUT:在指明的 URL 下存储一个文档
响应报文的状态码:
- 3xx:重定向
- 4xx:客户端错误(404 请求对象不存在)
- 5xx:服务器错误
cookie
小型文本文件,服务器给的,存储在用户本地。
包括 4 部分内容:
- 请求报文头行:Cookie
- 响应报文头行:Set-Cookie
- 用户浏览器本地存储的 cookie 文件
- 网站后台数据库中存储、维护 Cookie 信息
作用:用户跟踪
- 准确统计网站实际访问人数
- 限制某些特定用户的访问
- 存储用户操作习惯和行为偏好
- 记录用户名、密码等信息
- 实现“购物车”功能
Internet 电子邮件
邮件系统结构:
- 邮件服务器:核心
- 用户代理:Apple Mail、Fox Mail、Outlook 等
- 简单邮件传输协议(SMTP)
- 邮件读取协议(POP3、IMAP、HTTP)
SMTP
通过三个阶段的应用层交互完成邮件传输:握手阶段、邮件传输阶段、关闭阶段
SMTP 的特点:
- 只能传送 7 位 ASCII码文本内容
- 传送的邮件内容中不能包含
CRLF.CRLF
(回车换行),因为用该信息表示邮件内容结束 - 是推动协议(HTTP 是拉动协议)
- 使用的 TCP 连接是持久的
邮件包括:首部(To 必填)、空白行、行主体
MIME
互联网邮件扩展(MIME):依据一个标准将非 7 位 ASCII 码文本内容转换为7位ASCII码文本内容,然后再传输。
主要包括的内容:
- 5 个 MIME 邮件首部字段
- 标准化多媒体电子邮件格式
- 邮件内容格式化
邮件读取协议
- 第三版邮局协议(POP3):授权阶段、事务处理阶段、更新阶段;操作不会反应在服务器上
- 互联网邮件访问协议(IMAP):对邮件的操作会反应的服务器上,支持仅读取邮件部分内容
- Web 邮件系统的邮件读取协议(HTTP):浏览器网页邮箱
FTP
文件传送协议:在两个主机间实现文件互传的网络应用,其应用层协议称为 FTP(带外控制)。
需要建立两条连接:
- 控制连接(端口号 21):持久连接,客户/服务器之间传输控制信息,比如登录、上传下载命令等
- 数据连接(端口号 20):临时连接,实际传送文件的内容
FTP 是有状态的协议,用户账号和控制连接有关联。
P2P 应用
- BitTorrent、PPLive、PPStream
Socket 编程基础
-
创建套接字:socket()
-
TCP:流式套接字 SOCK_STREAM
-
UDP:数据报套接字 SOCK_DGRAM
-
IP:原始套接字 SOCK_RAM
-
-
绑定套接字的本地端点地址:bind()
-
设置监听:listen()
-
建立连接(TCP;UDP 不需要):
-
客户端:connect()
-
服务端:accept()
-
-
接收数据:TCP:recv();UDP:recvfrom()
-
发送数据:TCP:send();UDP:sendto()
-
关闭套接字:close()
传输层
传输层的基本服务
传输层的功能
(吩咐刘墉寻差错-可靠)
1)对应用层报文进行分段和重组;
2)面向应用层实现复用与分解;
3)实现端到端的流量控制;
4)拥塞控制;
5)传输层寻址;
6)对报文进行差错检测;
7)实现进程间的端到端可靠数据传输控。
传输层寻址和端口
利用 地址 + 端口号唯一标识一个通信端点。
传输层端口号 16 位整数(2**16)
常用端口小于 256
无连接服务与面向连接服务
传输层的复用与分解
多路复用与多路分解
- 多路复用:在源主机,传输层协议将不同应用进程的数据块,封装上首部信息构成报文段,发送给网络层。
- 多路分解:在接收端,传输层协议标识出报文段的套接字,将数据准确交付给正确的套接字。
无连接的多路复用与多路分解
UDP:用户数据报协议,将应用层的数据块封装成一个 UDP 报文段,包括:应用数据、源端口��、目的端口号等。
UDP 套接字二元组:<目的 IP 地址,目的端口号>
面向连接的多路复用与多路分解
TCP:传输控制协议
TCP 套接字四元组:<源 IP 地址,源端口号,目的 IP 地址,目的端口号>
停-等协议与滑动窗口协议
不可靠传输信道在数据传输中可能发生错误:
- 比特差错
- 出现乱序
- 数据丢失
为了实现可靠数据传输,需要采取措施:
- 差错检测:差错编码
- 确认:接收方反馈接收状态(ACK 确认 NAK 否定确认)
- 重传:发送方重新发送
- 序号:确保数据按序提交
- 计时器:解决数据丢失问题
停-等协议
综合应用了上述措施,简单且所需缓冲空间小,但是信道利用率低。
滑动窗口协议
为了解决信道利用率低的问题,在发送方没有收到确认前连续发送多个分组,就是流水线协议(管道协议)。典型的流水线协议:滑动窗口协议。
GBN 协议 和 SR 协议
GBN:回退 N 步协议
- 发送方(Ws>=1),连续发送多个分组
- 接收方(Wr=1),只按序一个一个接收,未按序到达分组丢弃,让发送方重传
SR:选择重传协议
- 发送方(Ws>=1),连续发送多个分组
- 接收方(Wr>=1),逐个确认接收的分组,让发送方仅重传未被确认接收的分组
SR 发送方主要响应 3 个事件:上层调用、计时器超时、收到 ACKn
UDP
提供无连接、不可靠、数据报尽力传输服务
- 无需建立连接
- 会出现分组丢失和重复
- 无连接状态
- 首部开销小,只有 8 字节
数据报结构
- 首部四个字段,每个字段 2 字节,共 8 字节
- 源端口号和目的端口号,用于 UDP 实现复用和分解
- 长度:指示 UDP 报文段中的字节数(首部和数据总和)
- 校验和:接收方用来检测报文段是否出错,有错就丢弃
UDP 校验和
校验和分为三个部分:伪首部、UDP 首部、应用层的数据。
伪首部仅用来计算校验和,既不向下传送也不向上递交。协议号为 17
计算方法:
- 发送方全零放入校验和字段,添加伪首部,三部分按 16 位对齐,非偶数字节则在末尾高位补零
- 求和:加法 + 进位回卷,求和后取反码,填充到校验和
- 接收方拿三部分求和,再加上校验和,如果是全 1,则通过校验。
TCP
传输控制协议:提供面向连接、可靠、有序、字节流传输服务。
- 源端口号、目的端口号分别占 2 个字节
- 序号字段:占 4 字节,对每字节的数据进行编号
- 确认序号:占 4 字节,期望从非对方接收的字节序号(尚未收到)
- 首部长度:占 1 字节,以 4 字节为计算单位,最短 20 字节,最长 60 字节
- 保留:占 6 位,保留为今后使用,目前值为 0
- 标志位字段各 1 为位,共 6 位
- 接收窗口:占 2 字节,想对方通知接收窗口大小
- 校验和:占 2 字节,计算方式与 UDP 相同,协议号为 6
- 紧急指针字段占 2 字节,URG=1 时生效,指出紧急数据字节数
连接建立(三次握手)
连接拆除(四次挥手)
TCP 实现可靠数据传输服务的工作机制
- 应用数据被分割成最适合发送的数据块
- 启动计时器,等待目的端收到该报文段
- 通过首部校验和,检测传输过程中是否有差错
- 报文段到达后可能失序,如有必要,TCP 会重新排序
- 存在网络延迟和重传机制,若收到重复报文段,则根据序号丢弃重复
- TCP 能够提供流量控制
TCP 拥塞控制
通过合理调度向网络中发送数据的主机量、发送速率、数据量,以避免拥塞的发生。
TCP 拥塞算法包括:
- 慢启动:阈值之前的阶段,每经过 RTT,拥塞窗口大小加倍
- 拥塞避免:阈值之后的阶段,每经过 RTT,拥塞窗口大小增加 1
- 快速重传:接收端收到 3 次重复确认,则推断该报文段已经丢失,立即重发
- 快速恢复:当发生 3 次重复确认时,不再重新从慢启动阶段开始,直接从新的阈值开始,直接进入拥塞避免阶段
窗口调整的基本策略(AIMD):
- 网络未发生拥塞时,加性增大窗口
- 网络拥塞时,乘性快速减小窗口大小
拥塞消除策略:先拥塞检测,再采取措施
拥塞预防策略:流量整形技术,规范主机向网络发送数据的流量
TCP 流量控制
协调发送方与接收方的数据发送与接收速度。通信过程中,接收方通过设置报文段的接口窗口字段将窗口大小通知给发送方。
网络层
网络层的核心任务:将数据从源主机送达到目的主机。
网络层的主要功能:转发、路由选择、连接建立。
数据报网络与虚电路网络
网络互连与网络互连设备
异构网络互连
异构网络:两个或以上网络的通信技术和运行协议不同,或者是采用相同的无线接入技术但属于不同的无线运营商。
异构网络互连的基本策略:
- 协议转换:采用支持异构之间协议转换的网络中间设备(交换机或者多协议路由器)
- 构建虚拟互联网络:在异构网络基础上构建一个同构的虚拟互联网络
路由器
最典型的网络层设备,主要任务是获取与维护路由信息及转发分组。
从功能体系结构角度分类:
- 输入端口:查找、转发、到达分组,缓存排队功能
- 交换结构:完成具体的转发工作,将输入端口的IP数据报交换到指定的输出端口
- 基于内存交换:性能最低,路由器价格最便宜
- 基于总线交换:同一时刻只能有一个分组通过总线进行传输
- 基于网络交换:性能最高,路由器价格昂贵
- 输出端口:缓存排队,从队列中取出分组进行数据链路层数据帧的封装、发送
- 路由处理器:执行命令、路由协议运行、路由计算、路由表的更新和维护
网络层拥塞控制
网络拥塞:一种持续过载的网络状态。用户对网络资源(包括链路带宽、存储空间和处理器处理能力等)的总需求超过了网络固有的容量。
网络负载在膝点附近时,吞吐量和分组平均延迟达到理想的平衡,网络的使用效率最高。
发生拥塞的原因:
- 缓冲区容量有限
- 传输线路带宽有限
- 网络结点处理能力有限
- 网络中某些部分发生了故障
网络层拥塞控制措施
1.流量感知路由
网络经常被抽象为一张带权无向图,权值能够根据网络负载动态调整,可以将网络流量引导到不同的链路上,均衡网络负载,从而延缓或避免拥塞的发生。
2. 准入控制
对新建虚电路审核,如果新建立的虚电路会导致网络变得拥塞,那么网络拒绝建立该新虚电路。
3. 流量调节
在网络拥塞时,可以通过调整发送方发送数据的速率来消除拥塞。
- 抑制分组:感知到拥塞的路由器选择一个被拥塞的数据报,给该数据报的源主机返回一个抑制分组。
- 背压:抑制分组在从拥塞结点到源结点的路径上的每一跳,都发挥抑制作用。
4. 负载脱落
通过有选择地主动丢弃一些数据报,来减轻网络负载,从而缓解或消除拥塞。
Internet 网络层
Internet 网络层主要协议:
- 网际协议
- 路由协议
- 互联网控制报文协议
IP 协议版本:IPV4 和 IPV6
IPV4:Internet 网络层最核心的协议:
- 定义了如何封装上层协议(UDP、TCP等)报文段
- 定义了 Internet 网络层寻址(IP 地址)以及如何转发 IP 数据报等内容
IP 数据报格式
- 版本号:4 位(IPV4、IPV6)
- 首部长度:4 位
- 区分服务:8 位,标识期望获得那种类型的服务
- 数据报长度:16 位,指出 IP 数据报的总字节数
- 标识:字段占 16 位,标识一个 IP 数据报
- 标志:占 3 位
- DF 禁止分片标志:DF=0,允许分片;DF=1,禁止分片
- MF 更多分片标志:MF=0,未被分片或最后一片;MF=1,一定是分片且非最后一个
- 片偏移量:占 13 位,以 8 字节为单位。表示一个 IP 数据报分片与原 IP 数据报数据的相对偏移量
- 生存时间:8 位,表示 IP 数据报在网络中可以通过的路由器数(或跳步数)
- 上层协议:8 位,指示该 IP 数据报封装的是哪个上层协议(TCP:6;UDP:17)
- 首部校验和:占 16 位,利用校验和实现对 IP 数据报首部的差错检测
- 源 IP 地址字段占 32 位,发出 IP 数据报的源主机的 IP 地址
- 目的 IP 地址字段占 32 位,IP 数据报的需要送达的主机的 IP 地址
- 选项:长度可变
- 数据字段:存放 IP 数据报所封装的传输层报文段
当片偏移量为 0 且 MF=1 时,标识这是一个 IP 分片,且是第一个分片。
IP 数据报分片
MTU:最大传输单元
通过 PingPlotter 工具发送一个总长度为 3400 字节的 IP 数据报,通过 MTU=1500 字节的链路转发。
IPv4 编址
IPv4 地址的长度为 32 位(4 字节)
IPv4 地址的三种标记方式:
- 二进制标记法
- 点分十进制标记法
- 十六进制标记法
IPv4 地址分配,主机 IP 地址划分为两个部分:
- 前缀,网络部分用于描述主机所归属的网络
- 分类地址:定长前缀
- 无类地址:前缀长度可变
- 后缀,主机部分用于表示主机在网络中的唯一地址
分类寻址
- A、B、C 类地址可以用于标识网络中的主机或路由器
- D 类地址作为组广播地址
- E 类地址是保留地址
特殊地址
私有地址
无类地址
网络前缀不定长,可以是 0-32 位的任意值。
网络地址形式为 a.b.c.d/x,称为无类域间路由(CIDR)
子网划分
子网化:将一个较大的子网划分为多个较小子网的过程
超网化:将具有较长前缀的相对较小的子网合并为一个具有稍短前缀的相对较大的子网,超网化是子网化的逆过程。
子网掩码:32 位,对应网络前缀全部为 1,其余为全部为 0。例如:255.255.255.0
路由聚合
提高路由效率,减少路由表项数,将子网聚合成一个大的子网。
动态主机配置协议 HDCP
当组织分配到一个网络地址块后,就可以为该组织内的主机和路由器接口分配 IP 地址。
- 静态分配:手动配置
- 动态分配:动态主机配置协议(HDCP)来分配
DHCP 工作过程:
- DHCP 服务器发现:广播方式
- DHCP 服务器提供:广播方式
- DHCP 请求:广播方式
- DHCP 确认
网络地址转换(NAT)
NAT 工作原理:
- 对于从内网出去,进入公共互联网的 IP 数据报,将其 IP 替换为 NAT 服务器拥有的合法的公共 IP 地址,同时替换源端口号,并将替换关系记录到 NAT 转换表中;
- 对于从公共互联网返回的 IP 数据报,依据其目的 IP 地址与目的端口号检索 NAT 转换表,并利用检索到的内部私有 IP 地址、端口号替换目的 IP 地址与端口号,最后将 IP 数据报转发到内部网络
互联网控制报文协议(ICMP)
ICMP:在主机或路由器键实现差错信息报告、信息探测
报文格式:类型、代码、校验和、数据部分
ICMP 差错报告报文有 5 种:
- 终点不可达
- 源点抑制
- 时间超时
- 参数问题
- 路由重定向
ICMP 询问报文:回声(echo)请求/应答、时间戳请求/应答
IPv6
地址长度为 128 位,通常采用 8 组冒号分隔的十六进制数地址形式表示。
IPv6 地址分类:单播地址、组播地址、任播地址三类。
IPv4 迁移到 IPv6:
- 双协议栈:既支持 IPV6 同时也支持 IPv4。具备发送 IPV4 与 IPV6 数据报的能力。 为了实现 IPv4 与 IPv6 共存采用双协议栈,其中通过 DNS 可以解决一个结点感知通信另一结点提供什么版本的网络层服务。
- 隧道:可以很好地解决 IPv6 通信中经过 IPv4 路由器的问题,同时也不会出现信息丢失 的问题
IP 地址计算
根据子网中某 IP 地址和子网掩码,计算出
- 子网的网络地址(主机地址与子网掩码地址「按位与」运算)
- 广播地址(最后一个主机地址)
- IP 地址总数
- 可分配的 IP 地址数量(需要减去子网地址与广播地址)
比如:IP 地址 203.123.1.135;子网掩码 255.255.255.192
- 通过子网掩码计算网络位:三个 255 就是 24 位,192 是两位,得出 26 位
- 前 26 位不变,后 6 位全零得到子网地址
- 前 26 位不变,后 6 位全 1 得到广播地址
- IP 地址总数为 2^6 为 64
- 可分配的需要减去两个,得出 64-2=62
注:上面是简化后的算法,与子网掩码按位与,给出的子网掩码网络位是全 1,按位与还是给出的 IP 地址的数字,所以计算出网络位后,网络位的就不用去算了,直接看主机位。
路由算法与路由协议
路由选择算法分类
关键问题: 结点到结点的最小代价路径是什么?
路由算法:发现最小代价路径的算法
第一种分类:是否基于网络的全局信息
第二种分类:算法是静态的还是动态的
第三种分类:是否负载敏感
- 负载敏感���路���选择算法
- 负载迟钝的路由选择算法
链路状态路由选择算法(LS 算法)
利用 Dijkstra 算法求最短路径
是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止(泛洪)
距离向量路由选择算法(B-F 方程)
算法的基础是 Bellman-Ford 方程
层次化路由选择
自治系统(AS):互联网按组织边界、管理边界、网络技术边界或功能划分多个自治系统,每个自治系统由运行相同路由协议和路由算法的路由器组成。
网关路由器:每个自治系统都存在至少一个与其他路由器互连的路由器。
层次化路由选择:实现大规模网络路由最有效、可行的解决方案。
层次化路由选择原理:将大规模互联网路由划分两层
- 自治系统内路由选择:计算机到达自治系统内目的网络的路由
- 自治系统间路由选择:负责其他自治系统网络的可达性信息
路由器转发表:由自治系统内路由选择协议和自治系统间路由选择协议共同设置。
Internet 路由选择协议
Internet 自治系统内路由选择协议称为内部网关协议(IGP)
- 路由信息协议(RIP)
- 开放最短路径优先协议(OSPF)
Internet 自治系统间路由选择协议称为外部网关协议(EGP)
- 边界网关协议(BGP)
路由信息协议 RIP
小规模 AS,基于距离向量路由选择算法的 IGP,封装在 UDP 数据报。
限制在网络直径不超过 15 跳的自治系统内使用。
开放最短路径优先协议 OSPF
较大规模 AS,基于链路状态选择算法的 IGP,封装在 IP 数据报传输。
OSPF 路由分类:区域边界路由器、主干路由器、AS 边界路由器
边界网关协议 BGP
跨自治系统的路由信息交换,封装在 TCP。
数据链路层与局域网
数据链路层服务
数据链路层:负责通过一条链路,从一个结点向另一个物理链路直接相连的相邻结点,传送网络层数据报,中间不经过任何其他交换结点。
数据链路在物理链路之上,基于通信协议来控制数据帧传输的逻辑数据通路。
实现数据链路层协议的典型硬件实体是:网络适配器(NIC、网卡)
数据链路层的传输单元为帧。
数据链路层提供的服务:
- 组帧:
- 帧头(帧首):发送结点和接收结点的地址信息,定界字符
- 帧尾:用于差错检测的差错编码,定界字符
- 链路接入
- 点对点链路:发送结点和接收结点独占信道
- 广播链路:通信链路被多个结点共享
- 可靠交付
- 无线链路(出错率高):支持可靠数据传输
- 光纤、双绞线(出错率低):不提供可靠传输服务
- 差错控制:通过差错编码技术,实现对信息传输差错的检测,共进行差错纠错和处理
- 可能会出现比特翻转的差错
- 误比特率:出现差错的比特数 / 传出比特总数
差错控制的基本方式
检错重发:
- 发送端:待发送数据进行差错编码后发送
- 接收端:利用差错编码检测是否出错,若出错要求重发数据
前向纠错:差错纠正
- 发送端:利用纠错编码编码数据
- 接收端:监测数据传输过程中是否发生了错误,定位错误位置并直接纠正
- 适用于单工链路或者对实时性要求比较高的应用
反馈校验
- 接收端:接收到的数据原封不动的发回发送端
- 发送端:通过对比接收端反馈的数据,确认是否正确接收,若有不同,立即重传
- 优点:原理简单,易于实现,无需差错编码
- 缺点:传输效率低,实时性差
检错丢弃
- 直接丢弃错误数据
- 适用于实时性较高的系统
- 如果网络应用对可靠性要求不高,可以采用
差错编码
差错编码的基本原理:在待传输数据信息的基础上,附加一定的冗余信息。冗余信息:与数据信息建立某种关联关系。
差错编码的检错与纠错能力:与编码集的汉明距离有关。
- 编码集:差错编码所有有效码字的集合
- 汉明距离:两个等长码字之间,对应位数不同的位数(1011101 和 1001001 汉明距离为 2)
- 编码集的汉明距离:该编码集中任意两个码字之间汉明距离的最小值
检错能力:对于检错编码,如果编码集的汉明距离 ds=r+1
,则该差错编码可以检测 r 位的差错。
纠错能力:对于纠错编码,如果编码集的汉明距离 ds=2r+1
,则该差错编码可以纠正 r 位的差错。如果发生一位差错,则错码距离发生错误的有效码字的汉明距离最近,可以恢复为有效码字。
典型的差错编码:奇偶校验码、循环冗余码
奇偶校验码
- 奇校验码:编码后的码字中 1 个数是奇数
- 偶校验码:编码后的码字中 1 个数是偶数
循环冗余码(CRC 码)
广泛应用的差错编码;将二进制位串看成是系数为 0 或 1 的多项式的系数。
【例题】假设 CRC 编码采用的生成多项式 G(x)=x^4+x+1,请为位串 10111001 进行 CRC 编码。
第一步:写出多项式对应的比特串:10011
第二步:待编码位串:10111001 - 101110010000(添加最高项位个 0,也就是 4 个)
第三步:用得到的新的编码位串除以多项式对应的比特串(10011)
第四步:求得的余数(1011)添加在待编码位串后,即 CRC 编码后的码:101110011001
接收方收到带校验和的帧之后,怎么判断是否有错?
用收到的串除以多项式对应的比特串
- 余数为 0,无错
- 余数不为 0,有错,丢弃
多路访问控制协议
多路访问控制:采取一定的措施,使得结点之间的通信不会发生干扰的情况
MAC 协议的根本任务:解决信道的共享问题
信道划分 MAC 协议
利用多路复用技术实现信道共享的 MAC 协议,就是信道划分 MAC 协议。
- 频分多路复用(FDM):多路信号频谱不重叠,从而公用一个信道
- 时分多路复用(TDM):每路信号占用不同的时隙,在时域上不重叠,实现信道共享
- 同步时分多路复用(STDM):按固定顺序把时隙分配给各路信号
- 异步时分多路复用(ATDM):统计时分多路复用(STDM),时隙和用户间没有固定的对应关系
- 波分多路复用(WDM):一根光纤中传输多路不同波长的光信号,由于波长不同,各路互不干扰
- 码分多路复用(CDM):利用相互正交的码组分别编码各路原始信息的每个码元,是一种扩频的通信形式
随机访问 MAC 协议
所有用户都可以根据自己的意愿随机的向信道上发送信息,若多个用户发送信息,产生冲突,每个用户随机退让一段时间后,再次尝试发送。
ALOHA 协议(只说不听):最早的,最基本的无线数据通信协议
纯 ALOHA
工作原理:任何一个站点有数据发送时就可以直接发送至信道。发送数据后对信道进行侦听,如果收到应答信号,说明发送成功;否则说明发生冲突,等待一个随机时间重新发送,直到成功为止。
性能:网络负载不能大于 0.5
时隙 ALOHA
工作原理:把信道时间划分为离散的时隙,每个时隙为发送一帧所需的时间,每个通信站点只能在每个时隙开始的时刻发送帧。如果在一个时隙内发送帧出现冲突,下一个时隙以概率 p 重发该帧,直到帧发送成功。p 不能为 1,否则会出现死锁。
性能:网络负载不能超过 1
载波监听多路访问协议(先听后说)CSMA
基本原理:通过硬件装置(载波监听装置),使通信站发送数据之前,监听信道上其他站点是否在发送数据,如果在发送,则暂时不发送。
根据监听策略不同:
- 非坚持 CSMA:信道空闲,直接发送;信道繁忙,等待一个随机延迟时间再去发送
- 1-坚持 CSMA:持续监听,直到信道空闲,立即发送
- P-坚持 CSMA:延迟一个时间后,再去监听,重复步骤,直到信道空闲,立即发送
带冲突检测的载波多路访问协议(先听后说,边听边说)CSMA/CD
基本原理:通信站使用 CSMA 协议进行数据发送,如果发送期间检测到碰撞,立即终止发送,并发出一个冲突强化信号,使所有通信站点都知道冲突的发生;发出冲突强化信号后,等待一个随机时间,再重复上述过程。
CSMA/CD 的工作状态分为:传输周期、竞争周期、空闲周期。
信道的三种状态:传输状态、竞争状态、空闲状态。
在使用 CSMA/CD 协议实现多路访问控制时,需要满足下列约束条件:
受控接入 MAC 协议
受控接入:各个用户不能随意的接入信道而必须服从一定的控制,分为:
- 集中式控制:系统有一个主机负责调度其他通信站接入信道,从而避免冲突;轮询
- 分散式控制:令牌技术,一个通信站想要发送数据就必须首先获得令牌,令牌丢失和数据帧无法撤销是环网上最严重的两种错误。
局域网
局域网(LAN):一般采取广播的方式,局部区域网络,覆盖面积小,网络传输速率高,传输的误码率低。
IEEE802 委员会将局域网的数据链路层分为两个子层:
- 逻辑链路控制(LLC)子层
- 介质访问控制 MAC 子层
数据链路层寻址与 ARP
MAC 地址:物理地址、局域网地址。MAC 地址具有唯一性,每个接口(网络适配器)对应一个 MAC 地址。
- 以太网和无线局域网,MAC 地址长度为 6 字节,共有 2^48 个可能的 MAC 地址
- 通常采用十六进制表示法,用
-
或:
连接起来 - IEEE 负责分配 MAC 地址的前 24 位,厂商自己分配后 24 位
MAC 广播地址:FF-FF-FF-FF-FF-FF
地址解析协议(ARP)
根据本网内的目的主机或默认网关的 IP 地址,发送请求获取其 MAC 地址。
- ARP 查询分组是通过一个 广播帧 发送的,ARP 响应分组是通过一个标准的单播帧发送的;发送的时候是广播的,当目的主机收到请求后,就单播返回响应
- ARP 是即插即用的,一个 ARP 表是自动建立的,不需要系统管理员来配置
以太网
目前最流行的有线局域网技术。
成功的原因:
- 第一个广泛部署的告诉局域网
- 数据速率方面比 FDDI、ATM 毫不逊色
- 以太网硬件价格及其便宜,网络造价成本低
经典的以太网是采用粗同轴电缆连接的总线型以太网(10Base-5)
- 传输速率为 10Mbit/s,无连接不可靠
- 在一个冲突域中往返总的传播时延为 51.2 微秒,所以最短帧长为 64字节
- 网段和网段中间用中继器连接,最多有 4 个中继器
- MAC 协议采用 CSMA/CD 协议。
以太网帧结构:
除数据部分:18 字节。以太网帧最短 64 字节,那么数据字段最短 46 字节。
以太网技术:
交换机
应用最广泛的数据链路层设备。
以太网交换机转发和过滤:交换机的基本工作原理是当一帧到达时,交换机首先需要决策将该帧丢弃还是转发,如果转发,还必须进一步决策将该帧转发到哪个端口。决策依据是,以目的 MAC 为主键查询内部转发表。
以太网交换机的自学习(建立转发表):
- 以太网交换机有 4 个端口,各连接一台计算机,其 MAC 地址分别是 ABCD
- 开始,以太网交换机里面的转发表是空白的
- A 向 B 发送一个帧,从端口 1 进入交换机
- 交换机先查询转发表,没找到往哪里转发该帧
- 交换机就把这个帧的源 MAC 地址 A 和端口 1 写入交换表,完成第一次学习
- 除向端口 1 以外所有端口泛洪(广播)这个帧
以太网交换机的优点:消除冲突、支持异质链路、网络管理。
虚拟局域网 VLAN
一种基于交换机的逻辑分割广播域的局域网应用形式。
划分虚拟局域网的方法:
- 基于交换机端口划分
- 基于 MAC 地址划分
- 基于上层协议类型或地址划分
点对点链路协议
点对点协议(PPP 协议)
点对点协议:全世界使用得最多的点对点链路协议。适合单个发送方和单个接收方的点对点链路。
主要提供三类功能:
- 成帧:确定一帧的开始和结束,支持错误检测;以 01111110 开始和结束
- 链路控制协议(LCP):启动线路、检测线路、协商参数、关闭线路
- 网络控制协议(NCP):协商网络层选项
PPP 是面向字节的,PPP 帧的长度都是整数字节,使用字节填充技术,插入特殊的控制转义字节 01111101
高级数据链路控制协议(HDLC 协议)
高级数据链路控制:应用于点对点链路和点对多点链路。
HDLC 有三种类型的帧:信息帧、管理帧、无序号帧
HDLC 协议是面向位的,使用位填充技术。当发送的数据链层在数据中遇到 5 个连续的 1 时,自动在其后插入一个 0 到输出比特流中,这叫位填充技术。当接收方看到 5 个连续的 1 后面跟着一个 0 时,自动将此 0 删除。
物理层
数据通信基础
数据通信基本概念
消息:人类能够感知的描述。
信息:对事物状态或存在方式的不确定性表述。
通信:在一点精确或近似的再生另一点的信息。
通信系统:能够实现通信功能的各种技术、设备和方法的总体。
信号:在通信系统中,传递信息需要合适的载体在传输通道中传播,这个载体就是信号。
数据:对客观事物的性质状态以及互相关系等进行记载的符合及其组合,通常可以是数字、文字、图像等,也可以是其他抽象的符号。
数据通信系统模型
数据通信系统的构成:
- 信源:将消息转换为信号的设备
- 发送设备:将信源产生的信号进行适当变换的装置,主要包括编码和调制
- 信道:传输信号的媒介
- 接收设备:完成发送设备的反变换,即进行译码和解调
- 信宿:信号的终点,将信号转换为供人们识别的信息
- 噪声:自然界和通信设备所固有的,对通信信号产生干扰和影响的各种信号
模拟通信:信号的因变量完全随连续消息的变化而变化的信号
- 自变量:可以是连续、可以是离散
- 因变量:一定是连续的
数字通信:
- 自变量:离散
- 因变量:离散
数字通信方式:
- 数据传输方向:单向通信;双向交替通信(半双工);双向同时通信(全双工)
- 数据传输时空顺序:并行通信和串行通信
- 数据同步技术:
- 异步通信:发送字符,不需要建立同步时钟,实现简单,适用低速网络
- 同步通信:发送数据块,建立同步时钟,实现和控制复杂,适用高速网络
物理介质
导引型传输介质
有线信道,以导线为传输介质,传输效率高,部署不够灵活。
- 架空明线:传输损耗较低;易受天气和外界电磁干扰,对噪声敏感,带宽有限
- 双绞线:将两根互相绝缘的铜线并排绞合在一起可以减少对相邻导线的电磁干扰
- 屏蔽双绞线(STP):性能好,价格高,安装工艺复杂
- 非屏蔽双绞线(UTP):普遍应用
- 同轴电缆:对外界干扰屏蔽效果好,具有较好的抗电磁干扰性能。多用于有线电视网络
- 光纤:利用光的全反射现象,按照光纤内光波传输模式不同,分为多模光纤和单模光纤
非导引型传输介质
根据电磁波频率、通信距离位置的不同,电磁波的传播分为:
- 地波传播:(频率)2MHz 以下,沿地表
- 天波传播(电离层反射波):2-30MHz,距离地表 60-400km
- 视线传播:高于 30MHz,电离层之上
信道与信道容量
信道分类与模型
按功能划分信道:调制信道和编码信道
调制信道:从调制器的输出端到解调器的输入端经过的部分
编码信道:数字信号由编码器输出端到译码器输入端经过的部分
信道传输特性
不同类型的信道对信号的影响差异较大
- 随机参数信道(随参信道):信号通过信道发生畸变是时变的
- 恒定参数信道(恒参信道):信号通过信道发生畸变和时间无关
恒参信道传输特性:
- 对信号幅值产生固定的衰减
- 对信号输出产生固定的时延
随参信道传输特性:
- 信号的传输衰减随时间随机变化
- 信号的传输时延随时间随机变化
- 存在多径传播现象
信道容量
信道容量:描述或衡量信道的传输能力,信道无差错传输信息的最大平均信息速率。
奈奎斯特理想的、无噪声的信道容量:
连续信道容量,香农有噪声连续信道容量:
信噪比的单位为功率,分贝和功率的换算公式:
化简后的公式:10*n(dB)=10^n
例题:已知某信道带宽为 8kHz,信噪比为 30dB,试求该信道的信道容量 C。
基带传输
基带信号:信源发出的没有经过调制的原始信号
信源:
- 模拟信源:发出的原始信号是模拟基带信号(例如电话)
- 数字信源:发出的原始信号为数字基带信号(例如计算机)
数字基带传输系统
- 基带传输:直接在信道传送基带信号,实现基带传输的系统就称为基带传输系统
- 数字基带传输:在信道中传输数字基带信号,相应的系统称为数字基带传输系统
数字基带传输编码
将数据映射为脉冲信号的编码(信息码)
1. 单极不归零码(NRZ):0(零电平)1(正电平)
例如:1100100111
双极不归零码:0(负电平)1(正电平)
例如:1100100111
3. 单极归零码(RZ):0(零电平)1(正电平)
脉冲中间时间,回归零电平
例如:1100100111
4. 双极归零码:0(负电平)1(正电平)
脉冲中间时间,回归零电平
例如:1100100111
5. 差分码(相对码)0(相邻电平无跳变)1(相邻电平有跳变)
利用电平的变化与否来表示信息
例如:1100100111
数字基带信号的基本码型变为适合传输的数字传输基带传输码型
1. 信号交替反转码(AMI 码):0(零电平)1(交替用正电平和负电平表示)
脉冲中间时间,回归零电平
例如:100001000011000011
2. 双相码(曼彻斯特码)0(负电平跳到正电平)1(正电平跳到负电平)
例如:1100101101
3. 差分双向码(差分曼彻斯特码)0(相邻电平无跳变)1(相邻电平有跳变)
例如:1100101101
4. 米勒码:延迟调制码
- 1:正电平跳到负电平 或 负电平跳到正电平,脉冲期间跳变
- 0:延续前面 1 的电平,正或负;脉冲期间不跳变
例如:1100101101
5. 信号反转码(CMI 码):0(负正)1(正、负交替编码)
例如:1100101101
频带传输
数字调制:利用数字基带信号控制载波信号的某些特征参量,使载波信号的这些参量的变化反映数字基带信号的信息,进而将数字基带信号变换为数字通带信号的过程。
数字解调:在接收数据端需要将调制到载波信号中的数字基带信号卸载下来,还原为数字基带信号的过程。
通常将实现调制、传输与解调的传输系统称为数字频带传输系统。
数字调制的基本方法
利用数字基带信号调制或控制载波信号的某个参数的变化(利用 0 或 1 控制或选择载波的幅值、评率或相位)
- 如果调制载波的幅值:幅移键控(ASK)
- 如果调制载波的频率:频移键控(FSK)
- 如果调制载波的相位:相移键控(PSK)
二进制数字调制
二进制幅移键控(2ASK):利用二进制基带控制信号控制载波信号的幅值变化。
0(0)1(A),比如 11001001
二进制频移键控(2FSK):快的为 1,慢的为 0
二进制相移键控(2PSK)
1 的波形由 0 开始往下画;0 的波形由 0 开始往上画。
二进制差分相移键控(2DPSK)
11001001,默认从 0 开始,发生变化就是 1,未发生变化就是 0
二进制数字调制性能主要体现在:频带利用率、误码率、对信道特性的敏感性。
多进制数字调制
- Rb:数据传输速率(bit/s)
- RB:码元传输速率(码元:一个固定时长的信号波形)
- M:进制数(二进制、十进制等)
正交幅值调制 QAM(幅值相位联合键控(APK))
基本思想是:二维调制技术;对载波信号的幅值和相位同时进行调制的联合调制技术。
优点:频带利用率搞;抗噪声能力强;调制解调系统简单
物理层接口规程
物理层主要任务:
- 在传输介质上实现无结构比特流的传输
- 规定数据终端设备(DTE)和数据通信设备(DCE)之间接口的相关特性
物理层接口特性:
- 机械特性:指明通信实体间
- 硬件连接口的机械特点:电源插头尺寸有严格规定
- 电气特性:规定了物理连接上,导线的电气连接及有关特性:接收器和发送器电路特性的说明
- 功能特性:指明物理接口各条信号线的用途等
- 规程特性:通信协议,指明利用接口传输比特流的全过程
无线与移动网络
无线网络
无线网络的基本结构
- 无线主机
- 无线链路
- 基站
- 蜂窝网络中的蜂窝塔
- IEEE 802.11 无线局域网中的接入点(AP)通常读法:I triple E:意思就是三个 E,不是知识点,只是好奇,哈哈~
- 网络基础设施
无线网络模式
- 基础设置模式:无线主机与基站关联
- 自组织网络或特定网络,Ad Hoc 网络,移动 Ad Hoc 网络中的每个结点都兼有路由器和主机两种功能。
无线链路与无线网络特性
无线链路的特点:
- 信号强度的衰减:路径损耗
- 干扰
- 多径传播
隐藏站现象
- 站点 A、C 都向站点 B 发送数据;
- 站点 A、C 之间有物理阻挡,双方都无法检测出对方发送的信号
- 站点 A、C 都向 B 发送数据时,发生碰撞,站点 B 无法正确接收任何一方的数据
无线网络特点
- 使用不同链路技术的无线网络覆盖区域和链路速率不同
- 多路访问控制协议更复杂
移动网络
移动网络基本原理
- 从网络层的角度分析用户的移动性
- 移动节点的地址始终保持不变的重要性
- 可用的有线基础设置的支持
移动网络的基本概念和术语
- 一个移动结点的永久居所:归属网络,家网
- 在归属网络中代表移动结点执行移动管理功能的实体:归属代理,家代理
- 移动结点当前所在非归属网络:外部网络,被访网络
- 在外部网络中帮助移动结点做移动管理功能的实体:外部代理
- 通信者:与该结点通信的实体
蜂窝网络
蜂窝网络的系统结构
蜂窝网络
-
小区(Cell):蜂窝网覆盖的区域被分成若干个小区
-
蜂窝:小区的地理覆盖区域
以 2G 蜂窝移动通信网络为例的蜂窝网络体系结构
- 收发基站(BTS):负责向小区内的移动站点发送或接收信号
- 基站控制器(BSC):服务于收发基站,为用户分配 BTS 无线信道、执行寻呼,执行移动用户的切换
- 移动交换中心(MSC):在用户鉴别和账户管理以及呼叫建立和切换中起决定性作用。
蜂窝网络发展史
- 第一代蜂窝移动通信(1G):淘汰
- 第二代蜂窝移动通信(2G):GSM 系统;短信服务;GPRS(通用分组无线服务技术);EDGE(增强型数据速率 GSM 演进技术)
- 3G、4G、5G
蜂窝网络中的移动性管理
GSM 标准采用的是间接路由选择方法管理移动性
- GSM 的归属网络维护一个归属位置注册器的数据库:每个用户的永久蜂窝电话号码,用户个人信息,用户当前的位置信息
- GSM 的被访网络维护一个访问位置注册器的数据库:为每一位当前在其服务网络的移动用户体用一个表项
GSM 通信过程:
- 通信者拨打移动用户的电话号码
- 归属移动交换中心收到该呼叫,查询归属位置注册器来确定移动用户的位置,并确定移动用户的漫游号码
- 漫游号码确定后,归属移动交换中心通过网络呼叫被访网络的移动交换中心,被访网络的移动交换中心呼叫移动用户
移动通信 2G/3G/4G/5G 网络
2G 网络
- GSM 系统是第二代移动电话系统的开端
- GSM 业务,分为:承载业务、电信业务、附加业务三大类
- GSM 系统采用的是 FDMA 和 TDMA 混合接入的方式
3G 网络
- 国际电信联盟(ITU)提出并研究
- 在 2000 年确定三大技术标准
- 3G 是采用宽带 CDMA 技术的通信系统
4G/LTE 网络
- 3GPP 组织在 2004 年开始长期演进
- 4G 特点:高速率传输、智能化、业务多样化、无缝接入、向后兼容、经济
5G 网络
- 技术目的:构建网络社会
- 网络社会:超高速率船速、超高容量、超可靠性、随时随地可接入性
移动 IP 网络
移动 IP:国际互联网工程任务组开发,允许计算机移动到外地时,任然保持其原来的 IP 地址。
移动 IP 标准:代理发现;向归属地代理注册,数据报的间接路由选择。
代理发现
当移动 IP 站点到达一个新网络时,移动结点都必须知道相应的外部代理或归属代理的身份。
代理发现的实现方式:
- 代理通告:代理周期性的广播一个类型字段为 9 的 ICMP 报文
- 代理请求
向归属代理注册
移动 IP 定义了移动结点或外部代理向一个移动结点的归属代理注册或注销 COA 所使用的协议。一旦某个移动 IP 结点收到一个 COA,则该地址必须向归属代理注册。
注册过程
- 当收到一个外部代理通告后,移动结点向外部代理发送一个移动 IP 注册报文
- 外部代理收到注册报文并记录移动结点的永久 IP 地址,分配一个 COA。并且把注册请求发送给归属代理
- 归属代理接收注册请求并检查真实性和正确性
- 外部代理接收注册应答,然后将其转发给移动结点
其他典型无线网络
- Wi Max
- 蓝牙:2.4GHZ 频段;小范围、低速率、低成本
- ZigBee:低功率、低数据速率、低工作周期
网络安全基础
网络安全概述
网络安全通信需要的基本属性:
- 机密性:只有发送方和接收方能理解报文的内容
- 消息完整性:消息未被篡改,发生篡改一定会被检测到
- 可访问性与可用性:对授权用户提供有效服务
- 身份认证:双方确认彼此真实身份
典型的网络安全威胁:
- 报文传输方面:窃听、插入、假冒、劫持等
- 拒绝服务 DoS 以及分布式拒绝服务 DDoS
- 映射:Namp 是国外广为使用的端口扫描工具之一
- 分组嗅探:Wireshark 是一个典型的分组嗅探工具软件
- IP 欺骗
数据加密
通信加密模型
- 明文:未加密的消息
- 密文:被加密的消息
- 加密:明文变为密文的过程(密钥)
- 解密:密文变为明文的过程(密钥)
根据密码体制的特点以及出现的先后时间可以将密码方式分类为:
- 传统加密方式:替代密码;换位密码
- 对称密钥加密
- 公开密钥加密(非对称密钥加密)
传统加密方式:替代密码
凯撒密码是替代密码的典型应用。
加密原理:利用 k=3 的凯撒密码加密,就是当前字母向后推 3 位得到的字母拼接
只改变明文内容,不改变明文结构
传统加密方式:换位密码(置换密码)
根据一定规则重新排列明文,以便打破明文的结构特性。只改变明文结构,不改变明文内容。
换位密码:列置换密码和周期置换密码。
加密原理:
- 确定密钥长度(几个字母),并且确定字母在 26 个字母表中的顺序
- 将明文按顺序横向排列展示,具体展开几列,由密钥的长度决定
- 输出顺序确定,密钥字母顺序和表格对应,按顺序输出加密后的结果
对称密钥加密
加密密钥和解密的密钥是相同的
对称密钥加密
- 分组密码(块密码):DES、AES、IDEA
- 流密码(序列密码)
DES 加密算法
加密过程:使用 56 位的密钥,明文为 64 位分组序列,共进行 16 轮加密。
三重 DES:使用两个密钥,执行三次 DES 算法,密钥长度达到 112 位。
AES 加密算法(高级加密标准)
加密过程:字节替代、行移位、列混淆、轮密钥加
密钥长度:128/192/256 位
IDEA 加密算法
国际数据加密算法,广泛应用在安全电子邮件 PGP 中,密钥长度 128 位。
非对称/公开密钥加密
通信双方都有两个密钥:公钥(任何人都可以给)、私钥(自己保存)
典型的公开密钥加密算法:Diffie-Hellman 算法和 RSA 算法
加密过程(A 与 B 通信):
- A 将公钥发出给到 B
- B 收到公钥后,使用公钥加密明文,得到密文
- 将密文发送给 A
- A 用自己的私钥解密,得到明文
消息完整性与数字签名
消息完整性检测方法
报文/消息完整性,也称为报文/消息认证
- 证明报文确实来自声称的发送方
- 验证报文在传输过程中没有被篡改
- 预防报文的时间、顺序被篡改
- 预防报文持有期被篡改
- 预防抵赖
检测方法:用散列函数对报文进行散列化。
密码散列函数的特性:
- 散列函数算法公开
- 快速计算
- 对任意长度报文进行散列产生定长输出
- 对于任意报文无法预知其散列值(抗弱碰撞性)
- 不同报文产生不同的散列值(抗强碰撞性)
- 单向性:散列后不能原样恢复
典型的散列函数
- MD5:128 位散列值
- SHA-1:160 位散列值
报文认证
检测消息完整性的重要目的:报文认证
报文认证:消息的接收者能够检验收到的消息是否是真实的方法
报文认证的目的有两个:
- 消息源的认证
- 消息的认证
简单报文验证
原理:
- 发送方对报文 m 应用散列函数,得到报文摘要 h,将扩展报文(m,h)发送给接收方
- 接收方收到扩展报文后,提取出报文 m 和报文摘要 h,对报文 m 应用散列函数得到新的报文摘要 H(m),将 H(m)和 h 进行比较
- 若相同,报文认证成功;若不同,则认证失败
数字签名
数字签名:在公钥密码体制中,一个主体使用自己的私钥加密消息,得到的密文使用该主体的公钥解密来恢复成原来的消息。如此生成的密文对该消息提供认证服务。
数字签名应满足:
- 接收方能够确认发送方的签名,但不能伪造
- 发送方发出签名的消息给接收方后,就不能再否认他所签发的消息
- 接收方对已收到的签名消息不能否认,有收报认证
- 第三者可以确认收发双方之间的消息传送,但不能伪造这一过程
简单数字签名
- A 利用自己的私钥对报文 m 加密,创建签名报文。将扩展报文(报文,签名报文)发送给 B
- B 收到报文 m 以及签名报文,利用 A 的公钥解密签名报文,并检验解密后的签名报文和报文 m 是否一致
- 若一致则签名报文的一定是 A 的私钥
签名报文摘要
- A 对报文 m 应用散列函数 H 生成报文摘要 H(m),然后 A 通过其私钥对报文摘要进行加密,生成加密的报文摘要,将扩展报文(报文,机密的报文摘要)发送给 B
- B 收到报文 m 及加密的报文摘要,B 利用 A 的公钥解密 加密的报文摘要,并对报文 m 应用散列函数生成新的报文摘要
- 如果两者一致,则签名报文 m 的一定是 A 的私钥
身份认证
身份认证:身份鉴别。一个实体经过计算机网络向另一个实体证明其身份的过程。
- 基于共享对称密钥的身份认证
- 基于公开密钥的身份认证
- 一次性随机数:避免重放攻击
密钥分发中心与证书认证机构
密钥分发中心
对称密钥分发的典型解决方案:通信各方建立一个大家都新来的密钥分发中心(KDC),解决对称密钥安全可靠的分发。
方式一:通信发起方生成会话密钥
- A 和 B 进行保密通信。A 随机选择一个会话密钥,用 A 和 KDC 之间长期的共享密钥加密会话密钥,发送给 KDC
- KDC 得到后,解密获得会话密钥,以及所希望通信方 B。KDC 利用其和 B 的长期共享密钥加密密钥,发送给 B
- B 解密,获得会话密钥,并且得知期望和自己通信的是 A
方式二:KDC 为 A、B 生成通信的会话密钥
- A 在希望和 B 通信时,首先向 KDC 发送请求消息
- KDC 接收到请求消息后,随机选择一个会话密钥,并将会话密钥分别用和 A、B 的长期共享密钥加密,再分发给 A、B
- A、B 收到 KDC 的密文后,分别解密,获得会话密钥。
证书认证机构
认证中心(CA):将公钥与特定的实体绑定
CA 的作用:
- CA 可以证实一个实体的真实身份
- 一旦 CA 验证了某个实体的身份,CA 会生成一个把其身份和实体的公钥绑定起来的证书,其中包含该实体的公钥以及全局唯一的身份识别信息等,并由 CA 对证书进行数字签名。
防火墙与入侵检测系统
防火墙:能够隔离组织内部网络与公共互联网,允许某些分组通过,而阻止其他分组进入或离开内部网络的软件、硬件或软硬件结合的一种设施。
防火墙的分类:
- 无状态分组过滤器:典型部署在内网和网络边缘路由器上的防火墙。路由器逐个检查数据报,根据访问控制表(ACL)实现防火墙规则
- 有状态分组过滤器:跟踪每个 TCP 连接建立、拆除,根据状态确定是否允许分组通过
- 应用网关:应用网关实现授权用户通过网关访问外部网络的服务
入侵检测系统(IDS):当观察到潜在的恶意流量时,能够产生警告的设备或系统
网络安全协议
安全电子邮件
电子邮件对网络安全的需求:机密性、完整性、身份认证性、抗抵赖性
安全电子邮件标准(PGP 标准)提供的服务:邮件加密、报文完整性、数字签名
采用的加密算法:公钥加密算法(如 RSA)、对称加密算法、散列算法
安全套接字层 SSL
一般 Web 服务器越强大,包含安漏洞的概率越高。普通 Web 应用的应用层数据,在传输过程中都已明文形式传输,可能受到攻击。
在电子商务背景下,提出 HTTP 安全电子商务交易协议:在传输层之上构建一个安全层:
- 安全套接字(SSL)
- 传输层安全(TLS)
SSL 可以提供的服务:机密性、完整性、身份认证等安全服务
SSL协议栈(协议的总和):SSL 是介于 TCP 和 HTTP 等应用层协议之间的一个可选层,大多数应用层协议直接建立在 SSL 协议之上,SSL 是两层协议。
- SSL 握手协议:作用是协商密码组和建立密码组;服务器认证与鉴别和客户认证与鉴别
- SSL 更改密码协议:通信双方修改密码组,标志着加密策略的改变
- SSL 警告协议:为对等实体传递 SSL 警告或终止当前连接,包含两个字段:警告级别和警告代码
- SSL 记录协议:描述了信息交换过程中的消息格式,前面 3 个协议需要记录协议进行封装与传输
虚拟专用网 VPN 和 IP 安全协议 IPSec
虚拟专用网 VPN
建立在公共网络上的安全通道,是用户通过公用网络建立的临时的、安全的连接。实现远程用户、分支机构、业务伙伴等机构总部网络的安全连接,从而构建针对特定组织结构的专用网络。
虚拟专用网最重要的特点就是虚拟。
虚拟专用网一般是指构建在 Internet 上能够自我管理的专用网络。
关键技术:
VPN 涉及的关键技术:
- 隧道技术(如 IPSec)
- 数据加密
- 身份认证
- 密钥管理
- 访问控制
- 网络管理
隧道:通过 Internet 提供的点对点的数据传输的安全通道,通过数据加密保证安全。
- 数据进入隧道时,由 VPN 封装成 IP 数据报,通过隧道在 Internet 上传输;
- 离开隧道后,数据便不再受 VPN 保护
IPSec 是网络层使用最广泛的安全协议,但 IPSec 不是一个单一的协议,而是一个安全体系。
主要包括:
- 封装安全载荷协议 ESP:核心
- 认证头(AH)协议:核心
- 安全关联(SA)
- 密钥交换与管理(IKE):IPSec 唯一的密钥管理协议
IPSec 传输模式:
- 传输模式:主机模式,IPSec 数据报的发送和接受都由端系统完成
- 隧道模式:将 IPSec 的功能部署在网络边缘的路由器上,路由器之间建立安全隧道,数据报在其中传输
传输模式和协议组合:
- 传输模式 AH
- 隧道模式 AH
- 传输模式 ESP
- 隧道模式 ESP:最广泛和最重要的 IPSec 形式