본문 바로가기
Network

3. IP 주소

by Choraengyi 2016. 12. 19.

 IP주소에 대해 알아보겠습니다.


흔히 아는 IPv4를 보게 되면 


192.168.0.1 과 같은 형식을 가지게 됩니다. 컴퓨터는 2진수로 이해하기 때문에


2진수로 표현하게 되면 11000000.10101000.00000000.00000001 로 표현됩니다.


총 32비트로 구성되어 있고 8비트씩 4개의 구역으로 되있습니다. 1구역에 8비트이므로 1구역당 최대수는 255임을 알 수가 있습니다. 최저값은 음수 없이 0입니다. 그렇다면 부여 가능한 총 IP갯수는 2의 32승을 한 값이라고 볼 수 있습니다. 계산하면 42949967296 개... 42억개가 넘는 갯수가 나옵니다. 하지만 인구만해도 60억, 엄청나게 많은 ip가 필요하기 때문에 이를 채워주는 IPv6가 나오게 되었습니다. IPv6는 128비트로 구성되있는 업그레이드 버젼정도로 보면 될거 같습니다.


이제 본격적인 내용으로 들어가게 되는데 IP주소는 네트워크/호스트 부분으로 나뉘게 됩니다. 보통 한네트워크 상에서는 라우터를 거치지 않고 통신이 원활히 가능하게 되는데 다른네트워크와통신을 위해서는 라우터를 거쳐야 합니다. 보통 라우터한대에 속한 하위장비들이 하나의 네트워크로 묶이게 됩니다. 동네규모라고 보면 될거 같습니다. 이러한 네트워크내에서 동일 네트워크일경우 네트워크 부분이 같고 각 호스트 부분이 다릅니다. 네트워크와 호스트부분을 나누어 주는 서브넷 마스크에 대해 알아보겠습니다.


서브넷 마스크 보통 들어보셨을 것입니다. 255.255.255.0 이 흔하게 볼 수 있는 서브넷 마스크 인데 네트워크부분은 1로표기, 호스트부분은 0으로 표기하게 됩니다.(네트워크 부분은 연속적으로 존재해야됨) 위의 서브넷마스크같은 경우는 네트워크 부분이 11111111.11111111.11111111 이고 호스트부분은 마지막 00000000 임을 알 수 있습니다. 이 서브넷마스크와 IP주소를 AND 연산하게 되면 네트워크 ID 값을 얻을 수 있습니다. 또한 호스트부분이 8비트가 있으므로 255개의 IP를 할당할 수 있게 됩니다.

AND 연산과정을 간단하게 보게되면

간단히 AND 연산을 설명하면 연산하는 두 수가 1이면 결과가 1이고 둘중 하나라도 0이있으면 결과가 0이되는 연산입니다.


IP address

11000000 

10101000 

00000000 

00000001 

Subnet Mask 

11111111 

11111111 

11111111 

00000000 


Network ID 

11000000 

10101000 

00000000 

00000000 


192.168.0.1 의 IP주소와 255.255.255.0 의 서브넷마스크를 AND 연산하여 192.168.0.0 이라는 네트워크 아이디를 알 수 있습니다.

하지만 굳이 연산을 안하더라도 IP주소의 호스트부분에 0을 채워주면 네트워크 아이디가 나오게 됩니다. 반대로 호스트 부분이 전부 1로 되있으면 Broadcast 주소가 되게 됩니다. 그러므로 위의 서브넷마스크에서 총 사용가능한 IP주소 개수는 255-2 인 253개가 됨을 알 수 있습니다.(네트워크 아이디와 브로드캐스트 주소는 IP주소로 사용불가)

간혹 IP주소 뒤에 192,168.0.1/25 이러한 형식을 볼 수 있을 텐데 뒤의 25라는 숫자는 서브넷마스크를 나타냅니다. 이는 네트워크 부분의 갯수로서 서브넷은 1이 25개 0이 7개 인 255.255.255.128 임을 알 수 있습니다.


서브넷의 범위에 따라 클래스를 나눌 수 있습니다. 총 5가지의 클래스가 있는데,

A, B, C, D, E 로 나눌 수 있습니다.

 

A : 255.0.0.0        0xxxxxxx  1~126(맨 앞 8비트 범위)    *0(all-zero)과 127(로컬)은 사용하지 않음

네트워크 숫자 128, 각 네트워크 당 호스트 갯수 : 16777214 

사설 주소 10.0.0.0~10.255.255.255


B : 255.255.0.0     10xxxxxx 128~191(맨 앞 8비트 범위) 

네트워크숫자 16384, 각 네트워크 당 호스트 갯수 : 65534

사설주소 172.16.0.0~172.31.255.255


C : 255.255.255.0  110xxxxx 192~223(맨 앞 8비트 범위) 

네트워크 숫자 207152, 각 네트워크 당 호스트 갯수 : 254

사설주소 192.168.0.0~192.168.255.255


D : 멀티캐스트로 사용  1110xxxx 224~239(맨 앞 8비트 범위)


E : 예약된 곳    240~255(맨 앞 8비트 범위)


대부분 C 클래스에 해당되는 IP주소를 사용하게 됩니다. 


서브넷팅이라는 기술이 있는데 이는 IP를 더 효과적으로 분배하기 위한 기술 입니다. IP주소의 호스트 부분을 빌려 네트워크를 나누게 됩니다. 예를 들면서 설명하겠습니다.

한 사무실에서 컴퓨터를 30대를 사용한다고 가정할때, C 클래스를 할당한다고 하면 사용하지 않는 호스트 갯수가 224개로 너무 남아 돕니다. 이를 한번더 나누어 30대를 맞추는 것이 서브넷팅(Subneting) 입니다.

192.168.0.00000000(호스트부분8비트)

30대면 2의 5승 = 32 를 할당하면 2개 사용못하는 것을 제외하면 딱 30대가 맞아 떨어지기 때문에 5개비트는 그대로 호스트로 사용하고 남는 3개의 호스트 비트를 네트워크부분으로 나누는 것입니다. 3비트 이므로 2의 3승인 8개의 네트워크가 나온다는 것을 알 수 있습니다. 그렇게 30대를 가질 수 있는 네트워크를 8개로 효율적으로 나눌 수 있습니다.

VLSM 이라고 하여 서브넷팅한 네트워크를 또 서브넷팅 하는것도 있습니다.


사설 IP는 IP주소의 부족문제를 해결하기 위하여 지정된 범위는 어디서든 지정하여 사용이 가능한 기술 입니다. 다만 외부에서 인터넷을 통해 사설 IP로 접속은 안됩니다. 접속을 위해서는 공유기에 접속해야 합니다. 


아래그림과 같이 공유기의 공인 IP를 통하여 각 PC는 인터넷 서비스를 이용할 수 있습니다. 각 공유기에 연결된 PC끼리도 통신이 가능합니다. 그러나 외부에서 인터넷을 통해 사설IP로 접속할 수는 없습니다. 공유기의 공인IP를 통하여 접근하여야 합니다. 이를 통하여 IP부족을 해결하였습니다.



728x90
반응형

'Network' 카테고리의 다른 글

6. Routing Protocol_2(RIP)  (0) 2016.12.28
5. Routing Protocol_1(RIP)  (0) 2016.12.23
4. Routing Protocol  (0) 2016.12.21
2. 네트워크 OSI 7 Layer  (0) 2016.12.17
1. 네트워크 기초  (0) 2016.12.17

댓글