计算机网络技术教学课件作者吴立勇5第五章

上传人:w****i 文档编号:102853795 上传时间:2019-10-04 格式:PPT 页数:22 大小:150.50KB
返回 下载 相关 举报
计算机网络技术教学课件作者吴立勇5第五章_第1页
第1页 / 共22页
计算机网络技术教学课件作者吴立勇5第五章_第2页
第2页 / 共22页
计算机网络技术教学课件作者吴立勇5第五章_第3页
第3页 / 共22页
计算机网络技术教学课件作者吴立勇5第五章_第4页
第4页 / 共22页
计算机网络技术教学课件作者吴立勇5第五章_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《计算机网络技术教学课件作者吴立勇5第五章》由会员分享,可在线阅读,更多相关《计算机网络技术教学课件作者吴立勇5第五章(22页珍藏版)》请在金锄头文库上搜索。

1、第5章 传输层协议,5.1 传输层的基本功能 5.2 传输层采用的两大协议TCP、UDP 5.3 传输控制协议 TCP 5.4 流量控制 5.5 拥塞控制 5.6 用户数据报协议 UDP协议 5.7 常用协议及端口,TCP协议主要为了实现在主机间实现高可靠性的包交换传输协议。TCP协议主要在网络不可靠的时候完成通信,对军方可能特别有用,但是对于政府和 商用部门也适用。TCP是面向连接的端到端的可靠协议。它支持多种网络应用程序。TCP对下层服务没有多少要求,它假定下层只能提供不可靠的数据报服务,它可以在多种硬件构成的网络上运行。TCP的下层是IP协议,TCP可以根据IP协议提供的服务传送大小不定

2、的数据,IP协议负责对数据进行分段、重组,在多种网络中传送。,5.1 传输层的基本功能,返回,TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP用户数据报表协议(也称作TCP传输控制协议,Transport Control Protocol。可靠的主机到主机层协议。这里要先强调一下,传输控制协议是OSI网络的第四层的叫法,TCP传输控制协议是TCP/IP传输的6个基本协议的一种。两个TCP意思非相同。 )。 TCP是一种可靠的面向连接的传送服务。它在传送数据时是分段进行的,主机交换数据必须建立一个会话。它用比特流通信,即数据被作为无结构的字节流。 通过每个TCP传输的字段指定顺序号

3、,以获得可靠性。是在OSI参考模型中的第四层,TCP是使用IP的网间互联功能而提供可靠的数据传输,,5.2 传输层采用的两大协议TCP、UDP,下一页,返回,IP不停的把报文放到 网络上,而TCP是负责确信报文到达。在协同IP的操作中TCP负责:握手过程、报文管理、流量控制、错误检测和处理(控制),可以根据一定的编号顺序对非正常顺序的报文给予从新排列顺序。关于TCP的RFC文档有RFC793、RFC791、RFC1700。 在TCP会话初期,有所谓的“三握手”:对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系

4、,并建立虚连接。为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。TCP总是用来发送大批量的数据。,5.2 传输层采用的两大协议TCP、UDP,下一页,返回,上一页,当应用程序在收到数据后要做出确认时也要用到TCP。由于TCP需要时刻跟踪,这需要额外开销,使得TCP的格式有些显得复杂。 A向B发送一个数据包,B收到后向A返回一个回就包,A收到并确认后就开始向B传输数据。,5.2 传输层采用的两大协议TCP、UDP,返回,上一页,5.3.1TCP的服务 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不

5、同的服务。 TCP提供一种面向连接的、可靠的字节流服务。 面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP。,5.3 传输控制协议 TCP,下一页,返回,两个应用程序通过TCP连接交换8bit字节构成的字节流。TCP不在字节流中插入记录标识符。我们将这称为字节流服务(bytestreamservice)。如果一方的应用程序先传10字节,又传20字节,再传50字节,连接的另一方将无法了解发方每次发送

6、了多少字节。收方可以分4次接收这80个字节,每次接收20字节。一端将字节流放到TCP连接上,同样的字节流将出现在TCP连接的另一端。 另外,TCP对字节流的内容不作任何解释。TCP不知道传输的数据字节流是二进制数据,还是ASCII字符、EBCDIC字符或者其他类型数据。对字节流的解释由TCP连接双方的应用层解释。,5.3 传输控制协议 TCP,下一页,返回,上一页,这种对字节流的处理方式与Unix操作系统对文件的处理方式很相似。Unix的内核对一个应用读或写的内容不作任何解释,而是交给应用程序处理。对Unix的内核来说,它无法区分一个二进制文件与一个文本文件。 5.3.2TCP握手协议 在TC

7、P/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),,5.3 传输控制协议 TCP,下一页,返回,上一页,同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服

8、务器开始传送数据, 5.3.3TCP连接的建立和拆除 tcp使用滑动窗口协议如何进行流量控制,该协议为何可以加速数据传输?谢谢! 1 比如发送端能发送5个数据,接收端也能收到5个数据,给个确认(ACK)给发送端,确认我收到5个数据。,5.3 传输控制协议 TCP,下一页,返回,上一页,如果网络通信出现繁忙或者拥塞的时候,接收端只能收3个数据,接受端给个确认我只能收3个数据,那么发送端就自动调整发送的窗口为3,当线路又恢复通畅的时候,接受端又可以受到5个数据,那它会给确认给发送端,告诉它我的窗口为5,那发送端就把窗口又调整会5,这样进行流量控制的 2 比如说发送端窗口为3,发送到接收端,接收端的

9、接收窗口为5的话,接受数据,并且会给发送端一个ACK(确认)告诉发送端我的窗口为5,发送端收到确认后会把自己的发送端窗口调整为5这样就可以加速数据传输了 发送端窗口大小取决于接收端窗口大小和网络能够传输窗口大小他们两者中的最小者,5.3 传输控制协议 TCP,返回,上一页,流量控制:可以保证数据的完整性。可以防止发送方将接受方的缓冲区溢出。当接受方在接到一个很大或速度很快的数据时,它把来不及处理的数据先放到缓冲区里,然后在处理。缓冲区只能解决少量的数据,如果数据很多,那么后来的数据将会丢失。使用流量控制,接受方不是让缓冲区溢出,而是发送一个信息给发送方“我没有准备好,停止发送”,这时,发送方就

10、会停止发送。当接受方能再接收数据时,就会再发送一个信息,“我准备好了,请继续发送”,那么发送方就会继续发送数据。,5.4 流量控制,返回,下一页,面向连接的通信会话做到以下几点: 根据所传送数据段的接受情况,对发送发做出确认 重传没有收到确认的数据段 对数据段进行排序,得到正确的数据 维持可管理的数据流量,避免拥塞、超载和数据丢失,5.4 流量控制,返回,上一页,简单描述拥塞控制与流量控制的区别 拥塞控制与流量控制有密切关系,但也有区别: 可以这样理解,拥塞控制是网络能够承受现有的网络负荷,是一个全局变量;而流量控制往往只是指点对点之间对通信量的控制。,5.5 拥塞控制,返回,UDP协议是英文

11、UserDatagramProtocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。 与我们所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。,5.6 用户数据报协议 UDP协议,返回,下一页,UDP协议的主要作用是将网络数据流量

12、压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。 UDP报头 UDP报头由4个域组成,其中每个域各占用2个字节,具体如下: 源端口号、目标端口号、数据报长度、校验值。 数据报格式如下 数据报的长度是指包括报头和数据部分在内的总的字节数。,5.6 用户数据报协议 UDP协议,返回,下一页,上一页,因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会

13、限制数据报的大小,有时会降低到8192字节。 UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。,5.6 用户数据报协议 UDP协议,返回,下一页,上一页,这与TCP协议是不同的,后者要求必须具有校验值。 UDP和TCP协议的主要区别: 是两者在如何实现信息的可靠传递方面不同。TCP协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发

14、送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。 与TCP不同,UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。因此,通常人们把UDP协议称为不可靠的传输协议。,5.6 用户数据报协议 UDP协议,返回,下一页,上一页,所以此协议常用于小信息量的通信和小文件传输,如QQ软件就是一例。 相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突法性的多个数据报。不同于TCP,UDP并不能确保数据的发送和接收顺序。例如,一个位于客户端的应用程序向服务器发出了以下4个数据报:D1、D2

15、2、D333、D4444;但是UDP有可能按照以下顺序将所接收的数据提交到服务端的应用:D333、D1、D4444、D22。事实上,UDP协议的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才有可能发生。,5.6 用户数据报协议 UDP协议,返回,下一页,上一页,UDP协议的应用 也许有的读者会问,既然UDP是一种不可靠的网络协议,那么还有什么使用价值或必要呢?其实不然,在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信

16、息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。 关于UDP协议的最早规范是RFC768,1980年发布。尽管时间已经很长,但是UDP协议仍然继续在主流应用中发挥着作用。,5.6 用户数据报协议 UDP协议,返回,下一页,上一页,包括视频电话会议系统在内的许多应用都证明了UDP协议的存在价值。因为相对于可靠性来说,这些应用更加注重实际性能,所以为了获得更好的使用效果(例如,更高的画面帧刷新速率)往往可以牺牲一定的可靠性(例如,会面质量)。这就是UDP和TCP两种协议的权衡之处。根据不同的环境和特点,两种传输协议都将在今后的网络世界中发挥更加重要的作用,5.6 用户数据报协议 UDP协议,返回,上一页,UDP和TCP协议使用端口号为不同的应用保留其各自的数据传输通道,由于使用这一机制实现了对同一时刻内多项应用同时发送和接收数据的支持。 数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号