和 OSI 模型相对,系统网络架构(SNA)由 IBM 提出,也是最为流行的网络架构模型之一。虽然 SNA 模型现在已经过时,但它仍然得到了广泛的应用。SNA 的设计基于 IBM 大型机使用的主机 - 终端通信模型。IBM 扩展了 SNA 协议,使其支持对等网络,称为高级对等联网(APPN)和高级程序间通信(APPC)。高级对等联网代表了 IBM 的第二代 SNA。通过创建 APPN,IBM 将 SNA 从分级的,以大型机为中心的网络环境转移到对等网络环境。APPN 的核心的一种 IBM 架构,它支持基于对等工作站的通信、目录服务以及在两个没有直接相连的 APPC 系统间的路由。
IBM SNA 模型与 OSI 七层模型具有很多类似之处。但是 SNA 模型只定义了六层,并没有定义物理层协议,它假设物理层功能由其它标准实现。 SNA 模型每一层的功能描述如下:
数据链路控制层(DLC)–该层定义了一些协议,包括用于分级通信的同步数据链路控制协议 (SDLC)和用于局域网对等工作站间通信的令牌环网通信协议。SDLC 是 ISO HDSL 和 IEEE 802.2 的基础。
路径控制层 – 该层完成许多如 OSI 网络层功能,包括路由和数据报的分段和重组(SAR)。
传输控制层 – 提供可靠的端到端连接服务(类似于 TCP),以及加密和解密服务。
数据流控制层 – 管理请求和应答处理,确定轮到谁通信,组合消息和按需中断数据流。
表示服务层 – 定义了数据转换算法,可以转换数据格式,协调资源共享和同步事务操作。
事务服务层 – 通过程序形式提供应用服务,实现分布式处理或管理服务。
下图描述了 IBM SNA 模型与 OSI 七层参考模型间的映射关系。
60/dyvl1m02.htm#ToC_14:Systems Network Architecture
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg243669.html?Open:Inside APPN and HPR – The Essential Guide to the Next-Generation SNA
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/D50L0000/CCONTENTS:SNA APPN Architecture Reference
IBM SNA 事务服务协议
IBM SNA 中关于事务服务协议目录和索引
SMB:服务器信息块协议 (Server Message Block protocol)
服务器信息块(SMB)协议是一种 IBM 协议,用于在计算机间共享文件、打印机、串口等。SMB 协议可以用在因特网的 TCP/IP 协议之上,也可以用在其它网络协议如 IPX 和 NetBEUI 之上。
从 Windows 95 开始,Microsoft Windows 操作系统(operating system)都包括了客户机和服务器 SMB 协议支持。Microsoft 为 Internet 提供了 SMB 的开源版本,即通用 Internet 文件系统 (CIFS)。与现有 Internet 应用程序如文件传输协议(FTP)相比, CIFS 灵活性更大。对于 UNIX 系统,可使用一种称为 Samba 的共享软件。
SMB 协议变量 协议名称 注释
PC NETWORK PROGRAM 1.0 Core Protocol The original version of SMB as defined in IBM's PC Network Program. Some versions were called PCLAN1.0
MICROSOFT NETWORKS 1.03 Core Plus Protocol Included Lock&Read and Write&Unlock SMBs with different versions of raw read and raw write SMBs
MICROSOFT NETWORKS 3.0 DOS LAN Manager 1.0 The same as LANMAN1.0, but OS/2 errors must be translated to DOS errors.
LANMAN1.0 LAN Manager 1.0 The full LANMAN1.0 protocol.
DOS LM1.2X002 LAN Manager 2.0 The same as LM1.2X002, but errors must be translated to DOS errors.
LM1.2X002 LAN Manager 2.0 The full LANMAN2.0 protocol.
DOS LANMAN2.1 LAN Manager 2.1 The same as LANMAN2.1, but errors must be translated to DOS errors.
LANMAN2.1 LAN Manager 2.1 The full LANMAN2.1 protocol.
Windows for Workgroups 3.1a LAN Manager 2.1 Windows for Workgroups 1.0
NT LM 0.12 NT LAN Manager 1.0 Contains special SMBs for NT
Samba NT LAN Manager 1.0 Samba's version of NT LM 0.12
CIFS 1.0 NT LAN Manager 1.0 Really NT LM 0.12 plus a bit
相关协议:TCP、SPX、IPX、NetBIOS、NetBEUI
组织来源:服务器信息块(SMB)是 IBM 私有协议。
相关链接:
http://samba.anu.edu.au/cifs/docs/what-is-smb.html: What is SMB
IBM SNA 传输控制协议
IBM SNA 中关于传输控制的协议目录和索引
NetBEUI:NetBIOS扩展用户接口 (NetBIOS Extended User Interface)
NetBIOS 扩展用户接口(NetBEUI)是 NetBIOS 的扩展版本,支持局域网内的计算机通信。 NetBEUI 提供了 NetBIOS 中未定义的帧格式标准,所以有时它又被称之为 NetBIOS 帧(NBF) 协议。
NetBIOS 和 NetBEUI 都是由 IBM 公司开发的,应用于其 LAN 管理器产品。目前 Microsoft 公司采用 NetBIOS 和 NetBEUI 服务于 Windows NT/XP /2000、LAN 管理器以及工作组 Windows 等产品。此外 Novell 、 Hewlett-Packard 和 DEC 也在相应产品中采纳使用 NetBIOS 和 NetBEUI 。
相关链接:
http://ourworld.compuserve.com/homepages/TimothyDEvans/contents.htm: NetBios, NetBEUI, NBF, SMB, CIFS Networking
http://www.javvin.com/protocol/rfc1001.pdf: PROTOCOL STANDARD FOR A NetBIOS SERVICE ON A TCP/UDP TRANSPORT: CONCEPTS AND METHODS
http://www.javvin.com/protocol/rfc1002.pdf: PROTOCOL STANDARD FOR A NetBIOS SERVICE ON A TCP/UDP TRANSPORT: DETAILED SPECIFICATIONS
IBM SNA 数据流控制协议
IBM SNA 中关于数据流控制的协议目录和索引
APPC:高级程序间通信 (Advanced Program to Program Communication - LU 6.2)
高级程序间通信(APPC),大约位于 OSI 表示层和会话层,是一种编程接口标准(programming interface standard),支持互相连接系统之间的通信并可以共享程序进程。APPC 最初是由 IBM 作为一种逻辑单元间(LU:Logic Unit)的远程事务处理工具推出。现在 APPC 主要用来为异构计算处理环境提供分布式服务(distributed service)。
APPC 软件实现了不同计算机、工作站与中大型计算机服务器程序间的高速通信。APPC 支持用户程序在客户机-服务器网络中执行事务处理过程。APPC 是一种标准化应用编程接口(standardized application programming interface),通过 APPC,应用程序使用预先定义的一组 VERBS/API 与远程节点上的另一个程序发送和接收数据。VERBS/API 集只能用于 LU 6.2,这正是词汇 APPC、LU 6.2 和 PU 类型 2.1 常常交替使用的原因所在。
LU 6.2 是一组 SNA 参数,主要支持运行在 SNA 网络上的 APPC 协议。基本上,LU6.2 作为 SNA 和终端用户应用程序间的一种接口或协议边界。但是,不是所有的 APPC 通信都基于 SNA 。在大型机系统服务中,APPC 也可以运行在两个 MVS 或 CMS 程序间。APPC 也可以运行在因特网使用的 TCP/IP 协议上。
相关链接:
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/gg242537.html?Open: A CM/2 APPC/APPN Tutorial
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg243669.html?Open: Inside APPN and HPR – The Essential Guide to the Next-Generation SNA
LU:逻辑单元 - LU 0、LU 1、LU2、LU 3、LU 6.2 (Logic Units – LU 0、LU 1、LU2、LU 3、LU 6.2)
网络访问单元(NAU),过去被称之为“网络地址单元”(network addressable unit),是 IBM 系统网络体系结构(SNA)的组成部分,便于事务程序(TP:Transaction Program) 和 SNA 网络之间的通信。NAU 是其它网络资源通过唯一的本地地址可以访问的单一网络资源。SNA 提供以下各类 NAU:
物理单元(PU–Physical units)
每个 SNA 节点都包含一个物理单元。 PU 负责管理资源(如链路资源)以及支持和主机通信。
逻辑单元(LU–Logical Units)
每个 SNA 节点都包含一个或多个逻辑单元。LU 提供一组功能,支持 TP 和终端用户对网络的访问。LU 支持直接与本地 TP 和设备建立通信。
SNA 中定义了多种 LU,每一种都为某类特定应用程序优化。不同类型的 LU 之间不能实现通信,但是处于不同系统上的相同类型的 LU 之间可以相互通信。
与其它类型的 LU 相比,这种 LU 功能更多,灵活性更大 。除非你受现有硬件或软件的限制,否则当你开发新应用程序时,LU 6.2 是你最好的选择。
LU 3 (用于 3270 打印)
LU 3 通过 SNA 3270 数据流支持应用程序和打印机。
例如,LU 3 支持运行在客户信息控制系统(CICS)下的应用程序,并支持该应用程序向连接到 IBM 3174 控制器的 IBM 3262 打印机发送数据。
LU 2 (用于 3270 显示器)
LU 2 通过 SNA 3270 数据流支持应用程序和显示工作站在交互式工作环境下的通信。类型 2 LU 也通过 SNA 3270 数据流支持文件传输。
例如,LU 2 协议支持 3270 仿真程序,该程序能使工作站完成 IBM 3270 终端的功能。另外其它程序与为 3270 显示器提供输出的主机应用程序之间的通信也可以使用 LU 2。这种 TP 使得工作站和主机之间形成了一种合作处理的形态。
LU 1 (用于 SCS 打印和 RJE)
LU 1 支持在交互式批数据传输环境或分布式数据处理环境下应用程序与单设备或多设备数据处理工作站之间的通信。LU 1 使用的数据流符合 SNA 字符串或文件目录结构(DCA:Document Content Architecture )。
例如,LU 1 能支持应用程序在信息管理系统/虚拟存储(IMS/VS)下运行,并支持与 IBM 8100 信息系统之间的通信。这使得工作站操作员能更正由应用程序维护的数据库。
使用 LU 1 的应用程序通常被称之为远程作业输入(RJE : remote job entry)应用程序。
LU 0 (用于 LUA)
LU 0是早期的 LU,支持最初的程序间通信。有些主机数据库系统,例如信息管理系统/虚拟存储 (IMS/VS)以及一些零售商店和银行使用的收款机(如 IBM 4680 存储系统操作系统)采用的都是 LU 0 。当前的各种版本也支持 LU 6.2 通信,而 LU 6.2 是开发新应用程序的首选协议。
相关链接:
http://ourworld.compuserve.com/homepages/TimothyDEvans/contents.htm: NetBios, NetBEUI, NBF, SMB, CIFS Networking
http://www.javvin.com/protocol/rfc1001.pdf: PROTOCOL STANDARD FOR A NetBIOS SERVICE ON A TCP/UDP TRANSPORT: CONCEPTS AND METHODS
http://www.javvin.com/protocol/rfc1002.pdf: PROTOCOL STANDARD FOR A NetBIOS SERVICE ON A TCP/UDP TRANSPORT: DETAILED SPECIFICATIONS
IBM SNA 数据链路控制协议
IBM SNA 中关于数据链路控制的协议目录和索引
DLSw:数据链路交换协议(Data Link Switching protocol)
数据链路交换协议(DLSw)为 IP 网络上传输 IBM 系统网络体系结构(SNA)以及网络基本输入/输出系统(NetBIOS)通信流量提供了一种转发机制。DLSw 不提供完整的路由选择,而只是提供 SNA 数据链路层(即 SNA 体系结构第 2 层)的交换功能,以及由于因特网传输的 TCP/IP 封装功能。
DLSw,最初是 IBM 私有协议,后来由 IETF 制定为协议标准。DSLw 第 1 版(DSLw v1)定义了三种主要功能:
协议结构
8 16 24 32 bit
Version number Header Length Message Length
Remote data link correlator
Remote DLC port ID
Reserved Field Message type Flow control byte
Version number ― 设置为0x31(ASCII 1),包括十进制值49。表示 DLSw 的版本为1。
Header length ― 控制消息中该值为 0x48,信息和独立流控制消息中该值为 0x10。
Message length ― 规定头后面的数据字段包含的字节数目。
Remote data link correlator ― 与远程 DLC 端口ID共同工作,形成64位电路 ID,用以识别单个 DLSw 结点内的 DLC 电路。单个 DLSw 结点内的电路 ID 是唯一的,且用于本地分配。通过一对电路 ID 识别端对端电路,也可通过数据链路 ID 识别单个端对端电路。
Remote DLC port ID ― 与远程数据链路相关器共同工作,形成64位电路 ID,用以识别单个 DLSw 结点内的 DLC 电路。DLC 和 DLC 端口 ID 的内容只对本地具有重要意义。从对方 DLSw 接收到的值不可能被接收这些值的 DLSw 所解释,并且这些值应该以“as is”重复返回给包含在并发信息中的对方 DLSw
Message type ― 表示特定 DLSw 信息类型。该值在控制信息头的两个不同字段(偏移量为14和23,十进制)中定义。只有在分离接收到的 SSP 信息时才使用第1字段。第2字段在接收端包含新执行行为时被忽略,但在向后兼容性中保留。
Flow control byte ― 传递流控制指示器、流控制确认和流控制操作位。
相关协议:SDLC、NetBIOS、TCP、SMP、Ethernet、Token Ring、SNA
组织来源:数据链路交换协议(DSLw)最初由 IBM 推出,后经 IETF 改编为标准。
相关链接:
http://www.javvin.com/protocol/rfc1795.pdf: Data Link Switching: Switch-to-Switch Protocol AIW DLSw RIG: DLSw Closed Pages, DLSw Standard Version 1.0
http://www.javvin.com/protocol/rfc2166.pdf: DLSw v2.0 Enhancements
QLLC:限定式逻辑链路控制(ualified Logic Link Control for SNA over X.25)
限定式逻辑链路控制(QLLC)的由 IBM 定义的一种数据链路层协议,它支持 X.25 网络上的 SNA 数据传输。当 SNA 用于 X.25 时,在 X.25 数据包头通过 Q-bit 表示特殊链路控制信息。该信息与两个系统间互相通信的 SNA 控制 相关,而与 X.25 链路控制无关。通过以上这些限定式数据包,SNA 能决定两个通信系统间的主叫方与被叫方以及最大信息大小。
X.25 数据包中的 QLLC 命令通过 Q-bit 实现。X.25 数据包包括 QLLC 原语,该包通常为 5 字节长,有时为 X.25 数据包头加上 2 字节的 QLLC 控制信息。一旦 QLLC 连接成功,便可以利用 X.25 连接的虚拟电路来转发数据流量。逻辑链路控制(LLC:Logical Link Control)是高级数据链路控制 (HDLC:High Level Data Link Control)的子集,另外同步数据链路控制(SDLC:Synchronous Data Link Control)和 QLLC 也是 HDLC 的子集。
HDLC,一种 ISO 协议,适用于 x.25 网络;
LAPB,一种 ITU-T 协议,适用于 ISDN 网络;
LAPF,一种 ITU-T 协议,适用于帧中继(Frame Relay)网络;
IEEE 802.2,通常指 LLC,具有三种类型,适用于局域网(Local Area Network);
QLLC,适用于在 X.25 网络上传输 SNA 数据。
协议结构
1 byte 1-2 bytes 1-2 bytes Variable 2 bytes 1 byte
Flag Address field Control field Data FCS Flag
Flag ― 启动和终止差错校验。
Address ― 包括次站 SDLC 地址,表明帧来自于主站还是次站。
Control ― 使用3种不同格式,取决于使用的 SDLC 帧类型:
Information(I)frame ― 传递上层信息和一些控制信息。
Supervisory (S)frame ― 提供控制信息。S 帧可以请求和挂起传输、报告状态、确认 I 帧接收。S 帧不包含信息帧(information field)。
Unnumbered (U)frame ― 支持控制目标,无编号。U 帧用于启动次站。取决于 U 帧,其控制字段可能为1字节也可能为2字节。有些 U 帧包含信息字段。
Data ― 包含路径信息单元(PIU)或交换识别(XID)信息。
Frame check sequence (FCS))― 优于结束标签分隔符,通常指循环冗余校验(CRC)计算余数。
相关协议:LAPB、X.25、帧中继、HDLC、LAPF、QLLC、LLC
组织来源:SDLC 由 IBM 定义。
相关链接:
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/sdlcetc.htm: Synchronous Data Link Control and Derivatives
IBM SNA 路径控制协议
IBM SNA 中关于路径控制的协议目录和索引
APPN:高级对等联网(Advanced Peer to Peer Networking)
高级对等网络(APPN)是 IBM SNA 体系结构的增强版本。APPN 包含多种协议,主要负责处理对等节点之间的会话建立、动态透明路由计算以及流量优先权等服务。通过 APPN,只需将一组计算机中的其中一台作为控制器即可实现该组计算机的自动配置,从而每台计算机上的对等程序能够使用指定的网络路径相互进行通信。
目标 LU 的定位(Location of a Targeted LU) - 网络中的资源(LU)信息存放并维护在一个数据库中,该数据库分布于整个网络的终端节点和网络节点上。终端节点包含本地 LU 目录。如果目录中发现远程 LU,终端节点会传送一个直接搜索信息(directed search message)到远程机器上,以确保自上次使用或注册后,LU 没有被移除。如果本地搜索不成功,网络便启用广播搜索。当包含远程 LU 的节点接收到一个直接的或广播搜索信息,它会发送回一个肯定响应(positive response)。反之,返回一个否定响应(nega tive response)。
路径选择(Route Selection) - 远程 LU 定位好后,网络节点服务器为两个 LU 间的会话计算出网络最佳路径。每个 APPN 网络主干的网络节点都维护一份拓朴数据库拷贝。该数据库基于会话服务类别,用于计算某个会话的最佳路径。服务类别指会话参数的可接受值,如传播延迟(propagation delay)、吞吐量(throughput)、成本和安全性等。网络节点服务器选择的路径再由路径选择控制矢量(RSCV:route selection control vector)进行编码操作。
相关链接:
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg243669.html?Open: Inside APPN and HPR – The Essential Guide to the Next-Generation SNA
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/D50L0000/CCONTENTS : SNA APPN Architecture Reference
http://www.cisco.com/univercd/cc/td/doc/cisintwk/idg4/nd2006.htm#17531: Designing APPN Internetworks
http://www.javvin.com/protocol/rfc2353.pdf: APPN/HPR in IP Networks (APPN Implementers' Workshop Closed Pages Document)
NAU:网络访问单元(Network Accessible Units)
网络访问单元(NAU),过去被称之为“网络地址单元”(network addressable unit),是 IBM 系统网络体系结构(SNA)的组成部分,便于事务程序(TP:Transaction Program) 和 SNA 网络之间的通信。NAU 是其它网络资源通过唯一的本地地址可以访问的单一网络资源。SNA 提供以下各类 NAU:
物理单元(PU–Physical units)
每个 SNA 节点都包含一个物理单元。 PU 负责管理资源(如链路资源)以及支持和主机通信。
逻辑单元(LU–Logical Units)
每个 SNA 节点都包含一个或多个逻辑单元。LU 提供一组功能,支持 TP 和终端用户对网络的访问。LU 支持直接与本地 TP 和设备建立通信。
SNA 中定义了多种 LU,每一种都为某类特定应用程序优化。不同类型的 LU 之间不能实现通信,但是处于不同系统上的相同类型的 LU 之间可以相互通信。
与其它类型的 LU 相比,这种 LU 功能更多,灵活性更大 。除非你受现有硬件或软件的限制,否则当你开发新应用程序时,LU 6.2 是你最好的选择。
LU 3 (用于 3270 打印)
LU 3 通过 SNA 3270 数据流支持应用程序和打印机。
例如,LU 3 支持运行在客户信息控制系统(CICS)下的应用程序,并支持该应用程序向连接到 IBM 3174 控制器的 IBM 3262 打印机发送数据。
LU 2 (用于 3270 显示器)
LU 2 通过 SNA 3270 数据流支持应用程序和显示工作站在交互式工作环境下的通信。类型 2 LU 也通过 SNA 3270 数据流支持文件传输。
例如,LU 2 协议支持 3270 仿真程序,该程序能使工作站完成 IBM 3270 终端的功能。另外其它程序与为 3270 显示器提供输出的主机应用程序之间的通信也可以使用 LU 2。这种 TP 使得工作站和主机之间形成了一种合作处理的形态。
LU 1 (用于 SCS 打印和 RJE)
LU 1 支持在交互式批数据传输环境或分布式数据处理环境下应用程序与单设备或多设备数据处理工作站之间的通信。LU 1 使用的数据流符合 SNA 字符串或文件目录结构(DCA:Document Content Architecture )。
例如,LU 1 能支持应用程序在信息管理系统/虚拟存储(IMS/VS)下运行,并支持与 IBM 8100 信息系统之间的通信。这使得工作站操作员能更正由应用程序维护的数据库。
使用 LU 1 的应用程序通常被称之为远程作业输入(RJE : remote job entry)应用程序。
LU 0 (用于 LUA)
LU 0是早期的 LU,支持最初的程序间通信。有些主机数据库系统,例如信息管理系统/虚拟存储 (IMS/VS)以及一些零售商店和银行使用的收款机(如 IBM 4680 存储系统操作系统)采用的都是 LU 0 。当前的各种版本也支持 LU 6.2 通信,而 LU 6.2 是开发新应用程序的首选协议。