资源预览内容
第1页 / 共56页
第2页 / 共56页
第3页 / 共56页
第4页 / 共56页
第5页 / 共56页
第6页 / 共56页
第7页 / 共56页
第8页 / 共56页
第9页 / 共56页
第10页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
-第八章第八章第八章第八章 计算机网络的运输层计算机网络的运输层计算机网络的运输层计算机网络的运输层1第七讲 计算机网络的运输层运输协议概述运输协议概述TCP/IP体系中的运输层体系中的运输层用户数据报协议用户数据报协议UDP传输控制协议传输控制协议TCP28.1 运输协议运输协议(transport protocol)概述概述通信子网通信子网:物理层、数据链路层、网络层,物理层、数据链路层、网络层,是网络实体。是网络实体。OSI的底层部分是的底层部分是14层,是传输服务的层,是传输服务的提供者。提供者。OSI的高层部分是传输服务的用户。的高层部分是传输服务的用户。传输层是通信子网与传输服务用户之间传输层是通信子网与传输服务用户之间联系的桥梁。联系的桥梁。传输层的主要任务是在源端计算机到目传输层的主要任务是在源端计算机到目的端计算机之间提供可靠的、价格合理的端计算机之间提供可靠的、价格合理的数据传输服务。的数据传输服务。物理层物理层数据链路层数据链路层网络层网络层运输层运输层应用层应用层面面向向信信息息处处理理面面向向通通信信用用户户功功能能网网络络功功能能3 传输控制协议(传输控制协议(TCPTCP)是为了解决)是为了解决InternetInternet上分组交上分组交换通道中数据流量超载和传输拥塞的问题而设计换通道中数据流量超载和传输拥塞的问题而设计的,使数据传输和通信更加可靠。的,使数据传输和通信更加可靠。功能功能:端到端的数据流传送端到端的数据流传送(全双工全双工)。TCP是面向连接的。是面向连接的。使用滑动窗口机制来实现差错控制。使用滑动窗口机制来实现差错控制。通过动态地改变滑动窗口的大小来实现流量控制。通过动态地改变滑动窗口的大小来实现流量控制。目的目的:提供流(提供流(Stream)式服务。把应用层送来的数据,组成长)式服务。把应用层送来的数据,组成长度适中的一个分段(组合或拆分),再加上度适中的一个分段(组合或拆分),再加上TCPTCP头后交头后交给给IPIP协议发送。协议发送。提供一种中断机制可以让用户发送紧急数据。提供一种中断机制可以让用户发送紧急数据。4AP1AP2LAN1LAN2WAN主机主机AAP3AP4主机主机B路由器路由器1路由器路由器2IP协议的作用范围协议的作用范围运输层协议运输层协议TCP和和UDP的作用范围的作用范围4321AP1AP2( )( )3213213421AP3AP4( )( )IP层层运输层提供应用进程间的逻辑通信运输层提供应用进程间的逻辑通信应用进程应用进程端口端口复用复用分用分用7.1.1 进程之间的通信进程之间的通信运输层为相互通信的应用进程提供了逻辑通信 5应用进程之间的通信n两个主机进行通信实际上就是两个主机中的应用进程互相通信。 n应用进程之间的通信又称为端到端的通信。 n运输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。n“运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。6Internet网网应用进程应用进程应用进程应用进程IP协议的作用范围协议的作用范围(提供主机之间的逻辑通信)(提供主机之间的逻辑通信)TCP和和UDP协议的作用范围协议的作用范围(提供进程之间的逻辑通信)(提供进程之间的逻辑通信)7传输协议数据单元传输协议数据单元TPDU:两个传输实体之间交换的信息(两个传输实体之间交换的信息(TCP、UDP)。)。传输层的作用:传输层的作用:把网络层服务中的分组丢失、残缺甚至网络复位都检测出来,把网络层服务中的分组丢失、残缺甚至网络复位都检测出来,并采取相应的控制措施。并采取相应的控制措施。采用一个标准的原语集把网络层不同的网络服务在传输层统一采用一个标准的原语集把网络层不同的网络服务在传输层统一起来向传输服务用户提供服务。在起来向传输服务用户提供服务。在Unix环境下通过环境下通过Socket形式实形式实现。在现。在Wondows环境下通过环境下通过Winsock形式实现。形式实现。8两种不同的运输协议n运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。n当运输层采用面向连接的 TCP 协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。n当运输层采用无连接的 UDP 协议时,这种逻辑通信信道是一条不可靠信道。 9运输层协议和网络层协议的区别运输层协议和网络层协议的区别网络层仅对报文的首部;运输层还要对报文进行差错检网络层仅对报文的首部;运输层还要对报文进行差错检测。测。运输层有两种不同的运输协议:面向连接的运输层有两种不同的运输协议:面向连接的传输控制协议传输控制协议TCP和无连接的和无连接的用户数据报协议用户数据报协议UDP。发送进程发送进程接收进程接收进程使用使用TCP协议协议全双工可靠信道全双工可靠信道应用层应用层运输层运输层发送进程发送进程接收进程接收进程使用使用UDP协议协议应用层应用层运输层运输层不可靠信道不可靠信道107.1.2 运输层的两个协议运输层的两个协议与各种网络接口与各种网络接口IPUDP应用层应用层TCP用户数据报协议用户数据报协议UDP(User Datagram Protocol) 是在运输层的端到端抽象的逻辑信道中是在运输层的端到端抽象的逻辑信道中传送的,只含传送的,只含IP数据报中的数据,不经过路由器数据报中的数据,不经过路由器的存储转发。的存储转发。传输控制协议传输控制协议TCP(Transmission Control Protocol) 是在运输层的端到端抽象的逻辑信道中是在运输层的端到端抽象的逻辑信道中传送的,连接的是可靠的全双工信道,不涉及到互传送的,连接的是可靠的全双工信道,不涉及到互联网中的路由器。联网中的路由器。UDP和和TCP都使用了与应用层接口处的端口(运都使用了与应用层接口处的端口(运输层的服务访问点输层的服务访问点TSAP)与上层的应用进程进行)与上层的应用进程进行通信。通信。 TSAP的地址的地址【插口(插口(socket)或套接字)或套接字】为为48bit(IP地址地址32bit.端口号端口号16bit)。)。11TCP 与 UDP nUDP 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。nTCP 则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。 12还要强调两点 n运输层的 UDP 用户数据报与网际层的IP数据报有很大区别。IP 数据报要经过互连网中许多路由器的存储转发,但 UDP 用户数据报是在运输层的端到端抽象的逻辑信道中传送的。nTCP 报文段是在运输层抽象的端到端逻辑信道中传送,这种信道是可靠的全双工信道。但这样的信道却不知道究竟经过了哪些路由器,而这些路由器也根本不知道上面的运输层是否建立了 TCP 连接。 13端口端口port:运输层:运输层的数据交给应用层的数据交给应用层相应的进程的接口。相应的进程的接口。端口的地址为端口的地址为16bit.端口号分为端口号分为:熟知端口熟知端口well-known port (01023) 登记端口登记端口(102449151)动态端口(动态端口(4915265535)超文本传输协议HTTP80域名系统DNS53简单邮件传递协议SMTP25远程登录TELNET23文件传输协议FTP21进程类别端口号网络管理SNMP161RPCTFTPSMTPFTPTELNET()()()()()()()()()()111 16169252123 UDPTCP()()SNMP7.1.3 运输层的端口运输层的端口14端口在进程之间的通信中所起的作用端口在进程之间的通信中所起的作用运运输输层层应应用用层层端口端口端口端口端口端口端口端口网网络络层层TCP复用复用UDP复用复用IP复用复用NSAPNSAP应用进程应用进程应用进程应用进程TCP报文段报文段用户报文段用户报文段IP数据报数据报运运输输层层应应用用层层端口端口端口端口端口端口端口端口网网络络层层TCP分用分用UDP分用分用IP分用分用NSAPNSAP应用进程应用进程应用进程应用进程TCP报文段报文段用户报文段用户报文段IP数据报数据报NSAP:网络层的服务访问点。网络层的服务访问点。TSAP:运输层的服务访问点。运输层的服务访问点。15例例71 与主机的与主机的SMTP建立连接建立连接IP=131.6.23.13端口端口1500端口端口1501IP=128.36.1.22端口端口1500IP=130.42.85.15端口端口25连接连接1连接连接2连接连接3(131.6.23.13,1500)和()和(130.42.85.15,25)(131.6.23.13,1501)和()和(130.42.85.15,25)(128.36.1.22,1500)和()和(130.42.85.15,25)插口(插口(socket)记法)记法(IP,端口号端口号),以,以socket对的方式表示连接关系。对的方式表示连接关系。邮件邮件167.2 用户数据报协议用户数据报协议UDP用户数据报的用途用户数据报的用途用户数据报的格式用户数据报的格式177.2.1 用户数据报的用途用户数据报的用途UDP的优点:的优点:UDP是无连接的是无连接的。发送数据之前不需要建立连接,减少了开销和。发送数据之前不需要建立连接,减少了开销和发送数据之前的时延。发送数据之前的时延。UDP用尽最大努力交付,没有拥塞控制用尽最大努力交付,没有拥塞控制。不保证可靠交付,因此。不保证可靠交付,因此主机不需要维持具有许多参数的、复杂的连接状态表。主机不需要维持具有许多参数的、复杂的连接状态表。UDP没有拥塞控制没有拥塞控制。因此源主机可以以恒定的速率发送数据。因此源主机可以以恒定的速率发送数据。UDP面向报文。面向报文。报文在报文在IP层不用再分组发送。层不用再分组发送。UDP用户数据报只有用户数据报只有8个字节的首部开销个字节的首部开销。TCP的首部为的首部为20字节。字节。UDP支持一对一、一对多、多对一、多对多的交互通信支持一对一、一对多、多对一、多对多的交互通信。18UDP空空应用进程应用进程1空空空空空空应用进程应用进程2空空空空应用进程应用进程3端口端口队列队列UDP进行分用进行分用IP数据报的数据部分上交给数据报的数据部分上交给UDP例例72 用用UDP报文队列实现报文队列实现UDP端口端口*DNSIP电话电话流式多媒体通信流式多媒体通信19UDP 是面向报文的 IP 数据报的数据部分IP 首部IP 层UDP 首部UDP 用户数据报的数据部分运输层应用层报文应用层207.2.2 UDP的首部格式的首部格式UDP用户数据报用户数据报数据数据首部首部IP数据报数据报数据数据首部首部源端口源端口伪首部伪首部目的端口目的端口 长度长度校验和校验和字节字节 12 2 2 2 2源源IP地址地址字节字节 4 4 1 1 2目的目的IP地址地址 0 17UDP长度长度伪首部:伪首部:12字节,在计字节,在计算校验和时在算校验和时在UDP前增加前增加的。伪首部即不向上层传,的。伪首部即不向上层传,也不向下层传。也不向下层传。协议:协议:TCP为为6UDP首部长度首部长度8字节字节21例例73*计算计算UDP检验和检验和153.19.8.104171.3.14.11全0171510871315全054455354494E4700填充填充10011 153.19 (源(源IP)00001 8.10410101 171.3 (目的(目的IP)00001110 00001011 14.1100000 0和和17 (协议值)(协议值)00000 15 (用户数据报长度)(用户数据报长度)00000100 00111111 1087 (源端口)(源端口)00000 13 (目的端口)(目的端口)00000 15 (用户数据报长度)(用户数据报长度)00000 0(校验和,先设为(校验和,先设为0,然后将结果加入),然后将结果加入)01010100 01000101 数据数据01010 数据数据01001 数据数据01000111 00000000 数据和数据和0(填充)(填充)10010110 11101011 和和 按二进制反码运算求和按二进制反码运算求和01101 校验和校验和 将结果将结果求求反码反码 伪伪首首部部首首部部数数据据校校验验和和22注:两个数按二进制反码运算求和,从低按二进制反码运算求和,从低位向高位,产生进位在高位相加。最高位向高位,产生进位在高位相加。最高位如有进位,则在结果的最低位加位如有进位,则在结果的最低位加1。23例74:一个UDP用户数据报首部的十六进制表示为 07 30 00 50 00 1C E3 1800000111 00110000 00000 00000 11100源端口:0x0730=1840 目的端口:0x0050=80,服务器程序为HTTP UDP用户数据报总长度:0x001C=28字节 数据部分长度:288(首部)20字节校验和: 0xE31824例75 IP数据报45000IE0BA53000089114692D3474949D34749FF0089008301CCD7D526973696E675365617263684167656E74506F73IP报文头部长度4520字节;IP报文的总长度01E0H=480字节 ( 生存时间89H=137 (上层协议类型11H=17 为 UDP 源IP地址:D3474949 211.71.73.73 目的IP地址:D34749FF 211.71.73.255目的端口0089H=137 源端口0083H=131UDP报文的数据长度01CCH=460字节 UDP的校验和D7D5H25例76 (习题25) UDP用户数据报的数据字段为8192字节,加上UDP首部8字节,共8200字节。用以太网传输,最大传送单元MTU为1500字节(在数据链路层)。试问应当划分为几个数据报片?每一个数据报片的数据字段长度和片偏移字段为多少?解: IP的首部20字节,每一个数据报片的数据字段长度最大为1480字节。所以可分为6个数据报片,前5个数据字段的长度为1480字节,最后一个为8200-14805=800字节。 片字段的初始值分别是0,1480,2960,4440,5920,7400。对应的偏移量为0、185、370、555、740、925。26总长度标识MFDF片偏移原始数据报8200345000数据报片11500345100数据报片2150034510185数据报片3150034510370数据报片4150034510555数据报片5150034510740数据报片682034500925277.3 传输控制协议传输控制协议TCPTCP是面向连接的运输层协议,提供全双工的可靠交是面向连接的运输层协议,提供全双工的可靠交付的服务。付的服务。TCP的概的概述述TCP报文段的首部报文段的首部TCP的流量控制与拥塞控制的流量控制与拥塞控制TCP的重传机制的重传机制TCP的运输连接管理的运输连接管理TCP的有限状态机的有限状态机*287.3. 1 TCP概述概述TCP发送缓存发送缓存应用进程应用进程TCP接收缓存接收缓存应用进程应用进程端口端口发送端发送端端口端口接收端接收端报文段报文段报文段报文段报文段报文段写字节写字节读字节读字节TCP发送报文段示意图发送报文段示意图TCP协议是面向协议是面向字节的字节的29TCP控制报文段发送的基本方法控制报文段发送的基本方法:TCP维持一个最大报文段长度维持一个最大报文段长度MSS的变量,只的变量,只要发送缓存从发送进程得到的数据达到要发送缓存从发送进程得到的数据达到MSS字节字节时,就组装成一个时,就组装成一个TCP报文段,然后发送出去。报文段,然后发送出去。发送端的发送进程指明要求发送报文段,即发送端的发送进程指明要求发送报文段,即TCP的推送的推送(push)操作。)操作。发送端的计时器时间到了,就把当前已有的缓存数据发送端的计时器时间到了,就把当前已有的缓存数据组装成一个组装成一个TCP报文段,然后发送出去。报文段,然后发送出去。308.3.2 TCP报文段的首部报文段的首部TCP用户数据报用户数据报数据数据首部首部IP数据报数据报数据数据首部首部源端口源端口伪首部伪首部目的端口目的端口字节字节 12 2 2 16源源IP地址地址字节字节 4 4 1 1 2目的目的IP地址地址 0 6 TCP长度长度伪首部:伪首部:12字节,在计字节,在计算校验和时在算校验和时在TCP前增加前增加的。伪首部即不向上层传,的。伪首部即不向上层传,也不向下层传。也不向下层传。20字节字节31TCP报文段的首部报文段的首部 0目的端口号目的端口号 序号序号源端口号源端口号确认号确认号 窗口窗口 检验和检验和 3 4 7 8 15 31 19选项选项(长度可变)(长度可变) 16 17 18填充填充 紧急指针紧急指针 保留保留20字字节的节的固定固定首部首部数据偏数据偏移移URGACRPSHRSTSYNFINTCP报文段报文段IP数据部分数据部分IP首部首部IP数据报数据报TCP数据部分数据部分TCP首部首部32TCP报文段首部各字段的意义报文段首部各字段的意义源端口源端口和和目的端口目的端口:各:各2B。应用层到运输层复用,运输层到应用层。应用层到运输层复用,运输层到应用层分用。分用。序号序号:4B。本。本TCP数据报文段第一字节所对应的数据报文段第一字节所对应的TCP传送传送的数据流的序号。如的数据流的序号。如seq=201(201300)确认序号确认序号:4B。期望收到对方下一个数据报文段第一字节。期望收到对方下一个数据报文段第一字节所对应的序号。所对应的序号。如如ack=301数据偏移数据偏移:4bit,数据开始的地方离,数据开始的地方离TCP报文段的起始处报文段的起始处距离距离(为为4字节为一个字节为一个单位单位),最大最大41560字节,为首部的长度字节,为首部的长度。保留保留: 6bit.33紧急位紧急位URG:1有效,与有效,与紧急指针紧急指针配合,传送紧急数据。配合,传送紧急数据。确认位确认位ACK: 为为1时,确认序号时,确认序号有效有效。推送位推送位PSH:为为1时时有效,使用推送操作,源端立即发送,有效,使用推送操作,源端立即发送,目的端收到后立即响应。目的端收到后立即响应。复位位复位位RST: 1有效,有效,TCP连接有错,重新建立连接。连接有错,重新建立连接。同步位同步位SYN: 1有效,若有效,若SYN 1并并ACK0,表明是一个,表明是一个连接请求报文段。连接请求报文段。若若对方同意建立连接,则在响应报文对方同意建立连接,则在响应报文段中段中SYN和和ACK均为均为1。终止位终止位FIN: 1有效,表明此报文段的发送端数据已发送有效,表明此报文段的发送端数据已发送完,要求释放连接。完,要求释放连接。码位区码位区(6bit)34窗口窗口:2B,接收端允许发送端在未收到接收端的确认帧时,接收端允许发送端在未收到接收端的确认帧时所能发送的数据量(以字节为单位,从本部首中的确认序所能发送的数据量(以字节为单位,从本部首中的确认序号开始的字节数)。号开始的字节数)。检验和检验和: 2B,包括首部和数据部分,还要加,包括首部和数据部分,还要加12字节的字节的伪伪首部首部.紧急指针紧急指针: 2B,与,与URG配合,指出本报文段中紧急数据配合,指出本报文段中紧急数据的最后一个字节的序号。的最后一个字节的序号。选项选项:长度可变。没有选项时,首部:长度可变。没有选项时,首部20B。在。在TCP中,最中,最大报文段长度大报文段长度MSS是指数据字段的报文长度(不含首部)。是指数据字段的报文长度(不含首部)。TCP首部至少首部至少20B。IP数据报的首部也是至少数据报的首部也是至少20B。357.3.3 TCP的数据编号与确认nTCP协议是面向字节的。每一个字节对应于一个序号,协议是面向字节的。每一个字节对应于一个序号,形成数据流。形成数据流。n发送方首部是本发送方首部是本TCP报文段将发送的应用层数据流对报文段将发送的应用层数据流对应的第一个字节的序号。用应的第一个字节的序号。用seq来定义。来定义。n接收方发给发送方的确认号用接收方发给发送方的确认号用ack来定义。表示接收方来定义。表示接收方期望下次收到的数据中的第一个数据字节序号。期望下次收到的数据中的第一个数据字节序号。367.3.4 TCP的流量控制与拥塞控制的流量控制与拥塞控制例例77 TCP采用大小可变的滑动窗口进行流量控制,采用大小可变的滑动窗口进行流量控制,窗口大小单位是字节。窗口大小单位是字节。1 100101 200201 300301 400601 600401 500601 700801 900701 8001 100101 200201 300301 400501 600401 500601 700801 900701 800不可发送不可发送不可发送不可发送还可继续发送还可继续发送300还可继续发送还可继续发送400已发送已发送400字节字节并被确认并被确认200已发送已发送400并被确认并被确认已发送但已发送但没被确认没被确认200发送窗口发送窗口500发送窗口发送窗口400发送窗口发送窗口500可发送但还可发送但还没有发送没有发送不可发送不可发送1 100101 200201 300301 400501 600401 500601 700801 900701 800收到确认才可前移收到确认才可前移指针指针前移方向前移方向37例例78 利用可变窗口的大小进行流量控制利用可变窗口的大小进行流量控制 win=400字节,每次发字节,每次发送送100字节,进行三次流量控制字节,进行三次流量控制主机主机B主机主机Aseq=1,DATAseq=101,DATAseq=401,DATAACK=1,ack=201,win=300ACK=1,ack=501,win=200主机主机A发送发送100字节后,还能发送字节后,还能发送300字节(字节(101400)主机主机A又发送了又发送了100字节,还能发送字节,还能发送200字节(字节(201400)主机主机B进行第一次流量控制,确认收到进行第一次流量控制,确认收到200字节,发送窗口变字节,发送窗口变为为300字节,此时主机字节,此时主机A可发送可发送300字节(字节(201400)主机主机A发送了发送了301400,还能发送,还能发送201300,401500。主机主机A超时重发超时重发100字节的内容(字节的内容(201300)主机主机A发送第发送第3次次100字节(字节(201300),丢失。),丢失。主机主机A发送了发送了401500,还能发送,还能发送201300。主机主机B进行第二次流量控制,确认收到进行第二次流量控制,确认收到500字节,发送窗口变字节,发送窗口变为为200字节,此时主机字节,此时主机A可发送可发送200字节(字节(501600)主机主机A发送了发送了501600,还能发送,还能发送601700。主机主机B进行第三次流量控制,确认收到进行第三次流量控制,确认收到600字节,发送窗口变字节,发送窗口变为为0字节,此时主机字节,此时主机A不能发送数据。不能发送数据。ACK=1,ack=601,win=0seq=301,DATAseq=201,DATAseq=201,DATAseq=501,DATA38第二个A:序号:101;窗口:40039发送窗口的上限发送窗口的上限Min接收窗口,拥塞窗口接收窗口,拥塞窗口接收窗口(接收窗口(advertised windows):接收端根据其接收能:接收端根据其接收能力许诺的窗口值。接收端通过力许诺的窗口值。接收端通过TCP报文的首部传给发送端。报文的首部传给发送端。是来自是来自接收端接收端的的流量控制。流量控制。拥塞窗口拥塞窗口(congestion window):发送端根据网络拥塞情:发送端根据网络拥塞情况得出的窗口值。是来自况得出的窗口值。是来自发送端发送端的流量控制。的流量控制。40nTCP的信道利用率T0/(T0+2) nUDP的信道利用率T0/(T0+)n最大吞吐量=所发数据/信道占用时间n信道占用时间TCP: T0+2 UDP: T0+例79(习题28) 1Gbit/s, =10ms。TCP,窗口:65535B解:(吞吐量:数据通过某一点的快慢度量。bit/s)发送时间 65535 8bit/109bit/s 0.52428ms最大吞吐量=65535 8bit/(20+0.52428) 10-3s =25.5 Mbit/s信道利用率=0.52428/(20+0.52428)=2.55%417.3.5 TCP的重传机制的重传机制*TCP每发送一个报文段,就设置一次计时器。只要计时每发送一个报文段,就设置一次计时器。只要计时器设置的重传时间已到但还没有收到确认,就要重传这器设置的重传时间已到但还没有收到确认,就要重传这一报文。一报文。427. 3.6 TCP的运输连接管理的运输连接管理*连接建立过程要解决的问题:连接建立过程要解决的问题:要使每一方能够确知对方的存在;要使每一方能够确知对方的存在;要允许双方协商一些参数(如最大报文段长度,最大窗口大要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。小,服务质量等)。能够运输实体资源(如缓存器大小,连接表中的项目等)进能够运输实体资源(如缓存器大小,连接表中的项目等)进行分配。行分配。TCP的连接和建立都是采用客户服务器方式。主动发起连接的连接和建立都是采用客户服务器方式。主动发起连接建立的进程是客户建立的进程是客户client,而被动等待连接建立的进程是服,而被动等待连接建立的进程是服务器务器server.43用三次握手建立用三次握手建立TCP连接。连接。客户端客户端服务器端服务器端主动打开主动打开被动打开被动打开确认确认确认确认SYN=1,seq=xSYN=1,ACK=1,seq=y,ack=x+1ACK=1,seq=x+1,ack=y+1SYN1 同步位同步位 seq=x 客户端选择序号客户端选择序号x 发送发送ack=x+1 服务器端确认序号为服务器端确认序号为x+1 ,同时自己也选择序号,同时自己也选择序号y发送数据发送数据服务器端先发一个被动打开的命令,准备接受客户进程的连接请求。服务器端先发一个被动打开的命令,准备接受客户进程的连接请求。连接请求连接请求44TCP连接释放过程连接释放过程客户端客户端服务器端服务器端应用进程应用进程释放连接释放连接通知主机应用进程通知主机应用进程A到到B中断数据传输中断数据传输FIN=1,seq=xFIN=1,ACK=1,seq=y,ack=x+1ACK=1,seq=x+1,ack=y+1ACK=1,seq=y,ack=x+1应用进程释放连接应用进程释放连接B到到A中断数据传输中断数据传输1123客户端终止比特位客户端终止比特位FIN=1,该帧序号为,该帧序号为seq=x,发送。,发送。服务器端发送确认帧服务器端发送确认帧ack=x+1。同时。同时通知主机应用进程通知主机应用进程A到到B中断数据传输。中断数据传输。服务器端服务器端应用进程释放连接应用进程释放连接B到到A中断数据传输,中断数据传输,服务器端服务器端终止比特位终止比特位FIN=1,该帧序,该帧序号为号为seq= y ,发送。,发送。客户端客户端发送确认帧发送确认帧ack=y+1。半关闭状态(客户端至服务器端)半关闭状态(客户端至服务器端)全关闭状态(服务器端至客户端)全关闭状态(服务器端至客户端)45参考教材:参考教材:P227:8、12、13、15、25、28 作业作业教材:教材:83;88;89;810,811。46第八章 运输层88解:IP数据报中总长度为216165535字节,对应TCP报文中的数据最大长度为65535202065495字节(IP中无分组)47习题8-12 设TCP使用的最大窗口为64KB,即641024字节,而传输信道的带宽可认为是不受限制的。若报文段的平均往返时延为20ms,问所能得到的最大吞吐量是多少? 解:TCP最大窗口为64KB=64 1024字节 报文段的平均往返时延为20ms,发送时延为零最大吞吐量=64 210 8bit/(20 10-3s) =26.2 106bit/s =26.2 Mbit/s最大吞吐量= TCP最大窗口数据流量/报文段的占用信道时间48地球地球地球地球地面站地面站地面站地面站地面站地面站地面站地面站C波段波段 4/6 GHz 上行上行5.925 - 6.425 GHz 下行下行3.7 - 4.2 GHz KU波段波段 12/14 GHz 上行上行14 - 14.5 GHz 下行下行11.7 - 12.2 GHz习题8-13 试计算一个包括5段链路的运输连接的单程端到端时延。5段链路中有两端是卫星链路,3段广域网。每条卫星链路又由上行链路和下行链路两部分组成。每条卫星链路的时间延迟为250ms。每一个广域网的范围为1500km,其传播时延可按150000km/s来计算。格数据链路速率为48kbit/s,帧长为960bit。49解:(1)2段卫星链路的传播时延 250ms2=500ms (2)3段广域网链路的传播时延 1500km/(150000km/s)3=30ms (3)数据帧的发送时延(五个发送点) (960bit/48103bit/s)5=20ms5=100ms (4)排队时延为0所以 总时延=500+30+100=630ms50814*习题8-13同上题,但其中一个路上广域网的传输时延为150ms。解:(2)3段广域网链路的传播时延 10ms 2+150ms=170ms所以 总时延=630ms+140ms=770ms518-15解:TCP要传送512字节的数据,窗口为100字节,发送方起始序号为seq=100、200、300、400、500;接受方接受方起始为序号序号seq=200;用三次握手建立用三次握手建立TCP连接。连接。52主机主机A主动打开主动打开被动打开被动打开确认确认确认确认SYN=1,ACK=0,seq=100SYN=1,ACK=1,seq=200,ack=200SYN=0, ACK=1,seq=200,ack=300SYN=0,ACK=1, ack=300SYN=0,ACK=1,seq=500, FIN=1SYN=0,ACK=1,ack=513ACK=1请求请求建立建立连接连接发送发送数据数据A机已发完机已发完,半关闭半关闭SYN=0,ACK=1,seq=501, FIN=1关闭,关闭,B机已机已发完发完主机主机B53习题8-25 UDP用户数据报的数据字段为8192字节,加上UDP首部8字节,共8200字节。用以太网传输,最大传送单元MTU为1500字节(在数据链路层)。试问应当划分为几个数据报片?每一个数据报片的数据字段长度和片偏移字段为多少?解: IP的首部20字节,每一个数据报片的数据字段长度最大为1480字节。所以可分为6个数据报片,前5个数据字段的长度为1480字节,最后一个为8200-14805=800字节。片字段的初始值分别是0,1480,2960,4440,5920,7400。对应的偏移量为0、185、370、555、740、925。54总长度标识MFDF片偏移原始数据报8200345000数据报片11480345100数据报片2148034510185数据报片3148034510370数据报片4148034510555数据报片5148034510740数据报片680034500925558-28解:(吞吐量:数据通过某一点的快慢度量。bit/s)发送时间T0 65535 8bit/109bit/s 0.52428ms总占用时间T02最大吞吐量总数据量/总占用时间=65535 8bit/(20 +0.52428)10-3s=25.544 Mbit/s信道利用率= T0/(T02) = 0.52428/(20+0.52428) =2.55%信道利用率=最大吞吐量/通信信道带宽 25.544 Mbit/s/1Gbit/s =2.55%nTCP的信道利用率T0/(T0+2) nUDP的信道利用率T0/(T0+)n最大吞吐量=所发数据/信道占用时间nTCP: T0+2 UDP: T0+56
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号