计算机网络
一些基本了解
组成
-
组成部分
- 硬件
- 软件
- 协议
-
工作方式
-
边缘部分
-
用户直接使用
- C/S方式
- P2P方式
-
-
核心部分【交换机,路由器,服务器等】为边缘部分服务
-
-
功能组成
-
通讯子网
- 实现数据通信
- 实现资源共享功能的设备和软件的集合。
- 包括:物理层,数据链路层,网络层
-
资源子网
- 实现资源共享/数据处理。
- 各种传输介质,通信设备,相应的网络协议组成。
- 包括:会话层,表示层,应用层。
-
功能
- 数据通信
- 资源共享
- 分布式处理,提高可靠性,负载均衡。
分类
-
分布范围
- 广域网【WAN】
- 城域网【MAN】
- 局域网【LAN】
- 个人区域网【PAN】
-
使用者
- 公用网
- 专用网
-
交换技术
- 电路交换
- 报文交换
- 分组交换
-
拓扑技术
- 总线型
- 星型
- 环形
- 网状型
-
传输技术
-
广播式
- 共享公共通信信道
-
点对点
- 使用分组存储转发和路由选择机制
-
概念
- 计算机网络是互联的,自治的计算机集合。【是一个将分散的,具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统】
标准化工作
-
标准的分类:
-
法定标准
- 由权威机构制定的正式的,合法的标准 OSI
-
事实标准
- 某些公司的产品在竞争中占据了主流,时间长了,这些产品中的协议和技术就成了标准 TCP/IP
-
-
标准化工作的相关组织
-
国际标准化组织 ISO
- OSI参考模型,HDLC协议
-
国际电信联盟 ITU
- 制定通信规则
-
国际电气电子工程师协会IEEE
- 学术机构,IEEE802系列标准,5G
-
internet工程任务组IETF
- 负责因特网相关标准的制定 RFC XXXX
-
性能指标
速率
- 速率即数据率或数据传输率或比特率
- 连接在计算机网络上的主机在数字通道上传送数据位数的速率。
- 单位:b/s,kb/s,Mb/s,Gb/s,Tb/s【存储容量 1Byte(字节) = 8bit(比特)】 1KB = 2十次方B = 1024B = 1024*8b
带宽
- “带宽”原本指的是某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)。
- 计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中某一点到另一个点所能通过的“最高数据率”。单位是“比特每秒”,b/s,kb/s,Mb/s,Gb/s. 【网络设备所支持的最高速度】
- 通俗理解就是,设备所能发送数据的最大速率。理论值。
吞吐量
- 表示在单位时间内通过某个网络(或信道,接口)的数据量。单位b/s,kb/s,Mb/s,Gb/s等。
- 吞吐量受网络的带宽或网络的额定速率的限制。
- 通俗的理解就是,带宽在实际中的实际速率。
时延【指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s。
-
发送时延
- 主机或路由器发送数据帧所需要的时间。【从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间】】
- 发送时延 = 数据帧长度(bit)【数据长度】 / 发送速率(bit/s)【信道带宽】
-
传播时延
- 是电磁波在信道中传播一定的距离需要花费的时间。【取决于电磁波传播速度和链路长度】
- 传播时延 = 信道长度(m) / 电磁波在信道上的传播速率 (m/s )
-
处理时延
- 主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部,从分组中提取数据部分,进行差错检验或查找适当的路由等。
-
排队时延
- 分组在经过网络传输时,要经过许多路由器,但分组在进入路由器后要先在输入队列中排队等待处理。
-
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
时延带宽积
- 时延带宽积(bit) = 传播时延(s) * 带宽(b/s)
- 链路的时延带宽积又称为以比特为单位的链路长度。【即“某段链路现在有多少比特】
往返时间RTT
-
从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延。
-
RTT
- 往返传播时延 = 传播时延 * 2
- 末端处理时间
- RTT越大,在收到确认之前,可以发送的数据越多。
利用率
-
信道利用率
- 信道利用率 = 有数据通过时间 / (有 + 无 ) 数据通过时间
-
网络利用率
- 信道利用率加权平均值
-
信道或网络的利用率过高会产生非常大的时延。
网络体系结构【从功能上描述计算机网络结构】
分层结构
-
为什么要分层【例如:发送文件前要完成的工作】:
- 发起通信的计算机必须将数据通信的通路进行激活。
- 要告诉网络如何识别目的主机。
- 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
- 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
- 确保差错和意外可以解决。
- 。。。。
-
怎么分层:
- 协议
- 服务
- 接口
-
分层的基本原则:
- 每层之间相互独立,每层只实现一种相对独立的功能。
- 每层之间界面自然清晰,易于理解,相互交流尽可能少。
- 结构上可分割开,每层都采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应该能促进标准化工作。
正式认识分层结构:
-
实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体。
-
协议:为进行网络中的对等实体数据交换而建立的规则,标准或约定被称为网络协议。【水平】
- 语法:规定传输数据的格式。
- 语义:规定所要完成的功能。
- 同步:规定各种操作的顺序。
-
接口(访问服务点SAP):
- 上层使用下层服务的入口。
-
服务:
-
下层为相邻上层提供的功能调用。【垂直】
- SDU 服务数据单元:为完成用户所要求的的功能而应传送的数据。
- PCI 协议控制信息:控制协议操作的信息。
- PDI协议数据单元:对等层次之间传送的数据单位。
-
概念总结:
- 网络体系结构是从功能上描述计算机网络结构。
- 计算机网络体系结构简称网络体系结构是分层结构。
- 每层遵循某个/些网络协议以完成本层功能。
- 计算机网络体系结构是计算机网络的各层及其协议的集合。
- 第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。
- 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
- 体系结构是抽象的,而实现是指能运行的一些软件和硬件。
计算机网络分层结构:
7层OSI参考模型(法定标准)
-
为了解决计算机网络复杂的大问题
- 分层结构(按功能)
-
目的:支持异构网络系统的互联互通。
-
国际标准化组织(ISO)于1984年提出开放系统互连(OSI)参考模型。【但是,理论成功,市场失败。】
-
OSI七层
-
OSI参考模型解释通信过程
-
应用层【7】
-
DATA(H7)
-
用户与网络的界面【所有能和用户交互产生网络流量的程序】
-
典型的应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- 万维网(HTTP)
-
-
表示层【6】
-
7-PDU(H6)
-
用于处理在两个通信系统中交换信息的表示方式(语法和语义)
-
功能:
- 数据格式转换
- 数据加密解密
- 数据压缩和恢复
-
主要协议:
- JPEG
- ASCII
-
-
会话层【5】
-
6-PDU(H5)
-
向表示层实体/用户进程提供建立连接并在连接上有序的传输数据。【这是会话,也是建立同步(SYN)】
-
功能:
- 建立,管理,终止会话
- 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。【适用于传输大文件】
-
主要协议:
- ASDP
- ASP
-
-
传输层【4】
-
5-PDU(H4)
-
负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。
-
功能:
-
可靠传输,不可靠传输
- 可靠传输【有确认机制】
- 不可靠传输【不需要建立连接和确认机制】
-
差错控制
- 帧错误、帧丢失、帧重复。
-
流量控制
- 协调发送端和接收端的速度问题。
-
复用分用
- 复用:多个应用层进程可同时使用下面运输层的服务。
- 分用:运输层把收到的信息分别交付给上面应用层中相应的进程。
-
-
主要协议:
- TCP
- UDP
-
-
网络层【3】
-
4-PDU(H3)
-
主要任务是把分组从源端传到目的端,为分组交换网上不同主机提供通信服务。网络层传输单位是数据报。
-
功能:
-
路由选择
- 最佳路径
-
流量控制
- 协调发送端和接收端的速度问题。【主要是限制发送端的速度】
-
差错控制
- 帧错误、帧丢失、帧重复。
-
拥塞控制
- 若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
-
-
主要协议:
- IP
- IPX
- ICMP
- IGMP
- ARR
- RARP
- OSPF
-
-
数据链路层【2】
-
3-PUD(H2)[不仅加了首部,还加了尾部]
-
主要任务是把网络层传下来的数据报组装成帧。【数据链路层/链路层的传输单位是帧】
-
功能:
-
成帧
- 定义帧的开始和结束
-
差错控制
- 帧错+位错
-
流量控制
- 协调发送端和接收端的速度问题。
-
访问(接入)控制
- 控制对信道的访问
-
-
主要协议:
- SDLC
- HDLC
- PPP
- STP
-
-
物理层【1】
-
主要任务是在物理媒体上实现比特流的透明传输。【物理层传输的单位是比特】
-
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
-
功能:
-
定义接口特性
-
定义传输模式
-
单工
- 单工数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播。
-
半双工
- 半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机。
-
双工
- 双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;在同一时间可以同时接受和发送信息,实现双向通信,举例:电话通信。
-
-
定义传输速率
-
比特同步
-
比特编码
-
-
主要协议:
- Rj45
- 802.3
-
-
4层TCP/IP参考模型(事实标准)
- 应用层
- 传输层
- 网际层
- 网络接口层
5层参考模型:
-
5层参考模型的数据封装与解封装
-
应用层
-
支持各种网络应用
-
主要协议:
- FTP
- SMTP
- HTTP
-
-
传输层
-
进程-进程的数据传输
-
主要协议:
- TCP
- UDP
-
-
网络层
-
源主机到目的主机的数据分组路由与转发
-
主要协议:
- IP
- ICMP
- OSPF
-
-
数据链路层
-
把网络层传下来的数据报组装成帧
-
主要协议:
- Ethernet
- ppp
-
-
物理层
-
实现比特传输
-
主要协议:
- Rj45
- 802.3
-
-
综合了OSI和TCP/IP的优点
OSI参考模型和TCP/IP参考模型相同点:
-
相同点
- 都分层
- 基于独立的协议栈的概念
- 都可以实现异构网络互联
-
不同点
-
OSI定义三点:服务,协议,接口
-
OSI先出现,参考模型先于协议发明,不偏向特定协议
-
TCP/IP设计之初就考虑到异构网互联的问题,将IP作为重要层次。
-
面向连接分为三个阶段:
- 第一是建立连接,在此阶段,发出一个建立连接的请求。
- 第二阶段是:只有在连接成功之后,才能开始数据传输。
- 第三是:接着当数据传输完毕,必须释放连接。
-
面向无连接
- 没有这么多阶段,直接进行数据传输
-
物理层
物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
主要任务:
-
确定与传输媒体接口有关的一些特性。
- 定义标准。
有那些特性:
-
机械特性:
- 定义物理连接的特性,规定物理连接时所采用的规格,接口形状,引线数目,引脚数量和排列情况。
-
电气特性:
- 规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等。
-
功能特性:
- 指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途。
-
规程特性:
- (过程特性)定义各条物理线路的工作规程和时序关系。
数据通信的基础知识
-
典型的数据通信模型
-
数据通信的相关术语:
-
通信的目的是传送消息。
-
数据
- 传送信息的实体,通常是有意义的符号序列。
-
信号:
- 数据的电气/电磁的表现,是数据在传输过程中的存在形式。
- 数字信号:代表消息的参数取值是离散的。
- 模拟信号:代表消息的参数取值是连续的。
-
信源:
- 产生和发送数据的源头。
-
信宿:
- 接收数据的终点。
-
信道:
-
信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接收信道。
-
传输信号:
- 模拟信道(传送模拟信号)
- 数字信道(传送数字信号)
-
传输介质:
- 无线信道
- 有线信道
-
-
-
-
三种通信方式:【从通信双方信道的交互方式看,可以有三种基本方式。】
-
单工通信
- 只有一个方向的通信而没有反方向的交互,仅需要一条信道。
-
半双工通信
- 通信的双方都可以发送或接收信息,但任何一方都不能同时发送和接收,需要两条信道。
-
全双工通信
- 通信双方可以同时发送和接收信息,也需要两条信道。
-
-
两种数据传输方式:
-
串行传输
- 速度慢,费用低,适合远距离
-
并行传输
-
速度快,费用高,适合近距离
-
-
-
码元、波特、速率、带宽
-
码元
-
码元是指用一个固定时长的信号波形(数字脉冲),代表不同离散数值的基本波形,是数字通信中信号的计量单位,这个时长内的信号称为K进制码元,而该时长称为码元宽度。当码元的离散状态有M个时(M大于2),此时的码元为M进制码元。
- k进制码元—4进制码元—>码元的离散状态有4个—>4种高低不同的信号波形 00、01、10、11
-
1码元可以携带多个比特的信息量。例如,在使用二进制编码时,只有两种不同的码元,一种代表0状态,另一中代表1状态。
-
-
波特
- 单位时间内数字通信系统所传输的码元的个数(也可称为脉冲个数或信号变化的次数),单位是波特(Baud)。1波特表示通信系统每秒传输一个码元。【1Baud = 1码元/s】
-
速率
-
也叫数据率,是指数据的传输速率,表示单位时间内传输的数据量。可以用码元传输速率和信息传输速率表示。
-
码元传输速率:
- 别名码元速率、波形速率、调制速率、符号速率等,它表示单位时间内数字通信系统所传输的码元的个数(也可称为脉冲个数或信号变化的次数),单位是波特(Baud)。1波特表示通信系统每秒传输一个码元。这里的码元可以是多进制的,也可以是二进制的,但是码元速率与进制数无关。【1s传输多少个码元】
-
信息传输速率:
- 别名信息速率、比特率等,表示单位时间内数字通信系统传输的二进制码元个数(即比特数),单位是比特/s(b/s)【1s能传输多少个比特】
-
关系:
- 若一个码元携带n bit的信息量,则M Baud的码元传输速率所对应的信息传输速率为M * n bit/s。
-
-
带宽
- 表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”,常用来表示网络的通信线路所能传输数据的能力。单位是b/s。
-
-
奈氏准则和香农定理
-
失真
-
影响失真程度的因素:
- 码元传输速率【速率越高,失真程度越严重】
- 信号传输距离【距离越远,衰减就越久,干扰就越久】
- 噪声干扰【越多就越容易失真】
- 传输媒体质量【质量越差,失真越严重】
-
码间串扰
-
接收端收到的信号波形失去了码元之间清晰界限的现象。
-
信道带宽:
- 是信道能通过的最高频率和最低频率之差
-
-
-
奈氏准则(奈奎斯特定理)
-
在理想低通(无噪声,带宽受限)条件下,为了避免码间串扰,极限码元传输速率为2W Baud,W是信道带宽,单位是Hz。
-
理想低通信道下的极限数据传输率 = 2Wlog2V ( b/s)
-
结论:
- 在任何信道中,码元传输的速率是有上限的。若传输速率超过此上限 ,就会出现严重的码间串扰问题,使接收端对码元的完全正确识别称为不可能。
- 信道的频带越宽(即能通过的信号高频分量越多),就可以用更高的速率进行码元的有效传输。
- 奈氏准则给出了码元传输速率的限制,但并没有对信息传输速率给出限制。
- 由于码元的传输速率受奈氏准则的制约,所以要提高数据的传输速率,就必须设法使每个码元能携带更多个比特的信息量,这就需要采用多元制的调制方法。
-
-
香农定理
-
噪声
- 噪声存在于所有的电子设备和通信信道中。由于噪声随机产生,它的瞬时值有时会很大,因此噪声会使接收端对码元的判决产生错误。但是噪声的影响是相对的,若信号较强,那么噪声影响相对较小。因此,信噪比就很重要。
- 信噪比 = 信号的平均功率/噪声的平均功率,常记为S/N,并用分贝(dB)作为肚量单位,即:信噪比(dB) = 10log10(S/N) 数值等价
-
香农定理:在带宽受限且有噪声的信道中,为了不产生误差,信息的数据传输速率有上限值。
-
信道的极限数据传输速率= Wlog2(1+S/N) (b/s)
-
结论:
- 信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
- 对一定的传输带宽和一定的信噪比,信息的传输速率的上限就确定了。
- 只要信息的传输速率低于信道的极限传输速率,就一定能找到某种方法来实现无差错的传输。
- 香农定理得出的为极限信息传输速率,实际信道能达到的传输速率要比它低不少。
- 从香农定理可以看出,若信道带宽W或信噪比S/N没有上限(不可能),那么信道的极限信息传输速率就没有上限。
-
-
奈氏准则和香农定理区别
-
奈氏准则(内忧)
- 带宽受限无噪声条件下,为了避免码间串扰,码元传输速率的上限2W Baud
- 理想低通信道下的极限数据传输率 = 2W log2V
- 要想提高数据率,就要提高带宽/采用更好的编码技术
-
香农定理(外患)
- 带宽受限有噪声条件下的信息传输速率。
- 信道的极限数据传输速率 = Wlog2(1+S/N)
- 要想提高数据率,就要提高带宽/信噪比。
-
-
-
编码与调制
-
基带信号与带宽信号
-
信道:信号的传输媒介,一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接收信道。
-
按传输信号:
- 模拟信道(传送模拟信号)
- 数字信道(传送数字信号)
-
按传输介质:
- 无线信道
- 有线信道
-
-
信道上传送的信号:
-
基带信号:
- 将数字信号1和0直接用两种不同的电压表示,再送到数字信道上去传输(基带传输)
- 来自信源的信号,像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,比如我们说话的声波就是基带信号。
-
宽带信号:
- 将基带信号进行调制后形成的频分复用模拟信号,再传送到模拟信道上去传输(宽带传输)。
- 把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)
-
总结:
- 在传输距离较近时,计算机网络采用基带传输方式(近距离衰减小,从而信号内容不易发生变化)
- 在传输距离较远时,计算机网络采用宽带传输方式(远距离衰减大,即使信号变化大也能最后过滤出来基带信号)
-
-
-
编码:
-
数据———>数字信号
- 数字数据__数字发送器___-> 数字信号
- 模拟数据___PCM编码器__->数字信号
-
数字数据编码为数字信号
-
非归零编码【NRZ]
- 高1低0
- 编码容易实现,但没有检错功能,且无法判断一个码元的开始和结束,以至于收发双方难以保持同步。
-
曼彻斯特编码
- 曼彻斯特编码(Manchester)又称裂相码、同步码、相位编码,是一种用电平跳变来表示1或0的编码方法,其变化规则很简单,即每个码元均用两个不同相位的电平信号表示,也就是一个周期的方波,但0码和1码的相位正好相反。由于曼彻斯特码在每个时钟位都必须有一次变化,因此,其编码的效率仅可达到50%左右,位中间的跳变既作时钟信号(可用于同步),又作数据信号,但它所占的频带宽度是原始的基带宽度的两倍。每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2.
-
差分曼彻斯特编码
- 同1异0
- 常用于局域网传输,其规则是:若码元为1,则前半个码元的电平与上一个码元的后半个码元的电平相同,若为0,则相反。该编码的特点是,在每个码元的中间,都有一次电平的跳转,可以实现自同步,且抗干扰性强于曼彻斯特编码。
-
归零编码【RZ】
- 信号电平在一个码元之内都有恢复到零的这种编码成编码方式。
-
反向不归零编码【NRZI】
- 信号电平翻转表示0,信号电平不变表示1.
-
4B/5B编码
- 比特流中插入额外的比特以打破一连串的0或1,就是用5个比特来编码4个比特的数据,之后再传给接收方,因此称为4B/5B。编码效率为80%。
- 只采用16种对应16种不同的4位码,其他的16种作为控制码(帧的开始和结束,线路的状态信息等)或保留。
-
-
模拟数据编码为数字信号:
-
计算机内部处理的是二进制数据,处理的都是数字音频,所以需要将模拟音频通过采样、量化转换成有限个数字表示的离散序列(即实现音频数字化)。
-
最典型的例子就是对音频信号进行编码的脉冲调制(PCM),在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。它主要包括三步:抽样、量化、编码。
-
抽样:
- 对模拟信号周期性扫描,把时间上连续的信号变成时间上离散的信号。
- 为了使所得的离散信号能无失真地代表被抽样的模拟数据,要使用采样定理进行采样:f采样频率 >= 2f信号最高频率
-
量化:
- 把抽样取得的电平幅值按照一定的分级标度转化为对应的数字值,并取整数,这就把连续的电平幅值转换为离散的数字值。
-
编码:
- 把量化的结果转换为与之对应的二进制编码。
-
-
-
-
调制:
-
数据----->模拟信号
- 数字数据___调制器___->模拟信号
- 模拟数据____放大器调制器___->模拟信号
-
数字数据调制为模拟信号
-
数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字信号,分别对应于调制解调器的调制和解调过程。
-
调幅(2ASK)
-
调频(2FSK)
-
调相(2PSK)
-
调幅+调相(QAM)
-
-
模拟数据调制为模拟信号
- 为了实现传输的有效性,可能需较高的频率。这种调制方式还可以使用频分复用技术,充分利用带宽资源。在电话机和本地交换机所传输的信号是采用模拟信号传输模拟数据的方式:模拟的声音数据是加载到模拟的载波信号中传输的。
-
-
物理层传输介质及分类:
-
传输介质也称传输媒体/传输媒介,它就是数据传输系统中在发送设备和接收设备之间的物理通路。
-
传输媒体并不是物理层。
- 传输媒体在物理层的下面,因为物理层是体系结构的第一层,因此有时称传输媒体为0层。在传输媒体中传输的是信号,但传输媒体并不知道传输的信号代表什么意思。
- 但物理层规定了电气特性,因此能够识别所传送的比特流。
-
-
传输介质:
-
导向性传输介质
-
电磁波被导向沿着固定媒体(铜线/光纤)传播。
-
双绞线
-
双绞线是古老,又常用的传输介质,它由两根采用一定规则并排绞合的、相互绝缘的铜导线组成。【绞合可以减少对相邻导线的电磁干扰。】
-
无屏蔽双绞线
-
无屏蔽层的双绞线就称为非屏障双绞线(UTP).
-
-
屏蔽双绞线
-
为了进一步提高电磁干扰能力,可在双绞线的外面再加上一个由金属丝编织成的屏蔽层,这就是屏蔽双绞线(STP)
-
-
双绞线价格便宜,是最常用的传输介质之一,在局域网和传统电话网中普遍使用。模拟传输和数字传输都可以使用双绞线,其通信距离一般为几公里到数十公里。距离太远时,对于模拟传输,要用放大器放大衰减的信号;对于数字传输,要用中继器将失真的信号整型。
-
-
同轴电缆
-
同轴电缆由导体铜质芯线、绝缘层、网状屏蔽层和塑料外层构成。
-
按特性阻抗数值的不同:
- 50欧姆同轴电缆主要用于传送基带数字信号,又称基带同轴电缆,在局域网中得到了广泛的应用。
- 75欧姆同轴电缆主要用于传送宽带信号,又称为宽带同轴电缆,它主要用于有线电视系统。
-
-
光纤
-
光纤通信就是光导纤维(简称光纤)传递光脉冲来进行通信。有光脉冲表示1,无光脉冲表示0.而可见光的频率大约是10的8次方MHz,因为光纤通信系统的带宽远远大于目前其他各种传输媒体的带宽。
- 光纤在发送端有光源,可以采用发光二极管或半导体激光器,它们在电脉冲作用下能产生出光脉冲;在接收端用光电二极管做成光检测器,在检测到光脉冲时可还原出电脉冲。
-
光纤主要由纤芯(实心的!)和包层构成,光波通过纤芯进行传导,包层较纤芯有较低的折射率。当光线从高折射率的介质射向低折射率的介质时,其折射角将大于入射角。因此,如果入射角足够大,就会出现全反射,即光线碰到包层时候就会折射回纤芯、这个过程不断重复,光也就沿着光纤传输下去。
-
按射入光线的条数
-
多模脉冲
-
单模光纤
-
-
特点:
- 传输损耗小,中继距离长,对远距离传输特别经济。
- 抗雷电和电磁干扰性能好。
- 无串音干扰,保密性好,也不易被窃听或截取数据。
- 体积下,重量轻。
-
-
-
非导向性传输介质
-
自由空间,介质可以是空气、真空、海水等。
-
无线电波
- 信号向所有方向传播
- 较强的穿透能力,可传远距离,广泛用于通信领域(如手机通信)。
-
微波
-
信号向固定方向传播
-
微波通信频率较高、频段范围宽,因此数据率很高。
-
地面微波接力通信
-
卫星通信
-
优点
- 通信容量大
- 距离远
- 覆盖广
- 广播通信和多址通信
-
缺点
- 传播时延长(250-270ms)
- 受气候影响大(eg:强风、太阳黑子爆发、日凌)
- 误码率较高
- 成本高
-
-
-
-
红外线、激光
- 信号向固定方向传播
- 把要传输的信号分别转换为各自的信号格式,即红外光信号和激光信号,再在空间中传播。
-
-
物理层设备
-
中继器
-
诞生原因:
- 由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度将造成信号失真,因此会导致接收错误。
-
功能:
- 对信号进行再生和还原,对衰减的信号进行放大,保持与原数据相同,以增加信号传输的距离,延长网络的长度。【再生数字信号】
-
中继器的两端:
- 两端的网络部分是网段,而不是子网,适用于完全相同的两类网络的互连,且两个网段速率要相同。
- 中继器只将任何电缆段上的数据发送到另一段电缆上,它仅作用于信号的电气部分,并不管数据中是否有错误数据或不适于网段的数据。
- 两端可连相同媒体,也可连不同媒体。
- 中继器的两端的网段一定要是同一个协议。(中继器不会存储转发)
-
5-4-3规则:
- 网络标准中都对信号的延迟范围作了具体的规定,因而中继器只能在规定的范围内进行,否则会网络故障。
- 最多不超过五个网段,在五个网段中最多有四个物理层网络设备,只有三个段可以挂接计算机。
-
-
集线器(多口中继器)
-
功能:
- 对信号进行再生放大转发,对衰减的信号进行放大,接着转发到其他所有(除输入端口外)处于工作状态的端口上,以增加信号传输的距离,延长网络的长度。不具备信号的定向传送能力,是一个共享式设备。
-
集线器不能分割冲突域。
- 连在集线器上的工作主机平方带宽。
-
数据链路层
数据链路层基本概念:
-
结点:
- 主机、路由器
-
链路:
- 网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
-
数据链路:
- 网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
-
帧:
- 链路层的协议数据单元,封装网络层数据报。
-
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
链路层的功能:
-
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
-
为网络层提供服务:
-
无确认无连接服务
- 通信质量好
- 有线传输链路
-
有确认无连接服务
- 通信质量差的无线传输链路
-
有确认面向连接服务
- 通信质量差的无线传输链路
-
-
链路管理【用于面向连接的服务】:
- 连接的建立
- 维持
- 释放
-
组帧:
-
封装成帧:
-
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束
-
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。
-
帧同步:
- 接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
-
-
透明传输:
- 透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
- 当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
-
组帧的四种方法:
-
字符计数法
-
帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
-
缺点:
- 容易一错全错。
-
-
字符(节)填充法
-
零比特填充法
- 保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
-
违规编码法
- 可以用“高-高”,“低-低”来定界帧的起始和终止。
-
由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果〉及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。
-
-
-
流量控制与可靠传输机制:
-
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
-
流量控制在不同层:
-
数据链路层:
- 数据链路层的流量控制是点对点的。
- 数据链路层流量控制手段:接收方收不下就不回复确认。
-
传输层:
- 传输层的流量控制是端到端的。
- 传输层流量控制手段:接收端给发送端一个窗口公告。
-
-
流量控制方法:
-
停止-等待协议:
-
每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
-
发送窗口大小=1,接收窗口大小=1;
-
为什么要有停止-等待协议:
-
除了比特出差错,底层信道还会出现丢包问题。
- 丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。
-
为了实现流量控制。
-
-
研究停等协议的前提:
- 虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
- 因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
- “停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
-
停等协议的应用情况:
-
无差错情况
-
有差错情况
-
数据帧丢失或检测到帧出错
- 发完一个帧后,必须保留它的副本。
- 数据帧和确认帧必须编号。
-
ACK丢失
-
ACK迟到
-
-
-
停等协议性能分析:
-
优点:
- 简单
-
缺点:
-
信道利用率太低
- 信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。
- 信道吞吐率=信道利用率*发送方的发送速率
-
-
-
停等协议的弊端:
- 必须增加序号范围。
- 发送方需要缓存多个分组。
-
-
滑动窗口协议:
-
后退N帧协议(GBN)
-
发送窗口大小>1,接收窗口大小=1;
-
滑动窗口
-
发送窗口
- 发送方维持一组连续的允许发送的帧的序号。
-
接收窗口
- 接收方维持一组连续的允许接收帧的序号。
-
滑动窗口长度:
- 若采用n个比特对帧编号,那么发送窗口的尺寸Wt,应满足: 1≤Wt<2n次方-1。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。
-
-
GBN发送方必须响应的三件事
-
上层的调用
- 上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满.发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。
-
收到了一个ACK
- GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。
-
超时事件
- 协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。
-
-
GBN接收方要做的事
- 如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
- 其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)。
-
GBN协议重点总结:
- 1.累积确认(偶尔捎带确认)
- 2接收方只按顺序接收帧,不按序无情丢弃
- 3.确认序列号最大的、按序到达的帧
- 4.发送窗口最大为2的n次方-1,接收窗口大小为1
-
GBN协议性能分析:
-
优点:
- 因连续发送数据帧而提高了信道利用率
-
缺点:
- 在重传时必须把原来已经正确传送的数据帧重传,使传送效率降低
-
-
-
选择重传协议(SR)
-
发送窗口大小>1,接收窗口大小>1;
-
SR发送方必须响应的三件事
-
上层的调用
- 从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
-
收到了一个ACK
- 如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
-
超时事件
- 每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
-
-
SR接收方要做的事
-
来者不拒(窗口内的帧)
- SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。
- 如果收到了窗口序号外(小于窗口下界)的帧,就返回一个ACK。
-
-
滑动窗口长度
-
发送窗口最好等于接收窗口。(大了会溢出,小了没意义)
-
WTmay=WRmax = 2的(n-1)次方
- n:是多少比特来标志
-
-
SR协议重点总结:
- 对数据帧逐一确认,收一个确认一个。
- 只重传出错帧
- 接收方有缓存
-
-
-
-
-
差错控制(帧错/位错):
-
概括来说,传输中的差错都是由于噪声引起的。
-
全局性:
- 1.由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
- 解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
-
局部性:
- 2.外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
- 解决办法:通常利用编码技术来解决。
-
-
差错:
-
位错:
- 【比特位出错,1变成o,0变成1。】
-
帧错([#1]-[#2]-[#3]):
- 丢失:收到[#1]-[#3]
- 重复:收到[#1]-[#2]-[#2]-[#3]
- 失序:收到[#1]-[#3]-[#2]
-
-
差错控制(比特错):
-
检错编码
-
奇偶校验码
-
n-1位信息元
1位校验元 -
奇校验码
- 特点:只能检查出奇数个比特错误,检错能力为50%。
-
偶校验码
-
-
循环冗余码CRC
-
最终发送的数据:
- 要发送的数据+帧检验序列FCS
-
计算冗余码:
- 加0 假设生成多项式G(x)的阶为r,则加r个0。
- 模2除法 数据加o后除以多项式,余数为冗余码/FCS/
CRC检验码的比特序列。
-
接收端检错过程:
- 把收到的每一个帧都除以同样的除数,然后检查得到的余数R。
- 1.余数为0,判定这个帧没有差错,接受。
- 2.余数为不为o,判定这个帧有差错(无法确定到位),丢弃。
- FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速,因此不会延误数据的传输。
-
在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接收的帧均无差错”。
- “可靠传输” : 数据链路层发送端发送什么,接收端就收到什么。
- 链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。
-
-
-
纠错编码
-
海明码
-
发现双比特错,纠正单比特错。
-
工作原理;
- 动一发而牵全身
-
工作流程:
-
确定校验码位数r
-
海明不等式
- 2的r次方 > k+r+1
r为冗余信息位,k为信息位
- 2的r次方 > k+r+1
-
例:要发送的数据: D = 101101
- 数据的位数k=6,
满足不等式的最小r为4,
也就是D=101101的海明码应该有6+4=10位,其中原数据6位,效验码4位。
- 数据的位数k=6,
-
-
确定校验码和数据的位置
-
求出校验码的值
- 令所有要检验的位异或 = 0。
-
检错并纠错
- 令所有要校验的位异或运算。
-
-
-
-
-
编码:
-
数据链路层编码和物理层的数据编码与调制不同。
-
数据链路层
- 而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。
-
物理层
- 物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。
-
冗余编码:
- 在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
-
-
介质访问控制:
-
介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
-
介质访问控制:
-
信道划分介质访问控制(MAC Multiple Access Control)协议:
- 基于多路复用技术划分资源。
- 网络负载重:共享信道效率高,且公平
- 网络负载轻:共享信道效率低
-
随机访问MAC协议:
- 用户根据意愿随机发送信息,发送信息时可独占信道带宽。
- 网络负载重:产生冲突开销
- 网络负载轻:共享信道效率高,单个结点可利用信道全部带宽
-
轮询访问MAC协议/轮流协议/轮转访问MAC协议:
-
既要不产生冲突,又要发送时占全部带宽。
-
轮询协议:
-
主结点轮流“邀请”从属节点发送数据。
-
问题:
- 轮询开销
- 等待延迟
- 单点故障
-
-
-
-
介质访问控制:
-
静态划分信道
-
信道划分介质访问控制
-
信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。
-
可以分为几种方式:
-
频分多路复用FDM
-
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。
-
优点:
- 充分利用传输介质带宽,系统效率较高;
- 由于技术比较成熟,实现也比较容易。
-
-
时分多路复用TDM
-
TDM帧是在物理层传送的比特流所划分的帧,标志一个周期。
-
将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
-
改进的时分复用–统计时分复用STDM
- 每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。
-
-
波分多路复用WDM
- 波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
-
码分多路复用CDM
-
码分多址(CDMA)是码分复用的一种方式。
-
1个比特分为多个码分/芯片(chip),每一个站点被指定一个唯一的m位的芯片序列。发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写出-1)。
-
如何不打架:
- 多个站点同时发送数据的时候,要求各个站点芯片序列相互正交。
-
如何合并:
- 各路数据在信道中被线性相加。
-
如何分离:
- 合并的数据和源站规格化内积。
-
-
-
-
-
-
动态划分信道
-
动态媒体接入控制/多点接入
- 特点:信道并非在用户通信时固定分配给用户。
-
轮询访问介质访问控制
-
令牌传递协议:
-
令牌:
- 一个特殊格式的MAC控制帧,不含任何信息。
- 控制信道的使用,确保同一时刻只有一个结点独占信道。
- 令牌环网无碰撞
-
每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
-
问题:
- 令牌开销
- 等待延迟
- 单点故障
-
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)。
-
采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。
-
-
-
随机访问介质访问控制
【所有的用户可随机发送信息
发送信息时占全部带宽】-
ALOHA协议
-
纯ALOHA协议
-
纯ALOHA协议思想:不监听信道,不按时间槽发送,随机重发。【想发就发】
-
冲突如何检测
- 如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
-
冲突如何解决
- 超时后等一随机时间再重传。
-
-
时隙ALOHA协议
- 时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再发送。【控制想发就发的随意性】
-
关于ALOHA协议
- 1.纯ALOHA比时隙ALOHA吞吐量更低,效率更低。
- 2.纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。
-
-
CSMA协议
-
载波监听多路访问协议CSMA (carrier sense multiple access)
-
CS:
- 载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
- 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。
-
MA:
- 多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
-
协议思想:发送帧之前,监听信道。
-
监听结果:
-
信道空闲:
- 发送完整帧
-
信道忙:
- 推迟发送
-
-
-
信道划分:
-
1-坚持CSMA
-
1-坚持指的是对于监听信道忙之后的坚持。
-
1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
- 空闲则直接传输,不必等待。
- 忙则一直监听,直到空闲马上传输。
- 如果有冲突,站点就马上发送,避免了媒体利用率的损失。
-
优点:
- 只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
-
缺点:
- 假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
-
-
非坚持CSMA
-
非坚持指的是对于监听信道忙之后就不继续监听。
-
非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
- 空闲则直接传输,不必等待。
- 忙则等待一个随机的时间之后再进行监听。
-
优点:
- 采用随机的重发延迟时间可以减少冲突发生的可能性。
-
缺点:
- 可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
-
-
p-坚持CSMA
-
p-坚持指的是对于监听信道空闲的处理。
-
p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
- 空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
- 忙则等待一个随机的时间之后再进行监听。
-
优点:
- 既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
-
缺点:
- 发生冲突后还是要坚持把数据帧发送完,造成了浪费。
-
-
三种CSMA对比总结:
-
-
-
CSMA/CD协议
-
载波监听多点接入/碰撞检测CSMA/C(carrier sense multiple access with collision detection)
-
CS:
- 载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
-
MA:
- 多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络
- 总线型网络
-
CD:
- 碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。
- 半双工网络
-
如何确定碰撞后的重传时机:
-
截断二进制指数规避算法
- 1.确定基本退避(推迟)时间为争用期2t。
- ⒉.定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
- 3.从离散的整数集合[0,1,,2的k次方-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2r t 。
- 当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
-
-
最小帧长问题:
- 帧的传输时延至少要两倍于信号在总线中的传播时延。
- 帧长(bit)/ 数据传输速率 >= 2t
- 最小帧长 = 总线传播时延 * 数据传输速率 * 2 【2 t * 数据传输速率 】
- 以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧。
-
-
CSMA/CA协议
-
载波监听多点接入/碰撞避免CSMA/CA (carrier sense multiple access with collision avoidance)
-
应用于无线局域网
-
无法做到360°全面检测碰撞
-
隐蔽站
- 当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突.
-
-
CSMA/CA协议工作原理
-
发送数据前,先检测信道是否空闲。
- 空闲则发出RTS (request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。
- 信道忙则等待。
-
接收端收到RTS后,将响应CTS (clear to send) 。
-
发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
-
接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。
-
发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
-
-
实现的三种方法避免碰撞:
- 预约信道
- ACK帧
- RTS/CTS帧(可选)
-
-
CSMA/CD与CSMA/CA
-
相同的:
- CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。
-
不同点:
-
传输介质不同:
- CSMA/CD用于总线式以太网【有线】,而CSMA/CA用于无线局域网【无线】。
-
载波检测方式不同:
- 因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
-
CSMA/CD检测冲突,CSMA/CA避免冲突,两者出现冲突后都会进行有上限的重传。
- 子主题 1
-
-
-
-
-
多路复用技术:
- 把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。
-
局域网基本概念和体系结构:
-
局域网(Local Area Network):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。
-
局域网特点:
- 覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
- 使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~10Gb/s)。
- 通信延迟时间短,误码率低,可靠性较高。
- 各站为平等关系,共享传输信道。
- 多采用分布式控制和广播式通信,能进行广播和组播。
-
决定局域网的主要要素为:
-
网络拓扑
-
星型拓扑
- 中心节点是控制中心,任意两个节点间的通信最多只需两步,传输速度快,并且网络构形简单、建网容易、便于控制和管理。但这种网络系统,网络可靠性低,网络共享能力差,有单点故障问题。
-
总线型拓扑
- 网络可靠性高、网络节点间响应速度快、共享资源能力强、设备投入量少、成本低、安装使用方便,当某个工作站节点出现故障时,对整个网络系统影响小。
-
环形拓扑
- 系统中通信设备和线路比较节省。有单点故障问题;由于环路是封闭的,所以不便于扩充,系统响应延时长,且信息传输效率相对较低。
-
树型拓扑
- 易于拓展,易于隔离故障,也容易有单点故障。
-
-
传输介质
-
有线局域网
- 常用介质:双绞线、同轴电缆、光纤
-
无线局域网
- 常用介质:电磁波
-
-
介质访问控制方法
-
CSMA/CD
- 常用于总线型局域网,也用于树型网络
-
令牌总线
-
常用于总线型局域网,也用于树型网络
- 它是把总线型或树型网络中的各个工作站按一定顺序如按接口地址大小排列形成一个逻辑环。只有令牌持有者才能控制总线,才有发送信息的权力。
-
-
令牌环
- 用于环形局域网,如令牌环网
-
-
-
局域网的分类:
-
以太网
- 以太网是应用最为广泛的局域网,包括标准以太网(10Mbps)、快速以太网(100Mbps) 、千兆以太网(1000 Mbps)和10G以太网,它们都符合IEEE802.3系列标准规范。逻辑拓扑总线型,物理拓扑是星型或拓展星型。使用CSMA/CD.
-
令牌环网
- 物理上采用了星形拓扑结构,逻辑上是环形拓扑结构。已是“明日黄花”。
-
FDDI网(Fiber Distributed Data Interface)
- 物理上采用了双环拓扑结构,逻辑上是环形拓扑结构。
-
ATM网(Asynchronous Transfer Mode)
- 较新型的单元交换技术,使用53字节固定长度的单元进行交换。
-
无线局域网(wireless Local Area Network;WLAN)
- 采用IEEE 802.11标准。
-
-
-
IEEE 802标准
- IEEE 802系列标准是IEEE 802 LAN/MAN标准委员会制定的局域网、城域网技术标准(1980年2月成立)。其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列标准中的每一个子标准都由委员会中的一个专门工作组负责。
-
链路层的两个控制子层
-
MAC子层和LLC子层
-
IEEE 802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC子层。
-
LLC负责识别网络层协议,然后对它们进行封装。LLC报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理。为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传送。
-
MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性。
-
-
以太网
-
以太网(Ethernet)指的是由xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术。
-
以太网在局域网各种技术中占统治性地位:
- 1.造价低廉(以太网网卡不到100块);
- 2.是应用最广泛的局域网技术;
- 3.比令牌环网、ATM网便宜,简单;
- 4.满足网络速率要求:10Mb/s~10Gb/s.
-
以太网两个标准:
- DIX Ethernet V2:第一个局域网产品(以太网)规约。
- IEEE 802.3:IEEE 802委员会802.3工作组制定的第一个IEEE的以太网标准。(帧格式有一丢丢改动)
-
以太网提供无连接、不可靠的服务
-
以太网只实现无差错接收,不实现可靠传输。
-
无连接
- 发送方和接收方之间无“握手过程”。
-
不可靠
- 不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
-
-
1OBASE-T以太网
- 10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s。
- 物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m。
- 采用曼彻斯特编码。
- 采用CSMA/CD介质访问控制。
-
适配器与MAC地址
-
计算机与外界有局域网的连接是通过通信适配器的。
-
在局域网中,硬件地址又称为物理地址,或MAC地址。【实际上是标识符】
- MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-b1-21。
-
-
以太网MAC帧
-
与IEEE 802.3的区别:
- 1.第三个字段是长度/类型
- 2.当长度/类型字段值小于Ox0600时,数据字段必须装入LLC子层。
-
-
高速以太网
-
速率≥100Mb/s的以太网称为高速以太网。
-
100BASE-T以太网
- 在双绞线上传送100Mb/s基带信号的星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。
- 支持全双工和半双工,可在全双工方式下工作而无冲突。
-
吉比特以太网
- 在光纤或双绞线上传送1Gb/s信号。
- 支持全双工和半双工,可在全双工方式下工作而无冲突。
-
10吉比特
- 10吉比特以太网在光纤上传送10Gb/s信号。
- 只支持全双工,无争用问题。
-
无线局域网
-
有固定基础设施无线局域网
-
无固定基础设施无线局域网的自组织网络
PPP协议和HDLC协议
-
主要应用于广域网
- 广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
- 广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网。
-
PPP协议
-
特点:
- 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。
- 只支持全双工链路
-
应满足的要求
-
简单
- 对于链路层的帧,无需纠错,无需序号,无需流量控制。
-
封装成帧
- 帧定界符
-
透明传输
- 与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充。
-
多种网络层协议
- 封装的IP数据报可以采用多种协议。
-
多种类型链路
- 串行/并行,同步/异步,电/光…
-
错差检测
- 错就丢弃
-
检测连接状态
- 链路是否正常工作
-
最大传送单元
- 数据部分最大长度MTU
-
网络层地址协商
- 知道通信双方的网络层地址
-
数据压缩协商
-
-
不需要满足的要求
- 纠错
- 流量控制
- 序号
- 不支持多点线路
-
三个组成部分
- 1,一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。
- ⒉.链路控制协议LCP:建立并维护数据链路连接。【身份验证】
- 3.网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
-
PPP协议的状态图
-
PPP协议的帧格式
-
-
HDLC协议
-
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的.
- 数据报文可透明传输,用于实现透明传输的“O比特插入法”易于硬件实现
- 采用全双工通信
- 所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。
-
HDLC的站
-
主站
- 主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。
-
从站
- 从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。
-
复合站
- 复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。
-
三种数据操作方式:
- 正常响应方式
- 异步平衡方式
- 异步响应方式
-
-
HDLC的帧格式
- 1)信息帧(I)第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认;
- 2)监督帧(S)10,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能
- 3)无编号帧(U) 11,用于提供对链路的建立、拆除等多种控制功能。
-
-
PPP协议&HDLC协议
- HDLC、PPP只支持全双工链路。
- 都可以实现透明传输。
- 都可以实现差错检测,但不纠正差错。
链路层的设备:
-
物理层扩展以太网
- 光纤
- 主干集线器
-
链路层扩展以太网
-
网桥
-
网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。
-
网段:一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。
-
优点:
- 1,过滤通信量,增大吞吐量。
- 2,扩大了物理范围。
- 3,提高了可靠性。
- 4.可互连不同物理层、不同MAC子层和不同速率的以太网。
-
分类:
-
透明网桥:
- “透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备―-自学习。
-
源路由网桥:
-
在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
-
方法:
- 源站以广播的方式向欲通信的目的站发送一个发现帧。
-
-
-
-
多接口网桥–以太网交换机:
-
交换方式
-
直通式交换机
- 查完目的地址(6B)就立刻转发。
- 延迟小,可靠性低,无法支持具有不同速率的端口的交换。
-
存储转发式交换机
- 将帧放入高速缓存,并检查否正确,正确则转发,错误则丢弃。
- 延迟大,可靠性高,可以支持具有不同速率的端口的交换。
-
-
-
-
冲突域和广播域
-
冲突域
- 在同一个冲突域中的每一个节点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。
-
广播域
- 网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域。
-
网络层
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。
网络传输单位是数据报。
功能:
- 路由选择与分组转发。【最佳路径】
- 异构网络互联。
- 拥塞控制。
数据交换
-
数据交换方式
-
电路交换
-
电路交换的阶段:
-
建立连接(呼叫/电路建立)
-
通信
-
特点:
- 独占资源
-
-
释放连接(拆除电路)
-
-
优点:
- 通信时延小
- 有序传输
- 没有冲突
- 实时性强
-
缺点:
- 建立连接时间长
- 线路独占,使用效率低
- 灵活性差
- 无差错控制能力
-
-
报文交换
-
报文:
- 源应用发送的信息整体。
-
优点:
- 无需建立连接
- 存储转发,动态分配线路
- 线路可靠性较高
- 线路利用率较高
- 多目标服务
-
缺点:
- 有存储转发时延
- 报文大小不定,需要网络节点有较大的缓存空间
-
-
分组交换
-
数据报方式
-
数据报方式为网络层提供无连接服务。
-
无连接服务:
- 不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。
-
-
每个分组携带源和目的地址
-
路由器根据分组的目的地址转发分组:
- 基于路由协议/算法构建转发表;检索转发表;每个分组独立选路。
-
-
虚电路方式
-
虚电路方式为网络层提供连接服务。
-
连接服务:
- 首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。
-
-
虚电路将数据报方式和电路交换方式结合,以发挥两者的优点。
-
虚电路:
- 一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张虚电路表,每一项纪录了一个打开的虚电路的信息。
-
通信过程:
-
建立连接(虚电路建立)
- 每一个分组携带虚电路号,而非目的的地址。
源主机发送“呼叫请求”分组并收到“呼叫应答”分组后才算建立连接。
- 每一个分组携带虚电路号,而非目的的地址。
-
数据传输
- 全双工通信
-
释放连接(虚电路释放)
- 源主机发送“释放请求”分组以拆除虚电路。
-
-
-
数据报&虚电路
-
分组:
- 把大的数据块分割成小的数据块。
-
优点:
- 无需建立连接
- 存储转发,动态分配线路
- 线路可靠性较高
- 线路利用率较高
- 相对于报文交换,存储管理更容易
-
缺点:
- 有存储转发时延
- 需要传输额外的信息量
- 乱序到目的主机时,要对分组排序重组
-
-
三种数据交换方式比较:
- 报文交换 和分组交换都采用存储转发。
- 传送数据量大,且传送时间远大于呼叫时,选择电路交换。电路交换传输时延最小。
- 从信道利用率看,报文交换和分组交换优于电路交换,其中分组交换时延更小。
-
-
路由算法与路由协议
-
最佳路由:
- “最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。
-
路由算法的分类:
-
静态路由算法(非自适应路由算法)
-
管理员手工配置路由信息。
-
优点:
- 简便、可靠,在符合稳定,拓扑变化不大的网络中运行效果很好,广泛用于高度安全性的军事网络和较小的商业网络。
-
缺点:
- 路由更新慢,不适用大型网络。
-
-
-
动态路由算法(自适应的路由算法)
-
路由器间彼此交换信息,按照路由算法优化出路由表项。
-
优点:
- 路由更新快,使用与大型网络,及时响应链路费用或网络拓扑变化。
-
缺点:
- 算法复杂,增加网络负担。
-
-
全局性:
- 链路状态路由算法 (OSPF)
- 所有路由器掌握完整的网络拓扑和链路费用信息。
-
分散性:
- 距离向量算法(RIP)
- 路由器只掌握物理相连的邻居及链路费用。
-
-
-
分层次的路由选择协议:
-
因特网规模很大
-
许多单位不想让外界知道自己的路由选择协议,但还想连入因特网
-
自治系统AS:
- 在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。-
- 一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。
-
-
路由选择协议:
-
内部网关协议IGP【一个AS内使用的 】
- RIP
- OSPF
-
外部网关协议EGP【AS之间使用的】
- BGP
-
-
-
-
IP数据报格式
-
首部格式:
-
版本:
- IPv4 / IPv6 ?
-
首部长度:
- 单位是4B,最小值为5。
-
区分服务:
- 指示期望获得哪种类型的服务。
-
总长度:
- 首部+数据 , 单位是1B。
-
生存时间(TTL):
- IP分组的保质期。经过一个路由-1,变成0则丢弃。
-
协议:
- 数据部分的协议。
-
首部检验和:
- 只检验首部。
-
源IP地址和目的IP地址:
- 32位。
-
可选字段:
- 0~40B,用来支持排错、测量以及安全等措施。
-
填充:
- 全0,把首部补成4B的整数倍。
-
标识:
- 同一数据报的分片使用同一标识。
-
标志:
-
只要2位有意义x _ _
-
中间位DF(Don’t Fragment):
- DF = 1 ,禁止分片
- DF = 0 ,允许分片
-
最低位MF(More Fragment) :
- MF = 1 ,后面“还有分片”
- MF = 0, 代表最后一片/没分片
-
-
-
片偏移:
- 指出较长分组分片后,某片在原分组中的相对位置。以8B为单位。
- 除了最后一个分片,每个分片长度一定是8B的整数倍。
-
-
-
IP数据报分片
-
最大传送单元MTU:
- 链路层数据帧可封装数据的上限。
- 以太网的MTU是1500字节。
-
-
ip地址:
-
全世界唯一的32位/4字节标识符,标识路由器主机的接口。
-
ip地址::{<网络号>,<主机号>}
-
IP编址的历史阶段:
-
分类的IP地址
-
弱点:
- IP地址空间的利用率有时很低。
- 两级IP地址不够灵活。
-
-
子网的划分
-
构成超网(无分类编址方法CIDR)
-
无分类域间路由选择CIDR
-
特点:
-
消除了传统的A类,B类和C类地址以及划分子网的概念。
- CIDR记法:IP地址后加上 “ / ”,然后写上网络前缀(可以任意长度)的位数。
-
融合子网地址与子网掩码,方便子网划分。
- CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
-
-
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。
- 方法:将网络前缀缩短。
-
使用CIDR时,查找路由表可能得到几个匹配结果,应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。
-
-
-
网络地址转换NAT(Network Address Translation)
-
在专用网连接到因特网的路由器上安装NAT软件,安装NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
-
全球IP地址:173.38.1.5
-
NAT转换表
-
路由表中:
- 目的网络地址
- 目的网络子网掩码
- 下一跳地址
-
-
路由器转发分组的算法:
- 提取目的的IP地址
- 是否直接交付
- 特定主机路由
- 检测路由表中有无路径
- 默认路由0.0.0.0
- 丢弃,报告转发分组出错
ARP协议:
-
由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。
-
ARP高速缓存(完成主机或路由器IP地址与MAC地址的映射)
- 解决下一跳走哪的问题。
-
ARP协议使用过程:
- 检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求,目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10 - 20min更新一次。)
-
ARP协议4种典型情况:
- 主机A发给本网络上的主机B:用ARP找到主机B的硬件地址。
- 主机A发给另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址。
- 路由器发给本网络的主机A:用ARP找到主机A的硬件地址。
- 路由器发给另一个网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。
-
ARP协议自动触发。
DHCP协议:
-
主机如何获得IP地址:
-
静态配置
- IP地址
- 子网掩码
- 默认网关
-
动态配置
-
-
动态主机配置协议DHCP是应用层的协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP。
-
DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租。
-
工作流程:
-
主机广播DHCP发现报文
- 试图找到网络中的服务器,服务器获得一个IP地址。
-
DHCP服务器广播DHCP提供报文
- 服务器拟分配给主机一个IP地址及相关配置,先到先得。
-
主机广播DHCP请求报文
- 主机向服务器请求提供IP地址。
-
DHCP服务器广播DHCP确认报文
- 正式将IP地址分配给主机。
-
ICMP协议:
-
网际控制报文协议ICMP
-
ICMP协议支持主机或路由器:
-
差错(或异常)报告
- 发送特定ICMP报文
-
网络探询
-
-
ICMP差错报文
-
五种情况:
-
终点不可达:
- 当路由器或主机不能交付数据报时就向源点发送终点不可达报文。【无法交付】
-
源点抑制:
- 当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送数据速率放慢。【拥塞丢数据】
-
时间超过:
- 当路由器收到生存时间TTL = 0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。
- 当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
-
参数问题:
- 当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
-
改变路由(重定向):
- 路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。
-
-
ICMP差错报告报文数据字段:
-
不应发送ICMP差错报文的情况:
- 对ICMP差错报告报文不再发送ICMP差错报告报文。
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
- 对具有组播地址的数据报都不发送ICMP差错报告报文。
- 对具有特殊地址(如127.0.0.0或0.0.0.0 )的数据报不发送ICMP差错报告报文。
-
-
ICMP询问报文
-
回送请求和回答报文
- 主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。测试目的站是否可达以及了解其相关状态。
-
时间戳请求和回答报文
- 请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间。
-
掩码地址请求和回答报文
-
路由器询问和通告报文
-
-
ICMP的应用
-
PING
- 测试两个主机之间的连通性,使用了ICMP回送请求和回答报文。
-
Traceroute
- 跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。
-
IPv6:
-
IPv6数据报格式:
-
版本:
- 指明协议版本,总是6
-
优先级:
- 区分数据报的类别和优先级
-
流标签:
- “流”是互联网络上从特定源点到特定终点的一系列数据报。所有属于同一个流的数据报都具有同样的流标签。
-
下一个首部:
- 标识下一个扩展首部或上层协议首部。
-
跳数限制:
- 相当于IPv4的TTL。
-
-
IPv6和IPv4的不同:
- IPv6将地址从32位(4B)扩大到128位(16B),更大的地址空间。
- IPv6将IPv4的校验和字段彻底移除,以减少每跳的处理时间。
- IPv6将IPv4的可选字段移出首部,变成了扩展首部,称为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。
- IPv6支持即插即用(即自动配置),不需要DHCP协议。
- IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍。
- IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。
- ICMPv6:附加报文类型“分组过大”。
- IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。
- IPv6取消了协议字段,改成下一个首部字段。
- IPv6取消了总长度字段,改用有效载荷长度字段。
- IPv6取消了服务类型字段。
-
IP地址表示形式:
-
一般形式【冒号十六进制记法】:
- 4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2170
-
压缩形式:
-
4BF5:0000:0000:0000:BA5F:039A:000A:2176
- 4BF5:0;0:0:BA5F:39A:A:2176
-
零压缩:一连串连续的0可以被一对冒号取代。
-
FF05:0:0:0:0:0:0:B3
- FF05::B3
-
双冒号表示法在一个地址中仅可出现一次。
-
-
-
-
IPv6基本地址类型:
-
单播:
- 一对一通信
- 可做源地址+目的地址
-
多播:
- 一对多通信
- 可做目的地址
-
任播:
- 一对多中的一个通信
- 可做目的地址
-
-
IPv6向IPv4过渡的策略:
-
双栈协议:
- 双栈协议技术就是指在一台设备上同时启用了IPv4协议栈和IPv6协议栈。这样的话,这台设备既能和IPv4网络通信,又能和IPv6网络通信。
- 如果这台设备是一个路由器,那么这台路由器的不同接口上,分别配置了IPv4地址和IPv6地址,并很可能分别连接了IPv4网络和IPv6网络。
- 如果这台设备是一个计算机,那么它将同时拥有IPv4地址和IPv6地址,并具备同时处理这两个协议地址的功能。
-
隧道技术:
- 通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其他协议的数据帧或包重新封装然后通过隧道发送。
-
RIP协议及距离向量算法:
-
RIP协议:
-
RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大的优点是简单。
-
RIP协议要求网络中的每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录。(即一组距离)
-
RIP协议只适用于小互联网。
-
RIP协议和谁交换?多久交换一次?交换什么?
- 仅和相邻路由器交换信息。
- 路由器交换的信息是自己的路由表。
- 每30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s没收到邻居路由器的通告,则判定邻居没了,并更新自己路由表。
- 路由器刚开始工作时,只知道直连连接的网络的距离(距离为1),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
- 经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即‘收敛“。
-
RIP协议的报文格式:
-
RIP是应用层协议,使用UDP传送数据。
-
一个RIP报文最多可包括25个路由,如超过,必须再用一个RIP报文传送。
-
-
RIP的特点:
- 当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,“慢收敛”。【好消息传的快,坏消息传的慢】
-
-
距离:
- 通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1.RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。
-
距离向量算法:
-
修改相邻路由器发来的RIP报文中的所有表项。
- 对地址为x的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为X,并把所有的“距离”字段+1。
-
对修改后的RIP报文中的每一个项目,进行以下步骤:
-
R1路由表中若没有Net3,则把该项目填入R1路由表
-
R1路由表中若有Net3,则查看下一跳路由器地址:
- 若下一跳是X,则用收到的项目替换源路由表中的项目;
- 若下一跳不是X,原来距离比从X走的距离远则更新,否则不作处理。
-
-
若180s还没收到相邻路由器X的更新路由表,则把X记为不可达的路由器,即把距离设置为16.
-
返回
-
OSPF协议及链路状态算法:
-
开放最短路径优先OSPF协议:“开放”标明OSPF不是受某一家厂商控制,而是公开发表的;“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。
-
OSPF最主要的特征就是使用分布式的链路状态协议。
-
OSPF的特点:
-
使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。【广播】
- 最终整个区域内所有的路由器都得到了这个信息的一个副本。
-
发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价 --费用、距离、时延、带宽等)。
-
只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息。
-
最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。
-
-
OSPR的区域:
- 为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域。
- 每一个区域都有一个32位的区域标识符(用点分十进制表示)。
- 区域也不能太大,在一个区域内的路由器最好不超过200个。
-
OSPF分组:
-
OSPF直接用IP数据报传送。
-
网络层协议。
-
-
OSPF的其他特点:
- 每隔30min,要刷新一次数据库中的链路状态。
- 由于一个路由器的链路状态只涉及到与相邻路由器的联通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好得多。
- OSPF不存在坏消息传的慢的问题,它的收敛速度很快。
-
链路状态路由算法:
-
每个路由器发现它的邻居结点【HELLO问候分组】,并了解邻居节点的网络地址。
-
设置到它的每个邻居的成本度量metric。
-
构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
-
如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有的或者是更新的,则发送【LSR链路状态请求分组】请求自己没有的和比自己更新的信息。
-
收到邻站的LSR分组后,发送【LSU链路状态更新分组】进行更新。
-
更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认。
-
只要一个路由器的链路状态发生变化:
- 泛洪发送【LSU链路状态更新分组】进行更新。
- 更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认。
- 使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径。
-
BGP协议:
-
与其他AS的邻站BGP发言人交换信息。
-
交换的网络可达性的信息,即要到达某个网络所要经过的一系列的AS。
-
发生变化时更新有变化的部分。
-
BGP协议交换信息的过程:
- BGP所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的的策略从收到的路由信息中找出到达各AS的较好路由。
- 一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,即通过TCP传送,然后在此连接上交换BGP报文以建立BGP会话(session),利用BGP会话交换路由信息。
-
BGP协议报文格式:
-
BGP是应用层协议,借助TCP传送。
-
-
BGP协议特点:
- BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
- 在BGP刚刚运行时,BGP的邻站是交换整个的BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
-
BGP-4的四种报文:
-
OPEN(打开)报文:
- 用来与相邻的另一个BGP发言人建立关系,并认证发送方。
-
UPDATE(更新)报文;
- 通告新路径或撤销原路径。
-
KEEPALIVE(保活)报文:
- 在无UPDATE时,周期性证实邻站的连通性;也作为OPEN的确认。
-
NOTIFICATION(通知)报文:
- 报告先前报文的差错;也被用于关闭连接。
-
三种路由协议比较:
-
RIP是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。
- RU
-
OSPF是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如UDP或TCP),而是直接采用IP。
- OI
-
BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。
- BT
IP组播:
-
IP数据报的三种传输方式:
-
单播
- 单播用于发送数据包到单个目的地,且每发送一份单播报文都使用一个单播IP地址作为目的地址。是一种点对点传输方式。
-
广播
- 广播式指发送数据包到同一广播域或子网内的所有设备的一种数据传输方式,是一种点对多点传输方式。
-
组播(多播)
-
当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点才开始复制和分发,是一种点对多点传输方式。
-
组播提高了数据传输效率,减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持。)
- 运行组播协议的路由器。
-
-
-
IP组播地址:
-
IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。
-
组播地址范围为224.0.0.0 ~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。
-
特点:
- 组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP。
- 对组播数据报不产生ICMP差错报文。
- 并非所有D类地址都可以作为组播地址。
-
-
硬件组播:
-
同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的。
-
TCP/IP协议使用的以太网多播地址的范围是:
- 收到多播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃。
-
-
网际组管理IGMP协议:
-
IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播组。
-
ICMP和IGMP都使用IP数据报传递报文。
-
IGMP工作的两个阶段:
-
ROUND 1:
- 某主机要加入组播组时,该主机向组播组的组播地址发送一个lGMP报文,声明自己要称为该组的成员。
- 本地组播路由器收到IGMP报文后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器。
-
ROUND 2:
- 本地组播路由器周期性探询本地局域网上的主机,以便知道这些主机是否还是组播组的成员。
- 只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的;如果经过几次探询后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器。
-
-
-
组播路由选择协议:
-
组播路由协议目的是找出以源主机为根节点的组播转发树。
-
构造树可以避免在路由器之间兜圈子。
-
对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。
-
组播路由选择协议常使用的三种算法:
- 基于链路状态的路由选绎
- 基于距离-向量的路由选择
- 协议无关的组播(稀疏/密集)
-
移动IP:
-
移动Ip技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
-
移动IP相关术语:
-
移动结点:
- 具有永久IP地址的移动设备。
-
归属代理(本地代理)
- 一个移动结点拥有的就“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。
-
外部代理(外地代理)
- 在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。
-
永久地址(归属地址/主地址)
- 移动站点在归属网络中的原始地址。
-
转交地址(辅地址)
- 移动站点在外部网络中使用的临时地址。
-
-
移动IP通信过程:
-
A刚进入外部网络:
- 1.在外部代理登记获得一个转交地址,离开时注销。
- ⒉.外地代理向本地代理登记转交地址。
-
B给A发送数据报:
- 1.本地代理截获数据报。
- 2.本地代理再封装数据报,新的数据报目的地址是转交地址,发给外部代理(隧道)。
- 3.外部代理拆封数据报并发给A。
-
A给B发送数据报:
- A用自己的主地址作为数据报源地址,用B的IP地址作为数据报的目的地址。
-
A移动到了下一个网络:
- 1.在新外部代理登记注册一个转交地址。
- ⒉新外部代理给本地代理发送新的转交地址(覆盖旧的)。
- 3.通信。
-
A回到了归属网络:
- 1.A向本地代理注销转交地址。
- ⒉按原始方式通信。
-
网络层设备:
-
路由器:
-
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。
-
路由选择:
- 根据所选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。
-
分组转发:
- 交换结构:根据转发表(路由表得来)对分组进行转发。
- 若收到RIP/OSPF分组等,则把分组送往路由选择处理机;
若收到数据分组,则查找转发表并输出。
-
输入端对线路上收到的分组的处理:
- 输入端口中的查找和转发功能在路由器的交换功能中是最重要的。
-
输出端口的处理:
- 若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
- 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
-
-
三层设备的区别:
-
路由器:
- 可以互联两个不同网络层协议的网段。
-
网桥:
- 可以互联两个物理层和链路层不同的网段。
-
集线器:
- 不能互联两个物理层不同的网段。
-
-
路由表与路由转发:
-
路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现。
-
转发表:
- 转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。转发表必须包含完成转发功能所必需的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。
-
传输层
只有主机才有的层次【为应用层提供通信服务,使用网络层的服务】
功能:
- 传输层提供进程和进程之间的逻辑通信。
- 复用和分用
- 传输层对收到的报文进行差错检测。
传输层的两种协议:
-
TCP
-
面向连接的传输控制协议TCP
-
传送数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。
-
特点:
- 可靠,面向连接,时延大,适用于大文件。
-
-
UDP
-
无连接的用户数据报协议UDP
-
传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。
-
特点:
- 不可靠,无连接,时延下,适用于小文件。
-
传输层的寻址与端口
-
分用和复用:
-
复用:
- 应用层所有的应用进程都可以通过传输层再传输到网络层。
-
分用:
- 传输层从网络层收到数据后交付指明的应用进程。
-
-
端口【逻辑端口/软件端口】
-
是传输层的SAP(服务访问点),标识主机中的应用进程。
-
端口号
-
端口号只有本地意义,在因特网中不同计算机的相同端口号是没有联系的。
-
端口号长度为16bit,能标识65536个不同的端口号。
-
按范围分:
-
服务端使用的端口号
-
熟知端口号(0~1023):
- 给TCP/IP最重要的一些应用程序,让所有用户都知道。
-
登记端口号(1024~49151):
- 为没有熟知端口号的应用程序使用的。
-
-
客户端使用的端口号(49152~65535)
- 仅在客户进程运行时才动态选择。
-
-
-
-
套接字:
- 套接字Socket = (主机IP地址,端口号)
- 在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。
UDP协议
-
UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。
-
主要特点:
-
UDP是无连接的,减少开销和发送数据之前的时延。
-
UDP使用最大努力交付,即不保证可靠交付。
-
UDP是面向报文的,适合一次性传输少量数据的网络应用。
- 应用层给UDP多长的报文,UDP就照样发送,即一次发送一个完整报文。
-
UDP无拥塞控制,适合很多实时应用。
-
UDP首部开销小,8B,TCP20B。
-
-
UDP首部格式 :
-
源端口:
- 源端口号。在需要对方回信时选用。不需要时可用全0。
-
目的端口:
- 目的端口号。这在终点交付报文时必须使用。
-
长度:
- UDP用户数据报的长度,其最小值是8(仅有首部)
-
检验和:
-
检测UDP用户数据报在传输中是否用错。有错就丢弃。
- eg:分用时,找不到对应的目的端口号,就丢弃报文,并发给发送方ICMP“端口不可达”差错报告报文。
-
UDP校验过程
-
伪首部:
-
只有在计算检验和时才出现,不向下传送也不向上递交。
-
伪首部校验
-
在发送端:
- 填上伪首部
- 全0填充检验和字段
- 全0填充数据部分(UDP数据报要看成许多4B的字串接起来)
- 伪首部+首部+数据部分采用二进制反码求和
- 把和求反码填入检验和字段
- 去掉伪首部,发送
-
在接收端:
- 填上伪首部
- 伪首部+首部+数据部分采用二进制反码求和
- 结果全为1则无差错,否则丢弃数据报/交给应用层附上出差错的警告。
-
-
-
17:
- 封装UDP报文的IP数据报首部协议字段是17。
-
UDP长度:
- UDP首部8B+数据部分长度(不包括伪首部)。
-
-
-
TCP协议
-
特点:
-
TCP是面向连接(虚连接)的传输协议。eg:打电话
-
每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
-
TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。可靠有序,不丢不重。
-
TCP提供全双工通信。
-
发送缓存:
- 准备发送的数据&已发送但尚未收到确认的数据
-
接收缓存:
- 按序到达但尚未被接受应用程序读取的数据&不按序到达的数据
-
-
TCP面向字节流
-
流:
- 流入到进程或从进程流出的字节序列。
-
TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流。
-
-
-
TCP报文段首部格式
-
序号(seq):
- 在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,本字段表示本报文段所发送数据的第一个字节的序号。
-
确认号:
- 期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N,则证明到序号N~1为止的所有数据都已正确收到。
-
数据偏移(首部长度):
- TCP报文段的数据起始处距离TCP报文段的起始处有多远,以4B位单位,即一个数值是4B。
-
6个控制位:
-
紧急位URG:
- URG = 1时,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用。
-
确认位ACK:
- ACK = 1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。
-
推送位PSH:
- PSH = 1时,接收方尽快交付接收应用进程,不再等到缓存填满再向上交付。
-
复位RST:
- RST = 1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输链接。
-
同步位SYN:
- SYN = 1时,表明是一个连接请求/连接请求接受报文。
-
终止位FIN:
- FIN = 1时,表明此报文段发送方数据已发完,要求释放连接。
-
-
窗口:
- 指的是发送本报文段的一方的接受窗口,即现在允许对方发送的数据量。
-
校验和:
- 检查首部+数据,检验时要加上12B伪首部,第四个字段为6。
-
紧急指针;
- URG = 1时才有意义,指出本报文段中紧急数据的字节数。
-
选项:
- 最大报文段长度MSS、窗口扩大、时间戳、选择确认…
-
-
TCP连接管理:
-
TCP连接传输的三个阶段:
-
连接建立
-
TCP连接的建立采用客户服务器方式。
- 主动发起连接建立的应用进程叫做客户。
- 而被动等待连接建立的应用进程叫服务器。
-
假设运行在一台主机(客户)上的一个进程想与另一台主机(服务器)上的一个进程建立一条连接,客户应用进程首先通知客户TCP,它想建立一个与服务器上某个进程之间的连接,客户中的TCP会用以下的步骤与服务器中的TCP建立一条TCP连接:
-
ROUND1:
-
客户端发送连接请求报文段,无应用层数据。
-
SYN = 1
- 同步位为1,表示请求建立连接。
-
seq = x(随机)
- 发送的随机产生的报文段的随机的一个序号为x的。
-
-
ROUND2:
-
服务器端为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据。
-
SYN = 1
- 同步位为1,表示同意请求建立连接。
-
ACK = 1
- 确认位为1,在连接建立后将其为1。
-
seq = y(随机)
- 确认字节,主机随机分配的。
-
ack= x + 1
- 表示x即x之前的报文段已收到,想要接受x+1之后的报文。
-
-
ROUND 3:
-
客户端为该TCP连接分配缓存和变量,并向服务器端返回确认的确认,可以携带数据。
-
SYN = 0
- 同步位为0,表示连接建立。
-
ACK = 1
- 确认位为1,在连接建立后将其为1。
-
seq = x + 1
- 所发送报文段的第一个字节为x+1
-
ack = y + 1
- 期望收到的下一个序号就是y+1
-
-
-
SYN洪泛攻击
-
SYN洪泛攻击发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手。攻击者发送TCP SYN,SYN是TCP三次握手中的第一个收据包,而当服务器返回ACK后,该攻击者就不对其进行再确认,那这个TCP链接就处于挂起状态,也就是所谓的半连接状态,服务器收不到再确认的话,还会重复发送ACK给攻击者。这样更加会浪费服务器的资源。攻击者就对服务器发送非常大量的这种TCP连接,由于每一个都没法完成三次握手,所以在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供服务了。
-
解决方法:
- SYN cookie
-
-
-
数据传送
-
连接释放
-
参与一条TCP连接的两个进程中的任何一个都能终止该连接,连接结束后,主机中的“资源”(缓存和变量)将被释放。
-
ROUND 1:
-
客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接。
-
FIN = 1
- FIN = 1时,表明此报文段发送方数据已发完,要求释放连接。
-
seq = u
- 报文段(通常没有数据)一个序号,标识此报文段。等于之前发送的数据的最后一个字节的序号+1。
-
-
ROUND 2:
-
服务器端回送一个确认报文段,客户到服务器这个方向的连接就释放了—半关闭状态。
-
ACK = 1
- ACK = 1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。
-
seq = v
- 上一个发送的报文段的最后一个字节的序号+1。
-
ack= u + 1
- 期待客户端发送序列号为u+1的报文段。
-
-
ROUND 3:
-
服务器端发完数据,就发出连接释放报文段,主动关闭TCP连接。
-
FIN = 1
- FIN = 1时,表明此报文段发送方数据已发完,要求释放连接。
-
ACK = 1
- ACK = 1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。
-
seq = w
- 取决于上一步,服务器端发送数据量的多少。
-
ack = u + 1
- 因为还是服务器端发送的,客户端没有发送数据,所以确认号还是u+1,期待客户端发送序列号为u+1 的报文段。
-
-
ROUND 4:
-
客户端回送一个确认报文段,再等到时间等待计时器设置的2MSL(最长报文段寿命)后,连接彻底关闭。
-
ACK = 1
- ACK = 1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。
-
seq= u + 1
- 取决于上一步,服务器端发送数据量的多少。
-
ack = w + 1
- 发送序列号第一个序号为w+1的报文段。
-
-
-
-
-
TCP可靠传输:
-
可靠:
- 保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的。
-
TCP实现可靠传输的机制:
-
校验:
- 与UDP校验一样,增加伪首部。
-
序号:
- 一个字节占一个序号。【序号字段指的是一个报文段第一个字节的序号。】
-
确认:
- 接收方发送给发送方的一个确认信息,指明要接收接下来的报文段。
-
重传:
-
确认重传不分家,TCP的发送方在规定的时间内(重传时间)没有收到确认就要重传已发送的报文段。超时重传。
-
TCP采用自适应算法,动态改变重传时间的RTTs(加权平均往返时间)
- 这两个时间之差就是报文段的往返时间RTT。
- TCP保留了RTT的一个加权平均往返时间RTTs(又称平滑的往返时间)
-
冗余ACK(冗余确认)
- 每当比期望序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号。
- 发送方收到3个对于报文段1的冗余ACK——>认为2号报文段丢失,重传2号报文段。 快速重传。
-
-
-
-
TCP流量控制:
-
让发送方慢点,要让接收方来得及接收。
-
TCP利用滑动窗口机制实现流量控制。
-
在通信过程中,接收方根据自己接收缓存的大小,动态的调整发送方的发送窗口的大小,即接收窗口rwnd(接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。
-
TCP为每一个连接设有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。
- 若持续计时器设置的时间到期,就发送一个零窗口探测报文段。接收方收到探测报文段时给出现在的窗口值。
- 若窗口仍然为0,那么发送方就重新设置持续计时器。
-
-
-
TCP拥塞控制:
-
出现拥塞的条件:
- 对资源需求的总和 > 可用资源
- 网络中有许多资源同时呈现供应不足 ——>网络性能变坏——>网络吞吐量将随输入负荷增大而下降
-
拥塞控制:
- 防止过多的数据注入到网络中。【全局性】
-
拥塞控制四种算法【
慢开始
拥塞避免
快重传
快恢复】:-
假定:
-
数据单方向传送,而另一个方向只传送确认
-
接收方总是有足够大的缓存空间,因而发送窗口大小取决于拥塞程度。
-
发送窗口 = Min{接收窗口rwnd ,拥塞窗口cwnd}
-
接收窗口:
- 接收方根据接收缓存设置的值,并告知给发送方,反映接收方容量。
-
拥塞窗口:
- 发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络当前容量。
-
-
-
慢开始和拥塞避免
-
一个最大报文段长度MSS
-
一个传输轮次:
- 发送了一批报文段并收到它们的确认的时间。
- 一个往返时间RTT。
- 开始发送一批拥塞窗口内的报文段到开始发送下一批拥塞窗口内的报文段的时间。
-
慢开始:
-
当主机开始发送数据时,由于并不清楚网络的负荷情况,所以如果立即把大量数据字节注入到网络,那么久有可能引起网络发生拥塞。经验证表明,较好的方法是先探测一下,即由小到大逐渐增大发送窗口,也就是说,由小到大逐渐增大拥塞窗口的数值。
-
为了防止拥塞窗口cwnd增长过大引起网络拥塞,还需要设置一个慢开始门限 ssthresh 状态变量。当出现拥塞控制,发送方判断为网络拥塞。于是调整门限值ssthresh = cwnd/2。同时设置拥塞窗口cwnd= 1,进入慢开始阶段。
-
当cwnd < ssthresh时
- 继续使用慢开始算法
-
当cwnd > ssthreah时
- 停止使用慢开始算法而改变拥塞避免算法
-
当cwnd = ssthreah时
- 既可使用慢开始算法,也可使用拥塞避免算法
-
-
-
拥塞控制:
- 让拥塞窗口cwnd缓慢地增大,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd+1,而不是像慢开始阶段那样加倍增长。因此在拥塞避免阶段就有“加法增大”AI(Additive Increase)的特点。
-
-
快重传和快恢复
-
快重传:
- 收到3个重复的确认,执行快重传算法。
- 采用快重传算法可以让发送方尽早知道发生了个别报文段的丢失。
- 快重传算法首先是要求接收方不要等待自己发送数据时才进行少带确认,而是要立即发送确认,即收到了失序的报文段也要立即发出对已收到报文段的重复确认。
-
快恢复:
- 发送方知道现在丢失了个别的报文段,于是不启动慢开始,而是执行快恢复算法。这样,发送方调整门限值ssthresh = cwnd / 2,同时设置拥塞窗口 cwnd = ssthresh,并开始执行拥塞避免算法。
-
-
-
应用层
应用层对应用程序的通信提供服务。
应用层协议定义:
- 应用程序交换的报文类型,请求还是响应?
- 各种报文类型的语法,如报文中的各个字段及其详细描述。
- 字段的语义,即包含在字段中的信息的含义。
- 进程何时、如何发送报文,以及对报文进行响应的规则。
应用层的功能:
- 文件传输、访问和管理
- 电子邮件
- 虚拟终端
- 查询服务和远程作业登录
应用层的重要协议:
- FTP
- SMTP、POP3
- HTTP
- DNS
网络应用模型
-
客户/服务器模型(Client/Server)
-
服务器:
-
提供计算服务的设备。
-
特点:
- 永久提供服务
- 永久性访问地址/域名
-
-
客户机:
-
请求计算服务的主机。
-
特点:
- 使用服务器提供的服务。
- 间歇性接入网络。
- 可能使用动态IP地址。
- 不与其他客户机直接通信。
-
-
应用:
- web
- 文件传输FTP
- 远程登录
- 电子邮件
-
-
P2P模型(Peer-to-peer)
-
特点:
- 不存在永远在线的服务器
- 每个主机既可以提供服务,也可以请求服务
- 任意端系统/节点之间可以直接通讯
- 节点间歇性接入网络
- 节点可能改变IP地址
- 可拓展性好
- 网络健壮性强
-
域名解析系统DNS
-
域名
-
根:
- .
-
顶级域名:
-
国家顶级域名
- cn:中国
- us:美国
- uk:英国
- …
-
通用顶级域名
- com:公司企业
- net:网络服务机构
- org:非盈利性组织
- int:国际组织
- edu:美国专用的教育机构
- gov:美国的政府部门
- mil:美国军事部门
- …
-
基础结构域名/反向域名
- arpa
-
-
二级域名:
-
类别域名
- ac:科研机构
- com:工、商、金融等企业
- edu:中国的教育机构
- gov:中国的政府机构
- mil:中国的国防机构
- net:提供互联网服务的机构
- org:非盈利性的组织
-
行政域名
- 用于我国各省、自治区、直辖市 (共34个) bj(北京),js(江苏省)
-
-
三级域名:
- 在某个二级域名下注册的单位就可以获得一个三级域名:比如在edu下的三级域名有:Tsinghua(清华大学)和pku(北京大学)
-
四级域名:
- 一旦某个单位拥有了一个域名,它就可以自己决定是否要进一步划分其下属的子域,并且不必由上级机构批准。
-
-
域名服务器:
-
根域名服务器
- 根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。
- 由于根域名服务器采用了任播技术,因此当DNS客户向某个根域名服务器的IP地址发出查询报文时,互联网上的路由器就能找到离这个DNS客户最近的一个根域名服务器。
-
顶级域名服务器
- 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就会给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)
-
权限域名服务器
- 一个服务器所负责管辖的(或有权限的)范围叫做区,每一个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。
- 负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。
-
本地域名服务器
- 不属于域名服务器层次结构划分。
- 当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器。
-
-
域名解析过程;
-
递归查询
- 主机向本地域名服务器的查询一般都是递归查询。
- 如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文(即替该主机继续查询),而不是让该主机自己进行下一步的查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。
-
迭代查询
-
本地域名服务器向根域名服务器的查询通常是采用迭代查询。
-
迭代查询的特点:
- 当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询(而不是替本地域名服务器进行后续的查询)根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的请求后,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应当向哪一个权限域名服务器进行查询,本地域名服务器就这样进行迭代查询。最后,知道了所要解析的域名的IP地址,然后把这个结果返回给发起查询的主机。
- 本地域名服务器也可以采用递归查询,这取决于最初的查询请求报文的设置是要求使用哪一种查询方式。
-
-
高速缓存(有时也称为高速缓存域名服务器)
- 为了提高DNS查询效率,并减轻根域名服务器的负荷和减少互联网上DNS查询报文数量。
- 高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
- 由于名字到地址的绑定并不经常改变,为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并处理超过合理时间的项(例如:每个项目只存放两天)
-
文件传送协议
-
文件传送协议FTP(File Transfer Protocol)
-
提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
-
FTP服务器和用户端
- FTP是基于客户/服务器(C/S )的协议。
- 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
- 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
- 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
-
FTP工作原理:
-
登陆:
-
ftp地址
-
用户名&密码
-
匿名登陆:
- 互联网中有很大一部分FTP服务器被称为“匿名”(Anonymous)FTP服务器。这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。
Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户,用户使用特殊的用户名“anonymous"登陆FTP服务,就可访问远程主机上公开的文件。
- 互联网中有很大一部分FTP服务器被称为“匿名”(Anonymous)FTP服务器。这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。
-
-
-
控制连接始终保持
-
数据连接保持一会
-
是否使用TCP 20端口建立数据连接与传输模式有关
- 主动方式使用 TCP 20端口
- 被动方式由服务器和客户端自行协商决定(端口 > 1024)
-
-
FTP传输模式:
-
文本模式:
- ASCII模式,以文本序列传输数据。
-
二进制模式:
- Binary模式,以二进制序列传输数据。
-
-
FTP使用TCP实现可靠传输。
-
-
简单文件传送协议TFTP(Trivial File Transfer Protocol)
-
很小且易于实现的文件传送协议。
-
特点:
- 每次传送的数据报文中有512字节的数据,但最后一次可不足512字节。
- 数据报文段按序编号,从1开始。
- 支持ASCII码或二进制传送。
- 可对文件进行读和写。
- 使用很简单的首部。
-
TFTP基于UDP协议传输。
-
-
它们都是文件共享协议中的一大类,即复制整个文件,其特点是:若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回原节点。
电子邮件:
-
电子邮件的信息格式:
-
信封:
- abc@163.com
-
内容:
-
首部:
-
TO:abc@163.com
Subject:Hello!(主题)- From:111@163.com
To:abc@163.com
Subject: Hello!
Date: 2020-11-19
…
【这些都是邮件系统自动添加的。】
- From:111@163.com
-
-
主体:
- 就是你想写的东西。
-
-
-
组成部分:
-
用户代理:
-
UA(User Agetn)就是用户与电子邮件系统的接口,在大多数情况下它就是运行在电脑中的一个程序。因此用户dialing又称为电子邮件客户端软件。用户代理给用户提供一个很友好的接口(目前主要是窗口界面)来发送和接收邮件。
-
常见的用户代理:
- 微软公司的Outlook Express
- 张小龙的Foxmail
-
具有的功能;
-
撰写:
- 给用户提供编辑信件的环境。
-
显示:
- 能方便地在计算机屏幕上显示出来信(包括来信附上的声音和图像)
-
处理:
- 处理包括发送和接收邮件。
-
通信:
- 发信人在撰写完邮件后,要利用邮件发送协议发送到用户所使用的邮件服务器。收件人在接收邮件时,要使用邮件读取协议从本地邮件服务器接收邮件。
-
-
-
邮件服务器:
-
使用客户/服务器模型(Client/Server)。
-
功能:
- 发送&接收邮件
- 向发件人报告邮件传送结果
-
-
协议:
- SMTP(发)
- POP3、IMAP(收)
-
组成结构:
-
-
简单邮件传送协议SMTP:
-
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
- 负责发送邮件的SMTP进程就是SMTP客户
- 负责接收邮件的进程就是SMTP服务器
- SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)
-
SMTP通信三个阶段:
-
连接建立:
-
邮件传送:
-
连接释放:
- 邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回“221",表示同意释放TCP连接。
-
-
SMTP的缺点:
-
SMTP不能传送可执行文件或者其他二进制对象。
-
SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。
-
SMTP服务器会拒绝超过一定长度的邮件。
-
解决:
-
通用因特网邮件扩充MIME
- 使电子邮件系统可以支持声音、图像、视频、多种国家语言等等。
- 使得传输内容丰富多彩。
-
-
-
使用TCP连接 端口号25 建立在客户/服务器模型(Client/Server)
-
-
邮局协议POP3:
-
使用TCP连接 端口号110 建立在客户/服务器模型(Client/Server)
-
POP3是一个非常简单、但功能有限的邮件读取协议。
-
POP3工作方式:
- 下载并保留(在服务器)
- 下载并删除
-
-
网际报文存取协议IMAP:
- IMAP协议比POP协议复杂。当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才能上传到用户的计算机上。
- IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WIFI的时候再下载附件)。
-
基于万维网的电子邮件:
- 不管在什么地方(在任何一个国家的网吧、宾馆或朋友家中),只要能找到上网的计算机,在打开任何一种浏览器后,就可以非常方便地收发电子邮件。
- 在浏览器和互联网上的邮件服务器直接传送邮件时,使用HTTP协议。但是在各邮件服务器之间传送邮件时,仍然使用SMTP协议。
万维网:
-
万维网概述:
- 万维网WWW(World Wide Web)是一个大规模的、联机式的信息储藏所/资料空间【资源(文字、视频、音频…)】,是无数个网络站点和网页的集合。
- 用户通过点击超链接(http://www.baidu.com)获取资源,这些资源通过超文本传输协议(HTTP)传送给使用者。
- 万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。
- 万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
-
统一资源定位符URL:
-
统一资源定位符URL____唯一标识_____>资源(文字、视频、音频…)
-
URL一般形式:
- <协议>://<主机>:<端口>/<路径> htttp://www.pku.edu.cn
http 域名
ftp ip地址 - URL不区分大小写。
- <协议>://<主机>:<端口>/<路径> htttp://www.pku.edu.cn
-
-
超文本传输协议HTTP:
-
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给服务器。
-
特点:
-
HTTP协议是无状态的。
-
同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同( 假设现在服务器还没有把该页面更新。)
-
但是在实际工作中,一些万维网站点常常希望能够识别用户。
- Cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别,如“123456”)的访问记录。
-
-
提供个性化服务:
- HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)。
-
-
HTTP的连接方式:
-
持久连接(Keep-alive):
- 非流水线
- 流水线
-
非持久连接(Close)
-
-
报文结构:
-
HTTP报文:
- 请求报文
- 响应报文
-
状态码:
- 1xx表示通知信息的,如请求收到了或正在处理。
- 2xx表示成功,如接受或知道了。
- 3xx表示重定向,如要完成请求还必须采取进一步的行动。
- 4xx表示客户的差错,如请求中有错误的语法或不能完成。
- 5xx表示服务器的差错,如服务器失效无法完成请求。
-
-
几种传输单元名词辨析:
应用层
- 报文
传输层
- 报文段
网络层
- IP数据报、分组
数据链路层
- 帧
物理层
- 比特流