IP 주소체계와 클래스 구성
IP주소
IP 주소란 어떤 TCP/IP 네트워크에 있는 호스트(컴퓨터 또는 프린터나 라우터 같은 다른 장치)를 고유하게 식별하는 32비트 숫자를 말합니다. IP 주소는 보통 네 개의 숫자가 점으로 분리된 십진수 형식으로 표현되는데 점으로 구분된 십진수 IP 주소를 이진수 표기법으로 나타내면 엄청 길어집니다.
ex) 192.168.123.132 → 110000000101000111101110000100
이 숫자는 알아보기 어려울 수도 있으므로 이진수로 8자리씩 4부분으로 나누어집니다. 이러한 8비트 섹션을 옥텟이라고 합니다.
TCP/IP WAN(Wide Area Network)이 네트워크의 집합으로서 효율적으로 작동하도록 하기 위해 네트워크 사이에서 데이터 패킷을 전달하는 라우터는 정보 패킷이 향하는 호스트의 정확한 위치를 모릅니다. 라우터는 해당 호스트가 어떤 네트워크의 구성원인지만을 알고 있고 자신의 라우팅 테이블에 저장되어 있는 정보를 사용하여 대상 호스트의 네트워크로 패킷을 가져가는 방법을 결정합니다. 패킷은 대상 네트워크로 배달된 다음 해당 호스트로 배달됩니다. 이러한 프로세스가 작동하기 위해 IP 주소는 두 부분으로 이루어집니다.
IP 주소의 첫째 부분은 네트워크 주소로 사용되고, 마지막 부분은 호스트 주소로 사용됩니다. 예를 들어 IP 주소를 실제 거주지 주소와 비교를 해보면 다음과 같이 얘기 해볼 수 있습니다. 네트워크 주소가 서울특별시라고 한다면 호스트 주소는 서울특별시에 속한 은평구, 서초구, 종로구, ... 등등이 됩니다.
위와 같은 내용을 정리하면 다음과 같습니다.
1) 4자리의 숫자를 '.'으로 구별하여 4개의 옥텟으로 표시한다. (10진수)
2) 네트워크와 호스트 주소로 구별한다.
3) 각 자리의 숫자는 0~255 까지 표현 가능하다.
서브넷마스크
TCP/IP가 작동하기 위해 필요한 두 번째 항목이 바로 서브넷 마스크입니다. 서브넷 마스크는 TCP/IP 프로토콜에 의해 호스트가 로컬 서브넷에 있는지 아니면 원격 네트워크에 있는지를 확인하는 데 사용됩니다. 즉, 네트워크 부분과 호스트 부분을 분리하기 위한 용도로 사용합니다.
네트워크 클래스
인터넷 주소는 인터넷을 관리하는 조직인 InterNIC(http://www.internic.net)에서 할당하고 있습니다. 이러한 IP 주소는 클래스로 나누어 집니다. 이러한 클래스 중 가장 일반적으로 사용되는 클래스는 A, B, C입니다. 클래스 D와 E도 있지만 일반 사용자는 대개 사용하지 않습니다. 각 주소 클래스는 서로 다른 기본 서브넷 마스크를 갖고 있습니다. 첫번째 옥텟을 보면 IP 주소의 클래스를 식별할 수 있습니다.
클래스 | 범위 | 설명 |
A CLASS | 1.0.0.1 ~ 126.255.255.254 | 0으로 시작하는 IP 주소 |
B CLASS | 128.0.0.1 ~ 191.255.255.254 | 10으로 시작하는 IP 주소 |
C CLASS | 192.0.0.1 ~ 223.255.255.254 | 110으로 시작하는 IP 주소 |
D CLASS | 224.0.0.0 ~ 239.255.255.255 | 멀티캐스트 용도로 예약된 주소 |
E CLASS | 240.0.0.0 ~ 254.255.255.254 | 예약된 주소 |
A클래스
① 네트워크
- 첫 번째 비트가 0인 공통비트
ex) 00000000 ~ 01111111.11111111.11111111 → 0~127
* 0번은 대표 아이피이기 때문에 사용할 수 없다.
* 127번은 가상 인터페이스에 대한 아이피이기 때문에 사용할 수 없다.
* 10번은 사설 아이피이기 때문에 사용할 수 없다.
* 1~126 까지 10번을 제외한 125개의 네트워크를 표현할 수 있다.
② 호스트
ex) 네트워크가 1번이고 나머지가 호스트라면 ... (1.0.0.0)
1.0.0.0 ~ 1.255.255.255
* 0번은 네트워크를 대표하는 아이피이기 때문에 사용할 수 없다.
* 255번은 브로드캐스팅 아이피이기 때문에 사용할 수 없다.
ex) 1.255.255.255 → 1번 네트워크 전체
1.0.0.0 → 1번 네트워크
③ 서브넷 마스크
ex) 1.123.2.12/8 → 1.123.2.12/255.0.0.0
* 8 : 서브넷 비트(사이더)
00000001.01111011.00000010.00001100/11111111.00000000.00000000.00000000
- 실제 ip 주소에 서브넷마스크를 마스킹하면 네트워크 주소가 딱 떨어진다.
00000001.01111011.00000010.00001100
11111111.00000000.00000000.00000000 ↓AND 연산
----------------------------------------------
00000001.00000000.00000000.00000000 → 1.0.0.0
B클래스
① 네트워크
- 첫 번째 비트가 10인 공통비트
ex) 10000000.00000000 ~ 10111111.11111111 → 128.0 ~ 191.255
* 0번은 대표 아이피이기 때문에 사용할 수 없다.
* 172.16.0.0~172.31.255.255번은 사설 아이피이기 때문에 사용할 수 없다.
② 호스트
ex) 네트워크가 128.10이고 나머지가 호스트라면 ... (128.10.0.0)
128.10.0.0 ~ 128.10.255.255
* 0번은 네트워크를 대표하는 아이피이기 때문에 사용할 수 없다.
* 255번은 브로드캐스팅 아이피이기 때문에 사용할 수 없다.
ex) 128.10.255.255 → 128.10번 네트워크 전체
128.10.0.0 → 128.10번 네트워크
③ 서브넷 마스크
- 16비트 : 255.255.0.0
ex) 128.10.10.100/16 → 128.10.10.100/255.255.0.0
C클래스
① 네트워크
- 첫 번째 비트가 110인 공통비트
ex) 11000000.00000000 ~ 11011111.11111111 → 192.0.0 ~ 223.255.255
* 0번은 대표 아이피이기 때문에 사용할 수 없다.
* 192.168.0.0~192.168.255.255번은 사설 아이피이기 때문에 사용할 수 없다.
② 호스트
ex) 네트워크가 200.1.12이고 나머지가 호스트라면 ... (200.1.12.0)
200.1.12.0 ~ 200.1.12.255
* 0번은 네트워크를 대표하는 아이피이기 때문에 사용할 수 없다.
* 255번은 브로드캐스팅 아이피이기 때문에 사용할 수 없다.
ex) 200.1.12.255 → 200.1.12번 네트워크 전체
200.1.12.0 → 200.1.12번 네트워크
③ 서브넷 마스크
- 24비트 : 255.255.255.0
ex) 200.1.12.100/24 → 200.1.12.100/255.255.255.0
D클래스
- 멀티캐스트 용도로 예약된 주소
- 네트워크와 호스트를 구별하지 않는다.(서브넷마스크가 없다)
- 1110으로 공통비트를 갖는다.
- 일반적으로 사용할 수 없다.
- 범위 : 224.0.0.0 ~ 239.255.255.255
E클래스
- 예약된 주소
- 네트워크와 호스트를 구별하지 않는다.
- 1111으로 공통비트를 갖는다.
- 사용하지 못한다.
- 범위 : 240.0.0.0 ~ 255.255.255.255
특수 용도 주소 | 설명 |
0.0.0.0/8 | 자체 네트워크 |
10.0.0.0/8 | 사설 네트워크 |
127.0.0.0/8 | 루프백(loopback) 즉, 자기자신 |
169.254.0.0/16 | 링크 로컬(link local) |
172.16.0.0/12 | 사설 네트워크 |
192.0.2.0/24 | 예제 등 문서에서 사용 |
192.88.99.0/24 | 6to4 릴레이 애니캐스트 |
192.168.0.0/16 | 사설 네트워크 |
198.18.0.0/15 | 네트워크 장비 벤치마킹 테스트 |
224.0.0.0/4 | 멀티캐스트 |
240.0.0.0/4 | 미래 사용 용도로 예약 |
'Security > network' 카테고리의 다른 글
이더넷(Ethernet) 정의, CSMA/CD 과정, 이더넷헤더 (0) | 2017.04.04 |
---|---|
IP 헤더(header) 분석 (0) | 2017.03.29 |
TCP 3 way-handshake(SYN, ACK) (0) | 2017.03.29 |
TCP / UDP 의 특징 및 헤더(header) 분석 (0) | 2017.03.29 |
네트워크 소켓으로 통신하기 (0) | 2017.03.22 |