DECnet
Introduction
DECnet Phase IV and Phase V (DECnet/OSI) are supported by Bay Networks routers. DECnet uses
a distance vector (Bellman-Ford) routing algorithm for determining a route, and updates occur
according to an interval timer and any network changes.
At the Physical and Data link layers there are the following modules:
- DDCMP: Digital Data Communications Message Protocol which supports sync and asynch
over point-to-point and multipoint connections.
- X.25: Supports LAPB.
- Ethernet: Ethernet 2 not 802.3.
- CI: Cluster Interconnect, DECs file-sharing for backups mainly.
- FDDI: Cluster Interconnect, DECs file-sharing for backups mainly.
- Token Ring: 802.5.
There are various protocols which sit at the various DEC layers (equivalent to OSI model);
The DECnet routing protocol, NSP (Network Services Protocol, which performs Logical Link
creation, Sequential Data Delivery, Buffer Flow control and Data segmentation), DAP (Data
Access Protocol used for file transfer), NCP (Network Control Program which maintains
all software across all the layers), NICE (Network Information and Control Exchange) and
MOP (Maintenance Operation Protocol which carries out tests and downloads).
DECnet Addressing
A DECnet address is of the following format:
Area number . Node number
The area number is 6 bits and can be in the range 1 - 63. The node number is 10 bits and lies
in the range 1 - 1023.
Only one DECnet address is assigned per node, regardless of the number of interfaces. Bay
Networks routers can have a different DECnet address assigned on each of its interfaces so
allowing a router to reside in multiple areas. A node has a system manager which maintains
a remote node database which lists DECnet node names and addresses.
Irrespective of the actual MAC address of an interface, the DECnet software dynamically maps
the DECnet address to a MAC address as follows:
Take the DECnet address 7.3; the binary for this is 000111.0000000011
The first step is to split the 16 bits into two 8 bit parts to give:
00011100.00000011
Then these two parts are reversed to give:
00000011.00011100
Each part is converted to hexadecimal and appended to the DEC vendor code 'AA-00-04' (along
with a pad of '00' to fill the address out.
So '00' is added to '03-1C' to give '00-03-1C' and this, in turn, is added to 'AA-00-04' to give a
MAC address of 'AA-00-04-00-03-1C'.
FF-FF-FF-FF-FF-FF Broadcast address which is never used within DECnet.
AB-00-00-03-00-00 Hello and update to all routers.
AB-00-00-04-00-00 Router hello to all end nodes.
09-00-2B-02-00-00 Hello and Updates to level 2 routers
AB-00-00-01-00-00 DNA Dump/Load Assistance (MOP)
AB-00-00-02-00-00 DNA Remote Console (MOP)
09-00-2B-00-00-0F LAT (Local Area Transport), terminal clusters (layer 2)
DECnet Routing
A node can be either an End Node, a Level 1 Router or a Level 2 Router (such as a Nortel Networks or Cisco
router).
End Node: Has only one interface and relies on a level 1 router for all routing
functions and it finds the router by listening for the level 1 router's multicast hello
message. An end node regularly transmits an end node hello multicast message informing level
1 routers of its existence using the following steps:
1) Check its end node cache (which contains the most recent 5 addresses that it has been in
contact with) for the target node address. If it fails to find it then it goes to step 2.
2) Check for a designated router to get to the target node, if it cannot find a designated
router, then it goes to step 3.
3) Calculates the MAC address and sends the packet anyway.
The following diagram describes the Ethernet End Node Hello Message:
The Data Link Control (DLC) fields describe the destination as all routers (AB-00-00-03--00-00),
the source address of the end node and the protocol type (DECnet is 60-03).
The DECnet Routing Protocol (DRP) fields within the End Node Hello Message are described below:
- Flags: (1 byte) Identifies packet as an end node hello.
- Tiver: (3 bytes) Version and Encoding Change Order (ECO) numbers.
- Id: (6 bytes) Transmitting node ID.
- Iinfo: (1 byte) Identifies sender as end node.
- Blksize: (2 bytes) Maximum data area size.
- Area: (1 byte) Reserved.
- Seed: (8 bytes) Verification seed (not used on ethernet).
- Neighbor: (6 bytes) ID of designated router.
- Timer: (2 bytes) Hello timer (seconds).
- Mpd: (1 byte) Reserved.
- Data: (0 to 128 bytes).
Level 1 Router
This performs routing within an area and regularly advertises itself
using multicast hello messages. It can find the nearest (least cost) level 2 router, although
it cannot see the level 2 router's routing tables. It listens to router hellos and end node
hellos and will transmit hello messages if; a local circuit is activated, hello messages have
stopped from an end node or a topology change has occurred.
Referring to the above diagram, in the level 1 router hello packet the DLC fields will be the same as the
end node hello message, other than the destination address could be end nodes
(AB-00-00-04-00-00) as well as routers.
The DECnet Routing Protocol (DRP) fields within the End Node Hello Message are described below:
- Flags: (1 byte) Identifies packet as a router hello.
- Tiver: (3 bytes) Version and Encoding Change Order (ECO) numbers.
- Id: (6 bytes) Transmitting node ID.
- Iinfo: (1 byte) Identifies router as a level 1 type.
- Blksize: (2 bytes) Maximum data area size.
- Priority: (1 byte) Priority of transmitting router.
- Area: (1 byte) Reserved.
- Timer: (2 bytes) Hello timer (seconds).
- Mpd: (1 byte) Reserved.
- E-list: List routers on the same ethernet segment.
Every 3 minutes a router update message is sent to all routers, the DLC fields are the same as
for an end node hello message, however the DRP fields are as follows:
- Flags: (1 byte) Identifies packet as a level 1 router message.
- Srcnode: (2 bytes) Address of originating node.
- Res: (1 byte) Reserved.
- Segment: Routing update segment. This is made up of 3 parts; the Count (2 bytes)
which contains the number of nodes within a segment, Startid (2 bytes) which is the node number
of the first node of the segment, and Hops/Cost (1 byte) which is the cost value to each node
from this particular router.
Level 2 Router
This performs routing between areas as well as all the functions of a
level 1 router and regularly exchanges router topology information with other level 2 routers.
Referring to hello packet diagram, in the level 2 router hello packet the DLC fields will be the same as the
level 1 router hello message.
DECnet Routing Parameters
- Hop: One hop is the distance between two nodes, nodes separated by one hop are
adjacent.
- Cost: This applies on a circuit to outgoing traffic only and is inversely
proportional to line speed.
- Visit: The number of L1 and L2 nodes that a packet has travelled.
- Priority: This only applies to L1 routers within a LAN environment, the router
with the highest priority becomes the designated router, or failing that the L1 router
with the highest address. If a designated router is not found, the end nodes attempt to
transmit packets anyway, a designated router just makes more efficient use of bandwidth.
An example of node to node communication across different areas
Jim (9.2) wants to talk to Andy (3.3) so the name Andy is mapped to address 3.3. Jim relies
on Bristol (which he knows about from the multicast router hello packets sent from Bristol,
which acts as both a Level 1 router and a Level 2 router) for routing, so Jim sends his packet
to Bristol. Since Bristol is the area router for area 9, it receives level 2 routing updates
from London and Edinburgh from which it discovers that the least cost path to area 3 is via
London, so the packet is sent to London. London is the level 2 area router for area 3 and
from the inter-area routing tables finds that Andy is 2 hops away at a cost of 12, so it sends
the packet to Brighton. Because Brighton has received end node hello messages from Andy, it
knows Andy is only 1 hop away (i.e. adjacent) so the packet is forwarded to Andy.
The following diagram describes the routing control fields in a DECnet data packet:
- Flags: Each bit within the flags byte has a use; bits 0 to 2 define the Long
Format Data Packet (LFDP) which is '111' (6) for ethernet or '010' (2) for point to point.
Bit 3 is Return to Sender Request (RQR) which is set to '1' for 'try to return' or '0' for
discard. Bit 4 is Return to Sender (RTS) and a '1' means that the packet is on a return trip.
Bit 5 is for Intra thernet, bit 6 is Version where '0' is 'normal' and '1' is 'discard', and
bit 7 is the Pad Field (PF) and is not used.
- D-id: Destination id.
- S-id: Source id.
- Visit: Visit count.
DECnet Bridging and filtering
Within a bridging environment there are a number of protocols that are not routable;
- 60-01: DNA Dump/Load (MOP).
- 60-02: DNA Remote Console (MOP).
- 60-04: Local Area Transport (LAT).
- 60-07: Local Area VAX Cluster (LAVC) which sends hellos every 5 seconds and is,
therefore, bandwidth consuming.
If any of these protocols are required, for instance if LAT printer services are required by
an end node several hops away, then the intervening routers would need to have bridging enabled
to allow the protocols to run across the network.
A DECnet Inbound Filter can Drop or Log packets on reception, and the predefined filters
that can be used are; Destination Area, Destination Node, Source Area and Source Node.
A DECnet Outbound Filter can Drop or Log outbound packets based on the MAC Source Address,
the MAC Destination Address or the Ethernet Type. Protocol Prioritization needs to be
enabled and outbound filters can only be applied to synchronous interfaces.
Static Adjacencies
A static adjacency includes the DECnet address of the neighbour, the MAC address of the
neighbour and the circuit used to reach the neighbour. If two routers within the same area
have a static adjacency defined, then hello messages need not be sent, thereby reducing
the network overhead. If a static adjacency is defined between two routers in separate areas,
then node hello messages, router hello messages and level 1 topology updates can be eliminated.
If there is an expensive link (e.g. X.25) within a particular WAN, then it would be prudent
to define different areas at each end and create a static adjacency between them. In this
way, only level 2 information is exchanged thereby minimising the traffic across the link.
|