[计算机网络:自顶向下方方法](中文版课件)第三章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

运输层1第3章运输层TransportLayer计算机网络:自顶向下方法(原书第三版)陈鸣译,机械工业出版社,2005年ComputerNetworking:ATopDownApproachFeaturingtheInternet,3rdedition.JimKurose,KeithRossAddison-Wesley,July2004.运输层2第3章:运输层我们的目的:理解运输层服务依据的原理:复用/分解可靠数据传输流量控制拥塞控制学习因特网中的运输层协议:UDP:无连接传输TCP:面向连接传输TCP拥塞控制运输层3第3章要点3.1运输层服务3.2复用与分解3.3无连接传输:UDP3.4可靠数据传输的原则rdt1rdt2rdt3流水线协议3.5面向连接的传输:TCP报文段结构可靠数据传输流量控制连接管理3.6拥塞控制的原则3.7TCP拥塞控制机制TCP吞吐量TCP公平性时延模型运输层4运输服务和协议在运行不同主机上应用进程之间提供逻辑通信运输协议运行在端系统中发送方:将应用报文划分为段,传向网络层接收方:将段重新装配为报文,传向应用层应用可供使用的运输协议不止一个因特网:TCP和UDP应用层运输层网络层数据链路层物理层网络层数据链路层物理层应用层运输层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层运输层5运输层vs.网络层网络层:主机间的逻辑通信运输层:进程间的逻辑通信依赖、强化网络层服务家庭类比:12个孩子向12个孩子发信进程=孩子应用报文=信封中的信主机=家庭运输协议=Ann和Bill网络层协议=邮政服务运输层6因特网运输层协议可靠的、按序的交付(TCP)拥塞控制流量控制连接建立不可靠、不按序交付:UDP“尽力而为”IP的不提供不必要服务的扩展不可用的服务:时延保证带宽保证应用层运输层网络层数据链路层物理层网络层数据链路层物理层应用层运输层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层运输层7第3章要点3.1运输层服务3.2复用与分解3.3无连接传输:UDP3.4可靠数据传输的原则rdt1rdt2rdt3流水线协议3.5面向连接的传输:TCP报文段结构可靠数据传输流量控制连接管理3.6拥塞控制的原则3.7TCP拥塞控制机制TCP吞吐量TCP公平性时延模型运输层8Internet层的复用与分解运输层9复用/分解应用层运输层网络层链路层物理层P1应用层运输层网络层链路层物理层应用层运输层network链路层物理层P2P3P4P1主机1主机2主机3=进程=套接字将接收到的段交付给正确的套接字在接收主机分解:从多个套接字收集数据,用首部封装数据(以后用于分解)在发送主机复用:运输层10分解工作过程主机接收IP数据报每个数据报有源无连接,目的地无连接每个数据报承载1个运输层段每个段具有源、目的端口号(回想:对特定应用程序的周知端口号)主机使用IP地址&端口号将段定向到适当的套接字源端口#目的端口#32bits应用数据(报文)其他首部字段TCP/UDP段格式运输层11无连接分解生成具有端口号的套接字:DatagramSocketmySocket1=newDatagramSocket(99111);DatagramSocketmySocket2=newDatagramSocket(99222);UDP套接字由二元组标识:(目的地IP地址,目的地端口号)当主机接收UDP段时:在段中检查目的地端口号将UDP段定向到具有该端口号的套接字具有不同源IP地址和/或源端口号的IP数据报定向到相同的套接字运输层12无连接分解(续)DatagramSocketserverSocket=newDatagramSocket(6428);客户机IP:BP2客户机IP:AP1P1P3服务器IP:CSP:6428DP:9157SP:9157DP:6428SP:6428DP:5775SP:5775DP:6428SP提供了“返回地址”运输层13面向连接分解TCP套接字由四元组标识:源IP地址源端口号目的IP地址目的端口号接收主机使用这四个值来将段定向到适当的套接字服务器主机可能支持许多并行的TCP套接字:每个套接字由其自己的四元组标识Web服务器对每个连接的客户机具有不同的套接字非持久HTTP将为每个请求具有不同的套接字运输层14面向连接分解(续)客户机IP:BP1客户机IP:AP1P2P4服务器IP:CSP:9157DP:80SP:9157DP:80P5P6P3D-IP:CS-IP:AD-IP:CS-IP:BSP:5775DP:80D-IP:CS-IP:B运输层15面向连接分解:多线程Web服务器客户机IP:BP1客户机IP:AP1P2服务器IP:CSP:9157DP:80SP:9157DP:80P4P3D-IP:CS-IP:AD-IP:CS-IP:BSP:5775DP:80D-IP:CS-IP:B运输层16第3章要点3.1运输层服务3.2复用与分解3.3无连接传输:UDP3.4可靠数据传输的原则rdt1rdt2rdt3流水线协议3.5面向连接的传输:TCP报文段结构可靠数据传输流量控制连接管理3.6拥塞控制的原则3.7TCP拥塞控制机制TCP吞吐量TCP公平性时延模型运输层17UDP:用户数据报协议[RFC768]“没有不必要的,”“基本要素”互联网传输协议“尽力而为”服务,UDP段可能:丢包对应用程序交付失序无连接:在UDP发送方和接收方之间无握手每个UDP段的处理独立于其他段为何要有UDP协议?无连接创建(它将增加时延)简单:在发送方、接收方无连接状态段首部小无拥塞控制:UDP能够尽可能快地传输运输层18UDP:其他常用于流式多媒体应用丢包容忍速率敏感其他UDP应用DNSSNMP经UDP的可靠传输:在应用层增加可靠性应用程序特定的差错恢复!源端口#目的端口#32bits应用数据(报文)UDP段格式长度检查和UDP段的长度,包括首部,以字节计运输层19UDP检查和发送方:将段内容处理为16比特整数序列检查和:段内容的加法(反码和)发送方将检查和放入UDP检查和字段接收方:计算接收的段的检查和核对计算的检查和是否等于检查和字段的值:NO–检测到差错YES–无差错检测到。虽然如此,还可能有差错吗?详情见后……目的:在传输的段中检测“差错”(如比特翻转)运输层20互联网检查和例子注意当数字作加法时,最高位进比特位的进位需要加到结果中例子:两个16-bit整数相加1111001100110011011101010101010101110111011101110111101110111011110010100010001000011回卷和检查和运输层21第3章要点3.1运输层服务3.2复用与分解3.3无连接传输:UDP3.4可靠数据传输的原则rdt1rdt2rdt3流水线协议3.5面向连接的传输:TCP报文段结构可靠数据传输流量控制连接管理3.6拥塞控制的原则3.7TCP拥塞控制机制TCP吞吐量TCP公平性时延模型运输层22可靠数据传输的原则在应用层、运输层、数据链路层的重要性重要的网络主题中的最重要的10个之一!不可靠信道的特点决定了可靠数据传输协议(rdt)的复杂性运输层23可靠数据传输:基本概念发送侧接收侧rdt_send():calledfromabove,(e.g.,byapp.).Passeddatatodelivertoreceiverupperlayerudt_send():calledbyrdt,totransferpacketoverunreliablechanneltoreceiverrdt_rcv():calledwhenpacketarrivesonrcv-sideofchanneldeliver_data():calledbyrdttodeliverdatatoupper运输层24可靠数据传输:基本概念我们将:增强研发发送方,可靠数据传输协议(rdt)的接收方侧仅考虑单向数据传输但控制信息将在两个方向流动!使用有限状态机(FSM)来定义发送方和接收方状态1状态2引起状态变迁的事件状态变迁所采取的行动状态:当位于这个“状态时”,下个状态惟一地由下个事件决定事件动作运输层25第3章要点3.1运输层服务3.2复用与分解3.3无连接传输:UDP3.4可靠数据传输的原则rdt1rdt2rdt3流水线协议3.5面向连接的传输:TCP报文段结构可靠数据传输流量控制连接管理3.6拥塞控制的原则3.7TCP拥塞控制机制TCP吞吐量TCP公平性时延模型运输层26Rdt1.0:经可靠信道的可靠传输底层信道非常可靠无比特差错无分组丢失装发送方、接收方的单独FSM:发送方将数据发向底层信道接收方从底层信道读取数据Waitforcallfromabovepacket=make_pkt(data)udt_send(packet)rdt_send(data)extract(packet,data)deliver_data(data)Waitforcallfrombelowrdt_rcv(packet)发送方接收方运输层27第3章要点3.1运输层服务3.2复用与分解3.3无连接传输:UDP3.4可靠数据传输的原则rdt1rdt2rdt3流水线协议3.5面向连接的传输:TCP报文段结构可靠数据传输流量控制连接管理3.6拥塞控制的原则3.7TCP拥塞控制机制TCP吞吐量TCP公平性时延模型运输层28Rdt2.0:具有比特差错的信道underlyingchannelmayflipbitsinpacketchecksumtodetectbiterrorsthequestion:howtorecoverfromerrors:acknowledgements(ACKs):receiverexplicitlytellssenderthatpktreceivedOKnegativeacknowledgements(NAKs):receiverexplicitlytellssenderthatpkthaderrorssenderretransmitspktonreceiptofNAKnewmechanismsinrdt2.0(beyondrdt1.0):errordetectionreceiverfeedback:controlmsgs(ACK,NAK)rcvr-sender运输层29rdt2.0:FSM规格参数等待来自上面的调用snkpkt=make_pkt(data,checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt)&¬corrupt(rcvpkt)rdt_rcv(rcvpkt)&&isACK(rcvpkt)udt_send(sndpkt)rdt_rcv(rcvpkt)&&isNAK(rcvpkt)udt_send(NAK)rdt_rcv(rcvpkt)&&corrupt(rcvpkt)等待ACK或NAK等待来自下面的调用发送方接收方rdt_send(data)L运输层30rdt2.0:无差错时的操作等待来自上面的调用snkpkt=make_pkt(data,checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(dat

1 / 121
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功