Django/네트워크

3계층의 IP

치킨맛코드 2021. 10. 4. 14:53

3계층에서 가장 중요한 것이라면 ip라고 할 수 있다. 즉 주소값이 중요한데 ip의 구조를 먼저 알아보도록 하자.

 

ip를 이해하기 가장 좋은 방법은 '주소값' 이라고 생각하면 정말 편하다.

예를들어서 어딘가로 이동하고 싶을 경우 원하는 주소를 네비를 통해 입력한다. 서울특별시 관악구 신림 XXX-XX이라고 입력을 하게되면 네비는 그 주소로 안내해 준다. 여기서 현실세계의 서울특별시 관악구 신림 XXX-XX는 PC세계의 IP와 같다.

 

이런 IP를 관리하는 기관은 "IANA"라는 기관이다. 기관에서는 먼저 대륙별(남미, 아프리카, 유럽 등등)로 구분하여 이 후 그 대륙에 있는 국가별(한국, 미국, 일본 등)으로 나누어서 관리를 한다. 2^32가짓수의 IP를 관리하기 위해 A~E까지의 5계층(class)으로 구분해서 관리를 하게 된다.

 

IP의 구조를 보면 192.168.8.1 과 같은 3개의 " . " 과 4개의 숫자가 있다. 즉 24 Bit를 4개로 나누어서 표현한다. Net ID는 지역, Host ID는 이름 이라고 생각하면 편하다.

 

클레스 8 Bit 8 Bit 8 Bit 8 Bit
A Net ID Host ID
B Net ID Host ID
C Net ID Host ID
D Multicast 
E reserved

 

A클레스는 8bit 중 2^7은 0으로 표현되며 그 외의 2^0~2^6은 이진수로 표현되어 있다.

B 클레스는 8bit 중 2^7은 1, 2^6은 0으로 표현되며 그 외의 2^0~2^5은 이진수로 표현되어 있다.

C 클레스는 8bit 중 2^7,6은 1으로 표현되며, 2^5는 0, 그 외의 2^0~2^6은 이진수로 표현되어 있다.

기본적으로 이 3개의 클레스가 우리가 일반적으로 사용할때 사용하는 IP이며 D는 Multicast address, E는 예비 클레스로 남겨져 있다. 이 E클레스는 일반적으로 사용되지 않으며 255.255.255.255라는 broadcast라는 통신주소로 딱 1개만 사용하며 그 외는 전부 연구목적으로 사용되고 있다.

D 클레스는 8bit 중 2^7, 6은 1으로 표현되며 2^5는 0, 그 외의 2^0~2^5은 이진수로 표현되어 있다.

E 클레스는 8bit 중 2^7, 6, 5, 4 는 1으로 표현되며, 그 외의 2^0~2^6은 이진수로 표현되어 있다.

 

클레스 IP주소의 첫 옥텟 첫 옥텟의 최소값 첫 옥텟의 최대값(2진수) 첫 옥텟의 범위(10진수) IP의 주소 범위
A 0xxx
xxxx
0000
0000
0111
1111
0~127 0.0.0.0~172.255.255.255
B 10xx
xxxx
1000
0000
1011
1111
128~192 128.0.0.0~191.255.255.255
C          
D          
E          

 

D클레스 Multicast address의 IP에 대한 내용은 다음의 표와 같다.

 

시작 주소 끝 주소 비고
224.0.0.0 224.0.0.255 유명한 멀티 캐스트 주소로 예약
224.0.1.0 238.255.255.255 인터넷 전체에 대한 멀티 캐스트 주소
239.0.0.0 239.255.255.255 관리(로컬)용 멀티 캐스트 주소

 

 

주소 내용
224.0.0.0 예약, 사용X
224.0.0.1 서브넷 모든 장비
224.0.0.2 비 서브넷 모든 라우터
(HSRP)
224.0.0.3 예약
224.0.0.4 DVMRP을 사용하는 모든 라우터
224.0.0.5 OSPF를 사용하는 모든 라우터
224.0.0.6 OSPF로 지정된 라우터
224.0.0.9 RIP-2로 지정된 라우터
224.0.0.11 모바일 IP용
224.0.0.12 DHCP 서버/중계 에이전트