서브넷 문제풀이

강한친구·2022년 12월 2일
0

컴퓨터 네트워크

목록 보기
17/19
post-custom-banner

예시

특정 ISP가 있고, 5000개 정도의 ip addr이 필요하다고 하면 이를 isp로부터 받아와야한다.
만약 200.23.16.0/20 이면 약 2^12승 즉, 4096개 정도를 쓸 수 있다.

11001000.00010111.00010000.00000000/20
따라서 앞에 200.23.16 부분까지가 네트워크 부분이고 뒤에 12bit를 호스트로 쓸 수 있다.

이제 받은 4096개를 8등분 한다고 치면 200.23.16.0/23으로 늘려서 볼 수 있다.

인터넷에서는 이에 대해서 더 큰 라우터가 가진 200.23.16.0/20 이 부분까지만 참고하고 그 뒤는 더 판단하지 않는다.

만약 이렇게 할당받은 IP를 가지고 다른 ISP로 이동해서 서브넷이 변경 될 경우 라우팅 테이블에 추가로 넣어줘야한다. 물론 실제로는 이게 안된다.

문제 예시

문제를 요약하자면

이렇게 생긴 네트워크에서 IP주서 214.97.254/23을 배분하는 문제이다.

조건은 A가 250개, B,C 가 120개 DEF는 각각 2개씩 가진다고 한다.

우선 앞에 2옥텟은 크게 영향이 없어서 그대로 십진수로 쓰고 3번 옥텟만 이진수로 변환해서 작성해보면 다음과 같다

214.97.1111 1110/23
즉, 0바로 앞자리까지 네트워크이고 호스트 부분은
0.0000 0000이 되는것이다. 이는 2^9승, 즉 512개이다.

A의 경우

250개만 받으면 되면 총 8비트를 배당받아야 한다.
그러면 214.97.1111 1110/23에서 24까지 보는걸로 바꾸면 된다.

214.97.1111 1110/24
이를 변환해보면 214.97.254/24가 된다.
이렇게 설정하면 호스트의 범위는 214.97.254.0000 0000 ~ 214.97.254.1111 1111 까지 총 255개가 된다.

B의 경우

일단 214.97.1111 1110.0000 0000 ~ 214.97.1111 1110.1111 1111 까지 전부 배당되었기 때문에 이젠 214.97.1111 1111 부터 배당받아야 한다.
따라서 시작값은
214.97.255가 된다. 그리고 120은 2^7, 즉 7비트만 있으면 된다.

따라서 B는 214.97.255.0 0000000 ~ 214.97.255.0 1111111 을 가진다. 이를 표현하면
214.97.255/25가 된다.

C의 경우

C는 B가 먹고 남은 부분을 먹는데 이는 214.97.255.1000 0000 ~ 214.97.255.1111 1111이 된다.

이를 표현하면 214.97.255.128/25가 된다.

D, E, F의 경우

DEF는 2개씩만 받으면 된다. 다만 지금 255개, 128개, 128개씩 ABC에 배당해서 따로 남아있는 부분이 없기 때문에 다른 네트워크에서 또 할당받아야한다.

C에서 할당받는다고 하면 214.97.255.1000 0000 에서 받아야한다. 여기서 1은 고정부분이니깐 000 0000 ~ 111 1111사이에서 받을 수 있다.

다만 000 0000, 111 1111은 대표주소와 브로드캐스트 주소니깐 빼고 고려하면 다음과 같다.

D > 000 0010 ~ 000 0011
즉 마지막 2비트만 본다.
이를 정리하면 214.97.255.130이 되고 자리수는 31
따라서 214.97.255.130/31이 된다.

E > 000 0100 ~ 000 0101
정리하면 214.97.255.132/31이 된다.

F > 000 0110 ~ 000 0111
정리하면 214.97.255.134/31이 된다.

정리

전체 214.97.254/23
A 214.97.254/24
B 214.97.255/25
C 214.97.255.128/25
D 214.97.255.130/31
E 214.97.255.132/31
F 214.97.255.134/31

이렇게 된다.

다른 문제

8bit 주소체계에서 라우팅 테이블이 다음과 같을 때 각각 몇개씩의 주소를 가지는지에 대한 문제이다.

우선 111을 보면
111까지 네트워크 부분이고 나머지 0 0000 ~ 1 1111 부분은 호스트이다. 따라서 2^5해서 32개이다.

그 다음 10은 10 까지 네트워크이고 나머지
00 0000 ~ 11 1111 까지 총 6자리가 호스트 따라서 2^6 64개이다.

1의 경우 000 0000 ~ 111 1111까지 총 2^7개 이지만, 아래 두개랑 겹치기 때문에 128 - 64- 32 해서 32개만 남는다.

8비트는 총 256개이니깐 otherwise는 128개이다.

post-custom-banner

0개의 댓글