传输层协议解析课件_第1页
传输层协议解析课件_第2页
传输层协议解析课件_第3页
传输层协议解析课件_第4页
传输层协议解析课件_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

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

文档简介

第五章传输层协议第五章传输层协议1重点端口TCP连接的建立和拆除的握手机制计时器流量控制拥塞控制重点25.1.传输层5.1.1.传输层概述一、传输层的作用弥补网络层所提供的服务质量的不足,以便为高层提供可靠的端到端通信。5.1.传输层5.1.1.传输层概述3计算机网络在逻辑上分为资源子网和通信子网资源子网中的设备才有传输层,通信子网中的设备一般只具备OSI下面三层的功能。计算机网络在逻辑上分为资源子网和通信子网4传输层协议解析课件5资源子网中的端用户依靠在自己主机上所增加的这个传输层来检测分组的丢失或数据的残缺并采取相应的补救措施。资源子网中的端用户依靠在自己主机上所增加的这个传输层来检测分6二、传输层功能在网络层所提供的源到目标的分组传输服务的基础上,向上层提供可靠的源主机到目标主机的数据传输。当上层的协议数据包的长度超过网络互联层所能承载的最大数据传输单元时,提供分段和合并分段的功能。二、传输层功能7提供多路复用机制,由于同时存在多个高层应用,因此要求传输层能够同时为多个高层应用服务,将多个高层应用复用到一个网络层连接上。传输层是通过端口来实现这一功能的。提供多路复用机制,由于同时存在多个高层应用,因此要求传输层能8三、端到端的传输传输层就是为上三层提供端到端的传输服务三、端到端的传输9声音信号电信号声音信号电信号点到点点到点点到点端到端声音信号电信号声音信号电信号点到点点到点点到点端到端10四、TCP/IP的传输层 两个主要的协议即传输控制协议(transportcontrolprotocol,简称TCP)和用户数据报协议(userdatagramprotocol,简称UDP)TCP协议是一个可靠的面向连接的传输层协议。UDP协议将可靠性问题交给应用程序解决四、TCP/IP的传输层11指标TCPUDP是否连接面向连接无连接传输可靠性可靠不可靠速度较慢较快传输质量较高较差指标TCPUDP是否连接面向连接无连接传输可靠性可靠不可靠速125.1.2.端口和套接字 一台主机中同时会有多个应用进程进行通信,传输层必须将它们区分开来。因此网络通信的最终地址应不仅包括主机地址,还要包括可描述网络进程的某种标识。 这种标识称作传输层服务访问点, 即端口。 TCP/IP定义一个16Bit长度的整数作为端口标识,也就是说可定义2e16个端口,其端口号从 0到2e16-1。5.1.2.端口和套接字13传输层协议解析课件14从0到255被规定作为公共应用服务的端口,如WWW、FTP、DNS和电子邮件服务等,又被称为著名端口(Well-knownports)。这些端口所对应的服务是固定、公开的,因此可以通过访问这些端口来访问对应的服务。从256到1023的端口,被保留用作商业性的应用开发,如一些网络设备厂商专用协议的通信端口等。1023以上端口未做限定,即作为自由端口,以本地方式进行分配。从0到255被规定作为公共应用服务的端口,如WWW、FT155.2.TCP协议5.2.1.TCP协议概述 TCP,即传输控制协议,它提供面向连接的、可靠的(没有数据重复或丢失)、全双工的数据流传输服务。

5.2.TCP协议5.2.1.TCP协议概述16TCP的协议数据单元被称为段(Segment)数据段分为两部分,即段头和数据段头一般长20字节(如有选项部分另加),是TCP为了实现端到端可靠传输所加上的控制信息。而数据则是指由高层即应用层来的数据。数据段的大小必须首先满足65535字节的IP包数据长度限制。TCP的协议数据单元被称为段(Segment)17传输层协议解析课件18源端口:主叫方的TCP端口号。目标端口:被叫方的TCP端口号。发送序号(SEQ):①SYN=0表示数据段第一个数据字节的序号,即该数据段在发送方的数据流中的位置;②SYN=1表示建立本次连接的初始序号。源端口:主叫方的TCP端口号。19确认序号(ACK):下一个期望接收的TCP数据段号,顺序号和确认号共同用于TCP服务中的确认、差错控制。头长:TCP头长,以32位字长为单位。实际上相当于给出数据在数据段中的开始位置。确认序号(ACK):下一个期望接收的TCP数据段号,顺序号20预留:未用的6位,为将来的应用而保留,目前置为“0”。控制字段(CTL):共6个控制字段,每个占一位bit。TCP数据段有多种应用,如建立或关闭连接、传输数据、携带确认等,这些控制字段用于给出与数据段的作用及处理相关的控制信息。字段位值=1时有效。预留:未用的6位,为将来的应用而保留,目前置为“0”。21窗口:窗口的大小表示本方可以接收的数据量,以八位字长为计量单位。TCP使用可变大小的滑动窗口来进行流量控制。校验和:用于对数据段头和数据进行校验,以判断接收的数据是否有错。紧急指针:给出从当前段序号到紧急数据位置的偏移量。窗口:窗口的大小表示本方可以接收的数据量,以八位字长为计量单22任选项:提供一种增加额外设置的方法,如最大TCP分段的大小的约定。填充:当任选项字段长度不足32位字长时,需要加以填充。数据:来自高层即应用层的协议数据。任选项:提供一种增加额外设置的方法,如最大TCP分段的大235.2.2.TCP的连接管理 TCP实现的是面向连接的数据传输服务,即是一种虚电路的数据交换方式,在数据传输以前需要在源主机和目标主机之间创建相应的虚电路连接。5.2.2.TCP的连接管理24一、连接的建立 TCP使用三次握手协议来建立连接。一、连接的建立25主机1首先发起TCP连接请求,并在所发送的数据段中将控制字段中的SYN置为“1”、ACK置为“0”。主机1首先发起TCP连接请求,并在所发送的数据段中将控制26主机2收到该分段,若同意建立连接,则发送一个连接接受的应答数据段,其中控制字段的SYN和ACK均被置“1”,指示对第一个SYN报文段的确认,以继续握手操作;否则,主机2要发送一个将RST置为“1”的应答数据段,表示拒绝建立连接。主机2收到该分段,若同意建立连接,则发送一个连接接受的应答27主机1收到主机2发来的同意建立连接数据段后,还有再次进行选择的机会,若其确认要建立这个连接,则向主机2发送确认数据段,用来通知主机2双方已完成建立连接;主机1收到主机2发来的同意建立连接数据段后,还有再次进行28若其已不想建立这个连接,则可以发送一个将RST置为“1”的应答数据段来告之主机2拒绝建立连接。若其已不想建立这个连接,则可以发送一个将RST置为“1”的应29二、连接的拆除 TCP连接的关闭过程是一个四次握手的过程。图5-9四次握手拆除TCP连接二、连接的拆除图5-9四次握手拆除TCP连接30当主机1的数据已发送完毕时,其在等待确认的同时可发送一个将控制字段FIN置“1”的数据段给主机2,表示请求中断主机1到主机2的连接。图5-9四次握手拆除TCP连接当主机1的数据已发送完毕时,其在等待确认的同时可发送一个将31若主机2已正确接收主机1的所有分段,则会发送一个数据段正确接收的确认段,同时通知本地相应的应用程序,对方要求关闭连接,接着再发送一个对主机1所发送的FIN段进行确认的应答段。由此便拆除了一个方向的TCP连接。图5-9四次握手拆除TCP连接若主机2已正确接收主机1的所有分段,则会发送一个数据段正32但是,此时在相反方向上,主机2仍然可以向主机1发送数据,直到主机2数据发送完毕并要求关闭连接。这个方向上连接的拆除同样要经过(1)、(2)两步,由主机2发起FIN段,主机1应答确认ACK,拆除另一方向的TCP连接。图5-9四次握手拆除TCP连接但是,此时在相反方向上,主机2仍然可以向主机1发送数据,335.2.3.确认和超时重传5.2.3.确认和超时重传345.2.4.TCP定时器 TCP设置多个定时器帮助其完成所承担的服务。

5.2.4.TCP定时器35一、重传定时器(ConnectionEstablishmentTimer) 重发定时器是TCP发送数据时设置的,如果在定时器超时前该数据段被确认,就关闭该定时器,否则,一旦超时则重发该数据段。一、重传定时器(ConnectionEstablishme36二、连接建立定时器(ConnectionEstablishmentTimer) 当请求建立连接的SYN数据段发出时,连接建立定时器就开始计时,如果在75秒内未收到响应,则连接建立失败。二、连接建立定时器(ConnectionEstablish37三、ACK延时定时器(DelayedACKTimer)

当TCP实体收到数据时它必须返回确认,但并不需要立即回复,它可以在200亳秒内发送ACK报文,如果在这段时间内它恰好有数据要发送,它就可以在数据内包含确认信息,因此需要ACK延时定时器。三、ACK延时定时器(DelayedACKTimer)38四、持续定时器(PersistenceTimer) 防止死锁事情发生,发送方在收到接收方发来一个窗口为0的数据时,就启动持续定时器,等到该定时器超时还没有收到对方修改窗口大小的数据段时,发送方就发一个探测数据,对接收方对该探测数据的响应应包含了窗口大小,若仍为0,则定时器清0,重复以上步骤,否则则可以发送数据。四、持续定时器(PersistenceTimer)39五、保活定时器(TheKeepaliveTimer)

当一个连接长时间闲置会造成保持存活定时器会超时,这时就会发送一个空数据段检测另一方是否仍然存在(即连接是否依然激活),如果它未得到响应,便终止该连接。五、保活定时器(TheKeepaliveTimer)40六、闲置定时器(TheQuietTimer)

当TCP连接断开后,为防止该连接上的数据还在网络上,并被后续打开的具有相同五元组的连接接收,要设置闲置定时器以防止刚刚断开连接的端口号被立即重新使用。六、闲置定时器(TheQuietTimer)415.2.5.流量控制与滑动窗口机制TCP实体在端设备中为每个连接开设两个缓冲区,一个是接收缓冲区,用来接收对方发送来的数据。第二个是发送缓冲区,TCP实体从应用进程接收数据,存贮在发送缓冲区。5.2.5.流量控制与滑动窗口机制42 为了防止由于发送端与接收端之间的不匹配而引起数据丢失,TCP采用滑动窗口进行流量控制。 为了防止由于发送端与接收端之间的不匹配而引起数据丢失,T43传输层协议解析课件44传输层协议解析课件455.2.6.TCP的拥塞控制 为了解决因网络传输能力导致拥塞的问题,TCP对流量控制方法进行了改进,增加了一个拥塞窗口。这样发送方TCP就有两个窗口:一是接收方通告窗口,反映的是接收方的数据接收能力;一是拥塞窗口,反映的是网络的传输能力。而发送方可以发送的字节数,即发送窗口的大小取这两个窗口的最小值。5.2.6.TCP的拥塞控制465.3.UDP协议5.3.1.UDP协议 与TCP相反,TCP/IP传输层的另一大协议UDP提供的是不可靠的面向无连接的数据传输服务。5.3.UDP协议5.3.1.UDP协议47一、UDP数据报格式图5-13UDP数据报格式一、UDP数据报格式图5-13UDP数据报格式48源端口字段:该字段是16位长度的发送端UDP协议端口号。在UDP协议中也采用与TCP中类似的端口概念来标识同一主机上的不同网络进程,并且两者在分配方式上也是类似的。应用程序使用UDP协议而不直接采用原始IP协议发送数据,最主要的原因就UDP协议提供了标识进程的端口号。目的端口字段:该字段是16位长度的接收端UDP协议端口号。长度字段:该字段标记该数据报的长度,以8位长的字节为长度单位,包括报头和用户数据。源端口字段:49校验和字段:该字段是可选择的,如该字段值为0则表明不进行校验。一般说来,使用校验和字段是必要的。检查和的计算除了包括报头和用户数据外,还要加上12字节的伪首部。5. 伪首部:该字段只用于计算校验和,不会在UDP数据报中发送。它由源IP地址、目的IP地址、UDP协议号(17)和UDP长度组成。校验和字段:50二、UDP数据报最大长度 由UDP数据报格式可知,UDP数据报没有标识数据分段的字段,因而接收端无从知道所接收的数据报是否发生混序,是否是重复发送的数据报。为了避免这种情况发生,UDP协议常用于一次性传输数据量较小的网络应用,这样UDP实体就不用对数据进行分段,而这种数据传送方式就是前面讨论的报文交换方式。 许多UDP应用程序的设计中,其应用程序数据被限制成512字节或更小。二、UDP数据报最大长度51习题试述传输层协议的三个功能。如果报文中是请求报文,如何使用端口号?试举出三个已知TCP服务的端口号。TCP协议利用什么功能保证可靠的连接?绘图说明TCP连接建立的规程。TCP如何防止拥塞现象发生?由哪一方起主导作用?TCP如何进行流控,那一方主导流控。习题试述传输层协议的三个功能。52第五章传输层协议第五章传输层协议53重点端口TCP连接的建立和拆除的握手机制计时器流量控制拥塞控制重点545.1.传输层5.1.1.传输层概述一、传输层的作用弥补网络层所提供的服务质量的不足,以便为高层提供可靠的端到端通信。5.1.传输层5.1.1.传输层概述55计算机网络在逻辑上分为资源子网和通信子网资源子网中的设备才有传输层,通信子网中的设备一般只具备OSI下面三层的功能。计算机网络在逻辑上分为资源子网和通信子网56传输层协议解析课件57资源子网中的端用户依靠在自己主机上所增加的这个传输层来检测分组的丢失或数据的残缺并采取相应的补救措施。资源子网中的端用户依靠在自己主机上所增加的这个传输层来检测分58二、传输层功能在网络层所提供的源到目标的分组传输服务的基础上,向上层提供可靠的源主机到目标主机的数据传输。当上层的协议数据包的长度超过网络互联层所能承载的最大数据传输单元时,提供分段和合并分段的功能。二、传输层功能59提供多路复用机制,由于同时存在多个高层应用,因此要求传输层能够同时为多个高层应用服务,将多个高层应用复用到一个网络层连接上。传输层是通过端口来实现这一功能的。提供多路复用机制,由于同时存在多个高层应用,因此要求传输层能60三、端到端的传输传输层就是为上三层提供端到端的传输服务三、端到端的传输61声音信号电信号声音信号电信号点到点点到点点到点端到端声音信号电信号声音信号电信号点到点点到点点到点端到端62四、TCP/IP的传输层 两个主要的协议即传输控制协议(transportcontrolprotocol,简称TCP)和用户数据报协议(userdatagramprotocol,简称UDP)TCP协议是一个可靠的面向连接的传输层协议。UDP协议将可靠性问题交给应用程序解决四、TCP/IP的传输层63指标TCPUDP是否连接面向连接无连接传输可靠性可靠不可靠速度较慢较快传输质量较高较差指标TCPUDP是否连接面向连接无连接传输可靠性可靠不可靠速645.1.2.端口和套接字 一台主机中同时会有多个应用进程进行通信,传输层必须将它们区分开来。因此网络通信的最终地址应不仅包括主机地址,还要包括可描述网络进程的某种标识。 这种标识称作传输层服务访问点, 即端口。 TCP/IP定义一个16Bit长度的整数作为端口标识,也就是说可定义2e16个端口,其端口号从 0到2e16-1。5.1.2.端口和套接字65传输层协议解析课件66从0到255被规定作为公共应用服务的端口,如WWW、FTP、DNS和电子邮件服务等,又被称为著名端口(Well-knownports)。这些端口所对应的服务是固定、公开的,因此可以通过访问这些端口来访问对应的服务。从256到1023的端口,被保留用作商业性的应用开发,如一些网络设备厂商专用协议的通信端口等。1023以上端口未做限定,即作为自由端口,以本地方式进行分配。从0到255被规定作为公共应用服务的端口,如WWW、FT675.2.TCP协议5.2.1.TCP协议概述 TCP,即传输控制协议,它提供面向连接的、可靠的(没有数据重复或丢失)、全双工的数据流传输服务。

5.2.TCP协议5.2.1.TCP协议概述68TCP的协议数据单元被称为段(Segment)数据段分为两部分,即段头和数据段头一般长20字节(如有选项部分另加),是TCP为了实现端到端可靠传输所加上的控制信息。而数据则是指由高层即应用层来的数据。数据段的大小必须首先满足65535字节的IP包数据长度限制。TCP的协议数据单元被称为段(Segment)69传输层协议解析课件70源端口:主叫方的TCP端口号。目标端口:被叫方的TCP端口号。发送序号(SEQ):①SYN=0表示数据段第一个数据字节的序号,即该数据段在发送方的数据流中的位置;②SYN=1表示建立本次连接的初始序号。源端口:主叫方的TCP端口号。71确认序号(ACK):下一个期望接收的TCP数据段号,顺序号和确认号共同用于TCP服务中的确认、差错控制。头长:TCP头长,以32位字长为单位。实际上相当于给出数据在数据段中的开始位置。确认序号(ACK):下一个期望接收的TCP数据段号,顺序号72预留:未用的6位,为将来的应用而保留,目前置为“0”。控制字段(CTL):共6个控制字段,每个占一位bit。TCP数据段有多种应用,如建立或关闭连接、传输数据、携带确认等,这些控制字段用于给出与数据段的作用及处理相关的控制信息。字段位值=1时有效。预留:未用的6位,为将来的应用而保留,目前置为“0”。73窗口:窗口的大小表示本方可以接收的数据量,以八位字长为计量单位。TCP使用可变大小的滑动窗口来进行流量控制。校验和:用于对数据段头和数据进行校验,以判断接收的数据是否有错。紧急指针:给出从当前段序号到紧急数据位置的偏移量。窗口:窗口的大小表示本方可以接收的数据量,以八位字长为计量单74任选项:提供一种增加额外设置的方法,如最大TCP分段的大小的约定。填充:当任选项字段长度不足32位字长时,需要加以填充。数据:来自高层即应用层的协议数据。任选项:提供一种增加额外设置的方法,如最大TCP分段的大755.2.2.TCP的连接管理 TCP实现的是面向连接的数据传输服务,即是一种虚电路的数据交换方式,在数据传输以前需要在源主机和目标主机之间创建相应的虚电路连接。5.2.2.TCP的连接管理76一、连接的建立 TCP使用三次握手协议来建立连接。一、连接的建立77主机1首先发起TCP连接请求,并在所发送的数据段中将控制字段中的SYN置为“1”、ACK置为“0”。主机1首先发起TCP连接请求,并在所发送的数据段中将控制78主机2收到该分段,若同意建立连接,则发送一个连接接受的应答数据段,其中控制字段的SYN和ACK均被置“1”,指示对第一个SYN报文段的确认,以继续握手操作;否则,主机2要发送一个将RST置为“1”的应答数据段,表示拒绝建立连接。主机2收到该分段,若同意建立连接,则发送一个连接接受的应答79主机1收到主机2发来的同意建立连接数据段后,还有再次进行选择的机会,若其确认要建立这个连接,则向主机2发送确认数据段,用来通知主机2双方已完成建立连接;主机1收到主机2发来的同意建立连接数据段后,还有再次进行80若其已不想建立这个连接,则可以发送一个将RST置为“1”的应答数据段来告之主机2拒绝建立连接。若其已不想建立这个连接,则可以发送一个将RST置为“1”的应81二、连接的拆除 TCP连接的关闭过程是一个四次握手的过程。图5-9四次握手拆除TCP连接二、连接的拆除图5-9四次握手拆除TCP连接82当主机1的数据已发送完毕时,其在等待确认的同时可发送一个将控制字段FIN置“1”的数据段给主机2,表示请求中断主机1到主机2的连接。图5-9四次握手拆除TCP连接当主机1的数据已发送完毕时,其在等待确认的同时可发送一个将83若主机2已正确接收主机1的所有分段,则会发送一个数据段正确接收的确认段,同时通知本地相应的应用程序,对方要求关闭连接,接着再发送一个对主机1所发送的FIN段进行确认的应答段。由此便拆除了一个方向的TCP连接。图5-9四次握手拆除TCP连接若主机2已正确接收主机1的所有分段,则会发送一个数据段正84但是,此时在相反方向上,主机2仍然可以向主机1发送数据,直到主机2数据发送完毕并要求关闭连接。这个方向上连接的拆除同样要经过(1)、(2)两步,由主机2发起FIN段,主机1应答确认ACK,拆除另一方向的TCP连接。图5-9四次握手拆除TCP连接但是,此时在相反方向上,主机2仍然可以向主机1发送数据,855.2.3.确认和超时重传5.2.3.确认和超时重传865.2.4.TCP定时器 TCP设置多个定时器帮助其完成所承担的服务。

5.2.4.TCP定时器87一、重传定时器(ConnectionEstablishmentTimer) 重发定时器是TCP发送数据时设置的,如果在定时器超时前该数据段被确认,就关闭该定时器,否则,一旦超时则重发该数据段。一、重传定时器(ConnectionEstablishme88二、连接建立定时器(ConnectionEstablishmentTimer) 当请求建立连接的SYN数据段发出时,连接建立定时器就开始计时,如果在75秒内未收到响应,则连接建立失败。二、连接建立定时器(ConnectionEstablish89三、ACK延时定时器(DelayedACKTimer)

当TCP实体收到数据时它必须返回确认,但并不需要立即回复,它可以在200亳秒内发送ACK报文,如果在这段时间内它恰好有数据要发送,它就可以在数据内包含确认信息,因此需要ACK延时定时器。三、ACK延时定时器(DelayedACKTimer)90四、持续定时器(PersistenceTimer) 防止死锁事情发生,发送方在收到接收方发来一个窗口为0的数据时,就启动持续定时器,等到该定时器超时还没有收到对方修改窗口大小的数据段时,发送方就发一个探测数据,对接收方对该探测数据的响应应包含了窗口大小,若仍为0,则定时器清0,重复以上步骤,否则则可以发送数据。四、持续定时器(PersistenceTimer)91五、保活定时器(TheKeepaliveTimer)

当一个连接长时间闲置会造成保持存活定时器会超时,这时就会发送一个空数据段检测另一方是否仍然存在(即连接是否依然激活),如果它未得到响应,便终止该连接。五、保活定时器(TheKeepaliveTimer)92六、闲置定时器(TheQuietTimer)

当TCP连接断开后,为防止该连接上的数据还在网络上,并被后续打开的具有相同五元组的连接接收,要设置闲置定时器以防止刚刚断开连接的端口号被立即重新使用。六、闲置定时器(TheQuietTimer)935.2.5.流量控制与滑动窗口机制TCP实体在端设备中为每个连接开设两个缓冲区,一个是接收缓冲区,用来接收对方发送来的数据。第二个是发送缓冲区,TCP实体从应用进程接收数据,存贮在发送缓冲区。5.2.5.流量控制与滑动窗口机制94 为了防止由于发送端与接收端之间的不匹配而引起数据丢失,TCP采用滑动窗口进行流量控制。 为

温馨提示

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

评论

0/150

提交评论