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
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.