下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、tcp协议详解合 同 模 版注意事项为了维护您的合法权益,确保交易的安全,请在使用本合同范本前仔细阅读下列注意事项:1、本合同为根据相关法律规定制定的通用性示范文本;2、如有必要,请根据具体的交易背景、交易目的等适当修改、调整本合同范本的相关条款;tp协议详解为什么会有cp/ip协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连
2、接到了一起。但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息。因而他们需要定义一些共通的东西来进行交流,tcp/p就是为此而生。tcp/ip不是一个协议,而是一个协议族的统称。里面包括了p协议,imcp协议,cp协议,以及我们更加熟悉的http、tp、po3协议等等。电脑有了这些,就好像学会了外语一样,就可以和其他的计算机终端做自由的交流了。cp/i协议分层!cp分层2.jg(http:/load-mages.jansh.iouplad_igs/296446-94d744200d15j?mgemog2/aut-orienttrip%cmagew2/w/124)
3、tcip协议族按照层次由上到下,层层包装。应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录tlnet使用tnet协议提供在网络其它主机上注册的接口。enet会话提供了基于字符的虚拟终端。文件传输访问tp使用fp协议来提供网络内机器间的文件拷贝功能。传输层:提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。网络层:负责相邻计算机之间的通信。其功能包括三方面。一、处理来自传输层的分组发送请求,收到请求后,将分组装入ip数据报,填充报头,选择去往信宿机的路径,然后将
4、数据报发往适当的网络接口。二、处理输入数据报:首先检查其合法性,然后进行寻径-假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。三、处理路径、流控、拥塞等问题。网络接口层:这是tc/ip软件的最低层,负责接收数据报并通过网络发送之,或者从网络上接收物理帧,抽出i数据报,交给ip层。ip 是无连接的i用于计算机之间的通信。ip是无连接的通信协议。它不会占用两个正在通信的计算机之间的通信线路。这样,ip 就降低了对网络线路的需求。每条线可以同时满足许多不同的计算机之间的通信需要。通过 p,消息(或者其他数据)被分割为小的独立的包,并通过因
5、特网在计算机之间传送。i负责将每个包路由至它的目的地。p地址每个计算机必须有一个ip 地址才能够连入因特网。每个 ip 包必须有一个地址才能够发送到另一台计算机。网络上每一个节点都必须有一个独立的ernet地址(也叫做ip地址)。现在,通常使用的i地址是一个3bit的数字,也就是我们常说的pv4标准,这2bi的数字分成四组,也就是常见的5的样式。ipv4标准上,地址被分为五类,我们常用的是类地址。具体的分类请参考其他文档。需要注意的是i地址是网络号+主机号的组合,这非常重要。cp/ip使用 3 个比特来编址。一个计算机字节是 比特。所以c/ 使用了 4 个字节。一个计算
6、机字节可以包含 256 个不同的值:00000、0000001、00010、00000011、0000100、00101、0000110、0011、000100 . 直到111111。现在,你知道了为什么 tpp 地址是介于 0 到 25 之间的 4 个数字。tcp使用固定的连接tcp 用于应用程序之间的通信。当应用程序希望通过 tcp与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方“握手”之后,cp 将在两个应用程序之间建立一个全双工 (full-x)的通信。这个全双工的通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止。up 和 cp很相似
7、,但是更简单,同时可靠性低于 tcp。 路由器当一个ip 包从一台计算机被发送,它会到达一个 i 路由器。i路由器负责将这个包路由至它的目的地,直接地或者通过其他的路由器。在一个相同的通信中,一个包所经由的路径可能会和其他的包不同。而路由器负责根据通信量、网络中的错误或者其他参数来进行正确地寻址。域名12 个阿拉伯数字很难记忆。使用一个名称更容易。用于 t/p 地址的名字被称为域名。 就是一个域名。当你键入一个像http:/ol.om.n这样的域名,域名会被一种s 程序翻译为数字。在全世界,数量庞大的dns 服务器被连入因特网。ds 服务器负责将域名翻译为tcp/ip 地
8、址,同时负责使用新的域名信息更新彼此的系统。当一个新的域名连同其 tcpip地址一同注册后,全世界的 dn 服务器都会对此信息进行更新。tc/itcp/ip 意味着p 和 ip 在一起协同工作。tp 负责应用软件(比如你的浏览器)和网络软件之间的通信。ip 负责计算机之间的通信。cp负责将数据分割并装入 ip 包,然后在它们到达的时候重新组合它们。ip 负责将包发送至接受者。t报文格式tc报文格式1.jg16位源端口号:16位的源端口中包含初始化通信的端口。源端口和源ip地址的作用是标识报文的返回地址。16位目的端口号:16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地
9、址接口。32位序号:32位的序列号由接收端计算机使用,重新分段的报文成最初形式。当sy出现,序列码实际上是初始序列码(initia sqence nuer,is),而第一个数据字节是in+1。这个序列号(序列码)可用来补偿传输中的不一致。32位确认序号:3位的序列号由接收端计算机使用,重组分段的报文成最初形式。如果设置了ck控制位,这个值表示一个准备接收的包的序列码。位首部长度:4位包括tc头大小,指示何处数据开始。保留(6位):6位值域,这些位必须是0。为了将来定义新的用途而保留。标志:位标志域。表示为:紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。按照顺序
10、排列是:ur、ac、psh、rst、y、fin。16位窗口大小:用来表示想收到的每个tp数据段的大小。cp的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个1字节字段,因而窗口大小最大为5535字节。1位校验和:16位p头。源机器基于数据内容计算一个数值,收信息机要与源机器数值 结果完全一样,从而证明数据的有效性。检验和覆盖了整个的c报文段:这是一个强制性的字段,一定是由发送端计算和存储,并由接收端进行验证的。16位紧急指针:指向后面是优先数据的字节,在rg标志设置了时才有效。如果urg标志没有被设置,
11、紧急域作为填充。加快处理标示为紧急的数据段。选项:长度不定,但长度必须为个字节。如果没有选项就表示这个1字节的域等于0。数据:该cp协议包负载的数据。在上述字段中,6位标志域的各个选项功能如下。u:紧急标志。紧急标志为表明该位有效。ak:确认标志。表明确认编号栏有效。大多数情况下该标志位是置位的。t报头内的确认编号栏内包含的确认编号(w+1)为下一个预期的序列编号,同时提示远端系统已经成功接收所有数据。h:推标志。该标志置位时,接收端不将该数据进行队列处理,而是尽可能快地将数据转由应用处理。在处理telnet或rogi等交互模式的连接时,该标志总是置位的。rt:复位标志。用于复位相应的t连接。
12、sy:同步标志。表明同步序列编号栏有效。该标志仅在三次握手建立tc连接时有效。它提示tcp连接的服务端检查序列编号,该序列编号为p连接初始端(一般是客户端)的初始序列编号。在这里,可以把tc序列编号看作是一个范围从0到4,294,97,295的32位计数器。通过cp连接交换的数据中每一个字节都经过序列编号。在tp报头中的序列编号栏包括了t分段中第一个字节的序列编号。fin:结束标志。t三次握手所谓三次握手(tee-ay nshake)即建立tp连接,就是指建立一个tp连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在cket编程中,这一过程由客户端执行cnect来触发,整个流程如下图
13、所示:tc三次握手ng()第一次握手:clin将标志位yn置为1,随机产生一个值seqj,并将该数据包发送给eer,clint进入syn_sent状态,等待serve确认。(2)第二次握手:srer收到数据包后由标志位sn1知道clit请求建立连接,srv将标志位sn和k都置为,ckj+1,随机产生一个值q=k,并将该数据包发送给clie以确认连接请求,srver进入syn_rcv状态。(3)第三次握手:lien收到确认后,检查ac是否为j,ac是否为,如果正确则将标志位ac置为1,ac=k+1,并将该数据包发送给ver,rvr检查k是否为k+1,ack是否为1,如果正确则连接建立成功,clt
14、和s进入etablishd状态,完成三次握手,随后clent与eve之间可以开始传输数据了。简单来说,就是1、建立连接时,客户端发送n包(=)到服务器,并进入到syn-sd状态,等待服务器确认、服务器收到y包,必须确认客户的s(ack=i+1),同时自己也发送一个sy包(syn=k),即synak包,此时服务器进入syn-ecv状态3、客户端收到服务器的sn+a包,向服务器发送确认报ack(ak1),此包发送完毕,客户端和服务器进入stalish状态,完成三次握手,客户端与服务器开始传送数据。s攻击:在三次握手过程中,evr发送sn-ak之后,收到lien的ack之前的tc连接称为半连接(hl
15、open conec),此时srvr处于snrcd状态,当收到ak后,srer转入eblised状态。syn攻击就是client在短时间内伪造大量不存在的地址,并向serer不断地发送syn包,erver回复确认包,并等待clien的确认,由于源地址是不存在的,因此,sver需要不断重发直至超时,这些伪造的yn包将产时间占用未连接队列,导致正常的y请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。syn攻击时一种典型的do攻击,检测sy攻击的方式非常简单,即当server上有大量半连接状态且源p地址是随机的,则可以断定遭到n攻击了,使用如下命令可以让之现行:#ntsa -nap | gep
16、yn_rcvtc四次挥手所谓四次挥手(our-wy wveand)即终止tcp连接,就是指断开一个t连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在scke编程中,这一过程由客户端或服务端任一方执行close来触发,整个流程如下图所示:tcp四次挥手.png由于tcp连接时全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个fin来终止这一方向的连接,收到一个in只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个p连接上仍然能够发送数据,直到这一方向也发送了fin。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭,上图描
17、述的即是如此。(1)第一次挥手:clnt发送一个fin,用来关闭clien到server的数据传送,cet进入n_w_状态。(2)第二次挥手:srer收到in后,发送一个ak给clien,确认序号为收到序号+1(与syn相同,一个in占用一个序号),serer进入cloe_at状态。()第三次挥手:serve发送一个fin,用来关闭ever到clien的数据传送,erer进入lasack状态。(4)第四次挥手:clen收到fin后,clnt进入time_wit状态,接着发送一个ac给servr,确认序号为收到序号1,ser进入cloed状态,完成四次挥手。为什么建立连接是三次握手,而关闭连接却
18、是四次挥手呢?这是因为服务端在listen状态下,收到建立连接请求的yn报文后,把ack和syn放在一个报文里发送给客户端。而关闭连接时,当收到对方的fin报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即cle,也可以发送一些数据给对方后,再发送fin报文给对方来表示同意现在关闭连接,因此,己方k和fin一般都会分开发送。为什么imat状态需要经过2msl(最大报文段生存时间)才能返回到lose状态?原因有二:一、保证tc协议的全双工连接能够可靠关闭二、保证这次连接的重复数据段从网络中消失先说第一点,如果lint直接closed了,那么由于ip协议的不可靠性或者是其它网络原因,导致server没有收到cen最后回复的ack。那么server就会在超时之后继续发送,此时由于let已经cloed了,就找不到与重发的fin对应的连接,最后server就会收到rst而不是ack,sr就会以为是连接错误把问题报告给高层。这样的情况虽然不会造成数据丢失,但是却导致p协议不符合可靠连接的要求。所以,ient不是直接进入oed,而是要保持tiewa,当再次收到fn的时候,能够保证对方收到ack,最后正确的关闭连接。再说第二点,如果clie
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年校车安全管理条例与驾驶员要求
- 2026年儿童康复科音乐治疗年度工作安排
- 中职计算机教师教学工作计划模板6篇
- 2026年应急破拆设备操作与安全指南
- 初级电工考试试题及答案
- 车间调度员题库及答案
- 病理学期末试题及答案
- 2026益林护士考试题及答案
- 暴雨灾害中院前急救的路径受阻分析
- 智能药房的自动化与AI管理
- 课件《基础教育课程教学改革深化行动方案》全文解读实用PPT
- 拉伸钢板桩施工记录表
- 牙周炎-牙周脓肿
- GB/T 23914.2-2009道路车辆装载物固定装置安全性第2部分:合成纤维栓紧带总成
- GB/T 20485.43-2021振动与冲击传感器校准方法第43部分:基于模型参数辨识的加速度计校准
- 《普通话》教学讲义课件
- A04044《纳税人税种认定表》
- dgus内核程序迪文屏开发指南
- 仓储(仓库)危险源及风险辨识与评价表
- H点设计及人机布置指南
- Q∕SY 1592-2013 油气管道管体修复技术规范
评论
0/150
提交评论