北 方 交 通 大 学 学 报
1 9 5 7年 第 l 期 JO U R N A L OF N O R T H E R N JIA O TO N G U N I v E R S IT Y N o . l 10 5 7
~
二二二二二二二二二二二二二二二 二二二二二二二二二
X
.
25 通信
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
在 IB M一PC 机上的软件设计和实现
徐维兰 陈景艳
(计算机科学技术系 )
摘 要
根据我国的实际, 研究 IBM一 PC 机进入公用数据网络的协议软件具 有 理
论意义和实用意义 。
本文对该问题研究的意义 、 X . 25 协议的组成 、 X . 25 软件设计方法 、 各模
块间的结构关系和模块的主要功能进行了较详细的论述 ; 并对链路级和分组级
用白盒法和黑盒法相结合的测试成功, 表明该系统与国际F S 1 04 1 / F IPS 1 00 标
准相兼容。
关键词 : 公 用数据网, 资源共享 , 功能测试 。
一 、 课题研究的意义
在计算机被广泛应用的基础上 , 为进一步提高其利用效率 , 实现计算机系统i资源共
享 , 满足分布处理的需要 , 使计算机在各个领域中真正发挥更大作用 , 取得实效 , 必然
要发展计算机网络 。 所谓计算机网络简而言之 , 是指将不同地区或相同地区 , 具有独立
功能的计算机系统通过通信设备和线路把它们连接起来 , 并以功能完善的网络软件来实
现网络资源共享。 使得能实现各个领域不同层次的应用软件和业务系统的实时 , 以及批
处理等各种应用的需要 。
目前 , 在我国微机局部网发展较快 , 而以为数众多的 IBM 一PC 机组成的局部 网 应
用的更为广泛 。 我国邮电等部门决定引进以 X 。 25 为基础的公用数据网 。 因此, 根据 我
国的实际 , 研究 IB M一 PC 机进人公用数据网络的协议软件具有理论和实用意义 .》
本文就是对在 IB M一 PC 机上实现 X 。25 通信协议的研究 。
要把微机加人以 X . 2 6 为基础的共用分组交换网 , 首先要在微机 上 实 现 X . 25 协
议 。
X
.
2 5 通信软件的设计是一个复杂的过程 。 它的完成要涉及到各种中断 操作 , 输
人、 输出功能以及缓冲、 队列的管理等, 由此 , 它的实现是一个
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
, 在实现过程中应
本文 1习 . 6 年 9月 15 日收到
一 57 一
用了软件工程理论的思想和方法 , 按照软件工程生命周期的各个阶段, 遂步深人、 细化
完成 X . 25 软件设计 。 整个实现过程清晰 、 明了 、 准确 , 易于软件的设计和维护 。
二 、 X . 2 5协议
X
.
25 由三级通信协议组成。 物理级 , 铁路级 (或帧级) 、 分组级 。 它规定了电路
终端设备 D CE 和电路端接设备 D T E 之间的接口关系 。
第第第第第第第第第第第第第第第第第第第一级级 第二级级 第三级级用用户级级 第一级级 第二级级 第三级级级级级级级级级级级级级级级
图 1 D T E 与D C E 接 口关系
物理级只涉及到 。和 1 如何表达 , 与网络的联系如何建立等 。 它提供同步的, 全双
工的点对点串行比特流传输 。
链路级的任务是提供将一个原始的传送机构转换 为对分组级无传输错误 的传输 。 主
要解决数据链路的建立和折除 , 信息的传输 , 流量调节及传输差错的控制等问题。
分组级是通信子网的最高层 。 它规定 D C E 和 D T E 之间按特定的分组格式交换信
息 , 并规定采用分组交织的办法 , 在一条逻辑信道上对分组流量 、 分组传送差错进行独
立的控制 。
三 、 X . 2 5 软件设计
1
、 协议表示
在具体分析了每层协议的内容之后 , 为使协议清晰明了 , 易于理解和实现 , 决定用
状态矩阵的方法描述每层协议 , 状态矩阵的基本思想是标识与所完成的系统正确运行有
关的条件或条件组 , 对协议进行分解、 整理后认为 , X . 25 协议的状态可分级设置 。
铁路层第一级设有 QO、 Q l 、Q Z 、Q 3 四种状态。
QO 表示系统初始或断链路后的状态 。
一 5 8 一
Ql 表示本方已发要求建链路的 S A BM 帧状态 。
Q Z 表示链路正常建立后的状态。
Q 3 表示系统要求断链发送了 D ls C 帧后的状态 。
在Q Z 状态下还有三种子状态 Q X l ; Q X Z , Q X 3 。 此三个状态为第二级状态 . ,
QX I 为发送了F R M R 帧后的状态。
Q X Z 为信息传送状态 , 在此状态只允许 I帧及 S 帧传送 。
QX 3 表示信息传输中重置帧发送后的状态。
在 QX Z 状态下还有如下几种状态 :
T l 为 D T E 不忙 , T Z 为 D T E 忙状态 ,
5 1 为 D T E 不忙 , 5 2 为 D T E 忙状态 ,
U l 为 D T E 没发 R E J 帧状态 , U Z 为 D T E 已发 R E J帧状态 。
分级设置状态不仅使协议的内容更加清晰 , 而且处理复杂的规程也更容易 。
分组级的状态同样也是分级设置的 。 具体设置见〔1 〕。
2
. 具体设计和设置
在软件设计阶段, 要抽出用户对以计算机为中心的全部信息系统的要求 , 并以这些
要求为主要的组成因素 , 按计算机硬件 、 软件进行要求分配 。
此系统中主要的硬设备是 IBM 一P C 微型计算机 (包括键盘和显示器) 。
用户要求功能为 X . 25 协议 。
由硬件完成的 X . 25 链路级功能有 :
( 1 ) 发送时 , 为透明传输进行 “ 0 ” 比特的扦人, 在接收时 , 自动完成 “ O ” 比
特的删除 。
(2 ) 二帧之间通过合动传送连续的标志符号完成时间的填充 。
( 3 ) 帧的正确性检验码 FC S 的自动生成并校验 , 如有错帧则自动放弃此帧 。
实现以上功能的设备是一块 H D L C 或 S D L C 控制器板。
X
.
25 链路级和分组级的其余功能由软件完成 。
本文使用了软件工程方法中的基本系统模型和
图 2 系统初始
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图
上图划出了通信软件部分的界面
数据流程 图来分析系统 。
本系统从 D T E 角度来考察软件有左面的系 统
初始流程图。
A
: 线路信息 ; B : 操作员信息 ,
C
: 用户层信息 D ; 递交用户层信息
E
: 送往线 路信息 F ,
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
操作员信息
对以上原始流程图的一步步细化 , 不断分出独立的功能 , 增加细泡 , 如分出线 路上
的发送 、 接收泡 ; 键盘处理抱 ; 链铁级发送泡 、 接收泡 , 分组级的发送泡 、 接收泡等。
X
,
25 第二级链路级涉及到与硬件的接口 。 尽管置定或读出扦脚的信 号是 数据 链
路控制的任务 , 但大多数控制器不需要数据链路控制直接这样做 。 因此 , 数据链路控制
一 沁 一
和控制器是在一种分级结构中一起工作 。 把直接的输人 、 输出处理功能从链路级软件中
分离 出来, 使线 路输入输出直接与某一类特定设备的控制器相互作用 , 且由 此控 制 设
备 , 这有二个优点 :
( 1 ) 它使规程软件解脱了琐碎的直接输入 、 输出作用 。
( 2 ) 使设备 6寸互换性和可代性成为可能 。
在使用5 D L C 适配器的情况下 , 当把板上的支持器件初始化到适 当的操作方式 , 并
使初始化 /结构命令控制定义 8 2 7 3 操作方式的内部寄存器 (如操作方式寄存 器 、 串 行
I/ 0 方式寄存器 , 一位延迟方式寄存器等) 后 , 就可进行帧的发送和接收 。
X
.
25 的任何一种实现除了按照规程设置种种项目外 , 还要作其它一些安排 。
不论链路级还是分组级都要使用缓冲区 , 队列。 过程之间如直接相互发送数据易产
生混乱 , 在众多进程之间更为严重 , 较好的办法是在过程之间设置队列作为缓冲 。 缓冲
是为信息提供暂时存贮空间的过程 。 本系统中把由一个或多个缓冲区头指针组成的表作
为缓冲区队列。 这些队列在数据通信中有各种用途 , 但最终 目的无非是 : ¹ 在以不同速
度和不同模式进行的两种活动之间起缓冲作用、 º作功能之间的接口 , 这为执行调度功
能提供了更大的灵活性 。
本系统中, 队列管理使数据通信的数据在执行软件的环境内传递 。 具体做法为 : 一
个缓冲区是否在某个队列中, 即通过判断此缓冲区的头指针是否为此队列中的元素 。 通
过队列对每个缓冲区头指针的管理来完成队列对缓冲区的管理 。 队列采用先进先出的原
则 。 各缓冲区在不同队列中的移动只是指向各缓冲区的指针进 、 出队列 , 而缓冲区中的
信息本身并不移动 , 这也大大节省了信息传输的工作量 。
四 、 X . 25链路级 、 分组级实现
1 、 具体实现
本系统遵循着从总框到细节的原则 , 自顶向下 、 逐步细化 、 分层 、 分步完成设计阶
段的任务 。 下面是系统实现示意图 (图 3 ) 。
软件编制是模块结构 。 下面给出主要模块间结构关系 (图 4 ) 。
各模块主要功能 :
( 1 ) 线路发送接收模块 : 负责完成数据在线路上的发送和接收 , 处理来 自控制器
的中断 。 此模块又可细分成¹ 线路发送模块 : 可由主控模块及发送完成中断起动 , 负责
把等待发送队列中的元素通过控制器发送到线路上 。 º线路接收模块 : 由接收完成或接
收中其它情况产生的中断起动 , 负责把信息通过缓冲区和队列提交数据链路模块处理 ,
并处理接收时出现的意外情况 。
( 2 ) 数据链 路模块 : 完成 X . 25 协议中的链路级协议 。
( 3 ) 网络控制模块 : 完成 X . 25 中分组级协议 。
( 4 ) 接 口模块 : 它实际上是一组宏汇编子程序 。 通过这组宏汇编子程序 , 使传送
层可调 用分组层实现数据通讯 。 这组宏汇编调用是 :
一 即 一
C A R E G 呼叫请求
CA A C C 呼叫接收
C L E R E C
,
C C
,
d c 清除请求
d p c’ m , QD 数据发送 -
INT E R C
, in d a 中断
IN T A C C 中断确认
R E S C
, : e , d c 重置请求
S E S T A C
, r e , d e 重新启动请求
物理链路
帧帧计时器器器器器器器器器 分分分分分分分分组计时器器
线线线线 链链链 分 ,,,,,,,,,路路 ..... 路路路路路路路路路路 组组组 用用发发发发 发发 链路数据队列列列 发发发 户户送送送送 送送送送送送送送送送 送送送 ‘、、模模模模 模模模 模模模 晰 JJJ块块块块 块块块 块块块 一 决拿拿携携携携携携携携携携携携携携携
块块块
线线线线 链 ...........路路路路 路路路 分 ...接接接接 接 ,,, 组组收收收收 , 收收收 接接摸摸摸摸 模模模 . 收收
... 块块块 块块块 揍揍
,,,,,,,,,,块块
链路层 用户层
图 3 系统实现示意图
(5 ) 缓冲模块 : 在数据传输阶段为各类
信息提供缓冲存贮 。 实际上是资源管理模块 ,
由元素人队列和从队列取元素两个 子 模 块组
成。
(6 ) 进程控制模块 : 由于 PC一 D O S 操
作系统是单用户操作系统 , 因此系统中各模块
要协调运行就必须有一主控模块来调度 。 进程
控制模块正是起这样的作用 , 控制工作流程 、
协调模块运行 。
操操作员模块块
主主控模块块
缓缓冲模块块
用用用 两两 数数 线线户户户 络络 据据 路 ’’
接接接 控控 链链 发发
口口口 制制 路路 接接棋棋棋 模模 模模 收收块块块 块块 块块 模模
块块块块块块
计计时器澳块块
图 4 模块 间结构关系
.
( 7 ) 操作控制模块 : 此模块通过键盘中断执行为此通信软件而设计的专门的键盘
中断处理程序, 此处理程序通过判别用户所打人的不同命令来进行不同的处理 。
一 有工一
( 8 ) 计时器模块 : 完成规程所要求的计时功能 、 如发某帧后是否超时而没有接收
到应有的响应 。 链路、 分组级各有计时器 。 如发生超时情况 , 计时器通过队列通知相应
程序 。
以上各模块是用IB M 一 PC宏汇编语言实现的 。 由于篇幅所限 , 下面仅给 出主控 框
图。
链路数据队长
X
二 O
分组发送
人人机对话可改参数数
图 5 主控制框图 [ 一二苍二竺
2
、
x
.
25 链路级和分组级的测试 -
当人们要把一个没有 X · 25 功熊的计算机 (包括终瑞) 与以 X 一25 为基础的公角 攀
~ 石多一
据通信网相连时 , 首先要按标谁来实现 X . 25 协议 , 对此标准协议的实现方 式 可 以 不
同 , 但各种实现之间的兼容性则是必须的 。
本文在测试中采用白盒法和黑盒法相结合 , 先用白盒法分析模块内部的逻辑 , 再用
黑盒法作补充 。 本文的模块划分主要根据层次加功能的策略 , 因此采用由顶向下的渐增
方式进行测试 。 最后D T E 执行总体功能测试 , 判断所完成的系统能否完成 X . 25 功能 。
测试的具体方式为通 过通用异步接收发送器 (U 、R ‘r) 及 R S 2 3 2 一 C接 口 , 连接二
合IBM 一 p c微机 , 一台为测试台称为 V T E , 一台为D T E 。
每一个单独 的测试分成下面几步 ,
( 1 ) V T E 驱动 D T E 到一已知初始状态 。
( 2 ) V T E 驱动 D T E到所选测试用例要求的开始状态 。
( 3 ) V T E 发一予定的输人到 D T E 或当测试必须由D T E 开始时 , D T E 发送一个 选
定的命令或响应到 V T E 。
( 4 ) 验证实际响应与期望的响应是否一致 。
这第四步目前是用人工做的 , D T E 返回 V T E 的信息在屏幕上显示 , 操作 员把返回
的结果与期望的结果相比较 。
该系统的测试是在IC S T (计算机科学技术委员会) 的 X · 25 F S / FIPS 标谁上进行
的 。 V T E 发出的测试信 j息、和所期望 D T E 返回的结果信 .自.间的关系用因果图法来书写 ,
这克服了测试方法 中等价分类法和边缘值分析法没有检查各种输入条件组合的缺点 。 这
些测试用例要求 D T E 即能在正常条件下执行 , 也能在非正常条件下执行 。 且用 例 中含
有违反互相间协议的情祝, 即尽可能多的测试可能发生的错误情况 , 以保证错误条件可
一导致合理的信息或响应 。
测试通 过后的软件系统功能上符合 F S 1 04 1 ZF IPS I。。标谁 。
从上面所述可以看 出 , 要完成测试任务需要一些辅助程序 , 本系统设计的主要辅助
程序有键盘命令解释程序 , 替代链路级和分组级上层协议的程序 ; 适用U A R T 的输人、
输出程序 ; 为测试服务的格式显示程序等等 。
测试时为方便 、 清晰起见, 本文设计在D T E 和 V T E各方屏幕 _ L所显示的格式 如下
图 :
—— D T E — ‘ — V T E——
UUU A A D =
“
A
”
P / F = 1 S A BM A D 二 “A ” F / F 二 111
RRR R A D =
“
A
”
P / F = 0 N R 二 1
一 工A D 二 “A ” P / F = 0 N S = 0 N R 二 000
、、 ~ 、
~
~ ~
一_ ~ ~ 厂~ 一、一_ ~ 、 一一~ 、~ 、~ _ ~ _ , ~ ~ 奋 _ ~ _ 、 一 、 _ _ ~ ~ ‘ , 、 、~ ~ 、 、 、一 ~ _ ~ ,~ ~ ~ ~ 、~ ~ ~ 、一~ 一一IIIN F O R MA T IO NNN
TTT O U PPP
CCC O M MA N DDD
一 6 乃口 . 、. . .若 一
在— D T E一一下面是显示 从D T E 发出的帧 (或分组) ; 在— V T E—下面是显示 D T E 从V T E方接收的帧 (或分组) ; IN F O R M A T IO N : 部分反映了系统运 行时
向操作员报告的运行情状 ; T O U P : 部分是链路或分组级向其上层提交的信息 ,
C O MM A N D : 部分是操作员键入命令的地方 。
五 、 结束语
1
、 系统整个开发过程遵循软件工程的生命周期 、 每一步都在上一步的基础上 , 可
靠性高 。
2
、 系统具有良好的体系结构 , 自始至终采用了层次体系 , 模块结构的思想 。
3
、 模块的划分考虑了按交换信息单位 (如帧 、分组 )来处理 、易于系统扩充和维护 。
4
、 模块功能清晰、 可读性好 。
5
、 经过以测试标准为基础的检测表明系统与国际F S lo4 1 / F IPS I。。标淮相兼客 。
参 考 文 献
( 1 〕 D A T A C OMM U N ICA T ION一 X . 2 5 PA C K E T L A YE R SPE C IFICA T IO 讨 FO R D A T A
T E R MIN A L E QU IPME N T 150 / T C 9 7 /S C 6 N 2 6 咬z (R e v正s 己d ) A “g “s 亡, z o a 3
( 2 〕 In te r k a e e B a tw e e 红 D a t a T e r m in a l E q u iPm e n t (D T E ) a n d D a t a C ir eu it T e rm in a g tin
E q住ip tn e n t (D C E ) fo r E ra t io n w i th Pa e ke t
·⋯ Sw ite h e d D a ta Co 皿m u n iea t io n N e t w o rk s ,
In st itu te fo r C o tn p u t e r Se ie n e e a n d T ee h n o lo g y C e n te r fo r C o m P u t e r E n g in e e r in g
,
M a r eh 2 1
, 10 5 3
〔3 〕 胡筑华 微型计算机功能 的扩充一带通 讯软件的微机系统 , 《数据通估 》 19 8 4 · 2
T he S o ftw a r e D e sig n a n d Im p lem e n ta tio n o f X
.
2 5
R e e o m m e n d a tio n in IBM一PC C o m p u te r
X u W
e ila n
,
Ch e n Ji n g y a n
Ab st r a c t
A e e o r d in g t o t h e a e tu a lit ie s o f o u r e o u n t r y
, it 15 o f th e o r e t ie a l
a n d a p p lie a b le v a lu e t o m a k e a r e s e a r e h fo r t E e s o ft w a r e m a k in g
IBM 一P C e o m p u t e r e o u n e e t w it l, a p u b lie d a t a n e t w o r k
·
T h is p a p e r d ise u s s e s th e s ig n ifie a n e e o f r e s e a r e h in g in t o th is p r o -
b le m
, t h e e o n t e n t o f X
.
2 5 R e e o m m e n d a t io n
, t h e d e s ig n m e t h o d o f
X
.
2 5 s o ft w a r e
, t h e s t r u e tu r a l e o n n e e t io n be tw e e n e a e h m o d e l
, a n d
t h e m a in fu n e t io n s o f e a e h m o d e l
.
T he fu n e t io n s o f lin k le v e l a n d
Pa e k e t le v e l a r e te s t e d w ith th e e o m b in a tio n o f a w h it e b o x m e t h o d
a n d a b la e k m e th o d
.
T h is s y s te m 15 e o m p a t ib le w it h t h e s t a n d a r d o f
F S 1 4 1 0 / F IPS 1 0 0
.
K e y w o rd s : p u b lie d a t a n e t w o r k
, r e s o u r e e一 s h a r in g , fu n e t io n t e s t in g
.
一 6 4 一