资源描述
Page,*,/33,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Page,1,/33,第,8-11,章内容回顾,IP,地址,分类,子网划分,网络层协议,ICMP,ARP,与,RARP,静态路由与默认路由,原理与配置,适用的环境,RIP,路由协议,工作原理路由表的形成与维护、度量值、水平分割,RIP v1,与,v2,的配置,传输层协议与应用,第,12,章,Page,3,/33,本章目标,掌握,TCP,的封装和工作原理,掌握,UDP,的封装和工作原理,了解常用的,TCP,和,UDP,端口号,对,TCP,和,UDP,首部能够进行分析,Page,4,/33,本章结构,传输层,提供端到端的连接,拥塞控制,TCP,的连接与断开,TCP,封装格式,UDP,封装格式,传输层的作用,UDP,工作原理,TCP,工作原理,流量控制,差错控制,计时器,TCP,的应用,UDP,的应用,Page,5,/33,传输层的作用,IP,层提供点到点的连接,传输层提供端到端的连接,IP,层:找到了这台主机!,传输层:找到了应用进程,Page,6,/33,传输层的协议,TCP,(,Transmission Control Protocol,),传输控制协议,可靠的、面向连接的协议,传输效率低,UDP,(,User Datagram Protocol,),用户数据报协议,不可靠的、无连接的服务,传输效率高,Page,7,/33,TCP,的工作原理,TCP,的封装格式,连接与断开,流量控制,拥塞控制,差错控制,计时器,Page,8,/33,TCP,的封装格式,源端口号,目标端口号,32,位序列号,32,位确认号,4,位,首部长度,保留(,6,位),URG,ACK,PSH,RST,SYN,FIN,16,位窗口大小,16,位校验和,16,位紧急指针,可选项,数据,0,15,16,31,发送,TCP,进程对应的端口号,目标端接收进程的端口号,0,2,32,-1,范围内,数据段标记,用于到目的端对到达包的重组,0,2,32,-1,范围内,对发送端的确认信息,告诉发送端这个序号之前的数据段都收到了,紧急指针有效位,与,16,位紧急指针配合使用,确认序列号有效位,表明该数据包包含确认信息,为,1,时,请求重新建立,TCP,连接,为,1,时,请求建立连接,为,1,时,数据发送完毕,请求断开连接,滑动窗口的大小,指明本地可接收数据的字节数,通知接收端立即将数据提交给用户进程,不在缓存中停留,等待更多的数据,Page,9,/33,TCP,的连接三次握手,发送,SYN,,,请求建立连接,(seq=100 ctl=SYN),Host A,Host B,1,发送,SYN,、,ACK,(seq=300 ack,101,ctl=SYN,、,ACK),2,3,发送,ACK,(seq=101 ack,301,ctl=ACK),Page,10,/33,TCP,的四次断开,发送,FIN,请求断开连接,(seq=101,ack=301,ctl=FIN,,,ACK),Host A,Host B,1,发送,ACK,(seq=301,ack=102,ctl=ACK),2,4,发送,ACK,(seq=102,ack=302,ctl=ACK),Seq,100,Seq,300,Ack,101,3,发送,FIN,请求断开连接,(seq=301,ack=102,ctl=FIN,,,ACK),Page,11,/33,TCP,的流控机制滑动窗口,Host A,Host B,1,2,3,Ack=301,win=3,Seq=300,ack=101,win=3,Seq=100,win=3,Ack=104,win=1,Seq=101,win=3,Seq=102,win=3,Seq=103,win=3,Seq=104,win=3,0,3,接收方的缓冲区,0,1,3,2,发送窗口大小为,3,通报窗口大小为,1,缓冲区满,应用程序读取了,1,个数据段,实际发送窗口大小变为,1,通报窗口大小为,3,Page,12,/33,TCP,的流控机制拥塞控制,2,1,Win,10,Win,10,Cwnd=5,Win,10,传输时窗口大小为,10,中间链路带宽比较窄,传输时窗口大小根据拥塞窗口(记为,cwnd,)的大小变为,5,Win,10,Page,13,/33,TCP,的流控机制拥塞控制,2,2,Host A,Host B,1,2,3,Ack=301,win=3,Seq=300,ack=101,win=3,Seq=100,win=3,Ack=102,win=3,Seq=101,win=3,Seq=102,win=3,Seq=103,win=3,Seq=102,win=3,通报窗口大小为,3,,但因为中间链路拥塞,丢包,只接收到,102,一个确认,重传,102,,实际传输的窗口大小减小,Page,14,/33,TCP,的差错控制,TCP,差错控制的,3,种方式,校验和,确认,受损伤的数据段,丢失的数据段,重复的数据段,失序的数据段,确认的丢失,超时,收到请确认,Page,15,/33,TCP,的计时器,4,1,重传计时器为了控制丢失的数据段,Host A,Host B,开启重传计时器,等待确认,Ack,撤消重传计时器,再发送其他数据,A,在重传计时器超时之前接收到,ack,A,在重传计时器超时之前,没有,接收到,ack,重传数据,并将重传计时器复位,Page,16,/33,TCP,的计时器,4,2,坚持计时器为了防止零窗口死锁,Host A,Host B,Ack win=0,A,在坚持计时器超时之前接收到通知窗口大小的,ack,A,在坚持计时器超时之前,没有,接收到通知窗口大小的,ack,收到,win=0,的确认,等待对方发送确认来通知窗口的大小,并启动坚持计时器,Ack win=3,发送后续数据,发送探测数据段,提醒接收端确认已丢失,如果没有坚持计时器和探测数据段,,ack,丢失时,双方将会进入等待死锁的状态,Ack win=3,丢失,Page,17,/33,TCP,的计时器,4,3,保活计时器防止两个,TCP,之间的连接长时间的空闲,Host A,Server,在保活计时器超时前,,没有,收到客户端发来的数据,发送探测数据段,如果发送了,10,个探测数据段,还没有响应,则断开连接,建立了,TCP,连接,开启保活计时器,server,Page,18,/33,TCP,的计时器,4,4,时间等待计时器连接终止期间使用的,在发送了最后一个,ACK,后,不立即关闭连接,而是等待一段时间,保证能接收到重复的,FIN,数据段。,Host A,Host B,FIN,ACK,FIN,ACK,丢失,如果,A,立即关闭,而,ACK,又丢失了。,B,会再发送,FIN,,但是,A,已经断开了连接,不会发送,ACK,A,发送了最后一个,ACK,后,不立即关闭连接,等时间等待计时器超时后再关闭,Page,19,/33,TCP,的应用,端口,协议,说明,21,FTP,文件传输协议,用于上传、下载,23,Telnet,用于远程登录,通过连接目标计算机的这一端口,得到验证后可以远程控制管理目标计算机,25,SMTP,简单邮件传输协议,用于发送邮件,53,DNS,域名服务,当用户输入网站的名称后,由,DNS,负责将它解析成,IP,地址,这个过程中用到的端口号是,53,80,HTTP,超文本传输协议,通过,HTTP,实现网络上超文本的传输,Page,20,/33,阶段总结,TCP,的封装格式,TCP,的连接与断开,流控机制,拥塞控制,差错控制,计时器,Page,21,/33,阶段练习,在,TCP,中如何防止数据段的丢失?,如果接收方的缓存已经满了,接收方会向发送发发送什么样的确认信息?发送方收到后会怎么处理?,Page,22,/33,UDP,的封装格式,16,位源端口号,16,位目标端口号,16,位,UDP,长度,16,位,UDP,校验和,数据,发送端的,UDP,进程端口号,接收端的,UDP,进程端口号,包含数据的长度,可以算出数据的结束位置,UDP,的差错控制(可选),0,15,16,31,Page,23,/33,UDP,的使用,端口,协议,说明,69,TFTP,简单文件传输协议,53,DNS,域名服务,123,NTP,网络时间协议,111,RPC,远程过程调用,DNS,服务器支持,TCP,和,UDP,两种协议的查询方式,而且端口都是,53,。大多数的查询都是,UDP,查询的,一般需要,TCP,查询的有两种情况:,当查询数据较大以至于产生了数据分段,这时,需要利用,TCP,的分片能力来进行数据传输。,当主(,master,)服务器和辅(,slave,)服务器之间数据同步通信的时候。,Page,24,/33,UDP,的流控和差错控制,UDP,没有流控机制,UDP,只有校验和来提供差错控制,需要上层协议来提供差错控制:例如,TFTP,协议,Host A,Host B,DATA(512,字节),ACK,DATA(512,字节),TFTP,协议提供分块传输、分块确认的机制,保证数据传输的可靠性,Page,25,/33,TCP/IP,协议栈,FTP,IP,TFTP,UDP,TCP,Telnet,SMTP,HTTP,应用层,传输层,网络层,会话层,表示层,数据链路层,Ethernet,PPP,Frame Relay,根据链路类型选择不同的协议,对上层透明,根据协议号选择应该提交给,TCP,还是,UDP,根据端口号提交给相应的应用程序,Page,26,/33,抓包分析实例拓朴结构,192.168.2.86,192.168.1.3,代理服务器,Internet,Sniffer,一种协议分析工具软件,可以捕获网络中的数据包,Page,27,/33,抓包分析实例软件使用,2,1,添加过滤,开始抓包,设置需要查看的主机的,IP,地址;,应用配置的过滤,Page,28,/33,抓包分析实例软件使用,2,2,添加过滤,开始抓包,打开网页,关闭网页,结束抓包,Page,29,/33,抓包分析实例,TCP,连接建立,序列号,:Initial sequence number=3042697805,SYN=1,序列号,:Initial sequence number=1093837408,确认号,:Acknowledgment number=3042697806,ACK,1,SYN,1,序列号,:Sequence number=3042697806,确认号,:1093837409,ACK,1,1,192.168.2.86 192.168.1.3,2,192.168.1.3 192.168.2.86,3,192.168.2.86 192.168.1.3,Page,30,/33,抓包分析实例断开连接,FIN,1,ACK,1,ACK,1,FIN,1,ACK,1,1,192.168.2.86 192.168.1.3,2,192.168.1.3 192.168.2.86,3,192.168.1.3 192.168.2.86,4,192.168.2.86 192.168.1.3,Page,31,/33,本章总结,传输层,提供端到端的连接,拥塞控制,TCP,的连接与断开,TCP,封装格式,UDP,封装格式,传输层的作用,UDP,工作原理,TCP,工作原理,流量控制,差错控制,计时器,TCP,的应用,UDP,的应用,可靠的传输层协议,源端口号,目标端口号,32,位序列号,32,位确认号,首部长度,标志位,SYN,、,ACK,、,FIN,16,位窗口大小,不可靠的传输层协议,源端口号,目标端口号,16,位,UDP,长度,Page,32,/33,实验,任务,1,使用,Sniffer,分析,TCP,包格式,Page,33,/33,完成标准,能够熟练使用抓包工具软件,sniffer,能够根据所学知识分析,TCP,包头,查看,TCP,连接建立的过程与连接断开的过程,192.168.1.
展开阅读全文