这篇灭有后续,预告下。 看教主的TCP/IP视频好久了,却没有做实验验证之的冲动,一方面是那些玩意在unix下才做的出来,一方面也是自己又开始蛋疼了,闲话少说,直接上图。

     RT,就是简单的R0telnetr1,然后在模拟状态下看这个过程,以前一直没有机会做关于TCP的过程分析。我们就用简单的telnet来试下三次握手吧。
      第一 步、就是一次握手了,你想telnet人家,当然要主动伸手,这个过程还是比较复杂的,因为自己要确定一系列的相关选项值。

     1、 A TELNET client process is started, the client makes a connection request to the server.
     2、The device tries to make a TCP connection to 192.168.1.2 on port 23.

     3、The device sets the connection state to SYN_SENT.可以看到TCP启用了23号端口,然后把连接 状态改为syn_sent.
     4、当然是确定相关字段的值, TCP accepts a window size up to 65535 bytes . TCP adds Maximum Segment Size Option to the TCP SYN header with Maximum Segment Size equal to 1460 bytes。这里面提到了几个概念,那就是窗口(window)和MSS,后者叫做最长报文大小,也就是TCP数据部分的最大长度,那么这个值当然要以下层来决定。详解中提到,对于非直连网络,MSS的值通常为536,而双方都为以太网时,值为1460(1500-20-20)The device sends a TCP SYN segment. Sent segment information: the sequence number 0, the ACK number 0, and the data length 24.
        然后就发送syn报文了,初始的序列号跟确认号都为0(因为你没收到任何数据不是)。然后 首部长度为24,想想为啥是24而不是20呢?
       好,那么syn是发出去了,也就是人家手伸过来了,我们再看看目的端如何处理的。
       二次握手、目的端成功收到syn包, The connection request is accepted. The device sets the connection state to SYN_RECEIVED.(这个地方有点重要然后我们看看目的端确定的TCP具体值就有点意思了。
          1、 TCP accepts a window size up to 65535 bytes.TCP adds Maximum Segment Size Option to the TCP SYN-ACK header with Maximum Segment Size equal to 536 bytes.
          2、最重要的一步, The device sends a TCP SYN+ACK segment.Sent segment information: the sequence number 0, the ACK number 1, and the data length 24.好的,syn+ack终于发过来了,而且注意确认号位1,也就是说表示对对方发送的那个序号为0的TCP数据包的确认,同时也是说我希望下次目的方发给我的是1号数据。
         OK,二次握手完成,我们总结下二次握手做了些啥:首先要对对方的举动表示欢迎,所以要发一个确认对吧,只不过这个确认的序号要跟对方的序号有点关系,不 然对方也不知道你是在跟它说话,然后那就是本方也有意向合作了,也把手伸了出来,发了个syn过去,完事,我们看下一步。
         最后一步了,截个图吧,看着蛋疼。


         一步一步解释,对方表示成功收到了想要的东西(has the expected peer sequence number),所以连接成功(connection is successful),好了,两边表示合作成功,合同也签了,自然的,把双方的状态改成“已建立合作关系”(established)。这时,还需要发 一个syn给对方,对,再确认一下,Sent segment information: the sequence number 1, the ACK number 1, and the data length 20.这时没有选项字段了,这时总算想明白序号跟确认号是怎么回事了。
          好吧,三次握手就说到这里,其实还有后续的 ,四次拆除.