
Background:
As Internet continue evolving, security matters become more and more important; thus, many institutions set up circuit-level firewalls, which provide limited proxy service for internet connection. As a result, internal network users need other proxy server to visit external resources. But the reality is that:
- Proxy server systems under Linux are limited in function;
- Existing proxy server systems have only limited support for level-2 proxy;
- Existing proxy server systems have difficulty coping with complicated network conditions.
So it would be significant to build a self-adaptive proxy system under Linux environment.
Our Solution:
Our proposed proxy system is network self-adaptive integrated solution.
- Provide high-efficiency proxy service;
- Level-2 proxy relay and multi-protocol fusion;
- Proxy server evaluation module;
- Dynamic level-2 proxy selection module.
As the following figure shows, Proxy Adapter (PA) keeps monitoring a group of level-2 proxy servers. By testing their performance in a given interval, PA gathers data and evaluates each server’s performance. When internal network user tries to connect outside resource, PA dynamically selects a "best" proxy for that user and forwards his request.
Thus, PA hides the complexity of outter network; what client should do is just set PA as their primary proxy.
System Organization:
PA is mainly divided into two modules: base proxy system and proxy assessment system.
- Base proxy system monitors a given port, waiting client’s connection. When a client request is captured, this module extracts its protocol, destination and user information; if this connection is authenticated, PA sends a request to proxy assessment system for a “best” level-2 proxy and forwards client’s connection to that proxy.
- Proxy assessment system works individually from the former module. It uses an auto proxy script to grip level-2 proxy server list (Proxy Discovery). After the list is initiated, it scans this list one by one to test their speed (Proxy Scan). After several rounds, historical data could be used to evaluate each proxy’s performance; timeout entry would be deleted and newly discovered entry added (Proxy Evaluation). This module also maintains communication with the former module and keeps ready to feedback its request by selecting a "best" level-2 proxy based on the protocol, destination, etc (Proxy Decision).
Other Features:
- Portability: compiling and running compatible in almost every Linux system.
- High security: safety and authentication measures are taken when a client tries to connect; and PA also insolates internal network from outside attacks.
- High efficiency: If cache is installed on PA (optional), then only one forward will be issued if two clients request the same resource.
- Reliability: If one level-2 proxy were down, PA could quickly sense that problem and choose another path for following requests.
Honors:
- November 2006, Third Prize of the second China OpenSource Software Contest in Northeast District
- March 2006, Superiority Award of the first open-source software contest administered by China Science Academy
- December 2005, Third Prize of "IBM" Cup Campus Innovation Contest
Contact Information:
Feel free to send me information.Email:
