정보처리기사

[정보처리기사] 서브넷 마스크, 서브넷 계산

hminor 2023. 7. 14. 16:58

서브넷 마스크

  • 용어 정리
    • 서브넷: 잘게 분해된 것.
    • 서브네팅: 서브넷 하는 과정
    • 슈퍼네팅: 서브넷이 되어 잘게 분해된 것을 다시 합치는 것.
    • 서브넷 마스크
      • 서브넷이 되어 잘게 분해된 것을 각각 하나의 지역이라고 하면
      • ex) a동, b동, c동이 있을 경우
        • 해당 동을 구분하는 것을 의미한다.
  • 서브넷 마스크 & IPv4의 A, B, C 클래스
    • 서브넷 마스크
      • 총 4개의 옥텟으로 네트워크는 중간에 0 없이 1로 채워야 한다.
      • 서브넷 마스크를 구할 시 앞의 ip는 중요하지 않다
        • ex) 203.76.25.1/26
          • 255.255.255.192
    • 네트워크와 호스트
      • 네트워크: 하나의 그룹
        • ex) 대한민국의
      • 호스트: 주소값
        • ex) 길동이의 집
    • A 클래스 기본 서브넷 마스크
      • 1개의 네트워크 + 3개의 호스트
      • ex) 대한민국의 길동이의 집
      • 서브넷 마스크: 1개의 네트워크이기에 1이 총 8개로 255.0.0.0
    • B 클래스 기본 서브넷 마스크
      • 2개의 네트워크 + 2개의 호스트
      • ex) 대한민국의 서울시의 길동이의 집
      • 서브넷 마스크: 2개의 네트워크이기에 1이 총 16개로 255.255.0.0
    • C 클래스 기본 서브넷 마스크
      • 3개의 네트워크 + 1개의 호스트
      • ex) 대한민국의 서울시의 xx동의 길동이의 집
      • 서브넷 마스크: 3개의 네트워크이기에 1이 총 24개로 255.255.255.0
  • 사이더(CIDR) 표기법
    • Classless Inter-Domain Routing 으로 네트워크 구분을 클래스로 하지 않는다는 의미가 된다.
    • 표기법
      • 1/*
        • 1이 *개수 만큼 네트워크 아이디로 사용하겠다라는 의미
      • ex) 1/24 ⇒ 255.255.255.0
      • ex) 1/26 ⇒ 255.255.255.192
  • 문제
    • 문제 1
      • IPv4의 C클래스 네트워크를 26개의 서브넷으로 나누고, 각 서브넷에는 4~5개의 호스트를 연결하려고 한다면 서브넷 마스크 값은?
        • 우선 C클래스이기이 ⇒ 255.255.255 가 되고
        • 26개의 서브넷으로 나눈다는 것은 나머지를 가지로 26개가 사 용할 수 있도록 해야하는 것으로 나머지 8개의 비트로 26개를 만들기 위해선
          • 11111000으로 1이 총 5개로 2**5 인 32가 되어야 한다
        • 그리고 4~5개의 호스트를 연결한다는 것은
          • 11111000에서 뒤에 있는 000 으로 만들 수 있는 건
            • 가장 앞의 000과 가장 뒤의 111 을 제외한 8-2 = 6개를 연결할 수 있다는 의미
        • 그래서 결과는 11111111.11111111.11111111.11111000 으로
          • 255.255.255.248 이 된다
        • 즉 ?개의 서브넷으로 나눈다, 서브넷이 필요하다라고 하면
          • 기업에게 나눠줄 ?개의 서브넷으로 만들기 위해 몇 비트의 네트워크를 사용해야 하는지 구해라는 의미와 유사할 듯?
    • 문제 2
      • 클래스 B주소를 가지고 서브넷 마스크 255.255.255.240으로 서브넷을 만들었을 때 나오는 서브넷의 수와 호스트의 수가 맞게 짝지어진 것은?
        • 서브넷 수몇 개 회사에 나눠줄 것인지
        • 호스트의 수하나의 회사에 몇 대의 컴퓨터를 사용할 수 있는지를 의미
        • 여기서 나오는 서브넷 수와 호스트 수는 모두 가장 앞, 가장 뒤의 것을 사용할 수 없다.
        • 그래서 서브넷 수는 B클래스가 기준이기에
          • 255.255를 가지고 나머지 255.240을 만들기 위해선 1이 총 12개가 있어야하기에
          • 2**12이 되어 4096이 되는데 가장 앞, 가장 뒤의 2개를 사용하지 못해서
          • 4094개가 된다
          • 여기서 서브넷의 경우엔 요즘엔 기본적으로 ip subnet zero를 사용을 해서 보기에 원래는 4096이고 없다면 -2를 한 4094이 된다.
          • 그래서 문제에 ip subnet zero 문구를 확인해서 적용되지 않았다는 문구가 있다면 -2를 해줘야 한다.
        • 호스트 수도 마찬가지로
          • 나머지 4개의 비트로 총 2**4인 16개중 가장 앞, 가장 뒤를 제외하면
          • 14개가 된다.
          • 호스트는 무조건 2개를 빼줘야 한다.
            • 이유는
              • 맨 앞: 네트워크 IP 구분을 위한 용도
              • 맨 뒤: 브로드캐스트 IP 용도
    • 문제
      • 서브넷 문제의 기출 변형
        • 네트워크 ID가 203.253.55.0 일 때 네트워크에서 각 서브넷은 25개 호스트가 필요하고 ~~~
        • 위의 문제는 지난 문제들과 다르게 서브넷 개수를 말한 것이 아니라
        • 25개의 호스트의 개수가 필요하다고 했기에 서브넷 문제가 아닌
        • 호스트 개수를 구하는 문제가 된다.
        • 답은: 255.255.255.224 가 된다.
      • 변형 2
        • 위의 변형과 같은 문제지만 문제가 조금 다르게 나왔음.
        • C class의 네트워크를 서브넷으로 나누어 각 서브넷에 4~5대의 PC를 접속할 때, 서브넷 마스크 값은?
        • 각 서브넷에 연결할 pc가 4~5대이기에 이 또한 호스트에 대한 계산을 해야한다
        • 그래서 답은 255.255.255.248 이 된다.
      • 변형 3
        • 255.255.255.224인 서브넷에 최대 할당 가능한 호스트 수는?
          • 우선 호스트 수는 가장 앞, 가장 뒤를 빼야하기에
          • 11100000 이기에 2**5 -2 인
          • 30개가 된다

서브넷 계산

  • 문제
    • 네트워크주소가 192.168.100.128이고 서브넷 마스크가 255.255.255.192인 네트워크에서 사용 가능한 마지막 IP 주소는?
      • 우선 서브넷 마스크로 확인했을 땐
        • 255.255.255 + 11000000 이 되고
      • 네트워크주소는 서브넷 마스크에서 만들 수 있는 경우 중 3번째로
        • 00000000
        • 01000000
        • 10000000 ← 얘가 된다.
        • 11000000
      • 이후 3번째인 10000000에서 브로드캐스트는 10111111이 되어 255.255.255.191 이지만
        • 사용하지 못하기에 사용 가능한 마지막 IP 주소는 255.255.255.190 이 된다.
    • 브로드캐스트 주소를 찾기
      • IP 주소: 192.168.3.157
      • 서브넷 마스크 값: 255.255.255.192
      • 답: 192.168.3.191
  • 문제
    • C 클래스 192.168.5.0 대역을 할당받아 서브넷마스크 255.255.255.128로 설정 두 번째 서브네트워크에 속하면서 할당 가능한 IP 주소 중 가장 작은 값으로는?
      • 여기서 헷갈렸던게 두 번째 서브네트워크라는 말에서 헷갈렸는데
      • 생각해보면 서브넷마스크는 중간에 0이 들어올 수 없기에 C클래스 128이면
      • 255.255.255 + 10000000 으로 두 개만 배정할 수 있는 것이기에
      • 가장 앞에 있는 128이 0이냐 1이냐로 생각할 수 있는데 두 번째 이기에 1이 될 것이다.
      • 그리고 할당 가능한 IP 주소 중 가장 작은 값이기에 네트워크 IP를 제외하면
      • 255.255.255.129가 되는데 할당 받은 대역에 넣으면
      • 답은 192.168.5.129가 된다.
  • 문제
    • 서술식이면 헷갈릴것 같아서 작성
    • A는 100.100.100.0/24를 할당 받음, 최소 6개 서브넷으로 분리해, 각 네트워크엔 최소 20대 이상의 호스트가 존재하도록 하려할 때, 이때 사용해야하는 서브넷 비트의 수는?
    • 우선 SIDR 표기법을 확인 후 최소 6개의 서브넷이 되기 위해선 3개의 비트를 사용해야 하기에 사용해야하는 서브넷 비트의 수는 27개가 된다.
    • 여기서 주의할 점은 3개를 찾고 3을 작성할 수 있다고 생각하는데
      • SIDR로 있는 24개를 모두 포함해야한다는 점.
      • 그래서 24+3 = 27이 된다.
  • 문제
    • 서브네트ID 문제
    • 10.0.0.0 네트워크 전체에서 마스크 값으로 255.240.0.0을 사용할 경우 유효한 서브네트ID는?
      • 우선 240을 확인해보면 11110000으로 총 4개의 비트를 사용하기에
        • 0000, 0001, 0010, 0011 ….. 1110, 1111로 총 16개의 경우가 있는데
        • 이때 서브네트 ID라고 하면 해당 네트워크 아이디로 만들 수 있는 가장 처음 값으로
          • 0000이면 10.0.0.0
          • 0001이면 10.16.0.0
          • 0010이면 10.32.0.0
          • 0011이면 10.48.0.0으로 위와 같이 해당 서브넷으로 만들 수 있는 가장 처음 값이 된다.
  • 문제
    • A는 192.186.0.1, B는 192.168.0.65로 서로 다른 서브넷에 존재하기위해 사용해야 하는 서브넷 마스크로 가장 옳은 것은?
      • 우선 00000000과 01000000으로 분리를 할 수 있는데 이때 답을 제출할 때 서브넷 마스크를 물어본 것이기에
      • 답은 11000000으로 255.255.255.192가 된다.