传输控制协议TCP(课堂PPT)_第1页
传输控制协议TCP(课堂PPT)_第2页
传输控制协议TCP(课堂PPT)_第3页
传输控制协议TCP(课堂PPT)_第4页
传输控制协议TCP(课堂PPT)_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章传输控制协议TCP,要求:1.掌握TCP的可靠性机制:确认、重传、序号;2.掌握TCP的流控和提高传输效率策略:滑动窗口机制;3.掌握TCP连接的建立与关闭协议:三次握手;4.掌握TCP的报文段格式;5.掌握TCP的拥塞控制技术;6.掌握TCP避免糊涂窗口综合症的技术;7.了解紧急数据发送和强迫数据发送。,1,问题?,IP协议的特点是什么?无连接不保证可靠性尽最大努力传输应用程序如果要得到高可靠性服务,有哪些途径?在IP层上增加一层功能模块由应用程序自身完成可靠性功能UDP能否满足应用程序的需求?,2,7.1概述,1.可靠性:防丢失:确认与重传;防重复:报文段序号;2.传输效率、流量控制:滑动窗口机制;3.拥塞控制:加速递减与慢启动技术;4.建立连接:三次握手协议;5.关闭连接:改进的三次握手协议。,要实现可靠的数据流传输服务,必须解决哪几个问题?,3,面向数据流;虚电路连接;有缓冲的传输;无结构的数据流;全双工连接。,可靠传输服务有哪些特点?,7.2TCP的特点,4,7.3TCP连接1.建立连接:三次握手,功能:1.同意连接协商,做好传输数据的准备;2.协商各自报文段ISN(初始序列号,不能为1);3.协商MSS(只有SYN报文段能协商MSS)。说明:SYN报文段占用初始序号,发送数据的第一字节序号为ISN+1。,接收ACK,5,关于ISN和MSS,ISN不能取1,为什么?ISN的设置方法是有一定规律的。MSS为什么要选择MSS?如果连接的两端在同一个物理网络中,TCP协议软件能计算出合适的MSS;如果连接的两端不在同一个物理网络中,则把路径上最小的MTU除去首部后的数据大小作为MSS.选择合适的MSS非常困难:太小,网络利用率低;太大,会降低网络性能。,6,2.关闭连接:改进的三次握手,说明:FIN报文段占用一个序号;单纯的ACK报文段不占用序号。TCP提供了半关闭能力:连接的一端在结束它的发送后还能接收来自另一端数据。有些编程接口提供close来关闭TCP连接,提供shutdown加特殊参数来实现半关闭。,接收ACK,接收ACK,7,3.TCP连接异常关闭异常关闭:出现异常情况使得应用程序或网络软件中断连接。连接复位RST:发起端发RST报文段,双方立即停止传输,并退出连接。,8,4.端口、端点和连接(1)端口(21、23、25、53、79、80、88、139、161)(2)端点一对整数:(hostIP,port)标识通信一方的一个应用程序。(3)连接一对端点:表示通信双方应用程序间的一条虚电路。主动打开去请求被动打开等待来(4)说明一台机器上的一个TCP端口可被多个连接共享;TCP、UDP可用相同的端口号,但不会冲突。,9,一个DOS命令:NetstatActiveConnectionsProtoLocalAddressForeignAddressStateTCPkoukou:105640:httpsESTABLISHEDNetstato:列出与每个端口相关的进程Netstatr:显示路由表,10,7.4提供可靠性1.防丢失带重传的肯定确认技术,接收方收到数据后向源站发确认(ACK);设置定时器,源站在限定时间内未收到ACK,则重发。,接收确认,11,两个问题,如何识别和处理重复的数据?序号抛弃定时器时限设置多长?,12,2.防重复和乱序,报文段重复产生的原因?“假“丢失:确认丢失或确认延迟(超时)到达,致使发送方重传造成的。解决方法:为每一分组赋予一个序号,用以检测重复。序号同时保证了分组间的正确顺序。确认时通过确认号指明哪些分组已经收到。(累计确认),13,序号与确认号,序号(seq)seq1=ISNseqn+1=seqn+第n个报文段的长度(以字节计)确认号(ACK)确认号=期望接收的下一个报文段的序号,14,可提高效率的捎带累计确认技术,什么是累计确认?只确认前面连续收到的报文什么是捎带确认?把对上一个报文的确认信息放到发给发送方的数据报文中捎带回去。,15,3.RTT与重传定时器,对于超时重传的情况,如何设置重传定时器的时限?时限设置的过大过小会出现什么问题?网络性能不断变化,定时时限应动态调整两个概念:RTT:往返时间,报文段发出到收到确认信息间的时间段。自适应重传算法:监视每个连接的性能,由此推算出合适的定时时限。当连接的性能变化时,随时修改定时时限。,16,重传定时时限的计算方法,重传定时时限的计算方法:早期的方法改进的方法Karn算法和定时器补偿,17,(1)早期的方法R:RTT的估计值(之前RTT的加权平均值)M:本次测量的RTT值RTO:定时时限修改估计值:RR+(1-)M(020494072-10252048,则处理情况如下:(1)确认号为1025,回显时间戳为11024的时戳;(2)确认号为1025,回显时间戳为11024的时戳;(3)确认号为4073,回显时间戳为10252048的时戳;,结果:造成RTT估计过高,比过低好,55,7.8紧急数据和强迫数据发送,1.紧急数据发送和带外数据带外数据:源站不能按字节流的顺序而需要立即发给接收方并及时处理的数据(普通数据流中的紧急数据)。,接收方收到URG报文段,立即把紧急数据交应用程序处理,然后再处理普通数据流。通常,紧急数据从数据区最前端开始。但有些系统只传送1字节紧急数据,可位于数据区任意地方。,56,2.强迫数据发送应用背景:通常,TCP为提高网络利用率,在缓冲区中积累够一个最大报文段容量的数据后才发送。在交互环境或实时性要求高的场合,每条命令(甚至每个字符)希望及时传送。TCP提供推(PUSH)操作,以强迫发送当前数据流中的数据而不必等待缓冲区满。应用方式:发送方将PSH置“1”,以通知接收方尽快把该报文段数据交应用程序。,57,1.重传定时器:设定丢失重传的时间间隔。2.坚持定时器在接收方发出0窗口通告后,发送方为了防止死锁发生,用一个坚持定时器周期性地向接收方发送窗口探察报文,防止“0”窗口通告后窗口恢复通告丢失后造成死锁。3.保活定时器(间隔:2小时)在服务器端检测半开放的连接。如果一个给定的连接在两个小时内没有任何动作,则服务器会向客户端发送一个探察报文段,根据响应情况进行处理。,7.9TCP的定时器,58,客户机可能的四种状态:客户机正常工作,并从服务器可达:2小时后保活定时器复位;若期间有通信,通信后2小时再复位;客户机崩溃:服务器连续发10个探察报文,回应超时时间间隔设置为75秒,若始终没有回应,则终止连接;客户机崩溃后重新启动:服务器收到RST回应报文,终止连接;客户机正常工作,但从服务器不可达:同状态2。,59,1.IP欺骗:核心:ISN估计,7.11TCP攻击实例,H冒充B攻击AH冒充B向A发送SYN报文A向B回应SYN+ACK报文B发现错误,向A发RSTA发现错误,假设A死,攻击步骤:(1)H冒充B向A发送SYN报文,ISNh(2)A向B回应SYN+ACK(ACKISNh+1,SYNISNA),白发(3)H假冒B回应ACK到A(ACKISNa+1)问题:ISNa=?(难点)解决:掌握ISN增长的规律,60,RFC793:ISN是32比特的计数器,每4ms+1ISN:系统初始化时不能设置为14.4BSD和多数Berkeley实现版中ISN初始化为1每0.5秒增加64000,每隔9.5小时归0(对应每8ms+1)每建立一个连接增加64000问题:Windows如何实现?,61,2.TCP端口扫描TCP实现的基本规则:若SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。全连接扫描扫描主机用三次握手与目的机指定端口建立正规连接。实现方式:connect()函数调用,若端口打开则连接成功,否则失败。优点:实现简单缺点:很容易被发现,目前通常被禁止半开扫描(SYN扫描)(1)发SYN报文到目的主机的目标端口(2)若目标返回SYN+ACK,则端口开放,否则回RST(3)若端口开放,则发送RST给目标,从而终止连接半开的含义:全连接尚未建立缺点:不能用socket编程实现,优点:不容易被发现,62,Fin扫描(1)发送FIN报文到目标主机的目标端口(2)若返回RST,则端口关闭,否则端口打开缺点:不能用socket编程实现,优点:不容易被发现,63,(1)TCP服务器的设计并发特性:可处理多个呼入连接请求!每到达一个请求,调用一个进程处理。Berkeley的服务器TCP实现规则:设置长度固定的连接队列,其中的连接已被TCP接受,但没有被应用接受;TCP接受连接是将其写入该队列,应用层接受

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论