1.计算机A和计算机B使用TCP协议进行数据传输,当前发送窗口大小为3000,A已经发送了两个报文段还未收到确认,第一个报文段序号为100,第二个报文段的序号为1100,则第一个报文段携带了()字节的数据,如果此时发送窗口已满,则第二个报文段携带了()字节的数据。
时间: 2024-03-26 11:36:50 浏览: 29
则程序会将其重新加入队列中并将其优先数减1。最后,程序将输出当前正在运第一个报文段携带了1000字节的数据(假设MSS为1000字节)。
由于发送行的进程和正处于就绪队列的进程的各个参数。
需要注意的是,该示例代码窗口大小为3000,已经发送了两个报文段还未收到确认,因此当前发送窗口还中为了方便,将进程名称定义为了一个长度为10的字符数组。如果需要支持更长的进有1000字节的可用空间(3000-1000*2=1000)。如果此时发送窗口已程名称,可以根据需要进行修改。
相关问题
4、传输层的两大核心协议TCP和UDP,为什么说UDP是面向报文的,而TCP是面向字节流的?
UDP是面向报文的协议,这是因为UDP在发送数据的时候,将数据按照报文的形式划分成一个个小的数据包,每个数据包都是一个独立的信息单元,不管前后的数据包是什么,都是相互独立、互不干扰的,因此也被称为“无连接”的协议。
而TCP则是面向字节流的协议,它在发送数据的时候将数据看作是一连串的字节流,没有边界,也没有记录每一个数据包的信息。TCP在传输时,会对数据进行分段,每段数据都会附加上一个TCP头部信息,然后在网络上传输,接收端对这些数据进行重新组装,将它们转化为应用程序能够识别的数据。
顺带一提,为了保证数据可靠性传输,TCP 还有很多复杂的机制,例如滑动窗口、拥塞控制等,这些机制也是 TCP 比 UDP 更加可靠的原因之一。
一、进程之间的通信(有连接、无连接) 二、UDP 协议(UDP 首部数据格式) 三、TCP 协议(TCP 首部数据格式、MSS) ) 四、 、TCP 输 可靠传输 ( 滑动窗口概念 、 滑动窗口向前滑动条件 、 滑动窗口大小和两个窗口( (rwnd、 cwnd) ) 关系、 RTO 的计算 ) 五、TCP 流量控制(rwnd 窗口) 六、TCP 拥塞控制( 满开始和拥塞避免、cwnd 窗口 ) 七、TCP 连接管理(三次握手过程)
一、进程之间的通信分为有连接和无连接两种方式。有连接方式需要先建立连接,然后进行数据传输,传输完成后再释放连接。无连接方式则不需要建立连接,直接进行数据传输。
二、UDP协议是一种无连接的传输协议,数据传输前不需要建立连接,也不保证数据传输的可靠性。UDP首部数据格式包括源端口、目的端口、长度和校验和等字段。
三、TCP协议是一种面向连接的传输协议,数据传输前需要先建立连接,并保证数据传输的可靠性。TCP首部数据格式包括源端口、目的端口、序号、确认号、数据偏移、标志位、窗口大小、校验和等字段。MSS是指TCP报文段中的最大数据段长度。
四、TCP可靠传输是通过滑动窗口实现的,滑动窗口是指接收端和发送端的缓存区大小。滑动窗口向前滑动的条件是接收端已经成功接收到一部分数据。滑动窗口大小和两个窗口(rwnd、cwnd)的关系是发送端的窗口大小不能超过接收端的窗口大小。RTO是指重传超时时间,是根据网络延迟和丢包率等因素计算得出的一个时间值。
五、TCP流量控制是通过接收端的rwnd窗口实现的,rwnd窗口大小表示接收端的缓存区大小。发送端的数据大小不能超过接收端的rwnd窗口大小。
六、TCP拥塞控制是为了避免网络拥塞而采取的一系列措施,包括满开始和拥塞避免两个阶段。在满开始阶段,发送端的cwnd窗口大小为1,每次传输一个数据包。在拥塞避免阶段,发送端逐渐增加cwnd窗口大小,以适应网络负载。
七、TCP连接管理采用三次握手过程。客户端向服务端发送一个SYN包,服务端回复一个SYN+ACK包,最后客户端回复一个ACK包,建立连接。