TCP/IP Overview
TCP/IP Overview - Basic Networking Concepts
Contents
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