24
Design and Implementation of Application Based Routing Using OpenFlow Othman Othman M.M. , Koji Okamura Kyushu University 1

Othman Othman M.M., Koji Okamura Kyushu University 1

Embed Size (px)

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

9- Q&A:Thank you for listening.

21

Backup:

22

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