History of the network project
|
History of the network
As I firstly came to Sofia, the tax for accessing internet was twenty levs. Not a huge amount at all, but too much for me. So I decided to share my internet connection with one of my roommates (we were three persons in a single room). We bought and installed second LAN card and after a while I managed to route traffic through it. Then the third roommate asked if we can connect him too. In two weeks we were already six persons. A bit too much for cheap eight port switch. Sometimes I had to re-start the switch on random occasions. The figure below shows re-generated layout.
Few months later
I was working for data.bg and I could afford further upgrades on the
network. I decided to buy an entry level router, just to replace my own
computer as a router.
Because of its low RAM memory, and slow CPU the device was not working properly for the already expanded network to ten users. As I learned from my job for data.bg, how to use crimping tool I wasn’t afraid of further network expansion. In addition I had multiple requests from my neighbors and also friends to take participation in this shared network connection. I was determined, this project should be as good as ISP’s service (or better), or it will not exist at all. Then a friend of mine introduced me to a guy who has had Linux as main OS on his laptop. Three weeks later, I bought a cheap PC, which has been dedicated to route network traffic. We used firstly Gentoo without GUI* . Actually I never had a GUI on the servers J Some of the features on the linux machine were: - MAC address filtering – in order to stop randomly connecting users to our network, I decided that there should be a simple solution for this simple issue. Then I created an ARP entry file with fixed MAC addresses for every IP in my network. And if the MAC wasn’t recognized the DHCP deamon simply gave it “wrong” Ip address, e.g. address from different IP pool, where intentionally the DNS server was wrong, and respectively the “unrecognized” user wasn’t getting internet connectivity and the goal was accomplished. - DHCP – as I mentioned above, there was a DHCP daemon running on the server. I needed this because it facilitated my work as a whole. - NAT – this is main feature for these kind of servers. Something has to literally “translate” the request from the outside LAN card to the internal network IPs. - FTP - quite useful feature. I could upload or download data from everywhere J - Firewall settings – we limited the sessions per user in order to reduce - Shaper – we implement a script, which was responsible to divide the whole available download/upload speed to the number of hosts which are requesting data. The result was that one user could download a torrent without getting the whole bandwidth only for himself, but sharing it with the others only IF they need. If there are no other downloads on the network, the first peer could use everything that we got. Fortunately I was paying for 60Mbps, but the top downloading speed has been greater – 96Mbps. - QoS – 6 years ago I really wasn’t aware what does this term means, but now I know and I’m sure that we used it. I wanted to make sure, that if one user is downloading any kind of information (this means regardless of the protocol that is used TCP for reliable delivery or UDP for unreliable or mostly used from torrents), this should not affect another user, who is now browsing the Internet. So http traffic was prioritized over the other traffic. Now I know that Skype and other clients using VoIP need UDP traffic with a higher priority to make sure, that there won’t be any cut-offs or noises in the speech. We also need UDP for video streaming purposes as YouTube or Vimeo. Even thou, that I’m seeing some mistakes on my project in the past, back in those days the network has been running smoothly with 60 users. Actually if the customer’s voice is a measure for the service, there were so many requests for new users that I could not manage to complete all of them, as I was working mostly alone. All the wiring stuff, crimping, hooking up the cables on the walls (using tacker tool). Sometimes is really useful having someone to help you, but usually I was doing all by myself. I do almost everything by myself in this life indeed J So I didn’t had too much to worry about :)
Nikolay Chakarov 2012 © |
|