Home (Network) CIDR(Classless Inter-Domain Routing)
Post
Cancel

(Network) CIDR(Classless Inter-Domain Routing)

IP Address Class


  • 원래 32비트 IPv4 주소는 호스트가 연결되어있는 특정 네트워크를 가리키는 네트워크 영역과 해당 네트워크 내에서 호스트의 주소를 가리키는 나머지 영역으로 구분되어 있습니다.
    • Network Address:그룹(네트워크를 식별하기 위한)
    • Host Address: 개인(네트워크의 호스트 컴퓨터를 식별하기 위한 것)
  • 클래스는 총 5가지의(A,B,C,D,E)클래스로 나누어져 있습니다. 하지만 D,E클래스는 멀티캐스트용과 연구 또는 개발용 미래를 위한 예약 IP이므로 보통 사용되지 않습니다.

  • A Class

    0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
    Network AddressHost AddressHost AddressHost Address
  • B Class

    10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
    Network AddressNetwork AddressHost AddressHost Address
  • C Class

    110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
    Network AddressNetwork AddressNetwork AddressHost Address
  • A Class
    • 0 ~ 127로 Network Address가 시작되며
    • Host Address는 (2^24)개를 가질 수 있습니다.
    • 0.0.0.0의 경우는 자체 네트워크를 의미 해서 빠지며
    • 127.0.0.0~127.255.255.255는 루프백 ip address(자기 자신을 가리키기 위한 목적으로 쓰기 위해 예약된 IP 주소입니다. 로컬호스트의 주소라고 생각하시면 됩니다.)로 사용하기때문에 사용하실 수 없습니다.
  • B Class
    • 128.0~191.255로 Network Address가 시작되며
    • Host Address는 총 2^16개를 가질 수 있습니다.
  • C Class
    • 192.0.0~223.255.255로 Network Address가 시작되며
    • Host Address는 총 2^8개를 가질 수 있습니다.

0이면 A Class, 10이면 B Class, 110이면 C Class로 생각해주세요. 십진수로 바꾸어 보시면 왜 앞이 0,10,110인지 좀더 쉽게 이해 하실 수 있습니다.

클래스 A 0.0.0.0 = 00000000.00000000.00000000.00000000 127.255.255.255 = 01111111.11111111.11111111.11111111

클래스 B 128.0.0.0 = 10000000.00000000.00000000.00000000 191.255.255.255 = 10111111.11111111.11111111.11111111

클래스 C 192.0.0.0 = 11000000.00000000.00000000.00000000 223.255.255.255 = 11011111.11111111.11111111.11111111

Subnetting, Supernetting


Subnetting


  • Subnet(부분망) 이란 하나의 IP 네트워크 주소를 네트워크 내부에서 적절히 분할하여 다수의 상호 연결된 하부 네트워크로 나누어 사용하는 방법

    Network AddressHost Address 
    Network IDSubnet AddressHost Address
  • Subnetmask
    • Network Address 와 Host Address를 구별하기 쉽게 만들어주는 방법
    • 네트워크 부분에 해당하는 비트는 1, 호스트 부분에 해당하는 비트는 0으로 쓴다.
    • Class A의 디폴트 서브넷 마스크는 1111 1111 . 0000 0000 . 0000 0000 . 0000 00 00 = 255 . 0 . 0 . 0
    • Class B의 디폴트 서브넷 마스크는 1111 1111 . 1111 1111 . 0000 0000 . 0000 00 00 = 255 . 255 . 0 . 0
  • Subnetting을 하는 방법
    1. 할당받은 Classful Network를 이진수로 변환합니다.
    2. 네트워크를 나눌 조건에 맞는 이진수를 찾아 Subnetmask를 추가합니다.
    3. 추가된 Subnetmask를 순서대로 나열합니다.
    4. 순서대로 나열된 이진수를 다시 십진수로 변환하여 재할당합니다.
  • 서브넷 마스크의 표현은 IP 주소 끝에 ‘/’문자를 쓰고, 다음에 네트워크 부분에 해당하는 비트개 수를 쓴다. (Prefix 표기법)
  • 예를 들어, ‘192.168.0.3’이라는 IP주소의 서브넷 마스크가 ‘1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 = 255 . 255 . 0 . 0’ 이라면 ‘192.168.0.3/24’라고 쓴다.
  • 더 자세한 예를 들면, (디폴트 서브넷 마스크가 아닌 경우)

    IP주소서브넷 마스크표현
    192.168.0.31111 1111 . 1111 1111 . 1111 1111 . 0000 0000 = 255.255.255.0192.168.0.3/24
    192.168.0.31111 1111 . 1111 1111 . 1111 1111 . 1000 0000 = 255.255.255.128192.168.0.3/25
    192.168.0.31111 1111 . 1111 1111 . 1111 1111 . 1100 0000 = 255.255.255.192192.168.0.3/26

Supernetting


  • subnet의 반대 개념으로 , Network를 합치는 것입니다.
  • Network ID 부분을 줄이고 , Host ID 부분을 늘립니다.
  • Network 규모는 커지고 , 소속된 Host 수는 많아집니다.
  • Supernetting으로 인해 서로 다른 Network 영역 이었기 때문에 routing 하던 것을 같은 Network 영역으로 만들어지기 때문에 switching하게 됩니다.

198.168.32.0/24 198.168.32.0~198.168.32.255 = 256

198.168.33.0/24 198.168.33.0~198.168.33.255 = 256

198.168.34.0/24 198.168.34.0~198.168.34.255 = 256

198.168.35.0/24 198.168.35.0~198.168.35.255 = 256

198.168.32.0/22 198.168.32.0~198.168.35.255 = 1024(256*4)

와 같은 방식으로 256개를 할당 받은 4개를 하나로 합치는 것입니다. 뒤의 “/”부분은 Network Address를 나타내는 개수라고 생각하시면 됩니다.

CIDR(Classless Inter-Domain Routing), VLSM(Variable Length Subnet Mask)


  • CIDR
    • 기존의 IP 주소 할당 방식이었던 네트워크 클래스를 대체한 방식입니다. 슈퍼넷팅을 수행하므로 라우팅 테이블의 정보량이 줄어듭니다.
    • CIDR는 IP Address의 영역을 나눌 때 기존 방식보다 유연하게 자신이 원하는 Network Address와 Host Address를 나눌 수 있습니다.
  • VLSM
    • 서브넷팅을 여러번 수행하는 기법이다. 일반 서브넷팅처럼 모두 동일한 크기의 서브넷을 만드는 것이 아니라 서로 다른 크기의 서브넷을 만든다.

예제


  1. 우리회사(Main Network 1개)에 8개의 부서(subnet 8개 필요)가 있습니다. 각 부서별로 Network를 분리하여야 합니다.
    • 풀이

      Main Network : 200.1.1 /24

      Subnet-bit = 3bit = 2^3 = 8개 subnet

      Host-bit = 8bit - 3bit = 5bit = 2^5-2(첫주소 + 끝주소) = 30

      • 영업부

      200.1.1.0 ~ 200.1.1.31

      1100 1000 . 0000 0001 . 0000 0001 . 000    0 0000 [200.1.1.0]

      ~

      1100 1000 . 0000 0001 . 0000 0001 . 000    1 1111 [200.1.1.31]

      Netmask : 1111 1111 . 1111 1111 . 1111 1111 . 111    0 0000 [255.255.255.224]

      Wildcard : 0000 0000 . 0000 0000 . 0000 0000 . 000    1 1111 [0.0.0.31]

      →200.1.1.0/27

      첫 시작 주소 : 200.1.1.0/27 → 영업부 대표주소

      마지막 주소 : 200.1.1.31/27 → 영업부 direct broadcast address

      영업부 PC 주소 : 200.1.1.1 ~ 200.1.1.30

      • 관리부

      200.1.1.32 ~ 200.1.1.63

      1100 1000 . 0000 0001 . 0000 0001 . 001    0 0000 [200.1.1.32]

      ~

      1100 1000 . 0000 0001 . 0000 0001 . 001    1 1111 [200.1.1.63]

      Netmask : 1111 1111 . 1111 1111 . 1111 1111 . 111    0 0000 [255.255.255.224]

      Wildcard : 0000 0000 . 0000 0000 . 0000 0000 . 000    1 1111 [0.0.0.31]

      →200.1.1.32/27

      첫 시작 주소 : 200.1.1.32/27 → 관리부 대표주소

      마지막 주소 : 200.1.1.63/27 → 관리부 direct broadcast address

      관리부 PC 주소 : 200.1.1.33 ~ 200.1.1.62

      • 전산부

      200.1.1.64 ~ 200.1.1.95

      1100 1000 . 0000 0001 . 0000 0001 . 010    0 0000 [200.1.1.64]

      ~

      1100 1000 . 0000 0001 . 0000 0001 . 010    1 1111 [200.1.1.95]

      Netmask : 1111 1111 . 1111 1111 . 1111 1111 . 111    0 0000 [255.255.255.224]

      Wildcard : 0000 0000 . 0000 0000 . 0000 0000 . 000    1 1111 [0.0.0.31]

      →200.1.1.64/27

      첫 시작 주소 : 200.1.1.64/27 → 전산부 대표주소

      마지막 주소 : 200.1.1.95/27 → 전산부 direct broadcast address

      전산부 PC 주소 : 200.1.1.65 ~ 200.1.1.94

      . . .

      • 구매부

      200.1.1.224 ~ 200.1.1.255

      1100 1000 . 0000 0001 . 0000 0001 . 111    0 0000 [200.1.1.224]

      ~

      1100 1000 . 0000 0001 . 0000 0001 . 111    1 1111 [200.1.1.255]

      Netmask : 1111 1111 . 1111 1111 . 1111 1111 . 111    0 0000 [255.255.255.224]

      Wildcard : 0000 0000 . 0000 0000 . 0000 0000 . 000    1 1111 [0.0.0.31]

      →200.1.1.224/27

      첫 시작 주소 : 200.1.1.224/27 → 구매부 대표주소

      마지막 주소 : 200.1.1.255/27 → 구매부 direct broadcast address

      구매부 PC 주소 : 200.1.1.225 ~ 200.1.1.254

  2. 네트워크 주소가 192.168.0.0/24인 네트워크를 사용자 60명이 사용할 수 있도록 서브넷팅하시오
    • 풀이
      • y = 2^x-2 에서 x=6일 때 y=62 (62라는 숫자는 60명이 가장 적합하게 들어갈 공간)
      • 첫번째 서브넷 : 192.168.0.(00)00 0000 ~ 192.168.0.(00)11 1111 ~> 192.168.0.0/26
      • 두번째 서브넷 : 192.168.0.(01)00 0000 ~ 192.168.0.(01)11 1111 ~> 192.168.0.64/26
      • 세번째 서브넷 : 192.168.0.(10)00 0000 ~ 192.168.0.(10)11 1111 ~> 192.168.0.128/26
      • 네번째 서브넷 : 192.168.0.(11)00 0000 ~ 192.168.0.(11)11 1111 ~> 192.168.0.192/26
      • 이렇게 총 4개의 서브넷이 생성된다.
      • ※ 참고로 각각의 서브넷에서 2개씩은 사용할 수 없음 (네트워크 주소와 브로드캐스트 주소)
  3. 네트워크 주소가 192.168.0.0/24인 네트워크를 8개의 네트워크로 서브넷팅하시오
    • 풀이
      • y = 2^x 에서 x=3일 때 y=8
      • 네트워크 부분 비트수인 x를 구했으므로 네트워크 부분 비트수는 24+3 = 27 즉, 192.168.0.0/27로 서브넷팅하면 된다.
      • 첫번째 서브넷 : 192.168.0.(000)0 0000 ~ 192.168.0.(000)1 1111 ~> 192.168.0.0/27
      • 두번째 서브넷 : 192.168.0.(001)0 0000 ~ 192.168.0.(001)1 1111 ~> 192.168.0.64/27
      • 세번째 서브넷 : 192.168.0.(010)0 0000 ~ 192.168.0.(010)1 1111 ~> 192.168.0.128/27
      • 네번째 서브넷 : 192.168.0.(011)0 0000 ~ 192.168.0.(011)1 1111 ~> 192.168.0.192/27
      • 다섯번째 서브넷 : 192.168.0.(100)0 0000 ~ 192.168.0.(100)1 1111 ~> 192.168.0.0/27
      • 여섯번째 서브넷 : 192.168.0.(101)0 0000 ~ 192.168.0.(101)1 1111 ~> 192.168.0.64/27
      • 칠곱번째 서브넷 : 192.168.0.(110)0 0000 ~ 192.168.0.(110)1 1111 ~> 192.168.0.128/27
      • 여덟번째 서브넷 : 192.168.0.(111)0 0000 ~ 192.168.0.(111)1 1111 ~> 192.168.0.192/27
  4. 192.168.0.0/24 ~ 192.168.3.0/24 인 네트워크들을 하나의 네트워크로 슈퍼넷팅하시오
    • 풀이
      • 1100 0000 . 1010 1000 . 0000 0000 . 0000 0000 = 192.168.0.0
      • 1100 0000 . 1010 1000 . 0000 0001 . 0000 0000 = 192.168.1.0
      • 1100 0000 . 1010 1000 . 0000 0010 . 0000 0000 = 192.168.2.0
      • 1100 0000 . 1010 1000 . 0000 0011 . 0000 0000 = 192.168.3.0
      • 1111 1111 . 1111 1111 . 1111 1100 . 0000 0000 = 255.255.252.0 (서브넷 마스크) ~> 공통 부분을 1로 처리함
      • 192.168.0.0/22 ~> 슈퍼넷팅을 수행한 네트워크의 네트워크 주소
      • 2^10-2 = 1022 ~> 사용가능한 호스트 수
      • 이렇게 총 1022개의 호스트를 수용가능한 하나의 네트워크(192.168.0.0/22)가 만들어진다.
  5. 192.168.0.0/24인 네트워크가 각각 60명, 30명, 30명의 서브넷이 필요하다고 한다. VLSM기법에 의해 서브넷팅 하시오.
    • 풀이
      • 먼저 이렇게 총 4개의 서브넷을 생성한다.
      • x=6일 때 y=62
      • 첫번째 서브넷 : 192.168.0.(00)00 0000 ~ 192.168.0.(00)11 1111 ~> 192.168.0.0/26
      • 두번째 서브넷 : 192.168.0.(01)00 0000 ~ 192.168.0.(01)11 1111 ~> 192.168.0.64/26
      • 세번째 서브넷 : 192.168.0.(10)00 0000 ~ 192.168.0.(10)11 1111 ~> 192.168.0.128/26
      • 네번째 서브넷 : 192.168.0.(11)00 0000 ~ 192.168.0.(11)11 1111 ~> 192.168.0.192/26
      • 두번째 서브넷을 다시 한 번 더 서브넷팅한다.
      • x=5일 때, y=30
      • 두번째 서브넷의 첫번째 서브넷 : 192.168.0.01(0)0 0000 ~ 192.168.0.01(0)1 1111 ~> 192.168.0.64/27
      • 두번째 서브넷의 두번째 서브넷 : 192.168.0.01(1)0 0000 ~ 192.168.0.01(1)1 1111 ~> 192.168.0.96/27
      • 결론적으로 첫번째 서브넷에 60명이 들어갈 수 있고, 두번째 서브넷의 첫번째 서브넷에 30명, 두번째 서브넷의 두번째 서브넷에 30명이 들어갈 수 있다.
This post is licensed under CC BY 4.0 by the author.