通信知识点总结
概述
时延
- 发送时延:主机或路由器发送数据帧所需要的时间
$发送时延=\frac{数据帧长度}{信道带宽}$
- 传播时延:指电磁波在信道中传播一定距离所花费的时间
$传播时延=\frac{信道长度}{信道传输速率}$
- 处理时延:主机或网络结点(路由器或交换机) 处理分组所花费的时间
- 排队时延:分组进入网络结点后,需先在输入队列中排队等待处理,以及处理完毕后在输出队列中排队等待转发的时间,分组丢失时排队时延为无穷大
- 总时延 = 发送时延 + 传播时延 + 处理时延+ 排队时延
往返时间
从发送端发送数据开始,到发送端收到来自接收端的确认应答所经历的全部时间。如果接收端收到数据后立即发送确认,这相当于传播时延的两倍
时延带宽积和利用率
- $时延带宽积=传播时延\cdot带宽$
- 信道利用率:指在规定时间内信道上用于传输数据的时间比例。完全空闲的信道的利用率是零
- 网络利用率:指全网络的信道利用率的加权平均值
$D=\frac{D_0}{1-U}$ (D0 表示网络空闲时的时延,D 表示网络当前的时延。U 表示信道利用率)
网络模型
OSI:
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
TCP/IP协议:
- 应用层
- 传输层(TCP/UDP)
- 互联网层(IP)
- 网络接口层
五层协议:
- 应用层:确定进程间通信的性质以满足用户的需求,直接为应用进程提供服务
- 传输层:负责主机中两个进程之间的通信(端到端通信)
- 网络层:负责为分组交换网上的不同主机提供通信(分组、路由选择、拥塞控制)
- 数据链路层:在两个相邻结点间的线路上无差错地传送以帧为单位的数据(点到点通信)
- 物理层:传输比特流
基础知识
传输方式
- 基带传输(不搬移信号频谱)和频带传输(利用调制解调器)
- 串行传输(在一个信道上按位依次传输)和并行传输(在多个信道上同时传输的方式)
- 异步传输(传送的每一个字符一般都附加有1个起始位和1个停止位)和同步传输(组合成数据帧)
传输速率
- 调制速率
$R_B=1/T(s)$
- 数据信号速率
单位时间内通过信道的信息量:
$R_b=\sum^n_{i=1}\frac{1}{T_i}lbM_i$
(n为传输的通路数。Ti为第i路调制信号波的周期(s)。M为第i路调制信号波的状态数)
频带利用率
$ n={R_b \over B}(Bd/Hz)={R_B \over B}(bps/Hz) $
传输损伤
- 滑动:一个信号序列在传输过程中,不可恢复地丢失或增加若干码元
- 误码
- 抖动:各有效瞬间相对于理想时间位置的短时间偏移
- 漂移:码元各有效瞬间相对于理想时间位置的缓慢长期偏移
- 时延
传输质量
- 衰减和增益
- 失真:衰减失真、相位失真
- 畸变:规则畸变、不规则畸变
- 噪声:热噪声、交调噪声、串音、脉冲噪声
- 信噪比SNR:$SNR=10lg{P_S \over P_N }$(信号功率$P_S$,噪声功率$P_N$)
- 误码率:出错码元数占总码元数比例
信道
信道分类(传送方式):
- 单工
- 半双工
- 全双工
信道容量:对于给定的信道环境,在传输差错率(即误码率)趋近于零的情况下,单位时间内可以传输的信息量或所能传输的最大速率。其单位是比特/秒(b/s或bps)
香农容量公式
模拟信道:
$C = Blb(1+\frac{S}{N})$
C 是信道容量(极限传输速率),B 是信道带宽(单位为Hz),S/N 是平均信号噪声功率比(信噪比), S 为信号功率,N 为噪声功率(指正态分布的加性高斯白噪声)。
奈奎斯特容量定理
数字信道:
对于一条有限带宽、无噪声的理想信道信道容量(M为状态数):
$C=2BlbM$
数据传输技术
模拟信号数字化
- 抽样(奈奎斯特抽样速率:$f_S\geq 2f_H$)
- 量化
- 编码(自然二进制码和折叠二进制码)
基带传输技术
基带传输是不搬移频谱的直接传输。通常经过波形变换后,仍含有直流成分;基带传输包含直流和交流传输
基带传输码
分类方式:
- 按照信号的极性不同,分为单极性和双极性信号(单极性信号含有较大的直流分量,且判决可靠性较差,所以使用双极性信号较为普遍)
- 按照每位信号的单一极性电位是否占满整个码元时间,分为归零信号与不归零信号
- 按照信号幅度的取值不同,分为二电平信号和多电平信号
类型:
- 双相码:用一个周期的方波表示1,而用它的反相波形表示0
- 差分双相码:利用“差分”的概念,将双相码中用绝对电平表示的波形改为用电平的相对变化的波形
- 传号交替反转码:记作AMI码。其编码规则是:信息0的信号幅度取值为零,而信息1则交替地变换取值为+E和-E的归零码,无直流分量,有检错能力
- 三阶高密度双极性码HDB3:AMI码改进型,解决连续0的问题
数字频带传输
调制:实现频谱搬移,将数字基带信号变换成适合于信道传输的频带信号,利用基带信号对载波参量的调制,称为带通调制。基本调制分为:振幅调制、频率调制和相位调制,对于二进制信号,这三种调制分别称为振幅键控(ASK) 、频移键控(FSK) 和相移键控(PSK)
解调:会带来失真误码,为降低误码率,使用相干接收(也叫同步检波)和非相干接收(也叫包络检波)。利用载波相位信息去检测信号的方法称为相干检测或相干解调
方式:
- 幅移键控:传送“1”信号输出正弦载波信号,传送“0”信号无载波输出;用一个与ASK载波同相同频的信号(相干载波) C(t) 与接收到的已调信号 S(t) 在相乘器相乘后,再由低通滤波器过滤解调
- 频移键控:用数字基带信号控制载波频率的变化来传输数字信息“1”和“0”
- 相移键控:利用载波的不同相位直接去表示数字信息,也称为绝对移相
信道复用技术
- 频分多路复用:按照频率参量的差别来分割信号的技术
- 波分复用:将1根光纤转换为多条“虚拟”光纤,每条虚拟光纤独立工作于不同波长
- 时分复用:将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙
- 码分复用:利用每个码元的码组的正交性来分割信号的一种技术
数据交换技术
- 电路交换:接续路径采用物理连接,在该连接被拆除之前,所建立起来的电路一直被占用着。属于电路资源的预分配
- 报文交换:交换机采取“存储—转发”技术对报文进行存储和处理。适用于电报业务和电子信箱业务
- 分组交换:是综合了电路交换和报文交换两者优点的一种交换方式。仍采用 “存储-转发”技术。主要采用两种方式:数据报和虚电路。分组交换的特点同电路交换
差错控制技术
类型:
- 随机性错误,主要由起伏噪声所引起,其特点是数据信号序列中前后出错位分布较分散且彼此没有一定的关系
- 突发性错误,主要由脉冲噪声所引起,其特点是出错位分布较集中,且前后出错位之间具有某种相关性
差错检测:
基本方法:重发、前向纠错、混合纠错
- 奇偶校验码:将所要传送的数据信息分组,再在一组内诸信息码元后面附加一个校验码元(校验位),使得该组码元中“1”的个数成为奇数或偶数,检出概率为50%
- 循环冗余校验码:由 k 个信息码元和 r 个校验码元(附加的冗余码)构成的码组,其中每一个校验码元是该码组中某些信息码元的模2和(异或),具有这种结构格式的码组称为线性码,通常用(n, k)表示线性码,其中n是码组长度,k是信息码元长度,则校验码元 r = n - k
- 在一个 (n,k) 循环码中,有一个且仅有一个 (n-k) 次的生成多项式 g(x):$g(x)=x^{n-k}+g_{n-k-1}x^{n-k-1}+\dots+g_2x^2+g_1x^1+1$
循环码计算步骤
- 假定待发送的信息码有 k 个比特,冗余校验码有r 个比特
- 信息码乘以2r,即在信息码后面添加 r 个0,得到一个(k+r) 位数
- 将该 (k+r) 位数除以一个特定除数P,此除数是事先选定好的长度为(r+1)位的生成多项式 g(x)
- 得到的余数R 就是冗余校验码,比除数P 少1位(即r 位),添加在k 位信息码后面,共(k+r)位数一起发送出去
- 接收端将收到的这(k+r)位数除以这个特定除数P,若余数为0,则数据正确,否则数据中有差错
汉明码:无需重发,码长与校验码元满足$2^r-1≥n$或$2^r≥n+1$
物理层
概述
- 网络体系结构最低层,为数据链路层提供传送bit流的物理链接
- 主要功能:物理介质上提供透明传送bit流的能力
- 作用:屏蔽物理设备、传输介质和通信方式的差异,使数据链路层只考虑本层的协议和任务
接口特性
- 协议:DTE(数据终端设备)和DCE(据电路终端设备,即数据通信设备)之间的标准接口特性,包含机械、电气、功能和规程特性
- 机械特性:主要定义物理连接的物理结构,即接线器的形状和尺寸、插针或插孔的数目和排列次序、固定和锁定装置等
- 电气特性:有关电路特性,包括信号电平范围、阻抗、负载、速率和距离限制等
- 功能特性:对各接口信号线作出确切的功能定义以及相互间的操作关系,通常采有一线一义法和一线多义法,可将信号线分为数据线、控制线、定时线和接地线
- 规程特性:规定接口各信号线之间的相互关系、动作顺序以及维护测试操作等内容。反映了在数据通信过程中,通信双方可能发生的各种可能事件
数据链路层
概念
信道:
- 点对点信道:使用一对一的点对点通信方式的信道
- 广播信道:使用一对多的广播通信方式的信道。由于广播信道上连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送,因此通信过程比较复杂
帧:数据链路层的协议数据单元(PDU)。帧由首部、数据部分和尾部组成。首部含有帧的控制信息(如地址、控制等),尾部包含帧校验序列,数据部分存放网络层的数据(IP数据报)
链路:
- 物理链路:指相邻两结点之间无源的物理线路段,中间没有任何其他的交换结点
- 数据链路:由物理线路以及实现通信协议的硬件和软件组成的
功能:
- 链路管理
- 帧定界
- 透明传输
- 流量控制
- 差错检测
点对点信道
帧定界:
- 字节填充法:采用一些特定的控制字符来定界一帧的开始和结束
- 比特填充法(常用):采用一特定的比特组合01111110来定界一帧的开始和结束,是目前最常用的方法(采用“零比特插入、删除”技术来解决传送的数据信息中出现特定比特组合的问题)
- 字节计数法:采用一特定字符来表示一帧的开始,随后使用一个字节计数字段指明该帧所要求传输的字节数
- 非法比特编码法:采用非法编码作为帧的边界
透明传输:送端可发送任意数据,而接收端可收到原模原样的数据,看似直接传递,称为透明;字节填充法填入的是转义字符(ESC)(传送字符中有控制字符时可使用)
差错控制:循环冗余检验CRC差错检测技术只能做到无差错接受,要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制
协议:点对点协议PPP,不再设置纠错控制(帧检测序列FCS可保证无差错接受)、流量控制、编制序号,提高效率,只支持点对点的全双工链路通信等功能;在同步传输时,采用比特填充法,在异步传输时,采用字符填充法
广播信道
局域网概述:
协议:IEEE8802
只具有OSI最低的三个层次
局域网的技术性能主要决定于拓扑结构、传输介质和信道访问控制方式
结构:
- 星形(集线器)
- 环形
- 总线形
传输介质:
- 双绞线(网速为10~100Mb/s,最高达1Gb/s)
- 同轴电缆(网速为10Mb/s,最高达几百Mb/s)
- 光纤(网速为100Mb/s,最高达10Gb/s)
以太网线缆:
网络适配器:
计算机与局域网的联网设备
MAC地址:MAC层中区分每一个站点的标识符,也称为网卡的硬件地址、物理地址或MAC地址
MAC地址为一个48bit(6个字节)的全球唯一地址,目前市场上流行MAC帧的都是以太网V2标准
CSMA/CD协议:
是以太网协调工作机制,称为载波监听多点接入/冲突检测协议
- 载波监听:指加接在以太网上的每个站在发送数据之前,先要检测总线上是否有其他站正在发送数据,如果有,就暂时不发送数据,以免发生冲突
- 多点接入:指计算机以多点接入的方式连接到同一根总线上
- 冲突检测:指计算机边发送数据边检测总线上信号电压的变化情况
争用期:若先发送数据帧的A站,在发送数据帧后最多要经过时间2t (两倍的端到端往返时延)方可知道发送的数据帧是否遭遇到冲突。以太网的端到端往返时延 2t 称为争用期
以太网单程端到端时延t 与帧的发送时间 T0 之比:
$a={t \over T_0}$,a 越小,以太网的信道利用率就越高
极限信道利用率:
$S_{max}={ T \over T_0+t }={ 1 \over 1+a }$
扩展以太网
以太网提供的服务是不可靠的交付,即“尽力而为”的交付
以太网对发送的数据帧不进行编号,也不要求对方发回确认
以太网使用曼彻斯特(Manchester)编码
集线器:
- 使用集线器的以太网在逻辑上仍是一个总线网,使用CSMA/CD 协议,工作于半双工模式,并共享带宽
- 集线器很像一个多接口的转发器,工作在物理层
- 多个集线器可连成更大的局域网
数据链路层:
- 在数据链路层扩展以太网,早期是使用网桥,现在使用以太网交换机
- 它根据 MAC 帧的目的地址对收到的帧进行转发和过滤
- 当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口,或把它丢弃
- 以太网交换机不使用CSMA/CD协议,而是转发方式,主要有直通式,无碎片直通式,储存转发式,混合式
高速以太网
达到或超过100Mb/s的以太网,称为高速以太网
100BASE-T是一种使用双绞线传送100Mb/s基带信号的星形拓扑以太网,仍采用IEEE 802.3的CSMA/CD协议,也被称为快速以太网2
千兆以太网(1000BASE-T),也称为吉比特以太网,与快速以太网(百兆网)和传统以太网(十兆网)兼容,可工作于半双工或全双工模式,使用IEEE 802.3z标准
万兆以太网(10Gbps)也称为10吉比特以太网。采用光纤为传输媒体,只工作于全双工模式,主要用于广域网
网络层
概念
广域网是单个网络,网内使用结点交换机连接各主机。互连网是使用路由器来连接多个网络
结点交换机是在单个网络中转发分组,路由器是在多个网络构成的互连网中转发分组
位于一个广域网(或一个局域网)上的主机在该网内进行通信时,只需要使用其网络的物理地址即可
网络互联的中继器:
- 物理层的中间设备——转发器
- 数据链路层的中间设备——网桥或桥接器
- 网络层的中间设备——路由器
- 网络层以上层次的中间设备——网关
服务
虚电路:
- 网络层向传输层提供的一种使所有分组都能按序到达目的端系统的可靠传输方式
- 在进行虚电路服务时,两个端系统之间存在着一条为之服务的虚电路
- 只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,并不是真正建立了一条物理连接
数据报:
- 网络层向上提供简单灵活的、无连接的、尽力而为交付的服务方式
- 发送分组时不需要先建立连接。每一个分组( IP 数据报)都携带完整的目的地址信息,选择不同路由独立发送,与其前后的分组无关(不进行编号)
- 网络层不承诺可靠传输。由于每个分组经历的路由不同,到达目的端系统的所花费的时间也不一样
IPV4
配套协议:
- 地址解析协议ARP
- 因特网控制报文协议ICMP
- 网际组管理协议IGMP
ip与mac转换:
- 通过地址解析协议ARP来实现的
- ARP协议不是一个独立的协议,只是IP协议的一个模块,封装于IP分组中来传输
- 一个 IP地址对应一个 MAC地址
传输层
概念
功能:
- 利用通信子网为两台主机的应用进程之间,提供端到端的透明传输服务
- 具有流量控制、拥塞控制和差错控制等功能
- 多个应用进程同时和另一台主机中的多个应用进程进行通信
- 复用和分用。应用层不同进程的报文通过不同端口向下交到传输层,再往下共用网络层提供的服务
- 屏蔽(网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个传输层实体之间有一条端到端的逻辑通信信道)
传输层与网络层区别:
传输层为应用进程之间提供端到端的逻辑通信,而网络层是为主机之间提供逻辑通信
传输层使用16位的协议端口号(只具有本地意义)来标识每个上网的进程,该端口是一种软件端口,一种编号
UDP
特点:
- UDP是无连接的,没有建立连接和连接释放的过程
- UDP只在IP的数据报服务之上增加了端口复用和分用的功能和差错检验功能
- UDP尽最大努力交付,不保证不可靠性
- UDP是面向报文的。UDP一次交付一个完整的报文
- UDP没有拥塞控制的功能
- UDP首部(8字节)简短
优点:
- 发送数据之前不需要建立连接,这可减少开销和时延
- 不使用拥塞控制和不保证可靠交付,因此主机不需要维持复杂的连接状态表
- UDP用户数据报首部(8个字节)开销少
- 网络出现的拥塞不会使源主机的发送速率降低,这对某些实时应用是很重要的
- 适用于发送短报文又不关心可靠性的场合
TCP
特点:
- TCP是面向连接的。连接过程为建立连接、数据传输和释放连接三个阶段
- 每条TCP连接有两个端点,只能实现端–端的单播通信
- TCP提供可靠交付的服务。可使数据无差错、无丢失、无重复、并能按序、完整地到达
- TCP提供全双工通信,在TCP连接两端均设有缓存
- TCP是面向字节流(Byte Stream)的
连接:
必须将IP地址和端口号绑定,以免被其他应用进程占用,在通信中,这种IP地址和端口号的固定组合称为套接字(Socket)
首部:
- TCP 虽然是面向字节流的,但 TCP 传送的数据单元却是报文段
- TCP 首部最小长度是 20 字节
tcp传输控制
停止等待协议:
停止等待协议又称自动重传请求ARQ,每发送完一个报文段就停止发送,等待对方的确认。在收到确认后再发送下一个报文段,确认和重传机制可以在不可靠的传输网络上实现可靠的通信
连续ARQ协议:
流水线传输就是发送方可连续发送多个报文段,不必每发完一个就停下来等待对方的确认。这样可使信道上一直有数据不间断地传送,按序接收没有差错的报文段,并逐一给出确认应答,这种传输方式可获得很高的信道利用率
流量控制:
目的是让发送端的发送速率不要过快,一定要使接收端来得及接收
为了提高报文段的传输效率,TCP采用的滑动窗口 (窗口大小可变,单位是字节) 进行流量控制,发送方维持发送窗口,其意义是:位于发送窗口内的报文段都可连续发送出去,而不需要等待接收方确认。从而提高信道利用率,连续ARQ协议规定:发送方每收到一个确认,就把发送窗口向前滑动一个位置,接收方可根据自己的资源情况,随时动态地调整对方的发送窗口上限值
发送控制:
- 缓存区数据达到最大报文长度MSS再发送
- TCP首部的推送位PSH=1时,不用等缓冲区填满就交付
- 发送端设置一个计时器,时间一到,就把缓冲数据发送出去
重传控制:
- 报文段到达接收端时,如果检验出差错,接收实体将其丢弃。而发送端等待应答超时,必须重传该报文段
- 报文段传送途中丢失,没能到达接收端,发送端同样收不到确认应答,等待超时后也要重传该报文段
重传自适应算法:
拥塞控制:
- 对资源需求的总和>可用资源
- 由于拥塞引起的重传并不会缓解网络的拥塞,反而会加剧网络的拥塞
- 开环拥塞控制:在拥塞发生之前使用一些策略(如重传、确认和丢弃)以免网络进入拥塞状态的“预防”机制,防止过多的报文段输入网络以免网络过载
- 闭环拥塞控制:试图在拥塞发生后如何使网络从拥塞状态中摆脱出来的“恢复”机制
拥塞控制与流量控制的区别:
- 拥塞控制就是防止过多的数据进入网络,因此拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷
- 流量控制指收发双方通信量的控制,是一个端到端的问题
TCP连接管理
TCP传输连接包括三个阶段:连接建立、数据传送和连接释放
连接建立:
TCP 建立连接的过程称为握手,握手需要在客户和服务器之间交换三个 TCP 报文段,称为三次握手
TCP连接的释放,需要在客户和服务器之间交换四个TCP报文段,称为四次挥手。