您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 高级网络技术--Computer Network-Chapter 6
计算机网络ComputerNetworks西南石油大学计算机科学学院龚捷第6-2页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksChapter6TheTransportLayer第6-3页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks传输层的主要作用传输层位于层次模型的第四层,最终目标是向用户----一般指应用层的进程,提供有效的、可靠的服务。传输层主要定义了主机应用程序间端到端的连通性,它一般包含如下三项基本功能。将应用层发往网络层的数据分段或将网络层发往应用层的数据段合并。建立端到端的连接,主要是建立逻辑连接以传送数据流。将数据段从一台主机正确的传送到另一台主机。保证传输的正确性。第6-4页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksOutline传输服务传输协议的要素UDP协议TCP协议第6-5页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks传输服务第6-6页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks传输协议的要素传输协议在有些方面类似于我们在前面学过的数据链路层协议。但是他们也有显著的差异。他们主要的差异是由于他们不同的运行环境引起的。第6-7页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks传输层为相互通信的应用进程提供了逻辑通信54321传输层提供应用进程间的逻辑通信主机A主机B应用进程应用进程路由器1路由器2AP1LAN2WANAP2AP3AP4IP层LAN1AP1AP2AP4端口端口54321IP协议的作用范围传输层协议TCP和UDP的作用范围AP3第6-8页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks传输层协议和网络层协议的主要区别应用进程…应用进程…IP协议的作用范围(提供主机之间的逻辑通信)TCP和UDP协议的作用范围(提供进程之间的逻辑通信)因特网第6-9页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks传输层编址—端口的作用(1)TCP/UDPDataP2P3P4P5P1IP?????,我们把数据交给那个应用进程TCP/UDPData应用层网络层物理网络第6-10页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks传输层编址—端口的作用(2)应用层传输层网络层TCP报文段UDP用户数据报应用进程TCP复用IP复用UDP复用TCP报文段UDP用户数据报应用进程端口端口TCP分用UDP分用IP分用IP数据报IP数据报发送方接收方第6-11页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks一些在TCP下的熟知端口PortProtocolDescription7EchoEchoesareceiveddatagrambacktothesender13DaytimeReturnsthedateandthetime17QuoteReturnsaquoteoftheday19ChargenReturnsastringofcharacters20FTP,DataFileTransferProtocol(dataconnection)21FTP,ControlFileTransferProtocol(controlconnection)23TELNETTerminalNetwork25SMTPSimpleMailTransferProtocol53DNSDomainNameServer67BOOTPBootstrapProtocol80HTTPHypertextTransferProtocol111RPCRemoteProcedureCall第6-12页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks端口的使用TCP52000TLENETclientTCP23TELENTserverData2352000Data2352000固定绑定,熟知端口动态绑定第6-13页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksTCP/UDP的作用在Internet中,传输层协议主要是TCP和UDP。UDP提供应用程序间传输数据的基本机制。UDP与IP一样是提供一种不可靠的,无连接的数据包交付服务。TCP提供应用程序之间的面向连接的可靠的通信机制。数据传输的过程要经过“建立连接”,“传输数据”,“拆除连接”等三个过程。第6-14页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksUDP协议(RFC768)HeaderDataSourceportnumber16bitsDestinationportnumber16bitsTotallength16bitsChecksum16bits8bytes总长度取值为8到6551565515=65535–20IP数据报总长度IP头部第6-15页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksUDP的伪头部All0sProtocolSourceIPaddressDestinationIPaddressUDPtotallengthSourceportnumberDest.portnumberUDPtotallengthChecksumData伪头部头部第6-16页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksTCP协议TCP协议向应用层提供面向连接的,可靠的字节流服务。广播和组播不能使用TCP。TCP通过差错检测机制和滑动窗口机制来保证可靠性。两个应用程序通过TCP连接交换8bit字节构成的字节流。TCP不在字节流中插入记录标识符。TCP对字节流的内容不作任何解释。第6-17页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks端口,端点和连接210.41.240.780Port:80Endpoint:(210.41.240.7,80)210.41.244.3316250Connection:(210.41.240.7,80)and(210.41.244.33,16250)第6-18页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksTCP概述端口…发送TCP报文段TCP…TCP接收缓存发送缓存报文段…报文段报文段端口发送端接收端向发送缓存写入数据块从接收缓存读取数据块应用进程应用进程第6-19页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksTCP报文格式第6-20页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksTCP连接的建立与终止TCP是一种面向连接的协议,所以在数据传输之前需要建立连接,在数据传输完成以后要断开连接。连接建立好后,所有的数据传输都必须按照连接定义好的路径传输。建立连接的过程采用了三次握手法,而断开连接的过程采用了四次握手法。第6-21页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksTCP连接建立过程三次握手法建立连接在TCP中采用2次握手法建立连接会存在很大的危险。在TCP的三次握手法之前要选择一个初始的顺序号(ISN),作为第一个报文的编号。ISN的选择一定是随机的。否则可能有非常严重的安全漏洞。第6-22页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks建立连接的过程TimeTime服务器等待被动打开客户执行主动打开操作报文段1,客户希望建立一个连接。报文段2,服务器同意建立连接。并发回自己的报文。报文段3,客户确认服务器的报文。三次握手法完成,在第三次数据报文中可以开始传输数据。第6-23页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksTCP连接断开过程断开连接问题要考虑的问题TCP断开连接的过程被认为是一个对称释放的过程。对称释放将连接按照两个独立的单向连接来处理,要求每一方分别释放连接。在对称释放连接中,即使一方主机发出了释放连接的TPDU,仍然能够继续接收数据。如果我们在释放连接时要求两端都需要同时确定对方是否准备释放连接。要设计出这要的协议是不可能的。第6-24页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks两军问题第6-25页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks断开连接的过程ClientServerTimeTime报文段1报文段2半边连接被关闭报文段3报文段4第6-26页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksClientServerTimeTime报文段1报文段2半边连接被关闭报文段3报文段4TCP的半关闭第6-27页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworksTCP的状态变迁图CLOSEDLISTENESTABLISHEDSYN_RCVDSYN_SENTFIN_WAIT_1FIN_WAIT_2CLOSINGTIME_WAITCLOSE_WAITLAST_ACKFIN/ACKACK/--FIN/ACKACK/--Close/FINFIN+ACK/ACKSYN/SYN+ACK(同时打开)RST/--Send/SYNClose/FINClose/FINACK/--SYN/SYN+ACKFIN/ACKSYN+ACK/ACKActiveopen/SYNPassiveopen/--2MSL超时ACK/--Closeortime-out/--主动关闭被动关闭Close/-第6-28页Copyright©2002-2006GONGJIEAllrightsreservedComputerNetworks2MSL等待状态每个TCP的实现中都有一个报文段最大生存时间MSL(MaximumSegmentLifetime)。它是任何报文段被丢弃前在网络内的最长时间。当TCP执行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留2倍MSL的时间。这样可让TCP再次发送最后的ACK以防这个ACK丢失。这个TCP连接在2MSL等待期间,定义这个连接的Sock不能再被使用。在连接处于2MSL等待时,任何迟到的报文将被丢弃。这样能够防止重复连接。第6-29页Copyright©2002-2006GONGJIEAllrightsreser
本文标题:高级网络技术--Computer Network-Chapter 6
链接地址:https://www.777doc.com/doc-3811633 .html