Network Programming OnePK in the operator platform Krzysztof Konkowski, Przemysław Pisarek Cisco Systems
Agenda Wprowadzenie Modele programowania sieci onepk Przykłady zastosowań Podsumowanie
WPROWADZENIE
Gorący temat w branżowych mediach, startupy, przejęcia... 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Chciałbym móc programować moją sieć ponieważ potrzebuję A way to optimize link utilization in my network enhanced, application driven routing An open solution for VM mobility in the Data- Center A platform for developing new control planes A way to reduce the A means to get APEX of my network assured and leverage quality of commodity experience for switches my cloud service offerings A means to scale my fixed/ mobile gateways and optimize their placement A solution to build a very large Elastyczność scale layer-2 network A way to distribute policy/intent, e.g. for DDoS prevention, in the network kreowania nowych usług Uproszczenie utrzymania sieci A way to optimize broadcast TV delivery by optimizing cache placement and cache selection A way to configure my entire network as a whole rather than individual devices 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public An open solution for customized flow forwarding control in and between Data Centers A solution to build virtual topologies with optimum multicast Przychody forwarding behavior A way to build my own security/encryption solution Develop solutions at software speeds: I don t want to work with my network vendor or go through lengthy standardization. z nowych obszarów A means to do traffic engineering without MPLS A way to scale my firewalls and load balancers A solution to get a global view of the network topology and state
Skąd się wziął pomysł na SDN? Stanford University Clean Slate Project explore what kind of Internet we would design if we were to start with a clean slate and 20-30 years of hindsight. http://cleanslate.stanford.edu/ 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Podstawowe koncepcje In the SDN architecture, the control and data planes are decoupled, network intelligence and state are logically centralized, and the underlying network infrastructure is abstracted from the applications OpenFlow is the first standard communications interface defined between the control and forwarding layers of an SDN architecture. OpenFlow allows direct access to and manipulation of the forwarding plane of network devices such as switches and routers, both physical and virtual (hypervisor-based) https://www.opennetworking.org/images/stories/downloads/white-papers/wp-sdn-newnorm.pdf 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public 7
MODELE PROGRAMOWANIA SIECI
Modele programowania sieci Applications (Network Mgmt, Monitoring, ) CLI, SNMP, Netflow, Control Plane Data Plane 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Modele programowania sieci 1 Programmable APIs Applications Applications (Network Mgmt, Monitoring, ) Vendorspecific APIs CLI, SNMP, Netflow, Vendor Specific (e.g. onepk) Control Plane Control Plane Data Plane Data Plane 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Modele programowania sieci 1 Programmable APIs 2a Classic SDN Applications Applications Applications (Network Mgmt, Monitoring, ) Vendorspecific APIs Vendorspecific APIs Controller CLI, SNMP, Netflow, Vendor Specific (e.g. onepk) OpenFlow, PCEP, I2RS Vendor Specific (e.g. onepk) Control Plane Control Plane Data Plane Data Plane Data Plane 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Modele programowania sieci 1 Programmable APIs 2a Classic SDN 2b Hybrid SDN Applications Applications Applications Applications (Network Mgmt, Monitoring, ) Vendorspecific APIs Vendorspecific APIs Controller Vendorspecific APIs Controller CLI, SNMP, Netflow, Vendor Specific (e.g. onepk) OpenFlow, PCEP, I2RS Vendor Specific (e.g. onepk) OpenFlow, PCEP, I2RS Vendor Specific (e.g. onepk) Control Plane Control Plane Control Plane Data Plane Data Plane Data Plane Data Plane Model hybrydowy umożliwia ochronę inwestycji i większy wybór funkcjonalności 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Modele programowania sieci 1 Programmable APIs 2a Classic SDN 2b Hybrid SDN 3 Overlays Networks Applications Applications Applications Applications Applications (Network Mgmt, Monitoring, ) Vendorspecific APIs Vendorspecific APIs Controller Vendorspecific APIs Controller Vendorspecific APIs Virtual Switch Overlays CLI, SNMP, Netflow, Vendor Specific (e.g. onepk) OpenFlow, PCEP, I2RS Vendor Specific (e.g. onepk) OpenFlow, PCEP, I2RS Vendor Specific (e.g. onepk) Overlay Protocols (e.g. VXLAN) Control Plane Control Plane Control Plane Control Plane Overlays Data Plane Data Plane Data Plane Data Plane Data Plane Warto zauważyć że Network Overlays można stosować zarówno dla sieci programowalnych jak i klasycznych. Wszystkie rozwiązania można a czasem zapewne nawet trzeba 2013 uzupełnić Cisco and/or its affiliates. o All dodatkowe rights reserved. funkcjonalności. PLNOG, Cisco Public
CISCO ONE PK 14
onepk jest jak... J Not Me Uniwersalne narzędzie Wiele zastosowań Nie trzeba być ekpertem żeby docenić i wykorzystać możliwości Można uszyć rozwiązanie na miarę potrzeb 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public 15
Open Network Environment czyli co chcemy osiągnąć Ewolucja w celu spełniania nowych wymagań ze strony aplikacji i biznesu Open Network Environment kompletne środowisko do budowy inteligentnych sieci przyszłości Zachowajmy to co dobrze działa: Niezawodność, skalowalność, bezpieczeństwo, jakość usług oraz bogatą funkcjonalność IOS Umożliwijmy realizację nowych potrzeb i funkcjonalności: Programowalność sieci, uproszczenie zarządzania, lepsza integracja z aplikacjami Programowalne API Open Network Environment Uproszczenie utrzymania sieci Szybkość wdrażania usług Zarządzanie zasobami: kontrolery, agenci Open Network Environment integruje się z istniejącą infrastrukturą Koncepcje zawarte w idei Software Defined Network są częścią ONE Nowe źródła przychodów OpenFlow może być także wkorzystany jako link pomiędzy kontrolerem a agentami Wirtualizacja infrastruktury
Architektura onepk Aplikacje C, JAVA, Python, REST* onepk API Presentation onepk API Infrastructure IOS / XE (Catalyst, ISR, ASR1K) NXOS (Platformy Nexus) IOS XR (ASR 9K, CRS) 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Jak wygląda w praktyce abstrakcja warstwy sieciowej? 2951- SJC24-1#dir Directory of flash0:/ 0 - rw- 60521204 Oct 14 2011 15:53:26 c2951- universalk9- mz.spa.153-1.t.bin 2951- SJC24-1#conf t Enter configura\on commands, one per line. End with CNTL/Z. 2951- SJC24-1(config)#username app1 password pass1 2951- SJC24-1(config)#onep 2951- SJC24-1(config- onep)#transport type tls onepk API Infrastructure IOS / XE (Catalyst, ISR, ASR1K) NXOS (Nexus Platforms) IOS XR (ASR 9K, CRS) 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Jak wygląda w praktyce warstwa prezentacji? C, JAVA, Python Program onepk API Presentation onepk- sdk- c- rel- lnx- x86_64/32.tar onepk- sdk- java- rel- all.tar [cisco@onepk-eft1 tutorials]$ java -classpath.:libonep-corerel.jar:libthrift-0.6.1.jar:slf4japi-1.6.1.jar com.cisco.onep.tutorials.hellorouter 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
W onepk funkcje są pogrupowane w zestawy usług (Service Sets) Zestaw usług Opis Data Path Policy Routing Element Discovery Utility Developer Usługi transmisji pakietów (akcje: Copy, Punt, Inject) Dostarcza usługi filtrowania (NBAR, ACL), klasyfikacji (Class-maps, Policy-maps), akcji (Marking, Policing, Queuing, Copy, Punt) oraz przypisuje polityki do interfejsów na elementach sieciowych Odczytuje trasy z RIB, dodaje/usuwa trasy, otrzymuje komunikaty RIB Pobiera właściwości elementów, statystyki CPU, pamięci, interfejsów sieciowych, zdarzenia związane z elementami Topologia L2 topology i wykrywanie lokalnych usług Powiadomienia Syslog, Path tracing itp. Debuging, rozszerzenia do CLI które pozwlają na integrację CLI aplikacji z elementami sieciowymi 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Gdzie jest miesce dla aplikacji onepk? Wybierz model kóry najlepiej pasuje do Twoich potrzeb App Serwer zewnętrzny Bardzo duże zasoby sprzętowe (CPU/RAM) Większe opóźnienie Wspierany przez wszystkie platformy sprzętowe End- Node App Blade Moduł blade na urządzeniu Dedykowane zasoby sprzętowe Niskie opóźnienie Wymagane moduły blade Blade App Bezpośrednio na routerze Współdzielone i ograniczone zasoby sprzętowe Bardzo niskie opóźnienie Wymaga modularnej architektury oprogramowania Process 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public 21
Zarządzenie i kontrola Cisco ONE Controller Platforma zapewniające funkcje kontroli i zarządzania całą siecią z wykorzystaniem onepk/ OpenFlow Architektura modułowa, łatwe rozszerzanie o nowe funkcjonalności/api Wbudowane moduły usługowe Flexible Network Partitioning and Provisioning ( Slicing ) Network Troubleshooting Custom Routing Napisany w Java Built- in GUI for Management Applications (Cisco) Applications (Customer) Applications (3 rd party) Apps/Applica6ons Northbound API Network Slicing Network Troubleshooting Custom Routing Controller built- in Applica6ons Flow Management Forwarding Logic Device Management Controller Core Infrastructure onepk API OpenFlow 1.x Protocol Southbound APIs (onepk, OneFlow, ) onepk onepk OpenFlow OpenFlow 22
Kontroler Cisco ONE interfejs użytkownika Przykładowe zastosowania Troubleshoo6ng Network Slicing Network Sta6s6cs 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Open Daylight i Cisco OpenDaylight is an open source project formed by industry leaders and others under the Linux Foundation with the mutual goal of furthering the adoption and innovation of Software Defined Networking (SDN) through the creation of a common vendor supported framework. 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Bezpieczeństwo zaszyte w architekturze onepk Bezpiecz. Aplikacji Podpis cyfrowy Proces certyfikacji Izolacja kodu Kontrola typów wyrażeń Bezpiecz. kodu onepk Bezpiecz. administr acji Kontrola CLI Przypisanie zasobów AAA (PKI) Szyfrowanie (TLS) Bezpiecz. środowis ka Bezpiecz. kontenera 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public Izolacja Zużycie zasobów
CZĘŚĆ PRAKTYCZNA
Demo #1 szyfrowanie strumienia 10.1.13.1/24 Telnet 10.1.13.1 User: user1 Pass: pass1 show clock 20.1.1.1/24 Ethernet0/2 10.1.13.101/24 NE101 Ethernet0/1 Ethernet0/1 Ethernet0/2 10.1.12.101/24 10.1.12.100/24 20.1.1.100/24 NE100 App101 App100 Wireshark A Sesja telnet Pakiety wysyłane do App przy pomocy onepk Aplikacja szyfrująca ruch Krzysztof.Konkowski@cisco.com CCIE #20050: RS, SP
Demo #2 rou\ng na bazie polityki ($, opóźnienia) Miejsca zmiany opóźnienia (łącze) Wybrana trasa na bazie $$$, opóźnienia lub metryki EIGRP. Zmiana kosztu ($$$) łącza w dowolnym miejscu bangalore#traceroute 100.1.1.1 Krzysztof.Konkowski@cisco.com CCIE #20050: RS, SP
Demo #3 generator ruchu 10.1.13.1/24 20.1.1.1/24 Ethernet0/2 10.1.13.101/24 NE101 Ethernet0/1 Ethernet0/1 Ethernet0/2 10.1.12.101/24 10.1.12.100/24 20.1.1.100/24 NE100 App100 Wireshark A Pakiety wysyłane przez App przy pomocy onepk Generator ruchu (pakiety ICMP, UDP, RAW (odczytywane jako SNMP) Krzysztof.Konkowski@cisco.com CCIE #20050: RS, SP
PODSUMOWANIE
onepk na plamormach Cisco Catalyst 2K/3K/4K/6K Nexus 7K/6K/5K/3K Data Center Cisco ISR G2 / 4400 Cisco ASR901 Cisco ASR1000 Cisco ASR903 Cisco ASR9000 Enterprise Campus IP NGN Cisco END- TO- END onepk
Do czego jeszcze można wykorzystać onepk? onepk Sample Applications To już zależy od naszej wyobraźni J 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Cisco ONEpk dodatkowe informacje http://cisco.com/go/one http://developer.cisco.com/web/onepk/home 2013 Cisco and/or its affiliates. All rights reserved. PLNOG, Cisco Public
Dziękujemy J Pytania?
Kod Promocyjny: cisco2013