openstack networking
TRANSCRIPT
2015 2nd OpenStack Study OpenStack Networking
* Date : 2015. 07. 28 * Venue : MERITZ TOWER D2 STARTUP FACTORY * Presenter : HYO SUNG, KANG * Blog URL : http://blog.naver.com/love_tolty * E-Mail : [email protected] * Networking Lab. Department of Computer Engineering at Kyung Hee University
1
1. OpenStack Networking1. Neutron & Nova Network2. Neutron 이 있는데 왜 Nova-Network 인가 ?
2. Nova Network1. Nova Network 란 무엇인가 ?2. Nova Network 구성모델 소개
3. Neutron1. Nova Network 에서 Neutron 으로의 변화2. 물리적으로 바라 본 Neutron 의 구조3. 논리적으로 바라 본 Neutron 의 구조4. 그래서 Neutron 이란 무엇인가 ??5. OVS Plugin / VLAN 을 통한 Neutron 구성6. VM 에서 외부망 ( 인터넷 ) 으로 패킷전달 과정7. 외부망 ( 인터넷 ) 에서 VM 오로 패킷전달 과정
Index
2
1. OPENSTACK NETWORKING?! 1.1 Neutron & Nova-Network
3
Fig 1. OpenStack Official Documentation( 출처 : http://docs.openstack.org/kilo/install-guide/install/apt/content/)
1. OPENSTACK NETWORKING?! 1.2 Neutron 이 있는데 왜 Nova-Network 인가 ??
4
Fig 2. Deprecation of Nova Network( 출처 : http://docs.openstack.org/openstack-ops/content/nova-network-deprecation.html )
2. NOVA NETWORK 2.1 Nova Network 란 무엇인가 ?
5
Fig 3. Nova-Network 를 이용한 OpenStack Network
2. NOVA NETWORK
6
Fig 4. Compute Node 에서 Flat Network 구성모델
2.2 Nova-Network 의 구성모델 소개 – (1) Flat Network
2. NOVA NETWORK
7
2.2 Nova-Network 의 구성모델 소개 – (1) Flat Network
문제점 내용
수동적인 인스턴스 (VM) 의 IP 할당
인스턴스를 그냥 생성한 경우에는 IP 가 할당되지 않는다 . 사용자가 직접 Nova API 를 통해 IP Pool 을 생성한 후에서야 IP 할당이 가능하다 .
Bridge 의 네트워크 연결문제
모든 인스턴스가 하나의 Bridge 에 연결되어 있어 Bridge 에 네트워크 연결 문제가 발생할 경우 전체 인스턴스의 내부 , 외부망 연결에도 문제가 발생 할 수 있다 .
Tenant 간 Traffic 분리의 어려움
Tenant 별 인스턴스가 모두 하나의 bridge 에 연결되어 Tenant 간에 격리 (Isolation) 이 되지 않는 문제가 발생한다 .
2. NOVA NETWORK
8
2.2 Nova-Network 의 구성모델 소개 – (2) Flat DHCP Net-work
Fig 5. Compute Node 에서 Flat DHCP Network 구성모델
2. NOVA NETWORK
9
2.2 Nova-Network 의 구성모델 소개 – (2) Flat DHCP Net-work
내용
개선점 Dnsmasq 를 통해 Flat Network 에서 IP Pool 을 통한 수동적인 IP 할당 문제를 해결하였다
문제점
여전히 Flat Network 와 같이 하나의 Bridge 에 모든 인스턴스가 연결되어 Bridge 의 네트워크 연결 문제 발생시 전체 인스턴스의 네트워크에도 영향을 미친다 .
Tenant 별 인스턴스가 모두 하나의 bridge 에 연결되어 Tenant 간에 격리 (Isolation) 이 되지 않는 문제가 발생한다 .
2. NOVA NETWORK
10
2.2 Nova-Network 의 구성모델 소개 – (3) VLAN Network
Fig 6. Compute Node 에서 VLAN Network 구성모델
2. NOVA NETWORK
11
What is VLAN??
장점 내용네트워크 리소스 보안강화 같은 네트워크 망이라도 다른 VLAN 그룹이라면 통신은 어렵다 .
비용절감의 효과 추가장비 ( 스위치 , 라우터 등 ) 없이도 충분히 독립된 네트워크 구성이 가능하다 .
손쉬운 네트워크 그룹이동 하나의 스위치에서 간단한 설정만으로 네트워크 관리자가 네트워크 그룹을 옮길 때 장비이동 등의 물리적인 소요시간과 노력이 필요하지만 VLAN 구성에서는 간단한 설정만으로 그룹이동 가능하다 .
불필요한 트래픽 감소 VLAN 은 서로다른 네트워크 구성이므로 브로드캐스트 패킷이 다른 VLAN 으로 전송되자 않아 세분화된 브로드케스트 도메인을 나눌수 있기 때문에 불필요한 트래픽을 줄일 수 있다 .
2. NOVA NETWORK
12
2.2 Nova-Network 의 구성모델 소개 – (3) VLAN Network
내용
개선점
Tenant 별로 VLAN 으로 구분함으로써 Tenant 간 Traffic 구분이 가능해졌다 . 클라우드 서비스에서 isolation 이 구현된 것이다 .
bridge 가 여러개로 구성되어 하나의 bridge 에 네트워크 연결 오류가 발생하더라도 다른 bridge 의 인스턴스에는 별다른 영향을 미치지 않는다 .
2. NOVA NETWORK
13
2.3 실제 클라우드에 적용된 VLAN Network
Fig 7. 실제 클라우드에 적용된 VLAN Network 구성모델
3. NEUTRON
14
3.1 Nova-Network 에서 Neutron 으로의 변화
Neutron 의 등장요인
1) Nova-Network 의 제한적인 범위의 Floating IP 로 인해 대규모 클라우드 서비스에 적용의 어렵다 .
2) Nova-Network 의 경우 네트워크의 형태가 고정되어 특정 대역폭을 이용하는 네트워크 서비스를 적용할 수 없다 .
3) Compute Node 를 확장함에 따라 데이터베이스에 직접 접속해야한다 . 이로인해 데이터베이스의 부하가 올 수 있다 .
4) 뿐만아니라 각 Compute Node 들의 데이터베이스 접속 권한에 따른 보안적 문제가 발생 할 수 있다 .
3. NEUTRON
15
3.2 물리적으로 바라 본 Neutron 의 구조
Fig 8. Neutron 을 이용한 OpenStack Networking
3. NEUTRON
16
3.3 논리적으로 바라 본 Neutron 의 구조
Fig 9. 논리적으로 바라본 Neutron Networking( 본 이미지는 KRnet 2015-Canonical 심장훈 발표자님의 발표자료 참고하여 다시 그린 이미지입니다 .)
3. NEUTRON
17
What is Tunnel-ing??
질문 내용
Tunneling 이란 ?? 라우터와 라우터 , 네트워크와 네트워크 사이에 논리적인 경로를 통하여 연결하는 방법으로 대표적으로는 GRE 프로토콜이 있다 .
GRE Tunneling 이란 ??
Generic Routing Encapsulation 의 약자로 Cisco( 社 ) 에서 개발한 대표적인 Tunneling 프로토콜이다 . 주로 가상 네트워크 (VPN) 를 구축하는데 사용된다 . 복잡한 가상 네트워크의 경로를 거치지 않고 독자적으로 네트워크를 가로질러서 종단과 종단을 연결하기 위해 개발 되었다 .
Overlay Network 란 ??
물리네트워크 위해 성립되는 가상의 네트워크를 의미한다 . Overlay
Network 안의 노드는 가상 , 논리적 링크로 연결 될 수 있으며 각 링크는 네트워크 안에서 많은 물리적 링크를 통하지만 그렇다고 물리적 링크를 고려하지는 않는다 . 예를 들어 P2P 의 경우 Peer to Peer 간의 통신을 위해여러 물리적 경로를 거치지만 Peer 와 Peer 간의 데이터 패킷의 출발 / 도착 연결만 고려하므로 물리적 경로를 고려하지 않는다 .
3. NEUTRON
18
3.4 그래서 Neutron 이란 무엇인가 ?
Fig 10. Neutron 의 동작과정( 본 이미지는 KRnet 2015-Canonical 심장훈 발표자님의 발표자료 참고하여 다시 그린 이미지입니다 .)
3. NEUTRON
19
Neutron 의 Plugin
플러그인 해당 URL
Big Switch Plug-in(Floodlight REST
Proxy)
http://www.openflowhub.org/display/floodlightcontroller/Neutron+REST+Proxy+Plugin
Brocade Plug-in http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html#networking-services
Linux Bridge Plug-in
http://wiki.openstack.org/Neutron-Linux-Bridge-Plugin
OpenvSwitch Plug-in
http://docs.openstack.org/havana/install-guide/install/apt/content/concepts-neutron.openvswitch.html
VMware NSX Plug-in
http://www.vmware.com/products/nsx?src=www_bestmatch_us
( 장현정 작가님의 “오픈스택을 다루는 기술”서적을 참고하였음을 밝힙니다 .)
3. NEUTRON
20
3.5 OVS Plugin / VLAN 을 통한 Neutron 구성
Fig 11. Open vSwitch Plugin/ VLAN 모드를 이용한 Neutron Network 구성(1 개의 Tenant, 1 개의 가상 Router, 2 개의 Subnet, 3 개의 VM.)
3. NEUTRON
21
What is OVS??
Fig 12. Open vSwitch 의 구성요소 (a) 및 동작과정으로 본 구조 (b)
3. NEUTRON 3.6 VM 에서 외부망 ( 인터넷 ) 으로 패킷전달과정
22
3. NEUTRON 3.6 VM 에서 외부망 ( 인터넷 ) 으로 패킷전달과정
23
3. NEUTRON 3.6 VM 에서 외부망 ( 인터넷 ) 으로 패킷전달과정
24
3. NEUTRON 3.6 VM 에서 외부망 ( 인터넷 ) 으로 패킷전달과정
25
3. NEUTRON 3.6 VM 에서 외부망 ( 인터넷 ) 으로 패킷전달과정
26
3. NEUTRON 3.6 VM 에서 외부망 ( 인터넷 ) 으로 패킷전달과정
27
3. NEUTRON 3.6 VM 에서 외부망 ( 인터넷 ) 으로 패킷전달과정
28
3. NEUTRON 3.6 VM 에서 외부망 ( 인터넷 ) 으로 패킷전달과정
29
3. NEUTRON 3.7 외부망 ( 인터넷 ) 에서 VM 으로 패킷전달과정
30
THANK YOU
31