欢迎来到天天文库
浏览记录
ID:59382436
大小:130.00 KB
页数:30页
时间:2020-09-20
《传输层协议ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章传输层协议7.1传输层基本原理7.2UDP协议7.3TCP协议7.1传输层基本原理7.1.1传输层的功能传输层的目的是在网络层或互联网层提供主机数据通信服务的基础上,在主机之间提供可靠的进程通信。在本质上,传输层的功能一方面是加强或弥补网络层或互联网层提供的服务;另一方面是提供进程通信机制。7.1.2传输层端口端口实际上是一个抽象的软件结构(包括一些数据结构和I/O缓冲区)。(1)端口号分配全局分配:本地分配或动态联编:(2)Internet端口号分配Internet将端口分为两部分,一部分是保留端口,另一部分是自由端口。TCP和UDP的保留端口如图7-1所示。图7-1
2、端口号DNS:域名服务器FTP:文件传输协议TFTP:简单文件传输协议TELNET:远程登录RPC:远程进程调用SMTP:简单邮件传送协议SNMP:简单网络管理协议HTTP:超文本传输协议7.2UDP协议传输层协议UDP称为用户数据报协议,它建立在IP协议之上。UDP协议唯一增加的能力是提供协议端口,实现进程通信。UDP的特点是简单高效,但不保证通信的可靠性。UDP协议主要面向交互型应用。7.2.1UDP报文UDP报文包括UDP报头和高层用户数据两部分,其格式如图7-2所示。图7-2UDP报文各字段含义如下:(1)源端口:标识源进程的端口号;(2)目的端口:标识目的进程的端口
3、号;(3)长度:UDP报文的长度;(4)校验和:用来防止UDP报文在传输中出错;(5)数据:高层用户数据。7.2.2UDP多路复用UDP采用了基于端口的复用和分用机制,即通过在传输的UDP报文中使用端口号来区分主机中对应不同进程的多路数据流。TCP多路复用的实现如图7-3所示。图7-3多路复用7.3TCP协议7.3.1TCP报文TCP报文包括TCP报头和高层用户数据两部分,其格式如图7-4所示。图7-4TCP报文各字段含义如下:(1)源端口:标识源进程的端口号;(2)目的端口:标识目的进程的端口号;(3)序号:发送报文包含的数据的第一个字节的序号;(4)确认号:接收方期望下一
4、次接收的报文中数据的第一个字节的序号;(5)报头长度:TCP报头的长度;(6)保留:保留为今后使用,目前置0;(7)标志:用来在TCP双方间转发控制信息,包含有URG、ACK、PSH、RST、SYN和FIN位;(8)窗口:用来控制发方发送的数据量,单位为字节;(9)校验和:TCP计算报头、报文数据和伪头部(同UDP)的校验和;(10)紧急指针:指出报文中的紧急数据的最后一个字节的序号;(11)可选项:TCP只规定了一种选项,即最大报文长度。7.3.2TCP连接端点TCP是面向连接的协议。一个TCP连接由它的两个端点来标识,而每一个端点又是由IP地址和端口号决定的。TCP连接端
5、点称为套接字(socket),定义为(host,port),其中host是主机的IP地址,而port则是该主机上的TCP端口号。若使用无连接的UDP,虽然在相互通信的两个进程之间没有一条虚连接,但发送端UDP一定有一个发送端口而在接收端UDP也一定有一个接收端口,因而也同样可使用套接字的概念。这样才能区分多个主机中同时通信的多个进程。7.3.3TCP可靠传输TCP提供面向连接的、可靠的字节流传输。TCP连接是全双工和点到点的。全双工意味着可以同时进行双向传输,点到点的意思是每个连接只有两个端点,TCP不支持组播或广播。为保证数据传输的可靠性,TCP使用三次握手的方法来建立和释
6、放传输的连接,并使用确认和重传机制来实现传输差错的控制,另外TCP采用窗口机制以实现流量控制和拥塞控制。7.3.4TCP连接的建立和释放为确保连接建立和释放的可靠性,TCP使用了三次握手的方法。图7-5三次握手在TCP协议中,连接的双方都可以发起释放连接的操作。为了保证在释放连接之前所有的数据都可靠地到达了目的地,TCP再次使用了三次握手。一方发出释放请求后并不立即释放连接,而是等待对方确认。只有收到对方的确认信息,才能释放连接。7.3.5TCP差错控制TCP建立在IP协议之上,IP协议提供不可靠的数据传输服务,因此,数据出错甚至丢失可能是经常发生的。TCP使用确认和重传机制
7、实现数据传输的差错控制。图7-7差控机制7.3.6TCP流量控制TCP使用窗口机制进行流量控制。当一个连接建立时,连接的每一端分配一块缓冲区来存储接收到的数据,并将缓冲区的大小发送给另一端。当数据到达时,接收方发送确认,其中包含了它剩余的缓冲区大小。这里将剩余缓冲区空间的数量叫做窗口,接收方在发送的每一确认中都含有一个窗口通告。如果接收方应用程序读取数据的速度与数据到达的速度一样快,接收方将在每一确认中发送一个非零的窗口通告。但是,如果发送方操作的速度快于接收方,接收到的数据最终将充满接收方的缓冲区,导
此文档下载收益归作者所有