New to Z

 Windows with SNA.

SAUL MAURICIO CHAGOLLA HERREJON's profile image
SAUL MAURICIO CHAGOLLA HERREJON posted Tue March 25, 2025 03:36 PM

I'm just taking a course on mainframe networking (z/OS). Searching a bit I found that there is software for Windos to use SNA.

1.- Previous name: "Microsoft SNA Server". What is it currently called?

2.- The NIC on a Windows computer must be OSA-Express or does it serve any that supports Ethernet?

3.- Excluding Cisco, which other routers support SNA?

Thank you :-)

Shashank Dewangan's profile image
Shashank Dewangan IBM Champion

1st one -- 

The Microsoft SNA Server is now known as the Microsoft Host Integration Server. It serves as a gateway application, enabling connectivity between Microsoft Windows networks and IBM mainframe and IBM i systems.
2.. not sure
3.. i am not aware of any and outside of Cisco are relatively rare, as SNA is an older protocol primarily associated with IBM systems
Regards,
Shashank 
J Robert Garrett's profile image
J Robert Garrett

1. No idea - it also doesn't matter.  The product isn't really needed today.

2.SNA - Systems Network Architecture.  Think of SNA as the "equivalent" of TCP (IP)  or UDP.  In the traditional OSI network layer model, SNA embodies part of OSI layers 3 (network), all of 4 (transport), and most of 5 (session).   My personal opinion is that on its best day, TCP/IP is inferior to SNA yet here we are.  The unit of information (packet) in SNA was an entity called a PIU - short for Path Information Unit - and could be in one of several formats, "FID's", that each had a number, FID1, FID2, FID3, FID4, FID5 - etc.  As a packet traversed the network, each PU (short for Physical Unit) in the path used the information in the PIU header to obtain routing and other information before sending the packet on to the next hop. It might also alter the PIU format from one "FID" type to another, depending on what it knew the next hop would be expecting.  The physcal transport mechanism for SNA PIU's (equivalent to OSI layers 1 and 2), equivalent to today's Ethernet, would have been SDLC (Synchronous Data Link Control) (over "phone" lines), Token Ring (LAN), or even Ethernet (LAN).  Physical transport involved "wrapping" the PIU's in additional information according to the "physical" transport being used.  The total package, PIU wrapped in that physical link information, was called a BLU (Basic Link Unit).  One reason I said that SNA is superior to TCP/IP has to do with writing code to use it.  In SNA, if I code a "read" operation and I specify a length,  then that read will not complete until I've received the full length.  In TCP/IP, if similary I do a "read" for say, 1024 bytes, IP will give me "whatever it feels like" giving me at the time and if it's not the full 1024, then I have to keep issuing "read" operations, keeping track of the total length myself, until I get it all(!). How stupid is that?  The SNA API supports both synchronous and asynchronous API calls (what the TCP/IP world refers to as "blocking" or "non-blocking").  The calling application code has the option of being paced into a wait state until the operation completes, or being able to continue "doing something else" and subsequently being notified asynchronously when the operation has completed. 

3. None that I know of, in "today's world" none are really needed. These days for "3270" (green screen type) traffic most often you'll be using a TN3270 emulator package on your workstation (Vista TN3270 from Tom Brennan is my favorite and is one of the best ones out there).  TN3270 communicates via IP to a TN3270 server running on z/OS or z/VM that handles the "translation" and acts as a go-between communicator on your behalf to whatever the ultimate end-point application is - CICS or TSO for examples - which are "mostly" using the SNA API set to communicate (current versions of CICS are aware that your 'terminal' end-point is IP and can obtain your IP address from the z/OS Comm Server IP stack).  z/OS Communication Server today supports both SNA (VTAM) connections and TCP/IP - UDP connections.  The TN3270 service runs as a component of z/OS Comm Server.  When your remote "terminal" emulator of choice connects over IP to the TN3270 service running in z/OS Comm Server, it will allocate an SNA/VTAM communications ACB (Access Control Block) from a pool of them and use that to complete the connection to your target end point (aka CICS or TSO for example).  Once the session is established, the TN3270 service acts as the go-between, talking to you via IP "out of one side of its mouth", and talking to the endpoint application via that ACB "out of the other side of its mouth".   Note this is just for "3270" type traffic - aka terminal "green screen".   Other types of traffic, FTP, SSH, iDZ, CMCI (CICS Management Control Interface) are all natively supported via the IP stack in Comm Server. 

SAUL MAURICIO CHAGOLLA HERREJON's profile image
SAUL MAURICIO CHAGOLLA HERREJON

Thank you for taking the time to respond :-)

With the comments I assume that z/OS can work using only TCP/IP and SNA is still mentioned only as something historical (or by compatibility with obsolete equipment).

CS (Communications Server) has SNA but is not activated by default... CSM (Communications Storage Manager) does not implement I/O buffer for SNA (if this is not required).

Right?

I will save your comments in PDF for future reference :-)

J Robert Garrett's profile image
J Robert Garrett

Hey Saul, no, that's not correct.

SNA is still supported at least for "local" application programs running on z/OS.   Anything that communicates through the VTAM component of Comm Server is SNA.  For example, when CICS opens it's VTAM ACB and uses it to accept and communicate with  users on terminals, that's pure SNA into and out of CICS.   The TN3270 service I mentioned earlier is "translating" back and forth between IP and SNA to make things work.   When you log on to a TSO session, the same thing happens.  The TSO terminal monitor program that's managing your session is communicating through a VTAM ACB - and that's SNA.  Again the TN3270 service is making the translations.   SNA APPC (Advance Program to Program Communications) --- is still available and still works.  For example, multiple RACF security managers running on different sysplexes can be configured to use APPC to keep their databases in sync with each other.   APPN (Advanced Peer to Peer Networking) via SNA is also still supported.   The pieces of SNA that you won't find any more are channel attached communications controllers (3705/3725/3745) running NCP (Network Control Program) and supporting remote networks of devices communicating over "phone" lines via SDLC.  

SAUL MAURICIO CHAGOLLA HERREJON's profile image
SAUL MAURICIO CHAGOLLA HERREJON

Now it's clear to me the importance of SNA:

Using a Session, Security, and Transactions.

Thank you Robert

:-)

J Robert Garrett's profile image
J Robert Garrett

Sure, glad to help.  Interesting to note is that when working in Assembler the macros that are used to communicate with VTAM are the very same ones as what are used to work with VSAM datasets.  There is a macro named ACB (Access Control Block) and another one named RPL (Request Parameter List  RPL AM=VSAM).  In Assembler,  one defines and opens one or more ACB's (macro ACB AM=VSAM) with each one representing a connection to a dataset, then one performs operations on those datasets by using RPL(s) with parameters set to define a specific operation to be performed through one of those ACB's.   For VTAM one also uses the same ACB macro (macro:  ACB AM=VTAM) then OPEN's it to establish a connection to VTAM, then uses RPL's (macro RPL AM=VTAM) to use that connection to perform operations.   Remember when I said that working with SNA is better/easier than using native IP socket calls?  This is one reason why.  If I issue the equivalent of at "READ" request via an RPL through a VTAM ACB, I can be guaranteed that the operation will not be considered complete until ALL the data is available, unlike IP.