New Products1. At a node called SOURCE::, the command$ TYPE TARGET::"O=TIME"is entered from a process running underaccount USER.2. The TYPE image issues ari RMS OPEN toTARGET::"O=TIME".3. The OPEN service issues an ASSIGN requeston the string, which results in a QIOIO $_A.CCESS being issued to DECnet-VAX .4. A connect request for network task TIME isrouted to node TARGET, where the DECnetVAX software creates a process to run a commandprocedure called TIME.COM. DECnetVAX then creates the logical name SYS $NET,whose translation contains a network taskspecifier identifying the source of the logicallink.5. TIME .COM issues the commands$ DEFINE SYS$0UTPUT SYS$NET$ SHOW TIME6. DCL issues an RMS OPEN using the logicalname SYS $0UTPUT for its output. OPEN inturn issues an ASSIGN. When one logicalname points to another, the names are translatedin an iterative fashion until no fu rthertranslation is required. Since the logicalname SYS $0UTPUT points to the logicalname SYS $NET, the latter translation is usedby ASSIGN. ASSIGN finds the network taskspecifier and issues a QIO 10 $-ACCESSrequest to DECnet-VAX. The formation ofthe logical link is then completed. TheTYPE image at the source node now issuesan RMS GET, which then translates to aQIO IO $_READVBLK request on the networkchannel.7. The time is sent as a string by an RMSPUT operation, which then issues aQIO IO$_WRITEVBLK request on the channelestablished for SYS $0UTPUT. Since thisis a network channel, the QIO is handled byDECnet-VAX and passed across the logicallink to the source node.8. At the source, the data satisfies the QIOIO $_READVBLK, which in turn satisfies theRMS GET, allowing the TYPE image to displaythe time sent from the target node.Throughout this example, only two networkfu nctions were performed at the applicationlevel: the use of a network destination name inthe TYPE fu nction, and the reference to theSYS $NET logical name in the TIME commandprocedure.IDECnet-VAX Features fo r theVMS Environment / .Besides implementing thoe functions definedfor all DECnet implementations, the DECnetVAX product supplies added-value featuresdesigned for the VMS environment. These extensionsto the architecture enhance the wayDECnet-VAX blends into the VMS system. Severalexamples are illustrated in the following·paragraphs.Proxy Log-inOne traditional problem with password-basedaccess control is making the required passwordavailable to all users needing access to a restrictedresource . If the user membership needsto change (e.g., if someone changes jobs andthus no longer has the right to access theresource) , a new password, which must be communicatedto all current members, is required.To address this problem, tbe concept of "proxyIlog-in" was added to the DECnet-VAX software in1983.21With proxy log-in, each node maintains adatabase of those network users having proxyaccess to specific accountS on the local system.The database is used t() provide a one-toonemapping between the user, identified asNODE::USERNAME, and the target proxyaccount. For example, take the case of the arrivalof a logical link request having no explicit accesscontrol information from user whose name is inthe database. In this case the process created byNETACP to handle the logical link will be runusing the authorization context of the proxyaccount. This mechanism allows members to beadded to or deleted from a particular proxyaccount without their a priori knowledge of theaccount.Cluster Alias AddresfDECnet-VAX nodes can dperate on VAXclustersystems. A cluster is a loo$ely coupled, multipleprocessor network featuring full sharing of diskstorage and common user !environments on eachr<strong>Digital</strong> <strong>Technical</strong> JournalNo. 3 <strong>September</strong> 198695
The DEC net- VA X Product - An Integrated Approach to Networkingnode. Each member node within a cluster canbe directly addressed from any other node inthe network. At times, however, it is alsovery convenient to treat the cluster as a singleDECnet node . Among other advantages , thiscapability makes it possible for mail to be sent tousers with accounts in the VAXcluster systemwithout knowing which member nodes areactive .Associating the cluster with a DECnet addressis accomplished by supplying each node in thecluster with a second address, an "alias," representingthe cluster. Each router in the cluster (atleast one is required) adds the alias address tothe routing vector transmitted to other routersin the network. That makes the routing vectorappear to be the optimal path to the aliasaddress. As a result, the rest of the network cannotdistinguish the cluster alias from the addressof a physical node . This approach has an advantagein that it requires no unique support inother systems and no modifications to the DECnetarchitecture.As it is routed through the network, a messagewith the alias address will eventually arrive at arouter within the VAXcluster system. The routerwill recognize the destination address as its ownalias and select a node within the cluster toreceive the message. The selection process isbased on a weighted, round-robin algorithm. Theend communications layer within the router iscapable of identifying which node is associatedwith each logical link. Therefore, once a connectionhas been established, subsequent messageswill always be routed to the correct node withinthe cluster.Dy namic Asynchronous ConnectionsMany personal computers, ranging from IBM PCsto MicroVAX workstations, are now capable ofrunning the DECnet software over asynchronouslines. Thus has arisen the need for a more secureand easily managed mechanism for setting up terminallines to be used as DECnet communicationslines.Ordinarily, one terminal line must be dedicatedto DECnet use for each asynchronous lineneeded. When those terminal lines are not beingused for DECnet purposes, they cannot be usedas normal terminal lines. To solve this problem,DECnet-VAX introduced, in 1985, dynamic asynchronousconnections which allow an interactiveuser to dynamically convert the terminal linehe is using to a DECnet line. (This conversionrequires that access be from a PC using a terminalemulation package , such as SET HOSTjDTEunder the VMS software, and that the PC can runthe DECnet software.)Mter logging in via the terminal .emulator to anaccount on a routing node, the user directs theVMS system on the routing node to switch the terminalline to DECnet use. The VMS system sendsan escape sequence to the terminal emulator onthe PC. Recognizing the sequence, the emulatorconverts the line to a DECnet link at the localend. Meanwhile, the code in the router convertsthe line at that end to DECnet use. The design ofthe VMS terminal driver makes possible this conversion.The terminal driver separates its functionsbetween class drivers (implementinghigher-level functions) and port drivers (interfacingwith the hardware devices) . The DDCMPasynchronous device support in the DECnet-V AXproduct is implemented as a class driver. Thatmakes it possible to switch dynamically betweenDECnet and terminal use on a particular devicesimply by switching class drivers on the sameport driver.When both ends have switched to DECnet use,the normal routing layer initialization takesplace. Some additional checks happen duringrouting initialization on dynamic lines to ensurethat the node that just switched the line is permittedto do that by the router. These checksgive to the system manager on the router theopportunity to control which nodes should bepermitted to connect to his system.Performance IssuesAs DECnet-VAX has evolved, continuing effo rtshave been made to improve its performance.These efforts have run the gamut from restructuringthe basic modules to including supportaimed at improving specific areas of performance.The remaining sections discuss some ofthe areas that have yielded the greatest performanceincreases.Network Drivers and AncillaryControl ProcessesWherever possible, those functions having thegreatest effect on performance have been implementedin NETDRIVER. There they can be executedat high priority without changing the processcontext, which would be required forfunctions executed in NETACP.96<strong>Digital</strong> <strong>Technical</strong>]ournalNo . 3 <strong>September</strong> 1986