Background of the Internet Extender

The Internet Extender came to life as my Senior Design Project for Santa Clara University. I along with the help of some friends (Dave Garnett, Brian Ghidinelli, Matt Bugna) came up with the idea of writing a software that would allow all of us in our 8 person networked house to share a single modem to simultaneously connect to the Internet. It became a hassel for each of us to be on the Internet on our own phone lines, and try to find an open line to make a phone call. I came to my Advisor, Dr. Dan Lewis, and he approved the project.

I came up with many different designs and Dr. Lewis helped me to understand what was possible and what wasn't. He also helped me to understand how software interfaces with hardware to send and receive information to and from each other. Dr. Lewis and I together made the Internet Extender come together. His expertise in C programming and research on Network Address Translators came together with my ideas of what the program needed to accomplish and my design of the data structures for the core of the program cooperatively created the Internet Extender.

Without Dr. Dan Lewis, this program would have never gotten so far. When I look back on the initial design of the program, I laugh, because it was so simplistic in design, compared to what the program accomplishes now. The program is designed to function as an Internet Gateway that performs Network Address Port Translation. It allows for local non- unique IP addressed machines to access the Internet without fail. The program translates the IP address of the local machine to the single globally unique IP address assigned by the ISP. It uses port numbers to send the received information back to the correct local machine.

The Internet Extender is designed to function on a multi-homed machine connecting a local area network to the Internet. The local machines function as though they were directly connected to the Internet. They only need to know the IP address of the local side of the Internet Extender, which acts as their gateway address. The Internet Extender takes care of all the rest. It has been tested and verified to support: HTML, FTP (pasv mode), TELNET, Real Audio/Video, IRC, MIRC, ICQ, ICMP, and other TCP and UDP related technologies.