您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > 网络协议工程第2章-协议设计(1-协议模型)
南京邮电大学第2章协议设计(1-协议模型)第2章协议设计(1-协议模型)2内容提要协议设计概述1协议模型2第2章协议设计(1-协议模型)3协议设计概述协议设计的含义?协议设计是是一件很困难的事情Example:ClaytonTunnelProtocolExample:蓝军与白军作战问题第2章协议设计(1-协议模型)4协议例子England,1841,WilliamCookeTelegraph(电报)insteadofOpticaltelegraphforRailwayTunnelProtection,节省成本(只需1/10)和提高速度。Purpose:avoidthatmorethanonetrainisinthetunnelatthesametimeFirstlyusedonseverallinesoftheGreatWesternRailwaysinEngland.第2章协议设计(1-协议模型)5电报(Telegraph)基本原理,1753,C.M给Scots杂志的信中描述了一个使用一些平行电线来通信的电子电报。1830,英国MichaelFaraday和美国JosephHenry发现了电磁感应1837,WilliamCooke利用电流来使处在接收端磁场中的罗盘指针发生偏转,从而得到信号。1837年6月12日,第一个电报系统的专利,“五磁针信号系统”。1842年,Cooke“火车可以无所畏惧地行驶,而无论其时间是否正确,也不管其是否在正确的轨道上,因为在使用该系统后,其速率总可以及时地降下来,从而避免碰撞”第2章协议设计(1-协议模型)6协议例子England,1841,WilliamCookeTelegraph(电报)insteadofOpticaltelegraphforRailwayTunnelProtection,节省成本(只需1/10)和提高速度。Purpose:avoidthatmorethanonetrainisinthetunnelatthesametimeFirstlyusedonseverallinesoftheGreatWesternRailwaysinEngland.第2章协议设计(1-协议模型)7协议例子semaphoreswithblock-intervalsystem(空闲/阻塞信号系统)turntoredautomaticallyasatrainpassessettogreenbyhandafterwardssignalmenonbothendslinkedbytelegraphiclinemalfunctionofblock-intervalsystemsignalledbyabellredandwhiteflagstoreplacemalfunctioningsemaphore第2章协议设计(1-协议模型)8协议例子:报文(Messages)Message:TT:TraininTunnelTF:TunnelisFreeTL:HastheTrainlefttheTunnel?第2章协议设计(1-协议模型)9协议例子:差错控制ErrorFreeFunctioningtrainenterstunnel,signalmanAsendsTTtoBtrainleavesthetunnel,BsendsTFtoAAsetssemaphoretogreenbyhandUnderErrorSituationtrainenterstunnel,AsendsTTtoBbellrings,Ashowsredflagtonexttraintrainleavesthetunnel,BsendsTFtoAAshowswhiteflagtonexttrain第2章协议设计(1-协议模型)10协议例子:事故(Accident)OnedayinAugust1861atClaytonTunnel...train-1enterstunnel,block-intervalsystemfails(failstosetthesignaltored),sothebellwarnssignalmanA,thenAsendsTTtoB,thenfetchestheredflagtowarnthenexttrain.train-2comestoofast,andcouldnotstopintime,hasalreadypassedthegreensignal.Fortunately,itsdrivercatchesaglimpseoftheredflagjustintimeasheentersthetunnel.train-3seestheredflagandstopsbeforethetunnelentrance.第2章协议设计(1-协议模型)11协议例子:事故(Accident)AsendsanotherTTtoB(fortrain-2)BdoesnotunderstandsecondTT(becausetheprotocoldidnotaccountforthiseventsothemeaningoftwosbusequentTThadnotbeenspecified.)AsendsTL(hasthetrainleftthetunnel?)toBBseestrain-1andsendsTF第2章协议设计(1-协议模型)12协议例子:事故(Accident)Athinkstrain-2leftthetunnelandshowswhiteflagtotrain-3train-2hadseenredflagbefore,isafraidandtriestoreturntopositionAAftersomedeliberation.第2章协议设计(1-协议模型)13协议例子:事故(Accident)Resulttrain-3andtrain-2crashed:21peoplediedand176gotinjuredThesetofinstructionsgiventothesignalmenwasincomplete,whichleadstotheaccident第2章协议设计(1-协议模型)14协议例子:LessonsAhistorianofrailwaydisasters(Nock,1967):“Onecanalmosthearthesamecommentbeingmadetimeaftertime.’Icouldnotimaginethatcouldeverhappen.’Yetbitterexperienceshowedthatitcould,andgraduallytheregulationsandrailwayengineeringpracticewereelaborated.”Protocol:UseUndernormalcircumstancesandthatallowedforasaferecoveryfromunexpectedevents.第2章协议设计(1-协议模型)15协议例子:Lessons(Cont.)eventhemostsimpleprotocolsmaycontainerrorsprotocolsmustbefullyverifiedbeforetheyareputinoperationtechniquestostructure,design,analyseandverifyprotocolsarenecessary第2章协议设计(1-协议模型)16一个简单的网络协议(蓝军与白军)谢希仁教授《计算机网络》上的一道作业题:占据两个山顶的蓝军与驻扎在这两个山之间的山谷的白军作战。其力量对比是:一个山顶上的蓝军打不过白军,但两个山顶的蓝军协同作战则可战胜白军。一个山顶上的蓝军拟于次日正午向白军发起攻击。于是发送电文给另一山顶上的友军。但通信线路很不好,电文出错或丢失的可能性较大。因此要求收到电文的友军必须送回一个确认电文。但此确认电文也可能出错或丢失。试问能否设计出一种协议使得蓝军能够实现协同作战因而一定(即100%)取得胜利?第2章协议设计(1-协议模型)17明日正午进攻明日正午进攻如果情况如上所述,次日蓝军1和蓝军2的协同进攻必定获胜。但情况并非如此简单。因为所发的报文可能会丢失。明日正午进攻丢失!白军蓝军1蓝军2因此蓝军1必须在收到蓝军2的确认后才能进攻第2章协议设计(1-协议模型)18明日正午进攻确认明日正午进攻确认因此,收到报文后必须加以确认但这个确认报文也可能丢失:确认丢失!白军蓝军1蓝军2故蓝军2必须要收到蓝军1发出的对此“确认”的确认,才能知道发送出的确认是否被蓝军1正确收到。第2章协议设计(1-协议模型)19明日正午进攻确认明日正午进攻确认因此蓝军1收到确认报文后应发送对此确认的确认。对“确认”的确认对“确认”的确认蓝军1无法知道最后发送的这个确认是否被蓝军2收到,仍需收到蓝军2发来的确认才行!白军蓝军1蓝军2第2章协议设计(1-协议模型)20白军蓝军1蓝军2协议必须能够应付所有的(而不是部分的)不利情况像这样简单的问题居然无法设计出一种协议来解决。第2章协议设计(1-协议模型)21内容提要协议设计概述1协议模型2第2章协议设计(1-协议模型)22协议模型分层设计,n层协议模型(n+1)实体(n)实体(n+1)实体(n)实体(n)协议提供(n-1)服务提供(n)服务(n)服务用户(n)服务提供者通过(n-1)连接进行通信(n+1)层(n-1)层(n)层nSAP(n-1)SAPnSAP(n-1)SAP(n-1)SPs(n-1)SPs(n)SPs(n)SPs(n)PDUs在OSI中,实体(entity)表示任何可以发送和接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的模块。两个(n)实体在(n)协议的控制下的通信,使(n)层能够向上一层(n+1)提供服务。这种服务就是(n)服务。接受(n)服务的是上一层实体,即(n+1)实体。它们也称为(n)用户或更严格些是(n)服务用户。第2章协议设计(1-协议模型)23协议模型分层设计,n层协议模型(n+1)实体(n)实体(n+1)实体(n)实体(n)协议提供(n-1)服务提供(n)服务(n)服务用户(n)服务提供者通过(n-1)连接进行通信(n+1)层(n-1)层(n)层nSAP(n-1)SAPnSAP(n-1)SAP(n-1)SPs(n-1)SPs(n)SPs(n)SPs(n)PDUs一个(n)实体向上一层所提供的服务由以下三部分构成:(1)(n)实体自己提供的某些功能。(2)从(n-1)层及其以下各层以及本地系统环境得到的服务。(3)通过与处在另一系统中的对等(n)实体的通信而得到的服务。将(n)层对等实体之间,为实现该层协议所交换的信息单元称为协议数据单元PDU(ProtocolDataUnit)。通常将第n层的协议数据单元记为(n)PDU。第2章协议设计(1-协议模型)24PDUsPDU通常由2部分构成:用户数据和协议控制信息PCI(ProtocolControlInformation)。PCI一般作为首部加在用户数据的前面,但有时也可作为尾部加在用户数据的后面,例如检验和(checksum)常放在尾部。两种类型:数据PDU控制PDU,不携带用户数据。在不同的协议层次中,PDU还有一些其它的表示法。物理层:比特(bit);数据链路层:帧(frame)或信元(cell);网络层:分组或包(packet)运输层:报文(Message)第2章协议设计(1-协议模型)25PDUs(Cont.)TwoStyles:AbstractPDU•ProtocolControlInformation(PCI)•UserdataConcretePDU•MappingofabstractPDUontobitpatterns(PDU
本文标题:网络协议工程第2章-协议设计(1-协议模型)
链接地址:https://www.777doc.com/doc-391236 .html