网络技术基础chaper6_第1页
网络技术基础chaper6_第2页
网络技术基础chaper6_第3页
网络技术基础chaper6_第4页
网络技术基础chaper6_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章 传输层本章内容6.1 传输层的基本概念传输层的基本概念6.2 因特网上的用户数据报协议因特网上的用户数据报协议6.3 因特网上的传输控制协议因特网上的传输控制协议6.4 用于多媒体传输控制的实时传输用于多媒体传输控制的实时传输/传输控制传输控制 协议协议传输层传输层传输层l传输层协议的主要任务是保障端点应用程传输层协议的主要任务是保障端点应用程序序进程之间的通信进程之间的通信,因此传输层协议也被,因此传输层协议也被称为称为端到端协议端到端协议(end-to-end protocol)。l端到端的通信是指端点应用程序进程之间端到端的通信是指端点应用程序进程之间的通信。的通信。传输层为应用

2、进程之间提供逻辑传输层为应用进程之间提供逻辑通信,但网络层是为主机之间提供逻辑通通信,但网络层是为主机之间提供逻辑通信信l本章的重点本章的重点传输控制协议(传输控制协议(Transmission Control Protocol,TCP)用户数据报协议(用户数据报协议(User Datagram Protocol,UDP)l面向连接和无连接服务面向连接和无连接服务l因特网上的端到端通信因特网上的端到端通信l端口和套接字的概念端口和套接字的概念l传输层的多路复用与多路分解传输层的多路复用与多路分解l计算机网络通常提供两种类型的服务计算机网络通常提供两种类型的服务面向连接服务(面向连接服务(con

3、nection-oriented service)无连接服务(无连接服务(connectionless service)l面向连接服务是指在面向连接服务是指在进行数据传输之前数进行数据传输之前数据发送方必须要与数据接收方建立连接据发送方必须要与数据接收方建立连接,连接建立后,数据通信双方就可以进行数连接建立后,数据通信双方就可以进行数据交换。当数据传输结束后,即要终止连据交换。当数据传输结束后,即要终止连接,以释放系统资源。接,以释放系统资源。l面向连接服务包括面向连接服务包括连接建立连接建立,数据传输数据传输和和连接释放连接释放三个阶段。三个阶段。l面向连接服务中的数据按序传送,其面向连接服

4、务中的数据按序传送,其可靠可靠性高性高。l面向连接服务面向连接服务适合于在一定期间内向同一适合于在一定期间内向同一数据接收方发送大量报文数据接收方发送大量报文的情况。的情况。l传输层面向连接的协议:传输层面向连接的协议:TCP。l无连接服务是指在进行数据传输之前数据无连接服务是指在进行数据传输之前数据发送方不必与数据接收方建立连接,而可发送方不必与数据接收方建立连接,而可以直接向接收方发送数据。以直接向接收方发送数据。l无连接服务的特点:无连接服务的特点:使用方便灵活使用方便灵活开销小开销小通信迅速通信迅速可靠性低可靠性低l端到端的通信是指端到端的通信是指端点应用程序端点应用程序进程之间进程之

5、间的通信。的通信。lUDP和和TCP都使用了都使用了与应用层接口处的端与应用层接口处的端口口(port)与上层的应用进程进行通信与上层的应用进程进行通信,若没若没有端口有端口,传输层就无法知道数据应当交付传输层就无法知道数据应当交付给应用层的哪一个进程给应用层的哪一个进程。端口是用来标识。端口是用来标识应用层的进程。应用层的进程。端到端应用程序进程之间的通信传输层通过传输层通过端口号端口号区分不同的区分不同的应用程序进程应用程序进程l传输层通过传输层通过端口端口控制机制实现端点应用程序控制机制实现端点应用程序进程之间的通信。进程之间的通信。l传输层的端口并非是物理意义上的端口,而传输层的端口并

6、非是物理意义上的端口,而是是逻辑意义上的端口逻辑意义上的端口。l端口通过端口号来标记,范围为端口通过端口号来标记,范围为065535。 端口有两种:端口有两种:TCPTCP端口和端口和UDPUDP端口端口。由于。由于TCPTCP和和UDP UDP 两个协议是独立的,因此各自的端口两个协议是独立的,因此各自的端口号也相互独立,比如号也相互独立,比如TCPTCP有有235235端口,端口,UDPUDP也也可以有可以有235235端口,两者并不冲突端口,两者并不冲突l传输层的端口号分类:传输层的端口号分类: 1)熟知端口熟知端口(well known ports) 该类端口号范围为该类端口号范围为0

7、1023,它们,它们通常通常绑定于一绑定于一些众所周知的服务些众所周知的服务,这些端口由系统调用,这些端口由系统调用。使。使用他们进行通讯时用他们进行通讯时,便便明确了明确了他们他们与某种协议的与某种协议的对应关系对应关系.通常这些端口的通信明确表明了某种通常这些端口的通信明确表明了某种服务的协议,这种端口是不可再重新定义它的服务的协议,这种端口是不可再重新定义它的作用对象。例如:作用对象。例如:80端口实际上总是端口实际上总是HTTP通信通信所使用的,而所使用的,而23号端口则是号端口则是Telnet服务专用的。服务专用的。部分常用的熟知端口号端口号端口号应用协议应用协议 21/20文件传输

8、协议文件传输协议 23远程终端协议远程终端协议 25简单邮件传输协议简单邮件传输协议 53DNS 67/68动态主机配置协议动态主机配置协议 80超文本传输协议超文本传输协议 161简单网络管理协议简单网络管理协议 2)注册端口(注册端口(registered ports) 该类端口号范围为该类端口号范围为102449151。它们通常。它们通常用于众所周知服务之外的不常用的服务。用于众所周知服务之外的不常用的服务。 3)动态和)动态和/或私有端口(或私有端口(dynamic and/or private ports) 该类端口号范围为该类端口号范围为4915265535,该类端该类端口不可以被

9、正式地注册占用口不可以被正式地注册占用。l在在网络层网络层,通常通过通常通过不同的不同的IP地址来区分不同的主地址来区分不同的主机机;而而在传输层在传输层,则通过端口号来区分不同的应用则通过端口号来区分不同的应用服务服务.l一台拥有一台拥有IP地址的主机可以提供许多服务地址的主机可以提供许多服务,比如,比如Web服务、服务、FTP服务、服务、SMTP服务等,这些服务服务等,这些服务完全可以通过完全可以通过1个个IP地址来实现。那么,主机是怎地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠样区分不同的网络服务呢?显然不能只靠IP地址地址,因为,因为IP 地址与网络服务的关系是一对多

10、的关系地址与网络服务的关系是一对多的关系。实际上是通过。实际上是通过“IP地址地址+端口号端口号”来区来区 分不同分不同的服务的。的服务的。套接字(套接字(socket)l为了为了区分不同的网络应用服务区分不同的网络应用服务,就必须把,就必须把主机的主机的IP地址和端口号进行绑定后使用。地址和端口号进行绑定后使用。l主机主机IP地址和端口号的绑定组成了套接字地址和端口号的绑定组成了套接字(socket)。)。主机IP地址、端口号和套接字的对应关系l传输层在实现端点应用程序进程之间的通传输层在实现端点应用程序进程之间的通信时,会遇到同时为多个应用程序进程提信时,会遇到同时为多个应用程序进程提供并

11、发服务的问题。供并发服务的问题。端到端多应用程序进程之间的通信lUDP概述概述lUDP数据报结构数据报结构6.2.1 UDP概述lRFC 768对对UDP做出了明确定义和规范。做出了明确定义和规范。lUDP是是向上层提供数据报服务的简单的无向上层提供数据报服务的简单的无连接传输层协议连接传输层协议l它在网络层它在网络层IP的基础上,增加了端口机制的基础上,增加了端口机制和简单的校验机制。和简单的校验机制。lUDP为因特网应用提供最基本和最简便的为因特网应用提供最基本和最简便的通信服务。通信服务。采用UDP的因特网应用应用应用应用层协议应用层协议运输层协议运输层协议远程文件服务器远程文件服务器

12、NFSUDP网络管理网络管理 SNMPUDPIP电话电话专用专用UDP流式多媒体流式多媒体专用专用UDP域名服务域名服务DNSUDP6.2.1 UDPlUDP具有如下特点:具有如下特点:无连接无连接尽力而为尽力而为的传输的传输首部开销小首部开销小无拥塞控制无拥塞控制6.2.2 UDP数据报结构lUDP数据报由两部分组成:数据报由两部分组成: UDP数据报首部和数据报首部和UDP数据报数据部分。数据报数据部分。l源端口是可选字段,长度为源端口是可选字段,长度为2个字节个字节。当其。当其被使用时,它指向源应用程序进程端口;被使用时,它指向源应用程序进程端口;如果源端口不被使用,则可将该字段填充如果

13、源端口不被使用,则可将该字段填充为为0。l目的端口长度为目的端口长度为2个字节个字节,只有在拥有特定,只有在拥有特定的目的网络地址时才有意义。的目的网络地址时才有意义。l报文长度字段长度为报文长度字段长度为2个字节个字节,指的是,指的是UDP数据报首部和数据报首部和UDP数据报数据部分的总的数据报数据部分的总的字节数,其长度单位为字节。字节数,其长度单位为字节。l校验和也是可选字段,长度为校验和也是可选字段,长度为2个字节个字节。主。主要用来检测要用来检测UDP报文是否出错。当该字段报文是否出错。当该字段不被使用时,可将其值设置为不被使用时,可将其值设置为0。RUDPlUDP提供不可靠的数据报

14、服务提供不可靠的数据报服务l可以考虑通过在应用服务中自行增加报文可以考虑通过在应用服务中自行增加报文序号、报文确认、报文重传、连接控制、序号、报文确认、报文重传、连接控制、流量控制和拥塞控制等可靠性机制,实现流量控制和拥塞控制等可靠性机制,实现使用使用UDP进行可靠的端到端的通信。进行可靠的端到端的通信。l这种这种改进改进的的UDP协议通常称为可靠的协议通常称为可靠的UDP(Reliable UDP,RUDP)。)。6.3 因特网上的因特网上的传输控制协议传输控制协议lTCP概述概述lTCP报文段结构报文段结构lTCP序号与确认序号与确认lTCP重传机制重传机制lTCP连接管理连接管理lTCP

15、流量控制流量控制6.3.1 TCP概述lTCP是是面向连接面向连接、面向字节流面向字节流的的可靠可靠的传的传输层协议。输层协议。lTCP采用采用报文序号报文序号、报文确认报文确认、报文重传报文重传、连接控制连接控制、流量控制和拥塞控制流量控制和拥塞控制等一系等一系列可靠性机制,为因特网应用提供可靠的列可靠性机制,为因特网应用提供可靠的通信服务。通信服务。lIETF RFC 793、RFC 1323和和RFC 2581等等对对TCP做出了明确的定义和规范。做出了明确的定义和规范。采用采用TCP的因特网应用的因特网应用应用应用应用层协议应用层协议运输层协议运输层协议电子邮件电子邮件SMTPTCP远

16、程终端访问远程终端访问TelnetTCP万维网万维网HTTPTCP文件传输文件传输FTPTCPlTCP具有如下特点:具有如下特点:面向连接面向连接面向字节流面向字节流全双工全双工通信通信提供提供可靠的可靠的传输服务传输服务6.3.2 TCP报文段结构lTCP是面向字节流的数据通信协议,我们是面向字节流的数据通信协议,我们将源端口和目的端口之间传输的数据单元将源端口和目的端口之间传输的数据单元称为称为TCP报文段报文段。lTCP报文段的组成:报文段的组成:TCP报文段首部报文段首部TCP报文段数据部分报文段数据部分TCP报文段结构l源端口和目的端口:分别用来标识发送和源端口和目的端口:分别用来标

17、识发送和接收接收TCP报文段的应用程序进程,与报文段的应用程序进程,与IP数数据报中的源据报中的源IP地址和目的地址和目的IP地址组成插口地址组成插口,以唯一确定因特网中的,以唯一确定因特网中的TCP连接双方。连接双方。源端口和目的端口的长度都为源端口和目的端口的长度都为2个字节。个字节。l序号字段:序号字段:标识标识TCP报文段数据部分报文段数据部分第一第一个字节在源端口发送字节流中的位置个字节在源端口发送字节流中的位置,长,长度为度为4个字节。个字节。l确认号字段:标识目的端口希望接收到的确认号字段:标识目的端口希望接收到的下一个下一个TCP报文段数据部分第一个字节的报文段数据部分第一个字

18、节的序号序号,其长度为,其长度为4个字节。个字节。l首都长度字段:标识首都长度字段:标识TCP报文段首部的长报文段首部的长度,长度为度,长度为4个比特位。首都长度字段的度个比特位。首都长度字段的度量单位是量单位是4字节,字节,TCP报文段首部的最大长报文段首部的最大长度为度为60字节。字节。l保留字段:为今后应用保留,长度为保留字段:为今后应用保留,长度为6个比个比特位,通常设置为特位,通常设置为0。l标志位字段:包含有标志位字段:包含有6个标志位个标志位,从左到右,从左到右分别为分别为URG、ACK、PSH、RST、SYN和和FIN,它们用来标识不同类型的,它们用来标识不同类型的TCP报文段

19、报文段。长度为。长度为6个比特位。个比特位。标志位字段的含义及使用说明标志位字段的含义及使用说明名称名称含义含义使用说明使用说明URG设设URG=1时,表明报文段中有紧急时,表明报文段中有紧急数据,这时紧急指针字段有效。数据,这时紧急指针字段有效。紧急数据插在报文段数据的前面,紧急数据插在报文段数据的前面, 可以可以先被处理。先被处理。ACK设设ACK=1时,表明确认号字段有效时,表明确认号字段有效用于设置确认号字段用于设置确认号字段PSH设设PSH=1时,表明请求推操作有效时,表明请求推操作有效发送方设置发送方设置PSH=1, 是让目的端口尽快将是让目的端口尽快将接收到的接收到的TCP报文段

20、交付(推送)给应用报文段交付(推送)给应用层,而不必在缓冲中排队层,而不必在缓冲中排队RST设设RST=1时,表明连接复位操作有效时,表明连接复位操作有效用于设置连接复位,当用于设置连接复位,当TCP连接出现错连接出现错误时,需要断开连接,再重新建立连接误时,需要断开连接,再重新建立连接SYN设设SYN=1时,时,ACK=0时,表示请求时,表示请求建立建立TCP连接连接;当当SYN=1,ACK=1时,表示响应建时,表示响应建立立TCP连接连接当当TCP建立连接时,用于设置同步序号,建立连接时,用于设置同步序号,通常与通常与ACK标志位配合使用标志位配合使用FIN设设FIN=1时,表明源端口的字

21、节流发时,表明源端口的字节流发送完毕,并送完毕,并请求断开连接请求断开连接用于连接释放用于连接释放l窗口字段窗口字段: 2个字节,进行个字节,进行流量控制流量控制。接收。接收方通知发送方自己目前能够接收数据量(方通知发送方自己目前能够接收数据量(由缓冲空间限制),由缓冲空间限制), 发送方据此设置发送发送方据此设置发送窗口。窗口。l校验和字段:校验和字段:TCP报文段的差错检测,长报文段的差错检测,长度为度为2个字节。个字节。TCP校验和计算方法与校验和计算方法与UDP校验和计算方法相同。校验和计算方法相同。l紧急指针字段与标志位字段中的紧急指针字段与标志位字段中的URG标志标志位配合使用,长

22、度为位配合使用,长度为2个字节。个字节。l选项:为选项:为TCP提供扩展功能提供扩展功能l填充字段:当选项部分长度不是填充字段:当选项部分长度不是4个字节的个字节的整数倍时,需要进行填充。整数倍时,需要进行填充。6.3.3 TCP序号与确认lTCP协议是面向字节的协议是面向字节的。TCP将所要传送将所要传送的整个报文的整个报文(这可能包括许多个报文段这可能包括许多个报文段)看成看成是是一个个字节组成的数据流,并一个个字节组成的数据流,并使每一个使每一个字节对应于一个序号字节对应于一个序号。lTCP的确认的确认是对接收到的数据的最高序号是对接收到的数据的最高序号(即收到的数据流中的即收到的数据流

23、中的最后一个序号最后一个序号)表示确表示确认。但接收端返回的认。但接收端返回的确认序号是已收到的确认序号是已收到的数据的最高序号加数据的最高序号加1。也就是说,。也就是说,确认序号确认序号表示接收端期望下次收到的数据中的第一表示接收端期望下次收到的数据中的第一个数据字节的序号个数据字节的序号。TCP序号与确认l在在TCP传输的字节流中,传输的字节流中,TCP为每个字节为每个字节分配一个序号,序号为分配一个序号,序号为32位无符号数,在位无符号数,在区间为区间为0232-1中循环使用。中循环使用。l在在TCP连接建立时,连接建立时,源端口与目的端口需源端口与目的端口需要商定一个初始序号,以后发送

24、的报文段要商定一个初始序号,以后发送的报文段中序号的设置是初始序号的延续中序号的设置是初始序号的延续。TCP报文段序号分配示例6.3.4 TCP重传机制l若若TCP报文段在传输过程中丢失或产生差报文段在传输过程中丢失或产生差错,将采用重传机制重传此类报文段。错,将采用重传机制重传此类报文段。l缓存缓存-定时定时-超时重传超时重传:源端口在发送一个:源端口在发送一个TCP报文段时,首先将报文段时,首先将复制复制一个副本存放一个副本存放在缓冲区内,并在缓冲区内,并启动计时器启动计时器;如果在规定;如果在规定的时间内没有收到来自目的端口的确认信的时间内没有收到来自目的端口的确认信息,则判定该报文段丢

25、失或产生差错,并息,则判定该报文段丢失或产生差错,并重传该报文段副本。重传该报文段副本。l计时器超时时间(计时器超时时间(TimeOut)的设置:取)的设置:取决于决于TCP报文段传输的报文段传输的往返时间往返时间(Round Trip Time,RTT),即从源端口到达目的),即从源端口到达目的端口以及源端口收到目的端口的确认信息端口以及源端口收到目的端口的确认信息的所经历的总时间。的所经历的总时间。l由于因特网环境的不确定性,由于因特网环境的不确定性, RTT是变化是变化的。的。lTCP采用了自适应重传算法以适应网络的采用了自适应重传算法以适应网络的不确定性。不确定性。6.3.5 TCP连

26、接管理lTCP是一个面向连接的协议,通信双方不是一个面向连接的协议,通信双方不论哪一方发送报文段,都必须首先建立一论哪一方发送报文段,都必须首先建立一条连接,并在双方数据通信结束后关闭连条连接,并在双方数据通信结束后关闭连接。接。1. 建立连接lTCP使用使用三次握手建立连接三次握手建立连接。l在建立连接过程中,请求发起连接建立的在建立连接过程中,请求发起连接建立的应用进程被称为应用进程被称为客户客户,等待建立连接的应,等待建立连接的应用进程被称为用进程被称为服务器服务器。l为了建立连接,服务器执行为了建立连接,服务器执行被动打开命令被动打开命令等待连接请求的到达;客户则执行等待连接请求的到达

27、;客户则执行主动打主动打开命令开命令,并指明它想要连接到的服务器的,并指明它想要连接到的服务器的IP地址和端口号,等待服务器的响应。地址和端口号,等待服务器的响应。三次握手建立TCP连接SYN=1时,时,ACK=1表示表示响应响应TCP连接连接;x为初始序号为初始序号y为初始序号为初始序号SYN=1时,时,ACK=0表示表示请求建立请求建立TCP连接连接;ACK=1经过三次握手经过三次握手, TCP连接建立完成连接建立完成,通讯双方做好了通讯双方做好了通讯准备通讯准备,客户客户A将传输起始序号为将传输起始序号为x+1的字节流的字节流,而而服务器服务器B将传输起始序号为将传输起始序号为y+1的字节流的字节流2. 关闭连接lTCP通信是全双工通信,通信双方中的任通信是全双工通信,通信双方中的任何一方在数据传输结束后,都可以向对方何一方在数据传输结束后,都可以向对方发起关闭连接的请求,以结束一个方向的发起关闭连接的请求,以结束一个方向的连接。连接。客户客户A服务器服务器B发送发送FIN报文段报文段SEQ=x接收接收FIN报文段报文段发送发送ACK报文段报文段SEQ=y,ACK

温馨提示

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

评论

0/150

提交评论