You are on page 1of 91

TCP/IP Overview

Introduction to TCP/IP
Host

Host

Internet
TCP/IP

Early protocol suite


Universal

TCP/IP Protocol Stack


7

Application

Presentation

Session

Transport

Transport

Network

Internet

Data Link

Data Link

Application
4
3
2
1

Physical

Physical

Application Layer Overview

Application

Transport
Internet
Data Link

File Transfer
- TFTP *
- FTP *
- NFS
E-Mail
- SMTP
Remote Login
- Telnet *
- rlogin *
Network Management
- SNMP *
Name Management
- DNS*
*Used by the router

Physical

Transport Layer Overview

Application
Transport
Internet
Data Link
Physical

Transmission Control
Protocol (TCP)

ConnectionOriented

User Datagram
Protocol (UDP)

Connectionless

TCP Segment Format


Bit 0

Bit 15 Bit 16

Bit 31
Destination port (16)

Source port (16)

Sequence number (32)


Acknowledgement number (32)
Header
length (4)

Reserved (6) Code bits (6)


Checksum (16)

Window (16)
Urgent (16)

Options (0 or 32 if any)
Data (varies)

20
Bytes

Application
Layer

F
T
P

T
E
L
N
E
T

S
M
T
P

D
N
S

T
F
T
P

S
N
M
P

R
I
P

21

23

25

53

69

161

520

Port Numbers
TCP

Transport
Layer

UDP

Port
Numbers

Source
Port

Dest.
Port

Telnet Z
Host Z

Host A

SP

DP

1028

23

TCP Port Numbers

Dest. port = 23.


Send packet to my
Telnet
application.

TCP Three Way


Handshake/Open Connection
Host A

Host B

Send SYN
(seq=100 ctl=SYN)
SYN received

TCP Three Way


Handshake/Open Connection
Host A

Host B

Send SYN
(seq=100 ctl=SYN)
SYN received
SYN received

Send SYN, ACK 2


(seq=300 ack=101 ctl=syn,ack)

TCP Three Way


Handshake/Open Connection
Host A

Host B

Send SYN
(seq=100 ctl=SYN)
SYN received
SYN received

Established
(seq=101 ack=301 ctl=ack)

Send SYN, ACK 2


(seq=300 ack=101 ctl=syn,ack)

TCP Simple Acknowledgment


Sender

Receiver

Window size = 1

TCP Simple Acknowledgment


Sender

Receiver

Send 1

Receive 1

Window size = 1

TCP Simple Acknowledgment


Sender

Receiver

Send 1

Receive 1
Send ACK 2

Receive ACK 2

Window size = 1

TCP Simple Acknowledgment


Sender

Receiver

Send 1

Receive 1
Send ACK 2

Receive ACK 2
Send 2

Receive 2

Window size = 1

TCP Simple Acknowledgment


Sender

Receiver

Send 1

Receive 1
Send ACK 2

Receive ACK 2
Send 2

Receive 2
Send ACK 3

Receive ACK 3

Window size = 1

TCP Simple Acknowledgment


Sender

Receiver

Send 1

Receive 1
Send ACK 2

Receive ACK 2
Send 2

Receive 2
Send ACK 3

Receive ACK 3
Send 3

Receive 3

Window size = 1

TCP Simple Acknowledgment


Sender

Receiver

Send 1

Receive 1
Send ACK 2

Receive ACK 2
Send 2

Receive 2
Send ACK 3

Receive ACK 3
Send 3

Receive 3
Send ACK 4

Receive ACK 4

Window size = 1

TCP Sequence and


Acknowledgment Numbers
Source
Port

Dest.
Port

I just
sent #10.

Source Dest. Seq. Ack.


1028

23

10

Sequence
#

Acknowledgement
#

TCP Sequence and


Acknowledgment Numbers
Source
Port

Dest.
Port

I just
sent #10.

Sequence
#

Acknowledgement
#

I just got #10,


now I need #11.

Source Dest. Seq. Ack.


1028
23
10
1
Source Dest. Seq. Ack.
23 1028
1
11

TCP Sequence and


Acknowledgment Numbers
Source
Port

Dest.
Port

I just
sent #11.

Sequence
#

Acknowledgement
#

I just got #10,


now I need #11.

Source Dest. Seq. Ack.


1028
23
10
1
Source Dest. Seq. Ack.
23 1028
1
11
Source Dest. Seq. Ack.
1028

23

11

TCP Sequence and


Acknowledgment Numbers
Source
Port

Dest.
Port

I just
sent #11.

Sequence
#

Acknowledgement
#

I just got #11,


now I need #12.

Source Dest. Seq. Ack.


1028
23
10
1
Source Dest. Seq. Ack.
23 1028
1
11
Source Dest. Seq. Ack.
1028

23

11

2
Source Dest. Seq. Ack.
23
1028
2
12

TCP Windowing
Sender

Receiver

TCP Windowing
Sender

Window size = 3
Send 1
Window size = 3
Send 2
Window size = 3
Send 3

Receiver

TCP Windowing
Sender

Window size = 3
Send 1

Receiver

Window size = 3
Send 2
Window size = 3
Send 3

ACK 3
Window size = 2

Packet 3 is
Dropped

TCP Windowing
Sender

Window size = 3
Send 1

Receiver

Window size = 3
Send 2
Window size = 3
Send 3

Window size = 3
Send 3
Window size = 3
Send 4

ACK 3
Window size = 2

Packet 3 is
Dropped

TCP Windowing
Sender

Window size = 3
Send 1

Receiver

Window size = 3
Send 2
Window size = 3
Send 3

Packet 3 is
ACK 3
Window size = 2 Dropped

Window size = 3
Send 3
Window size = 3
Send 4
ACK 5
Window size = 2

UDP Segment Format


Bit
1 0

Bit 15 Bit 16

Bit 31
Destination port (16)

Source port (16)


Length (16)

Checksum (16)
Data (if any)

No sequence or acknowledgment fields

8
Bytes

Internet Layer Overview

Internet Protocol (IP)


Application
Transport
Internet

Internet Control Message


Protocol (ICMP)
Address Resolution
Protocol (ARP)

Data Link
Physical

Reverse Address
Resolution Protocol (RARP)

OSI network layer corresponds to the


TCP/IP internet layer

Bit
1 0
Version
(4)

Bit 15 Bit 16
Header
Length (4)

Priority & Type


of Service (8)

Total Length (16)


Flags
(3)

Identification (16)
Time to live (8)

Bit 31

Protocol (8)

Fragment offset (13)


Header checksum (16)

Source IP Address (32)


Destination IP Address (32)
Options (0 or 32 if any)

IP Datagram

Data (varies if any)

20
Bytes

Protocol Field

Transport
Layer

UDP

TCP
6

Internet
Layer

17

Protocol
Numbers

IP

Determines destination upper-layer


protocol

Internet Control Message


Protocol

Application
Transport

Destination
Unreachable

ICMP

Echo (Ping)
Internet

Other
Data Link
Physical

Address Resolution Protocol


I need the
Ethernet
address of
176.16.3.2.
172.16.3.1

172.16.3.2

IP: 172.16.3.2 = ???

Address Resolution Protocol


I need the
Ethernet
address of
176.16.3.2.

I heard that broadcast.


The message is for me.
Here is my Ethernet
address.
172.16.3.1

172.16.3.2

IP: 172.16.3.2 = ???

Address Resolution Protocol


I need the
Ethernet
address of
176.16.3.2.

I heard that broadcast.


The message is for me.
Here is my Ethernet
address.
172.16.3.1

172.16.3.2

IP: 172.16.3.2 = ???


IP: 172.16.3.2
Ethernet: 0800.0020.1111

Address Resolution Protocol


I need the
Ethernet
address of
176.16.3.2.

I heard that broadcast.


The message is for me.
Here is my Ethernet
address.
172.16.3.1

172.16.3.2

IP: 172.16.3.2 = ???


IP: 172.16.3.2
Ethernet: 0800.0020.1111

Map IP

Ethernet
Local ARP

Reverse ARP
What is
my IP
address?

Ethernet: 0800.0020.1111 IP = ???

Reverse ARP
I heard that
broadcast.
Your IP
address is
172.16.3.25.

What is
my IP
address?

Ethernet: 0800.0020.1111 IP = ???

Reverse ARP
I heard that
broadcast.
Your IP
address is
172.16.3.25.

What is
my IP
address?

Ethernet: 0800.0020.1111 IP = ???


Ethernet: 0800.0020.1111
IP: 172.16.3.25

Reverse ARP
I heard that
broadcast.
Your IP
address is
172.16.3.25.

What is
my IP
address?

Ethernet: 0800.0020.1111 IP = ???


Ethernet: 0800.0020.1111
IP: 172.16.3.25

Map Ethernet

IP

Introduction to TCP/IP Addresses


172.18.0.1
172.18.0.2
10.13.0.0
10.13.0.1

172.16.0.1

HDR SADA DATA

172.17.0.1

172.16.0.2

172.17.0.2

192.168.1.0
192.168.1.1

Unique addressing allows communication


between end stations
Path choice is based on location
Location is represented by an address

32 bits
Dotted
Decimal
Maximum

Network

255

255

IP Addressing

Host

255

255

32 bits
Dotted
Decimal

Network

16 17

255
24 25

32

11111111 11111111

11111111 11111111
128
64
32
16
8
4
2
1
128
64
32
16
8
4
2
1

8 9

255

128
64
32
16
8
4
2
1
128
64
32
16
8
4
2
1

Binary

255

255

Maximum

Host

IP Addressing

32 bits
Dotted
Decimal

Network

16 17

255
24 25

32

11111111 11111111

11111111 11111111
128
64
32
16
8
4
2
1
128
64
32
16
8
4
2
1

8 9

255

128
64
32
16
8
4
2
1
128
64
32
16
8
4
2
1

Binary

255

255

Maximum

Host

Example
172
16
122
204
Decimal
IP
Addressing
Example 10101100 00010000 01111010 11001100
Binary

IP Address Classes
8 bits

8 bits

8 bits

8 bits

Host

Host

Host

Host

Host

Class A:

Network

Class B:

Network Network

Class C:

Network Network Network

Class D:
Multicast
Class E:

Research

Host

Bits:

Class A:
Bits:

Class B:
Bits:

Class C:

8 9

0NNNNNNN

16 17

24 25

Host

Host

32
Host

Range (1-126)
1

8 9

10NNNNNN

16 17
Network

Range (128-191)
8 9
1
110NNNNN
Range (192-223)
1
8 9

24 25
Host

16 17
Network

Host
24 25

Network
16 17

32

32
Host

24 25

32

IP Address
Classes
1110MMMM Multicast Group Multicast Group Multicast Group
Bits:

Class D:

Range (224-239)

172.16.2.1

10.1.1.1
10.6.24.2
E1

172.16.3.10

E0
172.16.2.1

10.250.8.11

172.16.12.12

172.16

12 . 12

10.180.30.118

Routing Table
Network
Interface

Host Addresses
172.16.0.0
Host

Network

10.0.0.0

E0
E1

Network

...

...

10101100 00010000 00000000 00000000


00000000 00000001
00000000 00000011
11111111 11111101
11111111 11111110
11111111 11111111
Determining Available
Host

Addresses

2N-2 = 216-2 = 65534

N
1
2
3
...

16

16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1

172

Host

65534
65535
65536
2
65534

IP Address Classes Exercise


Address
10.2.1.1
128.63.2.100
201.222.5.64
192.6.141.2
130.113.64.16
256.241.201.10

Class

Network

Host

IP Address Classes Exercise


Answers
Address

Class

10.2.1.1

10.0.0.0

0.2.1.1

128.63.2.100

128.63.0.0

0.0.2.100

201.222.5.64

201.222.5.0

0.0.0.64

192.6.141.2

192.6.141.0

0.0.0.2

130.113.64.16

130.113.0.0

0.0.64.16

256.241.201.10

Nonexistent

Network

Host

Addressing without Subnets

172.16.0.1 172.16.0.2 172.16.0.3

172.16.255.253 172.16.255.254
...

172.16.0.0

Network 172.16.0.0

Addressing with Subnets

172.16.3.0

172.16.4.0

172.16.1.0

172.16.2.0

Network 172.16.0.0

172.16.2.200

172.16.3.5
172.16.3.1
E1

172.16.2.2

E0
172.16.2.1

172.16.3.100

172.16.2.160

172.16

2 . 160

172.16.3.150

New Routing Table


Network
Interface

SubnetHost
Addressing
172.16.0.0

E0

172.16.0.0

E1

Network

172.16.2.200

172.16.3.5
172.16.3.1
E1
E0
172.16.2.1

172.16.2.2

172.16.3.100

172.16.2.160

172.16

172.16.3.150

160

New Routing Table


Network
Interface

Subnet
Addressing
172.16.2.0
Subnet Host

E0

172.16.3.0

E1

Network

Network
IP
Address

172

Host

16

Network
Default
Subnet
Mask

8-bit
Subnet
Mask

255

0
Host

255

11111111
11111111
00000000
00000000
Also written as /16 where 16 represents the number of 1s
in the mask.
Network
Subnet
Host

255

255

255

Subnet
Mask
Also written as /24 where 24 represents the number of 1s
in the mask.

Decimal Equivalents of Bit


Patterns
128 64

32

16

128

192

224

240

248

252

254

255

Subnet Mask without Subnets


Network

Host

172.16.2.160

10101100

00010000

00000010

10100000

255.255.0.0

11111111

11111111

00000000

00000000

10101100

00010000

00000000

00000000

172

16

Network
Number

Subnets not in usethe default

Subnet Mask with Subnets


Network
172.16.2.160

Host

10101100

00010000

00000010

10100000

11111111

11111111

11111111

00000000

10101100

00010000

00000010

00000000

172

16

128
192
224
240
248
252
254
255

255.255.255.0

Subnet

Network
Number

Network number extended by eight bits

Subnet Mask with Subnets


(cont.)

255.255.255.192

Network
Number

Host

10101100

00010000

00000010

10100000

11111111

11111111

11111111

11000000

10101100

00010000

00000010

10000000
128
192
224
240
248
252
254
255

172.16.2.160

Subnet

128
192
224
240
248
252
254
255

Network

172

16

128

Network number extended by ten bits

Address

Subnet Mask

172.16.2.10

255.255.255.0

10.6.24.20

255.255.240.0

10.30.36.12

255.255.255.0

Class

Subnet Mask Exercise

Subnet

Address

Subnet Mask

Class

Subnet

172.16.2.10

255.255.255.0

172.16.2.0

10.6.24.20

255.255.240.0

10.6.16.0

10.30.36.12

255.255.255.0

10.30.36.0

Subnet Mask Exercise Answers

172.16.3.0

172.16.4.0

172.16.1.0
172.16.2.0

172.16.3.255
(Directed broadcast)
255.255.255.255
(Local network broadcast)

Broadcast Addresses
172.16.255.255
(All subnets broadcast)

Addressing Summary Example

172.16.2.160
255.255.255.192

172

16

10101100

00010000

160

00000010 10100000 Host

Mask
Subnet 4
Broadcast
First
Last

Addressing Summary Example

172.16.2.160
255.255.255.192

172

16

10101100

00010000

11111111

11111111

160

00000010 10100000 Host

11111111 11000000 Mask 2


Subnet
Broadcast
First
Last

Addressing Summary Example


172

16

160
3

172.16.2.160
255.255.255.192

10101100

00010000

11111111

11111111

00000010 10100000 Host

11111111 11000000 Mask 2


Subnet
Broadcast
First
Last

Addressing Summary Example


172

16

160
3

172.16.2.160
255.255.255.192

10101100

00010000

11111111

11111111

00000010 10100000 Host

11111111 11000000 Mask 2


10000000 Subnet 4
Broadcast
First
Last

Addressing Summary Example


172

16

160
3

172.16.2.160
255.255.255.192

10101100

00010000

11111111

11111111

00000010 10100000 Host

11111111 11000000 Mask 2


10000000 Subnet 4
10111111 Broadcast
5
First
Last

Addressing Summary Example


172

16

160
3

172.16.2.160
255.255.255.192

10101100

00010000

11111111

11111111

00000010 10100000 Host

11111111 11000000 Mask 2


10000000 Subnet 4
10111111 Broadcast
5
10000001 First
Last

Addressing Summary Example


172

16

160
3

172.16.2.160
255.255.255.192

10101100

00010000

11111111

11111111

00000010 10100000 Host

11111111 11000000 Mask 2


10000000 Subnet 4
10111111 Broadcast
5
10000001 First

10111110 Last

Addressing Summary Example


172

16

160
3

172.16.2.160
255.255.255.192

10101100

00010000

00000010 10100000 Host

11111111

11111111

11111111 11000000 Mask 2

10101100

00010000

00000010 10000000 Subnet 4

10101100

00010000

00000010 10111111 Broadcast

10101100

00010000

5
00000010 10000001 First

10101100

00010000

00000010 10111110 Last

Addressing Summary
Example
172

16

160
3

10101100

00010000

255.255.255.192 11111111
8
9
172.16.2.128
10101100

11111111

11111111 11000000 Mask 2

00010000

00000010 10000000 Subnet 4

10101100

00010000

00000010 10111111 Broadcast


6
7

172.16.2.160

172.16.2.191

00000010 10100000 Host

172.16.2.129

10101100

00010000

5
00000010 10000001 First

172.16.2.190

10101100

00010000

00000010 10111110 Last

Class B Subnet Example


IP Host Address: 172.16.2.121
Subnet Mask: 255.255.255.0
Network

Network

Subnet

Host

172.16.2.121: 10101100

00010000

00000010

01111001

255.255.255.0: 11111111

11111111

11111111

00000000

Subnet: 10101100

00010000

00000010

00000000

Broadcast: 10101100

00010000

00000010

11111111

Subnet Address = 172.16.2.0


Host Addresses = 172.16.2.1172.16.2.254
Broadcast Address = 172.16.2.255
Eight bits of subnetting

20 subnets
5 hosts per subnet
Class C address:
192.168.5.0
192.168.5.16
Other
subnets

Subnet Planning
192.168.5.32

192.168.5.48

Class C Subnet Planning


Example
IP Host Address: 192.168.5.121
Subnet Mask: 255.255.255.248
Network

Network

Network Subnet Host

192.168.5.121: 11000000

10101000

00000101

01111001

255.255.255.248: 11111111

11111111

11111111

11111000

Subnet: 11000000
Broadcast: 11000000

10101000

00000101

01111000

10101000

00000101

01111111

Subnet Address = 192.168.5.120


Host Addresses = 192.168.5.121192.168.5.126
Broadcast Address = 192.168.5.127
Five Bits of Subnetting

Broadcast Addresses Exercise

Address

Subnet Mask

201.222.10.60

255.255.255.248

15.16.193.6

255.255.248.0

128.16.32.13

255.255.255.252

153.50.6.27

255.255.255.128

Class

Subnet

Broadcast

Broadcast Addresses Exercise


Answers

Address

Subnet Mask

201.222.10.60 255.255.255.248

Class

Subnet

Broadcast

201.222.10.56

201.222.10.63

15.16.193.6

255.255.248.0

15.16.192.0

15.16.199.255

128.16.32.13

255.255.255.252

128.16.32.12

128.16.32.15

153.50.6.27

255.255.255.128

153.50.6.0

153.50.6.127

Switch(config)#ip address ip-address subnet-mask

Assigns an address and subnet mask


Starts IP processing on a switch
Switch(config)#ip default-gateway ip-address

SpecifiesIP
a default
gateway
Switch
Address
Configuration

Router(config-if)#ip address ip-address subnet-mask

Assigns an address and subnet mask


Starts IP processing on a router interface

Router IP Address
Configuration

Router#term ip netmask-format {bitcount|


decimal | hexadecimal}

Sets display format of network mask for


current session
Router(config-line)#ip netmask-format
{bitcount | decimal | hexadecimal}

Router IP Address
Sets format of network mask for a
Configuration
specific line

Router(config)#ip host name [tcp-port-number]


address [address]

Defines static host name to IP address


mapping
ip host Norine 172.16.3.1
ip host Roger 172.16.4.3

192.168.3.1

Hosts/interfaces selectable by name or IP


Router
address IP Host Names

DNS Server

Router(config)#ip name-server server-address1


address1
[[server-address2]...[server-address6]]

Specifies one or more hosts that


supply
Router
Name
Server
host name
to logical
address
Configuration
resolution

Router(config)#ip domain-lookup
Router(config)#end
Router#pat
Translating pat"...domain server (255.255.255.255)
% Unknown command or computer name, or unable to find computer address
Router#config t
Router(config)#no ip domain-lookup
Router(config)#end
Router#pat
Translating pat"
% Unknown command or computer name, or unable to find computer address
Router#

Router Name System


DNS enabled by default

Router#show hosts
Default domain is not set
Name/address lookup uses domain service
Name servers are 255.255.255.255
Host
Norine
Roger
Frank

Flags
Age Type
(perm, OK) 0
IP
(perm, OK) 0
IP
(perm, OK) 0
IP

Address(es)
172.16.100.100
172.16.100.101
172.16.200.200

Bob

(perm, OK)

172.16.200.201

IP

Shows theHost
host table
Router Display
Names

Fast
E0/0
ISL
VLAN 1

Router on
a stick

VLAN 2
Application

10.1.1.2

10.2.2.2

TCP
IP
ISL
Ethernet

Network layer devices combine multiple broadcast domains

VLAN to VLAN Overview

FastEthernet 0/0
FastEthernet 0/0.1
FastEthernet 0/0.2
FastEthernet 0/0.3

Physical interfaces can be divided into


multiple subinterfaces

Dividing a Physical Interface into


Subinterfaces

Router(config-subif)#encapsulation isl domain

Enables ISL on a subinterface

ISL Encapsulation

Fast
E0/0
ISL
VLAN 1

10.1.1.2

VLAN 2

10.2.2.2

interface fastethernet 0/0


no ip address
!
interface fastethernet 0/0.1
ip address 10.1.1.1 255.255.255.0
encapsulation isl 1
interface fastethernet 0/0.2
ip address 10.2.2.1 255.255.255.0
encapsulation isl 2

Routing Between VLANs

ISL

S0
172.16.1.1

VLAN 1

10.1.1.2

VLAN 2

172.16.1.2

10.2.2.2

interface Serial0
ip address 172.16.1.1 255.255.255.0

Routing Between WANS

Application
TCP
IP
HDLC
Serial

Visual Objective
SUBNET
10.1.1.0
10.2.2.0
10.3.3.0
10.4.4.0
10.5.5.0
10.6.6.0
10.7.7.0
10.8.8.0
10.9.9.0
10.10.10.0
10.11.11.0
10.12.12.0
10.13.13.0

VLAN
1
2
3
4
5
6
7
8
9
10
11
12
13

POD
wg_ro_x, wg_sw_x, core_sw_a, core_sw_b
wg_pc_a, core_server, core_ro
wg_pc_b, core_server, core_ro
wg_pc_c, core_server, core_ro
wg_pc_d, core_server, core_ro
wg_pc_e, core_server, core_ro
wg_pc_f, core_server, core_ro
wg_pc_g, core_server, core_ro
wg_pc_h, core_server, core_ro
wg_pc_i, core_server, core_ro
wg_pc_j, core_server, core_ro
wg_pc_k, core_server, core_ro
wg_pc_l, core_server, core_ro

VLAN2

fa0/26
e0/1
(port A)

VLAN13

wg_pc_l
10.13.13.12
fa0/27
(port B)

wg_sw_l
10.1.1.120

fa0/0
fa0/23

...
fa0/1

fa0/24
core_ server

fa0/27
(port B)

wg_sw_a
10.1.1.10

fa0/26 e0/1
(port A)
Core_ro

wg_pc_a
10.2.2.12

fa0/12
fa0/13

core_sw_a fa0/14
10.1.1.2

fa0/12

fa0/1

fa0/13
fa0/14 core_sw_b
10.1.1.4

Summary
After completing this chapter, you should
be able to perform the following tasks:
Identify the TCP/IP protocol stack and the
functions of each layer
Separate an IP address into its subcomponents:
the network, subnet, and host portions
Configure IP addresses on Cisco router and
switch interfaces
Interconnect VLANs using a layer three device
such as a router on a stick

Review Questions
1. What is the difference between the TCP and
UDP transport layer protocols?
2. Given a host with IP address, 192.168.20.1
255.255.255.240, how many other hosts can
you have in that network?
3. What is required to interconnect separate
VLANs?

You might also like