第4章运输层.ppt
《第4章运输层.ppt》由会员分享,可在线阅读,更多相关《第4章运输层.ppt(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机网络计算机网络-第第 4 章章 运输层运输层2021/9/241目录目录n运输层的功能和服务运输层的功能和服务n应用进程寻址:端口机制应用进程寻址:端口机制nUDPUDP数据报的格式和差错检测数据报的格式和差错检测nTCPTCP报文段格式、报文段格式、TCPTCP通信过程、可靠数据传递、通信过程、可靠数据传递、流量控制和拥塞控制原理流量控制和拥塞控制原理2021/9/242运输层的功能和服务运输层的功能和服务n传输层要为应用层建立一个传输层要为应用层建立一个“端到端端到端”的逻辑连的逻辑连接,这个连接是跨越网络的。从应用层的角度看,接,这个连接是跨越网络的。从应用层的角度看,传输层为其提
2、供了一条端到端的数据通道,通过传输层为其提供了一条端到端的数据通道,通过这个通道,数据可以从一方到达另一方这个通道,数据可以从一方到达另一方n传输层可以为应用层提供两类服务传输层可以为应用层提供两类服务,可靠的服务可靠的服务和不可靠的服务和不可靠的服务2021/9/243运输层提供的服务运输层提供的服务2021/9/244运输层的功能运输层的功能n应用进程寻址应用进程寻址n提供数据的可靠传递提供数据的可靠传递n流量控制流量控制n拥塞控制拥塞控制2021/9/245应用进程寻址应用进程寻址n运输层则需要提供应用进程的寻址,以确保数运输层则需要提供应用进程的寻址,以确保数据交给正确的应用进程。据交
3、给正确的应用进程。发AP1收AP4发AP1收AP4发AP2收AP5发AP2收AP5发AP3收AP6发AP3收AP62021/9/246提供数据的可靠传递提供数据的可靠传递n由于网络层在转发分组时,可能会出现分组乱由于网络层在转发分组时,可能会出现分组乱序和分组丢失的现象,所以运输层要能够检测序和分组丢失的现象,所以运输层要能够检测到这些错误,并能处理这些错误,为应用层提到这些错误,并能处理这些错误,为应用层提供一条无错的通信通道。供一条无错的通信通道。2021/9/247流量控制流量控制n两个应用进程两个应用进程A和和B进行通信。进行通信。A产生数据,产生数据,将数据发给将数据发给B。连接。连
4、接AB的每一端都会为这个的每一端都会为这个连接分配一定数量的缓存。当收到正确的字节连接分配一定数量的缓存。当收到正确的字节后,就会将数据放入缓存,等待应用进程将其后,就会将数据放入缓存,等待应用进程将其取走。如果发送方继续快速地发送数据,那么取走。如果发送方继续快速地发送数据,那么缓存就会被充满,最后溢出。所以,需要有一缓存就会被充满,最后溢出。所以,需要有一种机制来控制发送方发送数据的速度,保证接种机制来控制发送方发送数据的速度,保证接收缓存不溢出,从而确保接收进程能够顺次地收缓存不溢出,从而确保接收进程能够顺次地处理所有的数据。处理所有的数据。2021/9/248缓存缓存缓存缓存缓存满了,
5、再来就溢出了!发送数据块H1,你发的太快了!2021/9/249拥塞控制拥塞控制n如果分组网络中涌入大量的数据,加在网络上如果分组网络中涌入大量的数据,加在网络上的负载超过网络的存储和处理能力,就会出现的负载超过网络的存储和处理能力,就会出现分组传递时延增加,分组丢失,服务质量下降分组传递时延增加,分组丢失,服务质量下降的情况,这种现象称为拥塞。如果不采取有效的情况,这种现象称为拥塞。如果不采取有效的检测和控制手段,则拥塞情况就会加重,最的检测和控制手段,则拥塞情况就会加重,最终导致网络崩溃。因此,运输层需要能够检测终导致网络崩溃。因此,运输层需要能够检测拥塞并控制拥塞。拥塞并控制拥塞。202
6、1/9/2410应用进程寻址应用进程寻址n随着各种各样的应用不断增多,应用层协议也随着各种各样的应用不断增多,应用层协议也会不断地增多。而在会不断地增多。而在TCP/IPTCP/IP协议体系中,运输协议体系中,运输层协议只有两个,这样会出现多个应用层协议层协议只有两个,这样会出现多个应用层协议使用同一个运输层协议的情况。这就涉及到了使用同一个运输层协议的情况。这就涉及到了应用进程寻址的问题。应用进程寻址的问题。2021/9/2411应用进程寻址应用进程寻址端口机制端口机制nTCP/IPTCP/IP提供端口机制。端口是运输层协议和应提供端口机制。端口是运输层协议和应用层协议交互时的接口,每个端口
7、有唯一的端用层协议交互时的接口,每个端口有唯一的端口号,并且有相应的输入和输出缓存。一个应口号,并且有相应的输入和输出缓存。一个应用进程通过系统调用可以绑定到运输层协议用进程通过系统调用可以绑定到运输层协议(UDPUDP或或TCPTCP)的一个端口上,这样通过端口号)的一个端口上,这样通过端口号就能确定对应的应用进程,端口和应用进程是就能确定对应的应用进程,端口和应用进程是一一对应的一一对应的2021/9/2412端口机制端口机制多路复用多路复用/分解分解2021/9/2413UDP协议概述协议概述n用户数据报协议(用户数据报协议(UDPUDP)是)是TCP/IPTCP/IP协议体系中协议体系
8、中运输层协议之一。运输层协议之一。UDPUDP协议只实现了运输层可协议只实现了运输层可以完成的以完成的4 4项功能中的一部分,就是应用进程项功能中的一部分,就是应用进程的寻址。的寻址。2021/9/2414UDP协议特点协议特点nUDPUDP是无连接的,即发送数据之前不需要建立是无连接的,即发送数据之前不需要建立连接。连接。nUDPUDP使用尽力而为的服务方式,也就是不能保使用尽力而为的服务方式,也就是不能保证可靠的传输。证可靠的传输。nUDPUDP是高效的传输协议。是高效的传输协议。UDPUDP对应用层交下来的对应用层交下来的报文,既不合并,也不拆分,这可使应用层的报文,既不合并,也不拆分,
9、这可使应用层的数据被迅速、及时地发送出去。数据被迅速、及时地发送出去。nUDPUDP没有拥塞控制。没有拥塞控制。2021/9/2415使用使用UDP的应用层协议的应用层协议应 用应用层协议运输层协议域名解析DNSUDP网络管理SNMPUDP路由信息交换RIPUDP简单文件传输TFTPUDP网络文件系统NFSUDPIP电话专有协议UDP流式多媒体专有协议UDP2021/9/2416UDP数据报格式数据报格式nUDPUDP数据报由数据报由UDPUDP首部和其封装的应用层数据组首部和其封装的应用层数据组成,是成,是UDPUDP协议的传输单元。协议的传输单元。UDPUDP的首部比较简的首部比较简单,只
10、有单,只有8 8个字节。个字节。2021/9/2417UDP首部各字段意义首部各字段意义n源端口:发送方应用进程对应的端口号源端口:发送方应用进程对应的端口号n目的端口:接收方应用进程对应的端口号,利目的端口:接收方应用进程对应的端口号,利用源端口和目的端口可以实现多路复用和多路用源端口和目的端口可以实现多路复用和多路分解。分解。n长度:长度:UDPUDP用户数据报的长度。用户数据报的长度。n检验和:检测检验和:检测UDPUDP用户数据报在传输中是否有用户数据报在传输中是否有错。有错就丢弃。错。有错就丢弃。2021/9/2418UDP的差错检测的差错检测nUDPUDP提供首部校验和字段来检测提
11、供首部校验和字段来检测UDPUDP数据报在传数据报在传输过程中的错误。输过程中的错误。n在计算检验和时,要在在计算检验和时,要在UDPUDP用户数据报之前增用户数据报之前增加加1212个字节的伪首部。个字节的伪首部。“伪首部伪首部”只是在计只是在计算检验和时,临时添加在算检验和时,临时添加在UDPUDP用户数据报前面,用户数据报前面,得到一个临时的得到一个临时的UDPUDP用户数据报。伪首部既不用户数据报。伪首部既不向下传送也不向上递交,而仅仅是为了计算检向下传送也不向上递交,而仅仅是为了计算检验和。验和。2021/9/2419UDP数据报添加的伪首部数据报添加的伪首部n伪首部中含有源伪首部中
12、含有源IPIP地址和目的地址和目的IPIP地址。伪首部地址。伪首部中的中的1717是分配给是分配给UDPUDP的协议编号。的协议编号。UDPUDP长度是指长度是指UDPUDP报文的长度(包括首部和数据)。报文的长度(包括首部和数据)。2021/9/2420校验和的计算例子校验和的计算例子nUDPUDP用户数据报的长度是用户数据报的长度是1515字节。源端口是字节。源端口是“10871087”,目的端口是,目的端口是“1313”。IPIP源地址是源地址是“153.19.8.104153.19.8.104”,目的地址是,目的地址是“171.3.14.11171.3.14.11”。2021/9/24
13、21校验和的计算过程校验和的计算过程2021/9/2422TCP概述概述nTCP(TCP(传输控制协议传输控制协议)是专门为了在不可靠的互是专门为了在不可靠的互联网络中提供一个可靠的端到端的通信而设计联网络中提供一个可靠的端到端的通信而设计的,是的,是TCP/IPTCP/IP协议体系中运输层的重要协议。协议体系中运输层的重要协议。TCPTCP为应用层提供面向连接的、可靠的数据传为应用层提供面向连接的、可靠的数据传递服务递服务。2021/9/2423TCP协议最主要的特点协议最主要的特点nTCPTCP是面向连接的运输层协议。是面向连接的运输层协议。n每一条每一条TCPTCP连接只能是点对点的。连
14、接只能是点对点的。nTCPTCP提供可靠的数据传输服务。提供可靠的数据传输服务。nTCPTCP提供全双工通信。提供全双工通信。nTCPTCP面向字节流的面向字节流的。2021/9/2424字节流的流动(字节流的流动(1)发送方接收方应用进程应用进程TCPTCPTCP 连接准备发送的数据字节2021/9/2425字节流的流动(字节流的流动(2)发送方接收方应用进程应用进程TCPTCP字节流x表示序号为 x 的数据字节TCP 连接2021/9/2426字节流的流动(字节流的流动(3)发送方接收方应用进程应用进程TCPTCP字节流x表示序号为 x 的数据字节TCP 连接把字节写入发送缓存3 2 1
15、02021/9/2427字节流的流动(字节流的流动(4)发送方接收方应用进程应用进程TCPTCP字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接把字节写入发送缓存5 42 1 0 H加上 TCP 首部构成 TCP 报文段3发送 TCP 报文段2021/9/2428字节流的流动(字节流的流动(5)发送方接收方应用进程应用进程TCPTCP字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接把字节写入发送缓存加上 TCP 首部构成 TCP 报文段H8 7 62 1 0 H3发送 TCP 报文段2021/9/2429字节流的流动(字节流的流动(6)发送方
16、接收方应用进程应用进程TCPTCP字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接把字节写入发送缓存加上 TCP 首部构成 TCP 报文段5 4 H1098 7 6 H2 1 0 H3发送 TCP 报文段2021/9/2430字节流的流动(字节流的流动(7)发送方接收方应用进程应用进程TCPTCP字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接把字节写入发送缓存加上 TCP 首部构成 TCP 报文段从接收缓存读取字节3 2 1 0109 H131211145 4 H8 7 6 H发送 TCP 报文段2021/9/2431发送 TCP 报文段发
17、送方接收方把字节写入发送缓存从接收缓存读取字节应用进程应用进程1817161514131211H加上 TCP 首部构成 TCP 报文段TCPTCP字节流字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接字节流的流动(字节流的流动(8)109 H8 7 6 H2021/9/2432发送 TCP 报文段发送方接收方把字节写入发送缓存从接收缓存读取字节应用进程应用进程1817161514131211H加上 TCP 首部构成 TCP 报文段TCPTCP字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接字节流的流动(字节流的流动(9)109 H8 7 6H
18、2120192021/9/2433发送 TCP 报文段发送方接收方从接收缓存读取字节应用进程应用进程1817161514131211H加上 TCP 首部构成 TCP 报文段TCPTCP字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接字节流的流动(字节流的流动(10)109H212019H2021/9/2434发送 TCP 报文段发送方接收方从接收缓存读取字节应用进程应用进程1817161514加上 TCP 首部构成 TCP 报文段TCPTCP字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接字节流的流动(字节流的流动(11)H212019H13
19、12112021/9/2435发送 TCP 报文段发送方接收方从接收缓存读取字节应用进程应用进程加上 TCP 首部构成 TCP 报文段TCPTCP字节流H表示 TCP 报文段的首部x表示序号为 x 的数据字节TCP 连接字节流的流动(字节流的流动(12)212019H18171615142021/9/2436发送方接收方从接收缓存读取字节应用进程应用进程TCPTCP字节流x表示序号为 x 的数据字节TCP 连接字节流的流动(字节流的流动(13)182120192021/9/2437发送方接收方应用进程应用进程TCPTCP字节流x表示序号为 x 的数据字节TCP 连接字节流的流动(字节流的流动(
20、14)2021/9/2438发送方接收方应用进程应用进程TCPTCPTCP 连接字节流的流动(字节流的流动(15)接收到的数据字节2021/9/24394.4.2 TCP报文段报文段nTCPTCP报文段是报文段是TCPTCP的传输单元。的传输单元。TCPTCP在应用层数在应用层数据前添加据前添加TCPTCP首部,形成首部,形成TCPTCP报文段。一个报文段。一个TCPTCP报文段分为首部和数据两部分报文段分为首部和数据两部分。2021/9/2440TCP报文段的首部报文段的首部2021/9/2441TCP报文段的首部报文段的首部n源端口和目的端口:分别写入源端口号和目的源端口和目的端口:分别写
21、入源端口号和目的端口号端口号2021/9/2442TCP报文段的首部报文段的首部n序号:在一个序号:在一个TCPTCP连接中传送的字节流中的每连接中传送的字节流中的每一个字节都按顺序编号。一个字节都按顺序编号。2021/9/2443TCP报文段的首部报文段的首部n确认号:是期望收到对方下一个报文段的第一确认号:是期望收到对方下一个报文段的第一个数据字节的序号个数据字节的序号2021/9/2444序号和确认号序号和确认号2021/9/2445TCP报文段的首部报文段的首部n数据偏移:表示数据偏移:表示TCPTCP报文段中的数据部分距离报文段中的数据部分距离TCPTCP首部的起始位置有多少字节。首
22、部的起始位置有多少字节。2021/9/2446TCP报文段的首部报文段的首部n保留字段:保留为今后使用,但目前应置为保留字段:保留为今后使用,但目前应置为0 02021/9/2447TCP报文段的首部报文段的首部n标志字段:每个比特都代表特定的含义。当其标志字段:每个比特都代表特定的含义。当其值为值为1 1时称为置位。时称为置位。2021/9/2448TCP报文段的首部报文段的首部nURG=1URG=1,则表示,则表示TCPTCP报文段中存有紧急数据。报文段中存有紧急数据。2021/9/2449TCP报文段的首部报文段的首部nACK=1ACK=1,表示确认号是有效的。如果,表示确认号是有效的。
23、如果ACK=0ACK=0,则,则该数据段不包含确认信息。该数据段不包含确认信息。2021/9/2450TCP报文段的首部报文段的首部n发送方发送方PSHPSH=1 1,报文段发送出去。接收方,报文段发送出去。接收方TCPTCP收收到报文段,就尽快地交付给接收应用进程,而到报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。不再等到整个缓存都填满了后再向上交付。2021/9/2451TCP报文段的首部报文段的首部nRSTRST用于重置一个已经混乱的连接。一般而言,用于重置一个已经混乱的连接。一般而言,如果数据段被设置了如果数据段被设置了RSTRST位,那说明你这一端位,那
24、说明你这一端有了问题。有了问题。RSTRST也可以称为重建位或重置位。也可以称为重建位或重置位。2021/9/2452TCP报文段的首部报文段的首部nSYNSYN,在连接建立时用来同步序号。当,在连接建立时用来同步序号。当SYNSYN1 1而而ACKACK0 0时,表明这是一个连接请求报文段时,表明这是一个连接请求报文段。2021/9/2453TCP报文段的首部报文段的首部nFINFIN用来释放一个连接。当则用来释放一个连接。当则FIN=1FIN=1时,表明此时,表明此报文段的发送方的数据已发送完毕,并要求释报文段的发送方的数据已发送完毕,并要求释放运输连接。放运输连接。2021/9/2454
25、TCP报文段的首部报文段的首部n窗口大小:使用窗口大小字段主要用于流量控窗口大小:使用窗口大小字段主要用于流量控制,用来告诉对方的制,用来告诉对方的TCPTCP自身接收缓存的大小自身接收缓存的大小2021/9/2455TCP报文段的首部报文段的首部n校验和:用来确保数据的可靠性,校验和:用来确保数据的可靠性,TCPTCP在计算在计算校验和时也要加上伪首部。校验和时也要加上伪首部。2021/9/2456TCP报文段的首部报文段的首部n紧急指针:仅在紧急指针:仅在URGURG1 1时才有意义,它指出本时才有意义,它指出本报文段中的紧急数据的字节数。报文段中的紧急数据的字节数。2021/9/2457
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运输
限制150内