现在的位置: 首页 > 综合 > 正文

三次握手,你握了吗?(图文)

2013年08月19日 ⁄ 综合 ⁄ 共 1096字 ⁄ 字号 评论关闭
前几天刚刚从书店买了一本被学习计算机网络技术和tcp/ip参考模型人员奉为经典的著作:美国作家史蒂文斯的《tcp/ip详解--第一卷<协议>》一书。虽然自己早对这本书多少有点了解,并且也在网上找了好久pdf格式的下载到了自己的电脑上,可是总是感觉读起来有点麻烦,好书就应该多读,于是乎自己就下狠心从书店买了这本书。对于学习TCP/IP的大多数人来说,恐怕第一感觉就是太抽象,太难以理解了,我也是一个初学者对此也是深有感触。但是最近在不断的慢慢的学习中发现,通过抓包试验来分析数据无非不是理解tcp/ip的一种好方法,这样做的一大好处是使抽象的协议更加直观了,也有利于自己更好的理解tcp/ip协议。
今天我给大家讲解的是tcp连接过程中的三次握手。如下图所示:
clip_image001
1.首先客户端通过向服务器端发送一个SYN来建立一个
主动打开,作为三路握手的一部分。(同步位为1)
2. 然后服务器端应当为一个合法的SYN回送一个
SYN/ACK。(同步位和确认位都为1)
3. 最后,客户端再发送一个ACK。这样就完成了三
路握手,并进入了连接建立状态。(确认位位1)
为了更好的使大家了解这一过程,我们通过抓包试验来具体分析。我们的环境是:192.168.0.100作为客户向192.168.0.1请求ftp连接。
ftp服务之前首先需要tcp连接。我们在192.168.0.100客户机上安装科来软件。并且登录192.168.0.1在浏览器上输入:
ftp://192.168.0.1/然后关闭浏览器。
我们在科来软件中选择只过滤ftp协议。然后开始抓包,抓包后的图
示如下图(图1)
clip_image003
其中编号为1 ,2, 3,即为tcp建立连接的三次握手过程,我们将分别拿出来分析。数据包1如下图所示:
clip_image005
首先客户机192.168.0.100向服务器192.168.0.1发送建立请求的数据包,在图1中通过原地址和目标地址我们也可以看出来这个数据包是192.168.0.100发给192.168.0.1的。客户机192.168.0.100向服务器发送建立请求并且把自己的同步位(syn)设置为1
clip_image007
服务器收到来自192.168.0.100的连接请求时,做出应答可以建立连接,并且把自己的确认位和同步位设置位1发给客户端如上图所示。
clip_image009
客户机收到服务器的同意建立连接后,把自己的确认位设置位1表示确定。至此tcp建立连接的过程完成了。今天我给大家讲解的是tcp建立连接的过程,下一节我将给大家带来tcp关闭连接的过程。以及对ftp协议的具体分析,希望大家继续关注。
转自:http://nanwangting.blog.51cto.com/608135/226942/

抱歉!评论已关闭.