Dial-on-demand routing (DDR) is used to allow two or more Cisco routers to dial an ISDN dial-up connection on an as-needed basis. DDR is only used for low-volume, periodic network connections using either a Public Switched Telephone Network (PSTN) or ISDN. This was designed to reduce WAN costs if you have to pay on a per-minute or per-packet basis.
DDR works when a packet received on an interface meets the requirements of an access list defined by an administrator, which defines interesting traffic. The following five steps give a basic description of how DDR works when an interesting packet is received in a router interface:
1. Route to the destination network is determined.
2. Interesting packets dictate a DDR call.
3. Dialer information is looked up.
4. Traffic is transmitted.
5. Call is terminated when no more traffic is being transmitted over a link and the idle-timeout period ends.
Configuring DDR
To configure legacy DDR, you need to perform three tasks:
1. Define static routes, which define how to get to the remote networks and what interface to use to get there.
2. Specify the traffic that is considered interesting to the router.
3. Configure the dialer information that will be used to dial the interface to get to the remote network.
Configuring Static Routes
To forward traffic across the ISDN link, you configure static routes in each of the routers. You certainly can configure dynamic routing protocols to run on your ISDN link, but then the link will never drop. The suggested routing method is static routes. Keep the following in mind when creating static routes:
* All participating routers must have static routes defining all routes of known networks.
* Default routing can be used if the network is a stub network. An example of static routing with ISDN is shown below: RouterA(config)#ip route 172.16.50.0 255.255.255.0 172.16.60.2
RouterA(config)#ip route 172.16.60.2 255.255.255.255 bri0 What this does is tell the router how to get to network 172.16.50.0, which is through 172.16.60.2. The second line tells the router how to get to 172.16.60.2.
Specifying Interesting Traffic
After setting the route tables in each router, you need to configure the router to determine what brings up the ISDN line. An administrator using the dialer-list global configuration command defines interesting packets.
The command to turn on all IP traffic is shown as follows:
804A(config)#dialer-list 1 protocol ip permit
804A(config)#int bri0
804A(config-if)#dialer-group 1
The dialer-group command sets the access list on the BRI interface. Extended access lists can be used with the dialer-list command to define interesting traffic to just certain applications. We’ll cover that in a minute.
Configuring the Dialer Information
There are five steps in the configuration of the dialer information.
1. Choose the interface.
2. Set the IP address.
3. Configure the encapsulation type.
4. Link interesting traffic to the interface.
5. Configure the number or numbers to dial.
Here is an example of how to configure the five steps:
804A#config t
804A(config)#int bri0
804A(config-if)#ip address 172.16.60.1 255.255.255.0
804A(config-if)#no shut
804A(config-if)#encapsulation ppp
804A(config-if)#dialer-group 1
804A(config-if)#dialer-string 8350661
Instead of the dialer-string command, you can use a dialer map,
which provides more security.
804A(config-if)#dialer map ip 172.16.60.2 name 804B 8350661
The dialer map command can be used with the dialer-group command and its associated access list to initiate dialing. The dialer map command uses the IP address of the next hop router, the hostname of the remote router for authentication, and then the number to dial to get there.
Take a look at the following configuration of an 804 router:
804B#sh run
Building configuration...
Current configuration:
Optional Commands:
There are two other commands that you should configure on your BRI interface: the dialer load-threshold command and the dialer idletimeout command.
The dialer load-threshold command tells the BRI interface when to bring up the second B channel. The option is from 1–255, where 255 tells the BRI to bring up the second B channel only when the first channel is 100 percent loaded. The second option for that command is in, out, or either. This calculates the actual load on the interface either on outbound traffic, inbound traffic, or combined. The default is outbound. The dialer idle-timeout command specifies the number of seconds before a call is disconnected after the last interesting traffic is sent. The default is 120 seconds.
The dialer load-threshold 125 tells the BRI interface to bring up the second B channel if either the inbound or outbound traffic load is 50 percent. The dialer idle-timeout 180 changes the default disconnect time from 120 to 180 seconds.
DDR with Access Lists:
You can use access lists to be more specific about what is interesting traffic. In the preceding example we just set the dialer list to allow any IP traffic to bring up the line. That is great if you are testing, but it can defeat the purpose of why you use a DDR line in the first place. You can use extended access lists to set the restriction, for example, to only e-mail or Telnet.
Here is an example of how you define the dialer list to use an access list:
In the preceding example, you configure the dialer-list command to look at an access list. This doesn’t have to be IP; it can be used with any protocol. Create your list, then apply it to the BRI interface with the dialergroup command.
Verifying the ISDN Operation:
The following commands can be used to verify legacy DDR and ISDN: Ping and Telnet Are great IP tools for any network. However, your interesting traffic must dictate that Ping and Telnet are acceptable as interesting traffic to bring up a link. Once a link is up, you can ping or telnet to your remote router regardless of your interesting traffic lists. Show dialer Gives good information about your dialer diagnostic information and shows the number of times the dialer string has been reached, the idle-timeout values of each B channel, the length of cal, and the name of the router to which the interface is connected.
Show isdn active Shows the number called and whether a call is in progress.
Show isdn status Is a good command to use before trying to dial.
Shows if your SPIDs are valid and if you are connected and communicating with layers 1 through 3 information to the provider’s switch.
Sho ip route Shows all routes the router knows about.
Debug isdn q921 Is used to see layer-2 information only.
Debug isdn q931 Is used to see layer-3 information, including call setup and teardown.
Debug dialer Gives you call-setup and teardown activity.
Isdn disconnect int bri0 Clears the interface and drops the connection. Performing a shutdown on the interface can give you the same results.
DDR works when a packet received on an interface meets the requirements of an access list defined by an administrator, which defines interesting traffic. The following five steps give a basic description of how DDR works when an interesting packet is received in a router interface:
1. Route to the destination network is determined.
2. Interesting packets dictate a DDR call.
3. Dialer information is looked up.
4. Traffic is transmitted.
5. Call is terminated when no more traffic is being transmitted over a link and the idle-timeout period ends.
Configuring DDR
To configure legacy DDR, you need to perform three tasks:
1. Define static routes, which define how to get to the remote networks and what interface to use to get there.
2. Specify the traffic that is considered interesting to the router.
3. Configure the dialer information that will be used to dial the interface to get to the remote network.
Configuring Static Routes
To forward traffic across the ISDN link, you configure static routes in each of the routers. You certainly can configure dynamic routing protocols to run on your ISDN link, but then the link will never drop. The suggested routing method is static routes. Keep the following in mind when creating static routes:
* All participating routers must have static routes defining all routes of known networks.
* Default routing can be used if the network is a stub network. An example of static routing with ISDN is shown below: RouterA(config)#ip route 172.16.50.0 255.255.255.0 172.16.60.2
RouterA(config)#ip route 172.16.60.2 255.255.255.255 bri0 What this does is tell the router how to get to network 172.16.50.0, which is through 172.16.60.2. The second line tells the router how to get to 172.16.60.2.
Specifying Interesting Traffic
After setting the route tables in each router, you need to configure the router to determine what brings up the ISDN line. An administrator using the dialer-list global configuration command defines interesting packets.
The command to turn on all IP traffic is shown as follows:
804A(config)#dialer-list 1 protocol ip permit
804A(config)#int bri0
804A(config-if)#dialer-group 1
The dialer-group command sets the access list on the BRI interface. Extended access lists can be used with the dialer-list command to define interesting traffic to just certain applications. We’ll cover that in a minute.
Configuring the Dialer Information
There are five steps in the configuration of the dialer information.
1. Choose the interface.
2. Set the IP address.
3. Configure the encapsulation type.
4. Link interesting traffic to the interface.
5. Configure the number or numbers to dial.
Here is an example of how to configure the five steps:
804A#config t
804A(config)#int bri0
804A(config-if)#ip address 172.16.60.1 255.255.255.0
804A(config-if)#no shut
804A(config-if)#encapsulation ppp
804A(config-if)#dialer-group 1
804A(config-if)#dialer-string 8350661
Instead of the dialer-string command, you can use a dialer map,
which provides more security.
804A(config-if)#dialer map ip 172.16.60.2 name 804B 8350661
The dialer map command can be used with the dialer-group command and its associated access list to initiate dialing. The dialer map command uses the IP address of the next hop router, the hostname of the remote router for authentication, and then the number to dial to get there.
Take a look at the following configuration of an 804 router:
804B#sh run
Building configuration...
Current configuration:
!The BRI interface is running the PPP encapsulation and has a timeout value of 300 seconds. The load-threshold command makes both BRI interfaces come up immediately (Okay, I feel that if I am paying for both I want them both up all the time). The one thing you really want to notice is the dialer-group 1 command. That number must match the dialer-list number. The hold-queue 75 in command tells the router that when it receives an interesting packet, it should queue up to 75 packets while it is waiting for the BRI to come up. If there are more than 75 packets queued before the link comes up, the packets will be dropped.
version 12.0
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname 804B
!
ip subnet-zero
!
isdn switch-type basic-ni
!
interface Ethernet0
ip address 172.16.50.10 255.255.255.0
no ip directed-broadcast
!
interface BRI0
ip address 172.16.60.2 255.255.255.0
no ip directed-broadcast
encapsulation ppp
dialer idle-timeout 300
dialer string 8358661
dialer load-threshold 2 either
dialer-group 1
isdn switch-type basic-ni
isdn spid1 0835866201 8358662
isdn spid2 0835866401 8358664
hold-queue 75 in
!
ip classless
ip route 172.16.30.0 255.255.255.0 172.16.60.1
ip route 172.16.60.1 255.255.255.255 BRI0
!
dialer-list 1 protocol ip permit
!
Optional Commands:
There are two other commands that you should configure on your BRI interface: the dialer load-threshold command and the dialer idletimeout command.
The dialer load-threshold command tells the BRI interface when to bring up the second B channel. The option is from 1–255, where 255 tells the BRI to bring up the second B channel only when the first channel is 100 percent loaded. The second option for that command is in, out, or either. This calculates the actual load on the interface either on outbound traffic, inbound traffic, or combined. The default is outbound. The dialer idle-timeout command specifies the number of seconds before a call is disconnected after the last interesting traffic is sent. The default is 120 seconds.
RouterA(config-if)#dialer load-threshold 125 either
RouterA(config-if)#dialer idle-timeout 180
The dialer load-threshold 125 tells the BRI interface to bring up the second B channel if either the inbound or outbound traffic load is 50 percent. The dialer idle-timeout 180 changes the default disconnect time from 120 to 180 seconds.
DDR with Access Lists:
You can use access lists to be more specific about what is interesting traffic. In the preceding example we just set the dialer list to allow any IP traffic to bring up the line. That is great if you are testing, but it can defeat the purpose of why you use a DDR line in the first place. You can use extended access lists to set the restriction, for example, to only e-mail or Telnet.
Here is an example of how you define the dialer list to use an access list:
804A(config)#dialer-list 1 list 110
804A(config)#access-list 110 permit tcp any any eq smtp
804A(config)#access-list 110 permit tcp any any eq telnet
804A(config)#int bri0
804A(config-if)#dialer-group 1
In the preceding example, you configure the dialer-list command to look at an access list. This doesn’t have to be IP; it can be used with any protocol. Create your list, then apply it to the BRI interface with the dialergroup command.
Verifying the ISDN Operation:
The following commands can be used to verify legacy DDR and ISDN: Ping and Telnet Are great IP tools for any network. However, your interesting traffic must dictate that Ping and Telnet are acceptable as interesting traffic to bring up a link. Once a link is up, you can ping or telnet to your remote router regardless of your interesting traffic lists. Show dialer Gives good information about your dialer diagnostic information and shows the number of times the dialer string has been reached, the idle-timeout values of each B channel, the length of cal, and the name of the router to which the interface is connected.
Show isdn active Shows the number called and whether a call is in progress.
Show isdn status Is a good command to use before trying to dial.
Shows if your SPIDs are valid and if you are connected and communicating with layers 1 through 3 information to the provider’s switch.
Sho ip route Shows all routes the router knows about.
Debug isdn q921 Is used to see layer-2 information only.
Debug isdn q931 Is used to see layer-3 information, including call setup and teardown.
Debug dialer Gives you call-setup and teardown activity.
Isdn disconnect int bri0 Clears the interface and drops the connection. Performing a shutdown on the interface can give you the same results.