[네트워크] IP 주소

클래스리스 IP, 서브네팅

Posted by ChaelinJ on May 31, 2021

3.3.2 클래스풀과 클래스리스

클래스풀(Classful): 클래스 기반의 IP 주소 체계

  • 확장성
  • 주소 낭비 최소화
  • 서브넷 마스크 필요 없음
    • 서브넷 마스크: 네트워크 주소와 호스트 주소를 구분짓는 구분자
    • 맨 앞자리 숫자로 어느 클래스에 속해 있는지 구분할 수 있음

3.3.2.1 클래스리스 네트워크의 등장

인터넷 상용화에 의해 기하급수적으로 증가한 IP 주소 요구에 의해 기존 클래스풀 주소 체계론 부족해졌습니다.

  • 계층화와 분할을 위해 낭비되는 IP가 많음

CIDR(Classless Inter-Domain Routing)

IP 주소 부족 & 낭비 문제를 해결하기 위해 만들어진 3가지 보존, 전환전략 중 하나는 클래스리스 기반의 주소 체계였습니다.

나머지 전략은 다음 두 가지 입니다.

  • NAT와 사설 IP 주소
  • 차세대 IP인 IPv6

현재 우리가 사용하는 주소 체계는 클래스 개념을 적용하지 않는 클래스리스 기반의 주소 체계입니다.

클래스풀 주소 체계와 달리 클래스리스 네트워크는 별도로 네트워크 주소와 호스트 주소를 구분 짓는 서브넷 마스크를 이용해 구분해야 합니다.

  • 2진수에서 1은 네트워크 주소, 0은 호스트 주소입니다.
  • IP 주소와 서브넷 마스크의 and 연산을 통해 네트워크 주소만 뽑아낼 수 있습니다.
예시

IP 주소 103.22.80.162
네트워크 주소 103.22.80.0
호스트 주소 0.0.0.162

IP 주소         01100111 00010110 01010000 10100010
서브넷 마스크   11111111 11111111 11111111 00000000

네트워크 주소   01100111 00010110 01010000 00000000
호스트 주소     00000000 00000000 00000000 10100010

클래스리스 네트워크 사용을 위해선 IP 주소 설정 시 서브넷 마스크를 사용해야 합니다.

서브넷 마스크 표현 방법

  • 비트
    • 1 부분이 연속된 자리 수를 표현하는 것
    • 첫 옥텟만 네트워크를 나타내는 A 클래스의 경우 /8
    • 두 옥텟만 네트워크를 나타내는 B 클래스의 경우 /16
  • 10진수
    • A 클래스의 경우 255.0.0.0
    • B 클래스의 경우 255.255.0.0

8진수와 16진수로 표현하는 일부 네트워크 장비도 있으나 이해하기 어려워 잘 이용하는 표기법은 아닙니다.

3.3.3 서브네팅

옥텟 단위가 아닌 1비트 단위로 네트워크와 호스트를 분할하는 것입니다.

서브네팅에 대해 고민해야 하는 것

  • 네트워크 디자인 시 효율적인 분할 방법 (네트워크 설계자)
  • 이미 분할된 네트워크에서 자신의 네트워크와 원격지 네트워크를 구분해야 하는 경우 (네트워크 사용자)

네트워크 설계자는 네트워크 내에 필요한 단말을 고려해 범위를 설계해야 하며 사용자는 사용할 수 있는 IP 범위를 파악해야 하고, 기본 게이트워이에와 서브넷 마스크 설정이 제대로 되었는지 확인해야 합니다.

3.3.3.1 네트워크 사용자의 서브네팅

사용자는 설계된 네트워크에서 사용할 수 있는 IP 주소 범위를 파악해야 합니다.

IP 범위를 잘못 파악하거나 서브넷 마스크를 잘못 입력할 경우 통신에 오류가 발생할 수 있습니다.

서브네팅의 경우 비트 단위로 분할하기 때문에 사용 가능한 IP 범위 파악이 쉽지 않습니다.

사용 가능한 네트워크 주소 범위를 알아보는 방법
  1. 서브넷 마스크를 2진수로 변환합니다.
     255.255.255.192
     > 11111111 11111111 11111111 11000000
    
  2. 서브넷 마스크의 0인 부분으로 가질 수 있는 IP 주소의 개수를 확인합니다.
     11111111 11111111 11111111 11000000
     > 000000 6비트
    

    6비트이니 2^6(64)개의 IP 주소를 가질 수 있습니다.

  3. 위에서 구한 개수를 기준으로 블록을 나눕니다.
    0~63 / 64~127 / 128~191 / 192~255
  4. 내 IP 주소가 속한 범위를 찾습니다.
    • 만약 102.23.74.132인 경우 세 번째 블록에 속합니다.
    • 이 경우 128은 네트워크 주소, 191은 브로드캐스트 주소입니다.
  5. 유효한 범위를 정리합니다.
    • 네트워크 주소: 102.23.74.128
    • 브로드캐스트 주소: 102.23.74.191
    • 유효한 IP 범위: 102.23.74.129 ~ 102.23.74.190

3.3.3.2 네트워크 설계자 입장

네트워크 설계자는 필요한 네트워크 크기에 따라 고민해 서브넷 마스크를 설계하고 반영해야 합니다.

그에 따라 고민해야 하는 부분은 다음과 같습니다.

  1. 서브넷 된 하나의 네트워크에 IP를 몇 개나 할당해야 하는가
  2. 서브넷 된 네트워크가 몇 개나 필요한가

만약 한 지사에서 최대로 IP가 필요한 장비가 12개인 경우

호스트 주소의 범위는 비트 단위이니 2의 배수로 커집니다. 4, 8, 16, 32, 64,…라고 할 때, 필요한 네트워크 내 IP 개수가 12개이니 16개짜리 네트워크를 할당해야 합니다.

추가적으로 네트워크 주소와 브로드캐스트 주소까지 하면 16개가 아니라 실제로는 14개의 IP 주소를 사용할 수 있습니다. 이는 필요힌 12개 이상이니 사용 가능합니다.

3.3.4 공인 IP와 사설 IP

공인 IP
  • 전 세계에서 유일해야 하는 식별자
  • 인터넷에서 유일하게 사용되므로 사용할 수 있는 IP 수가 제한되어 있습니다.
  • 할당된 IP를 사용하지 않을 경우, IP 할당 기관이 회수합니다.
사설 IP
  • 인터넷에 연결하지 않고 개인적으로 네트워크를 구성할 경우 사용하는 IP 주소
  • 회사 내부에서만 사용하므로 제한 없이 큰 네트워크를 사용할 수 있습니다.

공인 IP를 할당 받기 위해선 IP 할당 기관에서 인터넷 독립기관 주소(Autonomous System Number, ASN)를 할당 받은 후 독립 IP를 할당받아야 하기 때문에 절차가 복잡합니다.

인터넷에 접속하지 않거나 NAT 기술을 사용할 경우 사설 IP를 사용할 수 있습니다.

  • NAT: Network Address Translation, 네트워크 주소 변환
  • NAT 기술은 인터넷에 직접 접속하지 못하는 사설 IP를 공인 IP로 변경해 인터넷에 접속할 수 있도록 합니다.
    • 대표적으로 가정에서 많이 사용하는 공유기가 있습니다.

사설 네트워크를 구축할 때 공인 IP로 누군가에게 할당되어 사용되고 있는 IP를 사설 네트워크 주소로 사용하면 안됩니다. 다른 인터넷 연결에는 문제가 없지만 해당 IP를 공식으로 사용하는 네트워크로는 접속할 수 없습니다.

인터넷 표준 문서에 등록된 사설 IP 대역을 사용해야 합니다.

Bogon IP

IP 주소 할당 최상위 기구인 IANA에서 여러 목적으로 예약해 놓아 공인 IP로 할당되지 않은 IP입니다.

이 Bogon IP를 이용한 통신이 있었다면 해킹 목적으로 IP 변조를 했거나 실수로 할당된 IP를 사용한 경우이니 필터링이 필요합니다.

하지만 새로 할당되는 경우도 있으니 Bogon IP 대역이 변경되는 것을 확인해야 합니다.

IP 주소 발신자 확인

IP 주소로 발신자의 신원이나 소속된 조직의 이름을 알 수 있습니다.

KISA에서 제공하는 IP 검색 서비스를 이용해 조회하면 어떤 회선 사업자를 이용하는지 알 수 있거나 어떤 조직 소유의 IP인지 확인할 수 있습니다.


[IT 엔지니어를 위한 네트워크 입문] 도서를 참조해 공부한 내용입니다.

감사합니다.

Photographs by Chaelin, Unsplash.