第3章网络体系结构的基本概念Word文件下载.docx
《第3章网络体系结构的基本概念Word文件下载.docx》由会员分享,可在线阅读,更多相关《第3章网络体系结构的基本概念Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
![第3章网络体系结构的基本概念Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/31/23fec5ab-fc11-41ab-92e4-891fb1728860/23fec5ab-fc11-41ab-92e4-891fb17288601.gif)
数据和控制信息的结构和格式。
【目的地址,源地址,以及相应的位置】
(2)语义:
控制信息的含义。
【何种控制信息需要发出,响应如何】
(3)同步:
即通信中事件的实现顺序。
【举例:
说话的过程,来说明问题。
】
2.网络协议的层次结构
计算机网络需要实现的任务是复杂的,所以协议也必然会是很复杂。
要单独通过一个模块实现是很复杂的,实现和更新都不方便,所以采用层次结构模型来描述网络协议。
每一层定义了一个或多个协议,以完成相应的部分的通讯功能。
【举实际中的例子来说明,公司的层次;
邮局的例子】
(1)分层的概念。
体现了“分工合作”的思想。
每一层只需要关心自己所需要做的工作。
这种结构化的设计方法,各层次相对独立、界限分明,以便网络的硬件和软件分别去实现。
(2)服务的概念。
下层向上层提供“服务”,上层使用下层的“服务”,同时又为更高一层提供自己的“服务”。
【区别:
协议是水平的关系,服务是垂直的关系】
(3)接口的概念。
接口是相邻层间交换信息的连接点。
低层向高层通过接口提供服务。
【就像是电视的遥控器,只要使用就可以了,不用了解内部的功能构造】
(4)对等实体的概念。
每一层次中包括两个实体,称为对等实体。
(5)通信协议的概念。
网络中各层的对等实体之间都将进行通信,需要有一套双方都遵守的规则──通信协议。
(6)层次结构的概念。
二、网络体系结构
1.网络体系结构的定义
定义:
计算机网络的所有功能层次,各层次的通信协议以及相邻层次间接口的所有集合。
2.网络体系结构的分层原则
网络协议都采用层次结构。
不同网络协议的分层方法会有很大差异。
分层考虑原则:
(1)各层功能明确。
具有自己特定的,与其他层次不同的基本功能。
(2)接口清晰简洁。
要求通过接口的信息量最小。
(3)层次数量适中。
避免层次太多而引起系统和协议复杂化。
(4)强调标准化。
各层功能的划分和设计应强调协议的标准化。
3.网络体系层次结构的优点
采取层次结构具有如下一些优点:
(1)各层相互独立:
只要知道下一层服务,而不需了解其实现的细节。
(2)灵活性好:
某一层发生变化时,只要层间接口不变,则上、下层均不受影响。
(3)实现技术最优化:
分层结构使得各层都可以选择最优的实现技术,并不断更新。
(4)易于实现和维护:
可以在较小范围内来实现、调试和维护,操作要简便。
(5)促进标准化:
各层的功能和所提供的服务都可以进行确定、说明,这有助于促进标准化。
4.网络体系结构实例
(1)网络体系结构SNA。
IBM公司于1974年提出的。
(2)数字网络结构DNA。
DEC公司于1975年提出的一个以分层方法设计的网络体系结构。
(3)开放系统互连参考模型OSI/RM。
国际标准化组织ISO于1978年提出的最著名的网络互连国际标准协议。
(4)局域网参考模型IEEE802标准。
IEEE802标准是由IEEE802委员会(美国电气和电子工程师学会的局域网标准委员会)制定的。
(5)传输控制协议/互联网协议TCP/IP。
形成于1977~1979年间,其最早起源于ARPAnet参考模型。
虽然TCP/IP协议与OSI/RM标准有一定的差异。
但由于它是因特网上采用的实际协议标准,并被公认为当前的工业标准或“事实上的标准”。
(6)宽带综合业务数字网B-ISDN。
第二节OSI/RM参考模型
之前,大的计算机公司都定义了自己的网络体系结构。
这些层次的划分,功能的分配与采用的技术术语差异极大。
不同的协议之间却无法直接相连。
所以需要,制定一个国际标准的网络体系结构也就势在必行了。
国际标准化组织ISO于1983年正式发布了著名的ISO7498标准:
“开放系统互联参考模型”OSI/RM。
只是一个技术规范,而不是工程规范。
OSI/RM是在市场已有的计算机网络体系结构基础上,博采众长,而形成的。
一、OSI参考模型
1.OSI/RM的7层模型
从第l层到第7层的命名为:
物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。
2.OSI/RM中的对等实体和7层协议
各层协议定义了相应层的协议控制信息的规则。
3.OSI/RM各层的主要功能
(1)物理层(Physicallayer)
物理层实现透明地传送比特流,为数据链路层提供物理连接。
(2)数据链路层(Datalinklayer)
数据链路层在通信的实体之间负责建立、维持和释放数据链路连接。
(3)网络层(Networklayer)
通过路由算法,选择最适当的路径,并实现差错检测、流量控制与网络互连等功能。
(4)运输层(Transportlayer)
运输层完成端到端的差错控制、流量控制等。
它为高层提供端到端可靠、透明的数据传输。
(5)会话层(Sessionlayer)
组织两个会话进程之间的数据传输同步,并管理数据的交换。
(6)表示层(Presentationlayer)
数据格式转换,数据加密与解密,数据压缩与恢复等功能。
(7)应用层(Applicationlayer)
开放系统与用户应用进程的接口,为OSI用户提供管理和分配网络资源的“服务”,如:
文件传送和电子邮件等。
【举例子说明各层的功能。
应用层(应用层、表示层、会话层):
这次通信要做什么?
运输层:
对方的位置在哪里?
网络层:
到达对方位置走哪条路?
数据链路层:
沿途中的每一步怎样走?
物理层:
每一步怎样实际使用物理介质?
各层的数据单位使用了各自的名称:
物理层:
比特流。
数据单位为帧。
分组,数据报。
运输层、会话层、表示层和应用层:
报文。
二、TCP/IP参考模型
TCP/IP体系结构是在计算机网络的发展过程中所产生的,虽然并不完美,但是也没有什么大的缺陷,并被大多数的网络所使用。
对于厂商和用户来说,没有必要更换相应的体系结构。
所以,TCP/IP体系结构是计算机网络的事实标准。
层次
主要协议
应用层
HTTP、FTP、SMTP、DNS、DSP、Telnet、WAIS……
传输层
TCP、UDP、DVP……
网络层
IP、ICMP、AKP、RARP、UUCP……
接口层
Enternet、Arpanet、PDN……
第三节物理层
完成物理链路连接的建立、维持与释放;
传输物理服务数据单元;
进行物理层管理。
网络中传输介质是多种多样的。
一、物理层的特性
1.机械特性
机械特性规定接口所用接线器的形状、几何尺寸、引线数目和排列方式等。
【插座大小尺寸、个插脚】
2.电气特性
规定信号线的连接方式相关的电气参数。
【1或O的电平范围、速率和距离限制】
3.功能特性.
对接口连线的功能的定义。
【数据信号线、控制信号线、定时信号线、接地线】
4.规程特性
规定了数据传输时的控制过程和步骤。
【链路建立、维持和解释】
【可以举例说明这几种不同的特想的区别】
第四节数据链路层
一、数据链路层的基本概念
1.数据链路
物理链路的基础上,使用控制规程,构成数据链路。
并形成了有一定格式的数据帧。
一条链路上可以产生多条数据链路。
2.数据链路层的基本功能
物理链路不可靠的。
数据链路层要在物理层提供物理连接的基础上,向网络层提供可靠的数据传输。
所以数据链路层的功能:
(1)链路管理。
链路两端建立、维持和释放数据链路。
(2)帧的装配。
数据单元是帧,封装和解封数据帧。
(3)帧同步。
接收端能够识别出一个帧的开始和结束。
(4)寻址。
在多点式链路中,要知道哪个结点发来的数据,就必须知道发送端的地址。
【MAC地址】
(5)差错控制。
保证相邻结点之间数据传输的正确性。
采用检错重传方法。
(6)流量控制。
相邻结点之间的流量控制。
使接收端来得及接收,以防止接收能力不足而造成的数据丢失。
实现收发双方速度匹配。
【停止等待协议、连续ARQ协议和选择重传ARQ协议】
【网络层、运输层中也需要解决流量控制问题】
(7)透明传输
二、停止等待协议
1.停止等待协议原理
基本思想是:
发送端对发送的数据帧加上校验码并进行顺序编号,每次按顺序发送一个帧,然后等待接收端的响应帧,并且根据响应帧来决定发送下一个帧还是重发原来的帧。
具体操作:
1.发送结点:
a.从主机中取出一个数据帧
b.V(S)=0,对发送状态变量初始化
c.N(S)=V(S),再将发送状态变量的值写
入到发送序号中,并将数据帧送入发送缓冲区中。
D.再将缓冲区中的数据帧发送出去。
(但是仍然保留副本在缓冲区中。
)
E.设置超时计时器(设置适当的超时重发时间,tout,一般为大于一次正常数据帧传输与应答信息传输时间的总和。
F.等待。
(等待后面的情况中一种的出现)
G.若是接收到确认信息ACK。
则从主机中取出一个新的数据帧,并为其确定新的状态变量,和序号。
(在这里我们只选用1个比特位来承载序号信息,所以只有两种可能,所以更新状态变量时,使用公式V(S)=1-V(S),就可以了。
)然后再转入第三步。
H.若是收到否认帧,则转入第四步,重传数据。
I.若是超时,则还是转入第四步,重传数据。
2.接收方(协议)
a.V(R)=0。
接收的状态变量初始化,值等于发送方发送的数据帧的序号。
以便于识别接收。
B.等待。
等待发送的数据帧的到来。
C.当接受到一个数据帧时,就开始检错,无错则执行后面的算法。
有错则执行第8步。
D.如果N(S)=V(R),则说明接收到正确的数据帧,可以接着执行后续的算法。
如果不相等,则说明是重复帧,丢弃,并转入第七步。
E.将接收到的数据帧送入接收方的缓冲区中,并交由主机。
F.发送确认帧ACK,并转到第2步。
G.发送否认帧NAK,并转到第2步
(等待重发)
在这个停止等待协议中,我们可以看到一个十分重要的地方,就是在收发两端,设置一个本地的状态变量。
对于这个状态变量的使用,我们要注意的是:
(1)在发送一个数据帧,都必须将发送状态V(0)的值,写入到数据帧的发送序号N(S)中,(以区分不同的数据帧,)并在接收到一个确认信息ACK时,才将状态变量V(s)改变以后,重新写入发送序号,并发送数据帧。
(2)在接收方,接收到数据帧后,将发送的数据帧上的发送序号N(S)与本机的接收的状态变量V(R),不相同则是说明,数据帧是新的数据,相同则是重复帧。
(3)如果接收到的数据帧为重复帧,则丢弃。
并且接收状态变量V(R)不变,但是需要发送一个确认信息(ACK)。
需要注意的是,发送方在发送数据之后,要将数据帧的副本,保存在数据缓冲区中,以便于数据帧发送失败之后进行重发。
而我们将这种对出错数据进行重发的差错控制体系称为ARQ(自动重发请求)。
2.停止等待协议的作用
用于链路差错控制,解决诸如数据帧出错、丢失和重复的问题。
停止等待协议是一种最简单的差错控制和流量控制协议,其信道的利用率不高,于是产生了连续ARQ和选择重传ARQ协议。
三、连续ARQ协议和选择重传ARQ协议
1.连续ARQ协议的基本原理
发送端在发完一个数据帧后,不用等待响应帧,即可再连续发送若干个数据帧,即使在连续发送过程中收到了接收端返回的响应帧,还可以继续发送,而不是像停止等待协议中,发完一个数据帧以后即停止下来等待响应帧。
由于减少了等待的时间,必然提高信道的利用率。
2.选择重传ARQ协议
连续ARQ协议在出差错时,需要重传包括差错帧在内的多个帧,其中有原来己正确传送的数据帧。
这种重传方式会使效率降低。
选择重传ARQ协议则只重传出现差错的数据帧或定时器超时的数据帧,可以进一步提高信道的利用率。
但是接收端必须增加一定容量的缓冲区,增大了设备成本。
所以用的不是很广泛。
四、滑动窗口概念
通过发送端设置“发送窗口”,在接收端设置“接收窗口”,限制已发送而未被确认的数据帧数目,实现流量控制。
发送窗口用来控制发送端在没有收到接收端确认帧的情况下,可以发送数据帧的个数。
接收窗口用来控制接收端允许接收的数据帧的序号。
只有接收窗口WR内序号的数据帧才允许接收。
每收到一个正确的数据帧,则向发送端返回一个确认,然后将接收窗口向前滑动一位。
【接收窗口必须小于发送窗口】
五、数据链路层协议实例
数据链路层协议实例是高级链路控制规程(HDLC)。
1.HDLC的链路结构与数据传送方式
定义了两种链路结构配置和三种数据传输方式。
(一)两种链路结构为:
(1)点~点式链路结构。
点点式链路:
非平衡点点式链路和平衡点点式链路。
1)非平衡点点式链路:
由一个主站和一个从站组成。
主站对整个链路进行控制,发出命令帧;
从站受主站的控制,只能完成主站指定的工作,发出响应帧。
2)平衡链路:
由两个复合站组成,同时具有主站和从站的功能,既可发送命令,也可做出响应。
(2)多点式链路。
由一个主站和若干个从站组成,是一种非平衡式多点链路。
(二)三种数据传输方式。
(1)正常响应式(NRM):
只有主站才能启动数据传输,从站仅当收到主站的询问命令后,才能发送数据。
(2)异步响应式(ARM):
从站不必等待主站询问就可以发送信息,启动数据传输。
(3)异步平衡式(ABM):
任何一个复合站都可以主动地启动数据传输。
2.HDLC帧的结构
以帧为单位进行数据传输,协议数据单元(PDU)。
HDLC帧具有固定的结构
下面分别介绍帧结构中各字段的含义:
(1)标志字段(F,Flag)。
HDLC帧的开头和结尾是一个由二进制位串组成的特殊字节(8bit),称之为标志字段(F,Flag)。
它标志着一个帧的开始和结束,解决帧的同步问题。
在接收端,只要读到这两个标志字段,表示其间的比特流就是一个帧。
数据比特流中也出现,则会被误认为是帧边界。
采用比特填充技术。
一旦发现有5个连续的1,则在其后填入一个0,比特流中不会出现。
接受方,发现5个连续1时,删除后的一个0,以此将比特流还原。
(2)地址字段A。
地址字段表示从站或应答站的地址。
全1地址表示广播地址,全O地址无效。
(3)控制字段C。
复杂的字段,识别数据与控制信息的类型和功能。
根据该字段最前面两个比特的取值,分为三大类:
信息帧(I帧)、监督帧(s帧)和无编号帧(U帧)。
【发送的信息;
控制、准备、拒绝信息;
连接建立释放】
(4)信息字段I。
上层的数据。
长度是由设备的缓冲区大小来决定。
(5)帧校验序列FSC(FrameCheckSequence)。
用于差错控制中的检错。
纠错,采用ARQ协议,重发;
如果数据帧丢失,超时重发机制。
3.HDLC帧类型
根据控制字段第l、2比特的取值,分为信息帧(I帧)、监督帧(S帧)和无编号帧(U帧)。
(1)信息帧(I帧)。
信息帧包含要传送的数据,并且捎带传送流量控制、顺序控制和差错控制的信息。
信息帧中控制字段:
N(S)为发送序号,表示当前发送的信息帧的序号。
N(R)为接收序号,表示所希望收到的帧的序号,这里同时表示序号N(R)以前的各帧都已正确收到(但不包括N(R)帧)。
【确认方法称为捎带确认‘
(2)监督帧(S帧)。
4种监督帧,如表3-2所示。
(3)无编号帧。
无编号帧提供链路管理功能,包括数据链路的建立、释放、恢复。
4.HDLC的通信操作举例
经过建立链路、传输数据和释放链路三个阶段。
(1)链路建立。
(2)传输数据。
(3)释放过程。
第五节网络层
一、网络层的基本概念
1.端到端通信
数据链路层只能解决两个结点之间的通信。
2.网络层的基本功能
网络层处于数据链路层和运输层之间,是通信子网的最高层。
在数据链路层的服务基础上,向运输层提供透明的数据传输服务。
【对上层屏蔽通信子网的技术、数量、类型的差异】
主要功能如下:
(1)网络连接。
网络层为两个端点在一个通信子网内建立网络连接、维持和拆除。
(2)路由选择。
按照一定的算法,确定一条最佳的通路。
就是路由选择。
(3)网络流量控制。
通过对网络数据流量的控制和管理,达到提高通信子网传输效率,避免拥塞和死锁的目的。
(4)数据传输控制。
数据的传输控制包括报文分组、分组顺序控制、差错控制和流量控制等。
3.网络层服务
网络层可以向运输层提供面向连接的网络服务和面向无连接的网络服务,以保证不同的服务质量。
(1)面向连接的网络服务。
就是虚电路服务。
通过在两个端结点之间建立一条逻辑通路——虚电路。
报文的所有分组将沿这条虚电路按顺序传输到接收端。
虚电路服务是网络层向运输层提供的一种可靠的数据传输服务。
(2)面向无连接的网络服务。
就是数据报服务。
数据传输时不需建立连接,每个分组作为一个数据报,都携带完整的发送端和接收端地址,在通信子网中独立地传送。
路由选择是自由的,各自所走的路径可能会不同。
不可靠的数据传输服务。
二、路由选择
是网络层的主要任务。
路由选择根据一定的路由算法,为传送的分组选择一条合适的路径。
1.路由表
为了进行路由选择,通信子网中的每个结点都保存一张路由表。
【就像是公路的指路牌】
2.虚电路入口出口表
通信子网中的各个结点上除保存一张路由表外,还要保存一张经过虚电路入口出口表。
建立虚电路时,根据路由表填写各个结点的入口出口表;
数据传输时,各结点根据该表转发数据;
传输结束后,通过从入口出口表中删除相关项目,即释放虚电路。
三、路由选择算法
路由选择时需要采用一定的路由算法,选择最佳路径。
好的路由算法:
选择的通路费用最小,计算方法简单正确,对网络变化有自适应能力等优点。
【非自适应路由选择算法、自适应路由选择算法】
1.非自适应路由选择算法
(1)洪泛法(flooding)。
是任何结点都把收到的分组复制备份,分别发往相邻的结点。
但不包括该分组入口的那个结点。
(2)固定路由法。
在网络中每个结点上,都存放一张预先确定好的路由表。
该表在系统配置时生成,并保持相当长的时间不变。
这种方法简单,但不能适应网络环境的变化。
2.自适应路由选择算法
(1)孤立式路由选择算法。
各结点“孤立”地只根据本结点的当前状态来决定路由选择,而不考虑其他结点状态。
【热土豆算法、称最短队列算法】:
(2)集中式路由选择算法。
在网络中设置一个网络控制中心(NCC)。
负责全网状态信息的收集、路由计算以及路由选择。
网中所有结点周期性地将状态参数报告给NCC,据此生成各结点的路曲表并周期性发给所有的结点。
(3)分布式路由选择算法。
在各结点间周期性地交换网络状态信息。
各结点可以不断地根据网络环境的变化而更新本结点的路由表,整个网络的路由选择常处于动态变化中。
四、网络流量控制
1.拥塞与死锁
拥塞:
当网络中的分组流量过大时,就会导致网络结点不能及时地转发所收到的分组,从而增加信息的传输时延,若流量增大到一定程度时,网络的性能会明显下降。
死锁:
最严重的拥塞结果是使网络的吞吐量下降到零,整个网络陷于瘫痪状态。
【堵车的例子】
拥塞的原因:
导致对网络资源的需求大于供给。
【链路容量、交换结点中的缓冲区、处理能力】
2.按级进行流量控制
解决网络拥塞和死锁的方法是实施流量控制,使得网络能动态地分配资源。
第六节运输层
一、运输层的作用
在OSI/RM中,常常把1~3层称为低层,完成通信子网的功能,是面向数据通信的;
5~7层称为高层,由主机中的进程完成应用程序的功能,是面向数据处理的。
第4层运输层正位于低高层之间。
运输层的主要功能。
1.运输层连接管理
向高层协议提供面向连接和无连接两种服务。
面向连接的运输服务,提供一条可靠的端一端连接,运输层连接分为连接建立、数据传输和释放连接三个阶段。
2.屏蔽通信子网的差异
提供虚电路服务和数据报服务,屏蔽了提供不同服务质量的通信子网的差异,向上提供标准的完善的服务。
3.进程寻址
通信子网中的寻址,从源主机到目的主机之间的通信寻址。
运输层必须解决进程寻址。
【不同的程序或是端口之间的寻址】
4.复用
提供向上复用和向下复用。
向上复用是把多个运输连接复用到一条网络层连接上,即多个进程复用一条网络层连接,以降低使用费用;
向下复用则是一个运输连接使用多个网络层连接,以提高数据传输率。
5.可靠性传输
运输层通过差错控制、序列控制、丢失和重复控制来实现数据的可靠性传输。
二、传输协议的分类
传输层协议是建立在网络层服务之上的。
网络层按服务质量的不同,可分为A,B,C三种类型。
A型:
网络能够提供完善可靠的服务,很少出现差错。
B型:
网络能够提供比较可靠的服务,当出现严重差错时,需要运输层协议来处理。
C型:
网络提供不可靠的服务,当出现差错时,需要运输层协议来处理。
针对3种不同服务质量的网络层服务,传输层被划分为5种。
第七节高层协议
高层协议是要解决数据处理的问题,是面向应用的。
一、会话层
会话层实体在进行会话时,不再考虑通信问题。
会话层主要是对会话用户之间的对话