TCP连接建立与终止过程剖析课件

上传人:文**** 文档编号:251979567 上传时间:2024-11-11 格式:PPT 页数:23 大小:1.85MB
返回 下载 相关 举报
TCP连接建立与终止过程剖析课件_第1页
第1页 / 共23页
TCP连接建立与终止过程剖析课件_第2页
第2页 / 共23页
TCP连接建立与终止过程剖析课件_第3页
第3页 / 共23页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,精选课件 Mobile Mobile,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,精选课件 Mobile Mobile,Mobile,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,精选课件 Mobile Mobile,Mobile,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,精选课件 Mobile Mobile,*,1,TCP连接建立与终止过程剖析,性能测试组:凌宏立,201,2,-0,5,-,2,7,1,精选课件 Mobile Mobile,Mobile,1TCP连接建立与终止过程剖析性能测试组:凌宏立1精选课件,目录,TCP连接建立与终止过程剖析,2,案例,3,基础知识,1,2,精选课件,目录TCP连接建立与终止过程剖析2案例3基础知识12精选课件,网络模型,OSI七层网络模型,Linux TCP/IP四层概念模型,对应网络协议,应用层(,Application),应用层,FTP,NFS,WAIS,HTTP,,TFTP,表示层(,Presentation),Telnet,Rlogin,SNMP,Gopher,会话层(,Session),SMTP,,,DNS,传输层(,Transport),传输层,TCP,,UDP,,RTCP,网络层(,Network),网际层,IP,ICMP,ARP,RARP,AKP,UUCP,数据链路层(,Data Link),网络接口,FDDI,Ethernet,Arpanet,PDN,SLIP,PPP,物理层(,Physical),IEEE 802.1A,IEEE 802.2到IEEE 802.11,3,精选课件,网络模型OSI七层网络模型Linux TCP/IP四层概念模,TCP协议特点,面向流的投递服务,面向连接的投递服务,TCP,特性,可靠性传输,全双工传输,4,精选课件,TCP协议特点面向流的投递服务面向连接的投递服务TCP特性可,TCP报文格式,1、源端口和目的端口各占16位,每台电脑开启的端口数为,2,16,=,65536,2、顺序号(SEQ),当一方要与另一方联系时就发送一个初始序号(,ISN,)给对方,TCP连接是,全双工的,即双方的数据流可同时传输。在传输过程中双方数据是独立的,因此每个TCP连接,必须有两个顺序号分别对应不同方向的数据流。,ISN,随时间而变化,可看作,32,位计数器,每,4ms,加,1,3、确认序(ACK),在握手阶段,确认序号将发送方的序号加1作为回答,在数据传输,阶段,确认序号将发送方的序号加发送的数据大小作为回答,表示确实收到这些数据。,5,精选课件,TCP报文格式1、源端口和目的端口各占16位,每台电脑开启的,TCP,报文格式,6个标志位:,U R G,紧急指针,用来保证TCP连接不被中断,并且督促中间层设备要尽快处理这些数据。,A C K,确认序号有效。,P S H,接收方应该尽快将这个报文段交给应用层,缩写为,P,。,R S T,重建连接,缩写为,R,。,S Y N,同步序号用来发起一个连接,缩写为,S,。,F I N,发端完成发送任务,缩写为,F,。,6,精选课件,TCP报文格式6个标志位:6精选课件,连接建立,192.168.160.74:1069,192.168.160.75:53,客户端,服务端,(主动打开),SYN_SEND,ESTABLISHED,SYN_RCVD,LISTEN,(被动打开),ESTABLISHED,SYN,(SEQ=X),ACK,Y,+1,SYN,(SEQ=Y ACK=,X+1),1,、请求端(通常称为客户)发送一个,SYN,段指明客户打算连接的服务器的端口,以及初始序号(,ISN,),这个,S Y N,段为报文段,1,。,2,、服务器发回包含服务器的初始序号的,SYN,报文段(报文段,2,)作为应答。同时,将,ACK,确认序号设置为客户的,I S N,加,1,以对客户的,SYN,报文段进行确认。一个,SYN,将占用一个序号。,3,、客户必须将,ACK,确认序号设置为服务器的,ISN,加,1,以对服务器的,SYN,报文段进行确认(报文段,3,),总结:,客户端:SYN_SENT-ESTABLISHED,服务端:LISTEN-SYN_RECV-ESTABLISHED,7,精选课件,连接建立 192.168.160.74:1069192.16,连接建立超时,TCP-IP详解卷1,:服务器断开时,客户端会每隔多长时间尝试重新发送SYN建立连接?第二个SYN与第一个SYN的间隔时间是5.8秒,第三个与第二个的间隔时间是24秒(已过时),Linux 2.5以上版本已经改变了连接建立超时算法,目前每次重新发送SYN的间隔时间为:,3 x,2,n,(n=0),Linux源码:http:/lxr.linux.no/#linux+v3.2.6/net/ipv4/tcp_timer.c#L141,总结:,1、超时间隔:第二个与第一个相隔3s,第三个与第二个相隔6s,第四个与第三个相隔12s,,即,3 x,2,n,(n=0),2、服务器断开连接,客户端最多会发送,6次,SYN请求(即重试5次),若仍无法连接,则中断请求。,PS:,通过,tcp_syn_retries:INTEGER,修改内核参数设置发送多少个 SYN 连接请求才决定放弃,不应该大于,255,(roottest1#sysctl-a|grep tcp_syn_retries,查看默认值,),if(boundary=linear_backoff_thresh),timeout=(2 boundary)-1)*rto_base;,2 1*3=4*3,2 192.168.160.79.9999:,S,741777400:741777400(0)win 5840,13:59:02.303503 IP 192.168.160.79.9999 192.168.160.77.8888:,S,141642130:141642130(0)win 5792,13:59:02.303517 IP 192.168.160.77.8888 192.168.160.79.9999:,S,741777400:741777400(0)ack 141642131 win 5840,13:59:02.303551 IP 192.168.160.79.9999 192.168.160.77.8888:,S,141642130:141642130(0)ack 741777401 win 5792,13:59:02.303566 IP 192.168.160.77.8888 192.168.160.79.9999:,.ack,1 win 46,13:59:02.303574 IP 192.168.160.79.9999 192.168.160.77.8888:,.ack,1 win 46,数据包:,PS:,同时打开还是正常握手?,1.tcpdump抓包的结果反映的是正常三次握手,也就是非真正的同时打开?,2.是同时打开,但是最后的ACK包还是会发,只不过在发之前已经是连接建立的状态?,分析,:,假设上面为正常的三次握手,那么两个ACK数据包应该上面,而非最后面,若最后面,则说明前面四个S发完后,双方已经进入了ESTABLISHED状态,从而推出应该是同时打开。因此,同时打开,即使两端已经建立了ESTABLISHED,但还是会发送最后的ACK(注:TCP/IP卷1未明确说明否会发送ACK),11,精选课件,同时打开总结:13:59:02.303478 IP 192.,半打开,如果一方已经关闭或异常终止连接而另一方却还不知道,这样的TCP连接称为,半打开,(Half-Open)。,总结:,任何一端的主机异常都可能导致发生这种情况,只要不在半打开连接上传输数据,仍处于连接状态的一方就不会检测到另一方已经出现异常。导致出现半打开连接现象的常见原因有:,主机断电,主机重启,程序突然结束,等等,rootperformance7 bin#./sock-s 7878,rootperformance5#telnet 192.168.160.79 7878,Trying 192.168.160.79.,Connected to 192.168.160.79(192.168.160.79).,Escape character is.,hi there,1、在p7上启动服务,端口为7878,在p5中运行telnet程序,通过它与p7上的服务器建立连接,然后,键入一行字符。,2、接着断开服务器主机与以太网电缆,并重启服务器主机,这可以模拟服务器主机出现异常。,(在重启服务器之前断开以太网电缆是为了防止它向打开的连接发送FIN,某些TCP在关机的时候会这么做),3、服务器主机重启后,重新接上电缆,并从客户端向服务器发送另一行字符。,4、由于服务器的TCP已重新启动,它将丢失复位前连接的所有信息,因此它不知道数据包中提到的连接,,TCP的处理是服务器以复位RST作为应答。,rootperformance7#tcpdump port 7878,tcpdump:verbose output suppressed,use-v or-vv for full protocol decode,listening on eth0,link-type EN10MB(Ethernet),capture size 96 bytes,10:13:52.475910 IP 192.168.160.77.44813 192.168.160.79.7878:,S,4241687980:4241687980(0)win 5840,10:13:52.477877 IP 192.168.160.79.7878 192.168.160.77.44813:,S,3635449100:3635449100(0),ack,4241687981 win 5792,10:13:52.475983 IP 192.168.160.77.44813 192.168.160.79.7878:.,ack,1 win 46,10:13:53.142109 IP 192.168.160.77.44813 192.168.160.79.7878:,P,1:7(6)ack 1 win 46,10:13:53.142116 IP 192.168.160.79.7878 192.168.160.77.44813:.,ack,7 win 46,10:13:53.142109 IP 192.168.160.77.44813 192.168.160.79.7878:,P,8:14(6)ack 1 win 46 192.168.160.77.44813:,.R,win 46,12,精选课件,半打开如果一方已经关闭或异常终止连接而另一方却还不知道,这样,同时关闭,(主动关闭)FIN_WAIT_1,TIME_WAIT,CLOSING,FIN_WAIT_1,(主动关闭),CLOSING,TIME_WAIT,FIN J,FIN K,ACK J+1,ACK K+1,1、若客户端和服务端同时发送,FIN,执行主动关闭,则为同时关闭。,2、同时关闭和正常关闭发送的数据包数目相同,只是顺序不同。,客户端,服务端,13,精选课件,同时关闭(主动关闭)FIN_WAIT_1TIME_WAITC,半关闭,1、TCP半关闭提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力,2、AB A发送一个FIN给B,B收到A的FIN,只意味着从A向B发送数据的通道停止了,没有,数据流
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!