6/19/2021PathFail-OverMultiplepathsareusedtoprotecteachotherNonetworkdowntimeaswithSTPFail-overhappens immediatelyduetocentralizedcontrolCX区bc文XocPhysical NetworkAalto UniversityEngineering21@TarikTALEB202021Energy Saving (1)Flow1Flow2OpenFlowControllerSwAP 2ServerrOFFPoAalto UniversitychoolofElectrican222211
6/19/2021 11 21 Path Fail-Over ▐ Multiple paths are used to protect each other ▐ No network downtime as with STP ▐ Fail-over happens immediately due to centralized control Physical Network © Tarik TALEB 2020 22 Energy Saving (1) Switch OpenFlow Controller Server Flow 1 Flow 2 Power OFF AP 1 AP 2 21 22
6/19/2021SDN LayeredArchitectureAalto UniversityAEngineering2323LayeredSDNArchitectureNetworkEApplicationsManagementplaneProgrammingllanguagesNERORNetipplLanguage-basediv/irtualization.....................................................ControlplaneNorthboundinterfaceNetworkEDperatingiSystem-NetworkHypervisor?......................i.i.................FEEOBCSEDataplaneSouthboundEnterfaceNetworklinfrastructure(a)回(b)回 Aalto UniversitySDNControllerAESDNDevices:hoolofElectricanSimpleforwardingelements242412
6/19/2021 12 23 SDN Layered Architecture 24 Layered SDN Architecture Net App Net App Net App Net App Net App Net App Network infrastructure Southbound Interface Network Opera ng System Northbound Interface Language-based Virtualiza on Programming languages Network Applica ons Debugging, Tes ng & Simula on Network Opera ng System and Hypervisors Network Applica ons Rou ng Access Control Load balancer Control plane Data plane Management plane (a) (b) (c) Network Hypervisor SDN Devices: Simple forwarding elements SDN Controller 23 24
6/19/2021SDN Architecture:Two Main ComponentsFLOWETABLEIZSDNECONTROLLERERULEMACTIONESTATSHNetAppSDNDEVICEIPacketountersiFLOWITABLESZFonwardeaackettiotbortisjt2NetworkmEncapsulateSnditorBotontOperatingmDropbackethSystemiSwitcheMATCPETCPEportasrcldstaosrcipdsteLVOSeveralOpenFlowdevicesHWbasedonsmallTernaryContentAddressableMemory(TCAMs-limited#ofrulesinforwardingtable)Softwareswitches-OpenvSwitch(i.e.,inDC)Aalto UniversityEngineering2525Layered SDN Architecture:Southbound InterfaceNetworkEApplicationsManagementplaneProgrammingllanguagesNetiappNetAooxLanguage-based/irtualizatione......ControlplaneNorthboundEnterface?NetworkeDperatingiSystem口NetworkEHypervisor?.....E.....E..CDataplaneSouthboundEnterfaceNetworklinfrastructure?(a)(b)回OpenFlowmostwidelyacceptedanddeployed!Aalto Universitychoolot ElectricaOthers:NetConf,ForCES,OVSDB,POFOpFlex2613
6/19/2021 13 25 SDN Architecture: Two Main Components SDN DEVICE SDN CONTROLLER Network Opera ng System Control Communica ons Net App Net App Net App Net App Net App Net App FLOW TABLES Control Communica ons RULE ACTION STATS Packet + counters 1. Forward packet to port(s) 2. Encapsulate and forward to controller 3. Drop packet 4. Send to normal processing pipeline Switch port MAC src MAC dst VLAN ID IP src TCP psrc TCP pdst IP dst Eth type FLOW TABLE • Several OpenFlow devices • HW based on small Ternary Content Addressable Memory (TCAMs – limited # of rules in forwarding table) • Software switches – Open vSwitch (i.e., in DC) 26 Layered SDN Architecture: Southbound Interface Net App Net App Net App Net App Net App Net App Network infrastructure Southbound Interface Network Opera ng System Northbound Interface Language-based Virtualiza on Programming languages Network Applica ons Debugging, Tes ng & Simula on Network Opera ng System and Hypervisors Network Applica ons Rou ng Access Control Load balancer Control plane Data plane Management plane (a) (b) (c) Network Hypervisor • OpenFlow most widely accepted and deployed! • Others: NetConf, ForCES, OVSDB, POF, OpFlex 25 26
6/19/2021OpenFlowAalto UniversityEngineering2727WhatisOpenFlow?Abrainchild of Stanford's Future Internet researchCLEAN SLATEprogramDefinedbyOpenNetworkingFoundationONFMajoractors(Cisco,IBM,NEC,HPAlcatel-Lucent?VMWare...)SeparatingcontrolanddataplaneOpenFlowControllerAcentralized controllerinstanceProtocolcommunicateswiththenetworkSecureChannelnodesusingthestandardizedOpenFlowprotocolFlow·AllowstoprogramnetworkTablebehaviordirectlybythenetworkoperatorOpenFlowSwitchSwitches/routersaremodeledasforwardingelementswithforwardingtables,containing"flowentries6OpenFlowprotocolaffectstheforwardingtablesAalto Universityhoolof ElectricalEn282814
6/19/2021 14 27 28 What is OpenFlow? ▐ A brainchild of Stanford's Future Internet research program ▐ Defined by Open Networking Foundation ⚫ Major actors (Cisco, IBM, NEC, HP, Alcatel-Lucent, VMWare,.) ▐ Separating control and data plane ⚫ A centralized controller instance communicates with the network nodes using the standardized OpenFlow protocol ⚫ Allows to program network behavior directly by the network operator ▐ Switches/routers are modeled as forwarding elements with forwarding tables, containing “flow entries” ⚫ OpenFlow protocol affects the forwarding tables Secure Channel Flow Table OpenFlow Switch OpenFlow Protocol Controller 27 28
6/19/2021OpenFlowForwardingElementFlowtable:performspacketlookupAllpacketscomparedtoflowtableformatchActionsdependonmatchbeingfoundifnomatch.traffic issenttothecontrollerAtleastone flowtableFlowFlowFlowTableTableTableExecutePacketPacket01nActionsPacket,packetingress port,actions=0ingressport,packet,actions=0meta data,actionsAOpenFlowSwitchEngineering2929FlowTables&FlowEntriesFlowtablesconsistofalistofFlowTableflowentriesEntryFlowentry:Matchfield:definesmatchingEntrypacketPriority:precedenceofmatchingif1multipleentriesmatch?Counters:countsmatchesInstructionsModify action setand meta dataForwardtoothertables (orstop)EntryTimeouts:removesentryaftera3certain (idle)time orhard timeoutAalto University4lectrica303015
6/19/2021 15 29 OpenFlow Forwarding Element ▐ Flow table: performs packet lookup ⚫ All packets compared to flow table for match ⚫ Actions depend on match being found ⚫ If no match, traffic is sent to the controller Flow Table 0 Flow Table 1 Flow Table n Packet Packet Execute Actions . packet ingress port, actions={} ingress port, packet, meta data, actions Packet, actions={} OpenFlow Switch At least one flow table 30 Flow Tables & Flow Entries ▐ Flow tables consist of a list of flow entries ▐ Flow entry: ⚫ Match field: defines matching packet ⚫ Priority: precedence of matching if multiple entries match ⚫ Counters: counts matches ⚫ Instructions • Modify action set and meta data • Forward to other tables (or stop) ⚫ Timeouts: removes entry after a certain (idle) time or hard timeout Flow Table Entry Entry Entry 29 30