professor yashar ganjali department of computer...

57
Professor Yashar Ganjali Department of Computer Science University of Toronto [email protected] http://www.cs.toronto.edu/~yganjali

Upload: trinhngoc

Post on 23-May-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

ProfessorYasharGanjaliDepartmentofComputerScienceUniversityofToronto

[email protected]://www.cs.toronto.edu/~yganjali

CSC2229- Software-DefinedNetworking 2UniversityofToronto– Winter2017

Today• Outline

� Whatthiscourseisabout

• Logistics� Coursestructure,evaluation� Whatisexpectedfromyou� Whatyouwanttoknow

• Overview� Packetswitchingsystems� Software-DefinedNetworking

CSC2229- Software-DefinedNetworking 3UniversityofToronto– Winter2017

CSC229:Software-DefinedNetworking• Graduatelevelcourse

� IntroductiontoSoftware-DefinedNetworking(SDN)� SDNchallengesandopportunities

� Coursecomponents� Lectures� Researchpapers� Researchproject

• Theory+Practice� Switchingsystemsaresimpleenoughforustoprovesomethingaboutthem

� Yettheyarecomplexenoughtoworkinpractice

CSC2229- Software-DefinedNetworking 4UniversityofToronto– Winter2017

Outline– PartI� Introduction

� Packetswitchsystems� EvolutionoftheInternet,andInternetrouters� Basicarchitecturalcomponents� Someexamplearchitectures

� Software-DefinedNetworking� Innovationincomputernetworks� Controlvs.dataplane

CSC2229- Software-DefinedNetworking 5UniversityofToronto– Winter2017

Outline– PartII� SDNChallengesandOpportunities

� Controllerandswitchdesign� Reliability,efficiency,andscalability� Architecture� Programming,correctness,anddebugging� SDNsecurity� Newabstractions,statemanagement� Networkservices� Networkfunctionvirtualization� Networkoptimization

CSC2229- Software-DefinedNetworking 6UniversityofToronto– Winter2017

Logistics� Officehours

� Tue.12PM- 1PM,BA5238� Orbyappointment

� Coursewebpage� http://www.cs.toronto.edu/~yganjali/courses/csc2229/� Pleasecheckregularlyforannouncements.

� Classmailinglist� Basedone-mailaddressyouhavedefinedonACORN.� Sendmeane-mailifyouhaven’treceivedawelcomemessagefromthatlist.

� Pleasepost(course-related!)questionstothislist.

CSC2229- Software-DefinedNetworking 7UniversityofToronto– Winter2017

Logistics� Prerequisites

� Anyintroductorycourseonnetworking� Algorithms� Basicprobabilitytheory

� Papers� Willbelistedonclasswebpage� PleasereadsuggestedpapersBEFOREclass

Logistics� Grading

� Activeparticipationinclassanddiscussions:10%� Paperpresentations:30%� Finalproject:60%

� Proposal:5%- 1-2pages� Intermediatereport:10%- 3pages� Presentation:15%- Lastweekofclasses� Finalreport:30%- 6pages

� Deadlines� 5%markdeductionforeachdayofdelay,upto4days.� Exception:finalreportdeadlineishard.

CSC2229- Software-DefinedNetworking 8UniversityofToronto– Winter2017

CSC2229- Software-DefinedNetworking 9UniversityofToronto– Winter2017

Logistics� FinalProject

� Groupsofthreestudents� Projecttopic

� Choosefromtheofferedlist;or� Talktomeanddefineyourown

CSC2229- Software-DefinedNetworking 10UniversityofToronto– Winter2017

Logistics� AcademicIntegrity

� Allsubmissionsmustpresentoriginal,independentwork.

� Wetakeacademicoffensesveryseriously.� Pleaseread

� “Guidelineforavoidingplagiarism”http://www.cs.toronto.edu/~fpitt/documents/plagiarism.html� “Adviceaboutacademicoffenses”http://www.cs.toronto.edu/~clarke/acoffences/

Logistics� AccessibilityNeeds

� TheUniversityofTorontoiscommittedtoaccessibility.Ifyourequireaccommodationsorhaveanyaccessibilityconcerns,pleasevisithttp://studentlife.utoronto.ca/accessibility assoonaspossible.

CSC2229- Software-DefinedNetworking 11UniversityofToronto– Winter2017

CSC2229- Software-DefinedNetworking 12UniversityofToronto– Winter2017

Acknowledgements� Specialthanksto:

� Prof.NickMcKeown,StanfordUniversity� Prof.BalajiPrabhakar,StanfordUniversity� Prof.JenniferRexford,PrincetonUniversity� Prof.NickFeamster,PrincetonUniversity

CSC2229- Software-DefinedNetworking 13UniversityofToronto– Winter2017

Questions?

Whatelsedoyouliketoknowaboutthiscourse?

CSC2229- Software-DefinedNetworking 14UniversityofToronto– Winter2017

IntroductiontoPacketSwitching� Background

� Whatisarouter?� Routerarchitecture

� Packetprocessinginrouters� IPaddresslookup� Packetbuffering� Switching

� Routerarchitectures� Theevolution� Software-DefinedNetworking

CSC2229- Software-DefinedNetworking 15UniversityofToronto– Winter2017

R3

A

B

C

R1

R2

R4 D

E

FR5

R5FR3ER3DNextHopDestination

WhatisRouting?

CSC2229- Software-DefinedNetworking 16UniversityofToronto– Winter2017

WhatisRouting?

R3

A

B

C

R1

R2

R4 D

E

FR5

R5FR3ER3DNext HopDestination

16 3241

Data

Options(ifany)

DestinationAddress

SourceAddress

HeaderChecksumProtocolTTL

FragmentOffsetFlagsFragmentID

TotalPacketLengthT.ServiceHLenVer

20bytes

CSC2229- Software-DefinedNetworking 17UniversityofToronto– Winter2017

WhatisRouting?

A

B

C

R1

R2

R3

R4 D

E

FR5

CSC2229- Software-DefinedNetworking 18UniversityofToronto– Winter2017

PointsofPresence(POPs)

A

B

C

POP1

POP3POP2

POP4 D

E

F

POP5

POP6 POP7POP8

WhereHighPerformanceRoutersareUsed

CSC2229- Software-DefinedNetworking 19UniversityofToronto– Winter2017

R10 R11

R4

R13

R9

R5R2

R1 R6

R3 R7

R12

R16R15

R14

R8

(2.5Gb/s)

(2.5Gb/s)(2.5Gb/s)

(2.5Gb/s)

CSC2229- Software-DefinedNetworking 20UniversityofToronto– Winter2017

WhataRouterLooksLikeCiscoGSR12416 JuniperM160

6ft

19”

2ft

Capacity: 160Gb/sPower: 4.2kW

3ft

2.5ft

19”

Capacity: 80Gb/sPower: 2.6kW

CSC2229- Software-DefinedNetworking 21UniversityofToronto– Winter2017

BasicArchitecturalComponentsofanIPRouter

ControlPlane

Data-pathper-packetprocessing

SwitchingForwardingTable

RoutingTable

RoutingProtocols

CSC2229- Software-DefinedNetworking 22UniversityofToronto– Winter2017

PacketSwitching– SimpleRouterModel

R1Link1

Link2

Link3

Link4

Link1,ingress Link1,egress

Link2,ingress Link2,egress

Link3,ingress Link3,egress

Link4,ingress Link4,egress

ChooseEgress

ChooseEgress

ChooseEgress

ChooseEgress

“4”

“4”

CSC2229- Software-DefinedNetworking 23UniversityofToronto– Winter2017

IntroductiontoPacketSwitching� Background

� Whatisarouter?� Routerarchitecture

� Packetprocessinginrouters� IPaddresslookup� Packetbuffering� Switching

� Routerarchitectures� Theevolution� Software-DefinedNetworking

CSC2229- Software-DefinedNetworking 24UniversityofToronto– Winter2017

Per-packetProcessinginanIPRouter1.Acceptpacketarrivingonanincominglink.2.Lookuppacketdestinationaddressintheforwardingtable,toidentifyoutgoingport(s).

3.Manipulatepacketheader:e.g.,decrementTTL,updateheaderchecksum.

4.Sendpackettotheoutgoingport(s).5.Bufferpacketinthequeue.6.Transmitpacketontooutgoinglink.

CSC2229- Software-DefinedNetworking 25UniversityofToronto– Winter2017

GenericRouterArchitecture

LookupIPAddress

UpdateHeader

HeaderProcessingData Hdr Data Hdr

~1MprefixesOff-chipDRAM

AddressTable

IPAddress NextHop

QueuePacket

BufferMemory

~1MpacketsOff-chipDRAM

CSC2229- Software-DefinedNetworking 26UniversityofToronto– Winter2017

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

Data Hdr

Data Hdr

Data Hdr

BufferManager

BufferMemory

BufferManager

BufferMemory

BufferManager

BufferMemory

Data Hdr

Data Hdr

Data Hdr

GenericRouterArchitecture

WhyareFastRoutersDifficulttoMake?� It’shardtokeepupwithMoore’sLaw:

� Thebottleneckismemoryspeed.� MemoryspeedisnotkeepingupwithMoore’sLaw.

�Moore’sLawistooslow:� RoutersneedtoimprovefasterthanMoore’sLaw.

CSC2229- Software-DefinedNetworking 27UniversityofToronto– Winter2017

CSC2229- Software-DefinedNetworking 28UniversityofToronto– Winter2017

RouterPerformanceExceedsMoore’sLaw� Growthincapacityofcommercialrouters:

� Capacity1992~2Gb/s� Capacity1995~10Gb/s� Capacity1998~40Gb/s� Capacity2001~160Gb/s� Capacity2003~640Gb/s� Capacity2007~4Tb/s� Capacity2010~16Tb/s� 2017...?

Averagegrowthrate:2x/18months.

CSC2229- Software-DefinedNetworking 29UniversityofToronto– Winter2017

IntroductiontoPacketSwitching� Background

� Whatisarouter?� Routerarchitecture

� Packetprocessinginrouters� IPaddresslookup� Packetbuffering� Switching

� Routerarchitectures� Theevolution� Software-DefinedNetworking

CSC2229- Software-DefinedNetworking 30UniversityofToronto– Winter2017

GenericRouterArchitecture

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

BufferManager

BufferMemory

BufferManager

BufferMemory

BufferManager

BufferMemory

LookupIPAddress

AddressTable

LookupIPAddress

AddressTable

LookupIPAddress

AddressTable

IPAddressLookup�Whyit’sthoughttobehard:

1. It’snotanexactmatch:it’salongestprefixmatch.2. Thetableislarge:about700,000entriestoday,andgrowing.

3. Thelookupmustbefast:about30nsfora10Gb/sline.

CSC2229- Software-DefinedNetworking 31UniversityofToronto– Winter2017

CSC2229- Software-DefinedNetworking 32UniversityofToronto– Winter2017

IPLookupsfindLongestPrefixes

128.9.16.0/21 128.9.172.0/21

128.9.172.0/24

0 232-1

128.9.0.0/16142.12.0.0/1965.0.0.0/8

128.9.16.14

Routinglookup: Findthelongest matchingprefix(akathemostspecificroute)amongallprefixesthatmatchthedestinationaddress.

IPAddressLookup�Whyit’sthoughttobehard:

1. It’snotanexactmatch:it’salongestprefixmatch.2. Thetableislarge:about700,000entriestoday,andgrowing.

3. Thelookupmustbefast:about30nsfora10Gb/sline.

CSC2229- Software-DefinedNetworking 33UniversityofToronto– Winter2017

CSC2229- Software-DefinedNetworking 34UniversityofToronto– Winter2017

AddressTablesareLarge

Source:http://www.cidr-report.org/

IPAddressLookup�Whyit’sthoughttobehard:

1. It’snotanexactmatch:it’salongestprefixmatch.2. Thetableislarge:about700,000entriestoday,andgrowing.

3. Thelookupmustbefast:about30nsfora10Gb/sline.

CSC2229- Software-DefinedNetworking 35UniversityofToronto– Winter2017

CSC2229- Software-DefinedNetworking 36UniversityofToronto– Winter2017

LookupsMustbeFast

40Bpackets(Mpkt/s)

LineYear

Year Line Rate 40B Packets (Mpkt/s)

1997 622Mb/s 1.94

1999 2.5Gb/s 7.81

2001 10Gb/s 31.25

2003 40Gb/s 125

2005 100Gb/s 312

CSC2229- Software-DefinedNetworking 37UniversityofToronto– Winter2017

IntroductiontoPacketSwitching� Background

� Whatisarouter?� Routerarchitecture

� Packetprocessinginrouters� IPaddresslookup� Packetbuffering� Switching

� Routerarchitectures� Theevolution� Software-DefinedNetworking

GenericRouterArchitecture

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

QueuePacket

BufferMemory

QueuePacket

BufferMemory

QueuePacket

BufferMemory

BufferManager

BufferMemory

BufferManager

BufferMemory

BufferManager

BufferMemory

CSC2229- Software-DefinedNetworking 38UniversityofToronto– Winter2017

CSC2229- Software-DefinedNetworking 39UniversityofToronto– Winter2017

FastPacketBuffers

Example:40Gb/spacketbufferSize=RTT*BW=10Gb;40bytepackets

WriteRate,R

1packetevery8ns

ReadRate,R

1packetevery8ns

BufferManager

BufferMemory

UseSRAM?+ fastenoughrandomaccesstime,but

- toolowdensitytostore10Gbofdata.

UseDRAM?+highdensitymeanswecanstoredata,but- tooslow(50nsrandomaccesstime).

CSC2229- Software-DefinedNetworking 40UniversityofToronto– Winter2017

IntroductiontoPacketSwitching� Background

� Whatisarouter?� Routerarchitecture

� Packetprocessinginrouters� IPaddresslookup� Packetbuffering� Switching

� Routerarchitectures� Theevolution� Software-DefinedNetworking

CSC2229- Software-DefinedNetworking 41UniversityofToronto– Winter2017

GenericRouterArchitecture

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

QueuePacket

BufferMemory

QueuePacket

BufferMemory

QueuePacket

BufferMemory

Data Hdr

Data Hdr

Data Hdr

1

2

N

1

2

N

N timeslinerate

N timeslinerate

CSC2229- Software-DefinedNetworking 42UniversityofToronto– Winter2017

GenericRouterArchitecture

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

QueuePacket

BufferMemory

QueuePacket

BufferMemory

QueuePacket

BufferMemory

Data Hdr

Data Hdr

Data Hdr

1

2

N

1

2

N

Data Hdr

Data Hdr

Data Hdr

Scheduler

CSC2229- Software-DefinedNetworking 43UniversityofToronto– Winter2017

0% 20% 40% 60% 80% 100%Load

Delay

ARouterwithOutputQueues

Thebestthatanyqueueingsystemcanachieve.

CSC2229- Software-DefinedNetworking 44UniversityofToronto– Winter2017

0% 20% 40% 60% 80% 100%Load

Delay

ARouterwithInputQueuesHeadofLineBlocking

Thebestthatanyqueueingsystemcanachieve.

2 2 58%- »

CSC2229- Software-DefinedNetworking 45UniversityofToronto– Winter2017

HeadofLineBlocking

CSC2229- Software-DefinedNetworking 46UniversityofToronto– Winter2017

VirtualOutputQueues

CSC2229- Software-DefinedNetworking 47UniversityofToronto– Winter2017

0% 20% 40% 60% 80% 100%Load

Delay

ARouterwithVirtualOutputQueues

Thebestthatanyqueueingsystemcanachieve.

GenericRouterArchitecture

CSC2229- Software-DefinedNetworking 48UniversityofToronto– Winter2017

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

LookupIPAddress

UpdateHeader

HeaderProcessing

AddressTable

QueuePacket

BufferMemory

QueuePacket

BufferMemory

QueuePacket

BufferMemory

Data Hdr

Data Hdr

Data Hdr

1

2

N

1

2

N

N timeslinerate

N timeslinerate

CSC2229- Software-DefinedNetworking 49UniversityofToronto– Winter2017

IntroductiontoPacketSwitching� Background

� Whatisarouter?� Routerarchitecture

� Packetprocessinginrouters� IPaddresslookup� Packetbuffering� Switching

� Routerarchitectures� Theevolution� Software-DefinedNetworking

CSC2229- Software-DefinedNetworking 50UniversityofToronto– Winter2017

RouteTableCPU Buffer

Memory

LineInterface

MAC

LineInterface

MAC

LineInterface

MAC

Typically<0.5Gb/saggregatecapacity

SharedBackplane

FirstGenerationRouters

CSC2229- Software-DefinedNetworking 51UniversityofToronto– Winter2017

RouteTableCPU

LineCard

BufferMemory

LineCard

MAC

BufferMemory

LineCard

MAC

BufferMemory

FwdingCache

FwdingCache

FwdingCache

MAC

BufferMemory

Typically<5Gb/saggregatecapacity

SecondGenerationRouters

CSC2229- Software-DefinedNetworking 52UniversityofToronto– Winter2017

LineCard

MAC

LocalBufferMemory

CPUCard

LineCard

MAC

LocalBufferMemory

SwitchedBackplane

FwdingTable

RoutingTable

FwdingTable

Typically<50Gb/saggregatecapacity

ThirdGenerationRouters

CSC2229- Software-DefinedNetworking 53UniversityofToronto– Winter2017

SwitchCore Linecards

Opticallinks

100sofmetres

0.3- 10Tb/sroutersindevelopment

FourthGenerationRouters/SwitchesOpticsinsidearouterforthefirsttime

CSC2229- Software-DefinedNetworking 54UniversityofToronto– Winter2017

IntroductiontoPacketSwitching� Background

� Whatisarouter?� Routerarchitecture

� Packetprocessinginrouters� IPaddresslookup� Packetbuffering� Switching

� Routerarchitectures� Theevolution� Software-DefinedNetworking

SoftwareDefinedNetworks

CSC2229- Software-DefinedNetworking 55UniversityofToronto– Winter2017

Data Plane

Control Plane

Data Plane

Control PlaneData Plane

Control Plane

Data Plane

Control Plane

SoftwareDefinedNetworks– Cont’d

CSC2229- Software-DefinedNetworking 56UniversityofToronto– Winter2017

Controller

OpenFlow SwitchPC

Data Plane

Data Plane

Data Plane

Data Plane

FinalComments/Questions�Whatotherlineratefunctionalitiescanyouthinkof(otherthanpacketforwarding)?� Aretheyperformancebottleneckintoday’snetworks?� Howwouldtheyevolveovertime?� Dotheybelongondatapath?

� Controlandmanagementcomplexity� Whatcontrolfunctionalitiesdowehaveinnetworkstoday?

� Howdowemanagethose?� Whatcanwedotosimplifythis?

CSC2229- Software-DefinedNetworking 57UniversityofToronto– Winter2017