CS 31204: Computer Networks – The Routers
INDIAN INSTITUTE OF TECHNOLOGY
KHARAGPUR
Department of Computer Science and Engineering
Abhijnan Chakraborty
The Life of a Router
Indian Institute of Technology Kharagpur
Evolution of Router Architecture
Indian Institute of Technology Kharagpur
Basic Architectural Components of a Router
Processor
Memory
CPU
Interconnection Network
Interface card
Interface card
Interface card
Interface card
Indian Institute of Technology Kharagpur
Router Hardware
Control Plane
Data Plane
Routing Table Construction
Forwarding
Indian Institute of Technology Kharagpur
Router Internals
Indian Institute of Technology Kharagpur
Slotted Chassis – The Physical Infrastructure for Routers
Indian Institute of Technology Kharagpur
Functional Components
Routing Functions
IP Forwarding
| Routing Table | |
| | |
| |
Table
Update
Route Lookup
Control
Datapath
Per Packet Processing
Indian Institute of Technology Kharagpur
Control Plane in a Router
Indian Institute of Technology Kharagpur
Routing Functions
Indian Institute of Technology Kharagpur
Data Plane of a Router
Indian Institute of Technology Kharagpur
IP Forwarding
Indian Institute of Technology Kharagpur
Per Packet Processing – Basic Architectural Components
Routing Table
Indian Institute of Technology Kharagpur
Forwarding Information Base (FIB)
FIB Lookup
Route Lookup
Forward Packet
Input Interface
Output
Interface
PACKET_IN
PACKET_OUT
Routing Protocols
FIB HIT
FIB MISS
Indian Institute of Technology Kharagpur
Difference between RIB and FIB
Indian Institute of Technology Kharagpur
RIB and FIB
172.16.1.0 | 255.255.255.0 | 172.16.1.2 | Eth0 |
172.16.2.0 | 255.255.255.0 | 172.16.2.2 | Eth1 |
10.3.0.0 | 255.255.0.0 | 10.3.1.1 | Eth3 |
10.9.0.0 | 255.255.0.0 | 10.9.1.1 | Eth4 |
172.16.2.0 | 255.255.255.0 | 172.16.2.2 | Eth1 |
10.3.0.0 | 255.255.0.0 | 10.3.1.1 | Eth3 |
10.9.0.0 | 255.255.0.0 | 10.9.1.1 | Eth4 |
172.16.1.0 | 255.255.255.0 | 172.16.1.2 | Eth0 |
10.3.0.0 | 255.255.0.0 | 10.3.1.1 | Eth3 |
The RIB
FIB at Eth0
FIB at Eth1
Indian Institute of Technology Kharagpur
RIB Feeds FIB
Image source: Cisco
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
1
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
1
1
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
1
1
1
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
1
1
1
1
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
1
1
1
1
0
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
1
1
1
1
0
1
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
1
1
1
1
0
1
0
0
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
1
1
1
1
0
1
0
0
1
1
1
0
0
0
Indian Institute of Technology Kharagpur
Basic TCAM Architecture
Let us try to match 1010
1
1
1
1
0
1
0
0
1
1
1
0
0
0
Indian Institute of Technology Kharagpur
Software Defined Networking
Software-defined networking (SDN) is a network framework which involves in separating a network's control functions from its data forwarding functions, centralizing its intelligence, and abstracting its underlying architecture from applications and services.
Indian Institute of Technology Kharagpur
Control and Data Plane
Indian Institute of Technology Kharagpur
Control and Data Plane
Indian Institute of Technology Kharagpur
These two modules are “baked” in
Unchangeable
What does separating control and data plane mean?
Indian Institute of Technology Kharagpur
But what if they were separate?
What does separating control and data plane mean?
Indian Institute of Technology Kharagpur
Advantages:
But what if they were separate?
What does separating control and data plane mean?
Indian Institute of Technology Kharagpur
Advantages:
But what if they were separate?
How Does SDN Work
Indian Institute of Technology Kharagpur
Zodiac FX - A Tiny SDN Switch
h1
h3
s1
c0
SDN Controller
h1
h3
s1
c0
SDN Controller
Let us now see a scenario where a packet wants to go from h1 to h3 in an SDN environment
Forwarding Request from h1 to s1
h1
h3
s1
c0
SRC - h1
DST - h3
?
Table MISS
Table Miss at s1
h1
h3
s1
c0
No rule is there for h1->h3 at the beginning, so a FIB miss at S1
Till then, the packet is buffered at s1
Packet-IN
Packet-OUT
Packet-IN to Controller
h1
h3
s1
c0
?
Table MISS
The controller generates the rule based on a software program (the routing logic)
Flow Rule Set at s1…
h1
h3
s1
c0
Rule 1
The rule is installed at the FIB of S1
All Future Packets from h1->h3
h1
h3
s1
c0
Rule 1
The buffered packet is forwarded based on that rule
Buffered Packet Forwarded to h3…
h1
h3
s1
c0
Rule 1
All the future packets from h1->h3 follow the same rule
The SDN Architecture
Image source: qmonnet.github.io
Indian Institute of Technology Kharagpur
Traditional Network vs SDN
Image source: http://opensourceforu.com/
Indian Institute of Technology Kharagpur