SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
18.06.26클라우드기술팀/손주호 N/A
Cloud 환경에서의 네트워크 성능 과 보안
OpenInfraDay2018
클라우드기술팀/손주호 18.06.28세미나발표
1
OpenInfraDay2018
• 회사소개
• 고성능네트워크
• 클라우드네트워크Story
• 클라우드고성능네트워크(DPDK-OVS)
•xFW
• xFW
• 성능테스트
• 남은숙제
• Q&A
3
December
파트너십
온라인 및 모바일 게임의 선구자
2000 2006 2013 2014 2015 2017
설립 한국
퍼블리셔
TOP 3
한국 매출순위 1위 기록 게임들
2016
마블퓨처파이트
세븐나이츠
모두의마블(라인)
5,000만+가입자/1,000억원+수익
일본3위
대만
태국
인도네시아1위
리니지2:레볼루션
(한국)
PC ONLINE MOBILE GLOBAL EXPANSION
Formally
March February July
앱스토어,구글1위
IPO
$ 12B
May
KOSPI
상장
WHO WE ARE
February
‘캐나다
개발스튜디오
카밤’인수
June
리니지2:레볼루션
(아시아)
대만
홍콩
태국
싱가포르등1위
Aug
리니지2:레볼루션
(일본)
앱스토어1위
구글3위
한국게임최고기록
세계 3위
퍼블리셔등극 리니지2:레볼루션
(웨스턴)
5
넷마블 인프라실
6
클라우드 네트워크 Story
Linux Bridge &
7
실시간(고성능 packets 처리) 서비스는 Linuxbridge 나
openvswitch 로 대응할 수가 없구나
어쩔 수 없이 물리 서버로 가야 한다니…
DPDK-OVS 를 적용해서
computing 에 사용할 core 를 소비하더라도
packets 처리를 빠르게 하자!
클라우드 네트워크 Story
8
클라우드 고성능 네트워크
<Native-OVS> <DPDK-OVS>
9
클라우드 고성능 네트워크
HOSTHOST
VM
DPDK-OVS
DPDK-bond
PMD
core#
core0 core1
VM
......
core# ......
DPDK-Vhost
User
Space
VM
Native-OVS
Linux-bond
core0
VM
......
core1 ......
TAP
User
Space
Kernel
Space
eth1eth0
dpdk1dpdk0
......
10
클라우드 고성능 네트워크 – 테스트 환경
VM (3대)
Compute
Node (1대)
Hardware
4vCPU 4GB
Memory
20 Core(HT enable)
256GB Memory
Software Ubuntu 16.04
CentOS 7.3
Openstack Newton
dpdk 16.11
OpenvSwitch 2.7.0
테스트 부하 설정
• 부하 발생기 : Avalanche
• Src_ip : Random
• Dst_ip : VM의 ip
• Port : 단일 port 설정
• Packet size : 64byte
11
클라우드 고성능 네트워크 – 테스트 결과
42
300
0
50
100
150
200
250
300
350
Native-OVS DPDK-OVS
pps(단위:만)
네트워크 모드 별 패킷 처리량
Native-OVS DPDK-OVS
HOST
VM
DPDK-OVS
DPDK-bond
PMD
core#
core0 core1
VM
......
core# ......
DPDK-Vhost
User
Space
dpdk1dpdk0
......
12
클라우드 고성능 네트워크 – 방화벽 구성
① iptables 를 이용한 방화벽 구성
user space 만을 사용하여
트래픽 제어 불가능
② Switch 에 방화벽 구성
HOST 내부에서 흐르는
트래픽은 제어를 할 수 없음
③ Openflow 를 활용한 구성
<Openstack FWaaS 와 차이>
• L2 모드에서도 트래픽 제어 가능
• HOST 내부에서 흐르는
트래픽 제어 가능
• HOST 단위 부하 분산
13
클라우드 네트워크 xFW
user-space
kernel-space
user-space
OpenvSwitch OpenvSwitch
Forwarding
Plane
Driver
DPDK
Forwarding
Plane
Poll Mode Driver
hardware
Network Interface Card
hardware
Network Interface Card
iptables iptables
openflows
14
xFW - Architecture
Controller Node
Neutron
xFW Plugin
Compute Node
xFW Agent
OpenvSwitch
• Neutron Service Plugin
• Tenant별 FW, Rule 정보 관리
• Agent로 Rule의 명령 및 정보 전달
• 별도의 Daemon으로 동작
• xFW Plugin으로부터 받은 명령 및
정보를 기반으로 OVS Daemon에
명령 수행
• Agent 실행 시 Flow Table의 초기
세팅을 수행
15
xFW - Flow
xFW plugin
DB HOST
DPDK-OVS
PMD
VM
xFW agent
① neutron DB 를 통하여 Rule이 적용될 VM의 소속 Host확인
② agent 를 통해 해당 ovs의
Flow 추가, 삭제 진행
16
xFW – xFW Agent
HOST
VM
br - ex
DPDK-bond
PMD
VM
......
dpdk1dpdk0
Table 0 :
table=0, n_packets=4, priority=10, icmp6, in_port=4, actions=…
…..
table=0, n_packets=15, priority=4, ct_state=-trk, … , actions=mod_vlan_vid:1, ct(table=110)
Table 110 :
table=0, n_packets=4, priority=65500, ct_state=+new+trk , tcp, in_port=1, nw_src=..,
nw_dst=.., tp_dst=22 , actions=ct(commit), NORMAL
…..
table=0, n_packets=4, priority=65108, ct_state=+new+trk , udp, in_port=1, nw_src=..,
nw_dst=.., tp_dst=5080, actions=ct(commit), NORMAL
Conntrack 테이블에 등록이 안된 패킷
17
xFW – 성능테스트 환경
VM (3대)
Compute
Node (1대)
Hardware
4vCPU 4GB
Memory
20 Core(HT enable)
256GB Memory
Software Ubuntu 16.04
CentOS 7.3
Openstack Newton
dpdk 16.11
OpenvSwitch 2.7.0
테스트 부하 설정
• 부하 발생기 : Avalanche
• Src_ip : Random
• Dst_ip : VM의 ip
• Port : 단일 port 설정
18
xFW - 성능테스트
300
90
0
50
100
150
200
250
300
350
FW 적용 전 FW 적용 후
pps(단위:만)
DPDK-OVS환경에서 xFW 적용 전후 패킷 처리량
FW 적용 전 FW 적용 후
19
xFW
성능이 이렇게나 떨어져버리다니….
EMC 의 사이즈를 늘려서 성능을 개선해보자!
20
xFW – DPDK-OVS 의 패킷처리
참고: https://software.intel.com/en-us/articles/the-open-vswitch-exact-match-cache
Cache Miss 및
대량의 Trashing 발생
21
xFW - 성능테스트 환경
VM (3대)
Compute
Node (1대)
Hardware
4vCPU 4GB
Memory
20 Core(HT enable)
256GB Memory
Software Ubuntu 16.04
CentOS 7.3
Openstack Newton
dpdk 16.11
OpenvSwitch 2.7.0
EMC Size Up
(8192 -> 16384)
테스트 부하 설정
• 부하 발생기 : Avalanche
• Src_ip : 12000개
• Dst_ip : VM의 ip
• Port : 단일 port 설정
OpenvSwitch 소스 내 /lib/dpif-netdev.c에 있는
EM_FLOW_HASH_SHIFT 값을 변경하여 Size 조정
22
xFW - 성능테스트
120
150
0
20
40
60
80
100
120
140
160
EMC Default EMC 2x
pps(단위:만)
DPDK-OVS환경에서 xFW 적용 시 패킷 처리량
EMC Default EMC 2x
23
남은 숙제
pmd
multi queue
conntrack table
OpenStack upgrade
SR-IOV
kernel version smart nic
24
Q&A
Q & A
[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS

Contenu connexe

Tendances

[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
OpenStack Korea Community
 

Tendances (20)

[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
 
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
[OpenInfra Days Korea 2018] (삼성전자) Evolution to Cloud Native
 
[OpenInfra Days Korea 2018] (Track 1) Kubernetes 환경에서의 Volume 배포와 데이터 관리의 유연성...
[OpenInfra Days Korea 2018] (Track 1) Kubernetes 환경에서의 Volume 배포와 데이터 관리의 유연성...[OpenInfra Days Korea 2018] (Track 1) Kubernetes 환경에서의 Volume 배포와 데이터 관리의 유연성...
[OpenInfra Days Korea 2018] (Track 1) Kubernetes 환경에서의 Volume 배포와 데이터 관리의 유연성...
 
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
 
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
 
[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community[오픈소스컨설팅] ARM & OpenStack Community
[오픈소스컨설팅] ARM & OpenStack Community
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
 
User Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud BizUser Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud Biz
 
Kubernetes에서 Windows Application 호스팅하기
Kubernetes에서 Windows Application 호스팅하기Kubernetes에서 Windows Application 호스팅하기
Kubernetes에서 Windows Application 호스팅하기
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 
OpenStack으로 바로보는 상용 클라우드 플랫폼
OpenStack으로 바로보는 상용 클라우드 플랫폼OpenStack으로 바로보는 상용 클라우드 플랫폼
OpenStack으로 바로보는 상용 클라우드 플랫폼
 
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
 
[OpenInfra Days Korea 2018] (Track 1) 커뮤니티 오픈스택 패키징 도입 전략 및 구현사례 발표
[OpenInfra Days Korea 2018] (Track 1) 커뮤니티 오픈스택 패키징 도입 전략 및 구현사례 발표[OpenInfra Days Korea 2018] (Track 1) 커뮤니티 오픈스택 패키징 도입 전략 및 구현사례 발표
[OpenInfra Days Korea 2018] (Track 1) 커뮤니티 오픈스택 패키징 도입 전략 및 구현사례 발표
 
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
 
[OpenStack Days Korea 2016] Track3 - Powered by OpenStack, Power to do more w...
[OpenStack Days Korea 2016] Track3 - Powered by OpenStack, Power to do more w...[OpenStack Days Korea 2016] Track3 - Powered by OpenStack, Power to do more w...
[OpenStack Days Korea 2016] Track3 - Powered by OpenStack, Power to do more w...
 
쿠버네티스의 이해 #2
쿠버네티스의 이해 #2쿠버네티스의 이해 #2
쿠버네티스의 이해 #2
 
2017 k8s and OpenStack-Helm
2017 k8s and OpenStack-Helm2017 k8s and OpenStack-Helm
2017 k8s and OpenStack-Helm
 
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
 
Kubernetes
Kubernetes Kubernetes
Kubernetes
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 

Similaire à [OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS

플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
choi kyumin
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
문기 박
 
Remote-debugging-based-on-notrace32-20130619-1900
Remote-debugging-based-on-notrace32-20130619-1900Remote-debugging-based-on-notrace32-20130619-1900
Remote-debugging-based-on-notrace32-20130619-1900
Samsung Electronics
 

Similaire à [OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS (20)

[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW
 
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
 
Monitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOnMonitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOn
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
 
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 
Infra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and TerraformInfra as Code with Packer, Ansible and Terraform
Infra as Code with Packer, Ansible and Terraform
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
 
2022년 07월 21일 Confluent+Imply 웨비나 발표자료
2022년 07월 21일 Confluent+Imply 웨비나 발표자료2022년 07월 21일 Confluent+Imply 웨비나 발표자료
2022년 07월 21일 Confluent+Imply 웨비나 발표자료
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
 
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
[오픈소스컨설팅] Open stack kilo with DVR_CEPH_v1.1
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 
[KR] Building modern data pipeline with Snowflake + DBT + Airflow.pdf
[KR] Building modern data pipeline with Snowflake + DBT + Airflow.pdf[KR] Building modern data pipeline with Snowflake + DBT + Airflow.pdf
[KR] Building modern data pipeline with Snowflake + DBT + Airflow.pdf
 
Remote-debugging-based-on-notrace32-20130619-1900
Remote-debugging-based-on-notrace32-20130619-1900Remote-debugging-based-on-notrace32-20130619-1900
Remote-debugging-based-on-notrace32-20130619-1900
 
Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례Red Hat Ansible 적용 사례
Red Hat Ansible 적용 사례
 

Plus de OpenStack Korea Community

Plus de OpenStack Korea Community (20)

2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
2019년 커뮤니티 활동 보고: 오픈스택 한국 커뮤니티
 
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
[2018.10.19] Andrew Kong - Tunnel without tunnel (Seminar at OpenStack Korea ...
 
[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible)
[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible)[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible)
[2018.10.19] 김용기 부장 - IAC on OpenStack (feat. ansible)
 
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...
 
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
 
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
 
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
 
[OpenInfra Days Korea 2018] Day 2 - E1: 딥다이브 - OpenStack 생존기
[OpenInfra Days Korea 2018] Day 2 - E1: 딥다이브 - OpenStack 생존기[OpenInfra Days Korea 2018] Day 2 - E1: 딥다이브 - OpenStack 생존기
[OpenInfra Days Korea 2018] Day 2 - E1: 딥다이브 - OpenStack 생존기
 
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
[OpenInfra Days Korea 2018] Day 2 - E4 - 딥다이브: immutable Kubernetes architecture
 
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
 
[OpenInfra Days Korea 2018] Day 2 - E5: GPU on Kubernetes
[OpenInfra Days Korea 2018] Day 2 - E5: GPU on Kubernetes[OpenInfra Days Korea 2018] Day 2 - E5: GPU on Kubernetes
[OpenInfra Days Korea 2018] Day 2 - E5: GPU on Kubernetes
 
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
 
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때 [OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
[OpenInfra Days Korea 2018] Day 2 - E4 - 핸즈온 워크샵: 서버리스가 컨테이너를 만났을 때
 
[OpenInfra Days Korea 2018] (NetApp) Open Source with NetApp - 전국섭 상무
[OpenInfra Days Korea 2018] (NetApp) Open Source with NetApp - 전국섭 상무[OpenInfra Days Korea 2018] (NetApp) Open Source with NetApp - 전국섭 상무
[OpenInfra Days Korea 2018] (NetApp) Open Source with NetApp - 전국섭 상무
 
[OpenInfra Days Korea 2018] (Track 4) - 오픈스택기반 NFV 관리 및 HA (high Availability...
[OpenInfra Days Korea 2018] (Track 4) - 오픈스택기반 NFV 관리 및 HA (high Availability...[OpenInfra Days Korea 2018] (Track 4) - 오픈스택기반 NFV 관리 및 HA (high Availability...
[OpenInfra Days Korea 2018] (Track 4) - 오픈스택기반 NFV 관리 및 HA (high Availability...
 
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
 
[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
 
[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...
[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...
[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...
 
[OpenInfra Days Korea 2018] (Track 3) - OpenStack Automation with Ansible
[OpenInfra Days Korea 2018] (Track 3) - OpenStack Automation with Ansible[OpenInfra Days Korea 2018] (Track 3) - OpenStack Automation with Ansible
[OpenInfra Days Korea 2018] (Track 3) - OpenStack Automation with Ansible
 
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
 

[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS

  • 1. 18.06.26클라우드기술팀/손주호 N/A Cloud 환경에서의 네트워크 성능 과 보안 OpenInfraDay2018 클라우드기술팀/손주호 18.06.28세미나발표 1 OpenInfraDay2018
  • 2.
  • 3. • 회사소개 • 고성능네트워크 • 클라우드네트워크Story • 클라우드고성능네트워크(DPDK-OVS) •xFW • xFW • 성능테스트 • 남은숙제 • Q&A 3
  • 4. December 파트너십 온라인 및 모바일 게임의 선구자 2000 2006 2013 2014 2015 2017 설립 한국 퍼블리셔 TOP 3 한국 매출순위 1위 기록 게임들 2016 마블퓨처파이트 세븐나이츠 모두의마블(라인) 5,000만+가입자/1,000억원+수익 일본3위 대만 태국 인도네시아1위 리니지2:레볼루션 (한국) PC ONLINE MOBILE GLOBAL EXPANSION Formally March February July 앱스토어,구글1위 IPO $ 12B May KOSPI 상장 WHO WE ARE February ‘캐나다 개발스튜디오 카밤’인수 June 리니지2:레볼루션 (아시아) 대만 홍콩 태국 싱가포르등1위 Aug 리니지2:레볼루션 (일본) 앱스토어1위 구글3위 한국게임최고기록 세계 3위 퍼블리셔등극 리니지2:레볼루션 (웨스턴)
  • 7. 7 실시간(고성능 packets 처리) 서비스는 Linuxbridge 나 openvswitch 로 대응할 수가 없구나 어쩔 수 없이 물리 서버로 가야 한다니… DPDK-OVS 를 적용해서 computing 에 사용할 core 를 소비하더라도 packets 처리를 빠르게 하자! 클라우드 네트워크 Story
  • 9. 9 클라우드 고성능 네트워크 HOSTHOST VM DPDK-OVS DPDK-bond PMD core# core0 core1 VM ...... core# ...... DPDK-Vhost User Space VM Native-OVS Linux-bond core0 VM ...... core1 ...... TAP User Space Kernel Space eth1eth0 dpdk1dpdk0 ......
  • 10. 10 클라우드 고성능 네트워크 – 테스트 환경 VM (3대) Compute Node (1대) Hardware 4vCPU 4GB Memory 20 Core(HT enable) 256GB Memory Software Ubuntu 16.04 CentOS 7.3 Openstack Newton dpdk 16.11 OpenvSwitch 2.7.0 테스트 부하 설정 • 부하 발생기 : Avalanche • Src_ip : Random • Dst_ip : VM의 ip • Port : 단일 port 설정 • Packet size : 64byte
  • 11. 11 클라우드 고성능 네트워크 – 테스트 결과 42 300 0 50 100 150 200 250 300 350 Native-OVS DPDK-OVS pps(단위:만) 네트워크 모드 별 패킷 처리량 Native-OVS DPDK-OVS
  • 12. HOST VM DPDK-OVS DPDK-bond PMD core# core0 core1 VM ...... core# ...... DPDK-Vhost User Space dpdk1dpdk0 ...... 12 클라우드 고성능 네트워크 – 방화벽 구성 ① iptables 를 이용한 방화벽 구성 user space 만을 사용하여 트래픽 제어 불가능 ② Switch 에 방화벽 구성 HOST 내부에서 흐르는 트래픽은 제어를 할 수 없음 ③ Openflow 를 활용한 구성 <Openstack FWaaS 와 차이> • L2 모드에서도 트래픽 제어 가능 • HOST 내부에서 흐르는 트래픽 제어 가능 • HOST 단위 부하 분산
  • 13. 13 클라우드 네트워크 xFW user-space kernel-space user-space OpenvSwitch OpenvSwitch Forwarding Plane Driver DPDK Forwarding Plane Poll Mode Driver hardware Network Interface Card hardware Network Interface Card iptables iptables openflows
  • 14. 14 xFW - Architecture Controller Node Neutron xFW Plugin Compute Node xFW Agent OpenvSwitch • Neutron Service Plugin • Tenant별 FW, Rule 정보 관리 • Agent로 Rule의 명령 및 정보 전달 • 별도의 Daemon으로 동작 • xFW Plugin으로부터 받은 명령 및 정보를 기반으로 OVS Daemon에 명령 수행 • Agent 실행 시 Flow Table의 초기 세팅을 수행
  • 15. 15 xFW - Flow xFW plugin DB HOST DPDK-OVS PMD VM xFW agent ① neutron DB 를 통하여 Rule이 적용될 VM의 소속 Host확인 ② agent 를 통해 해당 ovs의 Flow 추가, 삭제 진행
  • 16. 16 xFW – xFW Agent HOST VM br - ex DPDK-bond PMD VM ...... dpdk1dpdk0 Table 0 : table=0, n_packets=4, priority=10, icmp6, in_port=4, actions=… ….. table=0, n_packets=15, priority=4, ct_state=-trk, … , actions=mod_vlan_vid:1, ct(table=110) Table 110 : table=0, n_packets=4, priority=65500, ct_state=+new+trk , tcp, in_port=1, nw_src=.., nw_dst=.., tp_dst=22 , actions=ct(commit), NORMAL ….. table=0, n_packets=4, priority=65108, ct_state=+new+trk , udp, in_port=1, nw_src=.., nw_dst=.., tp_dst=5080, actions=ct(commit), NORMAL Conntrack 테이블에 등록이 안된 패킷
  • 17. 17 xFW – 성능테스트 환경 VM (3대) Compute Node (1대) Hardware 4vCPU 4GB Memory 20 Core(HT enable) 256GB Memory Software Ubuntu 16.04 CentOS 7.3 Openstack Newton dpdk 16.11 OpenvSwitch 2.7.0 테스트 부하 설정 • 부하 발생기 : Avalanche • Src_ip : Random • Dst_ip : VM의 ip • Port : 단일 port 설정
  • 18. 18 xFW - 성능테스트 300 90 0 50 100 150 200 250 300 350 FW 적용 전 FW 적용 후 pps(단위:만) DPDK-OVS환경에서 xFW 적용 전후 패킷 처리량 FW 적용 전 FW 적용 후
  • 19. 19 xFW 성능이 이렇게나 떨어져버리다니…. EMC 의 사이즈를 늘려서 성능을 개선해보자!
  • 20. 20 xFW – DPDK-OVS 의 패킷처리 참고: https://software.intel.com/en-us/articles/the-open-vswitch-exact-match-cache Cache Miss 및 대량의 Trashing 발생
  • 21. 21 xFW - 성능테스트 환경 VM (3대) Compute Node (1대) Hardware 4vCPU 4GB Memory 20 Core(HT enable) 256GB Memory Software Ubuntu 16.04 CentOS 7.3 Openstack Newton dpdk 16.11 OpenvSwitch 2.7.0 EMC Size Up (8192 -> 16384) 테스트 부하 설정 • 부하 발생기 : Avalanche • Src_ip : 12000개 • Dst_ip : VM의 ip • Port : 단일 port 설정 OpenvSwitch 소스 내 /lib/dpif-netdev.c에 있는 EM_FLOW_HASH_SHIFT 값을 변경하여 Size 조정
  • 22. 22 xFW - 성능테스트 120 150 0 20 40 60 80 100 120 140 160 EMC Default EMC 2x pps(단위:만) DPDK-OVS환경에서 xFW 적용 시 패킷 처리량 EMC Default EMC 2x
  • 23. 23 남은 숙제 pmd multi queue conntrack table OpenStack upgrade SR-IOV kernel version smart nic