TCP传输机制.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCP传输机制

TCP传输机制简介摘 要:传输层是计算机网络中重要的一层,它负责连接下层物理结构和上层的应用程序,TCP协议是运输层的重要协议之一,本文对TCP协议做一个简单的介绍,然后为了介绍TCP传输机制,首先介绍TCP报文段的结构,而后介绍TCP协议可靠传输的实现方法以及TCP协议的流量控制和TCP协议的拥塞控制,最后介绍TCP协议整个的传输过程,从连接的建立一直到连接的释放。关键词:TCP协议 ;TCP报文段;流量控制;拥塞控制1引言运输层是整个网络体系结构中的关键层次之一,为应用进程之间提供端到端的逻辑通信。TCP(Transport Control Protocol,传输控制协议)协议是运输层两个重要的协议之一(另一个是UDP协议)。它是提供面向连接的服务,为用户提供一条可靠的通信信道,这在一些场合(比如说文件传输,电子邮件等)中是必须的。本文对TCP协议做一个简要的介绍,重点叙述TCP报文的结构以及TCP是如何实现可靠传输的,包括流量控制和拥塞控制,帮助初学者更好的了解TCP传输机制。2TCP协议概述传输控制协议TCP是运输层的重要协议之一,当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只是提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。它提供一种点对点的面向连接的服务,在传输数据之前必须先建立连接,数据传输结束后要释放连接。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多开销,如确认、流量控制、计时器以及连接管理等。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。TCP提供可靠的交互服务的含义是,通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。TCP提供全双工通信的含义是,TCP允许通信双方的应用进程在任何时候都能发送数据。TCP连接的两端都设有发送缓存和接受缓存,在发送时将数据发送到缓存中,而后TCP在合适的时候将数据发送出去;接受时将数据先存入缓存中,上层的程序在合适的时候读取缓存中的数据进行处理。TCP是点对点的通信的含义是,TCP连接有两个端点,这个端点叫做套接字(Socket)接口。根据RFC793的定义:端口号拼接到(contatenated with)IP地址即构成套接字。因此套接字的表示方法是在点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开,即:套接字Socket=(IP地址:端口号)每一条TCP连接唯一地被通信的两端的两个端点(即两个套接字)所确定。此外TCP是面向字节流的传输,即把数据块看成无结构的字节流并将字节流以报文段为单位传输。3TCP报文结构TCP虽然是面向字节流的,但是TCP传送的数据单元却是报文段。一个TCP报文段分为首部和数据两个部分,而TCP的全部功能都体现在它首部中各字段的作用。因此,只有弄清TCP首部各字段的作用才能掌握TCP的工作原理。下面就讨论TCP报文段的首部格式。TCP报文段首部的前20个字节是固定的(Figure 1),后面有4N个字节是根据需要而增加的选项(N是整数)。因此TCP首部的最小长度是20字节。首部固定部分各个字段的意义如下:源端口和目的端口:各占2个字节,分别写入源端口号和目的端口号。序号:占4字节。序号范围是[0,232-1],共232个序号。序号增加到232-1后,下一个序号又回到0。TCP是面向字节流的。在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。整个要传送的字节流的起始序号必须在连接建立时设置。首部中的序号字段则指的是本报文段所发送的数据的第一个字节的序号。这个字段的名称也叫做报文段序号。Figure 1 .TCP报文段的首部格式确认号:占4字节,是期望收到对方下一个报文段的第一个数据字节的序号。例如,B正确收到A发送过来的一个报文段,去序号字段值是501,而数据长度是200字节(序号501-700),这表明B正确收到了A发送的到序号700为止的数据。因此,B期望收到A的下一个数据序号是701,于是B在发送给A的确认报文段中把确认号置为701。总之若确认号=N,则表明:到序号N-1为止的所有数据都已正确收到。数据偏移:占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。这个字段实际上是指出TCP报文段的首部长度。但注意,“数据偏移”的单位是32位字。由于4位二进制数能够表示的最大十进制数字是15,因此数据偏移的最大值是60字节,这也是TCP首部的最大长度。保留:占6位,保留为今后使用,但目前应置为0。下面有6个控制位说明本报文段的性质,它们的意义见下面的(6)~(11)。紧急URG(URGent):当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(优先级较高),这时发送

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档