计算机网络(更新中)
1 计算机网络概述
1.2 计算机网络的组成和功能
1.2.1 计算机网络的组成
从组成部分看
- 拓展:网络适配器
从工作方式看
核心部分为边缘部分提供了连通性和交换服务
连通性:边缘部分主机是相互连通的
交换服务:当一个数据包想从一个网络中的\(A\)点传送到\(B\)点的时候,计网的核心部分会为数据包选择一个合适的路径进行传送(动态选择数据在网络传送的路径以免网络中的各条线路负载太重)——核心设备路由器
从逻辑功能看
1.2.2 计算机网络的功能
数据共享:
分布式处理:
提高可靠性:
负载均衡:
1.3 三种交换技术
1.3.1 电路交换 - 用于电话网络
通过物理线路的连接,动态的分配传输线路的资源
优点:
- 通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部时间内,两个用户始终占用端到端的线路资源。数据直送,传输效率高
缺点:
-
建立/释放连接,需要额外的时间开销
-
线路被通信双方独占,利用率低
-
线路分配的灵活性差
-
交换节点不支持“差错控制”(无法发现传输过程中的发生的数据错误)
1.3.2 报文交换 - 用于电报网络
优点:
-
通信前无需建立连接
-
数据以报文为单位被交换节点间“存储转发”,通信线路可以灵活分配
-
在通信时间内,两个用户无无需独占一整条物理线路。相比于电路交换,线路利用率高
-
交换节点支持“差错控制”(通过校验技术)
缺点:
-
报文不定长,不方便存储转发管理
-
长报文的存储转发时间开销大,缓存开销大
-
长报文容易出错,重传代价高
1.3.3 分组交换 - 用于现代计算机网络
优点:
-
通信前无需建立连接
-
数据以分组为单位被交换节点间“存储转发”,通信线路可以灵活分配
-
在通信时间内,两个用户无无需独占一整条物理线路。相比于电路交换,线路利用率高
-
交换节点支持“差错控制”(通过校验技术)
相比于报文交换,分组交换改进了如下问题:
-
分组定长,方便存储转发管理
-
分组的存储转发时间开销小,缓存开销小
-
分组不易出错,重传代价低
缺点:
-
相比于报文交换,控制信息占比增加
-
相比于电路交换,依然存在存储转发时延
-
报文被拆分为多个分组,传输过程中可能出现失序,丢失等问题,增加处理的复杂度
1.3.4 三种交换方式性能对比
电路交换性能分析
报文交换性能分析
分组交换性能分析
三者对比
1.4 计算机网络的分类
按分布范围分类
按传输技术分类
按拓扑结构分类
前三种多用于局域网,最后一种多见于广域网
按使用者分类
公用网:向公众开放的网络。如:办宽带,交手机话费即可使用的互联网
专用网:仅供某个组织内部使用的网络。如:政府,军队,电力,银行等内部网络
按传输介质分类
有线网络:如网线,光纤
无线网络:5G,WIFI,卫星
总结
1.5 计算机网络性能指标
速率
- 定义:
指连接到网络上的节点在信道上传输数据的速率。也称数据率或比特率,数据传输速率
- 单位:
\(B代表字节,1B = 8bit。bit/s,或b/s,或bps\)
\(1.8MB/s = 1.8 * 10^6 * 8 b/s\)
- 计算机网络中常用的数据前缀:
\(K(10^3) M(10^6) G(10^9) T(10^12)\)
- 信道(\(Channel\)):
表示向某一方向传送信息的通道(信道 \(\neq\) 通信线路)一条通信线路在逻辑上往往对应一条发送信道和一条接收信道
带宽
-
定义1:某信道所能传送的最高数据率
-
定义2:在《通信原理》中,带宽表示某信道允许通过的信号范围。单位:HZ
结论:节点间通信实际能达到的最高速率,由带宽,节点性能共同限制
吞吐量
- 定义:指单位时间内通过某个网络(或信道,接口)的实际数据量
吞吐量受带宽限制,受复杂的网络负载情况影响
时延Delay
指数据(一个报文或文组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。有时也称为延迟或迟延
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
时延带宽积
-
时延带宽积 = 传播时延 * 带宽
-
含义:一条链路中,已从发送端发出但尚未到达接收端的最大比特数
往返时延RTT
- 定义:表示从发送方发送完数据,到发送方收到来自接受方的确认总共经历的时间
信道利用率
- 定义:某个信道有百分之多少的时间是有数据通过的
信道利用率 = 有数据通过的时间 / (有数据通过的时间 + 没有数据通过的时间)
注意:
信道利用率不能太低,浪费资源,但也不能太高,容易导致网络堵塞
1.6 计算机网络分层架构
各层之间的关系
-
实体:在计算机网络的分层结构中,第n层中的活动元素:软件 + 硬件 通常称为第n层实体。不同机器上的同一层称为对等层,同一层的实体称为对等实体
-
协议:即网络协议,是控制对等实体之间进行通信的规则的集合,是水平的
-
接口:即同一节点内相邻两层的实体交换信息的逻辑接口,又称服务访问点
-
服务:服务是指下层为紧邻的上层提供的功能调用,它是垂直的
为什么要分层?为什么要指定协议?
计算机网络功能复杂,采用分层结构,将诸多功能合理地划分在不同层次,对等层之间指定协议,以实现功能
协议数据单元(\(PDU\)):对等层之间传送的数据单位。第\(n\)层的\(PDU\)记为\(n-PDU\)
服务数据单元(\(SDU\)):为完成上一层实体所要求的功能而传送的数据。第\(n\)层的\(SDU\)记为\(n-SDU\)
协议控制信息(\(PCI\)):控制协议操作的信息,第\(n\)层的\(PCI\)记为\(n-PCI\)
协议的三要素
协议由语法,语义,同步三部分组成(协议的三要素)
1)语法,数据与控制信息的格式。例如,协议控制信息(首部)部分占几个字节,每个字节是什么含义;协议的数据部分最多有多少字节
2)语义:即需要发出何种控制信息,完成何种动作及做出何种应答。例如,协议中需要明确规定:发送方发完数据后,接收方是否需要“应答”,以及应答的种类有哪些(如:传输成功,传输失败)
3)同步(或时序):执行各种操作的条件,时序关系等,即事件实现顺序的详细说明。例如发送方发完数据后,接收方需要立刻应答。如果发送方在10秒内未收到“传输成功”应答,则发送方会再次发送数据
1.7 OSI参考模型
1层物理层
任务:实现相邻节点之间的比特(0/1)的传输
- 需定义电路接口参数(如:形状,尺寸,引脚数等)
- 需定义传输信号的含义,电气特征(如:5V表示1,1V表示0;每比特电信号持续时间0.1ms)
2层链路层
任务:确保相邻节点之间的链路逻辑上无差错
- 差错控制:检错 + 纠错; 或 检错 + 丢弃 + 重传
- 流量控制:协调两个节点的速率
3层网络层
任务:把分组从源结点转发到目的结点。
-
路由选择:构造并维护路由表,决定分组到达目的节点的最佳路径
-
分组转发:将分组从合适的端口转出去
-
拥塞控制:发现网络堵塞,并采取措施缓解拥塞
-
网际互联:实现异构网络互联
-
其他功能:差错控制,流量控制,连接建立和释放,可靠传输管理
4层传输层
任务:实现端到端通信(即实现进程到进程的通信,端即端口)
-
复用和分用:发送端几个高层实体复用一条底层的连接,在接收端再进行分用
-
其他功能:差错控制,流量控制,连接建立和释放,可靠传输管理
5~7层
应用层:实现特定的网络应用
表示层:解决不同主机上信息表示不一致的问题
会话层:管理进程间会话
总结
1.8 TCP/IP模型
2 物理层
2.1 通信基础概念
信源:信号的来源(即数据的发送方)
信宿:信号的“归宿”(即数据接收方)
信道:即信号的通道
数据:即信息的实体(如:文字,声音,图像),在计算机内部数据通常是二进制
信号:数据的载体
-
数字信号:信号值是离散的
-
模拟信号:信号值是连续的
码元:一个“信号周期”内可能出现几种信号?
-
每一类信号就是一个码元
-
码元宽度指一个信号周期的长度
-
若一个周期可能出现K种信号,就是K进制码元 一码元 携带\(log_2Kbit\)
速率:
-
波特率:每秒传输几个码元。单位:码元/秒,或波特(\(Baud\))
-
比特率:每秒传输几个比特。单位:\(bit/s,或b/s,bps\)
2.2 信道的极限容量
噪声
对信道产生干扰,影响信道的数据传输效率
奈奎斯特定理
对一个理想低通信道(没有噪声,带宽有限的信道)
极限波特率 = \(2W\)(单位:波特,即码元/秒)
W是信道的频率带宽(单位:HZ)
极限比特率 = \(2W log_2Kb/s\)
例题:
香农定理
对于一个有噪声,带宽有限的信道
极限比特率 = \(Wlog_2 (1 + S/N)\) 单位:\(b/s\)
S/N信噪比 = 信号的功率 / 噪声的功率 (无单位)
你讲话的声音功率S = 100瓦
舍友背单词的声音功率 N = 5瓦
信噪比 = S / N = 100 / 5 = 20
注:
-
信噪比越高,噪声对数据传输的影响越小
-
在通信领域信噪比往往很大,采用无单位会很不方便,所以采用\(dB\)(分贝)为单位表示信噪比
-
信噪比 = $10log_{10} S/N $ 类似一种科学计数法
-
计算时一定要带入无单位记法
对比
奈奎斯特:
-
如果波特率太高,导致“码间串扰”,即接收方无法识别码元
-
带宽越大,信道传输码元能力越强
-
奈奎斯特定理并未对一个码元最多可以携带多少比特做出解释
香农
-
提高信道带宽,加强信号功率,降低噪声功率,都可以提高信道的极限比特率
-
结合奈奎斯特定理,可知,在带宽,信噪比确定的信道上,一个码元可以携带的比特数是有上限的
2.3 编码和调制
变换器:将二进制数据转换为信号
反交换器:将信号转换成二进制数据
常用编码技术:
- 自同步能力:信源和信宿可以根据信号完成“节奏同步”,无需时钟信号
常用的调制方法
QAM
AM与PM的结合,形成叠加信号,若有\(xm\)种振幅,\(n\)种相位,则1码元 = \(log_2mnbit\)
补充:QAM - 16的含义是“采用QAM调制技术,有16种码元
2.4 传输介质
分类
双绞线
示例:
同轴电缆
示例:
光纤
单/多膜光纤:
以太网对有线传输介质的命名规范
无线传输介质
物理层接口的特性
2.5 物理层设备
中继器
总结
3 数据链路层
总览
3.1 数据链路层所处的地位
-
数据链路层使用物理层提供的“比特传输”服务
-
数据链路层为网络层提供服务,将网络层的IP数据报(分组)封装成帧,传输给下一个相邻节点
物理链路:传输介质(0层)+ 物理层(1层)实现了相邻节点之间的“物理链路”
逻辑链路:数据链路层需要基于“物理链路”,实现相邻结点之间逻辑上无差错的“数据链路(逻辑链路)”
3.2 封装成帧(组帧)
主要问题:
-
帧定界
-
透明传输
组帧方法:
字符计数法
-
原理:在每个帧的开头,用一个定长计数字段表示帧长
-
最大缺点:任何一个计数字段出错,都会导致后续所有帧无法定界
注:帧长 = 计数字段长度 + 帧的数据部分长度
字节填充法
- 原理:在帧的首尾添加控制字符SOH和EOT,如果数据部分出现SOH和EOT时候要在前面添加转义字符ESC,数据接收方在处理的时候会忽略ESC并保留后一字节的数据
零比特填充法
- 原理:见图
违规编码法
- 原理:见图
3.3 差错控制
检错编码
奇偶校验
偶校验硬件实现:
总结:
循环冗余校验码(CRC码)
基本原理:
数据发送,接受方约定一个“除数”
K个信息位 + R个校验位 作为 “被除数”,添加校验后需保证除法的余数为0
收到数据后,进行除法检查余数是否为\(0\)
若余数非\(0\)说明出错,则进行重传或纠错
求CRC码:
- 确定K,R以及生成多项式对应的二进制码(除数)
R = 生成多项式最高次幂 = 3
多项式 $G(x) = 1 * x^3 + 1 * x^2 + 0 * x^1 + x^0 * 1$
对应除数二进制形式 = $1101$
-
移位:信息码左移R位,低位补0
-
相除:对移位后的信息码,用生成多项式进行模2除法,产生余数
所以校验位 = \(001\)
对应的\(CRC\)码 = \(101001 001\)
- 检错和纠错
发送:\(101001001\) 记为\(C_9C_8C_7C_6C_5C_4C_3C_2C_1\)
接受:\(101001001\) 用\(1101\)进行模\(2\)除,余数为\(000\)代表没有出错
接收:\(101001011\) 用\(1101\)进行模\(2\)除,余数为\(010\)代表有出错(但不能说明\(C_2\)出错)
K个信息位,R个校验位,若生成多项式选择得当,且2^R >= K + R + 1,则CRC可纠正1位错
纠错编码
海明校验码
基本思想:
分组偶校验,多个校验位可反映出错位置
求解步骤:
- 确定校验位个数(\(k\)个校验位,\(n\)个信息位)
确定k大小的原则\(2^k >= n + k + 1\)
- 确定校验位分布
-
\(p_1,p_2,p_3\)...分别在\(1,2,4,8,16\)
-
空出来的其他位置依次填入信息位
- 求校验位
-
将信息位的位置序号用k位二进制表示出来
-
校验位\(p_i\)与位置序号第\(i\)位为\(1\)的信息位归同一组,进行偶校验
- 纠错
-
对\(p_1,p_2,p_3\)..所属各分组进行异或(相当于分组偶校验),求得\(S_1,S_2,S_3\)
-
\(S_3 S_2 S_1 = 000\) 说明无错误
-
\(S_3 S_2 S_1 \neq 000\),则其值反映出错位置
- 补充
3.4 流量控制,可靠传输与滑动窗口机制
滑动窗口机制
发送,接收窗口
三种协议的信道利用率分析
S-W协议的信道利用率
如果确认帧非常短,那么T_A为0(即确认帧传输时延为0)
GBN,SR信道利用率
术语补充
3.5信道划分介质访问控制
介质访问控制(MAC):解决多个节点共享同一个总线型广播信道时,可能发生“信号冲突”
时分复用(TDM)
将时间分为等长的“\(TDM\)帧”,每个\(TDM\)帧又分为等长的\(m\)个“时隙”,将\(m\)个时隙分配给\(m\)对用户(节点)使用
缺点:
-
每个节点最多能分配到信道总带宽的1 / \(m\),
-
如果某节点暂不发送数据,会导致被分配的时隙闲置,信道利用率低
根据以上缺点可以统计每个节点对信道的使用需求,动态按需分配时隙由此引出以下的复用方法
统计时分复用(STDM)——— 又称异步时分复用
在TDM的基础上,动态按序分配时隙
优点:
-
如果需要时,一个节点可以在一段时间内获得所有信道带宽资源
-
如果某节点暂不发送数据,可以不分配时隙,信道利用率更高
频分复用(FDM)
是将信道的总频带划分为多个子频带,每个子频带,每个子频带作为一个子信道,每对用户使用一个子信道进行通信
优点:各节点可同时发送信号,充分利用了信道带宽
缺点:FDM技术只能用于模拟信号的传输
波分复用(WDM)
码分复用
3.6 随机访问介质控制
ALOHA
CSMA(载波监听)
\(CSMA\)协议在\(ALOHA\)协议基础上提出改进:在发送数据之前,先监听信道是否空闲,只有信道空闲时,才会尝试发送
节点的网络适配器需要安装“载波监听装置”
1-坚持CSMA协议
非坚持CSMA协议
p-坚持CSMA协议
CSMA/CD
流程:
争用期:
最短帧长:
CSMA/CA
为什么不采用CSAM/CD协议
-
硬件上很难实现“边听边发,冲突检测” —— 因为接收信号的强度往往远小于发送信号的强度,且在无线介质上信号强度的动态变化范围很大
-
存在“隐蔽站”问题 ———— 在无线通信中,并非所有站点都能够听见对方。发送结点处没有冲突并不意味着在接收结点处就没有冲突
- AP:接入点,也就是你平时连接的无线WIFI热点
协议要点
隐藏站问题
令牌传递协议
3.7 局域网
802.3工作组:以太网技术
802.11工作组:Wi-Fi技术
802.1Q:VLAN虚拟局域网
局域网基本概念与体系结构
局域网特点:
-
覆盖较小的地理范围
-
较低的时延和误码率
-
局域网内的各节点之间以帧为单位进行传输
-
支持单播,广播,多播
单播:如A -> B
广播(一对全部发送帧):如A -> B + C + D + E + F + G
多播(一对部分发送帧):如A -> B + D + E
局域网分类:
关注三要素:
- 拓扑结构
- 传输介质
- 介质访问控制方式
- 有线局域网
(1)令牌环网
(2)以太网
- 无线局域网(WLAN)
(1)环形
(2)同轴电缆/双绞线
(3)令牌传递协议