Source for VMEbus, PMC Modules, CompactPCI, Single Board Computers, Rackmount Servers, and Rackmount Chassis

Ordering Form   

Unit of Measurement Converter

 

VoxTechnologies Enterprise Network Series

Disclaimer
Assumptions
Why PNNI-1?
PNNI-1 and Peer Groups
Address Scoping
Designated Transit Lists
PNNI-1 without PGLs
Crankback
Summary
 

PNNI-1

Private Network to Node Interface -- Phase One

by
Michael Patterson

 


Disclaimer

 

This interpretation of PNNI-1 technology is based almost entirely on the af-pnni-0055.000 PNNI-1 specification from the ATM Forum. The author of this paper has done his best to correctly explain this protocol and related topics. This document is intended to simplify many of the topics discussed in the PNNI-1 specification, and because of this, many sentences and even some paragraphs in this document are taken directly from the stated specification. The author of this paper has attempted to provide a fair example of a scalable PNNI-1 network, which may not be the best configuration for every situation. The following material is not necessarily proprietary to Enterasys equipment, though Enterasys devices are used in most of the examples.

This white paper intends to explain PNNI-1 in a basic configuration with little regard for proper network design. Network design in an ATM infrastructure needs to take into account the applications running on the network (database, video streaming, Web, etc.), the number of end stations, the QoS necessary for the end users (UBR, ABR, VBR, CBR, etc.), critical nodes, and the higher layer protocols being used (IP, IPX, AppleTalk, DecNET, etc.). Because of the enormous amount of information involved, design is not considered in this document.


 

Assumptions

 

The author of this paper assumes that the reader has an understanding of basic ATM principles such as the 20 byte NSAP address, UNI signaling, VCC, PVC, SVC, VPI, VPC, VCI, CAC, RIP, OSPF, B-ICI, LANE concepts (LES, BUS, LECS, LEC, etc.), and basic QoS considerations. Due to the length of NSAP addresses, it becomes laborious to type them repeatedly. In an effort to save time and preserve the author's sanity, most of the NSAP addresses used in this paper are abbreviated. For example, 39.0000.00.000045.004A.952D is often written as 952D or ~952D.

 

Why PNNI-1?

 

Most ATM network administrators have experienced the frustration of documenting the NSAP addresses of every ATM switch for static route purposes. Little did we understand when we purchased the ATM equipment that setting up IISP routes could be so tedious and unforgiving.

Imagine a routed network containing 500 routers, all of which need to know about each other in the event of a possible data transfer. Using a protocol such as RIP, each router would have at least one route to each of the 499 other routers. Some routers would be in a single routing table more than once, as redundancy was probably configured into the network to maintain fault tolerance. Imagine then, that every routing table roughly 500 entries per router must be sent to each of the 499 other routers every 60 seconds. Consider the amount of traffic that this would create.

PNNI-1 breaths new life into ATM networks, especially those infrastructures where the enormous overhead involved with IISP is simply not feasible. PNNI-1 automates the routing table process and allows for greater scaling of ATM enterprises. It has provisions for Quality of Service (QoS) and because it is an ATM Forum standard, it allows for interoperability among different vendors' switches. Companies such as Enterasys are releasing powerful Ethernet switches with high-speed ATM uplinks which support LANE and the new 802.1p standard, allowing for priority queuing of packets in the Ethernet switch. By integrating 802.1p into Ethernet switches on the ATM periphery, the ATM uplink running LANE can ask for QoS ABR connections based on 802.1p parameters, thereby providing QoS connections across the ATM fabric. Unlike 802.1p Gigabit Ethernet switches, ATM switches have Call Admission Control (CAC), enabling a congested ATM switch to refuse any additional calls. Not only will Gigabit Ethernet routers, when congested, continue to allow additional calls, but the QoS for existing connections will decrease and the connections in place with a lower 802.1p priority will suffer even greater. Because of the connection-oriented nature of ATM, this technology is the only reliable technology for true QoS.

Routing protocols requiring all routers to understand the entire topology are not very scalable. OSPF was therefore developed in an effort to deliver just enough information to routers to create a connection. After all, creating a connection is the real goal, not creating the largest routing table ever engineered. PNNI-1 borrowed many concepts from OSPF to deliver an ATM routing protocol which could support networks even larger than the current Internet.

 

PNNI-1 and Peer Groups

 

To explain the PNNI-1 ATM routing protocol, it is best to begin with the smallest common denominator, the node. A node, or switch, at the lowest level is called a lowest level node. The nodes are organized into peer groups.

In PNNI-1 route determination, end systems are identified by the 19 most significant octets of the ATM NSAP. However, the peer group ID comprises one octet level, and up to 13 octets of the most significant bytes of the node's ATM address. For example, if the level is 96 (12 octets), the NSAP address, 39.0000.00.000045.004A.95CD.0130.00001D112233.00, can be broken down as follows in PNNI-1 terms. The first 12 bytes of this address, 39.0000.00.000045.004A.95CD.01, identify this node/switch as part of a group. In fact, it is likely that the address (NSAP) on this switch will be manually changed by the administrator to match the peer group ID of the others in the same group. This of course creates more work for ATM administrators who configure these switches, as they must determine the correct peer group ID. Changing the switch prefix allows the switches in a peer group to share some commonality. Think of it like the telephone system; everyone in the state of Maine has a telephone area code of 207, and everyone in the state of New Hampshire has an area code of 603. Later we will examine how these NSAPs can be further broken down into smaller groups, thereby creating a hierarchy. For example: Within the state of Maine there are towns; 207-439 is the local exchange for Kittery, and 207-384 is the local exchange for South Berwick. This is in effect the same principle used in a PNNI-1 routed topology.

Figure 1: This is an example of a PNNI-1 peer group. The peer group ID is seen to be 60.39.0000.00.000045.004A.95CD01, where 0x60 (96) is the level and corresponds with the example discussed in the earlier paragraph. A 20 byte NSAP is equal to 160 bits (20 bytes * 8 bits per byte = 160 bits per NSAP).

A switch will know if another switch is in the same peer group (collection of logical nodes) after "hello" packets are exchanged over a reserved VCC with VPI=0 and VCI=18. A "peer group identifier" is compared. Nodes whose peer group IDs match are said to belong to the same peer group and are connected by what is known as a "horizontal link." Nodes with differing peer group IDs are said to be border nodes; the connection between them is called a "border link."

PTSE

Each node in the peer group exchanges "hello" packets which contain the immediate neighbors and local state information, including the identity and peer group membership of the node's immediate neighbors, and the status of its links to those neighbors. Each node then bundles its state information in "PNNI Topology State Elements" (PTSEs), which are reliably flooded throughout the peer group. Basically, PTSEs are a collection of all PTSEs received from other nodes, which represent the nodes' current view of the active network. Keep in mind that these PTSEs transmitted between nodes also include information such as metrics, bandwidth, and administrative weight of individual links.

When neighboring nodes realize, by comparing peer group IDs through the use of "hellos," that they are in the same peer group, they proceed to synchronize their "topology databases." This process results in both nodes having identical topology databases. These databases include detailed local peer group connectivity information as well as abstract information about remote peer groups representing the rest of the PNNI-1 network. After database synchronization between respective neighboring nodes has been successfully completed, the link is advertised via PTSE transmissions. PTSEs are sent to neighbors periodically until the destination acknowledges the reception of the PTSE. Routing entries created by PTSEs eventually time out and are removed, unless they are refreshed by new PTSEs. Only the node that originally sent a particular PTSE can re-originate that PTSE.

The 0,18 VCC on which the "hello" packets are sent is called the PNNI Routing Control Channel (RCC). The "hello" packets sent out periodically over this connection specify the ATM End System Address, node ID, and the port ID of the link. The peer group ID can also be sent to enable neighboring nodes to determine whether they belong to the same peer group.

To allow the PNNI-1 network to scale, and to prevent every node from sending out its understanding of the entire topology, a peer group leader (PGL) is selected for each peer group. At any one time there is only one active peer group leader per peer group. The role of the PGL in the network is to disseminate information pertaining to the PNNI hierarchy. See Figure 1.

The "Peer Group Leader Election" (PGLE) process takes place to determine which node will be the PGL. The node bidding the highest "leadership priority" becomes the PGL. This PGL election process is constantly occurring, and if the primary PGL fails, the node with the next highest leadership priority becomes PGL. If a race condition occurs where both nodes bid the same leadership priority, the node with the highest node ID becomes the PGL. When a node becomes the PGL it increases its leadership priority to ensure stability. The PGL is responsible for the upward flow of information about the peer group (reachability and topology aggregation) to higher level peer groups.

Note: Internal operation of a peer group does not require a PGL. A PNNI domain configured as a single peer group can achieve full connectivity even without a PGL. This is how most vendors are releasing their switches with PNNI-1 support today. Enterasys is releasing products supporting PGL.

Figure 2: Nodes connecting two different peer groups are called border nodes. The level of the peer group is 80 (0x50), so all the peer groups should have 50 as the first byte.

In Figure 2, a peer group is referred to as a logical group node, which is addressable by a unique ATM End System Address that may, for example, correspond to the address of the lowest level node in the same switching system but with a different selector value. This representation depends on the policies and algorithms of the peer group leader.

Figure 3: Here we see that each of the individual peer groups is part of a larger peer group (39.0000.00.000045.004A.95), which also has its own peer group leader. To use the telephony analogy again, each of the three "town" peer groups (CD, EF and 2D) are in the "state of Maine" larger peer group (95).

In Figure 3, each of the logical peer groups (58.39.0000.00.000045.004A.95EF, 58.39.0000.00.000045.004A.952D, 58.39.0000.00.000045.004A.95CD) is part of a higher level peer group (50.39.0000.00.000045.004A.95). Again, the first byte of each peer group is its level, in this case 0x58 (88) for lower peer groups and 0x50 (80) for the higher peer group. The lower peer groups are now considered "child peer" groups by the "parent peer" group (50.39.0000.00.000045.004A.95). A parent peer group is identified by a peer group ID that must be shorter in length than its child peer group IDs. Any node capable of becoming peer group leader of the parent group "50.39.0000.00.000045.004A.95" (see the example in Figure 3) will be configured with its parent peer group ID.

 

Address Scoping

 

As we have seen, the length of the peer group ID indicates the level of that peer group within the PNNI hierarchy; this is commonly known as the "level indicator." 0 to 104 bits (104 bits = 13 bytes) is the range of the level indicator. Similarly, reachability information advertised by a PGL always has a scope associated with it. The scope denotes a level in the PNNI routing hierarchy, and is the highest level at which this address can be advertised or summarized. If an address has a scope indicating a level lower than that of the level of the node, the node will not advertise the address. If the scope indicates a level that is equal to or higher than the level of the node, the address will be advertised in the node's peer group. For example, in Figure 3 the PGL CD.5 will advertise to the hierarchy the highest level address which supports every node in the peer group (58.39.0000.00.000045.004A.95CD) which is at level 88 (8 bits * 11 bytes). It will also advertise support for PG: 58.39.0000.00.000045.004A.952D (88 (decimal) = 01011000 (binary) = 58 (hex)). This is done because the PGL CD.5 discovered that the adjacent PG is also advertising level (88) which is equal to itself. Also, the connection from PG: 58.39.0000.00.000045.004A.95CD to PG: 58.39.0000.00.000045.004A.952D must be advertised in order for the higher levels to accurately understand the topology.

When summarizing addresses, the address with the highest scope will determine the scope of the summary address. The same rule applies to group addresses; for example, if two or more nodes in a peer group advertise reachability to the same group address but with a different scope, their parent node will advertise reachability to the group address with the highest scope. For example, in Figure 3 the PGL (95EF) is getting advertisements for three different peer groups (CD, 2D and EF), all advertising a level of 88. Since the higher level for PGL Ö.(95)EF is 80 or (0x50) and all the advertisements it is receiving match at this level (50.39.0000.00.000045.004A.95), PGL: 95EF will only advertise PG: 39.0000.00.000045.004A.95 up to a higher parent if there is one. This said, PGL Ö95EF will advertise peer group 50.39.0000.00.000045.004A.95 as being reachable through itself. If that sounds complicated, consider the telephony analogy and look at it another way. The PGL for group 50.39.0000.00.000045.004A.95 will advertise for all the towns in the state of Maine.

As mentioned earlier, the PGL is responsible for the upward flow of information about the peer group (reachability and topology aggregation) to higher level peer groups. Reachability refers to the summarized address information (explained later) needed to determine which addresses can be reached through the lower level peer groups. Topology aggregation refers to the summarized topology information needed to route into and across this peer group. This process prevents PTSEs flooded in a lower level group from inundating the higher level groups and other child peer groups.

Each member of the logical group (logical group node) feeds information down to its own peer group. This is done through the use of PTSEs which it originates or receives from other members of the peer group. PTSEs flow horizontally through a peer group; only a summary of the PTSEs in the parent peer group are sent downward into and through child peer groups. In other words, only information about other states (New Hampshire, Massachusetts, California, Texas, etc.) is sent downward into and through the towns in the state of Maine.

Figure 4: This figure shows the result of flooding PTSEs.

Through the process of PTSEs and the summarization of other peer groups, an individual node (switch) has an accurate picture of its own peer group and an awareness of the other peer groups. An individual node also knows which nodes in the peer group are "gateways" to the other groups.

In order for a node to realize which border nodes have connectivity with other higher level nodes, the border nodes must advertise links to the higher level nodes, enabling the information to be disseminated through the use of PTSEs. For example, node 2D.2 in Figure 5 needs to send out PTSEs to its own peer group (39.0000.00.000045.004A.952D), enabling the PGL to receive this information and send it up to the parent peer group. This connection to another peer group gained by border node 2D.2 is called an "uplink." In the telephony environment, we have border towns. For example, Kittery, Maine borders the town of Eliot, Maine. At the state level, Kittery, Maine borders Portsmouth, New Hampshire.

Figure 5: This diagram shows the impact that border nodes have on the topology.

In Figure 5, the logical node representing peer group CD is called the upnode for peer group 2D, and the logical link from 2D.2 to this logical node (upnode) is called the uplink (shown as a bold dashed line). For certain "hello" states, a border node must include an Uplink Information Attribute (ULIA) information group in the "hello" packets that it sends on each outside link to neighboring border nodes (e.g. CD sends ULIAs to 2D.2). The ULIA sent to an outside neighbor encloses a complete set of information about the reverse direction resources to be advertised in the uplink advertisement that the receiving outside neighbor generates. In Figure 5, node 2D.2 would advertise group 88.39.0000.00.000045.004A.95CD via itself, and 39.0000.00.000045.004A.952D.2 via PTSE to all other nodes in group 88.39.0000.00.000045.004A.952D. The peer group leader of group 88.39.0000.00.000045.004A.952D would summarize this information and send it out to the parent peer group (80.39.0000.00.000045.004A.95).

Neighboring nodes at the lowest peer group level (nodes in the same peer group) use a reserved VCC (0, 18) for their routing information exchanges (PTSEs and "hellos"). However, the Routing Control Channel (RCC) between logical peer groups is a switched virtual circuit connection (SVCC); for example, a possible RCC might be 0, 43. The information required to establish this switched virtual circuit connection (SVCC) is derived from the uplink advertisements in the peer group.

Figure 6: This figure introduces another peer group. Its important to note that similar to the telephone system, we logically organize the towns into states. We are physically limited, however, as to the connections from one central office to another, and sometimes we must traverse multiple towns to reach the final destination.

In Figure 6, node 2D.3 learns of another node and exchanges "hellos" to determine if they are in the same peer group. Both sides of this link will then begin to understand more of the topology. Node 81.4 realizes that 2D.3 is not in the same peer group and sends PTSEs to its PGL (81.2) who in turn passes the information saying that node 88.39.0000.00.000045.004A.B681 has connectivity to peer group 80.39.0000.00.000045.004A.95. Notice how 81.4 is not mentioned in the advertisement which 81.2 sends up to the parent peer group: 80.39.0000.00.000045.004A.B6.

In Figure 6, peer groups 80.39.0000.00.000045.004A.B6 and 80.39.0000.00.000045.004A.95 realize that they are part of a parent (grandparent) peer group (72.39.0000.00.000045.004A).

Figure 7: This figure shows an example of a third peer group layer.

Notice in Figure 7 that node CD.3's view of the network is growing, yet the node still does not know all the specific details of every other peer group. Node CD.3 has a routing table as follows:
Level Prefix Address Address Address Address
88 39.0000.00.000045.004A.95 CD.1 CD.2 CD.4 CD.5
88 39.0000.00.000045.004A.95 EF 2D
80 39.0000.00.000045.004A 95
72 39.0000.00.000045.00 4A

Address Summarization & Reachability

Address summarization is done to reduce the amount of addressing information that must be distributed in a PNNI network. By default, each switch (node) should have its netprefix defined as a summary, so that all the addresses derived from this netprefix are represented in the summary. Only those internal ATM addresses which cannot be summarized by the switches' summary addresses are advertised explicitly.

 

Designated Transit Lists

 

In an effort to avoid the difficulties of hop-by-hop call setup in traditional routing protocols such as RIP, PNNI-1 uses a source routing mechanism where the ingress switch decides the entire hierarchy path, known as the Designated Transit List (DLT), across the PNNI-1 network. The DTL consists of a sequence of node or port IDs traversing the peer group. Initially, this path is not detailed as to the specific nodes within each peer group. To get across specific peer groups, the first node (border node) in a each peer group selects the specific path, in detail, across its local peer group. Since QoS could be involved in the connection, Call Admission Control (CAC) must also be performed by each switching system; this generally equates to the node that decides the path through the specific peer group. If a node "switch" has agreed to several calls needing QoS, and has decided that its current "QoS availability" has been degraded due to the requests, it will notify the other nodes in the peer group, and the links affected through the use of PTSEs, about this change.

A complete hierarchical source route represents a route across a PNNI routing domain that includes each hierarchical routing level between the current level and the lowest visible level in which the source and destination are reachable. This is expressed as a sequence of DTLs ordered from lowest to highest peer group level and organized as a stack (i.e., a last in, first out data structure). The DTL at the top of the stack is the DTL corresponding to the lowest level peer group. Though this may sound like a mouthful, it is actually quite simple. Take a look at the hierarchy in the following figure, and we will expand on the designated transit list technique in a slow and logical manner in the following paragraphs.

Figure 8: A High Speed Interface Module, or HSIM, slides into a Enterasys hub and allows for fast Ethernet, FDDI or ATM uplinks.

In Figure 8, HSIM-A has received an NSAP address (39.0000.00.000045.004A.B682.0000.00001d445566.04) from the LAN Emulation Server (LES) to which it would like to make a connection. Via UNI, HSIM-A asks the switch to which it is connected (CD.3) to make a connection to the NSAP above. CD.3 may be able to build a few different DTLs to set up the call, but based on QoS decisions or cost, let's assume that the following DTL is chosen.

The DTLs are then built in a stack, with a pointer specifying which node is next to set up the call:

DTL: [39.0000.00.000045.004A.95CD.3, 39.0000.00.000045.004A.95CD.4], pointer-2

DTL: [39.0000.00.000045.004A.95CD, 39.0000.00.000045.004A.952D,], pointer-1

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-1

The first DTL row is at level 88, which specifies all of the switches in the local peer group. The second DTL row is at level 80, which specifies the order of the peer groups which will be involved in the call at this level. The third DTL row is at level 72, which specifies the order of the peer groups which must be traversed at this level. The pointer at the end of each DTL specifies where in the DTL the receiving ATM switch should be looking. When the first DTL is completed it is removed, and the next DTL is examined and expanded. This is a recurring process as the connection proceeds. Let's look at the telephony analogy again. We are trying to make a connection from Roundup, Montana to Munich, Germany. The central office in Roundup, Montana might build a DTL as follows:

  • The first DTL would list all of the towns across Montana in the direction of Munich, Germany.
  • The second DTL would list all of the states across the USA in the direction of Munich, Germany.
  • The third DTL would list all of the countries across the globe in the direction of Munich, Germany.

Before forwarding the call request, CD.3 stores the contents of the call setup in case alternate routing is required. CD.3 then forwards the call setup to its neighbor CD.4, which examines the top DTL and notices the DTL pointing to its own node ID. CD.4 looks for the next entry in the top DTL, but finds that it is exhausted. Looking at the next DTL, the next destination is peer group 2D. Since CD.4 is not in 2D, that is, CD.4 is not in the peer group summarized into logical node 2D, it starts looking to see how to get to 2D. CD.4 finds that an immediate neighbor is in 2D, so it removes the top DTL and advances the current transit pointer in the next DTL.

DTL: [39.0000.00.000045.004A.95CD, 39.0000.00.000045.004A.952D,], pointer-2

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-1

The next node "switch," 2D.2, looks at the top DTL and sees that the current destination is 2D. Since 2D.2 is in 2D, it looks at the next entry in the DTL, and starts routing to ~004A.B6. Analyzing the topology, 2D.2 finds that the path is through 2D.1, 2D.6 and 2D.3, so it pushes a new DTL onto the top of the list:

DTL: [39.0000.00.000045.004A.952D.2, 39.0000.00.000045.004A.952D.1

39.0000.00.000045.004A.952D.6, 39.0000.00.000045.004A.952D.3], pointer-2

DTL: [39.0000.00.000045.004A.95CD, 39.0000.00.000045.004A.952D], pointer-2

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-1

For example, because we have reached the end of Montana (CD), the first town in the next state (2D.2) must build a DTL to get through its local state.

Since 2D.2 added a DTL to the stack and may be involved in alternate routing, it stores the contents of the received SETUP message and the contents of the DTL that it added on top of the stack, before sending the packet to 2D.1. 2D.1 first determines that the top DTL target has not been reached, and that the DTL is not exhausted. 2D.1 changes the pointer to 3 and sets up a call to 2D.6 as directed in the DTL.

DTL: [39.0000.00.000045.004A.952D.2, 39.0000.00.000045.004A.952D.1

39.0000.00.000045.004A.952D.6, 39.0000.00.000045.004A.952D.3], pointer-3

DTL: [39.0000.00.000045.004A.95CD, 39.0000.00.000045.004A.952D], pointer-2

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-1

2D.6 first determines that the top DTL target has not been reached, and that the DTL is not exhausted. 2D.6 changes the pointer to 4 and sets up a call to 2D.3 as directed in the DTL.

DTL: [39.0000.00.000045.004A.952D.2, 39.0000.00.000045.004A.952D.1

39.0000.00.000045.004A.952D.6, 39.0000.00.000045.004A.952D.3], pointer-4

DTL: [39.0000.00.000045.004A.95CD, 39.0000.00.000045.004A.952D], pointer-2

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-1

Node 2D.3 first determines that the top DTL target has been reached, and then that the DTL is exhausted. Looking at the next DTL, the next destination is peer group B681. Since 2D.3 is not B681 (i.e., 2D.3 is not in the peer group summarized into logical node B681), it starts looking to see how to get to B681. 2D.3 finds that an immediate neighbor (B681.4) is in B681. Node 2D.3 removes the top two DTLs and advances the current transit pointer to the next DTL:

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-2

The next node "switch," 39.0000.00.000045.004A.B681.4 (81.4), looks at the top DTL and sees that the current destination is 81. Since 81.4 is in 81, it looks at the next entry in the DTL, and starts routing to peer group 82. Before forwarding the call request, 81.4 stores the contents of the call setup in case alternate routing is required. Node 81.4 then analyzes the topology and realizes another peer group (B682) must be added to the DTL. Node 81.4 creates a higher DTL through the local peer group, which will allow the call to be set up to peer group 82. The call is set up to node 81.5 with the following two new DTLs which have been pushed onto the top of the list:

DTL: [39.0000.00.000045.004A.B681.4, 39.0000.00.000045. 004A.B681.5

39.0000.00.000045. 004A.B681.1], pointer-2

DTL: [39.0000.00.000045.004A.B681, 39.0000.00.000045.004A.B682], pointer-1

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-2

Node 81.5 first determines that the top DTL target has not been reached, and that the DTL is not exhausted. 81.5 changes the pointer to 3 and sets up a call to 81.1 as directed in the DTL.

DTL: [39.0000.00.000045.004A.B681.4, 39.0000.00.000045. 004A.B681.5

39.0000.00.000045. 004A.B681.1], pointer-3

DTL: [39.0000.00.000045.004A.B681, 39.0000.00.000045.004A.B682], pointer-1

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-2

Node 81.1 examines the top DTL and notices the DTL pointing to its own node ID. 81.1 looks for the next entry in the top DTL, but finds it is exhausted. Looking at the next level DTL, the destination is peer group 82. Since 81.1 is not in 82 (i.e., 81.1 is not in the peer group summarized into logical node 82), it starts looking to see how to get to peer group 82. 81.1 finds that an immediate neighbor is in 82, so it removes the top DTL and advances the current transit pointer in the next DTL.

DTL: [39.0000.00.000045.004A.B681, 39.0000.00.000045.004A.B682], pointer-2

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-2

The next node "switch," 82.4, looks at the top DTL and sees that the current destination is 82. Since 82.4 is in 82, it looks at the next entry in the DTL, and starts routing to ~004A.B682. Analyzing the topology, 82.4 finds that the path is through 82.2 and 82.1, so it pushes a new DTL onto the top of the list. Before forwarding the call request, 82.4 stores the contents of the call setup in case alternate routing is required.

DTL: [39.0000.00.000045.004A.B682.4, 39.0000.00.000045.004A.B682.2, 39.0000.00.000045.004A.B682.1], pointer-2

DTL: [39.0000.00.000045.004A.B681, 39.0000.00.000045.004A.B682], pointer-2

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-2

Node 82.2 first determines that the top DTL target has not been reached, and that the DTL is not exhausted. 82.2 changes the pointer to 3 and sets up a call to 82.1 as directed in the DTL.

DTL: [39.0000.00.000045.004A.B682.4, 39.0000.00.000045.004A.B682.2, 39.0000.00.000045.004A.B682.1], pointer-3

DTL: [39.0000.00.000045.004A.B681, 39.0000.00.000045.004A.B682], pointer-2

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-2

Node 82.1 determines that it is the DTL terminator for the DTL stack, since all DTLs are at the end, and

because 82.1 is the lowest level node and has reachability to the destination. It then strips the DTL stack from the SETUP message and forwards the message across the UNI to the destination. Data transfer now takes place. The whole process seems like quite a bit of overhead, however most ATM switches can process over 150 calls per second.

 

PNNI-1 without PGLs

 

PNNI-1 without PGLs would build large flat infrastructures with no address summarization. For example, node CD.3 would understand the complete connectivity of the network, resulting in a much larger routing table and greater overhead on the network for topology updates. Running the entire topology with no peer group leaders is fine for small groups of switches, as is the Routing Information Protocol (RIP) for routed networks.

Figure 9: Node CD.3 understands all the intricacies of the network if no PGLs or hierarchy are defined.

In order for node CD.3 to setup a call to HSIM-B the following DTL would be defined:

DTL: [39.0000.00.000045.004A.95CD.3, 39.0000.00.000045.004A.95CD.4, 39.0000.00.000045.004A.952D.2,

39.0000.00.000045.004A.952D.1, 39.0000.00.000045.004A.952D.6, 39.0000.00.000045.004A.952D.3,

39.0000.00.000045.004A.B681.4, 39.0000.00.000045. 004A.B681.5, 39.0000.00.000045. 004A.B681.1,

39.0000.00.000045.004A.B682.4, 39.0000.00.000045.004A.B682.2, 39.0000.00.000045.004A.B682.1], pointer-2

Initially this may seem like less work, but the problem is that if the example architecture were much larger in scale, the DTLs would be ridiculously long. To follow with our telephony analogy, Roundup, Montana would have to identify every town from Roundup to Munich, Germany.

 

Crankback

 

When creating a DTL, a node uses available information about resources and connectivity. That information may be inaccurate for a number of reasons, including hierarchical aggregation and changes in resource availability due to additional calls placed since the information was produced. Therefore, a call being processed according to the DTL may be blocked along its specified route. Crankback and alternate routing are mechanisms for adapting to this situation, rather than clearing the call back to the source. When the call cannot be processed according to the DTL, it is cranked back to the creator of the DTL with an explanation of the problem. This node may choose an alternate path over which to direct the call, or may further crankback the call. An alternate path must obey all received higher level DTLs, and must avoid the blocked node(s) or link(s).

Crankback example:

Let's look back to when node 81.1 examines the top DTL and notices the DTL pointing to its own node ID. 81.1 looks for the next entry in the top DTL, but finds that it is exhausted. Looking at the next level DTL, the destination is peer group 82. Since 81.1 is not in 82 (i.e., 81.1 is not in the peer group summarized into logical node 82), it starts looking to see how to get to peer group 82. 81.1 finds that an immediate neighbor is in 82, so it removes the top DTL and advances the current transit pointer in the next DTL.

DTL: [39.0000.00.000045.004A.B681, 39.0000.00.000045.004A.B682], pointer-2

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-2

At this point, the call setup is blocked. 81.1 finds out either from the CAC internal to 81.1, or from a RELEASE or a RELEASE COMPLETE message containing a crankback, such as with blocked transit type #2, that "call or party has been blocked at the succeeding end of this interface," as indicated by the circle labeled X in Figure 10.

Figure 10: A crankback example

The crankback procedure now begins with 81.1 sending a RELEASE message back through the preceding interface. The crankback IE in the RELEASE message indicates that the call was blocked at the link between 81.1 and peer group 82.x, as determined from the DTLs from the received SETUP message, and that the crankback level is 88 (the level of peer group 81).

The RELEASE message is received at 81.5, which did not create any DTLs for this call, so crankback proceeds further. After or during the tearing down of the succeeding virtual channel, the RELEASE message is sent out the preceding interface in the direction of 81.4.

The RELEASE message is received at 81.4, which specified a DTL for this call at level 88, so 81.4 attempts to do alternate routing. After eliminating the blocked link from consideration, two different paths are found across peer group 81 to peer group 82. The first option is through 81.2 and on to peer group 82. The second option is back through 81.5, 81.3, and then to 81.2 and over to peer group 82. The first option is taken and the following DTL is created.

DTL: [39.0000.00.000045.004A.B681.4, 39.0000.00.000045. 004A.B681.2], pointer-2

DTL: [39.0000.00.000045.004A.B681, 39.0000.00.000045.004A.B682], pointer-2

DTL: [39.0000.00.000045.004A.95, 39.0000.00.000045.004A.B6], pointer-2

The call proceeds as outlined above.

Imagine if there were no hierarchy as shown in Figure 9. The call would be cranked back all the way to the ingress switch (CD.3), or Roundup, Montana.

 

Summary

 

PNNI-1 routing will be to ATM switches what routing protocols are to routers. Interoperability between various vendors is now possible in a plug-and-play environment. No longer will we have to build ATM networks and be concerned about all the necessary IISP routes.

"In the realm of ATM, PNNI is the greatest thing since power steering. PNNI is an essential element in building fault-tolerant ATM networks, and it is also the enabling force behind plug-and-play ATM networks. Never again will you spend your time meticulously reading 20 byte ATM addresses over the phone to manually update static routes" (Network Computing, "ATM Switches: Network Muscle Machines," p. 118).


csu, dsu, dacs, bandwidth manager, frame relay, remote access, pri, channel bank, bri, adtran, enterprise, fxs, fxo, t1, e1, tsu, isdn, pbx, atm, clec, plesiochronous, point-to-point, fractional, voice, data, e&m, analog, router, pstn, v.35, dsx, fsx, dbu, ethernet, network management, osu, multiport, multi-mode fiber, snmp, t3su, dacsing, ds0, ds1, ds3, drop/insert, hssi, u-interface, hdsl, imux, mux, multiplexers, cross-connect, bonding, dte, hdlc, pots, chassis, psu, rcu, eia232, ground start, foreign exchange, dpo, plar, rackmount, wallmount, tdu, ft1, t1/ft1, did, 2-wire, rj-11, spanning tree, bridging, 4-wire, eia-530, rst-232, fiber, t3, esu, dial back, sdlc, ip routing, sna/sdlc, bisync, slip,async, tbop, safe-t-net, dce, h0, h11, in-band, facilities data link, fdl, pro, sdlc-llc2, ppp, v.34, sw56, xdsl, 10baseT, vt100, ccitt/v120, ip/ipx, mlppp, remote loopback, local loopback, multilinks, aggregating, aggregate, dtr assertion, rs-366, y cable, spid, lzs compression, v.120, video conferencing, termination units, redundant power supply, g.shdsl, sonet networks, mlt, ringdown, pcm, tr-08 Back to Home csu, dsu, dacs, bandwidth manager, frame relay, remote access, pri, channel bank, bri, adtran, enterprise, fxs, fxo, t1, e1, tsu, isdn, pbx, atm, clec, plesiochronous, point-to-point, fractional, voice, data, e&m, analog, router, pstn, v.35, dsx, fsx, dbu, ethernet, network management, osu, multiport, multi-mode fiber, snmp, t3su, dacsing, ds0, ds1, ds3, drop/insert, hssi, u-interface, hdsl, imux, mux, multiplexers, cross-connect, bonding, dte, hdlc, pots, chassis, psu, rcu, eia232, ground start, foreign exchange, dpo, plar, rackmount, wallmount, tdu, ft1, t1/ft1, did, 2-wire, rj-11, spanning tree, bridging, 4-wire, eia-530, rst-232, fiber, t3, esu, dial back, sdlc, ip routing, sna/sdlc, bisync, slip,async, tbop, safe-t-net, dce, h0, h11, in-band, facilities data link, fdl, pro, sdlc-llc2, ppp, v.34, sw56, xdsl, 10baseT, vt100, ccitt/v120, ip/ipx, mlppp, remote loopback, local loopback, multilinks, aggregating, aggregate, dtr assertion, rs-366, y cable, spid, lzs compression, v.120, video conferencing, termination units, redundant power supply, g.shdsl, sonet networks, mlt, ringdown, pcm, tr-08E-Mail   VoxTechnologies Corp. - Industrial Computer Leader
Tel:
972-234-4343 Fax: 972-234-4295 Toll-Free: 1-888-568-6224
 

An Industrial Partner 1999-2002. All rights reserved.


CompactPCI, Embedded SBCs, Flat panel Displays, Industrial Chassis, IndustrialPC Peripherals, Industrial Power Supplies, Backplanes, Single Board Computers, Rackmount Servers, Network Communication, Open Frame Panel Computer, PC/104, Flash Disk, CTI, RAID Back to Home CompactPCI, Embedded SBCs, Flat panel Displays, Industrial Chassis, IndustrialPC Peripherals, Industrial Power Supplies, Backplanes, Single Board Computers, Rackmount Servers, Network Communication, Open Frame Panel Computer, PC/104, Flash Disk, CTI, RAID E-Mail

VoxTechnologies Corp. - Industrial Computer Leader
Tel:
1-972-234-4343 Fax: 1-972-234-4295 Toll-Free: 1-888-568-6224

For over a decade, VoxTechnologies has been a leading source of industrial computers and complete system products for the O.E.M. and Systems Integrator. Our primary goal is to provide a solution source for engineers that have the challenging task of interfacing and controlling the real world.

Telephone: 1-972-234-4343 General Info: info@voxtechnologies.com Sales Info: sales@voxtechnologies.com
 
We accept all major credit cardsRelated Links Adtran AFC CAC Larscom Metrobility Moxa NetAnchor
VTC SBCs, VTC Chassis, VTC Backplanes, VTC CompactPCI, VTC Power Supplies, VTC Peripherals, Other SBCs, Other Backplanes, Other Chassis, Other Power Supplies, Other Embedded SBCs, Other CompactPCI Devices, Other Servers, Other Network Storage, Other VME, RAD,
CAC, Charles, Eastern, Transition, Other PC/104 Products, Other Subsystems, Other KVM Switches, Other Flat Panels, Other Plasma Engine Computers, Other ACTI Platforms, Other Industrial Peripherals, Other Network Communication Products, IPCMall, PLCPartner, Moxa, Telco, Etasis, Axiom, IEI, Channel Banks, Adtran, PowerSupplyPartner, DelvingWare
Archives
Send mail to webmaster@voxtechnologies.com with questions or comments about this web site.
Copyright © 1999 VoxTechnologies Corporation- An Industrial Partner
Last modified: November 30, 2002   Proud Sponsor of Dallas Jazz