您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 11.传输层协议与应用
传输层协议与应用本章目标掌握TCP的封装和工作原理掌握UDP的封装和工作原理了解常用的TCP和UDP端口号对TCP和UDP首部能够进行分析本章结构传输层提供端到端的连接拥塞控制TCP的连接与断开TCP封装格式UDP封装格式传输层的作用UDP工作原理TCP工作原理流量控制差错控制计时器TCP的应用UDP的应用传输层的作用IP层提供点到点的连接传输层提供端到端的连接IP层:找到了这台主机!传输层:找到了应用进程传输层的协议TCP(TransmissionControlProtocol)传输控制协议可靠的、面向连接的协议传输效率低UDP(UserDatagramProtocol)用户数据报协议不可靠的、无连接的服务传输效率高TCP的工作原理TCP的封装格式连接与断开流量控制拥塞控制差错控制计时器TCP的封装格式源端口号目标端口号32位序列号32位确认号4位首部长度保留(6位)URGACKPSHRSTSYNFIN16位窗口大小16位校验和16位紧急指针可选项数据0151631发送TCP进程对应的端口号目标端接收进程的端口号0~232-1范围内,数据段标记,用于到目的端对到达包的重组0~232-1范围内,对发送端的确认信息,告诉发送端这个序号之前的数据段都收到了紧急指针有效位,与16位紧急指针配合使用确认序列号有效位,表明该数据包包含确认信息为1时,请求重新建立TCP连接为1时,请求建立连接为1时,数据发送完毕,请求断开连接滑动窗口的大小,指明本地可接收数据的字节数通知接收端立即将数据提交给用户进程,不在缓存中停留,等待更多的数据TCP的连接-三次握手发送SYN,请求建立连接(seq=100ctl=SYN)HostAHostB1发送SYN、ACK(seq=300ack=101ctl=SYN、ACK)23发送ACK(seq=101ack=301ctl=ACK)TCP的四次断开发送FIN,请求断开连接(seq=101,ack=301,ctl=FIN,ACK)HostAHostB1发送ACK(seq=301,ack=102ctl=ACK)24发送ACK(seq=102,ack=302ctl=ACK)3发送FIN,请求断开连接(seq=301,ack=102ctl=FIN,ACK)TCP的流控机制-滑动窗口HostAHostB12303接收方的缓冲区0132发送窗口大小为3通报窗口大小为1缓冲区满应用程序读取了1个数据段实际发送窗口大小变为1通报窗口大小为3TCP的流控机制-拥塞控制2-1Win=10Win=10Cwnd=5Win=10传输时窗口大小为10中间链路带宽比较窄,传输时窗口大小根据拥塞窗口(记为cwnd)的大小变为5Win=10,TCP的流控机制-拥塞控制2-2HostAHostB123通报窗口大小为3,但因为中间链路拥塞,丢包,只接收到102一个确认重传102,实际传输的窗口大小减小TCP的差错控制TCP差错控制的3种方式校验和确认受损伤的数据段丢失的数据段重复的数据段失序的数据段确认的丢失超时收到请确认TCP的计时器4-1重传计时器-为了控制丢失的数据段HostAHostB开启重传计时器,等待确认撤消重传计时器,再发送其他数据①A在重传计时器超时之前接收到ack②A在重传计时器超时之前没有接收到ack重传数据,并将重传计时器复位TCP的计时器4-2坚持计时器-为了防止零窗口死锁HostAHostB①A在坚持计时器超时之前接收到通知窗口大小的ack②A在坚持计时器超时之前没有接收到通知窗口大小的ack收到win=0的确认,等待对方发送确认来通知窗口的大小,并启动坚持计时器发送后续数据发送探测数据段,提醒接收端确认已丢失,如果没有坚持计时器和探测数据段,ack丢失时,双方将会进入等待死锁的状态丢失TCP的计时器4-3保活计时器-防止两个TCP之间的连接长时间的空闲HostAServer在保活计时器超时前,没有收到客户端发来的数据发送探测数据段,如果发送了10个探测数据段,还没有响应,则断开连接建立了TCP连接,开启保活计时器serverTCP的计时器4-4时间等待计时器-连接终止期间使用的在发送了最后一个ACK后,不立即关闭连接,而是等待一段时间,保证能接收到重复的FIN数据段。HostAHostB丢失如果A立即关闭,而ACK又丢失了。B会再发送FIN,但是A已经断开了连接,不会发送ACKA发送了最后一个ACK后,不立即关闭连接,等时间等待计时器超时后再关闭TCP的应用端口协议说明21FTP文件传输协议,用于上传、下载23Telnet用于远程登录,通过连接目标计算机的这一端口,得到验证后可以远程控制管理目标计算机25SMTP简单邮件传输协议,用于发送邮件53DNS域名服务,当用户输入网站的名称后,由DNS负责将它解析成IP地址,这个过程中用到的端口号是5380HTTP超文本传输协议,通过HTTP实现网络上超文本的传输阶段总结TCP的封装格式TCP的连接与断开流控机制拥塞控制差错控制计时器阶段练习在TCP中如何防止数据段的丢失?如果接收方的缓存已经满了,接收方会向发送发发送什么样的确认信息?发送方收到后会怎么处理?UDP的封装格式16位源端口号16位目标端口号16位UDP长度16位UDP校验和数据发送端的UDP进程端口号接收端的UDP进程端口号包含数据的长度,可以算出数据的结束位置UDP的差错控制(可选)0151631UDP的使用端口协议说明69TFTP简单文件传输协议53DNS域名服务123NTP网络时间协议111RPC远程过程调用DNS服务器支持TCP和UDP两种协议的查询方式,而且端口都是53。大多数的查询都是UDP查询的,一般需要TCP查询的有两种情况:①当查询数据较大以至于产生了数据分段,这时,需要利用TCP的分片能力来进行数据传输。②当主(master)服务器和辅(slave)服务器之间数据同步通信的时候。UDP的流控和差错控制UDP没有流控机制UDP只有校验和来提供差错控制需要上层协议来提供差错控制:例如TFTP协议HostAHostBTFTP协议提供分块传输、分块确认的机制,保证数据传输的可靠性TCP/IP协议栈FTPIPTFTPUDPTCPTelnetSMTPHTTP应用层传输层网络层会话层表示层数据链路层EthernetPPPFrameRelay根据链路类型选择不同的协议,对上层透明根据协议号选择应该提交给TCP还是UDP根据端口号提交给相应的应用程序抓包分析实例-拓朴结构192.168.2.86192.168.1.3代理服务器InternetSniffer一种协议分析工具软件,可以捕获网络中的数据包抓包分析实例-软件使用2-1添加过滤开始抓包设置需要查看的主机的IP地址;应用配置的过滤抓包分析实例-软件使用2-2添加过滤开始抓包打开网页关闭网页结束抓包抓包分析实例-TCP连接建立序列号:Initialsequencenumber=3042697805SYN=1序列号:Initialsequencenumber=1093837408确认号:Acknowledgmentnumber=3042697806ACK=1SYN=1序列号:Sequencenumber=3042697806确认号:1093837409ACK=11192.168.2.86→192.168.1.32192.168.1.3→192.168.2.863192.168.2.86→192.168.1.3抓包分析实例-断开连接FIN=1ACK=1ACK=1FIN=1ACK=11192.168.2.86→192.168.1.32192.168.1.3→192.168.2.863192.168.1.3→192.168.2.864192.168.2.86→192.168.1.3本章总结传输层提供端到端的连接拥塞控制TCP的连接与断开TCP封装格式UDP封装格式传输层的作用UDP工作原理TCP工作原理流量控制差错控制计时器TCP的应用UDP的应用可靠的传输层协议源端口号目标端口号32位序列号32位确认号首部长度标志位SYN、ACK、FIN16位窗口大小不可靠的传输层协议源端口号目标端口号16位UDP长度实验任务1使用Sniffer分析TCP包格式完成标准能够熟练使用抓包工具软件sniffer能够根据所学知识分析TCP包头查看TCP连接建立的过程与连接断开的过程FTPserverclientSniffer192.168.1.1192.168.1.X
本文标题:11.传输层协议与应用
链接地址:https://www.777doc.com/doc-3917266 .html