Based upon the votes and the comments I've been receiving so far I need to address something up front in this series. This entire article series is not source code related and if you are expecting source code you won't find it. Comments so far are suggesting that this article does not belong here. I'd like to address that by saying that if you are developer writing code that will work across networks then these articles might be valuable to you. If your systems are not configured properly the best code in the world won't run right. So consider these articles prerequesite articles that should be read before starting a project where your code is intended to work across networks.
I've written a series of articles to provide developers with a broad amount of information that covers general networking topics. In this series I'll be discussing:
I had originally intended this to be a single article but it has grown to be much to large to be a single article. I also think that breaking it up into topics does a better job of granulating the information and makes it easier for readers to ask specific questions that will flow together in the reader comments area. If it's possible I'd like to have the above bulleted list link to all the articles so that readers may jump around from one topic to the other.
I'll be including this information in each relevant section but right up front I'd like to group this information for the convenience of the reader. I'm going to take the approach that you are brand new to networking and need the information presented in a way that flows smoothly from one topic to the next. Please understand this is not a simple topic. Networking is a black art and I mean that seriously. If you intend to fully understand networks and become proficient in them at a basic-working-level you will invest several hours to do so. Expect to make mistakes and expect it to be slow going at first. That's the nature of the topic.
As you read through this feel free to request an article on other topics in networking or feel free to ask me to add to a current section and drive it a bit deeper. I'm open to improving anything you see here and adding more content will just add value to the entire project.
From the top I'd start by reading TCP/IP Networking in Class C Subnets. I'd read it a few times so that you have the core down. I'd immediately move to Command Line Tools - IPCONFIG as it will provide an extra level of visibility to what was discussed in TCP/IP Networking in Class C Subnets. Even though it's the most difficult topic I've written on so far I'd recommend Adding Wireless Routers to Existing Networks next. It will force you to apply everything else I have discussed and it will do so in such a way that you will utterly understand it all by the time you have done it a few times. Even though many people have no need to know about Internet Connection Sharing (ICS) I think it's the next logical choice in progression. It will help you to understand networking landscapes a bit more and drive depth in your basic knowledge. I save the most practical for closest to the end because Sharing Files, Printers and Other Network Resource plagues almost every network I've ever seen. It's the most necessary aspect of networking for users and it can be one of the hardest to troubleshoot. You will need the knowledge gained from all the other articles to troubleshoot any problems you may have in Sharing Files, Printers and other Resources. As a final topic I'll briefly delve into VPN but it's a bit like trying to fit the ocean into a 1 gallon jug. Virtual Private Networking (VPN) is vast and enormous in scope and the security liability is enormous if you screw up.
That just about covers it. Now it's time to dive in. I hope you enjoy the material and feel free to ask further questions in the comments area.
I've spent the last 8 years of my life fighting Class C subnets in Windows, Linux and MAC environments. To be honest networking is like black magic. Some people understand it and many never will. I think the reason for this is fear that you can break something. This is a valid fear. If you hose your TCP/IP stack you are in big trouble. If you are reading this article and are new to networking I'd suggest all of the following to guarantee you learn what you need and don't destroy your own PC's and network in the process.
- If you have an extra PC to play with perfect make sure you are fine to trash it and reload it if necessary.
- Before getting started I recommend downloading a product like Acronis True Image and making a full backup of your system. (Please verify the backup image.)
- If you are going to play with a router that currently works please export/download it's firmware settings as a safe backup.
- Please write down every setting you change and in what order. It's very easy to go backwards when you take good notes as you go.
Making Your PC a DCHP Enabled Client
On the client PC please go to Start Menu-> Control Panel->Network Connections (or for others Start Menu->Control Panel->Network Connections) and right-mouse-click on “Local Area Network” and select properties.
In the “General” tab please scroll to the bottom of the window and select “TCP/IP…” and click “Properties” make sure that the “Dynamic” options are checked for IP address and DNS settings.
Once both radio buttons are checked click “Okay” and “Okay” out. If you are on a network where a DHCP server is present you will now have an automatically configured DHCP client.
August 10th, 2006. First Release.
August 11th, 2006. Added links to other articles in the series and information to address comments that these articles to not belong at CodeProject.