Вы находитесь на странице: 1из 54

TCP/IP Protocol Suite

ALTTC/ DX Faculty

Objectives
What is Internet? Comparison of TCP/IP & OSI Data Encapsulation TCP-IP Protocol Suite TCP/IP Protocol Documents TCP-IP Protocol Suite (IPv4 vs IPv6)

ALTTC/ DX Faculty

What is Internet?
Internet is network of networks, with different hardware/software technologies Also known by the name TCP/IP Internet Name TCP/IP is taken from the names of the one of the transport layer protocols (Transport Control Protocol) and the network layer protocol (Internet Protocol) TCP/IP is backbone of the Internet

ALTTC/ DX Faculty

TCP/IP and OSI


OSI is made of seven layers. TCP/IP protocol is made of five layers.
APPLICATION PRESENTATION SESSION APPLICATION

OSI Model

TRANSPORT NETWORK DATA LINK PHYSICAL

TRANSPORT NETWORK

TCP/IP Model

DATA LINK
PHYSICAL

ALTTC/ DX Faculty

Data Encapsulation
Application Data

TPT Layer

TCP Header UDP Header

Data Data

TCP Segment

UDP Message NW Layer IP Header TCP-UDP Data

IP Datagram
Data Link Frame Head IP Header TCP-UDP Frame Data Trailer

ALTTC/ DX Faculty

TCP/IP Protocol Suite..


FTP SMTP TELNET HTTP TCP ICMP IGMP IP UDP ARP RARP

TFTP NFS SNMP DNS

T
N

D
P

Protocols defined by the underlying networks

ALTTC/ DX Faculty

Applications using TCP


File Transfer Protocol (FTP)
Provides the ability to upload and download files between hosts on the network.

Simple Mail Transport Protocol (SMTP)


Provides the ability to send mail between users on the network.

TELNET
Provides the ability to login into a remote host and administer the machine.

Hyper Text Transfer Protocol (HTTP)


Provides the ability to supply web pages between a browser and the server.
ALTTC/ DX Faculty 7

Applications using UDP


Trivial File Transfer Protocol (TFTP)
Provides simplex file transfer for network booting of devices.

Network File System (NFS)


Provides the ability for sharing between hosts on the network. directories

Simple N/w Management Protocol (SNMP)


Provides the ability to supply management services on the network. network

Domain Name Service (DNS)


Provides mapping between domain name and IP address and vice versa.
ALTTC/ DX Faculty 8

TCP Details
Provides application programs access to the network using a reliable connection-oriented transport layer service TCP sends and receives data reliably using sequence numbers and acknowledgments TCP is a byte oriented protocol i.e. every byte in each packet is assigned a sequence number Data stream handed over to TCP is called an unstructured stream TCP divides this data stream into segments for transmission to remote network
ALTTC/ DX Faculty 9

TCP Header..
Octet +0 Octet +1 Octet +2 Octet +3 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

SOURCE PORT

DESTINATION PORT

SEQUENCE NUMBER

ACKNOWLEDGEMENT NUMBER
HELEN UAP RS F R C S S Y I GKHT NN CHECKSUM WINDOW SIZE URGENT POINTER

OPTIONS AND PADDING

ALTTC/ DX Faculty

10

TCP Header
Source & Destination Port (16 Bits)
Can run number of applications using same transport by multiplexing through port numbers Port numbers are used to identify a unique application in a machine 65536 (0-65535) port numbers can be defined Theoretically it is possible to run 65535 simultaneous applications in a host The first 1024 ports, port numbers 0-1023 known as well known port numbers, are assigned and are reserved for standard applications and are controlled by IANA The remaining ports, 1024-65535, are dynamic and can be used freely by applications Source port is randomly generated by the source machine
ALTTC/ DX Faculty 11

Well known port numbers


PORT DESCRIPTION

20
21 23 25 53 69 80 123 179
ALTTC/ DX Faculty

File Transfer-Data
File Transfer-Control Telnet SMTP Domain Name Server Trivial File Transfer WWW Network Time Protocol Border Gateway Protocol
12

TCP Header
Sequence Number (32 Bits)
Helps in establishing TCP connections, along with SYN bit, called as Three Way Handshake Helps in maintaining account of amount of data being transferred Identifies where the encapsulated data fits within a data stream from the sender Sequence number is incremented, in the system, every 4 microsecond

Acknowledgement Number (32 Bits)


Helps in maintaining account of amount of data being transferred Identifies the sequence number expected from the other end of data transmission unit
ALTTC/ DX Faculty 13

Seq/Ack numbers relation


During TCP Connection Three way handshake Establishment/

Acknowledgement Number Sent = Sequence Number Received+1

During Data Transfer


Acknowledgement Number Sent = Sequence Number Received + Data Received in Bytes

ALTTC/ DX Faculty

14

Three-Way-Handshake
Sender 0
SN-95426

Receiver

AN-00000 1 0 000B

SN-16780 AN- 95427 1 1 000B

SN-95427

AN-16781 0 1 000B

0-Closed; 1-Listen; 2-SYN-Sent; 3-SYN-Received; 4-Established

ALTTC/ DX Faculty

15

Data Transfer
0
Sender
SN-95426 AN-00000 SN-16780 AN- 95427 1 1 000B 1 0 000B

1
Receiver 3

SN-95427 AN-16781 0 1 000B SN-16781 AN- 95428 0 1 SN-95428 100B

AN-16881 0 1 200B

SN-16881 AN- 95628 0 1 150B

SN-95628

AN-17031 0 1 250B

SN-17031 AN- 95878 0 1 300B

0-Closed; 1-Listen; 2-SYN-Sent; 3-SYN-Received; 4-Established; 5-Data Transfer


ALTTC/ DX Faculty 16

Closing a TCP Connection


SN - 95880

Sender

AN -17334 0 1 1 0B SN - 17334 AN - 95881 0 1 0 0B

Receiver

WAIT
SN - 17334

AN - 95881
SN - 95881 AN -17334 0 1 1 0B

0 1 0

0B

6-Finish; 0- Closed

ALTTC/ DX Faculty

17

TCP Header.
Header Length (4 Bits)
Sometimes called Data Offset Indicates the length of header in 32-bit words Identifies the beginning of data Typical value is 5 unless there are options Urgent (URG) Acknowledgement (ACK) Push (PSH) Reset (RST) Synchronisation (SYN) Finish (FIN)
18

Flags (6 Bits)

ALTTC/ DX Faculty

TCP Header..
Window Size (16 Bits)
Indicates the size of the sliding window Specifies the number of octets, starting with the octet indicated by the acknowledgement number, that the sender of the segment will accept from its peer at the other end of the connection before the peer must stop transmitting and wait for an acknowledgement A default window size is 4096 bytes Used for flow control by using Sliding window mechanism

ALTTC/ DX Faculty

19

Flow Control
Sender retains a copy of transmitted data until it receives an acknowledgment from the remote network. If no acknowledgment is received, within a specified time, the data is retransmitted by using adaptive retransmission algorithm.
TCP records the time of the transmission and sequence number of the segment. TCP again records the time of the acknowledgement received. Using this delta, TCP builds a sample round-trip delay time and uses this to build an average time for a packet to be sent and to receive an acknowledgement

TCP will time out after a number of unsuccessful retransmissions


ALTTC/ DX Faculty 20

Sliding Window-Flow Control


Moves to right when ack is received.
Moves to right when data is sent. Moves to right or left to fix the size of the window. Sent and ack Sent but not ack Can be sent Cant be sent

Window Size

ALTTC/ DX Faculty

21

TCP Header..
Checksum(16 Bits)
Used for error detection Covers both header and the encapsulated data

Urgent Pointer(16 Bits)


Used only when urgent flag is set Points to the last octet of urgent data

Options
One of the important options is MSS (Maximum Segment Size) Informs the receiver of the largest segment the sender is willing to accept, without causing fragmentation
ALTTC/ DX Faculty 22

TCP Header
Padding
Consists of 1-3 octets, each equal to zero, to force the length of TCP header to be in multiples of four octets.

ALTTC/ DX Faculty

23

User Datagram Protocol


Provides unreliable connectionless service Transfers data without establishing a session Used for services that have an inbuilt reliability Does not use end to end error checking and correction Does not order the packets; may loose or duplicate a packet Runs faster than TCP due to less overheads
ALTTC/ DX Faculty 24

UDP Header..

Octet +0

Octet +1

Octet +2

Octet +3

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 SOURCE PORT MESSAGE LENGTH DESTINATION PORT CHECKSUM

ALTTC/ DX Faculty

25

UDP Header...
Source Port (16 Bits)
Identifies the sending process.

Destination Port (16 Bits)


Identifies the receiving process. Some fixed, pre-assigned port numbers used for services on the Internet. 7 for UDP; 69 for TFTP

Message length (16 Bits)


Indicates the size of the UDP header and its data in bytes. Minimum size is 8, if carries no data.

Checksum (16 Bits)


Covers the UDP header and UDP data. Optional; If not used, set to all zeros.
ALTTC/ DX Faculty 26

Internet Protocol.
Provides best-effort or connectionless delivery service. No error checking or tracking If reliability is important, IP must be paired with a reliable protocol like TCP Transmits blocks of data called datagrams each of which is transported separately Responsible for IP addressing Datagrams may travel along different routes and may arrive out of sequence or duplicated.
ALTTC/ DX Faculty 27

IP Header..
Octet +0 Octet +1 Octet +2 Octet +3 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

VER

HLEN

TOS
DM F F

TOTAL LENGTH
FRAGMENT OFFSET HEADER CHECKSUM

IDENTIFICATION TIME TO LIVE PROTOCOL

SOURCE ADDRESS OF HOST

DESTINATION ADDRESS OF HOST

OPTIONS

PADDING

ALTTC/ DX Faculty

28

IP Header
Version (4 Bits)
Identifies the IP version to which the packet belongs

Header Length (4 Bits)


Indicates the length of IP header in 32 bit words. Minimum length is 20 octets. Options may increase the size up to a maximum of 24 octets.

Type of Service (8 Bits)


Used for specifying special handling of packet. Has two sub-fields: Precedence TOS

ALTTC/ DX Faculty

29

IP Header.
P P P D T R C 0 Reserved: Always set to 0

Precedence 000-Routine 001-Priority 010-Immediate 011-Flash 100-Flash Override 101-CRITIC/ECP 110-Internetwork Control 111-Network Control

Delay 0-Normal 1-Minimise

Reliability 0-Normal 1-Maximise

Throughput 0-Normal 1-Maximise

Cost 0-Normal 1-Minimise

= No TOS

ALTTC/ DX Faculty

30

IP Header..
Total Length (16 Bits)
Specifies total length of the packet, including header, in octets Largest decimal number =216= 65535, the maximum possible size of an IP packet is 65535 octets Total length - header length = Packets data payload

Identification (16 Bits)


Each datagram is identified by a identification number set by the source. Normally incremented by 1 for each datagram sent.
ALTTC/ DX Faculty 31

IP Header
Flags (3 Bits)
First bit is not used. Second bit is Dont Fragment (DF) bit Third bit if More Fragment (MF) bit

Maximum Transmit Unit (MTU) is the size of the largest packet, including IP Header, that can be transmitted or received through a data link Default MTU is 576 bytes, which can be handled by any network without fragmentation
ALTTC/ DX Faculty 32

IP Header
Fragment Offset (13 Bits)
The fragmentation occurs at the routers, if the original packet length exceeds the MTU of a data link Used only in the cases when a datagram is fragmented on its way Specifies the offset, in units of eight octets, from the beginning of header to the beginning of the fragment Each fragment is marked, by router, with the same identifier number

ALTTC/ DX Faculty

33

Fragmentation..
MTU-1500
172.16.2.0

MTU-1500
MTU-576
172.16.3.0

1500 B IP 512 B IP IP TCP Data IP TCP Data

512 B
Data IP DF=0; MF=1; Offset=64 Data Data

476 B
Data DF=0; MF=0; Offset=128 Data

DF=0; MF=1; Offset=0 IP TCP IP


ALTTC/ DX Faculty

Data TCP

34

Fragmentation
Only the receiver host reassembles the datagram The destination machine starts a reassembly timer for about 60-120 seconds. If not all fragments were received, then hosts discard the packets and sends a time exceeded ICMP message to the source machine If a single fragment is lost during a transmission, the entire packet must be resent
ALTTC/ DX Faculty 35

IP Header
Time to live-TTL (8 Bits)
Assigns a life to an IP datagram

Protocol (8 Bits)
Specifies the protocol that runs on the top of IP. TCP-6; EGP-8; UDP-17; OSPF-89

Header Checksum (16 Bits)


Error detection field for IP header As each router decrements the TTL, checksum is calculated by each router
the

ALTTC/ DX Faculty

36

IP Header.
Source Address of Host (32 Bits)
IP Address of the Originating Machine

Destination Address of Host (32 Bits) Options


IP Address of the Destination Machine
Security: Specifies how secret the datagram is Strict Source Routing(SSR): Gives the complete path to be followed Loose Source Routing(LSR): Gives the list of routers not to be missed

ALTTC/ DX Faculty

37

IP Header..
Record Route: Makes each router to append its IP address. Time Stamp: Makes each router to append its IP address and time stamp.

Padding
Ensures that the header ends on a 32 bit boundary by adding zeros after the option field.

ALTTC/ DX Faculty

38

Underlying Networks Protocols


Ethernet Token Ring FDDI
Fiber Distributed Data Interface

HDLC
High-level Data Link Control

Frame Relay PPP


Point-to-Point Protocol

ATM
Asynchronous Transfer Mode
ALTTC/ DX Faculty 39

Socket Connection..
Ports along with an IP address, known as socket connection, allow any application in any machine on an internet to be uniquely defined. Multiple applications can run simultaneously on a host by making use of separate socket connection for each application.

ALTTC/ DX Faculty

40

Socket Connection-Multiplexing
A.B.C.D E.F.G.H

FTP
2764

DNS
3753
DATA
DATA

FTP
21
3753-53 2764-21 3753-53 2764-21 3753-53 2764-21 A.B.C.D-E.F.G.H A.B.C.D-E.F.G.H A.B.C.D-E.F.G.H A.B.C.D-E.F.G.H

DNS
53

TCP IP

UDP T N D P
TRAILER TRAILER

DATA DATA DATA DATA DATA DATA

TCP

UDP

HEADER HEADER

1. A.B.C.D(2764) E.F.G.H(21)
ALTTC/ DX Faculty

2. A.B.C.D(3753) E.F.G.H(53)
41

Socket Connection-Demultiplexing
A.B.C.D E.F.G.H

FTP
2764

DNS
3753

DATA
DATA DATA 53- 3753 21- 2764 53- 3753

FTP
21

DNS
53

TCP

UDP T

TCP
E.F.G.H-A.B.C.D E.F.G.H-A.B.C.D E.F.G.H-A.B.C.D E.F.G.H-A.B.C.D

UDP

DATA DATA

IP

N D P
TRAILER TRAILER

DATA
DATA DATA

21- 2764
53- 3753 21- 2764

HEADER HEADER

1. A.B.C.D(2764) E.F.G.H(21)
ALTTC/ DX Faculty

2. A.B.C.D(3753) E.F.G.H(53)
42

Internet Control Message Protocol


Internet Control Message Protocol is a mechanism used by hosts and routers to send notification of datagram problems back to the sender. Sends error messages only to the source and not to intermediate routers. Sole function is to report problems, not to correct them. An important use of ICMP is echo/reply to test whether a destination is reachable and responding.
ALTTC/ DX Faculty 43

Internet Control Message Protocol


Echo request/reply (PING; Packet INternet Gropher)
Destination unreachable 0-Network unreachable 1-Host unreachable 2-Protocol unreachable 3-Port unreachable 4-Fragment needed but DF bit is set 5-Source route failed 6-Destination network unknown

ALTTC/ DX Faculty

44

Internet Control Message Protocol


7-Destination host unknown 8-Source host isolated 9-Communication with destination network administratively prohibited 10-Communication with destination host administratively prohibited 11-Network unreachable for type of service 12-Host unreachable for type of service Time exceeded message format 0-TTL exceeded 1-Fragment reassembly time exceeded
ALTTC/ DX Faculty 45

Internet Group Message Protocol


Internet Group Message Protocol provides allows for multicast to operate on an internetwork.
Multicast is one-to-many communication. A message sent can be simultaneously received by a group of hosts.

Special type of Class-D IP addresses, starting with 1110, are reserved as multicast addresses.

ALTTC/ DX Faculty

46

Address Resolution Protocol


Address Resolution Protocol is used to translate 32 bits IP addresses to 48 bits Ethernet addresses. A hosts physical address is determined by broadcasting its IP address to all machines. The machine with matching IP address, in broadcast message, sends its hardware address to the machine originating broadcast.

ALTTC/ DX Faculty

47

ARP Operation
Give me MAC address of 129.1.1.4 Here is my MAC address

129.1.1.1

129.1.1.4

ARP Response Accepted

Request Ignored

Request Ignored
129.1.1.3 08-00-5A-21-A7-22

Thats Me
08-00-10-99-AC-54

129.1.1.2 08-00-39-00-2F-AB 08-00-39-00-2F-C3

ALTTC/ DX Faculty

48

Reverse Address Resolution Protocol


Reverse Address Resolution Protocol is used to get the 32 bits Source IP address, knowing the 48 bits Hardware address. It is reverse of ARP, hence named Reverse Address Resolution Protocol. A diskless workstation broadcasts RARPRequest to find its IP Address at the time of boot up.

ALTTC/ DX Faculty

49

RARP Operation
Give me my IP address RARP Response

Diskless work station

RARP Server

08-00-39-00-2F-AB 223.1.2.1 08-00-39-00-2F-C3 223.1.2.2 223.1.2.3 08-00-10-99-AC-54 08-00-5A-21-A7-22

ALTTC/ DX Faculty

50

IPv4 vs IPv6
Some independent protocols of version 4 are part of ICMPv6.
RARP protocol is dropped from the suite. ARP and IGMP are combined with ICMPv6. ICMP IGMP

IPv4

ARP

RARP

ICMP

IPv6

ALTTC/ DX Faculty

51

IPv6 Base Header


Octet +0 Octet +1 Octet +2 Octet +3 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

VER

PRI PAYLOAD LENGTH

FLOW LABEL NEXT HEADER HOP LIMIT

SOURCE ADDRESS (128 Bits)

DESTINATION ADDRESS (128 Bits) PAYLOAD (0-65535 Bytes) (EXTENSION HEADERS + DATA PACKETS FROM UPPER LAYERS)

ALTTC/ DX Faculty

52

TCP/IP Protocol Documents


TCP/IP technical documents are known as Request For Comments (RFCs). Once issued, RFC do not change.
Updated by new RFCs. RFCs can be obsoleted but their numbers are never used again.

A major source for RFCs is the Internet Engineering Task Force and are accessible on site www.ietf.org

ALTTC/ DX Faculty

53

ALTTC/ DX Faculty

54