Skip to content →

Category: ISP Demo

A project to show how a basic ISP should work. Done in 2009.

ISP Demo Overview

ISP Demo is a demonstration of how an Internet Service Provider should work using four Cisco routers (one Cisco 2514 and three Cisco 2501), three HP 2524 switches, several laptops and PCMCIA cardd, and some UTP straight and crossed cables.

In this project, a small ISP is set up to achieve dynamic IP routing, IP multicast routing and fault-tolerant IP routing. The ISP provides basic services like DHCP, DNS, WWW web service, Email service and VPN.

OSPF is used as the internal routing protocol for our network, since it has a better convergence time than RIP and consume far less network ressources. There is a static route to the VPN network through the VPN server. OSPF has to handle this and redistribute (redistribute static subnets under the OSPF con figuration) the static routes. OSPF is run only between the routers and all ethernet interfaces are passive.

The web server is a simple Apache2 server on a dedicated computer running Ubuntu 9.04, without any SQL databases or any scripting languages. On this server there is ISP’s home page and the whole documentation. The web server can also be used to put some news to inform the clients if there are problems in the network.

We used Sendmail (version 8.13) to confi gure the MTA and Dovecot as the MDA. SendMail has been chosen because it’s a widely used software, very modular and allows extensions to threat spam and viruses. This server can handle a huge load, and while it is hard to con figure, it works well when con figured.

The VPN server is an OpenVPN server running on debian. We chose OpenVPN because it runs on Windows, Linux, BSD and Solaris hosts, and there are also clients for Mac OS X. Furthermore, it uses only one TCP or UDP port, not like PPTP which uses GRE protocol and may be blocked by the firewall of the remote network (the physical network our client is connecting to).

PIM-SM (Protocol Independant Multicast – Sparse Mode) is used to set up multicast routing.

*Note: some of the contents above are from the final documentation we wrote as a team, which consisted of seven other students in KTH.*

Leave a Comment