블로그 이미지
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-03 02:01
2009. 7. 8. 16:18 Lecture/ICND
Internetworking 개념 스윽 훑어보기(계속)
 
여러분이 걱정해주신 덕택에 목이 정상으로 돌아오고 있습니다. 아직은 좀 뻑뻑하지만 그다지 아프지는 않군요. 감사합니다. 어제 말씀 드렸듯이 오늘은 수퍼네팅에 관해 공부해볼 작정입니다. 시간이 된다면, 사설 IP 주소에 대해서도 한번 알아보고 IP 단원을 마칠까 합니다.
 

(6) 수퍼네팅(Supernetting)

수퍼네팅이란 서브네팅과는 반대로, 여러개의 작은 네트워크를 하나의 커다란 네트워크로 바꾸는 작업입니다. 물론 서브넷 마스크를 이용하지요. 수퍼네팅을 위해서는 서브넷 마스크의 길이를 줄여주면 됩니다. 무작정 줄인다고 되는게 아니라 몇가지 법칙들이 있죠. 역시 2진수 비트들과 관계된 것입니다. 수퍼네팅은 여러개의 네트워크를 하나의 네트워크로 묶어주므로써 라우팅 테이블의 크기를 줄여주며, 잦은 네트워크 변화에도 안정된 네트워크를 유지하기 위해 사용합니다. 수퍼네팅은 여러개를 묶어준다고 하여 서머리, 또는 CIDR(classless inter domain routing)이라고도 부릅니다. 사실 이 수퍼네팅은 ICND 과정이 아니라고 알고 있지만, IP를 하는 김에 같이 해보는 것이 좋을거 같습니다.

그럼 어제의 예를 가져와서 수퍼네팅을 알아볼까요?

 
 
192.168.1.0/25와 192.168.1.128/25의 서브넷 마스크를 한비트 줄였더니 192.168.1.0/24의 하나의 네트워크가 되었습니다. 한비트를 줄이면, 원래 그 비트에 있던 경우의 수 2가지가 하나로 묶여지는 것입니다. 그럼 24비트를 23비트로 줄이면 어떻게 될까요? 23비트까지는 반드시 일치해야 하고, 24번째 비트의 0과 1이 다시 하나로 묶여집니다. 즉, 192.168.0.0과 192.168.1.0이 하나의 네트워크로 서머리된 것이죠. 192.168.2.0은 어떨까요? 세번째 옥테트의 2진수는 00000010입니다. 23번째 비트까지는 일치해야 하니까 00000011과 함께 묶여질 것입니다. 00000011은 3이죠. 따라서 192.168.2.0은 192.168.3.0과 한 묶음이 됩니다. 다음의 표를 보십시오. 한 비트를 줄일때마다 어떤 숫자들이 한번에 묶여지는지 나타냅니다. 1비트를 줄이면 2개씩, 2비트를 줄이면 4개씩, 3비트를 줄이면 8개씩 묶음이 됩니다. 빨간색으로 표시된 서브넷 마스크의 부분이 일치되는 것끼리 묶으면 그렇게 되죠?
 
11111110
254
00000000
0
00000001
1
00000010
2
00000011
3
00000100
4
00000101
5
00000110
6
00000111
7
00001000
8
00001001
9
00001010
10
00001011
11
00001100
12
00001101
13
00001110
14
00001111
15
11111100
252
00000000
0
00000001
1
00000010
2
00000011
3
00000100
4
00000101
5
00000110
6
00000111
7
00001000
8
00001001
9
00001010
10
00001011
11
00001100
12
00001101
13
00001110
14
00001111
15
11111000
248
00000000
0
00000001
1
00000010
2
00000011
3
00000100
4
00000101
5
00000110
6
00000111
7
00001000
8
00001001
9
00001010
10
00001011
11
00001100
12
00001101
13
00001110
14
00001111
15
 

규칙들이 보이시죠? 한비트가 감소할때마다 2의 승수개씩 묶을 수 있는 것이죠. 3비트가 감소하니까 2의 3승, 즉 8개가 묶음이 되죠? 또 다른 규칙은 반드시 연속된 숫자들끼리만 묶을 수가 있습니다. 서브넷마스크의 1이 연속적으로 와야하기 때문입니다. 다음 규칙은 2개를 묶을 때는 2의 배수로 시작되는 수와 그 다음 수, 4개를 묶을 때는 4의 배수로 시작되는 수부터, 8개는 8의 배수부터 가능하다는 것입니다. 표를 보시면 그렇죠? 연속되는 32개의 주소를 서머리할 때는 32의 배수부터 32개를 서머리할 수 있는 것입니다. 0, 32, 64 같은 수들이죠. 마지막으로 서머리시 어떤 마스크를 적용하는가 하는 것인데, 위의 표를 보시면 또 하나의 공통점이 있습니다. 2개를 묶을 때는 254, 4개를 묶을 때는 252, 8개를 묶을 때는 248의 서브넷 마스크를 사용합니다. 즉, 서머리 하고자 하는 수에서 1을 뺀 수를 255에서 다시 빼주면 원하는 서브넷 마스크 비트를 구할 수 있는 것입니다. 다음 표는 서머리하고자 하는 주소들과 서브넷 비트와의 관계입니다.

 
A B C
2 1 254
4 3 252
8 7 248
16 15 240
32 31 224
64 63 192
128 127 128
256 255 0

A: 서머리하고자 하는 주소의 갯수

B: A-1

C: 255-B -> 서브넷 마스크

 

수퍼네팅의 규칙들을 다시 정리해 보겠습니다.

- 1비트 감소시마다 2의 승수개씩 서머리 가능합니다.
- 연속된 숫자들끼리만 서머리 가능합니다.
- 서머리하고자 하는 숫자의 배수로 시작되는 수부터 서머리 가능합니다.
- 서머리하고자 하는 숫자에서 1을 빼준 수를 이용해 서브넷 마스크를 구합니다.

그럼 몇가지 문제를 풀어보겠습니다.

192.168.0.0/24 - 192.168.31.0/24를 하나의 경로로 수퍼네팅하시오.
32개의 네트워크를 서머리하는 문제입니다. 32개에서 1을 빼면 31, 다시 255에서 31을 빼주면 224가 나옵니다. 즉, 세번째 옥테트에 224의 서브넷 마스크를 사용하면 됩니다. 192.168.0.0 255.255.224.0을 쉽게 구할 수 있습니다.

10.64.0.0/16 - 10.127.0.0/16을 하나의 경로로 수퍼네팅하시오.
64개의 네트워크를 서머리합니다. 일단 시작하는 수 64는 64개의 배수가 맞기 때문에 64개를 한번에 서머리할 수 있습니다. 64-1은 63. 다시 255에서 빼주면 192. 서머리할 부분은 두번째 옥테트이기 때문에 10.64.0.0 255.192.0.0이 됩니다.

172.16.3.0/24 - 172.16.7.0/24의 5개의 네트워크만 가장 적은 수의 네트워크로 수퍼네팅하시오.
일단 시작하는 수가 홀수이기 때문에 5개만 하나의 경로로 서머리할 수는 없습니다. 다음 네트워크인 172.16.4.0부터 4개는 시작하는 수가 4의 배수이므로 하나로 서머리할 수 있습니다. 이런 경우에는 172.16.3.0은 그냥 두고, 나머지만 서머리해야 합니다. 4-1은 3, 252를 사용하면 되겠군요. 172.16.4.0 255.255.252.0으로 서머리합니다. 물론 현실에서는 이런 바보같은 서머리를 하는 사람은 없겠지만, 서머리의 이해를 돕기 위해 다루어 보았습니다.

문제 하나 내겠습니다.
150.100.32.0/24 - 150.100.47.0/24를 하나의 경로로 수퍼네팅하시오.

 

(7) 사설 IP 주소(Private IP address)

세상에는 두가지 종류의 IP 주소가 있습니다. 공인 IP사설 IP입니다. 공인 IP는 세상에 하나씩밖에 없기 때문에 IP를 이용해 누구와도 통신 가능합니다. IANA라는 기관에서 관리하며, 국가별로 분배 해줍니다. 사설 IP는 내부네트워크용으로 사용되며 세상에 무수히 많은 곳에서 같은 사설 IP를 사용합니다. 외부와 통신하고자 할때는 특별한 프로토콜(NAT)을 사용하여 공인 IP로 바꾸어 통신합니다. 처음에 말씀 드린바와 같이 IP 주소가 고갈상태에 있기 때문에, 이런 사설 IP가 등장하였습니다. 공인 IP는 외부와 직접 연결된 곳에만 사용하고 내부에서는 사설 IP를 사용하므로써 IP 주소를 절약한 것입니다. 또한 사설 IP를 사용하면 외부로부터의 접근이 어렵기 때문에 보안의 역할도 추가됩니다. 이전에 사설 IP를 사용하는 PC에서 메신저 파일 보내기나 음성, 화상 채팅, 소리바다등의 서비스가 되지 않았던 걸 기억하시는 분들이 계실 겁니다. 그때는 해당 application들이 직접 IP를 이용해 통신했기 때문에 사설 IP로는 불가능했던 것입니다. 요즘은 IP 대신 포트를 이용하여 이런 서비스를 제공하더군요. 이런 사설 IP의 종류에는 다음의 것들이 있습니다.

- A 클래스: 10.0.0.0 (1개)
- B 클래스: 172.16.0.0 - 172.31.0.0 (16개)
- C 클래스: 192.168.0.0 - 192.168.255.0 (256개)

혹시 시스코등의 자료를 보시면 항상 IP 주소가 위의 것들 중 하나라는 것을 발견하실 겁니다. 공인 IP를 사용하면 누군가가 그 공인 IP로 해킹이라도 할까봐서 두려워하는 모양입니다. 위의 사설 IP의 사용은 RFC 1918에서 권고하고 있으며, IANA도 RFC 1918의 권고 사설 IP는 공인 IP로 할당하지 않습니다. 만약 어떤 회사에서 내부 네트워크로 공인 IP를 마음데로 사용한다면 어떤 일이 생길까요? 211.32.119.0/24를 사설 IP처럼 사용한다고 가정하겠습니다. 이 네트워크의 사용자가 '야후'에 접속하기 위해 DNS(Domain Name Server: www.yahoo.co.kr등의 도메인 이름으로 통신하려 할때 DNS가 해당 도메인의 실제 IP 주소를 알려줍니다.)로 IP 주소를 물어봅니다. 마침 야후의 IP 주소가 211.32.119.151입니다. PC는 같은 네트워크이기 때문에 패킷을 라우터로 보내지 않고, 자기 네트워크로 ARP(Address Resolution Protocol: IP 주소를 이용해서 물리적 주소인 MAC 주소를 알아내는 방법입니다.)를 하고 결국 야후까지는 못가겠죠? 따라서 사설 IP는 위의 권장 IP만 사용하는 것이 좋습니다.

 
 
IP에 대해서는 이 정도로 끝내고, 다음주부터는 다시 ICND 진도를 나가겠습니다. 글로 쓰려니까 한 챕터 나가는데 정말 오래 걸리는군요. 책 쓰는 사람들 정말 위대합니다. 그럼 좋은 주말 보내십시오. 저도 내일 술마시러 갑니다.
 
Netguide CCNA 교육담당 배남이

※ 출처 : Netguide
posted by lepoussin
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
2009. 7. 8. 16:16 Lecture/ICND
Internetworking 개념 스윽 훑어보기(계속)
 
오늘은 어제에 이어 IP 주소에 관해 마져 알아보겠습니다. 과연 끝낼 수 있을지 지금으로선 미지수군요. 하여간 열심히 해보겠습니다.
 

(3) 네트워크와 호스트

어제 살펴본 바와같이 IP들은 5개의 Class로 나뉘어집니다. 그리고 IP 주소는 네트워크 부분과 호스트 부분들로 구분되었었죠. 이때 네트워크 부분의 비트가 모두 같은 IP 주소들을 우리는 한 네트워크라고 부릅니다. 그럼 각 Class들은 몇개의 네트워크를 가지며, 각 네트워크는 몇개의 호스트를 가지고 있을까요?

A Class

A 클래스는 사용가능한 주소가 1.0.0.0 - 126.255.255.255까지라고 말씀드렸습니다. 그리고 디폴트 서브넷마스크는 8비트, 즉 첫번째 옥테트까지죠. 1.0.0.0이란 주소와 같은 네트워크인 주소들은 첫번째 옥테트가 일치해야 하니까. 1로 시작하는 모든 주소가 될 것입니다. 따라서 1.0.0.0 - 1.255.255.255까지를 한 네트워크라고 부릅니다. 이런 식으로 2.0.0.0 - 2.255.255.255까지 한 네트워크, 126.0.0.0 - 126.255.255.255.까지 한 네트워크로 A 클래스에는 모두 126개의 네트워크가 있습니다. 그리고 각 네트워크는 0.0.0 - 255.255.255개의 호스트, 다시 말해, 256x256x256=16,777,216개의 호스트를 가집니다. 그런데, 이런 네트워크들을 표시하는데 있어 위와 같이 1.0.0.0 - 1.255.255.255라고 표시하는 것이 불편하기 때문에, 네트워크의 제일 앞 주소를 그 네트워크 자체의 표시로 하기로 정했습니다. 그래서 1.0.0.0이라고 하면, 이것이 1.0.0.0 - 1.255.255.255까지의 네트워크를 나타낸다는 걸 알게 된거죠. 이런 주소를 네트워크 주소라고 합니다. 또한 해당 네트워트에 포함되는 모든 호스트를 나타내는 주소 역시 필요하게 되었습니다. 마치 이런 카페에서 관리자가 회원 모두에게 전체 메일을 보내는 것처럼 말입니다. 그런 용도로 사용하기 위해 각 네트워크의 가장 뒤의 주소를 브로드캐스트 주소라고 정했습니다. 1.255.255.255가 그 일례입니다. 따라서 모든 네트워크는 이 네트워크 주소와 브로드캐스트 주소를 갖기 때문에, 이 두 주소들은 호스트 주소로 사용할 수 없습니다. 그래서 A 클래스 각 네트워크의 호스트 갯수는 16,777,216에서 2를 뺀 16,777,214개입니다.

몇가지 원칙들을 알아보았습니다. 정리해 볼까요?

 
- 네트워크 부분이 같은 주소들은 같은 네트워크에 속한다.
- 각 네트워크의 첫번째 주소, 즉 호스트 부분이 모두 0인 주소는 네트워크 주소라 부른다.
- 각 네트워크의 마지막 주소, 즉 호스트 부분이 모두 1인 주소는 브로드캐스트 주소라 부른다.
- 호스트 갯수를 셀 때 -2를 해준다.
 
이제 나머지 클래스들도 쉽게 설명이 되겠죠?
B Class
B 클래스 주소들은 128.0.0.0 - 191.255.255.255까지이며, 16비트의 서브넷 마스크를 사용하기 때문에 두번째 옥테트까지가 네트워크 주소입니다. 128.0.0.0의 경우에, 128.0까지가 네트워크 주소가 됩니다. 이런 주소들은 64x256=16,384개가 됩니다. 각 네트워크들은 0.0 - 255.255까지의 호스트, 256x256=65536개에 2를 뺀 65,534개의 호스트를 갖습니다. 어떤 회사가 B 클래스의 네트워크 주소를 가지고 있다면, 이 회사는 65000개의 단말기에 공인 IP 주소를 부여할 수 있는 것입니다.
C Class
C 클래스 주소들은 192.0.0.0 - 223.255.255.255이며, 24비트의 서브넷 마스크를 사용하기 때문에 세번째 옥테트까지 24비트가 네트워크 주소입니다. 192.0.0.0의 경우에, 192.0.0까지가 네트워크 주소가 됩니다. 이런 주소들은 32x256x256=2,097,152개입니다. 각 네트워크들은 0 - 255까지 256개에서 2를 뺀 254개의 호스트를 갖습니다.
 

(4) 서브넷마스크(Subnet Mask)

그럼 이제 서브넷 마스크란 놈이 어떻게 네트워크를 구분해 주는지 알아보겠습니다. 우선 서브넷 마스크는 IP 주소와 마찬가지로 8비트씩 끊어서 4 옥테트를 사용합니다. 마스크를 쓸 때 얼굴에 맞는 걸 써야 하는 것과 같습니다. 11111111.00000000.00000000.00000000은 8비트 서브넷 마스크입니다. 1인 부분은 네트워크 부분, 0인 부분은 호스트 부분이 됩니다. 서브넷 마스크에서 1은 있음, 0은 없음. 즉 '없음' 부분에는 어떤 것이 와도 되지만 '있음' 부분은 고정된 값이라는 의미입니다. 한가지 예를 살펴보겠습니다.

 
 
그림을 보시면 8비트 서브넷 마스크와 1인 부분에 '있음'을 표시하기 위해 빨간색 칠을 한 '바'가 있습니다. IP주소는 A 클래스 주소인 10.0.0.0입니다. 이제 바를 IP 주소위에 씌워보겠습니다. 마스크니까요.
 
 
마스크를 씌우니까 앞쪽 8비트가 가려져 보이지 않게 되었습니다. 당연한 결과겠죠. 현재 볼 수 있는 2번째 옥테트부터 마지막까지 24비트에는 어떠한 숫자의 조합이 와도 관계 없습니다. 즉 해당 네트워크의 호스트 주소들이 되는 것입니다. 빨간 마스크에 의해 가리워진 부분이 바로 네트워크 부분으로 고정이 되는 것입니다. 만약 16비트 서브넷 마스크라면 두번째 칸까지 빨간색 마스크가 생기겠죠?
서브넷 마스크 역시 2진수로는 불편하기 때문에 IP처럼 10진수 표기법을 일반적으로 사용합니다. 8비트 서브넷이라면, 255.0.0.0이 되겠죠. 또한 Prefix length(Prefix: 네트워크와 동일한 표현)라는 말을 사용하여 서브넷 마스크의 비트수를 직접 표기하는 방법도 있습니다. 8비트 서브넷 마스크의 경우는 '/8'이란 식으로 나타내는 것입니다.
서브넷 마스크를 사용하실 때는 꼭 주의하셔야할 것이 있습니다. 여러분은 앞으로 다양한 길이의 서브넷 마스크를 사용하실텐데, 서브넷 마스크의 길이를 늘이실때는 '있음'을 표시하는 1이 앞에서부터 연속적으로 와야 한다는 것입니다. 즉, 11111111.11000111.00000000.00000000과 같은 서브넷 마스크는 없다는 뜻입니다. 그렇다면 우리가 알고 있어야 하는 서브넷 마스크도 그다지 많지 않겠죠? 각 옥테트에 0부터 255까지의 수가 올 수 있는데 그중 1이 앞에서부터 연속되지 않은 수를 제외한다면, 8개 정도입니다.
 
2진수
10진수
00000000
0
10000000
128
11000000
192
11100000
224
11110000
240
11111000
248
11111100
252
11111110
254
11111111
255
 
위의 숫자들만 외우고 계시면 쉽게 서브넷 마스크를 표현할 수 있습니다. 18비트 서브넷 마스크를 Dotted Decimal로 표현하고자 한다면, 18번째 비트까지 1이 연속으로 오는 것이니까, 16비트까지는 255.255가 될 것이고, 세번째 옥테트에 2비트가 1인 경우니까 표의 두번째 경우인 192가 될 것입니다. 즉, 255.255.192.0인 서브넷 마스크가 되는 것이죠. 위 8가지 숫자들의 수열을 살펴보시면 암기하시기도 쉬울 겁니다. 128, 64, 32, 16, 8, 4, 2, 1씩 2의 n-1승씩 증가하죠? 알고보니 앞서 2진수 공부할 때 한거죠? 결론적으로 서브넷 마스크 계산을 하시다가 위의 수들 외의 숫자가 나온다면 그건 잘못된 계산이 틀림없습니다.
 
 
이제 서브넷팅과 수퍼네팅을 공부할 차례인데, 내용이 길어질거 같아 시작을 못하겠군요. 오늘은 여기서 줄입니다. 새로운 한주, 새로운 한달이 시작됐습니다. 넷가이드는 네트워크 온라인 모임의 전국제패를 위해 오늘도 노력하고 있습니다. 전국제패란 말은 농담인거 아시죠?
 
Netguide CCNA 교육담당 배남이

※ 출처 : Netguide
posted by lepoussin