《第12章 传输层协议与应用.PPT》由会员分享,可在线阅读,更多相关《第12章 传输层协议与应用.PPT(33页珍藏版)》请在优知文库上搜索。
1、Page 1/33第第8-11章内容回顾章内容回顾v IP地址地址 分类分类 子网划分子网划分v网络层协议网络层协议 ICMP ARP与与RARPv静态路由与默认路由静态路由与默认路由 原理与配置原理与配置 适用的环境适用的环境vRIP路由协议路由协议 工作原理路由表的形成与维护、度量值、水平分割工作原理路由表的形成与维护、度量值、水平分割 RIP v1与与v2的配置的配置Version 2.0传输层协议与应用传输层协议与应用v第第12章章Page 3/33本章目标本章目标v 掌握掌握TCP的封装和工作原理的封装和工作原理v 掌握掌握UDP的封装和工作原理的封装和工作原理v 了解常用的了解常用
2、的TCP和和UDP端口号端口号v 对对TCP和和UDP首部能够进行分析首部能够进行分析Page 4/33本章结构本章结构传输层传输层提供端到端的连接提供端到端的连接拥塞控制拥塞控制TCP的连接与断开的连接与断开TCP封装格式封装格式UDP封装格式封装格式传输层的作用传输层的作用UDP工作原理工作原理TCP工作原理工作原理流量控制流量控制差错控制差错控制计时器计时器TCP的应用的应用UDP的应用的应用Page 5/33传输层的作用传输层的作用v IP层提供点到点的连接层提供点到点的连接v 传输层提供端到端的连接传输层提供端到端的连接IP层:找到了层:找到了这台主机!这台主机!传输层:找到传输层:
3、找到了应用进程了应用进程Page 6/33传输层的协议传输层的协议vTCP(Transmission Control Protocol)传输控制协议传输控制协议 可靠的、面向连接的协议可靠的、面向连接的协议 传输效率低传输效率低vUDP(User Datagram Protocol)用户数据报协议用户数据报协议 不可靠的、无连接的服务不可靠的、无连接的服务 传输效率高传输效率高Page 7/33TCP的工作原理的工作原理vTCP的封装格式的封装格式v连接与断开连接与断开v流量控制流量控制v拥塞控制拥塞控制v差错控制差错控制v计时器计时器Page 8/33TCP的封装格式的封装格式源端口号源端口
4、号目标端口号目标端口号32位序列号位序列号32位确认号位确认号4位位首部长首部长度度保留保留(6位)位)URGACKPSHRSTSYNFIN16位窗口大小位窗口大小16位校验和位校验和16位紧急指针位紧急指针可选项可选项数据数据0151631发送发送TCP进程进程对应的端口号对应的端口号目标端接收进目标端接收进程的端口号程的端口号0 232-1范围内,数据段范围内,数据段标记,用于到目的端对到标记,用于到目的端对到达包的重组达包的重组0 232-1范围内,对发送范围内,对发送端的确认信息,告诉发送端端的确认信息,告诉发送端这个序号之前的数据段都收这个序号之前的数据段都收到了到了紧急指针有效位,
5、与紧急指针有效位,与1616位紧急指针配合使位紧急指针配合使用用确认序列号有确认序列号有效位,表明该效位,表明该数据包包含确数据包包含确认信息认信息为为1时,请求重时,请求重新建立新建立TCP连接连接为为1时,请求建时,请求建立连接立连接为为1时,数据发时,数据发送完毕,请求断送完毕,请求断开连接开连接滑动窗口的大小,滑动窗口的大小,指明本地可接收数指明本地可接收数据的字节数据的字节数通知接收端立即将数通知接收端立即将数据提交给用户进程,据提交给用户进程,不在缓存中停留,等不在缓存中停留,等待更多的数据待更多的数据Page 9/33TCP的连接三次握手的连接三次握手发送发送 SYN,请求建立连
6、接请求建立连接(seq=100 ctl=SYN)Host AHost B1发送发送 SYN、ACK(seq=300 ack101 ctl=SYN、ACK)23发送发送ACK(seq=101 ack301ctl=ACK)Page 10/33TCP的四次断开的四次断开发送发送 FIN,请求断开连接请求断开连接(seq=101,ack=301,ctl=FIN,ACK)Host AHost B1发送发送 ACK(seq=301,ack=102ctl=ACK)24发送发送ACK(seq=102,ack=302 ctl=ACK)Seq100Seq300Ack1013发送发送 FIN,请求断开连接请求断开连
7、接(seq=301,ack=102 ctl=FIN,ACK)Page 11/33TCP的流控机制滑动窗口的流控机制滑动窗口Host AHost B123Ack=301,win=3Seq=300,ack=101,win=3Seq=100,win=3Ack=104,win=1Seq=101,win=3Seq=102,win=3Seq=103,win=3Seq=104,win=3030132发送窗口大小为发送窗口大小为3通报窗口大小为通报窗口大小为1缓冲区满缓冲区满应用程序读取应用程序读取了了1个数据段个数据段实际发送窗口大小实际发送窗口大小变为变为1通报窗口大小为通报窗口大小为3Page 12/3
8、3TCP的流控机制拥塞控制的流控机制拥塞控制21Win10Win10Cwnd=5Win10传输时窗口大小传输时窗口大小为为10中间链路带宽比较窄,传中间链路带宽比较窄,传输时窗口大小根据拥塞窗输时窗口大小根据拥塞窗口(记为口(记为cwnd)的大小变)的大小变为为5Win10,Page 13/33TCP的流控机制拥塞控制的流控机制拥塞控制22Host AHost B123Ack=301,win=3Seq=300,ack=101,win=3Seq=100,win=3Ack=102,win=3Seq=101,win=3Seq=102,win=3Seq=103,win=3Seq=102,win=3通报
9、窗口大小为通报窗口大小为3,但因为,但因为中间链路拥塞,丢包,只中间链路拥塞,丢包,只接收到接收到102一个确认一个确认重传重传102,实际传输的,实际传输的窗口大小减小窗口大小减小Page 14/33TCP的差错控制的差错控制vTCP差错控制的差错控制的3种方式种方式 校验和校验和 确认确认 受损伤的数据段受损伤的数据段 丢失的数据段丢失的数据段 重复的数据段重复的数据段 失序的数据段失序的数据段 确认的丢失确认的丢失 超时超时收到请收到请确认确认Page 15/33TCP的计时器的计时器41v重传计时器为了控制丢失的数据段重传计时器为了控制丢失的数据段Host AHost B开启重传计时器
10、,开启重传计时器,等待确认等待确认Ack撤消重传计时器,再撤消重传计时器,再发送其他数据发送其他数据 A在重传计时器超时之在重传计时器超时之前接收到前接收到ack A在重传计时器超时之在重传计时器超时之前前没有没有接收到接收到ack重传数据,并将重传数据,并将重传计时器复位重传计时器复位Page 16/33TCP的计时器的计时器42v坚持计时器为了防止零窗口死锁坚持计时器为了防止零窗口死锁Host AHost BAck win=0 A在坚持计时器超时之前在坚持计时器超时之前接收到通知窗口大小的接收到通知窗口大小的ack A在坚持计时器超时之前在坚持计时器超时之前没有没有接收到通知窗口大小的接收
11、到通知窗口大小的ack收到收到win=0的确认,等待的确认,等待对方发送确认来通知窗对方发送确认来通知窗口的大小,并启动坚持口的大小,并启动坚持计时器计时器Ack win=3发送后续数据发送后续数据发送探测数据段,发送探测数据段,提醒接收端确认已提醒接收端确认已丢失,如果没有坚丢失,如果没有坚持计时器和探测数持计时器和探测数据段,据段,ack丢失时,丢失时,双方将会进入等待双方将会进入等待死锁的状态死锁的状态Ack win=3丢失丢失Page 17/33TCP的计时器的计时器43v保活计时器防止两个保活计时器防止两个TCP之间的连接长时间的之间的连接长时间的空闲空闲Host AServer在保
12、活计时器超时在保活计时器超时前,前,没有没有收到客户端发来收到客户端发来的数据的数据发送探测数据段,如发送探测数据段,如果发送了果发送了10个探测数个探测数据段,还没有响应,据段,还没有响应,则断开连接则断开连接建立了建立了TCP连接,连接,开启保活计时器开启保活计时器serverPage 18/33TCP的计时器的计时器44v时间等待计时器连接终止期间使用的时间等待计时器连接终止期间使用的 在发送了最后一个在发送了最后一个ACK后,不立即关闭连接,而是等后,不立即关闭连接,而是等待一段时间,保证能接收到重复的待一段时间,保证能接收到重复的FIN数据段。数据段。Host AHost BFINA
13、CKFINACK丢失丢失如果如果A立即关闭,立即关闭,而而ACK又丢失了。又丢失了。B会再发送会再发送FIN,但,但是是A已经断开了连已经断开了连接,不会发送接,不会发送ACKA发送了最后一个发送了最后一个ACK后,不立即关后,不立即关闭连接,等时间等闭连接,等时间等待计时器超时后再待计时器超时后再关闭关闭Page 19/33TCP的应用的应用端口端口协议协议说明说明21FTP文件传输协议,用于上传、下载文件传输协议,用于上传、下载23Telnet用于远程登录,通过连接目标计算机的这一端口,得到验证后用于远程登录,通过连接目标计算机的这一端口,得到验证后可以远程控制管理目标计算机可以远程控制管
14、理目标计算机25SMTP简单邮件传输协议,用于发送邮件简单邮件传输协议,用于发送邮件53DNS域名服务,当用户输入网站的名称后,由域名服务,当用户输入网站的名称后,由DNS负责将它解析成负责将它解析成IP地址,这个过程中用到的端口号是地址,这个过程中用到的端口号是5380HTTP超文本传输协议,通过超文本传输协议,通过HTTP实现网络上超文本的传输实现网络上超文本的传输Page 20/33阶段总结阶段总结 TCP的封装格式的封装格式 TCP的连接与断开的连接与断开 流控机制流控机制 拥塞控制拥塞控制 差错控制差错控制 计时器计时器 Page 21/33阶段练习阶段练习J在在TCP中如何防止数据
15、段的丢失?中如何防止数据段的丢失?J如果接收方的缓存已经满了,接收方会向发送发如果接收方的缓存已经满了,接收方会向发送发发送什么样的确认信息?发送方收到后会怎么处发送什么样的确认信息?发送方收到后会怎么处理?理?Page 22/33UDP的封装格式的封装格式16位源端口号位源端口号16位目标端口号位目标端口号16位位UDP长度长度16位位UDP校验和校验和数据数据发送端的发送端的UDP进程端进程端口号口号接收端的接收端的UDP进程端进程端口号口号包含数据的长度,可包含数据的长度,可以算出数据的结束位以算出数据的结束位置置UDP的差错控制的差错控制(可选)(可选)0151631Page 23/3
16、3UDP的使用的使用端口端口协议协议说明说明69TFTP简单文件传输协议简单文件传输协议53DNS域名服务域名服务123NTP网络时间协议网络时间协议111RPC远程过程调用远程过程调用DNS服务器支持服务器支持TCP和和UDP两种协议的查询方式,而且端口都是两种协议的查询方式,而且端口都是53。大多数的查询都是。大多数的查询都是UDP查询的,一般需要查询的,一般需要TCP查询的有两种查询的有两种情况:情况:当查询数据较大以至于产生了数据分段,这时,需要利用当查询数据较大以至于产生了数据分段,这时,需要利用TCP的分片能力来进行数据传输。的分片能力来进行数据传输。当主(当主(master)服务器和辅()服务器和辅(slave)服务器之间数据同步通)服务器之间数据同步通信的时候。信的时候。Page 24/33UDP的流控和差错控制的流控和差错控制vUDP没有流控机制没有流控机制vUDP只有校验和来提供差错控制只有校验和来提供差错控制 需要上层协议来提供差错控制:例如需要上层协议来提供差错控制:例如TFTP协议协议Host AHost BDATA(512字节)字节)ACKDATA(512字