630 likes | 775 Views
CS 4594 Broadband. PNNI Signaling. PNNI. PNNI = Private Network to Network Interface Can be used for both public and private networks. Two Parts of PNNI. Topology Distribution Protocol: Establish structure on an unstructured network Signaling Protocol: Establish a connection in a network.
E N D
CS 4594 Broadband PNNI Signaling
PNNI • PNNI = Private Network to Network Interface • Can be used for both public and private networks
Two Parts of PNNI • Topology Distribution Protocol: Establish structure on an unstructured network • Signaling Protocol: Establish a connection in a network
PNNI – ATM Forum From the ATM Forum af-pnni-0055.000: PNNI consists of: • A protocol is defined for distributing topology information between switches and clusters of switches. This information is used to compute paths through the network. A hierarchy mechanism ensures that this protocol scales well for large world-wide ATM networks. A key feature of the PNNI hierarchy mechanism is its ability to automatically configure itself in networks in which the address structure reflects the topology. PNNI topology and routing is based on the well-known link-state routing technique. • A second protocol is defined for signaling, that is message flows used to establish point-to-point and point-to-multipoint connections across the ATM network. This protocol is based on the ATM Forum UNI signaling, with mechanisms added to support source routing, crankback, and alternate routing of call setup requests in case of connection setup failure.
Functions of the PNNI routing protocol • Discovery of neighbors and link status. • Election of PGLs. (Peer Group Leader) • Construction of the routing hierarchy. • Synchronization of topology databases.
Hello – establishes local topology • Each node exchanges Hello packets with its immediate neighbors and thereby determines its local state information. This state information includes the identity and peer group membership of the node’s immediate neighbors, and the status of its links to the neighbors. Each node then bundles its state information in “PNNI Topology State Elements” (PTSEs), which are reliably flooded throughout the peer group.
Example Network – No Hierarchical Structure C.1 C.2 B.1.1 B.2.1 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Structure • Peer Groups are determined by addressing. • Address levels are determined by how many bits are allocated to the peer group part of the address. • Peer Group Leaders are determined by election. • Reachability information is determined by exchange of information among nodes. • Uplinks are established using physical links between members of different peer groups.
The Network Structured Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 96 A.3.3 Level 104 A.1.2 A.3.4 A.3.1 Level 96 Level 96
Some Uplinks Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 96 A.3.3 Level 104 A.1.2 A.3.4 A.3.1 Level 96 Level 96
The Logical Links are Supported by Uplinks Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Problem: Establish a Route • Given: Source and Destination and Network as it is known at each node. • Establish a route.
The Source and Destination Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Possible Route 1A Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Possible Route 1B Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Possible Route 2A Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Yet Another Route (3A) Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Basic Concepts • Designated Transit List (DTL) • DTLs map out routes. • DTLs work at different levels. • A stack keeps track of the levels. • Call SETUP Message • is passed to next node. • is saved at nodes that add new routes.
Some Problems • The link between A.3.3 and B.1.2 is blocked (even though PNNI routing says it is OK) • The link between A.3.3 and B.2.3 cannot support the high peak cell rate requested.
The Network with Problems Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 96 A.3.3 Level 104 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Begin at the Source, Use Route 1 Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Find Route Through A and A.1 Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Call SETUP Begins • SETUP Message saved at A.2.1 • Message forwarded to next node.
Push Route from A to B • DTL: [A, B], pointer-1 Level 64 A C Source A.1.2.x B A.2 A.1 A.1.1 A.3 A.1.2 Level 72
Push Route Through A • DTL: [A.1, A.2, A.3], pointer-1 • DTL: [A, B], pointer-1 Level 64 A C Source A.1.2.x B A.2 A.1 A.1.1 A.3 A.1.2 Level 72
Push Route Through A.1 • DTL: [A.1.2, A.1.1], pointer-1 • DTL: [A.1, A.2, A.3], pointer-1 • DTL: [A, B], pointer-1 Level 64 A C Source A.1.2.x B A.2 A.1 A.1.1 A.3 A.1.2 Level 72
Move to Next Node in top DTL • DTL: [A.1.2, A.1.1], pointer-2 • DTL: [A.1, A.2, A.3], pointer-1 • DTL: [A, B], pointer-1 Level 64 A C Source A.1.2.x B A.2 A.1 A.1.1 A.3 A.1.2 Level 72
Pop DTL Stack and Move to A.2 • DTL: [A.1, A.2, A.3], pointer-2 • DTL: [A, B], pointer-1 Level 64 A C B A.2 A.1 A.3 Level 72
Push a Route through A.2 • DTL: [A.2.2, A.2.3], pointer-1 • DTL: [A.1, A.2, A.3], pointer-2 • DTL: [A, B], pointer-1 Level 64 A C B A.2 A.2.1 A.1 A.3 A.2.2 A.2.3 Level 72 Level 96
Call SETUP saved at node • New route, so save SETUP message at node A.2.2.
Move through A.2 • DTL: [A.2.2, A.2.3], pointer-2 • DTL: [A.1, A.2, A.3], pointer-2 • DTL: [A, B], pointer-1 Level 64 A C B A.2 A.2.1 A.1 A.3 A.2.2 A.2.3 Level 72 Level 96
Route Through A.2 Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Pop DTL Stack and Move to A.3 • DTL: [A.1, A.2, A.3], pointer-3 • DTL: [A, B], pointer-1 Level 64 A C B A.2 A.1 A.3 Level 72
Push a Route through A.3 • DTL: [A.3.4, A.3.2, A.3.3], pointer-1 • DTL: [A.1, A.2, A.3], pointer-3 • DTL: [A, B], pointer-1 Level 64 A C B A.2 A.3.2 A.3.3 A.1 A.3 A.3.4 A.3.1 Level 72 Level 96
Save Call SETUP • New route, so save SETUP message at A.3.4.
Move to next node • DTL: [A.3.4, A.3.2, A.3.3], pointer-2 • DTL: [A.1, A.2, A.3], pointer-3 • DTL: [A, B], pointer-1 Level 64 A C B A.2 A.3.2 A.3.3 A.1 A.3 A.3.4 A.3.1 Level 72 Level 96
Go to end of A.3 • DTL: [A.3.4, A.3.2, A.3.3], pointer-3 • DTL: [A.1, A.2, A.3], pointer-3 • DTL: [A, B], pointer-1 Level 64 A C B A.2 A.3.2 A.3.3 A.1 A.3 A.3.4 A.3.1 Level 72 Level 96
Pop DTL Stack • DTL: [A.1, A.2, A.3], pointer-3 • DTL: [A, B], pointer-1 Level 64 A C B A.2 A.1 A.3 Level 72
Pop DTL Stack, Look for B • DTL: [A, B], pointer-2 Level 64 A C B
Call is Blocked • At this point the call is blocked – A.3.3 finds it cannot use the connection to B.1.2
Route 1 is Blocked into B Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Crankback begins at A.3.3 Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Crankback • It cranks back to A.3.4 which attempts alternate routing.
Crankback to A.3.4 Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Crankback • A.3.4 cannot find a route. • It cranks back to A.1.2 which then attempts alternate routing. • RELEASE message.
Crankback to A.1.2 Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Find an Alternate Route from A.1.2 to B Level 64 A C B A.2 Level 80 Level 96 B.1 B.2 B.3 C.1 C.2 A.1 A.3 B.1.1 B.2.1 Level 72 B.1.2 B.2.3 Source A.1.2.x B.2.2 B.3.2 B.1.3 A.2.1 B.3.1 B.3.3 Level 96 Level 96 B.3.4 A.2.2 A.2.3 B.3.5 A.1.1 A.3.2 Level 104 Level 96 A.3.3 A.1.2 Destination B.3.3.y A.3.4 A.3.1 Level 96 Level 96
Push DTLs Through A and A.1 • DTL: [A.1.2, A.1.1], pointer-2 • DTL: [A.1, A.2], pointer-1 • DTL: [A, B], pointer-1 Level 64 A C Source A.1.2.x B A.2 A.1 A.1.1 A.3 A.1.2 Level 72
Pop A.1 and Move to A.2 • DTL: [A.1, A.2], pointer-1 • DTL: [A, B], pointer-1 Level 64 A C Source A.1.2.x B A.2 A.1 A.1.1 A.3 A.1.2 Level 72
Push Route through A.2 • DTL: [A.2.2, A.2.1], pointer-2 • DTL: [A.1, A.2], pointer-2 • DTL: [A, B], pointer-1 Level 64 A C B A.2 A.2.1 A.1 A.3 A.2.2 A.2.3 Level 72 Level 96