|
|
Unidirectional link routing (UDLR) provides a way to forward multicast packets over a physical unidirectional interface (such as a satellite link of high bandwidth) to stub networks that have a back channel.
Both unicast and multicast routing protocols forward data on interfaces from which they have received routing control information. That model works only on bidirectional links. The problem is how to accomplish two-way communication over satellite links, which are unidirectional. That is, how can the router perform unidirectional link routing?
To be more specific, in unicast routing, when a router receives an Update on an interface for a prefix, it forwards data for destinations that match that prefix out that same interface. This is the case in distance vector routing protocols.
Similarly, in multicast routing, when a router receives a Join for a multicast group on an interface, it forwards data destined for that group out that same interface. Based on these principles, existing unicast and multicast routing protocols cannot be supported over these unidirectional links.
Cisco has two solutions for the unidirectional link problem. If you want to implement a unidirectional link to a satellite, choose one of the following solutions, depending on how many receivers you intend to send to.
One solution is to create a back channel (another link) so the routing protocols believe the one-way link is bidirectional. The back channel itself is a special, unidirectional, generic route encapsulation (GRE) tunnel through which control traffic flows in the opposite direction of the user data flow. This feature allows IP and its associated unicast and multicast routing protocols to believe the unidirectional link is logically bidirectional.
This solution accommodates all IP unicast and multicast routing protocols without changing them. However, it does not scale as well as Cisco's second UDLR solution if many links to many receivers are involved. We recommend that no more than 20 tunnels feed into the upstream router.
The purpose of the unidirectional GRE tunnel is to move control packets from a downstream node to an upstream node.
The one-way tunnel is mapped to a one-way interface (that goes in the opposite direction). Mapping is performed at the link layer, so the one-way interface appears bidirectional. When the upstream node receives packets over the tunnel, it must make the upper-layer protocols think the packets were received on the send-capable unidirectional link.
Cisco's other UDLR solution is to use IP multicast routing with IGMP, which has been enhanced to accommodate UDLR. This solution scales very well for many satellite links.
Unidirectional link routing allows a router to perform routing over a satellite link. A satellite link provides higher bandwidth and is less expensive to use than a terrestrial link. The cost for a receiver attachment is economically attractive.
The following compares the benefits of the two possible ways to achieve UDLR:
For information about tunnel interfaces, refer to the chapter "Configuring Logical Interfaces" in the Cisco IOS Release 12.0 Cisco IOS Interface Configuration Guide.
For information about IGMP, refer to the chapter "Configuring IP Multicast Routing" in the Cisco IOS Release 12.0 Network Protocols Configuration Guide, Part 1.
This feature is supported on any platform that supports Cisco IOS Release 12.0(3)T.
If you want to configure UDLR, you must decide which solution to implement. Based on how many receivers you expect to have, choose either a UDLR tunnel or IGMP UDLR. Both solutions are provided in this document.
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
back channel---A link between two routers over which traffic can flow in the opposite direction of the unidirectional link between them. A back channel could be a unidirectional tunnel or a link over any number of routers.
downstream router---A router that receives traffic from a satellite link. It is assumed that this router has only a downstream connection to the satellite with receive-only capabilities.
unidirectional link routing (UDLR)---Routing over a one-way link to or from a satellite link. When used as an adjective to describe a tunnel, a UDLR tunnel is the back channel to complete the two-way communication between routers.
upstream router---A router that forwards data on a unidirectional link such as a satellite link. It is assumed that this router has only an upstream connection to the satellite with send-only capabilities.
The unidirectional tunnel does not require an ip address or ip unnumbered command. That is, you do not assign an IP address to the tunnel, but you must configure the tunnel endpoint addresses.
Use all of the following required commands to configure a UDLR tunnel. The tunnel mode defaults to GRE.
On the upstream router, where the unidirectional link can only send, configure the tunnel to receive. Use the following commands beginning in global configuration mode. When packets are received over the tunnel, the upper layer protocols think the packet is received over the unidirectional send-only interface.
| Command | Purpose |
|---|---|
interface type number | Configures the unidirectional send-only interface. |
interface tunnel number | Configures the receive-only tunnel interface. |
tunnel udlr receive-only type number | Configures the UDLR tunnel. Use the same type and number as the unidirectional SEND-ONLY interface type and number specified with the interface type number command. |
tunnel source {ip-address | type number} | Configures the tunnel source. |
tunnel destination {hostname | ip-address} | Configures the tunnel destination. |
On the downstream router, where the unidirectional link can only receive, configure the tunnel to send. Use the following commands beginning in global configuration mode. When packets are sent by upper layer protocols over the interface, they will be redirected and sent over this GRE tunnel.
| Command | Purpose |
|---|---|
interface type number | Configures the unidirectional receive-only interface. |
interface tunnel number | Configures the send-only tunnel interface. |
tunnel udlr send-only type number | Configures the UDLR tunnel. Use the same type and number as the unidirectional RECEIVE-ONLY interface type and number specified with the interface type number command. |
tunnel source {ip-address | type number} | Configures the tunnel source. |
tunnel destination {hostname | ip-address} | Configures the tunnel destination. |
For an example of a UDLR tunnel, see the section "UDLR Tunnel Example."
Perform the following tasks to configure IGMP UDLR. The first task is required; the remaining task is optional.
To configure an IGMP unidirectional link, configure the upstream and downstream routers. You need not specify whether the direction is sending or receiving; IGMP learns the direction by the nature of the physical connection.
On the upstream router, use the following command in interface configuration mode:
| Command | Purpose |
|---|---|
Configures IGMP on the interface to be unidirectional. |
On the downstream router, use the following commands in interface configuration mode. When the router receives an IGMP report from a host, the router helpers that report to the IGMP querier associated with the UDL interface identified in the ip igmp helper-address command.
| Command | Purpose |
|---|---|
ip igmp unidirectional-link | Configures IGMP on the interface to be unidirectional. |
ip igmp helper-address udl type number | Configures the interface to be an IGMP helper. Use this command on every downstream router, on every interface to a potential multicast receiver. Specify the type and number that identify the unidirectional link interface. |
By default, the distance for the default Reverse Path Forwarding (RPF) interface is 15. Any explicit sources learned by routing protocols will take preference if their distance is less than the distance configured by the ip multicast default-rpf-distance command.
If you want IGMP to prefer the UDLR link, set the distance to be less than the unicast routing protocols' distances. If you want IGMP to prefer the non-UDLR link, set the distance to be greater than the unicast routing protocols' distances. This task might be required on downstream routers if you want to have some sources RPF to the UDLR link and others through the terrestrial paths.
To configure one of these preferences, use the following command in global configuration mode:
| Command | Purpose |
|---|---|
ip multicast default-rpf-distance distance | Changes the distance for the default RPF interface. |
To display UDLR information for directly connected groups on interfaces that have a unidirectional link helper address configured, use the following command in EXEC mode:
| Command | Purpose |
|---|---|
show ip igmp udlr [groupname-or-address | interface-unit] | Displays UDLR information for directly connected multicast groups on interfaces that have a unidirectional link helper address configured. |
The following examples each illustrate a different approach to UDLR. The first example is the tunnel approach, and the second example is the IGMP approach.
Figure 1 illustrates a UDLR tunnel. In the example, Router A (the upstream router) is configured with Open Shortest Path First (OSPF) and Protocol-Independent Multicast (PIM). Serial interface 0 has send-only capability. Therefore, the UDLR tunnel is configured as receive only, and points to Serial 0.
Router B (the downstream router) is configured with OSPF and PIM. Serial interface 1 has receive-only capability. Therefore, the UDLR tunnel is configured as send-only, and points to Serial 1.
The configurations for the two routers follow the figure.

ip multicast-routing ! ! Serial0 has send-only capability ! interface serial 0 encapsulation hdlc ip address 10.1.0.1 255.255.0.0 ip pim sparse-dense-mode ! ! Configure tunnel as receive-only UDLR tunnel. ! interface tunnel 0 tunnel source 11.0.0.1 tunnel destination 11.0.0.2 tunnel udlr receive-only serial 0 ! ! Configure OSPF. ! router ospf <pid> network 10.0.0.0 0.255.255.255 area 0
ip multicast-routing
!
! Serial1 has receive-only capability
!
interface serial 1
encapsulation hdlc
ip address 10.1.0.2 255.255.0.0
ip pim sparse-dense-mode
!
! Configure tunnel as send-only UDLR tunnel.
!
interface tunnel 0
tunnel source 11.0.0.2
tunnel destination 11.0.0.1
tunnel udlr send-only serial 1
!
! Configure OSPF.
!
router ospf <pid>
network 10.0.0.0 0.255.255.255 area 0
In the following example, uplink-rtr is the local upstream router and downlink-rtr is the downstream router. Figure 2 illustrates the example, and the configurations of the two routers follow.
Both routers are also connected to each other by a back channel connection. Both routers have two IP addresses: one on the unidirectional link and one on the interface that leads to the back channel. The back channel is any return route and can have any number of routers.
All routers on a unidirectional link must have the same subnet address. If this cannot be achieved, the upstream router must be configured with secondary addresses to match all the subnets that the downstream routers are attached to.

ip multicast-routing ! ! Interface that source is attached to ! interface ethernet 0 description Typical IP multicast enabled interface ip address 12.0.0.1 255.0.0.0 ip pim sparse-dense-mode ! ! Back channel ! interface ethernet 1 description Back channel which has connectivity to downlink-rtr ip address 11.0.0.1 255.0.0.0 ip pim sparse-dense-mode ! ! Unidirectional link ! interface serial 0 description Unidirectional to downlink-rtr ip address 10.0.0.1 255.0.0.0 ip pim sparse-dense-mode ip igmp unidirectional-link no keepalive
ip multicast-routing ! ! Interface that receiver is attached to, configure for IGMP reports to be ! helpered for the unidirectional interface. ! interface ethernet 0 description Typical IP multicast-enabled interface ip address 14.0.0.2 255.0.0.0 ip pim sparse-dense-mode ip igmp helper-address udl serial 0 ! ! Back channel ! interface ethernet 1 description Back channel that has connectivity to downlink-rtr ip address 13.0.0.2 255.0.0.0 ip pim sparse-dense-mode ! ! Unidirectional link ! interface serial 0 description Unidirectional to uplink-rtr ip address 10.0.0.2 255.0.0.0 ip pim sparse-dense-mode ip igmp unidirectional-link no keepalive
This section documents the following new commands. All other commands used with this feature are documented in the Cisco IOS Release12.0 command references
To configure IGMP helpering as required for IGMP unidirectional link routing (UDLR), use the ip igmp helper-address interface configuration command. To disable such report forwarding, use the no form of this command.
ip igmp helper-address udl type number
udl type number | Interface type and number of unidirectional interface. |
No forwarding occurs.
Interface configuration
This command was revised in Cisco IOS Release 12.0(3)T with the addition of the udl keyword.
This command is required on a downstream router on each interface connected to a potential multicast receiver. The command allows the downstream router to helper IGMP reports received from hosts to an upstream router connected to a unidirectional link associated with the configured type and number.
The following example configures a helper address on a downstream router:
ip multicast-routing ! ! Interface that receiver is attached to, configure for IGMP reports to be ! helpered for the unidirectional interface. ! interface ethernet 0 description Forward IGMP reports from this interface to UDL querier ip address 14.0.0.2 255.0.0.0 ip pim sparse-dense-mode ip igmp helper-address udl serial 0
To configure an interface to be unidirectional and enable it for IGMP unidirectional link routing (UDLR), use the ip igmp unidirectional-link interface configuration command. To disable the unidirectional link, use the no form of this command.
ip igmp unidirectional-linkThis command has no arguments or keywords.
No unidirectional link routing occurs.
Interface configuration
This command first appeared in Cisco IOS Release 12.0(3)T.
One example of when you might configure this command is if you have traffic traveling via a satellite.
If you have a small number of receivers, another way to achieve UDLR is to configure a UDLR tunnel. See the tunnel udlr receive-only and tunnel udlr send-only commands.
The following example configures an upstream router with UDLR on serial interface 0:
ip multicast-routing ! ! Unidirectional link ! interface serial 0 description Unidirectional to downlink-rtr ip address 10.0.0.1 255.0.0.0 ip pim sparse-dense-mode ip igmp unidirectional-link no keepalive
ip igmp helper-address
ip multicast default-rpf-distance
show ip igmp udlr
tunnel udlr receive-only
tunnel udlr send-only
When configuring IGMP unidirectional link routing, to change the distance given to the default Reverse Path Forwarding (RPF) interface, use the ip multicast default-rpf-distance global configuration command. To restore the default value, use the no form of this command.
ip multicast default-rpf-distance distance
distance | Distance given to the default RPF interface. The default value is 15. |
15
Global configuration
This command first appeared in Cisco IOS Release 12.0(3)T.
This command is optional. If you want to receive all multicast traffic from all sources on the unidirectional link, as long as 15 is the lowest distance, you need not change the value of 15.
The default RPF interface is selected when an IGMP Query is received on a unidirectional link and indicates to the router all sources will RPF to the unidirectional link interface.
Any explicit sources learned by routing protocols will take preference as long as their distance is less than the distance configured with the ip multicast default-rpf-distance command.
You might consider changing the default value for one of the following reasons:
The following example configures a distance of 20:
ip multicast default-rpf-distance 20
ip igmp unidirectional-link
To display unidirectional link routing (UDLR) information for directly connected multicast groups on interfaces that have a unidirectional link helper address configured, use the show ip igmp udlr EXEC command.
show ip igmp udlr [group-name-or-address | type number]
group-name-or-address | (Optional) Name or address of the multicast group for which to show UDLR information. |
type number | (Optional) Interface type and number for which to show UDLR information. |
EXEC
This command first appeared in Cisco IOS Release 12.0(3)T.
This command displays which groups are being forwarded and received over the unidirectional link.
On the upstream router, this command shows which interface is a UDL interface and which IP multicast groups are being forwarded out that interface. The UDL Reporter is the IP address of the downstream interface on the receiving router. If there is more than one downstream router, this field shows which downstream router forwarded the IGMP host report to the upstream router over the ground-based network. This report is forwarded over the unidirectional link so that all downstream routers know which groups have already have been requested by other downstream routers, so that additional IGMP host reports are suppressed.
On the downstream router, this command (the Interface field) shows which local interface an IGMP host report (from a directly connected host for a specific group) was received on. The UDL Reporter is the IP address of the router that had forwarded the IGMP host report to the upstream router over the ground-based network. The UDL Interfaces column shows the interface on which IP multicast packets are being received.
The following is sample output of the show ip igmp udlr command on an upstream router:
upstream-rtr# show ip igmp udlr IGMP UDLR Status, UDL Interfaces: Serial0 Group Address Interface UDL Reporter Reporter Expires 224.2.127.254 Serial0 10.0.0.2 00:02:12 224.0.1.40 Serial0 10.0.0.2 00:02:11 225.7.7.7 Serial0 10.0.0.2 00:02:15
The following is sample output of the show ip igmp udlr command on a downstream router:
downstream-rtr# show ip igmp udlr IGMP UDLR Status, UDL Interfaces: Serial0 Group Address Interface UDL Reporter Reporter Expires 224.2.127.254 Serial0 10.0.0.2 00:02:49 224.0.1.40 Serial0 10.0.0.2 00:02:48 225.7.7.7 Serial0 10.0.0.2 00:02:52
Table 1 describes the significant fields in the first display.
| Field | Description |
|---|---|
Group Address | All groups helpered by the reporter on the interface. |
Interface | Interface type and number to which the group is connected. |
UDL Reporter | IP address of the router on the UDL network that is IGMP helpering for the group. |
Reporter Expires | How soon the reporter will become inactive, in hours:minutes:seconds. This can occur under the following conditions: · The reporter has gone down. · The link or network to the reporter has gone down. · The group member attached to the reporter has left the group. |
To configure a unidirectional, GRE tunnel to act as a back channel that can receive messages, when another interface is configured for unidirectional link routing (UDLR) to send messages, use the tunnel udlr receive-only interface configuration command. To remove the tunnel, use the no form of this command.
tunnel udlr receive-only type number
type number | Interface type and number. Make this type and number match the unidirectional send-only interface type and number specified by the interface command. Thus, when packets are received over the tunnel, the upper layer protocols will believe the packets are received over the unidirectional send-only interface. |
No UDLR tunnel is configured.
Interface configuration
This command first appeared in Cisco IOS Release 12.0(3)T.
Use this command to configure a router that has a unidirectional interface with send-only capabilities. One example of when you might configure this command is if you have traffic traveling via a satellite.
The type and number must match the send-only interface type and number specified by the interface command.
You must configure the tunnel udlr send-only command at the opposite end of the tunnel.
If you have a large number of receivers, you should configure UDLR by an alternative means: IGMP UDLR. See the ip igmp unidirectional-link command.
In the following example, Router A (the upstream router) is configured with OSPF and PIM. Serial interface 0 has send-only capability. Therefore, the UDLR tunnel is configured as receive only, and points to Serial 0.
ip multicast-routing ! ! Serial0 has send-only capability ! interface serial 0 encapsulation hdlc ip address 10.1.0.1 255.255.0.0 ip pim sparse-dense-mode ! ! Configure tunnel as receive-only UDLR tunnel. ! interface tunnel 0 tunnel source ethernet 0 tunnel destination <downstream-router> tunnel udlr receive-only serial 0 ! ! Configure OSPF. ! router ospf <pid> network 10.0.0.0 0.255.255.255 area 0
Router B (the downstream router) is configured with OSPF and PIM. Serial interface 1 has receive-only capability. Therefore, the UDLR tunnel is configured as send-only, and points to Serial 1.
ip multicast-routing
!
! Serial1 has receive-only capability
!
interface serial 1
encapsulation hdlc
ip address 10.1.0.2 255.255.0.0
ip pim sparse-dense-mode
!
! Configure tunnel as send-only UDLR tunnel.
!
interface tunnel 0
tunnel source ethernet 0
tunnel destination <upstream-router>
tunnel udlr send-only serial 1
!
! Configure OSPF.
!
router ospf <pid>
network 10.0.0.0 0.255.255.255 area 0
interface
interface tunnel
ip igmp unidirectional-link
tunnel udlr send-only
To configure a unidirectional, GRE tunnel to act as a back channel that can send messages, when another interface is configured for unidirectional link routing (UDLR) to receive messages, use the tunnel udlr send-only interface configuration command. To remove the tunnel, use the no form of this command.
tunnel udlr send-only type number
type number | Interface type and number. Make this type and number match the unidirectional receive-only interface type and number specified by the interface command. Thus, when packets are sent by upper layer protocols over the interface, they will be redirected and sent over this GRE tunnel. |
No UDLR tunnel is configured.
Interface configuration
This command first appeared in Cisco IOS Release 12.0(3)T.
Use this command to configure a router that has a unidirectional interface with receive-only capabilities. The UDLR tunnel will act as a back channel. One example of when you might configure this command is if you have traffic traveling via a satellite.
The type and number must match the receive-only interface type and number specified by the interface command.
You must configure the tunnel udlr receive-only command at the opposite end of the tunnel.
In the following example, Router A (the upstream router) is configured with OSPF and PIM. Serial interface 0 has send-only capability. Therefore, the UDLR tunnel is configured as receive only, and points to Serial 0.
ip multicast-routing ! ! Serial0 has send-only capability ! interface serial 0 encapsulation hdlc ip address 10.1.0.1 255.255.0.0 ip pim sparse-dense-mode ! ! Configure tunnel as receive-only UDLR tunnel. ! interface tunnel 0 tunnel source ethernet 0 tunnel destination <downstream-router> tunnel udlr receive-only serial 0
Router B (the downstream router) is configured with OSPF and PIM. Serial interface 1 has receive-only capability. Therefore, the UDLR tunnel is configured as send-only, and points to Serial 1.
ip multicast-routing
!
! Serial1 has receive-only capability
!
interface serial 1
encapsulation hdlc
ip address 10.1.0.2 255.255.0.0
ip pim sparse-dense-mode
!
! Configure tunnel as send-only UDLR tunnel.
!
interface tunnel 0
tunnel source ethernet 0
tunnel destination <upstream-router>
tunnel udlr send-only serial 1
interface
interface tunnel
ip igmp unidirectional-link
tunnel udlr receive-only
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Mon Jan 10 18:09:44 PST 2000
Copyright 1989-2000©Cisco Systems Inc.