为什么tcp建立连接是tcp ip 三次握手手,二断开练级时四次握手

TCP\IP三次握手连接,四次握手断开分析
TCP(Transmission Control Protocol) 传输控制协议
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
位码即tcp标志位,有6种标示:SYN(synchronous建立联机)
ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)
Sequence number(发送序列) Acknowledge number(确认序列)
第一次握手:主机A发送位码为syn=1,随机产生seq
number=1234567的数据包到服务器,主机B由SYN=1知道A要求与之建立联机;
第二次握手:主机B收到请求后要确认联机信息,向A发送ack
number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包
第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq
number+1,以及位码ack是否为1,若正确,主机A会再发送ack
number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。
完成三次握手,主机A与主机B开始传送数据。
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。&
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;&
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进
入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入
ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP
连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(过程就不细写了,就是服务器和客户端交互,最终确定断开)
四次握手断开:
由于&TCP&连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN&来终止这个方向的发送通道。收到一个&FIN&只意味着这一方向上没有数据流动,一个&TCP&连接在收到一个&FIN&后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。&&
(&1&)客户端&A&发送一个&FIN&,用来关闭客户&A&到服务器&B&的数据传送(报文段&4&)。&&
(&2&)服务器&B&收到这个&FIN&,它发回一个&ACK&,确认序号为收到的序号加&1&(报文段&5&)。和&SYN&一样,一个FIN&将占用一个序号。&&
(&3&)服务器&B&关闭与客户端&A&的连接,发送一个&FIN&给客户端&A&(报文段&6&)。&&
(&4&)客户端&A&发回&ACK&报文确认,并将确认序号设置为收到序号加&1&(报文段&7&)。&&
IP 192.168.1.116.3337 & 192.168.1.123.7788: S
IP 192.168.1.123.7788 & 192.168.1.116.3337: S
IP 192.168.1.116.3337 & 192.168.1.123.7788: ack ,ack
第一次握手:192.168.1.116发送位码syn=1,随机产生seq
number=的数据包到192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建立联机;
第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送ack
number=,syn=1,ack=1,随机产生seq=的包;
第三次握手:192.168.1.116收到后检查ack number是否正确,即第一次发送的seq
number+1,以及位码ack是否为1,若正确,192.168.1.116会再发送ack
number=,ack=1,192.168.1.123收到后确认seq=seq+1,ack=1则连接建立成功。
http实例:
pc浏览服务器网页此过程不包括域名查询,只描述TCP与http数据流的变化。
一、pc与http服务器进行三次握手来建立连接。
1.pc:seq=0 ack=0 syn=1 ack=0 发送给服务器建立同步请求。
2.server: seq=0 ack=1 syn=1 ack=1 发送给客户端建立同步响应.
3.pc:seq=1 ack=1 syn=0 ack=1 发送给服务器,三次握手完成建立同步信息成功.
4.pc产生http数据消息,向服务器发送get请求.
5.服务器收到请求并发送TCP确认,然后发送http数据信息给客户端的浏览器.
6.客户端收到服务器的http信息,然后发送TCP确认信息给服务器.
7.客户端发送FIN+ACK给服务器,要求结束数据传输.
8.服务器发送TCP确认消息用于确认pc的TCP的FIN消息
9.服务器向客户端发送FIN+ACK消息用于结束TCP会话.
10.客户端发送确认信息给服务器,整个会话结束.
HTTP协议即超文本传送协议(Hypertext Transfer Protocol
),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。
HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
1)在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。
1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。
由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常
的做法是即时不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。
1.为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?&&
这是因为服务端的&LISTEN&状态下的&SOCKET&当收
到&SYN&报文的建立连接请求后,它可以把&ACK&和&SYN&(&ACK&起应答作用,而&SYN&起同步作用)放在一个报文里来发送。但关闭连接时,
当收到对方的&FIN&报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭&SOCKET,&也即你可能还需要发送一些数据给对方之后,再发送&FIN&报文给对方来表示你同意现在可以关闭连接了,所以它这里的&ACK&报文
和&FIN报文多数情况下都是分开发送的。&&
2.为什么&TIME_WAIT&状态还需要等&2MSL&后才能返回到&CLOSED&状态?&&
这是因为虽然双方都同意关闭连接了,而且握手的&4&个报文也都协调和发送完毕,按理可以直接回到&CLOSED&状态(就好比从&SYN_SEND&状态
到&ESTABLISH&状态那样);但是因为我们必须要假想网络是不可靠的,你无法保证你最后发送的&ACK&报文会一定被对方收到,因此对方处
于&LAST_ACK&状态下的&SOCKET&可能会因为超时未收到&ACK&报文,而重发&FIN&报文,所以这个&TIME_WAIT&状态的作用
就是用来重发可能丢失的&ACK&报文
三次握手,三种状态(SYN_SEND\SYN_RECV\ESTABLISHED);两种包(请求包\应答包),两样东西(标志位码\序列号码)
四次握手,两次分开
心跳监测(client-&保持&-server-&在线&-client)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(436)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_084069',
blogTitle:'TCP的三次握手和四次断开',
blogAbstract:'TCP的三次握手和四次断开\nTCP是一个面向连接的服务,面向连接的服务是电话系统服务模式的抽象,每一次完整的数据传输都必须经过建\n立连接,数据传输和终止连接3个过程,TCP建立连接的过程称为三次握手,下面看一下三次握手的具本过程\nTCP三次握手过程\n1 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段,\n主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我.\n2 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:\n我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我\n3 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:\"我已收到回复,我现在要开始传输实际数据了',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:5,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}关于运输层中TCP协议的三次握手连接和四次握手连接释放过程简述_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
关于运输层中TCP协议的三次握手连接和四次握手连接释放过程简述
上传于||文档简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
傻丫头和高科技产物小心翼翼的初恋
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
个人大数据技术博客:
CSDN &《程序员》编辑/记者,投稿&纠错等事宜请致邮

我要回帖

更多关于 tcp的三次握手 的文章

 

随机推荐