Elsevier

Computer Communications

Volume 29, Issue 11, 26 July 2006, Pages 1905-1916
Computer Communications

Load-balanced agent activation for value-added network services

https://doi.org/10.1016/j.comcom.2005.10.035Get rights and content

Abstract

In relation to its growth in size and user population, the Internet faces new challenges that have triggered the proposals of value-added network services, e.g., IP multicast, IP traceback, DiffServ, IntServ, etc. In addition, recent advances in processor and hardware techniques have enabled the production of high speed and powerful routers. Therefore, it is not unreasonable to expect the Internet to provide a variety of value-added network services other than packet forwarding in the near future. Depending on their purposes, value-added services may improve the scalability and efficiency of end user applications or may enhance the reliability and security of the network infrastructure. On the other hand, they may incur non-trivial overhead on the routers providing these services. It is a thorny problem to reach a balance between the performance of value-added services and the incurred overhead. In this paper, we study this problem in the context of both reliable multicast and distributed denial-of-service (DDoS) defense. In either scenario, a software agent is activated at some routers in a tree topology to provide the required functionality. We formulate the problem as load-balanced agent activation problem (LBAAP). Our goal is to develop a mechanism to activate value-added service agents in the network for the purpose of reaching a balance between the performance and overhead. We develop a polynomial time algorithm to solve the LBAAP problem in single tree case, and propose a heuristic for the LBAAP problem in the case where multiple trees exist in the network, a problem we conjecture is NP-hard. Finally we evaluate the performances of various approaches for activating value-added service agents through simulation.

Introduction

During the recent years, several new technologies/services have been proposed/introduced into the Internet. These include quality of service (QoS) routing [1], [2], content delivery networks [3], multicast communication services [4], and so on. In addition, the increasing rate of denial-of-service (DoS) attacks in the Internet has clearly shown the need for effective DoS defense mechanisms most of which require additional support from the network [5], [6], [7].

One common characteristic of these technologies is that they introduce additional functionalities into the network devices, i.e., routers and/or servers co-located with routers. In this paper, we refer to this type of additional functionalities as value-added network services (VAS). VASs are typically implemented as software modules at routers and/or co-located servers. We refer to this type of software modules as VAS agents. A VAS agent at a network device can be turned on (activated) or turned off (deactivated). If a VAS agent is activated at a device, we say that the device hosts the VAS agent. VAS agents help to improve the performance of end user applications and to enhance the robustness of the network infrastructure. However, VAS agents incur non-trivial overhead on the devices hosting them.

In this paper, we use reliable multicast and distributed denial-of-service (DDoS) defense as example services to study the tradeoff between the VAS performance and the overhead introduced by VAS agents on the network devices. Our goal is to develop a mechanism to activate VAS agents on a proper set of network devices so that (1) VAS performance requirements are satisfied and (2) the resulting assignment does not cause any load imbalance among the network devices.

Reliable multicast is a value-added network service that provides reliable data transport from a single source to multiple receivers in the Internet. A key challenge in reliable multicast is scalability. The main difficulty in making reliable multicast scalable is the feedback message implosion at the multicast source site. As the number of receivers increases, their feedback messages back to the source could eventually overwhelm the computing resources and even the link bandwidth at the source site.

The usual approach to ensure reliable delivery in reliable multicast protocols is the use of Negative Acknowledgements (NAK). That is, receivers send out NAK messages to inform the source about packet loss. Compared with Positive Acknowledgement (ACK), NAK in reliable multicast can alleviate feedback message implosion at the source as long as the chance of packet loss is lower than that of successful packet delivery. In a NAK protocol, when a packet loss occurs close to the source, most of the receivers will detect the loss and send out NAK messages. The mere amount of these NAKs can easily result in implosion at the source.

One common approach to avoid feedback implosion at the source site is feedback suppression. In this scheme, a VAS agent, called NAK suppression agent, is set up at internal nodes in a multicast tree. NAK messages are unicasted from the receiver to its nearest ancestor node hosting a NAK suppression agent in the multicast tree. The ancestor node then forwards one NAK message to its nearest agent-hosting ancestor node and suppresses all duplicate NAKs.

NAK suppression agents are helpful for implosion prevention which is a key issue in reliable multicast. At the same time, however, they incur memory and processing overhead on routers. A NAK suppression agent must store sequence number information for each outstanding NAK message to suppress future duplicate NAKs. NAK messages are extracted from the IP fast forwarding path for a more detailed processing at the router where the NAK suppression agent is activated. The NAK suppression agent examines every received NAK to decide whether to forward it or to suppress it. Moreover, in order to eliminate the security vulnerability of false NAKs, the NAK suppression agent needs to deploy some authentication mechanism [8].

DoS attacks work by flooding some resource (a remote server or network) with large amounts of traffic, thereby preventing legitimate users from accessing that resource. A DDoS attack is a type of DoS attack where the attack traffic originates from multiple sources. (D)DoS attacks are threatening the utility of the Internet severely [9]. There has been a substantial amount of research work on defending against (D)DoS attacks.

The goal of IP traceback [5], [6] is to construct the attack tree of a DDoS attack, which is composed of the network paths from attack sources to the victim. In practice, wily attackers can counterfeit extra routers into the traceback path [5] and IP traceback may be only partially deployed in the network [10]. Because of these practical limitations, the current IP traceback techniques can only construct an approximate or incomplete attack tree for a DDoS attack. Inaccurate attack trees are still valuable to DDoS defense as the defense measures such as packet filtering can be applied closer to the attack sources. Due to the possibility of source IP spoofing [11], the effective way to identify attack traffic is based on destination IP addresses. Blocking attack traffic based on destination IP addresses usually incurs collateral damage, that is, blocks the innocent traffic destined to the victim. Therefore, a better DoS defense measure is rate-limiting, instead of blocking, the attack traffic.

Pushback [7] is a cooperative mechanism in which a router can ask upstream routers to rate-limit DoS attack traffic. Given an attack tree constructed in IP traceback process, pushback mechanism can be used to (1) determine the rate limits for the attack traffic at different routers in the attack tree and (2) decide when to stop the rate-limiting process. In pushback, a VAS agent, called aggregate-based congestion control (ACC) agent, is activated at the routers in an attack tree. The ACC agent at a router periodically reports local status to the nearest ancestor ACC agent in the attack tree through a pushback feedback message. After combining the feedback from the nearest descendent ACC agents and local status, the ACC agent calculates/updates the rate limits for the attack traffic at the current router and the descendent routers, and then informs the ACC agents at those descendent routers.

Similar to NAK suppression agents, ACC agents incur memory and processing overhead on routers. ACC agents keep track of the status of attack traffic and reconsider rate limiting decisions periodically to update the rate limit for attack traffic. For each arriving packet, ACC agents need to check whether that packet belongs to attack traffic, and if so, forward or discard the packet according to the rate limit for the attack traffic.

In either reliable multicast or DDoS defense, a key problem is to decide where to activate VAS agents (NAK suppression agents or ACC agents) in a tree topology (multicast tree or attack tree). On one hand, a trivial approach which activates a VAS agent at every router in the tree meets VAS performance requirements (prevent implosion at the reliable multicast source or protect the victim under DDoS attack from malicious traffic), but leads to excessively high total memory and processing overhead on the routers. On the other hand, activating VAS agents at just a few routers in the tree reduces the total overhead, but may fail to satisfy the performance requirements, or even worse, may overload some routers with excessive feedback messages, thereby degrading the performance of packet forwarding for all traffic through those routers.

In the context of multiple trees, the situation becomes even more complicated. If many multicast/attack trees pass through a router, the trivial approach mentioned above will activate a VAS agent for every tree and the resultant memory requirement could overload the router. A naive solution to avoid the memory overload on routers is to deactivate the VAS agent for a randomly chosen tree at the overloaded router. However, such an approach has a deficiency that the casual selection of the tree being “dropped” may impair the VAS performance or overload other routers in that tree with excessive feedback messages.

Reaching a compromise between the VAS performance and the overhead of VAS agents is a complex problem. In this paper we explore a simplified version of that problem, referred to as Load-Balanced Agent Activation Problem (LBAAP). Specifically, the LBAAP problem is how to determine the number and placement of VAS agents in order to satisfy VAS performance requirements, with minimal total memory and processing overhead on routers and without overloading any router.

We examine the LBAAP problem in different contexts, propose corresponding algorithms, and evaluate the performances of various approaches by simulation.

The rest of this paper is organized as follows. In Section 2, we define and analyze the LBAAP problem. In Section 3, we study the LBAAP problem and propose algorithms for both single tree case and multiple tree case. In Section 4, we evaluate the performances of various VAS agent activation approaches by simulation. In Section 5, we discuss the limitations of our algorithms and possible extensions. We survey related work in Section 6. Finally, we conclude the paper in Section 7.

Section snippets

Preliminaries

In this section, we introduce the models, definitions, and assumptions used in this paper.

In the context of either reliable multicast or DDoS defense, an agent tree structure can be constructed for describing the relationship among the involved entities. In the agent tree of a reliable multicast session, the leaves represent multicast group receivers and the internal nodes represent routers with NAK suppression capability. The root of the agent tree corresponds to the edge router at the

Load-balanced agent activation problem

We examine the load-balanced agent activation problem (LBAAP) problem in both single tree and multiple tree cases and propose algorithms to solve the problem in these cases.

Evaluations

We evaluate the performances of various VAS agent activation approaches by simulation in the context of both a single tree and multiple trees. To the best of our knowledge, the LBAAP problem has not been addressed before. So we compare the algorithms presented in the previous section with some approaches proposed by ourselves.

The metrics used to evaluate the performance are total memory overhead and total processing overhead on routers. In the single tree case, as we mentioned in Section 2, the

Discussion

The VAS agent activation algorithms proposed in this paper take agent tree topologies as the input. The deployment of these algorithms in practice can be done in a centralized manner. That is, the algorithms are implemented on a central server, which collects the agent tree topologies, invokes the algorithms, and then commands the relevant routers to activate VAS agents.

In this paper, we assume that multicast/attack tree topologies are known to us. Previous work [12], [13] studied how to

Related work

From a theoretical standpoint, the LBAAP problem resembles two well-known graph theoretic problems: the k-median problem and the facility location problem. Given a graph with n nodes, the k-median problem is to select k out of n nodes as service centers so as to minimize the sum of the cost of each node accessing its nearest service center. Tamir [18] studied the k-median problem in a tree topology and proposed an optimal algorithm. Li et al. [19] used a similar approach to optimally place web

Conclusion

In this paper, we have explored the relationship between the performance of value-added network services (VAS) and the overhead imposed on routers by the VAS agents realizing those services. In particular, we have discussed the load-balanced agent activation problem (LBAAP) derived from the context of both reliable multicast and DDoS defense. The goal of the LBAAP problem is to activate VAS agents in the network with a manner that not only satisfies performance requirements but also avoid load

Chao Gong is a Ph.D. student in the Department of Computer Science, University of Texas at Dallas. He received a M.A. degree in computer science from Brandeis University in 2001. His research interests are in management and security of computer networks. He is a student member of IEEE and IEEE Communications Society.

References (27)

  • A. Tamir

    An O(pn2) algorithm for the p-median and related problems on tree graphs

    Oper. Res. Lett.

    (1996)
  • S. Guha et al.

    Hierarchical reliable multicast: Performance analysis and placement of proxies

    Comput. Commun.

    (2003)
  • S. Shenker, J. Wroclawski, General characterization parameters for integrated service network elements, Internet...
  • S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, An architecture for differentiated services, Internet...
  • B. Krishnamurthy, C. Wills, Y. Zhang, On the use and performance of content distribution networks, in: Proceedings of...
  • K. Almeroth

    The evolution of multicast: From the MBone to inter-domain multicast to Internet2 deployment

    IEEE Netw.

    (2000)
  • S. Savage et al.

    Network support for IP traceback

    IEEE/ACM Trans. Netw.

    (2001)
  • A. Snoeren et al.

    Single-packet IP traceback

    IEEE/ACM Trans. Netw.

    (2002)
  • R. Mahajan et al.

    Controlling high bandwidth aggregates in the network

    ACM SIGCOMM Comput. Commun. Rev.

    (2002)
  • J. Gemmell et al.

    The PGM reliable multicast protocol

    IEEE Netw.

    (2003)
  • L. Garber

    Denial-of-service attacks rip the Internet

    IEEE Comput.

    (2000)
  • C. Gong, T. Le, T. Korkmaz, K. Sarac, Single packet IP traceback in AS-level partial deployment scenario, in...
  • Computer Emergency Response Team, IP spoofing attacks and hijacked terminal connections, CERT Advisory CA-95. 01,...
  • Cited by (1)

    Chao Gong is a Ph.D. student in the Department of Computer Science, University of Texas at Dallas. He received a M.A. degree in computer science from Brandeis University in 2001. His research interests are in management and security of computer networks. He is a student member of IEEE and IEEE Communications Society.

    Kamil Sarac received his M.S. and Ph.D. degrees in computer science from the University of California Santa Barbara, in 1997 and 2002 respectively. He is currently an assistant professor in the Department of Computer Science, University of Texas at Dallas. His research interests include computer networks and protocols; group communication including IP multicast, peer-to-peer networking and overlay networks; management and security of computer networks. Dr. Sarac has co-chaired the Computer Networks special track in ACM SAC 2004 and has served as a reviewer for a number of conferences and journals. He is a member of both the ACM and IEEE.

    Ovidiu Daescu received the B.S. in computer science and automation from the Technical Military Academy, Bucharest, Romania, in 1991, and the M.S. and Ph.D. degrees from the University of Notre Dame, in 1997 and 2000. He is currently an assistant professor in the Department of Computer Science, University of Texas at Dallas. His research interests are in algorithm design, computational geometry and geometric optimization.

    Dr. Balaji Raghavachari is a Professor of Computer Science at the University of Texas at Dallas in the Erik Jonsson School of Engineering and Computer Science. He received his Ph.D. from the Pennsylvania State University in 1992. His research interests include the design and analysis of algorithms, database design, approximation algorithms, combinatorial optimization, network design, telecommunication networks, and, vehicle routing and traversal problems.

    Raja Jothi is a Research Associate at the National Center for Biotechnology Information (NCBI), National Institutes of Health (NIH). He received his Ph.D. in Computer Science from the University of Texas at Dallas in 2004. His research interests include the design and analysis of algorithms, and computational molecular biology.

    1

    Present address: National Center for Biotechnology Information, National Library of Medicine, National Institutes of Health, Bethesda, MD 20894, USA.

    View full text