互联网的基本概念_第1页
互联网的基本概念_第2页
互联网的基本概念_第3页
互联网的基本概念_第4页
互联网的基本概念_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

第五章TCP/IP协议互联网的基本概念

—IP层在TCP/IP协议栈中的位置应用层协议传输层协议网卡驱动程序ARPIPICMPIPv4和IP数据报无连接数据报传递服务IP数据报格式IP数据报的分段和重组IP数据报的路由和转发IP数据报差错报告无连接数据报传递服务网络1R1源主机网络2R2网络3目标主机R3网络4IP数据报IP数据报帧头1IP数据报IP数据报帧头2IP数据报IP数据报帧头3IP数据报无连接数据报传递服务(续)IP只要求物理网络提供最基本的功能:传输包。IP数据报的传递是互相独立的;(OSI模型中X.25是有连接的,后来才增加无连接服务。)

收到数据报时不发确认;对IP数据报的损坏、丢失、错序、重复听之任之。确定数据报的路由。数据报的分段和重组。尽力而为(besteffort),不保证可靠。IP数据报格式版本报头长服务类型总长度标识DFMF分段位移生存时间TTL协议号报头校验和源IP地址目标IP地址可选项+填充数据01631IP数据报格式(续)绝大多数IP数据报包含20字节的报头:版本(4位):IP协议版本,当前为4。报头长(4位):本数据报头的字数,每字4字节,范围是5~15,5即20字节,15即60字节,所以选项最多占40字节服务类型(8位)(typeofservice):本数据报的服务质量参数,当前未实现,设置为0。总长度(16位):数据报最大长度为65535字节。IP数据报格式(续)标识(16位):数据报编号,当路由器将本数据报分段时,此标识拷贝到每个段的IP报头。在分段重组时它用来确定该分段属于哪个数据报。DF(Don’tFragment)(1位):DF=1禁止本报分段。MF(MoreFragment)(1位):MF=1表示后面还有本报的分段,MF=0表示是最后一个分段。分段位移:分段位移×8指出本分段在原数据报中从第几字节开始。除最后一段外,其余分段的长度是8字节的倍数。这些字段是与分段和重组有关的。IP数据报格式(续)生存时间TTL:指明数据报在互联网上逗留的最大时间。标准按秒计,实际上按跳数计。数据报每经过一个路由器,TTL减1,当TTL=0时数据报被丢弃。防止无法投递的报无限传递。协议号(8位):指明上一层协议,6表示上层是TCP,17表示上层是UDP。报头校验和(16位):通过路由器时TTL减1,校验和要重新计算。IPv6无校验和,...源IP地址(32位):数据报源主机的IP地址。目标IP地址(32位):数据报目标主机的IP地址。IP数据报的分段和重组物理网络一般限制通过包的最大长度,如以太网允许最大帧长1518字节。若物理网络允许的包长小于IP数据报长,路由器的IP层要将该报分段成多个IP报转发。分段后的数据报在被发送过程中还可以再分段。由目标主机的IP层对分段报进行一次重组,IP不区分经一次或多次分段的报。IP数据报的路由和转发主机和路由器如何为IP数据报确定路径:源主机和目标主机位于同一物理网络:数据报在物理网络内传递。比如以太网,源主机将目标主机IP地址转换成物理地址,把数据报封装在以太网帧中直接发送。源主机和目标主机位于不同物理网络:数据报经路由器转发。路由器通过路由表决定数据报的下一站。源主机如何确定该发往哪个路由器? 主机也有一张路由表,并配置默认网关。IP数据报的路由和转发(续)网2:网1:网4:网3:R3R1R2IP数据报的路由和转发(续)

—路由器R3的路由表*项是默认路由项,或叫默认网关(defaultgateway)IP数据报差错报告互联网控制报文协议ICMP(InternetControlMessageProtocol)就是IP数据报差错报告机制,ICMP报文封装在IP数据报中发送。ICMP差错报文:ICMP信息报文:目标不可达•回答请求/回答响应数据报超时(ping用它测主机可达性)数据报参数问题•时间戳/时间戳响应报源减速 •地址屏蔽码请求/响应重定向路由协议路由器的核心是网络层,包括IP、ICMP、ARP,还有一个或多个路由协议。由于路由协议需要传输层协议支持,实际路由器还包括高层模块,还有网管模块。路由器功能和路由协议分类内部路由协议OSPFv2外部路由协议BGP-4无类别域间路由CIDR路由器功能互联网中路由器的传统功能:交换路由信息:与其它路由器交换网络拓扑和网段时延等信息;执行路由算法:基于路由信息计算、更新路由表,为数据报决定路由。Internet是由许多自治系统AS互联而成,所谓自治系统是由单一机构管理、操作下的路由器连接的互联网。路由协议分类Internet的路由协议分两类:内部路由协议或内部网关协议IGP—自治系统内部路由器交换路由信息的协议: RIP(RoutingInformationProtocol),DV类。

IS-IS,OSPF(OpenShortestPathFirst),LS类。外部路由协议或外部网关协议EGP—不同自治系统的路由器交换路由信息的协议:BGP(BorderGatewayProtocol)内部路由协议OSPF—原理是链路状态路由协议每个路由器都有本链路状态信息,即它直接连接的路由器和网络,及到它们的“距离”。周期地将本链路状态扩散(flooding)到所有结点。所有的链路状态合在一起就是自治系统的拓扑数据库,每个路由器维持这个拓扑数据库。每个路由器根据这个拓扑数据库构造一个以自身为根的最短路径树,从最短路径树生成它的路由表。外部路由协议BGP网络网络R2R3网络R1网络网络R5R6网络R7AS1AS2外部路由协议BGP(续)路由器R1属于自治系统AS1,路由器R5属于AS2。R1和R5都实现外部路由协议BGP交换路由表,它们也分别实现各自的自治系统内部路由协议,如OSPF。BGP基本上是距离向量路由算法,所不同的是它把到达某网络选择的整个路径告诉邻居,而不只是下一站。路径信息AS_PATH中有所穿越的自治系统网络编号,利用AS_PATH可进行环路检测,克服了“计数到无限”的问题。新一代IP—IPv6IPv4的问题:32位约43亿个地址,大大少于全球人口数(60亿),将于2008年用完;骨干网路由表信息爆炸。IPv6的主要设计特点IPv6基本头格式IPv6地址IPv6可选项全球的IPv6试验网IPv6的主要设计特点保留IPv4无连接,“尽力而为”数据报传递特征。扩展的地址空间和编址功能:IPv6支持的地址数是IPv4的40亿×40亿×40亿倍!128位地址采用层次结构,地球每平方米的地址数保守估计1564,乐观估计391×1016。精简的基本报头格式(8字段),简化了报头处理。支持服务质量控制:通信流等级(trafficclass)将IP包分为不同的服务类别。流标号(flowlabel)可为特定的IP包流申请资源和优先级。可选项支持身份认证和数据加密。IPv6的主要设计特点(续)基本头和扩展头编码方式改进了性能,增加了扩展的灵活性基本头扩展头1扩展头N传输层包40字节可选...IPv6基本头格式版本通信流等级流标号负载长度后续头部跳数限制源地址(128位)目标地址(128位)031IPv6基本头格式(续)版本(version):=6。通信流等级(trafficclass):用于服务质量控制。流标号(flowlabel):路由器对流中报同样处理。负载长度(payloadlength):除基本头外负载字节数。后续头部(nextheader):标识基本头后头部类型。跳数限制(hoplimit):数据源设定,经路由器减1。源地址(sourceaddress):数据报源地址。目标地址(destinationaddress):数据报目标地址。IPv6基本头格式-与IPv4比较IPv4报头中有报头长度,IPv6基本头定长。IPv4报头中有报头校验和,IPv6没有。Paxson经统计发现:通过链路层CRC校验的包约0.02%有校验和错误。Stone等收集了约22亿个包,其中约48万个包有IP、UDP或TCP校验和错误。1278个包IP校验和错。IPv6的路由器不对数据报分段,…IPv6的可选项在扩展报头,路由器一般不需要处理可选项。IPv6地址有三类IP地址:单播、任播、多播地址地址的冒分十六进制表示可集成的全局单播地址局部使用(localuse)的单播地址嵌入IPv4地址的IPv6地址任播地址多播地址地址的冒分十六进制表示将128位地址分成8段,每段16位用十六进制数表示,段之间用冒号“:”隔开。例2080:0000:0000:0000:0123:4567:89AB:CDEF,FF01:0000:0000:1234:89AB:0000:0000:0000一或多个连续的全0可用“::”代替,但“::”在一个地址中只能出现一次,各段数字开始的0可省略。如FF01:0:0:1234:89AB::地址前缀用“IPv6地址/前缀位数”表示,前缀位数是十进制数。例如:3FFE:3200::/24。::1是回绕地址(loopback),用于自己给自己发送。可集成的全局单播地址

(aggregatableglobalunicastaddress)格式前缀FP(FormatPrefix):为001。顶级集成标识(Top-LevelAggregationID):指定Internet顶级机构,即服务提供者网络号。下一级集成标识(Next-LevelAggregationID):由TLAID指定的服务提供者用于区分它的用户网络号FPTLAIDRESNLAIDSLAIDinterfaceID3138241664可集成的全局单播地址(续)场所级集成标识(Site-LevelAggregationID):用户用来构建用户网络的编址层次,标识用户网络内的特定子网。每个场所可有65536子网。接口标识(interfaceID):用于标识链路接口,一般是数据链路层地址,如48位以太网地址。保留(REServed):留给将来使用。对于每个Internet服务提供者的网络号TLAID,Internet的主干路由器必须有一表项与之对应。保留的8位是为TLAID和/或NLAID扩展预留。局部使用的单播地址11111110100接口标识11111110110子网标识接口标识105464(位)本链路使用(link-local-use)的单播地址格式10381664(位)本场所使用(site-local-use)的单播地址格式局部使用的单播地址(续)若源/目标地址为本链路使用的地址,则数据报只转发到该单一链路,如中继器或网桥连接的以太网链路,不转发到其它链路。若源/目标地址为本场所使用的地址,则路由器不把数据报转发到场所以外。一个场所可以是由路由器连接的多个以太网链路。局部使用的地址无需申请地址前缀,若要连到Internet,可加全局前缀自动重编址。嵌入IPv4地址的IPv6地址IPv4向IPv6的过渡:在过渡时期IPv4地址和IPv6地址必须共存。过渡期有的结点实现双IP协议栈,同时支持IPv4和IPv6,被称为IPv6/IPv4结点。采用“隧道(tunnel)技术”:在IPv4路由拓扑的基础上将IPv6数据报外加IPv4报头转发,即封装IPv4报头。隧道可以是源到目标路径的一段,开始和结束端是IPv6/IPv4结点。嵌入IPv4地址的IPv6地址(续)实施隧道技术的IPv6/IPv4结点被指定特殊的IPv6单播地址,称为“与IPv4兼容的IPv6地址(IPv4-compatibleIPv6address)”。隧道端结点的IPv4地址可从这种IPv6地址自动导出。000000……

0000IPv4地址801632位嵌入IPv4地址的IPv6地址(续)“映射IPv4的IPv6地址(IPv4-mappedIPv6address)”用来表示只实现IPv4不支持IPv6的结点。在IPv4和IPv6混合网中,上述地址可用冒分十六进制和点分十进制结合的形式表示为:

x:x:x:x:x:x:d.d.d.d,如::00000000……

FFFFIPv4地址801632(位)任播地址任播地址是从单播地址空间分配的,当一个单播地址被分配给一个以上接口时就变成任播地址。任播地址不能用作源地址;不能指定给主机,只能指定给路由器。发送到任播地址的数据报被送到“最近”的结点。任播地址可表示连到特定子网的一组路由器,或属于一个机构的一组路由器。多播地址标记(flag):T=0表示永久性的周知(well-known)多播地址;T=1表示暂时指定的多播地址。范围(scope):限制多播组的范围,1=本结点(node-local)范围;2=本链路(link-local)范围;5=本场所(site-local)范围;8=本机构范围;14=全局范围(globalscope)。例FF02::2,FF05::2。11111111标记范围组标识000T844112(位)IPv6地址前缀的初始分配IPv6可选项IPv6的可选项放在扩展头。定义了6种选项:逐跳选项(hop-by-hopoptions):给路由器信息;路由选项(routingoptions):部分/全部路由信息;分段选项(fragmentoptions):管理数据报分段;目标选项(destinationoptions):给目标的信息;身份认证(authentication):为数据报提供发送主机身份认证和数据完整性校验;载荷安全封装(encapsulatingsecuritypayload):为数据报提供加密,也包括发送主机身份认证。全球的IPv6试验网1996年创建的6bone是全球的IPv6试验网。6bone使用地址前缀3FFE::/16。它为注册者分配一个24位地址前缀,称为pTLA(pseudoTLA)。CERNET分配到3FFE:3200::/24。6bone

通过封装IPv4报头来传递IPv6数据报。IPv6的前景?!从IPv4平滑过渡到IPv6十分重要,但过渡到IPv6耗资巨大!美国拥有的IPv4地址占全世界的74%…,日、韩和欧洲较积极。Internet传输层BGPFTPHTTPSMTPTELNETSNMPOSPFIP+ICMPDNSTCPUDPInternet传输层传输控制协议TCP(TransmissionControlProtocol)是端到端、有连接、可靠数据流传输协议。多数互联网应用需要TCP的可靠传输服务。用户数据报协议UDP

(UserDatagramProtocol)是端到端、无连接、不保证可靠的数据报传输协议。它为互联网上实时视频、音频应用提供了实验环境。拥塞控制的进一步研究TCP概况TCP是由VintonCerf和RobertKahn在1973年设计,原先IP和TCP是合在一起的,后来把寻径转发和可靠传输分成两层。TCP向应用层提供可靠的进程间通信。IP地址标识主机,TCP端口号标识应用进程。集中统一分配的端口号称为周知端口(well-knownport),其余的动态分配。应用进程使用TCP通信,首先要建立连接。TCP传输的数据单元称数据片(segment)。可靠数据流传输协议TCPTCP数据可靠传输机制TCP滑动窗口流控TCP数据片格式TCP连接建立—三次握手TCP连接关闭TCP重传策略和重传超时值TCP拥塞控制TCP协议的问题和扩充TCP数据可靠传输机制TCP源进程TCP目标进程数据字节1001~2000ACK2001数据字节2001~2500丢失超时重传数据字节2001~2500ACK2501TCP数据可靠传输机制(续)TCP源进程为一个连接上传输的每个数据字节指定序号;TCP为每个数据片计算校验和;TCP目标进程要对正确收到(即校验和正确)的数据字节序号给予确认(ACKnowledgement);TCP源进程所发出的数据片在某时间间隔没有收到确认,则要(超时)重传数据片。若每发一个数据片要等待确认,性能...TCP滑动窗口流控目标进程控制源进程发送窗口的大小窗口外左边的字节已被发送,且已收到确认窗口内字节可以发送/已被发送,但未收到确认窗口外右边的字节不能发送。窗口滑动12345678910111213141516TCP滑动窗口流控(续)TCP确认字节,滑动窗口大小也以字节为单位,而不是数据片。这是有历史原因的,原来TCP和IP是一层,采用字节流为了方便TCP数据片被分段,后来分成两层,分段功能放在IP层。在传输中几个小片合成一个片会更有效,采用字节流小片合大片更方便。用数据片数目说明数据总量不及用字节数更确切,因为一个数据片可以容纳一个字节,也可以容纳1000字节。TCP数据片格式目标端口(destinationport)校验和(checksum)紧急指针(urgentpoint)序号(sequencenumber)确认号(acknowledgementnumber)选项(options)+填充(padding)数据01631位源端口(sourceport)窗口大小(windowsize)(字节数)FINSYNRSTPSHACKURG片头长度保留20字节TCP数据片格式(续)源端口:连同源IP地址标识源应用进程。目标端口:连同目标IP地址标识目标主机的一个应用进程。序号:代表本数据片第一个字节的序号。确认号:若ACK=1,确认号代表期待接收的下一数据字节序号。片头长度:片头的字数,每个字32位。指明数据从哪里开始。TCP数据片格式(续)6个控制位:

URG=1表示紧急指针有效;URG=0忽略指针。ACK=1表示确认号有效;ACK=0忽略确认号。PSH=1表示推进,让目标TCP向上递交数据片。RST=1表示清除连接,发生主机故障时清除连接,也用于拒绝非法数据片或连接请求。SYN=1表示连接请求,用于建立连接并通告初始序号,本片序号=该连接的初始序号。 FIN=1表示本方数据流终止,即关闭本方数据流。注意SYN和FIN的片即使无数据也占1个序号。TCP数据片格式(续)窗口大小:16位,源方接收窗口的字节数,即目标方发送窗口大小。校验和:16位,对片头和数据以16位字计算得到,校验和还包括源、目标IP地址等96位伪报头。注意伪报头不发送。紧急指针:当URG=1时,指针指向紧急数据后面字节的位置。选项:RFC793中定义了最大数据片长度MSS选项。...TCP数据片格式(续)—讨论校验和检查需不需要?够不够?Paxson

1997年经统计发现:通过链路层CRC校验的包约0.02%有校验和错误。Stone等在1998~1999年收集了约22亿个包,其中约46.86万个包有TCP校验和错误,包括端主机硬件错误、端主机软件bugs(UNIX、WindowsNT)以及路由器内存错误等(不要太信任硬件!!)。有一半错误无法确认原因(数据隐私)。TCP数据片格式(续)—讨论0~255后来扩展为0~1023端口号一般作为周知端口(well-knownport)由IANA管理,统一分配给系统应用进程,如HTTP用80。1024~65535端口号由用户动态使用,但此惯例不都遵循。TCP数据片最小是20字节(无数据的SYN片、ACK片),最大长度的默认值是556字节。有人用Tcpdump对网络上某条线路进行一天的监听,统计发现25%的IP包是40字节,576字节以下的IP包占75%。TCP连接建立—三次握手发送方TCP接收方TCP发SYN,序号=x发SYN,ACK,序号=y,确认号=x+1发ACK,确认号=y+1TCP连接建立—三次握手必要性发送方TCP接收方TCP发SYN,序号=200收SYN,序号=100发SYN,ACK,序号=300,确认号=101发RST,序号=101发SYN,ACK,序号=400,确认号=201发ACK,序号=201,确认号=401收SYN,序号=200TCP连接建立—三次握手必要性(续)三次握手是必要的,因为同步数据片会丢失、延迟或重传。接收方在收到一个同步数据片时,无法知道它是否是一个老、延迟的重复片,若无三次握手会造成混乱。上例<SYN,序号=100>是一个老的、重传的、延迟的同步数据片,但接收方无法知道这一点,所以进行第二次握手。发送方发现被确认的序号不对,发<RST,序号=101>拒绝此非法数据片。接下去是针对同步片<SYN,序号=200>的正常同步过程。TCP连接关闭发送方TCP接收方TCP发FIN,ACK,序号=x,确认号=y发ACK,(数据),序号=y,确认号=x+1发ACK,确认号=z+1发FIN,ACK,序号=z,确认号=x+1

...TCP重传策略和重传超时值TCP采用的是累计确认和后退N重传机制。实现简单,但浪费带宽。对高质量线路重传常常是拥塞而丢弃造成。持续拥塞的情况,重传是火上浇油,更加拥塞。设置适当的重传超时值RTO(RetransmissionTimeOut)十分重要...,RTO必须动态修正。TCP重传超时值(续)RTT(RoundTripTime)表示来回传输时间,但各次传输RTT不会一样,需要某种“平均化”的值,称为SRTT(SmoothedRTT)。设定SRTT初值,可用各次的RTT对SRTT修正:SRTT=·SRTT+(1-)RTT,其中是平滑因子,建议值0.8~0.9,典型值7/8。

令Err=RTT-SRTTTCP重传超时值(续)|Err|每次传输也都不同,考虑偏差的平滑值D。设定D的初值,以后利用各次的|Err|对D修正:

D←·D+(1-)|Err|

其中与SRTT计算式中的可以同或不同。重传超时值按下式计算:

RTO=SRTT+4DTCP重传超时值(续)对算法来说正确测量RTT是基础,但RTT很难正确测量。特别当发生数据片超时重传时,从收到的ACK无法判断这是对原数据片还是重传数据片的确认。Karn算法:对于重传的数据片不去更新RTT,每次重传时就是将前一次的RTO加倍,直至重传成功。Karn算法在大部分TCP中实现。TCP拥塞控制1986年10月开始,Internet出现了一系列的“拥塞崩溃”,例如某两地相距不到400米,经过3个网络结点,它们之间的数据吞吐量一度从平时的32kbps降到了40bps。Jacobson研究发现:这是由于在坏的网络情况(即拥塞)下TCP的累计确认、超时重传、后退

N等机制造成。Jacobson在TCP中增加了拥塞控制算法。这些算法防止了今天Internet的拥塞崩溃。TCP拥塞控制网络拥塞现象TCP拥塞控制算法的基本思想TCP拥塞控制算法:

-慢启动和拥塞避免

(slowstart,congestionavoidance)-快重传和快恢复

(fastretransmit,fastrecovery)TCP实现的版本网络拥塞现象

—网络拥塞对吞吐量的影响网络吞吐量是数据通过网络的传送速率吞吐量负载无拥塞轻微拥塞严重拥塞AB拥塞对吞吐量的影响拥塞控制基本策略—闭环控制闭环控制(closed-loopcontrol)是一种动态控制系统,它包括反馈机制和控制机制。反馈机制允许网络把拥塞情况通知数据源。路由器(或交换机)是监控拥塞程度的最好场所。显式反馈和隐式反馈...控制机制允许数据源调整给网络的负载。窗口控制和速率控制。TCP拥塞控制算法的基本思想是一种把丢失作为拥塞(隐式反馈)信号的闭环控制。丢失可能是差错丢弃或拥塞丢弃,现代通信传输的误码率很低,丢失多半是拥塞造成。为每个连接动态确定拥塞窗口cwnd

反映网络拥塞情况。TCP发送方根据cwnd

和对方的接收窗口rwnd

调整发送窗口wnd:

wnd=min(cwnd,rwnd)为每个连接设置窗口门槛值ssthresh,其初值可设置为64k字节或rwnd。TCP拥塞控制算法

—慢启动和拥塞避免(1)慢启动:开始时令cwnd=1,发送1个数据片,收到确认后cwnd

加1,即cwnd=2,发送2个数据片,收到2个确认片后cwnd

加2,即cwnd=4,发送4个数据片…。总之,当cwnd=n时,发送n个数据片,都收到确认片后cwnd

加n。这叫做慢启动。实际上,在RTT时间内cwnd

的增量△cwnd=cwnd,cwnd

是按指数增长。TCP拥塞控制算法

—慢启动和拥塞避免(续)慢启动后,会出现三种可能:cwnd

达到慢启动门槛值ssthresh(slowstartthreshold);cwnd

达到rwnd;超时无确认。(2)

拥塞避免:当cwnd

达到ssthresh,则cwnd

改为线性增长,发送cwnd

个数据片,在收到全部确认后,cwnd

加1,即在RTT时间内cwnd

的增量△cwnd=1。(3)当cwnd

达到rwnd,则发送量不再增长。TCP拥塞控制算法

—慢启动和拥塞避免(续)(4)当数据片的重传计时器超时仍未收到确认,则重传数据片,且令ssthresh=cwnd/2(即当前拥塞窗口的一半),再回到(1),重新慢启动。慢启动和拥塞避免作为组合算法在TCP中实现,根据窗口门槛值和数据丢失情况来动态调整发送窗口。TCP拥塞控制算法—快重传当TCP接收方收到一个错序(序号不连续)的数据片时,它立即发一个ACK片,这是一个重复的ACK,目的是让对方知道数据片错序。TCP发送方不等待重传计时器超时,根据重复ACK的情况立即重传,这就是快重传。假定:1、2个重复ACK只是数据片暂时错序,3个重复ACK表明数据片丢失?!TCP拥塞控制算法—快恢复在快重传后,不是进入慢启动,而是把cwnd

降一半,然后按原先方式增加,就叫快恢复。为什么采用快恢复而不是慢启动?收到重复的ACK,不只表示数据片可能丢失,还表示TCP发送方和接收方之间仍有数据流,TCP接收方只当收到后面的数据片,才可能发重复ACK,所以拥塞并不严重。TCP拥塞控制算法—快重传和快恢复:例...TCP发送方TCP接收方数据片1数据片5数据片6ACK6数据片7ACK6数据片8ACK6数据片15ACK6数据片6ACK6ACK16cwnd=5+3cwnd+1...cwnd=10TCP拥塞控制算法

—快重传和快恢复算法(1)当发送方收到第3个重复的ACK,设置ssthresh=cwnd/2,但不小于2个数据片。(2)重传丢失的片,设置cwnd=ssthresh+3。(3)再次收到重复的ACK时,cwnd←cwnd+1。(4)若新cwnd值允许,则恢复发送1个新片。(5)当非重复的ACK到达,它是对(2)重传的确认。设置cwnd=ssthresh,进入拥塞避免。TCP拥塞控制算法

—快重传和快恢复算法的讨论快重传算法选择重复ACK的门槛值为3,但即使收到3个重复的ACK,也可能只是暂时错序,如包的传递路径改变,...。所以快重传的片中也会有不必要的重传。Paxson对35个Internet站点,20000次TCP批量数据传输作了分析:必要和不必要的快重传的比例记为Rg:b。

TCP拥塞控制算法

—快重传和快恢复算法的讨论若重复ACK门槛值设为4,Rg:b

改进为原2.5倍,但减少了30%快重传的机会。若此值设为2,增加了65~70%快重传的机会,但不必要的重传增加为原来的3倍。当一个窗口中只有一个数据片丢失时,快重传和快恢复优化了性能,但是同一窗口中有多个数据片丢失时不能快恢复。TCP实现的版本1988年的BSD

温馨提示

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

评论

0/150

提交评论