BANDWIDTH CONTROL IN A NETWORK ADDRESS TRANSLATION (NAT) ENVIRONMENT
Embodiments disclosed herein provide systems and methods for controlling bandwidth across a network address translation (NAT) system. In a particular embodiment a method provides, identifying a first endpoint and a second endpoint to a communication session. The first endpoint is located within a domain of the NAT system and the second endpoint is located outside to the domain. The method further provides determining a bandwidth limitation for the communication session and, in response to a request for a network address of the second endpoint, providing the network address and the bandwidth limitation to the first endpoint.
1 . A method for controlling bandwidth in a network address translation (NAT) system, the method comprising:
identifying a first endpoint and a second endpoint to a communication session, wherein the first endpoint is located within a domain of the NAT system and the second endpoint is located outside to the domain;
determining a bandwidth limitation for the communication session; and
in response to a request for a network address of the second endpoint, providing the network address and the bandwidth limitation to the first endpoint.
2 . The method of claim 1 , wherein determining the bandwidth limitation for the communication session comprises:
receiving an indication of a maximum bandwidth required for the communication session from the first endpoint; and
setting the bandwidth limitation to at least the maximum bandwidth required for the communication session.
3 . The method of claim 2 , wherein the maximum bandwidth required for the communication session is based upon at least one of a quality of service (QoS) requirement, a bandwidth allocation policy, and a location of the first endpoint.
4 . The method of claim 1 , wherein determining the bandwidth limitation for the communication session comprises:
receiving an indication of a maximum bandwidth required for the communication session from the first endpoint; and
if not enough bandwidth is available to satisfy the maximum bandwidth required for the communication session, setting the bandwidth limitation to an available amount of bandwidth and notifying the first endpoint of the bandwidth limitation.
5 . The method of claim 1 , wherein the first endpoint uses the network address to exchange communications with the second endpoint in accordance with the bandwidth limitation.
6 . The method of claim 1 , wherein identifying the second endpoint comprises:
receiving the request via an edge system to the domain, wherein the edge system performed NAT on a source of the request before transmitting the request.
7 . The method of claim 1 , comprising:
determining the network address, wherein the network address comprises a next hop address to the second endpoint.
8 . The method of claim 1 , wherein the NAT system includes a network firewall.
9 . A communication control system for controlling bandwidth in a network address translation (NAT) system, the communication control system comprising:
one or more computer readable storage media;
a processing system operatively coupled with the one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to:
identify a first endpoint and a second endpoint to a communication session, wherein the first endpoint is located within a domain of the NAT system and the second endpoint is located outside to the domain;
determine a bandwidth limitation for the communication session; and
in response to a request for a network address of the second endpoint, provide the network address and the bandwidth limitation to the first endpoint.
10 . The communication control system of claim 9 , wherein to determine the bandwidth limitation for the communication session, the program instructions direct the processing system to:
receive an indication of a maximum bandwidth required for the communication session from the first endpoint; and
set the bandwidth limitation to at least the maximum bandwidth required for the communication session.
11 . The communication control system of claim 10 , wherein the maximum bandwidth required for the communication session is based upon at least one of a quality of service (QoS) requirement, a bandwidth allocation policy, and a location of the first endpoint.
12 . The communication control system of claim 9 , wherein to determine the bandwidth limitation for the communication session, the program instructions direct the processing system to:
receive an indication of a maximum bandwidth required for the communication session from the first endpoint; and
if not enough bandwidth is available to satisfy the maximum bandwidth required for the communication session, set the bandwidth limitation to an available amount of bandwidth and notifying the first endpoint of the bandwidth limitation.
13 . The communication control system of claim 9 , wherein the first endpoint uses the network address to exchange communications with the second endpoint in accordance with the bandwidth limitation.
14 . The communication control system of claim 9 , wherein to identify the second endpoint, the program instructions direct the processing system to:
receive the request via an edge system to the domain, wherein the edge system performed NAT on a source of the request before transmitting the request.
15 . The communication control system of claim 9 , wherein the program instructions direct the processing system to:
determine the network address, wherein the network address comprises a next hop address to the second endpoint.
16 . The communication control system of claim 9 , wherein the NAT system includes a network firewall.
17 . One or more computer readable storage media having program instructions stored thereon to control bandwidth in a network address translation (NAT) system, the program instructions, when read and executed by a processing system, direct the processing system to:
identify a first endpoint and a second endpoint to a communication session, wherein the first endpoint is located within a domain of the NAT system and the second endpoint is located outside to the domain;
determine a bandwidth limitation for the communication session; and
in response to a request for a network address of the second endpoint, provide the network address and the bandwidth limitation to the first endpoint.
18 . The one or more computer readable storage media of claim 17 , wherein the first endpoint uses the network address to exchange communications with the second endpoint in accordance with the bandwidth limitation.
19 . The one or more computer readable storage media of claim 17 , wherein to identify the second endpoint, the program instructions direct the processing system to:
receive the request via an edge system to the domain, wherein the edge system performed NAT on a source of the request before transmitting the request.
20 . The one or more computer readable storage media of claim 17 , wherein the program instructions direct the processing system to:
determine the network address, wherein the network address comprises a next hop address to the second endpoint.