Cloud/OpenStack

[오픈스택을 다루는 기술] 클라우드 네트워크 상식

just-e 2021. 1. 13. 00:10

1.4 클라우드에서 알아야 할 네트워크 상식

책에서는 클라우드 컴퓨팅하면 반드시 알고 넘어가야 할 네트워크 용어에 대해 설명한다.

01 고정 IP주소와 유동 IP 주소

  • 고정 IP(Fixed IP)
    • Fixed IP는 회사나 집에서 사용하는 컴퓨터에 연결된 인터넷 회선에 IPTime 같은 인터넷 공유기를 연결해 고정으로 할당받는 IP를 말한다.

Fixed IP 할당

  • 클라우드 컴퓨트 서비스에서 생성하는 가상 인스턴스 IP를 할당받을 때 고정 IP를 받는다.
  • 클라우드 플랫폼에서 할당하기 떄문에 당연히 인터넷은 연결되지 않는다. 그래서 Fixed IP는 가상 머신 간 내부 통신만 가능하다.
  • 유동 IP(Floating IP)
    • 가상 인스턴스에 인터넷 프로바이더에게서 할당받은 인터넷 IP을 할당하면 된다.
    • 유동 IP는 가상 인스턴스가 외부에서 접근할 수 있도록 할당하는 IP이다.

유동 IP 할당

  • Floating IP는 기존에 있던 개념이 아니라, 클라우드 컴퓨팅을 하면서 새로 등장한 용어이다.
  • 가상 인스턴스에 인터넷이 되도록 IP를 부여했다가 필요에 따라 삭제하는 IP를 Floating IP라고 한다.
  • 가상 인스턴스나 컴퓨터에 무한히 지정되지 않고, Floating IP 할당했다가 비할당하는 현상이 이리저리 둥둥 떠다니는 Floating이라는 단어 의미와 유사하다.

02 IP 클래스와 IP 범위

  • 클라우드 플랫폼은 많은 인스턴스를 생성하기 때문에 가상 인스턴스가 생성 될 때마다 나누어줄 IP 테이블이 있다.
  • 이때 IP 테이블의 범위를 IP Range라고 한다.
  • IP 범위를 설정하려면 IP Class를 먼저 알아야 한다.
    • IP Class는 크게 A 클래스, B 클래스, C 클래스와 다른 목적으로 예약된 D 클래스, E 클래스로 나뉜다.
    • Class라는 명칭은 네트워크와 호스트 수에 따라 구분하는 것이며, IP Class의 범위, 서브넷 마스크, 할당 가능한 호스트 IP 개수를 정리하면 아래 표와 같다.

    • 분류범위서브넷 마스크 비트 수호스트 비트 수할당 가능한 호스트 IP 개수
      A Class 1.0.0.0 ~ 126.255.255.255 255.0.0.0 8 Bit 약 1600만 개
      B Class 128.0.0.0 ~      
      191.255.255.255 255.255.0.0 16 Bit 약 6만 5000개  
      C Class 192.0.0.0 ~      
      233.255.255.255 255.255.255.0 24 Bit 254개  
      D Class 224.0.0.0 ~      
      239.255.255.255 멀티캐스트용으로      
      예약된 클래스        
      E Class 240.0.0.0 ~      
      254.255.255.254 연구 개발을 목적으로      
      예약된 클래스        
      • A Class
        • 가장 높은 단위의 클래스 범위가 1~126까지인 IP 주소이다.
        • 서브넷 마스크를 보면 두 번째, 세 번째, 네 번째 단위는 사용자(호스트)에게 부여할 수 있다.
        • 어떤 회사에서 A Class에 해당하는 10.0.0.0 범위의 IP를 할당받았다면, 이 회사에 할당 가능한 IP 개수는 약 1600만 개가 된다.
      • B Class
        • 두 번째로 높은 단위의 Class로 IP 구성에서 첫 번째 단위가 128 ~ 191 사이의 범위를 가진다.
        • 두 번째 단위는 B Class가 접속할 수 있는 네트워크고, 세 번째와 네 번째 단위는 사용자에게 부여할 수 있다.
        • 어떤 회사가 웹 사이트 IP가 128.10.2.8이라면 이 IP는 B Class에 해당하며, 서브넷 마스크는 255.255.0.0을 가진다. 사용자(호스트)에게 할당할 수 있는 비트 수가 16Bit이므로 약 6만 5000개의 IP를 사용할 수 있다.
      • C Class
        • 최하위 클래스로 IP 구성에서 첫 번째 단위가 192 ~ 223 사이의 범위를 가진다.
        • 두 번째 단위와 세 번째 단위는 C 클래스가 접속할 수 있는 네트워크이다.
        • 서브넷 마스크를 보면 네 번째 단위만 사용자(호스트)에게 IP를 부여할 수 있다.
        • C 클래스의 호스트 비트 수가 8 Bit이므로 할당 가능한 IP 개수는 254개가 된다.
    • IP 범위
      • IP 범위는 컴퓨터에 할당할 수 있는 IP 개수를 말한다.
      • IP는 네트워크 부분과 호스트 부분으로 나뉠 수 있다.
      • 네트워크 부분은 말 그대로 네트워크 이름이고, 호스트 부분은 개별 컴퓨터에 부여된다.
      • e.g.) 203.204.100.1이라는 IP가 있고, 서브넷 마스크가 255.255.255.0이라면, 203.204.100은 네트워크고, 1은 호스트 1번이라고 할 수 있다.
      • 이 범위는 IP에서 할당할 수 있는 호스트 부분은 1 ~ 255까지 된다.

03 CIDR

  • CIDR(Classless Inter-Domain Routing)은 클래스가 없는 도메인 간 라우팅 기법으로 기존 IP 할당 방식인 네트워크 클래스를 대체한다. IP 영역을 여러 네트워크 영역으로 나눌 떄 기존 클래스 방식에 비해 다음 장점이 있다.
    • 급격히 부족해지는 IPv4 주소를 좀 더 효율적으로 사용할 수 있다.
    • 접두어를 이용한 주소 지정 방식의 계층적 구조를 사용해 인터넷 라우팅의 부담을 덜어준다.
  • CIDR은 기본적으로 Bit 단위 IP를 체크하는 표준 분석 방식이다. 그래서 일련의 IP들을 하나의 라우팅 테이블 항목에 넣은 것으로 라우팅을 실행한다.
    • CIDR 블록에 포함된 여러 IP는 일련의 초기 비트가 같다.
    • IPv4 CIDR 블록 IPv4 주소와 형태가 비슷하며, 점과 숫자로 구성된 네 부분의 주소와 / 뒤의 0에서 32까지 숫자로 되어 있다. 즉 A.B.C.D/N 같은 형태를 말한다.
  • CIDR별 사용 가능한 클래스와 할당 가능한 호스트 IP 개수, 이때 사용되는 넷 마스크를 정리하면 아래 표와 같다.
    • 오픈스택의 인스턴스에 할당할 IP 범위를 설정할 때 도움이 된다.
    • CIDR 테이블CIDR사용 가능한 클래스 개수할당 가능한 IP 개수넷마스크
      /32 1 / 256 C 1 255.255.255.255
      /31 1 / 128 C 2 255.255.255.254
      /30 1 / 64 C 4 255.255.255.252
      /29 1 / 32 C 8 255.255.255.248
      /28 1 / 16 C 16 255.255.255.240
      /27 1 / 8 C 32 255.255.255.224
      /26 1 / 4 C 64 255.255.255.192
      /25 1 / 2 C 128 255.255.255.128
      /24 1 C 256 255.255.255.000
      /23 2 C 512 255.255.254.000
      /22 4 C 1024 255.255.252.000
      /21 8 C 2048 255.255.248.000
      /20 16 C 4096 255.255.240.000
      /19 32 C 8192 255.255.224.000
      /18 64 C 16384 255.255.192.000
      /17 128 C 32768 255.255.128.000
      /16 256 C, 1 B 65536 255.255.000.000
      /15 512 C, 2 B 131072 255.254.000.000
      /14 1024 C, 4 B 262144 255.252.000.000
      /13 2048 C, 8 B 524288 255.248.000.000
      /12 4096 C, 16 B 1048576 255.240.000.000
      /11 8192 C, 32 B 2097152 255.224.000.000
      /10 16384 C, 64 B 4194304 255.192.000.000
      /9 32768 C, 128 B 8388608 255.128.000.000
      /8 65536 C, 256 B, 1 A 16777216 255.000.000.000
      /7 131072 C, 512 B, 2 A 33554432 254.000.000.000
      /6 262144 C, 1024 B, 4 A 67108864 252.000.000.000
      /5 524288 C, 2048 B, 8 A 134217728 248.000.000.000
      /4 1048576 C, 4096 B, 16 A 268435456 240.000.000.000
      /3 2097152 C, 8192 B, 32 A 536870912 224.000.000.000
      /2 4194304 C, 16384 B, 64 A 1073741824 192.000.000.000
      /1 8388608 C, 32768 B, 128 A 2147483648 128.000.000.000

04 SDN

  • SDN(Software Defined Networking)은 네트워크 제어 기능(Control Plane)이 물리적 네트워크와 분리되도록 프로그래밍한 네트워크 구조이다.
  • 위키피디아에 따르면 따르면 SDN을 특징 짓는 두 가지 포인트가 있다.
    • 첫 번째
      • 네트워크 제어 기능을 데이터 전달 기능(Data Plane)과 분리해서 구현해야 한다.
    • 두 번째
      • 네트워크 제어 기능이 개발되고 실행될 수 있는 환경을 분리해 낮은 성능의 CPU가 있는 하드웨어 스위치에 더 이상 위치시키지 않는다.
  • 다시 말해 SDN이라면 네트워크 제어 기능을 기존 스위치나 라우터 등 하드웨어와 별도로 분리해야 하고, 데이터 전달 기능과도 분릴해서 개발 및 실행될 수 있는 네트워크 구조여야 한다는 것이다.
  • 그림 아래와 같이 SDN 아키텍처를 보면, 네트워크의 핵심적인 기능이 네트워크를 전체적으로 제어하는 소프트웨어 기반의 SDN 컨트롤에 집중되어 있다.

  • SDN은 오픈플로 기술을 이용해 세상에 알려졌다.

05 오픈플로

  • 오픈플로(OpenFlow)는 SDN의 근간이 되는 기술로 오픈스택 풀섬(Folsom) 버전부터 네트워크 프로젝트인 Quantum에 포함된 기술이다. Havana로 오면서 네트워크 프로젝트 이름이 Neutron으로 변경되었지만 계속 오픈플로 기술을 지원한다.

  • 오픈플로는 SDN 아키텍처의 컨트롤 레이어(Control Layer)와 인프라스트럭처 레이어(Infrastructure Layer) 사이에 정의된 최초의의 표준 통신 인터페이스이다.
    • 위 그림에서 볼 수 있듯이 오픈플로는 오픈플로 스위치와 오픈플로 컨트롤러로 구성되며, 흐름(Flow) 정보로 패킷의 전달 경로와 방식을 제어한다.
  • 오픈플로는 오픈플로 컨트롤러와 오픈플로 지원 네트워크 장비(라우터, 스위치) 사이에서 커뮤니케이션 역할을 담당한다고 보면 된다.
  • 일반적인 하드웨어 기반의 네트워크 장비(라우터, 스위치)는 플로 테이블(Flow Table)을 이용해서 네트워크 트래픽을 처리하는 반면에, 오픈플로는 소프트웨어 컨트롤러로 플로 테이블을 조작하고 데이터 경로를 설정해서 사용자, 애플리케이션, 세션 계층 수준에서 실시간 변화에 대응할 수 있다.

 

 

 

참조

  • 오픈스택을 다루는 기술