计算机网络课程3
- 格式:doc
- 大小:67.00 KB
- 文档页数:9
《计算机网络》课程模拟题(三)(含答案)一、单项选择题(每题1分)1、以太网交换机中的端口/MAC地址映射表是()。
a)由交换机的生产厂商建立的b)交换机在数据转发过程中通过学习动态建立的c)由网络管理员建立的d)由网络用户利用特殊的命令建立的2、下列哪种说法是错误的()?a)以太网交换机可以对通过的信息进行过滤b)以太网交换机中端口的速率可能不同c)在交换式以太网中可以划分VLANd)利用多个以太网交换机组成的局域网不能出现环3、MAC地址通常存储在计算机的()。
a)内存中b)网卡上c)硬盘上d)高速缓冲区4、以下关于以太网中“冲突”的描述,哪种说法是正确的()?a)冲突是由于介质访问控制方法的错误使用造成的b)冲突是由于网络管理员的失误造成的c)冲突是一种正常现象d)冲突是一种不正常现象5、因特网使用的互联协议是:a)IPX协议b)IP协议 c)AppleTalk协议 d)NetBEUI协议6、下列哪种说法是错误的?a)IP层可以屏蔽各个物理网络的差异b)IP层可以代替各个物理网络的数据链路层工作c)IP层可以隐藏各个物理网络的实现细节d)IP层可以为用户提供通用的服务7、在以太网中,集线器级联时()。
a)必须使用直通UTP电缆b)必须使用交叉UTP电缆c)必须使用同一种速率的集线器d)可以使用不同速率的集线器8、下列哪种说法是正确的()?a)集线器可以对接收到的信号进行放大b)集线器具有信息过滤功能c)集线器具有路径检测功能d)集线器具有交换功能9、IP地址205.140.36.88的()部分表示主机号。
a)205 b)205.140 c)88 d)36.8810、IP地址129.66.51.37的()部分表示网络号。
a)129.66 b)129 c)129.66.51 d)3711、假设一个主机的IP地址为192.168.5.121,而子网掩码为255.255.255.248,那么该主机的网络号部分(包括子网号部分)为()。
计算机网络技术3总分:100考试时间:100分钟一、单项选择题1、路由器的主要功能是(正确答案:C)A、比较路由表中的信息和数据的目的IP地址,把到来的数据发送到正确的子网和主机B、比较路由表中的信息和数据的目的IP地址,把到来的数据发送到正确的子网C、比较路由表中的信息和数据的目的IP地址,把到来的数据发送到正确的网络D、比较路由表中的信息和数据的目的IP地址,把到来的数据发送到正确的主机2、下述论述中不正确的是(正确答案:C)A、IPV6具有高效IP包头B、IPV6增强了安全性C、IPV6地址采用64位D、IPV6采用主机地址自动配置3、在IP数据报报头中,标识、标志、片偏移3个字段与下列哪个选项有关(正确答案:C)A、生存周期B、封装C、分片与重组D、服务类型4、在因特网中,IP数据报的传输需要经由源主机和中途路由器到达目的主机,通常(正确答案:D)A、源主机和中途路由器都知道IP数据报到达目的主机需要经过的完整路径B、源主机知道IP数据报到达目的主机需要经过的完整路径,而中途路由器不知道C、源主机不知道IP数据报到达目的主机需要经过的完整路径,而中途路由器知道D、源主机和中途路由器都不知道IP数据报到达目的主机需要经过的完整路径5、RIP(路由信息协议)是基于(正确答案:A)A、距离向量B、链路状态C、分散通信量D、固定查表6、下列哪种说法是错误的(正确答案:B)A、IP层可以屏蔽各个物理网络的差异B、IP层采用的交换技术有数据包和电路交换C、IP 层可以隐藏各个物理网络的实现细节D、IP层可以为用户提供通用的服务7、TCP/IP协议中的网际层可以提供的服务模式有(正确答案:B)A、只提供面向连接的服务模式B、只提供面向无连接的服务模式C、提供面向连接和无连接两种服务模式D、以上都不正确8、关于OSPF和RIP,下列哪种说法是正确的(正确答案:D)A、OSPF和RIP都适合在规模庞大的、动态的互连网上使用B、OSPF和RIP比较适合于在小型的、静态的互连网上使用C、OSPF适合于在小型的、静态的互连网上使用,而RIP适合于在大型的、动态的互连网上使用D、OSPF适合于在大型的、动态的互连网上使用,而RIP适合于在小型的互连网上使用9、路由器中的路由表(正确答案:C)A、需要包含到达所有主机的完整路径信息B、需要包含到达目的网络的完整路径信息C、需要包含到达目的网络的下一步路径信息D、需要包含到达所有主机的下一步路径信息10、为控制拥塞,IP层软件采用了(正确答案:A)A、源抑制报文B、重定向报文C、ICMP请求应答报文对D、分片与重组11、关于TCP连接下面说法错误的是(正确答案:B)A、TCP提供了面向连接的,可靠的传输服务B、如果IP层的传输不可靠,TCP的传输也是不可靠的C、在应用程序利用TCP协议传输数据之前,首先需要建立一条到达目的主机的连接D、当一个连接建立时,连接的每一端分配一块缓冲区来存储接收到的数据,并将缓冲区的尺寸发送给另一端12、在TCP/IP协议簇的层次中,解决计算机之间通信问题是在(正确答案:C)A、网络接口层B、网际层C、传输层D、应用层13、TCP/IP协议中的运输层可以提供的服务模式有(正确答案:C)A、只提供面向连接的服务模式B、只提供面向无连接的服务模式C、提供面向连接和无连接两种服务模式D、以上都不正确14、对IP数据报分片的重组通常发生在(正确答案:B)A、源主机B、目的主机C、IP数据报经过的路由器D、主机或路由器15、关于动态路由说法不对的一项(正确答案:D)A、动态路由可以通过自身的学习,自动修改和刷新路由表B、动态路由要求路由器之间不断地交换路由信息C、动态路由有更多的自主性和灵活性D、动态路主要用于拓扑结构简单,网络规模较小的网络环境16、对向量-距离算法进行具体描述正确的是(正确答案:C)A、路由器启动时对路由器直接进行初始化,该初始路由表包括所有去往与本路由器直接相连的网络路径B、初始化的路由表中各路径的距离均为0C、各路由器周期性地向其相邻的路由器广播自已的路由表信息D、以上都正确17、关于端口的说法,不正确的是(正确答案:B)A、端口只要本地意义B、端口具有全局含义C、端口提供复用功能D、常见的应用采用熟知端口18、TCP进行流量控制采用(正确答案:B)A、3次握手法B、滑动窗口控制机制C、自动重传机制D、端口机制19、为了保证连接的可靠性,TCP通常采用(正确答案:C)A、3次握手法B、滑动窗口控制机制C、自动重传机制D、端口机制二、多项选择题1、网络按照传送数据所用的结构和技术可划分为什么网(正确答案:ABD)A、交换网B、广播网C、资源网D、分组网2、关于机算机网络,以下说法哪个正确(正确答案:BD)A、网络传输介质分为有线和无线,有线介质主要有同轴电缆、红外线、光缆B、网络节点间进行通信所遵从的规则称为协议C、局域网中只能有一个服务器,PC机在安装系统软件后也可作为服务器D、无论是服务器或客户机,它们组成局域网时,均需各自安装一块网卡3、关于城域网建设方案特点的描述中,下列哪些是正确的?(正确答案:ABD)A、主干传输介质采用光纤B、交换结点采用基于IP交换的高速路由交换机或ATM交换机C、采用ISO/OSI七层结构模型D、采用核心交换层,业务汇聚层与接入层3层模式三、判断题1、所有的噪声都来自于信道的内部。
计算机网络第三章练习题一、选择题1.在常用的传输介质中,()的带宽最宽,信号传输衰减最小,抗干扰能力最强。
A.双绞线B.同轴电缆C.光纤D.微波2.在电缆中采用屏蔽可以带来什么好处?()A.减少信号衰减B.减少电磁干扰辐射C.减少物理损坏D.减少电缆的阻抗3.下面关于卫星通信的说法,哪个是错误的?()A.卫星通信距离大,覆盖范围广B.使用卫星通信易于实现广播通信C.卫星通信的好处在于不受气候影响,误码率很低D.通信费用高,延时较大是卫星通信的不足之处4.调制解调技术主要用于()的通信方式中。
A.模拟信道传输数字数据B.模拟信道传输模拟数据C.数字信道传输数字数据D.数字信道传输模拟数据5.在同一时刻,通信双方可以同时发送数据的信道通信方式为()。
A.半双工通信B.单工通信C.数据报D.全双工通信6.下列传输介质中,不受电磁干扰和噪声影响的是()。
A.屏蔽双绞线B.非屏蔽双绞线C.光纤D.同轴电缆7.一般来说,对于通信量大的高速局域网,为了获得更高的性能,应该选用()。
A.同轴电缆B.光纤C.双绞线D.无线8.曼彻斯特编码采用的是(。
)A.外同步B.群同步C.自同步D.都可以9.模拟数据编码的基本形式有(。
)A.bsk、psk、lsk B.ask、fsk、psk C.ask、fks、pks D.bks、pks、fks10.利用电话线接入internet,客户端必须有()。
A.路由器B.调制解调器C.集线器D.网卡11.数据传输速率指的是()。
A.每秒传输的字节数B.每秒信号变化的次数C.每秒传输的比特数D.每秒传输的周期数12.如果想要高速大量的传输数据,以下那一种交换方式实时性最好?()A.报文交换B.虚电路分组交换C.线路交换D.数据包分组交换13.下列说法中,哪一项是正确的()A.虚电路与线路交换没有实质不同B.在通信的两个站点之间只能建立一条虚电路C.虚电路有连接建立、数据传输、连接拆除三个阶段D.虚电路的各个节点需要为每个分组作路由选择判定14.当数字信号在模拟传输系统中传送时,在发送端和接收端分别需要()A.调制器和解调器B.解调器和调制器C.编码器和解码器D.解码器和编码器15.采用专用线路通信时,可以省去的通信阶段是()A.建立通信线路B.建立数据传输链路C.传送通信控制信号和数据D.双方确认通信结束16.将物理信道的总频带宽分割成若干个子信道,每个子信道传输一路信号,这种复用技术称为()A.同步时分多路复用B.码分多路复用C.异步时分多路复用D.频分多路复用17.市话网在数据传输期间,在源结点与目的节点之间有一条利用中间结点构成的物理连接线路,这种市话网采用()技术。
第三章习题解答3.1简述数据链路层的功能。
答:数据链路层是在物理层提供的比特流传送服务的基础上,通过一系列的控制和管理,构成透明的、相对无差错的数据链路,向网络层提供可靠、有效的数据帧传送的服务。
其主要功能包括:链路管理,帧定界,流量控制,差错控制,数据和控制信息的识别,透明传输,寻址。
3.2 试解释以下名词:数据电路,数据链路,主站,从站,复合站。
答:数据电路是一条点到点的,由传输信道及其两端的DCE构成的物理电路段,中间没有交换节点。
数据电路又称为物理链路,或简称为链路。
数据链路是在数据电路的基础上增加传输控制的功能构成的。
一般来说,通信的收发双方只有建立了一条数据链路,通信才能够有效地进行。
在链路中,所连接的节点称为“站”。
发送命令或信息的站称为“主站”,在通信过程中一般起控制作用;接收数据或命令并做出响应的站称为“从站”,在通信过程中处于受控地位。
同时具有主站和从站功能的,能够发出命令和响应信息的站称为复合站。
3.3 数据链路层流量控制的作用和主要功能是什么?答:流量控制简称“流控”,是协调链路两端的发送站、接收站之间的数据流量,以保证双方的数据发送和接收达到平衡的一种技术。
在计算机网络中,由于接收方往往需要对接收的信息进行识别和处理,需要较多的时间,通常发送方的发送速率要大于接收方的接收能力。
当接收方的接收处理能力小于发送方的发送能力时,必须限制发送方的发送速率,否则会造成数据的丢失。
流量控制就是一种反馈机制,接收方随时向发送方报告自己的接收情况,限制发送方的发送速率。
保证接收方能够正常、有序地接收数据。
3.4 在停止-等待协议中,确认帧是否需要序号?为什么?答:在停止-等待协议中,由于每次只确认一个已经发送的帧,确认帧可以不需要序号。
但在一些特殊情况下会出现问题。
如果发送方在超时重发一个帧后又收到了迟到的确认,就不能确定该应答是对哪一个帧的确认,并可能导致随后的传送过程重新差错。
3.5 解释为什么要从停止-等待协议发展到连续ARQ协议。
计算机网络课程设计第二章:封装Ethernet帧完整程序:#include<iostream.h>#include<fstream.h>void main(int argc,char* argv[]){if(argc!=3){cout<<"Please input commmand: EncapFrame input_fileoutput_file"<<endl;return;}fstream file;file.open(argv[2],ios::in|ios::out|ios::binary|ios::trunc);for(int i=0;i<7;i++)file.put(char(0xaa));file.put(char(0xab));long pCrcS=file.tellp();chardst_addr[6]={char(0x00),char(0x00),char(0xe4),char(0x86),char(0x3a),char(0xdc)}; file.write(dst_addr,sizeof(dst_addr));charsrc_addr[6]={char(0x00),char(0x00),char(0x80),char(0x1a),char(0xe6),char(0x65)}; file.write(src_addr,sizeof(src_addr));ifstream infile;infile.open(argv[1],ios::binary);infile.seekg(0,ios::end);short length=(short)infile.tellg();file.put(char(length/256));file.put(char(length%256));char* data=new char[length];infile.seekg(0,ios::beg);infile.read(data,length);file.write(data,length);infile.close();delete data;if(length<46)for(int i=0;i<46-length;i++)file.put(char(0x00));long pCrc=file.tellp();file.put(char(0x00));short total=short(file.tellp())-(short)pCrcS;file.seekg(pCrcS,ios::beg);unsigned char crc=0;while(total--){unsigned char temp;file.get(temp);for(unsigned char i=(unsigned char)0x80;i>0;i>>=1){if(crc&0x80){crc<<=1;if(temp&i)crc^=0x01;crc^=0x07;}else{crc<<=1;if(temp&i)crc^=0x01;}}}file.seekp(pCrc,ios::beg);file.put(crc);file.seekg(0,ios::beg);cout<<"Content of ethernet frame: "<<endl;while(!file.eof()){unsigned char temp;file.get(temp);cout<<hex<<(short)temp<<" ";}cout<<endl<<"The"<<argv[2]<<" is completed";file.close();}结果:。
计算机网络第三章课后答案(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第三章3-01 数据链路( 即逻辑链路) 与链路( 即物理链路) 有何区别“电路接通了”与”数据链路接通了”的区别何在答:数据链路与链路的区别在于数据链路出链路外,还必须有一些必要的规程来控制数据的传输,因此,数据链路比链路多了实现通信规程所需要的硬件和软件。
“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了,但是,数据传输并不可靠,在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”,此后,由于数据链路连接具有检测、确认和重传功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输当数据链路断开连接时,物理电路连接不一定跟着断开连接。
3-02 数据链路层中的链路控制包括哪些功能试讨论数据链路层做成可靠的链路层有哪些优点和缺点.答:链路管理帧定界流量控制差错控制将数据和控制信息区分开透明传输寻址可靠的链路层的优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。
3-03 网络适配器的作用是什么网络适配器工作在哪一层答:适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件网络适配器工作在TCP/IP协议中的网络接口层(OSI 中的数据链里层和物理层)3-04 数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决答:帧定界是分组交换的必然要求,透明传输避免消息符号与帧定界符号相混淆,差错检测防止合差错的无效数据帧浪费后续路由上的传输和处理资源3-05 如果在数据链路层不进行帧定界,会发生什么问题答:无法区分分组与分组,无法确定分组的控制域和数据域,无法将差错更正的范围限定在确切的局部3-06 PPP协议的主要特点是什么为什么PPP 不使用帧的编号PPP 适用于什么情况为什么PPP 协议不能使数据链路层实现可靠传输答:简单,提供不可靠的数据报服务,检错,无纠错不使用序号和确认机制地址字段A 只置为 0xFF。
第三章数据链路层数据链路层主要解决相邻两个节点间的通信问题,它负责将源节点网络层上的数据传输到目的节点的网络层上。
所谓相邻是指两个节点通过一条物理信道直接相连。
1.数据链路层的设计问题按照网络的分层模型,每一层都是要利用其下层提供的服务来为其上层提供服务。
数据链路层从物理层获得的服务是原始的比特流传输服务,而比特流在传输的过程中是会出错的,因此检测和纠正这些错误使得网络层可以不用关心传输错误,成为数据链路层的一项重要工作。
其次较高的发送速度和较低的接收能力的不匹配,也是造成传输出错的一个原因,因此流量控制也是数据链路层的一项重要工作。
另外,不同的应用或者传输环境可能要求不同的链路层服务,因此链路层应该有多种服务供上层选择,且每种服务有定义良好的接口供上层调用。
综上所述,数据链路层的主要功能(或者说主要设计问题)包括以下三个方面:●为网络层提供良定义的服务接口;●处理传输错误;●流量控制。
服务类型可以让数据链路层提供多种不同的服务,但大多提供以下三种服务:●无确认的无连接服务:源节点向目的节点发送独立的帧,传输前不需要建立逻辑连接,传输后也不要求目的节点进行确认,也就是说不保证每个帧能被正确接收。
目的节点可能会将出错的帧丢弃,但不会通知源节点,也不会试图发现是否有帧丢失,传输错误的恢复依靠高层协议去完成。
这类服务适用于误码率非常低的传输环境及一些实时业务,大多数局域网使用这一类服务。
●有确认的无连接服务:传输前不需要建立逻辑连接,但目的节点对于收到的每个帧都必须单独进行确认(肯定或否定),出错或丢失的帧需要重发,直到正确接收为止。
这类服务适用于误码率较高的传输环境,如无线传输环境。
(事实上,要求确认在这儿是一种优化传输服务的选项,而不是必需的。
)●有确认的面向连接的服务:传输前需要建立逻辑连接,为每个发送的帧建立帧编号并按序发送,目的节点对收到的帧进行检错和确认,出错或丢失的帧需要重发直至正确接收为止,目的节点的链路层保证向其网络层递交正确有序的数据流。
通过图3-3看一下数据链路层协议在路由器中的位置。
组帧我们考察四种方法●字符计数法:在帧的第一个字段携带帧的长度。
这种方法在帧传输出错后无法恢复同步,因此不能单独使用。
●带有字节填充的标志字节法:使用特殊的字节(标志字节)来表示帧的开始与结束,当失去同步后,只需要搜索特定的标志字节就可以了,如图3-5(a)。
为避免在帧的其它部分出现与标志字节相同的比特模式,采用了字节填充的方法,即在与特殊字符具有相同比特模式的字符前插入转义字符ESC,如图3-5(b)。
这种方法要依赖于特定的字符编码集,灵活性差,处理开销大。
●带有比特填充的起止标志法:使用一个特殊的比特模式(01111110)作为帧的起始与结束标志。
为避免在帧的其它部分出现与此标志相同的比特模式,采用了比特填充的方法,即在5个连续的1后插入一个0,如图3-6。
这种方法不依赖于特定的字符编码集,灵活性强,处理简单(使用硬件完成)。
物理层编码违例法:这种方法只适用于那些在物理层编码中使用冗余技术的网络,例如以太网的物理层采用曼彻斯特编码,它将比特“1”表示成高-低电平对,将比特“0”表示成低-高电平对,而高-高电平对和低-低电平对在编码中没有使用,这样可以用这两种无效的编码标识帧的边界。
差错控制差错控制的主要内容包括:差错编码、反馈重传、超时重传、重复帧丢弃、定时器管理等。
流量控制基于反馈的流量控制机制。
2. 差错检测与纠正出错的类型:单个错(single error)与突发错(burst error)。
单个错通常由随机的信道热噪声引起,一次只影响1位,错误之间没有关联。
突发错通常由瞬间的脉冲噪声引起,一次影响许多位,用突发长度表示突发错影响的最大数据位数。
在实际的通信中,经常发生的错误是突发错。
突发错有利于数据传输,但不利于检测和纠正。
差错编码的类型:检错码(error-detecting code)与纠错码(error-correcting code)。
检错码只能检测到数据传输发生了错误,但不知道错在哪一位上,因此无法自行纠正错误,需要与反馈重传结合起来使用。
纠错码能够知道错误发生在哪一位上,因此能够自行纠正错误。
当信道条件允许时,通常采用检错码与反馈重传来检测和纠正错误。
如何检测和纠正错误?长度为m比特的数据(或称消息)加上r比特的冗余(或称校验位)形成长度为n=m+r 比特的码字(codeword)。
两个码字的不同位的个数称为这两个码字之间的海明距离d (Hamming Distance),它意味着需要d个位的错误才有可能使一个码字变为另一个码字。
在大多数传输应用中,所有2m个可能的数据信息都是有效的,当计算校验位的方法确定后,就可以构造出完整的有效码字表(共2m个有效码字)。
但长度为n的码字集中共有2n个码字,显然其中2n-2m个码字是无效的,它们只可能在传输发生错误时出现。
因此,判断是否出现传输错误的方法就是判断收到的码字是否是无效码字,而纠错码纠正错误的方法就是将收到的无效码字恢复到距其最近的有效码字,显然任何检错和纠错的方法都有一定的漏检概率。
编码集的检错与纠错能力编码集的海明距离:编码集中任意两个有效码字间的海明距离的最小值。
编码集的检错和纠错能力与编码集的海明距离有关。
为检测出d比特错误,编码集的海明距离至少应为d+1,奇偶校验是能够检测出1比特错误的检错码。
为纠正d比特错误,编码集的海明距离至少应为2d+1,海明码是能够纠正1比特错误的纠错码。
循环冗余码(CRC码)这是一种多项式编码,它将位串看成是系数为0或1的多项式。
信息多项式M(x):由m个信息比特为系数构成的多项式。
冗余多项式R(x):由r个冗余比特为系数构成的多项式。
码多项式T(x):在m个信息比特后加上r个冗余比特构成的码字所对应的多项式,表达式为:T(x) = x r·M(x) + R(x)。
生成多项式G(x):双方预先确定用来计算R(x)的一个多项式。
编码方法:用对应于G(x)的位串去除对应于x r·M(x)的位串,所得的余数附加到信息比特串的后面一起发送。
检错方法:用对应于G(x)的位串去除对应于T(x)的位串,若余数为0则认为传输正确,否则认为传输错误。
CRC码检错能力强,实现简单快捷,是应用最广泛的检错码。
3. 基本数据链路协议通过三个由简单到复杂的数据链路协议来介绍该层协议的基本设计思想。
在这里假设源主机A与目的主机B通过一条单工信道进行通信,且A使用可靠的面向连接的服务向B传输数据。
当A的数据链路层收到网络层的一个分组后,将其嵌入到一个数据帧中,即加上帧头(控制信息)和帧尾(校验),然后传给B的数据链路层。
假设数据链路层可以通过库例程to_physical_layer和from_physical_layer向/从物理层发送/接收帧,且校验部分(帧尾)由发送硬件自动加上和校验,链路层软件可不用关心。
数据链路层还可以通过库例程to_network_layer和from_network_layer向/从网络层发送/接收分组。
数据链路层调用库例程wait_for_event (&event)等待某个事件的发生,事件的类型从变量event中获得。
假设帧头包括类型、发送序号、确认序号三个域(仅为示例用)。
协议1这是一个最简单的单工协议,假设数据只在一个方向上传输,信道不会出错,且网络层和物理层始终处于准备好状态,因此既不需要差错控制也不需要流量控制。
过程如下:发送方接收方1)从网络层接收一个分组;1) 等待帧到达事件;2)将分组装入帧的信息域;2) 从物理层接收一个帧;3)将帧传给物理层;3) 将分组(帧的信息域)传给网络层;4)返回1) 4) 返回1)由于不需要确认,也就不需要帧序号。
协议2仍然假定是单工通信,且信道不会出错,但是接收端的处理能力有限,需要控制发送方的速度,即流量控制。
在这里需要引入反馈,要求接收端在准备好接收下一帧时,向发送方发回一个响应帧;而发送方在收到响应帧后,才能发送下一帧,这称为停-等。
过程如下:发送方接收方1)从网络层接收一个分组;1) 等待帧到达事件;2)将分组装入帧的信息域;2) 从物理层接收一个帧;3)将帧传给物理层;3) 将分组(帧的信息域)传给网络层;4)等待响应帧;4) 发送响应帧;5)响应帧到达,返回1) 5) 返回1)由于每次只发送一个帧,得到响应后再发下一帧,且不会出错,因此不会有重发的需要,也就不需要帧序号。
协议3仍然假定是单工通信,但是信道可能会出错,接收端处理能力也有限。
链路层必须保证每个帧正确到达接收端,且发送端不能以太快的速度发送,因此,在这里既需要差错控制也需要流量控制。
采用协议2中的停-等方式,发送方每次只发送一个帧,当这个帧被正确接收后才能发送下一帧,若该帧未在规定的时间内得到确认(超时),则重发该帧;接收端对每个收到的帧进行校验,对正确收到的帧发回确认,错误的帧丢弃。
由于需要区分新、旧两个帧,使用1比特的帧序号。
过程如下:发送方1)初始化发送序号(next_frame_to_send = 0);2)从网络层接收一个分组,放入缓冲区;3)从缓冲区中取出分组构造一个帧:●将缓冲区中的分组拷入帧的信息域;●将next_frame_to_send拷入序号域;4)将帧传给物理层;5)启动相关的计时器;6)等待事件发生(帧到达,收到坏帧,超时);7)事件发生:①事件为帧到达:从物理层接收一个帧,检查帧的确认序号域,●若是对所发帧的确认(ack = next_frame_to_send),终止相关的计时器,从网络层接收下一个分组,放入缓冲区,发送序号加1,返回3);●若不是对所发帧的确认,直接返回3);(缓冲区内容和发送序号均不变)②事件为其它(收到坏帧,超时):返回3);(缓冲区内容和发送序号均不变)接收方1)初始化期待接收的帧序号(frame_expected = 0);2)等待帧的到达;3)从物理层接收一个帧,检查帧的发送序号域(seq),●如果是期待接收的帧(seq = frame_expected),将帧中携带的分组交给网络层,frame_expected加1,执行4);●若不是期待接收的帧(一个重复帧),执行4);4)发回对收到帧的确认(确认帧的ack等于收到帧的seq);5)返回2)。
4. 滑动窗口协议前面的协议都假定数据帧沿着一个方向传输,但事实上大多数的通信都是双向的。
当双方都有数据发送时,将确认序号携带在数据帧中传输可以减少开销,这称为捎带应答(piggybacking)。
捎带应答带来的一个问题是,当需要发送确认时没有要发送的数据帧怎么办?这可以让确认信息推迟一点时间再发送,如果仍然没有数据帧要发送,再用一个单独的帧进行确认。