클라우드/OpenStack

Neutron 이해를 위한 기초 네트워크

mini'scloud 2025. 7. 20. 20:22

네트워크 기본 요소

  • 가상 머신 (VM)
  • 네트워크 인터페이스 카드 (NIC)
    • 물리 서버가 네트워크에 연결되기 위한 하드웨어 장치
    • NIC Bonding: 여러 물리 NIC를 하나로 묶어 대역폭을 늘리거나(링크 통합), 한 NIC가 고장 나도 다른 NIC가 대신 작동하여 네트워크 이중화를 제공하는 기술
  • IP Address
    • 인터넷에 연결된 모든 기기가 서로를 식별하고 통신하기 위해 사용하는 고유한 숫자
  • Subnet
    • 하나의 큰 IP 주소 공간을 여러 개의 작은 논리적 네트워크로 나눈 것을 의미함
    • 각 서브넷은 가상 머신에 할당될 수 있는 IP주소들의 pool을 정의하고, DHCP 서비스를 통해 IP 주소를 자동으로 할당할 수도 있음
  • Port
    • 가상 네트워크에 가상 머신이나 다른 네트워크 서비스가 연결되는 지점을 의미함
    • 가상 네트워크에서는 소프트웨어적으로 포트가 생성되어 연결됨

가상 네트워크 및 스위칭

  • Virtual Network
    • openstack 안에서 가상 머신들이 서로 통신할 수 있도록 만들어진 소프트웨어 기반의 논리적 네트워크
  • Virtual Switch
    • 가상 머신을 가상 네트워크에 연결하는 소프트웨어 애플리케이션 
    • 물리적인 스위치와 유사하게, 동일 네트워크에 속한 가상 머신들이 서로 통신할 수 있도록 데이터 패킷을 전달하는 역할을 함
    • Linux Bridging
      • 리눅스 커널에 내장된 기본적인 가상 스위치 기능으로, VLAN 기반의 스위칭을 제공함
    • Open vSwitch(OVS): 더 고급 스위칭 기능을 제공하는 오픈 소스 가상 스위치
      • NetFlow, SPAN 등의 표준 프로토콜을 지원하며 프로그래밍 가능한 플로우 규칙을 통해 패킷 포워딩을 제어할 수 있음
    • VLAN (Virtual Local Arean Network)
      • 물리적인 네트워크 스위치를 여러 개의 논리적인 네트워크로 분리하는 기술
      • 각 VLAN은 고유한 ID(태그)를 가지며, 같은 VLAN ID를 가진 기기들만 서로 통신할 수 있어 네트워크를 논리적으로 격리함
    • Overlay Network
      • 물리적인 네트워크(언더레이 네트워크)위에서 가상의 독립적인 네트워크를 생성하는 방식
        • 물리 네트워크의 제약을 받지 않고 대규모의 논리적 네트워크를 구성할 수 있음
      • Tunneling:
        • 오버레이 네트워크를 구현하는 핵심 기술로, 원래의 패킷을 다른 패킷 안에 캡슐화하여 물리적 네트워크(IP Fabirc)를 통해 전송함
      • GRE(Generic Routing Encapsulation) 및 VXLAN(Virtual Extensible Local Area Network)
        • 대표적인 터널링 프로토콜

네트워크 트래픽 관리

  • Routing
    • 서로 다른 네트워크 간에 데이터 패킷을 올바른 목적지로 전달하는 과정
    • 이 역할을 하는 장치가 router임
  • Virtual Router
    • Openstack Neutron에서 소프트웨어적으로 구현된 라우터
    • 여러 가상 네트워크를 서로 연결하고, 클라우드 내부의 가상 머신들이 외부 인터넷과 통신할 수 있도록 길을 열어주는 역할
  • Network Namespace
    • 리눅스 커널의 기능으로, 네트워크 스택(IP 주소, 라우팅 테이블, 방화벽 규칙..)을 위한 완전히 격리된 공간을 제공
    • 이를 통해 각 사용자(테넌트)의 네트워크가 다른 사용자의 네트워크와 IP 주소가 겹치거나 간섭하지 않도록 보장할 수 있음
  • Network Address Transaltion (NAT)
    • 네트워크 주소 변환을 말함
    • IP 주소를 다른 IP주소로 변환하는 것을 말함
    • 주로 사설 네트워크 IP주소를 외부 인터넷과 통신할 수 있는 공인 IP 주소로 바꾸는데 사용함
      • SNAT(Source NAT): 내부 네트워크에서 외부로 나가는 트래픽 출발지 IP주소를 변환함
      • DNAT(Destination NAT): 외부에서 내부로 들어오는 트래픽 목적지 IP 주소를 변환함
  • Floating IP
    • openstack에서 가상 머신에 할당할 수 있는 공인 IP 주소
    • 이 IP를 상요하면 외부 인터넷에서 특정 가상 머신에 직접 접근할 수 있음
    • Floating IP는 기본적으로 DNAT를 통해 가상 머신의 사설 IP로 변환되어 통신함
  • Load Balancing
    • 들어오는 네트워크 트래픽이나 클라이언트 요청을 여러 개의 서버나 가상 머신에 균등하게 분산시켜주는 기술
    • LBaas(Load-Balacning as a Service): Neutron이 제공하는 로드 밸런싱 기술
  • Firewall
    • 네트워크 보안을 위해 들어오고 나가는 트래픽을 검사하고 제어하는 시스템
    • Neutron은 두 가지 방식으로 방화벽 기능을 제공함
    • Security Group
      • 가상 인스턴스 수준에서 트래픽을 제어하는 방화벽 규칙
      • IP tables를 사용해 가상 머신으로 들어오고 나가는 트래픽을 필터링함
      • 기본적으로는 '모두 거부' 정책에 특정 허용 규칙을 추가하는 방식으로 작동함
    • FwaaS(Firewall-as-a-Service)
      • 보안 그룹보다 더 높은 수준에서 네트워크 보안을 제공함
      • 라우터 수준에서 트래픽을 제어하며, 여러 네트워크를 연결하는 '경계"에서 보안 정책을 적용할 수 있음
      • 허용 규칙과 거부 규칙을 모두 명시적으로 설정할 수 있음
  • IP Tables
    • 리눅스 시스템에서 네트워크 패킷 필터링과 NAT 규칙을 설정하는데 사용되는 강력한 도구
    • Neutron의 보안 그룹과 라우팅/NAT 기능 구현에 활용됨
  • VPN (Virtual Private Network)
    • 공용 네트워크(ex: 인터넷)을 통해 암호화된 사설 네트워크 연결을 만들어주는 기술
    • 마치 사설 네트워크에 직접 연결된 것처럼 안전하게 데이터를 주고 받을 수 있게 해줌
    • 원격의 데이터센터나 지점간에 안전하게 통신할 때 사용됨
    • VPNaas(VPN-as-a-Service): Neutron이 제공하는 VPN 기능

클라우드 서비스 관련 개념

  • 소프트웨어 정의 네트워킹 (Software-Defined Networking, SDN)
    • 네트워크의 제어 계층과 데이터 계층을 분리하여 네트워크를 소프트웨어적으로 프로그래밍하고 관리할 수 있게 해주는 기술
    • Neutron은 SDN 방식에 의존해 추상적이고 자동화된 방식으로 네트워크 서비스를 관리함
  • API
    • Neutron은 API를 통해 사용자나 다른 openstack 서비스가 네트워크 리소스를 생성하고 관리할 수 있게 해줌
  • Database
    • 네트워크 설정과 같은 영구적인 정보를 저장하는 시스템
    • Openstack Networking 서비스는 모든 네트워크 구성을 데이터베이스에 저장하고 관리함
  • Message Bus
    • openstack 서비스의 각 구성 요소(ex: Neutron 서버와 에이전트)들이 서로 메시지를 주고받는 데 사용되는 통신 시스템
    • 이를 통해 분산된 서비스들이 효율적으로 협력할 수 있음
  • Controller Node, Network Node, Compute Node
    • Openstack 클라우드를 구성하는 주요 서버 역할
    • controller node: openstack의 핵심 서비스(API, DB, Messaging..)이 실행되는 서버
    • network node: 주로 neutron의 L3 에이전트, DHCP 에이전트 등 네트워크 관련 서비스가 실행되는 전용 서버
      • controller node의 부하를 줄이고 보안 및 안전성을 높일 수 있음
      • Neutron L3 에이전트:
        가상 네트워크 라우터 기능 수행. VM과 외부망, 다양한 내부 네트워크(VLAN, 서브넷 등)를 서로 라우팅함
      • Neutron DHCP 에이전트:
        각 테넌트/서브넷 내 VM에 동적으로 IP를 할당하는 DHCP 서버 역할
      • Neutron Metadata 에이전트:
        VM이 부팅 시 필요한 메타데이터(ssh키, 사용자 데이터 등) 서비스 중계
    • compute node: VM이 실제로 생성되고 실행되는 서버

'클라우드 > OpenStack' 카테고리의 다른 글

Neutron 네트워크(2) - 아키텍처, 구현  (0) 2025.07.22
Neutron 네트워크 (1)  (0) 2025.07.22
glance에서 keystone 서비스 연동  (0) 2025.07.19
Key Stone install & managment  (0) 2025.07.06
Openstack Installation  (0) 2025.07.06