Systems Network Architecture (SNA) ist eine Netzwerkarchitektur, die von IBM in den 1970er-Jahren entwickelt und im Jahre 1974 vorgestellt wurde. SNA sah eine hierarchische Organisation des Computernetzwerks vor, und die Implementierung setzte einen Großrechner nebst dessen für Netzwerke bestimmter Peripherie voraus. Diese hierarchische Netzwerkorganisation steuerte dann u. a. viele „dumme“ Terminals. Im Gegensatz zur hierarchischen Organisation der SNA gibt es zum Beispiel die dezentral organisierte Internetprotokollfamilie.
Die Systemsoftware, die diese Architektur implementiert, sind VTAM auf dem Mainframe und Advanced Communication Function/Network Control Program (NCP) auf den Vorrechnern (Front End Prozessoren), sowie festverdrahtete Bildschirm- und Druckerterminals.
Die Komponenten im SNA-Netzwerk werden in Netzwerkknoten-Typen klassifiziert; in der SNA-Terminologie heißen diese Physical Units (PUs). Diese Netzwerkknoten werden durch eine entsprechende Definition auf dem Mainframe derart miteinander verknüpft, dass zwischen ihnen Verbindungen (Sessions) auf- und abgebaut werden können.
Folgende Physical Unit-Typen sind definiert:
Der Verwaltungsbereich einer PU Type 5 wird als „Domäne“ bezeichnet, der Verwaltungsbereich einer PU Type 4 als Untermenge der Domäne heißt „Subarea“.
Die Physical Units dienen einzig der Steuerung von Verbindungen. Eine Kommunikation mit einem Anwender ist hiermit noch nicht gegeben. Hierfür stellen Physical Units des Typs 2(.1) eine weitere Schnittstelle zur Verfügung; im SNA-Sprachgebrauch heißt diese Logical Unit (LU). Im ursprünglichen Ansatz von SNA („klassisches SNA“, „Subarea-SNA“) konnte eine einzelne Logical Unit zu einem bestimmten Zeitpunkt genau eine Verbindung, eine LU-LU-Session, zu einem Anwendungsprogramm auf dem Mainframe aufbauen.
Aus technischer Sicht handelt es sich bei einer Logical Unit um Hardware (Bildschirm oder Drucker) mit dementsprechend implementiertem Vorrat an Befehlen für die Steuerung einer SNA-Sitzung bis hin zur formatierten Ausgabe am Endgerät, oder eben ein Anwendungsprogramm auf einem Mainframe (PU_Type5). Nach den implementierten Protokollen existieren verschiedene LU-Typen. Die gebräuchlichsten sind:
Mit dem Aufkommen von intelligenter Hardware und der Abkehr von „dummen Terminals“ wurde die Funktionalität von Logical Units zunehmend von Software-Lösungen abgelöst, die die ursprünglichen Terminals emulierten. Gleichermaßen erwuchs der Bedarf, auch peripher laufende Programme direkt miteinander über das SNA-Netzwerk kommunizieren zu lassen. Hierzu wurde der bisher nur zwischen Mainframe-Programmen verwendete LU Typ 6.2 ausersehen, die Schnittstelle für Erweiterte Programm-zu-Programm-Kommunikation (APPC). Der wesentliche Unterschied zur LU Type 0 ist, dass LU Typ 6.2 im Gegensatz zum frei definierbaren Format der LU Type 0 eine standardisierte Schnittstelle bereitstellte.
Der LU Type 6.2 erlaubt auch den Aufbau von parallelen Verbindungen dieser Logical Unit zu einem oder mehreren Anwendungsprogrammen, die sowohl auf einem Mainframe (PU Typ 5) oder einem peripheren Knoten (PU Typ 2.1) beheimatet sein können.
Im Gegensatz zur heute in Netzwerken üblicherweise verwendeten Internetprotokollfamilie sind in SNA bereits eine Reihe von Services standardmäßig integriert, wie beispielsweise der Versand von Dokumenten und Dateien (SNA Document Services (SNADS)) oder der Durchgriff von Terminals und Druckern über andere Systeme (Passthrough).
Lange vor dem OSI-Modell für die Organisation der Kommunikationstechnik stellte SNA bereits eine in sich geschlossene Architektur für ein Computernetzwerk zur Verfügung.
Der technische Fortschritt führte im Jahre 1985 zur Vorstellung des „neuen SNA“: Advanced Peer-to-Peer Networking (APPN) löste die Abhängigkeit von einem zentralen Steuerpunkt auf dem Mainframe auf. Entsprechend leistungsfähige Hardware konnte nun direkt SNA-Verbindungen auf- und abbauen. Hierzu wurde die Physical Unit des Typs 2.0 um die erforderliche Routing-Funktionalität, die bislang Mainframe und Vorrechner übernommen hatten, erweitert und erhielt die Bezeichnung PU Type 2.1.
Inzwischen (2009) sind die Vorrechner (PU 4) Geschichte; die Verbindung von VTAMs (PU 5) untereinander,# und mit PUs 2.1 erfolgt heute mittels Internetprotokoll, genauer durch UDP-Tunnel (siehe Tunnel (Rechnernetz)). Diese Technologie ist seit etwa dem Jahr 2000, seit OS/390 Release 2.6 praxistauglich und unter dem Namen Enterprise Extender bekannt.