chapter_1_-_internet_networks_and_tcp-ip:1-2_the_tcp-ip_family_of_internet_protocols

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

chapter_1_-_internet_networks_and_tcp-ip:1-2_the_tcp-ip_family_of_internet_protocols [2013/01/18 12:27]
cellbiol
chapter_1_-_internet_networks_and_tcp-ip:1-2_the_tcp-ip_family_of_internet_protocols [2013/02/15 19:45] (current)
cellbiol
Line 3: Line 3:
 The Internet is populated by a great variety of different hardware. Dozens of different PC brands are available and around. More importantly,​ many different operating systems are available and installed on the various computers. Among the best known, Windows (in different flavors and versions), MacOS, Linux, Unix, Solaris, and several others. The Internet is populated by a great variety of different hardware. Dozens of different PC brands are available and around. More importantly,​ many different operating systems are available and installed on the various computers. Among the best known, Windows (in different flavors and versions), MacOS, Linux, Unix, Solaris, and several others.
  
-Some of these computers are "​just"​ **clients**,​ that are used as terminals to access resources ​and data provided by other computers, the **servers** (Figure 1-3). +==== Clients ​and Servers ====
  
-== Figure 1-3: The client-server paradigm ==+Some of these computers are "​just"​ **clients**,​ that are used as terminals to access resources and data provided by other computers, the **servers** (Figure 1-2-1).  
 + 
 +== Figure 1-2-1: The client-server paradigm ==
 //Image source: [[http://​www.cellbiol.com/​bioinformatics_web_development|cellbiol.com]]//​ //Image source: [[http://​www.cellbiol.com/​bioinformatics_web_development|cellbiol.com]]//​
  
-{{ :​chapter_1_-_internet_networks_and_tcp-ip:​the_client_server_paradigm.png?300 |}}+{{ :​chapter_1_-_internet_networks_and_tcp-ip:​the_client_server_paradigm.png |}} 
 + 
 +==== Operating Systems ====
  
-Some operating systems are natively more suitable for clients (windows, macos) while others are  typically in use on servers (Linux). Still, we can find all these operating systems both on clients and on servers, although with different shares. It is interesting to note that while on the client side, Linux is still lagging behind (1.64% as of December 2012, see Figure 1-4), while Windows is dominating with a share larger than 60% of total clients (Figure 1-4), the reverse is true with servers, which use the Linux server Apache in more than 60% of the cases, with Windows relegated to a mere 16% of the "​market"​.+Some operating systems are natively more suitable for clients (windows, macos) while others are  typically in use on servers (Linux). Still, we can find all these operating systems both on clients and on servers, although with different shares. It is interesting to note that while on the client side, Linux is still lagging behind (1.64% as of December 2012, see Figure 1-2-2), while Windows is dominating with a share larger than 60% of total clients (Figure 1-2-2), the reverse is true with servers, which use the Linux server Apache in more than 60% of the cases, with Windows relegated to a mere 16% of the "​market"​.
 There are solid reasons for this (for one Linux is free and open source) that will be discussed in the [[chapter_2_-_the_linux_operating_system:​start|Linux pages]] of this tutorial. There are solid reasons for this (for one Linux is free and open source) that will be discussed in the [[chapter_2_-_the_linux_operating_system:​start|Linux pages]] of this tutorial.
  
-== Figure 1-4: Usage share of operating system on client computers, as estimated by analysis on wikimedia traffic ==+== Figure 1-2-2: Usage share of operating system on client computers, as estimated by analysis on wikimedia traffic ==
 //Image source: [[http://​en.wikipedia.org/​wiki/​Usage_share_of_operating_systems|Wikipedia]]//​ //Image source: [[http://​en.wikipedia.org/​wiki/​Usage_share_of_operating_systems|Wikipedia]]//​
  
-{{ :​chapter_1_-_internet_networks_and_tcp-ip:​client_operating_system_statistics_wikimedia.png?300 |}}+{{ :​chapter_1_-_internet_networks_and_tcp-ip:​client_operating_system_statistics_wikimedia.png |}}
  
-== Figure 1-5: Most popular web servers ==+== Figure 1-2-3: Most popular web servers ==
 //Image source: [[http://​w3techs.com/​|http://​w3techs.com/​]]//​ //Image source: [[http://​w3techs.com/​|http://​w3techs.com/​]]//​
  
-{{ :​chapter_1_-_internet_networks_and_tcp-ip:​most_popular_web_servers_w3techs.com.png?300 |}}+{{ :​chapter_1_-_internet_networks_and_tcp-ip:​most_popular_web_servers_w3techs.com.png |}}
  
 An e-mail sent from a Windows PC to a Mac, through a Linux mail server, through the Simple Mail Transfer Protocol (SMTP) is a perfectly realistic scenario that probably happens thousands of times every minute on the internet. ​ An e-mail sent from a Windows PC to a Mac, through a Linux mail server, through the Simple Mail Transfer Protocol (SMTP) is a perfectly realistic scenario that probably happens thousands of times every minute on the internet. ​
Line 28: Line 32:
  
 A router with [[http://​en.wikipedia.org/​wiki/​Embedded_Linux|embedded Linux]] can provide an IP address, through the Dynamic Host Configuration Protocol (DHCP - that typically corresponds to an "​obtain IP address automatically"​ setting on the client computer) to a connected Linux, Mac or Windows machine. A router with [[http://​en.wikipedia.org/​wiki/​Embedded_Linux|embedded Linux]] can provide an IP address, through the Dynamic Host Configuration Protocol (DHCP - that typically corresponds to an "​obtain IP address automatically"​ setting on the client computer) to a connected Linux, Mac or Windows machine.
- 
-<​html>​ 
-<div style="​margin-left:​auto;​margin-right:​auto;​margin-bottom:​20px;​text-align:​center">​ 
-        <script type="​text/​javascript"><​!-- 
-        google_ad_client = "​ca-pub-0159360445983090";​ 
-        /* top banner 2 */ 
-        google_ad_slot = "​6221901312";​ 
-        google_ad_width = 728; 
-        google_ad_height = 90; 
-        //--> 
-        </​script>​ 
-        <script type="​text/​javascript"​ 
-        src="​http://​pagead2.googlesyndication.com/​pagead/​show_ads.js">​ 
-        </​script>​ 
-    </​div>​ 
-</​html>​ 
  
 How can such deeply diverse operating systems communicate and smoothly exchange data? After all, it is common knowledge that a Windows .exe program will not work on a Mac, and that Mac software cannot be run on a PC, just to highlight one of the several differences between these two OS. The answer to this question is that both Macs and PCs (and Linux and all other OS used on computers connected to the Internet) use a common language, a common set of rigidly defined rules, to communicate over the internet. This common language is indeed TCP/IP. How can such deeply diverse operating systems communicate and smoothly exchange data? After all, it is common knowledge that a Windows .exe program will not work on a Mac, and that Mac software cannot be run on a PC, just to highlight one of the several differences between these two OS. The answer to this question is that both Macs and PCs (and Linux and all other OS used on computers connected to the Internet) use a common language, a common set of rigidly defined rules, to communicate over the internet. This common language is indeed TCP/IP.
 +
 +==== TCP/IP ====
  
 TCP/IP, the Transmission Control Protocol/​Internet Protocol, can be defined as a set of rules, or protocols, used to exchange data between hardware devices connected to the Internet, including (but not limited to) the client and servers computers. These rules include all the packets exchange mechanism described above, and a set of specific protocols, a few were mentioned above in this discussion, SMTP, FTP, HTTP, DHCP, each designed to allow the exchange a particular kind of data (e-mail, files, web pages, connection information etc..). TCP/IP, the Transmission Control Protocol/​Internet Protocol, can be defined as a set of rules, or protocols, used to exchange data between hardware devices connected to the Internet, including (but not limited to) the client and servers computers. These rules include all the packets exchange mechanism described above, and a set of specific protocols, a few were mentioned above in this discussion, SMTP, FTP, HTTP, DHCP, each designed to allow the exchange a particular kind of data (e-mail, files, web pages, connection information etc..).
  
-TCP/IP is subdivided in "​layers"​. The above mentioned data exchange protocols "​live"​ in the so-called application layer, the upper layer of TCP/IP (Figure 1-6).+TCP/IP is subdivided in "​layers"​. The above mentioned data exchange protocols "​live"​ in the so-called application layer, the upper layer of TCP/IP (Figure 1-2-5).
  
-== Figure 1-6: TCP/IP layers ==+== Figure 1-2-5: TCP/IP layers ==
 //Image source: [[http://​www.cellbiol.com/​bioinformatics_web_development|cellbiol.com]]//​ //Image source: [[http://​www.cellbiol.com/​bioinformatics_web_development|cellbiol.com]]//​
  
-{{ :​chapter_1_-_internet_networks_and_tcp-ip:​tcp-ip_layers.png?300 |}}+{{ :​chapter_1_-_internet_networks_and_tcp-ip:​tcp-ip_layers.png |}}
  
-The files remounted from the individual packets are passed to the application layer by the transport layer, just underneath (Figure 1-6). The transport layer manages, among other things, the fragmentation of the files it receives from the application layer into packets, that are then passed to the Internet layer, and the remounting of packets received from the Internet layer (see Figures 1-and 1-7), to yield files that are passed to the application layer.+The files remounted from the individual packets are passed to the application layer by the transport layer, just underneath (Figure 1-2-5). The transport layer manages, among other things, the fragmentation of the files it receives from the application layer into packets, that are then passed to the Internet layer, and the remounting of packets received from the Internet layer (see Figures 1-2-5 and 1-2-6), to yield files that are passed to the application layer.
  
-== Figure 1-7: Data transmission over the Internet through TCP/IP ==+== Figure 1-2-6: Data transmission over the Internet through TCP/IP ==
 //Image source: [[http://​www.cellbiol.com/​bioinformatics_web_development|cellbiol.com]]//​ //Image source: [[http://​www.cellbiol.com/​bioinformatics_web_development|cellbiol.com]]//​
  
-{{ :​chapter_1_-_internet_networks_and_tcp-ip:​data_transmission_over_the_internet_through_tcp-ip.png?300 |}}+{{ :​chapter_1_-_internet_networks_and_tcp-ip:​data_transmission_over_the_internet_through_tcp-ip.png |}}
  
-Let us follow the path of an hypothetical file (an e-mail message, just as a matter of example) from computer A to computer B (Figure 1-7). +Let us follow the path of an hypothetical file (an e-mail message, just as a matter of example) from computer A to computer B (Figure 1-2-6). 
  
 The e-mail file in computer A is processed at the application layer by one of the TCP/IP protocols, the [[http://​en.wikipedia.org/​wiki/​Smtp|Simple Mail Transfer Protocol (SMTP)]]. ​ The e-mail file in computer A is processed at the application layer by one of the TCP/IP protocols, the [[http://​en.wikipedia.org/​wiki/​Smtp|Simple Mail Transfer Protocol (SMTP)]]. ​
Line 74: Line 64:
  
 This is of course a simplified scheme where quite a few details were intentionally omitted (did we mention there must be a mail server in between A and B for instance?), with the purpose on concentrating on the generic flow of TCP/IP packets between two computers. The same process description applies to any kind of data that travels from A to B through TCP/IP protocols. This is of course a simplified scheme where quite a few details were intentionally omitted (did we mention there must be a mail server in between A and B for instance?), with the purpose on concentrating on the generic flow of TCP/IP packets between two computers. The same process description applies to any kind of data that travels from A to B through TCP/IP protocols.
 +
 +==== TCP/IP Application Protocols ====
  
 Here is a non-exhaustive list of Internet application protocols, many names will sound familiar: Here is a non-exhaustive list of Internet application protocols, many names will sound familiar:
Line 90: Line 82:
  
 ==== Chapter Sections ==== ==== Chapter Sections ====
 +<box 100% left round blue | **Chapter 1**>
 +<​html>&​nbsp;</​html>​
   * [[chapter_1_-_internet_networks_and_tcp-ip:​start|Introduction]]   * [[chapter_1_-_internet_networks_and_tcp-ip:​start|Introduction]]
   * **1-1**: [[chapter_1_-_internet_networks_and_tcp-ip:​1-1_data_transmission_on_the_internet|Data Transmission on the Internet]]   * **1-1**: [[chapter_1_-_internet_networks_and_tcp-ip:​1-1_data_transmission_on_the_internet|Data Transmission on the Internet]]
-  * **1-2**: The TCP/IP Family of Internet Protocols+  * **1-2**: ​[[chapter_1_-_internet_networks_and_tcp-ip:​1-2_the_tcp-ip_family_of_internet_protocols|The TCP/IP Family of Internet Protocols]]
   * **1-3**: [[chapter_1_-_internet_networks_and_tcp-ip:​1-3_networking_basics|Networking Basics]]   * **1-3**: [[chapter_1_-_internet_networks_and_tcp-ip:​1-3_networking_basics|Networking Basics]]
-  * **1-4**: [[chapter_1_-_internet_networks_and_tcp-ip:​1-4_domain_name_server|Domain Name Servers: DNS, matching network IP addresses to domain names]]+  * **1-4**: [[chapter_1_-_internet_networks_and_tcp-ip:​1-4_domain_name_server|Domain Name Servers: DNS, matching network IP addresses to domain names]] ​in progress
  
 [[:​start|Back to main index]] [[:​start|Back to main index]]
 +</​box>​
chapter_1_-_internet_networks_and_tcp-ip/1-2_the_tcp-ip_family_of_internet_protocols.txt · Last modified: 2013/02/15 19:45 by cellbiol