您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 网络安全编程传输层协议
第三章传输层主要协议刘念ln@besti.edu.cn本课内容概述TCP协议UDP协议概述一、传输层的引入传输层是整个网络体系结构中的关键部分,它实现两个用户进程之间端到端的可靠通信。就通信功能来说,传输层是提供通信服务的最高层,提供了比IP层质量更高的服务。从另一个角度看,传输层又是用户功能中的最低层,也是最基本的一层。概述二、传输层功能(1)按端口号寻址(进程识别)(2)分割与重组数据(数据处理)(3)差错控制和流量控制(服务质量)(4)连接管理传输层的作用和数据链路层有相似之处。数据链路层负责点到点之间的数据通信,传输层负责扩大了的点到点之间的通信,即端到端之间的通信。但两者又有很大的区别:对数据链路层来说,点与点之间的信道是一条物理链路,而对传输层来说,端与端之间的信道是一通信子网。由于报文在通讯子网中传输时可能会丢失、重组、阻塞或产生较大存储延时,故传输层协议比数据链路层协议复杂得多。概述三、TCP/IP体系中传输层TCP/IP的运输层有两个不同的协议:(1)用户数据报协议UDP(UserDatagramProtocol)(2)传输控制协议TCP(TransmissionControlProtocol)UDP在传送数据之前不需要先建立连接。对方的传输层在收到UDP报文后,不需要给出任何确认。UDP不提供可靠交付,UDP传送的数据单位是UDP报文或用户数据报。TCP提供面向连接的服务。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的传输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。TCP传送的数据单位是TCP报文段(segment)本课内容概述TCP协议UDP协议TCP协议TCP是面向连接的协议,可以在各种网络之间建立全双工的虚电路连接,实现无乱序、无丢失和无重复的数据传输,它采取了三次握手、两次确认的有效技术,做到了非常可靠。1.可靠性:①防丢失:确认与重传;②防重复:报文段序号;2.传输效率、流量控制:滑动窗口机制;3.拥塞控制:加速递减与慢启动技术;4.建立连接:三次握手协议;5.关闭连接:改进的三次握手协议。要实现可靠的数据流传输服务,必须解决哪几个问题?可靠性1.防丢失–带重传的肯定确认技术①接收方收到数据后向源站发确认(ACK);②设置定时器,源站在限定时间内未收到ACK,则重发。数据发送方数据接收方接收确认发送分组接收分组发送确认接收确认发送分组接收分组发送确认超时重传两个问题:如何对待重复的数据?定时器时限设置多长?2.防重复–可捎带的累计确认技术①为每一分组赋予序号。②确认时也指明确认哪个分组。③序号同时保证了分组间的正确顺序。3.RTT与重传定时器问题:超时重传,如何设置定时器的时限?两个概念:①RTT:往返时间,报文段发出到收到确认信息间的时间段。②自适应重传算法:监视每个连接的性能,由此推算出合适的定时时限。当连接的性能变化时,随时修改定时时限。重传定时时限的计算方法:①早期的方法②改进的方法③Karn算法和定时器补偿传输效率和流量控制-滑动窗口机制1.一般的滑动窗口机制思想:允许发送方不必等确认到来就可继续发送下面的分组,但规定一个上限。若多个分组的确认未到时,则暂停发送。12345678910111213分组流WindowSize=10已发并得到确认不能发送已发未得到确认未发但可以发2.TCP的滑动窗口技术(1)数据流的各字节被编上序号。(2)TCP的滑动窗口按字节操作而不是按报文段或分组操作。(3)TCP窗口大小为字节数。最大为65535字节。(4)通信双方都设有发送和接收缓冲区(相当于发送窗口和接收窗口)。默认大小各系统有差异,如4096、8192、16384等。发送缓冲区大小为默认窗口大小。12..100101102………41004101分组流WindowSize=4000已发并得到确认不能发送已发未得到确认未发但可以发(5)TCP连接两端各有两个窗口(发送窗口和接收窗口)3.TCP端到端流量控制-窗口大小可变技术时机:目的主机缓冲区变小而不能接收源主机更多的数据时,就要进行流量控制。TCP技术:可随时改变窗口大小。目的主机在确认时,还向源主机告知目的主机接收缓冲区的大小。…101…200201…320321…399发送窗口,初始时400确认(200)窗口通告(120)发送窗口,变为120拥塞:交换节点(如路由器)数据报负载过重的现象TCP拥塞控制的必要性:在TCP层,拥塞造成时延增加,这又会造成超时重传,控制不当会进一步加重拥塞。1.拥塞控制技术:①拥塞窗口cwnd②加速递减技术③慢启动技术•TCP拥塞控制技术拥塞控制技术:①拥塞窗口cwnd每个连接都有一个拥塞窗口,该窗口大小以字节为单位,但是增加和减少以MSS为单位;初始大小:1个MSS;临界值:64KB②慢启动技术指数递增:每次成功发送1个MSS长度的报文段,则发送方拥塞窗口加倍;线性递增:增长到临界值后,每次增加1个MSS发送窗口=min(接收方窗口通告,cwnd)③加速递减技术指数级递减:出现超时重传时,将临界值设为当前拥塞窗口的1/2,拥塞窗口恢复为1个MSS大小;指数退避:对保留在发送窗口中的报文段,将重传时限加倍。TCP协议图TCP的拥塞控制算法概述1.可靠性:①防丢失:确认与重传;②防重复:报文段序号;2.传输效率、流量控制:滑动窗口机制;3.拥塞控制:加速递减与慢启动技术;4.建立连接:三次握手协议;5.关闭连接:改进的三次握手协议。要实现可靠的数据流传输服务,必须解决哪几个问题?TCP协议TCP协议URG紧急ACK确认PSH强迫RST连接复位SYN序号同步FIN字节流同步带有确认建立连接异常关闭连接正常关闭连接强迫数据发送:为提高网络利用率,用缓冲区积累数据,也有副作用。有些数据要及时发送,TCP提供了强迫发送。紧急数据处理:源站有些数据要及时发送并处理,TCP提供了“紧急模式”,通过“URG”+“紧急指针”。TCP协议1、TCP连接的建立TCP连接的建立基于客户机/服务器模式,使用三次握手建立。SEQ:发送序号REQ(AN):确认序号SYN:同步标志,建立连接;1bitFIN:发送任务完成标志;1bitACK:确认序号有效标志;1bitTCP协议2、TCP连接的正常关闭概述1.可靠性:①防丢失:确认与重传;②防重复:报文段序号;2.传输效率、流量控制:滑动窗口机制;3.拥塞控制:加速递减与慢启动技术;4.建立连接:三次握手协议;5.关闭连接:改进的三次握手协议。要实现可靠的数据流传输服务,必须解决哪几个问题?本课内容概述TCP协议UDP协议UDP协议一、UDP概述UDP提供了应用进程间传输数据的机制,在IP数据报服务功能之上提供了复用和分用的功能以及差错检查的功能。具有以下特点:(1)无连接(2)不可靠(3)面向报文(4)没有拥塞控制(5)支持一对一、一对多、多对一(6)首部开销小适用于实时应用(IP电话、视频会议),允许丢失一些数据,但不允许有太大时延的情况。UDP协议二、UDP报文1、报文格式UDP报文称为用户数据报(UserDatagram)首部8字节。源端口目的端口报文长度校验和数据UDP协议2、报文封装与拆封UDP首部UDP数据区IP数据区IP首部帧数据区帧首部UDP协议3、最大用户数据报理论上:65535–20–8=65507实际实现:例子(最大IP数据报长度):①SunOS4.1.3环回测试:32767②BSD/386-SunOS4.1.3:32786③Solaris2.2环回测试:65507结论:最大报文长度与源端和目的端实现有关。UDP协议4、UDP复用与分用•在源主机上,为了让多个用户进程能够同时与目标主机上的应用进程进行通信,UDP通过端口机制对应用层的多个用户数据进行复用,然后传给网络层进行传送。•在目标主机上,UDP可以对网络层传上来的数据根据端口分配给相应的应用进程使用。•源主机上的UDP协议处理多个应用进程的用户数据报的过程称为UDP复用。•目的主机根据接收的每个应用进程的端口号分别处理用户数据报的过程称为UDP分用。UDP协议5、UDP端口号的使用基于客户机/服务器的端口号的使用服务器:端口号必须公开,以便客户端访问客户端:两种使用方式•(1)由应用程序开发者指定•(2)由操作系统随机分配习题习题作业1.在TCP/IP模型的传输层有那两个协议?各自的功能是什么?2.在TCP协议中如何实现数据的可靠传输?3.在TCP协议中如何实现流量控制和拥塞控制?
本文标题:网络安全编程传输层协议
链接地址:https://www.777doc.com/doc-1268375 .html