首页 > 试题广场 >

TCP 是面向字节流的传输协议,关于 TCP 报文段长度的表

[单选题]
TCP 是面向字节流的传输协议,关于 TCP 报文段长度的表述,正确的是( )
  • TCP 报文段长度根据每次应用进程需要传输的数据块长度决定
  • TCP 报文段长度根据路径上能够传送的最大数据块长度决定
  • TCP 报文段长度根据对端的接受能力和网络状况决定
  • TCP 报文段长度确定后,在本应用进程通信过程中保持不变
推荐
选C。考察的是TCP协议对数据的封装生成的报文结构。
TCP报文结构中的序号表示本报文段所发送数据的第一个字节的编号。在 TCP 连接中所传送的字节流的每一个字节都会按顺序编号。由于序列号由 32 位表示,所以每 2^32 个字节,就会出现序列号回绕,再次从 0 开始。所以应用程序的数据块需要经过TCP协议封装编号决定,所以A错误
TCP报文结构中窗口大小:表示现在运行对方发送的数据量。也就是告诉对方,从本报文段的确认号开始允许对方发送的数据量。在发送端发送数据的速度很快而接收端接收速度却很慢的情况下(对端的接受能力和网络状况),为了保证数据不丢失,显然需要进行流量控制, 协调好通信双方的工作节奏,也就是滑动窗口的作用,而不是通过能够传送的最大数据块长度决定所以B错误,C正确。
TCP 报文段长度确定后,但在通信过程中会出现丢包的可能造成长度变化,这就用到了确认应答机制或者超时重传机制。所以D错误。

编辑于 2019-04-08 11:48:39 回复(0)
选择C 
最大报文段长度(MSS)的大小需要在建立连接时与对端协商确定。
MSS是TCP数据包每次能够传输的最大数据分段,TCP报文段的长度大于MSS时,要进行分段传输。TCP协议在建立连接的时候通常要协商双方的MSS值,每一方都有用于通告它期望接收的MSS选项(MSS选项只出现在SYN报文段中,即TCP三次握手的前两次)。MSS的值一般为MTU值减去两个首部大小(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以如果用链路层以太网,MSS的值往往为1460。
发表于 2019-04-02 15:06:28 回复(0)
加油!陌生人
发表于 2022-04-10 12:13:32 回复(0)
  • TCP 报文段长度根据对端的接受能力和网络状况决定
发表于 2019-04-03 21:29:14 回复(0)
考虑拥塞控制和流量控制
发表于 2019-05-08 13:24:23 回复(0)
<p>不是也要受到rwnd的影响吗?</p>
发表于 2020-09-04 14:53:53 回复(0)
拥塞控制 流控制
发表于 2019-04-27 21:30:48 回复(0)
C
发表于 2019-04-07 17:51:49 回复(0)
c
发表于 2018-11-06 14:34:22 回复(0)