[an error occurred while processing this directive]

Networking Software (IOS & NX-OS)

Rate Based Satellite Control Protocol

 Feedback

Table Of Contents

Rate Based Satellite Control Protocol

Finding Feature Information

Contents

Restrictions for Rate Based Satellite Control Protocol

Information About Rate Based Satellite Control Protocol

IP over Satellite Links

Performance Enhancing Proxy over Satellite Links

RBSCP over Satellite Links

How to Configure Rate Based Satellite Control Protocol

Configuring the RBSCP Tunnel

Prerequisites

What to Do Next

Verifying that the RBSCP Tunnel Is Active

Verifying the RBSCP Traffic

Configuration Examples for Rate Based Satellite Control Protocol

Configuring the RBSCP Tunnel: Example

Configuring Routing for the RBSCP Tunnel: Example

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance

Feature Information for Rate Based Satellite Control Protocol


Rate Based Satellite Control Protocol


Rate Based Satellite Control Protocol (RBSCP) was designed for wireless or long-distance delay links with high error rates, such as satellite links. Using tunnels, RBSCP can improve the performance of certain IP protocols, such as TCP and IP Security (IPSec), over satellite links without breaking the end-to-end model.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the "Feature Information for AToM NSF" section on page 10.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.

Contents

Restrictions for Rate Based Satellite Control Protocol

Information About Rate Based Satellite Control Protocol

How to Configure Rate Based Satellite Control Protocol

Configuration Examples for Rate Based Satellite Control Protocol

Additional References

Feature Information for Rate Based Satellite Control Protocol

Restrictions for Rate Based Satellite Control Protocol

RBSCP was designed for wireless or long-distance delay links with high error rates such as satellite links. If you do not have long-distance delay links with high error rates, do not implement this feature.

If IP access lists (ACLs) are configured on an interface that is used by an RBSCP tunnel, the RBSCP IP protocol (199) must be allowed to enter and exit that interface or the tunnel will not function.

RBSCP has some performance limitations because traffic through the tunnel is process-switched.

Information About Rate Based Satellite Control Protocol

IP over Satellite Links

Performance Enhancing Proxy over Satellite Links

RBSCP over Satellite Links

IP over Satellite Links

Satellite links have several characteristics that affect the performance of IP protocols over the link. Figure 1 shows that satellite links can have a one-way delay of 275 milliseconds. A round-trip time (RTT) of 550 milliseconds is a very long delay for TCP. Another issue is the high error rates (packet loss rates) that are typical of satellite links as compared to wired links in LANs. Even the weather affects satellite links, causing a decrease in available bandwidth, and an increase in RTT and packet loss.

Figure 1 Typical Satellite Link

Long RTT keeps TCP in a slow start mode, which increases the time before the satellite link bandwidth is fully used. TCP and Stream Control Transmission Protocol (SCTP) interpret packet loss events as congestion in the network and start to perform congestion recovery procedures, which reduce the traffic being sent over the link.

Although available satellite link bandwidths are increasing, the long RTT and high error rates experienced by IP protocols over satellite links are producing a high bandwidth-delay product (BDP).

Performance Enhancing Proxy over Satellite Links

To address the problem of TCP being kept in a slow start mode when a satellite link is used, a disruptive performance enhancing proxy (PEP) solution is introduced into the network. In Figure 2 you can see that the transport connection is broken up into three sections with hosts on the remote side connecting to the Internet through their default router. The router sends all Internet-bound traffic to the TCP PEP, which terminates the TCP connection to the Internet. The PEP generates a local TCP ACK (TCP spoofing) for all data. Traffic is buffered and retransmitted through a single PEP protocol connection over the satellite link. The second PEP receives the data from the satellite link and retransmits the data over separate TCP connections to the Internet. TCP transmission is disrupted, so dropped packets are not interpreted as TCP congestion and can be retransmitted from buffered data. Minimal TCP ACKs and reduced TCP slow starts allow more bandwidth to be used.

Figure 2 Disruptive TCP PEP Solution

One of the disadvantages to using disruptive TCP PEP is the breaking of the end-to-end model. Some applications cannot work when the flow of traffic is broken, and the PEP has no provision for handling encrypted traffic (IPSec). New transport protocols such as SCTP require special handling or additional code to function with disruptive TCP PEP. An additional managed network component is also required at every satellite router.

RBSCP over Satellite Links

RBSCP has been designed to preserve the end-to-end model and provide performance improvements over the satellite link without using a PEP solution. IPSec encryption of clear-text traffic (for example a VPN service configuration) across the satellite link is supported. RBSCP allows two routers to control and monitor the sending rates of the satellite link, thereby increasing the bandwidth utilization. Lost packets are retransmitted over the satellite link by RBSCP preventing the end host TCP senders from going into slow start mode.

RBSCP is implemented using a tunnel interface as shown in Figure 3. The tunnel can be configured over any network interface supported by Cisco IOS software that can be used by a satellite modem or internal satellite modem network module. IP traffic is sent across the satellite link with appropriate modifications and enhancements that are determined by the router configuration. Standard routing or policy-based routing can be used to determine the traffic to be sent through the RBSCP tunnel.

Figure 3 Nondisruptive RBSCP Solution

RBSCP tunnels can be configured for any of the following features.

Time Delay

One of the RBSCP routers can be configured to hold frames due for transmission through the RBSCP tunnel. The delay time increases the RTT at the end host and allows RBSCP time to retransmit lost TCP frames or other protocol frames. If the retransmission is successful, it prevents lost frame events from reaching the end host where congestion procedures would be enabled. In some cases the retransmission can be completed by RBSCP without inserting the delay.

ACK Splitting

Performance improvements can be made for clear-text TCP traffic using acknowledgement (ACK) splitting in which a number of additional TCP ACKs are generated for each TCP ACK received. TCP will open a congestion window by one maximum transmission unit (MTU) for each TCP ACK received. Opening the congestion window results in increased bandwidth becoming available. Configure this feature only when the satellite link is not using all the available bandwidth. Encrypted traffic cannot use ACK splitting.

Window Stuffing

Clear-text TCP and SCTP traffic can benefit from the RBSCP window stuffing feature. RBSCP can buffer traffic so that the advertised window can be incremented up to the available satellite link bandwidth or the available memory in the router. The end host that sends the packets is fooled into thinking that a larger window exists at the receiving end host and sends more traffic. Use this feature with caution because the end host may send too much traffic for the satellite link to handle and the resulting loss and retransmission of packets may cause link congestion.

SCTP Drop Reporting

SCTP uses an appropriate byte counting method instead of ACK counting to determine the size of the transmission window, so ACK splitting does not work with SCTP. The RBSCP tunnel can generate an SCTP packet-dropped report for packets dropped across the satellite but not as a result of congestion loss. This SCTP drop reporting is on by default and provides a chance to retransmit the packet without affecting the congestion window size. Actual congestion losses are still reported, and normal recovery mechanisms are activated.

How to Configure Rate Based Satellite Control Protocol

Configuring the RBSCP Tunnel (required)

Verifying that the RBSCP Tunnel Is Active (optional)

Verifying the RBSCP Traffic (optional)

Configuring the RBSCP Tunnel

Perform this task to configure the RBSCP tunnel. Remember to configure the router at each end of the tunnel.

Prerequisites

Ensure that the physical interface to be used as the tunnel source in this task is already configured.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface type number

4. ip unnumbered interface-type interface-number

5. tunnel source {ip-address | interface-type interface-number}

6. tunnel destination {hostname | ip-address}

7. tunnel bandwidth {receive | transmit} bandwidth

8. tunnel mode {aurp | cayman | dvmrp | eon | gre | gre multipoint | ipip [decapsulate-any] | iptalk | mpls | nos | rbscp}

9. tunnel rbscp ack_split split-size

10. tunnel rbscp delay

11. tunnel rbscp report

12. tunnel rbscp window_stuff step-size

13. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

interface type number

Example:

Router(config)# interface tunnel 0

Specifies the interface type and number and enters interface configuration mode.

Step 4 

ip unnumbered interface-type interface-number

Example:

Router(config-if)# ip unnumbered Ethernet 1

Enables IP processing on an interface without assigning an explicit IP address.

Whenever the unnumbered interface generates a packet (for example, for a routing update), it uses the address of the specified interface as the source address of the IP packet.

Step 5 

tunnel source {ip-address | interface-type interface-number}

Example:

Router(config-if)# tunnel source Ethernet 1

Configures the tunnel source.

Use the ip-address argument to specify the IP address of the service provider.

Use the interface-type and interface-number arguments to specify the interface to use. For RBSCP we recommend specifying an interface as the tunnel source.

Step 6 

tunnel destination {hostname | ip-address}

Example:

Router(config-if)# tunnel destination 172.17.2.1

Configures the tunnel destination.

Use the hostname argument to specify the IP address of the service provider.

Use the ip-address argument to specify the interface to use.

Step 7 

tunnel bandwidth {receive | transmit} bandwidth

Example:

Router(config-if)# tunnel bandwidth transmit 1000

Specifies the tunnel bandwidth to be used to transmit packets.

Use the bandwidth argument to specify the bandwidth.

Note The receive keyword is no longer used.

Step 8 

tunnel mode {aurp | cayman | dvmrp | eon | gre | gre multipoint | ipip [decapsulate-any] | iptalk | mpls| nos | rbscp}

Example:

Router(config-if)# tunnel mode rbscp

Specifies the protocol to be used in the tunnel.

Use the rbscp keyword to specify that RBSCP will be used as the tunnel protocol.

Step 9 

tunnel rbscp ack_split split-size

Example:

Router(config-if)# tunnel rbscp ack_split 6

(Optional) Enables TCP acknowledgement (ACK) splitting with RBSCP tunnels.

Use the split-size argument to specify the number of ACKs to send for every ACK received.

The default number of ACKs is 4.

Step 10 

tunnel rbscp delay

Example:

Router(config-if)# tunnel rbscp delay

(Optional) Enables RBSCP tunnel delay.

Use this command only when the RTT is greater than 700 milliseconds.

Step 11 

tunnel rbscp report

Example:

Router(config-if)# tunnel rbscp report

(Optional) Reports dropped RBSCP packets to SCTP.

Reporting dropped packets to SCTP provides better bandwidth use because SCTP tells the end hosts to retransmit the dropped packets and this prevents the end hosts from assuming that the network is congested.

Step 12 

tunnel rbscp window_stuff step-size

Example:

Router(config-if)# tunnel rbscp window_stuff 3

(Optional) Enables TCP window stuffing by increasing the value of the TCP window scale for RBSCP tunnels.

Use the step-size argument to specify the step increment number.

Step 13 

exit

Example:

Router(config-if)# exit

Exits interface configuration mode and returns to global configuration mode.

Repeat this step one more time to exit global configuration mode.

What to Do Next

This task must be repeated on the router on the other side of the satellite link. Substitute the sample IP addresses, host names, and other parameters for the appropriate values on the second router.

Verifying that the RBSCP Tunnel Is Active

Perform this task to verify that the RBSCP tunnel configured in the "Configuring the RBSCP Tunnel" task is active.

SUMMARY STEPS

1. enable

2. show rbscp [all | state | statistics] [tunnel tunnel-number]

3. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

show rbscp [all | state | statistics] [tunnel 
tunnel-number]
Example:
Router# show rbscp state tunnel 1

Use this command with the state and tunnel keywords to display information about the current state of the tunnel. In the following sample output the tunnel is shown in an open state. All counters display totals accumulated since the last clear rbscp command was issued.

Step 3 

exit

Example:

Router># exit

Exits priviliged EXEC configuration mode.

Verifying the RBSCP Traffic

Perform this task to verify that the traffic is being transmitted through the RBSCP tunnel and across the satellite link.

SUMMARY STEPS

1. enable

2. show interfaces tunnel number [accounting]

3. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

show interfaces tunnel number [accounting]
Example:
Router# show interfaces tunnel 0

Use this command to show that traffic is being transmitted through the RBSCP tunnel.

Step 3 

exit

Example:

Router># exit

Exits priviliged EXEC configuration mode.

Configuration Examples for Rate Based Satellite Control Protocol

Configuring the RBSCP Tunnel: Example

Configuring Routing for the RBSCP Tunnel: Example

Configuring the RBSCP Tunnel: Example

In the following example, Router 1 and Router 2 are configured to send traffic through an RBSCP tunnel over a satellite link.

Router 1

interface Tunnel 0
 ip unnumbered ethernet1
 tunnel source ethernet1
 tunnel destination 172.17.2.1
 tunnel bandwidth transmit 1000
 tunnel mode rbscp
 tunnel rbscp ack_split 6
 tunnel rbscp report
!
interface ethernet1
 description Satellite Link
 ip address 172.20.1.2 255.255.255.0

Router 2

interface Tunnel 0
 ip unnumbered ethernet1
 tunnel source ethernet1
 tunnel destination 172.20.1.2
 tunnel bandwidth transmit 1000
 tunnel mode rbscp
 tunnel rbscp ack_split 6
 tunnel rbscp report
!
interface ethernet1
 description Satellite Link
 ip address 172.17.2.1 255.255.255.0

Configuring Routing for the RBSCP Tunnel: Example

To control the type of traffic that uses the RBSCP tunnel, you must configure the appropriate routing. If you want to direct all traffic through the tunnel, you can configure a static route.


Note Remember to configure the tunnel interface as passive if dynamic routing protocols are used to prevent routing flaps.


The following example shows how to use policy based routing to route some specific protocol types through the tunnel. In this example, an extended access list allows TCP, Stream Control Transmission Protocol (SCTP), Encapsulating Security Payload (ESP) protocol, and Authentication Header (AH) traffic to travel through the tunnel. All IP traffic is denied.

Router 1 (Local Side)

interface Tunnel1
 ip unnumbered FastEthernet1/1
 tunnel source FastEthernet1/1
 tunnel destination 10.12.0.20
 tunnel mode rbscp
 tunnel ttl 5
 tunnel bandwidth transmit 30000
 tunnel rbscp window_stuff 1
 tunnel rbscp ack_split 4
!
interface FastEthernet0/0
 ip address 10.13.0.1 255.255.255.0
 ip policy route-map rbscp-pbr
 duplex auto
 speed auto
!
interface FastEthernet1/1
 description Satellite Link
 ip address 10.12.0.1 255.255.255.0
 duplex auto
 speed auto
!
ip route 10.15.0.0 255.255.255.0 FastEthernet1/1
!
ip access-list extended rbscp-acl
 permit tcp any 10.15.0.0 0.0.0.255
 permit 132 any 10.15.0.0 0.0.0.255
 permit esp any 10.15.0.0 0.0.0.255
 permit ahp any 10.15.0.0 0.0.0.255
 deny ip any any
!
!
route-map rbscp-pbr permit 10
 match ip address rbscp-acl
 set interface Tunnel1

Router 2 (Remote Side)

ip dhcp pool CLIENT
 import all
 network 10.15.0.0 255.255.255.0
 default-router 10.15.0.1
 domain-name engineer.chicago.il.us
 dns-server 10.10.0.252
!
interface Tunnel1
 ip unnumbered FastEthernet0/1
 tunnel source FastEthernet0/1
 tunnel destination 10.12.0.1
 tunnel mode rbscp
 tunnel ttl 5
 tunnel bandwidth transmit 30000
 tunnel rbscp window_stuff 1
 tunnel rbscp ack_split 4
!
interface FastEthernet0/0
 description Local LAN
 ip address 10.15.0.1 255.255.255.0
 ip policy route-map rbscp-pbr
 duplex auto
 speed auto
!
interface FastEthernet0/1
 description Satellite Link
 ip address 10.12.0.20 255.255.255.0
 duplex auto
 speed auto
!
ip route 0.0.0.0 0.0.0.0 FastEthernet0/1
!
ip access-list extended rbscp-acl
 permit tcp any any
 permit 132 any any
 permit esp any any
 permit ahp any any
 deny ip any any
!
route-map rbscp-pbr permit 10
 match ip address rbscp-acl
 set interface Tunnel1

Additional References

Related Documents

Related Topic
Document Title

Tunnel interface commands: complete command syntax, command mode, defaults, usage guidelines, and examples

Cisco IOS Interface and Hardware Component Command Reference

Tunnel configuration

Cisco IOS Interface and Hardware Component Configuration Guide


Standards

Standards
Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.


MIBs

MIBs
MIBs Link

No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs


RFCs

RFCs
Title

RFC 1323

TCP Extensions for High Performance

RFC 2018

TCP Selective Acknowledgment Options


Technical Assistance

Description
Link

Technical Assistance Center (TAC) home page, containing 30,000 pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/public/support/tac/home.shtml


Feature Information for Rate Based Satellite Control Protocol

Table 1 lists the release history for this feature.

Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.


Note Table 1lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.


Table 1 Feature Information for AToM NSF Any Transport over MPLS and AToM Graceful Restart

Feature Name
Releases
Feature Information

Rate Based Satellite Control Protocol

12.3(7)T

This feature was introduced.

The following commands were introduced or modified:

clear rbscp, debug tunnel rbscp, show rbscp, tunnel bandwidth, tunnel mode, tunnel rbscp ack_split, tunnel rbscp delay, tunnel rbscp input_drop, tunnel rbscp long_drop, tunnel rbscp report, tunnel rbscp, window_stuff.



[an error occurred while processing this directive]