****************************************************************
* Description: Knowledge of network TCP/IP protocal layer model
* Compatiablity: RDBMS 11g, 12c
* Date: 05:40 PM EST, 06/01/2017
****************************************************************



<1> TCP/IP:
     |
     |__ o. The Internet protocol suite is the conceptual model and set of communications protocols used on the Internet and similar computer networks. 
            It is commonly known as TCP/IP because the original protocols in the suite are the Transmission Control Protocol (TCP) and the Internet Protocol (IP). 	 

         o. The Internet protocol suite provides end-to-end data communication specifying how data should be packetized, addressed, transmitted, routed and received. 
            This functionality is organized into four abstraction layers which are used to sort all related protocols according to the scope of networking involved. 
            From lowest to highest, the layers are the link layer, containing communication methods for data that remains within a single network segment (link); 
            the internet layer, connecting independent networks, thus providing internetworking; the transport layer handling host-to-host communication; 
            and the application layer, which provides process-to-process data exchange for applications.
			
         o. Simply speaking, protocal is that a Chinese travels Canada to user US dollar to buy food.
            When you build up one IT Network environment, you should take TCP/IP layer model as a reference. The router/switch backbone hardware, IP configuration, etc should
            go along the rule within each layer.			
		
             ---------------------	
             | Application Layer |
             ---------------------
                             || 
                            -------------------
                            | Transport Layer |
                            -------------------
                                          ||
                                         -----------------
                                         | Network Layer |			 
                                         -----------------
                                                     ||
                                                    --------------
                                                    | Link Layer |
                                                    --------------
                                                               ||
                                                            ------------------
                                                            | Physical Layer |
                                                            ------------------
			 
			 
<2> Detail of each Layer:
     |
     |
     |__ a) Physical Layer:
     |      |
     |      |_ To build up network, the first thing needs to do is using cable to connect all devices together. In this layer, the protocal defines what type of cable that
     |         is allowed, such as network twisted-pair cable, duplex fiber optical cable, or even wifi signal. This layer is responsible for transmit 0/1 signal.
     |
     |
     |__ b) Link Layer:				
     |       |
     |       |__ The received 0/1 signal will not make any sense without any pre-defined rule. Link layer stipulates how to read the 0/1 signals, such as how many bits is packet
     |           head section, and which digits range are for data body section. Previously, each company has their own method to organize 0/1 bits. And, slowly, one method known
     |           as Ethernet becomes popular. A network interface card is required to any device, who connects to Ethernet network. According to Ethernet protocal, the machine
     |           communicate with each other based on MAC addresse and broadcasting data transmission.
     |	  	 
     |           Ethernet calls one data packet as a Frame. Each frame has 2 sections - head and data:                 
     |           ---------------------------------------------------------------------------------------------------------------------------------------------------
     |           |                   HEAD                           |                                         DATA                                                 |
     |           |   o. Including sender, receiver, and data type.  |    o. Including the transmitted data                                                         |
     |           |   o. The length is 18 bytes fixed. ]             |    o. The length is 46 - 1500 bytes.                                                         |
     |           |                                                  |    o. If whole frame is longer then max, the data needs to be cut down into several frames.  |
     |           ---------------------------------------------------------------------------------------------------------------------------------------------------
     | 
     |	 
     |__ c) Network layer:	 
     |      |
     |      |__ Since Ethernet model is based on MAC address broadcasting communication, so the protocal is only suit for small scale network with fewer machine. There are billion
     |          devices within internet, therefore, it would not be possible for one server to broadcast one packet to all the machines. To solve the problem, network layer was
     |          introduced with IP address. ISP assigns one IP with each device connecting to the internet, and the IP gets marked with Class mark. Different IP classes has 
     |          different subnet mask.
     |
     |          Subnet mask dives one IP into Network IP, and Host IP. So, before one source server sends over message to destination server, it can tell if both servers on in the 
     |          same LAN network.	
     |
     |          Since IP gets involved, the IP data packet format got modified as below:				
     |          ---------------------------------------------------------------------------------------------------------------------------------------------------
     |          |       Ethernet HEAD with MAC address       |       Internet HEAD with IP address         |                       DATA                           |
     |          ---------------------------------------------------------------------------------------------------------------------------------------------------
     |
     |
     |__ d) Transport Layer:
     |      |
     |      |__ Until now, server can send over message to each other based on no matter Ethernet or Internet. But, one server can run multiple network associated application or
     |          software, such as review website by browser, chating on Whatsapp. So, when one data packet receives, how to tell it should be parsered by which process. 
     |		   
     |          Transport Layer includes two type of protocals: TCP and UDP - The difference is receiver will notice when data packet gets arrived as feedback.
     |		   
     |          Since then, port got introduced, which is the identified within the data packet indicating which process is the destination receiver. The port information is 
     |          included within data packet as below:
     |          ---------------------------------------------------------------------------------------------------------------------------------------------------
     |          |    Ethernet HEAD with MAC address    |    Internet HEAD with IP address    |   TCP HEAD with Port number of sender & receiver    |     DATA     |
     |          ---------------------------------------------------------------------------------------------------------------------------------------------------			 
     |
     |
     |__ e) Application Layer:
            |
            |__ In this TCP/IP top layer, various types of applications are runnning. When the application like wechat, chrome browser, and mailbox receives the data packet, they
            |   will proceed parsoring the data, and translate to user. So, the proctal defines several rules in this layer to read the data packet.
            |   |
            |   |__ o. https .............. HTML  
            |       o. http ............... HTML
            |       o. FTP ................ File transportation, such as Winscp, Filezilla
            |       o. SMTP ............... Email transmission					
            |
            |__ With Application layer protocal, the data packet gets updated as below:
                --------------------------------------------------------------------------------------------------------------------------------------------------------
                |    Ethernet HEAD with MAC address    |    Internet HEAD with IP address    |   TCP HEAD with Port number of sender & receiver    |     HTTP DATA     |
                --------------------------------------------------------------------------------------------------------------------------------------------------------
	 
	 
	 
<3> Reference: 
     |
     |__ http://blog.csdn.net/yechaodechuntian/article/details/36726867