Welcome to a new series of “Beginners Guides” that DTI Data is publishing to better assist novice to intermediate technicians and end users who are looking for a more clear understanding of basic computer, networking, and security knowledge. These guides may seem very basic for a lot of our viewers, but we recommend that everyone read them in full, as you may be surprised on how useful some of our hints and tricks may be.
No matter how much you have learned or know about these subjects, with the ever changing technologies and infrastructures around us it is important to stay up to date, because these technologies can pass you by in a matter of weeks. These articles are designed to give you a low level understanding of each of their subjects, so that you may be able to diagnose and fix issues that you keep running into without relying on restrictive applications to fix these problems for you. We have found that technicians, and even end users have become VERY dependent on 3rd party applications and tools to fix issues and problems for them, but what do you do when a problem is outside of the scope of your utilities? These articles are designed to not only help you solve problems, but to show you how they start, and WHERE they start, and how to get to the roots of the real problems on your PC’s.
This portion will give you a little bit of a background on who I am and what I do, so you can kind of associate with me in these articles. I am going to go over a little bit of where most of my knowledge has come from and how I can help you. My name is Richard Correa III, and I have been a Systems and Network engineer for as long as I can remember. My first computer that I ever used was an Atari 800xl, which at 6 years old I learned to program in basic in the early 80’s and from then on I was hooked on computers. Of course I played with the Commodore 64s and Vic 20s, Tandy’s, and other Atari’s (ST Series), but my first real PC was an IBM XT 8086 running DOS 3.3 that my father brought home from work to code on. My father is a true low level Systems Analyst, and has been coding in low level Assembler and C for 30+ years. He is also a Kernel UNIX coder and now engineers RAID Data Recovery software for our firm. I have been fortunate to work in my industry my entire life and have been able to see the amazing growth of computer technology over the last 20 years. Shortly after I started using the IBM XT, I was introduced to the 80286 AT series and then the 80386×16 series. My first true networking experience came when the 386s came out. I setup my first Novell IPX/SPX Token Ring network at the age of 12 so that I could play Doom and Quake with friends and family head to head. I was always interested in communications and started my very first Wild Cat BBS (Bulletin Board System) shortly after my parents opened a retail computer store in 1995. BBS’s were the predecessor to email, forums, and messaging systems we know and now use. I learned about IRC (Internet Relay Chat) systems shortly after I started BBSing and that is was when I truly saw technology changing. IRC was the first system in which I was able to talk to thousands of people online at one time, and it was LIVE! From that point further, I knew what I wanted to do with my life, and have been fortunate enough to grow with the technologies at hand, and have been teaching ever since.
In early 1999 I received my MCP, MCSA, MCSE, and MCDBA certifications to try and guarantee my place in the workforce, but I soon after found that companies were not only looking for certifications, but they also required years of field knowledge as well. In late 1999 I started working for a local IT Firm that installed High Speed Broadband for a major ISP and cable television company. I was a lead technical trainer there, and trained other technicians how to install network cards, setup home and small to medium business networks, and to show customers how to surf the Internet and use their computers safely. All of this technology was very new and EVERYONE wanted it. I left this firm shortly after and was offered a Director’s position at a much larger contracting firm who at the time had over 800 field engineers and technicians installing coaxial cable and large scale voice and data systems all over the state of Florida. I helped to implement all of the training and installation material to teach these 800 technicians how to use computers and integrate small scale networks. Within 2 years of being with this company I had trained over 2000 technicians and helped in becoming the largest contractor for Time Warner and Bright House Networks in the south east region. I published a lot of manuals and technical documentation that I am going to be posting in these Beginners Guides over the next few months, and I hope you can benefit from them as much as my technicians did. Please feel free to contact me anytime via phone or email with any questions or problems that you may have, no matter how large scale the problem may be. I love a good challenge and love to fix intricate problems.
The Internet Protocol TCP/IP and IP Addresses:
Have you ever wondered how the Internet works? Have you ever just been typing in a web address into your URL (Uniform Resource Locator) bar and wondered how your Internet browser knows where to go and get the information you are about to see on your screen? Well if so, here is a very basic introduction to the Internet and how it works.
Every computer, every server, every website, every router, and pretty much every network device uses something called a protocol to communicate between each other. A protocol is basically a common language that all of the network devices use to pass data and information back and forth. The protocol that the Internet uses to talk back and forth is TCP/IP v4 (Transmission Control Protocol / Internet Protocol version 4). TCP/IP Is bases on a 4 octet numbering system called an IP Address that we will not go too far into depths in this article, but this is an example of an IP Address (10.10.10.1). Understand that IP Addresses can range anywhere from 0.0.0.0 to 255.255.255.255. An IP Address is a unique identifier for every Internet device, and can be looked at similarly to a house or business address. If I wanted to send you a letter via the postal service, I would have to know your address, and if you wanted to send me a return message, you would have to know my mail address. Now do you see the similarities? Everyone has two unique numbers assigned to them to make sure that the correct information gets to the correct person or computer. Everyone has an IP Address, and they have a MAC address. The MAC address is a serial number that EVERY networking card or device has that is a 12 digit alpha-numeric number that is NEVER duplicated by the manufacturers, making sure that with a proper IP Address the correct information has 2 layers of addressing to guarantee packets and traffic to the right computer.
The Domain Naming System (DNS):
So hopefully, you now understand that your computer has an IP Address that allows you to send packets of information back and forth to websites so that you can surf the Internet. You now have to wonder, how do I use my IP Address to get to www.google.com? When the Internet was first designed, it was never even conceived that it would scale and grow to the size that it has gotten to today. The original design for the Internet was made so that military bases could securely send data back and forth to each other and guarantee the packets were addressed to the correct places. Shortly afterward the School Board and Universities started designing their own network protocols and adopted TCP/IP as their own internal LAN / WAN (Local Area Network / Wide Area Network) network protocol as well. When the Internet was first designed, you had to know the IP Address of the server or site you were trying to communicate with, but this was quickly becoming a problem, because people were starting to be expected to know thousands of IP Address just to communicate. It would be like trying to memorize a phone book to place a call. So this is when the first versions and implementations of DNS were introduced.
DNS Is an overlying service that runs on top of TCP/IP called the Domain Naming System. DNS uses special DNS Server Database to translate Domain Names (Such as google.com) to an IP Addresses so that your computer knows where to go when you make a request in your browser. So when you type in http://www.google.com into your browser, the first thing your network card, IP Address, and browser do, is check with your ISPs (Internet Service Provider) DNS server to find out what www.google.com’s IP Address is. Your ISPs DNS server then sends your computer the IP Address you are looking for, and your browser then goes to the IP Address for requested websites (I.e. google.com) web server. Google’s Web Server then sends the web page to your browser in HTML (Hyper Text Markup Language) format, and your browser converts the HTML to the web pages that you see in your browser every day. Now understand that this is in all actuality MUCH more complicated, but this truly is the gist of it.
TCP/IP Is a very fast and seemingly secure layered protocol that has been suffice for 20 years now. The only problem is that the world and the Internet have outgrown this protocol, and we will most likely be seeing a newer, faster, more secure, and robust protocol in the next 10 years. Companies like AOL, Time Warner, and Microsoft are already testing a new version of TCP/IP named TCP/IP v6 (version 6) on their internal networks. TCP/IP v6 is supposedly going to be more secure, and also going to allow for more public IP Addresses, which is one of the major issues that TCP/IP v4 is running into now.
If you would like to get a more technical understanding of the 7 layers of TCP/IP and how it handles data packets, or you want to understand how DNS truly resolves name in its hierarchy, please look for future articles or send me an email and I will be more than happy to deliver some intricate documentation explaining these 2 amazing Internet back bone pieces.
Until Next time, take care, and please leave comments on any questions or inaccuracies that you may have found for this article.
Richard Correa, MCP, MCSA, MCSE, MCDBA
Senior Network Engineer / Lead Web Developer
DTIData – DTI Networks
Office :: 727.345.9665 ext.206
Mobile :: 727.656.8690
rcorrea@dtidatarecovery.com
https://www.dtidatarecovery.com
http://www.dtinetworking.com
Thanks Richard for your tutorial,
I am still unsure as to what the MAC is for, are you saying that that it is used for the purpose of initialy corresponding with the ISP so as to get IP addresses from the DNS..?
I really appreciated your article on “Beginners Guide To Computers: The Internet Protocol TCP/IP”. You explained everything in a very easy to understand way. I wish there were people like you writing books, it would be great to understand compter concepts in eary to understand language.
Thank you
I really appreciated your article on “Beginners Guide To Computers: The Internet Protocol TCP/IP”. You explained everything in a very easy to understand way. I wish there were people like you writing books, it would be great to understand comupter concepts in easy to understand language.
Thank you
Thank You very much
Hi Richard,
I appreciate your work on explaining the fundamentals to the beginners. I have gone through quite a number of articles and now I have an idea of the dataflow.
However, I still feel that there are some missing pieces of information that needs to be assembled in order to have a complete picture. I would further appreciate your effort if you can explain me the actual data flow, handshake & data control as a sequence of events when a user initiates a web page request.
What i meant is that I did have an understanding in general, but specific details of the the actual sequence of actions that take place is not covered by anybody on the internet and I would love to read them.
If you have any specific documents & pictures, I would request you to send them to me. Again, I like to thank you for presenting this material for all our readers.
-Raghu
Thanks for making this very easy to understand