《计算机网络_运输层04.ppt》由会员分享,可在线阅读,更多相关《计算机网络_运输层04.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算算机机网网络第第 5 章章 运运输层四四2021/9/241课程回顾课程回顾1、理解流量控制中,窗口的、理解流量控制中,窗口的变化。化。2、拥塞控制:防止塞控制:防止过多的数据注入到网多的数据注入到网络中,中,这样可以使网可以使网络中的路由器或中的路由器或链路不致路不致过载。3、理解、理解拥塞控制的方法。塞控制的方法。4、TCP首部中的控制位。首部中的控制位。5、TCP首部中的序号和确首部中的序号和确认号。号。6、当、当发送方的超送方的超时计时器器时间到,到,还没有收到确没有收到确认,说明什么?此明什么?此时应采用什么采用什么办法控制?法控制?7、当、当发送方接到三个送方接到三个连续的相同
2、确的相同确认,说明什么明什么?此?此时应采用什么采用什么办法控制?法控制?2021/9/24计计算机学院算机学院2计算机网算机网络课程目程目标掌握以下内容:掌握以下内容:1、TCP的的连接与接与释放。放。2、数据包分析。、数据包分析。2021/9/24计计算机学院算机学院3计算机网算机网络5-9 TCP 的运的运输连接管理接管理1.运运输连接的三个接的三个阶段段 n运运输连接有三个接有三个阶段,即:段,即:连接建立接建立、数据数据传送送和和连接接释放放。运。运输连接的管理就是使运接的管理就是使运输连接的建立和接的建立和释放都能正常地放都能正常地进行。行。n连接建立接建立过程中要解决以下三个程中
3、要解决以下三个问题:n要使每一方能要使每一方能够确知确知对方的存在。方的存在。n要允要允许双方双方协商一些参数(如最大商一些参数(如最大报文段文段长度,最大窗口大小,服度,最大窗口大小,服务质量等)。量等)。n能能够对运运输实体体资源(如源(如缓存大小,存大小,连接表接表中的中的项目等)目等)进行分配。行分配。2021/9/24计计算机学院算机学院4计算机网算机网络客客户服服务器方式器方式 nTCP 连接的建立都是采用客接的建立都是采用客户服服务器方式。器方式。n主主动发起起连接建立的接建立的应用用进程叫做程叫做客客户(client)。n被被动等待等待连接建立的接建立的应用用进程叫做程叫做服服
4、务器器(server)。2021/9/24计计算机学院算机学院5计算机网算机网络用三次握手建立用三次握手建立 TCP 连接接 SYN=1,seq=xCLOSEDCLOSED主动打开连接被动打开连接AB客户服务器5.9.1 TCP 的连接建立A 的 TCP 向 B 发出连接请求报文段,其首部中的同步位 SYN=1,并选择序号 seq=x,表明传送数据时的第一个数据字节的序号是 x。TCP规定,SYN报文段不能携带数据,要浪费一个序号。Rwnd:8002021/9/24计算机学院算机学院6用三次握手建立用三次握手建立 TCP 连接接 SYN=1,seq=xCLOSEDCLOSED主动打开被动打开A
5、B客户服务器5.9.1 TCP 的连接建立 B 的 TCP 收到连接请求报文段后,如同意,则 发回确认。该报文段不携带数据,但消耗序号。B 在确认报文段中应使 SYN=1,使 ACK=1,其确认号ack=x 1,自己选择的序号 seq=y。SYN-SENTLISTENSYN=1,ACK=1,seq=y,ack=x 1Rwnd:500Rwnd:8002021/9/24计算机学院算机学院7SYN=1,seq=xCLOSEDCLOSED主动打开连接被动打开连接AB客户服务器SYN=1,ACK=1,seq=y,ack=x 1 A 收到此报文段后向 B 给出确认,其 ACK=1,确认号 ack=y 1。
6、A 的 TCP 通知上层应用进程,连接已经建立。TCP标准规定,ACK报文段可以携带数据。但如果不携带数据则不消耗序号。SYN-SENTLISTENSYN-RCVDRwnd:500ACK=1,seq=x+1,ack=y 1Rwnd:800Rwnd:8002021/9/24计算机学院算机学院8SYN=1,seq=xACK=1,seq=x+1,ack=y 1CLOSEDCLOSED数据传送主动打开被动打开AB客户服务器SYN=1,ACK=1,seq=y,ack=x 1 B 的 TCP 收到主机 A 的确认后,也通知其上层 应用进程:TCP 连接已经建立。SYN-SENTLISTENSYN-RCVD
7、ESTAB-LISHEDESTAB-LISHEDRwnd:500Rwnd:800Rwnd:8002021/9/24计算机学院算机学院9SYN-SENTESTAB-LISHEDSYN-RCVDLISTENESTAB-LISHED用三次握手建立用三次握手建立 TCP 连接的各状接的各状态 SYN=1,seq=xACK=1,seq=x+1,ack=y 1CLOSEDCLOSED数据传送主动打开被动打开AB客户服务器5.9.1 TCP 的连接建立SYN=1,ACK=1,seq=y,ack=x 1Rwnd:500Rwnd:800Rwnd:8002021/9/24计算机学院算机学院10为什么什么A还要要发
8、送确送确认呢呢 n已失效的已失效的连接接请求求报文段。文段。n第一个第一个连接接请求求丢失,第二个失,第二个连接接请求到达了。求到达了。连接建立。接建立。n如果第一个没如果第一个没丢失,而是在数据失,而是在数据传输完成之后到完成之后到达接收方。达接收方。B以以为又要建立又要建立连接,于是接,于是给出确出确认,如果不采用三次握手,如果不采用三次握手,连接就建立完成。接就建立完成。n实际上,上,A并没有要建立并没有要建立连接,所以不接,所以不给出确出确认,于是于是B就就处在等待中,在等待中,B收不到收不到A的确的确认,就知,就知道道A没有要求建立没有要求建立连接。接。n所以所以A还要要发送确送确认
9、。这就是所就是所谓的三次握手。的三次握手。2021/9/24计计算机学院算机学院11计算机网算机网络CLOSED数据包分析数据包分析(1、第一个数据包、第一个数据包)2021/9/24计算机学院算机学院12CLOSED数据包分析数据包分析(1、第一个数据包、第一个数据包)2021/9/24计算机学院算机学院13数据包分析数据包分析(1、第一个数据包、第一个数据包)2021/9/24计算机学院算机学院14CLOSED数据包分析数据包分析(2、第二个数据包、第二个数据包)2021/9/24计算机学院算机学院15CLOSED数据包分析数据包分析(2、第二个数据包、第二个数据包)2021/9/24计算
10、机学院算机学院16CLOSED数据包分析数据包分析(2、第二个数据包、第二个数据包)2021/9/24计算机学院算机学院17CLOSED数据包分析数据包分析(3、第三个数据包、第三个数据包)2021/9/24计算机学院算机学院18数据包分析数据包分析(4、第四个数据包、第四个数据包)2021/9/24计算机学院算机学院19数据包分析数据包分析(5、第五个数据包、第五个数据包)2021/9/24计算机学院算机学院20数据包分析数据包分析(6、第六个数据包、第六个数据包)2021/9/24计算机学院算机学院21数据包分析数据包分析(6、第六个数据包、第六个数据包)2021/9/24计算机学院算机学
11、院22数据包分析数据包分析(7、第七个数据包、第七个数据包)2021/9/24计算机学院算机学院23数据包分析数据包分析(8、第八个数据包、第八个数据包)2021/9/24计算机学院算机学院24数据包分析数据包分析(8、第八个数据包、第八个数据包)2021/9/24计算机学院算机学院25数据包分析数据包分析2021/9/24计算机学院算机学院26FIN=1,seq=uCLOSED主动关闭数据传送ESTAB-LISHEDESTAB-LISHEDAB客户服务器CLOSED5.9.2 TCP 的连接释放 数据传输结束后,通信的双方都可释放连接。现在 A 的应用进程先向其 TCP 发出连接释放 报文段
12、,并停止再发送数据,主动关闭 TCP 连接。A 把连接释放报文段首部的 FIN=1,其序号 seq=u(已传送过的最后一个字节的序号加1),等待 B 的确认。2021/9/24计算机学院算机学院27FIN=1,seq=uACK=1,seq=v,ack=u 1主动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器5.9.2 TCP 的连接释放 B 发出确认,确认号 ack=u 1,而这个报文段自己的序号 seq=v。TCP 服务器进程通知高层应用进程。从 A 到 B 这个方向的连接就释放了,TCP 连接 处于半关闭状态。B 若发送数据,A 仍要接收。2021/
13、9/24计算机学院算机学院28FIN=1,seq=uACK=1,seq=v,ack=u 1FIN=1,ACK=1,seq=w,ack=u 1主动关闭被动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器数据传送5.9.2 TCP 的连接释放 若 B 已经没有要向 A 发送的数据,其应用进程就通知 TCP 释放连接。2021/9/24计算机学院算机学院29FIN=1,seq=uACK=1,seq=v,ack=u 1FIN=1,ACK=1,seq=w,ack=u 1主动关闭被动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器
14、数据传送5.9.2 TCP 的连接释放 A 收到连接释放报文段后,必须发出确认。ACK=1,seq=u+1,ack=w 12021/9/24计算机学院算机学院30FIN=1,seq=uACK=1,seq=v,ack=u 1FIN=1,ACK=1,seq=w,ack=u 1主动关闭被动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器数据传送5.9.2 TCP 的连接释放 在确认报文段中 ACK=1,确认号 ack w 1,自己的序号 seq=u+1。ACK=1,seq=u+1,ack=w 12021/9/24计算机学院算机学院31CLOSEDACK=1,se
15、q=u+1,ack=w 1FIN=1,seq=uACK=1,seq=v,ack=u 1FIN=1,ACK=1,seq=w,ack=u 1FIN-WAIT-1CLOSE-WAITFIN-WAIT-2LAST-ACK等待 2MSLTIME-WAIT主动关闭被动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器数据传送CLOSED5.9.2 TCP 的连接释放 TCP 连接必须经过时间 2MSL 后才真正释放掉。MSL:最长报文段寿命,建议2分钟2021/9/24计算机学院算机学院32A 必必须等待等待 2MSL 的的时间n第一,第一,为了保了保证 A 发送的最后
16、一个送的最后一个 ACK 报文文段能段能够到达到达 B。n第二,防止第二,防止“已失效的已失效的连接接请求求报文段文段”出出现在本在本连接中。接中。A 在在发送完最后一个送完最后一个 ACK 报文段文段后,再后,再经过时间 2MSL,就可以使本,就可以使本连接持接持续的的时间内所内所产生的所有生的所有报文段,都从网文段,都从网络中消失。中消失。这样就可以使下一个新的就可以使下一个新的连接中不会出接中不会出现这种旧种旧的的连接接请求求报文段。文段。2021/9/24计计算机学院算机学院33计算机网算机网络释放放连接:数据包分析(接:数据包分析(1-1)2021/9/24计算机学院算机学院34释放
17、放连接:数据包分析(接:数据包分析(1-2)2021/9/24计算机学院算机学院35释放放连接:数据包分析(接:数据包分析(1-3)2021/9/24计算机学院算机学院36释放放连接:数据包分析(接:数据包分析(2-1)2021/9/24计算机学院算机学院37释放放连接:数据包分析(接:数据包分析(2-2)2021/9/24计算机学院算机学院38释放放连接:数据包分析(接:数据包分析(2-3)2021/9/24计算机学院算机学院39释放放连接:数据包分析(接:数据包分析(3-1)2021/9/24计算机学院算机学院40释放放连接:数据包分析(接:数据包分析(3-2)2021/9/24计算机学院
18、算机学院41释放放连接:数据包分析(接:数据包分析(3-3)2021/9/24计算机学院算机学院42释放放连接:数据包分析(接:数据包分析(4-1)2021/9/24计算机学院算机学院43释放放连接:数据包分析(接:数据包分析(4-2)2021/9/24计算机学院算机学院44释放放连接:数据包分析(接:数据包分析(4-3)2021/9/24计算机学院算机学院455.9.3 TCP 的有限状的有限状态机机nTCP 有限状有限状态机的机的图中每一个方框都是中每一个方框都是 TCP 可可能具有的状能具有的状态。n每个方框中的大写英文字符串是每个方框中的大写英文字符串是 TCP 标准所使准所使用的用的
19、 TCP 连接状接状态名。状名。状态之之间的箭的箭头表示可表示可能能发生的状生的状态变迁。迁。n箭箭头旁旁边的字,表明引起的字,表明引起这种种变迁的原因,或表迁的原因,或表明明发生状生状态变迁后又出迁后又出现什么什么动作。作。n图中有三种不同的箭中有三种不同的箭头。n粗粗实线箭箭头表示表示对客客户进程的正常程的正常变迁。迁。n粗虚粗虚线箭箭头表示表示对服服务器器进程的正常程的正常变迁。迁。n另一种另一种细线箭箭头表示异常表示异常变迁。迁。2021/9/24计算机学院算机学院46TCP的的有有限限状状态机机 CLOSEDESTABLISHEDLISTENCLOSE_WAITFIN_WAIT_1S
20、YN_RCVDFIN_WAIT_2CLOSINGTIME_WAITSYN_SENTLAST_ACK主动打开主动打开被动打开被动打开被动关闭被动关闭主动关闭主动关闭起点起点被动打开被动打开主动打开主动打开 发送发送 SYN同时打开同时打开收到收到 SYN,发送,发送 SYN,ACK收到收到 ACK数据传送数据传送 阶段阶段 关闭关闭发送发送 FIN 关闭关闭发送发送 FIN 关闭关闭发送发送 FIN收到收到 RST 收到收到 SYN发送发送 SYN,ACK 关闭关闭或超时或超时收到收到 ACK 收到收到 SYN,ACK发送发送 ACK收到收到 ACK收到收到 ACK收到收到 FIN发送发送 AC
21、K收到收到 FIN,ACK 发送发送 ACK收到收到 FIN发送发送 ACK同时关闭同时关闭收到收到 FIN发送发送 ACK发送发送 SYN定时经过两倍报文段寿命后定时经过两倍报文段寿命后关闭关闭2021/9/24计算机学院算机学院47练习题3-1 TCP使用三次握手使用三次握手协议来建立来建立连接,接,设甲乙双方甲乙双方发送送报文的初始序号分文的初始序号分别为X和和Y,甲方,甲方发送(送()的)的报文文给乙乙方,乙方接收方,乙方接收报文后文后发送(送()的)的报文文给甲方,然后甲方甲方,然后甲方发送一个确送一个确认报文文给乙方便建立了乙方便建立了连接。接。A.SYN=1,序号序号=X B.S
22、YN=1,序号序号=X+1,ACKx=1 C.SYN=1,序号序号=Y D.SYN=1,序号序号=y,ACKy+1=1A.SYN=1,序号序号=X+1B.SYN=1,序号序号=X+1,ACKx=1 C.SYN=1,序号序号=Y,ACKx+1=1D.SYN=1,序号序号=y,ACKy+1=1(注:(注:ACK的下的下标为捎捎带的序号)的序号)解答:解答:A;C2021/9/24计计算机学院算机学院48计算机网算机网络练习题3-2 TCP为了了实现可靠的服可靠的服务,采用超,采用超时重重传、确、确认捎捎带技技术。其中,在确。其中,在确认信息中捎信息中捎带()的序号以减()的序号以减少通信量。少通信
23、量。A.上一个已接收的上一个已接收的报文文 B.下一个希望接收的下一个希望接收的报文文C.正在正在发送的送的报文文D.下一个将要下一个将要发送的送的报文文解答:解答:B2021/9/24计计算机学院算机学院49计算机网算机网络练习题3-3主机甲和主机乙之主机甲和主机乙之间已建立一个已建立一个TCP连接,接,TCP最大段的最大段的长度度为1000字字节,若主机甲的当前,若主机甲的当前拥塞窗口塞窗口为4000字字节,在主机甲向,在主机甲向主机乙主机乙连续发送送2个最大个最大报文段后,成功收到主机乙文段后,成功收到主机乙发送的第一段送的第一段的确的确认段,确段,确认段中通告的接收窗口大小段中通告的接
24、收窗口大小为2000字字节,则此此时主机主机甲甲还可以向主机乙可以向主机乙发送的最大字送的最大字节数是()。数是()。A.1000B.2000C.3000D.4000解答:解答:A解析:主机甲向主机乙解析:主机甲向主机乙连续发送送2个最大个最大报文段,而主机甲只成功文段,而主机甲只成功收到第一段的确收到第一段的确认,此,此时,发送窗口大小送窗口大小变为2000字字节,所以,主,所以,主机甲机甲还可以向主机乙可以向主机乙发送送1000字字节。注意:注意:拥塞窗口塞窗口为4000字字节的的时候,候,发送窗口送窗口应为多少?多少?2021/9/24计计算机学院算机学院50计算机网算机网络课程程总结1
25、、TCP连接与接与释放。放。理解理解TCP的工作原理,可靠的工作原理,可靠传输的机制,的机制,连接与接与释放的放的过程。程。2、数据包分析。、数据包分析。如何捕如何捕获并分析数据包。并分析数据包。根据捕根据捕获的数据包的数据包进行分析,行分析,验证计算机网算机网络原理,并能通原理,并能通过数据包的分析了解如何解决数据包的分析了解如何解决简单的网的网络问题。2021/9/24计计算机学院算机学院51计算机网算机网络第第20集集预告告1、域名系、域名系统的工作原理和作用。的工作原理和作用。2、FTP的工作原理和作用。的工作原理和作用。3、通、通过捕捕获的的FTP的数据包分析并理解其工作原的数据包分析并理解其工作原理。理。4、理解、理解TFTP的工作原理和的工作原理和设置。置。2021/9/24计计算机学院算机学院52计算机网算机网络作作业第第5章章习题23、39n上交上交时间:12月月10日上日上课交作交作业【同同时上上交交实验报告告】,由学委收,由学委收齐,按学号排序按学号排序。过期不收。期不收。n要求:用要求:用A4纸交作交作业,手写完成,写清班,手写完成,写清班级学号和姓名。学号和姓名。n禁止抄禁止抄袭:雷同作:雷同作业均零分。均零分。2021/9/24计算机学院算机学院53寄寄语 每天每天进步一点点步一点点 2021/9/24计算机学院算机学院54