导图社区 计算机网络
计算机网络的思维导图,计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统
编辑于2023-07-12 23:15:11计算机网络
第一章-计算机网络体系结构
计算机网络概述
计算机网络的基本概念
计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统
计算机网络就是一些互连的(通过通信链路互联互通)、自治(无主从关系)的计算机系统的集合
计算机网络的组成
组成部分角度
硬件,软件,协议
工作方式
边缘部分:所有连接到因特网上、供用户直接使用的主机组成 ,用来进行通信(传输数据、音频或者视频和资源共享)
用户直接使用
C/S方式
P2P方式
核心部分:大量的网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换服务
功能组成角度
通信子网(OSI七层模型的下三层):传输介质,通信设备,相应的网络协议
使得网络具有数据传输,交换,控制和存储的能力,实现联网计算机之间的数据通信
资源子网(OSI七层模型的上三层):实现资源共享功能以及软件的集合,向网络用户提供共享其他计算机硬件、软件和数据的服务
计算机网络的功能
数据通信:最基本最重要的功能,实现联网计算机之间的信息传输,将分散的计算机联系起来
资源共享:实现软件、硬件、数据的共享,使得计算机网络中的资源互通有无,分工协作,提高硬件、软件和数据资源的利用率
分布式处理:将某个计算机负载过重的任务分散到多台计算机上,提高整个系统的利用率
提高可靠性:各台计算机可以通过网络互为替代机
负载均衡:将工作任务均衡的分配给计算机网络中的各台计算机
计算机网络的分类
按分布范围
广域网
范围:提供长距离通信,运送主机发送的数据
距离:几十千米到几千千米
地位:广域网是因特网的核心部分,连接广域网的各节点交换机的链路一般是高速链路,具有较大的通信容量
采用交换技术
城域网
范围:跨越几个街区甚至几个城市
距离: 5~ 50km
地位:多采用以太网技术
局域网
范围:微机或者工作站通过高速线路相连,覆盖范围小
距离:几十米到几千米
地位:对计算机配置数量没有太多限制
采用广播技术
个人区域网
范围:个人工作的地方将电子设备用无线技术链接起来的网络
距离:区域直径为10m
按传输技术
广播式网络
所有联网计算机共享一个公共通信信道
一台计算机发送报文分组,其他计算机也能收听这个分组(根据报文目的地址进行接收)
采用广播通信技术
广域网中的无线,卫星通信网络也采用广播式通信技术
点对点网络
每个物理线路连接一对计算机
计算机通过直接或者中间结点对分组进行接收,存储和转发直到目的地
采用分组存储转发机制
按拓扑结构
星型
每个终端或者计算机都以单独的线路与中央设备相连
优点:便于集中控制和管理
缺点:成本高,中心节点对故障敏感
总线型
用单根传输线把计算机连接起来
优点:建网容易,增减节点方便,节省线路
缺点:重负载时通信效率不高,总线任意处对故障敏感
环形
所有计算机接口设备连接成一个环
典型:令牌环局域网
网状形
每个结点至少有两条链路与其他节点相连,形成一-个网状结构
优点:可靠性高
缺点;成本高控制复杂
按使用者
公用网
公众使用的网络
专用网
为满足某个部门特殊业务建立的网络(军队,电力, 铁路)
计算机的性能指标
带宽
网络在通信线路中传送该数据的能力,单位:比特/每秒
时延
发送时延
发送分组的第一个比特开始,到最后也一个比特发送结束的时间
发送时延=分组长度/信道带宽
传播时延
传播时延=信道长度/电磁波在信道上的传播速率
处理时延
数据在交换结点为存储转发而进行的一些必要的处理所花费的时间
如:分析分组的首部,从分组中提取数据部分, 差错检验,寻找适当的路由器
排队时延
分组在进入路由器后,像排队一样等待被转发的时间
时延带宽积
发送端连续发送数据且发送的第一个比特即将到达终点时 ,发送端已将发出的比特数
时延带宽积=传播时延*信道带宽
往返时延
从发送数据到接收到接收端的确认,经历的时延
吞吐量
单位时间内通过某个网络的数据量
受到网络带宽或者网络额定速率的限制
速率
连接到计算机网络上主机在数字信道上传送数据的速率(数据率或者比特率),最高的数据率即为带宽
信道利用率
某一信道有百分之多少的时间有数据通过
与时延的关系:类比路上堵车
有数据通过时间/总时间
计算机网络体系结构与参考模型
计算机网络分层结构
实体:任何可以发送或者接受信息的硬件或者软件进程
不同机器上的同一层称为对等层,同一层的实体称为对等实体
n层实体实现的服务为n+1层所利用,
服务数据单元( SDU):完成用户所要求的的功能而传送的数据,第n层为n-SDU
协议控制信息(PCI) : 控制层协议操作的信息n-PCI
协议数据单元( PDU ) : 对等层次之间传送的数据单元称为该层的PDU n-PDU
计算机网络协议、接口、服务的概念
协议
控制两个或者多个对等实体进行通信的规则集合,是水平的
不对等实体之间是没有协议的
组成
语法:规定了传输数据的格式
语义:规定了要完成的功能
同步:规定了执行各种操作的条件、时序关系
协议是水平的,是控制对等实体之间通信的规则
接口
同一节点内相邻两层间交换信息的连接点,是一个系统内部的规定
每层只能为紧邻的层次之间定义接口,不能跨层定义接口
服务
下层为紧邻的上层提供的功能调用,是垂直的
服务原语
请求:由服务用户发往服务提供者,请求完成某项任务
指示:由服务提供者发往服务用户,指示用户做某件事情
响应:由服务用户发往服务提供者,作为对指示的响应
证实:由服务提供者发往服务用户,作为请求的证实
服务的分类
面向连接服务和无连接服务
面向连接服务
通信双方必须建立连接,分配相应资源,结束后释放连接与资源(可靠服务)
阶段
连接建立
数据传输
连接释放
代表协议: TCP协议
无连接服务
通信双方不需要建立连接,直接发送数据(不可靠服务)
尽最大努力交付( IP协议、UDP协议)
可靠服务与不可靠服务
可靠服务
网络具有纠错,检错,应答机制,保证数据正确可靠的传送到目的地
不可靠服务
网络尽可能正确,可靠的传送,不能保证数据的正确,可靠的传送到目的地
可靠性由应用或者用户来保障
有应答服务与无应答服务
有应答服务
接收方在收到数据后向发送方发出相应的应答,传输系统自动实现
无应答服务
接收方受到数据后不会自动给出应答,如果需要应答就由高层实现
ISO/OSI参考模型和TCP/IP模型
ISO/OSI参考模型
目的:支持异构网络系统的互联互通
层次
物理层
传输单位:比特流
任务:透明传输的比特流
功能:物理媒体上为数据端设备透明的传输原始比特流
定义数据终端设备和数据通信设备的物理与逻辑连接方法
接口的机械形状和尺寸,交换电路的数量和排列
接口协议
EIA-232C、EIA/TIA RS-449、CCITT的X2.1等
数据链路层
传输单位:帧
任务:将网络层传来的IP数据报组装成帧
功能:成帧、差错控制、流量控制、传输管理
差错控制:对传输中受到干扰的信号进行检错,并对其丢弃
流量控制:控制发送方的速度
介质访问子层控制共享信道的访问
典型协议: SDLC HDLC PPP STP、帧中继
网络层
传输单位:数据报
任务:把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务
功能:流量控制、拥塞控制、差错控制、网际互联
拥塞控制:对网络中因为来不及接收导致大量丢失的情况,网络层采取一定的措施对拥塞进行缓解
网际互连:将大量异构网络通过路由器相互连接起来
典型协议: IP IPX ICMP ARP RARP OSPF
下三层;通信子网
传输层
传输单位:报文段(TCP)或者用户数据报(UDP)
任务:主机之间两个进程的相互通信
功能:端到端传输 流量控制 差错控制 服务质量 数据传输管理等服务
典型协议: TCP UDP
承上启下
会话层
任务:允许不同主机上的各个进程之间进行通话
功能:建立会话同步管理主机间的会话进程(建立、管理及终止)
使用校验点恢复通信,实现数据同步
表示层
任务:处理两个通信系统中交换信息的表示方式
功能:数据压缩 加密和解密 数据表示变换
应用层
任务:用户与网络的界面,为特定类型的网络应用提供访问OSI环境的手段
典型协议: FTP SMTP HTTP
上三层:资源子网
TCP/IP模型
应用层
对应OSI的会话层表示层和应用层
包含所有高层协议( Telnet FTP DNS SMTP HTTP )
传输层
对应OSI的传输层
实现发送端和目的端主机上的对等实体进行会话
传输控制协议( TCP )
面向连接(可靠交付)
数据传输的基本单位是报文段
用户数据报协议( UDP )
无连接的(不可靠交付)
传输基本单位是用户数据报(尽最大努力交付)
网际层
对应OSI的网络层
将分组发送到任何网络上,选择合适的路由
不能保证有序到达,有序交付交给高层负责
定义了IP协议IPV4 IPV6
网络接口层
对应OSI的数据链路层和物理层
指出主机必须使用的某种协议与网络连接
作用:从主机或者结点接收IP分组,并把他们发送到指定的物理网络上
TCP/IP模型与OSI模型的比较
相同
都采用分层结构
都是基于独立的协议栈的概念
都可以解决异构网络的互联,实现不同厂家的计算机的相互通信
不同
OSI精确的定义了服务接口和协议
TCP/IP没有明确区分
OSI通用性良好
TCP/IP协议是对已有协议的描述,但是不适用于其他非TCP/IP的协议栈
OSI没有考虑多种异构网络的互联问题
网络层(网际层)
OSI中支持无连接和面向连接
TCP/IP只有无连接
传输层
OSI支持面向连接的通信
TCP/IP支持面向连接和无连接的通信
第二章-物理层
通信基础
基本概念
数据
传送信息的实体,是指数据的电气或者电磁表现,是数据在传输过程中的存在形式
模拟数据(模拟信号) :连续变化的数据或者信号
数字数据(数字信号) : 取值仅允许为有限的几个离散数值的数据成为数字信号或者数字数据.
传输方式
串行传输: 一个一个的比特按照时间顺序传输
并行传输:多个比特通过多条通信信道同时传输
码元
一个固定时长的信号波形(数字脉冲)表示一个K进制数字,代表不同离散数值的基本波形
这个时长内的信号称为K进制码元
该时长称为码元宽度
信源
产生和发送数据的源头
信道
发送端信源发送的信息经过变换成合适的信号后在信道上传输到信宿
信道是信号的传输媒介
噪声源是指信道上的噪声(对信号的干扰) ,及分散在通信系统其它各处的噪声的集中表示
信宿
接受数据的终点
信号的传输形式
传送模拟信号的模拟信道
传送数字信号的数字信道
传输介质分类
无线信道
有线信道
通信交互方式
单工通信
只有一个方向的通信,没有反方向的交互(无线电广播、电视广播)
半双工通信
通信双方都可以发送或者接收信息,但是任何一方不能同时发送和接收信息(需要两条信道)
全双工通信
通信双方可以同时发送和接收信息,需要两条信道
速率
数据的传输速率,单位时间内传输的数据量
码元传输速率(码元速率,波形速率) : 单位时间内数字通信系统所传输的码元个数(单位是波特)
信息传输速率(信息速率,比特率) : 表示单位时间内数字通信系统传输的二进制码元个数(比特数)单位是比特/秒
带宽
网络的通信线路所能传输数据的能力( b/s )
奈奎斯特定理与香农定理
奈奎斯特定理
理想低通(没有噪声,带宽有限)的信道中,为避免码间串扰的极限码元传输速率为2W波特( W是理想低通信道的带宽,单位HZ )
理想低通信道下的极限数据传输速率=2Wlog2V (单位为b/s)
结论
任何信道中,码元的传输速率是有上限的
信道的频带越宽,就可以用更高的速率进行码元的有效传输
要想提高数据率,就要提高带宽/采用更好的编码技术
奈式准则给出了码元传输速率的限制,没有给出信息传输速率的限制(即一-个码元可以对应多少个二进制位给出限制)
香农定理
带宽受限且有高斯白噪声干扰的信道的极限数据传输率
信道的极限数据传输率= Wlog2(1 + S/N) ( 单位为b/s)
W为信道的带宽S为信道所传输信号的平均功率N为信道内部的高斯噪声功率
S/N为信号的平均功率和噪声的平均功率之比
信噪比(dB)=10lg(S/N)
结论
信道的带宽或者信道中的信噪比越大,信息的极限传输速率越高
对一定的传输带宽和一定的信噪比,信息传输速率的上限是确定的
只要信息的传输速率低于信道的极限传输速率,就能找到某种方法来实现无差错的传输
香农定理得出的是极限信息传输速率,实际信道的传输速率要比他低很多
编码与调制
概念
调制:数据变换为模拟信号的过程
编码:数据变换为数字信号的过程
基带传输
基带信号
来自信源的信号,像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,比如我们说话的声波就是基带信号。
基带传输
将数字信号1和0直接用两种不同的电压表示,再送到数字信道上去传输
在传输距离较近时,计算机网络采用基带传输方式(近距离衰减小,从而信号内容不易发生变化)
宽带传输
频带/宽带信号
把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输
频带/宽带传输
将基带信号进行调制后形成的频分复用模拟信号,再传送到模拟信道上去传输
在传输距离较远时,计算机网络采用宽带传输方式(远距离衰减大,即使信号变化大也能最后过滤出来基带信号)
数字数据编码为数字信号
非归零编码NRZ
用两个电压来代表两个二进制数字,低电平为0,高电平为1
优点:容易实现
缺点:无法使得双方同步没有检错功能
归零编码RZ
高1低0且信号电平在一个码元之内都要恢复到0的这种编码方式
曼彻斯特编码
将一个码元分为两个相等的间隔,前一个间隔为高电平后一个间隔为低电平表示1 ,码元0的表示方法相反。中间的跳变可作为时钟进行同步
优点:可以尽心双方的同步
缺点:占用的频带宽度是原始基带宽度的两倍,数据传输速率是码元速率的1/2
以太网使用的编码就是曼彻斯特编码
差分曼彻斯特编码
若码元为1 ,前半个码元的电平与上一个码元的后半个码元的电平相同;若码元为0 ,情况相反(同1异0)
优点:可以实现自同步,抗干扰性好
主要使用在局域网传输
4B/5B编码
比特流中插入额外的比特以打破一连串的0或1,就是用5个比特来编码4个比特的数据,之后再传给接收方,因此称为4B/5B。编码效率为80%。
数字数据调制为模拟信号
数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字信号,分别对应于调制解调器的调制和解调过程。
调幅
调频
调相
调幅+调相(QAM)
一个小计算题考点:某通信链路的波特率是1200Baud,采用4个相位,每个相位有4种振幅的QAM调制技术,则该链路的信息传输速率是多少?
1s内传输了1200个码元,而一共有4*4中波形,需要log2(16)=4个二进制位才能表示16种波形,所以信息传输速率为1200*4=4800b/s
模拟数据编码为数字信号
对音频信号的脉码调制PCM
抽样
对模拟信号周期性扫描,把时间上连续的信号变成时间上离散的信号。为了使所得的离散信号能无失真地代表被抽样的模拟数据,要使用采样定理进行采样: f采样频率≥2f信号最高频率
量化
把抽样取得的电平幅值按照一定的分级标度转化为对应的数字值,并取整数,这就把连续的电平幅值转换为离散的数字量。
编码
把量化的结果转换为与之对应的二进制编码。
模拟数据调制为模拟信号
提高信号频率(了解即可)
数据交换方式
电路交换
数据传输前,先建立起一条专用(双方独占)的物理通信路径
直通式方式传输数据
电路交换的三个阶段
连接建立
数据传输
连接释放
优点
通信时延小:通信线路双方专用,传输时延非常小
有序传输:双方通信时按发送顺序发送数据,不存在失序问题
没有冲突:不同的通信双方有着不同的信道
适用范围广:可以传输模拟信号,也可以传输数字信号
实时性强:双方的物理通路一旦建立 ,双方就可以随时通信
控制简单:电路交换的交换设备(交换机等)及控制均较简单
缺点
建立连接时间长
电路交换的平均连接建立时间对计算机通信来说时间较长
线路独占
使用效率较低,只能供通信双方使用.
灵活性差
只要通信双方的任何一点出现故障,就必须重新建立连接
难以规格化
数据的不同类型,不同规格,不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制
无数据存储能力,难以平滑通信量
报文交换
数据交换的单位是报文,报文携带有目的地址、源地址等信息
报文交换的时候使用存储转发方式
优点
无须建立连接
不需要建立专用线路,随时可以发送报文,不存在建立连接时延
动态分配线路
当发送方把报文交给交换设备时,交换设备先存储整个报文,然后选择一条合适的空闲线路,将报文发送出去
提高线路的可靠性
如果某条传输路径发生故障,那么可重新选择另一条路径传输数据,因此提高了传输的可靠性
提高线路利用率
通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分 占有这条物理通道
提供多目标服务
一个报文可以同时发送给多个目的地址
缺点
数据进入交换节点后要经过存储、转发,所以存在转发时延(包括接收报文,检验正确性,排队,发送时间等)
报文交换对报文的大小没有限制,所以网络结点要有较大的缓存空间
现已很少使用,已被分组交换取代
分组交换
采用存储转发方式,限制了每次传送的数据块的大小上限,把大的数据块划分为合理的小数据块,在加上一些必要的控制信息( 源地址,目的地址, 编号信息) , 构成分组
网络结点根据控制信息把分组送到下一结点,下一结点收到分组后暂时保存并排队等待传输,根据分组控制信息选择它的下一一个结点,直到目的结点
采用存储转发方式
优点
没有建立时延不需要
为通信双方预先建立一条专 用的通信线路,不存在连接建立时延,用户可随时发送分组
线路利用率高
通信双方不是固定占有一条通信线路 ,而是在不同的时间一-段- -段地部分 占有这条物理通路
简化了存储管理(相对于报文交换)
因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易
加速传输
分组是逐个传输的,可以使后一个分组的存储操作与前一一个分组的转发操作并行,这种流水线方式减少了报文的传输时间
传输一个分组所需的缓冲区比传输一次报文所需的缓冲区小 ,这样因缓冲区不足而等待发送的概率及时间也会少
缺点
存在传输时延
需要额外的信息量
每个小数据块都要加上源地址、目的地址和分组编号等信息
当分组交换采用数据包服务时,会出现失序,丢失或者重复分组,到达目的地后要对分组进行排序工作
如何选择?
1.传送数据量大,且传送时间远大于呼叫时,选择电路交换。电路交换传输时延最小。
2.当端到端的通路有很多段的链路组成时,采用分组交换传送数据较为合适。
3.从信道利用率上看,报文交换和分组交换优于电路交换,尤其中分组交换比报文交换的时延小,尤其适合于计算机之间的突发式的数据通信。
分组交换中的两种方式
数据报方式
基本过程
1.源主机(A) 将报文分成多个分组,依次发送到直接相连的结点(A) 。
2结点A收到分组后,对每个分组差错检测和路由选择,不同分组的下一-跳结点可能不同。
3.结点C收到分组P1后,对分组P1进行差错检测,若正确则向A发送确认信息,A收到C确认后则丢弃分组P1副本。
4.所有分组到家辽(主机B) !
特点
数据报方式为网络层提供无连接服务
同一报文的不同分组达到目的结点时可能发生乱序、重复与丢失。
每个分组在传输过程中都必须携带源地址和目的地址,以及分组号。
分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。当通过交换结点的通信量较大或网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
网络具有冗余路径,当某一交换结点或一段链路出现故障时,可相应地更新转发表,寻找另-条路径转发分组,对故障的适应能力强,适用于突发性通信,不适于长报文、会话式通信。
虚电路方式
将数据报方式与电路交换方式结合,以发挥两者的优点
虚电路:一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张 虚电路表,每一项记录了一个打开的虚电路的信息。
基本过程
虚电路建立连接
数据传输
虚电路释放
特点
1.虚电路方式为网络层提供连接服务。源节点与目的结点之间建立一条逻辑连接,而非实际物理连接。
2.一次通信的所有分组都通过虛电路顺序传送,分组不需携带源地址、目的地址等信息,包含虚电路号,相对数据报方式开销小,同一报文的不同分组到达目的结点时不会乱序、重复或丢失。
3.分组通过虚电路上的每个节点时,节点只进行差错检测,不需进行路由选择。
4.每个节点可能与多个节点之间建立多条虚电路,每条虚电路支持特定的两个端系统之间的数据传输,可以对两个数据端点的流量进行控制,两个端系统之间也可以有多条虚电路为不同的进程服务。
5.致命弱点:当网络中的某个结点或某条链路出故障而彻底失效时,则所有经过该结点或该链路的虛电路将遭到破坏
传输介质
导向型
双绞线
两根相互绞合的铜导线;绞合可减少相邻导线的电磁干扰
屏蔽双绞线
在双绞线的外面加上一-个由金属丝编织成的屏蔽层.
非屏蔽双绞线
优点
价格便宜
适用范围广
传输距离
几千米到数十千米
距离过大
模拟传输使用放大器放大衰减的信号
数字传输使用中继器将失真的信号整形
同轴电缆
由内导体、绝缘层、网状编织屏蔽层和塑料外层构成
优点
良好的抗干扰特性
广泛用于传输较高速率的数据
传输距离更远
缺点
价格相对于双绞线更贵
光纤
利用光导纤维传递光脉冲
利用光的全反射原理在光纤中不断的传输
分类
单模光纤
从不同角度入射的多束光线在一条光纤中传输
多模光纤
光纤的直径减小到仅一个光波长度时,光纤就像一根波导那样,可使光线一直向前传播 ,而不会产生多次反射
优点
1.传输损耗小,中继距离长,对远距离传输特别经济
2抗雷电和电磁干扰性能好
3.无串音干扰,保密性好,也不易被窃听或截取数据
4.体积小,重量轻
非导向型
无线电波
无线电波具有较强的穿透能力,可以传输很长的距离,所以它被广泛应用于通信领域
无线电波使信号向所有方向散播,因此有效距离范围内的接收设备无须对准某个方向,就可与无线电波发射者进行通信连接,简化了通信连接
微波、红外线和激光
卫星通讯
卫星通信利用地球同步卫星作为中继来转发微波信号,可以克服地面微波通信距离的限制
优点
通信容量大、距离远、覆盖广
缺点
端到端传播时延长,一般为250一 270ms
物理层接口的特性
机械特性
主要定义物理连接的边界点,即接插装置。规定物理连接时所采用的规格、引线的数目、引脚的数量和排列情况等
电气特性
规定传输二进制位时,线路上信号的电压高低、阻抗匹配、传输速率和距离限制等。
功能特性
指明某条线上出现的某电平的电压表示何种意义,接口部件的信号线(数据线、控制线、定时线等)的用途
规程特性
主要定义各条物理线路的工作规程和时序关系
物理层设备
中继器
功能:将数字信号整形并放大再转发出去,消除信号的失真和衰减
原理:信号再生
优点:局域网环境下扩大网络规模最简单、最廉价的互联网设备
缺点:
不能够连接具有两个不同速率的局域网
中继器出现故障,相邻的两个网段都会产生影响
限制:5-4- 3规则 互相串联的中继器的个数不能超过4个,4个中继器串联的5段通信介质中只有3段可以挂接计算机,其余两段只能用作扩展通信范围的链路段
与放大器的比较
放大器放大的是模拟信号
原理是将衰减信号放大而不是再生
集线器
功能
实质是一个多端口的中继器,也可以对信号进行整形再生
收到信号后,就将信号从其他端口发出
如果有多端口输入,输出时就会发生冲突,数据都无效
优点:扩大网络的传输范围
缺点
不具有定向传送能力
只能工作在半双工状态下
Hub每个端口连接的网络部分是同一-个网络的不同网段
不能分割冲突域
多台主机同时交互时,会使其工作效率降低
第三章-数据链路层
数据链路层的基本功能
概要
数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路
①为网络层提供服务
无确认无连接的服务
特点
源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧时不需发回确认
对丢失的帧,数据链路层不负责重发而交给上层处理
使用范围
适用于实时通信或误码率较低的通信信道 ,如:以太网
有确认无连接的服务
特点
源机器发送数据帧时不需先建立链路连接,但目的机器收到数据帧时必须发回确认。
源机器在所规定的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠性。
使用范围
适用于误码率较高的通信信道无线通信
无线通信
有确认面向连接的服务
特点
帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据链路
目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧
使用范围
适用于通信要求(可靠性、实时性)较高的场合
②链路管理
概述
数据链路层连接的建立,维持和释放过程称为链路管理,他主要用于面向连接的服务
实现过程
首先确认对方已处于就绪状态
交换一些必要的信息以对帧序号初始化
建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该连接
③帧定界,帧同步与透明传输
概述
两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送
帧定界
将一段数据的前后分别添加首部和尾部身就构成了帧。首部和尾部中含有很多控制信息,其作用是确定帧的界限
帧同步
接收方应能从接收到的二进制比特流中区分出帧的起始与终止
透明传输
采取有效的措施解决误认为”传输结束“而丢弃后面的数据的问题
④流量控制
概述
收发双方各自的工作速率和缓存空间的差异,出现发送方的发送能力大于接收方的接收能力的现象,如不对其进行流量控制就会导致数据丢失
实现
通过控制发送方的发送速度,从而实现流量控制
⑤差错控制
使发送方确定接受方是否正确收到由其发送的数据的方法
位错:数据中的某些位发生错误
帧错:帧的丢失,重复或失序等错误
解决办法
解决位错:CRC循环冗余码
解决帧错:自动重传请求ARQ
组帧
基本功能实现
为了使接收方能正确地接收并检查所传输的帧,发送方必须依据一定的规则把网络层递交的分组封装成帧
帧定界
首部和尾部包含许多的控制信息,他们的一一个重要作用:帧定界(确定帧的界限)。
帧同步
接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
当所传数据中的比特组合恰巧与某一-个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
组帧的四种方法
字符计数法
帧首部:使用一个字节来表明帧内的字节数
缺点:如果计数字段出错,收发双方将失去同步而导致错误/一错则全错
字符填充法
使用一些特殊的字符来进行定界
SOH:开始;EOF:结束;ESC:转义字符
发送方:在数据段中有SOH,EOF,ESC相同的比特段时,就在其前面加“ESC”
接收方:删除即可
零比特填充法
使用一-个特定的比特模式,即01111110来标志-帧的开始和结束
发送方:发送前对比特流进行扫描,逢五个1加个0
接受方:发现连续五个1,就删掉他后面的一个0
违规编码法
使用条件
在物理层进行比特编码时,通常采用违规编码法
违规编码法只适用于采用冗余编码的特殊编码环境
实现方法
正常情况下:曼彻斯特编码中比特"1”编码成"高-低”电平,比特"0"编码成“低-高”电平
违规编码:曼彻斯特编码中比特"1”编码成“高高”电平,比特"0”编码成“低-低”电平
借用这些违规编码序列来定界帧的起始和终止
注意:目前较常用的组帧方法是比特填充法和违规编码法
差错控制
注意:本节只讨论比特错误
差错来源
全局性
线路本身的电气特性产生,随机噪声,信道固有
解决:提高信噪比
局部性
外界短暂造成的冲击噪声
解决:编码技术
编码技术解决比特差错
自动重传请求ARQ
接收端检测出差错时,就设法通知发送端重发,直到接收到正确的码字为止
前向纠错FEC
接收端不但能发现差错,而且能确定比特串的错误位置,从而加以纠正
检错编码
奇偶校验码
n-1为数据位和一位校验位,
奇校验
保证“1"的个数是奇数个
偶校验
保证“1”的个数是偶数个
循环冗余校验码
待传数据:d位
每一组加上冗余码构成帧发送(d位+r位的FCS帧检验序列)
FCS帧检验序列计算
双方商定生成多项式/除数:r+1位
d位+r个0(拼接)÷生成多项式=商········余数(r位帧检验序列)
最终要发送的数据:原始数据+r位的FCS帧检验序列
接受方如何判别?
接收方接受的数据÷双方约定的生成多项式,若余数为0,则正确接受;若余数不为0,则丢弃
纠错编码
海明码
发现错误,找到位置,纠正错误
海明距离(码距)
要想检N位错,则码距:N+1
要想纠N位错,则码距:2N+1
海明码的工作流程
确定校验码位数r
海明不等式:
m:数据位数,r:校验码位数
确定校验码和数据的位置
将校验码放在序号为:2^n的位置上
求出校验码的值
哪号校验码负责哪几位的校验
举个栗子:4号(100),即4号可以校验(1**)位的数据
采用偶校验
检错并纠错
根据接收到的值,按照偶校验计算校验码应该去啥值,逆序排列校验码值,其对应的真值就是出错位置
一旦出错,0变1,1变0就可
流量控制与可靠传输机制
流量控制、可靠传输与滑动窗口机制
流量控制涉及对链路.上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每个帧
停止-等待流量控制
基本原理
每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因而传输效率很低
如果接收方不反馈应答信号,那么发送方必须一直等待
滑动窗口流量控制
基本原理
发送方都维持一组连续的允许发送的帧的序号, 称为发送窗口
接收方也维持一组连续的允许接收帧的序号, 称为接收窗口
发送窗口用来对发送方进行流量控制
发送方
发送窗口的大小代表还未收到对方确认信息的情况下最多还可以发送多少个帧
接收方
接受窗口是为了控制可以接收哪些数据帧和不可以接受哪些数据帧
帧的序号落入接收窗口之内,将该数据帧收下 帧的序号落在接收窗口之外,则将其丢弃
机制特点
只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才有可能(只有发送方收到确认帧后才一定)向前滑动
接收窗口的大小为1时,可保证帧的有序接收
数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的
可靠传输机制
通常使用确认和超时重传两种机制
相关概念
确认帧:是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收
稍待确认:为了提高传输效率,将确认捎带在一个回复帧中
超时重传:发送方在发送某个数据帧后就开启一个计时器,一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止
自动重传请求:接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法
停止-等待( Stop-and-Wait) ARQ
后退N帧( Go-Back-N ) ARQ
选择性重传( Selective Repeat ) ARQ
滑动窗口技术与请求重发技术的结合
单帧滑动窗口与停止等待协议
从滑动窗口机制的角度看,停止-等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议
应用情况
无差错情况
每发送一个数据帧就停止并等待确认,因此需要1bit来对帧编号
有差错情况
数据帧丢失或者数据帧出错
设置超时计时器,每发送一帧,就启动计时器,当发送方在一定时间内收到确认时,重传该帧(重传时间往往应该比RTT稍长一些)
ACK丢失
启动超时重发,同时接收方丢弃重复的帧,并重传ACK
ACK迟到
同上启动超时重发,接受方丢弃重传帧,重传确认帧,发送方收到两个确认帧,丢弃一个确认帧
停止等待协议性能分析
U=(L/C)/T 注 L:T内发送的数据,C:数据传输率
信道吞吐率=信道利用率*发送方的发送速率
帧缓冲区
目的:为了超时重发和判定重复帧的需要
实现方法:发送端在发送完数据帧时,必须在其发送缓存中保留此数据帧的副本,这样才能在出差错时进行重传。只有在收到对方发来的确认帧ACK时 ,方可清除此副本
多帧滑动窗口与后退N帧协议GBN
发送方
收到ACK,GBN协议中对n帧的确认采用累积确认方式
发送方连续发送帧,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧(累积确认)
接收方
若正确接收且按序,则接收方为n帧发送一个ACK,将数据部分交给上层
其余情况均丢弃,并为最近按序接受的帧重新发送ACK
接收方不缓存任何失序帧,只需要维护一个变量:expectedSegment:下一个期待的按序帧号
优点
连续发送数据帧而提高了信道的利用率
缺点
若信道的传输质量很差导致误码率较大时,后退N帧协议不一定优于停止等待协议
滑动窗口的长度
发送方:[1,2^n-1]
若发送窗口过大,会使得接收方无法区分是新帧还是旧帧
接收方:1
性能分析
连续发送数据帧而提高了信道的利用率
重传时必须重传原来已经正确发送但未确认的帧,降低重传效率
总结
1.累积确认(偶尔捎带确认)
2.接收方只按顺序接收帧,不按序无情丢弃
3.确认序列号最大的、按序到达的帧
4.发送窗口最大为2"-1,接收窗口大小为1
多帧滑动窗口与选择重传协议SR
发送方
从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
如果收到ACK,假如该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
接收方
来者不拒(窗口内的帧)
SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧[收谁确认谁],直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。
如果收到了窗口序号外(小于窗口下界)的帧,就返回一个ACK。其他情况,就忽略该帧。
说明之前发的ACK丢失了,再发送一个ACK即可
滑动窗口长度
总结
1.对数据帧逐一确认,收一个确认一个
2.只重传出错帧
3.接收方有缓存
4.Wtmax=Wrmax=2^(n-1)
ARQ协议中
发送窗口大小<=窗口总数-1
若等于窗口总数,则接收方无法区分旧帧还是新帧
若等于窗口总数-1,则即为GBN协议,接收窗口为1
发送窗口+接收窗口<=帧序号(GBN、SR都应该满足的公式)
若大于,则接收方无法区分旧帧还是新帧
选择重传协议:发送方窗口=接收方窗口,此时效率最高;若发送方窗口大于接收方,则会造成浪费
介质访问控制
概述
主要任务:为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输
介质访问控制(Medium Access Control, MAC)子层:用来决定广播信道中信道分配
常见的介质访问控制方法
信道划分介质访问控制
静态划分信道
随机访问介质访问控制
轮询访问介质访问控制
动态划分信道
信道划分介质访问控制
信道划分介质访问控制将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备
多路复用技术
多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源
优点:提高了信道的利用率
分类
频分多路复用FDM
将多路基带信号调制到不同频率载波上,再叠加形成-个复合信号
所有用户在同一时间占用不同的带宽资源
优点:充分利用传输介质的带宽,系统效率高
不足:需要在相邻信道之间加入保护频带防止子信道相互干扰
时分多路复用TDM
时分多路复用是将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用
缺点:由于计算机的数据的突发性,对于子信道的利用率不高
优化
统计时分多路复用STDM
采用STDM帧,STDM帧不固定分配时隙,而按需动态地分配时隙
提高线路的利用率
波分多路复用WDM
在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来
码分多路复用CDM
采用不同的编码来区分各路原始信号的一种复用方式。与FDM和TDM不同,它既共享信道的频率,又共享时间
码分多址(Code Division Multiple Access. CDMA)
每比特时间被分成多个更短的时间槽,称为码片(Chip)
发送1时,站点发送码片序列,发送0时,站点发送码片序列的反码
多个站点发送数据:各个站点的码片序列相互正交,从而从信道中分离出各路信号
随机访问介质访问控制
不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部带宽
ALOHA协议(不听就说)
纯ALOHA协议
思想
当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据(想发就发)
在一段时间内未收到确认,那么该站点就认为传输过程中发生了冲突。发送站点需要等待一段时间后再发送数据 ,直至发送成功
缺陷
数据碰撞的概率较大,所以网络的吞吐量很低
时隙ALOHA协议
思想
所有各站在时间上同步起来,并将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧
优点
避免了用户发送数据的随意性
减少了数据产生冲突的可能性
提高了信道的利用率
缺陷
每个用户都是想发就发,碰撞概率还是很大
CSMA协议(先听再说)
1-坚持CSMA
思想
一个结点要发送数据时,首先侦听信道
如果信道空闲,那么立即发送数据
如果信道忙,那么等待,同时继续侦听直至信道空闲
如果发生冲突,那么随机等待一段时间后 ,再重新开始侦听信道
优点
只要有媒体空闲,马上发,提高了媒体利用率
缺陷
存在碰撞现象:若有大于等于两个站点同时发送,则冲突不可避免
非坚持CSMA
思想
一个结点要发送数据时,首先侦听信道
如果信道空闲,那么立即发送数据
如果信道忙,那么放弃侦听,等待一个随机的时间后再监听
优点
可以减少冲突发生的可能性
缺陷
媒体可能空闲,媒体利用率低
p-坚持CSMA
思想
一个结点要发送数据时,首先侦听信道
如果信道忙,就持续侦听,直至信道空闲
如果信道空闲,那么以概率p发送数据,以1-p概率推迟到下一个时隙(依次循环)
优点
既能像1坚持那样充分利用媒体资源,又能像非坚持那样减少冲突概率
缺陷
发生冲突后还会把数据发送完,造成浪费
CSMA/CD协议(先听再说,边听边说)
适用于总线形以太网或半双工网络环境(有线)
思想:发送前侦听,边发送边侦听,一旦出现碰撞马上停止发送
基本概念
载波侦听多路访问/碰撞检测协议是CSMA协议的改进方案
载波帧听:发送前先侦听,即每个站在发送数据之前先要检测一下总线上是否有其他站点正在发送数据,若有则暂时不发送数据,等待信道变为空闲时再发送
碰撞检测:就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据
最小帧长=总线传播时延*数据传输率* 2
争用期:以太网端到端的往返时间,只有度过了争用期才能确定本次传输不会发生冲突
二进制指数退避算法解决碰撞
基本概念
定义参数K作为第几次重传(k=min(重传次数,10))
取其中一个数为r[0,1,……2^k-1]
(r*争用期)所得数值即为退避等待时间
重传16次不成功,则认为此帧永远无法发出, 丢弃此帧,并向高层报告
优点
重传需要推迟的平均时间随重传次数的增大而增大,降低发生碰撞的概率,有利于整个系统的稳定
CSMA/CA协议
适用于于使用无线连接的局域网
思想
发送数据时先广播告知其他结点,让其他结点在某段时间内不要发送数据,以免出现碰撞
注意:无线局域网不能使用CSMA/CD的原因
接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号强度的动态变化范围很大
在无线通信中,并非所有的站点都能够听见对方,存在“隐蔽站”问题
实现碰撞避免机制
预约信道:发送方在发送数据的同时向其他站点通知自己传输数据需要的时间长度,让其他站点在这段时间内不发送数据,避免碰撞
ACK帧:所有站点在正确接收到发给自己的数据帧(除广播帧和组播帧)后,都需要向发送方发回一个ACK帧(有确认)
接收方接受失败,那么不采取任何行动
发送发若在规定的时间内如果未收到ACK帧,那么认为发送失败,此时进行该数据帧的重发(二进制指数退避算法),直到收到ACK帧或达到规定重发次数为止
RTS/CTS帧:可选的碰撞避免机制,主要用于解决无线网中的隐蔽站问题
CSMA/CD与CSMA/CA的区别
相同点
都属于CSMA的思路,其核心是先听再说,即在进入信道前,都需要进行监听,当发现信道空闲后,才能进行接入
不同点
CSMA/CD可以检测冲突,但无法避免; CSMA/CA发送数据的同时不能检测到信道上有无冲突,只能尽量避免
传输介质不同:CSMA/CD用于总线形以太网,CSMA/CA用于无线局域网802.1 la/b/g/n等
检测方式不同:CSMA/CD通过电缆中的电压变化来检测;而CSMA/CA采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式
轮询访问介质访问控制
主结点轮询邀请从结点发送数据
无冲突
充分利用带宽(独占)
令牌传递协议
令牌
一种特殊格式的MAC控制帧,无任何信息
作用
控制信道的使用,确保某一时刻只有一个结点独占信道,令牌环网没有碰撞
每个结点持有令牌时间有限
问题
令牌开销
等待延迟
单点故障
适用于负载较重,通信量较大的网络中
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)
局域网
基本概念
在一个较小的地理范围(如一所学校)内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络
特点
为一个单位所拥有,且地理范围和站点数目均有限
所有站点共享较高的总带宽(即较高的数据传输率)
较低的时延和较低的误码率
各站为平等关系而非主从关系
能进行广播和组播
局域网的特性主要由三个要素决定:拓扑结构、传输介质、介质访问控制方式,最重要的是介质访问控制方式,它决定着局域网的技术特性
拓扑结构
星形结构
环形结构
总线形结构
星形总线型复合结构
传输介质
双绞线
主流传输介质
同轴电缆
光纤
介质访问控制方法
CSMA/CD
令牌总线
常用于总线型
令牌环
环形
分类(局域网拓扑实现)
以太网:逻辑拓扑是总线形结构, 物理拓扑是星形或拓展星形结构
令牌环:逻辑拓扑是环形结构,物理拓扑是星形结构
FDDI :逻辑拓扑是环形结构,物理拓扑是双环结构
逻辑链路控制(LLC)子层
向网络层(靠近网络层)提供无确认无连接、面向连接、带确认无连接、高速传送4种不同的连接服务类型
媒体接入控制( MAC)子层.
向上层屏蔽对物理层(靠近物理层)访问的各种差异,提供对物理层的统一访问接口 ,主要功能包括 :封装成帧、 比特传输差错检测、透明传输
以太网与IEEE802.3
采用总线型拓扑结构
两个标准
Ethvernet V2:第一个局域网产品规约
IEEE802.3:制定的第一个IEEE的以太网标准
提供无连接、不可靠的服务
采用无连接的工作方式,尽最大努力交付
不对发送方数据编号,接收方不确认,差错的纠正由高层完成
只实现无差错接收,不实现可靠传输
以太网传输介质与拓扑结构的发展
粗同轴电缆
细同轴电缆
双绞线+果线器
物理上由总线型变为星型
逻辑上一直是总线型
网卡
局域网中连接计算机与传输介质的接口,是工作在数据链路层的网络组件
功能
实现与局域网传输介质之间的物理连接和电信号匹配,
实现帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码及数据缓存功能
MAC地址
也叫硬件地址、物理地址(48位)
全球唯一,出厂既定
以太网MAC帧
网卡从网络上每收到一个MAC帧,首先要用硬件检查MAC帧中的MAC地址。如果是发往本站的帧,那么就收下,否则丢弃
结构
地址:通常使用6字节( 48bit )地址(源地址、目的地址)
类型: 2字节,指出数据域中携带的数据应交给哪个协议实体处理
数据: 46一1500字节,包含高层的协议消息。由于CSMA/CD算法的限制,以太网帧必须满足最小长度要求64字节,数据较少时必须加以填充( 0-46字节)
填充: 0一46字节,当帧长太短时填充帧,使之达到64字节的最小长度
校验码( FCS ) :采用CRC循环冗余码
高速以太网
100BASE-T以太网
在双绞线上传送100Mb/s基带信号的星形拓扑结构以太网
使用CSMA/CD协议(半双工)
支持全双工方式,支持半双工方式
吉比特以太网
双绞线 在1Gb/s下用全双工和半双工两种方式工作
半双工方式下使用CSMA/CD协议
10吉比特以太网
使用光纤作为传输媒体
只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD协议
IEEE802.11无线局域网
MAC帧头格式
(属于下表中的WDS帧类型)RA、TA都是基站/无线接入点,上面的地址都是MAC地址
其他帧类型的帧头格式
帧的地址字段最常用的两种情况
接受地址是下一个接收节点的地址,目的地址是最终地址
发送地址是上个节点的地址,源地址是最初节点地址
分类
有固定的基础设施的无线局域网
无固定基础设施的无线局域网的自组织网络
VLAN的基本概念和基本原理
基本概念
一种将局域网内的设备划分成与物理位置无关的逻辑组的技术
每个VLAN是一个单独的广播域/不同的子网
基本实现
交换机上的各VLAN互不相通,若想实现通信,需要借助路由器或三层交换机
同一个交换机内部
交换机的转发表
MAC地址
端口
交换机的VLAN表
VID
端口/MAC地址
基于端口的VLAN技术
基于MAC地址的VLAN技术
不同交换机之间
贴标签(IEEE802.1Q帧)
VLAN标记表示该以太网帧属于那个VLAN(标记1-4094)VID位于4字节的后12位
IEEE 802.1Q帧是由交换机来处理的,而不是由用户主机来处理的。(即主机和交换机之间只交换普通的以太网帧)
广域网
基本概念
通常是覆盖范围很广的长距离网络
广域网由节点交换机以及连接这些交换机的链路组成
结点交换机用来将分组存储和转发
局域网与广域网的对比
PPP协议
概要
使用串行线路通信的面向字节的协议,该协议应用在直接连接两个结点的链路上
目前使用最广泛的链路层协议
目的
主要是用来通过拨号或专线方式建立点对点连接发送数据
组成部分(实现功能)
链路控制协议(LCP): 一种扩展链路控制协议,用于建立、配置、测试和管理数据链路
网络控制协议(NCP) : PPP协议允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置 ,为网络层协议建立和配置逻辑连接
一个将IP数据报封装到串行链路的方法: IP数据报在PP帧中就是其信息部分, 这个信息部分的长度受最大传送单元(MTU)的限制
注意
PPP提供差错检测但不提供纠错功能,只保证无差错接收(通过硬件进行CRC校验)。它是不可靠的传输协议 ,因此也不使用序号和确认机制
它仅支持点对点的链路通信,不支持多点线路
PPP只支持全双工链路
PPP的两端可以运行不同的网络层协议,但仍然可使用同一个PPP进行通信
PPP面向字节
HDLC协议(大纲已删除)
数据链路层设备
网桥的基本概念
两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就称为一个网段
网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域
网桥接收帧,并不想所有接口转发此帧,而是先检查目的地址,再确定转发到哪个接口,或将其丢弃
优点
能过滤通信量 扩大了物理范围
可使用不同的物理层
可互联不同类型的局域网
提高了可靠性,性能得到改善
缺点
增大了时延
只适用于用户数不多和通信量不大的网络
没有流量控制功能
不同MAC子层的网段桥接在一起需要进行帧格式转换
局域网交换机
概述
又称以太网交换机,从本质上说,以太网交换机是一个多端口的网桥
能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽
优点
对工作站是透明的,管理开销低廉
简化了网络结点的增加、移动和网络变化的操作
方便地实现虚拟局域网(VLAN)
VLAN可以隔离冲突域,而且可以隔离广播域
原理
检测从以太端口来的数据帧的源和目的地的MAC ( 介质访问层)地址,然后与系统内部的动态查找表进行比较
若数据帧的MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口
特点
工作在全双工方式
无碰撞地传输数据
即插即用 转发表也是通过自学习算法自动地逐渐建立起来的
使用了专用的交换结构芯片,因此交换速率较高
独占传输媒体的带宽
两种交换模式
直通式交换机
只检杳帧的目的地址数据帧可以马上就被传输出去
优点:速度快.
缺点:缺乏智能性和安全性,也无法支持具有不同速率的端口的交换
存储转发式交换机
先将接收到的帧缓存,然后并检查数据是否正确
正确则发送
错误则丢弃
优点:可靠性高,并能支持不同速率端口间的转换
缺点:延迟较大
第四章-网络层
网络层的功能
异构网络互联
异构网络
不同的寻址方案、不同的网络接入机制、不同的差错处理方法、不同的路由选择机制等
网络互联
将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(即中间设备)相互连接起来,以构成更大的网络系统
中继系统
物理层中继系统
中继器
集线器( hub )
数据链路层中继系统
网桥
交换机
使用物理层或数据链路层的中继系统时,只是把一个网络 扩大了,而从网络层的角度看,它仍然是同-一个网络,一 般并不称之为网络互联
网络层中继系统
路由器
网络层以上的中继系统
网关
虚拟网络互联
也就是逻辑互联网络,即互联起来的各种物理网络的异构性本来是客观存在的,但是通过使用IP就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络
优点
互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互联的具体的网络异构细节(如具体的编址方案、路由选择协议等)
路由与转发
路由选择
根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表
按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由
分组转发
处理通过路由器的数据流,关键操作是转发表查询、转发及相关的队列管理和任务调度等
路由器根据转发表将用户的IP数据报从合适的端口转发出去
SDN的基本概念
拥塞控制
在通信子网中,因出现过量的分组而引|起网络性能下降的现象称为拥塞
判断拥塞的方法
轻度拥塞
随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量
拥塞状态
网络的吞吐量随着网络负载的增大而下降
死锁状态
网络的负载继续增大,而网络的吞吐量下降到零
拥塞避免
获取网络中发生拥塞的信息,从而利用这些信息进行控制,以避免由于拥塞而出现分组的丢失,以及严重拥塞而产生网络死锁的现象
作用
确保子网所能承载所达到的流量
实现方法
合理优化主机、路由器及路由器内部的转发处理过程等
单一的增加资源并不能解决拥塞
流量控制与拥塞控制的区别
流量控制所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收
拥塞控制必须确保通信子网能够传送待传送的数据,是一个全局性的问题,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素
拥塞控制的方法
开环控制
设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞
优点
一种静态的预防方法 一旦整个系统启动并运行,中途就不再需要修改
闭环控制
事先不考虑有关发生拥塞的各种因素,采用监测网络系统去监视,及时检哪里发生了拥塞,然后将拥塞信息传到合适的地方
优点
基于反馈环路的概念,是一种动态的方法
IPv4
概述
IPv4即现在普遍使用的IP ( 版本4 )
IP定义数据传送的基本单元
IP分组及其确切的数据格式
IP也包括一套规则,指明分组如何处理、错误怎样控制
包含非可靠投递的思想,以及与此关联的分组路由选择的思想
IPV4分组
IPV4分组格式
版本:指IP版本,目前广泛使用的版本号是4
首部长度:占4位。基本单位为4B ,最大值为60B ( 15*4B ) ,最常用的首部长度是20B
总长度:占16位。基本单位为1B 指首部与数据之和的长度最大长度65535B
标识:占16位。是一个计数器 用于保证数据报片能够正确组装称为原来的数据报
标志:占3位最低位 MF=1代表分片 中间位DF=0代表可以分片
片偏移:占13位 基本单位为8B 指出分片后,某片在原分组中的相对位置
首部校验和:占16位 IP数据报的首部校验和只校验分组的首部,而不校验数据部分
生存时间TTL:占8位 保证分组不会在网络中循环每次路由转发TTL-1当TTL为0 丢弃该分组
协议:占8位 指出该分组使用的协议( 6为TCP协议17为UDP协议)
源地址字段 :占4B 标识发送发的IP地址
目的地址字段:占4B 标识接收方的IP地址
IP数据报分片
最大传送单元MTU
一个链路层数据报所能承载的最大数据量
分片
当数据报长度大于MTU时,就对其进行分片传输
分片会在目的地进行组装,不会再中间路由处进行组装
标志位含义
MF ( more fragment) : 为1代表进行了分片
DF ( don't fragment) :为0时才可以进行分片
网络层转发分组的流程
提取目的主机的IP地址
直接交付或者根据路由表进行转发交付
若找不到目标路由就发送给默认路由
如果最后没有转发成功,就报告转发分组出错
IPV4地址
概念
连接到因特网上的每台主机(或路由器)都分配一个32比特的全球唯一标识符
分类
A类(1-126)
B类(128-191)
C类(192-223)
D类(224-239)
E类(240-255)
图示
特殊地址
私有IP地址(本地专用网)
网络地址转换NAT
概述
通过将专用网络地址(如Intranet )转换为公用地址(如Internet ),从而对外隐藏内部管理的IP地址
优点
只需要一个全球IP地址就可以与因特网连通,由于专用网本地IP地址是可重用的,所以NAT大大节省了IP地址的消耗
隐藏了内部网络结构,从而降低了内部网络受到攻击的风险
具体实现
本地地址的主机和外界通信时, NAT路由器(至少有一个有效的外部全球IP地址)使用NAT转换表将本地地址转换成全球地址,或将全球地址转换成本地地址
NAT转换表
注意
普通路由器在转发IP数据报时,不改变其源IP地址和目的IP地址
NAT路由器在转发IP数据报时, 一定要更换其IP地址
普通路由器仅工作在网络层
NAT路由器转发数据报时需要查看和转换传输层的端口号
子网划分与子网掩码、CIDR
子网划分
背景
两级IP地址的缺陷
IP地址空间的利用率有时很低
两级的IP地址不够灵活
会使路由表变得太大而使网络性能变坏
概述
两级IP地址变成三级IP地址
划分思路
子网划分纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络
从主机号借用若干比特作为子网号,当然主机号也就相应减少了相同的比特
IP地址={ <网络号〉 ,〈子网号〉 ,〈主机号〉}
先找到连接到本单位网络上的路由器。然后该路由器在收到IP数据报后,按目的网络号和子网号找到目的子网。最后把IP数据报直接交付给目的主机
注意
子网号全为0和全为1不能作为主机号
全为0为本网络号
全为1为子网的广播地址
子网掩码
使用子网掩码来表达对原网络中主机号的借位
分类
A类: 255.0.0.0
B类: 255.255.0.0
C类: 255.255.255.0
使用子网掩码的情况
一台主机在设置IP地址的同时必须设置子网掩码
同属于一个子网的所有主机及路由器的相应端口,必须设置相同的子网掩码
路由表中必须包含有:目的网络地址,子网掩码,下一跳地址
无分类域间路由选择CIDR
概述:无分类域间路由选择是在变长子网掩码的基础上提出的一种消除传统A、B、C类网络划分,并且可以在软件的支持下实现超网构造的一种IP地址的划分方法
查找路由表使用的数据结构方法 二叉线索树
特点
消除了传统A、B、C类地址及划分子网的概念,因而可以更有效地分配IPv4的地址空间
IP={<网络前缀>,<主机号> }
将网络前缀都相同的连续IP地址组成:CIDR地址块
这种地址的聚合称为路由聚合,或称构成超网
网络前缀越长,其地址块就越小,路由就越具体
优点
有利于减少路由器之间的路由选择信息的交换,提高网络性能
网络前缀长度具有灵活性
计算相关
已知128.14.35.7/20为某一CIDR地址块的一个地址,该地址块中?
应用
构成超网
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。
方法:将网络前缀缩短(所有网络地址取交集,缩短网络前缀)。
与子网划分的区别
子网划分:多到少
构成超网:少到多
最长前缀匹配
情形:使用CIDR时,查路由表可能得到n个匹配结果
解决:跟子网掩码相与,应选择具有最长网络前缀的路由
原因:网络前缀越长,地址块越小,路由越具体
IP地址与硬件地址
概述
IP地址是网络层使用的地址,它是分层次等级的
硬件地址是数据链路层使用的地址(如MAC地址),它是平面式的
在网络层及网络层之上使用IP地址, IP地址放在IP数据报的首部,而MAC地址放在MAC帧的首部
数据链路层看不见数据报分组中的IP地址
具体关系
在网络层中的路由器相互传输时使用IP地址,当到达目标网络后,使用MAC地址查找目标物理主机
路由器的IP地址与MAC地址
拥有多个IP地址
拥有多个MAC地址
地址解析协议ARP
作用:实现IP地址到MAC地址的映射
注意:在实际网络的连路上传递数据帧时,最终必须使用MAC地址
ARP表:每台主机都设有一个ARP高速缓存,用来存放本局域网上各主机和路由器的IP地址到MAC地址的映射表
4种可能的情况
主机A发送给本网络的主机B,用ARP找到主机B的MAC地址
主机A发送给另一网络的主机B,用ARP找到本网络上的一个路由器的MAC地址,剩下的工作交给路由器完成
路由器发给本网络的一台主机A,用ARP找到目的主机A的MAC地址
路由器发给另一网络的主机B,用ARP找到本网络的路由器的MAC地址想·
动态主机配置协议DHCP
概述
常用于给主机动态地分配IP地址。
提供了即插即用联网的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与
DHCP是应用层协议,采用客户/服务器方式,它是基于UDP的
实现过程
DHCP客户机广播"DHCP发现消息,试图找到网络中的DHCP服务器
DHCP服务器收到"DHCP发现"消息后,向网络中广播"DHCP提供消息,其中包括提供DHCP客户机的IP地址和相关配置信息
DHCP客户机收到"DHCP提供消息,如果接收DHCP服务器所提供的相关参数,那么通过广播" DHCP"请求消息向DHCP服务器请求提供IP地址
DHCP服务器广播"DHCP确认"消息,将IP地址分配给DHCP客户机
注意
DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有 限的时间内使用这个分配到的IP地址
DHCP的客户端和服务器端需要通过广播方式来进行交互
网际控制报文协议ICMP
目的:为了提高IP数据报交付成功的机会,在网络层使用了网际控制报文协议( ICMP)来让主机或路由器报告差错和异常情况
ICMP报文装在IP数据报的数据部分,包括类型、代码、检验和、ICMP报文类型、ICMP数据部分
报文类型
差错报告报文
终点不可达:当路由器或主机不能交付数据报时,就向源点发送终点不可达报文(无法交付)
源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢(拥塞丢数据)
时间超过:当路由器收到生存时间(TTL)为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文(TTL=0)
参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文(首部字段有问题)
改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(值得更好的路由)
不应发送ICMP差错报告报文的情况
对ICMP差错报告报文不再发送ICMP差错报告报文
对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
对具有组播地址的数据报都不发送ICMP差错报告报文
对具有特殊地址(如127.0.0.0或0.0.0.0 )的数据报不发送ICMP差错报告报文
询问报文
回送请求和回答报文
测试目的站是否可达以及了解其相关状态
时间戳请求和回答报文
请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间。
掩码地址请求和回答报文
路由器询问和通告报文
应用
分组网间探测PING
测试两台主机之间的连通性
使用了ICMP回送请求和回答报文
Traceroute
用来跟踪分组经过的路由
使用了ICMP时间超过差错超过报告报文
IPv6
IPV6是解决IP地址耗尽的最根本方法,缓解方法是CIDR、NAT等
IPv6的数据报格式
基本首部(固定40B)
版本
优先级
流标签
有效载荷长度
不超过64KB
下一个首部
表示下一个扩展首部或上层协议首部
跳数限制
相当于IPv4的TTL
源地址
目的地址
有效载荷
扩展首部
数据部分
IPv6与IPv4的不同
1.IPv6将地址从32位(4B)扩大到128位(16B),更大的地址空间。
2.IPv6将IPv4的校验和字段彻底移除,以减少每跳的处理时间。
3.IPv6将IPv4的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查大大提高了路由器的处理效率。
4.IPv6支持即插即用(即自动配置),不需要DHCP协议。
5.IPv6首部长度必须是8B的整数倍,IPv4 首部是4B的整数倍。
6.IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。
7.ICMPv6:附加报文类型“分组过大”。
8. IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。
9.IPv6取消了协议字段,改成下一个首部字段。
10.IPv6取消了总长度字段,改用有效载荷长度字段。
11.IPv6取消了服务类型字段。
IPv6地址的表示形式
一般形式(冒号16进制法)
4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2170
压缩形式
将每组的0省略,但每组必须保证至少一个数,如:0000->0;039A->39A
零压缩:将一连串的0被一对冒号取代,有且只能有一对冒号,如FF05:0:0:0:0:0:B3->FF05::B3
IPv6基本地址类型
单播
一对一通信
可做源地址+目的地址
多播
一对多通信
可做目的地址
任播
一对多中的一个通信
可做目的地址
IPv4向IPv6过渡策略
双协议栈
双协议栈技术是指在一台设备 上同时装有IPv4和IPv6协议栈,那么这台设备既能和IPv4网络通信, 又能和IPv6网络通信
隧道技术
将整个IPv6数据报封装到IPv4数据报的数据部分,使得IPv6数据报可以在IPv4网络的隧道中传输
路由算法与路由协议
静态路由与动态路由
静态路由
概念
由网络管理员手工配置的路由信息
当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息
优点
简便、可靠,在负荷稳定、拓扑变化不大的网络中运行效果很好
缺点
大型和复杂的网络环境通常不宜采用
管理员难以全面了解网络拓扑结构
发生变化后需要大范围修改和调整路由信息
使用范围
广泛用于高度安全的军事系统和较小的商业网络
动态路由
概念
路由器上的路由表项是通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的
路由信息会在一定时间间隙里不断更新,以适应不断变化的网络,随时获得最优的寻路效果。
优点
改善网络的性能并有助于流量控制
缺点
算法复杂,会增加网络的负担
对动态变化的反应太快而引起振荡,或反应太慢而影响网络路由的一致性
动态路由算法
距离-路由向量算法
原理
所有结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的结点
路由表内容
每条路径的目的地(另一结点)
路径的代价(也称距离)
更新路由表的条件
被通告一条新的路由,该路由在本结点的路由表中不存在,此时本地系统加入这条新的路由
来的路由信息中有一条到达某个目的地的路由,该路由与当前使用的路由相比,有较短的距离(较小的代价)
缺点
容易出现环路问题
最常见的距离一向量路由算法是RIP算法,它采用“跳数”作为距离的度量
链路状态路由算法
原理
链路状态路由算法要求每个参与该算法的结点都具有完全的网络拓扑信息
主动测试所有邻接结点的状态
定期地将链路状态传播给所有其他结点(或称路由结点)
特点
使用泛洪法向所有相邻的路由器发送信息,然后相邻路由器又向其他相邻路由器发送信息
发送的信息是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
只有当链路状态发生变化时,路由器才向所有路由器发送此消息
优点
每个路由结点都使用同样的原始状态数据独立地计算路径,而不依赖中间结点的计算
链路状态报文不加改变地传播,因此采用该算法易于查找故障
当一个结点从所有其他结点接收到报文时,它可以在本地立即计算正确的通路,保证一步汇聚
链路状态算法比距离-向量算法有更好的规模可伸展性
典型的链路状态路由算法是OSPF算法
路由协议
自治系统AS
单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由
同时还使用一种AS之间的路由选择协议来确定分组在AS之间的路由
域内路由与域间路由
内部网关协议(IGP,域间路由选择)
在一个自治系统内部使用的路由选择协议
目前该路由选择协议使用得最多, 如RIP和OSPF
外部网关协议(EGP,域内路由选择)
源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时(两个自治系统可能使用不同的IGP )需要使用一种协议将路由选择信息传递到另一个自治系统中
目前使用最多的外部网关协议是BGP-4
路由信息协议RIP协议
概述
应用层协议,基于UDP
内部网关协议( IGP )中最先得到广泛应用的协议
是一种分布式的基于距离向量的路由选择协议,其最大优点就是简单
收敛
经过若干次交换,所有路由器都会知道到达本系统任何一个网络的最短距离和下一跳路由器地址,即收敛了
实现
和哪些路由器交换?
相邻路由器
交换什么?
自己的路由表
多久交换一次?
每30s交换一次,更新路由表,超过180s无通告,则判定这个邻居没了
距离向量算法
①修改相邻路由器发来的RIP报文中的所有表项,把下一跳字段修改为X,并将所有距离字段+1
②对修改后的RIP报文中的每一个项目,进行如下操作
(1)若该路由表中没有RIP报文中的某个网络,则直接添加
(2)若有该到达该网络的表项
若到达该网络的下一跳也是X,则用收到的RIP报文相应的表项替换
若下一跳不是X, 原来距离比从X走的距离远则更新,否则不作处理。
③若180s还没收到相邻路由器X的更新路由表,则把X记为不可达的路由器,即把距离设置为16。
缺陷
RIP限制了网络的规模,它能使用的最大距离为15(跳数) ( 16表示不可达)
路由器之间交换的是路由器中的完整路由表,因此网络规模越大,开销也越大
网络出现故障时,会出现慢收敛现象(即需要较长时间才能将此信息传送到所有路由器,慢收敛),即: 好消息传的块,坏消息传得慢
开放最短路径优先OSPF协议
概述
网络层协议,直接用IP数据报传送
使用分布式链路状态路由算法的典型代表,也是内部网关协议(IGP )的一-种
实现
和哪些路由器交换?
泛洪法向本自治系统的所有路由器发送信息
最终整个区域内所有路由器都得到了这个信息的一个副本
交换什么?
与本路由器相邻的所有的路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价)
多久交换一次?
只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛得快
最终所有路由器都能建立一个链路状态数据库,即全网拓扑图
链路状态路由算法
OSPF区域
为了使OSPF 能够用于规模很大的网络, OSPF 将一个自治系统再划分为若干个更小的范围,叫做区域
每一个区域都有一个32 位的区域标识符(用点分十进制表示)。
区域也不能太大 在一个区域内的路由器最好不超过200个
OSPF分组
直接使用IP数据报发送(可看做网络层协议)
其他特点
1.每隔30min,要刷新一次数据库中的链路状态。
2.由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议RIP好得多。
3.0SPF不存在坏消息传的慢的问题,它的收敛速度很快。
边界网关协议BGP
概述
应用层协议,基于TCP
实现
和哪些路由器交换?
与其他AS的邻站BGP发言人交换信息
交换什么?
交换的网络可达性的信息,即要到达某个网络所要经过的一系列AS
多久交换一次?
发生变化时更新有变化的部分
路径-向量算法
工作原理
每个自治系统的管理员要选择至少一个路由器作为该自治系统的"BGP发言人”
一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,先建立TCP连接
再利用BGP会话交换路由信息
所有BGP发言人都相互交换网络可达性的信息后,各BGP发言人就可找出到达各个自治系统的较好路由(非最佳)
BGP-4的四种报文
1.OPEN (打开)报文:用来与相邻的另一个BGP发言人建立关系,并认证发送方。
2.UPDATE (更新)报文:通告新路径或撤销原路径。
3.KEEPALIVE (保活)报文:在无UPDATE时, 周期性证实邻站的连通性;也作为OPEN的确认。
4.NOTIFICATION (通知)报文:报告先前报文的差错;也被用于关闭连接。
特点
BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
在BGP刚刚运行时,BGP的邻站是交换整个的BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
三种路由选择协议的比较
IP组播
IP数据报的三种传播方式
单播
点对点:在发送者和每一接收者之间需要单独的数据信道。
广播
点对多点
组播(多播)
点对多点:组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)
IP组播地址
属于多播组的设备将被分配一个组播组IP地址
组播地址范围为224.0.0.0 ~ 239.255.255.255 D 类地址),一个D类地址表示一个组播组。只能用作分组的目标地址
源地址总是为单播地址
特点
1.组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于 UDP
2.对组播数据报不产生 ICMP 差错报文。
3.并非所有 D 类地址都可以作为组播地址。
IP组播的两种情况
局域网上的硬件组播
组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧
组播MAC地址
以十六进制值01-00-5E 打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的
TCP/IP 协议使用的以太网多播地址的范围是从01-00-5E-00-00-00到01-00-5E-7F-FF-FF
收到多播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃
因特网范围内进行组播
网际组管理协议IGMP
IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播组
ICMP和IGMP都使用IP数据报传递报文
组播路由器知道的成员关系只是所连接的局域网中有无组播组的成员。
工作的两个阶段
组播路由选择协议
组播路由选择协议目的是找出以源主机为根节点的组播转发树
常用三种算法
基于链路状态的路由选择
基于距离-向量的路由选择
协议无关的组播
移动IP
设备移动,IP不动
移动IP与动态IP
动态IP:局域网中的计算机可以通过网络中的DHCP服务器动态地获得一个IP地址
移动IP:移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不发生任何改变
几个重要的概念
移动结点
具有永久IP地址的移动设备
归属代理(本地代理)
一个移动结点的永久“居所”称为归属网络 ,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理
永久地址(归属地址/主地址)
移动站点在归属网络中的原始地址
外部代理
在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理
转交地址(辅地址)
可以是外部代理的地址或动态配置的一个地址
移动IP通信过程
网络层设备
路由器
是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组
功能组成
路由选择部分
核心构件
路由选择处理机
任务
根据选定的路由选择协议构造出路由表
和其他相邻路由器交换路由信息然后更新和维护路由表
分组转发部分
交换结构
一组输入端口:从物理层接收到的比特流中提取出链路层帧,进而从帧中提取出网络层数据报
一组输出端口:将数据报变为比特流发送到物理层
注意
注意:如果一个存储转发设备实现了某个层次的功能,那么它就可以互联两个在该层次上使用不同协议的网段(网络)
三层设备的区别
第五章-传输层
传输层提供的服务
传输层的功能
概述
传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层
为运行在不同主机上的进程之间提供了逻辑通信
功能
提供进程之间的逻辑通信
复用与分用
复用
发送方不同的应用进程都可使用同一个传输层协议传送数据
分用
接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程
传输层还要对收到的报文进行差错检测(首部和数据部分)
提供两种不同的传输协议,即面向连接的TCP和无连接的UDP
向高层用户屏蔽低层网络核心的细节(如网络拓扑、路由协议等),使应用进程好像在两个传输层实体之间有一条端到端的逻辑通信信道
传输层的寻址与端口
端口
端口可以标识主机中的应用进程
让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程
端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的
端口号
服务端使用的端口号
熟知的端口号(0-1023)
FTP 21
TELNET 23
SMTP 25
DNS 53
TFTP 69
HTTP 80
SNMP 161
登记端口号(1024-49151)
客户端使用的端口号
又称短暂端口号(也称临时端口) : 这类端口号仅在客户进程运行时才动态地选择
通信结束后,刚用过的客户端口号就不复存在,从而这个端口号就可供其他客户进程使用
套接字
套接字=(主机IP地址,端口号)
唯一的标识网络中的一台主机和其上的一个应用进程
实际上是一个通信端点
无连接服务与面向连接服务
TCP协议
UDP协议
UDP协议
即用户数据报协议
只在IP数据报服务上增加了很少的功能,即复用和分用、差错检测
主要特点
分组首部开销小
UDP无须建立连接,不会有建立连接的时延
UDP常用于一次性传输较少数据的网络应用.如DNS、SNMP等
UDP提供尽最大努力的交付,即不保证可靠交付
所有维护传输可靠性的工作需要用户在应用层来完成
UDP是面向报文的,报文是UDP数据报处理的最小单位
UDP无拥塞控制,适合于很多实时应用,如IP电话,视频会议等
UDP的首部格式
源端口:源端口号(2B)在需要对方回信时选用,不需要时可用全0
目的端口(2B):这在终点交付报文时必须使用到。
长度: UDP数据报的长度(包括首部和数据),其最小值是8 ( 仅有首部)
校验和
检测UDP数据报在传输中是否有错。有错就丢弃
该字段是可选的, 当源主机不想计算校验和时,则直接令该字段为全0
注意
根据首部中的目的端口,把UDP数据报通过相应的端口上交给应用进程
如果接收方UDP发现收到的报文中的目的端口号不正确,丢弃该报文,并由ICMP发送”端口不可达”差错报文给发送方
UDP校验
伪首部只有在计算检验和时才出现,不向下传送也不向上递交。
17:封装UDP报文的IP数据报首部协议字段是17。
UDP长度: UDP首部8B+数据部分长度(不包括伪首部)
校验过程
发送端
1.填上伪首部
2.全0填充检验和字段
3.全0填充数据部分(UDP数据报要看成许多4B的字串接起来)
4.伪首部+首部+数据部分采用二进制反码求和(求和取反)
5.把和求反码填入检验和字段
6.去掉伪首部,发送
接收端
1.填上伪首部
2.伪首部+首部+数据部分采用二进制反码求和
3.结果全为1则无差错,否则丢
弃数据报/交给应用层附上出差
错的警告。
TCP协议
TCP协议的特点
TCP是在不可靠的IP层之上实现的可靠的数据传输协议,它主要解决传输的可靠、有序、无丢失和不重复问题
特点
TCP是面向连接的传输层协议
每条TCP连接只能有两个端点,每条TCP连接只能是点对点的(一对一)
TCP提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复且有序
TCP提供全双工通信,允许通信双方的应用进程在任何时候都能发送数据,为此TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据
TCP是面向字节流的
TCP报文段的首部格式
TCP报文段式TCP传送的数据单元
相关字段
源端口与目的端口
各占2B,端口是运输层与应用层的服务接口,运输层的复用和分用功能都要通过端口实现
序号
4B,字段的值指的是本报文段所发送的数据的第一个字节的序号
确认号
4B,期望收到的下一个报文段的第一个字节的编号,这之前的已接受
数据偏移(首部长度)
4bit,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远
保留字段
6bit,保留为今后使用
紧急位URG
1bit,URG=1表明紧急指针字段有效。它告诉系统报文段中有紧急数据,应尽快传送(相当于高优先级的数据)
确认位ACK
ACK=1时确认号字段才有效
ACK=0时,确认号无效
tcp规定,在连接建立后所有传送的报文段都必须把ACK置1
推送位PSH
收到PSH=1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满后再向上交付
复位位RST
RST=1时,表明TCP连接中出现严重差错(如主机崩溃或其他原因) , 必须释放连接,然后再重新建立运输连接
同步位SYN
SYN=1表示这是一个连接请求或连接接收报文
终止位FIN
用来释放一个连接。FIN=1表明此报文段的发送方的数据已发送完毕,并要求释放传输连接
窗口字段
占2B ,表示允许对方发送的数据量,单位为字节
校验和
占2B ,校验和字段检验的范围包括首部和数据两部分
紧急指针字段
占16位,指出在本报文段中紧急数据共有多少字节(紧急数据放在本报文段数据的最前面)
选项字段
长度可变, TCP最初只规定了一种选项,即最大报文段长度
填充字段
使整个首部长度是4B的整数倍
TCP连接管理
连接阶段
连接建立
数据传送
连接释放
连接的建立(三次握手)
ROUND1
客户端发送“连接请求报文”,无应用层数据
SYN=1
ACK=0
seq=x(随机,第一次无意义)
ROUND2
服务器为TCP连接分配缓存和变量,并向客户端返回确认报文段(允许链接),无应用层数据
SYN=1
ACK=1
seq=y(随机)
ack=x+1
ROUND3
客户端为TCP连接分配资源,并向服务器返回确认的确认,可携带应用层数据
SYN=0
ACK=1
seq=x+1
ack=y+1
服务器容易遭受SYN洪泛攻击
连接的释放(四次挥手)
ROUND1
客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接
FIN=1
seq=u
ROUND2
服务器回送一个确认报文段,客户到服务器的这个方向的连接就释放了(半关闭)
ACK=1
seq=v
ack=u+1
ROUND3
服务器发送数据,发送释放连接的报文段,主动关闭TCP
FIN=1
ACK=1
seq=w
ack=u+1
ROUND4
客户端回送一个确认报文段,等待计时器2ms,连接彻底结束
ACK=1
seq=u+1
ack=w+1
示意
SYN洪泛攻击
攻击者发送TCP SYN(TCP三次握手的第一个数据包),第二次握手时服务器返回ACK,攻击者不再进行确认
然后TCP处于半连接状态,服务器一直收不到确认,就会重复发送ACK给攻击者
影响
浪费服务器资源
在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机
TCP可靠传输
保证接收方从缓冲区读出的字节流与发送方一致
四大机制
检验(同UDP)
序号
TCP首部的序号字段用来保证数据能有序提交给应用层,序号建立在传送的字节流之上
确认
TCP首部的确认号是期望收到对方的下一-个报文段的数据的第一个字节的序号
TCP默认使用累计确认,即TCP只确认数据流中至第一一个丢失字节为止的字节
重传
超时
TCP每发送一个报文段,就对这个报文段设置一次计时器。 计时器设置的重传时间到期但还未收到确认时,就要重传这一报文
冗余ACK
再次确认某个报文段的ACK,而发送方先前已经收到过该报文段的确认
当收到对于某个报文段的3个冗余ACK ,可以认为该报文段已经丢失。这时发送方可以立即对该报文执行重传
TCP流量控制
让发送方发慢点,要让接收方能够来得及接受
流量控制机制
接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小(接收窗口rwnd) , 限制发送方向网络注入报文的速率
发送方根据其对当前网络拥塞程序的估计而确定的窗口值,这称为拥塞窗口cwnd其大小与网络的带宽和时延有关
传输层与数据链路层流量控制的对比
流量控制的区别
传输层:定义端到端用户之间的流量控制
数据链路层:定义两个中间的相邻结点的流量控制
窗口大小的区别
传输层:滑动窗口可以动态变化
数据链路层:滑动窗口不能动态变化
TCP拥塞控制
概念
防止过多的数据注入网络,保证网络中的路由器或链路不致过载
拥塞控制与流量控制的区别
相同
都通过控制发送的发送速率来达到控制效果
区别
拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程 ,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素
流量控制是点对点的通信量的控制,即接收端控制发送端,它所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收
窗口
接收窗口rwnd :接收方根据目前接收缓存大小所许诺的最新窗口值,反映接收方的容量
拥塞窗口cwnd :发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络的当前容量
发送窗口的上限值=min[rwnd, cwnd]
实现机制
前提
数据单方向传送,而另一个方向只传送确认
接收方总是有足够大的缓存空间,因而发送窗口大小取决于拥塞程度
慢开始和拥塞避免
开始时,指数增长,达到门限后线性增大,达到拥塞后,下一个时间节点降为1,并修改门限值为原来的1/2,
快重传和快恢复
收到三个冗余确认,执行快重传算法,不降为1,而降为新的门限值(收到三个重复确认时cwnd的1/2)
第六章-应用层
网络应用模型
域名系统DNS
文件传输协议FTP
电子邮件SMTP
万维网WWW、HTTPQ