参考如下两幅图,简要回答与TCP/IP协议相关的下列问题 Flags主要包括MF(More Fragment)比特和DF(Don’t Fragment)比特 IP报头 (1)TCP报头的SYN比特和FIN比特分别起什么作用? (2)如果TCP接收方处

admin2017-11-09  43

问题 参考如下两幅图,简要回答与TCP/IP协议相关的下列问题

Flags主要包括MF(More Fragment)比特和DF(Don’t Fragment)比特
IP报头

(1)TCP报头的SYN比特和FIN比特分别起什么作用?
(2)如果TCP接收方处理数据的速度很慢,导致接收方的接收缓冲区满,接收方通过TCP报头的哪个字段通知发送方暂停数据发送?
(3)TCP接收方收到发送方发来的多个报文,根据TCP报头的哪个字段判断接收到的报文次序是否与发送方的发送次序相同?

选项

答案(1)SYN比特用于 连接建立阶段 ,FIN比特用于 连接拆除阶段。 (2)Windows size (3)Sequence number(SEQ)

解析 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN、FIN、ACK、PSH、RST、URG。
其中,对于我们日常的分析有用的就是前面的五个字段。
它们的含义是:
SYN表示建立连接;
FIN表示关闭连接;
ACK表示响应;
PSH表示有DATA数据传输;
RST表示连接重置。
其中,ACK是可与SYN、FIN等同时使用的。比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应;如果只是单个的一个SYN,它表示的只是建立连接。
TCP的几次握手就是通过这样的ACK表现出来的。但SYN与FIN是不会同时为1的,因为前者表示的是建立连接,而后者表示的是断开连接。
发送数据时,如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。
TCP的序号字段占4字节,是TCP段所发送的数据部分第一个字节的序号。在TCP传送的数据流中,每一个字节都有一个序号。建立连接时,发送方将初始序号(Initial sequenceNumber,ISN)填写到第一个发送的TCP段序号中。
TCP的确认号占4字节,是期望收到对方下次发送的数据的第一个字节的序号,也就是期望收到的下一个TCP段的首部中的序号,等于已经成功收到的TCP段的最后一个字节序号加1。确认号在ACK标志为1时有意义,除了主动发起连接的第一个TCP段不设置ACK标志外,其后发送的TCP段都会设置ACK标志。
转载请注明原文地址:https://kaotiyun.com/show/ysIS777K
0

最新回复(0)