O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

20150511 jun lee_openstack neutron 분석 (최종)

6.213 visualizações

Publicada em

OpenStack Neutron 에 대해 분석한 자료입니다.

Publicada em: Tecnologia
  • Entre para ver os comentários

20150511 jun lee_openstack neutron 분석 (최종)

  1. 1. OpenStack Neutron 분석 2015. 05. 11 ㈜파이오링크 SDN개발실 이준 (jun.lee@piolink.com)
  2. 2. © PIOLINK, Inc. SDN No.1 Contents  Backgrounds  OpenStack Neutron Overview  History of OpenStack Neutron  Details of OpenStack Neutron - Concept of OpenStack Networking - OpenStack Networking Architecture - OpenStack Neutron Network - OpenStack Neutron Plugins and Agents  OpenStack Networking Deployment Use Cases  SDN Controller with OpenStack Neutron  Summary  References 2
  3. 3. © PIOLINK, Inc. SDN No.1  Backgrounds 3
  4. 4. © PIOLINK, Inc. SDN No.1 Backgrounds  Terminology in OpenStack Neutron - OpenStack: Cloud 환경에서 Computing, Storage, Network 등 자원을 관리하는 Cloud OS • Open Source Software 프로젝트의 집합 (Nova, Swift, Cinder, Neutron, Horizon, Keystone …) - Nova: VM (Virtual Machine) Instance 를 구축하고 관리 - Neutron: Virtual Network 관리 - Keystone: 인증서비스 제공 - Horizon: Dashboard 구성, VM 설치 및 관리 모니터링 등을 지원 - Tenant: 사용자에 대한 논리적인 그룹, OpenStack 에서 Resource 는 사용자에게 직접 할당되지 않고 Tenant 단위로 할당 - Fixed IP: Virtual Instance 를 생성할 때 사용하는 Private IP • Host 내부에서 만 통신 가능 • VM 이나 External Network 와 통신 시 SNAT 필요 (L3 Agent 에서 수행) - Floating IP: Virtual Instance 를 외부에서 사용 가능하도록 해주는 Public IP - Network Virtualization: Network 를 Virtual Machine 처럼 생성해서 사용하는 것 4
  5. 5. © PIOLINK, Inc. SDN No.1 Backgrounds 5  OpenStack Basic Architecture for Networking Service Compute Node Controller Node Controller NodeNetwork Node  OpenStack 에서 Networking Service 제공을 위해, Network Node, Compute Node, Controller Node 로 구성
  6. 6. © PIOLINK, Inc. SDN No.1  OpenStack Neutron Overview 6
  7. 7. © PIOLINK, Inc. SDN No.1 OpenStack Neutron Overview 7  Concept of OpenStack Neutron Nova Neutron VM VM VM User Create VMs Create Network and Attach Port to VM Network 1 Network 2  Nova (Compute Node)에서는 VM Instance 를 생성하는 역할을 담당  Neutron 에서는 Network Virtualization Service를 제공: Virtual Network 를 생성하고 관리하는 역할을 담당  Virtual Network 를 설정하고 VMs 을 연결할 수 있는 추상화된 API 를 제공 (소프트웨어 기반의 Network Service 제공)  Virtual Switch 와 Physical Switch 를 연결  다양한 Networking 관련 기술 및 장비를 지원하기 위해 Plugin 방식을 사용
  8. 8. © PIOLINK, Inc. SDN No.1 OpenStack Neutron Overview  Concept of OpenStack Neutron: Network Virtualization 8 Tenant View Physical View Data Center Network Hypervisor Phy server1 VM A1 VM B1 Hypervisor Phy server2 VM A2 Hypervisor Phy server3 VM B2 VM A1 VM A2 Network A VM B1 VM B2 Network B  하나의 물리 네트워크상에 독립적인 서로 다른 Virtual Network 를 운용할 수 있는 기술을 의미  Neutron 을 통해 OpenStack 에서 다양한 형태의 Virtual Network Topology 구성이 가능 함
  9. 9. © PIOLINK, Inc. SDN No.1 OpenStack Neutron Overview  Concept of OpenStack Neutron: Architecture 9  외부에서 Virtual Network 를 생성하고 제어가 가능하도록 REST API 형태로 외부에 공개  Neutron Server 는 외부 요청을 처리하고, DB 에 작업상태를 수시로 업데이트  Neutron Server 를 통해 전달된 요청은 Keystone과 연결된 모듈을 통해 인증과 접근권한을 확인 - 인증된 메시지만 설정된 Neutron Plugin 으로 전달  외부에 공개되는 API 는 Core API 와 Extension API 로 구분 가능 - Core-plugins: L2 Network, L3 Subnet, 포트제어, IP 주소관리 와 같이 기본적인 역할을 하는 Plugin - Service-plugins: Load balancing, firewall, VPN 과 같은 부가적인 네트워크 서비스를 제공하는 Plugin NeutronNeutron Server API Clients Core Neutron API Extension API Authentication & Authorization via OpenStack Keystone Neutron Pluggable Backend REST API Core-plugins Service-plugins DB Horizon GUI Neutron CLI ML2 OVS Cisco LB FW VPN L3 service
  10. 10. © PIOLINK, Inc. SDN No.1 OpenStack Neutron Overview 10  Concept of OpenStack Neutron: Core API VM1 10.0.0.2 Network1 10.0.0.0/24 VM2 10.0.0.3Nova Neutron Virtual Server Virtual Interface (VIF) Virtual Port Virtual Network  Network, Subnet, Port 들의 추상화를 통해 해당 객체를 제어할 수 있는 API 제공 - Network: 독립된 L2 Network Segment 를 의미 함 (Layer2 Broadcast Domain, VLAN 개념과 유사함) - Subnet: Network 에서 사용하는 IP주소 범위를 의미함, 각 Network 는 Multiple subnets 사용 가능 - Port: L2 Network 에 연결되는 지점을 의미 함, Port 에는 MAC 주소와 Fixed IP 주소가 할당 됨 Subnet
  11. 11. © PIOLINK, Inc. SDN No.1 OpenStack Neutron Overview  Concept of OpenStack Neutron: Core API 예제 - Networking API v2.0 사용 - Networks: List, show information for, create, update, and delete networks • POST /v2.0/networks // Network 생성 • GET /v2.0/networks/{network_id} // Network 정보 조회 - Subnets: List, show information for, create, update, and delete subnet resources • POST /v2.0/subnets // Subnet 생성 • GET /v2.0/subnets/{subnet_id} // Subnet 정보 조회 - Ports: List, show information for, create, update, and delete ports • POST /v2.0/ports // Port 생성 • GET /v2.0/ports/{port_id} // Port 정보 조회 11
  12. 12. © PIOLINK, Inc. SDN No.1 OpenStack Neutron Overview 12  Concept of OpenStack Neutron: Core API Details Horizon Neutron Nova Create Network Network-id Create Subnet Subnet-id Create Port Port-id Create a VM with Port = Port-id  Neutron 을 통해 Network, Subnet, Port 등을 생성하고 Nova 를 통해 VM 을 생성 Figure: Create a VM Flow
  13. 13. © PIOLINK, Inc. SDN No.1 OpenStack Neutron Overview  Concept of OpenStack Neutron: Extension API 예제 - Networking API v2.0 사용 - Load-Balancer-as-a-Service (LBaaS) • POST /v2.0/lb/vips // load balancer VIP 생성 • GET /v2.0/lb/vips/{vip_id} // VIP 정보 조회 • POST /v2.0/lbaas/pools // load balancer pool 생성 • GET /v2.0/lbaas/pools/{pool_id} // load balancer pool 정보 조회 - Virtual-Private-Network-as-a-Service (VPNaaS) • POST /v2.0/vpnservices // VPN Service 생성 • GET /v2.0/vpnservices/{service_id} // VPN Service 상세정보 조회 • POST /v2.0/vpn/ipsecsiteconnections // IPSec connection 생성 • GET /v2.0/vpn/ipsecsiteconnections/{connection_id} // IPSec connection 정보 조회 13
  14. 14. © PIOLINK, Inc. SDN No.1 OpenStack Neutron Overview 14  Concept of OpenStack Neutron: Plugin Architecture Neutron Plugin Network Controller (Agent) Network Appliance / Software Switch Plugin Plugin Plugin Network Controller Network Controller Network Controller Type A Type B Type B … Application Select a plugin to use Neutron API  OpenStack Neutron 은 다양한 Vendor 의 요구사항을 수용하기 위해 Plugin – Agent 구조로 되어 있음  Plugin 은 명령을 전달하는 역할 / Agent 는 명령어를 전달받아 실제 장비나 Software 에 명령어 실행  Plugin Architecture 장점: 기본적으로 제공되는 기능이 부족하다면, Third Party 에서 원하는 기능을 추가 할 수 있음  PIOLINK 에서도 Neutron Plugin 의 LBaaS Driver 개발 경험 있음 (뒤 슬라이드에서 설명)
  15. 15. © PIOLINK, Inc. SDN No.1 OpenStack Neutron Overview 15  Concept of OpenStack Neutron: Plugin Architecture Controller Node Neutron Server REST API 제공 Messaging  Plugin 은 명령을 전달하는 역할 / Agent 는 명령어를 전달받아 실행 - Agent 에서는 실제 장비 또는 가상장비에 설정 이나 Virtual Network 생성 등을 수행  Neutron 에 다양한 Plugin 이 존재 함 (각 Vendor 들의 상용제품 포함) Network Node Compute Node L3 Agent L2 Agent DHCP Agent L2 Agent Virtual Router 생성 Virtual L2 Switch 생성 Fixed IP 주소 할당 Virtual L2 Switch 생성 Message Queue Adv Services Plugin LB, VPN 등 설정
  16. 16. © PIOLINK, Inc. SDN No.1  History of OpenStack Neutron 16
  17. 17. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack Release 17 Release Name Release Date Included Components Austin Oct 12, 2010 Nova, Swift Bexar Feb 3, 2011 Nova, Glance, Swift Cactus Apr 15, 2011 Nova, Glance, Swift Diablo Sep 22, 2011 Nova, Glance, Swift Essex Apr 5, 2012 Nova, Glance, Swift, Horizon, Keystone Folsom Sep 7, 2012 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Grizzly Apr 4, 2013 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Havana Oct 17, 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer Icehouse Apr 17, 2014 All above, Trove Juno Oct 16, 2014 All above Kilo Apr 30, 2015 All above, Sahara Liberty Oct 15, 2015 (Under Discussion)  Diablo, Essex 에서는 Quantum 이 실험적으로, Folsom 부터 Quantum 이 공식 프로젝트로 포함 되었음  Havana 부터는 상표권 문제로 Quantum 대신 Neutron 이라는 이름으로 변경 (Quantum = Neutron)
  18. 18. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack Networking Service - OpenStack 의 Networking Service 는 Quantum 출현 전후로 변화가 생김 - OpenStack Austin ~ Essex • OpenStack 초기 배포 버전의 경우 Nova 프로젝트의 Nova-Network 를 통해 사용자 or 사용자 그룹에게 기본적인 L2 Virtual Network 만을 제공 - OpenStack Folsom ~ • Nova-Network 의 여러 가지 기술적 제약사항과 확장 가능성을 고려하여 독립된 Networking Service 필요성이 제기 됨 • Quantum/Neutron 을 통해 VM에 대한 Multi-tenant Network 연결 서비스 와 다양한 Network 기반 Service 제공 가능 • Quantum/Neutron 을 통해 Switching, Routing, Load Balancing, VPN 등 Data Center 에서 사용되는 다양한 기술을 제공이 가능 함 18
  19. 19. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack Nova Network - Nova 는 OpenStack 에서 VM 을 관리하는 하위 프로젝트 명 - 초기에는 VM 을 관리하는 Nova 에서 Network 도 함께 관리 하였음 • 초기에는 VM Instance 와 Network 가 동시에 관리되어야 한다고 생각 - Nova 구성 요소 내 Nova Network 라는 하위 구성 요소를 두고 설계되어 발전 • Nova Network 는 OpenStack 에서 Network Resource 를 관리 - Nova Network 에서는 아래 3가지 Mode 를 지원 • Flat Mode • Flat DHCP Mode • VLAN DHCP Mode 19
  20. 20. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack Nova Network: Flat Mode 20 VM VM VM Bridge G/W eth0  가장 간단한 Networking 구조  모든 VM Instance 가 하나의 bridge 에 연결되어 고정 IP를 부여 받음  VM 이 Booting 시 Network Configuration (/etc/network/interface)에 저장된 정보를 통해 IP 할당
  21. 21. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack Nova Network: Flat DHCP Mode 21 VM VM VM Bridge G/W eth0  Flat Mode 와 마찬가지로 모든 VM Instance 가 하나의 Bridge 에 연결  dnsmasq 를 통해 IP를 할당 받음  dnsmasq: DNS, DHCP 서버 역할을 하는 OpenSource dnsmasq
  22. 22. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack Nova Network: VLAN DHCP Mode 22 VM VM VM Bridge G/W eth0 dnsmasq Bridge G/W dnsmasq vlan 100 vlan 101  VM Instance를 Public 영역에 노출시키지 않음 (VPN 을 통해 접근 가능)  Project 별로 VLAN 과 Bridge를 생성 (Project 는 Private IP 대역을 얻음)  VM Instance 는 Project 가 할당 받은 Private IP중 하나를 얻음  Nova VPN (CloudPipe): 사용자가 VLAN 밖에서 VLAN 내의 VM Instance 에 접근하기 위해 사용하는 VPN Instance  OpenStack 초기 Version 에서는 Tenant 를 Project 라고 표현 하였음
  23. 23. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack Quantum/Neutron 의 출현 배경 - 기술적 제약 • Cloud Computing Service 가 확산되면서 아래와 같은 기술이 요구됨 - Multi tenancy 지원 » Data Center 내에서 User or Tenant 가 생성한 Network 가 독립된 Network 처럼 동작 하는 것 » VLAN, Tunneling, MPLS (Multi-Protocol Label Switching) 기술 등을 통해 제공 가능 - Dynamic Network Provisioning » Tenant Network 구성을 위해 Resource 를 할당하고 설정하는 일을 자동화 하는 기술 - VM Migration » 서비스 품질 보장을 위해 생성한 VM 을 다른 서버로 이전(Migration)하는 기술 » 서비스 연속성 보장을 위해 IP 주소 등 Network 설정이 그대로 유지되어야 함 • 상용 Vendor 하드웨어 구성과 연계를 위한 통합된 Network Virtualization 방안 필요 • Nova Network 에서는 일부 기본적인 기술만을 지원 - Multi tenancy 지원 » VLAN을 이용하여 4094개의 Multi Tenant Network 구성 가능 » Data Center 의 규모가 확대되고 VM 수가 증가함에 따라 더욱더 많은 Tenant Network 구성이 요구됨 - Dynamic Network Provisioning » Tenant Network 구성을 위한 Resource 를 할당하고 설정을 관리자가 수작업을 통해 해야 함 23
  24. 24. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack Quantum/Neutron 의 출현 배경 - Tenant 제어의 한계 • 기업에서 Cloud Computing 환경 도입 시 이미 운용 중이던 복잡한 Infra를 가급적 그대로 유지하길 원함 • Cloud Computing 환경에서 기존 Infra 를 그대로 재현하기 위해서는 아래와 같은 기술이 필요 함 - Multi tier Network 생성 » Multi tier Network 웹 서비스 제공 시 성능향상 및 보안 성을 높이기 위해 웹 서버, 응용 서버, 데이터베이스 서버를 각각 분 리하여 다 계층 으로 구성하는 방법 - IP 주소 관리 » Data Center 내에서 동일한 IP 주소를 중복해서 사용 가능하도록 지원 - Network 서비스 장비의 추가 및 설정 » Load Balancer, Firewall 등 다양한 Network Service 장비를 Tenant 별로 쉽게 추가하고 제어할 수 있도록 지원 - 원격 서버 또는 장비와의 VPN (Virtual Private Network)연결 » Cloud Infra 밖의 원격 서버나 장비와 VPN 연결을 통해 안전한 Virtual Private Network 환경 구축 지원 24
  25. 25. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack 배포 Version 별 Quantum/Neutron 특징 25 Compute Node Controller Node Management Data External API Internet Controller Node quantum Server quantum *-plugin-agent Network Node quantum *-plugin-agent quantum L3 Agent quantum DHCP Agent - OpenStack Folsom  최초로 Quantum 이 공식 프로젝트로 포함 (Quantum 이전 Diablo, Essex 에서는 시험적으로 포함되어 있었음)  L3 Subnet 을 제어할 수 있는 API 추가 (L2 관련 API 기존에 지원), 서로 다른 L2 네트워크에서 Fixed IP 중복 사용 가능하도록 변경  Provider Network, L3 forwarding, SNAT, Floating IP 관리 등 L3 네트워크 제어가 가능하도록 기능 확장  Multiple Router 를 지원 가능 하도록 변경  Neutron 신규 Plugin 추가: Open vSwitch, Cisco, Linux Bridge, Nicira NVP, Ryu, NEC
  26. 26. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack 배포 Version 별 Quantum/Neutron 특징 26 Compute Node Controller Node Management Data External API Internet Controller Node quantum Server quantum *-plugin-agent Network Node quantum *-plugin-agent quantum L3 Agent quantum DHCP Agent - OpenStack Grizzly quantum Metadata agent  Multiple Network 지원 (복수의 Network Node 를 배치하여 Network Service 장애 위험 최소화, High Availability 지원 가능)  HA Proxy를 기반으로 Load Balancer (LBaaS) 서비스 제공  L3/L4 Packet filtering 기능 추가, Meta plugin 실험적으로 추가  Neutron 신규 Plugin 지원: Big Switch, Brocade, Hyper-V, Plum Grid, Midonet, 기존 Plugin 개선: Nicira NVP, Ryu
  27. 27. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack 배포 Version 별 Quantum/Neutron 특징 27 Compute Node Controller Node Management Data External API Internet Controller Node neutron server neutron *-plugin-agent Network Node neutron *-plugin-agent neutron L3 Agent neutron DHCP Agent - OpenStack Havana  Code Name: Quantum 에서 Neutron 으로 변경 됨  Load Balancer (LBaaS) 기능 개선, VPN (VPNaaS), Firewall (FWass) 등의 Service 추가  ML2 Plugin 개념이 처음으로 나옴
  28. 28. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack 배포 Version 별 Quantum/Neutron 특징 28 Compute Node Controller Node Management Data External API Internet Controller Node neutron server Layer 2 Agent (OVS) Network Node ML2 Plug-in Layer 2 Agent (OVS) Layer 3 Agent - OpenStack Icehouse ML2 Plugin ML2 Plug-in DHCP Agent  Neutron 안정화 와 Testing 에 초점, ML2 Plugin 이 기본 Plugin 으로 채택  Neutron 신규 Driver/Plugin 추가: IBM SDN-VE, Nuage, OneConvergence, OpenDaylight  Load Balancing Service Driver 추가: Embrace, NetScaler, Radware  Neutron 신규 VPN Dirver 추가 (Cisco CSR)
  29. 29. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack 배포 Version 별 Quantum/Neutron 특징 29 Compute Node Controller Node Management Data External API Internet Controller Node Neutron Server Layer 2 Agent (OVS) Network Node ML2 Plug-in Layer 2 Agent (OVS) Layer 3 Agent - OpenStack Juno ML2 Plugin ML2 Plug-in DHCP Agent Metadata Agent  Distributed Virtual Router 지원, Tenant Network 에 IPv6 지원, L3 Agent 에 HA 지원 및 성능 향상  Neutron 신규 Plugin 추가 - A10 Networks LBaaS driver, Arista L3 route plugin, Brocade L3 routing plugin, Cisco APIC ML2 Driver, Cisco CSR L3 routing plugin, Freescale SDN ML2 Mechanism Driver, Nuage Networks ML2 Mechanism Driver, SR-IOV capable NIC ML2 Mechanism Dirver, OpenContrail Neutron Plugin
  30. 30. © PIOLINK, Inc. SDN No.1 History of OpenStack Neutron  OpenStack 배포 Version 별 Quantum/Neutron 특징 30 Compute Node Controller Node Management Data External API Internet Controller Node Neutron Server Layer 2 Agent (OVS) Network Node ML2 Plug-in Layer 2 Agent (OVS) Layer 3 Agent - OpenStack Kilo ML2 Plugin ML2 Plug-in DHCP Agent Metadata Agent  Subnet allocation, ML2 Hierarchical Port Binding, 신규 LBaaS Version 2 API, OVS ML2 Driver 를 위한 Port Security, IPv6 관련 API 추가  Neutron 신규 Plugin 추가 - A10 Networks LBaaS driver, Brocade LBaaS V2 Driver, Brocade ML2 driver for MLX and ICX switches, Brocade L3 routing plugin for MLX switch, Brocade Vyatta vRouter L3 Plugin, Brocade Vyatta vRouter Firewall Driver, Brocade Vyatta vRouter VPN Driver, Cisco CSR VPNaaS Driver, Dragonflow SDN based Distributed Virtual Router L3 Plugin, Freescale FWaaS Driver, Intel Mcaffe NGNW FWaaS Driver, IPSEC Strongswan VPNaaS Driver
  31. 31. © PIOLINK, Inc. SDN No.1  Details of OpenStack Neutron 31
  32. 32. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  Concept of OpenStack Networking - Data Center 에서 사용되는 다양한 기술을 가상화 하고 프로그래밍 가능한 형태로 사용할 수 있도록 제공하는 것! 32
  33. 33. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Networking Architecture 33 Network Node Compute Node Controller Node Internet Controller Node  OpenStack Networking 은 독립된 형태의 서비스  OpenStack Networking 구성은 한 개의 Controller Node, 한 개의 Network Node, 적어도 한 개의 Compute Node 가 필요 - 각 Node 별 Network Interface 개수와 구성은 서로 다름  OpenStack Networking 에서는 Switching, Routing, Load Balancing, Firewall, VPN 등 Data Center 에서 사용되는 다양한 기술을 제공
  34. 34. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 34  OpenStack Networking Architecture Network Node Compute Node Controller Node Internet Controller Node VM 01 VM 02 Neutron Server  OpenStack Networking Architecture 에서 각 Node 역할은 다음과 같음 - Network Node: DHCP Server, Virtual Router 등 Network - Compute Node: 생성된 VM Instance 가 위치하는 Node, Compute Service 와 Neutron Plugin - Controller Node: 모든 OpenStack API 서비스를 제공
  35. 35. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Networking Architecture 35 Network Node Compute Node Controller Node Management Data External API Internet  OpenStack Networking Architecture 에서는 네 종류의 Network 를 정의 - Management Network: 서비스를 구성하는 Node 간 통신에 사용 (Messaging Service, Database Service) - API Network: Cloud 사용자와 서비스에게 OpenStack API 를 제공하는 용도로 사용 - External Network: Neutron Router 를 통해 외부 네트워크에서 접근 - Data Network: Instance 간 데이터를 주고받는 Network • (특정 Node 에 대해서만 로컬 Network 를 구성하거나 flat 또는 VLAN tagging으로 구성 가능) Controller Node
  36. 36. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Networking Architecture 36 Compute Node Controller Node Management Data External API Internet  Three nodes Architecture 에서 각 Node 에 위치하는 Neutron 프로세스  Controller Node 의 Neutron Server 를 통해 API 를 제공 (외부에서 Network 관련 설정이 가능하도록)  Neutron Server 는 REST API를 통해 들어오는 요청사항을 처리하도록 기존에 설정된 Neutron Plugin 에 전달  Neutron Server 에서 제공하는 REST API를 통해 다양한 Networking 기술을 쉽게 이용 가능 함 Controller Node Neutron Server Neutron Plugin Neutron Plugin Agent Neutron Layer2 Agent (OVS) Network Node Neutron Plugin Agent Neutron L3 Agent Neutron DHCP Agent Neutron Layer2 Agent (OVS)
  37. 37. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Neutron Network - Neutron 에서 제공하는 Network Type 은 아래와 같음 • Local - 다른 Network 나 Node 와 독립적으로 존재 - 같은 Compute Node 의 동일한 Network 에 있는 Instance 간 통신만 가능 • Flat - VLAN tagging 을 적용하지 않거나 Network 과 분리되지 않은 형태 • VLAN - 802.1q tagging 을 이용하여 Network 를 분리 - VLAN 간 Routing 을 위해서 Router 필요 • VXLAN 과 GRE - OVS Plugin 을 이용 Overlay Network 를 구성 - Cloud 내의 모든 Host 에 대한 P2P Tunnel 을 생성 37
  38. 38. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Neutron Network - Neutron 에서 Instance 에 대한 연결을 제공하는 두 종류의 Network 가 존재 함 • Provider Network: 관리자가 생성한 Network - Data Center 의 Physical Network 에 직접 Mapping - Flat 과 VLAN 을 주로 사용 (Local, GRE 사용 가능하나 일반적으로 사용하지 않음) • Tenant Network: 사용자가 생성한 Network - Tenant 에 속한 Instance 간 연결을 위해 필요 - Default 설정에서는 Tenant Network 는 다른 Tenant Network 나 Tenant 안에 있는 다른 Network와 격리 38 Compute Node Tenant Network 1 VM1 VM2 Tenant Network 2 VM3 VM4 Network Node Provider Network Neutron Router
  39. 39. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 39  OpenStack Neutron Plugins and Agents Compute Node Controller Node Management Data External API Internet Controller Node Neutron Server Layer 2 Agent (OVS) Network Node ML2 Plug-in Layer 2 Agent (OVS) Layer 3 Agent ML2 Plugin ML2 Plug-in DHCP Agent Metadata Agent  OpenStack 각 Node 에 설치되는 Neutron 프로세스는 Plugin 과 Agent 로 구성되어 있음  Neutron Server 는 Centralized Controller 역할을 수행 - 실제 Network 관련 command 나 configuration 은 Compute Node 와 Network Node 에서 수행
  40. 40. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 40  OpenStack Neutron Plugins and Agents Neutron Server Neutron Core plugins Neutron Service plugins Core API Network, Port, Subnet Resource and Attribute Extensions API Provider Network, Port Binding, Router, Quotas, Security Groups, Agent Scheduler, LBaaS, FWaaS VPNaaS … Message Queue DHCP Agent L3 Agent IP Tables on Network Node L2 Agent OVS on Compute Node Neutron Plugin Controller Node  Plugin: 외부에서 호출한 REST API에 따라 해당하는 Plugin을 수행, Core Plugin 과 Service Plugin 으로 구분 - Core Plugin: L2 connectivity 와 IP Address Management 등 기본적인 을 담당 - Service Plugin: Routing (L3), Firewall, Load Balancing 등 서비스 관련 기능을 담당  Agent - Neutron Server 로 부터 명령을 수신하여 (via plugin or directly) 실제 Networking 관련 동작을 구현하는 entity ML2 OVS CiscoNexus MoreVendor Plugins LoadBalancer Firewall VPN L3services
  41. 41. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 41  OpenStack Neutron Plugins and Agents Controller Node Management Data External API Internet Controller NodeNetwork Node Neutron Server ML2 Plugin Compute Node OVS Agent OVS Switch VM VM 1 2 3 4 ① REST API 를 통해 Request 를 Neutron Server 가 수신 ② Plugin 을 통해 RPC 메시지를 Compute Node 의 OVS Agent 로 전달 ③ Compute Node 의 OVS Agent 는 RPC 메시지 수신 ④ OVS Agent 는 OVS Switch configure 수행
  42. 42. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 42  OpenStack Neutron Plugins and Agents : Open vSwitch Layer 2 Agent Compute Node Controller Node Neutron Server Layer 2 Agent (OVS) Network Node ML2 Plug-in Layer 2 Agent (OVS) Layer 3 Agent ML2 Plugin ML2 Plug-in DHCP Agent Metadata Agent  VM Instance 와 다른 Network Resource 에 L2 연결을 제공 (L2 Switching 제공)  Monolithic Plugin 으로 다른 Networking Plugin 과 동시사용 불가  VLAN, VXLAN, GRE 등을 지원하여 독립된 Tenant Network 생성이 가능
  43. 43. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 43  OpenStack Neutron Plugins and Agents: Layer 3 Agent Compute Node Controller Node Neutron Server Layer 2 Agent (OVS) Network Node ML2 Plug-in Layer 2 Agent (OVS) Layer 3 Agent ML2 Plugin ML2 Plug-in DHCP Agent Metadata Agent  L2 Network 에 연결되는 Router 를 Configuration 하는 역할  Linux IP Stack 과 iptables 를 사용하여 L3 forwarding, NAT 동작을 구현  Network Namespace 를 이용하여 Multiple Independent Virtual Router 생성 (Overlapping IP)이 가능  Network Namespace 개념은 다음 슬라이드에서 설명
  44. 44. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Neutron Plugins and Agents : Network Namespace - OpenStack 은 Multi Tenancy 를 지원하도록 설계 되었음 • User 별로 Compute 와 Network Resource를 구성한 Group 을 중복생성 가능 - Network Namespace 를 통해, 각 Tenant Network 별로 Router, Firewall, Network Interface Device 를 별도로 구성 가능 • qdhcp namespace: DHCP 역할 (l2 agent) • qrouter namespace: Router 역할 (l3 agent) • qlbass namespace: Load Balancer 역할 (Advanced Service) 44 Hardware Linux Kernel Global Namespace (net interfaces, routing tables, IP Stack, IPtables) Tenant1 Namespace1 (net interfaces, routing tables, iptables) Tenant2 Namespace2 (net interfaces, routing tables, iptables) TenantN NamespaceN (net interfaces, routing tables, iptables) …
  45. 45. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 45  OpenStack Neutron Plugins and Agents : DHCP Agent Compute Node Controller Node Neutron Server Layer 2 Agent (OVS) Network Node ML2 Plug-in Layer 2 Agent (OVS) Layer 3 Agent ML2 Plugin ML2 Plug-in DHCP Agent Metadata Agent  Virtual Network 에 위치하고 있는 VM 에 IP 를 할당해주는 역할  DHCP Server 로 사용하기 위해 dnsmasq 를 사용 함  dnsmasq: small network 에서 DNS, DHCP Server 로 사용 가능한 free software
  46. 46. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 46  OpenStack Neutron Plugins and Agents : Metadata Agent Compute Node Controller Node Neutron Server Layer 2 Agent (OVS) Network Node ML2 Plug-in Layer 2 Agent (OVS) Layer 3 Agent ML2 Plugin ML2 Plug-in DHCP Agent Metadata Agent  VM Instance 부팅 과정에 필요한 IP 주소나 Instance 관련 정보를 제공
  47. 47. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 47  OpenStack Neutron Plugins and Agents : ML2 Plug-in Compute Node Controller Node Neutron Server Layer 2 Agent (OVS) Network Node ML2 Plug-in Layer 2 Agent (OVS) Layer 3 Agent ML2 Plug-in ML2 Plug-in DHCP Agent Metadata Agent  ML2: Modular Layer2  Havana Version 에 처음 포함, Ice House Version 에 기본 Plugin 으로 채택 (기존 Monolithic Plugin 대체하기 위해)  Data Center 에서 주로 사용되는 여러 가지 L2 networking 기술을 동시에 사용할 수 있게 해주는 framework  OVS 나 LinuxBridge Agent 와 연동하여 동작  새로운 L2 Networking 기술을 추가하는 방법 간소화
  48. 48. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Neutron Plugins and Agents: ML2 Plugin 48 - Before ML2: Compute Node 에 다른 Agent 설치 시 연동 불가능 - After ML2: Compute Node 에 다른 Agent 설치 시에도 연동 가능 Neutron Server Compute Node A Open vSwitch Plugin Open vSwitch Agent Neutron Server Compute Node B Linux Bridge Plugin Linux Bridge Agent Compute Node A Open vSwitch Agent Compute Node B Linux Bridge Agent Neutron Server ML2 Plugin or
  49. 49. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Neutron Plugins and Agents: ML2 Plugin Structure 49 GRE TypeDriver VLAN TypeDriver VXLAN TypeDriver Arista CiscoNexus Hyper-V Linuxbridge Open vSwitch Tail-FNCS Type Driver Mechanism Driver  Havana Release 에 공식적으로 포함됨  Layer 2 에서 핵심 기능들을 Vendor 및 구현 기능별로 구분 하였음  OpenStack 에서 제공하는 ML2 Plugin 은 Type Driver 와 Mechanism Driver 구조로 되어 있음  Type Driver: Network Type (GRE, VLAN, VXLAN)  Mechanism Driver: Network Implement (Vendor Specific)  ML2 도입에 따라 Vendor 하드웨어와의 통합이 증가
  50. 50. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 50  OpenStack Neutron Plugins and Agents: Service Plug-in - Load Balancer as a Service (LBaaS) • Open Source 인 HA Proxy 를 통해 구현 (Grizzly 에 처음 포함) • Multi Vendor 지원 추가 (Havana 에 포함) • HW 기반 LB 와 SW기반 LB가 서로 연동할 수 있도록 Driver 사용 - Virtual Private Network as a Service (VPNaaS) • Havana, Icehouse 버전에서 실험적으로 제공 •Open Source 인 OpenSwan 을 통해 구현 (Default Driver) • Site-to-Site configuration 지원 - Firewall as a Service (FWaaS) • Service Plugin + Agent + Drivers (Iptables or v Armour) • firewall policy 적용을 위해 Virtual Router 에 Iptables 를 설정하는 방식 • Vendor specific service can be included
  51. 51. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Neutron Plugins and Agents: Service Plugin (LBaaS, VPNaaS) 51 Compute Node Controller Node Controller Node Neutron Server Network Node Service Plugin Service Agent Message Processing Driver A Driver B Device Type A Device Type B  Advanced Service 지원 구조: Plugin + Agent + Driver 구조  Third Party 에서 Driver 를 추가하여 새로운 장비를 지원하도록 기능추가 가능 (Cisco, Brocade … etc)
  52. 52. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 52  OpenStack Neutron Plugins and Agents : LBaaS Service Plugin Compute Node Controller Node Internet Controller Node Neutron Server Network Node Layer 3 Agent LBaaS Agent HAProxy VM VM  LBaaS Agent 에서 HAProxy 를 이용하여 Load Balancing 기능 제공
  53. 53. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 53  OpenStack Neutron Plugins and Agents : VPNaaS Service Plugin Internet Network Node Compute Node Network Node Compute Node Layer 3 Agent VM Layer 3 Agent VM IPSec VPN Router VPN Driver Router VPN Driver site1 site2  L3 Agent 에서 Site to Site IPSec VPN 기능 지원
  54. 54. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 54  OpenStack Neutron Plugins and Agents : FWaaS Service Plugin Compute Node Controller Node Internet Controller Node Neutron Server Network Node VM VM Layer 3 Agent Router Firewall Driver  L3 Agent 에서 Iptables 를 이용하여 Firewall Policy 정책 적용
  55. 55. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 55  OpenStack Neutron Plugins and Agents : PIOLINK LBaaS Service Plugin Compute Node Controller Node Internet Controller Node Neutron Server Network Node Layer 3 Agent LBaaS Agent PIOLINK Driver VM VM PIOLINK Load Balancer  PIOLINK 에서 개발한 LBaaS Driver  OpenStack Neutron 을 이용하여 PAS-K 제품 설정 가능 함  PAS-K 를 이용하여 Compute Node 내 VM Instance (Web Server) 로 Traffic 을 균등하게 분배
  56. 56. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Neutron Plugins and Agents: LinuxBridge Plugin - bridge 와 8021q Kernel Module 을 사용, Instance 와 Network Resource 를 Virtual Switch 에 연결 하고 Traffic 을 전달 - Linux Bridge 기반으로 Network 구성 시 아래와 같은 Virtual Networking Device 사용 • Tap Device: KVM 과 같은 Hypervisor 에 Virtual Interface 구현에 사용 (Guest OS의 Network Interface 역할) • VLAN Interface: ethx.<vlan> 이름을 사용, Kernel에서 tagging 된 Packet을 주고받을 수 있음 • LinuxBridge: 여러 Network Interface를 연결하는 Virtual Interface (동일 VLAN 을 연결) 56 eth0 eth1 MGMT & API Network External Network eth0 MGMT & API Network에 대한 단일 IP주소 brqYYY (LinuxBridge) tap0xxxx tap1xxxx VM0 eth0 VM1 eth0 K V M eth1. 100 <Figure: Compute Node 에서 Network Architecture>
  57. 57. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 57  LinuxBridge Plugin 을 이용한 Virtual Network 구성 #01 (One tenant, two networks, one router ) Compute Node (Logical View) Network Node (Logical View) DHCP Server DHCP Server Network Node 에 의해 구성 Compute Node 에 의해 구성
  58. 58. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 58  LinuxBridge Plugin 을 이용한 Virtual Network 구성 #01 (One tenant, two networks, one router ) Compute Node Network Node
  59. 59. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 59  LinuxBridge Plugin 을 이용한 Virtual Network 구성 #02 (Two tenant, two networks, two routers ) Compute Node (Logical View) Network Node (Logical View) Network Node 에 의해 구성 Compute Node 에 의해 구성 DHCP Server DHCP Server
  60. 60. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 60  LinuxBridge Plugin 을 이용한 Virtual Network 구성 #02 (Two tenant, two networks, two routers ) Compute Node Network Node
  61. 61. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron  OpenStack Neutron Plugins and Agents: OVS Plugin - Open vSwitch : Software 기반 스위치, Virtual Network bridge 와 flow rule 을 사용하 여 Packet 을 forwarding (OpenFlow Protocol 지원) - OVS 의 핵심 Component • Kernel Module: 스위치의 Data plane 역할, Packet 에 대한 처리작업 수행 • OVS Daemon: ovs-vswitchd Linux process, Kernel Moudle 의 동작을 제어 • Database Server: Virtual Switch 의 설정을 관리 61
  62. 62. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 62 MGMT & API Network External Network qbr0xxxx (Linux Bridge) qbr1xxxx (Linux Bridge) tap0xxxx tap1xxxx br-int(OVS 통합 Bridge) qvo0xxxx qvo1xxxx Int-br-ethX VM0 eth0 VM1 eth0 br-eth1(OVS Provider Bridge) phy-br-ethX ethX KVM qvb1xxxxqvb0xxxx eth0 MGMT & API Network에 대한 단일 IP주소 eth0  OpenStack Neutron Plugins and Agents: OVS Plugin - OVS 기반으로 Network 구성 시 아래와 같은 Virtual Networking Device 사용 • Tap Device: Virtual Interface 구현에 사용 • Linux Bridge: 여러 Network Interface 를 연결하는 Virtual Interface (동일 VLAN을 연결) • Virtual Ethernet Cable: Network Cable 역할, 다양한 Network Resource 를 연결 (OVS bridge – linuxbridge 연결, linuxbridge 간연결) - OVS bridge-linuxbridge 연결(qvbYYY, qvoYYY” pair 를 사용) • OVS Bridge: Switch 역할을 수행 • OVS Patch Port: OVS bridge 간 연결을 위해 사용 (int-br-ethX, phy-br-ethX)
  63. 63. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 63  OVS Plugin 을 이용한 Virtual Network 구성 #01 (One tenant, two networks, one router) Compute Node Network Node Network Node 에 의해 구성 Compute Node 에 의해 구성 DHCP Server DHCP Server
  64. 64. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 64  OVS Plugin 을 이용한 Virtual Network 구성 #01 (One tenant, two networks, one router) Compute Node Network Node Network Node 에 의해 구성 Compute Node 에 의해 구성
  65. 65. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 65  OVS Plugin 을 이용한 Virtual Network 구성 #02 (Two tenant, two networks, two routers ) Compute Node (Logical View) Network Node (Logical View) Network Node 에 의해 구성 Compute Node 에 의해 구성 DHCP Server DHCP Server
  66. 66. © PIOLINK, Inc. SDN No.1 Details of OpenStack Neutron 66  OVS Plugin 을 이용한 Virtual Network 구성 #02 (Two tenant, two networks, two routers ) Compute Node Network Node Network Node 에 의해 구성 Compute Node 에 의해 구성
  67. 67. © PIOLINK, Inc. SDN No.1  OpenStack Networking Deployment Use Cases 67
  68. 68. © PIOLINK, Inc. SDN No.1 OpenStack Networking Deployment Use Cases  Single Flat Network 68 Shared Net 30.0.0.0/22 Tenant A VM1 Tenant B VM1 Tenant A VM2 Tenant C VM1 30.0.0.1 Physical Router  Nova Network 의 FlatDHCP 와 유사  VM 에 Single NIC 설정, VM 간 네트워크 동일  Fixed IP 주소 할당, Floating IP 는 지원되지 않음 Physical Network 에 Mapping 되는 Provider Network 30.0.0.2 30.0.0.3 30.0.0.4 30.0.0.5
  69. 69. © PIOLINK, Inc. SDN No.1 OpenStack Networking Deployment Use Cases 69  Multiple Flat Networks Shared Net1 30.0.0.0/24 Tenant A VM1 Tenant B VM1 Shared Net2 30.0.1.0/24 Shared Net3 30.0.2.0/24 Tenant A VM2 Tenant D VM1 Tenant C VM1 Physical Router 30.0.0.1 30.0.1.1 30.0.2.1  Single Flat Network 와 유사  Tenant 가 Multiple Shared Network 가능 30.0.0.2 30.0.0.3 30.0.1.2 30.0.1.3 30.0.2.2 30.0.2.3 하나의 VM 이 여러 개의 Shared Network 에 속할 수 있는 것이 특징
  70. 70. © PIOLINK, Inc. SDN No.1 OpenStack Networking Deployment Use Cases 70  Mixed Flat and Private Networks Shared Net 30.0.0.0/22 Tenant A VM1 Tenant A VM2 Tenant B VM1 Tenant C VM1 30.0.0.1 Physical Router Tenant C VM2 Tenant A – Private Net 10.0.0.0/24 Tenant C – Private Net 10.0.0.0/24  Flat Network 에서 확장된 형태, VM 에 Multiple NIC 설정, Tenant 별로 Private Network 구성 가능,  VM 이 gateway 역할을 통해 Private Network 에 routing, NAT, load balancing 과 같은 서비스 제공 가능 10.0.0.2 30.0.0.2 10.0.0.3 30.0.0.3 30.0.0.4 10.0.0.2 30.0.0.5 10.0.0.3 Tenant 별로 Private Network 구성 가능
  71. 71. © PIOLINK, Inc. SDN No.1 OpenStack Networking Deployment Use Cases 71  Provider Router with Private Networks Tenant A – Private Net 10.0.0.0/24 Tenant C – Private Net 10.0.1.0/24 Tenant A VM1 Tenant A VM2 Tenant C VM1 Tenant C VM2 Provider Router Shared Net 30.0.0.0/22 10.0.0.1 10.0.1.1 30.0.0.2 30.0.0.1 Physical Router  각 Tenant 들이 하나 이상의 Private Network 생성이 가능, Private Network 는 Provider Router 를 통해 외부와 연결  Floating IP 를 이용하여 각 VMs 들에게 Public 주소를 할당 (External Network 에서 접속 가능)  SNAT/DNAT 가능, Tenant 간 Provider Router 를 통한 통신 가능 (대규모 Private Cloud 에서 사용) SNAT 를 수행 Private Network 에서 External Network 로 접속이 가능하도록 L3 Connectivity 를 제공 함 10.0.0.2 (30.0.0.3) 10.0.0.3 (30.0.0.4) 10.0.1.2 (30.0.0.5) 10.0.1.3 Public IP
  72. 72. © PIOLINK, Inc. SDN No.1 OpenStack Networking Deployment Use Cases 72  Per-Tenant Routers with private networks Tenant A – Private Net 10.0.0.0/24 Tenant C – Private Net1 10.0.0.0/24 Tenant A VM1 Tenant A VM2 Tenant C VM1 Tenant C VM2 Tenant C – Private Net2 10.0.1.0/24 Tenant C VM3 Tenant C VM4 Tenant A Router Tenant C Router Shared Net 30.0.0.0/22 30.0.0.1 Physical Router 10.0.0.1 30.0.0.2 30.0.0.3 10.0.0.1 10.0.1.1  각 Tenant 들이 하나 이상의 Router 를 갖고 있음, 각 Tenant 는 Private Network 를 생성하고 Router를 통해 외부와 연결  Multi-tier applications, SNAT 지원 가능  Public Cloud 에 사용 10.0.0.2 (30.0.0.4) 10.0.0.3 (30.0.0.5) 동일한 IP 대역을 중복해서 사용 가능! 10.0.0.2 (30.0.0.6) 10.0.0.3 (30.0.0.7) 10.0.1.2 10.0.1.3 Public IP
  73. 73. © PIOLINK, Inc. SDN No.1  SDN Controller with OpenStack Neutron 73
  74. 74. © PIOLINK, Inc. SDN No.1 SDN Controller with OpenStack Neutron  OpenDaylight Helium Architecture 74  OpenDaylight 에서는 OpenStack 과 연동하기 위한 feature들을 제공
  75. 75. © PIOLINK, Inc. SDN No.1 SDN Controller with OpenStack Neutron 75  OpenDaylight Helium Architecture OpenStack Neutron Service OVSDB VTN Plugin2OC OVSDB OpenFlow Plugin2OC Neutron APIs  OpenStack Service: OpenStack Service 에게 Northbound API를 제공 (REST API 형태)  VTN Manager: Virtual Tenant Manager  OVSDB Neutron  Plugin2OC: Southbound plugin to OpenContrail Platform OpenStack (via Neutron) Southbound Interfaces and Protocol Plugins Controller Platform And Services Neutron APIs Application and Orchestration Services
  76. 76. © PIOLINK, Inc. SDN No.1 SDN Controller with OpenStack Neutron  OpenStack Neutron: ML2 Plugin Structure 76  OpenStack 에서도 OpenDaylight 과 연동하기 위한 feature를 제공  SDN 의 장점인 Network Flexibility 가 OpenStack 에 반영 중  SDN 을 활용하여 기존 하드웨어 활용 및 Network 장비와 연계를 통한 유연한 SDN Infra 를 확보하고자 노력  OpenStack 과 SDN 연동 시 장점 - Physical & Virtual Network 제어 가능 - Tenant 별 Network 제어 가능 (Flow Management) GRE TypeDriver VLAN TypeDriver VXLAN TypeDriver Arista CiscoNexus Hyper-V Linuxbridge Open vSwitch Tail-FNCS Type Driver Mechanism Driver OpenDaylight
  77. 77. © PIOLINK, Inc. SDN No.1 SDN Controller with OpenStack Neutron  OpenDaylight with OpenStack Neutron 77 OpenDaylight API (REST API) ML2 Plugin OpenStack Service OpenStack Neutron OpenDaylight Driver OVSDB VTN Plugin2OC  OpenStack ML2 Plugin 의 OpenDaylight Driver 를 통해 OpenDaylight 와 연동 가능
  78. 78. © PIOLINK, Inc. SDN No.1 SDN Controller with OpenStack Neutron  OpenDaylight with OpenStack Neutron 78 Controller NodeController Node Neutron Server Network Node Layer 3 Agent DHCP Agent OVS Compute Node VM VM OVS Compute Node VM VM OVS ML2 Plugin/ ODC Driver Physical Switch Network Controller NodeOpenDaylight Neutron API OVSDB Plugin REST API Call  Neutron 과 OpenDaylight 연동을 통해 Data Center 내의 Physical Switch 와 Virtual Switch 제어
  79. 79. © PIOLINK, Inc. SDN No.1  Summary 79
  80. 80. © PIOLINK, Inc. SDN No.1 Summary  OpenStack 은 처음 Nova 에서 제공하는 Networking Service 를 사용  기술적 제약사항으로 Networking Service 만을 위한 Quantum 프로젝트 시작  상표권 문제로 인해 Quantum 에서 Neutron 으로 Code Name 변경  OpenStack Neutron 은 Cloud 환경에서 Networking Service 를 제공 - Software 기반의 Networking Service 를 제공  Neutron 을 이용하여 Cloud 환경에서 유연하게 Networking 변경작업이 가능  Virtual Network 생성 및 관리 (Network, port, Subnet 생성 및 관리)  Neutron 을 통해 Physical / Virtual Network 자원을 관리 함 - L2 Switch, L3 Switch, Load Balancer, VPN, Firewall 등  Neutron 의 Plugin Architecture 를 이용하여 자유롭게 확장 가능  SDN Controller 와 연동하여 사용 가능 80
  81. 81. © PIOLINK, Inc. SDN No.1  References 81
  82. 82. © PIOLINK, Inc. SDN No.1 References  OpenStack Overview Havana, Edgar Magana, October 2013  OpenStack Neutron and SDN  OpenStack 클라우드 네트워크 기술 분석, 2013 Electronics and Telecommunications Trends  Network Virtualization with OpenStack Quantum, OpenStack Quantum Hacker  From Nova-Network to Neutron and Beyond: A Look at OpenStack Networking  OpenStack Networking Technical Deep Dive  OpenStack meetup-pune-aug22-overview  OpenStack Neutron  Software Defined Network in OpenStack  OpenStack and the Transformation of the Data Center  OpenStack: Inside Out 82
  83. 83. 감사합니다. ㈜파이오링크 서울시 금천구 가산디지털2로 98 (가산동 550-1) IT캐슬 1동 401호 TEL: 02-2025-6900 FAX: 02-2025-6901 www.PIOLINK.com 83

×