TCP/IP Overview

From CDOT Wiki
Revision as of 21:58, 17 September 2008 by Cheping (talk | contribs) (Transport Layer)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

TCP/IP Overview - Basic Networking Concepts

What is TCP/IP?

  • TCP/IP is a name refers to an entire collection of data communication protocols
  • TCP: Transmission Control Protocol
  • IP: Internet Protocol
  • ICMP: Internet Control Message Protocol
  • ...

TCP/IP Features

  • Open protocol standards
  • Independence from specific physical network hardware
    • Ethernet
    • Token ring
    • Dial-up line
    • X.25 net ...
  • A common addressing scheme
  • Standardized high-level protocols

Data communication Model

OSI Referenece Model

  • Created by ISO International Standardization Organization in 1984
  • It is a Severn-layer data communication model
  • This model is used as a frame of reference for describing protocol architectures and functional characteristics
  • The following describes the SEVEN layer of the OSI reference model, from top to bottom:
 7 Application layer
 6 Presentation layer
 5 Session Layer
 4 Transport Layer
 3 Network Layer
 2 Data Link Layer
 1 Physical Layer

Application Layer

This layer allows programs to access network services.

Presentation Layer

This layer determines how application data should be formatted when exchanged between network computers.

Session Layer

This layer is used to establish a communication connection called a session between two applications on separate hosts.

Transport Layer

This layer segments and reassembles data into a data stream and provides an end-to-end connection between source and destination hosts.

Network Layer

This layer manages the addressing of messages and the translation of logical addresses to physical addresses. This layer also use the best effort method to determine how to route packets to its destination.

Data Link Layer

This layer is responsible for translating data bits into data frames and sends the data frames to from the network layer to the physical layer.

Physical Layer

This layer defines the characteristics of the hardware required to carry the data transmission signal. It is responsible for transmitting bits from one computer to another using a physical medium.

TCP/IP Protocol Architecture

  • 3 to 5 functional levels
  • Data Encapsulation
    • Headers
    • Data (also known as payload)

TCP/IP Layers

The TCP/IP Layer model is based on a four-layered model:

 4 Application Layer
 3 Transport Layer
 2 Internet Layer
 1 Network Layer

TCP/IP data Encapsulation

 Application Layer                                      +----------+
                                                        |   data   |
                                                        +----------+
                                                                ^
                                                                |
 Transport Layer                               +--------+----------+
                                               | Header |   data   |
                                               +--------+----------+
                                                           |    ^
                                                           v    |  
 Internet Layer                       +--------+-------------------+
                                      | Header |        data       |
                                      +--------+-------------------+
                                                    |           ^
                                                    v           |
 Network Access Layer        +--------+----------------------------+
                             | Header |            data            |
                             +--------+----------------------------+

Major TCP/IP protocols in each Layer

Network Access Layer

  • This is the lowest layer in the TCP/IP network model
  • Protocol in this layer provide the means for networking device to deliver data to the other devices on a directly attahed network.
  • Protocols in this layer are hidden to the users.
  • IP (logical network) addresses are converted into physical (network) addresses
  • e.g. by using ARP - address resolution protocol

Internet Layer

Internet Protocol (IP)

  • IPv4 and IPv6 (connectionless protocol)
  • Defines the datagram - basic unit of transmission
  • Defines the Internet addressing scheme
  • Moves data between Network access layer and the Transport layer
  • Routes datagrams to remote hosts
  • Performs fragmentation and re-assembly of datagrams
  • IP Datagram header Format:
   0                   1                   2                   3   
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |Version|  IHL  |Type of Service|          Total Length         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |         Identification        |Flags|      Fragment Offset    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Time to Live |    Protocol   |         Header Checksum       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       Source Address                          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    Destination Address                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    Options                    |    Padding    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
                   Example Internet Datagram Header
 
                            RFC 791

Internet Control Message Protocol (ICMP) provides:

  • Flow control
  • unreachable destinations detection
  • routes redirection
  • remote hosts status checking

Transport Layer

Transmission Control Protocol (TCP):

  • reliable data delivery with positive acknowledgment with retransmission
  • connection-oriented
  • three-way handshake
  • TCP segment header format:
   0                   1                   2                   3   
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |          Source Port          |       Destination Port        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        Sequence Number                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    Acknowledgment Number                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Data |           |U|A|P|R|S|F|                               |
  | Offset| Reserved  |R|C|S|S|Y|I|            Window             |
  |       |           |G|K|H|T|N|N|                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |           Checksum            |         Urgent Pointer        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    Options                    |    Padding    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                             data                              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
                           TCP Header Format
 
         Note that one tick mark represents one bit position.

User Datagram Protocol (UDP)

  • Minimum protocol overhead (unreliable)
  • Connectionless

Application Layer

Application Protocols:

  • HTTP - Hypertext Transfer Protocol
  • SMTP - Simple Mail Transfer Protocol
  • DNS - Domain Name Service
  • FTP - File Transfer Protocol
  • Telnet - Network Terminal Protocol
  • NFS - Network File System
  • NIS - Network Information System