블로그 이미지
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 17:11
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