TCPware is a third-party TCP/IP stack published by Process Software Corp (PSC) for both VMS and OpenVMS. When I first started using TCPware on VMS in the early 1990s, DEC did not have a TCP/IP product for VAX. IMHO, one of the most useful features of TCPware are the FTP Library and TELNET Library which will enable your programs to more-easily connect to the internet.
According to PSC, TCPware will never be developed to support IPv6.
MultiNet was a competitor to TCPware originally created by TGV. PSC purchased the MultiNet stack from CISCO in 1997 so now they sell two stacks but only MultiNet is capable of both IPv4 and IPv6.
UCX (Ultrix Communication eXtension) was a TCP/IP stack ported from the Ultrix OS to OpenVMS by DEC (Digital Equipment Corporation) where it was known as TCP/IP Services for OpenVMS v4 (at that time "OpenVMS" always meant "Alpha" but not VAX). UCX was then developed into TCPIP Services for OpenVMS v5
TCPware
$ set term/wrap/width=132
$ tcpdump :== $tcpware:tcpdump
$ tcpdump tcp and host kawc0g.on.bell.ca and port not ssh -vv -x -z -s 1500
MultiNet
$ multinet tcpdump /verbose/hex/snap=1500 tcp and host 142.180.221.220 and port 80
Note: programmers will often need to see the whole Ethernet packet (see the RED text) rather than just the first 64 bytes
You can set up FTP-only inbound accounts in the two ways.
Post Transaction Processing
SFTP (started out as FTP over SSH)
Link: OpenVMS Notes: mime (includes info on how to mail an attached ZIP file (requires version 5.8 or higher)
You can read the docs, but it might me better to check the contents of these two files:
File | Contents |
---|---|
TCPWARE:TIMEZONES.DAT | vendor supplied timezone data |
TCPWARE:TIMEZONES.LOCAL | customer supplied (custom) timezone data |
A quick scan of file #1 shows:
adding set_vms_logicals to the NTP.CONF file will cause TCPware (or MultiNet 5) to modify these VMS logical names:SYS$TIMEZONE_DIFFERENTIALwhich is really important for certain programs requiring them.
SYS$TIMEZONE_DAYLIGHT_SAVING
SYS$TIMEZONE_NAME
server time.nrc.caBecause internet distance will translate into time delays, be sure to connect to NTP servers close to your location (e.g. not the University of Toronto servers I listed here)
server tick.utoronto.ca
server tock.utoronto.ca
set_vms_logicals
@tcpware:restart ntp
Legend: <sr> = system response <ur> = user response =============================== <sr> $
<ur> ntptrace time.nrc.ca
<sr> 132.246.11.227: stratum 2, offset 0.012997, synch distance 0.00626 tac.nrc.ca: stratum 1, offset 0.011343, synch distance 0.00026, refid 'PPS' $
<ur> ntpq
<sr> ntpq>
<ur> lpeers
<sr> remote refid st t when poll reach delay offset jitter ============================================================================== +132.246.11.227 132.246.11.231 2 u 65 64 376 46.859 14.623 53.121 *dns4.utoronto.c 128.100.103.253 2 u 63 64 377 37.068 15.417 29.145 +dense.utcc.utor 128.100.200.166 2 u 4 64 377 38.072 14.140 42.984 ntpq> <ur> exit <sr> $
===============================
Column 1 Notes: 1) asterisk: indicates our NTP daemon is currently locked onto dns4.utoronto.ca 2) plus : indicates that these servers could be used if the primary is lost 3) space : is usually seen after restarting ntpd and only indicates ntp
connectivity if STRATUM < 16
I recently (2011.12.xx) was asked to move ten old VAX/VMS-5.5.2 systems (which require DECnet Phase IV) from "an intranet where DECnet was supported" to "a newer intranet where only I/P-routing is supported". Using TCPware's Tunneling DECnet over I/P feature works fairly well but here are a couple of gotchas:
$lic unload DVNETRTGHow does this work? All the licenses containing the string MOD_UNITS place their resources in a license pool. A bumped up license may borrow from the pool which could affect other resources like the maximum number of interactive users so please be careful.
$lic mod /units=460 DVNETRTG
$lic load DVNETRTG
MY EXPERIMENTS (2011.12.xx)
=========================== DECnet Friendly Intranet DECnet Hostile Intranet (Proposed) +----------------------+ +----------------------+ +----------------------+ | Node: KAWC15 | | Node: KAWC09 | | Node: KAWC98 | | AlphaServer-DS20e | | AlphaServer-DS20e | | AlphaServer-2100 | | Addr: 12.345 | | Addr: 12.346 | | Addr: 12.347 | | Mode: NON ROUTING IV | | Mode: ROUTING IV | | Mode: NON ROUTING IV | | DECnet Known Lines: | | DECnet Known Lines: | | DECnet Known Lines: | | Line/Circ State | | Line/Circ State | | Line/Circ State | | --------- ----- | | --------- ----- | DECnet | --------- ----- | | | | DNIP-0-0 on note-0 + tunnel + DNIP-0-0 on note-0 | | EIA-0 off note-1 + 100-Mb/s + EIA-0 off note-1 + 100-Mb/s + EIA-0 off note-1 | | EWA-0 on note-2 + 10-Mb/s + EWA-0 on note-2 | | | | FPA-0 on note-3 + 100-Mb/s + FPA-0 on note-3 | | | +----------------------+ +----------------------+ +----------------------+ Notes: 0) DECnet-tunnel will use any available I/P network to accomplish its tasks (eg. 100-Mb/s) 1) DECnet is not allowed on the new 100 Mb/s Ethernet (NCP: turn off line and circuit) 2) DECnet is allowed on the old 10 Mb/s Ethernet (which will be retired very soon) 3) Our FDDI network is private so we can do whatever we want in our computer room 4) Every line set to OFF in DECnet is still ON in TCPware (obviously) 5) The middle node must be ROUTING (or AREA) in order for the outer nodes to communicate
with each other
Our current DECnet-friendly Network (soon to be retired) Note: TCP/IP equipment is not shown Note: RED stuff will be ripped out so we need alternatives
========================================================== +-----------------+ | Cisco +--> To Quebec City (area: 28) +--------------+ DECnet AREA +--> To Montreal (area: 25) | | Addr: 63.1022 +--------------+ | +-----------------+ | | | +----------------------+----------------------+ +----------------------+-------------------+ | Cisco (Kitchener) | | Cisco (Toronto) | | DECnet Routing | | DECnet Routing | | Address: 14.1022 | | Address: 17.1009 | +----------------------+----------------------+ +----------------------+-------------------+ | | +----------------------+----------------------+ +----------------------+-------------------+ | Synoptics Ethernet Hub | | Synoptics Ethernet Hub | +----------------------+----------------------+ +----------------------+-------------------+ | | +--------------------+ | +--------------------+ +--------------------+ | | VAX | | | DEC-Alpha | | VAX | | | DECnet Non-Routing +-+-+ DECnet Non-Routing | | DECnet Non-Routing +-+ | Node KAWC01 14.842 | | | Node KAWC15 14.950 | | Node SMCC07 17.367 | | +--------------------+ | +--------------------+ +--------------------+ | +--------------------+ | +--------------------+ +--------------------+ | | VAX | | | DEC-Alpha | | VAX | | | DECnet Non-Routing +-+-+ DECnet Routing IV | | DECnet Non-Routing +-+ | Node KAWC02 14.843 | | Node KAWC09 14.828 | | Node SMCC08 17.368 | | +--------------------+ +---------+----------+ +--------------------+ | | +--------------------+ | DECnet over IP -> | | VAX | | (Experimental) +---------+----------+ | DECnet Non-Routing +-+ | DEC-Alpha | | Node SMCC09 17.439 | | DECnet Non-Routing | +--------------------+ | Node KAWC98 14.998 | +--------------------+ Notes: 1) The company wants to remove all the stuff in RED a) Ethernet hubs will be replaced with Ethernet switches b) DECnet support will be dropped from the routers c) DECnet (and any other non-standard protocol) should always be possible on local
subnets 2) Depending upon how your new equipment is configured, you "might not need" to run DECnet
Tunneling between machines on the same subnet so don't install it unless you require it 3) If intra-city subnets exist, then each city will require at least one machine acting as
a ROUTER 4) If the designated ROUTER node does not have NICs connected to all local subnets, then
each subnet will need at least one machine running as a ROUTER node, and those ROUTER
nodes would need to be connected by DECnet Tunneling. 5) In this network, inter-city routing required at least one machine running as an AREA
node. If the AREA node does not have NICs connected to each subnet where communication
is required, then you must setup a DECnet Tunnel between the AREA node and the various
ROUTER nodes 6) Since SMCC07 needs to send hourly messages to the VAX machines in Kitchener, perhaps
SMCC07 and KAWC01 would be good AREA candidates. (AREA machines can also do ROUTING and
END) 7) These AREA routers will need to be connected via DECnet tunnels 8) In this example, KAWC09 acts as a bridge between KAWC98 and the other machines on the
Kitchener subnet. Without KAWC09 performing this role, no machines would be able to
connect to KAWC98, and KAWC98 would not be able to connect to any machine other than
KAWC09.
Proposed solution 1 of 2 (best performance; more burden placed upon LAN hardware) Note: TCP/IP equipment is not shown Note: DEC-Alpha boxes not shown
================================================================================= Kitchener Toronto Montreal Quebec City (area: 14) (area: 17) (area: 25) (area: 28) +--------------------+ +--------------------+ | DNIP-0-1 note-1 +---+ DNIP-0-1 note-1 | +-+ DNIP-0-0 note-2 | | DNIP-0-0 note-3 +--------------------------+ | | VAX | | VAX | | | | DECnet Area Rtg | | DECnet Area Rtg | | | | Node SMCC07 17.xxx | | Node STDC02 25.xxx | | | | ISA-0 note-4 +-+ | ISA-0 note-4 +-+ | | +--------------------+ | +--------------------+ | | +--------------------+ | +--------------------+ | +--------------------+ | +--------------------+ | | DNIP-0-0 note-2 +-+ | | | | | | | DNIP-0-0 note-3 +-+ | VAX | | VAX | | | VAX | | | VAX | | DECnet Area Rtg | | DECnet Non-Routing | | | DECnet Non-Routing | | | DECnet Area Rtg | | Node KAWC01 14.xxx | | Node SMCC08 17.xxx | | | Node STDC05 25.xxx | | | Node LGVC13 28.xxx | | ISA-0 note-4 +-+ | ISA-0 note-4 +-+ | ISA-0 note-4 +-+ | ISA-0 note-4 +-+ +--------------------+ | +--------------------+ | +--------------------+ | +--------------------+ | +--------------------+ | +--------------------+ | +--------------------+ | +--------------------+ | | VAX | | | VAX | | | VAX | | | VAX | | | DECnet Non-Routing | | | DECnet Non-Routing | | | DECnet Non-Routing | | | DECnet Non-Routing | | | Node KAWC02 14.xxx | | | Node SMCC09 17.xxx | | | Node STDC06 25.xxx | | | Node LGVC14 28.xxx | | | ISA-0 note-4 +-+ | ISA-0 note-4 +-+ | ISA-0 note-4 +-+ | ISA-0 note-4 +-+ +--------------------+ +--------------------+ +--------------------+ +--------------------+ Notes: 0) If you change all the DECnet addresses to the same area then you can change AREA to ROUTING IV 1) This is the link between areas 17 and 25 2) This is the link between areas 17 and 14 3) This is the link between areas 25 and 25 4) These links all happen on the local subnet (no need to tunnel) 5) Consider adding another tunnel between areas 14 and 28 (completes the circle; backup path)
Proposed solution 2 of 2 (future proof; more burden placed upon computers) Note: TCP/IP equipment is not shown Note: DEC-Alpha boxes not shown
========================================================================== Kitchener Toronto Montreal Quebec City (area: 14) (area: 17) (area: 25) (area: 28) +--------------------+ +--------------------+ | DNIP-1-1 note-1 +---+ DNIP-1-1 note-1 | +-+ DNIP-2-1 note-2 | | DNIP-3-1 note-3 +--------------------------+ | | VAX | | VAX | | | | DECnet Area Rtg | | DECnet Area Rtg | | | | Node SMCC07 17.367 | | Node STDC02 25.xxx | | | | DNIP-2-2 note-2 +-+ | DNIP-3-2 note-3 +-+ | | +--------------------+ | +--------------------+ | | | | | | +--------------------+ | +--------------------+ | +--------------------+ | +--------------------+ | | VAX | | | VAX | | | VAX | | | VAX | | | DECnet Area Rtg | | | DECnet Non-Routing | | | DECnet Non-Routing | | | DECnet Area Rtg | | | Node KAWC01 14.842 | | | Node SMCC08 17.368 | | | Node STDC05 25.xxx | | | Node LGVC13 28.xxx | | | DNIP-2-1 note-2 +-+ | DNIP-2-1 note-2 +-+ | DNIP-3-1 note-3 +-+ | DNIP-3-1 note-3 +-+ | ISA-0 off | | ISA-0 off | | ISA-0 off | | ISA-0 off | | DNIP-2-2 note-2 +-+ | DNIP-2-2 note-2 +-+ | DNIP-3-2 note-3 +-+ | DNIP-3-2 note-3 +-+ +--------------------+ | +--------------------+ | +--------------------+ | +--------------------+ | | | | | +--------------------+ | +--------------------+ | +--------------------+ | +--------------------+ | | VAX | | | VAX | | | VAX | | | VAX | | | DECnet Non-Routing | | | DECnet Non-Routing | | | DECnet Non-Routing | | | DECnet Non-Routing | | | Node KAWC02 14.843 | | | Node SMCC09 17.439 | | | Node STDC06 25.xxx | | | Node LGVC14 28.xxx | | | DNIP-2-1 note-2 +-+ | DNIP-2-1 note-2 +-+ | DNIP-3-1 note-3 +-+ | DNIP-3-1 note-3 +-+ | ISA-0 off | | ISA-0 off | | ISA-0 off | | ISA-0 off | | DNIP-2-2 note-2 +---+ DNIP-2-2 note-2 | | DNIP-3-2 note-3 +---+ DNIP-3-2 note-3 | +--------------------+ +--------------------+ +--------------------+ +--------------------+ Notes: 0) If you change all the DECnet addresses to the same area then you can change AREA to ROUTING IV 1) This tunnel links areas 17 and 25 (Ontario to Quebec) which is only used for maintenance 2) These tunnels constitute the Ontario ring 3) These tunnels constitute the Quebec ring 4) Consider adding another tunnel between SMCC09 and STDC06