View
245
Download
3
Category
Tags:
Preview:
Citation preview
Design and Implementation of Application Based Routing
Using OpenFlow
Othman Othman M.M. , Koji Okamura Kyushu University
1
Outline:1. Introduction.2. Motivation.3. OpenFlow Overview.4. System Overview.5. Requesting Content.6. Usage Scenario.7. Implementation.8. Conclusion.9. Q&A.
2
1- Introduction:Internet plays many roles, one of them is
delivering content.Relying mainly on the Client / Server model and
Peer to Peer models.
Divers contents: audio, video, large files.Number of users increases.Bandwidth for users increases.Traffic increases by a factor of 1.7 / year.
3
2- Motivation:This created a kind of imbalance:
Clients Servermore clients
more bandwidthdiverse content
ClientsServermore clients
more bandwidthdiverse content
Number of client increases.
Also the bandwidth for the clients increases.
Client side have more and more demands.
Servers have to implement solutions to keep up with this increase.
More efforts on the server side.
4
2- Motivation:May solutions were put to overcome this :
Increasing server bandwidth, Anycast , Peer to Peer and many others.
Combining the strength points of many technologies:Anycast: decision making in network.Peer to Peer: clients contribution.Content named networking: content addressing.
To create a more dynamic, with less overhead and more efficient usage of the bandwidth in the whole network.
5
3- OpenFlow Overview:Separates routing decision making (in controller)
and the forwarding (in the switch or router).
Matching in the switch or router is done according to Layer 2, 3 and VLAN headers.
Figure 1: OpenFlow switch (ref: Nick McKeown et al, “OpenFlow: enabling innovation in campus networks”)
6
3- OpenFlow Overview:OpenFlow relies on the Flow-table, which is contains:
Header fields are the ones the incoming packet is matched against:
The actions can be : forwarding the packet to physical port, enqueue the packet in a physical port’s queue, dropping the packet or modifying incoming packet’s header fields
Figure 2
Figure 1
7
4- System Overview:Content Server:
supports content id.send redirection request to the redirection manager.Support the modified content request to serve contents
to clients.Redirection Manager:
Manage and organize redirection requests between multiple redirection managers.
Creating redirections and sending them to the OpenFlow switches or routers.Conte
nt Server
client
client
Redirection Manager
Redirection Manager
Autonomous System 1Autonomous System 2
8
4- System Overview:OpenFlow router or switch:
caries out the redirection created by the redirection manager.Match incoming packets for content id and server IP address.If match change the destination IP to be that of other client.
User Client: contribute by providing content to other user clients.support the modified content request.
Content
Server
client
client
Redirection Manager
Redirection Manager
Autonomous System 1Autonomous System 2
9
4- System Overview:
Redirection Manager:Functionality:
Receive the redirection request form the content server.
If the redirections are in the same AS make redirections and send them to the OpenFlow routers or switches.
And if in different AS send the redirection request to the appropriate redirection manager.
Receive redirection
request
Lookup AS numbers for each current user client’s IP address in the
redirection request
Generate copies of the redirection request each
designated for one AS
Is the copy for this AS
Process it by the Redirection
controller
Send it to the redirection
manager of the AS to which this copy is designated to
NoYes
10
5- Requesting Content:Two phases:Phase 1:
Client browses to find desired content.Client sends the request (e.g. HTTP GET)Server responds with content ID, to be sued in
phase 2 to get the file.
Phase 2:Uses 3 way handshake.Requires modification to the TCP.
11
5- Requesting Content:Phase 2: TCP headers modifications:
Adding the content id: will be used to redirect the packet by the OpenFlow router or switch.
Upload capabilities: used by the redirection system to make the number of redirections according to it.
IP address: to tell the other part of the self IP address.Bit offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0
32
64
96
128
160
192
224
256
Content id
Checksum Urgent Pointer
Options
Source Port Destination Port
Sequence Number
Acknowledgement Number
Data Offset
Reserved Flags Window Size
IP address
Upload capabilites
12
5- Requesting Content:Phase 2: 3 way
handshake:Start with SYN packet
that is sent to the server.
Using OpenFlow and the content id packet will be redirected to an other client (Current Client).
Current client acknowledge to the SYN with its IP in packet.
New client starts to use the Current client’s IP address in the session.
New ClientOpenFlo
wrouter
Current ClientDestination: serverIP :SYN Destination:
CurrentClientIP :SYN
SYN/ACKWith CurrentClientIP
Destination: CurrentClientIP :SYN
13
6- Usage Scenario:
Content Server
Client A
Redirection Manager
Client B
1
23
10.10.10.1
192.168.10.1192.168.20.1
if Destination IP: 10.10.10.1 & Content id: 12345Change : Destination IP: 192.168.10.1
14
6- Usage Scenario:This figure shows the initiation of the redirection :Step 1: the server sends the redirection request,
which includes the contents ids and the IP addresses of the clients downloading those files along with their uploading capabilities.Step 2: the redirection manager makes the OpenFlow redirections and sends them to the OpenFlow switch or router.
Step 3: OpenFlow switch or router stores the redirections.
15
6- Usage Scenario:This figure shows
the first phase of the content request.
Step 1: client B requests the content id.
Step 2: server sends the content id to the client B.
Content Server
Client A
Redirection Manager
Client B
1
2
10.10.10.1
192.168.20.1192.168.10.1
Content id: 12345
16
6- Usage Scenario:
Content
Server
Client A
Redirection Manager
Client B
1
2
3
Destination IP: 192.168.10.1Content id: 12345
10.10.10.1
192.168.10.1192.168.20.1
Destination IP: 10.10.10.1Content id: 12345
17
6- Usage Scenario:This figure shows the second phase of requesting
content:Step 1:
sending the first packet in the hand shake.Contains the content id.
Step 2:Redirected by the OpenFlow using the content id and
destination IP.
Step 3:Client A acknowledge to the packet sent in step 1.File transfer starts between client A and client B.
18
7- Implementation:Currently we are building redirection system,
modified content server, modified clients and using the reference OpenFlow implementation.
First, Redirection system with one redirection manager.
Second, duplicate redirection systems each with its own redirection manager.
Aiming to measure: communication cost, response time, efficiency in different load patterns and others.
And comparing those values to other solutions like the anycast and peer to peer.
19
8- Conclusion:Our design makes use of OpenFlow to perform
the redirection of packets along with using content id in addition to the destination IP to make the redirection decision.
And to enable that we designed a two phase content request, for getting the content id and using it.
The goal is creating an application routing that is more flexible and more efficient in using the overall bandwidth of the network.
20
4- System Overview:
Redirection Manager:IP prefix locator:
IP prefix AS number DB: maps IP address to the AS that contains the address in it.
Partial BGP implementation: to store the mapping in the IP prefix AS number DB.
Redirection Manager
Redirection
Controller
IP prefix locatorIP prefix –
AS number
DB
Partial BGP
implement-ation
Redirection analyzer
Redirection Controller: is an OpenFlow
controller, to create the redirections and send the redirections to the OpenFlow switches or routers. 23
4- System Overview:
Redirection Manager:Redirection Analyzer:
Receive the redirection request form the content server.
If the redirections are in the same AS make the redirection by the Redirection Controller.
And if in different AS send the redirection request to the appropriate redirection manager.
Receive redirection
request
Lookup AS numbers for each current user client’s IP address in the
redirection request
Generate copies of the redirection request each
designated for one AS
Is the copy for this AS
Process it by the Redirection
controller
Send it to the redirection
manager of the AS to which this copy is designated to
NoYes
24
Recommended