第十讲 TCP相关基础_第1页
第十讲 TCP相关基础_第2页
第十讲 TCP相关基础_第3页
第十讲 TCP相关基础_第4页
第十讲 TCP相关基础_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、第十讲第十讲 TCPTCP相关基础相关基础本讲学习目标本讲学习目标u掌握掌握TCP相关基本概念,了解相关基本概念,了解TCP提供的服提供的服务,了解务,了解TCP段格式段格式u掌握掌握TCP可靠传输与流量控制可靠传输与流量控制u了解了解TCP端口概念及熟知端口号码端口概念及熟知端口号码本讲学习重点和难点本讲学习重点和难点uTCP段格式段格式uTCP可靠传输与流量控制可靠传输与流量控制传输层协议综述传输层协议综述以京城九门为例以京城九门为例u一般情况下,是要认真检查城内与城外的人一般情况下,是要认真检查城内与城外的人员流动情况,是为保护京城内部资源负责任的;员流动情况,是为保护京城内部资源负责任

2、的;有些情况,如三百里加急,是不需要认真检查有些情况,如三百里加急,是不需要认真检查的;的;以传输层为例以传输层为例uTCP是保质量,负责任,面向连接的;是保质量,负责任,面向连接的;uUDP是保速度,不负责任,面向无连接的;是保速度,不负责任,面向无连接的;TCPTCP协议综述协议综述uTCP( Transmission Control Protocol,传输控制协,传输控制协议议) ,是专门设计用于在不可靠的,是专门设计用于在不可靠的 Internet 上提供可靠上提供可靠的、的、端到端端到端(发送端与接收端)的字节流通信的协议;(发送端与接收端)的字节流通信的协议;u TCP协议是传输层

3、协议是传输层一种面向连接一种面向连接的通信协议,的通信协议,为应为应用层用层提供逻辑连接,即事先通知接收方的传输层做好数提供逻辑连接,即事先通知接收方的传输层做好数据接收准备;据接收准备; u将应用层做好的数据,按照本层要求,将应用层做好的数据,按照本层要求,进行分段进行分段;u将网络层传送来的数据,按照本层要求,进行重组。将网络层传送来的数据,按照本层要求,进行重组。TCPTCP协议综述协议综述关键词分析关键词分析u端到端端到端(发送端到接收端),如何使接收方能够来得(发送端到接收端),如何使接收方能够来得及接收发送方发送的数据,及及接收发送方发送的数据,及流量控制流量控制,如何做到发送,如

4、何做到发送数据的同时,可以接收数据;数据的同时,可以接收数据;u面向连接面向连接:如何在发送和接收方建立:如何在发送和接收方建立可靠可靠的连接,传的连接,传输中如何体现可靠性;输中如何体现可靠性;u为应用层为应用层提供服务:如何提供服务:如何识别识别众多的应用进程,如何众多的应用进程,如何为进程提供服务;为进程提供服务;u分段分段:提供面向:提供面向字节流字节流的数据传送的数据传送 。TCPTCP协议协议数据报格式分析数据报格式分析uTCP 报文分为两部分,前面是报头,后面是数据。报文分为两部分,前面是报头,后面是数据。报头的前报头的前 20 个字节格式是固定的,后面是可能的选个字节格式是固定

5、的,后面是可能的选项项 ;16位源端口号位源端口号16位目的端口号位目的端口号32位序列号位序列号32位确认号位确认号4位首部长度位首部长度保留保留(6位)位)控制标志控制标志(6位)位)16位窗口大小位窗口大小16位校验和位校验和16位紧急指针位紧急指针选项(若有,选项(若有,0或或32)数据(可变)数据(可变)TCPTCP协议协议数据报格式分析数据报格式分析u源端口号和目的端口号:源端口号和目的端口号:分别表示发送方和接收方的分别表示发送方和接收方的端口号。每个端口号。每个TCP段都包含源端和目的端的端口号,用段都包含源端和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上于寻找发端

6、和收端应用进程。这两个值加上IP首部中的首部中的源端源端IP地址和目的端地址和目的端IP地址唯一确定一个地址唯一确定一个TCP连接;连接;u序列号:序列号: TCP段中的序列编号是用户数据中第一个字段中的序列编号是用户数据中第一个字节的编号,编号是以数据字节为单位的。节的编号,编号是以数据字节为单位的。假如分段假如分段1的序的序列编号为列编号为12266,并且分段,并且分段1包含包含1500个字节数据,那么个字节数据,那么下一个分段的序列编号就是下一个分段的序列编号就是12266+1500=13766。 TCPTCP协议协议数据报格式分析数据报格式分析u确认号:确认号:对顺序号之前的数据已可靠

7、收到的确认,即对顺序号之前的数据已可靠收到的确认,即下一个期望接收的字节的顺序号。只有下一个期望接收的字节的顺序号。只有ACK标志为标志为1时时确认序号字段才有效。确认序号字段才有效。例如,如果主机接收的序列编号例如,如果主机接收的序列编号为为101,数据长度为,数据长度为100,它将回送一个确认编号为,它将回送一个确认编号为201的段,表示希望接着接收序列编号为的段,表示希望接着接收序列编号为201的段的段。u报头(首部)长度:报头(首部)长度: 也即也即TCP头部长度,以头部长度,以32比特比特为单位。为单位。u保留:保留给将来使用,目前必须置为保留:保留给将来使用,目前必须置为 0 。u

8、控制标志:在控制标志:在TCP首部中有首部中有6个标志比特。它们中的个标志比特。它们中的多个可同时被设置为多个可同时被设置为1。TCPTCP协议协议数据报格式分析数据报格式分析 URG:紧急数据标志,用户数据域中有紧急数据,位:紧急数据标志,用户数据域中有紧急数据,位置由紧急指针确定。置由紧急指针确定。 ACK:确认字段有效标志:确认字段有效标志,以确认序号有效,以确认序号有效,1有效,有效,0无效。无效。 PSH:高层应用调用:高层应用调用PUSH命令,让发送端立即发送命令,让发送端立即发送数据,无需等到缓存慢。数据,无需等到缓存慢。 RST:对:对TCP连接进行复位,重建连接。连接进行复位

9、,重建连接。 SYN:同步序号用来发起一个连接。:同步序号用来发起一个连接。 FIN:连接释放。:连接释放。TCPTCP协议协议数据报格式分析数据报格式分析u窗口大小:窗口大小:发送方告诉接收方准备接收数据量大小,发送方告诉接收方准备接收数据量大小,用于实现用于实现TCP流量控制和差错恢复。流量控制和差错恢复。u校验和:循环冗余校验(校验和:循环冗余校验(CRC),实现对),实现对TCP的校的校验,由于验,由于IP提供了不可靠的无连接服务,它检验所有的提供了不可靠的无连接服务,它检验所有的数据。数据。u紧急指针:紧急指针:URG=1时紧急指针才有效,紧急指针指时紧急指针才有效,紧急指针指示紧急

10、数据的位置(偏移量),紧急数据应尽快送高层示紧急数据的位置(偏移量),紧急数据应尽快送高层应用。应用。u选项:提供了相应的扩展机制,用于实现除选项:提供了相应的扩展机制,用于实现除TCP基本基本头部指定功能外的扩展功能。头部指定功能外的扩展功能。TCPTCP协议协议数据报格式分析数据报格式分析在上述各字段中,在上述各字段中,序列号字段序列号字段,确认号字段确认号字段,控控制标志字段制标志字段,窗口大小字段窗口大小字段,紧急指针字段紧急指针字段都体现了都体现了TCP对数据传输质量的保证。对数据传输质量的保证。TCPTCP协议协议可靠传输的实现可靠传输的实现u可靠传输:针对数据的出错,提出了补救措

11、施,即为可靠传输:针对数据的出错,提出了补救措施,即为可靠;可靠;u发送方针对发送数据出错补救措施:重传;发送方针对发送数据出错补救措施:重传;u发送方如何认为发送的数据出错:超时;发送方如何认为发送的数据出错:超时;u发送方如何认为发送的数据正确:确认序号的到来;发送方如何认为发送的数据正确:确认序号的到来;u接收方如何认为接收的数据正确或者错误:检错;接收方如何认为接收的数据正确或者错误:检错;u接收方如何对待错误的数据:不理睬;接收方如何对待错误的数据:不理睬;u接收方如何对待正确的数据:确认;接收方如何对待正确的数据:确认;TCPTCP协议协议可靠传输的实现可靠传输的实现u正常数据传输

12、分析正常数据传输分析发送端发送端接收端接收端发送第一个分组发送第一个分组收到确认收到确认1发送第二个分组发送第二个分组收到确认收到确认2收到第一个分组收到第一个分组发送确认发送确认1收到第二个分组收到第二个分组发送确认发送确认2TCPTCP协议协议可靠传输的实现可靠传输的实现u数据出错分析(信息丢失、信息破坏、信息重复)数据出错分析(信息丢失、信息破坏、信息重复)发送端发送端接收端接收端发送第一个分组发送第一个分组同时设置一个定时器同时设置一个定时器应收到确认应收到确认1但未收到但未收到等待定时器时间到后等待定时器时间到后重新发送第一个分组重新发送第一个分组启动一个新的定时器启动一个新的定时器

13、收到确认收到确认1关闭定时器关闭定时器应该收到第一个分组应该收到第一个分组应该发送确认应该发送确认1收到第一个分组收到第一个分组发送确认发送确认1TCPTCP协议协议可靠传输的实现可靠传输的实现u累计确认累计确认 TCP接收方向发送方发送了一个序列编号为接收方向发送方发送了一个序列编号为x的确认(的确认(ACK)段,)段,这表示目的主机已接收到截止这表示目的主机已接收到截止x(但不含含(但不含含x)的所有字节。)的所有字节。 例如,如果最后接收到的段其序列编号为例如,如果最后接收到的段其序列编号为13766,则接收方将回送,则接收方将回送一个序列编号为一个序列编号为13767的确认段。的确认段

14、。 这种技术的一个优点是丢失确认后数据不必重发。也就是说发送这种技术的一个优点是丢失确认后数据不必重发。也就是说发送方未收到接收方对一个段的确认,但收到了对该段后面一个段的确方未收到接收方对一个段的确认,但收到了对该段后面一个段的确认,则发送方可以认为接收方已收到了这两个段的数据。认,则发送方可以认为接收方已收到了这两个段的数据。 TCPTCP协议协议流量控制流量控制u如何使发送方一次发送批量数据,而且接收方能如何使发送方一次发送批量数据,而且接收方能够来得及接收?够来得及接收?u滑动窗口技术是简单的带重传的肯定确认机制的滑动窗口技术是简单的带重传的肯定确认机制的一个更复杂的变形,它允许发送方

15、在等待一个确认一个更复杂的变形,它允许发送方在等待一个确认信息之前可以发送多个分组。信息之前可以发送多个分组。发送方一次发送发送方一次发送8个字节数据后,个字节数据后,停止等待对方确认,如果确认停止等待对方确认,如果确认ACK=3,意味接收方已经正确,意味接收方已经正确收到收到1、2字节,那么发送方可字节,那么发送方可以再发送以再发送2个字节数据。个字节数据。在传输过程中,始终保持在传输过程中,始终保持8个字个字节的数据在传输。节的数据在传输。TCPTCP协议协议流量控制流量控制u流量控制,是发送方控制接收方的接收缓存,通流量控制,是发送方控制接收方的接收缓存,通过过TCP协议中的窗口字段,告

16、知接收方的。协议中的窗口字段,告知接收方的。TCPTCP协议协议端口号和套接字端口号和套接字 u数据的来源是应用进程,数据最终的去处也是应用数据的来源是应用进程,数据最终的去处也是应用进程;进程;u利用利用IP地址可以确定某一台主机,但是主机上的应地址可以确定某一台主机,但是主机上的应用进程是多样的,如何确定其中一个应用进程呢?用进程是多样的,如何确定其中一个应用进程呢?u将这些应用进程编号,可以区分应用进程;将这些应用进程编号,可以区分应用进程; 操作系统可以进行进程编号,但是不同的操作系统编号方式不一操作系统可以进行进程编号,但是不同的操作系统编号方式不一 样,无法适用于统一的网络中;样,

17、无法适用于统一的网络中; 传输层是为应用进程服务的,可以在传输层中定义端口号,端口号传输层是为应用进程服务的,可以在传输层中定义端口号,端口号对应应用进程,不同的应用进程使用不同的端口对应应用进程,不同的应用进程使用不同的端口TCPTCP协议协议端口号和套接字端口号和套接字 u端口号有两种基本分配方式:第一种叫全局分配,分端口号有两种基本分配方式:第一种叫全局分配,分配的端口叫公共端口或保留端口,端口号配的端口叫公共端口或保留端口,端口号1至至1023就是保就是保留的公共端口,有时也称留的公共端口,有时也称“熟知端口熟知端口”或或“知名端口知名端口”,它们与常用的应用进程对应。它们与常用的应用

18、进程对应。服务器一般都是通过知名端口号来识别的。例如服务器一般都是通过知名端口号来识别的。例如FTP服务器的服务器的TCP端口号端口号都是都是21,Telnet服务器的服务器的TCP端口号都是端口号都是23。 u端口号的另一种分配方法叫本地分配,即用户自己分端口号的另一种分配方法叫本地分配,即用户自己分配,分配的端口叫动态端口,使用配,分配的端口叫动态端口,使用1024以上的端口号。以上的端口号。本地分配方式不受网络规模的限制,但通信双方互相之本地分配方式不受网络规模的限制,但通信双方互相之间需要预先知道,如将间需要预先知道,如将HTTP的端口号分配为的端口号分配为8080。TCPTCP协议协

19、议端口号和套接字端口号和套接字 u应用层通过传输层进行数据通信时,应用层通过传输层进行数据通信时,TCP和和UDP会会遇到同时为多个应用程序进程提供并发服务的问题。遇到同时为多个应用程序进程提供并发服务的问题。多个多个TCP连接或多个应用程序进程可能需要通过同一连接或多个应用程序进程可能需要通过同一个个TCP协议端口传输数据。协议端口传输数据。u如一台服务器使用一个应用进程为多个客户机提供如一台服务器使用一个应用进程为多个客户机提供服务,或者一台客户机使用多个应用进程向服务器提服务,或者一台客户机使用多个应用进程向服务器提出请求。出请求。u为了区别不同的应用程序进程和连接,许多计算机为了区别不

20、同的应用程序进程和连接,许多计算机操作系统为应用程序与操作系统为应用程序与TCPIP协议交互提供了称为协议交互提供了称为套接字套接字(Socket)的接口。的接口。 TCPTCP协议协议端口号和套接字端口号和套接字 u套接字套接字(socket)简单的说就是包含了网络地址和端口简单的说就是包含了网络地址和端口号的网络进程的号的网络进程的ID号。号。 u例如,在例如,在Internet上的某台主机同时打开两个上的某台主机同时打开两个IE窗口窗口来浏览某一服务器上的资源,这时就同时存在两个连来浏览某一服务器上的资源,这时就同时存在两个连接。由于其中只有两台计算机,所以每个连接的接。由于其中只有两台计算机,所以每个连接的IP地地址是相同的,另

温馨提示

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

评论

0/150

提交评论