Escolar Documentos
Profissional Documentos
Cultura Documentos
BOOTCAMP
FORWARDING
FORWARDING
ARCHITECTURE
ARCHITECTURE
AGENDA
Introduction
Catalyst 6500 Architecture Review
Unicast Multi-Layer Switching
Multicast Multi-Layer Switching
Load-Balancing
DEST MAC
A Layer 2 Switch
uses the Destination
MAC Address to
make forwarding
decisions
A Layer 3 Router
uses the Destination
IP Address to
make forwarding
decisions
SRC MAC
DATA
LEN/TYPE
FCS
IPv4 Header
Version
Version
IHL
Type
IHL
Type of
of Service
Service
Identification
Identification
Time
Protocol
Time to
to Live
Live (TTL)
(TTL)
Protocol
Flags
Flags
SOURCE
SOURCE IP
IP
DESTINATION
DESTINATION IP
IP
Options
Options
DATA
DATA (Payload)
(Payload)
Length
Length
Fragment
Fragment Offset
Offset
Header
Header Checksum
Checksum
D
A
B
VLAN 10
SUBNET X
SUBNET Z
A host can talk to any host at Layer 2 within the same VLAN (or Broadcast Domain)
without requiring a Layer 3 Switch (or router) to forward the data
A
Layer 2 operation
A <=> B
D <=> E
A <=> C
D <=> F
B <=> C
E <=> F
VLAN 10
Layer 3 operation
A/B/C <=> D D/E/F <=> A
A/B/C <=> E D/E/F <=> B
A/B/C <=> F D/E/F <=> C
VLAN 20
44
11
22
33
55
66
E
F
MAC Table
MAC
A
B
C
D
E
F
Port
1
2
3
4
5
6
CAM
1
2
3
A
B
C
2
4
1
HIT!!!
DST
DST MAC
MAC == C
C
For MAC
addresses that
are FOUND in the
MAC Table, the
switch will
forward the
packet to ONLY
that host
CAM
1
2
3
A
B
C
2
4
1
MISS!!!
DST
DST MAC
MAC == D
D
For MAC
addresses that are
NOT found in the
MAC Table, the
switch will FLOOD
that frame to ALL
ports in the same
VLAN
11
22
33
22
44
55
11
A
44
IP: 10.1.1.2/24
MAC: A1
VLAN 10
33
55
B
IP: 10.1.1.3/24
MAC: B1
VLAN 10
11
22
33
A sends to Switch
DMAC:C1 / SMAC:A1
DIP: 10.5.1.2 / SIP: 10.1.1.2
IP: 10.3.1.2/24
MAC: D1
33
22
11
IP: 10.3.1.1/24
MAC: C2
D
IP: 10.5.1.1/24
MAC: D2
IP: 10.1.1.2/24
MAC: A1
VLAN 10
IP: 10.5.1.2/24
MAC: F2
IP: 10.1.1.1/24
MAC: C1
VLAN 10
44
55
IP: 10.3.1.1/24
MAC: C2
44
55
Packet forwarded...
DMAC:D1 / SMAC:C2
DIP: 10.5.1.2 / SIP: 10.1.1.2
66
77
66
77
IP: 10.5.1.1/24
MAC: D2
IP: 10.1.1.2/24
MAC: A1
VLAN 10
IP: 10.5.1.2/24
MAC: F2
ARCHITECTURE REVIEW
CATALYST 6500
ARCHITECTURE
REVIEW
Agenda Topics
The 32Gbps (16Gbps Full-Duplex) Bus is a legacy backplane that originated with
the first release of the Catalyst 6500 back in 1999.
Supervisor
frame
frame Data
Data (and
(and // or
or Headers)
Headers) is
is transferred
transferred between
between
modules
modules and
and the
the Supervisor
Supervisor
RBUS - Results Bus: Path
Path over
over which
which
the
the Results
Results of
of forwarding
forwarding lookups
lookups by
by the
the Supervisor
Supervisor
are
are passed
passed back
back to
to modules
modules
DBUS
RBUS
Linecard
Linecard
Linecard
Catalyst 6500
The Supervisor 720 Supervisors
& Supervisor 2T support a Switch Fabric which offers each
module 1 or more dedicatedSwitch
communication
channels to every other module...
Fabric
Linecard
Slot #9
Linecard
Slot #1
Linecard
Slot #7
SWITCH
SWITCH
FABRIC
FABRIC
Linecard
Slot #2
Data
Flows
Linecard
Slot #8
Linecard
Slot #3
Linecard
Slot #4
Linecard
Slot #6
Supervisor
Slot #5
LCP
LCP
LCP
SLCP
SLCP
ACTIVE
SP/RP
Standby
SP/RP
LCP
LCP
LCP
LCP
EOBC
The Ethernet Out-of-Band Channel
is a 100MB (Half-Duplex) Bus
Each module has a unique EOBC (ethernet) Driver
(similar to a PC NIC), which transmits & receives
frames over the EOBC
IPC/ICC & SCP are like TCP/UDP (L4 sessioncontrol) for various IOS applications
The EOBC uses an internal IP (L3) & MAC (L2)
address scheme, to forward between modules
ICC SHIM
RPC
ICC
IPC
SCP
EOBC Driver
EOBC
L2 Bridging based on
(mac,vlan) and L3 Routing
between VLANs
Need to logically separate all
traffic on a per - VLAN basis
The Total 4096 VLANs are
shared between L2 & L3 ports
VLANs are allocated for all L3
interfaces & other cases:
(Multicast, NDE, CoPP, etc.)
Use show vlan internal
usage
PFC or EARL?
What are these & what do they do?
The Route Switching Module (RSM) & later the Route Switch Feature Card (RSFC)
allowed the Catalyst to perform both L2 switching & L3 routing
3.
With the Multi-Layer Switching (MLS) & Cisco Express Forwarding (CEF) software
features, we were able to perform L2 switching & L3 routing in hardware tables
4.
The Catalyst 5500 RSFC along with the Netflow Feature Card (NFFC) later became
the Multi-layer Switch Feature Card (MSFC) & Policy-Feature Card (PFC)...
Multicast
Expansion Table
1GE / 10GE
Uplinks
MSFC3 Complex
contains both the
SP & RP CPUs
contains QoS
ACL entries
NetFlow table
for stats &
features
MSFC 3
Flash
Flash
DRAM
DRAM
RP
CPU
1 Gbps
Flash
Flash
SP
CPU
1 Gbps
DRAM
DRAM
NetFlow
ADJ
contains
rewrite info
FIB contains
IPv4/IPv6 prefixes
and MPLS entries
Hardware for ACL
TCAM counters
QoS
TCAM
Adj
TCAM
FIB
TCAM
Port ASIC
ACL
TCAM
L3/4 Engine
ACE
ACE
Counte
rr
ACL TCAM
contains
security and
feature ACL
entries
MET
Switch
Switch Fabric
Fabric
18
x
20G
18 x 20G Traces
Traces
Traces # 1 to 16
Switch Fabric
20 Gbps
EOBC
Fabric
Fabric Interface
Interface
&&
Replication
Replication Engine
Engine
DBUS
RBUS
L2 Engine
PFC3
L2 CAM (64K)
16 Gbps
Bus
L2 CAM
contains MAC
entries
Netflow TCAM
Netflow Table
Security ACL
TCAM
Netflow Statistics
Adjacency Statistics
1. Packet
arrives at
the
L2 FE ASIC Superman
Adjacency Table
A MAC Address
lookup is
performed & this
determines if its an
L2 or an L3
packet
IP Packet Parse
L2 FE (SUPERMAN)
IP Packet Parse
L2 MAC Table
Netflow TCAM
Netflow Table
Security ACL
TCAM
Netflow Statistics
Adjacency Statistics
Adjacency Table
2. Superman then
parses the IP
packet performing
CRC check
before passing the
packet over the bus
to the
L3 FE ASIC - Tycho
IP Packet Parse
2
L2 FE (SUPERMAN)
IP Packet Parse
L2 MAC Table
Netflow TCAM
Netflow Table
Security ACL
TCAM
Netflow Statistics
Adjacency Statistics
Adjacency Table
3. Tycho parses
packet for
Destination
IP address /mask or
MPLS label...
Then it prepares to
perform FIB
lookups
IP Packet Parse
L2 FE (SUPERMAN)
IP Packet Parse
L2 MAC Table
Netflow Statistics
L3 FE (TYCHO)
Security ACL
TCAM
Adjacency Table
Adjacency Statistics
IP Packet Parse
L2 FE (SUPERMAN)
IP Packet Parse
L2 MAC Table
L3 FE (TYCHO)
Netflow Table
Security ACL
TCAM
Netflow Statistics
Adjacency Statistics
Adjacency Table
IP Packet Parse
L2 FE (SUPERMAN)
IP Packet Parse
L2 MAC Table
L3 FE (TYCHO)
Netflow Table
Security ACL
TCAM
Netflow Statistics
Adjacency Statistics
6
IP Packet Parse
L2 FE (SUPERMAN)
IP Packet Parse
L2 MAC Table
Adjacency Table
6. The Adjacency
Engine performs a
lookup in
the Adjacency Table
to find the frame
Rewrite info
Lookup result is
passed to the
Rewrite process
Netflow Statistics
Adjacency Statistics
L3 FE (TYCHO)
7
Security ACL
TCAM
4
6
IP Packet Parse
L2 FE (SUPERMAN)
IP Packet Parse
L2 MAC Table
7. The Decision
Engine takes results
from FIB, Netflow,
QoS & Security
lookups and applies
Classification &
Policing to the
packet
Then adds rewrite
info
Netflow TCAM
Netflow Table
Netflow Statistics
8
Adjacency Table
Adjacency Statistics
IP Packet Parse
L2 FE (SUPERMAN)
IP Packet Parse
L2 MAC Table
8
8. The Decision
Engine updates the
Netflow & Adjacency
Statistics
Finally, the packet is
sent back to
Superman for a final
L2 lookup based on
new Destination MAC
& Outbound Port
Multicast
Expansion Table
1GE / 10GE
Uplinks
MSFC 5
Central
Management
Processor
NetFlow
2 x 1 Gbps
ADJ
TCAM
FIB
TCAM
Port ASIC
CPU
DRAM
DRAM
CL1
TCAM
LIF
MAP
CL2
TCAM
RPF
Table
L3/4 Engine
Flash
Flash
Reverse Path
Forwarding
info
MET
Switch
Switch Fabric
Fabric
26
x
40G
26 x 40G Traces
Traces
Traces # 1 to 26
Switch Fabric
40 Gbps
EOBC
Fabric
Fabric Interface
Interface
&&
Replication
Replication Engine
Engine
LIF Table
LIF Stats
PFC4
ACE
ACE
Counter
Counter
L2 Engine
L2 CAM (128K)
Hardware for
ACL TCAM
counters
L2 CAM
contains MAC
entries
DBUS
RBUS
Logical Interface
statistics
GV
GV
IF
IF
RP
RP
CL1
CL1
PO
PO
CL2
CL2
RI
RI
L2
L2 FE
FE
(EUREKA)
(EUREKA)
PL
PL
L3
L3
L3
L3 FE
FE
(LAMIRA)
(LAMIRA)
NF
NF
GV
GV
IF
IF
RP
RP
CL1
CL1
PO
PO
CL2
CL2
RI
RI
L2
L2 FE
FE
(EUREKA)
(EUREKA)
PL
PL
L3
L3
L3
L3 FE
FE
(LAMIRA)
(LAMIRA)
NF
NF
UNICAST
UNCAST MULTILAYER
FORWARDING
Agenda Topics
PFC
MAC Table
Table Port
MAC
A
B
C
D
E
F
16, 24, or
32 pages
1
2
3
4
5
6
4096
rows
MAC Table
VLAN
16, 24, or
32 Pages
MAC
A
B
C
D
E
F
0000.2222.7777 | 20
0000.1111.cccc | 10
0000.dddd.a112 | 30
Port
1
2
3
4
5
6
PFC
MAC
Hash
CAM Table
0000.bbbb.ac1c | 30
HIT!!!
MAC Table
1. Hash result identifies the starting Page and Row in MAC table
2. Lookup key (VLAN + MAC) compared to contents of indexed line on each page, sequentially
3. Destination lookup: Match returns destination interface(s), Miss results in Flood
4. Source lookup: Match updates age of matching entry, Miss installs new entry in table
4096
Rows
Routing Protocols
Software CEF
Hardware CEF
IPv4 Unicast
IPv4 Multicast
IPv6 Unicast
IPv6 Multicast
MPLS
172.20.45.1
10.1.1.100
MASK (/32)
10.1.3.0
10.1.2.0
MASK (/24)
10.1.0.0
172.16.0.0
MASK (/16)
0.0.0.0
MASK (/0)
FIB TCAM
Adjacency Table
172.20.45.1
Packet
10.1.1.100
MASK (/32)
22
Key Gen
10.1.3.0
10.1.2.0
33
Lookup Key
Load-Sharing
Hash
MASK (/24)
HIT!
10.1.0.0
172.16.0.0
MASK (/16)
0.0.0.0
MASK (/0)
FIB TCAM
44
66
55
Adjacency Table
77
MULTICAST
MULTICAST MULTILAYER
FORWARDING
Agenda Topics
Multicast is the act of forwarding a single packet that will reach multiple hosts
The Catalyst 6500 has a number of hardware resources which are used to
facilitate Multicast forwarding in hardware
Sender
Group A
Receivers Group B
Receivers Group A
Sender
Group B
RP
RP builds
builds MROUTE
MROUTE Table
Table
SP
SP downloads
downloads into
into FIB
FIB (PFC)
(PFC)
FIB
Contains
Contains the
the Multicast
Multicast CEF
CEF info
info
Also
Also does
does ECMP,
ECMP, ifif available
available
ADJACENCY
TABLE
Contains
Contains the
the Rewrite
Rewrite Information
Information
and
and Index
Index into
into MET
MET table
table
MULTICAST
EXPANSION
TABLE (MET)
Contains
Contains Output
Output Interface
Interface Lists
Lists (OIL)
(OIL)
requiring
requiring replication
replication
Maps
Maps the
the OIL
OIL replication
replication list
list to
to the
the
physical
physical ports
ports
SP DRAM
RP Flash
SP Flash
RP CPU
maintains
state,
downloads
tables
RP CPU
(MSFC)
SP CPU
SP CPU programs
hardware, performs
IGMP snooping
PORT
ASIC
Counters
Layer 3 Engine
CAM
ACL TCAM
MET
Adjacency
Layer 2 Engine
FIB TCAM
Fabric Interface
and
Replication Engine
Netflow Table
Switch Fabric
L2 CAM contains
DBUS
Multicast MAC
RBUS
EOBC entries
Netflow TCAM
Fabric
Channels
MET
contains
OILs for
replication
QoS TCAM
Replication
Engine
replicates
packets to OILs
ADJ contains
rewrite info
and MET
index
36 bits
Forwarding Engine
Replication Engine
256 bits
172.21.4.19, 225.3.3.3
10.1.44.199, 240.9.8.1
10.1.1.1, 239.1.1.1
RW MACs, Encap,
MET Index
RW MACs, Encap,
MET Index
*, 234.0.1.1
MASK BiDir Entries
RPF VLAN,
ADJ Pointer
10.1.1.0, 224.0.0.0
MASK IF 224/4 Entries
RW MACs, Encap,
MET Index
32 bits
RW MACs, Encap,
MET Index
OIL #1
OIL #2
OIL #3
OIL #4
*, 229.0.1.1
MASK PIM-SM (*,G) /32
Result Memory
FIB TCAM
Adjacency Table
MET
LOAD-BALANCING
LOAD-BALANCING
Agenda Topics
Up
Up to
to 88 Physical
Physical Links
Links
can
can be
be bundled
bundled together,
together,
to
to make
make them
them logically
logically
Look
Look && Work
Work like
like
11 single
single Larger
Larger link
link
Why do we
support 8
Etherchannel
links?
We use a 3-bit (0-7) RBH (Results Bundle Hash) field in DBUS header, along with the
bndl_select register in the port ASIC, to decide which link should forward a given frame...
Bit Result
HASH
Bit 7
Bit 6
Bit 5
Bit 4
Bt 3
Bit 2
Bit 1
Bit 0
2 Links
Link 1
Link 1
Link 1
Link 1
Link 2
Link 2
Link 2
Link 2
3 Links
Link 1
Link 1
Link 1
Link 2
Link 2
Link 2
Link 3
Link 3
4 Links
Link 1
Link 1
Link 2
Link 2
Link 3
Link 3
Link 4
Link 4
5 Links
Link 1
Link 1
Link 2
Link 2
Link 3
Link 3
Link 4
Link 5
6 Links
Link 1
Link 1
Link 2
Link 2
Link 3
Link 4
Link 5
Link 6
7 Links
Link 1
Link 1
Link 2
Link 3
Link 4
Link 5
Link 6
Link 7
8 Links
Link 1
Link 2
Link 3
Link 4
Link 5
Link 6
Link 7
Link 8
Example:
Example:
Hash result = 0x2 for 6 links
Hash result = 0x4 for 3 links
Result link is link 4
Result link is link 2
G3/1
G3/2
G4/1
G4/2
6500#show
6500#show mls
mls cef
cef lookup
lookup 10.10.10.1
10.10.10.1
Codes:
Codes:
Index
Index
1874
1874
decap
decap -- Decapsulation,
Decapsulation, ++ -- Push
Push Label
Label
Prefix
Adjacency
Prefix
Adjacency
10.10.10.0/24
Gi3/1,
0000.0000.0013
10.10.10.0/24
Gi3/1,
0000.0000.0013
Gi3/2,
0000.0000.0014
Gi3/2,
0000.0000.0014
Gi4/1,
0000.0000.0015
Gi4/1,
0000.0000.0015
Gi4/2,
0000.0000.0016
Gi4/2,
0000.0000.0016
B
10.10.10.1
In the FIB, a matching prefix is found - this points to an Adjacency pointer that contains the
number of paths for that Adjacency Index
A hash is computed returning a result (an index offset) into the Adjacency table that points to the
rewrite info and the outbound interface
Prefix Entries
10.7.1.0
10.5.1.0
10.3.2.0
10.2.6.0
10.1.5.0
11.1.1.0
Mask /24
(TCAM)
Results Memory
Adjacency Entry #1
Adj Index: 15 / Number of paths: 3
Adjacency Entry #3
Adjacency Entry #4
Adjacency Entry #5
Adjacency Entry #6
Adjacency Entry #7
FIB
(SSRAM)
Source IP +
Destination IP +
L4 ports =
Unique ID
Load-Balancing
Hash
Result / Next Hop
Adj Index Offset: 0
Adj Index Offset: 1
Adj Index Offset: 2
Adjacency Table
IP: 10.5.3.2
AA
IP: 10.22.8.17
CC
BB