是协议栈中单独的一层 概念上处于应用层和ip层的中间.ppt_第1页
是协议栈中单独的一层 概念上处于应用层和ip层的中间.ppt_第2页
是协议栈中单独的一层 概念上处于应用层和ip层的中间.ppt_第3页
是协议栈中单独的一层 概念上处于应用层和ip层的中间.ppt_第4页
是协议栈中单独的一层 概念上处于应用层和ip层的中间.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

PartXIII,网络互连Part4(传输协议,UDPandTCP,协议端口),2020/6/15,2,传输协议(TCP),是协议栈中单独的一层概念上处于应用层和IP层的中间,2020/6/15,3,术语,IP提供计算机到计算机间的通信服务源和目的地址都是计算机称为machine-to-machine的通信TransportProtocols提供应用程序到应用程序间的通信服务需要扩展寻址机制来识别应用程序称为end-to-end的通信,2020/6/15,4,传输协议的功能,识别发送和接收应用程序可选的提供如下服务可靠性流控制阻塞控制注意:不是所有的传输协议都能提供以上的功能“可靠”的语义:数据在传输时不丢失、不乱序、不被复制。不同于“安全”。,2020/6/15,5,两种主要的传输协议,传输控制协议(TCP)用户数据报协议(UDP)主要不同处应用程序接口不同功能不同,2020/6/15,6,用户数据报协议(UserDatagramProtocol,UDP),提供不可靠(unreliable)传输服务不可靠:意味服务时可能会有丢包、坏包等情况发生,UDP不对此负责。只需最少的额外负荷计算量通讯量适用于:局域网应用程序,2020/6/15,7,UDPdetails,采用无连接服务模式面向消息的服务接口每条消息被封装到IP数据包中UDP报头中标记了发送程序接收程序,2020/6/15,8,标示应用程序,不能扩展IP地址已经没有不用的位不能使用依赖于操作系统的东西ProcessIDTasknumberJobname必须适用于所有的计算机系统,2020/6/15,9,标示应用程序(续),创造新的抽象只用于TCP/IP协议栈明确区分和标示发送者和接收者方法:为每一个应用程序分配唯一的整数标识称为protocolportnumber,2020/6/15,10,协议端口,服务器按标准使用端口总是使用相同的端口号使用低端口号客户端从协议软件得到不用的端口使用高端口号,如何查看服务器上有哪些端口可供使用?,2020/6/15,11,协议端口范例,53号端口被指派用来服务于域名服务程序DNS使用DNS的应用程序得到端口28900UDP数据包从应用程序发送到DNS服务器有源端口28900目的端口53当DNS服务器做出应答,数据处理后数据包有源端口53目的端口28900,2020/6/15,12,传输控制协议(TCP),英特网使用的主要传输协议广泛地使用提供完全可靠的传输服务应用程序不必担心IP包的复制、丢失等问题,2020/6/15,13,TCP特点,面向连接的服务点对点全双工通信流接口:应用程序通过它发送持续的字节序列。流分解成segments每个segment被封装在IP数据包中传输使用协议端口来识别应用程序,2020/6/15,14,TCP特点总结,TCPprovidesacompletelyreliable(nodataduplicationorloss),connection-oriented,full-duplexstreamtransportservicethatallowstwoapplicationprogramstoformaconnection,senddataineitherdirection,andthenterminatetheconnectionTCP提供完全可靠的(无数据被复制或丢失),面向连接的,全双工流式传输服务,允许两个应用程序建立一个连接,双向传输数据,然后结束这一连接。每一个TCP连接均可可靠的开始、优雅地结束,所以数据在连接关闭前均可被可靠的传输。,2020/6/15,15,TCP和其他协议之间的关联,一台计算机上的TCP实体使用IP和另外一台计算机上的TCP实体进行通讯.,2020/6/15,16,明显的矛盾,IP提供不可靠的尽力传输服务TCP使用IP而TCP提供完全可靠的传输这怎么可能?系统重启后,如何区分上一个连接的数据包?,2020/6/15,17,达成可靠性,可靠的连接启动可靠的数据传输完美的连接关闭,2020/6/15,18,可靠数据传输,确认当数据到达时候,接收者返回短消息称为acknowledgment重发消息一发送,发送者起动计时器如果在确认消息到达前计时器终止,发送者将重发消息,2020/6/15,19,重传图解,2020/6/15,20,在重传前TCP会等多久?,确认信息到达的时间依赖于与目的地的距离LAN:几毫秒卫星?当前的流量条件可能同时打开多个连接流量条件可能迅速改变,2020/6/15,21,要点,数据到达目的地以及返回确认所需要的延迟依赖于网络上流量和离目的地的距离.因为TCP允许多应用程序和多个目的地进行并发通讯,导致流量状况的不断变化,因此TCP必须处理迅速变化的多种不同延迟.,2020/6/15,22,解决重传问题,TCP发明以前,重传延迟使用固定值往往较大。显然不好最好能根据不断变化的条件而改变检测并估计每个连接的往返时间使用当前的估计来设置重发计时器称为;自适应重传TCP成功的关键,2020/6/15,23,自适应重传的图解,延时(空闲时间)依赖于对当前回路的估计,2020/6/15,24,TCP流控制,接收者宣告可用的缓冲区大小称为window发送者在确认信息到达前可以发出整个窗口大小的内容,2020/6/15,25,窗口宣告,每个确认信息都包含了新窗口信息称为windowadvertisement可以为0(称为closedwindow)解释:我已经收到x了,你还可以发y字节的数据.,2020/6/15,26,IllustrationofWindowAdvertisement,2020/6/15,27,连接启动和关闭,连接启动必须为可靠的连接关闭必须为完美的难,2020/6/15,28,为什么启动和关闭连接困难,分段可能被丢失复制延迟无顺序的递送任一方程序可以崩溃任一方程序可以被重新启动需要避免重复的“shutdown”消息影响后面的连接,2020/6/15,29,TCP启动/关闭连接问题的解决,使用三次消息交换称为3次握手协议是明确、可靠的启动和明确、完美的关闭连接的必要和充分条件采用两个特殊的分段SYN用于启动连接FIN用于关闭每次新连接,均采用一个新的32位随机数保证每一旧数据包干扰新连接。,2020/6/15,30,用于关闭连接的3次握手,在每个方向上发送的确认用于保证所有的数据在连接关闭前均已到达,2020/6/15,31,TCP数据段格式,所有的TCP有相同的格式数据确认信息SYN(启动)FIN(关闭)数据段分为两部分报头有效负载(0或多于0字节的数据),2020/6/15,32,TCP数据段格式(续),报头包含协议端口号,用来识别发送端应用接收端应用指明消息类型的位标记,比如SYNFINACK用于窗口宣告,确认信息等的域.,2020/6/15,33,TCP数据段,序列号SEQUENCENUMBER用于指明数据在在流中什么位置很少数据段包含OPTIONS,2020/6/15,34,SUMMARY,传输协议处于应用层协议和网际协议之间TCP/IP包含两种传输协

温馨提示

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

评论

0/150

提交评论