一、计算机网络概述
1. 计算机网络的定义
- 由若干节点和连接结点的链路组成
- 计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
2. 互联网概述及组成
- 互联网的2个重要基本特点:连通性和共享(资源共享)
2.1 互联网的概述
- internet(互连网):由多个计算机网络互连而成的计算机网络,可以使用任意的通信协议
- Internet(互联网或因特网):当前全球最大的、开放的、由众多网络和路由器互连而成的特定计算机网络,采用TCP/IP协议族作为通信规则
- 互联网基础结构发展的三个阶段:
- 第一阶段:从单个网络ARPANET向互联网发展的过程
- ARPANET是1969年美国国防部创建的第一个单个分组交换网
- 1983年TCP/IP协议成为ARPANET上的标准协议
- 第二阶段:建成三级结构的互联网
- 1985年美国国家科学基金会NSF围绕六个大型计算机建设国家科学基金网NSFNET
- NSFNET分为主干网、地区网、校园网(企业网)
- 第三阶段:逐渐形成了全球范围的多层次ISP结构的互联网
- 第一阶段:从单个网络ARPANET向互联网发展的过程
- ISP:互联网服务提供者/商
- 互联网交换点IXP:允许两个ISP网络直接相连并交换分组,而不需要再通过第三个网络来转发分组
- 欧洲原子核研究组织CERN开发了万维网WWW
- 互联网协会ISOC:有一个技术组织互联网体系结构委员会IAB负责管理互联网有关协议开发
- IAB下设两个工程部:互联网工程部IETF(由互联网工程指导小组IESG管理)、互联网研究部IRTF(由互联网研究指导小组IRSG管理)
- 所有的互联网标准都是以RFC的形式在互联网上发表的
- 制定互联网正式标准要经历的三个阶段:互联网草案(不算RFC文档)、建议标准、互联网标准
- RFC文档的种类:建议标准、互联网标准、历史的RFC文档、实验的RFC文档、提供信息的RFC文档
2.2 互联网的组成
- 边缘部分:所有连接到互联网上供用户直接使用的主机
- 核心部分:大量网络和连接网络的路由器
- 电路交换:连接建立、数据传输、连接释放,节点间建立一条专用的物理通信路径
- 优点:通信时延小、有序传输、没有冲突、适用范围广、实施性强、控制简单
- 缺点:建立连接时间长、线路利用率低、灵活性差、难以规格化、难以实现差错控制
- 报文交换:将用户数据+源地址+目的地址封装为报文,采用存储转发技术,每个报文可单独选择到目的节点的路径
- 优点:无需建立连接、动态分配线路、线路可靠性高、线路利用率高、提供多目标服务
- 缺点:转发时延高、缓存开销大、错误处理低效
- 分组交换:将较长的报文划分成若干较小的等长数据段
- 首部:每个数据段前添加的源地址、目的地址和编号信息等必要控制信息
- 优点:无建立时延、线路利用率高、简化存储管理、加速传输、减小了出错概率和重发数据量
- 缺点:存在存储转发时延、传输额外的信息量、可能出现失序、丢失、重复分组的情况
3. 计算机网络的拓扑结构的类型
- 总线型网络:用单根传输线把计算机连接起来
- 星型网络:每个计算机都以单独的线路与中央设备相连
- 环形网络:所有计算机接口设备连接成一个环
- 网状网络:每个节点至少有两条路径与其他节点相连
4. OSI/RM及其各层的功能
- 物理层:在物理介质上为数据端设备透明地传输原始比特流,规定接口参数,规定链路上传输信号的意义和电气特征
- 数据链路层(点到点):改造链路为逻辑上无差错的数据链路
- 网络层:为分组交换网上的不同主机提供通信服务,对分组进行路由选择、实现流量控制、拥塞控制、差错控制、网际互联等功能
- 传输层(端到端):向两台主机中进程之间的通信提供通用的数据传输服务,有复用和分用的功能
- 会话层:不同主机上各个进程之间进行会话
- 表示层:处理在两个通信系统中交换信息的表示方式(如编码)
- 应用层:通过应用进程间的交互来完成特定网络应用,用户与网络的接口,最复杂的一层
5. TCP/IP参考模型
- 网络接口层=物理层+数据链路层
- 网际层=网络层
- 传输层
- 应用层=会话层+表示层+应用层
6. 计算机网络协议、接口、服务的概念
6.1 协议(水平的)
- 协议是控制两个对等实体(或多个实体)进行通信的规则的集合
- 语法:数据与控制信息的格式
- 语义:需要发出何种控制信息、完成何种动作、做出何种应答
- 同步:事件实现顺序的详细说明
- 协议数据单元PDU:对等层次之间传送的数据单位
6.2 接口
- 服务访问点SAP:同一结点内相邻两层的实体交换信息的逻辑接口
6.3 服务(垂直的)
- 下层为紧邻的上层提供的功能调用
- 服务原语:请求、指示、响应、证实
- 有应答服务:四类原语
- 无应答服务:请求、指示原语
- 面向连接服务与无连接服务:通信前是否需要建立连接
- 可靠服务与不可靠服务:是否有纠错、检错、应答机制
- 服务数据单元SDU:OSI层与层之间交换的数据单位
7. 计算机网络的主要性能指标(速率、时延、时延带宽积、往返时延)
- 速率(数据传输速率、数据传输率、数据率、比特率):在数字信道上传送数据的速率
- 带宽:最高数据传输速率
- 吞吐量:单位时间内通过某个网络(信道、接口)的实际数据量
- 时延带宽积:发送端的第一个比特即将到达终点时已经发送的总比特
- 往返时延:发送端发出一个分组到接收到来自接收端的确认的时间
- 信道利用率:某个信道有百分之多少的时间是有数据通过的 = 有数据通过时间/(有+无)数据通过时间
7.1 时延
- 发送时延(传输时延):发送某分组第一个比特到该分组最后一个比特发送完毕 = 分组长度/发送速率
- 传播时延:电磁波在信道中传播一定距离所花的时间 = 信道长度/电磁波在信道上的传播速率
- 处理时延:交换节点为存储转发而进行的一些必要处理所花时间
- 排队时延:分组在路由器的输入与输出队列中排队等待的时间
二、物理层
1. 物理层特性
- 数据:传送信息的实体
- 信号:数据的电气或电磁表现
- 基带信号(基带传输):将数字信号1和0直接用两种不同的电压表示
- 宽带信号(宽带传输):将基带信号调制为频分复用模拟信号在模拟信道上传输
- 码元:代表不同离散数值的基本波形,1码元可携带若干比特的信息量
- 信道按传输信号形式:模拟信道、数字信道
- 信道按传输介质:无线信道、有线信道
- 数据传输方式:
- 串行传输:长距离通信,常用于计算机网络
- 并行传输:近距离通信,常用于计算机内部
- 通信双方交互方式:
- 单向通信:只有一个方向的通信(无线电广播、电视广播)
- 半双工通信:双方都可以发送或接收信息,但不能同时
- 全双工通信:双方可同时发送和接收信息
- 双向通信需要一条发送信道和一条接收信道
- 码元传输速率(波特率、调制速率、符号速率):单位时间内所传输的码元数(B)
- 信息传输速率(比特率):单位时间内所传输的二进制码元数(b/s)
- 若一个码元携带n比特信息量,则波特率为M对应的比特率为Mn
- 物理层接口特性:
- 机械特性:接线器的形状尺寸、引脚数目与排列、固定和锁定装置等
- 电气特性:电缆各条线上的电压范围、传输速率、距离限制等
- 功能特性:某条线上出现某一电平的电压意义、每条线的功能
- 过程特性(规程特性):对不同功能的各种可能事件的出现顺序
2. 奈奎斯特定理和香农定理
2.1 奈奎斯特定理(奈氏准则)
- 码间串扰:高频分量无法通过信道导致接收到的信号波形失去码元间清晰界限
- 在理想低通(无噪声、带宽有限)信道中,极限码元传输速率为2W(B),W是信道带宽(Hz)
-
- 可以通过提高每个码元所能携带的比特信息量来提高数据传输速率
- 采样定理:采样频率必须大于等于原始信号最大频率的2倍
2.2 香农定理
- 在带宽受限且有噪声的信道中,为了不产生误差,信息的数据传输速率有上限值
- 信噪比 = 信号平均功率 / 噪声平均功率,记为S/N,用分贝(dB)作为度量单位
- 特别注意,如果给出的信噪比带dB单位,则需:
- 香农定理得出的极限信息传输速率比实际信道能达到的低不少
- 只要信息传输速率低于信道的极限传输速率,就一定能找到某种方法来实现无差错的传输
3. 光纤的优点及其两种模式
- 利用光导纤维传递光脉冲进行通信,带宽极大
- 由高折射率纤芯和低折射率包层构成
- 光纤的发射端光源可采用发光二极管或半导体激光器(单模光纤只能用半导体激光器),在接收端使用光电二极管作为光检测器
- 多模光纤适合近距离传输,单模光纤适合远距离传输
- 光纤的优点:
- 传输损耗小、中继距离长、远距离传输特别经济
- 抗雷电和电磁干扰性能好
- 无串音干扰、保密性好、不易被窃听或截取数据
- 体积小、重量轻
4. 三种基本的调制方法
- 调幅(AM)或幅移键控(ASK):抗干扰能力差
- 调频(FM)或频移键控(FSK):抗干扰能力强,应用广泛
- 调相(PM)或相移键控(PSK):分为绝对调相和相对调相
- 正交振幅调制(QAM):在频率相同下,结合AM和PM
5. 曼彻斯特编码和差分曼彻斯特编码
- 曼彻斯特编码:每个码元的中间都发生电平跳变,既作为时钟信号也作为数据信号(标准以太网使用这种编码方式)
- 差分曼彻斯特编码:每个码元中间都发生电平跳变,仅作为时钟信号。在每个码元开始处有跳变表示0,无跳变表示1。具有更强的抗干扰能力,用于宽带高速网中
6. 两种数字传输系统(T1,E1)
- 北美和日本的多路复用速率体系T1:1.544Mbit/s
- 欧洲的多路复用速率体系E1:2.048Mbit/s
7. PCM的缺点
- 脉冲编码调制技术(PCM):最高保真水平的音频信号编码方式
- 需要较大的数据传输带宽和存储空间,导致无法实现高压缩比
- 相对较低的数据压缩效率
三、数据链路层
1. 数据链路层的功能
- 实现帧在一段链路上或一个网络中进行传输:封装成帧、透明传输、差错控制
- 点对点信道:
- PPP协议是目前使用最广泛的点对点协议(由SLIP协议发展而来)
- (物理)链路:从一个结点到相邻结点的一段物理链路
- 数据链路(逻辑链路):把实现协议的硬件和软件加到链路上
- 广播信道:
- 有线局域网:CSMA/CD协议
- 无线局域网:CSMA/CA协议
- 为网络层提供服务:
- 无确认的无连接服务:适用误码率低的信道,如以太网
- 有确认的无连接服务:适用于误码率高的信道,如无线通信,超时未收到确认信号时,重传该帧
- 有确认的面向连接服务
- 链路管理:数据链路层连接的建立、维持和释放过程
- 封装成帧:
- 帧定界:确定帧的界限
- 帧同步:接收方从二进制比特流中分出帧的起始与终止
- 最大传送单元:帧的数据部分的长度上限
- 透明传输:无论传输什么比特都能按原样无差错的在链路传输
- 流量控制:限制发送方的发送速率,不超过接收方的接收能力(OSI在数据链路层,TCP/IP在传输层)
- 差错检测
- 位错:采用循环冗余检验(CRC)发现错误则丢弃帧
- 帧错:帧丢失、帧重复、帧失序等错误
- 误码率BER:一段时间内,传输错误的比特占所传输比特总数的比率
2. 常见的组帧的方法
- 将网络层递交的分组封装成帧
2.1 字符计数法
- 在帧首部使用一个计数字段记录帧的字节数(包括计数字段所占用的1字节)
- 若计数字段出错则会造成严重后果
2.2 字节填充法
- 用特定字节(字符)来界定一帧的开始与结束(开始:SOH,结束:EOT)
- 信息位中出现的特定字符前加转义字符(ESC)
2.3 零比特填充法
- 采用特定比特串01111110标志帧的开始与结束
- 在信息位中每遇到连续的5个‘1’则在后面加个‘0’
- 早期的HDLC协议中采用这种方法
- 容易用硬件实现,性能优于字节填充法
2.4 违规编码法
- 在物理层进行比特编码
- 用违规编码序列来界定帧的起始和终止
- 只适用于采用冗余编码的特殊编码环境
3. 循环冗余校验码的原理
- 有纠错功能,但此处仅使用了检错功能
- 生成与使用方式:
- 双方约定生成多项式G(x)(最高位和最低位必须为1)
- 发送方基于数据和G(x)计算出冗余码(帧检验序列FCS)
- 帧由数据+FCS组成,接收方用G(x)去除帧,若整除则无错
- 全程由硬件实现,处理速度快
4. 多帧滑动窗口与后退N帧协议(GBN)
4.1 滑动窗口流量控制概念与基本原理
- 流量控制:由接收方控制发送方的发送速率,使接收方有足够的缓冲空间来接收每个帧
- 数据链路层控制的是相邻结点之间的流量,控制手段是接收方收不下就不返回确认
- 发送窗口:发送方维持的一组连续的允许发送帧的序号
- 接收窗口:接收方维持的一组连续的允许接收帧的序号
- 只有接收窗口向前滑动(发送确认),发送窗口(接收确认)才有可能向前滑动
4.2 可靠传输机制概念
- 可靠传输:发送方发送的数据都能被接收方正确地接收
- 自动重传请求(ARQ):采用确认和超时重传两种机制实现,数据帧和确认帧都必须编号
4.3 GBN协议的工作原理
- 发送方发送N帧后,发现这N个帧的前一个帧在计时器超时时仍未收到确认信息,判定该帧出错或丢失,发送方需对该出错帧以及随后的N个帧进行重传
- 接收方只允许按顺序接收帧
4.4 GBN确认号的含义
- GBN协议允许接收方进行累积确认(为降低开销):接收方可以在连续接收到多个正确帧后对最后一个帧发回确认信息。即对某个数据帧的确认代表该数据帧和之前所有帧均已准确无误地收到。
- 接收方在丢弃帧后,应重发已发送的最后一个确认帧ACKn,以防止已发送的确认帧ACKn丢失
4.5 GBN发送窗口的意义(最大尺寸)
- 若采用n比特对帧编号,发送窗口和接收窗口需满足:
4.6 GBN协议下信道利用率和发送窗口大小关系
- 发送方发送分组时延TD,接收方发送确认时延TA,往返时延RRT,发送窗口大小为n,信道利用率为U
- 信道平均(实际)数据传输速率=信道利用率*信道带宽=发送周期发送数据量/发送周期
5. 多路复用技术(信道划分介质访问控制)的一般形式
5.1 介质访问控制概念
- 介质访问控制的任务:为使用介质的每个节点隔离来着同一信道上其他节点所传送的信号
- 介质访问控制(MAC)子层:用来决定广播信道中信道分配的协议
- 介质访问控制方法:信道划分介质访问控制(静态)、随机访问介质访问控制(动态)、轮询访问介质访问控制
5.2 频分复用(FDM)
- 将信道的总频带划分为多个子频带,每个子频带作为一个子信道供一对用户使用
- 为防止子信道之间相互干扰,相邻信道间要加入“隔离频带”
- 充分利用了传输介质的带宽,系统效率较高,实现较容易
5.3 时分复用(TDM)
- 将信道的传输时间划分为一段段等长的时间片(TDM帧),每个用户占用固定序号TDM帧的时隙,每个用户所占用的时隙周期性地出现
- 统计时分复用/异步时分复用(STDM):不固定分配时隙,而是按需分配时隙,常用集中器
5.4 波分复用(WDM)
- 在一根光纤中传输多种不同波长(频率)的光信号
- 密集波分复用(DWDM):在一根光纤上复用几十路或者更多的光载波信号
5.5 码分复用(CDM)
- 采用不同的编码来区分各路原始信号,既共享信道的频率也共享信道的时间
- 码分多址(CDMA):
- 将每个比特时间再划分为m个码片,发送1时发送码片序列,发送0时发送码片序列反码
- 要求各个站点的码片序列相互正交(规格化内积为0)
- 将码片中的0写成-1,将1写成+1,在公共信道上传输时是线性相加
- 接收方分离时让接收结果与发送站对应码片进行规格化内积
- 在实用的系统中是使用伪随机码序列
- 频谱利用率高、抗干扰能力强、保密性强、语音质量好、减少投资及降低运行成本
- 各用户使用经过特殊挑选的不同码型,因此用户之间不会造成干扰
- 频谱类似于白噪声
- 主要用于无线通信系统,特别是移动通信系统
6. CSMA/CD协议(载波监听多路访问/冲突检测协议)
6.1 CSMA/CD协议的特点
- 适用于总线形网络或半双工网络环境
- 载波监听:每个站点在发送前和发送过程中都必须不停地检测信道,发送数据前若监听到信道为空则还需要等待96比特时间(以太网规定的帧间最小间隔,为了使刚刚接收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备)
- 冲突检测:边发送边监听,若监听到了冲突则立即停止数据发送,同时继续发送32或48bit的人为干扰信号,以便让所有用户都知道发生了碰撞。
6.2 争用期(碰撞窗口)与最短帧长
- 发送站在开始发送数据后最多经过时间2t(2倍端到端传播时延)就知道是否发生冲突
- 最短帧长 = 争用期 * 数据传输速率
- 以太网规定51.2微秒为争用期长度,10Mb/s的以太网争用期内可发送64B,规定最短帧长为64B
6.3 截断二进制指数规避算法
- 用于确定碰撞后的重传时机
- 首先确定基本退避时间为争用期,定义重传次数k(<=10),当重传次数大于10时则不再增加k
- 从离散整数集合【0,1,2^k-1】随机选取r,重传退避时间为r倍的基本退避时间
- 当重传16次仍不成功时,则抛弃此帧,并向高层报告错误
7. 局域网(LAN)的主要特征
7.1 局域网的概念与结构
- 局域网:在较小的地理范围内将计算机、外部设备、数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互连网络。
- 局域网特性决定三要素:拓扑结构、传输介质、介质访问控制方式(最重要,决定局域网的技术特性)
- 局域网的拓扑结构:星形结构、环形结构、总线形结构、星形和总线形结合的复合结构
- 局域网传输介质:铜缆、双绞线(主流传输介质)、光纤等
7.2 局域网主要特点
- 一个单位所拥有,地理范围和站点数目有限
- 所有站点共享较高的总带宽
- 较低的时延和误码率
- 各站为平等关系
- 能进行广播和多播
7.3 IEEE 802定义的局域网参考模型
- 参考OSI模型的数据链路层和物理层
- 将数据链路层细分为:逻辑链路控制(LLC)子层和媒体接入控制(MAC)子层
- 逻辑链路控制:建立和释放数据链路层数据连接,提供与高层的接口、差错控制、给帧加序号
- 媒体接入控制:组帧和拆卸帧、比特传输差错检测、透明传输、寻址、竞争处理
8. 以太网物理层和MAC子层的功能
- 以太网的两个标准:DIX Ethernet V2、IEEE 802.3
- 以太网逻辑拓扑是总线形结构,物理拓扑是星形结构
8.1 以太网物理层功能
- 信号的编码和译码、比特的接收和传输
8.2 以太网MAC子层功能
- 简化通信的两种方式:采用无确认无连接的工作方式、发送的数据采用曼彻斯特编码的信号
- MAC地址:由IEEE 802标准规定的一种48位全球地址,用于控制主机在网络上的数据通信,该地址与网络适配器(网络接口卡)一一对应且被固化在适配器ROM中,不会随地理位置变化
- 以太网的MAC地址:由连字符(或冒号)分隔的12个十六进制数表示,高24位为厂商代码,低24位为厂商自行分配的适配器序列号
9. 以太网的帧格式
- MAC帧的类型:单播帧(一对一)、广播帧(一对全体)、多播帧(一对多)
- 以太网的MAC帧采用DIX Ethernet V2标准(即以太网V2标准)
- 前导码:7字节的前同步码(实现MAC帧的比特同步)+1字节的帧开始定界符(不需要帧结束定界符)
- 目的地址和源地址:6字节目的适配器的MAC地址和6字节源适配器的MAC地址
- 类型:2字节,指出数据字段中的数据应交给哪个上层协议处理
- 数据:46~1500字节(最少为46字节因为以太网最短帧长为64字节)
- 检验码(FCS):4字节,检验目的地址到数据字段,采用32位CRC码
10. 广域网(WAN)的主要特性
- 广域网:指覆盖范围很广的长距离网络,任务是长距离运送主机发送的数据
- 广域网由结点交换机(在单个网络中存储并转发分组)和连接这些交换机的高速链路组成
- 广域网采用点对点连接方式,广域网的协议主要在网络层
11. 数据报服务的特点
- 发送分组前无需建立连接,发送方可随时发送分组,网络中的结点可随时接收分组
- 传输不保证可靠性,分组可能出错或丢失。网络为每个分组独立地选择路由,转发路径可能不同,因此分组不一定按序到达目的结点
- 发送的分组要包括发送方和接收方的完整地址,以便独立传输
- 分组在交换结点存储转发时,需要排队等候处理
- 网络具有冗余路径,某链路或结点发生故障时可以更新转发表选择其他路径,对故障适应能力强
- 收发双方不独占某条链路,资源利用率较高
12. 虚电路服务与数据报服务的主要区别
13. PPP 组成
- 点对点协议(PPP)的应用:用户计算机与ISP通信所用的数据链路层协议;广域网路由器间的专用线路
13.1 PPP协议的组成部分
- 链路控制协议(LCP):建立、配置、测试数据链路连接,协商一些选项
- 网络控制协议(NCP):PPP允许采用多种网络层协议,不同网络层协议使用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接
- 一种将IP数据报封装到串行链路的方法:IP数据报是PPP帧信息部分,长度受最大传送单元(MTU)限制
13.2 PPP帧格式
- 标志字段(F):首部和尾部各1个字节,规定为0x7E,是PPP帧定界符
- 地址字段(A):1个字节,只置为0xFF,实际上不起作用
- 控制字段(C):1个字节,规定为0x03
- 协议字段:2个字节,若为0x0021则信息部分为IP数据报;若为0xC021则信息部分为LCP数据
- 信息部分:0~1500字节
- 帧检验序列(FCS):2个字节,使用CRC码
- 异步传输采用字节填充法(转义字符为0x7D:0x7E转换为(0x7D, 0x5E),0x7D转换为(0x7D, 0x5D)),同步传输采用零比特填充法
13.3 PPP协议的特点
- 不使用序号和确认机制,是不可靠服务
- 只支持全双工的点对点链路,不支持多点链路
- PPP面向字节,所有PPP帧的长度都是整数个字节
13.4 PPP协议的状态图
- 在“链路建立”状态:建立链路层的LCP连接,LCP协商一些配置选项
- LCP配置请求帧可包含:
- 配置确认帧:所有选项都接受
- 配置否认帧:所有选项都理解但不能接受
- 配置拒绝帧:选项有的无法识别或不能接受
- LCP配置选项包括:链路上的最大帧长、所使用的鉴别协议的规约、不使用PPP帧中的地址和控制字段
- 在“鉴别”状态:只允许传送LCP协议的分组、鉴别协议的分组、检测链路质量的分组
- 使用口令鉴别协议PAP或口令握手鉴别协议CHAP进行身份鉴别,鉴别成功则进入“网络层协议”状态
- 在“网络层协议”状态:PPP链路两端的NCP根据网络层的不同协议互相交换网络层特定的网络控制分组
- 若链路运行的是IP协议,需在每一端配置IP协议模块时使用IP控制协议IPCP
14. HDLC 的帧结构
标志位F | 地址A | 控制C | 数据部分I | 帧检验序列FCS | 标志位F |
---|---|---|---|---|---|
8位 | 8位 | 8位 | 长度可变 | 16位 | 8位 |
- 标志位F:占8位,由特定序列01111110构成
- 地址A:占8位
- 控制C:占8位
- 数据部分I:长度可变
- 帧检验序列FCS:占16位
- 标志位F:占8位,由特定序列01111110构成
- 如果一个帧的长度小于32位,则认为是无效的
15. 网桥的概念以及类型
- 网桥在数据链路层扩展以太网,原来的每个以太网称为一个网段
- 使用网桥扩展时,不会将独立的两个冲突域合并成一个更大的冲突域
- 网桥具有识别帧和转发帧的能力,将目的MAC地址为本网段的帧丢弃,非本网段的帧传输到对应网段
- 透明网桥:指局域网上的站点并不知道所发送的帧经过哪几个网桥,因为网桥对各站来说是看不见的。透明网桥是即插即用设备,连接到局域网上后需要用生成树算法来建立转发表。
- 源路由网桥:生成树网桥的优点易于安装,无须人工输入路由信息,但没有最佳利用带宽。而源路由网桥核心思想是由帧的发送者显示地指明路由信息。路由信息由网桥地址和LAN标识符的序列组成,包含在帧头中。
16. 以太网的工作原理和信道的利用率
- 参数a越大,表明争用期所占的比例越大,使得每一次碰撞都浪费不少的信道资源
- 以太网的参数a的值应尽可能小些
- 当数据率一定时,以太网连线的长度受到限制,同时以太网的帧长不能太短
17. 纯 ALOHA 和时隙 ALOHA 的结论
17.1 随机访问介质访问控制概念
- 在总线形网络中,不采用集中控制方式解决发送信息的次序问题
- 胜利者通过争用获得信道,进而获得信息发送权
17.2 纯ALOHA协议
- 在总线形网络中任何站点需要发送数据前不进行任何检测
- 若一段时间未收到确认则认为传输过程发生冲突,发送站点需要等待一段时间后再发送数据,直至成功
- 纯ALOHA网络的吞吐量很低
17.3 时隙ALOHA协议
- 同步各站点的时间,将时间划分成一段段等长的时隙
- 站点只能在每个时隙开始时才能发送帧,发送一帧的时间必须小于等于时隙长度
- 冲突后的重传策略与纯ALOHA协议相似
- 避免了用户发送数据的随意性,降低产生冲突的可能性,提高信道利用率
18. CSMA/CD 的原理和吞吐量的计算
- 吞吐量:单位时间内通过某个网络(信道、接口)的实际数据量
- 信道吞吐量=信道利用率×发送方的发送速率
19. VLAN 的概念
- 虚拟局域网:将一个较大的局域网分割成一些与物理位置无关的逻辑组,每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN
- 虚拟局域网其实只是局域网给用户提供的一种服务,并不是一种新型局域网。
- VLAN之间进行数据传递必须使用三层交换设备,如三层交换机、路由器等
20. 划分 VLAN 的方法
- 基于交换机端口
- 基于计算机网卡的 MAC 地址
- 基于协议类型
- 基于 IP 子网地址
- 基于高层应用或服务
四、网络层
1. 网络的异构性表现在哪些方面
- 寻址方案、最大分组长度、网络接入机制、超时控制、差错恢复方法、状态报告方法、路由选择技术、用户接入控制、服务、管理与控制方式等
2. 中继系统的种类
- 物理层中继系统:转发器、集线器
- 数据链路层中继系统:网桥(桥接器)或交换机
- 网络层中继系统:路由器(在TCP/IP的文献中也称之为网关)
- 网络层以上的中继系统:网关
3. 拥塞控制算法
3.1 拥塞控制相关概念及其作用
- 拥塞:因出现过量的分组而引起网络性能下降的现象
- 判断网络是否进入拥塞的办法:随着网络负载的增加,网络的吞吐量下降
- 拥塞控制的作用:确保网络能够承载所达到的流量
3.2 拥塞控制方法
- 开环控制:在设计网络时预先考虑发生拥塞的因素,是一种静态预防方法。包括:确定何时可接收新流量,何时可丢弃分组以及丢弃哪些分组、确定何种调度策略等
- 闭环控制:采用监测网络系统监视并检测网络系统发生拥塞的地方,将拥塞信息传到合适的地方,调整系统的运行并解决出现的问题,是一种动态的方法。
4. 距离向量路由算法
4.1 路由算法的概念
- 找到一条从源路由器到目的路由器的“最佳”路径(通常指具有最低费用的路径)
4.2 距离向量路由算法
- 距离向量路由算法的基础是Bellman-Ford算法,用于计算单源最短路径,每个结点以自身为源点执行Bellman-Ford算法
- Bellman-Ford算法基本思想:选取自身结点到所有邻居结点距离与邻居结点到目的结点之和的最小值
- 两点之间的最短路径也包含了该路径上其他顶点间的最短路径
- 每个结点x都会维护一下路由信息:
- 从x到每个直接相连邻居v的链路费用c(x,v)
- 结点x的距离向量(x到网络中其他结点的费用)
- 它收到的每个邻居的距离向量
- 更新报文的大小与网络中的结点数目成正比(大型网络会导致很大的更新报文)
- 最常见的距离向量路由算法是RIP算法,采用“跳数”度量距离
4.3 RIP路由信息协议
- RIP协议要求网络中的每一个路由器维护从它自己到其他每一个目的网络的距离记录(距离向量)
- RIP允许一条路径最多只能包含15个网络,因此RIP只适用于小型互联网
- RIP只能在两个网络之间选择一条具有最少网络数的路由
- RIP的特点:
- 仅和相邻路由器交换信息
- 路由器交换的信息是当前本路由器所知道的全部信息(即当前自己的路由表),路由表中最重要的信息就是到某个网络的最短距离和应经过的下一跳地址
- 按照固定的时间间隔交换路由信息
- 好消息传播的快,坏消息(发生网络故障)传播的慢
5. 链路状态路由算法
- 链路状态:本路由器都和哪些路由器相邻,以及相应链路的代价
- 链路状态算法要求每个结点都具有全网拓扑结构图
- 算法要执行的两个任务:主动测试所有相邻结点的状态;定期将链路状态传播给所有其他结点
- 当结点收到链路状态报文,就使用Dijkstra算法计算到达所有其他结点的最短路径
- 一个结点的链路状态只涉及相邻结点的连通状态,适用于大型的或路由信息变化聚敛的网络
- 该算法易于查找故障,每个结点通过广播方式与其他结点交谈,只告诉他们与他直接相连的链路费用
6. IP地址的分类及其表示
6.1 IPv4地址的分类表示
- IP地址:是给互联网上的每台主机(或路由器)的每个接口分配的一个在全球范围内唯一的32位标识符
- 所有的IP地址都由网络号和主机号组成
- 分类的IP地址:
- 特殊的IP地址及其用途:
- 主机号全为0:表示本网络本身
- 主机号全为1:表示本网络的广播地址(直接广播地址)
- 127.x.x.x:环回自检地址,表示任意主机本身
- 0.0.0.0(32位全0):表示本网络上的本主机
- 255.255.255.255(32位全1):表示整个TCP/IP的广播地址(受限广播地址),实际使用时等效为本网络的广播地址
6.2 IPv4地址的特点
- IP地址是一种分等级的地址结构:便于管理;路由器仅根据网络号来进行转发,减小路由表存储空间
- 路由器至少应该具备2个及以上的IP地址,且网络号是不同的
- 用转发器或网桥连接的若干LAN属于同一网络,该LAN中所有主机的IP地址网络号必须相同
6.3 IPv6地址
- IPv6数据报目的地址的三种类型:单播(点对点通信)、多播(一点对多点通信)、任播(终点是一组计算机但数据报只交付给其中一台)
- 全球单播地址:
- 全球路由选择前缀48位:用于互联网路由选择,相当于网络号
- 子网标识符16位:用于各机构建自己的子网
- 接口标识符64位:用于指明主机或路由器的单个网络接口,相当于主机号
7. IP数据报的结构及其每个域的意义
7.1 IPv4数据报的格式
- 首部的固定长度共20个字节
- 版本:1字节,指IP的版本,此处是4
- 首部长度:1字节,以4B为单位,最大可表示首部长度为60B,最常用的首部长度是20B
- 总长度:4字节,指首部和数据之和的长度。数据报的总长度不能超过下面的数据链路层的MTU
- 标识:4字节,每产生一个数据报就加1,当数据报需要分片时每个数据报都复制一次标识号,以便正确的重装成原来的数据报
- 标志(Flag):3位,最低位MF=1表示后面还有分片,MF=0表示最后一个分片。中间一位DF=0时表示允许分片
- 片偏移:13位,以8B为单位,用于分片后表示在原数据报中的相对位置
- 生存时间(TTL):2字节,数据报在网络中可通过路由器数的最大值,若TTL=0则丢弃数据报
- 协议:2字节,数据报的数据部分应上交给哪种协议处理,6表示TCP,17表示UDP
- 首部检验和:4字节,只检验数据报的首部,不采用CRC
- 源地址和目的地址:分别占4字节,分别标识发送方和接收方的IP地址
7.2 IPv6数据报的格式
- IPv6的地址长度为128位,IPv4的地址长度为32位
- IPv6数据报由两部分组成:基本首部(40B)和有效载荷(净负荷),有效载荷由0个或多个扩展首部及后面的数据部分组成
- 版本:1字节,此处是6
- 通信量类:2字节,用来区分不同的IPv6数据报的类别或优先级
- 流标号:20位,流是指互联网上从特定源点到特定终点(单播或多播)的一系列数据报,所有属于同一个流的数据报都具有相同的流标号
- 有效载荷长度:4字节,除基本首部外的字节数,最大值是65535B
- 下一个首部:2字节,当没有扩展首部时作用与IPv4的协议字段一样;当有扩展首部时就标识第一个扩展首部的类型
- 跳数限制:2字节,类似于IPv4的TTL字段(最大值为255)
- 源地址和目的地址:分别占128位,是数据报的发送端/接收端的IP地址
8. 子网及其掩码
- 划分子网:在IP地址中增加一个“子网号”,使两级IP地址变为三级IP地址{<网络号>,<子网号>,<主机号>}
- 子网号不能为全0或全1(对于指明分类的IPv4,若只提到CIDR可以使用全0或全1)
- 划分子网属于一个单位内部的事情,单位对外仍表现为没有划分子网的一个网络
- 划分子网的方法:从网络的主机号借用若干位作为子网号
- 子网中主机号全0的地址为子网的网络地址,全1的地址为子网的广播地址
- 子网掩码:指明分类IP地址的主机号部分被借用了多少位作为子网号
- 子网掩码中1对应于IP地址中的网络号和子网号,0对应于主机号
- 主机或路由器只需将IP地址和对应的子网掩码逐位相“与”
- 默认网关:是连接本机或子网路由器接口的IP地址,通过子网掩码判断目的主机是否在子网中,若不在子网中则将数据发送到默认网关再由默认网关转发到其他网络
- 所有网络都必须使用子网掩码,未划分子网网络的子网掩码使用默认子网掩码,ABC类默认子网掩码:
- A类:255.0.0.0;B类:255.255.0.0;C类:255.255.255.0
9. CIDR无分类编址
- 无分类域间路由选择(CIDR):使用网络前缀消除ABC类地址及子网划分的概念,网络前缀的位数不是固定的,可以任意选取。IP地址{<网络前缀>,<主机号>}
- CIDR采用斜线记法:IP地址/网络前缀所占的位数(对应网络号的部分,等效于子网掩码连续的1)
- CIDR将网络前缀都相同的连续IP地址组成一个CIDR地址块,知道地址块中的任一地址就能知道该块的最大地址和最小地址
- 被分配到一个CIDR地址块的单位仍可在本单位内根据需要划分出一些子网
- CIDR地址块中的地址数一定是2的整数次幂,网络前缀越短,地址块包含的地址数越多
10. ICMP差错报告报文的种类
- 网际控制报文协议ICMP:让主机或路由器报告差错和异常,ICMP报文被封装在IP数据报中发送
- ICMP报文分为ICMP差错报告报文和ICMP询问报文
- ICMP差错报告报文用于目标主机或到目标主机路径上的路由器,向源主机报告差错和异常
10.1 ICMP差错报告报文种类
- 终点不可达:路由器或主机不能交付数据报,向源点报告
- 时间超过:路由器收到TTL为0的数据报,丢弃数据报并报告源点。终点在预先规定时间内不能收到一个数据报的全部数据报片时,丢弃已收到的数据报片,并向源点报告
- 参数问题:当路由器或目的主机收到的数据报首部有字段值不正确时,丢弃数据报并报告
- 改变路由:把改变路由的报文发给主机,主机下次应将数据报发送给另外的路由器
10.2 不应发送ICMP差错报告报文的情况
- 对ICMP差错报告报文
- 对第一个分片数据报片的后续所有数据报片
- 对具有多播地址的数据报
- 对具有特殊地址的数据报
11. OSPF开放最短路径优先协议
11.1 OSPF协议的基本特点
- OSPF使用洪泛法向本自治系统中所有路由器发送信息
- 发送的信息是与本路由器相邻的所有路由器的链路状态
- 只有当链路状态发生变化时,路由器才会使用洪泛法向所有路由器发送此信息,更新过程收敛快
- OSPF是网络层协议,直接用IP数据报传送(首部协议字段为89)
- 允许对每条路由设置成不同的代价
- 若到同一个目的网络有多条相同代价的路径,可将通信量分配给这几条路径
- OSPF分组具有鉴别功能,保证仅在可信赖的路由器之间交换链路状态信息
- 支持可变长度的子网划分和无分类编址CIDR
- 每个链路状态都带上一个32位的序号,序号越大状态就越新
- OSPF规定每隔一段时间刷新一次数据库中的链路状态,确保数据链路状态数据库与全网状态保持一致
11.2 OSPF的基本工作原理
- 所有路由器都建立一个链路状态数据库,即全网的拓扑结构图
- 每个路由器根据该数据库使用Dijkstra算法计算最优路径,构造路由表
- 路由表中不储存完整路径,只存储“下一跳”,只有到了下一跳路由器才能知道再下一跳
11.3 OSPF的五种分组类型
- 问候分组:发现和维持邻站的可达性,相邻路由器每10秒交换一次问候分组,40秒没有收到某个相邻路由器发来的问候分组则认为该相邻路由器不可达(网络中传送的OSPF分组大多是问候分组)
- 数据库描述分组:向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息
- 链路状态请求分组:向对方请求发送某些链路状态项目的详细信息
- 链路状态更新分组:用洪泛法对全网更新链路状态,是OSPF最核心部分
- 链路状态确认分组:对链路更新分组的确认
12. IP多播的概念和多播地址
12.1 IP多播的概念
- 让源主机一次发送的单个分组可以抵达用一个组地址标识的若干目的主机(一对多通信)
- 在互联网上进行的多播称为IP多播
- 多播可以大大节约网络资源,仅需发送一份数据且只发送一次,只有在传送路径出现分岔时才将分组复制后继续转发
- 能够运行多播协议的路由器称为多播路由器
12.2 IP多播地址
- IP多播地址:IPv4中的D类地址,前四位是1110,D类地址的范围是224.0.0.0~239.255.255.255
- 每一个D类地址标志一个多播组,一台主机可随时加入或离开一个多播组
- 多播地址只能用于目的地址,不能用于源地址
- 多播机制仅应用与UDP,TCP只能进行一对一发送因此不能使用多播
13. 转交地址的分类
- 转交地址CoA:是分配给移动设备的临时IP地址。它允许归属地代理向移动设备转发消息,由于与所在网络的不匹配,用于标识主机的设备IP地址在拓扑上是不正确的,所以需要独立的IP地址用于分别标识主机和在全局IP网络内的位置
- 外部代理转交地址FACoA:外部代理使用的相同的CoA,终端负责接收CoA,实现某种类型的网络地址转换(NAT)网络。
- 移动节点在外部网络中使用相同的CoA,所有在外部网络中的移动节点都具有相同的CoA
- 外部代理负责接收来自移动节点的数据包,并将其转发到正确的目标地址
- 外部代理充当移动节点和目标地址之间的中间人,实现了地址转发和网络通信
- 同位(Co-located)转交地址: 外部网络中的每个移动结点都有自己的 CoA
- 通常由 DHCP 服务器负责分配,每个移动节点都具有唯一的CoA,可以直接与目标地址进行通信,而无需经过外部代理
- 移动节点负责接收来自目标地址的数据包,并将其转发到正确的目的地
14. 路由器的优缺点
14.1 优点
- 网络分割和隔离:路由器可以将网络划分为多个子网,实现网络分割和隔离,这有助于提高网络性能、安全性和管理灵活性
- 路由选择:路由器能够根据路由协议和路由表,选择最佳路径来转发数据包,以实现高效的数据传输和网络通信
- 网络扩展和互联互通:路由器允许不同网络之间的互联互通,使得多个网络可以无缝地通信和共享资源,实现网络的扩展和拓扑连接
- 数据包过滤和安全性:路由器可以根据配置的访问控制列表(ACL)对数据包进行过滤和筛选,实现对网络流量的控制和安全防护
- 带宽管理和负载均衡:路由器可以进行带宽管理和负载均衡,通过合理分配网络资源,提高网络性能和用户体验
- 支持多种连接类型:路由器通常支持多种连接类型,如以太网、无线网络(Wi-Fi)、光纤等,使得不同类型的网络设备可以连接和通信
14.2 缺点
- 成本高:高性能的企业级路由器通常价格昂贵,对于小型组织或个人用户来说,购买和维护成本可能较高
- 配置复杂性:路由器的配置和管理需要一定的技术知识和经验,对非专业人士来说,可能较为复杂和困难
- 单点故障:如果网络中只有一个路由器,当路由器发生故障时,整个网络可能会受到影响,导致网络中断或不可达
- 性能瓶颈:低性能的路由器可能成为网络的瓶颈,限制了数据传输速度和网络吞吐量
- 安全漏洞:路由器作为网络的关键设备,如果配置不当或存在安全漏洞,可能成为网络攻击的目标,造成安全威胁和数据泄漏风险
五、传输层
1. 传输层寻址与端口
1.1 端口的作用
- 让应用层的各种进程将其数据向下交付给传输层;让传输层知道应当将其报文段中的数据向上交付给应用层相应的进程
- 软件端口:应用层的各种协议进程与传输实体进行层间交互的一种地址
1.2 端口号
- 应用进程用端口号标识,长度为16bit,可以表示65536个端口
- 端口号只标识本计算机应用层中的各进程
- 端口号可分为:服务器端使用的端口号和客户端使用的端口号
- 服务器端使用的端口号:熟知端口号(0~1023)被分配给TCP/IP最重要的一些应用程序,登记端口号(1024~49151)
- 客户端使用的端口号:也称短暂端口号(49152~65535)仅在客户进程运行时才动态的选择
- 熟知的端口号:
1.3 套接字
- 将端口号拼接到IP地址=(IP地址:端口号)
2. 无连接服务与面向连接服务
- 面向连接的传输控制协议(TCP):提供一条全双工的可靠逻辑信道
- 无连接的用户数据报协议(UDP):提供一条不可靠的逻辑信道
- TCP不提供广播或多播服务,主要适用于可靠性更重要的场合
- UDP在网络层之上提供2个附加服务:多路复用和对数据的错误检查,执行速度快,实时性好
- 一些典型互联网应用所用的TCP/IP应用层协议和传输层协议:
3. 传输连接的建立与释放
4. UDP的优点
- UDP无需连接:不会引入建立连接的时延
- 无连接状态:UDP不维护连接状态也不跟踪相关参数,对于某些专用服务器能支持更多的活动客户机
- UDP首部开销小:UDP首部仅有8B的开销
- UDP没有拥塞控制:网络中的拥塞不会影响主机的发送速率
- UDP支持一对一、一对多、多对一、多对多的交互通信
- 面向报文:UDP一次传送和交付一个完整的报文
5. UDP和TCP报文段报头格式
5.1 UDP报文段报头格式
- UDP数据报包含2个部分:UDP首部、用户数据字段(伪首部不是UDP数据报的一部分)
- UDP首部有8B,由4个字段组成,每个字段都是2B
- 源端口:源端口号,在需要对方回信时用,不需要时可用全0
- 目的端口:目的端口号,在终点交付报文时必须用到
- 长度:UDP数据报的长度(包括首部和数据)
- 检验和:检测UDP数据报传输中是否出错,首部和数据部分一起检验,不使用时全0,无差错时结果全1
5.2 TCP报文段报头格式
- TCP报文段即可用于运载数据,也可用来建立连接、释放连接和应答
- TCP报文段分为首部和数据部分,首部最短为20B,长度是4B的整数倍
- 源端口和目的端口:各占2B,分别表示发送方和接收方使用的端口
- 序号seq:4B,TCP传送的字节流的每个字节都要按序编号,该字段值的是本报文段所发送的数据的第一个字节序号
- 确认号ack:4B,期望收到对方下一个报文段的第一个数据字节序号(用于确认报文段)
- 数据偏移:1B,表示首部长度,以4B为单位因此TCP首部最长为60B
- 保留:占6位,目前全置为0
- 紧急位URG:URG=1表明紧急指针字段有效,说明有紧急数据应尽快传送
- 确认位ACK:ACK=1确认号字段有效,在连接建立后所有传送的报文段ACK都为1
- 推送位PSH:接收方收到PSH=1的报文就尽快交付给接收应用进程
- 复位位RST:RST=1表明连接出现严重差错需要释放连接并重新建立,也可用于拒绝非法报文段
- 同步位SYN:SYN=1表明这是一个连接请求或连接接受报文
- 终止位FIN:FIN=1表明此报文段发送方数据已发送完毕,并要求释放传输连接
- 窗口:2B,从本报文段首部确认号算起,接收方目前允许对方发送的数据量(以字节为单位)
- 检验和:检验范围包括首部和数据两个部分,计算时也需要使用到伪首部
- 紧急指针:2B,仅在URG=1时有效,指出本报文段中的紧急数据的字节数
- 选项:长度可变,最长40B,MSS是TCP报文段中的数据字段的最大长度
- 填充:为了使整个首部长度是4B的整数倍
6. TCP的流量控制
- TCP要求发送方维持一个接收窗口rwnd,接收方将接收窗口大小放在确认报文的“窗口”字段通知发送方
- 发送方总是根据最新收到的rwnd值来限制自己发送窗口的大小
- TCP为每个连接设置一个持续计时器,只要发送方收到对方的零窗口通知就启动持续计时器
- 计时器超时,就发送一个零窗口探测报文段,接收方在确认该报文段时给出窗口值,若窗口仍为0则重新设置该计时器
7. TCP的拥塞控制
- TCP进行拥塞控制的算法有四种:慢开始、拥塞避免、快重传、快恢复
- TCP要求发送方维持一个拥塞窗口cwnd,未出现拥塞就增大窗口,出现拥塞则减小窗口
- 发送窗口的上限值取接收窗口rwnd和拥塞窗口cwnd中小的一个
- TCP连接建立和网络出现超时时:用慢开始和拥塞避免算法
- 当发送方收到3个冗余ACK时:用快重传和快恢复算法
7.1 慢开始和拥塞避免
- 慢开始:先发送少量数据探测,若没有发生拥塞则适当增大拥塞窗口,即由小到大逐渐增加拥塞窗口
- 慢开始的cwnd会随着传输轮次成指数增长,为了防止增长过快需设置一个慢开始门限ssthresh(阈值)
- 当慢开始把cwnd增大到一个规定的ssthresh时,改用拥塞避免算法
- 拥塞避免:让拥塞窗口缓慢增大,cwnd随传输轮次增加而加1,使其按线性规律缓慢增长
- 当发送方判断网络出现拥塞,首先把ssthresh调整为cwnd的一半(不小于2),然后把cwnd重置为1,执行慢开始算法
- 慢开始和拥塞避免算法使用了“乘法减小”和“加法增大”方法
7.2 快重传和快恢复
- 快重传:要求接收方立即发送确认,及时收到了失序的报文段也立即发出对已收到报文段的重复确认
- 发送方一旦收到连续3个冗余ACK(重复确认),就立即重传相应报文段
- 快恢复:发送方收到连续3个冗余ACK,将ssthresh和cwnd都调整为当前cwnd的一半,然后执行拥塞避免算法
8. TCP传送连接的管理
- TCP连接的端口为套接字
- 同一个IP地址可以有多个不同的TCP连接,同一个端口号可以出现在多个不同的TCP连接中
- TCP连接采用客户/服务器模式,主动发起连接的应用进程为客户,被动等待连接建立的应用进程为服务器
8.1 TCP连接的建立
- 连接建立的三个过程,通常被称为“三次握手”
- 第一次握手:客户机向服务器发送TCP连接请求报文段,该报文段SYN=1,选择一个初始序号seq=x。该报文段不能携带数据,但需要消耗一个序号
- 第二次握手:服务器收到连接请求报文后若同意建立连接,向客户机发送确认报文,并为该连接分配缓存和变量。该确认报文中SYN=1,ACK=1,确认号ack=x+1,选择一个初始序号seq=y。该报文段不能携带数据,但需要消耗一个序号
- 第三次握手:客户机收到确认报文后,向服务器发送确认报文,并为该连接分配缓存和变量。该确认报文中ACK=1,确认号ack=y+1,序号seq=x+1。该报文段可以携带数据,不携带数据则不消耗序号
8.2 TCP连接的释放
- 连接释放的四个过程,通常被称为“四次握手”
- 第一次握手:客户机向服务器发送TCP连接释放报文,停止发送数据。该报文段FIN=1,序号seq=u(前面已传送过的数据的最后一个字节的序号+1)
- 第二次握手:服务器收到连接释放报文后发出确认,确认号ack=u+1,序号seq=v(前面已传送过的数据的最后一个字节的序号+1),此时客户机到服务器这个方向的连接完成释放,TCP连接处于半关闭状态
- 第三次握手:若服务器已没有要发送的数据就发送TCP连接释放报文,FIN=1,序号seq=w,必须重复发送上次已发送的确认号ack=u+1
- 第四次握手:客户机收到连接释放报文后发出确认,确认位ACK=1,确认号ack=w+1,序号seq=u+1。服务器收到该报文后进入关闭状态,客户机进入TIME-WAIT状态后,还需经过时间等待计时器设置的2MSL(最长报文段寿命)后才进入关闭状态
- 客户机释放连接的最短时间:1RTT+2MSL;服务器释放连接的最短时间:1.5RTT
六、应用层
1. C/S结构的优点
- 客户/服务器模型(C/S模型):有一个总是打开的主机(服务器)服务于许多来自于其他主机(客户机)的请求
- 服务器可以同时处理多个远程或本地客户的请求
- 服务器可通过对用户权限的限制来达到管理客户机的目的,网络中的管理工作由少数服务器担当,网络的管理非常集中和方便
2. DNS的层次结构
- 域名系统(DNS):因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名转换为IP地址
- 因特网采用层次树状结构的命名方法
- 域名:任何一个连接到因特网的主机或路由器都有一个唯一的层次结构名称
- 域可以被划分为:顶级域、二级域、三级域等
- 每个域名由标号序列组成,标号英文不区分大小写
- 标号中除连字符(-)外不能使用其他标点符号
- 每个标号不超过63个字符,多标号组成的完整域名最长不超过255字符
- 级别最低的域名写在最左边,级别最高的顶级域名写在最右边
- 顶级域名(TLD)分为3类:
- 国家(地区)顶级域名(nTLD):国家和某些地区的域名
- 通用顶级域名(gTLD):常见的如.com(公司)、.net(网络服务机构)、.org(非营利性组织)、.edu(教育机构)、.gov(国家或政府部门)
- 基础结构域名(arpa):用于反向域名解析,即IP地址反向解析为域名
3. 域名服务器的类型
3.1 根域名服务器
- 根域名服务器是最高层次、最重要的域名服务器
- 所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址
- 当本地域名服务器无法解析时,首先求助于根域名服务器,通常告诉本地域名服务器下一步应当查找哪个顶级域名服务器
- 因特网上有13个根域名服务器,用于管辖顶级域
3.2 顶级域名服务器
- 管理在该顶级域名服务器注册的所有二级域名
- 收到DNS查询时,给出最后的结果或下一步应当查找的域名服务器的IP地址
3.3 权限域名服务器(授权域名服务器)
- 每台主机都必须在权限域名服务器处登记
- 许多域名服务器可同时充当本地域名服务器和权限域名服务器
- 权限域名服务器总能将其管辖的主机名转换为该主机的IP地址
3.4 本地域名服务器
- 当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器
4. Internet的应用协议:FTP,MIME,HTTP
4.1 FTP文本传输协议
- FTP提供交互式的访问,允许客户端指明文件的类型与格式,并允许文件具有存取权限
- FTP提供以下的功能:
- 提供不同种类主机系统(软硬件体系等都可以不同)之间的文件传输能力
- 以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
- 以匿名FTP的方式提供公用文件共享能力
- FTP采用客户/服务器的工作方式,使用TCP可靠的传输服务
- 一个FTP服务器进程可同时为多个客户进程提供服务
- FTP服务器进程:一个主进程(负责接收新请求),若干从属进程(负责处理单个请求),主进程与从属进程并发执行
- FTP服务器必须在整个会话期间保留用户的状态信息,必须把指定用户账户与控制连接联系起来
- FTP工作时使用2个并行的TCP连接:控制连接(服务器端口21),数据连接(服务器端口20)
- 控制连接建立在服务器监听端口21,用来传输控制信息(连接请求、传送请求等),在整个会话期间一直保持打开状态
- 服务器收到文件传输请求后,创建“数据传送进程”和“数据连接”,进行文件传送
4.2 MIME多用途因特网邮件扩展
- SMTP只能够传送7位ASCII码文件脚本,当邮件中包含有非ASCII码数据时,需要使用MIME进行转换
- MIME主要包括以下三个部分内容:
- 5个新的邮件首部字段:MIME版本、内容描述、内容标识、传送编码、内容类型
- 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行标准化
- 定义了传送编码,可对任何内容格式进行转换,不会被邮件系统改变
4.3 HTTP超文本传输协议
- HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
- HTTP是面向事务的应用层协议
- HTTP的操作过程:
- 每个万维网站点都有一个服务器进程,不断监听TCP的端口80
- HTTP的特点:
- HTTP使用TCP作为传输层协议,保证数据的可靠传输,HTTP本身是无连接的
- HTTP是无状态的:同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时相同
- HTTP既可以使用非持续连接(HTTP/1.0),也可以使用持续连接(HTTP/1.1)
- HTTP持续连接可分为非流水线和流水线方式:
- 非流水线方式:客户在收到前一个响应后才能发出下一个请求
- 流水线方式:客户可以连续发出对各个对象的请求
- HTTP的报文是面向文本的,每个字段都是一些ASCII码串
- HTTP报文分为:请求报文和响应报文
- HTTP报文的结构:
- 开始行:请求报文(请求行),响应报文(状态行),以空格分隔,“CR”与“LF”表示回车和换行
- 首部行:说明浏览器、服务器或报文主体的一些信息,每行结束都有回车和换行,首部行结束时还有一个空行
- 实体主体:请求报文一般不用这个字段,响应报文中也可能没有这个字段
- 请求报文请求行的“方法”是对所请求对象的操作,以下是一些常用方法:
5. Web页面文档的分类
5.1 静态文档
- 超文本标记语言HTML:一种制作万维网页面的标准语言
- HTML文档是一种可以用任何文本编辑器创建的ASCII码文件
- HTML允许在万维网页面中插入图像
- 内含图像:一个页面本身带有的图像
- 远程链接:链接的终点是其他网站上的页面,要指明链接到的网站的URL
- 本地链接:指向本计算机中的某一个文件或本文件中的某处,要指明链接的路径
- 可扩展标记语言XML:用于标记电子文件,可用来标记数据、定义数据类型,是HTML的补充
- 可扩展超文本标记语言XHTML:是更严格的HTML版本
- 层叠样式表CSS:一种样式表语言,用于为HTML文档定义布局
- 静态文档:在文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中内容不会改变
- 静态文档最大的优点是简单
5.2 动态文档
- 动态文档:文档的内容是在浏览器访问万维网服务器时才有应用程序动态创建的
- 动态文档的主要优点是:具有报告当前最新信息的能力
- 通用网关接口CGI:是一种定义了动态文档如何创建,输入数据如何提供给应用程序以及输出结果如何应用的标准
- CGI程序简称网关程序,正式名字是CGI脚本,又称cgi-bin脚本
5.3 活动文档
- 活动文档:当浏览器请求一个活动文档时,服务器返回一段活动文档程序副本,使该副本程序在浏览器端运行
- 活动文档程序可与用户直接交互,并可连续地改变屏幕的显示
6. 生成动态文档的方法
- 万维网客户端向万维网服务器请求文档
- 万维网服务器启用CGI程序创建动态文档
- 浏览器对CGI程序创建的动态文档进行响应
7. 生成活动文档的方法
- 万维网客户端向万维网服务器请求文档
- 万维网服务器将活动文档程序副本传送给万维网客户端
- 活动文档程序副本在客户端创建出活动文档
8. URL的格式
- 统一资源定位符(URL):负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符
- URL的一般形式:<协议>://<主机>:<端口>/<路径>
- <协议>:指用什么协议来获取万维网文档,常见的如http、ftp
- <主机>:存放资源的主机在因特网中的域名或IP地址
- <端口>/<路径>有时可以省略
- 万维网以客户/服务器模式工作
9. 网络管理系统逻辑模型
- 管理站(管理器):整个网络管理系统的核心,是有着良好图形界面的高性能工作站,由网络管理员直接操作和控制,向被管设备发送命令,所在部门为网络运行中心NOC
- 管理程序:管理站中的关键构件,在运行时称为管理进程
- 管理站(硬件)或管理程序 (软件)都可称为管理者或管理器(不是人,是机器或软件)
- 网络管理员:操作控制网络管理系统的人
- 被管设备:主机、路由器、打印机、集线器、网桥或调制解调器等(包括设备中的软件)
- 一个被管设备中可以有多个被管对象,也会有一些不能被管的对象(不在对象命名树上)
- 被管对象:被管设备中的某个硬件、某些硬件或软件的配置参数集合
- 网络管理代理程序(代理):每个被管设备中运行的用于和管理程序通信的程序
10. 网络管理的主要功能
- 网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能、服务质量等
- 网络管理简称网管
- 网络管理的主要功能包括配置管理、故障管理、性能管理、安全管理和计费管理
11. 被管对象的特性
- 类:被管对象属于网络设备对象类或系统对象类。
- 属性:被管对象拥有的特性参量,包括:IP地址、MAC地址、设备型号、操作系统版本、硬件配置、网络拓扑位置、运行状态、网络流量等。
- 管理操作:可以对被管对象施加的操作,包括:设备配置、软件更新、监控性能、安全策略配置、故障诊断、远程控制等。
- 行为:被管对象对管理操作所做出的反应,包括:设备配置变更、软件更新成功或失败、性能监控数据反馈、安全事件报警、故障诊断结果、远程控制结果等。
- 通报:被管对象可能主动发出的报告类信,包括:设备状态变化通知、性能监控数据上报、安全事件报告、故障自愈报告、运维工单提交等。
12. SNMP的基本元素
- 简单网络管理协议SNMP中的管理程序和代理程序按客户/服务器模式工作
- SNMP网络管理的3部分:SNMP本身、管理信息结构SMI、管理信息库MIB
- 管理程序运行SNMP客户程序,代理程序运行SNMP服务器程序
- SNMP:定义了管理站和代理之间所交换的分组格式,读取和改变各代理中的对象名及其状态数值
- SMI:定义了命名对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的规则
- MIB:在被管理的实体中创建了命名对象,并规定了其类型
13. SNMPv3的安全模式
- 只有被授权的人员才有资格执行网络管理的功能(如关闭某一条链路)和读取有关网络管理的信息(如读取一个配置文件的内容)
- 基于用户的安全模式(USM)
- 基于视图的访问控制模式(VACM)
七、网络安全
1. 网络面临的4种威胁:截获、中断、篡改、伪造
- 截获:指攻击者从网络中窃听他人的通信内容(被动攻击)
- 攻击者只是观察和分析某一个协议数据单元PDU
- 观察协议控制信息部分,了解正在通信的协议实体的地址和身份,研究PDU的长度和传输频度
- 这种被动攻击也被称为流量分析
- 篡改:攻击者故意篡改网络上传送的报文
- 中断:攻击者彻底中断传送的报文
- 伪造:把完全伪造的报文传送给接收方
2. 替代加密和置换加密
- 替换加密法:将明文消息的字符替换成另外一个字符、数字或者符号
- 置换加密法:和替换加密法不同,不简单的把字母或字母块替换成为另外的字母或字母块,而是对明文字母进行某种置换与组合
3. 秘密密钥加密算法:DES(明文位数、密钥位数、分组密码)
- 对称密钥密码体系:加密密钥和解密密钥都使用相同密钥的密码体制
- 数据加密标准DES属于对称密钥密码体制
- DES是一种分组密码
- DES的加密过程:
- 在加密前先对整个明文进行分组,每一个组为64位的二进制数据
- 对每一个64位二进制数据进行加密产生一组64位密文数据并将各组拼接
- 密钥占64位,其中实际密钥长度为56位,8位用于奇偶校验
- DES的机密性仅取决于对密钥的保密,算法是公开的
4. 公开密钥算法的特点
- 公钥密码体制由Diffie和Hellman在1976年提出
- 公钥密码体制:使用不同的加密密钥与解密密钥(非对称密钥密码体制)
- 加密密钥PK(公钥)是向公众公开的,解密密钥SK(私钥或密钥)是需要保密的
- 密钥对产生器产生出接收者的一对密钥,加密密钥PK与解密密钥SK
- 从加密密钥PK到解密密钥SK是“计算上不可能的”
- 公钥可用来加密,但不可用来解密
- 先后对X进行D运算和E运算或进行E运算和D运算,结果都是一样的
- 在通信信道上可以是多对一的单向保密通信
- 任何加密方法的安全性取决于密钥长度,以及攻破密文所需的计算量
5. 公开密钥加密算法:RSA
- RSA体制:一种基于数论中的大数分解问题的体制
6. 数字签名
- 数字签名过程:A用其私钥对报文X进行D运算,将得到的密文传送给B,B用A的公钥进行E运算核实签名
- 不可否认:发送者时候不能抵赖对报文的签名
- 报文鉴别:接受者能够鉴别报文的发送者,也能鉴别报文的完整性
- 鉴别报文的完整性:接收者确信所受到的数据和发送者发送的完全一样而没有被篡改过
八、视频、音频与无线网络
1. RTP、RTCP、Qos等的概念
1.1 RTP实时运输协议
- RTP为实时应用提供端到端的运输,但不提供任何服务质量的保证
- 多媒体数据块被封装为RTP分组后装入UDP用户数据报向下递交给IP层
- RTP是一个协议框架,并不对多媒体数据块做任何处理,而只是向应用层提供一些附加的信息,让应用层知道应当如何处理
- RTP可以看作应用层协议也可看作是运输层协议
- RTP分组只包含RTP数据,RTP在端口号1025~65535之间选择一个未使用的偶数UDP端口号,同一次会话中的RTCP则使用下一个奇数UDP端口号,默认为5004与5005
- 有效载荷类型:占7位,指出后面的RTP数据属于何种格式的应用
- 序号:占6位,每发出一个RTP分组序号加1,在一次RTP会话开始时随机,能够发现丢失的分组,同时也能将失序的RTP分组重新按序排好
- 时间戳(媒体时间戳):占32位,反映了RTP分组中数据的第一个字节的采样时刻,在一次会话开始时随机。接收端可准确知道应当在什么时间还原哪一个数据块,以消除时延抖动,还可使视频应用中的声音和图像同步。
- 同步源标识符SSRC:占32位,标志RTP流的来源,在新RTP流开始时随机产生。SSRC可使接收端的UDP能够将收到的RTP流送到各自的终点。
- 参与源标识符CSRC:占32位,最多15个,标志来源于不同地点的RTP流。在多播环境中,在目的站可根据CSRC将不同的RTP流从发往同一个地点的RTP混合流中分开
- 参与源数:占4位,CSRC的数目
- 版本:占2位,当前为2
- 填充P:占1位:对某些应用数据块加密时要求一个数据块有确定的长度
- 扩展X:占1位,X=1表示此RTP首部的后面还有扩展首部
- 标记M:占1位,M=1表示这个RTP分组具有特殊意义
1.2 RTCP实时运输控制协议
- RTCP是与RTP配合使用的协议,也是RTP协议不可分割的部分
- RTCP的主要功能:服务质量的监视与反馈、媒体间的同步、多播组中成员的标志
- 多个RTCP分组可封装在一个UDP用户数据报中
- RTCP分组带有发送端和接收端对服务质量的统计信息报告(例如:已发送的分组数和字节数、分组丢失率、分组到达时间间隔的抖动等)
类型 | 缩写表示 | 意义 |
---|---|---|
200 | SR | 发送端报告 |
201 | RR | 接收端报告 |
202 | SDES | 源点描述 |
203 | BYE | 结束 |
204 | APP | 特定应用 |
1.3 Qos服务质量
- 服务质量Qos是服务性能的总效果,此效果决定了一个用户对服务的满意程度
- 服务质量可用若干基本的性能指标来描述,包括:可用性、差错率、响应时间、吞吐量、分组丢失率、连接建立时间、故障检测和改正时间等
2. 时延、时延抖动等的处理
- 通过缓冲区缓存后再以恒定速率读出,变成等时的分组,很大程度上消除了时延的抖动,但增加了时延
- 使用UDP协议,允许丢失少量分组来保证时延
- 在分组中加上序号与时间戳,结合适当的算法,可以在一定程度上减少时延,消除时延抖动
3. WLAN、WPAN、WMAN、WLL的概念
- WLAN:无线局域网(Wireless Local Area Network)
- WPAN:无线个人区域网(Wireless Personal Area Network)就是在个人工作地方把属于个人使用的电子设备用无线技术连接起来自组网络,不需要使用接入点AP,整个网络范围约为10m。
- WMAN:无线城域网(Wireless Metropolitan Area Network)
- WLL:无线本地环路,是广泛应用的一种无线接入技术,是一种利用无线电技术向固定电信用户提供电信业务的无线接入技术
4. 无线局域网的DCF和PCF
4.1 分布协调功能DCF
- 不采用任何中心控制,在每个节点使用CSMA的分布式接入算法,让各个站通过争用信道来获取发送权
- 802.11标准规定所有的实现都必须有DCF功能(目前大量使用)
- 短帧间间隔SIFS:数据帧DATA发送完后的滞后时间(进行CRC检验)
- 分布协调功能帧间间隔DIFS:用于判断信道是否空闲(比SIFS长2个时隙)
- 从A站发送数据帧DATA开始,到收到确认ACK为止的时间:DATA+SIFS+ACK
4.2 点协调功能PCF
- PCF是选项,用接入点AP集中控制整个BSS内的活动
- PCF使用集中控制的接入算法,用类似于探询的方法把发送数据权轮流交给各个站,避免碰撞产生
5. CSMA/CA协议的原理
- 载波监听多路访问/碰撞避免CSMA/CA协议:协议的设计是要尽量减少碰撞发生的概率,用于无线局域网
5.1 CSMA/CA的工作流程
- 站点在发送数据前先监听信道,若信道在DIFS内均为空闲,则发送整个数据帧
- 站点选择一个随机数设置退避计时器
- 若信道忙:冻结退避计时器,等待直至信道空闲(推迟接入)
- 若信道空闲,并在DIFS内均空闲:争用信道,开始倒计时,当计时器为0时站点发送整个数据帧
- 站点收到确认帧后若还有后续帧发送则执行上一步;若设定时间内未收到确认则准备重传并执行上一步,随机数会在更大的范围选择
5.2 信道监听
- 用软件实现的虚拟载波监听:
- A站把要占用信道的时间(DATA+SIFS+ACK)写入DATA的首部(以微妙为单位)
- 所有在广播范围内的站收到后创建自己的网络分配向量NAV(指出信道忙的持续时间)
- 用物理层硬件实现载波监听:每个站检查收到的信号强度是否超过一定的门限数值
5.3 争用信道过程
- 所有推迟接入的站,都必须在争用期执行统一的退避算法开始公平地争用信道
- 争用期(争用窗口CW):由许多时隙组成
- 退避计时器设置:站点在进入争用期时,在0~CW个时隙中随机生成一个退避时隙数
- 802.11标准建议CW的最小值为15,最大值为1023
- 第5次及5次以上重传时,争用窗口CW不再增大
- 发送数据必须经过争用期的情况:
- 要发送数据时检测到信道忙
- 已发出的数据帧未收到确认,重传数据帧
- 接着发送后续的数据帧
5.4 对信道进行预约
- 请求发送RTS:在A站向AP发送DATA前,告诉所有能收到RTS的站“要占用信道SIFS+CTS+SIFS+DATA+SIFS+ACK的时间”,时间写在RTS的首部中
- 允许发送CTS:在AP正确收到RTS并经过SIFS后,向A站发送一个控制帧告诉A站“允许发送数据”,同时告诉所有能够收到CTS的站“A站和我通信SIFS+DATA+SIFS+ACK的时间”,时间写在CTS的首部中
- 无线局域网的MAC帧长一般应当短些,以便在出错重传时减小开销
九、下一代因特网
1. IPv6的特点
- 更大的地址空间:IPv6的地址长度为128位
- 扩展的地址层次结构
- 灵活的首部格式:IPv6定义了许多可选的扩展首部
- 改进的选项:选项放在有效载荷中,是灵活可变的。
- 允许协议继续扩充:IPv6允许不断扩充功能
- 支持即插即用(自动配置):IPv6不需要使用DHCP
- 支持资源的预分配:IPv6支持实时音/视频等要求保证一定带宽和时延的应用
- IPv6只有源主机才能分片,是端到端的
- IPv6首部长度是固定的40B
- 增大了安全性:身份鉴别和保密功能是IPv6的扩展首部
2. P2P技术的特点
- 对等连接方式P2P:两台主机在通信时,并不区分哪一个是服务请求方和哪一个是服务提供方
- P2P模型从本质上来看依旧采用客户/服务器模式
- 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点上,因此大大提高了系统利用率和资源利用率
- 多个客户机之间可以直接共享文档
- 可扩展性好,传统服务器有响应和带宽限制
- 网络健壮性强,单个结点的失效不会影响其他部分的结点
- 会占用较多的内存,影响整机速度
3. 标记交换的原理
- 每个分组携带一个叫做“标签”的小整数,当分组到达标签交换路由器时,交换机读取分组的标签,并用标签值来检索分组转发表
- 在MPLS域的入口处,在给每一个IP数据报打上标签后,对打上标签的IP数据报根据标签在数据链路层用硬件进行转发
- 标签交换路由器LSR:同时具备标签交换和路由选择2种功能
- MPLS域中的各LSR使用专门的标签分配协议LDP交换报文
- 显式路由选择:由入口LSR 确定进入MPLS 域以后的转发路径
- 标签交换路径LSP:根据特定标签确定的相对应路径
- 分类:给IP数据报打上标签的过程(在MAC帧首部和IP数据报首部之间插入一个4字节的MPLS首部)
- 一个标签仅仅在两个标签交换路由器LSR之间才有意义
- 标签对换:经过LSR时把入标签更换为出标签
- 转发等价类FEC:路由器按照同样方式对待的IP数据报集合
- 属于同样FEC的IP数据报都指派同样的标签,FEC与标签一一对应
4. MPLS的封装
- 携带MPLS标签的数据报,以太网的类型字端在单播时设置为8847,多播时设置为8848
- 标签值:占20位,最多可同时容纳2^20(1048576)个流
- 试验:占3位,保留用于试验
- S:占1位,表示栈,在有“标签栈”时使用
- 生存时间TTL:占8位,防止MPLS分组在MPLS域中兜圈子
5. 标记分配的方式(书无)
- 独立控制方式:LSR无需等待来自下游的标签映射,即可自主为FEC分配标签
- 有序控制方式:LSR必须先收到FEC下一跳的标签映射消息,或者该LSR就是此FEC的出节点时,该LSR自己才会为FEC分配标签
6. 与以路由器作为核心网络平台的技术相比,MPLS的主要优点
- 支持面向连接的服务质量
- 支持流量工程,均衡网络负载
- 有效地支持虚拟专用网VPN
- 转发处理简单
- 提供显式路由功能
- 能够进行业务量规划
- 提供QoS保证
- 入口一次完成业务流分类
- 提供多种分类细度
- 用一种转发方式实现各种业务的转发(包括单播、组播和有特定质量要求的单播等)
7. Intserv的局限性
- 状态信息的数量与流的数目成正比:在大型网络中,按每个流进行资源预留会产生很大的开销
- Intserv体系结构复杂:要得到有保证的服务,所有路由器都必须装有RSVP、接纳控制、分类器和调度器
- 综合服务Intserv所定义的服务质量等级数量太少,不够灵活
8. DiffServ的体系结构
- 区分服务DS:将IPv4中的8位服务类型字段/IPv6中的通信量类字段重新定义为8位DS字段
- 路由器根据DS字段的值来处理分组的转发,利用DS字段的不同数值可提供不同等级的服务质量
- 区分服务码点DSCP:DS字段目前只使用的前六位
- 服务等级协定SLA:物联网ISP和用户商定的被支持服务类型(包括吞吐量、分组丢失率、时延和时延抖动、网络的可用性等)和每一类别所容许的通信量
- DiffServ将所有的复杂性放在DS域的边界节点中,而使DS域内部路由器工作得尽可能简单
- 边界路由器可分为:分类器和通信量调节器(可细分为标记器、整形器、测定器)
- 分类器:根据分组首部中的一些字段对分组进行分类
- 标记器:根据分组的类别设置DS字段的值,根据该字段的值使分组得到相应服务
- 整形器:设有缓存队列,可将突发的分组峰值速率平滑为较均匀的速率,或丢弃一些分组
- 测定器:根据事先商定的SLA不断地测定分组流的速率
- DiffServ提供了一种聚合的功能:把若干个流根据DS值聚合成少量的流,路由器对相同DS值的流按相同优先级进行转发,大大简化了网络内部的路由器的转发机制
- 每跳行为PHB:此时的行为只涉及本路由器转发的这一跳行为,分为迅速转发PHB和确保转发PHB:
- 迅速转发PHB(EF PHB/EF):离开一个路由器的通信量的数据率必须大于等于某一数值,用于构造通过DS域的一个低丢失率、低时延、低时延抖动、确保带宽的端到端服务。DSCP为101110
- 确保转发PHB(AF PHB/AF):用DSCP的0~2位划分通信量4个等级(001、010、011、100),给每种等级提供最低数量的带宽和缓存空间,用DSCP的3~5位划分出3个“丢弃优先级”(从低到高为010、100、110)
9. DiffServ的技术特点
- 层次化结构
- 总体集中控制策略
- 利用面向对象的模块化思想与封装思想,增强了灵活性与通用性
- 不影响路由
10. SDN网络
10.1 SDN概述
- 软件定义网络SDN:是一个体系结构,核心是把网络的控制层面和数据层面分离,控制层面通过一种协议(最常用的是OpenFlow)实现对数据层面的控制
- 这种控制是基于流的控制,在逻辑上是集中式的
- OpenFlow的技术规范由开放网络基金会ONF负责制定
10.2 数据层面
- 传统意义的转发分为:匹配(查找转发表中的网络前缀并进行最长前缀匹配)+动作(把分组从指明的接口转发出去)
- SDN的广义转发-匹配:能够对不同层次(链路层、网络层、运输层)的首部中的字段进行匹配
- SDN的广义转发-动作:不仅是转发分组,还可以把具有同样目的地址的分组从不同的接口转发出去(负载均衡),还可以重写IP首部,或者可以人为地阻挡或丢弃一些分组
- SDN的广义转发中,由分组交换机完成“匹配+动作”的设备,由流表取代传统转发表
- OpenFlow交换机中的流表是由远程控制器来管理
- 流表项包含三个字段:首部字段值(匹配字段)、计数器和动作
- 首部字段值:用来使入分组的对应首部与之相匹配,匹配不上的分组就丢弃,或发送到远程控制器做更多的处理
- 计数器:包括已经与该表项匹配的分组数量,以及从该表项上次更新到现在经历的时间
- 动作:当分组分配某个流表项时把分组转发到指明的端口,或丢弃该分组,或把分组进行复制后再从多个端口转发出去,或重写分组的首部字段
10.3 控制层面
- 控制层面包含两个构件:SDN控制器(网络操作系统)、若干个网络控制应用程序
- 网络控制应用程序:对底层的许多网络设备进行监视、编程和控制
- SDN控制器:维护准确的网络状态信息(远程链路、交换机和主机的状态等),把这些信息提供给运行在控制层面的各种控制应用程序,并提供一些方法
- 通信层:完成SDN控制器与受控的网络设备之间的通信,通信层与数据层面的接口称为南向API接口
- 网络范围的状态管理层:控制层面的最终目的是确定各种被控设备的流表,控制器需要维护这些流表的副本以及所需的状态信息
- 到网络控制应用程序层的接口:完成与网络控制应用程序的通信,接口称为北向API接口
10.4 SDN体系四个关键特征
- 基于流的转发:所有交换机中的流表项,都是有SDN控制器进行计算、管理和安装的
- 数据层面与控制层面分离:数据层面有许多相对简单但快速的网络交换机,控制层面则由若干服务器和相应的软件组成,这些服务器和软件决定并管理这些交换机中的流表
- 位于数据层面交换机之外的网络控制功能:SDN的控制层面是用软件实现的
- 可编程的网络:控制层面使用的是网络控制应用程序,可以进行接入控制和执行负载均衡的措施
参考文献
- 《计算机网络》(第 8 版),谢希仁,电子工业出版社,2021 年。
- 《计算机网络释疑与习题解答》,谢希仁,电子工业出版社,2021年。
- 《2025年计算机网络考研复习指导》,王道论坛组编,电子工业出版社,2024年。
Written by MoCo