Upload
trinhngoc
View
215
Download
1
Embed Size (px)
Citation preview
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 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