블로그 이미지
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:13 Lecture/ICND
Internetworking 개념 스윽 훑어보기(계속)
 
주말 잘 보내셨나요? 저는 몇일 쉬었더니 좋군요.^^ 오늘은 네트워크 레이어와 IP 주소에 대해 공부해보겠습니다. 항상 하는 말 같지만 오늘 역시 굉장히 중요한 과정이니 꼭 자세히 알고 넘어가십시오. 그럼 네트워크 레이어를 살펴보기에 앞서 IP 주소에 대해 먼저 알아보겠습니다.
 

8. IP 주소

현재 우리가 사용하는 IP 주소체계는 버전 4입니다. IPv4는 아시다시피 32비트의 조합을 주소로 사용하기 때문에, 총 이용 가능한 주소는 4,294,967,296개, 약 43억개입니다. 세계 인구가 60억쯤이니까 그 정도면 충분하지 않냐고 하실지 몰라도, 어느샌가 세계는 IP 고갈 위기에 빠졌습니다. 이 주소들 중 약 5%밖에 남지 않았다는 말을 들어본 듯 합니다. 그러한 이유로 많은 대안들이 나왔고, 가장 근본적인 대안으로 이 주소체계를 바꾸는 IP 버전 6의 등장입니다.
IPv6는 128비트의 조합을 사용하기 때문에, 어마어마한 숫자의 주소들이 나옵니다. 윈도우즈 계산기로 계산이 안되는군요. 하여간 이 숫자는 지구에 존재하는 모든 것에 다 IP를 부여할 수 있다고 하는군요. 그럼 IPv6를 사용하게 되면, IP 문제는 과연 영구히 해결될까요? 제 견해로는 부정적입니다. IPv4를 개발할 때도 32비트가 충분할거라고 생각했을테니까요. 제가 죽기전에 IPv7이 등장하지 않을까 생각해봅니다. IPv6에 관해서는 나중에 기회가 되면 좀 더 자세히 다루어볼까 합니다. 그럼 여기서 의문점이 생기시는 분들이 계시리라 생각합니다. 'IP 버전 5는 어디로 갔는가'하는 거죠. 여러 자료를 참조했지만 저로서는 사실 IPv5에 대해 명쾌한 해설을 하기가 힘들더군요. 제가 알아낸 것을 일단 설명해보죠.
일단 IPv4는 IP가 프로토콜 번호 4번을 사용해서 붙혀진 버전 번호인듯 합니다. 그런 식으로 v5를 설명하자면, 1970년대 후반에 ST(Stream Protocol)라는 이름의 프로토콜이 음성, 비디오 등의 전송을 위한 실험적인 용도로 만들어졌습니다. 1990년대로 넘어오면서, 이 프로토콜은 ST2로 개정되고, IBM, Apple, Sun과 같은 기업들에 의해 상업적인 프로젝트로 사용되기 시작했습니다. ST, ST+는 IPv4와는 달리 connection-oriented 서비스를 제공해줍니다. 즉, QoS가 보장되는 것이죠. 그리고 이 ST, ST+(ST에 관해서는 RFC1819를 참고하십시오.)에 프로토콜 번호 5가 주어졌습니다. 그리고 이 용도로 사용되는 것이 IPv5입니다. IPv5는 5비트의 버전 필드를 갖고, 소스, 목적지 주소 필드가 64비트입니다.
여기서 저는 두가지 의문점이 있는데, 첫째, ST와 IPv5는 같은 말인가하는 것이랑, 이런 관점에서 IPv6는 어떻게 6이란 숫자를 붙일 수 있는가 입니다. IP 프로토콜 6번은 TCP인데 말입니다. 혹시 아시는 분 계시면 꼭 리플 부탁합니다.
어쨌든 IP에 대해 너무 장황한 서론이 되어버렸군요. 그럼 이제부터 현재 가장 널리 사용되는 IPv4에 대해 공부하겠습니다.

 

(1) IP의 구조

IP 주소는 8비트(8Bits=1 Octet, 1 Byte)씩 4 옥테트가 모여 구성되어 있습니다. 즉 32비트(비트라는 말을 사용할 때는 2진수를 사용한다거 앞에서 잠깐 했었죠?)라는 말이죠. 각 옥테트 사이에는 점을 찍어 구분합니다. 그럼 우리가 사용 가능한 IP 주소의 범위는 32비트 모두가 0인 경우와 모두 1인 경우까지가 될 것입니다.

00000000.00000000.00000000.00000000 - 11111111.11111111.11111111.11111111

그런데 보시다시피 10진수에 익숙한 사람이 보기에는 영 불편합니다. 그래서 보다 쉽게 알아볼 수 있도록 10진수로 바꾸어 사용하지요. 그걸 점이 찍힌 10진수, Dotted Decimal이라고 합니다. 그럼 위의 2진수를 10진수로 바꾸어 보겠습니다.

0.0.0.0 - 255.255.255.255

아! 2진수와 10진수 바꾸는 걸 모르시겠다고요? 그럼 잠시 집고 넘어갈까요? 하는 김에 16진수로 바꾸는 것도 해보겠습니다.

 
2진수(Binary), 10진수(Decimal), 16진수(Hexadecimal)
네트워크를 하기 위해선 이 세가지 숫자들에 대해 잘 알고 있어야 합니다.
우선, 2진수는 0,1을 사용합니다. 10진수는 0-9까지 숫자를 사용합니다. 16진수는 0-F까지의 16개 숫자(0-9,A-F:A는 10, F는 15)를 사용합니다. 10진수를 2진수로 바꾸기 위해서는 숫자가 1일 될때까지 2로 나누어 주면 됩니다. 다음 그림은 23을 2진수로 바꾸는 과정입니다.
처음 2로 나누면 11이 되고 나머지가 1입니다. 이 과정을 반복해 1일 될 때까지 나누어주고, 그때까지의 나머지들을 거꾸로 읽어나가면 23에 대한 2진수가 구해지는 것이죠. 쉽죠? 그럼 문제를 몇개 풀어볼까요?
다음의 10진수를 2진수로 바꾸시오.
86, 103, 192, 255

이번에는 2진수를 다시 10진수로 바꾸는 법을 알아보겠습니다. 23이라는 10진수는 (2*10의1승)+(3*10의0승)입니다. 2진수도 역시 이런 구조로 되어있습니다. 젤 작은 단위부터 2의 승수개의 값을 곱한 수들을 더해주면 10진수식 표현이 되는 것이죠. 그림을 보면 이해가 되실 겁니다.
2진수는 0과 1밖에 없기때문에, 10진수처럼 해당자리의 수가 다양하게(10진수는 각자리에 나올 수 있는 경우의 수가 9가지) 나타나는 것이 아닙니다. 해당 자리수를 사용하는가 마는가입니다. 10111은 2의 3승의 자리수가 0입니다. 따라서 이 숫자는 그 자리수를 계산에 넣지 않는 것이죠. 처음에 IP는 8비트의 묶음이라고 했으니까, 한 옥테트에 나올 수 있는 최고의 자리수는 2의 7승(128)입니다. 2의 0승부터 2의 7승까지 모두 1인 수가 가장 큰 수가 되고, 즉 8자리를 모두 더해주면 10진수 255가 되는 것입니다.
그럼 여기서 또 문제 나갑니다.
다음 2진수를 10진수로 바꾸시오.
111, 1110010, 1000110, 11111100

문제를 풀어보셨다면, 2진수는 이해를 하셨을 겁니다. 이제 16진수를 배워볼 차례인데, 2진수만 알면 16진수는 누워서 떡먹기 입니다. 16이란 숫자는 2의 4승이죠. 그래서 2진수 네자리를 조합하여 16진수로 만듭니다. 즉, 2진수 네자리씩 끊어서 10진수로 바꾸어 준 것이 16진수가 됩니다. 그럼 23을 다시 이용해 보겠습니다. 23은 10111이었죠? 10진수는 5자리 모두 계산하였는데, 16진수는 뒤에서부터 네자리씩 계산합니다.
네자리씩 끊어서 계산하면 17이란 숫자가 나옵니다. 이때 이 17은 10진수의 17과는 다른 수입니다. 23이 17로 바뀌었다는거 이해하시죠? 이렇게 16진수는 10진수와 헷갈리는 경우가 있기때문에 앞에 0x를 붙혀 16진수임을 표시합니다. 따라서 0x17이 되는겁니다.
23=10111=0x17
그렇다면 네자리식 끊어서 계산한 값이 두자리가 되면 어떻할까요? 11100011이란 숫자를 바뀌보겠습니다.
보시는 바와 같이 계산 방법은 같으나 14와 같이 두자리 수가 나오면 그에 맞는 16진수 값(처음에 설명 드렸죠?)인 알파벳을 사용하여 표시합니다. 자! 마지막 문제를 풀어볼까요?
다음의 10진수를 16진수로 바꾸고, 16진수를 10진수로 바꾸시오.
10진수: 24, 101, 239
16진수: 09, 8C, AD

이상으로 오래간만에 찾아온 산수시간을 마칩니다.
 
다시 IP로 돌아와서, IP 주소는 네트워크 부분과 호스트 부분으로 나뉘어집니다. 이 두 부분을 구분하기 위해선 서브넷마스크(Subnet Mask) IP 주소의 Class를 알고 있어야 합니다.
서브넷 마스크는 IP 주소의 네트워크 부분을 지정해준 마스크입니다. IP 주소는 크게 5가지의 Class로 나뉘어지는데 이 Class들은 각각의 디폴트 서브넷마스크를 가지고 있습니다. 서브넷 마스크를 공부하기에 앞서, IP의 5가지 Class를 알아보겠습니다.
 

(2) IP Class

IP 주소는 A부터 E까지 5개의 Class로 나뉘어집니다. 이런 Class들은 IP 주소를 효율적으로 관리하기 위한 용도로 생겨난 것입니다.

 
A Class

IP 주소의 첫번째 옥테트가 네트워크 부분이며, 첫번째 옥테트의 첫번째 비트가 0인 주소들입니다.

00000000.00000000.00000000.00000000 - 01111111.11111111.11111111.11111111

흐리게 표시된 부분이 호스트 부분입니다. 10진수로는 다음과 같습니다.

0.0.0.0 - 127.255.255.255

이중 0.0.0.0과 127.0.0.0은 특별한 용도로 사용되기 때문에 실제 사용 가능한 주소는 1.0.0.0 - 126.255.255.255의 범위입니다. 0.0.0.0은 디폴트 네트워크를 나타내고, 127.0.0.0은 해당 장비 자체를 나타내는 주소입니다.
처음 8비트가 네트워크 주소이기 때문에 디폴트 서브넷 마스크는 8비트입니다.

B Class

IP 주소의 두번째 옥테트까지 16비트가 네트워크 부분이며, 첫번째 옥테트의 첫번째 비트가 1이고 두번째 비트가 0인 주소들입니다.

10000000.00000000.00000000.00000000 - 10111111.11111111.11111111.11111111

10진수로는 다음과 같습니다.

128.0.0.0 - 191.255.255.255

디폴트 서브넷 마스크는 16비트입니다.

C Class

IP 주소의 세번째 옥테트까지 24비트가 네트워크 부분이며, 첫번째 옥테트의 두번째 비트까지 1이고 세번째 비트가 0인 주소들입니다.

11000000.00000000.00000000.00000000 - 11011111.11111111.11111111.11111111

10진수로는 다음과 같습니다.

192.0.0.0 - 223.255.255.255

디폴트 서브넷 마스크는 24비트입니다.

D Class

D Class는 멀티캐스트용으로 사용되는 주소이며, 네트워크, 호스트의 구분이 없이 하나의 그룹을 나타냅니다. 첫번째 옥테트의 세번째 비트까지 1이고 네번째 비트가 0인 주소들입니다.

11100000.00000000.00000000.00000000 - 11101111.11111111.11111111.11111111

10진수로는 다음과 같습니다.

224.0.0.0 - 239.255.255.255

E Class

E Class 주소들은 연구용으로 남겨둔 주소입니다. 첫번째 옥테트의 네번째 비트까지 1인 주소들입니다.

11110000.00000000.00000000.00000000 - 11111111.11111111.11111111.11111111

10진수로는 다음과 같습니다.

240.0.0.0 - 255.255.255.255

이중 255.255.255.255는 브로드캐스트 주소를 나타냅니다.

 

5가지의 Class 중 네트워크 관리자가 주로 염두에 둘 주소들은 A, B, C, D 네가지입니다. 모든 Class의 두번째 옥테트부터는 동일하기 때문에 이런 Class의 구분은 첫번째 옥테트에서 나뉘어진다고 할 수 있습니다. 그럼 첫번째 옥테트만 가지고 이 네가지 Class만 다시 정리해 보겠습니다.

- 2진수 표기
A Class: 00000000 - 01111111
B Class: 10000000 - 10111111
C Class: 11000000 - 11011111
D Class: 11100000 - 11101111

- 10진수 표기
A Class: 0 - 127
B Class: 128 - 191
C Class: 192 - 223
D Class: 224 - 239

 
 
하느냐고 했는데 IP 주소도 못 끝냈군요. 벌써 5시가 다 되가는데.. ㅠ.ㅠ 내일 마져 끝내고, 네트워크 레이어 기능도 살펴보겠습니다. 참! 위의 문제들 답 리플 달아주세요.
 

Netguide CCNA 교육담당 배남이


※ 출처 : Netguide
posted by lepoussin