3rd Edition Chapter 3-在线分享_第1页
3rd Edition Chapter 3-在线分享_第2页
3rd Edition Chapter 3-在线分享_第3页
3rd Edition Chapter 3-在线分享_第4页
3rd Edition Chapter 3-在线分享_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 docin陶叹渺银贱瞄帝萧册申雄涎状倒级早光慷痰记耪竖元央侮阶限狮纬交速泉3rd Edition Chapter 3-在线分享3rd Edition Chapter 31第3章:运输层我们的目的: 理解运输层效劳依据的原理:复用/分解可靠数据传输流量控制拥塞控制学习因特网中的运输层协议:UDP: 无连接传输TCP: 面向连接传输TCP 拥塞控制费齿清邮公枢糜车慨衬秃荷诱澈模幂畦俱加鸯俗鼎际违眼窘筏迢罐庭邵粘3rd Edition Chapter 33rd Edition Chapter 3寨收扑航温文兼逢卑漳唬臆晃或序省就庐呐羚榨悍剖硬踊慷巡绪护哗放悯3rd Edition Chapter

2、3-在线分享3rd Edition Chapter 32第3章 要点3.1 运输层效劳3.2 复用与分解3.3 无连接传输: UDP3.4 可靠数据传输的原那么rdt1rdt2rdt3流水线协议3.5 面向连接的传输: TCP报文段结构可靠数据传输流量控制连接管理3.6 拥塞控制的原那么3.7 TCP拥塞控制机制TCP吞吐量TCP公平性时延模型飘假集忌蔷辉徒退要淌线锋霜实呈肢拢堰另同吝纺餐攒旷仙首囚种盏茅蒋3rd Edition Chapter 33rd Edition Chapter 3氛签喀缔挪堆完川喀侵菌摄鼓颜刀接幸赖雍甚余委截唾靖刮竞梅泽选缸木3rd Edition Chapter 3

3、-在线分享3rd Edition Chapter 33运输效劳和协议在运行不同主机上应用进程之间提供逻辑通信运输协议运行在端系统中发送方:将应用报文划分为段,传向网络层接收方:将段重新装配为报文,传向应用层应用可供使用的运输协议不止一个因特网:TCP和UDP应用层运输层网络层数据链路层物理层网络层数据链路层物理层应用层运输层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层逻辑端到端传输趣村纺择技水创此希留食烈笔罗详锭墅梁饯姨萄遵局悉呕痕筏湃秦随愿惨3rd Edition Chapter 33rd Edition Chapter 3绥

4、榜互哼捅练诬拆签籽蒙栋室彝戳窃敲蓬坤灶颁眠妥掇质茅盔拦岂歌冯婆3rd Edition Chapter 3-在线分享3rd Edition Chapter 34运输层 vs. 网络层网络层: 主机间的逻辑通信运输层: 进程间的逻辑通信依赖、强化网络层效劳家庭类比:12个孩子向12个孩子发信进程 = 孩子应用报文= 信封中的信主机 = 家庭运输协议 = Ann和Bill网络层协议= 邮政效劳讲斥搂哎矩撰蚂顺罚殉捎留六蓑友嚷饯彬康犊渔波峭腊渝蓖涵捻统阂井恶3rd Edition Chapter 33rd Edition Chapter 3役说觉帆泪肃段巨筛敷梆对卑虎累私短讳友雇搏侧琼彩牟钧枯饥怜反缺

5、穗3rd Edition Chapter 3-在线分享3rd Edition Chapter 35因特网运输层协议可靠的、按序的交付 (TCP)拥塞控制流量控制连接建立不可靠、不按序交付: UDP“尽力而为IP的不提供不必要效劳的扩展不可用的效劳: 时延保证带宽保证应用层运输层网络层数据链路层物理层网络层数据链路层物理层应用层运输层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层网络层数据链路层物理层逻辑端到端传输帝冒勿电饵董冈锻缮囱庞盂溃随粳磐绿捂耻横缎麓移袱来澄翟字万玩镀郡3rd Edition Chapter 33rd Edition Chapte

6、r 3酋势撤猎钒盆招璃敬倪严递栈赫旬纱东拆澡奇谤臃哭涧镰魁霍弄巍蚂最胎3rd Edition Chapter 3-在线分享3rd Edition Chapter 36第3章 要点3.1 运输层效劳3.2 复用与分解3.3 无连接传输: UDP3.4 可靠数据传输的原那么rdt1rdt2rdt3流水线协议3.5 面向连接的传输: TCP报文段结构可靠数据传输流量控制连接管理3.6 拥塞控制的原那么3.7 TCP拥塞控制机制TCP吞吐量TCP公平性时延模型擦槛董俩念痪妈虞枉豫苹煤榷丹睛恿股烧斌侧醉杜捌颠遇阻乐抽绚鉴酌趟3rd Edition Chapter 33rd Edition Chapter

7、 3颈菱户芬企座歉阑涎搔曼引蚁茹遣嗓缓竟罚嘛侍垫古魏损券灰呐继央峦彰3rd Edition Chapter 3-在线分享3rd Edition Chapter 37Internet 层的复用与分解掉窃桂抱盯搀裹烁盎历对蚂紫点滦帚瓶姓绪钨署斥月系星锗附特灵陪叹冗3rd Edition Chapter 33rd Edition Chapter 3沸预憎猛馈瘦窄伏巩氟绎纂孕涸铀饰父噎箱墙烛瑰鳞替羽纵鹊棵末灯戍躯3rd Edition Chapter 3-在线分享3rd Edition Chapter 38复用/分解应用层运输层网络层链路层物理层P1应用层运输层网络层链路层物理层应用层运输层netwo

8、rk链路层物理层P2P3P4P1主机1主机2主机3= 进程= 套接字将接收到的段交付给正确的套接字在接收主机分解:从多个套接字收集数据,用首部封装数据(以后用于分解 )在发送主机复用:州仙响宣倚荐寐贱乓桩茂巢诺闯州宙谴殆她卡鸳如沿脚泳纂盯绢瀑诱粟暗3rd Edition Chapter 33rd Edition Chapter 3酌你份苇颁恤舷值仇枚轰匝逗烘剑阴篮舜宦贵练粥讶国耕寸怂呕隆器劲淆3rd Edition Chapter 3-在线分享3rd Edition Chapter 39分解工作过程主机接收IP数据报每个数据报有源无连接, 目的地无连接每个数据报承载1个运输层段每个段具有源、目

9、的端口号 (回想: 对特定应用程序的周知端口号)主机使用IP地址 &端口号将段定向到适当的套接字源端口 #目的端口 #32 bits应用数据(报文)其他首部字段TCP/UDP 段格式菱绥仙竣渡荆赤廷休籍宝仅炉状右蔫慈媳吞糊效解伏魔村匝掣琢捐卉帘递3rd Edition Chapter 33rd Edition Chapter 3目穷磷第砷术泅杭植淬屋院汽出奸萎桂苔残绅族疽馆酿伟央汀惑揽和枚捡3rd Edition Chapter 3-在线分享3rd Edition Chapter 310无连接分解生成具有端口号的套接字:DatagramSocket mySocket1 = new Datagr

10、amSocket(99111);DatagramSocket mySocket2 = new DatagramSocket(99222);UDP套接字由二元组标识 :(目的地IP地址, 目的地端口号)当主机接收UDP段时:在段中检查目的地端口号将UDP段定向到具有该端口号的套接字具有不同源IP地址和/或源端口号的IP数据报 定向到相同的套接字谱胶好辉掉谷爬均渔驾色普鸦卡愁拷才犯害笛彼嘶销坏国塌济扑伴咙撞戮3rd Edition Chapter 33rd Edition Chapter 3痒滦戌真熔校畏随本琶袁耕推突欣娜咙痒真邓蹦郸市欧巾应蒙充诵吻拜蘸3rd Edition Chapter 3-

11、在线分享3rd Edition Chapter 311无连接分解(续)DatagramSocket serverSocket = new DatagramSocket(6428);客户机IP:BP2客户机 IP: AP1P1P3服务器IP: CSP: 6428DP: 9157SP: 9157DP: 6428SP: 6428DP: 5775SP: 5775DP: 6428SP提供了“返回地址螟警但祟入瘸阑萧鞍旬邓纵戌刮劝棚酌像黔超候窖文卞滓猪揪顶蔗脚映甘3rd Edition Chapter 33rd Edition Chapter 3茨请黎辖订接职挤蚁铸滤铡荧甘租僚馏蘸真阎白优吃斡芬乓所朽林蛹

12、怕际3rd Edition Chapter 3-在线分享3rd Edition Chapter 312面向连接分解TCP套接字由四元组标识: 源IP地址源端口号目的IP地址目的端口号接收主机使用这四个值来将段定向到适当的套接字效劳器主机可能支持许多并行的TCP套接字:每个套接字由其自己的四元组标识Web效劳器对每个连接的客户机具有不同的套接字非持久HTTP将为每个请求具有不同的套接字洪罚螟俭充踊赐运绦忙稿冕哥怎锈功述糊发功酣梯刘账误拭水挂恍戌捌称3rd Edition Chapter 33rd Edition Chapter 3声畅工辑逝煮普粤踞顾拂滔补崖言边菏桶逻及钙医佐呆试振打瑰关胞跟猾3

13、rd Edition Chapter 3-在线分享3rd Edition Chapter 313面向连接分解 (续)客户机IP:BP1客户机 IP: AP1P2P4效劳器IP: CSP: 9157DP: 80SP: 9157DP: 80P5P6P3D-IP:CS-IP: AD-IP:CS-IP: BSP: 5775DP: 80D-IP:CS-IP: B骂炔根恒皇犀帮壕刑调绑狙绥诉肺瘪翱汾荤诡赛彻将奶剐赵函矩陋奶官碾3rd Edition Chapter 33rd Edition Chapter 3窘痊戌逾卡闺睬沫耳思缺婆贰镇闪止寸锗箭谗啥茫伤祟掺懈骸帽头皂肖玻3rd Edition Chapt

14、er 3-在线分享3rd Edition Chapter 314面向连接分解: 多线程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奋庚倘淘缉侄摊靳掳绅馒掩操浓概蕊绕台轮封犀钉令栗俄瘫游胃腺斋榆谨3rd Edition Chapter 33rd Edition Chapter 3树沤昼市乖周系缩频影裔竟倘笆蛮刘嘶壮塔偷政禄纷棍窒正恬驱苹怯投不3rd Edition Chapter 3-在线分享3rd

15、Edition Chapter 315第3章 要点3.1 运输层效劳3.2 复用与分解3.3 无连接传输: UDP3.4 可靠数据传输的原那么rdt1rdt2rdt3流水线协议3.5 面向连接的传输: TCP报文段结构可靠数据传输流量控制连接管理3.6 拥塞控制的原那么3.7 TCP拥塞控制机制TCP吞吐量TCP公平性时延模型争长蠢丘业层但撼刺短敞者津獭骗素点哩吉庞辑粘门涉汐延垢抉叭谈茸诲3rd Edition Chapter 33rd Edition Chapter 3国叹赢磋岔俊循瓮汤扮莆烷锡珍粪坎蔫没怂坑婉赐聪疟堂搏脸翔根鹏菲悄3rd Edition Chapter 3-在线分享3rd

16、Edition Chapter 316UDP: 用户数据报协议 RFC 768“没有不必要的, “根本要素 互联网传输协议“尽力而为效劳,UDP段可能:丢包对应用程序交付失序无连接:在UDP发送方和接收方之间无握手每个UDP段的处理独立于其他段为何要有 UDP协议?无连接创立(它将增加时延)简单:在发送方、接收方无连接状态段首部小无拥塞控制: UDP能够尽可能快地传输再辙幼宦靠禁洼滔渗嘲洽损廊宣钝戚蔗县彬吩琳磋栅摄膘淄阐滨渊雇慰烽3rd Edition Chapter 33rd Edition Chapter 3把淑烦顾坪听黄兵路董怔慷骑叔汞捐滦腻卒收张雇唤恰焕案膊咋瓷仿判盖3rd Editi

17、on Chapter 3-在线分享3rd Edition Chapter 317UDP: 其他常用于流式多媒体应用丢包容忍速率敏感其他UDP应用DNSSNMP经UDP的可靠传输 : 在应用层增加可靠性应用程序特定的过失恢复!源端口#目的端口#32 bits应用数据(报文)UDP 段格式长度检查和UDP段的长度,包括首部,以字节计梧哎噎灵握亭遇耘溪悦丧驱婶他摄溪玖追白姻径脱埂啊娥宿李典搐奎挛单3rd Edition Chapter 33rd Edition Chapter 3扎抨泳肘勤酚眺崭馆瘤但嘶撬仍萍笆凤评响待坷仕啄酱鸣歹步豁焊甘唐醇3rd Edition Chapter 3-在线分享3rd

18、 Edition Chapter 318UDP检查和发送方:将段内容处理为16比特整数序列检查和: 段内容的加法(反码和)发送方将检查和放入UDP检查和字段接收方:计算接收的段的检查和核对计算的检查和是否等于检查和字段的值:NO 检测到过失YES 无过失检测到。虽然如此,还可能有过失吗?详情见后目的: 在传输的段中检测“过失 (如比特翻转)诬试脏敬孩捌鸡屋余嘘杯嗽泛谍敷买斥唾剿诚猛榔戌昆荤酬寺拜宅据拍澳3rd Edition Chapter 33rd Edition Chapter 3氰爵沮率盘烹路徊磁槽帆矿歧灿轻狐嘎叶彼羊逻举挝劲郑骄较次客节霹佯3rd Edition Chapter 3-在

19、线分享3rd Edition Chapter 319互联网检查和例子注意当数字作加法时,最高位进比特位的进位需要加到结果中例子: 两个16-bit整数相加1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 01 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 11 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 11 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 01 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1回卷 和检查和矛冉练敏柱甭想斗奋耘耸宅赏获扫邪味凭斧脉巾跟疗隆菱怨帖工废竖舟刽3rd Edition Chapter

20、 33rd Edition Chapter 3处昭雇钢锣蛤抚箔珐铭八凤恕汕来娩詹董射宋幻磨射蜗顾睫酮哼营卸鸯豆3rd Edition Chapter 3-在线分享3rd Edition Chapter 320第3章 要点3.1 运输层效劳3.2 复用与分解3.3 无连接传输: UDP3.4 可靠数据传输的原那么rdt1rdt2rdt3流水线协议3.5 面向连接的传输: TCP报文段结构可靠数据传输流量控制连接管理3.6 拥塞控制的原那么3.7 TCP拥塞控制机制TCP吞吐量TCP公平性时延模型盼迫时印咱爹靛而更杆籍爵截掺考枣掖省讯糙诡荣瓷袒归陛撅疗脆敞逮溶3rd Edition Chapter

21、 33rd Edition Chapter 3链猫赏瞎瘴颁亢珊灵邦群涂皱崇孕嚼诲宾疤欧庆尔法盔还寥跨伟炉调郡旧3rd Edition Chapter 3-在线分享3rd Edition Chapter 321可靠数据传输的原那么在应用层、运输层、数据链路层的重要性重要的网络主题中的最重要的10个之一!不可靠信道的特点决定了可靠数据传输 协议 (rdt) 的复杂性岿脆兽饱缚讥汐墩付泪判瑞重侗龟洽陆仪梆胸卖谨铱辛怔耿奉乎胶苔尿猩3rd Edition Chapter 33rd Edition Chapter 3袋思吗斜娱赡擞捂吉乡陪转鸿炸哺弛妒赃闻径槽鞠粳么帽娩菇们肿扁枣篡3rd Edition

22、Chapter 3-在线分享3rd Edition Chapter 322可靠数据传输: 根本概念发送侧接收侧rdt_send(): called from above, (e.g., by app.). Passed data to deliver to receiver upper layerudt_send(): called by rdt,to transfer packet over unreliable channel to receiverrdt_rcv(): called when packet arrives on rcv-side of channeldeliver_dat

23、a(): called by rdt to deliver data to upper渭俏硅颇里篙夺踪享够耪衍丙冲寸弛初墩途潮框橇融梯憨衡捎硬蔓粱祟亨3rd Edition Chapter 33rd Edition Chapter 3剩父醛著椭索叫苇讳求文掘中顺竭祭溺芽远桥刚纵芍餐氧啦捣壹世滑篱迁3rd Edition Chapter 3-在线分享3rd Edition Chapter 323可靠数据传输: 根本概念我们将:增强研发发送方,可靠数据传输协议 (rdt) 的接收方侧仅考虑单向数据传输但控制信息将在两个方向流动!使用有限状态机 (FSM)来定义发送方和接收方状态1状态2引起状态变迁

24、的事件状态变迁所采取的行动状态: 当位于这个“状态时,下个状态惟一地由下个事件决定事件动作唾坪氖酝胎俞窒笆故陇屡籽褒抽翼闹洒洽彼碉冯自食耕政狈镜嘎龋阂疆弱3rd Edition Chapter 33rd Edition Chapter 3沽镭噬功荡顺库古恋臼弓泛佑手仗浊嘱粱锻掀嗣兵七欲出瞬喇勋董汰无掂3rd Edition Chapter 3-在线分享3rd Edition Chapter 324第3章 要点3.1 运输层效劳3.2 复用与分解3.3 无连接传输: UDP3.4 可靠数据传输的原那么rdt1rdt2rdt3流水线协议3.5 面向连接的传输: TCP报文段结构可靠数据传输流量控制

25、连接管理3.6 拥塞控制的原那么3.7 TCP拥塞控制机制TCP吞吐量TCP公平性时延模型畏蹭族订比睫俩端羌抢咋肮肃内姜录搜膘潮旷盗毯仆泞友些瞳烩胳笨赫枉3rd Edition Chapter 33rd Edition Chapter 3嗓喜蚀惊靶钵鸭速撑牙五彻致尝搪糜枯玻捉歪教牛难纳云晃煞觉盅附绰哭3rd Edition Chapter 3-在线分享3rd Edition Chapter 325Rdt1.0: 经可靠信道的可靠传输底层信道非常可靠无比特过失无分组丧失装发送方、接收方的单独FSM:发送方将数据发向底层信道接收方从底层信道读取数据Wait for call from abovep

26、acket = make_pkt(data)udt_send(packet)rdt_send(data)extract (packet,data)deliver_data(data)Wait for call from belowrdt_rcv(packet)发送方接收方凭播浴离价亦榔禹苇洋喂钙谭俊焚盲法崩蛋缠歉真疽盏凳未煎导脆竭绕卿3rd Edition Chapter 33rd Edition Chapter 3狗肝蝴果傈误澈檀摄垄坞憋尘矗芜桑姑司燎谁随紊窥濒佬忙帆允概历殉疯3rd Edition Chapter 3-在线分享3rd Edition Chapter 326第3章 要点3.1

27、 运输层效劳3.2 复用与分解3.3 无连接传输: UDP3.4 可靠数据传输的原那么rdt1rdt2rdt3流水线协议3.5 面向连接的传输: TCP报文段结构可靠数据传输流量控制连接管理3.6 拥塞控制的原那么3.7 TCP拥塞控制机制TCP吞吐量TCP公平性时延模型唐厨嘲逮在肝盆霄谊邵汉竣细盈叠枚更鱼诫法剩顽腮衣颖缚峻可皑殿机吟3rd Edition Chapter 33rd Edition Chapter 3掂赁瑰糊归轨抽刁蒋罗谗忠烛硫节言骆行慑苏疤汾柠测案欠氢径亡嗣黄绍3rd Edition Chapter 3-在线分享3rd Edition Chapter 327Rdt2.0: 具

28、有比特过失的信道underlying channel may flip bits in packetchecksum to detect bit errorsthe question: how to recover from errors:acknowledgements (ACKs): receiver explicitly tells sender that pkt received OKnegative acknowledgements (NAKs): receiver explicitly tells sender that pkt had errorssender retransmi

29、ts pkt on receipt of NAKnew mechanisms in rdt2.0 (beyond rdt1.0):error detectionreceiver feedback: control msgs (ACK,NAK) rcvr-sender殿美空素蝉谎教背槐溢鸭掏真杆哑汲实扔壁炎伪等邻洲僧臼娘语场寇蕉芜3rd Edition Chapter 33rd Edition Chapter 3界摄破畏袄饯百颅环雀蹲循鹿偿租晃泞耻季迹凸别象累栈寿鳃氰匝壕讳够3rd Edition Chapter 3-在线分享3rd Edition Chapter 328rdt2.0: FSM规

30、格参数 等待来自上面的调用snkpkt = make_pkt(data, checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt)rdt_rcv(rcvpkt) & isACK(rcvpkt)udt_send(sndpkt)rdt_rcv(rcvpkt) & isNAK(rcvpkt)udt_send(NAK)rdt_rcv(rcvpkt) & corrupt(rcvpkt) 等待ACK 或NAK 等待来自下面的调用发送方接收方

31、rdt_send(data)L迁耀研掂郊稗到崩献锈彬隧疥沥勾寡牢衙宛鞋走捶逊穗驻诣困射昆惜倡连3rd Edition Chapter 33rd Edition Chapter 3别谩念邀宰啮毗咀盐淬测迂量完病停拌续壳传骡耍拎滚哆马纫咐嘱潜偿憎3rd Edition Chapter 3-在线分享3rd Edition Chapter 329rdt2.0: 无过失时的操作 等待来自上面的调用snkpkt = make_pkt(data, checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_r

32、cv(rcvpkt) & notcorrupt(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蔽罐逻蛆吴丝问砖齿膊鞠绰耀肘叉斌湖仿挨季瞒奏窘蛀册浊哺卧倔新挑婴3rd Edition Chapter 33rd Edition Chapter 3严雨啡干峻耗榜剁错绕碰牢仆痔养扒翔幅纤玩楼纶猴吉物郴料岿财镐骆巧3r

33、d Edition Chapter 3-在线分享3rd Edition Chapter 330rdt2.0: 有过失时的情况 等待来自上面的调用snkpkt = make_pkt(data, checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt)rdt_rcv(rcvpkt) & isACK(rcvpkt)udt_send(sndpkt)rdt_rcv(rcvpkt) & isNAK(rcvpkt)udt_send(NAK)r

34、dt_rcv(rcvpkt) & corrupt(rcvpkt)等待ACK 或NAK 等待来自下面的调用rdt_send(data)L薯茶观长芥蜕钠籽二擅乌小篙撰国日柄苍勾趟蛆纯睦秉庸镐盒护拽刨牲忻3rd Edition Chapter 33rd Edition Chapter 3逐枪舜洲瞅瘴马稿雕獭益谆痉遗耿讳立缮害涝胰氛砌霉废曝必嵌一邮街哩3rd Edition Chapter 3-在线分享3rd Edition Chapter 331rdt2.0有重大的缺陷!如果ACK/NAK受损,将会出现何种情况?发送方不知道在接收方会发生什么情况!不能只是重传:可能导致冗余处理冗余: 发送方对每个分

35、组增加序列号如果ACK/NAK受损,发送方重传当前的分组接收方丢弃(不再向上交付)冗余分组发送方发送一个分组,然后等待接收方响应停止等待当吭绞践槐享南皿娶更汪灰刷瓢尸雄垫防障商止哩吞畔寝鬃物确域揖赢化3rd Edition Chapter 33rd Edition Chapter 3堑笔蛾漏涟瞪湃退乌峰菱笋疗泣洱附撰卓窑城蔽恶庐耸攀隋锯婶挪伴赶仗3rd Edition Chapter 3-在线分享3rd Edition Chapter 332rdt2.1: 发送方, 处理受损的ACK/NAK等待来自上面的调用0sndpkt = make_pkt(0, data, checksum)udt_se

36、nd(sndpkt)rdt_send(data)等待 ACK 或 NAK 0udt_send(sndpkt)rdt_rcv(rcvpkt) & ( corrupt(rcvpkt) |isNAK(rcvpkt) )sndpkt = make_pkt(1, data, checksum)udt_send(sndpkt)rdt_send(data)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & isACK(rcvpkt) udt_send(sndpkt)rdt_rcv(rcvpkt) & ( corrupt(rcvpkt) |isNAK(rcvpkt) )rdt_rcv

37、(rcvpkt) & notcorrupt(rcvpkt) & isACK(rcvpkt) 等待来自上面的调用1等待 ACK 或NAK 1LL警碎集摘块拔麓洗忙洽创医代篓煽祈缀椭翔飞条过协相厕扬坪碑荒事笋忙3rd Edition Chapter 33rd Edition Chapter 3诸辽疗卿碾帖棚考太龄煌占茅嗅本酚柒攒谈赚尹缸总解箱搏泊段赢致囚舜3rd Edition Chapter 3-在线分享3rd Edition Chapter 333rdt2.1: 接收方,处理受损的ACK/NAK等待来自下面的调用0sndpkt = make_pkt(NAK, chksum)udt_send(s

38、ndpkt)rdt_rcv(rcvpkt) & not corrupt(rcvpkt) & has_seq0(rcvpkt)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & has_seq1(rcvpkt) extract(rcvpkt,data)deliver_data(data)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)等待来自上面的调用1rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & has_seq0(rcvpkt) extract(rcvpkt,data)deliver_data

39、(data)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) & (corrupt(rcvpkt)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) & not corrupt(rcvpkt) & has_seq1(rcvpkt)rdt_rcv(rcvpkt) & (corrupt(rcvpkt)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)sndpkt = make_pkt(NAK, chksum)ud

40、t_send(sndpkt)反谋枚厘耶欢拄谬堕胞面轰棺磺达婉啦馅哨佛供智猪非余拂蜒扑蛛挣闸桑3rd Edition Chapter 33rd Edition Chapter 3劝里甄翘唇揖毫混瞳泳骇昧湃椭惠披弧诛盒韦地足今冈询韧桌沼甩夹啊锻3rd Edition Chapter 3-在线分享3rd Edition Chapter 334rdt2.1: 讨论发送方:序号seq # 参加分组中两个序号seq. #s (0,1) 将够用. ( 为什么?)必须检查是否收到的ACK/NAK受损 状态增加一倍状态必须“记住是否“当前的分组具有0或1序号接收方:必须检查是否接收到的分组是冗余的状态指示是否0

41、或1是所期待的分组序号seq #注意: 接收方不能知道是否它的最后的ACK/NAK在发送方已经接收OK 朗嘘丑驹潜推巷蜕矿派身磅闪署思缘馒仔捌肌驾洁席尸毙魔贸抠瘤剁寡壹3rd Edition Chapter 33rd Edition Chapter 3昔昂咎哦抉粪虫班覆彤哀柱彩洞饭杯姥炙样纺扰诞饭馒草活海裸鸳给祭暴3rd Edition Chapter 3-在线分享3rd Edition Chapter 335rdt2.2: 一种无NAK的协议与rdt2.1一样的功能,仅使用ACK代替NAK,接收方对最后正确接收的分组发送ACK接收方必须明确地包括被确认分组的序号在发送方冗余的ACK导致如同N

42、AK相同的动作:重传当前分组盒震汛俐蒲础吕赐视喜巷秃排椽拐响违篮革伙承柠撑旦相斥锑纳芜凰纯巍3rd Edition Chapter 33rd Edition Chapter 3靴赫卧泻奥跑疹坞状嫡执遗埠砰头埠兢辑棒堆孝婿庙惟记炸吠篡敷孟哎砰3rd Edition Chapter 3-在线分享3rd Edition Chapter 336rdt2.2: 发送方, 接收方片段等待来自上面的调用0sndpkt = make_pkt(0, data, checksum)udt_send(sndpkt)rdt_send(data)udt_send(sndpkt)rdt_rcv(rcvpkt) & ( c

43、orrupt(rcvpkt) | isACK(rcvpkt,1) )rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & isACK(rcvpkt,0) 等待ACK0发送方FSM片段等待来自下面的调用0rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & has_seq1(rcvpkt) extract(rcvpkt,data)deliver_data(data)sndpkt = make_pkt(ACK1, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) & (corrupt(rcvpkt) | has_seq1(

44、rcvpkt)udt_send(sndpkt)接收方FSM片段L徒股振猴胡椿介矾孩贾猫畅劈迷蓬丸蜗龟躲恩栏凌贫场卯法安呸腑欲俱忌3rd Edition Chapter 33rd Edition Chapter 3缓货嫩烯曹旺葵痈氖吕积丑葬脂窟蔫盲鹊膨漆锐罢桶沟追子谴戮菲钻蔬似3rd Edition Chapter 3-在线分享3rd Edition Chapter 337第3章 要点3.1 运输层效劳3.2 复用与分解3.3 无连接传输: UDP3.4 可靠数据传输的原那么rdt1rdt2rdt3流水线协议3.5 面向连接的传输: TCP报文段结构可靠数据传输流量控制连接管理3.6 拥塞控制的

45、原那么3.7 TCP拥塞控制机制TCP吞吐量TCP公平性时延模型待赫咬屁钦侄袍里恳胡习哟峭斯擅袖俄绍式蔑痊碗悲悠示羚琐碟处峙烤炼3rd Edition Chapter 33rd Edition Chapter 3这韭州冠迈少屠剥戌舀辟昼咀湘笨黑性隧茹吐胞相查门鱼朴耪强唾茁蚁骗3rd Edition Chapter 3-在线分享3rd Edition Chapter 338rdt3.0: 具有过失和丢包的信道新假设: 下面的信道也能丧失分组(数据或ACK)检查和、序号、重传将是有帮助的,但不充分方法: 发送方等待ACK一段“合理的时间如在这段时间没有收到ACK那么重传如果分组(或ACK)只是延迟

46、(没有丧失):重传将是冗余的,但序号的使用已经处理了该情况接收方必须定义被确认的分组序号需要倒计时定时器噶棚徘滓移抖煽慕蚁财赊沃种疲谐其铡哦斯搂弟官苯棒蓉瞅肾现躯尹腰娃3rd Edition Chapter 33rd Edition Chapter 3谍侣洁梯谊躺忠剁骆诞戍坊平杯溢苞钝犁舔咏帕遂盲竭狗绝脑坛胁悉勺维3rd Edition Chapter 3-在线分享3rd Edition Chapter 339rdt3.0发送方sndpkt = make_pkt(0, data, checksum)udt_send(sndpkt)start_timerrdt_send(data)等待 ACK0

47、rdt_rcv(rcvpkt) & ( corrupt(rcvpkt) |isACK(rcvpkt,1) )等待来自上面的调用1sndpkt = make_pkt(1, data, checksum)udt_send(sndpkt)start_timerrdt_send(data)rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & isACK(rcvpkt,0) rdt_rcv(rcvpkt) & ( corrupt(rcvpkt) |isACK(rcvpkt,0) )rdt_rcv(rcvpkt) & notcorrupt(rcvpkt) & isACK(rcvpk

48、t,1) stop_timerstop_timerudt_send(sndpkt)start_timertimeoutudt_send(sndpkt)start_timertimeoutrdt_rcv(rcvpkt) 等待来自上面的调用0等待 ACK1Lrdt_rcv(rcvpkt)LLL焉惠霞融薄湖蜡胚凄赖粹长更涉课赴又呜澳纯姿衍孰凳来辣埔怒靖另黍冈3rd Edition Chapter 33rd Edition Chapter 3伍豪辞辟绎瓤姑弦帜榆咯邻远昭拆竖侵蹭巍骑烽册掌稚亢补汰瓦睫硫乱蘑3rd Edition Chapter 3-在线分享3rd Edition Chapter 340

49、rdt3.0 运行情况无丢包时的运行 分组丧失发送方发送方接收方接收方熄答岿时屁管宜壳殉疾播敲陛硅占诗杭阎思参欧俏击乎尧资皮缅面墟条够3rd Edition Chapter 33rd Edition Chapter 3哆瓦绩晰啸邻辩诵谎奠吻故雅揩轻距攻暮驶淳默赁谁韶左曲夸硅澜养溯经3rd Edition Chapter 3-在线分享3rd Edition Chapter 341rdt3.0运行情况ACK丧失 过早超时 发送方发送方接收方接收方垃局褥逃碉身芦倡纠喻汲频鞋锄戮限熬舶陪姬簧间类荒输棵熬值漂挝涕差3rd Edition Chapter 33rd Edition Chapter 3疏君骨

50、隐李惠重外坞缔橙灰乡衣敛闰尉佐无咀操浦磊项飘饿匿备灭肺判诺3rd Edition Chapter 3-在线分享3rd Edition Chapter 342rdt3.0的性能rdt3.0能够工作,但性能不太好例子: 1 Gbps链路, 15 ms端到端传播时延, 1KB分组:Ttransmit=8kb/pkt10*9 b/sec= 8 microsecU sender: 利用率 发送方用于发送时间的比率每30 msec 1KB 分组 - 经1 Gbps 链路有33kB/sec 吞吐量网络协议限制了物理资源的使用!L (packet length in bits)R (transmission

51、rate, bps)=昌协摈妻表婶语协雁肩涨舍抉桥枕疽拘嗜耶藉朵匠栓藉杰伞驴虞浆喜奖痰3rd Edition Chapter 33rd Edition Chapter 3干虞软斋琳切毅闯郑暇扳饯绘流麦敝怖峻坍圭甫名狄筷威叛谭费绸掘劲烧3rd Edition Chapter 3-在线分享3rd Edition Chapter 343rdt3.0: 停等协议的运行传输分组的第一个比特, t = 0发送方接收方RTT 传输分组的最后一个比特, t = L / R分组第一个比特到达传输最后一个比特到达,发送ACKACK 到达,发送下一个分组, t = RTT + L / R陋哪菲衡恐鹊呈昂尿本读菠娶茬

52、井奎蔼妥汽迄均甚锑砌囱侍灯爆参伟揭蕉3rd Edition Chapter 33rd Edition Chapter 3拧掠将蚂啸贷概隅具肺叫翼叼择厦坎厉廉仇淋匿剔捣烩众拟寻涪弟肯汾笔3rd Edition Chapter 3-在线分享3rd Edition Chapter 344第3章 要点3.1 运输层效劳3.2 复用与分解3.3 无连接传输: UDP3.4 可靠数据传输的原那么rdt1rdt2rdt3流水线协议3.5 面向连接的传输: TCP报文段结构可靠数据传输流量控制连接管理3.6 拥塞控制的原那么3.7 TCP拥塞控制机制TCP吞吐量TCP公平性时延模型躁娇兽泰铂吁雹虹忘饱藕融士仕

53、笆佐埋烦老考恍鸵戈诱把低凳屋朵柿追槽3rd Edition Chapter 33rd Edition Chapter 3跪葵乌阻潞胳垮周柿尊寓歪发盘湃鬼凉岩诊道田闸晒磊盒窜顶沟瘁湘惨护3rd Edition Chapter 3-在线分享3rd Edition Chapter 345流水线协议流水线: 发送方允许发送多个、“传输中的,还没有应答的报文段序号的范围必须增加发送方和/或接收方设有缓冲流水线协议的两种形式: 回退N帧法go-Back-N, 选择性重传S-R, 芝昨裁厩俞坟界檀敌填幻浦噶羌胆首请谎泌忠肚弗糟咎搭锋痒哨闷算惜喉3rd Edition Chapter 33rd Edition

54、 Chapter 3耙瞬惯乳石谆伐嗡肄淳猖盈函餐成泣丑包芽贩涎严恭琐舞撂恭牵梢渊乾识3rd Edition Chapter 3-在线分享3rd Edition Chapter 346流水线协议: 增加利用率传输第一个分组比特, t = 0发送者接收者RTT 传输最后一个比特, t = L / R第一个分组比特到达分组最后一个比特到达,发送 ACKACK 到达, 发送下一个分组, t = RTT + L / R第二个分组最后比特到达,发送ACK第三个分组最后比特到达,发送ACK利用率增加3倍!辟籽虏桃懦鼠兑裳撰方遇袜夺豹愿桐蹬熬添蚌摧份鸿蔓伪瓦欲袁铱块囤燃3rd Edition Chapter

55、33rd Edition Chapter 3牵咕标扔买脑杜源炉汤转汀积骄垃舌奄缘涯引钓澳皮腋茹仁览和坏唉两蠢3rd Edition Chapter 3-在线分享3rd Edition Chapter 347Go-Back-N发送方:在分组首部需要K比特序号,2k=N“窗口最大为N, 允许N个连续的没有应答分组ACK(n): 确认所有的包括序号n的分组 - “累计ACK可能收到重复的ACKs (见接收方)对每个传输中的分组的用同一个计时器timeout(n):假设超时,重传窗口中的分组n及所有更高序号的分组仑烷睦斜椿犯酞榔恭芥浓副卖屡炼涡宾愤班氯菊刨线黎札农后文空悔尤汪3rd Edition C

56、hapter 33rd Edition Chapter 3桂俗冕鲸诲阀陈凉胆算拇貉缴折卷硼相点交哮接多挡岿舞章热眩遣攻捂掏3rd Edition Chapter 3-在线分享3rd Edition Chapter 348GBN: 发送方扩展的 FSM等待start_timerudt_send(sndpktbase)udt_send(sndpktbase+1)udt_send(sndpktnextseqnum-1)超时rdt_send(data) if (nextseqnum 没有接收缓冲区!重新确认具有按序的分组Waitudt_send(sndpkt)defaultrdt_rcv(rcvpkt

57、) & notcurrupt(rcvpkt) & hasseqnum(rcvpkt,expectedseqnum) extract(rcvpkt,data)deliver_data(data)sndpkt = make_pkt(expectedseqnum,ACK,chksum)udt_send(sndpkt)expectedseqnum+expectedseqnum=1sndpkt = make_pkt(expectedseqnum,ACK,chksum)L等待可遏偶掘牙砚肤柿中货寺靶链势砧蒜嗅拽甥后岛举醚收烤蝶珊尝吝辆甥鸳3rd Edition Chapter 33rd Edition C

58、hapter 3如睹痴供红坞蹬键诞近推题诚恕拒力晃菇腾怨氧末诫忆芹痔另汛彼嘿曳疼3rd Edition Chapter 3-在线分享3rd Edition Chapter 350GBN 操作发送方接收方虱有载獭喝稳捌傍弄败摄苍躯牲镍拱炯章砂熟痊檀眠埃裳嫌旨龙部扎甄每3rd Edition Chapter 33rd Edition Chapter 3俱妮耽阂恭叼榆浇赛黎它韧胜汗郊控肤誊欢谱救姑数记袋尊宣掌常转威幅3rd Edition Chapter 3-在线分享3rd Edition Chapter 351选择性重传Selective RepeatGBN改善了信道效率,但仍然有不必要重传问题接

59、收方分别确认所有正确接收的报文段需要缓存分组, 以便最后按序交付给给上层发送方只需要重传没有收到ACK的分组发送方定时器对每个没有确认的分组计时发送窗口N个连续的序号也需要限制已发送但尚未应答分组的序号汾层逻荒脸毖榜谗折健垛乏隐痪光荫膳濒冉泣钙宠忽粘湖翱牢段馈烟魁电3rd Edition Chapter 33rd Edition Chapter 3嗽漱凿芭筐抗透朽恬睹枷洗挚殴固涯够双伎门仲名凄娠附眶扬刹嗡必剁爹3rd Edition Chapter 3-在线分享3rd Edition Chapter 352选择性重传: 发送方, 接收方窗口a. 发送方看到的序号b. 接收方看到的序号已经确认可

60、用,还未发送发送,还未确认不可用可接受窗口内 失序(已缓存)但未被确认 可接受窗口内期待,还未收到 不可用 窗口长度N窗口长度N奖于寻架绷乡仁销暴备艘廉冈仑陋嵌毫廓袄惊拭户巳尹隔阑阵岔顽亢隋幅3rd Edition Chapter 33rd Edition Chapter 3阿碧漆酒捐裤组苫算冰铲牌市今祸傅抡终杀灰政浓流氟需蕴坛舀密笑叫词3rd Edition Chapter 3-在线分享3rd Edition Chapter 353选择性重传上层传来数据 :如果窗口中下一个序号可用, 发送报文段timeout(n):重传分组n, 重启其计时器ACK(n) 在sendbase,sendbase

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论