传输层
(1)在某段时间,若对网络中某一资源的需求超过了当时的所能提供的可用部分,网络性能就会变差,这种情况叫拥塞。
(2)拥塞控制:就是防止过多的数据注入到网络中,使网络中的路由器或链路不至于过载。
(3)是一个全局性的问题.
(4)拥塞窗口(cwnd,congestion window): 发送方维持一个叫做拥塞窗口的状态变量,拥塞窗口的大小取决于网络的拥塞程度,是动态变化的,随后,发送方让自己的发送窗口等于拥塞窗口。
(5)判断拥塞的依据:超时重传
(6)为了cwnd增长过快,设置了慢开始门限ssthresh,大于该门限,就改用拥塞避免算法了,即线性增长而不是指数增长了。门限是会被调整的,最开始可以设置大一点,出现问题了就除2就行了,例如出现超时重传了除个2,出现三次重复确认了(3-ACK)此时该执行快恢复了再除个2。
TCP的流量控制:
(1)是为了让发送方,发送速率不要太快,要让接收方来的及接收。用的是首部字段中的“窗口值”,限制发送方一直传送,会动态告知自己所能接受的最大容量,例如500,我接受了0—100后,则下一次发送方的窗口值就变成了400。
(2)但当A一直等待B发送的可以重新发送的信息的时候,同时B也在等待A发来的数据时,就会发生死锁,所以规定了一个时间,发送方就会发送一个零窗口探测报文段(1B),去看看现在的窗口值,如果不是0则继续发送,如果是0,则继续等待。
(3)是一个点对点,端对端的问题
例子:如果不进行流量控制,一台小计算机可能会被一台超级计算机发到爆!
一、选择题
1.传输层上进行流量控制时,需要考虑的因素是(D)。
A.接收端的存储容量 B.通信子网的传输能力
C.A和B都不考虑 D.A和B同时考虑
2.TCP协议属于TCP/IP模型的(A)。
A.传输层 B.网络接口层
C.网络互联层 D.应用层
3.下列关于TCP和UDP的说法正确的是(C)
A.两者都是面向无连接的
B.两者都是面向连接的
C.TCP是面向连接而UDP是面向无连接的
D.TCP是无连接而UDP是面向连接的
4.在OSI参考模型中,保证端到端的可靠性数据传输是在(C)上完成的。
A.数据链路层 B.网络层
C.传输层 D.应用层
因为TCP是可靠传输
5.在OSI模型中,提供了四种服务原语,包括请求服务的原语和提供服务的原语。由服务用户向服务提供者请求服务所用的原语是(D)
A.response(响应)、confirm(证实)
B.request(请求)、indication(指示)
C.request(请求)、confirm(证实)
D.request(请求)、response(响应)
6.TCP/IP体系结构中的TCP和IP所提供的服务分别为(D)。
A.链路层服务和网络层服务 B.网络层服务和运输层服务
C.运输层服务和应用层服务 D.运输层服务和网络层服务
7.UDP提供面向(C)的传输服务。
A.端口 B.地址 C.无连接 D.连接
8.TCP提供面向(A)的传输服务。
A.连接 B.无连接 C.地址 D.端口
9.构成了可靠数据传输服务的提供者和用户两者之间的主要边界的是(D)。
A.物理层 B.数据链路层 C.网络层 D.传输层
10.TCP协议中使用(B)作为描述对其上层的某一服务的标识。
A.端口 B.套接字 C.窗口 D.段
套接字 = IP地址 + 端口号
11.在TCP/IP参考模型的层次中,解决计算机之间通信问题是在(B)。
A.网络接口层 B.网络互联层 C.传输层 D.应用层
网络接口层:数据链路层
网络互联层:网络层(主机与主机之间的通信)
传输层:主机进程之间的通信
12.在下面给出的协议中,(B)是TCP/IP的应用层协议。
A.TCP和FTP B.DNS和SMTP C.RARP和DNS D.IP和UDP
13. 在TCP/IP的进程之间进行通信经常使用客户/服务器方式,下面关于客户和服务器的描述错误的是( C )。
A.客户和服务器是指通信中所涉及的两个应用进程。
B.客户/服务器方式描述的是进程之间服务与被服务的关系。
C.服务器是服务请求方,客户是服务提供方。
D.一个客户程序可与多个服务器进行通信。
14. TCP/IP为实现高效率的数据传输,在传输层采用了UDP协议,其传输的可靠性则由( A )提供。
A.应用进程 B.TCP C.DNS D.IP
15. 主机甲和主机乙之间建立了TCP 连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300 字节和500 字节的有效载荷,第一个段的序列号为200,主机乙正确收到两个段后,发送给主机甲的确认序列号是( D )
A.500 B.700 C.800 D.1000
200+300+500=1000
16. 关于 TCP 和UDP 端口,下列说法正确的是( A )
A.TCP 和UDP 分别拥有自己的端口号,它们互不干扰, 可以共存于同一台主机
B.TCP 和UDP 分别拥有自己的端口号,但它们不能共享于同一台主机
C.TCP 和UDP 的端口没有本质区别,它们可以共存于同一台主机
D.TCP 和UDP 的端口没有本质区别,它们互不干扰,不能共存于同一台主机
17. TCP/IP协议的描述中,错误的是( A ) 。
A.TCP/IP协议属于应用层
B.TCP、UDP协议都要通过IP协议来发送、接收数据
C.TCP协议提供可靠的面向连接服务
D.UDP协议提供简单的无连接服务
TCP属于运输层,IP属于网络层
18. 下面关于IPv6协议优点的描述中,准确的是( B )
A.IPv6协议允许全局IP地址出现重复
B.IPv6协议解决了IP地址短缺的问题
C.IPv6协议支持通过卫星链路的Intemet连接
D.IPv6协议支持光纤通信
19. 用TCP/IP协议的网络在传输信息时,如果出了错误需要报告,采用的协议是( A )
A.ICMP B.HTTP C.TCP D.SMTP
20. 在TCP 协议中,建立连接时需要将( D )字段中的( )标志位位置1。
A.保留 ACK B.保留 SYN
C.偏移 ACK D.控制 SYN
21.在TCP协议中,发送方的窗口大小是由哪些因素决定的?( C )
A. 仅接收方允许的窗口
B. 接收方允许的窗口和发送方允许的窗口
C. 接收方允许的窗口和拥塞窗口
D. 发送方允许的窗口和拥塞窗口
(1)TCP首部中 有个字段名为“窗口” ,其规定了发送本报文段得到一方的接收窗口,窗口值是动态变化的,表示现在允许对方发送的数据量,窗口值作为接收方让发送方设置其发送窗口的依据。
(2)拥塞窗口是cwnd(注:接收窗口是rwnd),发送方维持一个叫做拥塞窗口的状态变量,拥塞窗口的大小取决于网络的拥塞程度,是动态变化的,随后,发送方让自己的发送窗口等于拥塞窗口。
二、填空题
1.在TCP/IP参考模型中,传输层处于 网络(网络互联) 层提供的服务之上,负责向 应用 层提供服务。
2.在TCP/IP参考模型的传输层上, UDP(用户数据报协议) 实现的是一种面向无连接的协议,不能提供可靠的数据传输,并且没有差错校验。
3. 运输层的两个主要协议是 TCP 协议和 UDP 协议。
4. 两台计算机的应用进程要互相通信,既要知道对方的 IP 地址,还要知道对方的 端口 号。
5. 停止等待协议能够在 不可靠 的传输网络上实现 可靠 的通信。
6. 超时重传是指发送方只要超过了一段时间仍然没有收到对方的 确认 ,就重传前面发送过的 分组 。
7. TCP首部中的 确认 号是期望收到对方下一个报文段的第 1 个数据字节的序号。
8. 为了进行拥塞控制,发送方要维持一个 拥塞窗口cwnd 的状态变量。发送方让自己的发送窗口取为 拥塞 窗口和 接收方的 窗口中较小的一个。
9. TCP的拥塞控制采用的四种算法是: 慢开始 算法、 拥塞避免 算法、快重传 算法和 快恢复 算法。
10. 主动发起TCP连接的应用进程叫做 客户 ,而被动等待连接建立的应用进程叫做 服务器 。TCP的连接建立采用 3 次握手机制,TCP的连接释放采用 4 次握手机制。
三、判断题
1.网络层的操作方式如果采用数据报的方式,那么每个数据报必须包含完整的目的地址才能保证数据能够到达目的主机。(对)
2.滑动窗口控制机制是允许发送站连续发送多个帧而不需等待应答。(对)
3.传输层只能工作在可靠网络协议提供的服务之上。 (错)
UDP就是不可靠的
4.传输连接在释放时要使用三次握手(三报文握手)。 (错)
建立连接是三报文握手,释放连接是四报文挥手
5.ICP/IP协议中,UDP协议是运输层中的无连接协议。 (对)
6.在TCP协议中套接字是由端口和IP地址组成 (对)
7.传输层的流量控制采用动态缓存分配的方式,即由发送端通知所剩余的空闲缓存数量,无空闲缓存时,发送端暂停发送。 (错)
接收方控制发送方的发送速率就叫流量控制,所以是接收方通知所剩余的空闲缓存数。
8.常用的差错控制方法中的自动请求重发方法能准确确定错码的位置。 (错)
不能找到,只能知道错了,然后选择重传
9.TCP/IP协议中,TCP提供简单的无连接服务,UDP提供可靠的面向连接服务。(错)
TCP是可靠的面向连接服务 ,UDP是简单的无连接服务。因为TCP首部最小20B,而UDP才8B。
10.到达通信子网中某一部分的分组数量 过多,使得该部分或整个网络性能下降的现象,称为拥塞现象。 (对)
四、简答题
1.在TCP协议中的端口和套接字的含义,并给出你所知道的某个协议的端口号。
答:(1)TCP/IP协议中,在传输层和上层之间的接口,作为对上层某一服务的标识称为端口。
(2)套接字由网络IP地址和端口号对组成,用于唯一标识一个连接。
(3)HTTP是80
2.简述TCP和UDP的区别。
答:1)TCP是面向连接的、可靠的、端到端的字节流通信的协议。(3分)
2)UDP是无连接的、不可靠传输协议。(3分)
3.简述在TCP协议中连接建立时进行三次握手的应答过程。
答:请求连接的一方(客户进程)发送一个syn置1的tcp段,将客户进程选择的初始连接序号放入发送序号字段设为x,(1分)
服务进程返回一个syn和ack都置1的tcp段,将服务进程选择的初始连接序号放入发送序号域设为y,并在确认序号域中对客户进程的初始连接序号进行应答(x+1)。(1分)
客户进程发送一个ack置1的tcp段,在确认序号域中将服务进程的初始连接序号进行应答(y+1)。(2分)
4. 设发送方和接收方的起始序号分别是10和20,简述TCP建立连接的工作过程并画图。
5. 试简述TCP协议在数据传输过程中收发双方是如何保证数据包的可靠性的。
答:TCP协议支持数据报传输可靠性的主要方法是确认与超时重传。
(1)TCP协议用户数据报被分割成一定长度的报文段,TCP会计算其首部的检验和,目的是检测数据在传输过程中是否出现错误。
(2)在接收端,当TCP正确接收到报文段时,它将发送确认,此为确认。
(3)在发送端,当TCP发出一个报文段后,在规定时间内,如果不能及时收到一个确认,将重发这个报文段,此为超时重传。
五、综合题
1.若窗口序号位数为3(数据帧的序号从0到7),发送窗口尺寸为2,接受窗口的的尺寸为1,采用滑动窗口协议进行流量控制,试画出由初始状态开始相继发生下列事件时的发送及接收窗口图示:
发送0号帧;
发送1号帧;
接收0号帧;
接收确认0号帧;
发送2号帧;
接收1号帧;
接收确认1号帧
图例:发送窗口中阴影部分表示已经正确发送的在等待应答的帧;接收窗口中阴影部分表示已经正确接收的帧。(15分)
答:滑动窗口机制:允许发送站连续发送多个帧而不需要等待应答。
发送方由发送窗口控制发送,发送窗口表示允许发送方连续发送的帧的序号表。当收到应答信息,发送窗口向前滑动。
接收方由接收窗口控制接收,接收窗口表示允许接收方接收的帧的序号表。
当收到期望收到的正确的帧,并已将该帧上交给上层,且向发送方返回应答后,接受窗口向前滑动。
双向传输:每一段都保持两个窗口——发送窗口和接收窗口,所以双方既可以发数据又可以发确认,并具有捎带应答机制,在发送的数据帧中增加字段用于携带对方的应答信息。
2.论述滑动窗口协议进行流量控制的工作原理。
假设帧序号的取值范围是0到7,发送方的发送窗口大小为4,求解在已经发送了3号帧,并接到2号帧的确认帧后,发送方还可连续发几帧?
请给出可发送帧的序号,并解释原因。(共15分)
答:1)在发送端:
发送窗口(WS):允许发送方连续发送的帧的序号表 (1分)
发送窗口的尺寸:发送端可以不等待应答而连续发送的最大帧数,即初始时发送端可以连续发送的帧数(1分)
如果发送窗口的尺寸为w,则初始时发送端可以连续发送w个数据帧,并在缓冲区中存放这w个数据帧的副本(1分),当发送端收到序号为发送窗口下沿的数据帧的肯定应答时,将发送窗口向前滑动,并删除该帧的副本(1分),如果有新的数据要发送,对其按顺序编号,只要帧序号落在发送窗口内就可以发送,直到发送窗口满为止(1分)。
2)在接收端
接收窗口(WR):允许接收方接收的帧的序号表 (1分)
凡是落在接收窗口内的帧,接收端必须处理,落在接收窗口外的帧被丢弃(1分)。
当接收窗口收到期望收到的帧,并校验正确,则将该帧上交给上层实体,向发送方返回应答后,接收窗口向前滑动(2分)。
3)捎带应答:在实际通信中,当双方都有数据要发给对方,可以在数据帧中增加字段用于携带对方的应答信息(2分)。
4)设发送窗口WS = 4,在未收到对方确认信息的情况下,发送端最多可以发送出4个数据帧(1分)。在发送窗口内(即在窗口前沿和后沿之间)共有4个序号,从0号到3号。具有这些序号的数据帧就是发送端现在可以发送的帧,当发送端发完了3个帧(从0号帧到2号帧),且收到了2号帧的确认信息,说明0,1,2三个数据帧都已经被正确接收(1分),这时发送窗口就沿顺时针方向旋转3个号,使窗口后沿再次与一个未被确认的帧号相邻。这时3,4,5,6号帧的位置已经落入发送窗口之内,因此发送端现在就可以发送这些帧(2分)。
3. TCP的拥塞窗口cwnd大小与传输轮次n的关系如上所示:(15分)
(1)试画出拥塞窗口与传输轮次的关系曲线。
(2)指明TCP工作在慢开始阶段的时间间隔。
(3)在第9轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?
(4)在第11轮次发送时,门限ssthresh被设置为多大?
(5)发送方连续收到三个重复确认的轮次是哪一轮?
答:
(图里面24换成20 其他的改换就换)
(2)0-5 10-13
(3)超时
(4)8(12轮次之后才被设置成4)
(5)16轮 然后执行快回复且第二次调整门限ssthresh
书上P243,本题仅为参考答案
4. 主机A 向主机B 连续发送了两个TCP 报文段,其序号分别为70 和100。试问:
(1) 第一个报文段携带了多少个字节的数据?
(2) 主机B 收到第一个报文段后发回的确认中的确认号应当是多少?
(3) 如果主机B 收到第二个报文段后发回的确认中的确认号是180,试问A 发
送的第二个报文段中的数据有多少字节?
(4) 如果A 发送的第一个报文段丢失了,但第二个报文段到达了B。B 在第二
个报文段到达后向A 发送确认。试问这个确认号应为多少?
本题仅为参考答案:
(1)100 - 70 = 30 (70到99)
(2)101
(3)180 - 100 = 80 (100到179)
(4)应该是70吧