User:Hdelossantos/DDR

Dial on Demand Routing (DDR) is a routing technique developed by Cisco where an internet connection to a remote site is established only when needed and then closed when it’s no longer used. If the router tries to send out data and the connection is off, then the router will automatically make a connection, send the information, and then close the connection when no more data needs to be sent. This is different than a Wide Area Network (WAN) setup where a connection is always established. Situations where DDR becomes very useful happen when companies have to pay per minute for a WAN setup. If a connection is always enabled, this can become very expensive, especially if the company does not require a constant internet connection.

How it works
There are two parts of a establishing a connection with DDR. The first is a physical connection. The physical connection consists of what kinds of cable are used over the network and what networking cards are used to establish that connection. DDR uses existing Public Telephone Switch Network (PTSN) lines or public circuit switched networks to form a connection from sender to receiver.

The second part of establishing a DDR connection is the logical connection which determines how information is sent over the network and what protocols are used. This connection uses a Point-to-Point Protocol (PPP) link, which handles all of the networking functions such as sending, receiving, and compression between two computers or routers over the internet. The PPP link is the link used in dial up connections where you dial to another computer or router over a telephone line when you wish to make a connection to the network or internet.

One important factor to consider when establishing a DDR connection is the delay from when you attempt to make a connection to when the receiving computer starts to receive your information. This is called the connection establishment delay. The delay could be anywhere from 3 to over 20 seconds depending on multiple factors such as the types of cable used in the connection, the distance the data is being sent, and which protocols are being used to send the information. Knowing how much of a delay there will be is a very important part of designing an efficient DDR system because if the delay in making a connection is greater than expected, the application can abandon the connection attempt and try again.

Why is it Still Used Today
DDR can be used both as a primary or backup connection. A site configured to use DDR can both place and receive calls from other sites. Nowadays, DDR is mainly used for backup connections which go live when the primary connection fails. DDR connections are inherently slow and service fees are charged like phone calls depending on the uptime. DDR can be used with modems or ISDN (Integrated Services Digital Network) connections, which allow it to achieve a maximum connection speed of 1.544 Mbps in the US or 2.048Mbps in Europe and Australia for an ISDN PRI link. Different speeds can be obtained depending on how many data channels the user is willing to pay for.

When a company or organization has two or more locations that need to regularly communicate with each other in order to conduct business, the reliability and cost of the connection are very important. Because of this, there are two important reasons why Dial on Demand routing is used today.

The first reason is reliability. If a company or organization communicates between its different branches or firms regularly, it will most likely lease a dedicated cable line to connect all of the branches together; however, these lines are not always reliable and one of the branches may be cut off from the rest. In situations like this, having a backup connection ready is essential. Since DDR uses existing telephone lines, a DDR connection will almost always be available as a backup solution.

A second reason why DDR is still used is because it’s cheap. Leasing cable lines can be really expensive, especially if information isn’t constantly being sent back and forth between branches. Thus setting up a DDR connection where a connection is only established when it is needed and then shut off is a very cost effective alternative.

Defining Connection Access
DDR is commonly configured as a hub and spoke network, where remote sites dial a central site to exchange data. Depending on the needs, the central site can also be the one to contact the remote sites to retrieve data. Calls are initiated on a per need basis and are shut down once the transmission is terminated. Access Control Lists (ACLs) can be used to restrict which type of traffic, or interesting traffic, is allowed to establish a connection. ACLs can be refined so that the connection is only established when a set of specific criteria matches, only then will the interface be brought up. These specific criteria are essential to minimizing connections which would otherwise be initiated needlessly, thus minimizing cost. When using dynamic routing protocols to discover remote networks, it is crucial to configure interesting traffic accordingly, otherwise the connection will be initiated on every dynamic routing update. Depending on the protocol being used this could occur as often as every 60 seconds. Additionally, it is equaly crucial to filter out any native ethernet traffic which would otherwise cause an unwanted connection to initialize. ACLs can also restrict the establishment of a link depending on the destination host being contacted and the host trying to establish the connection. For example, if only certain users are to be allowed to establish a connection, but all users should have intranet access, then ACLs can be configured so that only the computers of the select users are allowed access. Furthermore, ACLs can be configured so that only connections to a specific destination will be initialized, such that if userA want to connect to destinationX and userB wants to connect to destinationY, then only userB would be able to establish a connection if connections to destinationX are not considered interesting traffic. Interesting traffic can also be defined such that only SSH packets are allowed to establish the link. In that case, then all other packets trying to access valid destinations will be discarded. When configuring dynamic routing protocols to communicate over a DDR connection, their update packets must be classified as interesting traffic. Depending on the dynamic routing protocol being used, setting their updates as interesting traffic might cause the connection to be initialized often. For example RIP v1, which updates every 60 seconds, would cause the connection to be initialized on every update. It is common to see static routes defined for these connections in order to avoid extra service charges. Other routing protocols such as Open Shortest Path First (OSPF) and EIGRP only send updates when a connection changes. These routing protocols are ideal for DDR and must be configured with "default-information originate" on a Cisco router.

Dialer Maps and Rotary Groups
Dialer maps are configured on each interface to specify which numbers to dial and how long to stay on the line waiting for the receiving end to pick up. For example, if two dialer map commands on the Serial 0/0/0 interface (Serial port 0 of module 0 of interface 0) have the same next hop address, or the IP address of the connection at the destination end, but with different phone numbers, then the first number is dialed and only once the wait-for-carrier timer expires will the next number be dialed. The wait-for-carrier timer can be specified when configuring the dialer map. Backup interfaces can also be defined in the event that all of the numbers on a dialer map for that interface were unreachable. A single interface can be configured for multiple remote sites because no two connections to one interface can be on at the same time. The first step in specifying a DDR interface is defining a rotary group. Although the DDR interface is a virtual one, all of the configuration commands for physical interfaces are available. A dialer Rotary Group can be created so that either of the interfaces in it can be used to dial any of the destinations defined in it.