블로그 이미지
No pain, no gain!
lepoussin

Tag

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
  • total
  • today
  • yesterday
05-17 19:25
2009. 7. 8. 16:17 Lecture/ICND
Internetworking 개념 스윽 훑어보기(계속)
 
오늘은 서브네팅에 대해 알아보겠습니다. 목이 좀 아픈 관계로 진도를 많이 나가지는 못할 것 같습니다. 서브네팅은 IP의 백미로서 여러분이 앞으로 다룰 IP 주소들은 대부분 서브네팅된 것입니다. 자다가도 벌떡 일어나서 서브네팅 할 수 있으셔야 합니다.
 

(5) 서브네팅(Subnetting)

서브네팅이란 하나의 네트워크를 여러개로 나눈다는 말입니다. 왜 네트워크를 나눌까요? 거기엔 몇가지 이유가 있습니다.
- 네트워크상에 트래픽을 분산시킵니다. 라우터가 브로드캐스트 도메인을 나눈다는 건 이미 공부했죠? 만약 어떤 회사가 A 클래스의 IP를 다 사용한다고 가정해보겠습니다. A 클래스의 한 네트워크 상에 호스트가 몇개였죠? 약 1,600만개 정도됩니다. 이런 수의 호스트들이 단지 하나의 라우터의 하나의 인터페이스를 통해 통신을 하려고 한다면 큰 문제겠죠? 서브네팅을 통해 이런 커다란 네트워크를 조그맣게 나누어 트래픽을 분산시킬 수 있는 것입니다. 결국 라우터 역시 보다 나은 성능을 발휘할 수 있게 됩니다.
- 관리가 편리합니다. 커다란 하나보다는 작은 여러개가 관리가 쉽겠죠? 그래서 학교에서 여러반이 존재하는 것이겠죠.
- IP 주소를 효율적으로 사용할 수 있습니다. 만약 어떤 네트워크에 호스트가 단지 2개 밖에 없는데, C 클래스 네트워크를 다 할당하는 건 자원의 낭비입니다. 필요한 만큼만 할당하고, 나머지는 다른 곳에 사용하는 것이 훨씬 효과적일 것입니다.

그럼 어떻게 서브네팅을 할 수 있을까요? 서브넷 마스크로 이런 목적을 달성할 수 있습니다. 앞에서 각 클래스에 관해 알아볼때, 디폴트 서브넷 마스크 길이가 긴 클래스일 수록 더 많은 네트워크가 있고, 각 네트워크당 호스트 수는 적어지는걸 보았습니다. C 클래스의 네트워크인 192.168.1.0/24를 가지고 서브네팅 해보겠습니다. 다음은 2진수로 표기한 것입니다.

 
 
이 상태에서 이 네트워크가 가질 수 있는 호스트의 수는 254개였죠? 2의 8승에서 2를 빼준겁니다. 이제 서브넷 마스크 비트를 한비트만 늘려보겠습니다.
 
 
한 비트가 증가해 25비트의 서브넷 마스크를 씌우자 이제 호스트의 갯수는 2의 7승개로 줄었습니다. 126개를 사용할 수 있습니다. 호스트를 먼저 보다 반 이상 잃어버렸는데, 그렇다면 얻는 것도 있어야겠죠. 바로 네트워크가 하나에서 두개로 증가했습니다. 빨간색으로 안보이는 부분은 고정된 값이라고 했습니다. 24비트였던 위의 그림에서는 11000000.10101000.00000001까지만 변하지 않으면 되기 때문에, 다음 자리(25번째 비트)에 1이 오던 0이 오던 같은 네트워크였습니다. 하지만 이제 25비트로 서브넷 마스크가 늘어나자 11000000.10101000.00000001.0과 11000000.10101000.00000001.1은 일치하지 않기 때문에 다른 네트워크가 되어버린 것입니다. 여기서 한 비트를 더 늘려 26비트 서브네팅을 하면 어떻게 될까요? 호스트 갯수는 2의 6승개에 2를 뺀 62개씩이며, 위의 두개로 나뉘어 졌던 네트워크는 다시 2개씩 나뉘어져 모두 4개가 될 것입니다. 결론적으로 서브넷 마스크 비트가 하나씩 증가할 때마다, 네트워크는 2배씩 증가하고, 반대로 호스트는 반으로 감소합니다. 3비트가 증가한다면? 네트워크는 8배 증가하고, 호스트는 8배 감소합니다. 위의 네트워크를 통해 과연 그런지 살펴볼까요?
 
 

마스크된 세 비트의 경우의 수는 다음의 8가지입니다.
000, 001, 010, 011, 100, 101, 110, 111
즉 위의 8가지의 경우의 수가 모두 각각의 네트워크가 되는 것이죠. 보기 좋게 10진수로 바꾸어 볼까요?
192.168.1.0/27
192.168.1.32/27
192.168.1.64/27
192.168.1.96/27
192.168.1.128/27
192.168.1.160/27
192.168.1.192/27
192.168.1.224/27
각 네트워크 당 호스트는 2의 5승인 32개입니다.
192.168.1.0 - 192.168.1.31
192.168.1.32 - 192.168.1.63
192.168.1.64 - 192.168.1.95
192.168.1.96 - 192.168.1.127
192.168.1.128 - 192.168.1.159
192.168.1.160 - 192.168.1.191
192.168.1.192 - 192.168.1.223
192.168.1.224 - 192.168.1.255
네트워크는 8배 증가하고, 호스트는 8배 감소했습니다. 그런데 여기서 맨 처음 서브네트워크인 192.168.1.0/27은 서브네팅하기 전의 192.168.1.0/24와 같기 때문에 혼동의 여지가 있습니다. 그래서 가능하다면 사용하지 않는 것이 좋습니다. 물론 IP의 수가 부족하다면 사용해야겠죠. 부득이하게 사용해야할 경우에는 라우터에 반드시 ip subnet-zero라는 명령어가 있어야합니다. 또한 제일 마지막 서브네트워크의 브로드캐스트 주소는 서브네팅하기 전의 브로드캐스트 주소와 같습니다. 같은 이유로 이 서브넷 역시 사용하지 않는 것이 좋습니다. 어쩔 수 없이 사용할 경우에는 특별한 명령어없이 사용 가능합니다. 이렇게 서브네팅을 하게 되면 처음과 마지막 서브네트워크를 일반적으로 사용하지 않는데, 전자를 Subnet-zero라고 부르며, 후자를 All-ones subnet이라고 부릅니다. 그 이유는 서브넷의 서브네팅된 부분의 비트가 모두 0인 경우와 모두 1인 경우이기 때문입니다.
그런데 서브네팅을 할때 매번 이렇게 2진수로 바꾸어 계산하려면 여간 귀찮은 일이 아닐 것입니다. 그래서 위의 예에서 규칙을 찾아 좀 더 쉽게 서브네팅을 해보겠습니다.
서브넷 마스크의 비트가 3자리 늘었다면 2의 3승, 즉 8개의 네트워크로 나뉘어집니다. 호스트는 256개를 8개 네트워크가 공평히 나눠 사용해야 하니까 각 네트워크 당 32개가 되는 것입니다. 서브네팅된 해당 옥테트의 네트워크수와 호스트 수를 곱하면 항상 256이 되는 것이죠. 따라서 첫번째는 192.168.1.0 - 192.168.1.31로 각 네트워크를 구할 수 있는 것이죠.
B 클래스의 네트워크로 연습해 보겠습니다.
172.16.0.0/16을 18비트로 서브네팅 하겠습니다. 관심의 대상은 세번째 옥테트이고, 여기서 2비트가 증가하였기 때문에, 네트워크는 4개로 증가하고, 호스트는 64개에 네번째 옥테트의 256개를 곱한 값이 될 것입니다. 하지만 마지막 옥테트는 어차피 0부터 255까지 모두 호스트이기 때문에 특별히 고려할 필요가 없습니다. 따라서 첫번째 서브넷은 172.16.0.0 - 172.16.63.255가 됩니다. 두번째는 첫번째 다음부터 64개를 더한 것이겠죠. 172.16.64.0 - 172.16.127.255가 될 것입니다. 쉽죠? 이때, 각 서브넷의 처음과 마지막은 각각 네트워크 주소, 브로드캐스트 주소인거 잊지 마세요.
다음 문제를 한번 풀어볼까요?

172.16.99.99 255.255.192.0의 네트워크 주소와 브로드캐스트 주소는 각각 무엇인가?
우선 디폴트 비트인 16비트에서 몇비트가 증가했는지 알아야합니다. 255.255.192.0은 18비트죠? 방금 했던거랑 같습니다. 서브넷들을 쭉 나열해 보면 답이 나오겠죠?
172.16.0.0 -172.16.63.255
172.16.64.0 - 172.16.127.255
172.16.128.0 - 172.16.191.255
172.16.192.0 - 172.16.255.255
해당 IP 주소가 어디에 속하는지 보십시오. 두번째 서브넷에 속하죠? 따라서 네트워크 주소는 172.16.64.0, 브로드캐스트 주소는 172.16.127.255입니다.

B 클래스 네트워크를 서브네팅할 때, 각 네트워크 당 510개의 호스트 주소가 필요하다면 어떤 서브넷 마스크를 사용하는 것이 효율적인가?
510개의 호스트 주소를 갖는 서브넷은 네트워크 주소, 브로드캐스트 주소를 포함하여 512개의 주소가 필요합니다. 512는 2의 9승이기 때문에 서브넷 마스크의 젤 뒤에서부터 9비트가 0인 23비트 서브네팅을 하면 될 것입니다. 따라서 255.255.254.0이 답이되겠죠.

그렇다면 31비트 서브네팅을 어떨까요? 31비트 서브네팅을 하게 되면 단지 두개의 IP 주소만 나옵니다. 그중 하나는 네트워크 주소이고, 다른 하나는 브로드캐스트 주소이기 때문에 사용가능한 호스트 주소는 하나도 없습니다. 따라서 31비트 서브네팅은 하지 않습니다.
지금까지 보신바와 같이 서브넷 마스크의 길이를 마음데로 조절하여 서브네팅을 하였는데, 이런 서브넷 마스크를 가르켜 VLSM(Variable Length Subnet Mask)이라고 부릅니다.
문제 하나 내고 마칩니다.
10.10.10.10 255.255.254.0의 네트워크 주소와 브로드캐스트 주소는 무엇인가?

 
 
오늘은 여기까지입니다. 목이 좋아진다면 내일은 서브네팅의 반대 개념이 수퍼네팅에 관해 다루어볼 예정입니다. 좋은 하루 되십시오.
 

Netguide CCNA 교육담당 배남이


※ 출처 : Netguide
posted by lepoussin