Presentation on theme: "Software Defined Networking and Dijkstra’s Algorithm"— Presentation transcript:
1Software Defined Networking and Dijkstra’s Algorithm Presented by Prof. Jehn-Ruey JiangDepartment of Computer Science & Information EngineeringNational Central UniversityOctober 24, 2014
2Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
3Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
4The Megatrend in the Computer Industry AppSpecializedApplicationsLinuxMacOSWindows(OS)orOpen InterfaceSpecializedOperatingSystemMicroprocessorOpen InterfaceSpecializedHardwareSome slides are adapted from those of Dr. Jennifer Rexford and Dr. Shie-Yuan WangVertically integratedClosed, proprietarySlow innovationSmall industryHorizontalOpen interfacesRapid innovationHuge industrySource: Dr. Jennifer Rexford’s presentation
5The Same Trend in the Network Industry? AppSpecializedFeaturesControlPlaneorOpen InterfaceSpecializedControlPlaneMerchantSwitching ChipsOpen InterfaceSpecializedHardwareHorizontalOpen interfacesRapid innovationVertically integratedClosed, proprietarySlow innovationSource: Dr. Jennifer Rexford’s presentation
7Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
8Software Defined Networking History ~2004: Research on new management paradigmsRCP, 4D [Princeton, CMU,….]SANE, Ethane [Stanford/Berkeley]2008: Software-Defined Networking (SDN)NOX Network Operating System [Nicira]Open Flow switch interface [Stanford/ Nicira]2011: Open Networking FoundationBoard: Google, Yahoo, Verizon, DT, Microsoft, Facebook, NTTMembers: Cisco, Juniper, HP, Dell, Broadcom, IBM,…..CurrentGoogle is using SDN in its private WAN B4Many commercialized SDN productsRCP: routing control platform4D: 4 planes decision, dissemination, discovery, dataSANE: 理智的、健全的Secured Architecture for the Networked EnterpriseEthane: ethane 美[‘ɛθen]n. [有化] 乙烷 A clean-slate approach to managing and securing enterprise networksslate 美[slet]n. 板岩；石板；蓝色；石片Clean Slate Design for the Internet (重新發明Internet)Nicira was a company focused on software-defined networking (SDN) and network virtualization. It was founded in 2007 by Martin Casado,Nick McKeown and Scott Shenker. Nicira created their own proprietary versions of the OpenFlow, Open vSwitch, and OpenStack networking projects.On July 23, 2012, VMware announced they intended to acquire Nicira for $1.26 billion, a deal which closed the following month.（Verizon Communications，NYSE：VZ），是美國一家主要電信公司，全球領先的寬頻和電信服務提供商，道瓊斯30種工業平均指數組成之一。威訊通訊的前身是「大西洋貝爾」，1983年AT&T分拆的七個小貝爾"Baby Bells"之一。並改名為現在的「威訊」（Verizon）。「Verizon」是由兩個詞合成：前半部分來自「veritas」（真確），後半部分來自「horizon」（地平線）。開放網路基金會（英語：Open Networking Foundation，縮寫為 ONF），一個非盈利性的產業聯盟，成員包括德國電信、Facebook、Google、微軟、威訊通信與Yahoo!。其宗旨在於推動軟體定義網路，以促進網際網路的進步。DT:德國電信 Deutsche Telekom AG，FWB：DTE），是一家由國有德國聯邦郵政私有化後的電信部門分離出來的股份公司（AG）。德意志聯邦共和國直接持有31%的股份，另外通過德國重建信貸銀行（Kreditanstalt für Wiederaufbau，KfW）間接持有12%的股份。剩餘的57%的股份（至2003年6月）為公開發行股票。NTT: Nippon Telegraph and Telephone Corporation日本電信電話株式会社Source: Dr. Marco Cello’s presentation
9Software Defined Networking History Nick McKeownBiographyBorn in Bedford, England on April 7, 1963Obtained bachelor's degree from the University of Leeds in 1986Obtained master's degree in 1992 and PhD in 1995 from the University of California at BerkeleyBecame faculty director of the Clean Slate Program at Stanford University in 2006Casado, McKeown and Shenker co-founded Nicira Networks in 2007McKeown and Shenker co-founded the Open Networking Foundation (ONF) in 2011Nicira was acquired by VMWare for $1.26 billion in July 2012Source:
10Open Networking Foundation The Open Networking Foundation (ONF) is a nonprofit organization, founded by Deutsche Telekom, Facebook, Google, Microsoft, Verizon, and Yahoo! on March 21, 2011.Its purpose is to improve networking through software-defined networking (SDN) and standardizing the OpenFlow protocol and related technologies.成立於2011年,ONF是一個以用戶為發展導向的非營利組織，發起成員企業包括了德意志電信、Google、微軟(Microsoft)、Facebook、Verizon、雅虎(Yahoo)，主要在於針對下一代網路架構進行研究、發展、拓展，以SDN為主軸OpenFlow ONF 所推展，並主導以使用OpenFlow為controller的架構標準。ONF有100多個會員以上，成員包括服務提供者、大型網路設備商和初創企業。採用ONF的 SDN架構最主要優點，在於它有行業標準之通信協定OpenFlow，以及眾多的供應商支援SDN方法的核心技術是OpenFlow 以規範網路交換器和控制器之間的溝通協議。在ONF裡所謂的「用戶」，廣義來講當然是所有的網路使用者；但由於SDN目前仍在推廣階段，影響層面還不廣泛。為了釐清其影響層面，需狹義解釋何謂「SDN用戶」，包括：網路設備、內容、軟硬體及服務供應商等網路生態系統成員。對於一般消費者而言，目前還難以感受到SDN的影響及與現有網路運作方式的差別；而真正能感受到影響的，則是日常業務需要管理網路、相關設備，及在網路提供各式應用、內容及服務的業者。https://www.opennetworking.org/
11Open Networking Foundation Member Listing https://www.opennetworking.org/membership/member-listing
12Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
13Source: Open Networking Foundation What paper, 2012 SDN ArchitectureSource: Open Networking Foundation What paper, 2012
14OpenFlow Controller & Switch Source: Open Networking Foundation What paper, 2012
15Source: Dr. McKeown’s presentation Flow Table EntryRuleActionStatisticsPacket + byte countersForward packet to port(s)Encapsulate and forward to controllerDrop packetSend to normal processing pipelineSwitchIn PortMACsrcMACdstEthtypeVLANIDIPSrcIPDstIPProtTCPsportTCPdportSource: Dr. McKeown’s presentation
16Flow Table Process Example A Meie-Gate已機場為Flow Table Process的例子機場(SDN網路)有自動通關系統(Switch)，Jessica(Packet)第一次出國通關系統不認識她因此請她去找服務人員(Controller)申請，申請後在系統中有她的資料(Flow Table)，因此她在通過時Match到其中一個entry因此放她通行
17Flow Table Process Example (cont.) A MeiNameAttribute…….A MeiInterorbital WidthMouth size…JessicaIris...XXX·XXXXXX·XX已機場為Flow Table Process的例子機場(SDN網路)有自動通關系統(Switch)，Jessica(Packet)第一次出國通關系統不認識她因此請她去找服務人員(Controller)申請，申請後在系統中有她的資料(Flow Table)，因此她在通過時Match到其中一個entry因此放她通行
18Flow Table Process Example (cont.) NameAttribute…….A MeiInterorbital WidthMouth size…JessicaIris...XXX·XXXXXX·XXA Meie-Gate已機場為Flow Table Process的例子機場(SDN網路)有自動通關系統(Switch)，Jessica(Packet)第一次出國通關系統不認識她因此請她去找服務人員(Controller)申請，申請後在系統中有她的資料(Flow Table)，因此她在通過時Match到其中一個entry因此放她通行
22Comparison Among The Controllers R. Khondoker, A. Zaalouk, R. Marx, K. Bayarou, “Feature-based Comparison and Selection of Software Deﬁned Networking (SDN) Controllers,” In Computer Applications and Information Systems (WCCAIS), IEEE, 2014
23Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
25Google Networks Scales User baseWorld population: billion people (June’08, US Census est.)Internet Users: billion (>20%) (June’08 Nielsen/ITU)Google Search: More than Billion Searches Every DayGeographical DistributionGoogle services are worldwide: over 55 countries and 112 languagesData GrowthWeb expands/changes: billions of new/modified pages every monthEvery few hours Google craw/refresh more than entire Library of CongressYouTube gains over 131,518,242,460 hours of video every minute, 4+ billion views every dayLatency ChallengeSpeed of Light in glass: 2 x 10^8 m/s = 2,000 km/10ms“Blink of an eye response” = 100 msThe statistics are from Google company
26ATLAS 2010 Traffic ReportA tier 1 network is an Internet Protocol (IP) network that participates in the Internet solely via settlement-free interconnection, also known as settlement-free peering.The original Internet backbone was the ARPANET when it provided the routing between most participating networks. It was replaced in 1989 with the NSFNet backbone. The Internet could be defined as the collection of all networks connected and able to interchange Internet Protocol datagrams with this backbonePosted on Monday, October 25th, 2010| Bookmark on del.icio.us“Google Sets New Internet Traffic Record,”by Craig Labovitz
27Google’s WAN B4 Using Software Defined Networking (SDN) principles Using OpenFlowSupporting standard routing protocolsCentralized Traffic Engineering (TE)S. Jain, et. al., “B4, Experience with a Globally-Deployed Software Defined WAN,” ACM SIGCOMM conference, 2013
28Google’s WAN B4 (cont.) Traditional WAN Routing Treat all bits the same30% ~ 40% average utilizationCentralized Traffic Engineering (TE)Drive links to near 100% utilizationFast, global convergence for failures
29B4 Sample UtilizationThe statistics are from Google company
30Google’s WAN B4 HistoryThe statistics are from Google company
31Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
32FreneticFrenetic is introduced as a high-level language to program the controller to manage switches in the SDN network .
33PyreticBased on Frenetic and Python, Pyretic is introduced as an SDN programming language or platform that raises the level of abstraction .Python + Frenetic = PyreticPyretic
34Pyretic (cont.)It allows programmers to focus on how to specify a network policy at high-level abstraction.Pyretic hides low-level details by allowing programmers to express policies as compact, abstract functions that take a packet as input, and return a set of new packets.
35Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
36MininetMininet is an open source network emulator that supports the OpenFlow protocol for the SDN architecture. It is one of the most popular tools used by the SDN research community.
37Mininet FeaturesIt's fast - starting up a simple network takes just a few seconds. This means that your run-edit-debug loop can be very quick.You can create custom topologies: a single switch, larger Internet-like topologies, the Stanford backbone, a data center, or anything else.You can run real programs: anything that runs on Linux is available for you to run, from web servers to TCP window monitoring tools to Wireshark.
38Mininet Features (cont.) You can run Mininet on your laptop, on a server, in a VM, on a native Linux box (Mininet is included with Ubuntu !), or in the cloud (e.g. Amazon EC2.)You can share and replicate results: anyone with a computer can run your code once you've packaged it up.Mininet is an open source project, so you are encouraged to examine its source code on https://github.com/mininet, modify it, fix bugs, file issues/feature requests, and submit patches/pull requests.GitHub -https://github.com/mininet/mininet/wiki/Introduction-to-Mininet
39EstiNet Simulator/Emulator EstiNet combines the advantages of both the simulation and emulation approaches without their respective shortcomings.EstiNet uses tunnel network interfaces to automatically intercept the packets exchanged by two real applications and redirect them into the EstiNet simulation engine.
40EstiNet Simulator/Emulator (cont.) EstiNet’s GUI can be used to easily set up and configure a simulation case and be used to observe the packet playback of a simulation run.
42Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
43Edsger Wybe Dijkstra Dijkstra was born in Rotterdam, Netherlands. He received the 1972 Turing Award for fundamental contributions to developing programming languages.In 2002, he received the ACM PODC Influential Paper Award in distributed computing for his work on self-stabilization of program computation. This annual award was renamed the Dijkstra Prize the following year, in his honor.Dijkstra 1930出生，他的父親是一位化學家，母親是一位數學家，這個家庭充滿者科學家的氣息，這對他的整個人生影響非常大，而他獲得了很多獎項而且在計算機科學界有很大的貢獻。圖:http://en.wikipedia.org/wiki/Edsger_W._Dijkstra(1930~2002)
44Dijkstra’s shortest path algorithm is a 20-mimute invention while drinking coffee“One morning I was shopping in Amsterdam with my young fiancée, and tired, we sat down on the café terrace to drink a cup of coffee and I was just thinking about whether I could do this, and I then designed the algorithm for the shortest path. As I said, it was a 20-minute invention. In fact, it was published in 1959, three years later.”Thomas J. Misa (Editor), "An Interview with Edsger W. Dijkstra," Communications of the ACM 53 (8): 41–47, 2010.
45Dijkstra's AlgorithmConceived by computer scientist Edsger Dijkstra in 1956, published in 1959, is a graph search algorithm.Solves the single-source all-destination shortest path problem for a graph with non-negative edge path costs, producing a shortest path tree.This algorithm is often used in routing and as a subroutine in other graph algorithms.
46Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
53Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
54The Abilene Network Core Topology The Abilene network is a high-performance backbone network suggested by the Internet2 project in the late 1990s.It connects 11 regional sites or nodes across the United States.It has 10 Gbps connectivity between neighboring nodes and 100 Mbps connectivity between a host and a node.Abilene Network was a high-performance backbone network created by the Internet2 community in the late 1990s. In 2007 the Abilene Network was retired and the upgraded network became known as the "Internet2 Network“Historical Abilene Connection Traffic Statistics,last accessed in March 2014.
55Simulation Settings for Routing Setting up the Abilene topology in Mininet for routing from the green client to the red client
56Simulation Settings for Routing (cont.) We use Iperf as a testing tool to generate TCP data streams in our simulation.The testing time for every testing case is 1000 seconds.The Iperf tool reports the average TCP bandwidth between a client and the server, and we use the packet size of 53 bytes to derive the average end-to-end latency.
58Simulation Setting for Multicasting Topology Setting
59Simulation Settings for Multicasting (cont.) ParameterSettingNumber of controller1 Number of switches11Number of publisher1Number of subscribers12Number of edges25ControllerPOX 2.0 supporting PyreticOpenFlow switchOpen vSwitch 1.0Testing toolIperfTesting time per case30 sec
61Simulation Results for Multicasting (cont.) The DSPT
62Simulation Results for Multicasting (cont.) The EDSPTparent46521110child13789
63Simulation Results for Multicasting (cont.) Throughput
64Simulation Results for Multicasting (cont.) Average Throughput
65Simulation Settings for Load-Balancing OpenFlow ControllerOpenvswitchServerHosts
66Simulation Settings for Load-Balancing (cont.) ParameterSettingBandwidth on edges1 GbpsNumber of server2Number of switches11Number of edges25ControllerPOX 2.0 supporting PyreticOpenflow SwitchOpen vSwitch 1.0Testing toolIperf, NetperfTesting time30 sec
67Simulation Results for Load-Balancing End-to-End Latency
68Simulation Results for Load-Balancing (cont.) Response Time
69Simulation Results for Load-Balancing (cont.) Total Transactions to Servers
70Simulation Results for Load-Balancing (cont.) Variation Loads on Server
71Outline Software-Defined Networking (SDN) Overview History OpenFlow Google’s WAN B4LanguagesSimulators and EmulatorsExtended Dijkstra’s AlgorithmDijkstra’s AlgorithmApplicationsSimulationsSummary
72SummaryWe have introduced the SDN concept and its related technologies.We have shown how to apply the extended Dijkstra’s algorithm to SDN-based end-to-end routing, multicasting and load-balancing.
73Related PublicationJehn-Ruey Jiang, Hsin-Wen Huang, Ji-Hau Liao, and Szu-Yuan Chen, “Extending Dijkstra’s Shortest Path Algorithm for Software Defined Networking,” in Proc. of the 16th Asia-Pacific Network Operations and Management Symposium (APNOMS 2014), 2014.Jehn-Ruey Jiang, Widhi Yahya, and Mahardeka Tri Ananta, “Load Balancing and Multicasting Using the Extended Dijkstra’s Algorithm in Software Defined Networking,” in Proc. of the International Computer Symposium 2014 (ICS 2014), 2014.