Presentation is loading. Please wait.

Presentation is loading. Please wait.

Professor Yashar Ganjali Department of Computer Science University of Toronto

Similar presentations


Presentation on theme: "Professor Yashar Ganjali Department of Computer Science University of Toronto"— Presentation transcript:

1 Professor Yashar Ganjali Department of Computer Science University of Toronto yganjali@cs.toronto.edu http://www.cs.toronto.edu/~yganjali

2 Announcements Programming assignment 2 Due: Fri. Nov. 28 th at 5pm Submit electronically as pa2.tar or pa2.tgz Don’t leave it to the last minute … Final exam: Friday. 12 Dec. 2014, 9am-12pm Location A-KH  BA2155 KI-SU  BA2165 SZ-Z  GB404 CSC 458/CSC 2209 – Computer Networks2University of Toronto – Fall 2014

3 Announcements This week’s tutorial Q&A for programming assignment 2 Next week L0101: No classes on Tue. L0201: We will have our regular class CSC 458/CSC 2209 – Computer Networks3University of Toronto – Fall 2014

4 The Story So Far Layering Link layer Media, framing, error detection/correction, switches, hubs, … Network layer Addressing (CIDR, subnet), routing and forwarding, DNS, BGP, … Transport layer TCP, UDP, flow control, congestion control, queue management, … Misc: Queueing Mechanisms, Middleboxes Next: Software-defined networks CSC 458/CSC 2209 – Computer Networks4University of Toronto – Fall 2014

5 Innovation – Computers vs. Networks How difficult is it to create/modify a computer application? How difficult is it to create/modify a network feature? What is the difference? What are the tools available for each? CSC 458/CSC 2209 – Computer Networks5University of Toronto – Fall 2014

6 Computer Application Computer Application OS OS abstracts hardware substrate  Innovation in applications Innovation in Applications CSC 458/CSC 2209 – Computer Networks6University of Toronto – Fall 2014

7 x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) Application Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) or Application Simple, common, stable, hardware substrate below + Programmability + Competition  Innovation in OS and applications Innovation in OS and Applications CSC 458/CSC 2209 – Computer Networks7University of Toronto – Fall 2014

8 Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) or Application Windows (OS) Windows (OS) Windows (OS) Windows (OS) Linux Mac OS Mac OS x86 (Computer) x86 (Computer) Windows (OS) Windows (OS) App Linux Mac OS Mac OS Mac OS Mac OS Virtualization App Simple, common, stable, hardware substrate below + Programmability + Strong isolation model + Competition above  Innovation in infrastructure Innovation in Infrastructure CSC 458/CSC 2209 – Computer Networks8University of Toronto – Fall 2014

9 Vertically integrated Closed, proprietary Slow innovation Small industry Specialized Operating System Specialized Operating System Specialized Hardware Specialized Hardware App Specialized Applications Specialized Applications Horizontal Open interfaces Rapid innovation Huge industry Microprocessor Open Interface Linux Mac OS Mac OS Windows (OS) Windows (OS) or Open Interface CSC 458/CSC 2209 – Computer Networks9University of Toronto – Fall 2014

10 Million of lines of source code 6,000 RFCs Billions of gates BloatedPower Hungry Vertically integrated, complex, closed, proprietary Networking industry with “mainframe” mind-set Custom Hardware OS Routing, management, mobility management, access control, VPNs, … Feature We Have Lost Our Way CSC 458/CSC 2209 – Computer Networks10University of Toronto – Fall 2014

11 Operating System Reality is Even Worse App Specialized Packet Forwarding Hardware Operating System Operating System App Lack of competition means glacial innovation Closed architecture means blurry, closed interfaces CSC 458/CSC 2209 – Computer NetworksUniversity of Toronto – Fall 201411

12 Vertically integrated Closed, proprietary Slow innovation App Horizontal Open interfaces Rapid innovation Control Plane Control Plane Control Plane Control Plane Control Plane Control Plane or Open Interface Specialized Control Plane Specialized Control Plane Specialized Hardware Specialized Hardware Specialized Features Specialized Features Merchant Switching Chips Merchant Switching Chips Open Interface CSC 458/CSC 2209 – Computer Networks12University of Toronto – Fall 2014

13 CSC 458/CSC 2209 – Computer Networks13University of Toronto – Fall 2014 What we need …

14 New function! Operators, users, 3rd party developers, researchers, … 1) Separate Intelligence from Datapath CSC 458/CSC 2209 – Computer Networks14University of Toronto – Fall 2014

15 2) Cache Decisions In minimal flow-based datapath 15 “If header = x, send to port 4” Flow Table Flow Table “If header = ?, send to me” “If header = y, overwrite header with z, send to ports 5,6” CSC 458/CSC 2209 – Computer NetworksUniversity of Toronto – Fall 2014

16 Custom Hardware OS Network OS Feature How Can We Do This? CSC 458/CSC 2209 – Computer Networks16University of Toronto – Fall 2014 Feature

17 Network OS 1. Open interface to packet forwarding 3. Consistent, up-to-date global network view 2. At least one Network OS probably many. Open- and closed-source Software Defined Network (SDN) CSC 458/CSC 2209 – Computer Networks17University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

18 Consequences More innovation in network services Owners, operators, 3rd party developers, researchers can improve the network E.g. energy management, data center management, policy routing, access control, denial of service, mobility Lower barrier to entry for competition Healthier market place, new players Lower cost Infrastructure Management CSC 458/CSC 2209 – Computer NetworksUniversity of Toronto – Fall 201418

19 Example: Routing OSPF RFC 2328: 245 pages Distributed System Builds consistent, up-to-date map of the network: 101 pages Dijkstra’s Algorithm Operates on map: 4 pages CSC 458/CSC 2209 – Computer Networks19University of Toronto – Fall 2014

20 Example: Routing CSC 458/CSC 2209 – Computer Networks20University of Toronto – Fall 2014 OSPF = Dijkstra IS-IS Network OS Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Distributed System Custom Hardware OS OSPF IS-IS Distributed System Distributed System Distributed System Distributed System

21 CSC 458/CSC 2209 – Computer Networks21University of Toronto – Fall 2014 Back to the story …

22 Control Program A Control Program B Network OS Software Defined Network (SDN) CSC 458/CSC 2209 – Computer Networks22University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

23 Network OS Network OS: distributed system that creates a consistent, up-to-date network view Runs on servers (controllers) in the network NOX, ONIX, HyperFlow, Kandoo, Floodlight, Trema, Beacon, Maestro, BeeHive, OpenDayLight, … + more Uses forwarding abstraction to: Get state information from forwarding elements Give control directives to forwarding elements CSC 458/CSC 2209 – Computer Networks23University of Toronto – Fall 2014

24 Control Program A Control Program B Network OS Software Defined Network (SDN) CSC 458/CSC 2209 – Computer Networks24University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

25 Control Program Control program operates on view of network Input: global network view (graph/database) Output: configuration of each network device Control program is not a distributed system Abstraction hides details of distributed state CSC 458/CSC 2209 – Computer Networks25University of Toronto – Fall 2014

26 Control Program A Control Program B Network OS Software Defined Network (SDN) CSC 458/CSC 2209 – Computer Networks26University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

27 OpenFlow Open standard to run experimental protocols in production networks API between the forwarding elements and the network OS Based in Stanford, supported by various companies (Cisco, Juniper, HP, NEC, …) Used by universities to deploy innovative networking technology CSC 458/CSC 2209 – Computer Networks27University of Toronto – Fall 2014

28 Ethernet Switch Traditional Switch CSC 458/CSC 2209 – Computer Networks28University of Toronto – Fall 2014

29 Traditional Switch Data Path (Hardware) Control Path Control Path (Software) CSC 458/CSC 2209 – Computer NetworksUniversity of Toronto – Fall 201429

30 OpenFlow Protocol (SSL) Data Path (Hardware) Control PathOpenFlow Network OS Control Program A Control Program B OpenFlow Switch CSC 458/CSC 2209 – Computer Networks30University of Toronto – Fall 2014

31 Control Program A Control Program B Network OS OpenFlow Rules CSC 458/CSC 2209 – Computer Networks31University of Toronto – Fall 2014 Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Flow Table(s) Flow Table(s) “If header = p, send to port 4” “If header = ?, send to me” “If header = q, overwrite header with r, add header s, and send to ports 5,6”

32 Plumbing Primitives Match arbitrary bits in headers: Match on any header, or new header Allows any flow granularity Action Forward to port(s), drop, send to controller Overwrite header with mask, push or pop Forward at specific bit-rate CSC 458/CSC 2209 – Computer Networks32University of Toronto – Fall 2014 Header Data Match: 1000x01xx0101001x

33 OpenFlow Rules – Cont’d Exploit the flow table in switches, routers, and chipsets CSC 458/CSC 2209 – Computer Networks33University of Toronto – Fall 2014 Rule (exact & wildcard) ActionStatistics Rule (exact & wildcard) ActionStatistics Rule (exact & wildcard) ActionStatistics Rule (exact & wildcard) Default ActionStatistics Flow 1. Flow 2. Flow 3. Flow N.

34 Flow Table Entry OpenFlow Protocol Version 1.0 CSC 458/CSC 2209 – Computer Networks34University of Toronto – Fall 2014 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport RuleActionStats 1.Forward packet to port(s) 2.Encapsulate and forward to controller 3.Drop packet 4.Send to normal processing pipeline + mask what fields to match Packet + byte counters

35 Examples Switching * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action *00:1f:..******* port6 Flow Switching port3 Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action 00:2e..00:1f..0800vlan11.2.3.45.6.7.841726480port6 Firewall * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Forward ********22drop CSC 458/CSC 2209 – Computer NetworksUniversity of Toronto – Fall 201435

36 Examples Routing * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action *****5.6.7.8***port6 VLAN * Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport Action ***vlan1***** port6, port7, port9 CSC 458/CSC 2209 – Computer NetworksUniversity of Toronto – Fall 201436

37 OpenFlow Hardware Cisco Catalyst 6k NEC IP8800 HP Procurve 5400 Juniper MX-series WiMax (NEC) PC Engines Quanta LB4G More coming soon... CSC 458/CSC 2209 – Computer NetworksUniversity of Toronto – Fall 201437

38 OpenFlowSwitch.org Controller OpenFlow Switch PC OpenFlow Usage Example Dedicated OpenFlow Network CSC 458/CSC 2209 – Computer Networks38University of Toronto – Fall 2014 OpenFlow Switch OpenFlow Switch OpenFlow Protocol Peter’s code RuleActionStatisticsRuleActionStatisticsRuleActionStatistics Peter

39 Usage examples Peter’s code: Static “VLANs” His own new routing protocol: unicast, multicast, multipath, load- balancing Network access control Home network manager Mobility manager Energy manager Packet processor (in controller) IPvPeter Network measurement and visualization … CSC 458/CSC 2209 – Computer Networks39University of Toronto – Fall 2014

40 Research/Production VLANS Normal L2/L3 Processing Flow Table Production VLANs Research VLANs Controller CSC 458/CSC 2209 – Computer NetworksUniversity of Toronto – Fall 201440

41 Virtualize OpenFlow Switch Normal L2/L3 Processing Flow Table Researcher A VLANs Researcher B VLANs Researcher C VLANs Production VLANs Controller A Controller B Controller C CSC 458/CSC 2209 – Computer NetworksUniversity of Toronto – Fall 201441

42 OpenFlow Switch OpenFlow Protocol OpenFlow Protocol OpenFlow FlowVisor & Policy Control C’s Controller B’s Controller A’s Controller OpenFlow Protocol OpenFlow Protocol OpenFlow Switch OpenFlow Switch Virtualizing OpenFlow CSC 458/CSC 2209 – Computer Networks42University of Toronto – Fall 2014

43 OpenFlow Protocol OpenFlow FlowVisor & Policy Control Broadcast Multicast OpenFlow Protocol http Load-balancer OpenFlow Switch OpenFlow Switch OpenFlow Switch Virtualizing OpenFlow CSC 458/CSC 2209 – Computer Networks43University of Toronto – Fall 2014

44 Food for Thought What are the challenges in switching from traditional networks to OpenFlow networks? What are the opportunities? CSC 458/CSC 2209 – Computer Networks44University of Toronto – Fall 2014


Download ppt "Professor Yashar Ganjali Department of Computer Science University of Toronto"

Similar presentations


Ads by Google