29
Juniper SDN Throwdown Group 4 - Clueless Kalgi Bhatt | Keyur Golani | Kunal Goswami

Presentation - Juniper SDN Throwdown

Embed Size (px)

Citation preview

Page 1: Presentation - Juniper SDN Throwdown

Juniper SDN Throwdown

Group 4 - CluelessKalgi Bhatt | Keyur Golani | Kunal Goswami

Page 2: Presentation - Juniper SDN Throwdown

IntroductionProblem at a glanceIn a volatile network, among frequently failing links, get the data across the network reliably and using minimal resources.

One Statement Solution On fail or heal event of any link smartly calculate the next best path and set it as ERO.

Page 3: Presentation - Juniper SDN Throwdown

The SolutionThe solution basically works in 4 steps:1. Monitor link failure / heal events.

2. On each event check if the existing ERO is affected.

3. If needed calculate next best path.

4. Set ERO.

No BrainerBy Default

Smart Stuff Happens Here!

Save the recently set ERO to make least REST calls

Page 4: Presentation - Juniper SDN Throwdown

How Stuff Works?

Page 5: Presentation - Juniper SDN Throwdown

Authenticate

One REST Call

Page 6: Presentation - Juniper SDN Throwdown

Authenticate

Topology Info

One REST CallTwo REST Calls

✓✓

Page 7: Presentation - Juniper SDN Throwdown

Authenticate

Topology Info

Other Topology InfoGraphLatenciesPhysical Distance

One REST CallTwo REST Calls

One REST CallTwo Redis

Store Calls

✓✓

✓ ✓

Redis

Page 8: Presentation - Juniper SDN Throwdown

Authenticate

Topology Info

Other Topology InfoGraphLatenciesPhysical Distance

Cost All paths + costs

One REST CallTwo REST Calls

One REST CallTwo Redis

Store Calls

✓✓

✓ ✓

Redis

Page 9: Presentation - Juniper SDN Throwdown

Authenticate

Topology Info

Other Topology InfoGraphLatenciesPhysical Distance

Cost All paths + costs

All SetOne REST

CallTwo REST Calls

One REST CallTwo Redis

Store Calls

✓✓

✓ ✓

Redis

Page 10: Presentation - Juniper SDN Throwdown

Authenticate

Topology Info

Other Topology InfoGraphLatenciesPhysical Distance

Cost All paths + costs

All SetOne REST

CallTwo REST Calls

One REST CallTwo Redis

Store Calls

✓✓

✓ ✓The previous steps can

happen once every 5 hoursOr once every 12 hoursOr even once every day

depending on the application

Redis

Page 11: Presentation - Juniper SDN Throwdown

Redis Channel

Page 12: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Page 13: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Set “Link = Healed”

Page 14: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set “Link = Healed”

Page 15: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set ERO

Set “Link = Healed”

Page 16: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set ERO

Set “Link = Healed”

Set “Link = Failed”

Page 17: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set ERO

Set “Link = Healed”

Link Failure ++

Set “Link = Failed”

Page 18: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set ERO

Set “Link = Healed”

Current ERO = Failed?

Set “Link = Failed”

Link Failure ++

NOYES

Page 19: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set ERO

Set “Link = Healed”

Current ERO = Failed?

Set “Link = Failed”

Link Failure ++

NOYES

Currently Failed Links

Page 20: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set ERO

Set “Link = Healed”

Current ERO = Failed?

Set “Link = Failed”

Link Failure ++

NOYES

Currently Failed Links

Retain Current Best ERO

Page 21: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set ERO

Set “Link = Healed”

Current ERO = Failed?

Set “Link = Failed”

Link Failure ++

NOYES

Currently Failed Links

Retain Current Best ERO

Page 22: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set ERO

Set “Link = Healed”

Current ERO = Failed?

Set “Link = Failed”

Link Failure ++

NOYES

Currently Failed Links

Retain Current Best ERO

Page 23: Presentation - Juniper SDN Throwdown

Redis Channel

Failed / Healed

Failed Healed

Find Best ERO

Set ERO

Set “Link = Healed”

Current ERO = Failed?

Set “Link = Failed”

Link Failure ++

NOYES

Currently Failed Links

Retain Current Best ERO

All paths + costs

Page 24: Presentation - Juniper SDN Throwdown

Proposed Solution - AdoptionHow easy is it to be adopted?A python script.

Runs in background.

REST calls to gather information.

REST calls to set ERO.

Generic solution.

Page 25: Presentation - Juniper SDN Throwdown

Proposed Solution – User Experience

Different types of traffic could use different weightage to latency, distance and failure history to provide optimized delivery for given use case.

Traffic Latency Packet LossWeb Surfing ✓ ✓

Live Streaming ✗ ✓SSH ✓ ✗

Gaming ✗ ✗

Page 26: Presentation - Juniper SDN Throwdown

Proposed Solution – Use of Technology

• Dijkstra’s algorithm to find all available paths.

• Reward / Penalty model used for link reliability calculation.

• Caching of topology info and graph for faster recalculation.

Page 27: Presentation - Juniper SDN Throwdown

Proposed Solution - ValueBest path is calculated

• Through link monitoring• Only when needed• Based on greedy factors• Link Latency• Physical Distance

• Based on Intuitive Insights• Link Failure History• Link Reliability

Page 28: Presentation - Juniper SDN Throwdown

Results

30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 6000

500

1000

1500

2000

2500

3000

3500

4000

1014

2112

1035

1935

970

23502318

627

1402

20111841

2170

31173038

2520

996

3368

1047

2315

3125

12 10 23 11 12 20 24 34 12 10 11 50 25 9 17 12 19 55 15 4

Packet Loss Per 30 Mins

Default Network With Solution Deployed

Page 29: Presentation - Juniper SDN Throwdown

ConclusionCould this have been better?Of course.

Why is it worth winning?An effort in the right direction. Innovative approach and potential to become a large scale generic SDN solution.