版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2003年5月第1页一、运输层在网络体系结构中的地位和作用
物理层数据链路层运输层网络层应用层用户功能网络功能面向通讯面向信息处理8.1运输协议概述2003年5月第2页传输层的地位传输层Transport传输层TransportOSI上三层OSI上三层OSI下三层OSI下三层用户进程管理通信子网向上提供标准的传输服务向下屏蔽不同的通信子网通信的实质是两个主机中的应用进程相互通信IP协议只能把分组交给目的主机,不能交付给主机中的应用进程2003年5月第3页①物理层使链路上能透明地传送比特流;②链路层使各条链路能透明地传送无差错的帧(按序,无丢失,不重复);③网络层提供路由选择和网络互连;为主机之间提供逻辑通信④运输层提供一条端到端的可靠的通信服务;为应用进程之间提供逻辑通信注意:①全双工通信通路(即数字管道);②一个运输层协议通常可同时支持多个进程的连接;各层的作用注:通信子网提供的的服务越多,运输协议就可以越简单:例①网络若能提供虚电路服务,因为能保证报文无差错,不丢失,不重复接承交付,因而运输协议应很简单;②若网络层提供的是不可靠的数据报服务,则要求主机有一个复杂的运输协议。主机AAP1AP2AP3N1N2AP4AP5AP6主机B2003年5月第5页传输层协议概述严格地讲,两个主机进行通信实际上就是两个主机中的应用进程互相通信;网络层为主机之间提供逻辑通信,IP协议虽然能够把分组送到目的主机,但是无法交付给主机中的应用进程;在网络层,IP数据报首部中的检验和字段,只检验首部是否出现差错而不检查数据部分;因此,在网络层之上,设置一个传输层向它上面的应用层提供通信服务;2003年5月第6页8.2TCP/IP体系中的运输层一、运输层中的两个协议TCP/IP的传输层有2个不同的协议用户数据报协议UDP(UserDatagramProtocol)运输控制协议TCP(TransmissionControlProtocol)TCP的目的:用于在不可靠的互连网络上(不同的拓扑结构、带宽、延迟、分组大小及其它参数)实现可靠的端-端字节流服务与各种网络接口IPUDPTCP应用层IP层不保证报文正确传输,TCP进行超时、重传控制报文不一定按顺序到达,TCP进行重新装配2003年5月第7页多路复用多种应用数据TCP同时接收多个应用数据,把它们打包到数据段中传给IP;TCP能同时接收多个应用的数据;TCP通过端口来实现跟踪记录到达的报文要转发到的应用程序(端口80:超文本传输协议,http)测试所接收数据的完整性比较TCP头的校验和,如果出现问题就给源主机发一请求,要求其重发一份数据拷贝顺序化乱序接收的数据通过查看TCP头中的序列号域可以完成这个任务TCP的功能(一)2003年5月第8页速率-适应的流控流量控制使用的是TCP窗口大小。源和目的机的窗口大小通过TCP头进行通信如果机器的缓冲完全被填满,它就会发送一个有关最后收到数据的应答报文,其中新的窗口大小为0。这样会有效地使发送停止,直到拥塞的机器能清理掉其缓冲定时功能计时器可以间接地管理网络拥塞,其方法是当超时出现时减慢传输率应答接收没被应答的数据段被认为在传输过程中已丢失,并被重传TCP的功能(二)2003年5月第9页端口的概念什么是端口?端口就是传输层用来区分不同的应用进程的服务访问点;UDP和TCP都使用了与应用层接口处的端口(port)与上层的应用进程进行通信;应用层的各种进程是通过相应的端口与传输层实体进行交互;当传输层收到IP层交上来的数据(即TCP报文段或UDP数据报),就要根据其首部中的端口号来决定应当通过哪个端口上交给应当接收此数据的应用进程;端口在进程之间的通信中所起的作用应用进程应用进程应用进程应用进程应用层传输层网络层端口端口…端口端口…端口端口…端口端口…TCP复用UDP复用NSAPNSAPNSAPNSAPUDP分用TCP分用IP复用IP分用IP数据报IP数据报2003年5月第11页端口的复用和分用功能端口将应用层的不同进程区分开;使用复用和分用技术,使得传输层和网络层的交互看不见各种应用进程,而只有TCP报文段或UDP数据报;IP层也使用类似的复用和分用技术,因而网络层和数据链路层的交互也只有IP数据报。2003年5月第12页端口举例传输层和应用层的接口上所设置的端口是一个16比特的地址,并用端口号进行标识;端口号分为两类,一类是因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口,其数值一般为0-1023。另一类则是一般端口,用来随时分配给请求通信的客户进程;2003年5月第13页注意:①端口都是16位地址②用端口号进行标识③最常用的应用层程序称之“热知端口”(0~255)()()()()()()52016169252123RPCSNMPTFTPSMTPFTPTELNETUDPTCPIP熟知端口最常用的端口号
端口500端口501IP=3A端口500IP=2B端口25IP=5C连接1连接2连接3与主机C的SMTP建立三个连接①A与C先建立第一个连接,端口500→端口25②A与C后建立第二个连接,端口501→端口25③同样,B与C建立第三个连接,端口500→端口252003年5月第15页端口号与IP地址结合使用为了在通信时不致发生混乱,必须将端口号与主机的IP地址结合在一起使用;TCP使用“连接”作为最基本的抽象,一个连接由它的两个端点来标识,这样的端点称为插口(socket),就是我们常说的“套接字”。插口包括IP地址(32比特)和端口号(16比特),共48比特;在整个因特网中,在传输层通信的一对插口必须是唯一的;从上例可知:使用面向连接的TCP,就是建立一条端到端的虚连接。形成一对插口(3;501)和(5;25)2003年5月第16页Socket概念模型基本操作的含义Socket描述符PortTCPUDP创建Socket绑定接口和协议通信API2003年5月第17页8.3用户数据报协议UDPUDP只在IP的数据报服务之上增加了很少一点功能,就是端口的功能和差错检测的功能;UDP有两个字段:数据字段和首部字段;首部字段只有8个字节,组成4个字段,每个字段2个字节;增加端口的功能格式:首部数据UDP伪首部源端口目的端口长度检验和122222原IP地址目的IP地址017UDP长度指UDP的长度防止UDP数据报在传输中的出错44112共12字节伪首部2003年5月第19页UDP数据报帧IP头部UDP头部UDP头部应用数据应用数据应用数据IP头部UDP头部应用数据UDP数据报的封装2003年5月第20页UDP提供不确认无连接服务应用应用层协议传输层协议域名转换DNSUDP选路协议RIPUDP网络管理SNMPUDP远程文件服务器NFSUDPIP电话专用协议UDP流式多媒体通信专用协议UDP2003年5月第21页
UDP应用简单、简短的应用如查询操作、网络管理IPphone,利用UDP快捷的特点一般使用方式:客户/服务器模式服务端:固定守候在特定port:x,提供服务客户端:动态绑定任意port:n,向服务器的port发出请求,获得服务响应xServernClient请求(n,x)响应(x,n)2003年5月第22页其它应用方式通信双方都使用动态绑定谁先发起通信,需要知道对方的port号获取对方的port号方法1:有一方始终是固定的,如同C/S模式方法2:建立一个通用的C/S模型,在一个固定port上提供回答port号的服务请求:xxx服务使用的port号=? 响应:xxx服务使用的port号=nnn2003年5月第23页8.4传输控制协议TCP引言高层的许多应用需要传输大量的数据可靠的通信服务无法容忍IP或UDP提供的无可靠性保证的服务各种应用无法保证完全一致的可靠性方法TCP提供通用的、可靠的通信服务提供统一的数据流投递服务接口2003年5月第24页两种通信方法报文流投递和接收的单位为报文可靠性:报文按序接收连续报文流,报文边界接收的报文:大小和顺序严格与发送方相同发送单位:报文,前后报文不能合并接收单位:报文数据流投递和接收的单位为byte可靠性:byte按序接收连续字节流、无边界接收的字节:顺序严格与发送方发送的顺序相同发送单位:数据块或逐字节,前后可合并接收单位:数据块或逐字节2003年5月第25页
TCP可靠性保证采用面向连接的通信方式滑动窗口协议,以提高通信性能捎带确认方式未使用显示确认,减少报文种类TCP只有一种报文格式完成建立、撤除连接数据传输确认、流控、窗口滑动2003年5月第26页
TCP的端口、端点、连接端口、端点地概念和方式与UDP完全一致端口(port):TCP/UDP端口统一由Socket管理和分配端点(endpoint):由(IP地址,端口)表示连接TCP上通信双方抽象的虚电路连接每个连接由连接的一对端点标识如:(IP1,port1)和(IP2,port2)标识唯一一个连接2003年5月第27页共享端口号情况(IP1,Port1)
和(IP2,Port2)表示一个连接(IP1,Port1)
和(IP2,Port3)表示另一个连接TCP使用连接的一对端点来唯一标识一个连接两个连接只有在这四个值完全相同时,才认为是同一个连接适合C/S模型,服务器在一个端口上提供若干连接TCPTCP应用1应用1应用2应用2TCP应用1应用1应用1应用12003年5月第28页主动和被动建立连接TCP区分主动建立连接和被动建立连接主动建立连接发起建立连接方,一般是客户方被动建立连接接受建立连接方,一般是服务器方被动建立连接方一般先于主动连接方启动,但不发起连接建立过程,而是在某个端口上等待主动方的连接请求2003年5月第29页
TCP通信面临的问题较长的网络传输时延(穿越多个网)采用滑动窗口协议(采用停等协议性能非常低)高效利用网络通信资源报文丢失、重复、乱序滑动窗口控制顺序传输时延不定(端点远近差别很大)重传定时的动态确定网络拥塞探测拥塞问题、克服拥塞办法2003年5月第30页
数据流、报文段和序号TCP通信的动作切割:根据适合传输的大小对数据流进行切割最大报文段长度<64Kbytes复原:用报文段恢复原始数据流的字节顺序序号:排序、查错及数据流复原数据流切割报文段数据流TCP发送报文段数据流复原发送缓冲接收缓冲TCP接收TCP2003年5月第31页报文序号依据数据流中的字节序号(流序号)报文序号为报文段中第一字节的流序号如:流序号=x,长度=L的报文段,则:报文的序号为x,下一报文序号为x+L序号特点报文的顺序关系数据流的位置,更便于流的复原需较大的序号空间(32bit,4Gbyte)xL200序号:600200数据序号:400100数据序号:300第三组报文第二组报文第一组报文例如:在一个报文中,序号为300,而报文中数据有100字节。下一个报文符,其序号为400;2003年5月第33页TCP的流量控制TCP采用可变发送窗口的技术进行流量控制,窗口大小的单位是字节。在TCP报文段首部的窗口字段写入的数值就是当前设定的接收窗口数值。发送窗口在连接建立时由双方商定,在通信过程中,接收端可根据自己的资源情况,随时动态地调整自己的接收窗口,并且告诉对方,使对方的发送窗口和自己的接收窗口一致。1100101200301400401500501600601700701800801900201300接收端许诺的发送窗口已发送并确认已发送未确认可连续发送不可发送
说明:①发送端要发送的数据共9个报文段,每个报文符长100字节,共900个字节;②而接收端允许的发送窗口为500字节;③在当前情况下,发送方可连续发送5个报文符,而不必收到时确认,(已发送了二个,还可发送三个报文符);④发送方在收到确认后,就可将发送窗口向前移动。利用可变窗口进行流量控制举例主机A主机B序号=1序号=101序号=201确认序号=201窗口=300序号=301序号=401序号=201确认序号=501窗口=200序号=501确认序号=601窗口=0丢弃A还能发送300字节A还能发送200字节允许A再发送300字节A还能发送200字节A还能发送100字节A超时重发,但不能再发送A还能发送100字节允许A再发送200字节不允许A再发送主机A向主机B发送数据,双方商定的窗口值是400,每一个报文段为100字节,序号的初始值为1。主机B进行了3次流量控制。窗口=4002003年5月第36页发送端在发送数据时,既要考虑到接收方的接收能力,又要使网络不要发生拥塞。发送窗口的确定:发送窗口=Min[通知窗口,拥塞窗口]上式表明:发送窗口取二个窗口中的最小一个。注:①在未发生拥塞的稳定工作状态T,二个窗口是一致的。 ②通知窗口:是采用接收端的流量控制窗口,其窗口 值放在TCP报文首部中传送给发送端;③拥塞窗口:是发送端根据网络拥塞情况得出的窗口 值,来自发送端的流量控制。2.发送窗口2003年5月第37页TCP流量控制与拥塞控制TCP流量控制可变发送窗口(BYTE)TCP拥塞控制当加载到网络上的载荷超过其处理能力时,拥塞便会出现分组丢失而造成超时的原因传输线路的噪声干扰拥塞的路由器丢弃了分组目前互联网上发生的大多数超时现象都是由于拥塞造成的,传输错误造成的分组丢失较少解决拥塞最切实的办法是降低数据传输速率拥塞控制大部分是由TCP完成的。TCP试图通过动态地控制滑动窗口的大小来达到控制拥塞的目的2003年5月第38页①慢启动(slow-start)②加速递减(multiplicativedecrease)③拥塞避免(congestionavoidance)前提条件:通信线路使得分组丢失概率很小(﹤1%)慢启动(SlowStart)慢启动同时考虑可能造成拥塞的网络容量和接收方容量,取以下两个窗口的最小值作为可以发送的字节数上限通告窗口(OfferedWindow)拥塞窗口(CongestionWindow)拥塞控制的三种技术(一)2003年5月第39页拥塞窗口的大小发送方开始时发送一个报文段,然后等待ACK。当收到该ACK时,拥塞窗口从1增加为2,即可以发送两个报文段。当收到这两个报文段的ACK时,拥塞窗口就增加为4。这是一种指数增加的关系拥塞窗口是发送方使用的流量控制,而通告窗口则是接收方使用的流量控制所有的TCP实现都支持慢启动加速递减(MultiplicativeDecrease)每出现一次超时,门限窗口值减半。拥塞避免(CongestionAvoidance)当拥塞窗口增大到门限窗口值时,拥塞窗口的增长将变为线形增长,避免网络再次拥塞拥塞控制的三种技术(二)2003年5月第40页实现拥塞控制的步骤当一个连接初始化时,将拥塞窗口设置为1。并设置慢启动的门限窗口值。发送端的发送窗口不能超过拥塞窗口和通知窗口中的最小值,现在假定接收端不进行流量控制(即通知窗口无限大)。发送端若收到了对所有发出的报文段的确认,就在下一次发送时将拥塞窗口加倍。可见拥塞窗口从1开始,按指数规律增长。若出现了超时,则将当时的拥塞窗口值减半,作为新的门限窗口值,同时拥塞窗口再次变为1。拥塞窗口重新从1开始按指数规律增长,当增长到新的门限窗口值时,就每次只将拥塞窗口加1,使拥塞窗口按线性规律增长。当网络又出现了超时,仍重复上述过程。当拥塞窗口定为32时,发生超时,减少一半16,作为新的门限值。02416121241214拥塞窗口门限窗口线性增长指数增长发生超时门限窗口传输次数①初值①慢启动从1开始②“加速递减”出现一次超时,门限减半。③“拥塞避免”从指数增长改为线性增长。工作过程说明:①当一个连接初始化,将拥塞窗口置为1;②慢启动的门限窗口置为64→拥塞窗口增加32时超过;(2)发送端的发送窗口不能超过:Win发=Min[WIN通知,WIN拥塞](假定接收端不进行流量控制)(3)发送端若收到了所有发出的报文符的确认,就在下一次发送时将拥塞窗口加倍;注:“传输一次”是指发送窗口中的报文符全部发完,并收到所有的这些报文的确认;(4)拥塞窗口从1开始,按指数规律增长,假定,当拥塞窗口增加到32时出现了超时,于是将32的一半,即16作为新的门限窗口值。同时,(拥塞窗口再次变为1,即上图的起点。);(5)拥塞窗口从1开始,按指数规律增加;但当增加到门限值为为16时,就每次只将拥塞窗口加,使其按线规律增长;(6)图中,当拥塞窗口线性规律增长。(7)这时门限窗口又降到“1”,按指数据规律增长到12时,改为每次加“1”;注意,以上讨论可以看出:①“慢启动”是指每出现一次超时,拥塞窗口都降低到“1”,使报文每慢慢注入回到网络中。②“加速递减”是指每出现一次超时,就将门限值减半。③“拥塞避免”是指拥塞窗口增大到门限窗口值时,就将拥塞窗口值从指数增长降低为线性增长,避免网络再次出现拥塞。采用这样的流量控制的方法使得TCP的性能有明显的改进。2003年5月第44页TCP的报文重发是根据所设置的定时器决定的;当定时器的重发时间到而还没有收到确认,就要重发这一报文段;TCP采用了一种自适应算法确定超时定时器的重发时间。新的重传时间=γ*旧的重传时间
γ典型值为2TCP的重发机制2003年5月第45页
TCP报文格式TCP协议只定义了一种报文格式建立、拆除连接、传输数据使用同样的报文源端口UGR目的端口ACKPSHRSTSYNFIN序号确认序号保留数据偏移窗口检验和紧急指针选项和填充数据32bitTCP首部20字节2003年5月第46页TCP报文段首部(20个字节)源端口和目的端口:各占2个字节,16比特的端口号加上32比特的IP地址,共同构成相当于传输层服务访问点的地址,即“插口”;这些端口可用来将若干高层协议向下复用;2003年5月第47页序号字段和确认序号字段:序号:占4个字节,是本报文段所发送的数据部分第一个字节的序号。在TCP传送的数据流中,每一个字节都有一个序号。例如,一报文段的序号为300,而起数据供100字节,则下一个报文段的序号就是400;确认序号:占4字节,是期望收到对方下次发送的数据的第一个字节的序号,也就是期望收到的下一个报文段的首部中的序号;由于序号字段有32比特长,可以对4GB的数据进行编号,这样就可保证当序号重复使用时,旧序号的数据早已在网络中消失了;2003年5月第48页数据偏移字段数据偏移:占4比特,表示数据开始的地方离TCP报文段的起始处有多远。这实际上就是TCP报文段首部的长度。由于首部长度不固定,因此数据偏移字段是必要的。保留字段:6比特,供今后使用,目前置为0。2003年5月第49页6个比特的控制字段(1)紧急比特URGent:当URG=1时,表明此报文应尽快传送,而不要按原来的排队顺序来传送。与“紧急指针”字段配合使用,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号,使接收方可以知道紧急数据共有多长;确认比特ACK:只有当ACK=1时,确认序号字段才有意义;急迫比特PSH:当PSH=1时,表明请求远地TCP将本报文段立即传送给其应用层,而不要等到整个缓存都填满了之后再向上交付。2003年5月第50页6个比特的控制字段(2)复位比特ReSeT:当RST=1时,表明出现严重差错,必须释放连接,然后再重建传输连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接;同步比特SYN:在建立连接时使用,当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,在发回的报文段中使SYN=1和ACK=1。因此,SYN=1表示这是一个连接请求或连接接受报文,而ACK的值用来区分是哪一种报文;终止比特FINal:用来释放一个连接,当FIN=1时,表明欲发送的字节串已经发完,并要求释放传输连接;2003年5月第51页窗口字段窗口Window:占2字节,表示报文段发送方的接收窗口,单位为字节。此窗口告诉对方,“在未收到我的确认时,你能够发送的数据的字节数至多是此窗口的大小。”通知窗口advertisedwindow:接收端根据其接收能力许诺的窗口值,是来自接收端的流量控制。接收端将通知窗口的值放在TCP报文的首部中,传送给对方。拥塞窗口congestionwindow:是发送端根据网络拥塞情况得出的窗口值,是来自发送端的流量控制。2003年5月第52页检验和覆盖了整个的TCP报文段:TCP首部和TCP数据。这是一个强制性的字段,由发端计算和存储,由收端进行验证选项字段允许每台主机设定能够接受的最大TCP载荷能力(缺省536字节)其他字段2003年5月第53页帧IP头部TCP头部TCP头部应用数据应用数据应用数据IP头部TCP头部应用数据TCP分节的封装TCP分节segment2003年5月第54页TCP是面向连接的协议,运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。运输连接的管理:就是使运输连接的建立和释放都能正常地进行。在连接建立过程中要解决以下三个问题:要使每一方能够确知对方的存在;要允许双方协商一些参数(如,最大报文符长度,最大窗口大小,服务质量等)能够对运输实体资源(如缓冲区大小,连接表中的项目等)进行分配。TCP的运输连接管理2003年5月第55页TCP的传输连接管理—三次握手技术TCP是面向连接的协议,传输连接的建立和释放是每次通信中必不可少的过程。传输连接的管理就是使传输连接的建立和释放都能正常地进行。TCP连接的建立采用客户服务器方式,主动发起连接建立的进程称之为客户,被动等待连接建立的进程称之为服务器。为了确保连接的建立和释放都是可靠的,TCP使用三次握手的方式,其中交换了三个报文。已证明三次握手是在分组丢失、重复和延迟的情况下确保非模糊协定的充要条件。2003年5月第56页创建一个连接的三次握手TCP使用同步段SYN来描述用于创建一个连接的三次握手中的报文段;每一端产生一个随机32位序列号;每建立一个新连接,TCP就选择一个新的随机数;TCP重发丢失的SYN段;握手确保TCP不会打开一个新连接,直到两端达成一致。三次握手主要是防止已经失效的连接请求报文段突然又传到主机B,导致产生错误。P2092003年5月第57页用三次握手建立TCP连接(一)主机A主机B主动打开被动打开SYN=1,序号=x确认序号=y+1SYN=1,序号=y,确认序号=x+1确认确认2003年5月第58页主机A的TCP向主机B的TCP发出连接请求报文段,其首部中SYN=1,同时选择一个序号x,表明在后面传送数据时的第一个数据字节的序号是x。主机B的TCP收到连接请求报文段后,如同意,则发回确认,在确认报文段中,SYN=1,确认序号为x+1,同时也为自己选择一个序号y。主机A的TCP收到此报文段后,还要向主机B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版跨境电商平台佣金比例调整合同3篇
- 二零二五版个人教育贷款担保合同模板3篇
- 二零二五年建筑装修帮工雇佣合同2篇
- 二零二五版寄卖合同范本:艺术品寄售代理中介服务协议2篇
- 二零二五版办公设备智能化升级改造合同5篇
- 二零二五版桥梁工程劳务分包合同模板6篇
- 二零二五版职工住房借款与社区文化活动支持合同3篇
- 二零二五年度黄牛养殖与屠宰行业购销法律法规遵守合同3篇
- 二零二五年铝艺门安装与外观设计承包合同3篇
- 二零二五年度电商代发货及品牌授权合同2篇
- 店铺交割合同范例
- 大型活动LED屏幕安全应急预案
- 舞蹈课家长会
- 2024年内蒙古包头市中考道德与法治试卷
- 湖南省长沙市2024-2025学年高二上学期期中考试地理试卷(含答案)
- 自来水质量提升技术方案
- 金色简约蛇年年终总结汇报模板
- 农用地土壤环境质量类别划分技术指南(试行)(环办土壤2017第97号)
- 反向开票政策解读课件
- 工程周工作计划
- 房地产销售任务及激励制度
评论
0/150
提交评论