Você está na página 1de 54

TCP/IP Protocol Suite

ALTTC/ BB 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/ BB 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/ BB 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 DATA LINK PHYSICAL

TCP/IP Model

ALTTC/ BB Faculty

Data Encapsulation
Application Data

TPT Layer

TCP Header UDP Header

Data Data

TCP Segment

UDP Message NW Layer IP Header TCP-UDP IP Datagram Data Link Frame Head IP Header TCP-UDP Frame Data Trailer Data

ALTTC/ BB 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/ BB 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/ BB 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.  Provides the ability to supply management services on the network.

directories

 Simple N/w Management Protocol (SNMP)


network

 Domain Name Service (DNS)


 Provides mapping between domain name and IP address and vice versa.
ALTTC/ BB 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/ BB 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 U AP RS F R C S S Y I G KHT NN CHECKSUM

HELEN

WINDOW SIZE

URGENT POINTER

OPTIONS AND PADDING

ALTTC/ BB 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/ BB Faculty 11

Well known port numbers


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

DESCRIPTION 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/ BB 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/ BB 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/ BB Faculty

15

Data Transfer
0 Sender 2
SN-95426 AN-00000 1 0 000B SN-16780 AN- 95427 1 1 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/ BB 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

0 6-Finish; 0- Closed

ALTTC/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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 476 B Data

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

DF=0; MF=1; Offset=64 Data Data

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

TCP

ALTTC/ BB Faculty

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/ BB 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/ BB Faculty

36

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

 Destination Address of Host (32 Bits)


 IP Address of the Destination Machine

 Options
 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB Faculty

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

Socket Connection-Demultiplexing
A.B.C.D E.F.G.H DATA DATA DATA DATA DATA DATA TRAILER TRAILER DATA DATA 53- 3753 21- 2764 53- 3753 21- 2764 53- 3753 21- 2764 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 HEADER HEADER

FTP
2764

DNS
3753

FTP
21

DNS
53

TCP IP

UDP T N D P

TCP

UDP

1. A.B.C.D(2764) E.F.G.H(21)
ALTTC/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB 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/ BB Faculty

53

ALTTC/ BB Faculty

54

Você também pode gostar