728x90
반응형
맨 위로 올라가기
Subnet

 

서브넷(Subnet)은 IP(Internet Protocol) 주소 공간을 작은 네트워크로 분할하는 것입니다.

일반적으로 서브넷은 네트워크 관리를 용이하기 위해 사용됩니다.

 

서브넷을 비유하자면 큰 부동산을 여러 개의 작은 토지로 분할하는 것과 비슷합니다.

각 토지는 각각의 주소를 가지며, 토지 내부에서 건물을 지을 수 있습니다.

 

IP 주소는 네트워크 ID와 호스트 ID로 구성됩니다.
서브넷 마스크는 IP주소를 이진 형식으로 나타내며, 네트워크 ID와 호스트 ID를 나누는 역할을 합니다.

 

예를 들어, IP 주소 192.168.0.1 을 사용하는 경우,

이는 24비트 서브넷 마스크를 사용하는 클래스 C네트워크의 호스트 ID 입니다.

이 경우, 192.168.0.0은 네트워크 ID가 됩니다.

 

서브넷을 사용하면 IP 주소 공간을 더 효율적으로 사용할 수 있으며, 보안 관리 목적으로 네트워크를 분리할 수 있습니다.


서브넷 사용 이유

 

  1. IP 주소 공간을 효율적으로 사용
    • 서브넷은 IP 주소 공간을 더 효율적으로 사용할 수 있도록 합니다.
      대규모 네트워크에서는 모든 호스트를 하나의 대형 네트워크에 할당하는 것보다
      작은 서브넷으로 분할하여 관리하는 것이 더 효과적입니다.
  2. 보안강화
    • 서브넷을 사용하여 네트워크를 분리하면 각 서브넷 내에서만 호스트 간의 통신이 가능하도록 할 수 있습니다.
      이렇게 함으로써 외부 공격자나 악성 코드 등의 위협으로부터 보다 안전하게 호스트를 보호할 수 있습니다.
  3. 네트워크 관리 용이성
    • 서브넷을 사용하면 라우터와 같은 장비를 사용하여 서로 다른 서브넷 간의 통신을 가능하게 하며,
      이를 통해 네트워크를 더욱 쉽게 관리할 수 있습니다. 또한 서브넷 단위로 IP 주소 관리를 하기 때문에
      네트워크 관리가 용이해집니다.
  4. IP 주소 부족
    • IPv4 주소 공간이 한정되어 있기 때문에, 서브넷을 사용하여 IP 주소를 더욱 효율적으로 사용할 수 있습니다.
      이렇게 함으로써 IP 주소 부족 문제를 일부 해결할 수 있습니다.

IPv4 네트워크 주소 클래스

 

IPv4 주소 클래스는 초기 인터넷 설계에서 IP 주소를 할당하기 위해 사용되었습니다.

주소 클래스는 IP 주소의 첫 번째 옥텟을 기준으로 네트워크 ID와 호스트 ID를 구분하는 방식입니다.

 

  • 옥텟(Octet)은 8비트(bit)로 구성된 이진수 1개를 말합니다.
    8비트는 2진수로 00000000부터 11111111까지 (1 + 2 + 4 + 8 + 16 + 32 + 64 + 128)
    총 256개(0 포함)의 서로 다른 값을 가질 수 있습니다.
    따라서 1개의 옥텟은 0 부터 255까지의 10진수 값으로 표현될 수 있습니다.

    IPv4에서 IP 주소는 4개의 옥텟으로 구성되며, 각 옥텟은 점으로 구분됩니다.
    예를 들어 192.168.0.1은 4개의 옥텟으로 이루어진 IPv4의 주소입니다.
    각 옥텟은 0부터 255까지의 값을 가질 수 있으며, 이진수로 표현하면 각각 8바이트(1바이트)로 표현됩니다.

주소 클래스를 도입한 이유는 당시 인터넷에 연결된 호스트 수가 매우 적었기 때문입니다.
당시 네트워크는 대개 대규모 또는 중간 규모의 기업 또는 연구기관에서 사용되었으며,
호스트 수가 수천 대 이상인 경우도 드물 었습니다. 그렇기 때문에 각 주소 클래스는 네트워크 크기에 따라 할당되는
IP 주소 범위를 지정하는 데 유용했습니다.

하지만 인터넷이 급속하게 성장하면서, 주소 클래스 체계의 한계가 드러났습니다.
예를 들어, 클래스 A는 너무 큰 네트워크를 구성하고, 클래스 B는 중간 규모의 네트워크에서도 IP 주소를 낭비하게 됩니다.
이러한 문제를 해결하기 위해 CIDR(Classless Inter-Domain Routing) 기술이 개발되어
현재는 CIDR을 사용하여 IP주소를 관리합니다.

 

네트워크 IP(Network IP)와 호스트 IP(Host IP)는 IP 주소에서 구분되는 개념입니다.

  • 네트워크 IP(Network IP)
    • IP 주소에서 네트워크 식별자(Network Identifier) 부분을 의미합니다.
      이 부분은 해당 IP 주소가 속한 네트워크를 식별하는 역할을 합니다.
      네트워크 IP는 호스트의 IP 주소에서 마지막 옥텟을 모두 0으로 설정 한 것입니다.
      예를 들어, 192.168.0.0은 네트워크 IP 입니다.
  • 호스트 IP(Host IP)
    • IP 주소에서 호스트 식별자(Host Identifier) 부분을 의미합니다.
      이 부분은 해당 IP 주소가 속한 네트워크 안에서 개별적으로 식별되는 호스트를 식별하는 역할을 합니다.
      호스트 IP는 네트워크 IP에서 마지막 옥텟을 제외한 나머지 옥텟입니다.
      예를 들어, 192.168.0.1은 호스트 IP 입니다.

 

[클래스 기반 IP 주소 체계]

 

네트워크 ID와 호스트 ID를 나누는 방법은 클래스 기반 IP 주소 체계에서 사용되었던 방법입니다.

클래스 기반 IP 주소 체계에서는 IP 주소의 첫 번째 옥텟을 사용하여 주소 클래스를 구분하고,

이에 따라 네트워크 ID와 호스트 ID를 구분합니다.

 

클래스 A, B, C 주소 체계에서는 아래와 같이 네트워크 ID와 호스트 ID를 나누었습니다.

 

  • 클래스 A: 첫 번째 옥텟이 네트워크 ID, 나머지 3개의 옥텟이 호스트 ID (N.H.H.H)
    - 국가 / 대형 통신망 (대한민국의 철수네 집)
    서브넷 마스크: 11111111.00000000.00000000.00000000 = 255.0.0.0
  • 클래스 B: 첫 번째와 두 번째 옥텟이 네트워크 ID, 나머지 2개의 옥텟이 호스트 ID (N.N.H.H)
    - 중대형 통신망 (대한민국 서울시의 철수네 집)
    서브넷 마스크: 11111111.11111111.00000000.00000000 = 255.255.0.0
  • 클래스 C: 첫 번째, 두 번째, 세 번째 옥텟이 네트워크 ID, 마지막 1개의 옥텟이 호스트 ID (N.N.N.H)
    - 소규모 통신망 (대한민국 서울시의 강남구에 철수네 집)
    서브넷 마스크: 11111111.11111111.11111111.00000000 = 255.255.255.0

*

00000000.00000000.00000000.0000000
각 8개의 비트. 8개 비트(1바이트) * 4 = 32비트 = 4바이트

 

예를 들어,

클래스 A의 주소 10.0.0.1에서

첫 번째 옥텟인 10은 네트워크 ID를 나타내고, 나머지 3개의 옥텟인 0.0.0.1은 호스트 ID를 나타냅니다.

이렇게 클래스 기반 IP 주소 체계에서는 IP 주소의 첫 번째 옥텟을 사용하여 주소 클래스를 구분하고,

이를 바탕으로 네트워크 ID와 호스트 ID를 나누어 사용합니다.

 

하지만 클래스 기반 IP 주소 체계는 주소 공간을 효율적으로 사용하지 못하고,

서브네팅을 위한 유연성이 부족하다는 문제점이 있어서, 현재는 대부분 CIDR 표기법을 사용합니다.


CIDR 표기법 (Classless Inter-Domain Routing)

 

인터넷에서 IP 주소를 표현하는 방법 중 하나입니다.

이 표기법은 IP 주소와 함께 슬래시(/)와 함께 붙은 숫자로 IP 주소의 네트워크 비트 수를 나타내는 방식으로 사용됩니다.

 

CIDR 표기법은 기존의 클래스 IP 주소 체계에서 나타나던 문제점을 해결하기 위해 만들어 졌습니다.

이전에는 IP 주소를 A, B, C 클래스로 나누어 관리하였는데, 이는 IP 주소를 할당하는 데에 있어서 낭비가 심각했습니다.

위 표기법은 IP 주소의 일부를 서브넷 마스크로 사용하여 IP 주소 공간을 효율적으로 할당할 수 있도록 개선한 방식입니다.

 

CIDR 표기법에서는 IP 주소와 함께 슬래시(/)를 사용하여 IP 주소의 네트워크 비트 수를 나타내며,

이를 통해 IP 주소의 네트워크 ID와 호스트 ID를 구분합니다.

 

예를 들어,

192.168.0.0/24 는 192.168.0.0의 네트워크 ID를 나타내며, 마지막 8비트가 호스트 ID를 나타냅니다.

CIDR은 IP 주소 공간을 효율적으로 사용할 수 있도록 하며, 현재 인터넷에서 일반적으로 사용되는 IP 주소 표기법입니다.

 

CIDR 표기법은 IP 주소와 서브넷 마스크를 하나의 값으로 표현하는 방법입니다.
비트 단위로 IP 주소의 네트워크 ID와 호스트 ID를 구분하는데,
CIDR 표기법에서는 / 다음에 몇 개의 비트가 네트워크 ID로 사용되는지 나타냅니다.

예를 들어, 192.168.0.0/24 는
IP 주소 192.168.0.0과 서브넷 마스크 255.255.255.0을 함께 나타내는 표기법입니다.
여기서 /24는 마스크 비트가 즉 24비트, 즉 255.255.255.0 임을 나타냅니다.

비유적으로 생각해보면,
IP 주소는 주소록에서의 사람 이름과 같고,
서브넷 마스크는 그 사람의 주소지와 같습니다.
CIDR 표기법은 이 둘을 합쳐서 사람의 전체 주소를 하나의 값으로 표현하는 것과 같습니다.

예를 들어,
"대한민국, 서울시, 강남구, 홍길동" 이라는 주소는 "홍길동"이 살고 있는 곳을 완전하게 나타냅니다.
이와 마찬가지로 CIDR 표기법은 IP 주소와 서브넷 마스크를 함께 표기하여 IP 주소가 속한 네트워크의
정보를 완전하게 나타내는 것입니다.

**
255.255.255.0 은 24비트를 1로 설정한 서브넷 마스크

 

예시

CIDR 표기법: 203.76.25.1/26 

  • IP 주소: 203.76.25.1
  • 서브넷 마스크: 255.255.255.192

255.255.255.nnhhhhhh (8비트.8비트.8비트 = 24비트 + (26-24) = 26비트는 Network ID를 나타내고

([128 + 64 = Network ID] + [32 + 16 + 8 + 4 + 2 + 1 = Host ID 범위]) 를 나타냅니다.

따라서 이 네트워크에서는 203.76.25.0 ~ 203.76.25.63 까지의 IP 주소가 할당될 수 있습니다.


IPv4 C 클래스의 네트워크 : 255.255.255.0 을 26개의 서브넷으로 나눈다.(26개의 회사에 나눠준다.)

마지막 옥텟 00000000 8자리 비트 중 몇 개의 비트를 사용해야 되는가?

첫번째 비트의 경우, 경우의 수: 0과 1 (2개로 나뉘어짐)

두번째 비트의 경우, 경우의 수: 00, 01, 10, 11 (4개로 나뉘어짐)

세번째 비트의 경우, 경우의 수: 000, 001, 010, 100, 101, 110, 111, 010, 011 (8개로 나뉘어짐)

 

이를 쉽게 계산하자면 2의 n 승으로 나눌 수 있다. (2^n)

결과적으로 26개의 회사에 나눠줘야 하기 때문에 26 보다 크거나 같은 결과 값이 나와야한다.

2^4 = 16(x), 2^5 =32(o) // 결과적으로 5번째 비트까지 사용 → 11111000 (32개까지의 회사에 할당할 수 있음)

 

해당 이진수는 248의 값을 갖는다. 따라서 서브네 마스크 값은 255.255.255.248이 된다.


IPv4 B 클래스의 네트워크 : 255.255.0.0을

서브넷 마스크 255.255.255.240으로 만들게 된 경우.

11111111.11111111.nnnnnnnn.([240 = 128 + 64 + 32 + 16])nnnnhhhh 가 될 수 있음

따라서 n(2) ^ 12 의 값은 4096 이며 -2를 하여 4096개의 서브넷 수를 가진다.

또한 호스트 수는 hhhh h(2) ^ 4 = 16 이며 -2를 하여 14개의 호스트 수를 가진다.

 

서브넷 수가 4096개라면 4096개의 회사 또는 조직에게 각각 서브넷을 할당할 수 있다.

각 서브넷에서는 14개의 호스트 IP 주소를 사용할 수 있으므로, 이렇게 나뉜 호스트 IP 주소들을 이용하여
서브넷 내부의 다른 기기들을 구분하고 통신할 수 있다.

 

예를 들어, 서브넷 A는 회사 A에게 할당되고, 서브넷 B는 B에게 할당된다면, 서브넷 A 내에서는 최대 14개의

호스트 IP 주소를 사용하여 회사 A 내부에서 사용하는 서버, PC 등의 기기들을 구분하고,

서브넷 B 내에서는 같은 방식으로 회사 B 내부에서 사용하는 기기들을 구분하고 통신할 수 있다.


네트워크 ID 가 '203.253.55.0' 인 네트워크에서 각 서브넷은 25개의 호스트가 필요

→ 서브넷 수인(n)을 구하는 것이 아닌 호스트 수가 h(25)개 가 필요 = 2^5인 까닭에 nnnhhhhh 로 이루어짐

그리고 이를 제외한 nnn의 128 + 64 + 32 = 224는 4번째 옥텟의 값이 된다.

따라서 255.255.255.224는 서브넷 마스크 값이 된다.


C Class 네트워크 255.255.255.0

각 서브넷 4~5 대의 PC로 접속(Host : 4~5개)

서브넷 마스크 : 255.255.255.248


255.255.255.224인 서브넷에 최대 할당 가능한 호스트 수는: 30개 앞 뒤 제외

2개를 제외하는 이유는 네트워크 주소와 브로드캐스트 주소를 나타내는데 사용되므로

실제 사용 가능한 호스트 주소는 30개


네트워크 브로드캐스트 IP는 네트워크 상의 모든 호스트에게 메시지를 보내기 위한 IP 주소입니다.
이 주소는 해당 네트워크의 모든 호스트가 공유하는 IP 주소이며, 해당 네트워크에서 사용 가능한

모든 IP 주소 범위 중 마지막 주소를 브로드캐스트 IP로 사용합니다.

 

브로드 캐스트 IP는 해당 네트워크의 네트워크 ID부분은 모두 0으로,

호스트 ID부분은 모두 1로 설정된 IP 주소입니다. 예를 들어 192.168.1.0/24 네트워크의 브로드 캐스트 IP는

192.168.1.255가 됩니다. 브로드캐스트 IP를 사용하여 네트워크 상의 모든 호스트에게 메시지를 전송할 수 있습니다.


FLSM 은 Fixed Length Subnet Mask의 약자로, 네트워크를 고정길이의 서브넷으로 분할하는 방법입니다.


 

728x90
반응형

'Network' 카테고리의 다른 글

Switching Techniques  (0) 2023.04.28
Network Topology  (0) 2023.04.27
애드혹 네트워크(Ad hoc network)  (0) 2023.04.14
BLE.bleak  (0) 2022.12.19
TCP/IP Layer  (0) 2022.12.17

+ Recent posts