1. 计网:运输层
本篇文章先概括介绍运输层协议的特点、进程之间的通信和端口等重要概念,然后讲述比较简单的UDP协议。然后讨论较为复杂但非常重要的TCP协议和可靠传输的工作原理,包括停止等待协议和ARQ协议。在详细讲述TCP报文段的首部格式之后,讨论TCP的三个重要问题:滑动窗口、流量控制和拥塞控制机制。最后,介绍TCP的连接管理。
从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。
当网络的边缘部分中的两台主机使用网络 的核心部分的功能进行端到端的通信时,只有主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。
运输层有一个很重要的功能 复用和分用:
从IP层来说,通信的两端是两台主机。但实际上,真正进行通信的实体是 在主机中的进程,是这台主机中的一个进程和另一台主机中的一个进程在交换数据(即通信)。运输层提供应用进程间的逻辑通信。“逻辑通信”的意思是:从应用层来看,只要把应用层报文交给下面的运输层, 运输层就可以把这报文传送到对方的运输层。但事实上这两个运输层之间并没有一条水平方向的物理连接。数据的传送是沿着图中的虚线方向(经过多个层次)传送的。
从这里可以看出网络层和运输层有明显的区别。网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。
运输层还要对收到的报文进行差错检测,而在网络层,IP数据报首部中的检验和字段,只检验首部是否出现差错而不检查数据部分。
根据应用程序的不同需求,运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP,这两种协议就是本章要讨论的主要内容。
当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。但当运输层釆用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道。
TCP/IP运输层的两个主要协议都是互联网的正式标准,即:
在TCP/IP体系中,则根据所使用的协议是TCP或 UDP,分别称之为TCP报文段或UDP用户数据报。
UDP在传送数据之前不需要先建立连接。远地主机的运输层在收到UDP报文后,不需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP却是一种最有效的工作方式。
TCP则提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销,占用许多处理机资源。
前面己经提到过运输层的复用和分用功能。应用层所有的应用进程都可以通过运输层再传送到IP层(网络层),这就是复用。运输层从IP层收到发送给各应用进程的数据后,必须分别交付指明的各应用进程,这就是分用。显然,给应用层的每个应用进程赋予一个非常明确的标志是至关重要的。
为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法(而这种方法必须与特定操作系统无关)对TCP/IP体系的应用进程进行标志。
解决这个问题的方法就是在运输层使用协议端口号,或通常简称为端口。这就是说,虽然通信的终点是应用进程,但只要把所传送的报文交到目的主机的某个合适的目的端口,剩下的工作(即最后交付目的进程)就由TCP或UDP来完成。
在协议栈层间的抽象的协议端口是软件端口,和路由器或交换机上的硬件端口是完全不同的概念。软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。
TCP/IP的运输层用一个16位端口号来标志一个端口。但请注意,端口号只具有本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。在互联网不同计算机中,相同的端口号是没有关联的。
两个计算机中的进程要互相通信,不仅必须知道对方的IP地址(为了找到对方的计算机),而且要知道对方的端口号(为了找到对方计算机中的应用进程)。
因此运输层的端口号分为下面的两大类:
用户数据报协议UDP只在IP的数据报服务之上增加了很少一点的功能,这就是复用和分用的功能以及差错检测的功能。
UDP的主要特点是:
用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单,只有8个字节。由四个字段组成,每个字段的长度都是两个字节。各字段意义如下:
当运输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口,上交最后的终点——应用进程。
如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于该端口号的应用进程),就丢弃该报文,并由网际控制报文协议ICMP发送“端口不可达”差错报文给发送方。
UDP用户数据报首部中检验和的计算方法有些特殊。在计算检验和时,要在UDP用户 数据报之前增加12个字节的伪首部。所谓“伪首部”是因为这种伪首部并不是UDP用户数 据报真正的首部。只是在计算检验和时,临时添加在UDP用户数据报前面,得到一个临时的 UDP用户数据报。检验和就是按照这个临时的UDP用户数据报来计算的。伪首部既不向下传
送也不向上递交,而仅仅是为了计算检验和。
UDP计算检验和的方法和计算IP数据报首部检验和的方法相似。但不同的是:IP数据 报的检验和只检验IP数据报的首部,但UDP的检验和是把首部和数据部分一起都检验。
TCP是TCP/IP体系中非常复杂的一个协议,下面介绍TCP最主要的特点:
前面己经讲过,每一条TCP连接有两个端点,TCP连接的端点叫做套接字或插口。端口号拼接到IP地址即 构成了套接字。
因此,套接字的表示方法是在点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开,例如说:
每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定,例如:
这里IP1和IP2分别是两个端点主机的IP地址,而port1和port2分别是两个端点主机中的端口号。TCP连接的两个套接字就是socket1和socket2。
总之,TCP连接就是由协议软件所提供的一种抽象。
虽然有时为了方便,我们也可以说,在一个应用进程和另一个应用进程之间建立了一条TCP连接,但一定要记住:TCP连 接的端点是个很抽象的套接字,即(IP地址:端口号)。
我们知道,TCP发送的报文段是交给IP层传送的。但IP层只能提供尽最大努力服务,也就是说,TCP下面的网络所提供的是不可靠的传输。因此,TCP必须釆用适当的措施才能使得两个运输层之间的通信变得可靠。
“停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。
停止等待协议有以下四种情况:
停止等待协议的优点是简单,但缺点是信道利用率太低。
信道利用率U可以用以下公式计算:
为了提高传输效率,发送方可以不使用低效率的停止等待协议,而是釆用流水线传输,这种传输方式可以获得很高的信道利用率。
滑动窗口协议比较复杂,是TCP协议的精髓所在。这里先给出连续ARQ协议最基本的概念,但不涉及许多细节问题。
发送方维持的发送窗口,它的意义是:位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。这样,信道利用率就提高了。
连续ARQ协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。
如果原来己经发送了前5个分组,那么现在就可以发送窗口内的第6个分组了。
接收方一般都是釆用累积确认的方式。这就是说,接收方不必对收到的分组逐个发送 确认,而是在收到几个分组后,对按序到达的最后一个分组发送确认,这就表示:到这个分组为止的所有分组都已正确收到了。
累积确认有优点也有缺点。优点是:容易实现,即使确认丢失也不必重传。但缺点是不能向发送方反映出接收方己经正确收到的所有分组的信息。
如果发送方发送了前5个分组,而中间的第3个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次。这就叫做Go-back-N(回退N)。
TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段。一个TCP报文段分为首部和数据两部分,而TCP的全部功能都体现在它首部中各字段的作用。
TCP报文段首部的前20个字节是固定的,后面有4n字节是根据需要而增加的选项。因此TCP首部的最小长度是20字节。
首部固定部分各字段的意义如下:
TCP的滑动窗口是以字节为单位的。
现假定A收到了 B发来的确认报文段,其中窗口是20字节,而确认号是31(这表明B期望收到的下一个序号是31,而序号30为止的数据已经收到了)。
A的发送窗口表示:在没有收到B的确认的情况下,A可以连续把窗口内的数据都发送出去。凡是已经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时重传时使用。
发送窗口后沿的后面部分表示己发送且己收到了确认。发送窗口后沿的变化情况有两种可能,即不动(没有收到新的确认)和前移(收到了新的确认)。
发送窗口里面的序号表示允许发送的序号。窗口越大,发送方就可以在收到对方确认之前连续发送更多的数据,因而可能获得更高的传输效率。但A的发送窗口一定不能超过B的接收窗口数值。
发送窗口前沿的前面部分表示不允许发送的。发送窗口前沿通常是不断向前移动,但也有可能不动。这对应于两种情况:一是没有收到新的确认,对方通知的窗口大小也不变;二是收到了 新的确认但对方通知的窗口缩小了,使得发送窗口前沿正好不动。
现在假定A发送了序号为31〜41的数据。这时,发送窗口位置并未改变, 但发送窗口内靠后面有11个字节(灰色小方框表示)表示己发送但未收到确认。而发送窗口内靠前面的9个字节(42〜50)是允许发送但尚未发送的。
从以上所述可以看出,要描述一个发送窗口的状态需要三个指针:P1,P2和P3,小于P1的是已发送并已收到确认的部分,而大于P3的是不允许发送的部分:
再看一下B的接收窗口。B的接收窗口大小是20。在接收窗口外面,到30号为止的数据是已经发送过确认,并且已经交付主机了。因此在B可以不再保留这些数据。接收窗口内的序号(31〜50)是允许接收的。
此时B收到了序号为32和33的数据。这些数据没有按序到达,因为序号为31的数据没有收到(也许丢失了,也许滞留在网络中的某处)。请注意,B只能对按序收到的数据中的最高序号给出确认,因此B发送的确认报文段中的确认号仍然是31 (即期望收到的序号),而不能是32或33。
现在假定B收到了序号为31的数据,并把序号为31〜33的数据交付主机,然后B删除这些数据。接着把接收窗口向前移动3个序号,同时给A发送确认,其中窗口值仍为20,但确认号是34。这表明B已经收到了到序号33为止的数据。我们注意到,B还收到了序号为37, 38和40的数据,但这些都没有按序到达,只能先暂存在接收窗口中。
A在继续发送完序号42〜53的数据后,指针P2向前移动和P3重合。发送窗口内的序号都已用完,但还没有再收到确认(图5-18)。由于A的发送窗口己满,可用窗口已减小到零,因此必须停止发送。为了保证可靠传输,A只能认为B还没有收到这些数据。于是,A在经过一段时间后(由超时计时器控制)就重传这部分数据,重新设置超时计时器,直到收到B的确认为止。
CP的发送方在规定的时间内没有收到确认就要重传已发送的报文段。这种重传的概念是很简单的,但重传时间的选择却是TCP最复杂的问题之一。
如果把超时重传 时间设置得太短,就会引起很多报文段的不必要的重传,使网络负荷增大。但若把超时重传 时间设置得过长,则又使网络的空闲时间增大,降低了传输效率。
那么,运输层的超时计时器的超时重传时间究竟应设置为多大呢?
TCP釆用了一种自适应算法,它记录一个报文段发出的时间,以及收到相应的确认的 时间。这两个时间之差就是报文段的往返时间RTT。TCP保留了 RTT的一个加权平均往返时间RTT s 。
每当第一次测量到RTT样本时,RTTs值就取为所测量到的RTT样本 值。但以后每测量到一个新的RTT样本,就按下式重新计算一次RTT s :
显然,超时计时器设置的超时重传时间RTO应略大于上面得 出的加权平均往返时间RTT s ,所以RTO应该这样计算。
而RTT D 是RTT的偏差的加权平均值,它与RTTs和新的RTT样本之差有关。
现在发送出一个报文段,设定的重传时间到了,还没有收到确认。于是重传报文段。经过了一段时间后,收到了确认报文段。现在的问题是:如何判定此确认报文段 是对先发送的报文段的确认,还是对后来重传的报文段的确认?
Kam算法进行修正。方法是:报文段每重传一次,就把超时重传时间RTO增大一些。典型的做法是取新的重传时间为旧的重传时间的2倍。当不再发生报文段的重传时,才根据上面给出的式子计算超时重传时间。
现在还有一个问题没有讨论。这就是若收到的报文段无差错,只是未按序号,中间还缺少一些序号的数据,那么能否设法只传送缺少的数据而不重传已经正确到达接收方的数据?答案是可以的。选择确认就是一种可行的处理方法。
举一个例子来说明选择确认的工作原理。TCP的接收方在接收对方发送过来的数据字节流的序号不连续,结果就形成了一些不连续的字节块。
可以看出,序号1〜1000收到了,但序号1001〜1500没有收到。接下来的字节流又收到了,可是又缺少了3001〜3500。再后面从序号4501起又没有收到。
也就是说,接收方收到了和前面的字节流不连续的两个字节块。如果这些字节的序号都在接收窗口之内,那么接收方就先收下这些数据,但要把这些信息准确地告诉发送方,使发送方不要再重复发送这些已收到的数据。
一般说来,我们总是希望数据传输得更快一些。但如果发送方把数据发送得过快,接 收方就可能来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。
利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。
设A向B发送数据。在连接建立时,B告诉了A:“我的接收窗口rwnd = 400”。因此,发送方的发送窗口不能超过接收方给出的接收窗口的数值。
我们应注意到,接收方的主机B进行了三次流量控制。第一次把窗口减小到rwnd = 300, 第二次又减到rwnd = 100,最后减到rwnd = 0,即不允许发送方再发送数据了。这种使发送方暂停发送的状态将持续到主机B重新发出一个新的窗口值为止。
TCP协议使得在发送方不发送很小的报文段的同时,接收方也不要 在缓存刚刚有了一点小的空间就急忙把这个很小的窗口大小信息通知给发送方。
在计算机网络中的链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。这种情况就叫做拥塞,即对资源需求之和 > 可用资源。
网络拥塞往往是由许多因素引起的。简单地将处理机的速率提高或简单地扩大缓存的存储空间,可能会使上述情况缓解一些,但往往又会将瓶颈转移到其他地方。问题的实质往往是整个系统的各个部分不匹配。只有所有的部分都平衡了,问题才会得到解决。
拥塞控制与流量控制的关系密切,它们之间也存在着一些差别。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。流量控制往往是指点对点通信量的控制,是个端到端的问题(接收端控制发送端)。
下图中横坐标是提供的负载,代表单位时间内输入给网络的分组数目。纵坐标是吞吐量,代表单位时间内从网络输出的分组数目。
实践证明,拥塞控制是很难设计的,因为它是一个动态的(而不是静态的)问题。
从大的方面看,可以分为 开环控制 和 闭环控制 两种方法:
TCP进行拥塞控制的算法有四种,即慢开始、拥塞避免、快重传和快恢复。
为了集中精力讨论拥塞控制,我们假定:
拥塞控制也叫做基于窗口的拥塞控制。为此,发送方维持一个叫做拥塞窗口cwnd的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。
发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就可以再增大一些,以便把更多的分组发送出去,这样就可以提高网络的利用率。但只要网络出现拥塞或有可能出现拥塞,就必须把拥塞窗口减小一些,以减少注入到网络中的分组数,以便缓解网络出现的拥塞。
发送方又是如何知道网络发生了拥塞呢?我们知道,当网络发生拥塞时,路由器就要丢弃分组。因此只要发送方没有按时收到应当到达的确认报文,也就是说,只要出现了超时,就可以猜想网络可能出现了拥塞。现在通信线路的传输质量一般都很好,因传输出差错而丢弃分组的概率是很小的(远小于1%)。因此,判断网络拥塞的依据就是出现了超时。
慢开始算法的思路是这样的:当主机开始发送数据时,由于并不清楚网络的负荷情况,所以如果立即把大量数据字节注入到网络,那么就有可能引起网络发生拥塞。因此我们由小到大逐渐增大拥塞窗口数值。
新的RFC5681把初始拥塞窗口cwnd设置为不超过2至4个SMSS(发送方的最大报文段)的数值。慢开始规定,在每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个SMSS的数值。
下面用例子说明慢开始算法的原理。在一开始发送方先设置cwnd = 1,发送第一个报文段M1,接收方收到后确认M1。发送 方收到对M1的确认后,把cwnd从1增大到2,于是发送方接着发送M2和M3两个报文 段。接收方收到后发回对M2和M3的确认。发送方每收到一个对新报文段的确认(重传的不算在内)就使发送方的拥塞窗口加1,因此发送方在收到两个确认后,cwnd就从2增大到4,并可发送M4〜M7共4个报文段。
与慢开始算法相辅助的算法是拥塞避免算法。
拥塞避免算法的思路是让拥塞窗口 cwnd缓慢地增大,即每经过一个往返时间RTT就 把发送方的拥塞窗口cwnd加1,而不是像慢开始阶段那样加倍增长。在拥塞避免阶段,拥塞窗口 cwnd按线性规律缓慢增长,比慢开始算法的拥塞窗口增长速率缓慢得多。
为了防止拥塞窗口 cwnd增长过大引起网络拥塞,还需要设置一个慢开始门限ssthresh 状态变量。慢开始门限ssthresh的用法如下:
下面用图片说明慢开始算法和拥塞避免算法相互配合的原理。
其中ssthresh的初始值设置为16,开始时使用慢开始算法,成指数性增长,当到达ssthresh值时,TCP协议预测可能会出现拥塞,所以开始使用避免拥塞算法,成线性增长,当发生超时重传时,立即减小拥塞窗口,重复上述步骤。
但是,有时,个别报文段会在网络中丢失,但实际上网络并未发生拥塞。如果发送方迟迟收 不到确认,就会产生超时,就会误认为网络发生了拥塞。这就导致发送方错误地启动慢开 始,把拥塞窗口cwnd又设置为1,因而降低了传输效率。
釆用快重传算法可以解决上述问题。快重传算法可以让发送方尽早知道发生了个别报文段的丢失。快重传算法首先要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认。
下面举一个例子来说明快重传算法的原理。接收方收到了M1和M2后都分别及时发出了确认。现假定接收方没有收到M3但却收到了 M4。本来接收方可以什么都不做。但按照快重传算法,接收方必须立即发送对M2的重复确认,以便让发送方及 早知道接收方没有收到报文段M3。发送方接着发送M5和M6。接收方收到后也仍要再次分别发出对M2的重复确认。这样,发送方共收到了接收方的4个对M2的确认,其中后3个都是重复确认。快重传算法规定,发送方只要一连收到3个重复确认,就知道接收方确实没 有收到报文段M3,因而应当立即进行重传(即“快重传”),这样就不会出现超时,发送方也不就会误认为出现了网络拥塞。
快恢复算法与快重传算法配合使用,当使用快重传算法发现是由于数据丢失而引起的超时(不是网络拥塞引起的),就使用快恢复算法,此时发送方调整门限值ssthresh=cwnd/2,同时设置拥塞窗口cwnd=ssthresh,并开始执行拥塞避免算法。
慢开始、拥塞避免、快重传和快恢复这四种算法相辅相成,构成了TCP的拥塞控制。
网络层的策略对TCP拥塞控制影响最大的就是路由器的分组丢弃策略。在最简单的情 况下,路由器的队列通常都是按照“先进先出”的规则处理到来的分组。
由于队列长度总是有限的,因此当队列已满时,以后再到达的所有分组(如果能够继续排队,这些分组都将排在队列的尾部)将都被丢弃。这就叫做尾部丢弃策略。
路由器的尾部丢弃往往会导致一连串分组的丢失,这就使发送方出现超时重传,使 TCP进入拥塞控制的慢开始状态,结果使TCP连接的发送方突然把数据的发送速率降低到 很小的数值。更为严重的是,在网络中通常有很多的TCP连接(它们有不同的源点和终 点),这些连接中的报文段通常是复用在网络层的IP数据报中传送。在这种情况下,若发生了路由器中的尾部丢弃,就可能会同时影响到很多条TCP连接,结果使这许多TCP连接在同一时间突然都进入到慢开始状态。这在TCP的术语中称为全局同步。
为了避免发生网络中的全局同步现象,可以使用主动队列管理AQM。
所谓“主动”就是不要等到路由器的队列长度已经达到最大值时才不得不丢弃后面到达的分组。这样就太被动了。应当在队列长度达到某个值得警惕的数值时 (即当网络拥塞有了某些拥塞征兆时),就主动丢弃到达的分组。这样就提醒了发送方放慢发送的速率,因而有可能使网络拥塞的程度减轻,甚至不出现网络拥塞。
TCP是面向连接的协议。运输连接是用来传送TCP报文的。TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。因此,运输连接就有三个阶段,即:连接建立、数据传送和连接释放。运输连接的管理就是使运输连接的建立和释放都能正常地进行。
在TCP连接建立过程中要解决以下三个问题:
TCP连接的建立釆用客户服务器方式。主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器。
TCP建立连接的过程叫做握手,握手需要在客户和服务器之间交换三个TCP报文段。
下面举一个例子来说明TCP建立连接的过程。假定主机A运行的是TCP客户程序,而B运行TCP服务器程序。最初两端的TCP进程都处于CLOSED(关闭)状态。图中在主机下面的方框分别是TCP进程所处的状态。请注意,在本例中,A主动打开连接,而B被动打开连接。
一开始,B的TCP服务器进程先创建传输控制块TCB,准备接受客户进程的连接请求。然后服务器进
2. 请写出连续arq协议的算法。
#define MAX_SEQ 7 /* 应该为2^n-1 */
typedef enum {frame_arrival, cksum_error, timeout, network_layer_ready} event_type;
#include protocal.h
static boolean between(seq_nr a, seq_nr b, seq_nr c)
{ /* 如果b落在a和c之间(含a不含c)返回true,否则返回false. */
if (((a<=b) && (b<c)) || ((c<a) && (a<=b)) || ((b<c) && (c<a)))
return(true); else return(false); }
static void send_data(seq_nr frame_nr, seq_nr frame_expected, packet buffer[])
{/* 构造和发送数据帧
frame s; /* 起始变量 */
s.info=buffer[frame_nr]; /* 插入分组到帧中 */
s.seq=frame_nr; /* 插入序号到帧中 */
s.ack=(frame_expected+MAX_SEQ) % (MAX_SEQ+1) /* 捎带应答 */
to_physical_layer(&s); /* 传送该帧 */
start_timer(frame_nr); }
/* 启动定时器 */
void protocal5(void)
{seq_nr next_frame_to_send; /* MAX_SEQ>1; 用于外出流 */
seq_nr ack_expected; /* 还没有得到应答的最早的帧 */
seq_nr frame_expected; /* 进入流期望的下一帧 */
frame r; /* 初始变量 */
packet buffer[MAX_SEQ+1] /* 外出流的缓存 */
seq_nr nbuffered; /* 当前正在使用的输出缓存 */
event_type event;
enable_network_layer(); /* 允许 network_layer_ready 事件 */
ack_expected = 0; /* 下一个期望进入的应答 */
next_frame_to_send = 0; /* 下一个要送出的帧 */
frame_expected = 0; /* 期望进入的帧的序号 */
nbuffered = 0; /* 初始没有分组被缓存 */
while (true) {
wait_for_event ( &event); /* 四种可能的事件,见上面event_type定义 */
switch (event) {
case network_layer_ready; /* 网络层有一个分组要发送 */
/* 接收, 保存, 以及发送一个新的帧 */
from_network_layer(&buffer[next_frame-to_send]); /* 获得一个新的分组 */
nbuffered = nbuffered + 1; /* 增加发送方的窗口 */
send_data(next_frame_to_send, frame_expected, buffer); /* 发送帧 */
inc(next_frame_to_send); /* 发送方的窗口上界向前移动 */
break;
case frame_arrival: /* 一个数据帧或控制帧到达 */
from_physical_layer(&r); /* 从物理层得到一个进入的帧 */
if (r.seq == frame_expected) {
/* 所有的帧只能按序接收. */
to_network_layer(&r.info); /* 传递分组到网络层 */
inc(frame_expected); /* 接收方的窗口下界向前移动 */ }
/* Ack n 意味着n-1,n-2,
while (between(ack_expected, r.ack, next_frame_to_send))
{ /* 处理捎带应答 */
nbuffered = nbuffered + 1; /* 减少一个缓存的帧 */
stop_timer(ack_expected); /* 帧完好到达, 停止定时器 */
inc(ack_expected); /* 压缩发送窗口 */
}
break;
case cksum_err: break; /* 丢弃坏帧 */
case time_out: /* 重传所有超时的帧 */
next_frame_to_send = ack_expected; /* 开始重传 */
for (i = 1; i <= nbuffered; i ++) {
send_data(next_frame_to_send, fram_expected, buffer); /* 重发1帧 */
inc(next_frame_to_send); /* 准备发送下一帧 */
if (nbuffered < MAX_SEQ)
enable_network_layer();
else
disable_network_layer();
注: 算法中所有调用的未说明的过程和函数在protocal.h中定义。
3. 09年软考——网络工程师考试 中有哪些协议或是专业名词的缩写 分计算机和网络两方面的
DARPA
国防高级研究计划局
ARPARNET(Internet)
阿帕网
ICCC
国际计算机通信会议
CCITT
国际电报电话咨询委员会
SNA
系统网络体系结构(IBM)
DNA
数字网络体系结构(DEC)
CSMA/CD
载波监听多路访问/冲突检测(Xerox)
NGI
下一代INTERNET
Internet2
第二代INTERNET
TCP/IP SNA SPX/IPX AppleTalk
网络协议
NII
国家信息基础设施(信息高速公路)
GII
全球信息基础设施
MIPS
PC的处理能力
Petabit
10^15BIT/S
Cu芯片:
铜
OC48
光缆通信
SDH
同步数字复用
WDH
波分复用
ADSL
不对称数字用户服务线
HFE/HFC
结构和Cable-modem 机顶盒
PCS
便携式智能终端
CODEC
编码解码器
ASK(amplitude shift keying)
幅移键控法
FSK(frequency shift keying)
频移键控法
PSK(phase shift keying)
相移键控法
NRZ (Non return to zero)
不归零制
PCM(pulse code molation)
脉冲代码调制
nonlinear encoding
非线性编程
FDM
频分多路复用
TDM
时分多路复用
STDM
统计时分多路复用
DS0
64kb/s
DS1
24DS0
DS1C
48DS0
DS2
96DS0
DS3
762DS0
DS4
4032DS0
CSU(channel service unit)
信道服务部件
SONET/SDH
同步光纤网络接口
LRC
纵向冗余校验
CRC
循环冗余校验
ARQ
自动重发请求
ACK
确认
NAK
不确认
preamble
前文
postamble
后文
ITU
国际电信联合会
character-oriented
面向字符
bit-oriented
面向位
SYNC
同步字符
HDLC
面向位的方案
SDLC
面向位的方案
bit-stuffing
位插入
STP
屏蔽双绞线
UTP
非屏蔽双绞线
RG-58A/U
标准
RG-11
用于10BASE5
RG-59U
75欧 0.25INCH CATV
RG-62U
9欧 0.25INCH ARCnet
10BASE5
IEEE802.3
RG-59U
0.25inch CATV
RG-62U
0.25inch ARCnet
LED(light emitting diobe)
发光二级管
ILD(injection laster diobe)
注入型激光二级管
PIN
检波器
APD
检波器
intensity molation
亮度调制
line of sight
可视通路
CCITT V.28(EIA RS232C)
非平衡型
CCITT V.10/X.26(EIA RS423A)
新的非平衡型
CCITT V.11/X.27(EIA RS422A)
新的平衡型
TD
发送数据
RD
接收数据
XON/XOFF
流控制
Automatic Repeat Request Protocol
自动重发请求
Send and wait ARQ:continuous
ARQ停等ARQ
Ward Christensen
人名
Kermit
协议
circuit switching
线路交换
packet switching
分组交换
virtual circuit
虚电路
ATM(asynchronous transfer mode)
异步传输模式
ATDM
异步时分多路复用
packetizer
打包器
VPI(vritual path identifier)
虚路径标识
VCI(virtual channel identifier)
虚通道标识
syntax
语法
semantics
语义
timing
定时
OSI(open system interconnection)
开放系统
session
会话
synchronization
同步
activity management
活动管理
AE
应用实体
UE
用户元素
CASE
公共应用服务元素
SASE
特定应用服务元素
VT
虚拟终端
JIM
作业传送和操作
reverved
保留
echo
回送
discard
丢弃
active users
活动用户
daytime
白天
netstat(who is up of NETSTAT)
qotd(quote of the day)
日期引用
chargen(character generator)
字符发送器
nameserver(domani name server)
域名服务器
bootps(bootstrap protocol server/client)
引导协议服务器/客户机
tftp(trivial file transfer)
简单文件传送
sunrpc(sun microsystems RPC)
SUN公司
NTP:network time protocol
网络时间协议
SNMP(SNMP net monitor)
SNMP网络监控器
SNMP traps
陷井
biff
unix comsat
daemon
e.g timed daemon
syslog
system log
URG
紧急字段可用
ACK
确认字段可用
PSH
请求急迫操作
RST
连接复位
SYN
同步序号
FIN
发送方字节流结束
Manchester
曼彻斯特编码
FDDI(fiber distributed data interface)
光纤分布数据接口
TTRT
目标标记循环时间
aggregation of multiple link segments
多重链接分段聚合协议
MAN(metropolitan area network plus)
城域网
CSMA/CD(carrier sense multiple access/collision detection)
载波监听
Token bus
令牌总线
Token ring
令牌环
SAP
服务访问点
request indictaion response confirmation
LLC PDU
LLC协议数据单元
DSAP address
目地服务访问点地址字段
SSAP address
源服务访问点地址字段
XID
交换标识
SABME
置扩充的异步平衡方式
DISC
断开连接
DM
断开
FRMR
帧拒收
solt time
时间片
AUI
连接单元接口
MAU
介质连接接口
MDI
介质相关接口
PMA
物理介质接口
SFD
起始定界符
PAD
填充字段
FCS
帧校验序列
PLS
物理层收发信号
slot time
时间
Inter Frame Gap
帧
attempt limit
最大重传次数
back off limit
避免算法参数
Jam size
阻塞参数
max frame size
最大帧
address size
地址
collaspsed backone
折叠式主干网
BSS
基本服务集
ESS
扩展服务集
DFW-MAC
分布式基础无线MAC
IFS
帧间空隙
SIFS:
短
PIFS
点协调
DIFS
分布协调
CTS
发送清除
DQDB(IEEE802.6)
分布式队列双总线
TDM
时分复用
TMS
多时分交换
TSI
时间片互换
TST
网络机构
TSSST STS SSTSS TSTST
网络机构
PSTN
公用交换电话网
public switched telephone network
详细
PBX:private branch exchange
专用交换网
PABX;private automatic branch exchange
自动交换机
CBX:computerized branch exchange
程控交换
SLIP:serial line IP
串行IP
LCP(link control protocol)
链路控制协议
NCP:network control protocol
网络控制协议
BRI
基本速率接口
PRI
群速率接口
LAPB:line access protocol balanced
链路访问协议平衡
registration
登录
interrupt
中断
LAP F link access procere for frame-mode bearer serives
太长了
rotate
不知道
recovery
恢复
discard
丢弃
retransmission
重传
switched access
交换访问
intergated access
集成访问
alerting
警告
progress
进展
AAL
ATM适配层
GFC
总流控
cell rate decoupling
信元率去耦
SDH
同步数字级
PDH
准国步数字级
GSM:group special mobile
移动通讯
NSS
网络子系统
OMC-R
操作维护中心
BSS
基站子系统
BSC
基站控制器
BTS
基站收发信机
MS
移动站
SIM:subscriber identity mole
标识模块
MSC
移动交换机
HLR
归属位置寄存器
VLR
访问位置寄存器
AUC
鉴权中心
EIR
设备识别寄存器
OMC-S
操作维护中心
SC
短消息中心
WAP
无线应用协议
WAE
无线应用层
WSP
会话层
WTP
事务层
WTLS
安全层
WDP
传输层
MAP
移动应用部分
WML无线标记语言
SSL:secure sockets layer
安全套接层
PCS
个人通信业务
PCN
个人通信网
GEO
对地静止轨道
NON-GE0(MEO,LEO)
不清楚
ITU
国际电信联盟
VSAT:very small aperture -terminal
甚小天线终端
LEOS
低轨道卫星通信系统
repeater
中继器
bridge
网桥
router
路由器
gateway
网关
ONsemble stackable 10BASE
可叠加组合型集线器
transparent bridge
传输桥
source routing bridge
源路径桥
broadcast storm
广播风暴
encapsulation
封装
translation bridging
转换桥接方式
SRT
源地址选择透明桥
offset
偏移
more flag
标识
ICMP
INTERNET控制报文协议
SPF:shortest path first
最短路径
IGP:interior gateway protocol
核心网关协议
EGP:exterior gateway protocol
扩展网关协议
RIP:routing information protocol
路由信息协议
OSPF
开放最短径优先协议
acquisition request
获取请求
acquisition confirm
获取确认
cease
中止
poll
轮询
IPX/SPX internetwork packet exchange/sequented packet exchange
NOVELL
interpreter
解释器
redirector
重定向器
SFT system fault tolerant
系统容错
ELS entry level solution
不认识
ODI
开放数据链路接口
NDIS network device interface specification
网络设备接口...
DDCS
数据库管理和分布数据库连接服务
DCE:distributed computing environment
分布计算环境
OSF:open software foundation
开放软件基金
PWS:peer web service
WEB服务器
OEM
原始设备制造商
RAS
远程访问服务
IIS:Internet Information server
INTERNET信息服务
WINS:windows internet name system
WINDOWS命名服务
NTDS:windows NT directory server
NT目录服务
TDI
传输驱动程序接口
schele++
应用程序,预约本
COSE:common open software environment
普通开放软件环境
RPC
远程过程调用
SNMP:simple network management protocol
简单网管协议
SMI:structer of management information
管理信息结构
SMT:station management
管理站
SMTP:simple mail transfer protocol
简单邮件传输协议
SNA:system network architecture
IBM网络
SNR:signal noise ratio
信噪比
SONENT:synchronous optical network
同步光纤网络
SPE:synchronous payload envelope
同步PAYLOAD信
CMIS/CMIP
公共管理信息服务/协议
CMISE
公共管理信息服务
agent
代理
IMT:inctive modeling technology
不知道
plaintext
明文
ciphertext
脱密
encryption
加密
decryption
解密
symmetric key cryptography
对称加密
asymmetric key cryptography
不对称加密
public key
公钥
private key
私钥
DES:data encryption standard
数据加密标准
IDEA:international data encryption algorithm
国际加密算法
PIN:personal identification number
个人标识符
session key
会话层密钥
KDC:key distribuetion center
密钥分发中心
sign
签名
seal
封装
certificate
证书
certificate authority CA
证书权威机构
OSF
开放软件中心
AFS:andrew file system
分布式文件系统
ticket
凭证
authenticatior
身份认证
timestamp
时间标记
reply attack
检测重放攻击
realm
域
PKI
公钥基础设施
certificate hierarchy
证书层次结构
across certificate
交叉证书
security domain
安全领域
cerfificate revoke list(CRL)
证书层次结构
LDAP:light weight directory access protocol
协议
access matrix
访问矩阵
ACL:access control list
访问列表
reference monitor
引用监控器
course grained
粗粒度访问控制
medium grained
中粒度访问控制
fine grained
细粒度访问控制
CORBA
面向对象的分布系统应用
MQ
报文队列
VPN
虚拟专网
IPSEC:IP security
安全IP
SA:security association
安全??
encopulation security payload
封装安全负载
AH:authentication header
鉴别报头
IKE:Internet key exchange
交换
rogue programs
捣乱程序
IPSP:IP security protocol
安全
IKMP:internet key managemetn protocol
协议
IESG
Internet工程领导小组
SHA
安全散列算法
MAC:message authentication code
代码
CBC
密码块链接
SSL
安全套接层协议
cerfificate verify
证书检验报文
PEM
私用强化邮件
PGP:pretty good privacy
好的
private
保密
authenticated
已认证
SEPP
安全电子付费协议
SET
安全电子交易
middleware
中间件
GSS-API
通用安全服务
SNP
安全网络编程
BWD:browser web database
浏览WEB
plugin
插入件
basic authentication scheme
不知道
digest authentication scheme
摘要认证方法
open group:the open group research institute
研究所
DCE:distributed computing environment
分布式计算机环境
SLP:secure local proxy
安全局部代理
SDG:secure domain proxy
安全域代理
OMG:object management group
目标管理组
CORBS:common object request broker architecture
不清楚
authentication
鉴别
access control
访问控制
data confidnetiality
保密
data integrity
数据完整性
non-reputation
防止否认
enciphermant
加密机制
digital signature mechanisms
数据完整性
authentication mechanisms
路由控制机制
notarization mechanisms
公证
trusted function
可信
security labels
安全标记
event dectection
事件检测
security audit trail
安全审计跟踪
security recovery
安全恢复
TCSEC:trusted computer system evaluation criteria
标准
TCSEC TNI:trusted network interpretation of the TCSEC
标准
TCSEC TDI:trusted database interpretation of the TCSEC
标准
ITSEC:information technology security evaluation
标准
CC:command criteria for IT security evaluation
安全
classified criteria for secruity protection
中国安全
of computer information system
中国安全
GB17859-1999
国标
TCB:trusted computing base
SNMP:simple network management protocol
网管
ICMP:internet control message protocol
互联网控制信息协议
ARP:address resolution protocol
地址解析协议
TCP:transmission control protocol
传输控制协议
UDP:user datagram protocol
用户数据报协议
SMTP:simple mail transfer protocol
简单邮件传输
DNS:domain name service
服务器
NSP:name service protocol
服务器
TElnet:telcommunication network
TEL
EGP:exterior gateway protocol
外部网关连接器协议
IGP:inter gateway protocol
内部网关连接器协议
SLIP
串行接口协议
PPP
点对点协议
UNICAST
单播地址
cluster
群集地址
multicast
组播地址
scable model
可伸缩模型
integrated model
集成模型
OLAP
联机分析工具
NAS:network applications support
DEC公司的工具
NWC:newwave computing
HP工具
OCCA:open cooperative computing architecture
开放合作计算体系结构
DAA:distributed application architecture
DG的分布应用体系结构
COSE:common opensystem enviroment
通用开放系统环境
CDE:common desktop enviroment
通用桌面环境
DCE
分布式计算环境
RPC
远程过程调用
DME
分布管理环境
OSE/APP
开放系统环境应用可移植框架
ODA
开放文件体系结构
ODL
开放文件语言
ODIF
开放文件交换格式
GKS
图形核心系统
PHIGS
编程的层次交换式图形系统
GOSIP
政府开放系统互联框架
EEI:extenal environment interface
扩展环境接口
CGI:common gateway interface
公用网关接口
Internal web
内部环球网
mail lists
邮件列表
newgroups
新闻组
chat
闲谈
IRC:internet relay chat
聊天
VRML:virtual reality modeling language
语言
workflow
工作流
groupware
群件
video conferencing
视频会议
ADSL:asymmetric digital subscriber line
不对称数字用户
DBS:direct broadcast satellite
直播广播卫星
VPN:virtual private networks
虚拟专网
ISP
Internet服务提供商
SSL:secure sockets layer
安全套接层
PCT:private communication technology
专网通信技术
STLP:secure transport layer protocol
安全传送层
SET:secure electrionic transaction
安全电子传送
proxy server
代理服务器
POP3:post office protocol
POP3邮局
IMAP4:internet message protocol4
邮件协议
WYSIWYG:what you see is what you get
所见即所得
NDIS
网络设备接口标准
NETBT:NETBIOS over TCP/IP
协议
IIS:Internet Information Server
Microsoft
binding
绑定
PDC
主域控制器
BDC
备份域控制器
DCOM
分布组件对象模式
WINS:windows internet name service
服务器
RR:resource record
资源记录
CSNW:client service for netware
客服
network address translation
网络地址转换
loopback
回送
dotted quad notation
点分形式
packet
分组
forward
向前
account
帐号
compatibility
兼容性
assume
担任
mmy
哑终端
western digitial/SMC cards
卡
portable
便携
BIND:berkeley internet name domain service
不知道
resolver library
不知道
spoofing
欺骗
multi homed
多宿主
RR:resource record.
资源记录
Lynx Mosaic Netscape Hotjava
浏览器
URL:uniform resource locator
统一资源定位
webmaster
主
HTML hypertext markup language
超文本语言
anonymous/ftp
匿名FTP
/company
UNIX下存放公司本身的信息
/pub
UNIX下的公用软件
/in-coming
UNIX匿名FTP用户上载文件目录
/usr /bin /etc
FTP占用的目录
mirror sites
文件服务器镜像系统
WAIS:wide area information search
查询
description
描述
catalog
目录、手册
inverted
颠倒
internetworked enterprise
互联网上的企业
interenterprise computing
企业间的计算
CSCW:computer supported cooperative work
计算机支持协同工作
interactive/communication
交互通信
coordination
协调
collaboration
协作
cooperation
协同
co-located
同地协作
remote
远程协作
message systems
信报系统
platform
平台
collabration/cooperation
协调和协作方式
commerce
主题
content/message
内容
profit
利润
BtoC(B2C):business to consumer
企业对消费者
PtoP(C2C):person to person
个人对个人
BtoG:business to government
企业对政府
virtual store
虚拟商店
virtual electronic mall
虚拟电子商场
virtual electronic commerce city
虚拟电子商城
distance ecation/learning
远程教育
network-based distance ecation
远程网络教育
tele-access
远程访问
tele-mentoring
远程辅导
tele-sharing
远程共享
virtual publishing
虚拟出版
virtual classroom
虚拟教室
awareness
互相感知
CSCL:computer supported cooperative learning
远程合作
ecational groupware system
教育组件系统
telemedicine
远程医疗
virtual LAN
虚拟LAN
SRB:source route bridging
源路由网桥
SRT:source route transparent
源路由透明网桥
SBS:source route switching
源路由交换网桥
NAT:network address translation
网络地址转换
PAP:password authentication protocol
密码验证协议
CHAP:challenge handshake authentication protocol
请求握手验证协议
DSL
数字用户线路
CATV
有线电视
ADSL
非对称DSL
HDSL
高比特速率
VDSL
极高比特速率
SDSL
单线DSL
RADSL
速率自适应
ISDNDSL
IDSL
CDSL
用户DSL
DS DS0 DS1 DS1C DS2 DS3 DS4
DS系列
E E1 E2 E3
E系列(欧洲标准)
CEPT
欧洲邮电委员会
SDH
同步光纤网络
STS
不清楚
SONET
同步光纤网络
RED
随机早期测试
SCS
结构化综合布线系统
ISO,Intenational organization for standardization
国际标准化组织
ITU-T,International Telecommunication Union
国际联盟电信标准
T:Telecommunication standardization sector
电信标准分会
CCITT:international telegraph & telephone consultative committee
ITU-T的前身
SNMP:Simple network management protocol
简单网络管理协议
PPP:Point to Point protocol
点对点协议
RIP:Routing Information protocol
路由信息协议
WAP:wireless applicaition protocol
无线应用协议
OSPF:open shortest path control protocol
开放的最短路径优先协议
HDLC:high level datalink control protocol
协议
RARP: reverse address resolution protocol
知MAC求IP地址
CNNIC
中国互联网中心
history
历史
ISP:Internet service provider
服务商
UNINET
联通:联通公用计算机互联网
xDSL:x digital subscriber line
数字用户线路
HDSL:high bit rate
两对双绞线 E1速率
SDSL:symmetric DSL
单对双绞线
RADSL:rate adaptive DSL
速率自适应DSL
settop box
机顶盒
WAP:wireless markup protocol
无线协议
IPV6
IETP在RFC1550规定
policy base networking
策略网络
MPLS
多协议标记交换
linux OS
操作系统
VPN
虚拟专用网
IPX/SPX:Novell netware
客户机使用一种网络协议
NETBEUI
小型网络上的高速通信协议
MTU:maximum transmission unit
最大传输单位
MSS:maximum segment size
最大分段尺寸
default receive windows
预设接收窗口
TTL:time to live
留存时间
ICQ:I seek you
我找你
SMTP:simple mail transfer protocol
简单邮件传输协议
POP3:post office protocol version3
POP3的邮局
IMAP:Internet message access protocol
协议
specify
明确、说明
special
专用
role
入口
AAL
ATM adaptation layer
ABR
Available bit rate
ADPCM
adaptive differntial pulse code molation
ADSL
asymmtric digital phone system
AMPS
advanced mobile phone system
ANS
advanced network and services
AS
autonomatic repeat request
ASK
amplitude shift keying
ATDM
asynchronous time division multiplexing
BER
bit error rate
BGP
border gateway protocol
B-ISDN
broad integrated services digital network
BOOTP
bootstrapping protocol
BRI
basic rate interface
BUS
broadcast/unknown server
CATV
cable television
CAC
connection admission control
CBR
continusou bit rate
CDMA
code division multiple access
CDPD
cellular digital packet data
CDV
cell delay variation
CLIP
ATM manager
CIDR
classless interDomain Routing
CMIP
common management information protocol
CMIS
common management information service
CMOT
common management information service and protocol over TCP/IP
CNOM
committee of network operation&management
CORBA
common object request broker architecture
CPCS
common part convergence sublayer
CR
carriage return
CS
convergence sublayer
CSMA/CD
冲突检测
CSU/DSU
频道服务单元/数据服务单元
DARPA
defense advanced research project agency
DCE
data circuit terminating equipment
DDN
digital data network
DIME
distributed management environment
DPI
dot per inch
DQDB
distributed queue al bus
DEN
目录服务
DSMA
digital CSMA/CD sense multi-access
DVMRP
distance vector multicast routing protocol
EGP
exterior gateway protocol
EMA
ethernet media adapter
FAQ
frequently answer question
FCS
fast circuit switching
FDDI
fiber distributed data interface
FEC
forward error correction
FSK
frequency shift keying
FTTC/FTTH
fiber to the curb/home
GCRA
generic cell rate algorithm
GGP
gateway gateway protocol
GSM
全球通
HEC
header error control
HCS
header checked sequence
HDLC
high level data link control
HDTV
high definition television
HFC
hybird fiber coax
HIPPI
high performance parallel interface
HTTP
hypertext transfer protocol
IAB
internet architecture board
IAP
internet access provider(ISP)
ICCB
internet control & congigruration board
ICMP
internet control message protocol
ICX
inter cartridge exchange
IDP
internetwork datagram protocol
IDU
interface data unit
IEEE
Institute of Electrical& Electronic Engineers
IGMP
Internet group managament protocol
http://www.cnpaf.net/data/sitemap.html
推荐你看这个网站
4. 什么是HSDPA
HSDPA
1.HSDPA概述
HSDPA(High Speed Downlink Packet Access)表示高速下行分组接入技术。
在3G的三大标准的角逐中,WCDMA商用在运营商的支持数量上取得了领先,但在其网络所支持的数据速率上却长期停留在理论上的384kbps水平,而其网络建设也一直处于缓慢发展的状态。
与此形成鲜明对照的是,在韩国、日本等国家实现商用的CDMA2000 1X EV-DO网络系统上,已经实现了2.4Mbps的峰值速率,其宽带接入服务能为客户提供300kbps-500kbps平均下载速率,这足以与有线宽带的速率相媲美。
比较而言,同为已经实现商用的3G网络系统,面含山孙对现有的3G业务,WCDMA已经稍显力不从心,在数据传输速率上的巨大落差,以及由此带来的业务能力上的弱势,自然使得WCDMA阵营不甘落后,必须寻找一种赶超CDMA2000 1X EV-DO的有力武器。
HSDPA(高速下行分组谈链接入,High Speed Downlink Packages Access)技术是实现提高WCDMA网络高速下行数据传输速率最为重要的技术,是3GPP在R5协议中为了满足上下行数据业务不对称的需求提出来的,它可以在不改变已经建设的WCDMA系统网络结构的基础上,大大提高用户下行数据唯盯业务速率(理论最大值可达14.4Mbps),该技术是WCDMA网络建设中提高下行容量和数据业务速率的一种重要技术。
对高速移动分组数据业务的支持能力是3G系统最重要的特点之一。
WCDMA R99版本可以提供384kbps的数据速率,这个速率对于大部分现有的分组业务而言基本够用。然而,对于许多对流量和迟延要求较高的数据业务如视频、流媒体和下载等,需要系统提供更高的传输速率和更短的时延。
在未来几年内,数据服务将会取得大幅度增长,并成为第三代(3G)移动通信的主要应用和主要收入来源。目前日本和韩国的3G经营商已经在体验3G服务的巨大成功。日本DoCoMo公司于2001年推出的WCDMA-FOMA服务所创造的收入已经占到其总收入的20%以上,截止到2004年5月已拥有400万用户。韩国电信公司(SKT)2003年第3季度,在部署了1xEV-DO网络之后,该公司数据服务收入占据每用户平均收入(ARPU)值的比例上升到了34%。
为了适应多媒体服务对高速数据传输日益增长的需要,第三代移动通信合作项目组(3GPP)已经公布了一种新的高速数据传输技术,叫做高速下行分组接入技术(HSDPA)。该技术是WCDMA R’99(也就是我们常说的WCDMA)的强化版本,大大加强了下行链路传输的功能。
日本的NTT DoCoMo是最早试验HSDPA技术的运营商之一,在2004年3GSM全球大会上,HSDPA也同样改变了所有主要欧洲运营商的日程。在美国,GSM运营商当然也在寻求更多的武器,以便在越来越具有攻击性的市场中确保领先地位。2004年12月1日,Cingular正式与朗讯科技签署了一项为期4年的3GW-CDMA设备、软件和服务供货协议,其中就包括了HSDPA技术的部署。协议将使Cingular公司从2005年起得以为消费者提供范围广泛的多媒体服务。
PA咨询公司和Yankee集团最近认为,HSDPA需求可能首先来自企业市场。PA咨询公司相信,HSDPA将在面向企业市场的W-CDMA案例中扮演核心角色。Yankee集团则将HSDPA技术视为一个可以使运营商面向企业市场推出高利润服务的重要差别化因子,并将在向更快的3G服务演进中扮演极为突出的角色。Gartner集团更关注新技术对网络效率的影响,认为部署HSDPA技术的运营商将获得相当的竞争优势。
为了更好地发展数据业务,3GPP从这两方面对空中接口作了改进,引入了HSDPA技术。HSDPA不但支持高速不对称数据服务,而且在大大增加网络容量的同时还能使运营商投入成本最小化。它为UMTS更高数据传输速率和更高容量提供了一条平稳的演进途径,就如在GSM网络中引入EDGE一样。 HSDPA的发展分为三阶段,即基本HSDPA阶段、增强HSDPA阶段以及HSDPA进一步演进阶段,其中HSDPA进一步演进阶段目前还未最终确定,仍在3GPP内进行研究。
2.基本原理
WCDMA R5版本高速数据业务增强方案充分参考了cdma2000 1X EV-DO的设计思想与经验,新增加一条高速共享信道(HS-DSCH),同时采用了一些更高效的自适应链路层技术。共享信道使得传输功率、PN码等资源可以统一利用,根据用户实际情况动态分配,从而提高了资源的利用率。自适应链路层技术根据当前信道的状况对传输参数进行调整,如快速链路调整技术、结合软合并的快速混合重传技术、集中调度技术等,从而尽可能地提高系统的吞吐率。
基于演进考虑,HSDPA设计遵循的准则之一是尽可能地兼容R99版本中定义的功能实体与逻辑层间的功能划分。在保持R99版本结构的同时,在NodeB(基站)增加了新的媒体接入控制(MAC)实体MAC-hs,负责调度、链路调整以及混合ARQ控制等功能。这样使得系统可以在RNC统一对用户在HS-DSCH信道与专用数据信道DCH之间切换进行管理。 HSDPA引入的信道使用与其它信道相同的频点,从而使得运营商可以灵活地根据实际业务情况对信道资源进行灵活配置。 HSDPA信道包括高速共享数据信道(HS-DSCH)以及相应的下行共享控制信道(HS-SCCH)和上行专用物理控制信道(HS-DPCCH)。下行共享控制信道(HS-SCCH)承载从MAC-hs到终端的控制信息,包括移动台身份标记、H-ARQ相关参数以及HS-DSCH使用的传输格式。这些信息每隔2ms从基站发向移动台。上行专用物理控制信道(HS-DPCCH)则由移动台用来向基站报告下行信道质量状况并请求基站重传有错误的数据块。
共享高速数据信道(HS-DSCH)映射的信道码资源由15个扩频因子固定为16的SF码构成。不同移动台除了在不同时段分享信道资源外,还分享信道码资源。信道码资源共享使系统可以在较小数据包传输时仅使用信道码集的一个子集,从而更有效地使用信道资源。此外,信道码共享还使得终端可以从较低的数据率能力起步,逐步扩展,有利于终端的开发。从共用信道池分配的信道码由RBS根据HS-DSCH信道业务情况每隔2ms分配一次。与专用数据信道使用软切换不同,高速共享数据信道(HS-DSCH)间使用硬切换方式。
3.技术特点
3.1.数据业务与语音业务的技术特点
数据业务与语音业务具有不同的业务特性。语音业务通常对延时敏感,对于速率恒定性要求较高,而对误码率要求则相对较弱;数据业务则相反,通常可以容忍短时延时,但对误码率要求高。HSDPA参考cdma2000 1X EV-DO体制,充分考虑到数据业务特点,采用了快速链路调整技术、结合软合并的快速混合重传技术、集中调度技术等链路层调整技术。
3.1.1.快速链路调整技术
如前所述,数据业务与语音业务具有不同的业务特性。语音通信系统通常采用功率控制技术以抵消信道衰落对于系统的影响,以获得相对稳定的速率,而数据业务相对可以容忍延时,可以容忍速率的短时变化。因此HSDPA不是试图去对信道状况进行改善,而是根据信道情况采用相应的速率。由于HS-DSCH每隔2ms就更新一次信道状况信息,因此,链路层调整单元可以快速跟踪信道变化情况,并通过采用不同的编码调制方案来实现速率的调整。
当信道条件较好时,HS-DSCH采用更高效的调制方法---16QAM,以获得更高的频带利用率。理论上,xQAM调制方法虽然能提高信道利用率,但由于调制信号间的差异性变小,因此需要更高的码片功率,以提高解调能力。因此,xQAM调制方法通常用于带宽受限的场合,而非功率受限的场合。在HSDPA中,通常靠近基站的用户接收信号功能相对较强,可以得到xQAM调制方法带来的好处。
此外,WCDMA是语音数据合一型系统,在保证语音业务所需的公共以及专用信道所需的功率外,可以将剩余功率全部用于HS-DSCH,以充分利用基站功率。
3.1.2结合软合并的混合重传(HARQ)技术
终端通过HARQ机制快速请求基站重传错误的数据块,以减轻链路层快速调整导致的数据错误带来的影响。终端在收到数据块后5ms内向基站报告数据正确解码或出现错误。终端在收到基站重传数据后,在进行解码时,结合前次传输的数据块以及重传的数据块,充分利用它们携带的相关信息,以提高译码概率。基站在收到终端的重传请求时,根据错误情况以及终端的存储空间,控制重传相同的编码数据或不同的编码数据(进一步增加信息冗余度),以帮助提高终端纠错能力。
3.1.3集中调度技术
集中调度技术是决定HSDPA性能的关键因素。cdma2000 1X EV-DO以及HSDPA追求的是系统级的最优,如最大扇区通过率,集中调度机制使得系统可以根据所有用户的情况决定哪个用户可以使用信道,以何种速率使用信道。集中调度技术使得信道总是为与信道状况相匹配的用户所使用,从而最大限度地提高信道利用率。
信道状况的变化有慢衰落与快衰落两类。慢衰落主要受终端与基站间距离影响,而快衰落则主要受多径效应影响。数据速率相应于信道的这两种变化也存在短时抖动与长时变化。数据业务对于短时抖动相对可以容忍,但对于长时抖动要求则较严。好的调度算法既要充分利用短时抖动特性,也要保证不同用户的长时公平性。亦即,既要使得最能充分利用信道的用户使用信道以提高系统吞吐率,也要使得信道条件相对不好的用户在一定时间内能够使用信道,也保证业务连续性。
常用的调度算法包括比例公平算法、乒乓算法、最大CIR算法。乒乓算法不考虑信道变化情况;比例公平算法既利用短时抖动特性也保证一定程度的长时公平性;最大CIR算法使得信道条件较好的少数用户可以得到较高的吞吐率,多数用户则有可能得不到系统服务。
对系统性能的影响 HSDPA对系统性能的影响包括两个业务与系统吞吐率两个层面。快速链路层调整技术最大限度地利用了信道条件,并使得基站以接近最大功率发射信号;集中调度技术使得系统获得系统级的多用户分集好处;高阶调制技术则提高了频谱利用率以及数据速率。这些技术的综合使用使得系统的吞吐率获得显着提高。同时,用户速率的提高以及HARQ技术的使用使得TCP/UDP性能得到改善,从而提高了业务性能。但是,业务性能的提高程度与业务模型有关。
作为WCDMA R5版本高速数据业务增强技术,HSDPA通过采用时分共享信道以及快速链路调整、集中调度、HARQ等技术提高了系统的数据吞吐率以及业务性能,同时保证系统的前向兼容,除在RBS增加相应的MAC模块外,不对系统结构带来其它影响,从而有利于系统的灵活部署。
3.2.无线接口技术运用特点:
为改善WCDMA系统性能,HSDPA在无线接口上作出了大量变化,这主要影响到物理层和传输层:
缩短了无线电帧;新的高速下行信道;除QPSK调制外,还使用了16QAM调制;码分复用和时分复用相结合;新的上行控制信道;采用自适应调制和编码(AMC)实现快速链路适配;使用混合自动重复请求HARQ)。介质访问控制(MAC)调度功能转移到Node-B上。
HSDPA无线帧(在WCDMA结构中实际是子帧)长2ms,相当于目前定义的三个WCDMA时隙。一个10msWCDMA帧中有五个HSDPA子帧。用户数据传输可以在更短的时长内分配给一条或多条物理信道。从而允许网络在时域及在码域中重新调节其资源配置。
3.2.1下行传输信道编码
HS-DSCH从WCDMA R99引入的下行共享信道(DSCH)演变而来,允许在时间上复用不同的用户传输。为有效实现更高的数据速率和更高的频谱效率,DSCH中的快速功率控制和可变展宽系数在R5中被代之以HS-DSCH上的短分组长度、多码操作和AMC以及HARQ等技术。
根据R99 1/3增强编码器,信道编码一直采用1/3速率。但是,根据两阶段HARQ速率匹配流程中应用的参数,有效的码速率会变化。
在这一过程中,信道编码器输出上的位数与HS-DSCH上映射的HS-PDSCH的总位数相匹配。HARQ功能通过冗余版本(RV)参数控制。输出上确切的位集取决于输入位数、输出位数和RV参数。在使用一个以上的HS-PDSCH时,物理信道分段功能在不同物理信道之间划分比特位。它对每条物理信道单独进行交织。
HSDPA采用正交相移键控调制(WCDMA中规定的技术),在无线电条件良好时,采用16正交幅度调制(16QAM)。
3.2.2下行物理信道结构
物理信道的第一个时隙承载HS-PDSCH接收的关键信息,如信道化代码集和调制方案。在收到第一个时隙后,UE只有一个时隙解码信息,准备接收HS-PDSCH。
映射到一个HS-DSCH上的HS-PDSCHs(或码信道)数量可能会在1-15之间明显变化。它使用正交可变展宽系数(OVSF)代码。多码数量和从给定HS-DSCH上映射的HS-PDSCH的相应偏置信息在HS-SCCH上传送。偏置(0)时的多码(P)分配如下:
Cch,16,0…Cch,16,O+P-1。第二个时隙和第三个时隙承载HS-DSCH信道编码信息,如传输码组长度、HARQ信息、RV和星座版本及新的数据指示符。使用16位UE标识涵盖三个时隙的数据。
3.2.3自适应调制和编码
链路适配是HSDPA改善数据吞吐量的一种重要途径。采用的技术是自适应调制和编码(AMC)。在每个用户传输过程中,把系统的调制编码方案与平均信道条件相匹配。传输的信号功率在子帧周期期间保持不变,它改变调制和编码格式,以与当前收到的信号质量或信号条件相匹配。在这种情况下,BTS附近地区的用户一般会配置速率较高的高阶调制(例如,有效码速率为O.89的16QAM),但随着距BTS的距离增大,调制阶和码速率将下降。如前所述,可以采用1/3码速增强编码,通过各种速率匹配参数获得不同的有效码速率。
3.2.4混合ARQ
混合自动重复请求(HARQ)技术把前馈纠错(FEC)和ARQ方法结合在一起,保存以前尝试失败中的信息,用于未来解码中。HARQ是一种暗示链路适配技术。AMC采用明示的C/I或类似措施,设置调制和编码格式,而HARQ则采用链路层确认制定重传决策。从另一个角度讲,AMC提供了粗数据速率选择,而HARQ则根据信道条件提供数据速率微调功能。
3.2.5分组调度功能
除信道编码及物理层和传输层变化外,HSDPA还实现了另一个变化,以支持快速传送分组。它把分组调试功能从网络控制器移到了Node-B(BTS)中的MAC层。
分组调度算法考虑无线信道条件(根据涉及的所有UE的CQI)和传输到不同用户的数据数量。
3.3.技术实际运用上的表现:
3.3.1.高速数据传输和大用户容量
通过实施若干快速而复杂的信道控制机制,包括物理层短帧、自适应编码调制(AMC)、快速混合自动重传技术(Hybrid-ARQ)和快速调度技术,HSDPA使峰值数据传输速率达到10 Mbps,改善了最终用户使用数据下载服务的体验,缩短了连接与应答的时间。更为重要的是,HSDPA使分区数据吞吐量增加了三至五倍,这便可以在不占用更多网络资源的基础上大幅度增加用户数量。
3.3.2.支持服务质量水平控制
HSDPA较高的吞吐量和峰值数据传输速率有助于激励和促进WCDMA所不支持的数据密集型应用的发展。事实上,HSDPA可以更加有效地实施由3GPP标准化的服