1 / 26

Updated Presentation http:// openflow.marist.edu /docs click on “ECC 2012 OpenFlow SDN Presentation”

http://openflow.marist.edu. Updated Presentation http:// openflow.marist.edu /docs click on “ECC 2012 OpenFlow SDN Presentation”. Software Defined Networks. http://openflow.marist.edu. Open networking w/ OpenFlow @ Marist College. Robert Cannistra Ryan Flaherty

trevet
Download Presentation

Updated Presentation http:// openflow.marist.edu /docs click on “ECC 2012 OpenFlow SDN Presentation”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. http://openflow.marist.edu Updated Presentationhttp://openflow.marist.edu/docsclick on “ECC 2012 OpenFlow SDN Presentation” Software Defined Networks

  2. http://openflow.marist.edu Open networking w/ OpenFlow @ Marist College Robert Cannistra Ryan Flaherty Jason ParragaRyan Wallner Software Defined Networks

  3. Who’s Involved ?

  4. This Talk… • What is SDN and why make the move towards SDN? • What can SDN provide? • How does OpenFlow fit into the SDN paradigm? • What can we do with the OpenFlow protocol? • Simple OpenFlow examples • Where can I find more information about OpenFlow and SDN?

  5. Software Defined Networks • Buzzword “Network Virtualization” • Network Abstraction / Reduce Complexity (networks are inherently complex) • Traditional TCP/IP Layers • Centralized Network Intelligence (Control) • Distribution Model is programmers choice not the networks choice • State Control • Control Plane separated from Data Plane • Packet Forwarding

  6. Software Defined Networks SDN Device HW Abstraction Decoupled Control Logic Control Application

  7. Traditional Control Logic (device -> device)

  8. Where does OpenFlow fit in? • OpenFlow “a piece of the SDN puzzle” • An Open Standard • Enables the ‘forwarding abstraction’ • Cross-vendor communication solution • Enables Innovative software defined network solutions • Routing Protocols • Network Control • Load Balancing • Security • & More

  9. OpenFlow: “An Interface” • An Open Standard (as stated before) • Separates the Control and Data path of the switch • “OpenFlow Controller” takes care of Control Logic • Devices communicateover OpenFlow Protocol • Defines OF Messages to the Controller • Creates a Flow Table abstraction • Flows match on packet fields and have actions associated • Static, Dynamic and Aggregate flow matching Good place to start: OpenFlow Spec (1.1.0 also currently implemented) http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf

  10. OpenFlow: Part of SDN

  11. What does OpenFlow do in SDN?

  12. The Value Proposition • What Value do we get from SDN/OpenFlow? • Innovation • Networks will innovate as software does • Freedom to program the behavior of your local network • Do not have to abide by traditional protocols • Customization

  13. Marist, SDN and OpenFlow • Goal: Create an OpenFlowtesting and compliance facility & network • Be part of the research around SDN • Develop and help the ONF OpenFlow community grow • Contribute to the community

  14. Marist OpenFlow SDN Environment

  15. Research Plans • OpenFlow testing and compliance checklist • Research and Development publications • Open source OpenFlow controller code to the community • Explore use cases for OpenFlow and test themi.e. • How can OpenFlow be used in the datacenter? • If any what type of benefits does OpenFlow have that traditional networks don't? • How scalable and robust is OpenFlow, or the controllers? The List goes on

  16. Demos -Using Floodlight • ACLs (Firewall Based) • VLANING the network • Routing L2 & L3 • QoS • Floodlight Modules • Jason Parraga : “Avior” A Floodlight Control Module Information In Hancock Center Hallway

  17. import httplib import json class StaticFlowPusher(object): def __init__(self, server): self.server = server def get(self, data): ret = self.rest_call({}, 'GET') return json.loads(ret[2]) def set(self, data): ret = self.rest_call(data, 'POST') return ret[0] == 200 def remove(self, objtype, data): ret = self.rest_call(data, 'DELETE') return ret[0] == 200 def rest_call(self, data, action): path = '/wm/staticflowentrypusher/json' headers = { 'Content-type': 'application/json', 'Accept': 'application/json', } body = json.dumps(data) conn = httplib.HTTPConnection(self.server, 8080) conn.request(action, path, body, headers) response = conn.getresponse() ret = (response.status, response.reason, response.read()) print ret conn.close() return ret • Create a StaticFlowPusher Object • This will allow a static programmable interface to write scripts to support flow tables across your network using Floodlight’s REST API. • Supports Flow_Mod • Get • Set • Remove • Sends HTTP Requests • GET • POST • DELETE

  18. import StaticFlowPusher #Switches used for tests #Switch 00:0a:34:40:b5:3c:18:00 #Switch 00:0a:34:40:b5:40:b8:00 #Switch manufacturer: Blade Network Technologies #Switch manufacturer: Blade Network Technologies pusher = StaticFlowPusher.StaticFlowPusher(’xxx.xxx.xxx.xxx’) flow1 = { 'switch':"00:0a:34:40:b5:3c:18:00", "name":"allow-webaccess", "ingress-port":"19", "cookie":"0", "dst-ip":”x.x.x.223", #webserver "dst-port":"80", "ether-type":"2048", "protocol":"6", "priority":"32768", "active":"true", "actions":"output=all" } flow2 = { "switch":"00:0a:34:40:b5:3c:18:00", "name":"drop-web-access-all", "ingress-port":"19", "cookie":"0", "dst-port":"80", "ether-type":“2048", "protocol":"6", "active":"true", "priority":"32768", "actions":"" } pusher.set(flow1) pusher.set(flow2)

  19. import StaticFlowPusher #Switches used for tests #Switch 00:0a:34:40:b5:3c:18:00 #Switch 00:0a:34:40:b5:40:b8:00 #Switch 00:0a:34:40:b5:3c:18:00 manufacturer: Blade Network Technologies #Switch 00:0a:34:40:b5:40:b8:00 manufacturer: Blade Network Technologies pusher = StaticFlowPusher.StaticFlowPusher(’xxx.xxx.xxx.xxx') flow1 ={ 'switch':"00:0a:34:40:b5:3c:18:00", "name":"flow-mod-2", "cookie":"0", "priority":"32768", "ingress-port":"19", "ether-type":"2048", "src-ip":”x.x.x.224", "active":"true", "actions":"output=17" } flow2 ={ 'switch':"00:0a:34:40:b5:3c:18:00", "name":"flow-mod-3", "cookie":"0", "priority":"32768", "ingress-port":"19", "ether-type":"2048", "src-ip":”x.x.x.225", "active":"true", "actions":"" } pusher.set(flow1) pusher.set(flow2)

  20. Avior– A Floodlight Control Module Marist/IBM Joint Study

  21. AviorControl Module • Goal: Address network control using Floodlight • Reduce Complexity • Eliminate static flow python scripting • Provide an abstraction of the network that can be customizable • Build network configuration application against that abstraction

  22. http://openflow.marist.edu/docs

  23. Administrative Concerns How can I program my network? What's involved in programming my network? How can Aviorhelp? What are the plans for Avior?

  24. In the Industry http://www.openflowhub.org/blog/blog/2012/05/10/interop2012/#more-281

  25. References • http://openflow.marist.edu • http://openflow.marist.edu/liveview • http://openflow.marist.edu/static/media/files/ECC2012PRES.pptx • http://www.openflowhub.org/ • http://opennetworking.org • http://floodlight.openflowhub.org

  26. Questions? • Marist OpenFlow/SDN DEMOS IN THE HALLWAY Robert Cannistra – Robert.Cannistra@marist.edu Ryan Flaherty – Ryan.Flaherty1@marist.eduJason Parraga – Jason.Parraga1@marist.edu Ryan Wallner – Ryan.Wallner1@marist.edu

More Related