计算机网络MOOC 第3章 运输层 单元测试 作业

单元测试

 

作业

1 主机甲和主机乙之间已建立一个TCP连接,TCP最大段长度为1000字节,若主机甲的当前拥塞窗口为5000字节,在主机甲向主机乙连接发送2个最大段后,成功收到主机乙发送的第一段的确认段,确认段中通告的接收窗口大小为3000字节,则此时主机甲还可以向主机乙发送的最大字节数是?

发送窗口 : min{5000,3000} = 3000B 由于甲还未收到第二个MSS的确认,则此时主机甲还可以向主机乙发送的最大字节数是:3000 - 1000 = 2000B

2 主机甲和主机乙已建立TCP连接,甲始终以MSS=1KB大小的段发送数据,并一直有数据发送;乙每收到一个数据段都会发出一个接收窗口为10KB的确认段。若甲在t时刻发生超时,其拥塞窗口为8KB。则从t时刻开始,不再发生超时情况下,经过10个RTT后,甲的发送窗口是多少?

因为在t 时刻超时,所以慢启动阈值为8的一半 ,即为 4 拥塞发送窗口CongWin置为1个MSS = 1KB 且CongWin大小按指数增长,直到达到慢启动阈值 则在10个RTT后  CongWIn的大小依次为:2 ,4(达到慢速启动阈值),进入线性增长5, 6, 7, 8 ,9 ,10, 11, 12 又因为接收窗口始终为10KB 发送窗口 = min{接收窗口,拥塞窗口} = min{10KB,12KB} = 10KB

​        

3 请描述TCP协议中标志位ACK、SYN、FIN、RST的含义,并叙述下TCP三次握手建立连接的过程

TCP协议中常用的标志位有四个,即:

1. ACK(Acknowledge):表示确认号字段有效,通知接收方收到前一个数据包的序号,确认序号无误。一般每次收到数据都会回复一个包含ACK标志的确认包,这样对方才知道自己发送的数据已经被对方所接收。

2. SYN(Synchronize):表示同步序号,用来建立连接。当客户端向服务器端发起请求时,首先会发送一个标志位包含SYN的数据包,表明客户端请求连接,并给此数据包设定一个随机的序列号。

3. FIN(Finish):表示发送方已经没有数据要传输了,表示主动关闭连接。由于TCP是全双工模式,因此关闭连接需要发送方和接收方都各自发送一个FIN标志位来表示关闭方向的一致性。

4. RST(Reset):表示复位请求,表示请求对方复位连接。当收到RST标志位时,表示TCP连接出现严重问题,需要彻底终止连接,之后不再和对方发送和接收信息。

三次握手建立连接的过程如下:

1. 客户端向服务器端发送SYN标志的数据包,其中设置了一个随机序列号Seq=x,表示请求建立连接,之后进入SYN_SENT状态。

2. 服务器端收到数据包后会发送一个同时包含SYN和ACK标志的数据包,其中确认序列号为Ack=x+1,表示确认收到客户端发送的SYN数据包,并请求建立连接。同时服务器也会生成一个随机序列号Seq=y,表示要求客户端连接自己。

3. 客户端收到服务器端的确认以后,也会发送一个包含ACK标志的数据包给服务器端,其中确认序列号Ack=y+1,表示确认已经收到服务器端的请求建立连接的应答,至此,三次握手完成,客户端和服务器开始正常进行数据传输。

  

4 ​什么是多路复用?什么是多路分解?请分别说明二者概念同时叙述下运输层的多路复用与多路分解有哪几种?

多路复用和多路分解都是在通信领域中常用的概念。

多路复用(Multiplexing):将多个独立的信息信号混合在一起在同一信道上发送,接收方通过不同的方式将这些信号进行分离,恢复出原来的信息。简单来说,就是在一个物理信道上同时传输多个逻辑信道的方法。

多路分解(Demultiplexing):将一个多路复用的信号分解成多个单独的信号,以便于接收方进行处理。

在运输层,多路复用与多路分解的主要作用是在同一个端到端(End-to-End)连接的情况下,同时建立多个应用程序之间的传输通道,以便于在传输过程中可以分别进行传输和接收数据。常见的运输层多路复用与多路分解有以下几种:

1. TCP(Transmission Control Protocol)多路复用与多路分解

TCP通过端口号标识不同的应用程序,每个应用程序通过不同的端口号与运输层连接。客户端和服务器端利用端口号进行通信,一个TCP连接可以同时传输多个应用程序的数据,实现了多路复用与多路分解。

2. UDP(User Datagram Protocol)多路复用与多路分解

UDP也通过端口号标识不同的应用程序,每个应用程序通过不同的端口号与运输层连接。但是,UDP不维护连接状态,因此应用程序需要自己实现多路复用与多路分解。即应用层将数据进行打包,添加标识符来区分不同的应用数据,然后交由UDP进行传输。

3. SCTP(Stream Control Transmission Protocol)多路复用与多路分解

SCTP与TCP类似,可以同时传输多个应用程序的数据。SCTP通过流标识符(Stream Identifier)对数据进行标识,相当于将TCP的一个连接拆分成多个逻辑连接,实现了多路复用与多路分解。此外,SCTP还具有多宿主(Multi-homing)特性,在多个IP地址之间建立多个SCTP连接,一个连接故障时可以自动切换到其他连接,提高了可靠性。

5 TCP和UDP的区别?


TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)都是两种传输协议,用于在计算机网络上进行数据传输。下面是它们的区别:

1. TCP是面向连接的协议,UDP是无连接的协议。TCP建立一个连接进行数据传输,UDP不建立连接,直接发送数据。

2. TCP提供可靠的数据传输,通过对数据进行序号标识、确认和重传等操作保证数据的可靠传输。UDP不提供可靠的数据传输,数据传输时有可能会丢失或者无序。

3. TCP传输速度较慢,UDP传输速度较快。TCP需要进行连接的建立、确认和断开等操作,这些操作需要较长的时间。UDP直接发送数据,没有额外的操作,因此速度较快。

4. TCP传输数据的单位是报文段(Segment),UDP传输数据的单位是数据报(Datagram)。TCP报文段包括头部和数据,包头使用固定的20字节,加上选项和数据的大小不固定,每个报文段的长度被限制在MTU(Maximum Transmission Unit)以下。UDP数据报是独立的数据包,每个数据报最大长度被限制在65507字节。

5. TCP适用于数据传输可靠性要求高的应用场景,如文件传输、邮件传输等。UDP适用于数据传输可靠性要求不高但速度要求较高的应用场景,如IP电话、视频会议等。

​TCP和UDP都是在传输层协议,不同于网络层协议(如IP协议、ICMP协议)和应用层协议(如HTTP协议、FTP协议)。它们各自有自己的特点和应用场景,根据不同的需求选择合适的传输协议可以提高应用程序的效率和可靠性。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

考赛尔江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值