网络安全编程传输层协议

上传人:桔**** 文档编号:572047344 上传时间:2024-08-12 格式:PPT 页数:32 大小:419KB
返回 下载 相关 举报
网络安全编程传输层协议_第1页
第1页 / 共32页
网络安全编程传输层协议_第2页
第2页 / 共32页
网络安全编程传输层协议_第3页
第3页 / 共32页
网络安全编程传输层协议_第4页
第4页 / 共32页
网络安全编程传输层协议_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《网络安全编程传输层协议》由会员分享,可在线阅读,更多相关《网络安全编程传输层协议(32页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章 传输层主要协议传输层主要协议本课内容本课内容概述概述TCP协议协议UDP协议协议2概述概述一、传输层的引入一、传输层的引入n传输层是整个网络体系结构中的传输层是整个网络体系结构中的关键关键部分部分,它实现两个用户进程之间端到,它实现两个用户进程之间端到端的可靠通信。端的可靠通信。n就通信功能来说,传输层是提供就通信功能来说,传输层是提供通信通信服务的最高层服务的最高层,提供了比,提供了比IPIP层质量更层质量更高的服务。高的服务。n从另一个角度看,传输层又是从另一个角度看,传输层又是用户功用户功能中的最低层能中的最低层,也是最基本的一层。,也是最基本的一层。 3概述概述二、传输层

2、功能二、传输层功能n(1) (1) 按端口号寻址按端口号寻址( (进程识别进程识别) )n(2) (2) 分割与重组数据分割与重组数据( (数据处理数据处理) )n(3) (3) 差错控制和流量控制差错控制和流量控制( (服务质量服务质量) )n(4) (4) 连接管理连接管理传输层的作用和数据链路层有相似之处。传输层的作用和数据链路层有相似之处。数据链路层负责点到点之间数据链路层负责点到点之间的数据通信,传输层负责扩大了的点到点之间的通信的数据通信,传输层负责扩大了的点到点之间的通信,即端到端之间,即端到端之间的通信。但两者又有很大的区别:的通信。但两者又有很大的区别:对数据链路层来说,点与

3、点之间的对数据链路层来说,点与点之间的信道是一条物理链路,而对传输层来说,端与端之间的信道是一通信信道是一条物理链路,而对传输层来说,端与端之间的信道是一通信子网子网。由于报文在通讯子网中传输时可能会丢失、重组、阻塞或产生。由于报文在通讯子网中传输时可能会丢失、重组、阻塞或产生较大存储延时,故传输层协议比数据链路层协议复杂得多。较大存储延时,故传输层协议比数据链路层协议复杂得多。4概述概述三、三、TCP/IPTCP/IP体系中传输层体系中传输层nTCP/IPTCP/IP的运输层有两个不同的协议:的运输层有两个不同的协议:n(1) (1) 用户数据报协议用户数据报协议 UDPUDP(User D

4、atagram (User Datagram Protocol)Protocol)n(2) (2) 传输控制协议传输控制协议 TCPTCP(Transmission Control (Transmission Control Protocol)Protocol)UDP UDP 在传送数据之前不需要先建立连接。对方的传输层在在传送数据之前不需要先建立连接。对方的传输层在收到收到 UDP UDP 报文后,不需要给出任何确认。报文后,不需要给出任何确认。 UDP UDP 不提供可不提供可靠交付,靠交付,UDP UDP 传送的数据单位是传送的数据单位是 UDP UDP 报文或用户数据报。报文或用户数据

5、报。 TCP TCP 提供面向连接的服务。提供面向连接的服务。TCP TCP 不提供广播或多播服务。不提供广播或多播服务。由于由于 TCP TCP 要提供可靠的、面向连接的传输服务,因此不可要提供可靠的、面向连接的传输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。增大很多,还要占用许多的处理机资源。TCP TCP 传送的数据传送的数据单位是单位是 TCP TCP 报文段报文段(segment)(segment)5本课内容本课内容概述概述TCP协议协议UDP协议协议6TCP协议协议TCP是面向

6、连接的协议,可以在各种是面向连接的协议,可以在各种网络之间建立全双工的虚电路连接,实现网络之间建立全双工的虚电路连接,实现无乱序、无丢失和无重复的数据传输,它无乱序、无丢失和无重复的数据传输,它采取了三次握手、两次确认的有效技术,采取了三次握手、两次确认的有效技术,做到了非常可靠。做到了非常可靠。7 1.可靠性:可靠性: 防丢失:确认与重传;防丢失:确认与重传; 防重复:报文段序号;防重复:报文段序号; 2.传输效率、流量控制:传输效率、流量控制:滑动窗口机制;滑动窗口机制; 3.拥塞控制:拥塞控制:加速递减与慢启动技术;加速递减与慢启动技术; 4.建立连接:建立连接:三次握手协议;三次握手协

7、议; 5.关闭连接:关闭连接:改进的三次握手协议。改进的三次握手协议。要实现可靠的数据流传输服务,要实现可靠的数据流传输服务,必须解决哪几个问题?必须解决哪几个问题?v可靠性可靠性1. 防丢失防丢失 带重传的肯定确认技术带重传的肯定确认技术 接收方收到接收方收到数据后向源站发数据后向源站发确认(确认(ACKACK);); 设置定时器,设置定时器,源站在限定时间源站在限定时间内未收到内未收到ACKACK,则重发。则重发。 数据发送方数据发送方数据接收方数据接收方接收确认接收确认发送分组发送分组接收分组接收分组 发送确认发送确认接收确认接收确认 发送分组发送分组接收分组接收分组 发送确认发送确认超

8、时重传超时重传两个问题两个问题: : 如何对待重复的数据?如何对待重复的数据? 定时器时限设置多长?定时器时限设置多长? 2. 防重复防重复 可捎带的累计确认技术可捎带的累计确认技术 为每一分组赋予序号。为每一分组赋予序号。 确认时也指明确认哪个分组。确认时也指明确认哪个分组。 序号同时保证了分组间的正确顺序号同时保证了分组间的正确顺序。序。3. RTT3. RTT与重传定时器与重传定时器 问题:超时重传,如何设置定时器的时限?问题:超时重传,如何设置定时器的时限?两个概念:两个概念: RTT:往返时间,报文段发出到收到确认信息:往返时间,报文段发出到收到确认信息间的时间段。间的时间段。 自适

9、应重传算法:监视每个连接的性能,由此推自适应重传算法:监视每个连接的性能,由此推算出合适的定时时限。当连接的性能变化时,随时修算出合适的定时时限。当连接的性能变化时,随时修改定时时限。改定时时限。重传定时时限的计算方法:重传定时时限的计算方法: 早期的方法早期的方法 改进的方法改进的方法 Karn算法和定时器补偿算法和定时器补偿 v传输效率和流量控制传输效率和流量控制 - 滑动窗口机制滑动窗口机制1.一般的滑动窗口机制一般的滑动窗口机制 思想:思想:允许发送方不必等确认到来就可继续发送下面允许发送方不必等确认到来就可继续发送下面的分组,但规定一个上限。若多个分组的确认未到时,的分组,但规定一个

10、上限。若多个分组的确认未到时,则暂停发送。则暂停发送。 1 2 3 4 5 6 7 8 9 10 11 12 13分组流分组流WindowSize=10已发并已发并得到确认得到确认不能发送不能发送已发未已发未得到确认得到确认未发但未发但可以发可以发2. TCP的滑动窗口技术的滑动窗口技术(1)数据流的各字节被编上序号。数据流的各字节被编上序号。 (2) TCP的滑动窗口按字节操作而不是按报文段或分的滑动窗口按字节操作而不是按报文段或分组操作。组操作。 (3) TCP窗口大小为字节数。最大为窗口大小为字节数。最大为65535字节。字节。 (4)通信双方都设有发送和接收缓冲区(相当于发送窗通信双方

11、都设有发送和接收缓冲区(相当于发送窗口和接收窗口)。默认大小各系统有差异,如口和接收窗口)。默认大小各系统有差异,如4096、8192、16384等。发送缓冲区大小为默认窗口大小。等。发送缓冲区大小为默认窗口大小。 1 2 .100 101 102 4100 4101分组流分组流WindowSize=4000已发并已发并得到确认得到确认不能发送不能发送已发未已发未得到确认得到确认未发但未发但可以发可以发(5) TCP连接连接两端各有两两端各有两个窗口(发个窗口(发送窗口和接送窗口和接收窗口)收窗口)3. TCP端到端流量控制端到端流量控制 - 窗口大小可变技术窗口大小可变技术 时机:时机:目的

12、主机缓冲区变小而不能接收源主机更多的目的主机缓冲区变小而不能接收源主机更多的数据时,就要进行流量控制。数据时,就要进行流量控制。 TCP技术:技术:可随时改变窗口大小。目的主机在确认时,可随时改变窗口大小。目的主机在确认时,还向源主机告知目的主机接收缓冲区的大小。还向源主机告知目的主机接收缓冲区的大小。101 200 201 320 321399 发送窗口,初始时发送窗口,初始时400确认(确认(200)窗口通告(窗口通告(120)发送窗口,变为发送窗口,变为120拥塞:拥塞:交换节点(如路由器)数据报负载过重的现象交换节点(如路由器)数据报负载过重的现象 TCP拥塞控制的必要性:在拥塞控制的

13、必要性:在TCP层,拥塞造成时延增层,拥塞造成时延增加,这又会造成超时重传,控制不当会进一步加重拥加,这又会造成超时重传,控制不当会进一步加重拥塞。塞。 1. 拥塞控制技术:拥塞控制技术: 拥塞窗口拥塞窗口cwnd 加速递减技术加速递减技术 慢启动技术慢启动技术 TCP拥塞控制技术拥塞控制技术 v 拥塞控制技术:拥塞控制技术:v 拥塞窗口拥塞窗口cwnd每个连接都有一个拥塞窗口,该窗口大小以字节为单位,但是增加每个连接都有一个拥塞窗口,该窗口大小以字节为单位,但是增加和减少以和减少以MSS为单位;为单位;初始大小:初始大小:1个个MSS;临界值:临界值:64KBv 慢启动技术慢启动技术指数递增

14、:每次成功发送指数递增:每次成功发送1个个MSS长度的报文段,则发送方拥塞窗口长度的报文段,则发送方拥塞窗口加倍;加倍;线性递增:增长到临界值后,每次增加线性递增:增长到临界值后,每次增加1个个MSS发送窗口发送窗口 = min (接收方窗口通告,接收方窗口通告,cwnd)v 加速递减技术加速递减技术指数级递减:出现超时重传时,将临界值设为当前拥塞窗口的指数级递减:出现超时重传时,将临界值设为当前拥塞窗口的1/2,拥塞窗口恢复为拥塞窗口恢复为1个个MSS大小;大小; 指数退避:对保留在发送窗口中的报文段,将重传时限加倍指数退避:对保留在发送窗口中的报文段,将重传时限加倍 。TCP协议协议图图

15、TCP的拥塞控制算法的拥塞控制算法概述概述 1.可靠性:可靠性: 防丢失:确认与重传;防丢失:确认与重传; 防重复:报文段序号;防重复:报文段序号; 2.传输效率、流量控制:传输效率、流量控制:滑动窗口机制;滑动窗口机制; 3.拥塞控制:拥塞控制:加速递减与慢启动技术;加速递减与慢启动技术; 4.建立连接:建立连接:三次握手协议;三次握手协议; 5.关闭连接:关闭连接:改进的三次握手协议。改进的三次握手协议。要实现可靠的数据流传输服务,要实现可靠的数据流传输服务,必须解决哪几个问题?必须解决哪几个问题?TCP协议协议TCP协议协议URG紧急紧急ACK确认确认PSH强迫强迫RST连接连接复位复位

16、SYN序号序号同步同步FIN字节流字节流同步同步带有确认带有确认建立连接建立连接异常关闭连接异常关闭连接正常关闭连接正常关闭连接强迫数据发送强迫数据发送:为提高网络利用率,用缓冲区积累数据,也有副作用。为提高网络利用率,用缓冲区积累数据,也有副作用。有些数据要及时发送,有些数据要及时发送,TCP提供了强迫发送。提供了强迫发送。紧急数据处理:源站有些数据要及时发送并处理,紧急数据处理:源站有些数据要及时发送并处理,TCP提供了提供了“紧急紧急模式模式”,通过,通过“URG”+“紧急指针紧急指针”。TCP协议协议n1、TCP连接的建立连接的建立nTCP连接的建立基于客户机连接的建立基于客户机/服务

17、器模式,使用三次握手建立。服务器模式,使用三次握手建立。SEQ:发送序号发送序号REQ(AN):确认序号确认序号SYN:同步标志,建立同步标志,建立连接;连接;1bitFIN:发送任务完成标发送任务完成标志;志;1bitACK:确认序号有效确认序号有效标志;标志;1bitTCP协议协议2、TCP连接的正常关闭连接的正常关闭概述概述 1.可靠性:可靠性: 防丢失:确认与重传;防丢失:确认与重传; 防重复:报文段序号;防重复:报文段序号; 2.传输效率、流量控制:传输效率、流量控制:滑动窗口机制;滑动窗口机制; 3.拥塞控制:拥塞控制:加速递减与慢启动技术;加速递减与慢启动技术; 4.建立连接:建

18、立连接:三次握手协议;三次握手协议; 5.关闭连接:关闭连接:改进的三次握手协议。改进的三次握手协议。要实现可靠的数据流传输服务,要实现可靠的数据流传输服务,必须解决哪几个问题?必须解决哪几个问题?本课内容本课内容概述概述TCP协议协议UDP协议协议24UDP协议协议一、一、UDP概述概述nUDP提供了应用进程间传输数据的机制,在提供了应用进程间传输数据的机制,在IP数据报服数据报服务功能之上提供了复用和分用的功能以及差错检查的功务功能之上提供了复用和分用的功能以及差错检查的功能。具有以下特点:能。具有以下特点:n(1)无连接)无连接 n(2)不可靠)不可靠n(3)面向报文)面向报文n(4)没

19、有拥塞控制)没有拥塞控制n(5)支持一对一、一对多、多对一)支持一对一、一对多、多对一n(6)首部开销小)首部开销小n适用于实时应用(适用于实时应用(IP电话、视频会议),允许丢失一些电话、视频会议),允许丢失一些数据,但不允许有太大时延的情况。数据,但不允许有太大时延的情况。25UDP协议协议二、UDP报文1、报文格式、报文格式nUDP报文称为用户数据报(报文称为用户数据报(User Datagram)n首部首部8字节。字节。源端口目的端口报文长度校验和数据26UDP协议协议2、报文封装与拆封、报文封装与拆封 UDP首部UDP数据区IP数据区IP首部帧数据区帧首部27UDP协议协议3、最大用

20、户数据报、最大用户数据报v理论上:理论上:65535 20 8 = 65507v 实际实现:实际实现:例子例子(最大最大IP数据报长度数据报长度): SunOS 4.1.3 环回测试环回测试 :32767 BSD/386 - SunOS 4.1.3 :32786 Solaris 2.2 环回测试环回测试:65507v结论结论:最大报文长度与源端和目的端实现有关最大报文长度与源端和目的端实现有关 。28UDP协议协议4、UDP复用与分用复用与分用在源主机上,为了让多个用户进程能够同时与目标主机上的应用进程进行通信,UDP通过端口机制对应用层的多个用户数据进行复用,然后传给网络层进行传送。在目标主

21、机上,UDP可以对网络层传上来的数据根据端口分配给相应的应用进程使用。源主机上的UDP协议处理多个应用进程的用户数据报的过程称为UDP复用。目的主机根据接收的每个应用进程的端口号分别处理用户数据报的过程称为UDP分用。 29UDP协议协议5、UDP端口号的使用端口号的使用v基于客户机基于客户机/服务器的端口号的使用服务器的端口号的使用服务器:端口号必须公开,以便客户端访问服务器:端口号必须公开,以便客户端访问客户端:两种使用方式客户端:两种使用方式(1)由应用程序开发者指定)由应用程序开发者指定(2)由操作系统随机分配)由操作系统随机分配30习题习题习题习题31作业作业1. 在在TCP/IP模型的传输层有那两个协议?各自的功能是什模型的传输层有那两个协议?各自的功能是什么?么?2. 在在TCP协议中如何实现数据的可靠传输?协议中如何实现数据的可靠传输?3. 在在TCP协议中如何实现流量控制和拥塞控制?协议中如何实现流量控制和拥塞控制?32

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

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