{"id":15,"date":"2011-11-20T16:28:41","date_gmt":"2011-11-20T16:28:41","guid":{"rendered":"http:\/\/microsoftgeek.com\/?p=15"},"modified":"2011-11-20T16:33:21","modified_gmt":"2011-11-20T16:33:21","slug":"an-introduction-to-tcpip","status":"publish","type":"post","link":"https:\/\/microsoftgeek.com\/?p=15","title":{"rendered":"An Introduction to TCP\/IP"},"content":{"rendered":"<p>TCP\/IP , or Transmission  Control protocol\/Internet Protocol, is  literally the backbone of  internet and network communication. The  concepts of TCP\/IP are difficult  to grasp without previous experience,  so don\u2019t be dismayed if it  doesn\u2019t click instantly. To better help you  out, we\u2019ll start from the  very beginning- with a definition of just  what a network is.<\/p>\n<h3>Networks, Protocols, and Suites, Oh Yeah!<\/h3>\n<p>A <strong>network<\/strong> is simply a collection of  computers or  similar devices that can communicate over a transmission  medium. Don\u2019t  worry- that is just a fancy phrase that usually refers to  Ethernet  cable and other connective wire. You can see a basic network in  the  diagram below- odds are you\u2019ve already seen something similar.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.learn-networking.com\/wp-content\/oldimages\/local-area-network.jpg\" alt=\"local area network\" \/><\/p>\n<p>Simple enough, isn\u2019t it? Just three computers linked together for   communication. Sadly, it is a little more complex than that. To actually   send any data from one computer to another we need to make use of a <strong>network protocol<\/strong>.   A network protocol is a set of common rules that defines how data   should be sent. These protocols ensure that a message sent from one   computer will reach the next, and that it is interpreted correctly.   These many different protocols make up TCP\/IP, which is referred to as a   protocol suite.<\/p>\n<p>But why do we need a special suite? Back when TCP\/IP wasn\u2019t around,   there were many different proprietary protocols. Since many different   companies developed different protocols, many networks just weren\u2019t   compatible. Without a common suite like TCP\/IP, the internet would not   be possible.<\/p>\n<h3>A Brief History of TCP\/IP<\/h3>\n<p>Now that we have a basic understanding of what TCP\/IP  is for, let\u2019s  review how it came to be. Believe it or not, TCP\/IP was  developed way  back in the 1960\u2019s by the United States Department of  Defense. Its  original designers had a problem- networks at the time were  very small  and incompatible. Proprietary protocols were in wide use,  contributing  to the compatibility problem.<\/p>\n<p>In the early days, it was believed that relying on networks could be a   disastrous idea. If a particular network node were to be destroyed for   any reason, it would likely bring the entire network down. Since a   missile or bomb could literally make any point on a network a target, a   decentralized system was needed. The goal was to create a network that   didn\u2019t depend on other parts of the network to operate- one of the key   features of TCP\/IP. Review the diagram below for a visual  representation  of what happens if a computer fails on a centralized  network. As you  can see, both right and left computers have lost  connection to the  central computer, since the middle computer is down.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.learn-networking.com\/wp-content\/oldimages\/node-attack.jpg\" alt=\"node attack\" \/><\/p>\n<p>To actually provide a decentralized network, two important features   of TCP\/IP are used. Instead of one computer having authority over   others, computers generally operate as equals. Dynamic routing is   another feature that ensures decentralization. If computers are   connected through multiple paths, computers will check for alternative   routes if one seems to be down. In the above image, we could achieve   dynamic routing by connecting both left and right computers to the first   centralized computer- this enables us to completely bypass the downed   middle computer.<\/p>\n<p>This ambitious project was initially named ARPANET after the Defense   Department\u2019s Advanced Research Projects Agency (ARPA). A few years   later, research institutions wanted in on the protocol system too. This   is the start of what became the foundations of the internet.<\/p>\n<p>Soon after, we had another networking concept arise- the Local Area   Network, or LAN. These networks were the solution for offices and   institutions to share resources with ease. The first LAN connections   were crippled from today\u2019s standards- they lacked internet access. The   advent of the gateway enabled protocols to be translated for LAN   connections to access the internet- and the popularity of TCP\/IP   exploded from there.<\/p>\n<h3>Key Features of TCP\/IP Students and Professionals Should Know<\/h3>\n<p>There are many innovative features of TCP\/IP, but there  are five  features in particular that everyone should become familiar  with. In no  particular order, these features are:<\/p>\n<ul>\n<hr \/>\n<li> Application support<\/li>\n<li>Error and flow control<\/li>\n<li>Logical Addressing<\/li>\n<li>Routing<\/li>\n<li>Name resolution<\/li>\n<hr \/>\n<\/ul>\n<h3>Application Support<\/h3>\n<p>Say you are multitasking- you are uploading files to your website,   sending an email, streaming music, and watching video all at the same   time. We ran into a critical problem here! How does the computer know   where to send each packet of data if multiple applications are running?   We sure wouldn\u2019t want to use our email program to watch video, and vice   versa!<\/p>\n<p>To combat this problem, we use channels called <strong>ports<\/strong>.   These numbered ports each correspond to a certain action. Your email,   for instance, is likely using port 25 for email operation. Remember the   files you were uploading to your website? This kind of data uses the  FTP  port more often than not, which is usually port 20 and 21. Even   browsing a webpage uses a specific port- the HTTP port 80.<\/p>\n<p>In total, there are 65,535 ports for controlling the flow of information. Yikes!<\/p>\n<h3>Error and Flow Control<\/h3>\n<p>TCP\/IP is considered a connection-oriented protocol suite. This means   that if data isn\u2019t received correctly, a request to resend the data is   made. This is compared to User Datagram Protocol, or UDP, which is   connectionless. UDP is a suite of protocols just like TCP\/IP, with a few   notable differences.<\/p>\n<p>But when wouldn\u2019t you care if data was received correctly or not? UDP   is great for broadcasting data- such as streaming radio music. If part   of the data was lost, we wouldn\u2019t want to go back and retrieve it! It   would waste bandwidth, and would create collisions or noise in our   signal. With UDP, the lost data might be represented as a silent spot-   which we would take over a noisy retransmission any day!<\/p>\n<h3>Logical Addressing<\/h3>\n<p>Most computers today come standard with Network Interface Cards, or   NICs. These cards are the actual hardware used to communicate to other   computers. Each card has a unique physical address that is set at the   factory, and can\u2019t be changed. Essentially this is an identifier for the   computer it is installed on.<\/p>\n<p>Networks rely on the physical address of a computer for data   delivery, but we have a problem. The NIC card is constantly looking for   transmissions that are addressed to it- what if the network was very   large in size? To put it into perspective, imagine your computer looking   at every single bit of data on the internet to see if any of the   millions of data packets are addressed to it.<\/p>\n<p>This is where logical addressing comes in. You are probably more   familiar with the term IP address, however. These IP addresses can be   subnetted on a network to divide a large network into tiny pieces.   Instead of looking at every bit of data on the internet, logical   addressing allows for computers to just look at data on a home network   or subnet.<\/p>\n<h3>Routing<\/h3>\n<p>A router is a device used to read logical addressing information, and   to direct the data to the appropriate destination. Routers are  commonly  used to separate networks into portions- this greatly reduces  network  traffic if done correctly.<\/p>\n<p>TCP\/IP includes protocols that tell routers how to find a path   through the network. This is a vital feature of the TCP\/IP suite that   enables massive LAN connections to be created.<\/p>\n<h3>Name Resolution<\/h3>\n<p>And finally, we have name resolution. If you wanted to conduct a   search on the internet, you would probably just type Google\u2019s URL into   your address bar. What you probably didn\u2019t know is that you aren\u2019t   necessarily connecting to \u201cGoogle.com,\u201d but rather an IP address.   Instead of having to remember an IP address, name resolution allows you   to remember Google\u2019s name.<\/p>\n<p>It might not be so bad if IP addresses were not so lengthy in size.   Which is easier to remember- 64.223.167.147 or Google? This handy   service is accomplished on name servers, which are just computers that   store tables that translate domain names to and from IP addresses.<\/p>\n<h3>Closing Comments<\/h3>\n<p>Congratulations, you just got an introduction to the vast TCP\/IP   world. A lot of technical students tend to skip over the basics. This   means you can easily outsmart most of your techie friends with the   simplest of questions- just ask them why ARPANET designers pressed for a   decentralized protocol suite!<\/p>\n<p>All jokes aside, there is still plenty more to cover. We just got our feet wet with this introduction!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TCP\/IP , or Transmission Control protocol\/Internet Protocol, is literally the backbone of internet and network communication. The concepts of TCP\/IP are difficult to grasp without previous experience, so don\u2019t be dismayed if it doesn\u2019t click instantly. To better help you out, we\u2019ll start from the very beginning- with a definition of just what a network [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-15","post","type-post","status-publish","format-standard","hentry","category-networking-stuff"],"_links":{"self":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15"}],"version-history":[{"count":4,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/15\/revisions"}],"predecessor-version":[{"id":21,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=\/wp\/v2\/posts\/15\/revisions\/21"}],"wp:attachment":[{"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/microsoftgeek.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}