Neutron

배병진·2023년 5월 2일
3

Openstack

목록 보기
3/6

Neutron Service는 클라이언트에게 제공하는 컴퓨트 서비스 Nova와 네트워크를 통해 연결돼 있으며, Nova Service가 생성하는 인스턴스에게 가상 네트워크 서비스를 제공하는 역할을 한다.

Neutron 제공 기능

네트워크 서비스

오픈스택 환경에서 가상 네트워크 인프라의 모든 네트워크 요소와 실제 물리 네트워크 인프라의 접근 계층을 모두 관리 할 수 있는 서비스

VPN, LB, FW, Subnet, Router과 같은 기능을 모방해 이들과 유사한 기능을 제공한다.

외부 및 내부 네트워크

내부 네트워크 상에서의 가상머신 또는 인터페이스를 통해 연결된 서브넷 상의 가상머신들은 가상 스위치 또는 가상 라우터를 통해 직접 그 네트워크에 연결된 가상머신들에 접속 가능

라우터

한 서브넷에 위치한 가상 머신은 같은 라우터에 연결된 다른 서브넷에 위치한 가사머신에 접근 가능하다.

내부 네트워크에 연결된 포트에 외부 네트워크 IP 주소를 할당 할 수 있다.

즉, 외부 네트워크에 존재하는 클라이언트가 가상머신에 직접 접근이 가능하다.

보안 그룹

그룹단위로 보안 그룹 지정하여 가상머신에 대해 포트, 포트 범위, 트래픽 유형을 차단 및 허용이 가능하다.

이러한 개념을 구현하기 위해 ML2(Modular Layer)와 같은 핵심 플러그인과 보안 그룹 플러그인이 사용되고, FWaaS(Firewall-as-a-Service)와 LBaaS(Load-Balancer-as-a-Service)도 사용 가능

Neutron 구성 요소

Neutron-server

일반적으로 컨트롤러 노드에 설치되며, 네트워크 생성, 서브넷 및 라우터 생성기능을 하고 API를 통해 요청을 받아들인다.

다른 노드에 있는 컨트롤러와 통신하기 위해서 RPC 프로토콜을 이용하여 메시지 큐 서버와 통신한다.

  • RPC(Remote Procedure Call) : 다른 주소 공간에서 리모트의 함수나 프로시저를 실행 할 수 있게 해주는 프로세스간 통신>

Plug-in, Agent

네트워크 포트에 대한 탈 부착, 네트워크 또는 서브넷 생성, IP 주소 생성

네트워크 에이전트 종류

L2 Agent(L2 Layer, Provider Network)

Provider Network : 자신만의 VM Instance를 위한 네트워크

일반적으로 네트워크와 컴퓨트 노드에 설치되며, PRC를 이용하여 Neutron-Server 와 통신하고 디바이스 추가 및 삭제되는 상황을 모니터링 해준다.

LinuxBridge, OVS(Open vSwitch), VLAN 태깅 처리

* LinuxBridge

분리된 네트워크를 연결하기 위해 사용

* OVS(Open vSwitch)

네트워크 기술을 가상화 환경에서 사용 가능하도록 소프트웨어로 구현한 가상 스위치 즉, SDN(Software-defined-Networking)

* VLAN

같은 스위치에서 실행중인 컴퓨터의 네트워크 트래픽을 분할하기 위해 사용. 즉, 스위치의 각 포트를 여러 다른 네트워크에 속하도록 설정

  • L3 Agent(L3 Layer, Self-Service Network)
    * Self-Service Network : 구축한 네트워크가 VM Instance에 할당되는 네트워크
    • 일반적으로 네트워크 노드에 설치, Neutron-Server로 부터 라우터, 라우팅, 플로팅 ip에 대한 메시지를 받아서 관리해준다
    • 내부 네트워크 간에 데이터를 전달하고 내부 네트워크 정보를 외부 네트워크로 전달하는 역할 수행

Floating IP

Openstack 환경에서 생성된 인스턴스에 접속하기 위해 사용되는 IP 기술(인스턴스에서 사용되는 내부 IP 는 외부 네트워크에 위치한 호스트가 알지 못하여 Floating IP를 사용)

NAT(Network Address Translation)

Nova에서 생성된 인스턴스가 외부에 위치한 고용 네트워크에 접속할 때마다 NAT가 오픈스택 환경 외부에서 사용 가능한 주소로 변환해주고 이를 위해서 가상 라우터가 사용된다.

라우터

네트워크노드에 설치되는 L3 Agent를 통해 가상 라우터를 생성하는데 내부<-->외부 간 통신이 가능하게 해준다.

방화벽

라우터로서 동일한 네트워크에 위치해서 네트워크 사이의 트래픽을 필터링 한다.

LBaaS(Load Balancing-as-a-Service)

네트워크 요청을 목적지 인스턴스에 분산시켜 전달하는 역할을 하고 Round-Robin 을 사용

고가용성(High Availability[HA])

가상 라우터와 Floating IP 주소를 보호하기 위해 VRRP(Virtual Router Redundancy Protocol을 이용하고

FHRP(First Hop Redundancy Protocol, 게이트웨이 이중화 프로토콜)

  • FHRP 에서 대표적인 게이트웨이 이중화 프로토콜은 VRRP, HSRP, GLBP가 있다.

  • VRRP(가상 라우터 다중화 프로토콜, 가상 라우터 장애 복구 프로토콜)

  • 하나의 라우터를 Stand-by 하나의 라우터를 Active 상태로 두고 Active 되어있는 라우터가 문제가 생겼을 경우 Stand-by 상태의 라우터를 Active로 전환한다.

DHCP Agent

ip할당에 사용되고, Neutron-Server로부터 네트워크 삭제 또는 생성에 대한 메시지를 받고 dnsmasq 기능을 사용하여 DHCP 서버로 사용된다.

Dnsmasq

DNS 캐싱, DHCP서버, 라우터 알림 및 네트워크 부팅 기능을 제공하는 무료 소프트웨어로 소규모 네트워크 용

DNS 캐싱기능을 제공하기 때문에 호스트 정보를 가지고 DNS에서 그대로 사용이 가능하다.

Cache Server

인터넷 서비스 속도를 높이기 위해 사용자와 가까운 곳에 데이터를 임시 저장하여 빠르게 제공해주는 프록시 서버

Cache

CPU와 주기억장치 사이에 물리적으로 존재하는 버퍼 형태의 고속 기억장치(메모리 읽기속도 개선용)

필요시 캐시에 데이터가 있으면 고속으로 수행이 가능하고 Cache에 없으면 주기억 장치에서 새로 읽음

Proxy Server

인터넷에서 유저를 대신하여 데이터를 가져오는 서버

Metadata Agent

일반적으로 네트워크 노드에 설치되고 인스턴스 내부 클라이언트의 Metadata 요청을 Nova Metadata 서비스에 전달한다.

RPC를 통해 Neutron-Server와 통신하며 IP 주소, 호스트 이름, 프로젝트 같은 정보를 제공하는 역할을 한다.

Message Queue

Neutron-Server와 여러 에이전트 중간에서 상호 간에 정보를 전달하기 위해 사용

profile
history and study

0개의 댓글