码迷,mamicode.com
首页 > 其他好文 > 详细

TCP传输中序号与确认序号的交互

时间:2014-05-12 07:15:08      阅读:354      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ext   c   http   2014   

本实验通过SSH远程登录服务器,然后使用Wireshark抓包分析。开头的三次握手已经省略。关于序号的交互过程,需要记住一点:TCP首部中的确认序号表示已成功收到字节,但还不包含确认序号所指的字节,希望下一次能收到确认序号所指的字节。

当在远程登录软件上键入命令时,客户端便开始了数据的发送,TCP头如下:
bubuko.com,布布扣

bubuko.com,布布扣
初始化序列号ISN = 1,这个序列号是客户端对发送数据的一个标记,以1作为起始值。根据SSH包长度计算下一次将会发送的起始序号为65。确认序号为1表示我希望下次收到起始序号为1的TCP包。

服务器端返回的TCP头如下:
bubuko.com,布布扣

bubuko.com,布布扣
客户端想要序号1,那服务器就发送序号1,所以服务器发送的TCP包起始序号为1。同时,服务器又希望下一次收到起始序号为65的包,这和客户端下一次会发送起始序号为65的包完全吻合。

客户端发送的TCP头如下:
bubuko.com,布布扣

bubuko.com,布布扣
服务器要序号65,那我客户端这边就发送65。同时我希望下一次收到序号65。

服务器的TCP头如下:
bubuko.com,布布扣

bubuko.com,布布扣
服务器果然又满足客户端的要求返回65。同时希望获得序号129。

客户端和服务器两端反复进行这样的过程直至连接中断(见文章“四次握手终止连接”)。每一个TCP包头都在满足对方的需求同时希望对方会满足自己的需求...

参考:
《TCP/IP详解》 P172、P175.

TCP传输中序号与确认序号的交互,布布扣,bubuko.com

TCP传输中序号与确认序号的交互

标签:style   blog   ext   c   http   2014   

原文地址:http://blog.csdn.net/nestler/article/details/25484931

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!