본문으로 바로가기

[이론]컴퓨터는 이진수를 사용한다.

category 네트워크/이론 2017. 6. 11. 01:01
728x90
반응형

안녕하세요. letitkang입니다.


오늘은 네트워크 공부 합시다!


'후니의 쉽게쓴 시스코네트워킹' 책을 보고 공부하고 있습니다.


 

 

 



1. 컴퓨터는 이진수만 사용한다?


오늘은 컴퓨터가 사용하는 이진수에 대해 알아보겠습니다.


우리는 보통 10진수를 사용합니다. 그러나 컴퓨터는 10진수를 사용하지 못합니다.


컴퓨터는 오직 2진수를 사용합니다. 0 또는 1 의 숫자를 사용합니다.


이전에 공부했던 IP 주소도 다 이진수입니다.


================================================================================================

192.168.56.1

================================================================================================

위의  IP는 10진수입니다. 이것은 우리가 알아보기 쉽게 나타내려고 10진수를 사용한 것입니다.


이것을 2진수로 표현하면 아래와 같습니다.


================================================================================================

11000000 10101000 00111000 00000001

================================================================================================


맨앞의 11000000이 192를 나타내고, 10101000이 168을, 00111000이 56을, 마지막으로 00000001이 1을 나타냅니다.


2진수로 나타내면 컴퓨터는 바로 알아 차리지만, 우리들은 알아보기가 어렵습니다.


물론 알아보는 사람들도 있겠지만요. 전 아닙니다 ㅋㅋ


그러므로 10진수를 사용합니다.


그럼 IP주소의 범위는 어디서 부터 어디일까요?


2진수로 표현하면 아래와 같은 범위입니다.


================================================================================================

00000000 00000000 00000000 00000000

~

11111111 11111111 11111111 11111111

================================================================================================


이렇게 광범위 하게 많습니다. 그러나 이 범위 내에서도 사용할 수 없는 IP들이 있지만, 그것은 추후에 알아보도록 하겠습니다.

IP의 갯수를 한번 알아 보겠습니다. 계산해보면 총 2의 32승 개가 됩니다. 

왜냐하면 이진수가 총 32개로 이루어져 있기 때문에 2를 32번 곱하면 됩니다.

갯수로 따지면 42억개 정도 됩니다. 초기에는 이것이 거의 무한대라고 생각을 했습니다.

위에서 사용했던 IP는 IPv4를 기준으로 계산한 것입니다.

그러나 IPv4 주소를 사용하면서 문제점이 생겨났습니다. 바로 42억개로도 부족하다는 것입니다.

그래서 등장한 것이 바로 IPv6입니다. 이것은 128개의 이진수로 이루어져 있기 때문에 2의 128승입니다. 이것이 진짜 무한대라고 볼 수 있습니다.

여담으로 예전부터 IPv4를 사용하지 않고, IPv6를 사용한다는 이야기가 있지만, 아직도 IPv4를 많이 사용합니다.

 

 

 



2. 이진수를 계산해보자

우리가 사용하는 10진수와 2진수에 대해 좀더 알아 보고, 변환을 해봅시다.

아래는 십진수 1~10까지의 수를 2진수로 표현한 것입니다.


제가 수학을 좋아해서 그런지 몰라도 이정도의 계산쯤이야 간단합니다!


먼저 10진수가 왜 저렇게 사용되는지에 대해 알아봅시다.

십진수는 0~9까지를 한자리의 수로 사용합니다.

그러므로 9에서 1이 증가하면 자리수가 증가하여 10이 되는것이구요.

그리고 더 나아가 십진수 123이 있다면 1X100 + 2X10 + 1X1입니다.

여기서 100은 10의 2승, 10은 10의 1승, 1은 10의 0승입니다.

이진수도 똑같습니다.

이진수는 0과 1만을 사용합니다.

그러므로 이진수 100을 십진수로 표현하려면 1X4 + 0X2 + 0X1입니다.

4는 2의 2승, 2는 2의 1승, 1은 2의 0승입니다.

우리가 IP 주소를 이해하는데 가장 기본이 되는 것이 이진수입니다.

이진수, 십진수의 변환은 기본중의 기본입니다.

그리고 한가지 알아 두셔야할 것이 바로 Logical AND 연산입니다.

0000과 1000을 AND 연산하면 얼마일까요? 0000입니다. AND 연산은 양쪽의 수가 모두 1일 경우에만 1이 되고 나머지는 0이됩니다.

그림으로 표시해보면 아래와 같습니다.


0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1

위와 같습니다. 그러므로 답은 0000이 됩니다.

AND 연산은 추후에 배울 서브넷 마스크를 사용할때 활용됩니다.

이것도 기본입니다. 이런 것들이 하나의 기본적인 지식으로 되는 것입니다. 꼭 숙지하고 넘어가세요!

 

 



오늘의 포스팅은 여기까지입니다.

읽어주셔서 감사합니다.


728x90
반응형

'네트워크 > 이론' 카테고리의 다른 글

[이론]허브란 무엇일까 (1)  (0) 2017.07.26
[이론]랜카드에 대해 알아보자  (0) 2017.07.11
[이론]프로토콜? TCP/IP?  (0) 2017.03.02
[이론]OSI 7계층  (0) 2017.02.28
[이론]유니, 멀티, 브로드 캐스트!  (0) 2017.02.23