通信软件设计总结doc.docx
《通信软件设计总结doc.docx》由会员分享,可在线阅读,更多相关《通信软件设计总结doc.docx(23页珍藏版)》请在冰豆网上搜索。
通信软件设计总结doc
通信软件设计总结
第一章
1、通信就是在两个或多个实体之间传递或交换信息
2、通信的要素:
通信实体(自然人、计算机、通信中断等)、传输信道(电路、无
线信道、卫星信道、计算机网络等)、交换网络(PSTN、INTERNET等)、通信协议(七号信令、TCP/IP、SIP等)
3、通信的分类:
1、基于连接的通信(需要在通信实体之间建立通信连路或连接,如电话、传真等)
2、基于无连接的通信(在通信实体之间不需要建立通信链路或连接,如短信、即时消息等)
4、通信软件:
能够实现在两个或多个实体(计算机、电信终端、交换设备等)之间传递或交换信息功能的软件称为通信软件
5、通信软件的特点:
1、基于通信协议或者信令系统
2、运行时间长(电信软件)
3、基于有限状态机
4、大部分是嵌入式软件
6、通信协议:
在计算机网络中,为了在两个或多个通信实体之间准确、完整地交换信息,必须对信息交换的顺序和条件、交换信息的格式和内容等做出约定,这一整套约定就称为通信协议
7、通信软件开发过程
1、需求分析—解决“做什么”问题
分析用户要求、系统与外界交互信息情况和软件运行环境等
2、概要设计—解决“系统架构”问题
设计系统结构、模块间信息交互情况以及数据结构等
3、详细设计—解决“如何做”问题
描述系统行为、制定测试计划等
4、代码生成—解决“系统实现”问题
代码自动生成、人工编码、编译调试、系统生成第二章
1、协议开发过程
1、开发新的协议(协议环境分析、协议功能设计、协议元素设计、形成协议文本、协议描述、协议验证)
2、实现具体协议(协议分析、协议设计、协议描述、协议验证、协议实现、协议测试、协议维护)
3、两者最大的区别:
1、开发新的协议是从无到有,产生一个新的协议。
成果是协议标准文本,具有可实
现性
2、实现具体协议时在具体应用环境下实现一个协议。
成果是协议软件,具有可运行性、可维护性的特点
2、协议分析
1、协议环境分析
1、n层用户的要求
2、(n-1)层通道的性质
3、n层协议实体的工作模式
2、协议功能分析
1、连接控制管理
2、通讯方式管理
3、数据发送/接收管理
4、数据安全与可靠性
5、发送/接收控制
6、中继与路由选择
7、通道管理
8、其他功能
3、连接管理需求(有连接服务、无连接服务、永久连接服务);连接管理:
建立、撤销、复位、恢复
4、广播与组播需求
1、广播:
指一个n层用户发出的数据报,在同一个网络中的其他用户都能够接受到
2、组播:
指一个或多个n层用户发出的数据报,在网络中有一组用户可以接收到该数据报,授权用户可以加入或退出该组
5
、协议接口:
服务原语(SAP)=服务动作+
原语类型
1
、服务请求原语:
x-request
:
用户
协议
2
、服务指示原语:
x-indication
:
协议用户
3
、服务响应原语:
x-response
:
用户
协议
4
、服务证实原语:
x-confirm
:
协议
用户
6
、服务证实方式类型
1
、用户证实方式
2
、协议证实方式
3
、无证实方式
4
、三种特殊方式(查询类服务、设置类服务、告警类服务)
7
、通讯方式需求
1
、单工/半双工/全双工
2
、同步/异步
8
、数据需求
1
、数据形式(块、流、批处理)
2
、数据长度(定长、不定长)
9
、服务质量指标:
1
、安全性:
鉴权、访问控制、保密性、完整性
2、可靠性:
完全性、非二义性、时间有序
3、性能:
吞吐率、时延、抖动、差错率
10、(n-1)层通道形成方式
1、独占方式:
实体之间分别建立连接
2、共享方式:
多个协议实体共享一条连接
3、无连接方式:
协议实体利用下层提供的无连接服务进行通讯
11、(n-1)层通道部分指标
1、RTT(roundtriptime)
2、数据的可靠性
3、通道可靠性
4、报文最大长度
5、通道工作方式
12、n层协议实体的工作模式
1、点到点模式
2、多点模式
3、主从模式
4、平衡模式
5、中转和路由
13、连接控制管理
1、连接的建立、维护及释放的管理
2、连接的合法性检查
3、密钥交换
4、QoS协商
5、资源分配与回收
6、连接目标名与地址的翻译
14、传输控制协议(TCP)具有连接控制管理功能;用户数据报协议(连接的数据包传输
15、通讯方式管理
1、半双工通讯:
n层协议要进行“发信权”管理
2、全双工通讯:
n层协议要具有并发的收发功能
16、数据发送/接收管理
1、PDU的封装/解封装
2、SDU分段/装配
3、SDU拼接/分离
17、术语解释:
1、SDU(服务数据单元):
服务原语中携带的用户信息
2、PDU(协议数据单元):
分为数据PDU和控制PDU
3、PCI(协议控制信息)
18、数据安全与可靠性
1、加密
2、解密
3、校验和(奇偶校验、累加和校验、CRC校验)
4、前向纠错(FEC)
19、哈明码*
20、发送/接收控制
1、顺序控制
2、重发控制
3、速率流控
4、抖动控制
5、窗口流控
UDP)则提供无
21、中继与路由选择
1、中继
网关(传输层)、路由器(网络层)、网桥(数据链路层)、中继器(物理层)
2、路由选择(静态、动态)
22、通道管理
1、通道的形成
2、监视通道状态
3、处理通道故障
4、共享通道控制第三章
1、协议设计内容(协议结构、协议机制、协议元素、协议状态机)
2、协议结构设计:
为实现协议功能,从总体上来考虑协议实体的结构框架(结构类型、结构风格)、功能块组成、功能块之间的关系
3、协议的结构可以从三个方面考虑:
分层、分阶段、分类
4、协议分层设计
1、将协议实体分成多个子层来实现
2、通过划分子层可以使复杂协议的结构变得清晰
3、分层增加了子层间的通信,协议效率会受到一定影响
4
、协议分层的例子:
局域网中的数据链路层分成链路控制子层(
LLC)和介质访问控
制子层(MAC)
5
、协议分阶段设计
1、协议分阶段是指把协议分成多个运行阶段,每个阶段只需要部分协议功能工作
2、协议分阶段的依据是协议的运行过程具有明显的阶段性
3、协议分阶段的例子:
传输层协议分成三个阶段:
建立连接阶段、数据传输阶段、释放链接阶段
6、协议分类设计
1、协议分类指的是当协议需要满足不同用户的要求或需要适应不同的下层通道时,把协议分成不同的类别,每类协议只适用于一定用户和一定通道
2、协议分类可以起到简化协议的作用
7、协议机制设计
1、协议机制指的是实现协议功能所采用的方法、策略、算法等
2、设计协议机制时,除了保证实现协议功能外,需要重点关注:
1、协议运行效率:
是否满足实时性要求
2、资源利用率:
主要指存储资源的利用率,这涉及到协议的运行效率和吞吐量
3、异常处理:
正确处理异常情况,才有可能保证协议的可靠运行
8、TCP协议建立连接的实现机制
1、采用三次握手方式
2、连接的双方同时发起连接请求的连接建立过程
9、TCP协议释放连接的实现机制
1、双方分别关闭本方的输出流
2
、关闭本方输出流后仍可接收对方法来的
PDU
3
、先释放连接的一方收到对方最后一个
PDU后,要延迟一段时间才结束,以保证确
认PDU达到对方
10、TCP协议重发控制机制(TCP采用自适应方式确定定时长度)
1、测量RTT
2、计算平均值
3、计算变化量
11、协议元素设计
1、一般来说,协议有以下六种元素组成:
1、服务原语和服务原语时序;2、协议数据单元(PDU)和PDU交换时序;3、协议状态;4、协议事件;5、协议变量;6、协议行
为
12、服务原语是协议与用户的接口,用户通过服务原语得到协议提供的服务,协议实体功过服务原语得到服务要求和返回结果
13、服务原语有四种类型:
请求、指示、响应和证实
14、不同的服务动作决定了不同的服务要求
15、PDU和PDU交换时序
1、对等协议实体之间交换信息均以PDU为单位,PDU格式严格定义了信息的内容和含
义
2、PDU格式设计:
定义每个PDU的数据结构、字段格式和信息含义等
3、PDU交换时序设计
1、即规定一方收到某个PDU后应该回送什么PDU或可以回送哪些PDU
2、PDU的交换时序必须包括正常情况和各种异常情况
16、协议状态是指协议在运行过程中等待输入事件时所处的状态
17、协议状态可分为:
1、局部状态:
只涉及单个协议实体,反映单个协议实体所处的状态
2、全局状态:
参与执行某个协议功能的所有协议实体(包括下层通道)的状态之和
18、协议状态设计应遵守的原则:
1、当协议实体向对方发送不同的PDU,等待对方响应时,应设置新的状态
2、当协议实体占用资源情况发生变化时,应设置新的状态
3、当下层通道状态发生变化时,协议状态也应改变
19、协议事件是指协议的输入或激励。
协议的输入包括三部分:
1、来自本方的服务
原语;2、来自对方协议实体的PDU;3、来自内部的定时器信号(超时)
20、协议事件设计就是列出所有的协议输入事件
21、由于服务原语和PDU已经设计好,这里只需要设计定时器及定时时长,定时时长可以根据RTT来确定
22、协议变量是指协议中用到的各种变量都可以称为协议变量
23、与其他软件一样,协议软件中的变量也分为全局变量、局部变量和临时变量
24、协议行为是指协议在状态转换(迁移)过程中执行的操作。
这些操作包括:
1、
输出信息(SDU和PDU);2、设置定时器(开始计时);3、复位定时器(停止计时);
4、
修改协议变量;5、执行一系列动作(操作)的过程(函数);
6、其他操作(如读、写文
件等)
25、在有些情况下,协议过程中一些协议动作的执行是有条件的,描述这些约束条件的语句称为谓词。
谓词一般用布尔表达式来表示
26、协议状态机
1、描述协议状态的迁移情况
2、反映协议元素之间的关系:
在什么协议状态下,什么输入事件驱动什么协议过程,协议过程在什么条件下执行什么协议动作,协议状态如何改变等
3、事件状态表
4、有限状态机
27、协议事件状态表举例
1、TCP协议事件状态表
2、TCP协议输入事件表
3、TCP协议输出事件表
28、有限状态自动机
S:
系统状态集,状态数有限
I:
系统初始状态,i∈S
E:
输入字母集
T:
转移函数集,是从SxE到S的映射
29、扩展有限状态自动机
S:
系统状态集,状态数有限
I:
系统初始状态,i∈S
E:
输入事件集
T:
转移函数集,是从SxE到S的映射
30、扩展有限状态自动机举例:
TCP协议的有限状态机
第四章
第六章
1、SDL(specificationanddescriptionlanguage)是ITU-T提出的一种形式化描
述语言,由ITU_TZ.100建议定义
2、SDL的应用领域是实时系统
3、SDL基于的数学模型
1、系统行为:
环境←信号→SDL系统系统、环境、交互、信号
4、系统的行为可通过可通信的扩展有限状态自动机来描述:
1、系统由扩展的有限状态自动机组成
2、扩展的有限状态自动机具有与外界通信的能力:
输入/输出动作
5、SDL中的基本概念:
SDL系统结构、SDL文法概述
6、SDL的基本语法:
1、包(package):
包中定义的内容是可重用的,SDL2000允许各种图都可引用包。
包定义还可以引用另一个包
2、系统(system):
1、SDL系统:
完整地描述一个真实系统或一个真实系统中的相对独立的一部分。
2、一个系统可以划分为若干个功能块;功能块之间以及功能块之间用信道连接
3、系统各功能块之间以及功能块与环境之间可以使用信号通道;信号通过信道来传
递
3、信号定义
1、信号是SDL系统中进程之间通信的基本单位
2、信号必须在信道中传输
3、要利用信号来通信,必须:
1、信号定义:
在相关代理图的文本域中定义信号
2、信号与信道关联:
在信道的信号列表域中列出信号,说明信号可以在哪些信道中
传递
4、信号可以定义参数,定义过的信号可以用来定义信号列表。
信号列表的定义也放在文本符中
5、在信道上列出信号和/或信号列表时,信号列表标识符要用圆括号括起来,以区别于信号
4、信道定义
1、信道是用在代理与代理之间或代理与系统环境或信关之间传递信号的通道
2、信道分为单向和双向两种,在每个方向上序列出在该方向上传递的所有信号,这些信号用方括号括起来,标在信道的箭头处。
3、信道分为:
1、延迟信道:
表示信号从源端到目的端要经过一定延迟,延迟时间是不确定的,但信道上的信号仍是有序的
2、非延迟信道:
表示信号从源端发出后直接到达目的地,没有延迟
5、功能块
1、功能块可以再分成多个功能块,也可以由一个或多个并发进程组成
2、功能块的交互域描述文本功能块中功能块或进程的组成及交互关系
3、在功能块图的边界上,要标出与本功能块相连的信道标识
4、功能块文本域定义本功能块内部信号、信号列表、数据类型等内容
6、进程
1、进程是系统的基本组成单位,系统的行为主要由进程来描述
2、在进程图中,系统行为用状态机图来描述
3、在系统中,进程是以进程实例的形式出现,每个进程实例都有一块私有存储空间,记录进程实例各变量的值及实例所处的状态等
4、进程实例一旦被创建,就拥有了一个惟一的进程标识,称为pid(process
identifier)。
通过以下四种pid表示式可以得到进程实例的pid:
1、self返回本进程实例的pid
2
、sender返回发送最近被消耗信号的进程实例的pid
3
、parent返回创建本进程实例的进程实例(父进程)的pid
4
、offspring返回最近被本进程创建的进程实例(子进程)的pid
7、状态机可以包含:
开始域、状态域、输入域、输出域、任务域、创建域、过程调用域、分支域、定时器操作等