试简要比较虚电路服务与数据报服务?ip协议采用数据报方式还是虚电路方式?因特网这_端到端的传输协议(通网二)...

为了形成一条可靠的业务通道,我们首先解决:如何标识数据块(分组)的起止位置;发现传输中的比特错误;发现错误后,如何消除这些错误。
根据通信双方所处的相对位置不同,所采用的解决方法(协议)也不同。
当通信双方之间是通过一条物理链路直接相连,这时需采用链路层的协议来解决数据帧的传输错误;当通信双方是在一一个通信子网内通过多条数据链路形成的通路相连,这时需要采用网络层的端到端传输协议来解决分组的传输错误;当通信双方处于不同的通信子网时,需要采用运输层的端到端传输协议来解决报文的传输错误。

2.1组帧技术

帧:链路层传输的一个数据比特块,通常是运载网络层的一个分组。
技术关键:帧的开始,结束,差错校验比特。
组帧技术:面向字符(指物理层传输的基本单元是一个字符:SLIP,PPP),面向比特,采用长度计数。
SLIP:转义字符ESC(DBH),开始/结束END(C0H),出现END(换ESC,DCH),出现ESC(换ESC,DDH)。

90a1fd2e849f92211e80fbde5fcab9fe.png


PPP:开始/结束(7EH),固定值(开始7E,地址FF,控制03)

866a17b6dbe5f9afc0caf98b9cbd62b0.png
上述帧格式均支持数据的透明传输,这些帧结构在处理时非常简单,但缺点是效率较低,插入了许多转义字符。另外,数据长度必须以字节为单位。

面向比特组帧:开始/结束(特殊比特串FLAG,如

,连续6个1),转义(每5个1插入一个0),丢弃或终止(连发7个及以上1),链路空闲(连续15个1)。

帧的开销

长度计数组帧:帧长度+分组数据(表示一帧的结束)

2.2链路层的差错控制技术

差错检测
目的:有效发现一帧数据比特经过物理信道传输后是否正确。
常用方法:奇偶校验(对应信息为取异或),循环冗余校验CRC(多项式除法取余)

基本思路是发端按照给定的规则,在K个信息比特后面增加L个按照某种规则计算的校验比特;在接收端对收到的信息比特重新计算L个校验比特。比较接收到的校验比较和本地重新计算的校验比特,如果相同则认为传输无误,否则认为传输有错。

CRC校验:
输入比特


校验比特

输入比特序列表示为多项式

设出生成多项式

则校验比特对应多项式

在接收端,将接收到的序列除以生成多项式,若余数为0,则认为接收无误

ARQ协议

前面解决了如何发现传输帧的错误问题,下面要解决当接收端发现传输帧有错如何处理的方法。
出错的最简单处理方法是(收端)自动请求发端重发(ARQ,Automatic Retransmission Request)。即收端收到--帧后,经过CRC检验,如果发现该帧传输有误,则通过反馈信道(该信道可以与前向传输相同,也可以不同)以某种反馈规则通知发端重复上述过程,直到收端收到正确的帧为止。对反馈规则和重传规则的设计,要保证整个自动重传协议的正确性和有效性。
为了研究ARQ协议,我们对物理比特管道(物理链路)作如下假定:
(1)在物理信道上传输的帧到达接收端前被时延了一个任意可变的时间;
(2)帧在传输过程中可能会丢失,也可能出错;
(3)帧到达的顺序与发送的顺序相同。

ARQ重传协议不同形式:停等式ARQ,返回n-ARQ ,选择重发式ARQ ,并行等待式ARQ

停等式ARQ:停等式ARQ(Stop-and-WaitARQ)的基本思想是在开始下一帧传送以前,必须确保当前帧已被正确接收。(收到NAK或未收到ACK导致定时器超时,重发)(发送序号SN,接收序号RN,希望接收的下一个发送帧的序号)

1ae7c81e59435947776d7137bd77b72e.png

a133ac8ff08cc8a032c9ac8d483885a2.png

等待式ARQ协议的性能评估:算法的正确性(稳妥性→按顺序正确交付,活动性→无死循环),有效性(吞吐量,链路利用率,分组延迟)

等待ARQ正确性:A能够始终不断地从高层接收数据分组,B能够始终按照发端的顺序向B的高层呈送接收到的分组,既不重复,也不丢失。

等待ARQ有效性:固定帧长下,传输时间

,物理信道传输时延
,一帧平均重发次数
,最大平均利用率

,
,则有

假设误帧率为
,从而有

链路最大平均利用率为

最大平均吞吐量为(分组/秒)

平均分组延迟为
组帧时延是指从高层分组的第一-比特到达链路层开始,到链路层将该分组的所有比特收齐,经过增加控制头(如帧起止标志发送序号,接收序号等)和校验比特(CRC)形成可传输的数据帧为止,它取决于网络层与链路层之间的接口速率和方式,

返回n-ARQ:返回n-ARQ(有时也称为连续ARQ)的基本思路是:发端在没有收到对方应答的情况下,可以连续发送n帧。收端仅接收正确且顺序连续的帧,其应答中的RN表示RM以前的所有帧都已正确接收。(这里收端不需要每收到一个正确的帧就发出一个应答,可对接收到的正确顺序的最大帧序号进行应答。)

67c5c52ae937fdadaf75b6e0181773ce.png

3f791250ce7bcd01f1eba89b1c7a65c9.png

7aeabf0f46787e4aea47491fab10da60.png

4a85914309bf40ec0d3e0f7209bd1a09.png
返回n-ARQ的序号也可以用模为m(m>n)的整数来表示。例如,取模8则可用3比特来表示序号,此时最大的窗口取值只能为7。
如果n=m,则系统无法正常工作。其原因如下:假设,发端发送8帧后,收到了对方的所有确认,则将发送新的8帧,其序号为0~7。如果发端发送8帧后,收端发送的应答未能到达发端,发端将重发这8帧,其序号仍为0~7。由于这两种情况对收端而言是无法区分的,因而在接收到第二次序号为0~7的帧时,收端无法区分是新的帧还是重发的帧。

影响返回n-ARQ协议效率因素:反向帧过长(要求增加n),反向应答出错(增加n),正向传输出错(因为n的增加导致的,要加快出错的发聩速度)
成功传输一帧所需的帧数为

选择重发式ARQ

在返回n-ARQ中,如果前向传输的某一个帧出错,则在收到对方的否定应答后,该帧及其后续的帧都要重传,而不管这些后续是否传输正确。选择重发式ARQ的思路与返回n-ARQ相同,其窗口仍为n,但仅仅重发有错的帧。
当RN和SN采用模m来表示时,要求1m>2n;否则,如果取m>n,会引起接收数据的序号混淆。

并行等待式ARQ:采用轮询方法循环查询各个虚拟信道

18c1af869cf5f01c154fbe2522442816.png

最佳帧长:两方面考虑(单条链路传输效率最高,多条链路)

在实际传输过程中,每一-帧数据通常包括数据负荷和控制信息。
如果帧长较短,控制比特所占用的比例较大,因而链路利用率下降。如果帧长较长,在数据帧传输过程中,因信道误码的存在而导致帧传输错误的概率较大,重传的次数将增大,这也会导致链路利用率的下降。因此存在一个最佳帧长,使链路利用率最高。
当分组经过多次中转才能到达目的节点时,可将-条消息分成不同长度的分组经过中转达到目的节点,实现 多链路的并行传输。从降低时延的角度,分组的长度尽可能小,但分组长度诚小,将导致组帧的负荷增加,综合考虑时延和开销两个方面,就存在一个最佳帧长。

2.3标准数据链路控制协议(DLC)及其初始化

目前常用的标准数据链路控制(DLC)
协议有:IBM提出的SDLC,ISO建议的HDLC,ANSI规定的ADCCP和CCITT建议的LAPB等。其中,HDLC与ADCCP功能相同,SDLC是HDLC的一个功能子集。LAPB也是HDLC的一个子集。
HDLC(ADCCP)是为多种物理链路设计的。这些链路包括多址链路、占对点链路、全双工和半双工链路。

链路工作方式:全双工,半双工,单工

HDLC包括三种工作模式:正常响应模式(NRM)、异步响应模式(ARM)和异步平衡模式(ABM)

正常响应模式(NRM):用于主从式链路。即链路的一端是主站(节点),另一端是从站。主站负责控制和协调双方的通信过程。典型的应用场合是一个计算机与多个外设之间的链路。采用轮询(Polling)机制,实现主站与从站之间的通信。
异步响应模式(ARM):采用主从模式,但对从站没有严格的限制,该方式未被广泛使用,后面将不再讨论它。
异步平衡模式(ABM)用于全双工点对点的链路,链路两端的节点具有相同的责任进行链路控制。这是应用最广泛的协议之一。

HDLC三种不同帧类型,信息帧,监控帧,无编号帧。

标准DLC的帧结构

HDLC协议中链路的初始化

2.4网络层和运输层的点对点传输协议

前一节我们研究了两个相邻节点的数据传输的协议,这里我们要讨论一个会话过程(Session)跨越一个网络中多条链路,或跨越多个网络的不同传输链路时的分组编号、差错恢复、流量控制和编址等问题,以保证任意两个网络节点或两个应用进程之间可靠的数据传输。

网络层(子网层)点对点传输协议

由于链路共享,要对不同会话过程进行分组编号
虚电路(VC)方式:虚电路号,开销小但需要虚电路的建立过程。
数据报方式:源目地址,相同节点不同会话过程的标识,分组链路不同故分组要编号,开销较大。
传输出错:漏检,错捡,链路故障导致分组丢失。
网络层差控与链路层区别:使用位置不同(链路两端,两节点),编号方式不同(session分组统一编号,成帧后顺序编号),传输顺序不同(链路顺序传输,网络层路径不同),时延大小不同。
存在问题:差控不能保证差错恢复100%正确,如数据报方式中的错误潜伏导致的序号不可纠正,1 mod m和(1+m)mod m
问题解决:网络层虚电路方式,分组模值足够大,分组分配最大生存时间。
分组头的变动:可变部分(路虚电路号)不参加校验。
解决分组头出错:利用源目共知信息(如地址码)参与校验,但是不进行传输。

流量控制:滑动窗口
ARQ:滑窗n,第j个分组能够发送的条件是j-n个分组已被应答。
具体方式:通过含有RN的应答分组延迟发送,实现端到端流控。可以有效减少子网内部和目的节点处拥塞。
问题:但是发端无法区分错误,传输出错,应答拥塞,目的节点过载。
解决思路:不减缓应答,使发端放慢速度(类似DLC中的RNR接收未准备好);许可机制(利用RN+Permit(j)改变发端窗口大小)

X.25网络层标准

网际层(互连层)传输协议——IP协议

目前全球最大的、开放的、由众多网络通过路由器互连而成的,采用TCP/IP协议族的网络称为因特网(Internet)。
Internet使用的网际协议称为IP(Internet Protocol),
Internet的设计 目标是使得所有的网络尽可能容易地加入到Internet中。尽管许多网络传输数据报的时延可能是任意的,数据报的传输可能会丢失、重复和乱序,但这些网络都允许加入到Internet中。由于Internet网假定实际的子网缺少可靠性的保障,所以IP采用了数据报协议。
至于子网内部采用什么样的协议与IP无关。子网内部可以采用数据报方式,也可以采用虚电路方式来传输IP分组。(注:利用IP传输的一个数据单元称为数据报。一个数据报在子网内部可分为若干个分组来传输。)

IP的主要功能有:①为数据报通过Internet提供路由。②寻址功能为源和目的节点提供地址信息。③将数据报分段、重装以适应不同的网络对分组长度的限制。

与IP协议一起工作的还有三个协议:地址解析协议ARP(Address Resolution Protocol),逆地址解析协议RARP(Reverse Address Resolution Protocol)和Internet控制报文协议ICMP(Internet Control Message Protocol)

ARP用于IP地址到子网设备(如网卡)地址的转换。RARP用于确知自己的子网地址的情况下,获取自己的IP地址。ICMP允许主机或路由器报告IP数据报传输的差错情况和提关异常情况的报告。ICMP报文可分为两类:一类是ICMP报文,另一类是ICMP询问报文。

运输层的点对点传输协议

运输层的功能是将消息分成报文。如果网络层没有合适的差错控制,则运输层提供必要的差错恢复。如果网络层没有流控,则运输层进行流量控制。对Session进行复接和分接。
目前运输层有两个典型的标准协议:TCP和OSITP Class0~TPClass4,这里以TCP为例进行介绍。

一个完整的地址:网络号、主机号、端口号,它们被称为一个套接口(socket)

TCP中用的差错控制方式为选择重发式ARQ,SN和RN的长度为32bit。这里SN和RN不是分组的编号,而是对数据字节进行编号。
SN表示所传输的分组数据是从当前Session中第SN个字节开始的一段数据。
RN表示希望接收到的分组的第一个字节应为当前Session中第RN个字节。如果当前的sN-m,数据长度为n,则下一分组中的SN-m+n

在TCP中,差错恢复问题:一是重传问题(如何确定重传间隔,负荷与效率),二是连接建立和拆除时错误(通过初始化SN与RN同步)。
报文平均往返时延


重发间隔为
,在TCP中推荐值

每重发一次就将重发间隔增加一次
重发间隔=
旧重发间隔

在系统中,
的典型值为2

流量控制需要考虑两方面的问题:一是接收者的缓冲区容量大小,二是网络的容量及通过量。
为了解决接收者缓冲区溢出问题,在TCP中采用了窗口允许机制(类似ARQ的许可机制)。

为了控制网络的拥塞,在TCP中还引了第二控制窗口--拥塞窗口(即发端一次可发送的字节数)。拥塞窗口长度是根据网络的拥塞情况动态调整的。

发端真正使用的窗口(称为发送窗口)长度等于通知窗口和拥塞窗口的最小值,即发送窗口长度=min(通知窗口长度,拥塞窗口长度)

在TCP中采用了慢启动(slow-start)、拥塞避免(congestion avoidance)和加速递减等技术来进行拥塞控制。

发端每传送一次(即发端将发送窗口中的报文段全部发完,并且收到了对该报文段的所有确认)调整一次发送窗口。

为了实现控制过程,在TCP中引入了一个门限窗口。当拥塞窗口大于门限窗口时,发端要减缓发送速度,以避免网络拥塞。

cb22a85d6d3140d4ddf166d9d207c165.png
采用上述流量控制方法使得TCP的性能明显改善。但是当TCP用于无线信道时,由于经常会因传输错误而导致发端超时,这时如果仍采用上述流控方法,将会引起TCP的传输效率下降,此时需要对TCP进行适当的改进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值