簡介
系統網路體系結構(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 3767通信終端(印表機)
IBM 3770數據通信系統
他們受到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在網路上傳輸。
SNA的目標
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(用於應用程式對話的高級協定)。
物理單元
PU1節點是終端控制器,如IBM 6670或IBM 3767
PU2節點是運行配置支持程式的集群控制器,例如IBM 3174,IBM 3274或IBM 4701或IBM 4702分支控制器
PU2.1節點是對等(APPN)節點
PU3從未被定義
PU4節點是運行網路控制程式(NCP)的前端處理器,例如IBM 37xx系列
PU5節點是主機系統
術語37xx是指IBM的SNA通信控制器系列。 3745支持高達8個高速T1電路,3725是主機的大型節點和前端處理器,而3720是一個遠程節點,可用作集中器和路由器。
SNA到IP
隨著基於大型機的實體尋找其基於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替換技術。