[컴퓨터 네트워크] Subnetting and Supernetting

신현식·2022년 10월 11일
0

컴퓨터 네트워크

목록 보기
3/34

✔ 우리가 사용하는 IP 주소 체계(IPv4)는 42억 개의 네트워크 장치에 IP 주소를 부여할 수 있다. 만약 평범한 가정집에 A 클래스를 부여하게 된다면 Network Addresss와 Broadcast Address까지 포함하여 16,777,214개는 사용하지 않고 그대로 IP를 낭비하게 된다. 이러한 문제를 해결하기 위하여 네트워크의 수에 따라 효율적으로 사용할 수 있도록 서브넷(Subnet)를 사용한다.

📌Subnet & SubnetMasking

  • 서브넷은 IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크를 뜻한다. 이러한 서브넷을 만들 때 사용되는 것이 바로 서브넷 마스크이다. 즉, 서브넷 마스크는 IP 주소 체계의 Network ID와 Host ID를 분리하는 역할을 한다. 
[기본 서브넷 마스크]

[서브넷 마스크 연산방법]

예를 들어 C클래스인 192.168.32.0 이라는 IP주소가 있다고 하자. C클래스의 기본 서브넷 마스크는 255.255.255.0 이므로 AND연산을 하면 192.168.32.0이 나오고 이것이 바로 Network ID이다. 이때 서브넷 마스크의 Network ID부분은 1이 연속적으로 있어야 하고 Host ID부분은 0이 연속적으로 있어야 한다.

IP주소를 보면 192.168.32.0/24처럼 /24 같은 표시가 붙어있는 것을 확인할 수 있다. 이것은 서브넷 마스크의 bit 수(왼쪽에서부터 1의 개수)를 나타낸다. 즉 /24는 해당 IP의 서브넷 마스크의 왼쪽에서부터 24개가 1이라는 것을 의미한다. 

📌Subnetting

  • IP주소 낭비를 방지하기 위해 원본 네트워크를 여러 개의 네트워크로 분리하는 과정을 말한다.
    ✔ 목적: IP주소를 효율적으로 사용하기 위해, 네트워크를 분리하여 보안성 강화를 위해, 라우팅 테이블의 사이즈를 줄이기 위해, 네트워크 수를 절약하기 위해
  • 서브넷마스크의 bit수를 1씩 증가시키면 할당할 수 있는 네트워크가 2배수로 증가하고 호스트 수는 2배수로 감소한다.
    예를 들어 C클래스인 192.168.32.0/24를 서브넷 마스크의 bit수를 1 증가시켜서 192.168.32.0/25로 변경한다고 하자.

    192.168.32.0/24는 원래 하나의 네트워크였다. 이때 할당 가능한 host의 수는 2^8-2=254개이다. 여기서 2개를 빼는 이유는 첫번째 주소인 192.168.32.0은 Network Address로 쓰이고 마지막 주소인 192.168.32.255는 Broadcast로 쓰이기 때문에 호스트에 할당할 수 없기 때문이다. 
    이 때 서브넷 마스크의 bit 수를 1증가시켜서(서브넷팅) 192.168.32.0/25로 변경하게 되면 Network ID부분을 나타내는 부분이 24비트에서 25비트로 증가하고 Host ID를 나타내는 부분이 8개 비트에서 7개 비트로 줄어든다. 즉 할당 가능한 네트워크 수가 2개로 증가하고 각 네트워크(서브넷)당 할당가능한 호스트수는 2^7-2 = 126개로 줄어든다. 또한 서브넷 마스크가 255.255.255.128로 변한 것을 확인할 수 있다.

    Subnetting 예제
    P1) 211.100.10.0/24 네트워크를 각 서브넷당 55개의 Host를 할당할 수 있도록 서브넷팅 한다고 하자.
    a) 서브넷 마스크를 구하시오.
    풀이 : HostID 비트를 생각하면 쉽다. Host ID를 나타내는 비트가 6개라면 2^6-2=62개의 호스트를 할당할 수 있으므로 충분하다. 그렇다면 32개의 비트 중 26개가 서브넷 마스크의 bit개수이므로 1111111.11111111.11111111.11000000 가 서브넷 마스크가 될 것이다. 즉 255.255.255.192이다.
    답 : 255.255.255.192 
    b) 서브넷의 개수를 구하시오.
    풀이 : 기존 Network ID를 나타내는 비트보다 2개의 비트를 더 표현한다. 즉 2^2=4 개의 서브넷이 가능하다.
    답 : 4개
    c) 첫 번째 서브넷의 broadcast 주소를 구하시오.
    풀이 : 이진법으로 생각해야 편하다. 211.100.10.0을 이진법으로 변환하면 11010011.01100100.00001010.00000000인데 첫 번째 서브넷이라고 했으므로 11010011.01100100.00001010.00111111 이 broadcast 주소이다. 즉 211.100.10.63
    답 : 211.100.10.63 
    d) 마지막 서브넷의 network address를 구하시오.
    풀이 : 마찬가지로 이진법으로 생각해야 편하다. 마지막 서브넷이므로 11010011.01100100.00001010.11000000이 정답이다. 즉 211.100.10.192
    답 : 211.100.10.192 
    e) 두 번째 서브넷의 사용 가능한 IP 범위를 구하시오.
    풀이 : 이진법으로 생각하면 편하다. 두번째 서브넷이므로 11010011.01100100.00001010.01000000부터 시작하는데, 이때 11010011.01100100.00001010.01000000과 11010011.01100100.00001010.01111111은 network address와 broadcast address 이므로 제외하면, 답은 211.100.10.65~211.100.10.126 
    답 : 211.100.10.65~211.100.10.126  

    P2) 195.168.12.0/24 네트워크를 8개의 네트워크로 사용할 수 있도록 서브넷팅 한다고 하자.
    a) 어떤 서브넷 마스크가 효율적인가?
    풀이 : 8개의 서브넷을 만들려면 서브넷 마스크 bit개수를 3개 늘려야 할 것이다. (2^3=8) 즉, 서브넷 마스크는 11111111.11111111.11111111.11100000 가 된다. 즉 255.255.255.224
    답 : 255.255.255.224 
    b) 서브넷의 개수를 구하시오
    풀이 : 위에서 구했듯이 8개이다.
    답 : 8개
    c) 첫번째 서브넷의 broadcast 주소를 구하시오.
    풀이 : 이진법으로 생각해야 편하다. 195.168.12.0을 이진법으로 변환하면 11000011.10101000.00001100.00000000 인데 첫번째 서브넷이라고 했으므로 11000011.10101000.00001100.00011111 이 broadcast 주소이다. 즉 195.168.12.31
    답 : 195.168.12.31 
    d) 마지막 서브넷의 network address를 구하시오.
    풀이 : 마찬가지로 이진법으로 생각해야 편하다. 마지막 서브넷이므로 11000011.10101000.00001100.11100000이 정답이다. 즉 195.168.12.224
    답 : 195.168.12.224
    e) 두번째 서브넷의 사용 가능한 IP 범위를 구하시오.
    풀이 : 이진법으로 생각하면 편하다. 두번째 서브넷이므로 11000011.10101000.00001100.00100000 부터 시작하는데, 이때 11000011.10101000.00001100.00100000과 11000011.10101000.00001100.00111111은 network address와 broadcast address 이므로 제외하면, 답은 195.168.12.33~195.168.12.62
    답 : 195.168.12.33~195.168.12.62
    [참조 블로그] https://code-lab1.tistory.com/34

📌Supernetting

  • IPv4의 주소 고갈 문제를 해결하기 위해 제안된 방법이다. 호스트의 수가 부족하기 때문에 여러개의 네트워크를 하나의 네트워크로 합치는 기법이다.
    예를들어 193.168.0.0/24 ~ 193.168.3.0/24인 네트워크를 하나의 네트워크로 슈퍼넷팅하라고 할때 C클래스 네트워크이면서 3번째 부분의 8bit중에 마지막 2bit의 값만 차이가 난다. 따라서 서브넷 마스크를 255.255.252.0으로 처리하면 193.168.0.0/22가 슈퍼넷팅을 수행한 네트워크의 주소가 되고 사용가능한 호스트의 수는 2^10-2 = 1022가 된다.

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

  • CIDR: class의 개념을 없애고 서브넷 마스크를 이용해서 라우팅하는 기법이다. 슈퍼넷팅을 수행하므로 라우팅 테이블의 정보량이 줄어든다.

  • VLSM: 서브넷팅을 여러번 수행하는 기법이다. 일반 서브넷팅처럼 모두 동일한 크기의 서브넷을 만드는 것이 아니라 서로 다른 크기의 서브넷을 만든다.
    예를들어 192.168.0.0/24인 네트워크가 각각 60명,30명,30명의 서브넷이 필요하다고 했을때 서브넷팅을 하자고 해보자. 이를 위해 총 4개의 서브넷을 생성해야하기때문에 마지막 부분에서 6bit부분을 호스트로 사용하고 2bit를 서브넷으로 활용한다. 그랬을때 첫번째 서브넷은 60명이 들어가고 두번째 서브넷은 다시 서브넷팅한다. 1bit로 두개의 서브넷을 만들어 보면 결국 두번째 서브넷의 첫번째에 30명이 들어가고 두번째도 30명이 들어갈 수 있다.

profile
전공 소개

0개의 댓글