




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2章章 协议设计(协议设计(1协议模型)协议模型) 第第 2 章章 协议设计协议设计(1-协议模型)协议模型)第第2章章 协议设计(协议设计(1协议模型)协议模型) 2内容提要内容提要协议设计概述协议设计概述1协议模型协议模型2第第2章章 协议设计(协议设计(1协议模型)协议模型) 3协议设计概述协议设计概述v协议设计的含义?协议设计的含义?v协议设计是是一件很困难的事情协议设计是是一件很困难的事情Example: Clayton Tunnel ProtocolExample: 蓝军与白军作战问题蓝军与白军作战问题第第2章章 协议设计(协议设计(1协议模型)协议模型) 4协议例子协议例子v
2、England, 1841, William CookevTelegraph(电报)电报) instead of Optical telegraph for Railway Tunnel Protection, 节省成本(只需节省成本(只需1/10)和提高速度。)和提高速度。vPurpose: avoid that more than one train is in the tunnel at the same timevFirstly used on several lines of the Great Western Railways in England.第第2章章 协议设计(协议设计(
3、1协议模型)协议模型) 5电报电报(Telegraph)v 基本原理,基本原理,1753,C.M给给Scots杂志的信中描述了一个使用杂志的信中描述了一个使用一些平行电线来通信的电子电报。一些平行电线来通信的电子电报。v 1830,英国,英国Michael Faraday和美国和美国Joseph Henry发现了电发现了电磁感应磁感应v 1837,William Cooke利用电流来使处在接收端磁场中的利用电流来使处在接收端磁场中的罗盘指针发生偏转,从而得到信号。罗盘指针发生偏转,从而得到信号。v 1837年年6月月12日,第一个电报系统的专利,日,第一个电报系统的专利,“五磁针信号五磁针信号
4、系统系统”。v 1842年,年,Cooke“火车可以无所畏惧地行驶,而无论其时火车可以无所畏惧地行驶,而无论其时间是否正确,也不管其是否在正确的轨道上,因为在使用间是否正确,也不管其是否在正确的轨道上,因为在使用该系统后,其速率总可以及时地降下来,从而避免碰撞该系统后,其速率总可以及时地降下来,从而避免碰撞”第第2章章 协议设计(协议设计(1协议模型)协议模型) 6协议例子协议例子vEngland, 1841, William CookevTelegraph(电报)电报) instead of Optical telegraph for Railway Tunnel Protection, 节
5、省成本(只需节省成本(只需1/10)和提高速度。)和提高速度。vPurpose: avoid that more than one train is in the tunnel at the same timevFirstly used on several lines of the Great Western Railways in England.第第2章章 协议设计(协议设计(1协议模型)协议模型) 7协议例子协议例子semaphores with block-interval system(空闲空闲/阻塞阻塞信号系统信号系统)turn to red automatically as a
6、 train passesset to green by hand afterwardssignalmen on both ends linked by telegraphic linemalfunction of block-interval system signalled by a bellred and white flags to replace malfunctioning semaphore第第2章章 协议设计(协议设计(1协议模型)协议模型) 8协议例子:报文协议例子:报文(Messages)vMessage:TT: Train in TunnelTF: Tunnel is F
7、reeTL: Has the Train left the Tunnel?第第2章章 协议设计(协议设计(1协议模型)协议模型) 9协议例子:差错控制协议例子:差错控制vError Free Functioningtrain enters tunnel, signalman A sends TT to Btrain leaves the tunnel, B sends TF to AA sets semaphore to green by handvUnder Error Situationtrain enters tunnel, A sends TT to Bbell rings, A sh
8、ows red flag to next traintrain leaves the tunnel, B sends TF to AA shows white flag to next train第第2章章 协议设计(协议设计(1协议模型)协议模型) 10协议例子:事故协议例子:事故(Accident)vOne day in August 1861 at Clayton Tunnel.train-1 enters tunnel, block-interval system fails(fails to set the signal to red), so the bell warns sign
9、alman A, thenA sends TT to B, then fetches the red flag to warn the next train.train-2 comes too fast, and could not stop in time, has already passed the green signal. Fortunately, its driver catches a glimpse of the red flag just in time as he enters the tunnel.train-3 sees the red flag and stops b
10、efore the tunnel entrance.第第2章章 协议设计(协议设计(1协议模型)协议模型) 11协议例子:事故(协议例子:事故(Accident) A sends another TT to B (for train-2) B does not understand second TT(because the protocol did not account for this event so the meaning of two sbusequent TT had not been specified.) A sends TL (has the train left the
11、tunnel?)to B B sees train-1 and sends TF第第2章章 协议设计(协议设计(1协议模型)协议模型) 12协议例子:事故(协议例子:事故(Accident) A thinks train-2 left the tunnel and shows white flag to train-3 train-2 had seen red flag before, is afraid and tries to return to position A After some deliberation.第第2章章 协议设计(协议设计(1协议模型)协议模型) 13协议例子:事故
12、(协议例子:事故(Accident)vResult train-3 and train-2 crashed: 21 people died and 176 got injured The set of instructions given to the signalmen was incomplete, which leads to the accident第第2章章 协议设计(协议设计(1协议模型)协议模型) 14协议例子:协议例子:LessonsvA historian of railway disasters(Nock, 1967 ): “One can almost hear the
13、same comment being made time after time.I could not imagine that could ever happen. Yet bitter experience showed that it could, and gradually the regulations and railway engineering practice were elaborated.”vProtocol: Use Under normal circumstances and that allowed for a safe recovery from unexpect
14、ed events.第第2章章 协议设计(协议设计(1协议模型)协议模型) 15协议例子:协议例子:Lessons (Cont.)veven the most simple protocols may contain errorsvprotocols must be fully verified before they are put in operationtechniques to structure, design, analyse and verify protocols are necessary第第2章章 协议设计(协议设计(1协议模型)协议模型) 16一个简单的网络协议一个简单的
15、网络协议(蓝军与白军蓝军与白军)v谢希仁教授谢希仁教授计算机网络计算机网络上的一道作业题:上的一道作业题:占据两个山顶的蓝军与驻扎在这两个山之间的山谷的占据两个山顶的蓝军与驻扎在这两个山之间的山谷的白军作战。其力量对比是:一个山顶上的蓝军打不过白军作战。其力量对比是:一个山顶上的蓝军打不过白军,但两个山顶的蓝军协同作战则可战胜白军。一白军,但两个山顶的蓝军协同作战则可战胜白军。一个山顶上的蓝军拟于次日正午向白军发起攻击。于是个山顶上的蓝军拟于次日正午向白军发起攻击。于是发送电文给另一山顶上的友军。但通信线路很不好,发送电文给另一山顶上的友军。但通信线路很不好,电文出错或丢失的可能性较大。因此要
16、求收到电文的电文出错或丢失的可能性较大。因此要求收到电文的友军必须送回一个确认电文。但此确认电文也可能出友军必须送回一个确认电文。但此确认电文也可能出错或丢失。错或丢失。试问能否设计出一种协议使得蓝军能够实现协同作战试问能否设计出一种协议使得蓝军能够实现协同作战因而一定因而一定(即即100 %)取得胜利?取得胜利?第第2章章 协议设计(协议设计(1协议模型)协议模型) 17如果情况如上所述,次日蓝军 1 和蓝军 2 的协同进攻必定获胜。但情况并非如此简单。因为所发的报文可能会丢失。丢失!白军蓝军 1蓝军 2因此蓝军 1 必须在收到蓝军 2 的确认后才能进攻第第2章章 协议设计(协议设计(1协议
17、模型)协议模型) 18因此,收到报文后必须加以确认但这个确认报文也可能丢失:丢失!白军蓝军 1蓝军 2故蓝军 2 必须要收到蓝军 1 发出的对此“确认”的确认,才能知道发送出的确认是否被蓝军 1 正确收到。第第2章章 协议设计(协议设计(1协议模型)协议模型) 19因此蓝军 1 收到确认报文后应发送对此确认的确认。蓝军 1 无法知道最后发送的这个确认是否被蓝军 2 收到,仍需收到蓝军 2 发来的确认才行!白军蓝军 1蓝军 2第第2章章 协议设计(协议设计(1协议模型)协议模型) 20白军蓝军 1蓝军 2协议必须能够应付所有的(而不是部分的)不利情况像这样简单的问题居然无法设计出一种协议来解决。
18、第第2章章 协议设计(协议设计(1协议模型)协议模型) 21内容提要内容提要协议设计概述协议设计概述1协议模型协议模型2第第2章章 协议设计(协议设计(1协议模型)协议模型) 22协议模型协议模型v分层设计,分层设计,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)S
19、Ps(n)SPs(n)SPs(n)PDUs在OSI中,实体(entity)表示任何可以发送和接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的模块。 两个(n)实体在(n)协议的控制下的通信,使(n)层能够向上一层(n+1)提供服务。这种服务就是(n)服务。 接受(n)服务的是上一层实体,即(n+1)实体。它们也称为(n)用户或更严格些是(n)服务用户。 第第2章章 协议设计(协议设计(1协议模型)协议模型) 23协议模型协议模型v分层设计,分层设计,n 层协议模型层协议模型(n+1) 实体实体(n) 实体实体(n+1) 实体实体(n) 实体实体(n) 协议协议提供提供(n-1)服务服
20、务提供提供(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)实体向上一层所提供的服务由实体向上一层所提供的服务由以下三部分构成:以下三部分构成: (n)实体自己提供的某些功能。实体自己提供的某些功能。 从从(n-1)层及其以下各层以及本地系层及其以下各层以及本地系统环境得到的服务。统环境得到的服务。 (1)(1) 通过与处在另一系统中的对等通过与处在另一系
21、统中的对等(n)实体的通信而得到的服务。实体的通信而得到的服务。 将将(n)层对等实体之间,层对等实体之间,为实现该层协议所交换为实现该层协议所交换的信息单元称为协议数的信息单元称为协议数据单元据单元PDU(Protocol Data Unit)。通常将第。通常将第n层的协议数据单元记为层的协议数据单元记为(n)PDU。第第2章章 协议设计(协议设计(1协议模型)协议模型) 24PDUsv PDU通常由通常由2部分构成:用户数据和协议控制信息部分构成:用户数据和协议控制信息PCI(Protocol Control Information)。 PCIPCI一般作为首部加在用户数据的前面,但有时也
22、可作为尾部一般作为首部加在用户数据的前面,但有时也可作为尾部加在用户数据的后面,例如检验和加在用户数据的后面,例如检验和(checksum)(checksum)常放在尾部。常放在尾部。 v 两种类型:两种类型: 数据数据PDU 控制控制PDU,不携带用户数据。,不携带用户数据。 v 在不同的协议层次中,在不同的协议层次中,PDU还有一些其它的表示法。还有一些其它的表示法。 物理层:比特物理层:比特(bit); 数据链路层:帧数据链路层:帧(frame)或信元或信元(cell); 网络层网络层 :分组或包分组或包(packet) 运输层运输层 :报文:报文(Message)第第2章章 协议设计(
23、协议设计(1协议模型)协议模型) 25PDUs (Cont.)vTwo Styles:Abstract PDU Protocol Control Information(PCI) User dataConcrete PDU Mapping of abstract PDU onto bit patterns (PDU formats) Defined in terms of data fieldsvWhy are concrete PDUs necessary in a standard protocol?第第2章章 协议设计(协议设计(1协议模型)协议模型) 26PDUs (Cont.)vPD
24、U Encoding Example:Abstract PDU CR-PDU (Length, Destination, Source, Options, , User data)Concrete PDU (PDU format) LICRCDT1110DST-REF0000 0000 0000 0000SRC-REFCLASSOPTIONVariablepartUserdata12345678pp+1 endOctets第第2章章 协议设计(协议设计(1协议模型)协议模型) 27PDUs (Cont.)vCoding functions:Encoding Mapping of abstrac
25、t PDUs onto concrete PDUs Generation of concrete PDUsDecoding Extract necessary information from concrete PDUs Hide specific coding from the procedure rules第第2章章 协议设计(协议设计(1协议模型)协议模型) 28PDUs (Cont.)vExample: Fictitious PDUstruct char a, b; int c; pdu;Code to show organization in bits and bytesmain()
26、 int i;pdu.a = a; /* set a field with value a */pdu.b = b; /* set b field with value b */pdu.c = 1; /* set c field with value 1 */for (i = 0; i sizeof(pdu); i+) printf(“%d “, (int)(char*)&pdu)i); printf(“n”); 第第2章章 协议设计(协议设计(1协议模型)协议模型) 29PDUs and SDUsvOSI将层与层之间交换的数据的单元称为将层与层之间交换的数据的单元称为服务数服务数据单
27、元据单元SDU(Service Data Unit)。 v一个一个(n)服务数据单元就是服务数据单元就是(n)服务所要传送的逻辑服务所要传送的逻辑数据单元。数据单元。SDU就是数据就是数据PDU中的用户数据,但不一定是一一对中的用户数据,但不一定是一一对应关系。应关系。 可以是多个可以是多个SDU合成为一个合成为一个PDU(称为称为“拼装拼装”),也可,也可以是将一个以是将一个SDU划分为几个划分为几个PDU(称为称为“分段分段”)。 第第2章章 协议设计(协议设计(1协议模型)协议模型) 30PDUs and SDUs (Cont.)(N+1) SDU(N+1) service(N) SDU(N) service(N+1) PDU(N+1) PEPCIData(N) PDU(N) PEPCIDataPCIPCIData第第2章章 协议设计(协议设计(1协议模型)协议模型) 31协议模型协议模型v分层设计,分层设计,n 层协议模型层协议模型(n+1) 实体实体(n) 实体实体(n+1) 实体实体(n) 实体实体(n) 协议协议提供提供(n-1)服务服务提供提供(n)服务服务(n) 服务用户服务用户(n) 服务提供者服务提供者通过通过(n-1)连接进行通信连接进行通信(n + 1) 层层(n - 1) 层层(n) 层层nSAP(n-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林木遗传育种与病虫害防治考核试卷
- 文化用品行业绿色环保发展考核试卷
- 渔业保险制度考核试卷
- 刷具在航空航天领域的应用前景探讨分析考核试卷
- 水稻病虫害防治培训考核试卷
- 炼铁高炉矿渣诱发的灰渣刚度考核试卷
- 公墓转让合同标准文本
- 养殖羊投资合同标准文本
- 关于合作种植合同标准文本
- 乙方终止设计合同范例
- 藏毛窦护理-业务查房课件
- 股东损害公司债权人利益责任纠纷起诉状(成功范文)
- 中国石油转观念勇担当创一流心得体会 中国石油转观念勇担当创一流心得
- 2022年新疆烟草专卖局招聘考试试题真题及答案
- 装配式建筑图纸识读-2.主体结构预制构件图纸识读(装配式建筑深化设计与施工)
- 研究生复试自我介绍面试个人简历PPT模板
- 用友ERP-U8基础档案设置
- 高中美术鉴赏(必修) 湘美版 《我们怎样鉴赏美术作品》
- 学生心理健康档案表格
- 河北绿色建筑施工图设计审查备案表
- 病毒的遗传与变异
评论
0/150
提交评论