|
|
This feature module describes the PGM Router Assist feature. It includes the following sections:
PGM Router Assist is a feature that allows Cisco routers to support the optimal operation of Pragmatic General Multicast (PGM). The PGM Reliable Transport Protocol itself is implemented on the customer's hosts.
PGM is a reliable multicast transport protocol for applications that require ordered, duplicate-free, multicast data delivery from multiple sources to multiple receivers. PGM guarantees that a receiver in a multicast group either receives all data packets from transmissions and retransmissions, or can detect unrecoverable data packet loss. PGM is intended as a solution for multicast applications with basic reliability requirements. It is network-layer independent; the Cisco implementation of PGM Router Assist supports PGM over IP.
This feature uses a transport session identifier (TSI) that identifies a particular PGM session.
The PGM Router Assist feature saves bandwidth by substantially reducing the number of negative acknowledgments (NAKs) to the source and by constraining the retransmissions to only those receivers that experience data loss.
The PGM Router Assist feature is not absolutely required for hosts that implement PGM, but PGM operates optimally in conjunction with routers that have this feature enabled.
Configuring this feature on an interface causes the router to maintain PGM retransmit state on that interface. The amount of memory consumed by that state depends on the loss characteristics of the network.
For information on PGM Reliable Transport Protocol, refer to the Internet Draft "PGM Reliable Transport Protocol Specification" at http://www.ietf.org/internet-drafts/draft-speakman-pgm-spec-03.txt.
No new or modified MIBs are supported by this feature.
For descriptions of supported MIBs and how to use MIBs, see the Cisco MIB web site on CCO at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.
None
None
Before you enable the PGM Router Assist feature, the following must be in place:
When this feature is enabled on an interface, the router optimizes PGM by reducing the number of NAKs and by constraining the number of retransmissions. To enable this feature, use the following command:
| Command | Purpose |
|---|---|
Router(config-if)# ip pgm router | Enables the router to assist PGM on this interface in order for PGM to run optimally. |
You can confirm that the PGM Router Assist feature is configured by issuing the show ip pgm router command. However, there might not be any active traffic.
To see whether an interface is actively using PGM, use the show ip pgm router state or show ip pgm router traffic command.
| Command | Purpose |
|---|---|
Router# clear ip pgm router [[traffic [type number]] | [rtx-state [group-address]]] | Clears the PGM traffic statistics. |
Router# show ip pgm router [[interface type number] | [state [group-address]] | [traffic [type number]]] [verbose] | Displays information about PGM traffic statistics and transport session identifier (TSI) state. The TSI is the transport-layer identifier for the source of a PGM session. |
In the following example, PGM Router Assist is configured on Ethernet interfaces 0 and 1:
ip multicast-routing interface ethernet 0 ip pim sparse-dense-mode ip pgm router interface ethernet 1 ip pim sparse-dense-mode ip pgm router
This section documents new commands related to the PGM Router Assist feature. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command references.
In Cisco IOS Release 12.0(1)T or later, you can search and filter the output for show and more commands. This functionality is useful when you need to sort through large amounts of output, or if you want to exclude output that you do not need to see.
To use this functionality, enter a show or more command followed by the "pipe" character (|), one of the keywords begin, include, or exclude, and an expression that you want to search or filter on:
command | {begin | include | exclude} regular-expression
Following is an example of the show atm vc command in which you want the command output to begin with the first line where the expression "PeakRate" appears:
show atm vc | begin PeakRate
For more information on the search and filter functionality, refer to the Cisco IOS Release 12.0(1)T feature module entitled CLI String Search.
To clear PGM traffic statistics, use the clear ip pgm router EXEC command.
clear ip pgm router [[traffic [type number]] | [rtx-state [group-address]]]
traffic [type number] | (Optional) Interface type and number whose PGM traffic statistics are cleared. If no interface type and number are provided, all traffic statistics are cleared. |
rtx-state [group-address] | (Optional) IP address of the multicast group whose PGM retransmit state is cleared. If no group address is provided, all retransmit state is cleared. Clearing retransmit state means the router will not forward any retransmissions corresponding to that state. |
EXEC
| Release | Modification |
|---|---|
12.0(5)T | This command was introduced. |
This command should be used only in rare cases or during debugging. Normally, the retransmit state memory is freed automatically when the information is no longer useful. Also, using this command briefly confuses the normal PGM behavior.
A reason to clear traffic statistics is to make diagnostic testing easier.
A reason to clear state might be to free the memory consumed by such state. PGM retransmit state times out if no traffic keeps it alive.
The following example clears all PGM retransmit state from the router:
clear ip pgm router rtx-state
| Command | Description |
Enables the PGM Router Assist feature. | |
Displays PGM traffic statistics and transport session identifier (TSI) state. |
To enable PGM Router Assist and thereby allow PGM to operate more efficiently on the router, use the ip pgm router interface configuration command. Use the no form of the command to disable PGM Router Assist for the interface.
ip pgm routerThis command has no arguments or keywords.
PGM Router Assist is disabled for the interface.
Interface configuration
| Release | Modification |
|---|---|
12.0(5)T | This command was introduced. |
This command is highly recommended for optimal deployment of PGM Reliable Transport Protocol on a host.
In the following example, PGM Router Assist is configured on Ethernet interfaces 0 and 1:
ip multicast-routing interface ethernet 0 ip pim sparse-dense-mode ip pgm router interface ethernet 1 ip pim sparse-dense-mode ip pgm router
| Command | Description |
Clears PGM traffic statistics. | |
Displays PGM traffic statistics and TSI state. |
To display PGM Reliable Transport Protocol state and statistics, use the show ip pgm router EXEC command.
show ip pgm router [[interface type number] | [state [group-address]] | [traffic [type number]]]
interface type number | (Optional) Displays interfaces on which PGM Router Assist is configured. |
state [group-address] | (Optional) Displays PGM retransmit state information per TSI. If no group address is specified, retransmit state for all groups is shown. |
traffic [type number] | (Optional) Displays PGM packet counters. If no interface type and number are specified, traffic on all interfaces is displayed. These statistics do not reflect the number of PGM data packets (ODATA) that are forwarded in a session, because these are forwarded transparently by IP multicast. |
verbose | (Optional) Displays extended information about olists, timers, FEC, and DLR. |
EXEC
| Release | Modification |
|---|---|
12.0(5)T | This command was introduced. |
The following is sample output of the show ip pgm router command with the interface keyword:
Router# show ip pgm router interface Address Interface 10.1.0.2Ethernet1/0/0 10.3.0.2Ethernet1/0/4 10.4.0.2Ethernet1/0/5 10.2.0.2Serial5/0
Table 1 describes the fields in the display.
| Field | Description |
|---|---|
Address | IP address of the interface running PGM Router Assist. |
Interface | Interface type and number on the router that is running PGM Router Assist. |
The following is sample output of the show ip pgm router command with the traffic keyword:
Router# show ip pgm router traffic
Ethernet1/0/0
NAKs received 2
eliminated 1 (1 0 nomrte 0 noprty 0 err)
NCFs transmitted 2 (2 cpy 0 err)
RDATA forwarded 1
SPMs forwarded 41
Ethernet1/0/4
Ethernet1/0/5
NAKs forwarded 4 (4 dir 0 dlr)
NCFs received 5 (4 1 ant 0 nul 0 rdir 0 rpf 0 pprty 0 noprty 0 err)
RDATA received 9
eliminated 1 (0 qck 1 oif)
SPMs received 41
used 41 (41 src 0 nbr 0 rpf)
Serial5/0
NAKs received 4
eliminated 1 (1 0 nomrte 0 noprty 0 err)
NCFs transmitted 4 (4 cpy 0 err)
RDATA forwarded 7
SPMs forwarded 41
The following is sample output of the show ip pgm router command with the state verbose keywords. In this example, there hasn't been any loss in the receivers; the example shows router state before any NAKs for the sessions have been received. The first TSI represents a selective session. The second represents a session supporting parity with a TGSIZE of 16. The timer associated with each session is an idle timer; the TSI state is deleted when this timer expires.
Router# show ip pgm router state verbose TSI Group Neighbour TGSIZE 0A0700C85555-1000 227.7.7.7 rpf/source N/A 00:04:25 0A0700C85555-2000 234.4.3.2 rpf/source 16 00:04:27
The following example shows state after receivers have reported loss of certain packets. NAKs have been received for each of the two sessions above. After the loss, the router has state for the lost packets. The sqn 1990 indicates that a receiver lost a packet with sequence number 1990 and is requesting that it be resent.
Router# show ip pgm router state verbose
TSI Group Neighbour TGSIZE
0A0700C85555-1000 227.7.7.7 rpf/source N/A 00:04:55
sqn 1990 age 4 ELIM TMR
Ethernet1/0/0
sqn 1991 age 5 (anticipated)
0A0700C85555-2000 234.4.3.2 rpf/source 16 00:04:55
sqn ( 125, 7) age 10
Serial5/0 prty # 7
For the selective TSI, the output shows retransmit state for sequence number 1990. This was created by a NAK received on Ethernet1/0/0. ELIM TMR indicates that the state is currently eliminating and any new NAKs for this sequence number will not be forwarded.
State shown for sequence 1991 is anticipated state, indicating that it was created by a NAK confirmation (NCF) for a NAK sent by some other PGM router with the same PGM upstream neighbor as this router.
For the TSI with parity, the state shown was created by a parity NAK for 7 packets of the Transmission Group 125. This was received on Serial5/0, #7 indicates that 7 parity packets must be forwarded out this interface.
| Command | Description |
Clears PGM traffic statistics. | |
Enables PGM Router Assist for the interface. |
To display debug messages for PGM, use the debug ip pgm router EXEC command. Use the no form of the command to disable debugging output.
[no] debug ip pgm router [spm | nak | data]
spm | (Optional) Enables debugging for Source Path Messages (SPMs). |
nak | (Optional) Enables debugging for negative acknowledgments (NAKs), NAK confirmations (NCFs), and Null NAKs. |
data | (Optional) Enables debugging for Retransmissions (RDATA). |
Debugging for PGM is is not enabled. If the debug ip pgm router command is used with no additional keywords, debugging is enabled for all PGM message types.
| Release | Modification |
|---|---|
12.0(5)T | This command was introduced. |
The following example shows output of the debug ip pgm router command:
Router# debug ip pgm router SPM debugging is on NAK/NNAK/NCF debugging is on RDATA debugging is on
The following example shows output of the debug ip pgm router command with the spm keyword:
Router# debug ip pgm router spm
PGM: Received SPM on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (52 bytes)
SPM TSI 0A0700C85555-1000 data-dport 1001 csum CCCC tlen 52
dsqn 3758096779 tsqn 1954 isqn 1979 lsqn 1990
NLA 10.7.0.200
SPM from source/RPF-neighbour 10.7.0.200 for 10.7.0.200 (SPT)
Forwarded SPM from 10.7.0.200 to 227.7.7.7
The following is a debug message for a selective SPM:
Router# debug ip pgm router spm
PGM: Received SPM on Ethernet1/0/5 from 10.7.0.200 to 234.4.3.2 (52 bytes)
SPM TSI 0A0700C85555-2000 data-dport 2001 csum CCCC tlen 52 Options P N O
dsqn 3758096768 tsqn 1986 isqn 1994 lsqn 2006
NLA 10.7.0.200
SPM from source/RPF-neighbour 10.7.0.200 for 10.7.0.200 (SPT)
Forwarded SPM from 10.7.0.200 to 227.7.7.7
The "P N O" flags indicate which options are present in this packet.
The following example shows output of the debug ip pgm router command with the nak keyword:
Router# debug ip pgm router nak
PGM: Received NAK on Ethernet1/0/0 from 10.1.0.4 to 10.1.0.2 (36 bytes)
NAK TSI 0A0700C85555-1000 data-dport 1001 csum CCCC tlen 36
dsqn 1990 data source 10.7.0.200 group 227.7.7.7
NAK unicast routed to RPF neighbour 10.4.0.1
Forwarding NAK from 10.1.0.4 to 10.4.0.1 for 10.7.0.200
PGM: Received NCF on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (36 bytes)
NCF TSI 0A0700C85555-1000 data-dport 1001 csum CACC tlen 36
dsqn 1990 data source 10.7.0.200 group 227.7.7.7
NAK retx canceled for TSI 0A0700C85555-1000 dsqn 1990
NAK elimination started for TSI 0A0700C85555-1000 dsqn 1990
PGM: Received NCF on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (36 bytes)
NCF TSI 0A0700C85555-1000 data-dport 1001 csum CACC tlen 36
dsqn 1991 data source 10.7.0.200 group 227.7.7.7
No NAK retx outstanding for TSI 0A0700C85555-1000 dsqn 1991
NAK anticipated for TSI 0A0700C85555-1000 dsqn 1991
The following example shows output of the debug ip pgm router command with the data keyword. The debug message is for an RDATA packet for which the router has only anticipated state, sqn 1991. Since it didn't actually get a NAK, this RDATA is not forwarded by the PGM router.
Router# debug ip pgm router data
PGM: Received RDATA on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (70 bytes)
RDATA TSI 0A0700C85555-1000 data-dport 1001 csum CCCC tlen 32
tsqn 1954 dsqn 1990
Marking Ethernet1/0/0 for forwarding
Marking Serial5/0 for skipping
Forwarded RDATA from 10.7.0.200 to 227.7.7.7
Debug message for RDATA packet corresponding to a NAK for sqn
1990. Since the NAK was received on Ethernet1/0/0, RDATA is forwarded
out only that interface and another interface in the multicast olist
Serial5/0 is skipped.
PGM: Received RDATA on Ethernet1/0/5 from 10.7.0.200 to 227.7.7.7 (70 bytes)
RDATA TSI 0A0700C85555-1000 data-dport 1001 csum CCCC tlen 32
tsqn 1954 dsqn 1991
Eliminated RDATA (null oif) from 10.7.0.200 to 227.7.7.7
| Command | Description |
Clears PGM traffic statistics. | |
Enables the PGM Router Assist feature for the interface. | |
Displays PGM traffic statistics and TSI state. |
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Fri Jul 23 17:10:01 PDT 1999
Copyright 1989-1999©Cisco Systems Inc.