更新时间:2022-08-25 16:19
系统网络体系结构(SNA)是IBM专有的网络架构,于1974年创建。[它是一个用于连接计算机及其资源的完整协议栈。 SNA描述格式和协议,本身并不是软件。 SNA的实现采用各种通信包的形式,最明显的是虚拟电信访问方法(VTAM),即用于SNA通信的主机软件包。
系统网络体系结构(SNA,Systems Network Architecture)是一种IBM体系结构,它是在企业内部进行网络计算的一组产品。它早于IBM地系统应用体系结构(SAA),SNA后来成为它的一部分,当前是IBM的“开放蓝图”的一部分。随着多企业网络计算技术的到来,互联网、TCP/IP开放网络体系结构以及IBM在寻求一种办法,在更大网络中将它企业内部的SNA跟TCP/IP组合起来,用于更大网络中的应用。SNA本身包含几个功能层,还包括数据链层、同步数据链控制(SDLC)以及一个称为虚拟无线通信访问方法的应用程序接口,后者是用于控制信息和数据交换的通信协议。SNA包括节点的概念,节点包括提供一定建立功能的物理单元以及与特定网络事务相关的逻辑单元。
SNA于1974年9月作为IBM“通信高级功能”宣布的一部分公布,其中包括在新通信产品上实施SNA / SDLC(同步数据链路控制)协议:
他们受到IBM 3704/3705通信控制器及其网络控制程序,以及System / 370及其VTAM和其他软件(如CICS和IMS)的支持。随后又于1975年7月发布了另一个公告,其中介绍了IBM 3760数据输入站,IBM 3790通信系统以及IBM 3270显示系统的新型号。
SNA主要由美国北卡罗来纳州Research Triangle Park的IBM系统开发部实验室设计,由其他实施SNA / SDLC的实验室提供帮助。这些细节后来由IBM的系统参考库手册和IBM Systems Journal公布。
国民帐户体系仍然广泛用于银行和其他金融交易网络以及许多政府机构。尽管IBM仍在为SNA提供支持,但IBM的3745/3746通信控制器之一的主要硬件硬件已退出市场。然而,安装这些控制器的时间估计为20,000 ,IBM继续提供硬件维护服务和微代码功能以支持用户。小公司的强大市场继续提供3745/3746的功能,部件和服务。 IBM也支持VTAM,3745/3746控制器所需的IBM网络控制程序(NCP)也是如此。
IBM在2008年发表的一篇文章说:
随着TCP / IP的普及和发展,SNA正在从一个真正的网络体系结构转变为可称为“应用程序和应用程序访问体系结构”。换句话说,有许多应用程序仍然需要在SNA中进行通信,但所需的SNA协议通过IP在网络上传输。
IBM在20世纪70年代中期看到自己主要是作为硬件供应商,因此在那个时期的所有创新都旨在增加硬件销售。SNA的目标是降低运营大量终端的成本,从而诱导客户开发或扩展交互式终端系统,而不是批量系统。基于交互式终端的系统的扩展将增加终端的销售,更重要的是大型计算机和外围设备的销售 - 部分原因是系统完成的工作量的简单增加,部分原因是交互式处理每个事务需要比批处理更多的计算能力处理。
因此,国民账户体系旨在减少使用早期通信协议操作大型网络的主要非计算机成本和其他困难。困难包括:
通信线路不能由不同类型的终端共享,因为它们使用现有通信协议的不同“方言”。直到二十世纪七十年代初,计算机组件非常昂贵和笨重,以至于在终端中包括多用途通信接口卡是不可行的。每种类型的终端都有一个硬连线通信卡,它只支持一种类型的终端的操作,而不与同一线路上的其他类型的终端兼容。
原始通信卡可以处理的协议效率不高。每条通信线路比现代线路使用更多的时间传输数据。
当时的电信线路质量低得多。例如,由于压倒性的错误率,当前几乎不可能以超过19,200比特/秒的速度运行拨号线路,而与拨号线路上的每秒56,000比特相比,而在70年代初期,很少有租用线路以每秒2400比特的速度运行(这些低速是Shannon定律在相对低技术环境下的结果)。电信公司没有提高线路质量或降低成本的动力,因为当时他们大多是垄断者,有时是国有的。
因此,运行大量终端需要比当前所需数量更多的通信线路,特别是如果需要支持不同类型的终端,或者用户想要使用不同类型的应用程序(例如CICS或TSO下))来自同一地点。纯粹从财务角度而言,SNA的目标是增加客户在基于终端的系统上的支出,同时增加IBM支出的份额,主要是牺牲电信公司的利益。
SNA还旨在克服IBM System / 370大型机从System / 360继承的体系结构的局限性。每个CPU最多可以连接16个I / O通道,每个通道最多可以处理256个外设 - 即每个CPU最多有4096个外设。在设计SNA时,每条通信线都算作外围设备。因此,功能强大的主机可以通信的终端数量是有限的。
计算机组件技术的改进使得构建包括更强大的通信卡的终端成为可能,其可以操作单个标准通信协议,而不是仅适合特定类型终端的非常简洁的协议。因此,在20世纪70年代提出了几种多层通信协议,其中IBM的SNA和ITU-T的X.25稍后占据支配地位。
SNA最重要的要素包括:
IBM网络控制程序(NCP)是在3705及其后的37xx通信处理器上运行的通信程序,其中包括实现由SNA定义的分组交换协议。该协议执行两个主要功能:
它是一种数据包转发协议,就像现代交换机一样 - 将数据包转发到下一个节点(可能是大型机,终端或另一个节点)。通信处理器仅支持以大型机为中心的分层网络,与现代路由器不同支持点对点网络,其中线路末端的机器可以同时成为客户端和服务器。
它是一个多路复用器,它将多个终端连接到一条通信线路上,从而减轻了每个CPU最大通信线路数量的限制。 A 3705可以支持更多的线路(最初352个),但只能由CPU和通道统计为一个外设。自SNA发布以来,IBM推出了改进的通信处理器,其中最新的是3745。
同步数据链路控制(SDLC),一种大大提高单链路数据传输效率的协议:
SDLC包含了比以前的协议更强大的错误检测和纠错码[可疑 - 讨论]这些码通常使通信卡能够在不要求重传的情况下纠正较小的传输错误,因此可以更快地将数据抽成一行。
它使终端和3705通信处理器能够一个接一个地发送数据“帧”,而不必等待前一帧的确认 - 通信卡具有足够的存储器和处理能力来“记住”发送或接收的最后7个帧,请求仅重新发送包含错误检测和纠错码无法修复的错误的帧,并且在将重新发送的帧发送到下一阶段之前,将重新发送的帧插入到序列中的正确位置。
这些帧都具有相同类型的“信封”(帧头和尾部),其中包含来自不同类型终端的数据包的足够信息,以便沿着相同的通信线路发送,使大型机能够处理任何差异内容格式或规则管理与不同类型终端的对话。
远程终端(即通过电话线连接到主机的终端)和3705通信处理器将具有支持SDLC的通信卡。
这是所谓的“分组通信”的前身,最终演变为当今的TCP / IP技术[需要的引证]。 SDLC本身演变成HDLC,专用电信电路的基础技术之一。
VTAM,一种软件包,用于在大型机内提供登录,会话保持和路由服务。终端用户将通过VTAM登录到特定的应用程序或应用程序环境(例如CICS,IMS,DB2或TSO / ISPF)。 VTAM设备然后将数据从该终端发送到适当的应用程序或应用程序环境,直到用户注销并可能登录到另一个应用程序。 IBM硬件的原始版本每个终端只能保留一个会话。在20世纪80年代,更多的软件(主要来自第三方供应商)使得终端可以同时与不同的应用程序或应用程序环境进行会话。
SNA从应用程序中删除链接控件,并将其放置在NCP中。 这有以下优点和缺点:
电信网络问题的本地化比较容易,因为实际上处理通信链路的软件量相对较小。有一个错误报告系统。
向应用程序添加通信功能要容易得多,因为通常需要中断处理器和软件定时器的链路控制软件的强大区域被降级为系统软件和NCP。
随着高级对等网络(APPN)的出现,路由功能是计算机的责任,而不是路由器(与TCP / IP网络一样)。每台计算机都维护一个定义转发机制的节点列表。称为网络节点的集中式节点类型维护所有其他节点类型的全局表。 APPN不再需要维护高级程序到程序通信(APPC)路由表,这些路由表明确规定了端点到端点的连接。 APPN会话将通过其他允许的节点类型路由到端点,直到找到目的地为止。这与Internet协议和Netware互联网分组交换协议功能的路由器类似。 (APPN有时也被称为PU2.1或物理单元2.1 APPC,有时也称为LU6.2或逻辑单元6.2,是定义到APPN网络的独立协议,但最初是VTAM / NCP支持的众多协议之一,以及LU0,LU1,LU2(3270终端)和LU3。APPC主要用于CICS环境和数据库服务之间,因为它接触用于两阶段提交处理的协议。物理单位是PU5(VTAM),PU4(37xx),PU2(集群控制器)。 PU5是最有能力的,并被认为是所有通信的首选。其他PU设备请求来自PU5的连接,并且PU5可以建立连接或不建立连接。其他PU类型只能是PU5的次要类型。 PU2.1增加了PU2.1在对等环境中连接到另一个PU2.1的能力。)
与非SNA网络的连接很困难。一个需要访问某些通讯方案的应用程序,在当前版本的SNA中不受支持,但面临障碍。在IBM将X.25支持(NPSI)纳入SNA之前,连接到X.25网络将会非常尴尬。 X.25和SNA协议之间的转换可以通过NCP软件修改或通过外部协议转换器提供。
网络中每对节点之间的一束备用路径必须进行预先设计和集中存储。 SNA在这些路径中的选择是僵化的,没有利用当前链路负载获得最佳速度。
SNA网络安装和维护很复杂,SNA网络产品(或者)很贵。尝试通过添加IBM Advanced Peer-to-Peer Networking功能来降低SNA网络复杂性并不是真正成功,只是因为从传统SNA到SNA / APPN的迁移非常复杂,至少在最初阶段没有提供太多额外价值。对于高端系统,SNA软件许可证(VTAM)每个月的成本高达10000美元。 SNA IBM 3745通信控制器的成本通常超过10万美元。 TCP / IP仍被认为不适合商业应用,例如在金融业直到20世纪80年代后期,但由于其点对点网络和分组通信技术而在20世纪90年代迅速接管。
国民账户体系的设计正处于分层交流的概念尚未完全被计算机行业采用的时代。应用程序,数据库和通信功能被混合到相同的协议或产品中,这使得难以维护和管理。这在当时创造的产品中非常普遍。即使在TCP / IP完全开发之后,X Window系统也采用了与通信协议嵌入到图形显示应用程序中的相同模型。
SNA基于连接的架构调用了巨大的状态机逻辑来跟踪一切。 APPN以其不同节点类型的概念为状态逻辑添加了一个新维度。尽管一切运行正常,但仍然需要手动干预。观看控制点会话等简单的事情必须手动完成。 APPN不是没有问题;在早期,由于APPN支持中发现的问题,许多商店放弃了它。然而,随着时间的推移,许多问题已经解决,但是在TCP / IP在20世纪90年代早期越来越流行之前就已经出现了,这标志着国民账户体系结束的开始。
SNA网络中的网络可寻址单元是可以分配地址并可以发送和接收信息的任何组件。 他们进一步区分如下:
SNA本质上提供透明通信:不对LU-LU通信施加任何约束的设备细节。但最终它的目的是区分LU类型,因为应用程序必须考虑终端设备的功能(例如屏幕尺寸和布局)。
SNA内部有三种类型的数据流连接本地显示终端和打印机;有SNA字符串(SCS),用于LU1终端和登录到具有无格式系统服务(USS)的SNA网络,主要由System / 370和后继等大型机使用的3270数据流,包括z系列系列以及主要由小型机/服务器(如System / 34,System / 36,System / 38和AS / 400)及其后继产品(包括运行IBM i的System i和IBM Power Systems)所使用的5250数据流。
SNA定义了几种设备,称为逻辑单元类型:
使用的主要是LU1,LU2和LU6.2(用于应用程序对话的高级协议)。
术语37xx是指IBM的SNA通信控制器系列。 3745支持高达8个高速T1电路,3725是主机的大型节点和前端处理器,而3720是一个远程节点,可用作集中器和路由器。
随着基于大型机的实体寻找其基于37XX的网络的替代品,IBM在20世纪90年代中期与思科合作,他们共同开发了数据链路交换(DLSw)。DLSw将SNA数据包封装到IP数据报中,允许会话通过IP网络。实际封装和解封装发生在DLSw对等连接每端的思科路由器中。在本地或大型机站点,路由器使用令牌环拓扑本地连接到VTAM。在连接的远程(用户)端,PU类型2仿真器(例如SNA网关服务器)通过路由器的LAN接口连接到对等路由器。最终用户终端通常是具有3270仿真软件的PC,该软件是为SNA网关定义的。VTAM / NCP PU第2类定义成为VTAM的本地交换主节点(无需NCP),并且可以使用各种可能的解决方案定义“线路”连接(例如3745上的令牌环接口, 3172 Lan Channel Station,或Cisco ESCON兼容的通道接口处理器)。
霍尼韦尔Bull主机的专有网络架构是分布式系统架构(DSA)。DSA的通信软件包是VIP。与SNA一样,DSA也不再受客户端访问支持。公牛大型机配备Mainway,用于将DSA转换为TCP / IP,VIP设备由TNVIP终端仿真(GLink,Winsurf)替代。 GCOS 8支持TCP / IP上的TNVIP SE。其他体系结构是到2012年基本上已经过时的Unisys-以前称为Univac-分布式计算体系结构(DCA)和 - 以前称为Burroughs-Burroughs网络体系结构(BNA),以及国际计算机有限公司(ICL)信息处理体系结构(IPA)。DECnet是由Digital Equipment Corporation创建的一套网络协议,最初于1975年发布,用于连接两台PDP-11小型计算机。它发展成为第一个点对点网络架构之一,从而在20世纪80年代将DEC转变为网络强国。
SNA最初旨在与ISO的开放系统互连竞争,这是一种尝试创建供应商中立的网络架构,由于“委员会设计”的问题而失败。OSI系统非常复杂,涉及的许多方需要广泛的灵活性,这会影响OSI系统的互操作性,这是开始的主要目标。
多年来,TCP / IP套件并未被IBM视为一种严肃的替代方案,部分原因是由于缺乏对知识产权的控制。由J. Rekhter博士撰写的1988年出版的RFC 1041明确承认客户对数据中心互操作性的需求。随后,IETF利用其他多个RFC扩展了此项工作。
TN3270(Telnet 3270)是一种TCP / IP Telnet变体,支持使用大型机上的TN3270服务器与最终用户站点上的PC上的TN3270仿真程序包直接连接大型机的客户机 - 服务器连接。该协议通过TCP / IP会话支持传统的3270终端协议,允许现有的VTAM应用程序(CICS,TSO)在很少或根本不改变传统SNA的情况下运行。该协议被广泛用于替代传统的SNA连接,而不是DLSw和其他SNA替换技术。