新计算机网络技术及应用(第二版) 刘永华 电子教案 第8章 运输层.pptVIP

新计算机网络技术及应用(第二版) 刘永华 电子教案 第8章 运输层.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 运输层 8.1传输层概述 运输层是整个网络体系结构中的关键层次之一,其根本任务是为两个主机中的应用进程提供通信服务。在传输层中共有两个协议,分别是TCP协议与UDP协议,TCP协议的控制机制非常复杂,从而保证了应用进程之间的可靠数据传输。 8.1.1传输层的设计问题 传输层的最高目标是向其用户(一般是指应用层的进程,即运行着的应用程序),提供有效、可靠且价格合理的服务。为了达到这一目标,传输层利用了网络层所提供的服务。传输层完成这一工作的硬件和软件称为传输实体(transport entity)。传输实体可能在操作系统内核中,或在一个单独的用户进程内,也可能是包含在网络应用的程序库中,或是位于网络接口卡上。网络层、传输层和应用层的逻辑关系如图8-1所示。 图8-1 网络层、传输层和应用层的逻辑关系 传输层协议通常具有几种责任。 一种责任就是创建进程到进程的通信,通常使用端口号来完成这种功能。另一种责任是在传输层提供控制机制,比如差错控制、流量控制及拥塞控制等,UDP协议提供很简单的控制机制,而TCP却要复杂很多,如使用确认分组、超时和重传来完成差错控制,使用滑动窗口协议完成流量控制等。另外,传输层还应当负责为进程建立连接机制,这些进程应当能够向传输层的发送数据流。传输层在发送站的责任应当是和接收站建立连接,把数据流分割成可传输的单元,把它们编号,然后逐个发送他们。传输层在接收端的责任应当是等待属于同一个进程的所有不同单元的到达,检查并传递那些没有差错的单元,并把它们作为一个流,交付给接收进程。当整个流发送完毕后,传输层应当关闭这个连接。 运输层的任务是为两个主机中的应用进程提供通信服务。这与网络层中的IP协议有什么区别呢?IP协议是负责计算机级的通信,换句话说,是提供主机到主机的通信服务。作为网络层协议,IP协议只能将报文交付给目的计算机。但是,这是一种不完整的交付。这个报文还必须送交到正确的进程。这正是传输层协议所要做的事。 图8-2给出了IP协议与运输层协议作用范围的区别。 另外,除了在作用范围上有所区别,传输层还比网络层提供更可靠的传输服务。分组丢失、数据残缺均会被传输层检测到并采取相应的补救措施。 8.1.2 端口 现在的操作系统都支持多用户、多任务的运行环境。一个计算机在同一时间可运行多个进程。在网络上,主机是用IP地址来定义的。要定义主机上的某一个进程,便需要第二个标识符,叫做端口号。 端口是个非常重要的概念,因为应用层的各种进程是通过相应的端口与运输实体进行交互的。因此在运输协议数据单元的首部中都要写入源端口号和目的端口号。当运输层收到IP层交上来的数据,就要根据其目的端口号来决定应当通过哪一个端口上交给目的应用进程。 在TCP/IP协议族中,端口号由16位二进制数表示,换算为十进制,则是0-65536之间的整数。端口号只有本地意义,即端口号只是为标志本计算机应用层中的各进程,不同计算机的相同端口号是没有联系的。 端口号分为两类。一类是由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口(well-known port),其数据一般为0-1023,表8-1中便列出了部分常见的熟知端口。“熟知”就表示这些端口号是TCP/IP体系确定并公布的,因而是所有用户进程都知道的。当一种新的应用程序出现时,必须为它指派一个熟知端口,否则其他的应用进程都无法和它进行交互。在应用层中的各种不同的服务器进程不断地检测分配给它们的熟知端口,以便发现是否有某个客户进程要和它通信。另一类是一般端口,用来随时分配给请求通信的客户进程,一般来说,客户进程所使用的端口号都是临时产生的,通信完成后便释放,所以又称短暂端口号。 表8-1 常见的熟知端口 为了在通信时能确定唯一主机的唯一进程,就必须把端口号和主机的IP地址结合起来一起使用,称为套接字地址(socket address),或直接称为SOCKET。在实际通信过程中,我们需要一对套接字地址:客户套接字地址和服务器套接字地址,客户套接字地址惟一定义了客户进程,而服务器套接字唯一地定义了服务器进程。这四种信息分别是IP首部与运输协议数据单元首部中的一部分。 8.3用户数据报协议UDP 8.3.1 UDP概述 用户数据报协议UDP是传输层协议之一,其实现功能较为简单,但由于其灵活、开销小等特点,使得它更适合某些应用。 UDP提供无连接的服务。这表示UDP发送出的每一个用户数据报都是独立的数据报。用户数据报并不进行编号,也没有建立连接和释放连接的过程,每一个用户数据报可以走不同的路径。 UDP是一个不可靠的传输层协议。它没有流量控制,因而当到来的报文太多时,接收端可能溢出。除检验和外,UDP也没有差错控制机制。这表示发送端并不知道报文是丢失了还是重复地

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档