第十二章:传输协议与应用.docVIP

  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文档。上传文档
查看更多
第十二章:传输协议与应用

传输层 传输层作用是什么?第二章学习过,传输层是实现端到端的连接,端到端是什么概念呢?比如:一个人用QQ聊天,网络层识别IP地址,能够将信息发送到正确的主机,而主机应该使用什么应用协议接收这个信息呢?这个功能就需要传输层完成。 传输层主要有TCP和UDP协议。 传输层概述 传输层的功能 1:网络层协议只提供了点到点的连接,而传输层协议提供一种端到端的服务,即应用进程之间通信。 2:网络层协议提供不可靠,无连接和尽力投递的服务,因此,如果对于可靠性要求很高的上层协议,就需要在传输层实现可靠性保障。 传输层协议主要有 TCP (Transmission Control Protocol) UDP (User Datagram protocol ) TCP即传输控制协议,是一个可靠的、面向连接的协议。它允许网络间两台主机之间无差错的信息传递,TCP协议还进行流量控制,以避免发送过快而发生拥塞。不过这一切对用户都是透明的。 UDP即用户数据报协议,它采用无连接的方式传送数据,也就是说发送端不关心发送数据是否到达目标主机,数据是否出错等,收到数据主机也不会告诉发送方是否收到了数据,它的可靠性由上层协议来保障。 这两个协议针对不同网络环境实现数据传输。各有优缺点,面向连接的TCP协议效率较低,但可靠性高,适用于网络链路好或可靠性要求高的环境,UDP面向非连接,不可靠,所以效率极高,常用语一些实时业务,也用于一些对于差错不敏感的应用。 TCP协议 它支持多种网络应用程序,TCP对下层服务没有多少要求,它假定下层只能传送不可靠的数据包服务,它可以在多种硬件构成的网络上运行。 TCP工作原理 TCP的封装格式 连接与断开 流量控制 拥塞控制 差错控制 计时器 TCP封装格式 TCP是面向连接的可靠协议,TCP协议为实现可靠传输而提供了一系列方法和手段。 TCP的数据段采取编号的方式保证数据正确顺序。 TCP数据段被封装在IP数据包中来完成传输,而IP数据包经过的路径有可能不同,那么IP数据包到达时可能会失去原有顺序,因而到达的TCP数据段也可能会失序,为了解决,TCP对数据段进行编号,对接收到的数据进行重新排序,然后正确的顺便交给应用程序。其次,由于到达的IP数据包可能发生重复,TCP接收端必须有丢弃重复数据的功能。 TCP连接的每一方都有固定大小的缓冲空间,这就要求TCP发送端只能发送接收端缓冲区能接收下的数据,这防止较快的主机导致较慢的主机缓冲区溢出。 TCP首部数据结构 0 15 16 31位 源端口号 目标端口号 32位序列号 32位确定号 4位首部长度 保留(6位) URG ACK PSH RST SYN FIN 16位窗口大小 16位校验和 16位紧急指针 可选项 数据 0-15 这16位成为源端口号;它是TCP数据段发送方进程对应的端口号,这个端口号是由发送方进程产生的随机数,它唯一地标识了发送端的一个进程。 16-31 这16位目标端口号,它对应的是接收端的进程,接收端收到数据段后,根据这个端口号来确定把数据送给那个应用程序的进程。这样才能保证数据到达正确的地方。 第2行是32位的序列号,提供0-2的32次方-1范围内的一个数字,TCP从应用程序取得数据后,会根据实际传输能力把数据划分成不同的数据段。TCP用这个数字来给数据段打上标记,当数据到达目的后,接收端会按照这个序列号把数据重新排列,保证数据正确性 3行是32位确认序列号,它提供0-2的32次方-1范围内的一个数字。被分成许多数据段的数据虽然被做了标记,但不能保证这当中的所有段都会到达目的地,然后对接收端来讲,只要有一个段没接收到,就不能保证数据的正确性,使用确认号可以更好的解决这个问题。 4行分为4个部分 1:4位首部长度,可以确定首部数据结构字节长度 2:6个保留位,作为今后扩展功能用,现在还没有使用到。 3:6个控制位,这6位有很重要的作用,TCP连接、传输和断开都是受这6个控制位的指挥。 GUR:紧急指针有效位,它和第5行的16位紧急指针配合使用,当URG=1时,TCP根据16位紧急指针确定紧急数据的最后一个字节的位置。这样接收端就可以优先准确快速地获取紧急数据,确保数据的即使到达。 ACK:只有当ACK=1时确认序列号字段才有效。当ACK=0时,确认号无效。 PSH:标志位为1时要求接收方尽快将数据段送达应用层,这个标志位是为了加快特殊数据的处理速度。 PST:值为1时通知重新建立TCP连接。 SYN:同步序列号。TCP需要建立连接时将这个位置为1. FIN:发端完成发送任务位,当TCP完成

文档评论(0)

mww666 + 关注
文档贡献者

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

1亿VIP精品文档

相关文档