TCP协议详解.docx

上传人:lao****ou 文档编号:260820 上传时间:2023-07-04 格式:DOCX 页数:15 大小:112.22KB
下载 相关 举报
TCP协议详解.docx_第1页
第1页 / 共15页
TCP协议详解.docx_第2页
第2页 / 共15页
TCP协议详解.docx_第3页
第3页 / 共15页
TCP协议详解.docx_第4页
第4页 / 共15页
TCP协议详解.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《TCP协议详解.docx》由会员分享,可在线阅读,更多相关《TCP协议详解.docx(15页珍藏版)》请在第一文库网上搜索。

1、TCP合同详解为什么会有TCP/IP合同在世界上各地,多种各样的电脑运营着各自不同的操作系统为大伙服务,这些电脑在体现同一种信息的时候所使用的措施是千差万别。就仿佛圣经中上帝打乱了各地人的口音,让他们无法合伙同样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法时用电线把电脑连接到了一起。但是简朴的连到一起是远远不够时,就仿佛语言不同的两个人互相见了面,完全不能交流信息。因而他们需要定义某些共通的东西来进行交流,TCP/IP就是为此而生。TCP/IP不是一种合同,而是一种合同族的统称。里面涉及了IP合同JMCP合同,

2、TCP合同,以及我们更加熟悉的http、什p、pop3合同等等。电脑有了这些,就仿佛学会了外语同样,就可以和其他的计算机终端做自由的交流了。TCP/IP合同分层!TCP分层2jpg()TCP/IP合同族按照层次由上到下,层层包装。应用层:向顾客提供一组常用的应用程序,例如电子邮件、文献传播访问、远程登录等。远程登录TE1NET使用TE1NET合同提供在网络其他主机上注册的接口。TE1NET会话提供了基于字符的虚拟终端。文献传播访问FTP使用FTP合同来提供网络内机器间的文献拷贝功能。传播层:A提供应用程序间的通信。其功能涉及:一、格式化信息流;二、提供可靠传播。为实现后者,传播层合同规定接受端

3、必须发回确认,并且如果分组丢失,必须重新发送。网络层:负责相邻计算机之间的通信。其功能涉及三方面。一、解决来自传播层的分组发送祈求,收到祈求后,将分组装入IP数据报,填充报头,选择去往信宿机的途径,然后将数据报发往合适的网络接口。二、解决输入数据报:一方面检查其合法性,然后进行寻径-如果该数据报已达到信宿机,则去掉报头,将剩余部分交给合适的传播合同;如果该数据报尚未达到信宿,则转发该数据报。三、解决途径、流控、拥塞等问题。网络接口层:A这是TCP/IP软件的最低层,负责接受IP数据报并通过网络发送之,或者从网络上接受物理帧,抽出IP数据报,交给IP层。IP是无连接的IP用于计算机之间的通信。I

4、P是无连接的通信合同。它不会占用两个正在通信的计算机之间的通信线路。这样JP就减少了对网络线路的需求。每条线可以同步满足许多不同的计算机之间的通信需要。通过IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。IP负责将每个包路由至它的目的地。IP地址每个计算机必须有一种IP地址才可以连入因特网。每个IP包必须有一种地址才可以发送到另一台计算机。网络上每一种节点都必须有一种独立的Internet地址(也叫做IP地址)。目前,一般使用的IP地址是一种32bit的数字,也就是我们常说的IPv4原贝J,这32bit的数字提成四组也就是常见的255.255.255.255的样式

5、。IPV4原则上,地址被分为五类,我们常用的是B类地址。具体的分类请参照其他文档。需要注意的是IP地址是网络号+主机号的组合,这非常重要。CP/IP使用32个比特来编址。一种计算机字节是8比特。因此TCP/IP使用了4个字节。会一种计算机字节可以涉及256个不同时值:8OOOOOOOxOOO00001、00000010、00000011、000001OOx00OOO1Ok00000110、OOOOO111、00001000.直到11111I11o目前,你懂得了为什么TCP/IP地址是介于0到255之间的4个数字。TCP使用固定的连接当应用程序但愿通过TCP与另一种应用程序通信时,它会发送一种通

6、信祈求。这个祈求必须被送到一种确切的地址。在双方“握手”之后,TCP将在两个应用程序之间建立一种全双工(fU11-duPIex)的通信。这个全双工时通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止。UDP和TCP很相似,但是更简朴,同步可靠性低于TCPoIP路由器当一种IP包从一台计算机被发送,它会达到一种F路由器。IP路由器负责将这个包路由至它的目的地,直接地或者通过其他时路由器。在一种相似的通信中,一种包所经由的途径也许会和其他的包不同。而路由器负责根据通信量、网络中的错误或者其他参数来进行对的地寻址。域名12个阿拉伯数字很难记忆。使用一种名称更容易。用于TCP/IP地址的名

7、字被称为域名。就是一种域名。当你键入一种像这样的域名,域名会被一种DNS程序翻译为数字。在全世界,数量庞大的DNS服务器被连入因特网。DNS服务器负责将域名翻译为TCP/IP地址,同步负责使用新的域名信息更新彼此的系统。当一种新的域名连同其TCP/IP地址一同注册后,全世界的DNS服务器都会对此信息进行更新。TCP/IPTCP/IP意味着TCP和IP在一起协同工作。TCP负责应用软件(例如你的浏览器)和网络软件之间的通信。IP负责计算机之间的通信。TCP负责将数据分割并装入IP包,然后在它们达到的时候重新组合它们。IP负责将包发送至接受者。TCP报文格式1.Jpg16位源端标语:16位的源端口

8、中涉及初始化通信的端口。源端口和源IP地址的作用是标记报文的返回地址。16位目的端标语:16位的目的端口域定义传播的目的。这个端口指明报文接受计算机上的应用程序地址接口。32位序号:32位时序列号由接受端计算机使用,重新分段的报文成最初形式。当SYN浮现,序列码事实上是初始序列码(Initi1SequenceNumber,ISN),而第一种数据字节是ISN+1。这个序列号(序列码)可用来补偿传播中的不一致。32位确认序号:32位的序列号由接受端计算机使用,重组分段时报文成最初形式。如果设立了ACK控制位,这个值表达一种准备接受的包时序列码。4位首部长度:4位涉及TCP头大小,批示何处数据开始。

9、保存(6位):6位值域,这些位必须是O。为了将来定义新的用途而保存。标志:6位标志域。表达为:紧急标志、故意义时应答标志、推、重置连接标志、同步序列号标志、完毕发送数据标志。按照顺序排列是:URG、ACKsPSHsRST.SYN、FINo16位窗口大小:用来表达想收到的每个TCP数据段的大小。TCP的流量控制由连接时每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明时值,这个值是接受端正盼望接受的字节。窗口大小是一种16字节字段,因而窗口大小最大为65535字节。16位校验和:16位TCP头。源机器基于数据内容计算一种数值,收信息机要与源机器数值成果完全同样,从而证明数据

10、的有效性。检查和覆盖了整个的TCP报文段:这是一种强制性的字段,一定是由发送端计算和存储,并由接受端进行验证的。16位紧急指针:指向背面是优先数据的字节,在URG标志设立了时才有效。如果URG标志没有被设立,紧急域作为填充。加快解决标示为紧急的数据段。选项:长度不定,但长度必须为1个字节。如果没有选项就表达这个1字节时域等于Oo数据:该TCP合同包负载的数据。在上述字段中,6位标志域的各个选项功能如下。URG:紧急标志。紧急标志为“1”表白该位有效。ACK:确认标志。表白确认编号栏有效。大多数状况下该标志位是置位的。TCP报头内的确认编号栏内涉及的确认编号(w+1)为下一种预期的序列编号,同步

11、提示远端系统已经成功接受所有数据。PSH:推标志。该标志置位时,接受端不将该数据进行队列解决,而是尽量快地将数据转由应用解决。在解决TeInet或rI。gin等交互模式的连接时,该标志总是置位的。RST:复位标志。用于复位相应的TCP连接。SYN:同步标志。表白同步序列编号栏有效。该标志仅在三次握手建立TCP连接时有效。它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。在这里,可以把CP序列编号看作是一种范畴从O到4,294,967,295的32位计数器。通过TCP连接互换的数据中每一种字节都通过序列编号。在TCP报头中的序列编号栏涉及了TCP分

12、段中第一种字节的序列编号。FIN:结束标志。TCP三次握手所谓三次握手(Three-WyHadshQke)即建立TCP连接,就是指建立一种TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在SoCket编程中,这一过程由客户端执行ConneCt来触发,整个流程如下图所示:TCP三次握手.png(1)第一次握手:C1ient将标志位SYN置为1,随机产生一种值seq=J,并将该数据包发送给ServerzCIient进入SYh1SENT状态,等待SerVer确认。(2)第二次握手:SerVer收到数据包后由标志位SYN=I懂得C1ient祈求建立连接,Server将标志位SYN和AC

13、K都置为1,ock=J+1,随机产生一种值Seq=K,并将该数据包发送给C1ient以确认连接祈求,Server进入SYN_RCVD状态。(3)第三次握手:C1ient收到确认后,检查QCk与否为J+1ACK与否为1,如果对的则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查QCk与否为K+1,ACK与否为1,如果对附则连接建立成功,C1ient和Server进入ESTAB1ISHED状态,完毕三次握手,随后CIient与SerVer之间可以开始传播数据了。简朴来说,就是K建立连接时,客户端发送SYN包(SYN=i)到服务器,并进入到SYN-SEND状态,

14、等待服务器确认2、服务器收到SYN包,必须确认客户的SYN(ck=i+1),同步自己也发送一种SYN包(SYN=k),即SYN+ACK包,此时服务器进入SYN-RECV状态3、客户端收到服务器的SYN+ACK包,向服务器发送确认报ACK(ck=k+1),此包发送完毕,客户端和服务器进入ESTAB11SHED状态,完毕三次握手,客户端与服务器开始传送数据。SYN袭击:在三次握手过程中,Server发送SYN-ACK之后,收至IJC1ient的ACK之前的JTCP连接称为半连接(ha1f-OPenconnect),止匕时SerVer处在SYN_RCVD状态,当收到ACK后,SerVer转入ESTA

15、B1ISHED状态。SYN袭击就是CIient在短时间内伪造大量不存在的IP地址,并向SerVer不断地发送SYN包,SerVer答复确认包,并等待C1ient时确认,由于源地址是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SYN祈求由于队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。SYN袭击时一种典型的DDoS袭击,检测SYN袭击的方式非常简朴,即当SerVer上有大量半连接状态且源IP地址是随机时,则可以断定遭到SYN袭击了,使用如下命令可以让之现行:#etstt-napgrepSYN_RECVTCP四次挥手所谓四次挥手(F。Ur-WQyWQVehQnd)即终结TCP连接,就是指断开一种TCP连接时,需要客户端和服务端总共发送4个包以确认连接时断开。在sOcket编程中,这一过程由客户端或服务端任一方执行c1ose来触发,整个流程如下图所示:TCP四次挥手.png由于TCP连接时全双工时,因此,每个方向都必须要单独进行关闭,这一原则是当一方完毕数据发送任务后,发送一种FIN来终结这一方向的连接,收到一种FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然可以发送数据,直到这一方向也发送了F1N。一方面进行关闭的一方将执行积极关闭,而另一方则执行被动关闭,上图描述的即是如此。(1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

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



客服