Digital PDFs
Documents
Guest
Register
Log In
AA-N149A-TC
May 1982
124 pages
Original
31MB
view
download
OCR Version
12MB
view
download
Document:
DECnet Digital Network Architecure (Phase IV) General Description
Order Number:
AA-N149A-TC
Revision:
0
Pages:
124
Original Filename:
OCR Text
// //// ,/// S s ///////// //S////////////////// dliigliltlall Trton [ mnn DECnet SR - DIGITAL Network Archltecture._j_ | ~(Phase IV) | General Descnptlon ‘Order No. AA-N149A-TC May 1982 This document describes the design of the DIGITAL Network Architecture that serves as a model for Phase |V DECnet implementations. It includes descriptions of functions, protocol messages, and operation. To order additional copies of this document, contact your local Digital Equipment Corporation Sales Office. v digital equipment corporation - mognard, massachusetts First Printing, May 1982 'This material may be copied, in whole or in part, provided that the copyrlght notice belowisincluded in each copy along with an acknowledgment that the copy descr1bes the DigitalNetwork Architecture | developed by Digital Equipment Corporatlon , T - This material may be changed without notice by Dlgltal Equ1pment Corporatlon and Dlgltal Equlpment Corporationis not responsibie for any errors which may appear herein. Copyright® 1982 by Digital Equipment Corporation The postage—prepaid READER’S COMMENTS form on the last page of this document requests the user’s critical evaluation to assist us in preparing future documentation. VAX - DECnet DATATRIEVE DECsystem-10 .» DECtape DIBOL EDUSYSTEM \ FLIP CHIP | FLOCAL INDAC . LAB-8 DECSYSTEM-20 RTS-8 VMS IAS TRAX MASSBUS OMNIBUS - 05/8 PHA RSTS RSX TYPESET-8 TYPESET-11 TMS-11 - ITPS-10 | | | SBI PDT - \ DIGITAL ~ | DEC PDP DECUS UNIBUS COMPUTER LABS COMTEX ’ | DDT DECCOMM ASSIST-11 // The following are trademarks of Digital Equipment Corporation: Contents Page Preface Chapter1 | - | - 1.2 1.3 Layers, Modules, and Interfaces User Services = ) 1.5 DataFlow 1.4 - Protocols | - | 1-3 B | - | 2.1.1 DDCMP Messages | | 2.1.2 DDCMP Operation 2.2 Ethernet Functional Description 2.2.1 Ethernet Messages '2.2.2 Ethernet Operation - o | 1-8 - 1-11 - | | | - | | | o - - o 2.3 X.25Functional Description . 2.3.1 X.25Frame Level © 2.3.2 X.25 Packet Level 2-3 2-6 2-10 -2-11 | . 2-1 2-13 S 2-15 2-15 2-16 | The Routing Layer - 3.1 Routing Functional Descriptio‘h 3.2 Routing Messages 3.2.1 Packet Route Header = C 3-1 o | | . o 3.2.2 Routing Control Messages o R 3.3 Routing Operatlon | | o 3.3.1 Routing S | S B - 3.3.2 Congestion Control o - 3.3.3 3.3.4 Chapter 4 1-4 1-8 -~ The Data Link Layer 2.1 DDCMP Functional Description Chapter 3 vii Introduction 1.1 Design Goals Chapter2 S Packet Lifetime Control ~ [Initialization and Circuit Monitor | » 3-5 3-8 3-8 3-8 3-9 39 o | o 3-4 3-4 ~ TheEnd Communication Layer 4 1 NSP Functmnal Descrlptlon 4.2 4.3 NSP Messages NSP Operation 4.3.1 4.3.2 4.3.3 4.3.4 - - o oo S | | - Logical Links o Segmentation and Reassembly of Data Error Control | A ‘ Flow Control - o | | 4-1 4-1 | 43 4-3 | - 4-5 4-5 4-7 i1 Chapter 5 The Session Control Layer 5.1 Chapter 6 Session Control Functional Description 5-1 5.2 Session Control Messages 5-2 5.3 Session Control Operation Requesting a Connection 5.3.2 Receiving a Connect Request 5-3 5.3.3 Sending and Receiving Data 5.3.4 Disconnecting and Aborting a Loglcal Lmk S 5.3.5 Monitoring a Logical Link 54 | 5-4 The Network Applicatidn Layer 6.1 6.2 6.3 6.4 Chapter?7 5.3.1 DAP Functional Description 6.1.1 DAP Messages 6.1.2 DAP Operation 6.1.3 DECnet Remote File Access Fac1ht1es 6-2 6-5 Network Virtual Terminal Functional Description 6.2.1 The Terminal Communication Protocol 6.2.2 The Command Terminal Protocola - 6.2.3 NVT Operation 6-7 6-9 | 6-11 . X.25 Gateway Access Functlonal Descrlptmn 6-13 6.3.1 X.25 Gateway Access Messages 6-13 6.3.2 X.25 Gateway Access Operation 6-14 6.3.3 X.25 Gateway Access Modules 6-16 SN A Gateway Access Functional Deseription 6-18 6.4.1 SNA Gateway Access Protocol Messages 6-18 6.4.2 6.4.3 SNA Gateway Access Operatior} | SNA Gateway Access Modules | 619 6-20 Network Management 7.1 Network Management Functional Description 7.2 Network Management Operation 7.2.1 Components 7.2.2 Remote Loading, Dumpmg, Controlhng, and Link Loopback 71 7-2 7-2 s Testing Functions 7.2.3 7.2.4 Glossary 1v Node Loopback Testmg Parameters, Counters, and Events 7.3 Network Management Messages 7.4 Maintenance Operation Functional Descrlptlon 7-8 7-11 7-13 7.41 MOP Messages 7-13 7.4.2 MOP Operation - 7-14 F_ig’u res 1-1 Basic DNA Structure 1-2 DNA 1-3 DNA Modules Resident in a Typical DECnet Node 1-2 Layers and Interfaces | 1-6 1-4 Protocol Communication between Two Nodes 1-5 Information Building as Data Traverses DNA Layers 1-11 1-6 Data Flow 1-14 2-1 DDCMP Data Message Format 2-3 DDCMP Control Message Formats 2-5 2-3 DDCMP Maintenance Message Format 2-6 2-4 Typical DDCMP Message Exchange, Showing Positive - 2-2 1-10 Acknowledgment, Piggybacking, and Pipelining 2-5 DDCMP Message Exchange, Showing Error Recovery 2-6 Ethernet Data Link Layer Functions 2-1 M,’/ 2-8 2-9 2-11 Ethernet Data Link Frame Format 2-12 Ethernet Frame Format with Padding 2-13 3-1 Routing Terms 3-2 Packet Route Header Formats | 3-3 3-5 3-3 Routing Control Message Formats 3-4 Routing Layer Components and their Functions 4-2 Typical Message Exchange Between Two Implementations of NSP 4-4 4-3 Acknowledgment Operation 4-6 Logical Links 3-7 3-11 | 4-4 Segment Flow Control Shown in One Direction on a Logical Link 4-8 5-1 A Session Control Model 5-2 5-2 Session Control Message Formats 6-1 DAP Message Exchange (Sequential File Retrieval) | 6-4 File Transfer Across a Network 6-6 6-3 Network Virtual Terminal Service 6-8 6-4 NVT Message Exchange 6-12 6-5 X.25 Gateway Access Message Exchange 6-15 X.25 Gateway Access Operation 6-17 SNA Gateway Access Message Exchange 6-20 6-8 SNA Gateway Access Operation 6-21 7-1 Relationship among Network Management Components at a 6-6 Y | Single Node | 7-2 Down-Line Load Request Operation 7-3 Line Loopback Tests 7-4 Examples of Node Level Testing Using a Loopback Node Examples of Node Level Logical Link Loopback Tests 7-4 7-6 7-9 7-10 Tables X.25 Level 2 Frame Types 2-16 2-2 X.25 Level 3 Packet Types 2-18 41 NSP Messages 4-2 6-1 DAP Messages 6-3 Terminal Communication Protocol Messages vl 6-9 6-10 6-3 Command Terminal Protocol Messages 6-4 X.25 Gateway Access Messages 614 SNA Gateway Access Messages 6-19 7-1 NICE Messages 7-12 7-2 Loopback Mirror Messages 7-12 7-3 MOP Messages 7-13 Preface This document is an overview of the DIGITAL Network Architecture (DNA). DNA is a model of structure and function upon which DECnet implementations are based. DECnet is a family of communications software and hardware products that enable DIGITAL operatmg systems and computers to functionin a DECnet network. A DECnet network is a group of DIGITAL computer systems with associated operating systems, DECnet software, and communication hardware that are connected to each other by physical channels or lines. Each computer in a network containing a DECnet implementation is called a node. The network therefore consists of connected nodes and lines. DNA defines standard protocols, interfaces, and functions that enable DECnet network nodes to share data and access each others’ resources, programs, and functions. This document describes Phase IV DNA. Phase IV DECnet implementations will include DECnet-VAX, DECnet-11M, DECnet-11M-PLUS and DECnet-11S, Over time, Phase IV support will be provided for DECsystem-20 and the Professional 3XX Series. The previous version of DECnet, Phase III, is compatible with Phase IV. However, Phase III nodes can provide Phase III functions only. | DNA supports a broad range of applications and a variety of network topologies. (A network topology is a particular configuration of nodes and lines.) User documentation and marketing brochures describe in detail various types of applications and specific programming and network management information. This document summarizes the design and structure of DNA and serves as an introduction to the DNA functional specifications. It is intended for readers with a knowledge of communications technology who desire an understanding of the overall DNA structure. A glossary at the end of the document defines many DNA terms. Additionally, many DNA terms are italicized and explained in the text at their first occurrence. The DNA functional spec1ficat1ons containing the archltectural details of DNA, include the | following: DNA Data Access Protocol (DAP) Functional Speczficatwn Version 5.6.0, Order No. - AA-K177A-TK | DNA Digital Data Communications Message Protocol (DDCMP) Functional Specification, Version 4.1.0, Order No. AA-K175A-TK DNA Session Control Functional Specification, Version 1.0.0, Order No. AA-K182A-TK Functional specifications for the following layers of DNA Phase IV are not currently available, but will be available c01nc1dent with the the avallablhty of DECnet-VAX Phase IV support DNA Routing Functional Specification,. Phase IV DNA Maintenance Operations Functional Specification, Phase IV DNA Network Managemént Functional Specification, Phase IV DNA End Commaunications Functional Specification, Phase IV Vil The following specifications describe functions supported by DNA Phase IV: | The Ethernet, A Local Area Network, Data Link Layer and Physzcal Layer Speczficatton Version 1.0, Order number AA-7 59A TK | CCITT Recommendation X.25, Interface between Data Terminal Equzpment and Data Circuit Terminating Equlpment for Termznals Operating in the Packet Mode on Publtc Data Networks viil | User Network Management Network Application Session Control End Communication Routing Data Link Physical Link Chapter 1 Introduction A network architecture specifies common communication mechanisms and user interfaces that computer systems of different types must adhere to when passing data between systems. A network architecture may also be designéd so that implementations meet other goals, such as cost effectivness and flexibility. A network architecture is necessary for several reasons: Communications technology is changing continually. It is necessary to have a structure for networking that can adjust to these changes as effectively as possible. | | A variety of operating systems, communications devices, and computer hardware exists. A common standard of networking to which each operating system or :\ \\"-_-///’ communication hardware facility can adhere is necessary. A network, to be most useful and cost effective, should provide a broad range of userapplications and functions. This requires very complex software. A network architecture forces such software to have a clean, well-structured design. Network management, error recording, and maintenance are easier when implementations provide standard procedures for error detection, recording, isolation, recovery, and repair. An architecture provides this standardization. - Networks need to be adaptable to different communication situations. A hierarchical, modular architecture enables the substitution of modules of equivalent function to suit the specific needs of a particular network. For example, a data link protocol that ensures data integrity over a leased physical circuit can be replaced by a protocol that allows two systems to communicate over a public data network. A network architecture enables system-independent functions to be designed specifically enough to be implemented in hardware. This can improve system performance. For example, the DEUNA communications device implements the Ethernet data link, the DMR11, DMP11 and DMV11 implement the DDCMP data link, and the KMS11-BD implements the X.25 frame level. Basically, DIGITAL Network Architecture is the specification of a layered hierarchy in Introduction 1-1 which each layer contains modules that perform defined functions. The architecture specifies the functions of these modules and relationships between them. | o Modules in a layer typically use the services of modules in the layer immediately below. Some layers may contain more than one type of module, but in this case the modules fall into a more general category of function. For example, user-written ~ programs all operate in the top layer, or User layer. The bottom layer is the most basic layer. It manages the physical transmission of information over a channel. Each module specified by DNA operates as a black box. That is, the operation within the black box is transparent to other layers and to equivalent modules in other nodes. The architecture does not define specific code for implementing modules. It only defines specific operations that the modules must perform. These definitions may take the form of algorithms written in a higher level programming language. . The architecture specifies two kinds of relationships between modules: ® Interfaces. Interfaces are the relationships between different modules that are usually in the same node. Typically, a module in one layer interfaces with a module in the layer immediately below to receive a service and with a module in the layer immediately above to provide a service. The architecture specifies the functions supplied by these interfaces as calls to subroutines. These specifications are functional: they need not be implemented as subroutine calls. ® - Protocols. Protocols are the relationships between equivalent modules that are usually in different nodes. These protocols consists of messages with specific formats and rules for exchanging the messages. Such protocols are called peer protocols. A state table is often specified to show the transitions occurring in a black box when protocol message exchanges or interface calls from higher layers take place. Figure 1-1 shows the basic architectural structure of DNA. MODULES < PROTOCOLS © INTERFACES \4 ) | MODULES | <«—ROTOOL ¢ INTERFACES | | - MODULES | «—T"210COL ,L INTERFACES MODULES | «——2210%0 Node A > MODULES A - © INTERFACES viopuytes Layer3 ¢ INTERFACES o | MODULES | rayer2 ; INTERFACES | mopuLes Node B | Figure 1-1: Basic DNA Structure 1-2 Introduction Layern Layer The architecture specifies common error reporting, operational parameters, and counters that certain layers must maintain. This standardization ensures that maintenance, error logging, and network management can take place consistently and, to some extent, across systems. For example, an operator could manage an unattended remote system from his local node. He could expect to observe or, in some cases, change values of parameters equivalent in function and name to those at his own node, even if the remote node was running under a different operating system. DNA is an open-ended architecture. Future phases of DNA may model additional layers, additional modules within existing layers, or alternative models for certain layers. 1.1 | Design Goals DNA achieves the following design goals: Create a common user interface. The application interface to the network is common across the varied implementations. The common interface hides the internal characteristics and topology of the network. Support a broad spectrum of applications. DECnet networks can: ® Share resources. ® | Distribute computation. ® Communicate efficiently with remote systems. Resource-sharing activities include remote file access, inter-computer file transfer, distributed data base queries, task-to-task communication, and remote use of peripheral devices. Data moved across the network can be streams of related sequential data and short independent messages. Distributed computation means cooperating programs computers in a network. executing in different Examples are real-time process control (such as a manufacturing system), specialized data base multiprocessor systems (such as orderprocessing or payroll systems), and distributed processing systems (such as a banking, airline reservation, or combined order-processing/inventory control system). Remote communication facilities include remote ‘public data network interfaces, Ethernet interactive terminals, and batch entry/exit stations. Support a wide range of communication facilities. Such facilities include a variety of asynchronous and synchronous, full- and half-duplex communications devices, some with multipoint (multidrop) and/or multiple controller/multiplex capabilities. (Consult the glossary for definitions.) DECnet networks support a ~ variety of communication channels, such as leased lines, satellite links, Ethernet local area networks, X.25-based packet switching networks, and local links. Be cost effective. A DECnet network application costs about the same as a custom- designed network that achieves the same performance for the same application. Support a wide range of topologies. DECnet networks support Introduction many 1-3 These range from point-to-point, star, or bus topologies to hierarchical structures to topologies in which each node has equal control over network operation. Be highly available. ~—_” - configurations of nodes and lines. DECnet networks can be configured to maintain operation even if a subset of lines or nodes fail. Because maintenance functions are highly distributed, DECnet networks can recover from operator error unless the error is extreme. - Be extensible. DNA allows for incorporation of future technology changes in hardware and/or software. Moreover, DNA makes possible the movement of functions from software to hardware. DNA also permits subsets of modules. Be highly dlstrlbuted The major functions of DNA are not centralizedin one node in a network. Implement network control and maintenance functions at a user level. permits easier system management. This For example, termmal commands can set, change or display lower level parameters or counters. ‘Allow for security. The DNA design allows for security at several levels. User access control and the authentication of nodes is implemented in most DECnet products. | 1.2 Layers, Modules, and Interfaces DNA defines the following layers, described in order from the highest to the lowest: User layer. The User layer contains most user-supplied functions. It also contains the Network Control Program, a Network Management module that gives system managers interactive terminal access to lower layers. Chapter 7 describes the function of the Network Control Program, the only DNA-defined User layer module. Network Management layer. Modules in the Network Management layer provide user control of and access to operational parameters and counters in lower layers. Network Management also performs down-line loading, up-line dumping, remote system control, and test functions. In addition, Network Management performs event logging functions. This layer is the only one that has direct access to each lower layer Chapter 7 describes Network Management. Network Application layer. services to the User layer. The Network Application layer provides generic Services include remote file access, remote file transfer, remote interactive terminal access, gateway access to non-DNA systems, and resource managing programs. This layer contains both user- and DIGITAL-supplied modules. Modules execute simultaneously and independently in this layer. The Network Application layer contains functions of both the Application and Presentation layers of the ISO Reference Model. Chapter 6 describes the Network Application layer. Session Control layer. 1-4 Iritroduction N a physical one) on which information flows in two directions. Session Control functions include name to address translation, process addressing, and, in some _ The Session Control layer defines the system-dependent aspects of logical link communication. A logical link is a virtual circuit (as opposed to systems, process activation and access control. The Session Control layer corresponds to the Session layer of the ISO Reference Model. Chapter 5 describes the Session Control layer. End Communication layer (previously called the Network Services layer). The End Communication layeris responsible for the system-independent aspects of creating and managing logical links for network users. End Communication modules perform data flow control, end-to-end error control, and the segmentation and reassembly of user messages. The End Communication layer corresponds to the Transport layer of the ISO Referennce Model. Chapter 4 describes the End Communication layer. Routing layer (previously called the Transport layer). Modules in the Routing layer route user data, called a datagram and contained in a packet, to its destination. Routing modules also provide congestion control and packet lifetime control. The Routing layer corresponds to the Network layer of the [ISO Reference Model. Chapter 3 describes the Routing layer. Data Link layer. Modules in the Data Link layer create a communication path between adjacent nodes. Data Link modules ensure the integrity of data transferred across the path. Data link modules for Ethernet local area networks, X.25 public data networks, and synchronous or asynchronous lines execute simultaneously and independently in this layer. Chapter 2 describes the Data Link layer. Physical Link layer. | Modules in the Physcial Link layer manage the physical transmission of data over a channel. The functions of modules in this layer include monitoring channel signals, clocking on the channel, handling interrupts from the hardware, and informing the Data Link layer when a transmission is completed. Implementations of this layer encompass parts of device drivers for each communication device as well as the communication hardware itself. The hardware includes devices, modems, and lines. In this layer, industry standard electrical signal spec1ficat10ns such as EIA RS-232C, or CCITT V .24, the Ethernet physical layer, or CCITT X.25 level 1 operate rather than peer protocols. Thereis no chapter devoted to this layer since only its Network Management interface, counters, and events are DNA defined. Figure 1-2 shows the relationships among the DNA layers in a single node. The three upper layers each interface directly with Session Control for logical link services. Each layer interfaces with the layer directly below to use its services. The User layer interfaces directly with the Network Application layer as well. In addition, Network Management modules interface directly with each lower layer for access and control purposes. Finally, Network Management interfaces directly w1th the Data Link layer for service functions that do not require logical links. Figure 1-3 shows a typical DECnet node containing multiple modules in some layers. Introduction 1-5 | / \ User Modules ] v Network |Management Modules v v Network Application : v Modules v Session Control Modules v L1 End Communication Modules J v Routing Modules Data Link Physical v v Modules Link v Modules [ , L Interface Key | Clent Network | 1-6 Introduction > Management 2 Figure 1-2: | DNA Layers and Interfaces The Network Control Program, which allows manager/operator to @ A user program communicating with a remote program monitor/control ® A user program accessing remote files network activity \\\\* o \ N -~ ~< - \\\ A User S ~ | NCP Layer Utility | A / 1, ‘\1 } \ User ® l’, User @ Program Program L 3y Network . P Network Management Management Layer Routines AN Network Remote File Access Application Layer Routines Y . Session ¥ v Session Control Control Module Layer v End . NSP Communication Layer Module | A 4 Routing Routing Layer /MOdu'e\ Data DDCMP Link | Module Layer 7\ P.h ysica Line A’s . 'E' nk Controller i 7 Line B’s xa2s5 Line C's Controller | | Controller 7 Communications Facilities | Ethernet Module | Module ~7 Line D’s Controller N X Line E's Controller 1 /] V] Line A(e.g. 2 telephone line) ~ LineB(e.g.a local cable) LineC{e.g.a _ telephone line) | (Ethernet cables) Y /, Figure 1-3: DNA Modules Resident in a Typical DECnet Node Introduction 1-7 1.3 U_ser Services _ As shown in Figures 1-2 and 1-3, there are different ways in which modules use the -~ services of other modules in a system. DNA allows the following services: | ® User-to-user. A user level process in one node communicates via a logical link with a user level process in another node. For example, a FORTRAN call from the user level might, using a direct interface to the Session Control module that communicates with a remote node, send data to a user level process in another node. ® Remote application. A user level process uses a Network Application module which, in turn, uses a logical link to perform a function at a remote node. For example, a user level command causes a Network Application module to transfer a file to a remote node. The Network Application module uses a protocol called - DAP to communicate with the remote Network Application module. ® Network Management. A user level command or process uses a Network Management module to perform a Network Management service at a remote node. Network Management performs some services using a logical link provided by Session Control and other services by interfacing directly to the Data Link layer. An example of a Network Management operation is a command that displays a remote node’s counters at a local terminal. 1.4 Protocols Modules with equivalent functions in the same layer, but in different nodes, communicate using protocols. A protocol is both a set of messages and the rules for exchanging the messages. The architecture defines the message formats and rules very specifically. | Protocols are necessary for every DNA function that requires communication between ~ nodes. For example, DDCMP, which resides in the Data Link layer, assigns numbers to transmitted messages and checks the numbers of received messages. In this way, ~ the protocol ensures that transmitted data is received in the correct order. The DN A-defined protocols, listed accordirig to layer, are: Network Management Layer ® Network Information and Control Exchange (NICE) Protocol. This is used for triggering down-line loading, up-line dumping, testing, reading parameters and counters, setting parameters, and zeroing counters. ® Event Logger Protocol. This is used for recording significant occurrences in lower layers. An event could result from a line coming up, a counter reaching a threshold, a node becoming unreachable, and so on. ® Maintenance Operation Protocol. This protocol performs data link level loopback tests, remote control of unattended systems, and down-line loading/up- 1-8 Introduction line dumping of computer systems without mass storage. Network Application Layer '~ ® The Data Access Protocol (DAP). This is used for remote file access and transfer. ® - The Network Virtual Terminal Protocols. This family of protocols is used for terminal access through the network. ® X.25 Gateway Access Protocol. This protocol allows a node which is not connected directly to a public data network to access the facilities of that network through an intermediary gateway node. ® SNA Gateway Access Protocol. This protocol allows a node which is not connected directly to an IBM SNA network access to the facilities of the SNA network for terminal access and remote job entry. ® The Loopback Mirror Protocol. This is used for Network Mana‘gement logical link loopback tests. Session Control Layer ® Session Control Protocol. This is used for functions such as sending and receiving logical link data, and disconnecting and aborting logical links. End Communication Layer ° Network Services Protocol (NSP). This handles all the system-independent aspects of managing logical links. “Routing Layer ® Routing Protocol. This handles routing and congestion control. Data Link Layer ® Digital Data Communications Message Protocol (DDCMP). This ensures integrity and correct sequencing of messages between adjacent nodes. - ® X.25 Protocol. This implements the X.25 packet level (level 3) and X.25 frame level (level 2) of the CCITT X.25 recommendation for pubhc data network 1nterfaces ® Ethernet Protocol This implements the Ethernet data link protocol for communication between adjacent nodes connected by an Ethernet local area network. | Figure 1-4 shows protocol communication between two nodes. Some implementations may use the Network Services Protocol (NSP) that creates and manages logical links for network communication within a single node, as well as for inter-node communication. For example, Network Management modules may use a logical link ~ even when performing local functions. Introduction 1-9 - NODE § MODULES NODE 2 MODULES PROTOCOLS User Layer User Program USER-DEFINEDPROTOCOL A User Program Network Management Layer Module Network Application Layer Management - Module . File Access A Network File Access Routines (NFARsS) . Network NETWORK INFORMATION AND CONTROL EXCHANGE PROTOCOL (NICE) DATA ACCESS PROTOCOL (DAP) MEEND WRER WA AN SN SN WD BN GOUS WEEN Y Management A Network Listener (FAL) e Y SESSION CONTROL PROTOCOL Session Control Module Y Module NSP Module Y Session Control A Session Control Layer Routing Module NSP Module A End Communication Layer NETWORK SERVICES PROTOCOL (NSP) Routing Layer ROUTING PROTOCOL A Routing Module Data Link Layer DIGITAL DATA DDCMP Module DDCMP Module COMMUNICATIONS MESSAGE PROTOCOL (DDCMP) Device ELECTRICAL SIGNALS Controller Y Physical Link Layer Dewvice Controller J Communication lines l | forming physical connection Figure 1-4: Protocol Communication between Two Nodes 1-10 Introduction 1.5 _Da_ta Flow ' The primary purpose of a network is to pass data from a source in one node to a destination in another. Because DNA is layered, it is important to understand how data flows through these layers and between nodes. Data traveling from one node in a network to another passes from a source process in the user layer down through each layer of the DNA hierarchy of the source node before being transmitted across a line. If the destination node is not adjacent, the data must then travel up to the Routing layer of the adjacent node, where it is routed (or switched), sent back down through the two lower layers, and transmitted across the next line in the path. The data keeps travelling in this manner until it reaches its destination node. At this node, the data passes up the hierarchy of layers to the destination process. Figure 1-5 shows how information is built as data passes through the DNA layers at one node. In this example, Network Management is not involved. User Considered as data by layer Layer | Network Application Control Information ~ Network Application Layer Session Control Control Information Session Control Layer - End |} Control. Information | Layer Routing Roufing Control Information Layer Link Layer End Comm. Communication Data User Data Data . Link Control Information Link Control information v Complete Envelope Transmitted from One Node to an Adjacent Node Figure 1-5: Information Building as Data Traverses DNA Layers Introduction 1-11 In the following scenario a user attempts to form a logical link with another user. The requesting user passes initial connection data to the destination user. The numbered steps correspond with numbers on Figure 1-6 which follows this explanation. Data Flow at the Source Node @ ~ The source user requests a connectmn to the destmatlon user and passes connect data. @ The Session Control module receiVes the data, maps the destination node name to a numerical address, if necessary, and places the data in the next transmit buffer, adding control information to the message The message then passes to ‘the End Communication layer. The End Communication module adds its control. information (including a logical link identification) and passes the message (now called a datagram) to the Routing layer. The Routing module adds a header consisting of the destination and source node addresses and selects an outgoing circuit for themessage based on routing information. Routing then passes the message (now called a packet) to the Data Link layer, specifying the outgoing circuit address and, if necessary, the station address of the receiving node on the circuit. @ The Data Link module adds its protocol header consisting of framing, synchronizing, addressing and control information, and its protocol trailer consisting of a cyclic redundancy check (CRC). The packetis now enveloped for transmlssmn @ - - The Physical Link module transmits the enveloped message over the physwal line. Data Flow Across the Network to the Destination Node @ The enveloped data message arrives at the next node. The Physical Link module - receives the message and passes it to the Data Link layer. | . The Data Link module checks the packet for bit errors in transmission. On links with a significant probability of transmission errors, the Data Link protocol performs error correction. retransmission. DDCMP and X.25 provide error correction by On links with a low probability of transmission error, for example Ethernet links, packets received in error are discarded, with error recovery provided by higher layers. The Data Link header and trailer are removed from a correctly received packet whichis then passed up to the Routing layer. - The Routing layer checks the destination addressin the header. If the addressis not this node, Routing selects the next outgoing circuit from its routing table, and passes the message back to the Data Link layer. The Routing layer has routed the message on to the next line in its path. The message proceeds as in steps 5 and 6 above. 1-12 Introduction - The message proceeds through the network, switching at routing nodes, until it arrives at the Routing layer with the same address as the destination addressin the message Data Flow at the Destination Node @ The packet passes to the Routmg layer of the destination node as descrlbedin 7 and 8 above. The destination Routing module removes the Routmg header, and passes the datagram to End Communication. @ The End Communication layer module examines the End Communication layer header on the datagram. If it has the resources to form a new logical link, it ‘passes the connect data, without the End Communication layer control information, to Session Control. @ The Session Control module performs any necessary access control functions and passes the message to the appropriate process in the user layer after removing Session Control header information. The destlnatlon process interprets the data according to whatever higher level protocolis bemg used. Figure 1-6 illustrates the data flow just described. Introduction 1-13 - 1-14 Introduction sokeq13pedH19pedH~.JET]-ETW 3@ s13peaHpueelep!s0i13wpbeoscH€pueeje:p||Ai 1uje9o5l8fneNeqI|UNW[0eONloUeD0q))|BJ@eu1yn9epeoayyuij'13he|dpouvvii‘|vvad|0e4lUeq0us)l1e3.,hyeyp0y1ualy0)‘}1b33fupe[OnUodp.-Zo“u19"A2e|93S)24n\Fb0Re13ru4eR9(pnp-ooy1uuyi|‘£'13Ae|9BPOUj‘oZesl¥ueq0)|Bius@pnueiaeoHyye|p@yui|‘13he|vvd|i|ipvvoaau"€j0eIj3Ue0qD) :9-19angdiyereqMol 1p1B99uh73nee17oy@|19%ded |viva JuUdsW1O9y>pe9pdPOU[|Jbvuuidivsnawoousayked;PsOaUZradasa:x9yoed193e|d|S v.iva_| e J Y p [ 1 U P u e 0 a O I 4 A J r } e i 3 p o 1 I l U O u w 0 q a j W | ) O e d . I <S01_5mSPU13OAI5PoObBW©IWO:AJUHJI User Network Management Network Application Session Control End Communication Routing Physical Link ..... Chapter 2 The Data Link Layer The Data Link layer, residing immediately above the Physical Link layer, is responsible for creating a communications path between adjacent nodes. The Data Link layer frames messages for transmisssion on the channel connecting the nodes, - checks the integrity of received messages, manages the use of channel resources, and, when required, ensures the integrity and proper sequence of transmitted data. Currently there are three protocols residing in the DNA Data Link layer: e Digital Data Communications Message Protocol (DDCMP). DDCMP operates over synchronous or asynchronous communications links. It provides correct sequencing of data and error control to ensure data integrity. Section 2.1 describes DDCMP. ¢ Ethernet Data Link. The Ethernet Data Link operates over a coaxial cable based local area network. It provides a best-effort delivery service and includes link management procedures and error detection capability. Section 2.2 describes the Ethernet Data Link. @ X.25 Levels 2 and 3. Levels 2 and 3 operate over level 1 of the CCITT recommendation X.25. This recommendation defines a standard interface between data terminal equ1pment (DTESs) such as DECnet nodes, and a packet ~ switched data network. X.25 based data networks provide a virtual circuit service between pairs of DTEs. Section 2.3 describes X.25 levels 2 and 3. 2.1 DDCMP Functional Description - DDCMP is a byte-oriented protocol. There are three ge'neral types of data link \\‘\-_—«//‘ protocols: byte-oriented, character-oriented, and bit-oriented. @A byte-oriented protocol provides a count of the number of bytes that will be sent in the data portion of each data message sent. In contrast, a character-oriented protocol uses special ASCII characters to indicate the beginning of a message and the end of a block of text, while a bit-oriented protocol uses flags to frame data, sent in undefined lengths. DDCMP was designed in 1974 specifically for DNA. DDCMP is functionally similar The Data Link Layer 2-1 to HDLC (High-level Data Link Control — the data link protocol adopted in 1975 by the International Standards Orgainization), although HDLC is a bit-oriented protocol. Another type of data link protocol, binary synchronous (BISYNC), i character-oriented. DDCMP is a general-purpose protocol: it operates on a variety of communication systems from the very small to the very large. DDCMP makes maximum use-of channel bandwidth and handles transparent data efficiently. (Data transparency is the capability of receiving, without misinterpretation, data containing bit patterns that resemble protocol control characters. Character-oriented protocols cannot handle transparent data as efficiently as byte- or bit-oriented protocols.) Other major goals of the DDCMP design include error recording, to warn of impending channel failure on degraded lines, and the provision of a simplified mode for bootstrapping and testing functions. - DDCMP transmits data grouped into physical blocks known as data messages. DDCMP provides a mechanism for exchanging error-free messages. A general description of how this mechanism works follows: | DDCMP assigns a number to each data message beginning with number one (after each initialization) and incremented by one (modulo 256) for each subsequent data message. DDCMP places a 16-bit cyclic redundancy check (CRC 16) error detection polynomial at the end of each data message transmitted. The receiving DDCMP module checks for errors and, if there are none, returns the message number with a positive acknowledgment of message receipt. The receiving DDCMP need not acknowledge each message sent; acknowledgement of data message n implies acknowledgment of all data messages sent up to and including data message n. » If an error is detected by the receiving DDCMP, it uses time-outs and control messages to resynchronize and trigger retransmission. The principal DDCMP features are as follows: ® Obtains data from the Physical Link layerin blocks con51st1ng of 8-bit bytes. ® Sequences data by message numbers. ® Pipelines up to 2565 messages. That is, it sends messages without waiting for acknowledgment of each successive message. ® Operates independently of channel bit width (serial or parallel) and transmission characteristics (asynchronous or synchronous). Operates witha wide variety of communication hardware and modems. Detects errors by means of CRC-16 message trailers. Retransmits to correct errors. Achieves optimum performance with techniques such as pipelining, piggybacking (that is, sending an acknowledgment within a returned data message), and implying a positive acknowledgment acknowledgment of current message. 2-2 of previous messages ‘@ Operates in both half-duplex and full-duplex modes. ® Supports point-to-point and multipoint communications. ® Synchronizes transmission and reception on byte and message level. The Data Link Layer by negative Frames (envelops) data mesSages. Provides a maintenance mode for diagnostic testing and bootstrapping functiOns. Provides data transparency. | Notifies the other end of the link when restarting or initializing. Maintains error counters. Records the occurrence of events for automatic error reporting to the user. '2.1.1 DDCMP Messages There are three types of DDCMP messages: - ® Data (Section 2.1.1.1) o Control (Section 2.1.1.2) '@ Maintenance (Section 2.1.1.3) Data messages send user data over a physical link. Control messages return acknowledgments and other control information. Maintenance messages consist of the basic DDCMP envelope but contain information for down-line loading, up-line dumping, link testing, or controlling a remote, adjacent system. 2.1.1.1 Data Messages DDCMP formats all messages received from the Routing layer to be sent across the physical link into a data message format (Figure 2-1). The data message format ensures proper handling and error checking of both the header information and the data being sent. In the message format figuresin this chapter, the numbers below each message field indicate its lengthin bits. Data Message Format o - | SOH |COUNT|FLAGS | RESP |NUM |ADDR [BLKCK1 | DATA BLKCK2 8 14 2 8 8 8 16 8 SOH COUNT = = the numbered data message 1dent1fier the byte count field FLAGS RESP NUM ADDR = = = = the link flags the response number the transmit number the station address field BLKCK1 = the block check on the numbered message header BLKCK2 = the block check on the data field DATA = 16 the n-byte data field, where 0<n=COUNT < ol4 Figure 2-1: DDCMP Data Message Format The Data Link Layer 2-3 S e 2.1.1.2 Control Messages DDCMP has five control messages, Wh1oh' cai‘ry link control information, transmission status, and initialization notification between DDCMP modules A brief descr1pt1on of each message follows. Acknowledge Message (ACK). This message acknowledges the receip‘t of correctly numbered data messages that have passed the CRC-16 check. The ACK message is used when acknowledgments are required and when no numbered data messages are to be sent in the reverse direction. The ACK message conveys the same 1nformat1on | as the RESP fieldin numbered data messages. Negative Acknowledge Message (NAK). The NAK message passes error information from the DDCMP data-receiving module to the DDCMP data-sending module. The NAKTYPE field indicates the cause of the error. The NAK message serves two purposes: ® It acknowledges receipt of all previously transmitted messages with a number ~ less than the current message number received (modulo 256). ‘@ It notifies the sender of error conditions related to the current message. | Reply to Message Number (REP). The REP message requests received message - status from the data receiver. following conditions: | The data sender sends a REP message under the @ The data sender has sent a data message, and ® The data sender has not received an acknowledgment of that data message, and ® The time allocated for an acknowledament has explred Start Message (STRT). The STRT message establishes initial contact and synchronization on a DDCMP link. The DDCMP module sends this message during link start-up or re1n1t1a11zatlon Start Acknowledge Message (STACK). The STACK message is the response to a STRT message. It tells the receiving DDCMP that the transmitting node has completed initialization. — B F1gure 2-2 shows the formats of the DDCMP Control messages 2-4 The Data Link Layer Acknowledge Message (ACK) Format ENQ | ACKTYPE | ACKSUB| FLAGS | RESP 8 8 6 2 FILL bl 7 8 ADDR | BLKCK3 8 8 16 Negative Acknowledge Message (NAK) Format ENQ | NAKTYPE, REASON| FLAGS | RESP FILL| ADDR | BLKCK3 Reply to Message Number (REP) Format ENQ | REPTYPE, | REPSUB | FLAGS | FILL| NUM | ADDR BLKCK3 ‘Start Message (STRT) Format ENQ | STRTTYPE |STRTSUB | FLAGS | FILL| FILL | ADDR | BLKCKS3 Start Acknowledge Message (STACK) Format ENQ | STCKTYPE STCKSU% NAKTYPE REPTYPE STRTTYPE STCKTYPE AN Mvrign”” ~; REASON REPSUB STRTSUB STCKSUB FLAGS RESP FIIi[é FIL[,‘,,D ADDR BLKCK3 the control message identifier the ACK message type with a value of 1 ENQ ACKTYPE ACKSUB FLAGS | the NAK message type with a value of 2 the REP message type with a value of 3 the STRT message type with a value of 6 the STACK message type with a value of 7 the ACK subtype with a value of 0 the NAK error reason the REP subtype with a value of 0 the STRT subtype with a value of 0 the STACK subtype with a value of 0 the link flags the response number used to acknowledge received messages that checked out to be correct a fill byte with a value of 0 the tributary address field FILL ADDR BLKCK3 - the control message block check Figure 2-2: DDCMP Control Message Formats 2.1.1.3 Maintenance Messages The Maintenance Message, used in DDCMP maintenance mode, has the format shown in Figure 2-3. This message is a DDCMP envelope for data controlling down- line loading, up-line dumping, link testing, and controlling an unattended computer system. The DNA protocol for performing these functions is the Maintenance Operation Protocol (MOP). MOP messages are sent within the DDCMP Maintenance Message. See Chapter 7 for a description of MOP. | The Data Link Layer | 2-5 /,. 3 Maintenance Message Format | DLE |COUNT | FLAGS |FILL | FILL |ADDR | BLKCK1|DATA 8 14 2 8 8 8 16 8n DLE = the maintenance message 1dent1fier COUNT FLAGS = = the byte count field the link flags FILL = a fill byte with a value of 0 ADDR BLKCK1 = = the tributary address field the header block check on fields DLE through ADDR - DATA BLKCK2 |BLKCK2 16 | = the n-byte data field, where 0 <n=COUNT < gld = the block check on the DATA field " Figure 2-3: DDCMP Maintenance Message Format 212 DDCMP Operation The DDCMP module has three functlonal components: ® Frammg ® Link management o Message exchange Framing. The framing component locates the beginning and end of a message Framing involves locating a certain received from a transmitting DDCMP module. bit, byte, or message, and then recewmg at the same rate as subsequent bits, bytes, or messages. The modems and interfaces at the Physical Link level synchronize bits. The DDCMP window in framing component synchronizes bytes by locating a certain 8-bit the bit stream. On asynchronous transmission techniques to synchronize bytes. searches for a SYN character. parallel links. links DDCMP uses start-stop On synchronous links DDCMP Byte synchronization is inherent in 8-bit multiple DDCMP synchronizes messages by searching for one of the three special starting bytes (SOH, ENQ, or DLE) after ach1ev1ng byte synchronization. To maintain message synchronization, DDCMP: ® Counts out fixed length headers. ® When required, counts out variable length data based on the count field of the header. Link management. The link management component controls transmission and reception on links connected to two or more transmitters and/or receivers in a given direction. Link Management controls the direction of data flow on half-duplex links ‘and the selection of tributary stations on multipoint links, using link flags. In addition, link management uses selective addressing to control the recelpt of data on multipoint links. 2-6 The Data Link Layer ! ’ e \v( N . Message exchlange‘. The message exchange component'tran_sfers the data correctly and in sequence over the link. Message exchange operates at the message level (after framing is accomplished), exchanging data and control messages. 2.1.3.1 Typical Message Exchange DDCMP is a positive-acknowledgment-with-retransmission protocol. This means that for each data message correctly received and passed to the next level DDCMP returns a positive acknowledgment. Such acknowledgment is either an Acknowledge Message (ACK) or a piggy-backed acknowledgment in the response (RESP) field of a data message If DDCMP receives a message out of sequence or with an error detected by the CRC, DDCMP does not pass the data to the client. Typically, DDCMP does not acknowledge this message. Eventually a time-out occurs, and the data-sending DDCMP retransmits the message. Alternatively, DDCMP may send a NAK to the datasending DDCMP module. The transmission of DDCMP Data messages works as follows: 1. The transmitter increments the message number (modulo 256), putting it, n, in the data message. The message is transmitted within the required framing envelope. A timer is started. 2. The receiver frames and receives the message, checks the received CRC value againsta computed CRC value, and compares the message number with that expected. If the message checks out, the receiver returns a positive acknowledgment (ACK) with that number, passes the message to the client, and increments the next expected number to n + 1 (modulo 256). If the message does not check out, the receiver ignores the message (or sends a NAK). 3. The transmitter then follows one of three procedures: ® If the transmitter receives a positive acknowledgment, it checks the number received to see if it is for an outstanding message. If so, the transmitting DDCMP notifies the client of successful transmission of that message as well as of any previous, lower-numbered outstanding messages. If all outstanding messages have been acknowledged, the timer is stopped. If one or more messages remain outstanding, the timer is restarted. ® If the transmitter receives nbthing, the timer expires. The transmitter sends a REP message to initiate error recovery. ® If the transmitter receives a negative acknowledgment, it retransmits the message and all higher-numbered messages. The transmitter may send several data messages before requiring acknowledgment of the first one. Acknowledgment of the highest numbered message implies acknowledgment of lower-numbered messages. A negative acknowledgment implies a positive acknowledgment of any previously transmitted lower-numbered messages. Figure 2-4 shows a message exchange involving positive acknowledgment and pipelining. Figure 2-5 shows error recovery from a NAK. | The Data Link Layer 2-7 NODE A B NODE Messages Client A requests transmit of first data @ DATA (message number n) message @ | Ack received Client A requests @ ‘Message received and given to client B; client B now expects next data message to ACK {of message number n) ben+1 transmit of second data message Message received and Message received transmit of its message. Acknowledgement of client A client B requests and client A requests transmit. Acknowledgment of client message B is piggybacked in RESP field of data message. DATA (message number m) is piggymessage backed in RESP field of data message. DATA (message number n +2) @ Message received. Client A requests transmit \-b DATA (message number n + 3) Message received. Thése 3 data messages are pipelined. Client A requests | transmit /@ Message received DATA (message number m + 1) @ ACK (of message number n + 1) @ Message received; client B requests transmit. Messages n+2,n+3andn+4 are all acknowledged with the acknowledgment of n + 4 in RESP field of client B data message. ACK received Figure 2-4: Typical DDCMP Message Exchange, Showing Positive \ Ve Acknowledgment, Piggybacking, and Pipelining 2-8 The Data Link Layér ~ NODEA ~Client A requests - transmit 3 o @ 'NODE B Messages _ o . DATA (message number n) B NAK received Retran.smlt | Message received in error - NAK (of message number n) | DATA (message number n) ~ | - | @' - o Message received Figure 2-5: DDCMP.Me'ssage Ex’change, Showing Error Rec'ovei'y a 2.1.3.2 Maintenance Mode Maintenance mode uses the DDCMP framing and link management components, but not the message exchange component. Sequencing or acknowledgment, if required, must be handled within the data fields of the maintenance messages and is part of the higher level protocol. | - | The'Data Link Layer | .29 2.2 Ethernet Functional Description The Ethernet local area network provides a communication facility for high speed data exchange among computers and other digital devices located within a moderatesize geographic area. It includes a Physical layer and a Data Link layer. The primary characteristics of the Physical layer are a data rate of 10 million bits per second, a maximum station ‘separation of 2.5 kilometers, a maximum of 1024 stations, a " shielded coaxial cable medium using base-band signalling, and support of a branching, non-rooted tree topology. The primary characteristics of the Data Link layer are a link control procedure using a fully distributed peer protocol with ~ statistical contention resolution and a message protocol Wthh supports variable size frames and offers best-effort service. The Ethernet is a local area network developed jointly by Digital Equipment Corporation, Intel Corporation, and Xerox Corporation. The Ethernet specification arose from an extensive collaborative effort of the three corporations and several years of work at Xerox on a prototype Ethernet. The Ethernet specification provides a 'detalled spec1ficat10n of the two lowest layers of a network archltecture DNA Phase The Ethernet Data Link layer defines a medium-independent link level communication facility, built on the medium-dependent physical channel provided by - the Ethernet Physical layer. It is applicable to a general class of local area broadcast media suitable for use with the channel access discipline known as Carrier-Sense Multiple-Access with Collision-Detection (CSMA/CD). The Ethernet Data Link layer provides the following functions: - ® Data Encapsulation ¢ - o e ¢ Framing (frame boundary delimitation) Addressing (handling of source and destination addresses) Error detection (detection of physical channel transmission errors) Link Management | e Channel allocation (collision avoidance) e Contention resolution (collision handling) The split is reflected in the division of the Data Link layer into the Data Encapsulation sub-layér and the Link Management sub-layer, as shown in Figure 2-6, 2-10 The Data Link Layer . IV mcorporates the Ethernet into the PhysmalLink and Data Link layers and “includes support of the Ethernetin the Routmg and Network Management layers. Client Layer I Client-to-Data Linklnterface —f Transmit - Data Encapsulation | Transmit - | Link Management | ~ Receive Data Decapsulation Receive Link Management ' *- Data Link-to-Physical Interface | [ Physical Layer Flgure 2-6: Ethernet Data L1nk Layer Functions The Ethernet Data Link prov1des a best-effort dehvery service. It does not provide an error control facility to recover from transmission errors. In DNA the error control functions necessary for reliable communications are provided by the End Communication layer, using the Network Services Protocol (NSP). Additional error control at the data link level is not required for Ethernet local networks, due to the inherently low error rate of the Ethernet physical channel. | 2.2.1 Ethernet Messages The Ethernet Data Link has one type of message, called a frame. The data encapsulatmn function of the Data Link layer comprises the construction and processing of frames. The sub-functions of framing, addressmg, and error detection are reflectedin the frame format as follows: ® Framing. No explicit frammg informationis needed since the necessary frammg cues are presentin the interface to the Physical layer. ® Addressing. Two address fields are provided to identify the source and | | destlnatlon stations for the frame. e Error Detection. A Frame Check Sequence (FCS) fieldis prov1ded for detection | of transm1ss1on errors. Figure 2-7 below illustrates the Ethernet Frame format. In the figure the numbers below each field indicate its lengthin bits. The Data Link Layer 2-11 / NI / DESTINATION|SOURCE | TYPE 48 48 . TM\ Ethemet Data Link Frame Format |DATA | FCS 16 8n 32 = the destination data link address A data link address is DESTINATION one of three types: A ‘o Physical Address: The umque address assoc1ated w1th a particular station on the Ethernet. The 48 bit field permits a station to have a unique address over all a Ethernets. In DNA Phase IV, each network node has 16 bit node address. The 48 bit Ethernet data link address of a DNA Phase IV node is derived by prefixing the 16 bit address with a 32 bit prefix assigned to DNA Phase IV nodes. Thus, DNA Phase IV addresses are unique over a single DNA network, which may include multiple Ethernets, DDCMP links, and X.25 links. e Multicast Address: A multi-destination address associated by higher level convention with a group of logically related stations on an Ethernet. DNA assigns multicast addresses to the group of all Ethernet End ‘nodes and to the group of all Ethernet Routers (see L Section 3.2.1). : A distinguished, predefined e Broadcast Address: address which denotes the set of all stations on an Ethernet. = the source data link address. This field always contains the physical address of the station transmitting a frame on the SOURCE o o TYPE = Ethernet. | = the type field. The type fieldiss reserved for use by higher level protocols to identify the higher level protocol ‘associated with the frame, permitting multiple higher-level protocols to coexist in the same Ethernet. Ethernet type field values are assigned to the DNA Phase IV Routing protocol and to the DNA Maintenance Operation protocols. = the data field. The Ethernet data field contains higher level DATA e FCS =~ protocol data andis 8n bits long, where 46 =n=1500. Full transparency is provided, in the sense that any arbitrary sequence of 8 bit bytes may appear in the data field. The minimum length of the data field ensures that all frames occupy the channel long enough for rehable collision detection. . = the frame check sequence This field contains the CRC-32 - polynomial check on the rest of the frame. - Figure 2-7: Ethernet Data Link Frame Format DNA defines a standard convention for padding higher level protocols to the “minimum Ethernet data field size. Higher level protocol data is preceded by a 16 bit byte count and followed by any required pad bytes. When this convention is in effect, Ethernet frames have the following format, and the COUNT DATA and PAD fields have the meaning describedin Figure 2 8: 2-12 -The Data Link Layer o Ethernet Frame Format with Padding DESTINATION |[SOURCE | TYPE |COUNT | DATA | PAD | FCS 48 48 16 8n 8m 32 = the 16 bit count of DATA bytes, where COUNT=n COUNT DATA PAD 16 = the data field. The Ethernet data field contains higher level protocol data and is 8n bits long, where 0=n=1498. Full transparency is provided, in the sense that any arbitrary - sequence of 8 bit bytes may appear in the data field. - = zero or more bytes of zeros, where m = max(0,44-n). | - Figure 2-8: Ethernet Frame Format with Padding 2.2.2 Ethernet Operation This section prov1des an overview of the operation of the Ethernet Data Link layer when transmitting or receiving frames. In this overview, the higher level user of the Ethernetis referred to as the client layer. In DNA Phase IV Routing and Network Management are clients of the Ethernet. | 2.2.2.1 Transmission without Contention ~ When the Client layer requests the transmission of a frame, the Transmit Data Encapsulation -component of the Data Link layer constructs the frame from the clientsupplied data, in the format specified by the client (with or without padding). The Data Link layer appends a frame check sequence to provide for error detection and hands the frame to the Transmit Link Management component for transmission. Transmit L1nk,Management attempts to avoid contention with other traffic on the Ethernet channel by monitoring the carrier sense signal provided by the Physical Link layer, and deferring to passing traffic. When the channel is clear, frame | ~ transmission is initiated. The Data Link layer provides a serial stream of bits to the Physical layer for transmission. The Physical layer transmits the frame, monitoring the medium and generating the collision detect signal which, in the contention-free case under dlscussmn remains off for the duration of the frame’s transmission. When the frame has completed without contention, the Data Link layer so informs the - Client layer and awaits the next request for frame transmission. 2.2.2.2 Reception without Contention At the receiving station, the arrival of a frame is first detected by the Physical Link - layer. As the encoded bits arrive from the medium they are decoded and passed to the Data Link layer. The Data Link Layer 2-13 Meanwhile, the Receive Link Management component of the Data Link layer, having seen carrier sense go on, has been waiting for the incoming bits to be delivered. Receive Link Management collects bits from the Physical layer as long as the carrier sense signal remains on. When the carrier sense signal goes off, the frame is passed to Receive Data Decapsulation for processing. Receive Data Decapsulation checks the frame’s destination address field to decide - whether the frame should be received by the station. If so, the type fieldis checked to ascertain which client module should process the incoming frame (for example Routing or N etwork Management) If the client module specified that paddingis in use for this protocol type, the frameis decapsulated appropriately. The contents of the frame are then passed to the client with an appropriate status code. The status code is generated by inspecting the frame check sequence to detect any damage to the frame enroute and by checking for proper byte boundary alignment of the end of the frame. 2.2.2.3 Collisions: Handling of Contention If multiple stations attempt to transmit at the same time, their transmitting data link controllers may interfere with each others’ transmissions in spite of their attempts to - avoid this by deferring. When two stations’ transmissions overlap, the resulting - contention is called a collision. A station can experience a collision only during the " initial part of its transmission (the collision window), before its transmitted signal has had time to propagate to all parts of the Ethernet channel. Once the collision window has passed, the station is said to have acquired the channel; subsequent collisions are avoided, since all other stations can be assumed to have noticed the signal, via carrier sense, and to be deferring to it. In the event of a colhsmn the Physical Link layer first n0t1ces the 1nterference on the ~ channel and turns on the collision detect signal. This is noticed in turn by the - Transmit Link Management component of the Data Link layer, and collision handling beglns First, Transmit Link ‘Management enforces the collision by transmitting a bit sequence called a jam. This ensures that the duration of the collisionis sufficient to be noticed by the other transmitting station(s) involvedin the ,coll1s1on After the jam is sent, Transmit Link Management terminates the transmission and schedules a retransmission attempt for a randomly selected time in the near future ‘Retransmission is attempted repeatedly in the face of repeated collisions. Since repeated collisions indicate a busy channel, Transmit Link Management attempts to adjust to the channel load by Voluntarfly delaying its own retransmissions to reduce its load on the channel (backing off). Thisis accomplished by expanding the interval from which the random retransmission time is selected on each retransmission attempt. Eventually, either the transmission succeeds, or the attempt is abandoned on the assumption that the channel has failed or has become overloaded. At the receiving end, the bits resulting from a collision are received and decoded by the Physical layer just as are the bits of a valid frame. The Data Link’s Receive Link Management component recognizes collision fragments ‘which are always shorter than the shortest valid frame, and discards them. 2-14 The Data Link Layer 2.3 X.25 Functional Description CCITT Recommendation X.25 defines a standard interface between an intelligent system (Data Terminal Equipment or DTE) and an intelligent system that is an ~ access point to a public data network (Data Communications Equipment or DCE) -operating in the packet mode. Public data networks offering the X.25 interface are ‘availablein many countries and represent an economical alternatlve to leased 11nes - and dial-up lines for many applications. | CCITT Recommendation X.25 is structured into three levels: ‘@ Level 1, the Physical level, defines‘t»he mechanical, electrieal, functional, and procedural characteristics of the physical link between the DTE and the DCE. In DNA, Level 1 resides in the Physical Link layer. ® Level 2, the Frame level, defines the link access procedure for data exchange over the hnk between the DTE and the DCE. In DNA Level 2 re51desin the Data Link layer. ® Level 3, the Packet level, defines the packet format and control procedures for the exchange of packets containing control information and client data between the DTE and the DCE. In DNA, Level 3 residesin the Data Link layer. There‘ are two independent uses for X.25 in a Digital system or a DECnet network: (1) as a Data Link module that allows two DECnet systems to communicate, and (2) as a gateway to non-Digital systems accessible via a public data network. A single X.25 link can support multiple virtual circuits.. DNA Routing may use several virtual circuits for communicating with DECnet nodes (see Section 3.3.4) while DNA X.25 Gateway Acess may use other virtual circuits for communicating with non-Digital systems (see Section 6.3). - 2.3.1 X.25Frame Level The X.25 specification defines two alternative link access procedures (LAP and - LAPB) for Frame level communication between a DTE and a DCE. DNA supports the LAPB procedure. This procedure defines the control of full duplex communication over a synchronous line between a DTE and a DCE. functions: ' ® LAPB performs the following Provides an error free link by detecting transmlssmn errors and recovering from such errors ® Provides synchromzatlon to ensure that the Frame level entltles in the DTE and DCE are in step ° | Detects procedural errOrs and reportsithem to the user of the _link. The Data Link Layer 2-15 2.3.1.1 X.25 Frame Level Messages Frame level modules in the DTE and DCE communicate by sending and receiving ~ frames to provide link control, data exchange flow control, and error control. There are three types of frames Information Frames (I Frames) Informatlon frames are used to transmit packet level information and are also used to acknowledge prev1ous correctly received Information frames. Supervisory Frames (S Frames). Superv1sory frames are used to perform channel control functions such as acknowledging correctly received Information frames, requestlng retransmission of Informat1on frames and 1nd1cat1ng temporary inability : , 3 to receive Information frames Unnumbered Frames (U Frames) Unnumbered frames are used to provide | ad.d1t10na1 hnk control functions such as connectlng and d1sconnect1ng the link. Frames are divided into commands and responses. Table 2- 1 summarizes the frame types. Table 2-:1:- X;25"Levvel 2 Frame’[‘ypes G B S o (I) Information Transfer - | Responses ] ~_~_Commands_ Format S | | ' A , ' Receive Ready (RR) Receive NOT Ready (RNR) . | Reject(REJ) ‘Receive Ready (RR) Receive NOT Ready (RNR) 'Reject (REJ) U Connect Link (SABM) Disconnect (DISC) o | Unnumbered Acknowledgment (UA) . ~_ Disconnected Mode (DM) - Frame Reject (FRMR) 2.3.2 X.25 Packet Level | The X.25 Packet level prov1des for multlple v1rtual connectlons between a DTE and other DTEs connected to the public data network. A virtual connection between two DTEsis called a virtualcircuit. Data transfer on a virtual circuit has the followmg properties: e e 2-16 | Itis full duplex. Packets may be transmittedin both directions simultaneously. Itis sequential. Packets are delivered by the network to the remote DTE in the same order as transmitted. The Data Link Layer ® It is reliable. Packets are delivei‘ed without corruption of the Data field and are not duplicated by the network. Packets may be lost, but loss will be reported by - the network to the transmitting DTE (normally by resettmg or clearmg the circuit). A ’logical channel is an association between a DTE and its DCE for a given virtual circuit. A logical channelis identified by a logical channel number. For each virtual circuit a logical channel is assigned at both DTE/DCE interfaces. This number is allocated independently at both DTE/DCE interfaces. Each DTE 1dent1fies a virtual circuit by its local loglcal channel number. Two types of virtual circuits are supported: Switched Virtual Circuits (SVC). A switched virtual circuit is a temporary association between two DTEs. In DNA, switched virtual circuits connecting DECnet nodes are established and destroyed using Network Management functions. Switched virtual circuits connecting DECnet nodes to non-D1g1ta1 systems are established by - users of X.25 Gateway Access. Permanent Virtual Clrcults (PVC) A permanent virtual circuit is a virtual circuit between two DTEs that is always established. A logical channel is permanently allocated at each DTE/DCE interface to a permanent virtual circuit. 2.3.2.1 X.25 Packet Level Messages The DTEs attached to a virtual circuit access the circuit by exCha.ngirig X.25 level 3 - packets with their local DCEs, using X.25 level 2 procedures. Table 2-2 summarizes - . o - the X.25 level 3 packet types and their functions. The Data Link Layef | 2-17 ‘Table 2-2: X.25 Level 3 Packet Types Packet Type DTE toDCE | Assigns a logical channel to the DCE and establishes a Call Request wo Description ) Dlrectlon ; T | Incoming Call virtual circuit to the DTE addressed in the packet. DCE to DTE | Indicates that a remote DTE wishes to establish a virtual R - g circuit with the receiving DTE and assigns a logical channel. Call Accepted | DTE toDCE | Indlcates that the DTE accepts the estabhshment of the Call Connected DCE to DTE | Indicates ‘| - virtual circuit. that: the remote DTE has accepted the establishment of the virtual circuit. Clear Request ‘ S DTE to DCE | Indicates that the DTE wishes to deassign the logical channel and destroy the virtual circuit. .| DCE Clear Co_nfirmatipn | DCE toDTE | Informs the DTE that the logical channel is deassigned. DCE to DTE | Indicates tfiat the remote DTE destroyed the virtual circuit. Clear Indication DTE Clear Confirmation ‘ o | DTE to DCE | Informs the DCE that the virtual circuit has been destroyed Co and deassigns the logical channel. | DTE Data DTE to DCE | Carries user data from the DTE over the logical channel. DCE Data 'DCE toDTE | Carries data from the remote DTE over the logical channel DCE RR DCE to DTE | Updates the DTE transmit flow control information. DCE RNR DCE to DTE'| Indicates a temporary inability of the DCE to accept data DTE RR o DTE to DCE | Updates the DCE flow control information, authonzmg the ' - transmission of additional DCE Data packets. ' DTE Interrupt DTE toDCE | Carries user interrupt data over the logical channel. packets. This condition is cleared by a DCE RR packet. DCE Interrupt Confirmation | DCE to DTE | Acknowledges receipt of a DTE Interrupt packet. DCE to DTE | Carries Interrupt data from the remote DTE. DCE Interrupt DTE Interrupt Confirmation | DTE to DCE | Acknowledges receipt ofa DCE Interrupt packet. Reset Request DTE toDCE | Requests that the logical channel and virtual circuit be set to DCE Reset Confirmation DCE toDTE | Acknowledges that the logical channel has been reset. Reset Indication DCE to DTE | Indicates that the logical channel hasbeen reset. DTE Reset Confirmation DTE to DCE DTE Restart Request DTE toDCE | Requests that all logical channels for SVCs be deassigned an initial state. | | Acknowledges the resetting of the logical channel. andthatall PVCs be reset. DCE Restart Confirmation | DCEtoDTE | Acknowledgesthe Restart Request Restart Indication DCE toDTE | Indicates that all logical channels for SVCs should be DTE Restart Confirmation DTE to DCE | Acknowledges a Restart Indication Diagnostic DCE to DTE deassigned and all logical channels for PVCs should be reset. M Indicates to the DTE an error on one of its logical channels. 2-18 The Data Link Layer 2.3.2.2 X.25 Packet Level Operation In response to a user request, the Packet level initiates the establishment of a virtual circuit to the specified DTE. The Packet level assigns a logical channel number and transmits a Call Request packet, specifying the logical channel number and the address of the remote DTE. - The remote DCE to which the DTE addressed in the Call Request packet is connected assigns a logical channel number and transmits an Incoming Call packet over the logical channel. The called DTE accepts the call by transmitting a Call Accepted packet over the logical channel. In DNA, fields in the Incoming Call packet (such as the Calling DTE Address, Called DTE Subaddress, and the Data field) determine “which DNA Module handles an incoming call. (The called DTE can reject an incoming call by transmitting a Clear Request packet.) Once the virtual circuit has been established, data packets can be transferred. Each data packet is sequentialy numbered (modulo 8). A Send Sequence Number is carried in each data packet and specifies the position of the packet in the sequential stream. A Receive Sequence Number is used to authorize the transmission of additional packets (by acknowledging received packets) and is carried in Data Packets, Receive Ready packets, and Receive Not Ready packets. | Flow Control Flow control takes place separately for each direction of transfer on a logical channel, making use of the packet sequence numbers. Flow control is based on the concept of a window. - A window is a range of packets authorized to be transmitted across the DTE/DCE interface. The window size is selected independently for each direction of transfer on a logical channel. The range of packets in the window changes as packets - are received and acknowledged by the destination DTE packet level. Flow control can also utilize Receive Ready and Receive Not Ready packets. In DNA, this method of flow control is employed when transmitting data to a DCE. Receive Not Ready packets are never used when receiving data from a DCE. | Logical Messages A DTE can construct a logical message from a number of consecutive packets, by using the More Data bit in the Data packets. The More Data bit is set in each packet except the last in a sequence of packets which compose a logical message. Data packets also contain another control bit, the @ bit, which allows a transmitting DTE to define two categories of data. | Interrupt Data Each direction of transmission on a virtual circuit may have an outstanding Interrupt. This interrupt flow allows a user to transmit one byte of information not subject to the rules of flow control which apply to normal data packets. Interrupt data is transmitted via an Interrupt packet. Interrupt datais acknowledged by an Interrupt Confirmation packet. The Data Link Layer 2-19 " Reset Procedure A Reset procedure may be used to initialize a virtual circuit. Either DTE or the public data network can initiate a reset. All data and interrupt packets in transit at the time of a reset are discarded by the network. When the network wishes to indicate that the virtual circuit is being reset, it transmits a Reset Indication packet containing a reason for resetting. When a DTE wishes to reset a logical channel it transmits a | Reset Request packet. A reset of one logical channel for a virtual circuit will cause a reset of the corresponding remote logical channel. A DCE confirms a Reset Request packet by transmitting a DCE Reset Confirmation packet. A DTE confirms a Reset Indlcatmn packet by transmlttmg a Reset Confirmation packet. ; »Clearing Procedure Either DTE associated with a switched virtual circuit can destroy the circuit by Clearing. The DTE transmits a Clear Request packet. The DCE returns a DCE Clear Confirmation packet which deassigns the logical channel. The Clear Request is reported to the remote DTE in a Clear Indication packet. The remote DTE replies with a DTE Clear Confirmatmn packet. The loglcal channel at the remote DTE is | then deass1gned Restart Proc‘edUre | The Restart procedure allows all switched virtual circuits associated with a DTE to be Cleared and all permanent virtual circuits to be reset after a catastrophic failure. A DTEissues a Restart Indication packet each time the DTE level 2 module connects to the DCE. A DCE can transmlt a Restart Indlcatlon packet to force a DTE to clear all | 1ts v1rtual circuits. ‘ Permanent Virtual Circuits (PVCs) Permanent virtual circuits operate in the same manner as switched virtual circuits except that no call setup is required. Legical channel numbers are permanently ~ assigned to PVCs. After a Restart, all PVCs are usable for data transfer. In DNA, Network Managment defines the circuit name and parameters of each PVC known to the packet level. 2-20 The Data Link Layer User Network Management Network Application Session Control Data Link Physical Link Chapter 3 The Routing Layer The Routing layer provides a message delivery service. The Routing layer accepts ‘messages (called packets within the context of Routing) from the End Communication layer in a source node, and forwards the packets, possibly through intermediate nodes, to a destination node. Routing implements a Datagram Service. A Datagram service delivers packets on a best-effort basis. That is, the Routing layer makes no absolute guarantees against packets being lost, duplicated, or delivered out of order. Rather, a higher layer of DNA provides such guarantees (see Chapter 4, The End Communication Layer). The Rbuting layer selects routes based on network topology and operator-assigned circuit costs and adapts to changes in the network topology. For example, Routing can find an alternate path if a circuit or node fails. Routing does not adapt to traffic loading. The amount of traffic on a circuit does not affect the path selected by Routmg s g pogn . for forwarding packets. 3.1 Routing Functional Description - The Routing layer provides the following functions: ¢ Determines packet paths A pathis the sequence of circuits and nodes) between ~ a source node and a destination node. If more than one path exists for a packet, Routing determines the best path. e Forwards packets. If a packetis addressed to the local node, Routmg delivers it to the End Communication layer. If a packet is addressed to a remote node, Routing forwards it on the next adjacency in the path. e Adapts to topology changes. If a c1rcu1t or node falls on a path, Routmg finds an alternate path, if one exists. e Adapts to different kinds of circuits. Routing supports paths consisting of multiple types of Data Link circuits, including point-to-pomt and multi-point lines, Ethernets, and X.25 virtual circuits. ) Perlodlcally updates other Routing Modules. Routing modules in other nodes are periodically updated to be aware of any topology changes (such as c1rcu1ts down or up). The Routing Layer 3-1 ® Returns packets addressed to unreachable nodes. Routing returns packets addressed to unreachable nodes to the End Communication layer, if requested to do so by the End Communication layer. - ® Manages buffers. Routing manages the buffers at nodes that are capable of routing packets from a remote source to a remote destination. ® | Limits the number of nodes that a packet can visit. Routing prevents old packets from cluttering up the network. - ® Performs node verification. Routing will exchange verification passwords with an adjacent node if so requested by Network Management. ® Monitors errors detected by the Data Link layer. ® Maintains counters and gathers event data for network purposes. management | Routing allows for a functional subset, permitting two types of Phase IV Routing implementations: 1. Routing. Sometimes called full routing, this implementation type contains the full complement of Routing components. A Phase IV routing node can: ® Send packets from itself to any other Phase Iv node.» ‘Receive packets from any other Phase IV node. ® Route packets from other nodes through to other nodes. This is referred to as route-through or packet switching. 2. Nonrouting. This implementation type contains a subset of the Routing components-' A'nonrouting node can: o Send packets from itself to any other Phase IV node. ® Recelve packets addressed to itself from any other Phase IV node. Nonrouting nodes can be placed only as end nodes in a network. An end node may be connected to a network by only one active circuit. An end node does not require the packet sw1tch1ng components Such a node, therefore, has less routing overhead. Phase IV nodes are compatlble with Phase IIT nodes. Phase IV nodes differ from Phase III nodesin the following ways: ® , : Phase IV nodes canbe attached to an Ethernet. L Phase IV nodes can handle larger networks than Phase I nodes. A Phase III node cannot communicate with, nor be on the path to, nodes with addresses out of the range that the Phase III node can handle. e Phase IV packet formats differ from Phase III in minor ways. Phase IV nodes translate packet formats into Phase III format when communicating with a Phase III node. | The logical distance from one node to another in a network is a hop. The complete distance that a packet travels from source to destination is the path length. Path length is measured in hops. The maximum number of hops the routing algorithm will 3-2 The Routing Layer forward packets is called maximum vzszts This number is limited to 63 by the Routlng architecture. | Routing allows the network manager to assign a cost to each circuit connected to a - node. Cost is an arbitary integer (within the size limits of the cost field). Cost is used in the routing algorithm that determines the best path for a packet. The Routing layer routes packets on the path of least cost, even if this is not the path with the fewest hops. The DNA Routing Functional Specification does not dictate how to assign circuit costs, but it does suggest a cost assignment algorithm based on circuit bandwidth. Both cost and maximum hops are values the system manager at each node assigns using Network Management software (Chapter 7). Figure 3-1 illustrates some of the Routing terms. The glossary contains precise definitions of these and other Routing terms (including network diameter, maximum path length, maximum visits, maximum path cost, and maximum cost). Legend: @ G- | . E ' = node = circuit | = circuit cost - e Node A w‘ants‘to send a packet to Node D. The‘re are three possible paths PATH PATHCOST AtoB,BtoC,CtoD ®+®+@:7* AtoB,BtoD AtoB,BtoF,FtoE,EtoD | PATHLENGTH | 3 hops @+®=9 2 hops @+®+@+@=13 4 hops *7 is the lowest path cost; Node A therefore routes the packet to Node D via this path. Figure 3-1: Routing Terms The Rofiting Layer 3-3 / \\. Routing does not automatlcally adJust to traffic flow since packets always travel on the path havmg the lowest cost. The Routmg layer routes packets to nodes by usmg numerical addresses. Because users often prefer to refer to nodes by name rather than by address, network node names must be mapped to unique network node addresses. A nodeiis known to other " nodes by one (optlonal) name and one address, both of which are unique in the network. However 1mp1ementatlons can optionally provide local users with the capability of assigning additional node names that map to network-known names and/or addresss. This process occurs at the Session Control layer (Chapter 5). 3.2 Routing Messages There are two types of Routing messages: data packets and control messages. Data packets carry data to and from the End Communication layer. Routing adds a packet route header to messages sent by the End Communication layer. Control messages exchange information between Routing modules in adjacent nodes to initialize the Routing layer, maintain routing data, and monitor the states of adjacencies. expansion. 4 Flgure 3-2 shows the Data packet routing header formats. The numbers under fields in this and the following Routing message formats indicate the lengths of the fieldsin bits. 3-4 The Routing Layer \\ There are two formats for data packet routing headers, depending on whether the adjacent nodeis on an Ethernet or some other type of circuit. The Ethernet Endnode Data Packet formatis used when communicating directly with an Ethernet end node (a non-routing node directly connected to an Ethernet). The other format, the Phase IV Data Packet format, is used in all other cases. The Ethernet Endnode Data Packet Format has expanded addressing and reserved fields unusedin Phase IV, for later . | 3;.2.1 Packet Route Header Phase IV Data Packet Routing Header Format RTFLG | DSTNODE |SRCNODE [FORWARD 8 16 16 8 Ethernet Endnode Data Packet Routing Header Format RTFLG | DSTNODE 64 64 '8 |SRCNODE | RES | FORWARD | RES 8 8 16 the set of flags used by the routing nodes, including: o Return to sender flag (indicates whether or not the RTFLG packetis being returned) e Return to sender request flag (mdlcates whether to - DSTNODE SRCNODE FORWARD RES - = = = = discard or try to return packet) | o Intra-Ethernet Packet (indicates to the Ethernet Endnode receiving this packet that the source of the packet is on the same Ethernet, and can be communicated with directly). the destination node address the source node address | the number of nodes this packet can visit a reserved field Figure 3-2: Packet Route Header Formats - 3.2.2 Routing Control Messages There are six types of Routing Control messages. One type, the Routing Message is used on all types of circuits. Two types of Routing Control messagesare used only on - Ethernets: the Ethernet Router Hello Message, and the Ethernet Endnode Hello Message. The final three types of Routing Control messages, the Hello and Test Message, the Initialization Message, and the Verification Message are used only on non-Ethernet circuits. The following paragraphs discuss each of these messages. Routing message. The Routing | message provides information necessary for updating the routing data base of an adjacent node. The information contained in the Routing message is the path cost and path length for a set of destinations. " Ethernet Router Hello message. The Ethernet Router Hello message is used for initialization and periodic monitoring of Routers on an Ethernet circuit. Each Ethernet router periodically broadcasts an Ethernet Router Hello message to all other nodes (both Routers and Endnodes) on the same Ethernet circuit using a multicast operation. The message contains a list of all Routers on the Ethernet circuit from which the sending Router has recently received Ethernet Router Hello messages. By exchanging Ethernet Router Hello messages, all Routers remain informed of the status of the other Routers on the Ethernet circuit. The message also provides input to an algorithm which selects a single Router on the Ethernet circuit to be the Designated Router for that Ethernet. The designated Router assists two end nodesin d1scover1ng that both are on the same Ethernet, by forwarding a packet from one to The Routing Layer 35 the other as an Intra-Ethernet packet. Subsequent communications between the end nodes can be d1rect Ethernet Endnode Hello message. The Ethernet Endnode Hello message is used for initialization and periodic monitoring of Endnodes on an Ethernet circuit. Each Ethernet Endnode periodically broadcasts an Ethernet Endnode Hello rnessage to all Routers on the Ethernet circuit using a multicast operation. The message is used by Ethernet Routers to malntam the status (up or down) of Endnodes on the Ethernet. Hello and Test message. The Hello and Test message tests an adjacency to ‘determine if it is still operational (that both the circuit and the adjacent node are up). Routing sends this message periodically on non-Ethernet circuits in the absence of other traffic. Upon receipt of this or any other valid message, Routing starts (or restarts) a timer. If the timer expires before another message is received from that node, Routing considers the adjacency down. Initialization message. Routing sends this message when initializing a non- Ethernet circuit. The message contains information about the node type, required verification, maximum Data Link 1ayer receive block size, and Routing version. Verification message. This message is used for verification purposes on nonEthernet circuits if the Initialization message indicates it is requlred Figure 3-3 summarizes the Routing control message formats. 3-6 - The Routing Layer Routing Message Format CTLFLG | SRCNODE | RTGINFO |CHECKSUM 16 16 16n 16 Ethernet Router Hello Message Format CTLFLG 8 VERS ID INFO LIST Y 48 64 56m Ethernet Endnode Hello Message Format CTLFLG VERS ID INFO 8 24 48 168 Hello and Test Message Format CTLFLG | SRCNODE 16 TEST DATA 16 8-128 Initialization Message Format CTLFLG | SRCNODE | INITFO 16 16 56 Verification Message Format SRCNODE | FCNVAL CTLFLG 8-64 16 16 ‘Routing control flag, with the following types : CTLFLG e Initialization message Verification message Hello and Test message Routing message Ethernet Router Hello message Ethernet Endnode Hello message RTGINFO Identification of source node’s Routing Module Path length and path cost to a set of n destinations - CHECKSUM VERS - One’s complement add check on routing information Routing module version number - SRCNODE -~ ID Identification of node sending message INFO Node type (Router or Endnode), maximum Data Link layer receive block size, hello timer list of known Routers on the Ethernet circuit (Each of the LIST m entries consists of a 7 bit priority field for selecting the Designated Router, 1 bit to indicate two-way connectivity, and the 48 bit identification of a Router). - TEST DATA - INITFO FCNVAL ’ “sequence of up to 128 bytes of data to test the circuit ‘node type, required Verification message, maximum Data Link layer receive block size, Routing version. | type-dependent verification information; function value. Figure 3-3: Routing Control Message Formats The Routing Layer 3.3 Routing Operation The Routing layer consists of the following two sublayers with associated functional components: | - Routing Control Sublayer ® Routing (Section 3.3.1) ® Congestion control (Section 3.3.2) ] Packet lifetime control (Section 3.3.3) Routing Initialization Sublayer ® Initialization (Section 3.3.4) -3.3.1 Routing | This component contains four processes described bélow:: ® Decision ® Update ® Forwarding ) Recelve Decision. The decision process selects routes to each destination in the network. It consists of a connectivity algorithm that maintains path lengths, and a traffic assignment algorithm that maintains path costs. When a routing node receives a Routing message, the routing node executes the connectivity and traffic assignment algorithms. This execution results in updates to the data bases used to determine packet routes. Update. The update process constructs and propagates Routing messages (see Section 3.2.2). The update process sends Routing messages to adjacent nodes as required by the decision process and periodically to ensure the integrity of the routing data bases. | - Forwarding. The forwarding process supplies and manages the buffers necessary to support packet route-through to all destinations. It performs a table look-up to select the output circuit for the packet. If a destination is unreachable, this process either returns the packet to the sender or discards it, depending on the option flagged in the packet route header. Receive. The receive process inspects a packet’s route header, dispatching the packet to an appropriate Routing control component or to the End Communication layer. 3.3.2 Congestion Control : Congestion control consists of a single process, transmit management. This process manages buffers by limiting the maximum number of packets on a queue for a circuit. If a queue for a particular circuit reaches a predetermined threshold, additional 3-8 The Routing Layer packets for that queue are discarded to prevent congestion. Transmit management also regulates the ratio of packets received directly from End Communication to route -through packets. This regulatlon prevents locally generated packets from degrading route- through service. 3.3.3 Packet Lifetime Control Packet lifetime control prevents excessive packet looplng by dlscardlng packets that have visited too many nodes 3.3.4 Initialization and Circuit Monitor Routing initialization is a start-up procednre and periodic procedure for adjacent nodes which ascertains neighbor node identities, and adapts to the characteristics of the circuit which provides communication to that neighbor (such as Data Link block size). Initialization and monitoring operation are dependent on the type of circuit and the type of adjacent node (a circuit and the node at the other end of the circuit are collectively called an adjacency). The following paragraphs discuss these operations for the types of circuits supported by the Phase IV Rout1ng Layer 3.3.4.1 Ethernet Circuits On an Ethernet circuit, initialiiation and monitoring are perforrned by the Ethernet Endnode Hello message and the Ethernet Router Hello message. The initialization and monltorlng funct1ons of these messages are descrlbedin Section 3.2.2. 3.3.4.2 DDCMP Clrcmts On DDCMP circuits (both point-to-point and multi-point), Initialization and Nt monitoring are performed by the Initialization message, the Verification message, and the Hello and Test message. In addition to the functions describedin Section 3.2.2 for these messages, the Initialization message adapts the Routing layer’s operation to the block size of the physical line as managed by the Data Link Layer. 3.3.4.3 X.25 Circuits. On X.25 virtual circuits (both Permanent and Switched) the Initialization and Verification messages are used as for DDCMP circuits, except that the Data Link block size is taken from the X.25 Data packet size selected when the virtual circuit is initialized. X.25 circuits are initialized when the Routing layer is so commanded by Network Management. The Routing Initialization sub-layer contains a database, maintained by Network Management, which consists of a mapping between Routing layer circuits and X.25 Packet level Permanent Virtual Circuit identifiers in the case of Permanent Virtual Circuits, and between Routing layer circuits and virtual call parameters in the case of Switched Virtual Circuits. The database contains items such as DTE ‘subaddress range, maximum packet size, number of times to reattempt failed calls, ete. When placing a virtual call, the Routing Initialization sub-layer provides the necessary parameters to the X.25 Packet level component of the Data Link layer, which places the call to the remote Routing layer at the supplied foreign DTE address. The Routing Layer 3-9 If the call is accepted (see below) Routing In1t1a11zatlon proceeds with olrcult' 1n1t1a11zat1on as descrlbed for DDCMP. The Routing Initialization layer listens forincoming virtual calls on circuits managed by the X.25 Packet level component of the Data Link layer. When informed of an incoming call by the X.25 Packet level, Routing Initialization executes an algorithm to determine whether to accept the call, reject the call, or leave the call pending in case some other module of DNA (such as the X.25 Gateway Server module - see Section 6.3.2) wishes to process the call. The algorithm uses the mapping database described above and makes its decision based on comparing the foreign DTE subaddress in the Incoming Call packet to the DTE subaddress range in its database. If the decision is to accept the call, 1n1t1a11zatlon proceeds as descrlbed in the preceding paragraphs. - Once an X.25 circuit is established, the Routing Initialization sub-layer performs | some additional functions not performed for Ethernet or DDCMP circuits, in order to maximize the performance and 1ntegr1ty of X.25 circuits. These functlons are as ~ follows: ® Blocks and deblocks Routing layer messages. Since communication over X.25 circuits is in the form of (usually small) packets, Routing Initialization will block and deblock DNA Datagrams into X.25 Packetsin order to minimize the number of packets transmitted over the virtual circuit. ® Fragments and Reassembles Routing layer messages. If the X.25 virtual circuit packet size is too small to contain an entire Routing layer message, Routing Initialization will fragment and reassemble Routing layer messages so that they will fit in the available X.25 packet size. ® Checksums X.25 packets. ‘ The Routing Initialization sub-layer appends a checksum to every Data packet transmitted to insure the integrity of data transmitted over the virtual circuit. As with other types. of circuits, the Routing Initialization sub-layer monitors X.25 circuits for non-recoverable errors. These include X.25 Resets, Restarts, and Clears. If any of these events happen, Routing Initialization declares the circuit down, S0 informs the Routing Control sublayer, and attempts to re-initialize the circuit. Figure 3-4 summarizes the operation of the Routing layer. 3-10 The Routing Layer receive interface | transmit interface to End Communication to End Communication .| End Communication Layer Decision Process ® ® maintains . Contains: let-—, maintains m Routing Layer Database ® selects paths . Contains: _ r @ reachability vector ® " output circuit to be Database Routi D:tlagaalses outing -« -9 formation Database (hop, cost, flags, etc.) used v ¥ Routing In- Forwarding gs. a2 ete. Forwarding Process e supplies and manages buffers ® rejects packets from End Communication if queue is too Receive Process Update Process reads Forwarding Database ® receives packéts ® passes them to ® generatesand propagates routing full ® and decides on which circuit to send packet ® takescare of packets for e dropsincoming messages appropriate process -€ ® unreachable nodes queue is already Y Y for route-through packets if the discards packets that have visited too many nodes (Loop Detection) full Control sublayer Initialization sublayer§ DDCMP Initialization ® sends andreceives Initialization, Verification, and Hello and Test messages Ethernet Initialization X.25 Initialization ® sends andreceives Ethernet Router and Endnode H_ello messages »o selects Designated Router Data Link Layer Y DDCMP Module ® initializes PVCs ® e issues outgoing and | Ethernet Module Database accepts incoming calls Contains: blocks, deblocks, ® fragments, and reassembles packets Y m Circuit mapping % Y X.25 Level 3 Module and their Functions Figure 3-4: Routing Layer Components The Routing Layer 3-11 AN \"'«.—-‘/ User Network Management Network Application Session Control Routing Data Link Physical Link Chapter4 The End Communication Layer The End Communication layer, residing immediately above the Routing layer, provides a system-independent process-to-process communication service that allows two processes to exchange data reliably and sequentially, regardless of their locations in a network. The Network Services Protocol (NSP) is the protocol of the End Communication layer. Communication is on a connection basis. A connection between two processes is called a logical link. A logical link permits two-way simultaneous transmission of normal data messages and independent two-way simultaneous transmission of interrupt messages. 4.1 NSP Functional Description NSP perfo’rm's the following functions: o Creates‘and destroys logical links. ® Guarantees the delivery of data and control messages in sequence to a specified | destination by means of an error control mechanism. @ and normal data from transmit buffers to Manages the movement of interrupt @ Breaks up normal data messages into segments that can be transmitted receive buffers, using flow control mechanisms. - individually, and reassembles these segments in proper sequence upon reception. 4.2 NSP Messages NSP modules provide logical link service, flow control, error control, and other functions by sending and receiving NSP messages. There are three types of NSP messages: ® Data ° Acknowledgment e (Control - o | Table 4-1 summarizes the functions performed by each NSP message. The End Communication Layer 4-1 Table 4-1: NSP Messages Type Data DeScription | Message Data Segment Carries a portion of a Session Control message. (This has been passed to Session Control from higher DNA layers and Session Control has added its own control information, if any.) Data ( also called Carries urgent data, originating from Interrupt QOther Data) higher DNA layers. [t also may contain an optional Data Segment acknowledgment. Carries data flow control information and Data Request optionally a Data Segment acknowledgment (also called Link Service message). Interrupt Requést | Carries interrupt flow control information and optionally a Data Segment acknowledgment (Link Service message). Acknowledgment Data Aéknowledgment Acknowledges receipt of either a Connect Confirm message or one or more Data messages, and optionally ‘an Segment Other Data message. Othef Data Acknowledgment ) Acknowledges receipt of one or more Interrupt, Data Request or Interrupt Request messages, and optionally a Data Segment message. Connect | A‘ckno'wledges receipt of a Connect - Initiate message. Control Connect Initiate and Retransmitted Carries a logical link connect request from a Session Control module. Connect Initiate Connect Confirm - Carries logical link connect acceptance from a Session Control Module. Distonnec_t Initiate Carries a logical link connect rejection or disconnect request from a Session Control module. No Resources Sent when a Connect Initiate message is received and there are no resources to establish a new logical link (also called Disconnect Confirm message). Disconnect Complete Acknowledges the receipt of a Disconnect Initiate message (also called Disconnect Confirm message).= No Link | Sent when a message is received for a nonexistent logical link - Disconnect Confirm message). No Operation 4-2 The End Communication Layer | Does nothing. (also called 4. 3 NSP Operatlon - NSP operatlon consists of four functions: | ® Creation, maintenance, and destruction of loglcal llnks (Section 4.3.1) ® Segmentation and reassembly of data (Section 4.3.2) ®. Error control (Section 4.3.3) ° Flow control (Section 4.3.4) 4.3.1 Logical Links The primary functions of NSP are to create, operate, and destroy logical links at the request of the Session Control layer. A logical link may be thought of as a full-duplex logical channel between two users. The users are guaranteed that, in the absence of a network failure disconnecting them, data sent on a logical link by one user will be ‘received by the other user in the order sent. An equivalent term for logical link thatis often usedis virtual circuit. A logical link enables a user process at one end of the link to send data to a user process at the other end of the link. The NSP mechanisms that set up a link, check data for errors, and manage data flow are transparent to the user processes. | | There can be s-everal"iogiéai' links at ahy time, even between the same two NSP implementations. Any Phase III or [V node can establish a logical link with any other s Phase III or IV node in the same network. Figure 4-1 illustrates typical connections. | L Physical Link “\M /. Figure 4-1: Logical Links The End Communication Layer 4-3 NSP establishes, maintains, and destroys logical links by exchanging control messages with other NSP modules or with itself. Figure 4-2 shows a typical message exchange. In this figure, an NSP module first initiates a connection, then sends data, and finally, disconnects the link, based on commands from Session Control. The | messages that control data flow are not shown. NODE A ~ NODE B UseratNode A requests connection. @ CONNECT INITIATE J—-——> ® User at Node B accepts connection. - | @ | | | - | | , User at Node A requests that a message (thatis two segments long) be transmltted NSP at Node A sends the first data segm ent. T o | |— ® NSP at Node B acknowledges receipt of the first data segment. ® User at Node A sends the second data segment. \\ DATA /. A [ ® - " _4—.——[CONNECT CONFIRM ] — NSP at Node B acknowledges recenpt of the second data segment and gives the message to the user at Node B @ User at Node A'r'eque‘sts a disconnection and NSP at Node' A sends a Disconnect Initiate message. DISCONNECT |N|T|ATEJ—-—> NSP at Node B receives Disconnect Initiate message sends a Dlsconnect Conflrm Message and mforms the user at Node B. *———f DISCONNECT CONFIRM ] . Figure 4-2: Typical Message Exchange Between Two Implementations of NSP 4-4 The End Communication Layer /‘ g N NSP operates concurrentlyin both directions on a logical link (full-duplex). The user process at either end of the l1nk can initiatea disconnection at any time. You can think of a logical lmk as made up of two separate data subchannels, each carrymg messages in both d1rectlons Normal data subchannel. between two NSP modules. This subchannel carries Data Segment messages ~ | | - Other Data Subchannel. This subchannel carries: ® Interrupt messages . ® Data Request messages ® Interrupt Request messages 4 3 2 Segmentatmn and Reassembly of Data The Routing layer limits the amount of user data that NSP can sendin one datagram Taking normal data from Session Control buffers, NSP breaks it up, if necessary, into segments. Each segment is numbered and sent along with its number and other control informationin a Data Segment message to the receiving NSP module. The receiving NSP module uses the sequence numbers to reassemble the data segmentsin correct sequence in the receiving Session Control buffers. NSP segments normal data only: interrupts are not segmented because interrupt datais limited in s1ze and w1ll always fitina smgle datagram 4.3.3 Error Control - , The NSPs at each end of a loglcal link pos1t1vely acknowledge received data. Optionally, an NSP may negatively acknowledge received normal data that it must “discard (for example, if the datais received too far out of order). If the transmitting NSP receives a negative acknowledgment or fails to receive a pos1t1ve acknowledgment durmg a t1meout interval, it retransmits the data. ' Figure 4-3 descr1bes data segmentatlon and acknowledgment. 'The End Communication Layer 4-5 ® The data-transmittlng NSP assigns a transmut num ber to the message, and starts a tlmer transmlt number= n """ Data-transmitting | Data Segment Message o NSP | | , AR T ’ b ————— Data-receiving - NSP | transmit number = m Other DataMessage | ~ : }~----—>» Data Subchannels ® ® If the timer times out, the message is retransmitted. If the timer does not time out, and the flow control mechanism allows another message to be sent, the data- transmitting NSP assigns the transmit number plus one to the next data message transmittedin that subchannel. transmitnumber = n + 1 T Data-transmitting - Data Segment Message o | | I B ) ~ . transmitnumber = m + 1 | ————— - Other Data Message -——= Data-receiving Data Subchannels @ When the message wnth the flrst transmlt numberis recelved by the datarecelvmg NSP, it returns that number as an acknowledgment number within the first acknowledgment. ® If the next data message transmit number received is equal to the current acknowledgment number plus one, the data-receiving NSP accepts the data message, incrementing the acknowledgment number. It then sends the new receive acknowledgment number back to the data-transmlttlng NSP within an acknowledgment message. - | Data-transmitting NSP <€ I —————-——--=--17 — receive ack.number = n 1 | receive ack. number =n+1 2 Data Acknowledgment ] Message” TTTTTTTTTTT Tt e Data Acknowledgment | Message " | | - o | Data-receiving . NSP receive ack. number = m ¢ - — - - -~ —-—4 Other Data Acknowledgm ent ----------- Message Data Subchannels *The data-receiving NSP might not send an acknowledgment for each data message received. The receive acknowledgment number implies that all previous numbers were received. ® However, if the data-receiving NSP receives a data message transmit number less than or equal to the current receive acknowledgment number for that subchannel, the data segment is discarded. The data-receiving NSP sends an acknowledgment back to the data-transmnttmg NSP. The acknowledgment contains the receive acknowledgment number. @ If the data-receiving NSP receives a data message transmit number greater than the current receive acknowledgment number plus one for that subchannel, the data segment may be held until the preceding segments are received or it may be discarded. Figure 4-3: Acknowledgment Operation 4-6 The End Communication Layer 4.3.4 Flow Control NSP’s flow control mechanisms ensure that data is not lost for lack of buffering capability and that deadlocks do not occur. Both normal and interrupt data are flowcontrolled. o | The data-receiving part of NSP controls data flow. When a logical link is formed, each NSP informs the other of the way it wants to control the flow of normal data as a data receiver. The receiving NSP chooses one of three types of normal data flow control: ® C S B o | None. _'Seg'm’ent." The receiver sends a request count of the number of segments it can accept. See Figure 4-4. - ® Message. The receiver sends a request count of the number of Session Control messages it can accept. Note, message flow control is obsolescent and will be | eliminated at a future time. These schemes define the use of a request count thatiis set by the receiver and used by the transmitter to determine when data may be sent. In addition, the receiver can always tell the transmitter either to stop sending data unconditionally or to start sending data under the normal request count conditions. The receiver also controls interrupt data flow with an interrupt request count. The Data Request Message, Interrupt Message, Interrupt Request Message, and the Other-Data-Ack Message may contain an acknowledgment for a Data-Segment Message. In addition, the Data-Segment Message and Data-Acknowledgment Message may contain an acknowledgment for an Other-Data Message. This ability, to combine acknowledgments with data and control messages, reduces the number of NSP messages required per user message. - Figure 4-4 illustrates NSP Flow control operation: The End Communication Layer 4-7 NSP/Node A Data-Transmitting | 4 NSP/Node B Data-Receiving . NSP/Node A sends a Connect lnitiate to NSP/Node B: Connect . | | | . o Initiate NSP/Node B, having received the Connect Initiate message returns a Connect Confirm message A fieldin the message indicates that NSP/Node B expects segment flow control: “Iwant segment flow control”~— TM\ ) | . | Connect - o Confirm ' | l : I | l I NSP/Node A's data base has the initial value of 0 for its request count variable for normal data segment flow control: FLOWrem dat = 0 | NSP/Node B sends a Data Request message contammg a flow control value that indicates the number of Data Segment messages NSP/Node B can receive. (NSP/Node B executes an |m plementatlondependent algorithm to determine this value): “| can receive nsegments” - Data -« Request —~—"\ ' | 1 NSP/Node A increments FLOWrem _dat by n: FLOWrem dat = n NSP/Node A executes algorithm to determine if Data Segment num ber 1 can be sent (highest acknowledged Data Segment message plus the current request count must be greater than or equal to the number of the next Data Segment message sent): 0+FLOWrem_dat=1? —NO —can’t send YES -send The answer to the above is YES, so NSP/Node A sends Data Segment number 1: Data Segment 1 . o A NSP/Node B acknowledges receipt of first data segment: Data Ackndwledgment of segment number 1 ® NSP/Node A subtracts 1 from its flow control request count: [FLOWrem dat = n-1 Figure 4-4: Segment Flow Control Shown in One Direction on a Logical Link 4-8 The End Communication Layer User Network Management New Application End Communication Routing - Data Link Physical Link 5 Chapter y “The Session Control Layer The Session Control layer, residing immediately 'aboVe ‘the End Communication layer, provides system-dependent, process-to-process ‘communication functions. These functions bridge the gap between the End Communication layer and the logical N\ // link functions required by processes running under an operating system. 5.1 Session Control Functional Descriplti'o_n Session Control functions include: ‘Mapping nbdé names to node addresses. A Session Control module maintains a node name mapping table that defines the correspondence between a node name and either a node address or an adjacency. (An adjacency is used for loopback testing under the control of N etwork Management.) The table enables the Session Control module to select the destination node address or channel number for outgoing connect requests to the End Communication Layer. For incoming connect requests from the End Communication Layer, the Session Control module uses the table to identify the node from which the request originated. Identifying end users. A Session Control module executes a system dependent algorithm to determine if an existing end user process corresponds to the d an incoming connect request. It also destination end user process specifiein an existing performs additional functions related to passinga connect requetost | end user process. Activating or creating processes. A Session Control module may create a new _process or activate an existing process to handle an incoming connect request. Validating incoming connect requests. A Session Control module uses access control information included in a incoming connect request to perform systemdependent validation functions. - The Session Control Layer 5-1 ' Session Control defines two data bases that are not implementation-specific: ® A node-name mapping data base. ® A data base conta1n1ng the states of Session Control and optmnal default connection timers. Figure 5-1 shows a model of Session Control operating within a net»wfork node. A NETWORK NODE ) | - COMMENTS - END‘ USER R USER2| PROCESSES | enp END » SYSTEM DEPENDENT | |OPERATING | SYSTEM | Communication layer for end user it | ® and ® are data bases used by Session Control. | f | f S\L(t);et:\s:soper;tnnugn:;ls:e‘; " coniunction [-® | ‘ COMMUNICATION | MODULES |-® ' - END | . / / - | - Session Contrnl is en interface to the End CONTROL ‘ SYSTEM 7 | SESSION | INDEPENDENT USER 3 | \ \ / . | | _— USER 1 N MODULES End users are User, Network Appllcatlon, ~and Network Management” modules | . The End Communication layer provides the logical link service to Session Control. | ts | functions are not dependent on individual operating system:s. | LAYER * | 1 | . | | , - THE NETWORK | . | | | | Network Management interfaces with Session Controlin two ways: (1) to obtain access to the logical link service and (2) to monitor and operations. control Session Control Figure 5-1: A Session Control'Model‘ 5.2 Session Control Messages Session Control’s message protocol defines messages sent on a loglcal link as connect data, reject data and disconnect data. »| Figure 5-2 shows the formats for the Session Control messages. 'The numbers below each message field 1nd1cate its max1mum lengthin bytes 5-2 The Session Control Layer Connect Data Message Format - DSTNAME|SRCNAME |[MENUVER R'QSTRID PASSWRD [ACCOUNT (USRDATA 19 1 39 39 39 39 Reject/Disconnect Data Message Format REASON | DATACTL 1 ) n DSTNAME = SRCNAME MENUVER RQSTRID = = = ACCOUNT = PASSWRD = USRDATA -REASON = = DATACTL = | the destination end user name thesourceend user name the field format and version format o the source user identification for access verification the access verification password the link or service account data the end user process connect data areasoncode o user data (length of field determined by the total length of reject or disconnect data received from the End Communi- | cation layer) Figure 5-2: Session Control Message Formats ) 5.3 Session Control Operation Sessmn Control performs the following bas1c operatlons ® Requests log1cal links on behalf of end user processes (Sectlon 5. 3 1). ® Receives connect requests addressed to end user processes (Section 5.3.2). ® Sends and receives logical link data (Section 5.3.3). ‘Disconnects and aborts logical links (Section 5.3.4). Optionally, monitors logical links (Section 5.3.5). 5.3.1 Requestmg a Connection Upon receipt of a loglcal link connect request from an end user process, Session Control performs four tasks: Identifies the destination node address or channel number for the End Communication layer by using the node name mapping table. Formats connect data for the End Communication layer. Issues a connect request to the End Communication layer. Optionally starts an outgeing connection timer. Expiration of the timer prior to an acceptance or rejection from the End Communication layer causes Session Control to disconnect the logical link for the source end user process. The Session Control Layer 5-3 5.3.2 Receivmg a Connect Request Upon detection of an incoming connect request from the End Communlcatlon layer : Session Control performs six tasks: ® Parses connect data to obtain such 1nformat10n as source and destmatlon end user process names and access control information. Validates any access control information. Identifies, creates, or activates a destination end user process. Maps the source node’s address or channel number to a node name, if there is one. Delivers the incoming connect request to the end user process. Optionally, starts an incoming timer when the connect request is delivered. Expiration of the timer before the end user process accepts the connect request causes Session Control toissue a reject to the End Commumcatmn layer. 5.3.3 Sending and Receiving Data Thisis a system-dependent function that handles end user process requests to send and receive data. Basically, the functions are passed directly to the End Communication layer. 5 3.4 Dlsconnectmg and Abortmg a Logical Link Asin the case of sending and receiving data, Session Control passes end user process disconnect and abort requests directly to the End Communication layer. Similarly, notification of a logical link dlsconnect or abort 1s passed directly to the end user - process. 5.3.5 Monitoring a Logical Link | This is an optional system dependent function that may be used for the following purposes: ® Detecting probable network dlsconnectlon between the nodes at either end of the logical 11nk ® Detecting a failure, by the End Communication layer, to dellver transmitted data N in a timely manner. 5-4 The Session Control Layer ‘User Network Management Session Control ~ End Communication Routing Data Link Physical Link Chapter 6 The Network Application Layer The Network Application Layer contains a number of independent, commonly used modules. These modules access data or provide communication services to users. Currently, five Phase IV DIGITAL- supplied protocols are specified for this layer: The Data Access Protocol (DAP) This protocol permlts remote file access and file transferin a manner thatis independent of the [/O structure of the operating system beingaccessed. Section 6.1 describes DAP. The Network Virtual Terminal Protocols. These protocols permit terminals connected locally to a host DECnet system or to a Terminal Concentrator system to access remote DECnet host systemsin order to issue interactive commands and run apphcatlon programs Section 6.2 describes Network Virtual Terminals. The X.25 Gateway Access Protocol. This protocol permits user--written modulesin a host DECnet system to commumcate with peer modules in a non- DECnet system aeross an X.25- based Public Packet Switching Network. The user module does not have to reside in the same DECnet system that is directly connected to the X.25 Network (the DTE- Data Termmal Equlpment) Section 6.3 describes X.25 Gateway Access. The SNA Gateway Access Protocol. This protocol permits user-written modules (and a number of DIGITAL-supplied modules)in a host DECnet system to communicate with IBM host application programs and apphcatlon subsystems in a Systems Network Architecture (SNA) network. The user modules do not “have to reside in the same DECnet system that is directly connected to the SNA network (the Gateway system). Section 6.4 describes SNA Gateway Access. The Loopback Mirror Protocol. This protocol consists of one message used between the Network Management loopback access routines and loopback mirror. These modules test logical links. Section 7.2.3 describes this operation. The Network Application Layer 6-1 6.1 DAP Functional Description DAP provides the following functions and features: | | Supports heterogeneous file systems. | | | Retrieves a file from an input device (a disk file, a card reader a terminal etc.). | Stores a file on an output device (a magtape, a line printer, a terminal, etc.). | Transfers files between nodes. | Supports deletion and renaming of remote files. Llsts directories of remote files. | Recovers from transient errors and reports fatal errors to the user. Allows mu1t1ple data streams to be sent over a logical link. Submits and executes remote command files. Permits sequential, random, and indexed (ISAM) access of records Supports sequential, relative, and indexed file orgamzatlons '@ Supports wildcard file spec1ficatlon for sequent1al file retrleval flle deletion, file renaming, and command file executmn » Permits an optional file checksum to ensure file 1ntegr1ty DAP is designed to minimize protocol oVerhe‘ad; For example, defaults are specified for fields wherever possible. In addition, a file transfer mode eliminates the need for DAP control messages once file data flow begins. F1nally, relatively small file records can be blocked together and sent as one large message. - DAP is a set of messages and the rules governing their exchange between two - cooperating processes. Section 6.1.1 'describes' DAP messages. Section 6.1.2 - summarizes the operation of the cooperating DAP-speaking processes, ‘which provide DECnet remote file access. Sectlon 6.1.3 descrlbes the most common DAP-speaking DECnet facilities. 6.1.1 | DAP Messages DAP-speaking processes-use the messages listed in Table 6-1 to accomplish remote file access and transfer. 6-2 The Network Application Layer N, - TABLE 6-1: DAP Messages Function Message Exchanges system capability and configuration information Configuration between DAP-speaking processes. Sent immediately after a logical link is established, this message contains information about the operating system, the file system, protocol version, | and buffering capability. ~ Attributes Provides information on how data is structured in the file being accessed. The message contains information on file organization, data type, format, record attributes, record | length, size, and device characteristics. Specifies the file name and type of access requested. | Access Continue-Transfer - Allows recovery from errors. Used for retry, skip, and abdrt ' | | Acknowledge datastreams. | | | Sends Control information to a file system and establishes | o - Control after an error is reported. Acknowledges access commands and Control messages used | to establish data streams. Denotes termination of access. Access Complete Data | - Transfers file data over the logical link ‘ Returns status and information on error conditions - - Status ~ Key Definition Specifies key definitions for indexed files. Allocation Attributes Extension | - | : Attributes Extension Specifies the character of the allocation when creating or explicitly extending a file. < Summary Attributes Returns summary information about a file. Date and Time Attributes Specifies time-related information about a file. - Extension | | | Extension | | Specifies file protection codes. Protection Attributes Extension ‘Name , ~ Sends name information when renaming a file or obtaining file directory data. 6.1.2 DAP Operation Two cooperating processes exchange DAP messages: the user process and the server process that acts. on the user’s behalf at the remote node. User /O commands accessing a remote file are mapped into equivalent DAP messages and transmitted via a logical link to the server at the remote node. The server interprets the DAP commands and actually performs the file I/O for the user. The server returns status and data to the user. - | In a typical DAP dialog, the first message exchange is of Configuration messages that provide information about the operating and file systems, buffer size, and so on. Attributes messages then supply information about the file. The Access Request message typically follows to open a particular file. If data is to be transferred, a data The Network Application Layer 6-3 stream is then set up. For both sequential and random access file transfer, one control message sets up the data stream. After the completion of the file transfer, Access Complete messages terminate the data stream. . | Figuré 6-1 shows a DAP méssage e‘xc"'han:ge for sequential file retrieVéI._‘ Configuration Infor- | ‘Configuration Message mation (e.g. Buffer Size, OS, File System, DECnet - Remote NodeMessage ) Description ~ Messages . ~© S User Node Message _‘ Description | o > Phase No., and DAP Version Number) Configuration Message Configuratibn | File Characteristics (e.g. » Type, Block Size and Attributes Message | | Record Size. b - Information Returned - | | | Access Message Access Request B Attributes Message - o - > . Returned Acknowledge Message _ B Request Start of Data , Message . Acknowledge Message | Control (Get) Message Transfer and declare | | -~ Data Stream Established . , > mode of Transfer v o B Record 1 -« o o . L Data Sentin Records | e e B . Request to Terminate file access Record N -~ ' Status Message | 9 Access Complete Message | Access Complete Response ) End of File Detected . Request Completed Successfully Figure 6-1: DAP Message Exchange (Sequential File_Re_triéval) 6-4 The Network Application Layer : File Opened Control (Initiate Data Stream) Set up Data Stream Actual File Characteristics | 6.1.3 DECnet Remote File Access Facilities - DECnet implementations currently access remote files using the folltowing facilities: File Access Listener (FAL). FAL receives user I/O requests at the remote node and acts on the user’s behalf. This is the remote DAP-speaking server process. Network File Transfer (NFT). This interactive utility operates at the user level. It interfaces to a DAP-speaking accessing process to provide DAP functions. NFT provides network-wide file transfer and manipulation services.. ‘Record Management Services (RMS). RMS is the standard file system for many of DIGITAL’s operating systems. In particular, DECnet-VAX transparently supports RMS. RMS can transmit and receive DAP messages over logical links. If an RMS file access request includes a node name in the file specification, RMS maps the access request into equivalent DAP messages. These DAP messages are sent to a remote FAL to complete the request. To the user, remote file access is handled identically to local file access, except that a remote node name and p0551b1y access control 1nformat10n is necessary for remote file access. Network File Access Routines (NFARs). callable subroutines. N FARs are a set of FORTRAN- NFARs become a part of the user process; -with FAL, using DAP, to access remote files for user applications. they cooperate RSX DECnet \\__’/'/ uses N FARs to provide DAP functions. VAX/VMS Command Language Interpreter VMS commands pertaining to file access and manipulation interface with RMS to provide network-wide file access; hence no separate NFT utilityis requiredin VAX/VMS. Network Management modules. Network Management modules use DAP services to obtain remote files for down-line loading other remote nodes and to transfer up-line dumps for storage. Figure 6—_2 shows node-to—node file transfer using DAP. The Network Application Layer 6-5 ' REMOTE NODE \ LOCAL NODE O@‘ UserlLayer ~ The accessing program: - NFT Utility A VAX/VMS Command A user-written __program ‘Network Application Layer Network Application Layer DAP- speakmg server: DAP-speaking routines: File NFARs, or Routines in - the local file sy__stem<_f (e.g. RMS) Local File System e Access - Listener - Session Control Layer ~ Session Control Layer End CommumcatlonLayer | End Communication Layer Routmg Layer 'Routing Layer : N DataLink Layer Data Link Layer Physical Link Layer Physical Link Layer (e.g. FCS or ( | Router - Router . | . L4 Legend NFT - Network File Transfer UtilityTM FCS - File Control System - Record Management Services NFARs - Network File Access Routines -DAP - Data Access Protocol | = ~ Router - DECnet node performing Swutchmg /l——-' " A Physical Communication Link A path through the network - DAP Message flow Figure 6-2: File Transfer Across a Network 6-6 Remote File System (e.g.FCS or RMS) RMS) RMS - The Network Application Layer 6.2 Network Virtual Terminal Functional Description The Network Virtual Terminal (NVT) service consists of the following: o A functidnal model of a terminal (virtual terminal) for access through the ® A set of protocols for communication between a host node, with an application “program running, and a server nede, with a terminal directly attached. network. This model is known as the network command terminal. The NVT is aSsociated with the Terminal Software Architecture, which also defines nonnetwork aspects of terminal services. | - The Network Virtual Terminal service provides these functions and features: -Distributes terminal-handling functions between two systems. ‘Supports heterogeneous host systems. Different operating systems can cooperate via common protocols, and a host operating system can manage a terminal in its own way, regardless of what operating system runs in the server. Allows a server to connect to a specified host or a host to a specified remote terminal. Provides terminal input/output and characteristics management functions at the operating system services level. The description of the command terminal protocol includes a list of these functions (Section 6.2.2). Offers standard terminal services, featuring good performance and device independence. Optionally, offers methods of controlling the terminal’s behavior in considerable detail. Supports high availability implementations. The protocols contain functions that allow the restart of interrupted communication. The virtual terminal protocols are otganized into two sublayers of the Network ~ Application layer, as a provision for future enhancement. Figure 6-3 depicts the organization of the Network Virtual Terminal service. The Network Application Layer 6-7 - SERVERNODE ~ HOSTNODE UserLayer Command Processor (e.g. DCL) User application Server Network Application Layer | Terminal \ Services | Command | Commang Terminal Module [~ ~|TM Terminal Module | Terminal Communication Module [~ =TM unication Module Session Control Layer ,/ yt Host Terminal ’ Services Session Control Layer End Communication Layer Routing Layer End Communication Layer 1 - Routing Layer Data Link Layer Data Link Layer Physical Link Layer Physical Link Layer R . Network Application Layer RN Terminal Comm—— | | oute r Router . * DECnet Network Legend: Router - DECnet node performing Switching B A Physical Communication Link eiana A path through the network <-» NVTProtocol Flow Figure 6-3: Network Virtual Terminal Service Section 6.2.1 describes the Terminal Communication Protocol, which controls the connections between applications and terminals. Section 6.2.2 describes the Command Terminal Protocol, which provides functions for terminals to communicate with Command Language Processors and application programs.. describes the operation of the Network Virtual Terminal service. Section 6.2.3 . 6.2’.1 The Terminal Communication Protocol The base protocol for the Network Virtual Terminal Communication Protocol. Virtual Terminal service, known as the foundation layer. 6-8 The Network Application Layer service is the Terminal It is in the lower of the two sublayers of the Network The Terminal Communication Protocol has responsibility for making and breaking connections between applications and terminals. In effect, it extends DNA Session Control layer services by establishing logical links between endpoints that are specific to terminal services. The endpointin the host system is called a portal; the other end,in the server system,is called a logical terminal. A portal corresponds to a remote terminal identifier in the host, and a connection binds that identifier to an actual terminal. binding. Thus, the NVT connection is called a | In the future, it may be desirable to add new models, as alternatives to the network ~command terminal. Such new models might require their own protocols. To provide for this, the logical terminal, binding, and portal share a state called a mode. Through mode management, the terminal communication protocol is able to select the appropriate higher level Virtual Termmal protocol and model. Table 6-2 shows the Terminal Communication Protocol messages types and their functions. TABLE 6-2: Terminal Communication Protocol Messages Message - | Function Bind Request Requests a Binding; | identifies version and type of sending system. ‘Rebind Request Unbind Requests a rebinding (reestablishes broken communications, for high availability implementations). _y | Requests that a binding be released. Bind Accept Accepts a Bind request. Enter Mode | | | Requests entry of a new mode (the only mode currently defined is command mode). This selects the command terminal protocol as the higher level protocol. Exit Mode - Confirm Mode No Mode Requests that the current mode be exited. Confirms the entry of a new mode. Indicates that the requested mode is not available or e confirms an exit mode request. Data o - Carries Data (i.e. command terminal protocol information). 6.2.2 The Command Terminal Protocol The Command Terminal Protocol provides access to the functions of the network command terminal model. The network command terminal offers a set of functions oriented in-ainly toward command line input and output, but general enough to support a broad range of video and hardcopy terminal applications. These functions include: ® Read a line of input, with echoing and operator editing performed by the server system. Line terminators may be individually specified. The host software has considerable control over echoing and operator editing, 1nclud1ng the enabling and disabling of each feature individually. The Network Application Layer 6-9 “Accept input even if the program has not 1ssued a read request save.it until a read request arrives (typeahead) | Input or take action in response to, certain Charact'ers immediately as the keys are struck (out-of-band character individually spec1fied These characters may be - processmg) Write a string of output characters. Writing may proceed concurrently with reading, subject to certain synchronization options. The terminal operator can cause output to be discarded. 'Recognize ANSI standard escape sequences on input and 'eutput. Cancel a read request. | " Read and set termmal dev1ce characteristlcs Determine how many characters are in the typeahead and input buffers“ | | combined. Clear the typeahead and input buffers. Table 6-3 shows the Command Terminal Protocol message types and their functions. TABLE6-3: Command Termlnal Protocol Messages Message Functlon Initiate Carries initialization information, as well as protocol and o implementation version numbers. ~ Start Read | -Request_s that a READ be issued to the terminal. - Read Data | Carries input data from te'rrninal'on completion of a read | Out-of-Band .' Unread Clear Input request. ~ Carries out-of-band input data. Cancels a prior read request. | | Requests- that the input and type'ahead buffers be cleared. Write o "Requests the output of data to the terminal. Write Complete ‘Carries write completion status. Discard State | | Carries a‘ change to the output discar‘dr state due to a terminal operator request (v1a an entered output-discard character). Read Characteristics Requests terminal characteristics. Characteristics,, Carries terminal characteristics. Check Input | » | Requests input count (number of characters in the typeahead and input buffers combined). Input Count Carries input count as requested with Check Input. Input State Indicates a change from zero to non-zero or vice-versa in the | number of characters in the input and typeahead buffers ~combined. The Network Application Layer Y . 6.2.‘3 NVT Operation In a typical network command terminal session, a terminal management modulein a server system with an active terminal requests a binding to some host system. It does this by invoking a terminal communication services function. (This typically takes placein response to a command such as Set Host from the termmal operator.) The terminal communication services module initiates a logical link to counterpart in the host system, using DNA Session Control layer services. its On discovering the incoming logical link, the host module allocates a portal, thus beginning the formation of a binding. The host module then accepts the logical link. Once the logical link has been formed, the server module sends a Bind Request message to the host. A terminal management module in the host, perhaps acting on behalf of the host’s login process, recognizes the binding request, and causes the terminal communication services module to send a Bind Accept message. Once the b‘indingohas been formed, the host takes the initiative and readies the binding for the command terminal protocol (enters command mode) with a further exchange of messages. This takes place in connection with the first terminal I/O request from the Login process. The respective protocol modules can now begin speaking the command terminal protocol, by each sending an Initiate message to the other. After 1n1t1a11zatlon the dialog of remote terminal service requests and responses ensues. Terminal service requests normally originate with an application program in the host system. The application program issues requests to host operating system terminal services. Host terminal services issue corresponding requests to the host protocol module. The server protocol module reproduces those requests remotely and reissues them to the server termmal services. Termmatlon of the session can come about in a number of ways. A typical orderly responds by releasing its resources. Finally, the host disconnects the logical link. b r_,-" o terminal communication services module sends an Unbind request. . . shutdown begins with a Logout by the application in the host. As a result, the host The server Figure 6-4 shows NVT message exchange . The Network Application Layer 6-11 Host Node Message Server Node Message - Messages Description ~ Description ) " Accept Binding Bind Accept Message . Establish Command _Enter Mode Message - Mode = | . specified Host Y Bind Request Message ~ Request a binding with a ‘Server enters command Confirm Mode Message Initiate Message Initiate Message Y Initialize command terminal protocol - mode * Initialize command terminal protocol Begin terminal service dialog “Issue Read request Start Read Message Read Data Message Host terminal software notified of out-of-band ' Out-of-band Message - Accept and process a line of input User types an out-ofband character character .‘Dialq_g continues Dialog continues - Application logs off. ‘Release host resources Unbind Message Release server resources. \ ~ Figure6-4: NVT Protocol Message Exchange 6-12 The Network Application Layer 6.3 X.25 Gateway Access Functional Description X .25 Gateway Access provides the following functions and features: ® Supports communication between user-written programs in a host DECnet system and modules in a non-DECnet system over an X.25-based public data network. (Two DECnet systems may communicate over an X.25 network using standard DNA protocols without recourse to this gateway function. See Section 3.3.4.3 for a description of how this is accomplished.) ~ ® ® | Supports all facilities and modes of operation definedin CCITT Recommendation X. 25 W1th the exception of Datagram mode and the Delivery Confirmation bit. Supports user access to both Permanent Virtual Circuits (PVCs) and Switched Virtual Circuits (SVCs). Switched Virtual Circuits are also referred to as virtual | calls. ® Permits user-written programs to access PVCs or issue virtual calls from any DECnet system contammg an X.25 Gateway Access module. The user program does not have to reside in the DECnet system thatis the DTE (Data Terminal Equipment) directly connected to the X.25 network. ® Permits incoming virtual calls to be directed to a user process residing at any node in the DECnet network. A Network Management function maps call data from incoming virtual calls to a DECnet process description so that the call may be directed to the correct process. ® ~® Permits user access to all X.25 packet fields such as more data, qualified data, ete. Recovers from transient errors, and reports fatal errors to the user. X.25 Gateway Access is designed to make the full capabilities of the CCITT X.25 Packet Level interface available to user programs residing anywhere in a DECnet network. To accomplish this, X.25 Gateway Access communicates with the DECnet system that is the DTE on the X.25 network over a DECnet logical link (the DTE system is often called the Gateway system). X.25 Gateway Access protocol messages are exchanged over the logical link to make the facilities of the Packet Level interface available remotely. " Section 6.3.1 describes the messages exchanged by the X.25 Gateway Access Protocol, Section 6.3.2 describes the operation of X.25 Gateway Access, and Section 6.3.3 describes the modules that cooperate to provide X.25 Gateway Access. 6.3.1 X.ZS Gateway Access Messages X.25 Gateway Access uses the messages listed in Table 6 4 to accomplish remote access to the X.25 network. The Network Application Layer 6-13 TABLE 6-4: X.25 Gateway Access Messages Message Function Open Requests the use of a permanent virtual circuit. Open Accept Accepts a permanent virtual circuit Open request and allocates the PVC to the Gateway Access user. Open Reject Rejects a Permanent Virtual Circuit Open request, refusing | allocation of the PVC to the Gateway Access user. Outgoing Call Requests that an outgoing Virtual Call be placed byissuing a Call Request Packet to the X.25 network Call Reject Indicates rejection of an outgomg or 1ncom1ng virtual call for | lack of resources. Incoming Accept ~ Indicates acceptance of an outgoing virtual call. Incoming Call Indicates an incoming virtual call has been received. Outgoing Accept Accepts a p.reviousl'y received ineoming virtual call. Clear Request Requests that a virtual call be Cleared. Clear Indication Indicates a clear request packet has been received from the | X.25 network. Clear Confirm Indicates a clear confirmation packet has been received from the X.25 network. Requests that a virtual circuit be reset. Reset Request Reset Indication Indicates that a reset indication packet has been received from the X.25 network. | Reset Confirmation ~ Indicates.a reset confirmation by elther the user or the X.25 network. Reset Marker Marks the place in the stream of Data messages Where a reset occurred. Data Contains Data pack,ets'o-ut.bound fro:r’n or inbound to a user. - Interruptv Contains Interrupt packet data outbound from or inbound to a user. Interrupt Confirmation Confirms the receipt of an Interrupt message (used for flow control). Indicates that a PVC entered a no-communication state. No Com No Com Seen Indicates that the user of a PVC acknowledges a No Com message, and thus has been notified that there have been one or more failures of the X.25 network (e.g. Restarts). 6.3.2 X.25 Gateway Access Operation Three processes are involved in X.25 Gateway operation: the user process, the X.25 Gateway Server process, and the foreign X.25 DTE process. The user process accesses the X.25 Packet level functions by issuing calls on the X.25 Gateway Access module. These calls are translated into X.25 Gateway Access protocol messages and transmitted over a DECnet logical link to the X.25 Gateway Server process. The X.25 Gateway Server transmits and receives X.25 packets to and from the X.25 network. These packets in turn flow over an X.25 virtual circuit to the foreign X.25 DTE process. 6-14 The Network Application Layer In a typical X.25 Gateway Access Protocol dialogue, the first message exchange is either to open a Permanent Virtual Circuit via an Open message or to place a virtual call using an Outgoing Call message. In the case of a virtual call, when the foreign DTE process has accepted the call byissuing a Call Accept packet, t_he user process is informed by the receipt of an Incoming Accept message. The user process may then exchange data with the foreign DTE process by sending and receiving Data and Interrupt messages. When the user wishes to terminate the virtual call, a Clear Request message is sent to the X.25 Gateway Server, which clears the call byissuing a Clear request packet to the X.25 network. The user process is then 1nformed of the termination of the call by receipt of a Clear Confirm message. “Flgure 65 shows X.25 Gateway Access protocol exchange for Switched Virtual Circuit operation, where the virtual call is initiated by the user process on the DECnet system. | User Node Message Description Messages - | | Outgoing Call Message Request to place a Vnrtual CallTM ‘Gateway Node Message ~ Description | Gateway Server process issues Call Request packet > to X.25 network Call Accept Packet _ In;ommg Accept Message received from X.25 network Request to send a Data Packet Data Message - | . _ o Data Packet sent on virtual circuit 3> e e Data Message -« Userreceives Datasentby foreign DTE process User receives Interrupt . Data S | - - “ Data packet rec_eived' Data Message from virtual circuit - | | | | Interrqpt Message ~ Interrupt Packet received from virtual circuit “Interrupt Confirmation Message ~ Request to terminate Clear Request Message (clear) Virtual Call Virtual Call is terminated . . <Clear Confirm Message Clear Packet issued to X.25 network | Clear Confirmation | Packet received from X.25 network Figure 6-5: X.25 Gateway Access Message Exchange The Network Application Layer 6-15 6. 3 3 X. 25 Gateway Access Modules DECnet 1mplementat10ns use the followmg fac111t1es to prov1de the X.25 Gateway' Access service: o R L _ , | X.25 Gateway Access Module This module receives user X.25 requests and - communicates ‘with the DECnet system thatis the DTE dlrectly connected to the X 25 pubhc data Network (the Gateway system) e X.25 Gateway Server Module. This module residesin the DECnet system that is the DTE on the X.25 network (the Gateway system). This module ‘communicates with the X.25 Gateway Access module over a DECnet logical link and acts on requests made by the X.25 Gateway Access module and the X.25 network. It uses the facilities of the m.25 Packet Level Module to gain access to the X.25 network. e X.25 Packet Level Module. This module resides in the Data Link layer of the ~ Gateway system and acts as the DTE on the X.25 network. It uses the X.25 Frame level module for its connectwn to the X.25 DCE ‘This module is described in Sectlon 2.3.2. ° X 25 Frame Lével Module. This module also residesin the Data Link layer of “the Gateway system. It provides the X.25 Frame level protocol in order to communicate with the X.25 network’s DCE. This module is described in Section 2.3.1. Figure 6-6 deplcts the relat10nsh1p of these modules to the X.25 network and to the foreign DTE: 6-16 'The Network Application Layer The accessing program: program | o Network Applicat‘on Layer ~ Network Application Layer X.25 Gateway Access X.25 Gateway Server Module @ ’ The cooperating program | | | Foreign DTE Process | | o | | | | ~ Auser-written | - | User Layer FOREIGN NODE (DTE) ~ GATEWAY NODE (DTE) ~ LOCAL NODE o ‘Module | Session Control Layer End Com'mUnicatibn‘;Layer Routing Layer \'; ] H inkLaver 1_ End Confinunication Layer | : : __Routing Layer Network La;'yer | X.25"Packet"Level " Data Link Layer oy Data Link Layer S Session'Control Layer / || A\ ' Physical Link Layer \ ApyDNA X.25 PackgtLevel Protocol | | X.25Frame Level — i Datalink | ' — ; Physicallink Layer ] .} X.25 Franfe Level 1|1 | ! | PhysicalLink Layer X.25 Interfac N\ }R.outer | : Router | - DCE o DCE . . DECnet Network X.25 Packet Switching Networ . Legend: B DTE - Data Terminal Equipment DCE - Data Circuit Equipment Router - A DNA node performing Switching ® - Incoming Call mapping Database = ~ APhysical Communication Link ..... ... Apath through a network —.—» Data Flow through X.25 Gateway Access | Figure 6-6: X.25 Gateway Access Operation | | The Network Applicatioh Layer 6-17 6.4 SNA (Systems Network Architecture) Gateway Access Functlonal Descrlptlon | SNA Gateway Access provides the following functions and features: e Supports communication between user-written (and a’ number of DIGITALwritten) programsin a hostDECnet system and modulesin an IBM host system : over an SNA network e Supports programs in DECnet systems whlch act as SNA Secondary Log1ca1 Units - (SLUs) of any of the defined SNA Log1ca1 Unit Types (LUs) - ® Allows user programs full access to the facilities prov1ded by the SNA Transmission Control and Data Flow Control layers. ° Communlcates W1th the SNA network as a Physical Unit Type 2 (PU2) e Permits user—wr_lttenprograms to-~part_1c1pate in SNA sessions from any DECnet system containing an SNA Gateway Access module. The user program does not “have to residein the DECnet system thatis actmg as the PU2 directly connected to the SNA network. [ | Manages the SNA session pacing automatlcally for the user program ® Recovers from transient errors and reports fatal errors to the user SNA Gateway Access is designed to make the full capablhtles of the SNA Data Flow Control, Transm1s51on Control, and Path Control layers available to user programs residing anywherein a DECnet network. -To accomplish this, SNA Gateway Access -communicates with the DECnet system thatis the PU2 on the SNA network over a - DECnet logical link. SNA Gateway Access Protocol messages are exchanged over the loglcal 11nk to make the fac111tles of SNA sessions avallable remotely. Sectmn 6.4.1 descrlbes the messages exchanged by the SN A Gateway Access protocol Section 6.4.2 describes the operation of SNA Gateway Access, and Section 6.4.3 describes the modules that cooperate to provide SNA Gateway Access. | - 6.4.1 SNA Gateway Access Protocol Messages SNA Gateway Access uses the messages hsted in Table 6-5 to accomphsh remote access to the SNA network. - 6-18 The Network Application Layer TABLE 6-5: SNA Gateway Access Messages Message Connect - | | Function | - Listen | Bind Data B - | Requests that a Session be established with a Primary Logical Unit (PLU) inan SNA host. Waits for a Session to be established by a PLU. Indicates that a BIND has been received for a session solicited w1th Connect or Listen. Bind Accept Requests that the session being established with the BIND | be accepted and placed in the running state. ~ Normal Data Carries data on the SNA session’s normal flow to and from the PLU. Interrupt Data Carries data on the SNA session’s expedited flow to and from | the PLU. \ /,/’ Disconnect | Requests orderly session termination. Disconnect Complete | | Abort ~ | Indicates normal successfully. session termination has completed Requests abnormal termination of a session, or indicates an UNBIND has been received from the PLU. '6.4.2 SNA Gateway Access Operation Three processes are involved in SNA Gateway Access operation: the user process, the SNA Gateway Server process, and the IBM host application process. (Note: IBM hosts are called PU5 nodes in SNA terminology.) The user process accesses the SNA SLU functions by issuing calls on the SNA Gateway Access Routines. These calls are translated into SNA Gateway Access protocol messages and transmitted over a DECnet logical link to the SNA Gateway Server process. The SNA Gateway Server transmits and receives SNA Basic Information Units (BIUs) by accessing the functions of an SN A protocol emulator, which connects directly to the SNA network as a PU2 and contains the functions of the SNA Path Control and Data Link Control (SDLC) layers. In a typical SNA Gateway Access protocol dialog, the first message exchange is to establish a session with a PLU in the IBM host, by exchanging Connect and Bind Data messages. The session is completely established when the Bind Accept message " is successfully sent. The user process may then exchange data with the PLU by sending and receiving Normal Data and Interrupt Data messages. When the user - wishes to terminate the session, it informs the PLU by using the appropriate Data Flow Control Request Unit (RU). The PLU may then terminate the session by sending an UNBIND, which results in session termination with an appropriate - reason code to the user process. Figure 6-7 shows SNA Gateway Access Protocol exchange for a session requested by the user process (the SLU): ‘'The Network Application Layer 6-19 o ‘proposed by BIND . User Receives Normal flow Data | "~ < | ‘ > .- Gateway Node Message - Description | Gateway System issues an . INIT-SELF message to the - SNA network : .Bind Data Message BIND received from PLU Bind Accept Message — Y o _ User accepts session as | | S Connect Message ' Request to establish an . LU-LU session . . Messages User Node Message Description toPLU Normal Data Message | Gateway accepts session . ; | | | Normal Flow RU received | from PLU Normal Data Message Normal Data Message User Sends normal flow RU to PLU ‘ Interrupt Data Message | Expedited flow RU received from PLU User sends expedited Interrupt Data Message flow Data to PLU - User senses session termination - o h > ~ AbortMessage ~PLUsends UNBIND to terminate session : 'Figure 6-7: SNA Gateway Access Mess_age Exchahge 6.4.3 SNA Gateway Access Modules DECnet 1mplementat10ns use the followmg facilities to provide the SNA Gateway - Accessservice: “e ~ . | . SNA'Gateway Access Mddule. This module receives user SNA session requests and communicates with the DECnet system that is the Physical Unit (PU) directly connected to the SNA network (the Gateway system) ‘@ SNA Gateway Server Module. ThlS module resides in the DECnet system that is the PU on the SNA network (the Gateway system). This module communicates with the SNA Gateway Access module over a DECnet logical link and acts on requests made by the SNA Gateway Access module and the PLU. It uses the facilities of an SNA protocol emulator to gain access to the SNA network. ® 6-20 SNA protocol emulation. This set of modules resides in the Gateway system and performs the functions of SNA Path Control and Data Link Control. It connects to the SNA network as a Physical Unit Type 2 node. The SNA protocol emulation modules also perform the functions necessary to communicate with the SNA network’s System Service Control Point (SSCP). The Network Application Layer Figure 6-8 depicts the relationship of these modules to the SNA network and to the IBM host application (the PLU): LOCAL NODE | GATEWAY NODE IBM HOST NODE UserLayer PLU The accessing program S (SLU): SNA Remote lob Entry The Cooperating program: (e.g. CICS, IMS, JES2, | 3270 Emulation JES3, etc.) A user-writtent | | B program Y Network Application Layer | | P ] \ : SNA Gateway Server Module 4 | \ Session Control Layer Sessidn Control Layer . End Communication Layer ‘ Data Link Layer A | Network Application Layer SNA Gateway Accss Module ! Routing Layer | | * v ) Data Flow Cont[rol Layer Path NS End Cgmmunication Layer C?) ntrol \ 7 | /Routing Layer \ T Path Control Layer ; + Datalink Layer ] Data L\ink Data Link Layer / Physical Link Layer | €Ontrofy Physical Ljnk Layer ! Physical Link Layer Y Transmission Ctl. Layer (PU2}. / | ! [ NAU Servicesi.ayer Router A v Router ' PU4 PU4 DECnet Network | . SNA Network Legend: SLU - Secondary Logical Unit PLU - Primary Logical Unit PU2 - Physical Unit Type 2 PU4 - Physical UnitType Router - A DNA node performing Switching | 4 %= A Physical Communication Link «oooeeee. A path through a network —.—» Data Flow through SNA Gateway Access Figure 6-8: SNA Gateway Access Operation The Network Application Layer 6-21 \\\ e- Network Application Session Control - End Communication Routing Data Link Physical Link Chapter 7 _ . \._/J ) Network Management . Network Management allows system managers to control and monitor network operation.” Network Management also provides information for use in planning the evolution of a network and correcting network problems. The Network Management design has three outstanding characteristics: ° Both programs and terminals can access and control a DECnet network via a set of functionally discrete calls and commands. | -® Control over a DEChnet network can be either distributed or central. Distribution | of control can be either partial or complete. - ® Network Management is a set of primitive functions or “tools.” The system or network manager can fashion them into a management system that meets his or her specific needs. This allows the managers of a network to construct their own | network management philosophy. Most of the Network Management modules reside in the Network Management layer. In addition to these, however, there are Network Management modules in the User and Network Application layers. Also, one Network Management module, the Event Logger, has a queue residingin each lower layer. This chapter dlscusses all Network » Management modules regardless of where they reside. ~ Since Network Management is modular a DECnet system is not requlred to 1mplement the architecturein its entirety. 7.1 Network Management Functional Description Network Management performs the following functions: ® Loading and dumping of remote systems. For example, a system manager can down-line load an operating system into an unattended remote system. Network Management 7-1 ® Changmg and examining network parameters. For example, an operator can ' change circuit costs or node names. L) ."Exammg network counters and events that indicate how the networkis performing. For example, the Event Logger automatmally records s1gn1ficant network events. . Testlng links at both the data link and logical link levels. For example a - system manager can send a test message that loops back to its origin from a 'specific pointin the hardware connection. ® an Setting and displaying the states of lines and nodes. For example, operator can reconfigure a network by turning nodes and links on or off. 7.2 Network Management Operation This section summarizes the functions of each Network Management component and ~ - describes the operation of the major Network Management functions. ~7.2.1 Components The Network Management components are as follows: User Layer ® Network Control Program (NCP). NCP is a utility at the user level that interfaces with lower level modules. NCP has.a standard set of interactive terminal commands that each DECnet implementation uses. Network Management Layer ® Network Management Access Routines. ' These routines provide generic - Network Management functions. The routines communicate across logical links with the Network Management Listener using: the Network Information and Control Exchange (NICE) protocol. '® Network Management Listener. The Network Management Listener receives Network Management comimands from the Network Management level of remote ' nodes via the NICE protocol. In some 1mplementat10ns it also receives commands from the Network Management Access Routines via the NICE protocol. The Network Management Listener passes function requésts to the Local Network Management Functions. ® Local Network Management Functions. This component takes function requests from the Access Routmes translatmg the requests1nto system- - dependent calls. ® - Link Watcher. Sensing service requests on a link from an adJacent node the Link Watcher haridles state changmg for automatic remote load, dump, and trigger functlons 7-2 o Network Management - , - ST ® Maintenance Functions. The Maintenance Functions provide the actual protocol operation to support system maintenance functionssuch as down-line load and data link loop testing. - | ® Link Service Functions. The higher level Network Manag_ement modules | interface to the Link Service Functions for services that require a direct data link (bypassing the Session Control, End Communication, and Routing layers). ® Event Logger. The Event Logger records significant events occurring in the lower layers. DNA specifies event types in the Network Management interface to each layer. An event processor within the Event Logger takes raw events queued " in each layer and records events of the types specified by the system and system manager. Using the Event Logger protocol, an event transmitter can inform of event occurences. Events travel to a specified at other nodes event receivers ' e file or monitor output. for console, * sink nod \\w/, in the Figure 7-1 shows the Relationship among Network Management| components : | User and Network Management layers. S Network Application Layer ' ® Loopback Access Routines and Loopback Mirror. For logical link loopback tests, the Local Network Management Functions can interface to the Loopback Access Routines, which use the Loopback Mirror protocol to loop test messages a remote Loopback Mirror. from Network Management - 7-3 /‘ \\-«9”// . - User _NCP Program | Link Watcher UserLayer v Network Management v commands Protocol Network Protocol <% -----1 Management p----- —»1 Network Management Access Routines Network nodes Management |[€------- Listener ' commands to other ‘nodes \4 | \ A8 Local Network Management Functions \A Maintenance Functions v | # v - Events to other » » Events from nodes Link Service - Functions | other nodes » Event Logger € | . Network Management Layer Data Link layer communication - Control over lower level functions | o (examine line state, turn on routing, etc.) v | Lower Layers System dependent calls to application layer and local operating system functions (file access, logical link loopback, | Read event queues timer setting, etc.) KEY: Figure 7-1: 7-4 ——=—=-3 Peer protocol interface === Network managementinterface l Client interface Relatlonshlp among Network Management Components at a Single Node Network Management '7.2.2 Remote Loading, Dumping, Controlling, and Link Loopback Testing Functions Network Management uses the Maintenance Operation Protocol (MOP) to perform remote loading, dumping, controlling and testing. (Refer to Section 7.4). The target (the node being loaded, dumped, eéc.) or the executor (the adjacent node executing the requests)or a remote command node can 1n1t1ate the function. Figure 7-2 illustrates the down-line load request operation. Link loopback testing is a procedure for isolating faults in a physical connection between two nodes. Link loopback tests consist of sending out test messages that are looped back at some point. By changing the loopback point, an operator can precisely locate problems. There are three methods of performing link loopback tests: 1. Using NCP commands, the operator can set certain line devices to loopback mode, and then perform the loopback tests. This “automatic” method can be useful in testing unattended remote nodes. 2. To loop a message from another hardware point, such as a modem, the operator must set up a loopback device manually. This can be done by throwing a loopback switch on a modem or connecting a loopback plug in place of a modem. The | operator can then execute the loopback test using NCP commands. 3. By not setting a hardware loopback device and using link loopback NCP commands, an operator can cause loopback test messages to loop back from the Mamtenance Functionsin the Network Management layer of the adJ acent node. Figure 7-3 illustrates link loopback tests. Network Management 7-5 1. Target-initiated Request Executor Node Target Node Link Watcher Loéd Requester Local Network Management 2. Opératoreinitiated Request from a Remote Command Node Command Node ‘Network Management Access Routines Network Logical Link Executor Node Network Control | Managemen Program | < Listener Local Network 1 Target Node Managemen Functions Console Server Figure 7-2: Down-Line Load Request Operation 7-6 Network Management N4 Functions St A. Direct Line Loopback, hardware looped Exécutor Node User Layer B N.M. Network Management w P Maintenance Functions I | Data I Link Physical Link , ) v¥ Local N.M. Functions | | N-M. Listener L Layer | lep| Access Routines ' 1 i | '] 1 ! | | L | Hardware Loopback | Device B. Direct Line Loopback, software looped Executor Node User Layer Target Node | User NCP | Layer [ N.M. Network Management Layer l o Access Routines MM Listener Networ ) v+ : v? - Local N.M. Functions Management ‘| Layer T | Maintenance Functions r Data I Link Physical Link } L | i | 1 | : [ . Maintenance Functions — Data Link Physical D r I | ; | Link . | 5 Communication Hardware e Legend: » control flow ~ - data flow N.M. = Network Management Figure 7-3: Line Loopback Tests Network Management 7-7 7.2.3 Node Loopback Testing Node loopback testing consists of sending test messages over a logical link to be looped back at a specific point. The operator may set a hardware loopback device on a line, line device, or modem between the executor and adjacent target. Alternatively, software components can loop back test data. Different software components can be used. For example, FAL, a user program, or the Loopback Mirror can loop data back to their associated access routines. Figures 7-4 and 7-5 describe some types of node loopback tests. One type of node loopback test uses the Network Management Loopback Access Routines and Loopback Mirror residing in the Network Application layer (Figure 74, B and Figure 7-5, C). These modules communicate over logical links using the Loopback Mirror Protocol. | Other loop tests use logical links, but do not use Network Management software. For example, Figure 7-5, B shows a test message travelling from one user task to-another. Figure 7-5, D shows a file transfer used as a logical link test. By using the NCP SET NODE LINE command, an operator can set up a special loop node path (Figure 7—4). In this case, if no hardware loopback device is set, the adjacent node’s Routing layer loops back the test. 7-8 Network Management | A. Local to Loop Node Test, Sin?(Ie Node, using filesastest § data with hardware loopback. User Modules N T I Use;TaskJ Net. Man. — Network gt N File Acc. Rou. ‘ Session Cont. !\‘ End Comm. i hardware loopback. [ Modules ] |[ 1 s Data Link . . / { . PhysicalLlink 7 ] T \ | . Session Cont. : . | tl_ard. oop Dev. L _________ — L. TIZZzZzzzzzZs pmian [ -—1A;] lEop. Mirror : ] —t7 7T i ' Func. ’ Loc. Net. Man. _ Application l qup. Acc. Rou. /) v, Hardware | ' Network | N L 7 R ~7 T Comm. j 77 T ! 1 - Net. Man. Acc. Rou. Management g / — 1 ! Routing i : Acc. List. : File M \ - messages with User Network Apphcatuc?n I ! ’ o B. Node Test,' Single Node, using Ioogback mirror and test B L__-CZZICZZZZZZZZ-ZZ-ZIi-o . ! !1 ‘F : \ . \ 1 End Comm. Routin v g : Physical Link y ] - YA /7 77 A A Comm.| | Hardware \ 77 i L T /4 /oy o ' \ , o N " Data Link Wf ! ‘L L o - Hard. - L L0oOp Dev. L.ZZZzZZZZzZzZ3==—~ e ———————————————— ,_3 ] [pa— g C. Local to Loop Node Test, Two Nodes, using user tasks. User Modules [ User Task ] I User Task» ] Net. Man. Net. App. \ , Net. Man. ‘\‘ ‘/ Net. App. Session Cont. Session Cont. | L / End Comm. A ‘/' ‘ Routing '\‘ Data Link - Ph‘ysical Link "‘L / H 71 Comm. Hardware User Modules End Comm., /! ,.1’ \ S Routing TN Data Link ! \ Physical Link . ‘l 7 \ T ee- \ R A\\ \ D. Local to Loop Node Test; Two Nodes, using loopback mirror and test messages. | User . 1 Modules Network niep | Net. Man. Acc. Rou. Management | | Modules Network | |oc. Net. Man. Func. Network User ‘Management , Application U?Op' Acc. Rou. [LooP. M'"_OTI Network Application Session Cont. ‘L f ,’T, Session Cont. End Comm. | ) L/, L/' End Comm. Routing v !/ Routing CEN Data Link !, ) Data Link Physicallink - : Comm.| Hardware \ Y 7 “ ! /’ K 1 | — + ‘L 7 . /[ T | v Legend e Ly - | Rl e e —3Pp 1 Physical Link ~ ; L b= Le e e e e " control flow —~-—p ' _1_‘1 data flow Figure 7-4: Examples of Node Level Testing Using a Loopba_ck Node Network Management - 79 B. Normal Local to Local, using user tasks. A. Normal Local to Local, using loopback mirror. . Network Management User Modules 3 , | User Modules Net. Man. Net. App. l ] 4 ] L ] ¥- \ N Physical Link Data Link User Task ] \ Routing Data Link 7 N \ \ End V) Y Routing ‘ Session Cont. Comm. | ' P ‘ -' . : | Networ Application fioop. Acc. Rou.] .[Loop. errorJ_ Session Cont. End Comm. er Task » Net. Man. Acc. Rou. : Loc. Net. Man. Func. rUs r T Comm. . Hardware Physical Link Comm. - Hardware C. Normal Local to Remote, using loopback mirror. User User Modules NCP Modules Network Net. Man. Acc. Rou. Network Manageme'nt Loc. Net. Man. Func. Mavnagem‘ent Network Application Network |—L:)<‘>p. —= Acc. Rou.J Application \ End Comm. Routing Physical Link \ \ » Comm. ‘Hardware End Comm. Routfng \ Data Link \ \ Data Link Session Cont. A Y Session Cont. \\ Physical Link v N Y l R \ ee e e e ee e D. Norm,al Local to Remote, using files as test data. User Modules : | ]Mirror [ Lo;)p. L L e et b /,’ S —————————— — R4 /' //j S / 4/ ] / ,’7 ,fi | ' Task ] I User User Modules Wser TaskJ ,! it Net. Man. Net. Man. Network Application Session Cont. End Comm. End Comm. \ Comm. | Hardware i Data Link \ 1 " / Physical Link ] Physical Link l,' Routing V Routing Data Link USSP Legend: —_) control flow ‘/ v - ‘ - . l File- Acc. L'SLJ 1* Network Application Session Cont. rF"‘e- Acf' ROU'J \ e ; data flow Figure 7-5: Examples of Node Level Logical Link Loopback Tests 7-10 Network Management \‘W/g | 7.2.4 Parameters, Counters, and E‘vents DNA specifies line, circuit, node, module, and logging parameters that Network Management can access. These are internal network values that are important enought to the system manager to examine, and, in some cases, change. These values are classified as characteristics or status. Characteristics generally remain constant until changed by a system manager. Status parameters reflect the condition of lines, circuits, nodes, modules, or loggers. For example, line state is a status parameter. The action of the network can change line, circuit, and node states. The logging state “is really a system-manager-controlled on/off switch. Each parameter has a unique type number. Some examples of parameters are: ® Circuit cost o Nbde address '® Linestate ® Node hops Logging sink node DN A also specifies line, circuit, node and module counters and events. These are internal network variables that keep track of errors and network activity at each 5, )'// layer. - The Network Management design specifies only counters and events that are useful to the system manager. For example, certain Routing counters enable a system manager to determine if there are too many packets being discarded by the network . due to congestion. In this case, the manager can adjust parameters that control how packets are routed in order to better balance traffic loads. Additionally, the manager can decide whether or not he needs to order more communication facilities. \\\ ’ p) The Network Management design limits the overhead to the network involved in gathering statistics and errors as much as possible. For example, there are no " Routing counters that detect bugs in the Routing code: Network Management assumes the code is correct. The Routing layer algorithms themselves have been designed to detect and recover from most failures which would disrupt the network operation. 9 The Local Network Management Functions interface to network counters (see Figure 7-1). The Event Logger receives event information (Figure 7-1). Changes in counter values trigger many events. The Local Network Management Functions return counters in response to user level requests. On the other hand, the Event Logger, once set up, records events for user use automatically. Each DNA functional specification contains, if applicable, its Network Management interface, including counters and events. The DNA Network Management Functional Specification contains tables of all Network Management parameters, counters, and events. | Network Management 7-11 7.3 Network Management Messages The three Network Management protocols are: 1. Network Information and Control Exchange (NICE) Protocol. This handles most Network Management functions. 2. Event Logger Protocol. This handles event logging from remote nodes. 3. Loopback Mirror Protocol. This handles the node loopback function. Table’ 7-1 describes the NICE messages. Table 7-1: NICE Messages Description Message Request Down-line Load Requests a specified executor node to down-line load a target node. Request Up-line Dump Requests a specified executor node to dump the memory of a target node. Requests a specified executor node to trigger the bootstrap loader of a Trigger Bootstrap target node. Test Requests a specified executor node to perform a node, circuit, or line Change Parameters Requests a specified executor node to set or clear one or more Network loopback test. Managementparameters. Requests a specified executor node to read a spemfied group of Read Information parameters or counters. Requests a specified executor node to either read and zero or zero a Zero Countérs specified group of counters. Requests a system-specific System Specific - Response Network Management function. Provides request status and requested information in response to a NICE request. There is only one event logger message, the Event message. It provides information when an event occurs.. This information includes: The event sink (in other words, where the event is to be logged -- one or more of console, file, or monitor) The event type and class The date and time the event occurred at the source node The name and address of the source node Whether the event related to a module, node, circuit, or line Specific data concerning the event. Table 7-2 describes the Loopback Mirror Protocol messages. Table 7-2: Loopback Mirror Messages Message Command Response 7-12 Network Management Description Requests a loop test and sends the data to be looped. Returns status information and the looped back data. 7.4 Maintenance Operation Functional Description Maintenance operations are special, primitive functions that must be available without the services of any DNA layers between Network Management and Data Link. Thisis because one of the nodes involvedin the operation may be in a state where it cannot support more than a minimal Data Link. This could be, for example, a node that is being down-line loaded or up-line dumped.” At least some maintenance operation is supported in all of the DNA compatible Data Link protocols. DDCMP supports all functions in its maintenance mode. The X.25 frame level supports line loopbackin a special loopback mode. Ethernet supports all functions as maintenance protocol types. In most cases, maintenance operations are accomplished using the Maintenance Operation Protocol (MOP). In the case of the Ethernet, loopback testing is done with a standard protocol being incorporated into the Ethernet Functional Specification. Maintenance Operation includes the following functions: ® Down-line loading the memory of a computer system. ® Up-line dumping memory contents, usually upon a system failure. ® Loopback testing of the data link and/or its hardware components. @ System console control for a remote and possibly unattended computer system. 7.4.1 MOP Messages Table 7-3, following, describes the MOP messages. Table 7-3: MOP Messages | Message Description without Causes the contents of the image data to be loaded into memory at the load address, and the system to be started at the transfer address. Causes the contents of the image data to be loaded into memory at the Request Memory Dump Requests a dump of a portion of memory to be returnedin a Memory Request Program Requests a program to be sent. Memory Load - Transfer Address Memory Load with " Transfer Address Request Memory Load Dump Data message. | Request Dump Service Memory Dump Data Parameter Load load address. with Requests the next segment of image data in a loading sequence and provides error status on the previous segment. Requests a dump to be taken. Returns the reqflested memory image in response to a Request Memory Dump message. Loads system parameters and transfers control tothe loaded program. Transfer Address Dump Complete Signals completion of a requested dump. Assistance Volunteer Indicates willingness to perform dump or load service in response to a Request Program or Request Dump Service message. \ (continued on next page) Network Management 7413 Table 7-3 (Cont.): MOP Messages Méssage | LoopData | Description ‘Contains data to be sent back in a loopback test. - Looped Data Returns the data from a Loop Data message. Boot - | |. Causes a system to reload itself if the verification code matches and the system is willing to do so. May result in a down-line load. Request ID | System"ID Causes a system to send a System ID message. | Identifies the sending system by, for example, maintenance vérsion, - maintenance functions supported, processor type, etc. Request Counters Causes a system to send a Counters message. Counters Returns Data Link counter values in response to a Request Counters message. Reserve Console - ~ Reserves a system’s console for dialog with the requester. Release Console Releases a console reserved with the Reserve Console message. Console Command and Poll A Sends command data to a reserved console and/or polls for response data. Console Responseand Acknowledge Command and Poll message. Returns response data and/or acknowledges receipt of a Console 7.4.2 MOP Operation | Acéording to functional requests from higher level modules, or in responée to MOP messages received from remote systems, MOP sends appropriate messages within the Data Link envelope. MOP messages and functions handle all message acknowledgment, time-out, and retransmission functions. The node being serviced (being down-line loaded, up-.line' dumped, controlled, or tested) is called the target node. The node providing the services is called the executor node. MOP messages pass alternately between the executor and target. Ideally, a target system would have all programs necessary to process MOP messages available in local main memory, Read Only Memory (ROM), or mass storage. Practically, this is not always the case and programs must be down-line loaded. This requirement to down-line load the desired function even extends to down-line load itself, which must usually be loaded through stages of progressively more capable | loaders. In all MOP message interchanges it is the responsibility of the sender of the request message to time-out and retransmit if a response is not received. 7.4.2.1 Down-line Loading Either the target or the executor system can initiate a down-line load. In either case, the target sends a Program Request message to tell the executor what is needed and to indicate its willingness to cooperate. The major message exchange consists of Memory Load messages from the executor and Request Memory Load responses from the target. The sequence is completed when the host sends a Memory Load with Transfer Address or a Parameter Load with Transfer Address message. On an Ethernet data link, a target can multicast its program request and select an - executor from those responding with an Assistance Volunteer message. 7-14 Network Management 7.4.2.2 Up-line Dumping Up-line dumping is very similar to down-line loading. The target uses the Request Dump Service and Memory Dump Data messages. The executor controls the process with the Request Memory Dump and Dump Complete messages. 7.4.2.3 Link Testing MOP tests the data link by looping a test message from a point in the physical connection. By moving the loopback point and isolating components, the user can diagnose problems. The active side (the executor module controlling the test) sends a Loop Data message out on the link and waits for a response. The passive side returns a Looped Data message if the message is looped at a computer. If the message is looped at an unintelligent point such as a loopback plug, modem, or hard-wired driver, the passive side returns the Loop Data message. The Looped Data message prevents infinite loops between intelligent processors. MOP is not used for link testing on an Ethernet data link. Instead, the Ethernet standard loop protocol is used. 7.4.2.4 System Control MOQOP can be used to control remote, possibly unattended, systems through what can be thought of as a virtual console. The remote system can simply be restarted, using the Boot message. Using the Reserve Console message, an executor can take control of a remote system console and proceed through a complete command dialog carried in the Console Command and Poll messages sent by the executor and the resulting Console Response and Acknowledge messages returned by the target. The session is ended by the executor sending a Release Console message or, in case the executor fails, a lack of executor messages within a time-out period at the target. Network Management 7-15 Glossary access control Screening inbound connect requests and verifying them against a local system account file. - Access control is an optional Session Control function. active side | With regard to MOP loopback tests, the node that controls a test. adjacency A (circuit, node) pair. An Ethernet with n attached nodes represents n-1 adjacencies to a /," Router on that Ethernet. On DDCMP and X.25 circuits, adjacencies and circuits are in \ “one-to-one correspondence, since these circuits interconnect pairs of nodes. - adjacentnode A node removed from another node by a single physical line. aged packet A packet that has exceeded the maximum number of visits. ~ASCII American Standard Code for Information Interchange. This is a seven-bit-plus-parity code established by the American National Standards Institute to achieve between data services. compatibility | asynchronousline A physical line on which the time intervals between transmitted characters may be of //’ unequal length. Bit and byte framing are provided by the Physical Link layer on an N, asynchronous line, while message framing is provided by the Data Link layer. back-off The Ethernet Data Link procedure which ensures stable behavior on overloaded Ethernets by delaying retransmissions to reduce the load on the channel. bandwidth The range of frequencies assignéd to a channel; the difference, expressed in Hertz, between the highest and lowest frequencies of a band. The higher the bandwidth, the more the data throughput. binary synchronous protocol A data link protocol that uses a defined set of control characters and control character sequences for synchronized transmission of binary coded data between stations in a data communications system. | Glossary-1 A distributed channel allocation procedure in which every station can receive all other stations’ transmissions. Each station awaits an idle channel before transmitting, and each station can detect overlapping transmissions by other stations. carT | | The International Telegraph and Telephone Consultative Committee, the technical committee of the International Telecommunications Union (ITU), responsible for the development of recommendatmns regardmg telecommumcatmns including data communications. | channel - The data path joining two or more statlons 1nc1ud1ng the communlcatmns control capablhty of the assomated statlons characteristics | Parameters that are generally static values in volatile memory or permanent values in a permanent data base. Characteristic are a Network Management information type. circuit A logical connection between protocol modules at the Data Link layer. There is one circuit for each DDCMP point-to-point line and one circuit for each tributary station on a DDCMP multi-point line. There is one circuit for each X.25 permanent or switched virtual circuit. There is one circuit for each protocol type on an Ethernet. circuit cost A positive integer value associated with using a circuit. Messages are routed along the path between two nodes with the smallest total cost. client A module that requests service of another module. client layer - Alayer, typically the n+1 layer, which acts as the client of the n layer. collision Overlapping transmissions by two or more stations on an Ethernet. The Etherent Physical 'Link layer detects colhsmns and the Ethernet Data Link 1ayer retransmlts affected data afterarandom interval. command node The node where an NCP command originates. ~congestion The condition that arises when there are too many packets to be queued. Glossary-2 e carrier-sense multiple access with collision detection (CSMA/CD) congestion control - The Routing component that manages buffers by limiting the maximum number of packets on a queue for a line. Also called transmit management. control statlon | To the Data Lmk layer protocol a station. that has overall respons1b111ty for orderly operation of a circuit. | controller The control hardware for a line. For a multiple line controller device the controller is responsible for one or more units. The controller identification is part of a line identification. " cost See circuit cost. CSMA/CD See carrier-sense multiple access with collision detection. | data flow . The movement of data from a source Session Control to a destination Sess1on Control. NSP transforms data from session Control transmit buffers to a network form before sending it across a logical link. NSP retransforms the data at the destination from its network form to its receive buffer form. Data flows in both directions (full-duplex) on a logical link. | data communications equipment(DCE) The equipment that provides the functions required to establish, maintain, and terminate a connection between DTESs using a physical circuit or a virtual circuit. data link | A logical connectlon between two stations on the same c1rcu1t In the case of a mult1p01nt link there can be multlple circuits. | data termnal equnpment (DTE) The equ1pment typically a computer system or termmal comprising a data source and sink connected to common carrier communication fac111tles data transparency | | The capability of receiving, without misinterpretation, data containing bit patterns that resemble protocol control characters. « Nt y datagram A unit of data passed between the Routing Layer and the End C.ommunication layer. When a route header is added, it becomes a packet. Glossary-3 \\_}/ DCE _ See data communications equipment designated router | The Router on an Ethernet chosen to perform additional dutles such as 1nform1ng the endnodes on the Ethernet of the existence and identify of the Ethernet Routers. The Router chosenis the one with highest priority, with highest station address breaking ties. down-lineload ~ To send a copy of a system image or other file over a line to the memory of a target node. DTE See data terminal equipment. EIA Electronic Industries Association. A standards organization spec1a11z1ngin the electrical and functlonal charactenstlcs of 1nterface equipment. end node A topological description of a nonrouting node. Since a nonrouting node cannot perform ~ route-through and supports only a single active line, it must be an end node. However, it is also p0351ble for a routlng node w1th a smgle hne to be an end node | end user module | A module that runs in a user process of a network node and commumcates with Sessmn Control to obtain logical link service. error control The protocol function that ensures the reliable delivery data. | It typically consists of sequencing, acknowledgment, and retransmission mechanisms. ethernet A local area network using a Carrier-Sense Multiple Access with Collision Detect (CSMA/CD) scheme to arbitrate the use of a 10 megabit per second baseband coaxial cable. events Occurrences that are logged for recording by Network Management. executor node The node in which the active Local Network Management Function is running (that is, the \‘\.f'// node actually executing a Network Management command). Glossary-4 flow control The protocol function that ’coordinates the flow of data between two protocol modules to ensure that data is not lost, to prevent buffer deadlock, and to minimize communication overhead. | frame A Data Link layer message as sent or received by an Ethernet data link module or an X.25 Frame level module. | frame level Level 2 of the CCITT X.25 recommendation which defines the link access procedure for data exchange over the link between the DTE and the DCE. framing The Physical or Data Link layer component that synchronizes data at the bit, byte, and message level. | full-duplex channel A channel that provides concurrent communication in both directions (to and from a station). full routing node - An implementation of the DNA Routing layer which contains the full complement of - Routing components. A full routing node performs route-through functions. gateway A module or set of modules which transforms the conventions of one network into the conventions of another. half-duplexchannel | A channel that permits two-way communication, but in only one direction at any instant. hierarchical network A computer network in which processing control functions are performed at several levels by computers specially suited for the functions performed, for example, in a factory or laboratory automation. hop To the Routing layer, the logical distance between two adjacent nodes in a network. hostnhode A node that provides services for another node. Glossary-5 interface The relationship between different modules that are usually in the same node. intra-Ethernet packet A packet forwarded by a Router over an Ethernet to a destination end node which 1nd1cates that the source of the packetis on the same Ethernet »ISO reference model The International Standards Organization Interconnection, ISO draft proposal DP7498. Reference Model for Open System A proposed international standard for network architectures which defines a seven layer model, specifying services and protocols for each layer. jam | A bit sequence transmitted by an Ethernet Data Link module upon detectmg a collision to ensure that all affected stations detect the collision. leased line A nonswitched circuit leased from a public utility company (common carrier) for exclusive use. line A physical path which provides direct communication among.some number of stations. link level loopback Testing a specific data link by sending a message directly to the data link layer and over a - circuit or line to a device that returns the message to the source. link management The DDCMP component that controls transmission and reception on links connected to two or more transmitters and/or receivers in a given direction. Also, the Ethernet data link component whichis responsible for channel allocation (collision avoidance) and contention resolution (collision handling). logging _ \ - Recording information from an occurrence that has potential significance in the operation and/or maintenance of a network in a potential permanent form where it can be accessed by persons and/or programs to aid them in making real-time or long-term decisions. logging sink node A node to which logging information is directed. logical channel An association between an X.25 DTE and its DCE for a given virtual circuit. Glossary-6 logical link 'A virtual circuit between two end user processes in the same node or in separate nodes. Session Control acts as an interface between an end user process requiring logical link service and the End Communication layer which actually creates, maintains, and destroys logical links. loop node A special name for a node that is associated with an adjacency for loop testing purposes. | The NCP SET NODE CIRCUIT command sets the loopback node name. master station A station that has control of a channel at a given instant, for the purpose of sending data - messages to a slave station (whether or not it actually does). maximum cost An operator-controllable Routing Layer parameter that defines the point where the | routing decision algorithm in a node declares another node unreachable because the cost of the least costly path to the other nodeis excessive. For correct operation this parameter must not be less than the maximum path cost of the network. maximum hops An operator-controllable Routing Layer parameter that defines the point where the routing decision algorithmin a node declares another node unreachable because the length of the shortest path between the two nodes is too long. For correct operation this parameter must not be less than the network dlameter maximum path cost 'The routing cost between the two nodes of the network having the greatest routing»coSt, where routing cost is the cost of the least cost path between a given pair of nodes. In Figure 3-1, the maximum path cost is 9. | maximum path length The routing distance between the two nodes of the network having the greatest routing distance, where routing distanceis the length of the least cost path between a glven pa1r of nodes. In Flgure 3-1, the max1mum path cost is 9. maximum visits | An operator-controllable Routing Layer parameter that defines the point where the packet lifetime control algorithm discards a packet which has traversed too many nodes. For correct operation, this parameter must not be less than twice the maximum path length of the network. | message exchange The DDCMP component that transfers data correctly and in sequence over a link. Glossary-7 monitor A logging sink thatis to receive a machme readable record of events for possible real-time - dec1s1on—mak1ng | multldrop line See multipoint line multiple line controller A controller that can manage more than one unit. (DIGITAL multiple line controllers are also called multiplexers.) multlplex To simultaneously transmit or receive two or more data streams on a single channel. multlpomtlme " A line connecting more than two statlons where one statlon is respons1ble for channel control. Also referred to as multldrop network A collection of nodes interconnected by lines. network diameter The reachablhty d1stance between the two nodes of the network having the greatest reachability distance, where reachability distance is the length of the shortest path between a given pair of nodes. In Figure 3-1 the network diameteris 3. node | | An implementation ‘of a compyuter system that supports the Routing Layer, the End Communication layer and Session Control layer. Each nod-_e has a unique node address. - node address - The unique numeric identification of a specific node. " node level loopback Testing a logical link using messages that flow with normal data traffic through the Session Control, End Communication, and Routing layers within one node or from one ‘node to another and back. In some cases node level loopback involves using a loopback ‘node name associated with a particular circuit. node name An optional alphanumeric identification associated with a node address in a strict one-to- one mapping. No name may be used more than once in a node. contain at least one alphabetic character. Glossary-8 The node name must node name mapping table A table that defines the correspondence between node names and node addresses or adjacencies. Session Control uses the table to identify destination nodes for outgoing connect requests and source nodes for incoming connect requests. nonrouting node A Phase III or Phase IV DECnet node that contains a subset of routing modules and can forward and receive packets but not perform route-through. It is connected to the network by a single active circuit. object type A numeric value that may be used for process or task addressing by DECnet processes instead of a process name. An object type is normally used to identify a generic service, such as file access. oSl See ISO reference model. Other Data The NSP Data Reqhest Interrupt Reqnest and Interrupt messages. These are all the NSP data messages other than Data Segment. Because all Other Data messages move in the ~same data subchannel itis somet1mes useful to group them together packet A unit of data to be routed from a source node to a destination node. When stripped of its route header and passed to the End Commumcatlon Layer it becomes a datagram Level 3 of the CCITT X.25 recommendation which defines the packet format and control procedures for the exchange of packets. ' \, . ‘&x—.—»/ h £! packetlevel packet lifetime control The Routing component that monitors adjacencies to detect if an adjacency has gone down, and prevents excessive looping of packets by discarding packets that have exceeded the maximum visit limit. | packet switching See route-through parallel data transmission A data communication techniquein whlch more than one code element (for example b1t) of each byteis sent or received simultaneously. Glossary-9 parameters DNA values to which Network Management has access for controlling and monitoring purposes. - | | | passive side With regard to MOP loopback tests, the node that loops back the test messages. path | A possible route for a packet from source node to destination node. This can be a sequence | of connected nodes between the two nodes. path cost The sum of the circuit costs along a path between two nodes. path length The number of hops along a path between two nodes. peer protocol in the same layer. A protocol for communication between modules | permanent virtual circuit A virtual circuit between two V.25 DTEs that is always established. A logical channel is permanently allocated at each DTE/DCE interface to a permanent virtual circuit. | physical link | An individually hardware addressable communication path. piggybacking | o - Sending an acknowledgment within a returned data or control message. pipelining | Sending messages without waiting for individual acknowledgment of each successive message. " point-to-point circuit A link connecting only two stations. protocol A setof messages with specific formats and rules for exchanging the messages. raw event A logging event as recorded by the source process, incomplete in terms of total information required. Glossary-10 \-a—"/ reachablenode - A node to which a routing node believes it can direct a packet. reassembly The placing of multiple, received data segments by NSP into a single Session Control ~ receive buffer. o : | remote node To one node, any other network node. request count This term has two definitionsin NSP: (1) Variables that NSP uses to determine when to send data, and (2) values sent in Link Service (Data Request and Interrupt Request) messages. | | ' , The flow control mechanism adds the request counts received in Data Request and Interrupt Request messages to the request counts it maintains to determine when to send _ - data. retransmission The resending of messages that have not been acknowledged within a certam period of time. Thisis part of aprotocol’s error control mechanisms. RMS Record Management Services. This file system will be used on all major DIGITAL systems except where space is limited (for example, RT-11). In addition to access modes provided by ‘previous file systems. RMS provides random access for direct and indexed files and ISAM. router See full routing node. route-through The directing of packets from source nodes to destination nodes by one or more intermediary nodes. Routing nodes permit route-through. Also called packet switching. routing | D1rect1ng data message packets from source nodes to destination nodes. routmg node " See full routmg node segment The data carried in a Data Segment message. NSP divides the data from Session Control transmit buffers into numbered segments for transmission over logical links. Glossary-11 segmentation The division of normal data from Session Control transmit buffers into numbered segments for transmission over logical links. A module or set of modules in a layer that perform a well defined service, such as remote file access or gateway communication on behalf of another module. e server system A node which contains one or more servers. A server system is often dedicated to server T | | | | server functions. sink node .< P A node which receives and records Network Management events. slave station A tributary station that can send data only when polled or requested to by a master. control station. ~ star topology A network configurationin whlch one central nodeis connected to more than one adjacent end node. A star can be a subset of a larger network. | station | With regard to the Data Link layer protocol, a termination on a data link. A station is a combination of the physical link (communication hardware) and the data 11nk protocol | implementation. station address An address assigned at the data link level to a station. status o | Dynamic information relating toa network such as a line state. A Network Management information type. subchannel A logical communication path within a loglcal link that handles a defined category of NSP data messages. Because Data Segment messages are handled differently from Other Data messages, the two types of messages can be thought of as travelling in two different subchannels. switched virtual circuit A temporary association between twoX.25 DTEs. Glossary-12 synchronousline - | A physical line on which data characters and bits are transmitted at a fixed rate with transmitter and receiver synchronized. Bit framing is provided by the Physical Link layer on a synchronous line, while byte and message framing are provided by the Data Link layer. target node | | The node that receives a memory image during a down-line load, generates an up-line dump, or loops back a test message. topology The physical arrangement and relationships of interconnected nodes and lines in a network. A legal topology satisfies the requirements of the Routing Layer specification. transparent data Binary data transmitted with the recognition of most control éharacters suppressed. For example, DDCMP provides data transparency because it can receive, without misinterpretation, data containing bit patterns that resemble DDCMP control characters. tributary station A station on a multipoint line that is not a control station. unit | | | The hardware controlling one circuit on a multiplé line controller. A unit, a controller, and associated Data Link modules form a station. See Figure G-1. unreachable node A node to which a routing node has determined that the cost of the least costly path exceeds the maximum cost of the network, or the length of the least costly path exceeds the maximum hops of the network. up-linedump To send a copy of a target node’s memory image up a line to a file at the host node. user A person or module which requests service from a layer. Client is the preferred terminology when referring to modules. virtual call See switched virtual circuit. virtual circuit A connection between a data source and a sink in a network. They may be realized by different circuit configurations. Virtual circuits typically provide guaranteed delivery and sequentiality of client data. | Glossary-13 wild card With regard to DAP, an asterisk (*) that replaces an element in a file specification. The asterisk specifies all known items in the range indicated by its position. For example, FILE.*;* specifies all known type, and versions of all files named FILE. window A range of packets authorized for transmission across an X.25 DTE/DCE interface. ~ Glossary-14 DECnet Architecture General Description AA-N149A-TC READER’S COMMENTS NOTE: This form is for document comments only. DIGITAL will use comments submitted on this fofin_ét the company’s discretion. If you require a written reply and are eligible to receive one under Software Performance Report (SPR) service, submit your comments on an SPR form. | \ ,/; Did you find this manual understandable, usable, and well-organized? Please make suggestions for improvement. \Wl | Did ybu find errors in this manual? If so, specify the error and the page number. Please indicate the type of user/reader that you most nearly represent. 3 3 [1 Assembly language programmer [1 Higher-level language programmer [0 Occasional programmer (experienced) [0 User with little programming experience ! Student programmer [0 Other (please specify) Name Date Organization ) Street City State Zip Code or Country — == — ==[)o Not Téar - Fold Here and Tape — — — — — — | ——— — e — Necessary if Mailed in the United States . dlilg 1l i No Postage . BUSINESS REPLY MAIL FIRST CLASS PERMIT NO.33 MAYNARD MASS. | i | | | | SOFTWARE DOCUMENTATION i \\. POSTAGE WILL BE PAID BY ADDRESSEE 1925 ANDOVER STREET TW/EOQ7 — — — — — — — — Cut Along Dotted Line — _ — — — — I Do Not Tear - Fold Here and Tape I — — — | . TEWKSBURY, MASSACHUSETTS 01876
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies