DeleGate: A Universal Application Level Gateway
Yutaka Sato, Computer Science Division, Electrotechnical Laboratory
DeleGate
is a universal application level gateway, or proxy server
which can relay most of fundamental application protocols used in the
Internet today, running on most of major platforms.
It has been widely spread over the world and used in various network
environments to solve various problems.
What is DeleGate?
- It is an application level gateway (proxy server)
- Mediates between clients and servers with access control
- Value added proxy based on interpretation of application protocols
- Supports various protocols based on a common set of mechanisms
- Supports multiple platforms with a common source program
- Also works as origin servers (and clients)
- Toward a framework of a generic application protocol interpreter
Main Features
- Easy firewall construction by flexible access control
- Flexible application level routing regarding protocols and users
- Reduces traffic by data cache (stored in protocol inherent format)
- Improves response time by reusing and sharing connection
- Expands accessibility of services by application protocol gatewaying
- Expands accessibility of information resources by data translation
- Provides virtual views for a space of resources by "mounting"
- Mediates between secure protocols and non secure protocols
- Supports extension of value added services by pluggable "filters"
Current Status (in October 1998)
- Survived 4 years, born in March 1994 as a tiny proxy for Gopher protocol
- Updated and released vitally, more than 380 times
- Now it consists of 96,000 lines of source code written in C
- Executable on Unix, Windows and OS/2
- Interpreting proxy for HTTP, ICP, FTP, Gopher, NNTP, SMTP, POP,
Telnet, LDAP, LPR, X, Wais and CU-SeeMe
- Transparent proxy for Socks, TCPrelay, UDPrelay and SSL
- Assisted by 1,200 users from 700 sites belonging the DeleGate mailing list
- Distributed to 7,500 sites
in 88 countries,
increasing exponentially
- One of major proxies in the world
The versatility of DeleGate may attract users (including the author),
but the ultimate goal of the development of DeleGate are (maybe):
- Finding out a common framework to realize such versatility
- Finding out theories to describe and generate the framework
- Finding out new features realisable on the framework
Yutaka Sato <ysato@etl.go.jp> http://www.etl.go.jp/ysato/