FlowVisor: A Network Virtualization Layer

Slides:



Advertisements
Similar presentations
1)RACK 2)UPS 3)P D U 장치 4)Server Group 5)KVM Switch 7)UPS 를 위한 HUB 6) RACK Monitor.
Advertisements

(1/7) Postech DP&NM Lab On the Performance Characteristics of High-Speed Enterprise Networks (Performance Analysis of Underutilized Enterprise Network)
Real Time Systems Lab. rtlab.knu.ac.kr 무인 헬리콥터 자율비행 소프트웨어의 실시간 성능 개선을 위한 CAN 기반 센서 네트워크 경북대학교 실시간 시스템 연구실 이재신.
HTTPS Packet Capture Tutorial
Hamming Code 이근용. 2 Error Control Error Detection Parity Check CRC Check Error Correction Hamming Code.
CS710 컴퓨터구조 특강 - 차세대 무선네트워크 및 보안 -
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
Mar OSEK/VDK Woo Dong Kyun.
Chapter 7 ARP and RARP.
Zigbee Specification RT Lab 강무진.
1. 개발 시스템 개요.
Chapter 8 Authorization
Mobile IPv 여지민 송구득 박근홍 (수)
UDP 1434 공격에 대한 방어 요령 Cisco Systems Korea 최 우 형 Network 보안과 대책
NSH-2026 스위치 Metro Ethernet & Enterprise Network 초고속 네트워크 구축을 위한
Operating Systems Overview
VPC (Virtual Port channel)
이기종 네트워크 환경을 지원하는 SDN기반 Mobile Cloud 플랫폼 개발
7장 : 캐시와 메모리.
Load Balancing L4와 L7은 어떻게 동작할까?.
뇌를 자극하는 Windows Server 2012 R2
PART 01 개념 컴퓨터 네트워크 Chapter 3 OSI 참조모델과 인터넷 임효택.
네트워크 프로그래밍 및 실습.
Chapter 2 OSI 모델과 TCP/IP 프로토콜.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Routing Protocol - Router의 주 목적 중 하나는 Routing
Chapter 8 교환 (Switching).
Chapter 8 교환 (Switching).
Carlos Guimar˜aes1, Daniel Corujo2, Rui L. Aguiar3
컴퓨터 공학 전공 이상신 컴퓨터 공학 전공 성주형 멀티미디어 공학 전공 박성재
Chapter 21 Network Layer: ARP, ICMP (IGMP).
PART 01 개념 컴퓨터 네트워크 Chapter 3 OSI 참조모델과 인터넷 임효택.
35.7Mpps per slot (locally or through the fabric)
P4 : Programming Protocol-Independent Packet Processors
WinCE Device Driver 실습 #2
Xen and the Art of Virtualization
TCP/IP 통신망 특론 2장 Link Layer 컴퓨터 네트워크 실험실 이희규.
GPRS(general Packet Radio System) 설명
Chapter 12 다중 접속 (Multiple Access).
Cognitive radio Either a network or a wireless node changes its transmission or reception parameters to communicate efficiently avoiding interference with.
Chap 6.Assembler 유건우.
파이프라이닝.
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
SYSMAC GATEWAY 간이 매뉴얼.
Day-04(mon_9.6) Host_PC Router NAT NIC Switch ISP NAT Host Only
박 태하 ㈜ 아이네트 인터넷 망관리를 위한 도구 박 태하 ㈜ 아이네트.
Chapter 11. Windows Server 2000 & 2003
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
Advances in Optical Technology & FI
시스템 분석 및 설계 글로컬 IT 학과 김정기.
Chapter 12 Memory Organization
공공기관에서의 UTM과 혼합공격 차단기법 May.2004 Fortinet Korea Inc.
Internet & WWW Protocols
Packet sniffing 응용 레벨이 아닌 네트워크 디바이스 레벨에서의 데이타을 얻는 것 네트워크 상의 트래픽을 분석
김 형 진 전북대학교 IT응용시스템공학과 네트워크의 기본 Chapter 김 형 진 전북대학교 IT응용시스템공학과.
Ethane: Taking control of the Enterprise (2007)
Chapter 18 Virtual Circuit Switching : Frame Relay and ATM
Chapter 26 IP over ATM.
Teaming pms.
Ping Test.
Chapter 27 Mobile IP.
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
7/25/2019 경계선 방어 기술 공급원 May
Dynamic Graph Query Primitives for SDN-based Cloud Network Management Ramya Raghavendra, Jorge Lobo, Kang-Won Lee 2012 HotSDN 정보통신공학과.
Peer-to-Peer SIP Network Using Distributed Hash Table
ARP.
Chapter 4. Energy and Potential
LEON3 DBT 엔진을 이용한 ERC32 기반의 하이퍼바이저 프로토 타입 개발
Chapter 7: Deadlocks.
Presentation transcript:

FlowVisor: A Network Virtualization Layer OpenFlow에 등록되어 있는 보고서 이 논문을 바탕으로 2009년에 OSDI – USENIX, 2010년에 Sigcomm R. Sherwood, G. Gibb, K.-K. Yap, G. Appenzeller, M. Casado, N. McKeown, and G. Parulkar Deutsche Telekom Inc. R&D Lab, Stanford, Nicira Networks 2014.09.04 Kyoungbok Kim

Introduction 01 02 Network Virtualization 03 FlowVisor Architecture Isolation Mechanism 04 Evaluation 05 Conclusions 06

1. Introduction - Virtualization 가상화 개념에 대해서 설명 컴퓨터 가상화와 네트워크 가상화의 차이를 나타내는 그림 Computer Virtualization Network Virtualization

1. Introduction - FlowVisor Network hypervisor developed by Stanford Switch virtualization in same hardware Software proxy between forwarding and control planes of network devices Use OpenFlow as hardware abstraction layer 캠퍼스 내에서 자기들의 네트워크에서 가상화 플랫폼을 설치 하여 Demostrate 한다.

Simple Packet Forwarding Hardware 1. Introduction Simple Packet Forwarding Hardware Network Operating System 1 Open interface to hardware Virtualization or “Slicing” Layer System 2 System 3 System 4 App Many operating systems, or Many versions Isolated “slices” 플로우 바이저라는 것이 가상화 Layer를 추가하는 구조. 동일한 하드웨어에서 여러 개의 여러 개의 논리적인 네트워크로 나눠서 각각 독립적인 형태로 동작하도록 한다.

2. Network Virtualization Network infrastructure (e.g., OpenFlow switch, Open vSwitch) Southbound interface (e.g., OpenFlow protocol) Hypervisor-based virtualization (e.g., FlowVisor) Data plane SDN controller (e.g., NOX, POX, floodlight, opendaylight) Control plane Network application (e.g., load balancer, Firewall) Management plane Northbound interface 이것은 SDN 아키텍쳐인데 최근에 발표된 한 서베이 논문에 보면 Hypervisor base의 가상화 부분이 들어간 것을 볼 수 있습니다.

2. Five Resource Slicing dimensions Bandwidth: Divide link bandwidth Topology: have its own view of network nodes Traffic: One set of traffic is isolated Device CPU: Computational resources must be sliced Forwarding Tables: finite number of forwarding rules per device 네트워크를 가상화 하기 위해 우리는 어떤 자원을 슬라이싱 할 필요가 있을지 알아야 한다. 5개의 주된 슬라이싱 차원이 있다. Traffic: 헤더 공간을 유연하게 바꾸어 주는 방법을 제안

3. FlowVisor Architecture Define slice as a set of flows running on topology Sit between OpenFlow controllers and switches Partitions bandwidth by assigning minimum data rate Partitions flow table in each switch by keeping track of flow entries belong to each guest controller FlowVisor Architecture에 대해 얘기해보면 플로우바이저는 공통의 Flow들의 셋을 슬라이스로 정의 오픈플로우 컨트롤러와 스위치 사이에 플로우바이저가 위치하고 있으며

3. FlowVisor Operation Intercept OpenFlow messages from guest controllers Use user’s slicing policy Transparently rewrite messages to control only a slice of the network Messages from switches are forwarded only to right guests

3. Flowspace FlowVisor slices traffic using flowspaces Well defined subspace of entire space of packet headers - 10 fields, 256 bits 오픈플로우에선 Flow entries

3. FlowVisor Design Goals Transparency: both network hardware and controllers Isolation: break down if one slice can exhaust another resources Extensible Slice Definition: Slicing policy must allocate networking resources among network slices 자기 망 말고는 다른 망에 대해서는 실제로는 이루어져 있지만 마치 투명한 것처럼 보여야 한다. 자원할당을 어떻게 할지 또한 연구 이슈이다.

3. Slice Definition Policy Example: 1) Bob’s experimental network Allow: tcp_port: 80 and ip=user_ip 2) Alice’s production network Deny: tcp_port: 80 and ip=user_ip - Negative rule 3) Alice’s monitoring network Real-only: all - Allowed to see traffic in all networks

4. Isolation Mechanism (1) Bandwidth Isolation: use of VLAN Priority Code Point (PCP bits) in three bits tag Topology Isolation: LLDP (Link Layer Discovery Protocol) messages are sent out each switch port to do neighbor discovery Switch CPU Isolation: - New Flow Messages - Controller Requests - Slow-Path Forwarding - Internal Bookkeeping 슬라이스 간의 고립을 위해서 6가지 방법의 메커니즘을 적용할 수 있다. Switch CPU Isolation New Flow Messages: Flow entries에 match하지 않은 패킷이 도착했을 때 새로운 메시지가 컨트롤러에 보내진다. -> New message 도착속도가 threshold를 넘어가면 짧은 기간동안 문제가 되는 패킷을 드랍 Controller Requests: 초당 메시지 속도를 줄임으로써 CPU 소비가 제한된다. Slow-Path Forwarding: 플로우바이저가 게스트 컨트롤러가 슬로우 패스 포워딩 룰을 넣을 수 없도록한다. Internal Bookkeeping: 모든 네트워크장비들이 내부 카운터나 프로세스이벤트 업데이트 카운터 등을 사용하는데 위의 3가지를 충분히 조절하여 이를 위한 충분한 CPU 자원을 확보한다

4. Isolation Mechanism (2) FlowSpace Isolation: Each slices must be restricted to only affecting flows in their flowspace Flow Entries Isolation: Each slice does not exceed a preset limit OpenFlow Control Isolation: FlowVisor must rewrite transaction IDs to ensure messages of OpenFlow FlowSpace Isolation: 영향을 미치는 Flow만 rewrite 하면 된다. Flow entries Isolation: 게스트 컨트롤러가 플로우 엔트리 한도를 넘었을 때 table full이라는 error messsage를 보낸다. OpenFlow Control Isolation: OpenFlow control channel은 그 자체로 가상화 되고 고립되어야 한다.

5. Evaluation – Performance Overhead Virtualization Layer가 추가되면서 시스템에 오버헤드가 발생한다. 플로우바이저는 데이터 플레인에 오버헤드가 붙는 것이 아니라 컨트롤 플레인에 오버헤드가 붙는다. 두 그래프는 오버헤드에 대한 그래프인데 플로바이저를 사용할 때와 안할 때의 오픈플로우 메시지의 오버헤드를 나타내는 그래프이다. 첫번째 그림은 새로운 플로우 메시지에 대한 오버헤드를 나타내고 두번째는 포트 상태 요청 메시지에 대한 오버헤드이다. 초당 51개의 패킷을 스위치에 보내면서 새로운 플로우 메시지를 보내고 받는 시간을 libpcap을 이용하여 측정. 결과는 평균 16ms, 이를 이용하지 않았을 때 12ms이다. 아직 새로운 메시지를 처리하는 것이 미숙하므로 퓨쳐워크가 atrie를 이용하여 룩업 프로세스를 최적화하는 것 두번째 그림은 컨트롤러에서 구체적인 포트를 스위치에게 포트 상태 요청 메시지 보낼 때 추가되는 오버헤드를 측정(초당 200개 메시지를 보내서 측정 0.48ms) → CDF of virtualization overhead for OpenFlow new flow messages → CDF of virtualization overhead for port status requests

5. Evaluation – Bandwidth Isolation Bandwidth isolation을 위해 Worst case를 고려하여 2가지 슬라이스를 가지고 실험 First iperf의 TCP모드에서 generate되는 slice sends TCP-friendly traffic and CBR (Constant Bit Rate) traffic at full link speed (1Gbps), QoS를 포함하는 것과 안하는 것 QoS를 포함하지 않는 다는 것은 BW 고립이 되지 않은 것인데 이경우 CBR traffic은 거의 100%가깝게 대역폭을 차지하고 TCP traffic은 1.2%정도를 차지한다. 최소한의 대역폭 보장 QoS를 포함한 BW 고립이 된 상태에서는 TCP 64.2% 와 CBR 30%이하의 대역폭을 차지한다. 왜 이렇냐면 QoS를 가진 것이 TCP congestion control 때문에 CBR 트래픽이 최소한의 대역폭을 차지하는 것으로 보고 있다. → Effect of Flow Visor bandwidth isolation on competing TCP and CBR traffic

5. Evaluation – Switch CPU Isolation 첫번째 실험은 OpenFlow controller maliciously sends port stats request message at increasing speed(2,4,8,…1024 per second) 고립이 없을 때에는 속도가 256보다 작을 때에만 스위치가 적당한 utilization을 가진다. 두번째 실험은 오른쪽 그림은 스위치가 New Flow message를 CPU가 다룰 수 있는 것보다 더 빨리 발생시키고 잘못 동작하는 컨트롤러는 새로운 룰을 추가하지 않는다. 고립이 있을 때와 없을 때의 초당 CPU utilization을 관찰해보니 고립이 없을 때 100%였던 것이 있을 땐 조금 줄어들었다. → FlowVisor’s message throttling isolation prevents a malicious controller from saturating switch CPU → FlowVisor’s new flow messages throttling prevents a faulty controller from saturating switch CPU

6. Conclusions FlowVisor is used to slice forwarding plane There are several isolation mechanisms (e.g., bandwidth, switch CPU, Flow space isolation) FlowVisor is deployed at Standford continuously for future work

Thank you !