网络协议分析试卷讲义
- 格式:doc
- 大小:8.15 MB
- 文档页数:9
网络协议分析Chap 1——TCP/IP 概述1.用IP实现异构网络互联(IP能够屏蔽底层物理网络的差异,向上提供一致性)2.通用的协议分层思想:(1)第N层实体在实现自身定义的功能的时候,只能使用第N-1层提供的服务(2)N层向N+1层提供服务,该服务不仅包括N层本身所具备的功能,还包括由下层服务提供的功能总和(3)最底层只提供服务,是提供服务的基础;最高层只是用户,是使用服务的最高层,中间各层既是下一层的用户,又是上一层的服务提供者(4)仅在相邻层间有借口,且下层服务的实现细节对上层完全透明3.TCP/IP分层模型分层优势:简化问题,分而治之,有利于软件升级换代应用层、传输层、IP层、网络接口层、物理层分层缺点:效率低1.各层之间相互独立,都要对数据进行分别处理2.每层处理完毕都要加一个头结构,增加了通信数据量TCP/IP的分层原则:信宿机第n层收到的数据与信源机第n层发出的数据完全一致。
应用层:提供通用的应用程序,如电子邮件、文件传输等。
传输层:提供应用程序间端到端的通信①格式化信息流②提供可靠传输③识别不同应用程序IP层:负责点到点通信①处理TCP分层发送请求②为进入的数据报寻径③处理ICMP报文:流控、拥塞控制④组播服务网络接口层:接收IP数据报并通过选定的网络发送。
总结:TCP/IP模型是在1个硬件层上构建的4个软件层4.TCP/IP 中协议依赖关系CHAP 2 点到点PPP协议1.最大接收单元:用以向对方通告可以接受的最大报文长度;2.PPPoE定义了在以太网中使用PPP协议的规范,主要用于城域以太网以及个人用户基于以太网连接ADSL接入设备的场合CHAP 3 Internet地址及地址解析1.IP地址:网络号+主机号2.IP地址的寻路特点:(1)指明了主机所在的网络,标识了对象位置(2)标识了到达对象的路径,机先投递到对象所在网络,之后投递到相应的主机3.IP地址分类A类:0 —8位网络号首字节1—126B类:10 —16位网络号首字节128—191C类:110 —24位网络号首字节192—223D类:1110 —组播地址首字节224—239E类:11110 -- (保留未用)首字节240—247特殊IP地址:网络地址:主机号全0;广播地址:主机号全‘1’有限广播地址:32位全‘1’;回送地址:127.*.*.*,网络软件测试及本机进程间的通信。
网络协议分析协议名称:网络协议分析协议1. 引言本协议旨在对网络协议进行分析,以深入了解网络协议的结构、功能和通信流程。
通过对网络协议的详细分析,可以帮助我们更好地理解和应用网络协议,提高网络通信的效率和安全性。
2. 背景随着互联网的快速发展,网络协议作为实现网络通信的基础,起到了至关重要的作用。
网络协议定义了数据传输的规则和格式,通过协议的约定,不同设备和系统可以实现互联互通。
因此,对网络协议进行深入分析,有助于我们了解协议的工作原理和通信过程,为网络通信的优化和安全提供指导。
3. 目的本协议的目的是对网络协议进行分析,包括但不限于以下方面:- 协议的结构和组成部分- 协议的功能和特点- 协议的通信流程和数据传输方式- 协议的安全性和漏洞分析4. 分析方法本协议的分析方法主要包括以下步骤:4.1 收集协议资料:收集网络协议的相关文档、规范和技术资料,包括协议的版本、发布时间、作者等信息。
4.2 协议结构分析:对协议的结构进行详细分析,包括协议头部、数据字段、校验和等部分的功能和作用。
4.3 协议功能分析:对协议的功能进行详细分析,包括协议的数据传输、连接建立和维护、错误处理等功能。
4.4 通信流程分析:对协议的通信流程进行详细分析,包括协议的请求和响应过程、数据传输的顺序和方式等。
4.5 安全性分析:对协议的安全性进行评估和分析,包括协议的加密算法、身份验证机制、漏洞和攻击面等方面的分析。
5. 分析结果根据以上分析方法,我们将得出以下分析结果:5.1 协议的结构和组成部分:详细描述协议的结构和各个组成部分的功能和作用。
5.2 协议的功能和特点:详细分析协议的功能和特点,包括数据传输、连接建立和维护、错误处理等方面。
5.3 协议的通信流程和数据传输方式:详细描述协议的通信流程和数据传输方式,包括请求和响应过程、数据传输的顺序和方式等。
5.4 协议的安全性和漏洞分析:对协议的安全性进行评估和分析,包括加密算法、身份验证机制、漏洞和攻击面等方面的分析。
网络协议分析总结一、填空题、选择、判断BGP有open、keepalive、update、notification报文。
OSFP有hello报文、DDP、LSRP、LSUP、LSAP报文。
协议的特点:HTTP请求方式:post、get、head;特点:无状态、双向传输、协商能力、高速缓存、支持中介。
ICMP有差错报告类、单向通知的控制类、请求/应答类的报文。
DNS记录类型:A(IP与域名映射关系)、CNAME(别名)、MX(邮件交换机域名)、PTR(反向解析)。
RIP协议基于UDP,OSPF基于IP,BGP基于TCP。
三、简答题1.ARP的工作过程答:发送方先发送一个ARP请求报文,以广播方式发送。
网络上所有主机都会收到这个请求,它们把请求中的Ip地址与自身的相比较,若相同则向发送方回应,否则不回应。
2.UDP的特点答:提供了应用程序之间传输数据的基本机制;UDP提供不可靠、无连接的数据交付服务;3.BGP的特点答:BGP基于TCP,使用179号端口,它可以可靠传输,并且是协议的实现简单化。
4.在浏览器输入一个地址返回响应的过程答:1. 首先在浏览器里输入要输的网址2. 浏览器查找域名的IP地址3. 浏览器给web服务器发送一个HTTP请求4. 请求的服务的永久重定向响应5. 浏览器跟踪重定向地址6. 服务器“处理”请求7. 服务器发回一个HTML响应8. 浏览器开始显示HTML9. 浏览器发送获取嵌入在HTML中的对象10. 浏览器发送异步(AJAX)请求四、综合题1、IP地址划分答:2、TCP计算,报文起始、终止3、路由表的修改判断题(20小题,共20分,对打√,错打×)1.没有完成两个数据包握手称为双向“握手”,是一种不安全的进程。
(√)2.查阅网上对象所有域名和地址的术语称为统一资源定位符URL。
(×)3.动态端口也叫临时端口。
(√)4.用于描述DNS数据库段的数据是一种ASCII文本数据。
计算机网络协议与应用题库解析计算机网络协议是计算机通信中最基础和重要的部分,它定义了计算机之间数据传输的规则和方法。
理解和掌握计算机网络协议对于IT从业人员和计算机科学学生来说是至关重要的。
本文将对计算机网络协议与应用题库进行解析,帮助读者深入理解和应用计算机网络协议。
1. OSI模型与TCP/IP协议栈计算机网络通常使用OSI模型和TCP/IP协议栈作为参考模型。
OSI模型将计算机网络通信划分为七个层次,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
而TCP/IP协议栈由四个层次组成,分别是网络接口层、网络层、传输层和应用层。
理解和熟悉OSI模型和TCP/IP协议栈的层次结构对于解析计算机网络协议与应用题目至关重要。
2. IP协议与路由选择IP协议是计算机网络中最常用的网络层协议,它负责将数据包从源主机传输到目的主机。
IP协议使用IP地址来唯一标识每个主机和路由器,在数据传输过程中利用路由选择算法来寻找最佳的传输路径。
在解析IP协议与应用题目时,需要了解IP地址的分类和划分、子网划分和路由选择算法。
3. ARP协议与MAC地址解析ARP协议是用于实现网络层IP地址与网络接口层MAC地址的映射的协议。
它通过广播方式在局域网内寻找目标主机的MAC地址并进行映射,以实现数据包的传输。
在解析ARP协议与应用题目时,需要掌握ARP请求和应答的过程、ARP缓存和ARP欺骗等相关知识。
4. TCP协议与流量控制TCP协议是一种面向连接、可靠传输的传输层协议,它通过流量控制、拥塞控制和错误恢复机制来保证数据的可靠传输。
在解析TCP协议与应用题目时,需要了解TCP的三次握手和四次挥手过程、滑动窗口机制、拥塞控制算法和超时重传等相关内容。
5. DNS协议与域名解析DNS协议是用于将域名解析为IP地址的协议,它在应用层提供了域名与IP地址之间的映射关系。
在解析DNS协议与应用题目时,需要了解DNS查询过程、域名解析的递归查询和迭代查询、DNS缓存和DNS负载均衡等知识。
网络协议分析与测试技术(答案见尾页)一、选择题1. 网络协议的基本概念是什么?A. 协议是一种标准或规范,用于确保不同系统之间的通信B. 协议是计算机网络中的一种通信规则C. 协议是网络中的一种数据交换格式D. 协议是一种程序,用于规定信息传输的顺序和格式2. OSI七层模型中,哪一层负责数据的分组与重组?A. 应用层B. 表示层C. 会话层D. 数据链路层3. TCP/IP协议中的TCP和UDP协议的主要区别是什么?A. TCP提供可靠的通信传输,而UDP不保证传输的可靠性B. TCP是无连接的协议,而UDP是有连接的协议C. TCP使用滑动窗口机制,而UDP不使用D. TCP支持多路复用,而UDP不支持4. 在网络协议的分析中,常用的工具软件有哪些?A. WiresharkB. tcpdumpC. EtherealD. all of the above5. 哪一项不是网络协议测试的目的?A. 验证协议的正确性B. 确定协议的性能瓶颈C. 评估协议的兼容性D. 优化协议的参数设置6. 在网络协议测试中,通常关注哪些方面?A. 数据链路层的错误检测与纠正B. 网络层的路由选择与流量控制C. 传输层的连接建立与断开过程D. 应用层的交互协议处理7. 对于网络协议测试,以下哪个说法是正确的?A. 协议测试应该模拟真实世界的网络环境B. 协议测试通常只需要在单一的设备上进行C. 协议测试可以完全替代实际的网络应用测试D. 协议测试只关注数据的正确性,而不关注传输的效率8. 在进行网络协议测试时,如何判断协议实现的正确性?A. 通过协议分析仪直接观察协议消息的发送与接收情况B. 通过模拟客户端和服务器的交互来验证协议的正确性C. 通过协议测试工具模拟各种网络条件来测试协议的稳定性D. 以上所有方法都可以用来判断协议实现的正确性9. 网络协议测试对网络性能有何影响?A. 测试过程可能会对网络性能产生影响B. 测试结果可以直接反映网络性能的好坏C. 网络协议测试不会改变网络的性能D. 网络协议测试可能导致网络性能下降10. 网络协议的基本概念是什么?A. 协议是一种标准或规范,用于确保不同系统之间的通信B. 协议是计算机网络中的一种通信规则C. 协议是网络中数据传输的一种格式D. 协议是网络中的一种硬件设备11. TCP/IP协议中的TCP和UDP协议的主要区别是什么?A. TCP提供可靠的数据传输,而UDP提供不可靠的数据传输B. TCP负责数据包的排序和重组,而UDP不负责C. TCP提供流量控制,而UDP不提供D. TCP有连接建立和握手过程,而UDP没有12. 在网络协议分析中,通常使用哪些工具?A. WiresharkB. tcpdumpC. EtherealD. all of the above13. 在网络协议测试中,通常关注哪些方面?A. 数据链路层的错误检测与纠正B. 网络层的路由选择与流量控制C. 传输层的端口对接与数据传输D. 应用层的用户体验与权限验证14. ICMP协议在网络协议中扮演什么角色?A. 用于网络设备的故障报告和诊断B. 用于IP地址分配和子网划分C. 用于用户身份验证和授权D. 用于端到端的通信15. 在TCP/IP协议中,HTTP和HTTPS的主要区别是什么?A. HTTP是超文本传输协议,而HTTPS是安全超文本传输协议B. HTTPS是HTTP的安全版本,它在HTTP和TCP之间添加了一个安全层(SSL或TLS)C. HTTPS总是使用TCP,而HTTP可以使用UDPD. HTTPS需要对数据进行加密,而HTTP不需要16. 在网络协议测试中,如何验证协议的可靠性?A. 通过发送大量的ping命令来检测网络的响应时间B. 通过发送特定的数据包并检查是否收到确认来验证C. 通过模拟网络故障来测试协议的容错能力D. 通过分析网络日志文件来检测潜在的问题17. 在网络协议分析中,如何识别和处理不同的网络攻击?A. 通过分析网络流量模式来识别异常流量B. 通过检测网络协议的异常行为来识别潜在的攻击C. 通过定期更新和打补丁来预防攻击D. 通过使用入侵检测系统(IDS)来监测和阻止攻击18. 在网络协议测试中,如何评估协议的性能?A. 通过测量数据包的传输速度来评估B. 通过分析网络延迟来评估C. 通过测试网络吞吐量来评估D. 通过模拟实际应用场景来评估19. 在网络协议分析中,如何使用协议分析器(如Wireshark)进行协议解析?A. 打开协议分析器,选择要捕获的网络接口,开始捕获数据包B. 打开协议分析器,选择要捕获的网络接口,开始捕获数据包,然后过滤特定的协议C. 打开协议分析器,选择要捕获的网络接口,开始捕获数据包,然后解码数据包内容D. 打开协议分析器,选择要捕获的网络接口,开始捕获数据包,然后查看网络协议的状态和统计数据20. 网络协议的基本概念是什么?A. 协议是计算机网络中数据传输的一种规范B. 协议是网络中不同设备之间通信的规则C. 协议是一种标准化的通信协议D. 协议是网络设备和应用的接口21. OSI七层模型中,哪一层负责数据的分段和重组?A. 物理层B. 数据链路层C. 网络层D. 传输层22. TCP/IP协议中的TCP和UDP协议的主要区别是什么?A. TCP提供可靠的数据传输,而UDP提供不可靠的数据传输B. TCP提供面向连接的服务,而UDP提供无连接的服务C. TCP提供可靠的连接,而UDP提供不可靠的连接D. TCP提供有序的数据传输,而UDP提供无序的数据传输23. 在网络协议分析中,常用的抓包工具有哪些?A. WiresharkB. FiddlerC. CharlesD. Netcat24. 在网络协议测试中,通常使用哪些工具来验证协议的正确性?A. PostmanB. InsomniaC.curlD. Wireshark25. 网络协议的基本概念是什么?A. 协议是一种标准或规范,用于确保不同系统之间的通信B. 协议是一种规则,用于规定信息的格式和传输方式C. 协议是一种标准,用于定义网络通信中的操作和流程D. 协议是一种约定,用于确保数据的安全性和完整性26. TCP/IP协议簇中,哪个协议负责数据传输?A. IPB. TCPC. UDPD. ICMP27. 在网络协议分析中,通常会使用哪些工具?A. WiresharkB. tcpdumpC. EtherapeD. all of the above28. OSI七层模型中,哪一层负责数据的加密和解密?A. 物理层B. 数据链路层C. 传输层D. 表示层29. 在网络性能测试中,通常关注哪些指标?A. 延迟B. 丢包率C. 错误率D. 吞吐量30. 在网络协议测试中,如何验证协议的正确性?A. 使用协议分析工具进行抓包分析B. 编写简单的测试程序,模拟实际应用场景C. 使用网络仿真工具模拟网络环境D. A和B31. 在TCP/IP协议中,TCP和UDP的区别是什么?A. TCP提供可靠的数据传输,而UDP不保证B. TCP提供可靠的连接建立,而UDP不提供C. TCP有流量控制机制,而UDP没有D. TCP有错误检测机制,而UDP没有32. 在OSI七层模型中,哪一层负责地址分配和管理?A. 物理层B. 数据链路层C. 网络层D. 传输层33. 在网络协议开发中,通常会使用哪种编程语言?A. CB. JavaC. PythonD. All of the above34. 在网络协议测试中,如何模拟不同网络环境下的性能测试?A. 使用单一的网络接口和配置B. 使用多个网络接口和配置,模拟不同的网络拓扑结构C. 使用网络仿真工具,模拟实际的网络环境和流量模式D. A和B35. 什么是网络协议?它的主要功能是什么?A. 网络协议是一种规定的标准,用于确保网络中的设备能够相互通信。
计算机网络网络协议分析小测计算机网络是现代社会中不可或缺的一部分,而网络协议作为网络通信的基础,扮演着至关重要的角色。
本文将通过对网络协议的分析,来探讨其在计算机网络中的作用以及具体的实现原理。
一、网络协议的定义及作用网络协议是用于实现网络通信的一套规则和约定,它规定了计算机之间交换数据的方式、数据格式、错误处理等方面的细节。
网络协议的主要作用包括:1. 确保数据的可靠传输:网络协议通过使用控制机制和错误检测机制来确保数据能够可靠地传输。
例如,在TCP/IP协议中,通过使用可靠的传输控制协议(TCP),数据可以按序到达目的地,并且在传输过程中能够进行错误的检测和纠正。
2. 实现网络中的路由和寻址:网络协议定义了不同网络之间的连接方式和相互之间的路由关系。
通过网络协议,数据可以在不同的网络之间正确地传输。
3. 提供网络安全性:网络协议能够对数据进行加密和解密,以保护数据的安全性和隐私性。
例如,在SSL/TLS协议中,通过使用公钥加密和私钥解密的方式,保证了数据在传输过程中的安全性。
二、网络协议的分类根据网络协议的功能和用途的不同,可以将网络协议分为多种类型。
下面将介绍几种常见的网络协议。
1. 传输层协议:传输层协议主要用于实现数据在网络中的可靠传输。
常见的传输层协议有TCP和UDP。
TCP提供面向连接的、可靠的数据传输,而UDP则提供不可靠的数据传输。
2. 网络层协议:网络层协议用于实现数据在网络中的寻址和路由。
常见的网络层协议有IP协议和ICMP协议。
IP协议定义了网络中的寻址方式和数据包的格式,ICMP协议则用于网络中的错误处理和控制。
3. 应用层协议:应用层协议是实现网络应用的基础,它定义了应用程序之间的通信规则。
常见的应用层协议有HTTP协议、FTP协议和SMTP协议等。
HTTP协议用于实现Web应用,FTP协议用于文件传输,SMTP协议用于电子邮件发送。
三、网络协议的实现原理网络协议的实现原理包括协议的分层和协议的交互两个方面。
RADIUS协议的原理及应用讲义(doc 22页)RADIUS协议的原理及应用目录培训目标●了解RADIUS协议基本概念;●熟悉RADIUS协议报文结构;●熟悉RADIUS协议工作原理;前言企业要求只有授权的用户才能访问自己的内部网络,教育网采取根据流量计费的策略,VOD系统根据点播的时间收费等等。
这些最常见的网络应用却面临一个同样的问题:如何对用户进行认证和计费?一种常见的认证计费方法——RADIUS协议会帮助我们解决这些问题。
RADIUS是目前最常用的认证计费协议之一,它简单安全,易于管理,扩展性好,所以得到广泛应用。
1 RADIUS协议简介RADIUS ( Remote Authentication Dial In User Service )是远程认证拨号用户服务的简称。
RADIUS原先设计的目的是为拨号用户进行认证和计费。
后来经过多次改进,形成了一项通用的认证计费协议,主要完成在网络接入设备和认证服务器之间承载认证、授权、计费和配置信息。
RADIUS是一种C/S结构的协议,它的客户端最初就是NAS服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。
RADIUS基本原理:用户接入NAS,NAS向RADIUS 服务器使用Access-Request数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account-Request,RADIUS服务器响应Account-Accept,对用户开始计费,同时用户可以进行自己的相关操作。
网络协议分析习题解答参考思路《网络协议分析与实现》习题解答参考思路第第1章习题解答参考思路习题1该题考查对异构网络互联概念、异构网络涉及的问题以及解决方法的理解程度。
其中涉及的问题包括地址问题、包格式转换问题、路由问题等,其中1.1.3节还列举了很多其他的问题。
习题2该题可参考教材中所讲述的用户A和用户B的数据转换和传输过程进行解答。
习题3该题主要考查网上查找资料的能力。
在.rfc-editor/网站上可以查到所有的RFC信息。
习题4TCP/IP模型和OSI参考模型之间的层次对应关系及各层协议参见教材中的图1-5。
习题5该题主要考查动手能力,可以使用Wireshark(曾称为Ethereal)、Sniffer Portable等软件进行抓包,然后针对一些具体报文进行分析。
注意分析通信中的多路复用和多路分解过程,说出通信双方的物理地址、IP地址和端口地址。
习题6该题主要考查阅读代码的能力,这部分代码是对数据结构课程中队列操作的一个实现。
该队列是一个基于优先级排序的队列,主要的数据结构是qinfo structqinfo{Bool q_valid;int q_type;/*mutex type*/intq_max;int q_count;int q_seen;intq_mutex;int*q_key;char**q_elt;};具体操作如下int enq(intq,void*elt,int key);/*入队列操作,根据key的大小插到队列中的合适位置*/void*deq(int q);/*出队列操作*/void*headq(int q);/*获取队列头部元素*/void*seeq(int q);/*按顺序取队列元素*/int newq(unsigned size,unsigned mtype);/*分配一个新的队列,并返回队列的索引位置*/int freeq(int q);/*释放队列*/int lenq(int q);/*获取队列长度*/static int initq();/*初始化队列*/第第2章习题解答参考思路习题1该题主要考查对HDLC概念的理解程度,答案参见2.1节。
网络协议分析协议名称:网络协议分析协议一、协议目的本协议旨在对网络协议进行详细分析,包括协议的定义、功能、通信流程、数据格式等方面的内容,以便更好地理解和应用网络协议。
二、协议背景随着互联网的快速发展,网络协议作为网络通信的基础,扮演着至关重要的角色。
为了满足不同领域的需求,各种网络协议层出不穷,因此对网络协议进行深入分析具有重要的意义。
三、协议内容1. 协议定义网络协议是指在计算机网络中,为了实现网络通信而制定的规则和约定。
它规定了计算机之间的通信方式、数据传输格式、错误处理等内容。
2. 协议功能网络协议的功能主要包括:- 确保数据的可靠传输:通过使用差错检测和纠正技术,确保数据在传输过程中不会丢失或损坏。
- 实现数据的分组和组装:将大块数据划分为较小的数据包进行传输,并在接收端重新组装。
- 提供地址分配和路由功能:为网络中的设备分配唯一的地址,并决定数据包的传输路径。
- 实现数据的安全性和隐私保护:通过加密和认证等手段,保护数据的安全性和用户的隐私。
3. 协议通信流程网络协议的通信流程一般包括以下步骤:- 建立连接:通信双方通过握手过程建立连接,以便开始数据传输。
- 数据传输:发送方将数据划分为数据包,并通过网络传输到接收方。
- 数据确认:接收方收到数据包后,发送确认消息给发送方,以确保数据的可靠传输。
- 连接释放:数据传输完成后,通信双方通过释放连接来结束通信。
4. 协议数据格式网络协议的数据格式一般包括以下部分:- 头部:包含了一些必要的信息,如源地址、目标地址、协议版本等。
- 数据:实际要传输的数据内容。
- 尾部:包含了一些校验和错误检测的信息,以确保数据的完整性和正确性。
四、协议应用案例以HTTP协议为例,进行协议应用案例分析:1. 协议定义:HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。
2. 协议功能:HTTP协议主要用于在Web浏览器和Web服务器之间进行数据传输,实现网页的浏览和数据的交互。
网络协议分析姓名学号:班级、实验题目(1)验证数据链路层协议的安全性(2)AB 协议(3)G0-BACK-N协议二、实验环境搭载在windows 下安装spin ,将的路径添加到环境变量path 中,若电脑有gcc,则直接将其路径写入path ,若无则安装Dev-c++,将其内所包含的gcc 写入path 。
然后运行,即可启动spin 完成实验。
、实验目的1.学习PROMEL U言,并用它描述常见协议并验证。
2. 练习协议工具spin 的使用,并对协议的执行进行模拟。
四、编程实现1. 数据链路层的协议正确性验证协议条件分为报文应答会出错且丢失,因此信道共有五中形式的信号,即发送的数据信号、ACK言号、NAK信号,丢失信号和出错信号;定义两个信道,用在发送方实体和接收方实体进行数据传送;定义两个进程,分别是发送方进程和接受进程,发送方在接受到错误的信号或ACK序列号不匹配时,进行重传。
接收方,收到错误信息时, 发送Err, NAK Mis信号,正确时返回ACK言号。
具体程序如下:proctype SENDER(chan InCh,OutCh)byte SendData;byte SendSeq;byte ReceivedSeq;SendData=5-1;do::SendData=(SendData+1)%5;again: if::OutCh!Msg(SendData,SendSeq) ::OutCh!Msg(SendData,SendSeq)::OutCh!Msg(SendData,SendSeq) ::OutCh!Msg(SendData,SendSeq) ::OutCh!Msg(SendData,SendSeq) ::OutCh!Msg(SendData,SendSeq) ::OutCh!Msg(SendData,SendSeq) ::OutCh!Msg(SendData,SendSeq) ::OutCh!Msg(SendData,SendSeq) ::OutCh!Msg(SendData,SendSeq) ::OutCh!Msg(SendData,SendSeq) ::OutCh!Err(0,0) ::OutCh!Mis( 0,0) fi;if::timeout -> goto again::InCh?Mis(0,0) -> goto again::InCh?Err(0,0)->goto again::InCh?Ack(ReceivedSeq,0)->if ::(ReceivedSeq==SendSeq)->goto progress::(ReceivedSeq!=SendSeq)-> end2: goto againfifi;progress: SendSeq=1-SendSeq; od; }proctype RECEIVER(chan InCh,OutCh)byte ReceivedData;byte ReceivedSeq;::InCh?Nak(ReceivedSeq,0)-> goto againbyte ExpectedData;byte ExpectedSeq;do::InCh?Msg(ReceivedData,ReceivedSeq)-> if ::(ReceivedSeq==ExpectedSeq)->assert(ReceivedData==ExpectedData); progress: ExpectedSeq=1-ExpectedSeq;ExpectedData=(ExpectedData+1)%5;if::OutCh!Mis(0,0)::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Ack(ReceivedSeq,0);::OutCh!Err(0,0);ExpectedSeq=1-ExpectedSeq;ExpectedData=(ExpectedData+4)%5;fi::(ReceivedSeq!=ExpectedSeq)->if::OutCh!Mis(0,0);::OutCh!Nak(ReceivedSeq,0);::OutCh!Err(0,0);fifi::InCh?Err(0,0)->OutCh!Nak(ReceivedSeq,0); ::InCh?Mis(0,0) -> skip;od;initrun SENDER(ReceiverToSender,SenderToReceiver);run RECEIVER(SenderToReceiver,ReceiverToSender);2.AB 协议根据AB协议状态转换图用PROMEL语言进行描述。
南 京 农 业 大 学 试 题 纸
2015-2016学年2学期 课程类型:必修√、选修 试卷类型:A、B
课程号 1920247 课程名 网络协议分析 学分 2
学号 姓名 班级
题号 一 二 三 四 五 六 七 八 九 总分 签名
得分
一、填空题(30空,每空1分,共30分)
1. 网络协议的三要素: 、 、 。
2. 在协议工程过程中,协议的5种表现形式: 、 、
、 、 。
3. 协议验证的两类主要方法:、 、 。
4. 根据差错发生的位置,差错的三种类型: 、 、
。
5. 差错检测技术: 、 、
、 、 。
6. 简化FSM的方法主要有: 、 、 、
、 _____。
7. SDL是一种基于 和 的混合技术。
8. 协议运行方式有三种: 、 和 。
9. 衡量可达性分析算法效果的两个主要指标: 、 。
本试卷适应范围
网络工程121、
122
装
订
线
装
订
线
二、简答题(4题,每题5分,共20分)
1. 简述协议工程的定义。
2. 简述差错控制的两种途径。
3. 一个系统的FSM是由各个子系统和通道的FSM合成的,请简述合成方式。
4. Petri网的行为性质和结构性质。
三、阅读题(2题,每题10分,共20分)
1. 阅读下列关于系统的SDL/GR描述规范,给出相应的SDL/PR描述规范。
图 1 SDL/GR表示系统
2. 根据下面关于进程的SDL/PR描述规范,给出相应的SDL/GR描述规范。
PROCESS P1(1,10);
DCL num Natural;
START;
TASK num :=0;
NEXTSTATE State_A;
STATE State_A;
INPUT S1;
NEXTSTATE State_B;
SAVE Sa;
ENDSTATE;
STATE State_B:
INPUT Sa;
DECISION num;
(0:9):
TASK num := num+1;
NEXTSTATE State_B;
(=10):
OUTPUT S3;
STOP;
ELSE
OUTPUT Sb;
STOP;
ENDDECISION;
ENDSTATE;
ENDPROCESS;
四、综合题(3题,每题10分,共30分)
1. 分析图所示的Petri网的有界性、活性和可逆性,并说明理由。
2. 观察下图,回答以下问题:
(1)下图中哪个变迁可以点火,并说明理由。
(2)画出点火后Petri网的结构和标记分布。
(3)下图的Petri网是否可以一直点火,如不能请说明原因。
3. 分析图所示的Petri网的有界性、活性和可逆性,并说明理由。
系主任 出卷人
参考答案
一、填空题
1:语法、语义、同步。
2:非形式描述文本、形式描述文本、与机器无关的源程序代码、实现代码、测试集。
3:模型检查、演绎验证。
4:通信链路差错、路由差错、通信节点差错。
5:奇偶检验、循环冗余检验、UUCP检验和、算术检验和、前向纠错(FEC)技术。
6:状态层次化、使用原子过程、使用协议变量、隐藏内部协同事件、简化通道FSM。
7:扩展有限状态机、抽象数据类型。
8:协议交替、协议并发、协议并行。
9:覆盖率、查错率。
二、简答题
1:简述协议工程的定义:
一体化、形式化的协议开发过程称为协议工程。
所谓“一体化”,是指协议描述、验证、实现和测试等技术前后衔接,并在同一个开发系统中完成。
所谓“形式化”,是指形式描述技术贯穿于协议开发的各个阶段,使得协议的研究开发可以独立于非形
式的自然语言文本和最终实现代码,避免协议验证测试的复杂性。
2:简述差错控制的两种途径
1):硬件途径。这种途径选用高可靠性的设备和传输媒体(如光纤)及相应的辅助措施(如屏蔽)来提
高传输的可靠性。
2):软件途径。这种途径通过通信协议来实现差错控制。在通信协议中,通过差错检测、肯定确认、超
时重传、否认重传、选择重传等措施来实现差错控制。
3:一个系统的FSM是由各个子系统和通道的FSM合成的,请简述合成方式。
1):简化各个FSM;
2):将两个单工通道合成一个全双工通道;
3):对任意两个彼此耦合的系统合成中间系统,并简化合成后的中间系统。然后将中间系统再合成,直
至获得全局的FSM为止。
4):合成全局系统后,消去无用的状态,必要时隐藏内部协同事件。
4:Petri网的行为性质和结构性质。
行为性质:
1):可达性 2):有界性和安全性 3):活性
4):可逆性 5):可覆盖性 6):可持续性 7):公平性
结构性质:
1):结构活性 2):结构有界性 3):可重复性 4):相容性
5):结构有界公平性
三、阅读题
1:阅读下列关于系统的SDL/GR描述规范,给出相应的SDL/PR描述规范。
SYSTEM sample;
SIGNAL S1, S2, S3, S4, S5;
CHANNEL C1 FROM ENV TO B1 WITH S1, S2;
ENDCHANNEL C1;
CHANNEL C2 FROM B1 TO B2 WITH S3;
ENDCHANNEL C2;
CHANNEL C3 FROM B2 TO B1 WITH S4;
ENDCHANNEL C3;
CHANNEL C4 FROM B2 TO ENV WITH S5;
ENDCHANNEL C4;
BLOCK B1 REFERENCED;
BLOCK B2 REFERENCED;
ENDSYSTEM sample;
2:根据下面关于进程的SDL/PR描述规范,给出相应的SDL/GR描述规范。
四、综合题
1分析图所示的Petri网的有界性、活性和可逆性,并说明理由。
性质分析:
M[p1,p2,p3,p4,p5]
M0 = [0,0,0,0,1]
t2变迁:
M1 = [1,0,0,1,0]
t3变迁:
M2 = [1,0,1,0,0]
t1变迁:
M3 = [0,1,1,0,0]
t4变迁:
M4 = [0,0,0,1,1]
t3变迁:
M5 = [0,0,1,0,1]
t2变迁:
M6 = [1,0,1,1,0]
t3变迁:
M7 = [1,0,2,0,0]
t1变迁:
M8 = [0,1,2,0,0]
t4变迁:
M9 = [0,0,1,1,1]
Petri网有界判定:由标记向量可知,p3会超过1,因此Petri网无界。
Petri网活性判定:Petri网中t1,t2,t3,t4都会被引发,因此该Petri网是活的。
Petri网可逆性判定:从M0出发,经过t2,t3,t1,t4····,不会产生同前面相同标识
向量,因此该Petri网是不可逆的。
2:(1):t1变迁可以点火,因为只有t1变迁的输入位置有标记。
(2):
(3):不能,当t1点火后,(p1,p2,p3,p4,p5)=(1,1,1,1,0),此时t1再次点火,(p1,p2,p3,p4,p5)=(0,2,2,2,0),
然后t2点火,(p1,p2,p3,p4,p5)=(0,2,1,0,0),此时就没有变迁可以点火了。
3:
性质分析:
M[p1,p2,p3,p4,p5]
M0 = [1,0,0,0,1]
t1变迁:
M1 = [0,1,1,0,1]
t3变迁:
M2 = [0,1,0,1,0]
t2变迁:
M3 =[1,0,0,1,0]
t4变迁:
M4 = [1,0,0,0,1]=M0
t1变迁:
M5 = [0,1,1,0,1]
t3变迁:
M6 = [0,1,0,1,0]
t4变迁:
M7 = [0,1,0,0,1]
t2变迁:
M8 = [1,0,0,0,1] =M0
t1变迁:
M9 = [0,1,1,0,1]
t2变迁:
M10 = [1,0,1,0,1]
t1变迁:
M11 = [0,1,2,0,1]
Petri网有界判定:由标记向量可知,p3会超过1,因此Petri网无界。
Petri网活性判定:Petri网中t1,t2,t3,t4都会被引发,因此该Petri网是活的。
Petri网可逆性判定:从M0出发,经过t1,t3,t2,t4,会产生和M0相同标识向量,因此该
Petri网是可逆的。