×
Crocus
공부한 내용을 정리하는 블로그로 시작한
Crocus는 2014년 1월 14일 부터 시작하여
현재 월 6만명, 총 1,485,639명의 방문자 수를 기록하고 있습니다.
Donation
이제 많은 사용자들이 이용하는 만큼
더 다양한 서비스 개발/제공을 위해 후원금을 모금하고자 합니다.
후원을 해주시는 분들은 Donators 명단에 성명, 후원금을 기입해드리며
Crocus 블로그가 아닌 다른 곳에 정리해둔 저만의 내용을 공유해 드리고자 합니다.
Account
예금주 : 고관우
신한은행 : 110-334-866541
카카오뱅크 : 3333-01-7888060

👉 후원 페이지 바로가기 Donators
익명 : 5000원(Crocus응원합니다.)
busyhuman: 5000원(유용한 지식 감사합니다.)
익명 : 5000원(알고리즘 학습러)



IP란?


IP주소는 각각의 Host들을 구분하기 위한 것이며, IP를 부여받은 동안에는 자신만의 고유 IP가 되기에 다른 사람이 사용 할 수 없다.

하지만 현재 사용되는 IPv4방식의 IP수는 한정되어 있기에 모든 Host에게 고유의 IP를 할당하지 못하고 유동 IP라는 개념을 이용한다.


즉, PC에서 전원이 꺼져있음에도 불구하고 IP 주소를 할당받고 있으면 IP 부족현상이 나타나기에 

DHCP Server를 이용하여 전원이 켜져있는 컴퓨터에게만 IP를 할당하며, 컴퓨터가 Off되면 IP를 회수하게 된다.





IP 구조 



IP Address는 32bit(4byte) 길이로 구성된 논리적인 주소체계로서 형태는 xxx.xxx.xxx.xxx로 표기한다.

(현재 IPv4 주소를 보면 192.168.35.96이다.)


xxx.xxx.xxx.xxx에서 .(dot)로 구분된 Octet 4개가 있고 각 xxx부분은 모두 8비트로 구성되어있고 0~255값을 가질 수 있게 된다.


즉, 각 자리마다 0~255값을 가지니 256개가 되며 256*256*256*256 = 4,294,967,296인데 현재 약 43억개로는 전세계 디바이스에 IP를 할당하기에 턱없이 부족하다는 것이다.


즉, 실제 IP는 2진수 00000000.00000000.00000000.00000000와 같이 표현되어 사람이 이해하기 어렵기에 10진수로 나타내는 표기법을 사용한다.


IP주소의 이러한 표기법은 dot-decimal notice 또는 dotted-quad sequence 라고 부른다.


즉, 위의 192.168.35.96을 보면 아래와 같다.


11000000

10101000

00100011

01100000

192

168 

35 

96 

Octet 1

Octet 2 

Octet 3 

Octet 4 



IP 주소의 NetworkID와 HostID


하나의 IP주소에는 Network ID와 Host ID가 존재한다.


Network ID는 예를들면 전세계 Host들을 관리하기 힘드니 각 국가마다 Network ID를 부여할 수 있는것이다.


그럼 네트워크 아이디가 같으면 어떤 국가인지 알 수 있게 된다.


그리고 Host ID는 호스트들을 개별적으로 관리하기 위해 사용하게 된 것이다. 즉, 국가의 국민에 해당한다.


따라서 우리가 인터넷을 사용할 때 Routing으로 목적지를 알아내고 찾아가기 위해서는 NetworkID와 HostID가 합쳐진 IP주소를 보게 된다.


이제배울 Subnet Mask는 이러한 Network ID를 늘리거나 줄일 수 있고, Host ID는 Network ID와 반대로 줄이거나 늘릴 수 있다.


라우터끼리의 통신에서는 IP를 사용하기에 Network ID와 Host ID보고 목적지가 어떤 네트워크에 속하는지 알 수 있게 된다.




IP Class 개념


Network ID와 Host ID를 설명드린 이유는 바로 IP Class의 개념을 알기 이전에 필요한 내용이다. 


IP Class의 경우 A, B, C, D, E Class로 나누어 Network ID와 Host ID를 구분하게 된다.


A Class의 경우 처음 8bit(1byte)가 Network ID이며, 나머지 24bit(3byte)가 Host ID로 사용된다. 

비트가 0으로 시작하기에 네트워크 할당은 0~127입니다 . 즉, 128 곳에 가능하며, 최대 호스트 수는 16,777,214개이다. 


B Class의 경우 처음 16bit(2byte)가 Network ID이며, 나머지 16bit(2byte)가 Host ID로 사용된다. 

비트가 10으로 시작하기에 네트워크 할당은 16,384 곳에 가능하며, 최대 호스트 수는 65,534개이다.


C Class의 경우 처음 24bit(3byte)가 Network ID이며, 나머지 8bit(1byte)가 Host ID로 사용된다. 

비트가 110으로 시작하기에 네트워크 할당은 2,097,152 곳에 가능하며, 최대 호스트 수는 254개이다. 


즉, 

A클래스는 비트가 0으로 시작하고 첫번째 부분만 차지하니 2^(2*4-1) = 128이고(0~127)


B클래스는 비트가 10으로 시작하고 두번째 부분까지 차지하니 2^(4*4-2) = 16,384이고(128~191)


C클래스는 비트가 110으로 시작하고 세번째 부분까지 차지하니 2^(6*4-3) = 2,097,152이다(192~223)


D, E클래스는 비트가 1110, 1111 0으로 시작한다.(224~239, 240~255)




Class 구분하는 방법 


각각의 Class를 구분하는 방법은 간단하게 제일 첫 번째 옥텟(Octet)으로 구분하실 수 있다.


Octet은 위에서도 잠깐 언급이 된 내용으로 2진수 8개(8bit)를 묶음으로 표현하는 것을 Octet이라 한다.


만약 IP가 164.58.94.125라고 할 때 첫 번째 Octet은 164가 되는 것이다.


IP 주소에서 쓸 수 있는 숫자의 범위는 0~255로 되어 있기에 

첫 번째 Octet에서 0~255까지의 숫자를 5개로 나누어서 A, B, C, D, E Class로 구분 되는 것이다.


A Class : 0 ~ 127 (0.0.0.0 ~ 127.255.255.255) 


B Class : 128 ~ 191 (128.0.0.0 ~ 191.255.255.255) 


C Class : 192 ~ 223 (192.0.0.0 ~ 233.255.255.255) 


D Class : 224 ~ 239 (224.0.0.0 ~ 239.255.255.255) 


E Class : 240 ~ 255 (240.0.0.0. ~ 255.255.255.255)



이때 왜 B클래스가 128~191인지 보자.


비트가 10으로 시작하고 첫번째 옥텟만 보면 된다.


즉, 1000 0000(128) ~ 1011 1111(191)이다.



출처 :  http://korean-daeddo.blogspot.com를 통해 제작하였습니다.