|
Digital Equipment Corporation designed the DECnet stack of protocols in the 1970's as part of its Digital Network Architecture (DNA). DNA supports DECnet routing over Ethernet, Token Ring, Fiber Distributed Data Interface (FDDI), HDLC, PPP, Frame Relay, SMDS, X.25, and IEEE 802.2.
DECnet supports both connectionless and connection-oriented network layers implemented by OSI protocols. DECnet's most recent product release is called Phase V, which is equivalent to ISO CLNS. Phase V is compatible with the previous release, Phase IV. Phase IV was similar to OSI routing, while Phase V implements full OSI routing including support for end system-to-intermediate system (ES-IS) and intermediate system-to-intermediate system (IS-IS) connections. An ES is a nonrouting network node; an IS refers to a router. ES-IS support allows ESs and ISs to discover each other. IS-IS provides routing between ISs only.
This chapter describes how to configure our implementation of the DECnet routing protocol. For a complete description of the commands in this chapter, refer to the "dECnet Commands" chapter of the Router Products Command Reference publication. For historical background and a technical overview of DECnet and other protocols, see the Internetworking Technology Overview publication.
DECnet support on a Cisco router includes local-area and wide-area DECnet Phase IV routing over Ethernet, Token Ring, FDDI, and serial lines (X.25, Frame Relay, SMDS). The following are the specifics of Cisco's support:
Cisco routers interoperate with Digital routers, and Digital hosts do not differentiate between a Cisco router and a Digital router.
Cisco's implementation differs from Digital's in the following ways:
You can add Phase V support without modifying your existing Phase IV support.
Cisco's implementation delays converting packets from Phase IV to Phase V, while Digital's implementation converts as soon as possible.
To configure DECnet routing, complete the following tasks. Only the first task is mandatory; all other tasks listed are optional.
Configuration examples are found at the end of this chapter.
In order to enable DECnet routing, you must complete the following tasks in global configuration mode:
First you must enable DECnet routing on the router. To do so, perform the following task in global configuration mode:
Task | Command |
---|---|
Enable the DECnet protocol on a global basis. | decnet [network-number] routing decnet-address |
A DECnet host exists as a node in an area. An area spans many routers, and a single interface can have many areas attached to it. Therefore, if a router exists on many cables, it uses the same area/node for itself on all of them. Note how this differs from other routing protocols, where each interface is given a different internetwork address. Figure 1-1 shows the DECnet approach.
Enabling DECnet changes the MAC addresses of the router's interfaces. This is not a problem on routers equipped with nonvolatile memory. On systems that attempt to get their IP network addresses from network servers instead of from nonvolatile memory, there may be a problem with the hardware addresses changing and confusing other IP-speaking hosts. If you are attempting to use DECnet on such a configuration, be sure to set all global DECnet parameters before enabling DECnet routing on the interfaces.
Once you have enabled DECnet routing, you can obtain MAC addresses by using the show interfaces EXEC command. To disable DECnet routing, use the no decnet routing command.
After you have enabled DECnet routing on the router, you do not need to manually set each interface address on the router. However, you must assign a cost to each interface over which you want DECnet to run. A MAC address is automatically assigned to each interface for which you enter a cost. This section describes how to assign a cost to each interface.
Assigning a cost in effect enables DECnet routing for an interface. DECnet routing decisions are based on cost, an arbitrary measure used to compare paths on the internetwork. Costs are based on such measures as hop count or media bandwidth.The lower the cost, the better the path. You must assign a cost to each interface.
To assign a cost to each interface, perform the following task in interface configuration mode:
Task | Command |
---|---|
Assign a cost to each interface over which DECnet will run. | decnet cost cost-value
|
Most DECnet installations have individualized routing strategies for using costs. Therefore, check the routing strategy used at your installation to ensure that the costs you specify are consistent with those set for other hosts on the network.
Figure 1-2 shows four routers, three Ethernets, and the various routes linking them. Each link has a different cost associated with it. The least expensive route from Router 7 to Router 20 is via Router 12.
DECnet routing nodes are referred to as either Level 1 or Level 2 routers. You must specify the router's node type. A Level 1 router exchanges packets with other end nodes and routers in the same area and ignores Level 2 packets. Level 2 routers participate in the DECnet routing protocol with other routers and route packets to and from routers in other areas. Level 2 routers also act as Level 1 routers in their own area.
The keyword area indicates a Level 2, interarea, router. The keyword routing-iv indicates a Level 1, intra-area, router. In Level 1 mode, the router sends packets destined for other areas to a designated interarea router, which forwards them outside the area.
To specify the node types, perform the following task in global configuration mode:
Task | Command |
---|---|
Specify the node type of the router. | decnet [network-number] node-type {area | routing-iv} |
A simple example of how to configure DECnet is found in the "DECnet Configuration Examples" section at the end of this chapter.
If any Cisco routers are running Software Release 9.0 or earlier, you can use the Token Ring as a backbone or transit network for DECnet routing but you cannot communicate with non-Cisco DECnet nodes on the Token Ring. For this mode, encapsulation is already set to pre-dec.
If all Cisco routers are running Software Release 9.1 or later, you can set DECnet encapsulation to allow Cisco interoperation with non-Cisco equipment. Use the keyword dec to provide encapsulation that is compatible with other Digital equipment.
If you have both 9.0 and 9.1 routers in the same network, and you want them to interoperate, you must set the encapsulation type to pre-dec on the 9.1 routers.
To run DECnet on Token Ring interfaces, you must complete the following steps in the order specified:
To complete these steps, perform the following tasks:
If you set up multiple networks, we recommend that you configure Address Translation in order to avoid problems with duplicate addressing between networks. If you have multiple DECnet networks, you must establish an address translation table for selected nodes between networks. This eliminates any potential problems of duplicate addressing occurring between networks. Address Translation Gateway (ATG) allows you to define multiple DECnet networks and map between them.
Configuring ATG allows the router to route traffic for multiple independent DECnet networks and to establish a user-specified address translation for selected nodes between networks. Address translation allows connectivity between DECnet networks that might not otherwise be possible due to address conflicts (duplicate addresses) between them. Configuring ATG can be done over all media types.
When you use ATG, all the DECnet configuration commands implicitly apply to network number 0 unless you specify otherwise.
To translate a virtual DECnet address to a real network address, perform the following task in global configuration mode:
Task | Command |
---|---|
Establish a translation entry to translate a virtual DECnet address to a real DECnet address for the router. | decnet first-network map virtual-address second-network real-address |
To display the address mapping information used by the DECnet ATG, use the show decnet map EXEC command.
A simple example of how to configure address translation can be found in the "DECnet Configuration Examples" section at the end of this chapter.
As an additional feature and security precaution, DECnet "Poor Man's Routing" can be used between nodes outside of the translation map as long as those nodes have access to nodes that are in the map. For example, referring to Figure 1-4 in the "DECnet Configuration Examples" section later in this chapter, a user on node B could issue the following VMS operating system command:
$ dir A::D::E::
When a Poor Man's Routing connection is made between two networks, only the two adjacent nodes between the networks will have any direct knowledge about the other network. Application-level network access can then be specified to route through the connection.
Routers that have conversion enabled advertise reachability to both Phase IV and Phase V hosts in both Phase IV and Phase V routing updates. If you have Phase IV hosts in Phase V networks and vice versa, you must enable Phase IV-to-Phase V conversion (and vice versa) in order for all nodes to communicate with each other. To enable DECnet conversion, you must have both DECnet and ISO CLNS configured on your router. Then perform the following task in global configuration mode:
Task | Command |
---|---|
Enable DECnet Phase IV-to-Phase V (and vice versa) conversion on the router. | decnet conversion nsap-prefix
|
Make sure that the area you specify in the decnet conversion command is the same as the area you specified for the ISO CLNS network.
One limitation of the Phase IV-to-Phase V conversion has been the inability to propagate Phase IV area routes through OSI clouds. Using the "advertise" feature, you can explicitly configure any DECnet Phase IV areas that you want to propagate outward. You configure the border routers at the Phase IV/Phase V junction.
When distant routers send a packet destined across the cloud to a border router, the router converts the route and sends it as an OSI packet. In order for the converting router to have the corresponding (OSI) entry to which to convert the Phase IV packet, the other border router at the Phase IV/V junction must inject "static discard" routes. In this way, the first router converts the packet from Phase IV to Phase V, sending it through the cloud, and at the other end, the router advertising the static discard route discards the packet and converts it back to Phase IV. In effect, a fake entry is created in the Phase IV area table to propagate this information to other routers. This entry will not overwrite a native Phase IV entry if one already exists in the table.
To enable Phase IV areas to propagate through an OSI backbone on the router, perform the following task in global configuration mode:
Task | Command |
---|---|
Enable DECnet Phase IV areas to propagate through an OSI backbone on the router. | decnet advertise decnet-area hops cost |
An example of how to enable a Phase IV area through an OSI backbone can be found in the "DECnet Configuration Examples" section at the end of this chapter.
You can configure the maximum number of addresses and areas allowed in the router's routing table. It is best to keep routing updates small. All areas or nodes that cannot be reached must be advertised as unreachable to the router. When configuring the routing table size, indicate the maximum node and area numbers that can exist in the network. In general, all routers on the network should use the same values for maximum addresses and nodes.
To establish the routing table size, perform either or both of the following tasks in global configuration mode:
Perform any of the tasks in the following section for the routers you have configured as Level 1 (intra-area) routers. In Level 1 mode, the router sends packets destined for other areas to a designated interarea router, which forwards them outside the area.
You can set the maximum cost that the router considers usable for intra-area routing. The router ignores routes within its local area that have a cost greater than the value you specify.
You also can set the maximum number of hops, or traversal of different paths that the router considers usable for intra-area routing. The router ignores routes within its local area that have a value greater than you specify.
To set certain intra-areas as unreachable based on cost value or hop count, perform either or both of the following tasks in global configuration mode:
Perform any of the tasks in the following section for the routers you have configured as Level 2 (interarea) routers. In Level 2 mode, the router sends packets destined for other areas via the least-cost path to another interarea router.
You can set the maximum cost for a usable route to a distant area. The router treats as unreachable any route with a cost greater than the value you specify.
You also can set the maximum number of hops for a usable route to a distant area. The router treats as unreachable any route with a count greater than the value you specify.
To set certain interareas as unreachable based on cost value or hop count, perform either or both of the following tasks in global configuration mode:
You can determine the router to which all end nodes on an Ethernet communicate if they do not know where else to send a packet. This router is called the designated router and is the router with the highest priority. When two or more routers on a single Ethernet in a single area share the same highest priority, the router with the highest node number is selected. You can reset a router's priority to help ensure that it is elected designated router in its area. This is specified on a per-interface basis.
To specify designated routers, perform the following task in interface configuration mode:
Task | Command |
---|---|
Assign or change a priority number to a router on a per-interface basis to receive packets for which no destination is specified. | decnet router-priority value |
We provide several layers of access control for network security. You can complete any or all of the following tasks:
You can configure lists globally to control access by source addresses. The standard form of the DECnet access list has a source DECnet address followed by a source-mask address, with bits set wherever the corresponding bits in the address should be ignored. DECnet addresses are written in the form area.node. For example, 50.4 is area 50, node 4. All addresses and masks are in decimal notation.
To create a standard DECnet access list, perform the following task in global configuration mode:
Task | Command |
---|---|
Create an access list to restrict access to a single address. | access-list access-list-number {permit | deny} source source-mask |
To disable the list, use the no access-list command.
The extended form of the DECnet access list has a source DECnet address and mask pair, followed by a destination DECnet address and mask pair.
To configure an extended DECnet access list, perform the following task in global configuration mode:
Task | Command |
---|---|
Create an extended access list for several addresses. | access-list access-list-number {permit | deny} source source-mask destination destination-mask |
To disable the extended access list, use the no access-list command.
DECnet access lists can be used to filter connect initiate packets. With these packets, you can filter by DECnet object type, such as MAIL.
To add filters to access lists, perform the following task in global configuration mode:
You can restrict access to specific interfaces by applying an access list to them. Interfaces that are associated with the same access list are considered to be an access group.
To configure access groups, perform the following task in interface configuration mode:
Task | Command |
---|---|
Assign an access list to a specified interface. | decnet access-group access-list-number |
You can control access to Hello messages or routing information being received or sent out on an interface. Addresses that are not in the access list are shown in the update message as unreachable.
To configure routing filters, perform the following task in interface configuration mode:
To optimize internetwork performance, complete any or all of the following tasks:
You can set the maximum number of equal-cost paths to a destination on a global basis. Limiting the number of equal-cost paths can save memory on routers with limited memory or very large configurations. Additionally, in networks with a large number of multiple paths and end systems with limited ability to cache out-of-sequence packets, performance might suffer when traffic is split between many paths.
To set maximum equal-cost paths, perform the following task in global configuration mode:
Task | Command |
---|---|
Set the maximum number of equal-cost paths to a destination. Paths are set in the routing table. | decnet [network-number] max-paths value |
Use the show decnet route EXEC command to display the first hop route to a specified address and to show all equal-cost paths to a single destination.
You can establish one of two methods for selecting among paths of equal cost on the router: on a round-robin basis, which is the default, or by configuring the router so that traffic for any higher-layer session is always routed over the same path.
To select among paths of equal cost on the router, perform one of the following tasks in global configuration mode:
Task | Command |
---|---|
Specify that traffic is routed over equal-cost paths on a round-robin basis.
or Specify that traffic is always routed over the same path. | decnet path-split-mode normal
|
In the round-robin or normal mode, the first packet is sent to the first node, the second packet to the second node, and so on. If the final node is reached before all packets are sent, the next packet in line is sent to the first node, then to the second node, and so forth.
The interim mode supports older implementations of DECnet (VMS Versions 4.5 and earlier) that do not support out-of-order packet caching. Other sessions might take another path, thus using equal-cost paths that a router might have for a particular destination.
You can determine the number of times that a packet can pass through a router. The router ignores packets that have a value greater than the amount of visits you specify. Digital recommends that the value be at least twice that of the max-hops parameter, to allow packets to reach their destinations when routes are changing.
To set the number of times a packet can pass through a router, perform the following task in global configuration mode:
Task | Command |
---|---|
Set the number of times a packet can pass through a router. | decnet [network-number] max-visits value |
Hosts use the Hello messages to identify the hosts with which they can communicate directly. The router sends Hello messages every 15 seconds by default. On extremely slow serial lines, you may want to increase this value on a per-interface basis to reduce overhead.
To adjust the interval for sending Hello messages, perform the following task in interface configuration mode:
Task | Command |
---|---|
Adjust the interval (in seconds) for sending Hello messages on interfaces with DECnet enabled. | decnet hello-timer value |
By default, our DECnet routing software implements fast switching of DECnet packets. You may want to disable fast switching in order to save memory space on interface cards and help avoid congestion when high-bandwidth interfaces are writing large amounts of information to low-bandwidth interfaces. This is especially important when using rates slower than T1.
To disable fast switching of DECnet packets, perform the following task in interface configuration mode:
Task | Command |
---|---|
Disable fast switching of DECnet packets on a per-interface basis. | no decnet route-cache |
If a router configured for DECnet experiences congestion, it sets the congestion-experienced bit. You can define the congestion threshold on a per-interface basis. By setting this threshold, you will cause the system to set the congestion-experienced bit if the output queue has more than the specified number of packets in it.
To set the congestion threshold, perform the following task in interface configuration mode:
Task | Command |
---|---|
Set the congestion threshold. | decnet congestion-threshold number |
Other routers use broadcast updates to construct local routing tables. Increasing the time between routing updates on a per-interface basis reduces the amount of unnecessary network traffic. Digital calls this parameter the broadcast routing timer because they use a different timer for serial lines. Our DECnet implementation does not make this distinction.
To adjust the broadcast routing timer, perform the following task in interface configuration mode:
Task | Command |
---|---|
Adjust how often the router sends routing updates that list all the hosts that the router can reach on a per-interface basis. | decnet routing-timer value |
You can configure DECnet over X.25, SMDS, and Frame Relay networks. To do this, configure the appropriate address mappings as described in the chapters "X.25 and LAPB Commands," "Frame Relay Commands," and "SMDS Commands," respectively.
To clear counters, test network node reachability, and display DECnet interfaces, paths, costs, access lists, address translation maps, routing tables, and traffic statistics, perform the following tasks at the EXEC prompt:
This section provides examples that show some common DECnet configuration activities. The configuration examples address the following areas:
The following example illustrates the commands required for enabling DECnet. DECnet routing is established on a router at address 4.27. The node is configured as a Level 2, or interarea router. A cost of four is set for the Ethernet 0 interface. A cost of ten is set for the serial 1 interface.
!
decnet routing 4.27
decnet node area
interface ethernet 0
decnet cost 4
interface serial 1
decnet cost 10
!
The following example illustrates how to configure border routers to propagate Phase IV areas through an OSI backbone using the advertise feature. Figure 1-3 illustrates the network, and the configurations that follow illustrate the commands required for enabling the advertise feature.
Router X in Area 8 wants to communicate with Router Y in Area 9.
decnet conversion 49
!Propagate Area 9 reachability information
decnet advertise 9 4 2
!Create dummy OSI route to force conversion to Phase IV
clns route 49.0008 discard
!
decnet conversion 49
!Propagate Area 8 reachability information
decnet advertise 8 6 3
!Create dummy OSI route to force conversion to Phase IV
clns route 49.0009 discard
!
Router A's routing table will then contain the following, as displayed with the show decnet route EXEC command:
Area Cost Hops Next Hop to Node Expires Prio
*1 0 0 (Local) -> 1.1
*8 4 1 Ethernet1 -> 8.1 35 64 A
*9 5 2 Ethernet0 -> 1.2
Node Cost Hops Next Hop to Node Expires Prio
*(Area) 0 0 (Local) -> 1.1
*1.1 0 0 (Local) -> 1.1
*1.2 4 1 Ethernet4 -> 1.2 38 64 VA
Router B's routing table will then contain the following:
Area Cost Hops Next Hop to Node Expires Prio
*1 0 0 (Local) -> 1.2
*8 8 2 Ethernet0 -> 1.1
*9 4 2 (OSI) -> 1.2
Node Cost Hops Next Hop to Node Expires Prio
*(Area) 0 0 (Local) -> 1.2
*1.1 4 1 Ethernet0 -> 1.1 37 64 VA
*1.2 0 0 (Local) -> 1.2
Router C's configuration would be as follows:
Area Cost Hops Next Hop to Node Expires Prio
*2 0 0 (Local) -> 2.1
*8 6 3 (OSI) -> 2.1
*9 8 2 Ethernet0 -> 2.2
Node Cost Hops Next Hop to Node Expires Prio
*(Area) 0 0 (Local) -> 2.1
*2.1 0 0 (Local) -> 2.1
*2.2 4 1 Ethernet0 -> 2.2 33 64 VA
In Figure 1-4, the router is connected to two DECnet networks using Ethernet. The following example illustrates how to configure address translation (ATG) between Network 0 and Network 1.
In Network 0, the router is configured at address 19.4 and is a Level 1 router. In Network 1, the router is configured at address 50.5 and is an area router. At this point, no routing information is exchanged between the two networks. Each network in the router has a separate routing table.
!
decnet 0 routing 19.4
decnet 0 node routing-iv
interface ethernet 0
decnet 0 cost 1
!
decnet 1 routing 50.5
decnet 1 node area
interface ethernet 1
decnet 1 cost 1
!
To establish a translation map, enter these commands:
decnet 0 map 19.5 1 50.1
decnet 1 map 47.1 0 19.1
Packets in Network 0 sent to virtual address 19.5 will be routed to Network 1, and the destination address will be translated to 50.1. Packets sent to virtual address 47.1 in Network 1 will be routed to Network 0 as 19.1.
Table 1-1 defines the parameters for the translation map.
Source | Destination | |||
---|---|---|---|---|
A packet addressed as: | 19.1 | | 19.5 | is received on Ethernet0 as 19.5 |
Translates to: | 47.1 | | 50.1 | and is transmitted out Ethernet1 as 50.1 |
A reply packet: | 50.1 | | 47.1 | received on Ethernet1 |
Translates to: | 19.5 | | 19.1 | and is transmitted on Ethernet0 |
Network 0 uses a block of addresses from its area to map the remote nodes. In Network 0, the router will advertise nodes 19.5 and 19.6. These nodes must not already exist in Network 0.
Network 1 uses another area for the address translation. Since the router will be advertising the availability of area 47, that area should not already exist in Network 1, because DECnet area fragmentation could occur.
Only nodes that exist in the maps on both networks will be able to communicate directly. Network 0 node 19.1 will be able to communicate with Network 1 node 50.1 (as 19.5), but will not be able to communicate directly with Network 1 node 60.1.
When naming nodes, use the appropriate address in each network. See the lists that follow for examples.
$ MCR NCP
define node 19.1 name A
define node 19.2 name B
define node 19.3 name C
define node 19.4 name GS
define node 19.5 name D
define node 19.6 name F
$ MCR NCP
define node 50.1 name D
define node 50.5 name GS
define node 60.1 name E
define node 19.1 name F
define node 47.1 name A
define node 47.2 name C
|