- Read Me First
- Zone-Based Policy Firewalls
- Zone-Based Policy Firewall IPv6 Support
- VRF-Aware Cisco IOS XE Firewall
- Layer 2 Transparent Firewalls
- Nested Class Map Support for Zone-Based Policy Firewall
- Zone Mismatch Handling
- Configuring Firewall Stateful Interchassis Redundancy
- Box-to-Box High Availability Support for IPv6 Zone-Based Firewalls
- Interchassis Asymmetric Routing Support for Zone-Based Firewall and NAT
- Interchassis High Availability Support in IPv6 Zone-Based Firewalls
- Firewall Box to Box High Availability Support for Cisco CSR1000v Routers
- Firewall Stateful Inspection of ICMP
- Firewall Support of Skinny Client Control Protocol
- Configuring the VRF-Aware Software Infrastructure
- IPv6 Zone-Based Firewall Support over VASI Interfaces
- Protection Against Distributed Denial of Service Attacks
- Configuring Firewall Resource Management
- IPv6 Firewall Support for Prevention of Distributed Denial of Service Attacks and Resource Management
- Configurable Number of Simultaneous Packets per Flow
- LISP and Zone-Based Firewalls Integration and Interoperability
- Firewall High-Speed Logging
- TCP Reset Segment Control
- Loose Checking Option for TCP Window Scaling in Zone-Based Policy Firewall
- Enabling ALGs and AICs in Zone-Based Policy Firewalls
- Configuring Firewall TCP SYN Cookie
- Object Groups for ACLs
- Cisco Firewall-SIP Enhancements ALG
- MSRPC ALG Support for Firewall and NAT
- Sun RPC ALG Support for Firewalls and NAT
- vTCP for ALG Support
- ALG—H.323 vTCP with High Availability Support for Firewall and NAT
- FTP66 ALG Support for IPv6 Firewalls
- SIP ALG Hardening for NAT and Firewall
- SIP ALG Resilience to DoS Attacks
- Zone-Based Firewall ALG and AIC Conditional Debugging and Packet Tracing Support
- Finding Feature Information
- Prerequisites for vTCP for ALG Support
- Restrictions for vTCP for ALG Support
- Information About vTCP for ALG Support
- How to Configure vTCP for ALG Support
vTCP for ALG Support
Virtual Transport Control Protocol (vTCP) functionality provides a framework for various Application Layer Gateway (ALG) protocols to appropriately handle the Transport Control Protocol (TCP) segmentation and parse the segments in the Cisco firewall, Network Address Translation (NAT) and other applications.
- Finding Feature Information
- Prerequisites for vTCP for ALG Support
- Restrictions for vTCP for ALG Support
- Information About vTCP for ALG Support
- How to Configure vTCP for ALG Support
- Configuration Examples for vTCP for ALG Support
- Additional References for vTCP for ALG Support
- Feature Information for vTCP for ALG Support
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and 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 table.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for vTCP for ALG Support
Your system must be running Cisco IOS XE Release 3.1 or a later Cisco IOS XE software release. The latest version of NAT or firewall ALG should be configured.
Restrictions for vTCP for ALG Support
vTCP does not support data channel traffic. To protect system resources vTCP does not support reassembled messages larger than 8K.
vTCP does not support the high availability functionality. High availability mainly relies on the firewall or Network Address Translation (NAT) to synchronize the session information to the standby forwarding engine.
vTCP does not support asymmetric routing. vTCP validates and assembles packet segments based on their sequence number. If packet segments that belong to the same Layer 7 message go through different devices, vTCP will not record the proper state or do an assembly of these segments.
Information About vTCP for ALG Support
Overview of vTCP for ALG Support
When a Layer 7 protocol uses TCP for transportation, the TCP payload can be segmented due to various reasons, such as application design, maximum segment size (MSS), TCP window size, and so on. The application-level gateways (ALGs) that the firewall and NAT support do not have the capability to recognize TCP fragments for packet inspection. vTCP is a general framework that ALGs use to understand TCP segments and to parse the TCP payload.
vTCP helps applications like NAT and Session Initiation Protocol (SIP) that require the entire TCP payload to rewrite the embedded data. The firewall uses vTCP to help ALGs support data splitting between packets.
When you configure firewall and NAT ALGs, the vTCP functionality is activated.
vTCP currently supports Real Time Streaming Protocol (RTSP) and DNS ALGs.
TCP Acknowledgment and Reliable Transmission
Because vTCP resides between two TCP hosts, a buffer space is required to store TCP segments temporarily, before they are sent to other hosts. vTCP ensures that data transmission occurs properly between hosts. vTCP sends a TCP acknowledgment (ACK) to the sending host if vTCP requires more data for data transmission. vTCP also keeps track of the ACKs sent by the receiving host from the beginning of the TCP flow to closely monitor the acknowledged data.
vTCP reassembles TCP segments. The IP header and the TCP header information of the incoming segments are saved in the vTCP buffer for reliable transmission.
vTCP can make minor changes in the length of outgoing segments for NAT-enabled applications. vTCP can either squeeze the additional length of data to the last segment or create a new segment to carry the extra data. The IP header or the TCP header content of the newly created segment is derived from the original incoming segment. The total length of the IP header and the TCP header sequence numbers are adjusted accordingly.
vTCP with NAT and Firewall ALGs
ALG is a subcomponent of NAT and the firewall. Both NAT and the firewall have a framework to dynamically couple their ALGs. When the firewall performs a Layer 7 inspection or NAT performs a Layer 7 fix-up, the parser function registered by the ALGs is called and ALGs take over the packet inspection. vTCP mediates between NAT and the firewall and the ALGs that use these applications. In other words, packets are first processed by vTCP and then passed on to ALGs. vTCP reassembles the TCP segments in both directions within a TCP connection.
How to Configure vTCP for ALG Support
The RTSP, DNS, NAT, and the firewall configurations enable vTCP functionality by default. Therefore no new configuration is required to enable vTCP functionality.
Enabling RTSP on Cisco ASR 1000 Series Routers to Activate vTCP
Perform this task to enable RTSP packet inspection.
1.
enable
2.
configure
terminal
3.
class-map
type
inspect
match-any
class-map-name
4.
match
protocol
protocol-name
5.
exit
6.
policy-map
type
inspect
policy-map-name
7.
class
type
inspect
class-map-name
8.
inspect
9.
class
class-default
10.
exit
11.
exit
12.
zone
security
zone-name1
13.
exit
14.
zone
security
zone-name2
15.
exit
16.
zone-pair
security
zone-pair-name
source
source-zone-name
destination
destination-zone-name
17.
service-policy
type
inspect
policy-map-name
18.
exit
19.
interface
type
number
20.
zone-member
security
zone-name1
21.
exit
22.
interface
type
number
23.
zone-member
security
zone-name
24.
end
DETAILED STEPS
Troubleshooting Tips
The following commands can be used to troubleshoot your RTSP-enabled configuration:
clear zone-pair
show policy-map type inspect zone-pair
show zone-pair security
Configuration Examples for vTCP for ALG Support
Example RTSP Configuration on Cisco ASR 1000 Series Routers
The following example shows how to configure the Cisco ASR 1000 Series Routers to enable RTSP inspection:
class-map type inspect match-any rtsp_class1 match protocol rtsp policy-map type inspect rtsp_policy class type inspect rtsp_class1 inspect class class-default zone security private zone security public zone-pair security pair-two source private destination public service-policy type inspect rtsp_policy interface GigabitEthernet0/1/0 ip address 10.0.0.1 255.0.0.0 zone-member security private ! interface GigabitEthernet0/1/1 ip address 10.0.1.1 255.0.0.0 zone-member security public
Additional References for vTCP for ALG Support
Related Documents
Standards and RFCs
Standard/RFC |
Title |
---|---|
RFC 793 |
Transport Control Protocol |
RFC 813 |
Window and Acknowledge Strategy in TCP |
Technical Assistance
Description |
Link |
---|---|
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password. |
Feature Information for vTCP for ALG Support
The following table provides release information about the feature or features described in this module. This table lists 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.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Feature Name |
Releases |
Feature Information |
---|---|---|
vTCP for ALG Support |
Cisco IOS XE Release 3.1S |
This functionality provides an enhancement to handle the TCP segmentation and reassembling for the firewall and NAT ALGs, in Cisco IOS XE software on the Cisco ASR 1000 Series Routers. |