티스토리 뷰
IP
예를 들어 111.222.333.444 라는 IP 가 있다고 가정할 때, 각 마디를 옥텟이라고 하고
1, 2, 3 옥텟 부분을 네트워크 부분, 4 옥텟 부분을 호스트 부분이라고 칭하고 호스트 부분이 개별 컴퓨터에 부여되는 식으로,
IP 는 사용 용도에 따라 구분 짓는데 이것을 대역이라 칭하고
IPv4 을 기준으로 0.0.0.0부터 255.255.255.255까지 4,294,967,296개의 IP 가 있고 이를, A~E 클래스로 구분한다.
- 공인 IP 대역
종류 구성 범위 시작bit A Class 1~127.xxx.xxx.xxx 0.0.0.0 ~ 127.255.255.255 0 B Class 128~191.0~225.xxx.xxx 128.0.0.0 ~ 191.255.255.255 10 C Class 192~223.0~225.0~225.xxx 192.0.0.0 ~ 223.255.255.255 110 D Class 224.0.0.0 ~ 239.255.255.255 1110 E Class 240.0.0.0 ~ 255.255.255.255 1111 - A Class : 모든 주소를 마음대로 부여할 수 있는 최상위 클래스 (국가 이상의 큰 통신망에서 사용)
- B Class : 3, 4 옥텟 자리를 마음대로 부여할 수 있는 클래스 (학교나 중대규모의 통신망에서 사용)
- C Class : 4 옥텟 자리만 마음대로 부여할 수 있는 클래스 (회사, ISP 업체 통신망 등에서 사용)
- D Class : 사용 범위가 정해져 있는 클래스 (멀티캐스트시에 사용하는 특수 클래스)
- E Class : 사용 범위가 정해져 있는 클래스 (연구, 테스트 용으로 존재하며 사용은 안함)
- 사설 IP 대역 (특수용도 주소)
종류 범위 A Class 10.0.0.0 ~ 10.255.255.255 B Class 172.16.0.0 ~ 172.31.255.255 C Class 192.168.0.0 ~ 192.168.255.255
Subnetting
서브넷팅의 목적은 IP 주소 낭비를 방지하고
원본 네트워크를 여러개의 네트워크로 분리하는 계산작업을 통해 네트워크를 할당하는 것으로,
서브넷 마스크로 표현하였을 때 네트워크 부분은 1이 연속적으로 되어있어야 하고
호스트 부분은 0이 연속되어 있는 형태이다.
여기서 서브넷 마스크란, 할당받은 IP 주소의 네트워크 주소와 호스트 주소를 구분하는 식별자를 의미한다.
종류 | 옥텟 구성 |
A Class | 1111 1111 . 0000 0000 . 0000 0000 . 0000 0000 |
B Class | 1111 1111 . 1111 1111 . 0000 0000 . 0000 0000 |
C Class | 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 |
CIDR
* IPv4의 IP 주소 고갈 및 라우팅 테이블 대형화에 대한 해소책
- Prefix-length
- 주소의 범위를 잘라 앞부분(prefix)은 네트워크 범위를, 뒷부분(suffix)는 호스트의 구분값으로 사용하며
이때 네트워크 범위를 파악하기 위해 Prefix 부분을 별도로 표시하며 이에 두 가지의 방법이 존재한다.- Subnet-mask : Prefix 는 2진수 1로, Suffix 는 2진수 0으로 표시하여 10진수로 표기하는 방법 (ex: 255.255.255.0)
- Prefix-length : Prefix 의 비트 수를 세어 / 뒤에 표기하는 방법 (ex: /24)
Quiz.
예를 들어 172.131.128.0/23 이라는 IP 주소에서 host 가 50개 필요하다면,
하나의 VPC 안에 8개의 서브넷에 IPv4 CIDR block을 부여하라.
Host bit 의 개수는 host 50개가 2의 5승과 2의 6승 사이에 있으므로 넉넉하게 6개이며,
Network bit 의 개수는 총 bit 수인 32개에서 host bit 를 뺀 26개이다.
즉, IP 를 2진수로 바꿨을 때 아래와 같은데
IP 주소 | 1010 1100 . 1000 0011 . 1000 0000 . 0000 0000 |
서브넷 마스크 | 1111 1111 . 1111 1111 . 1111 1110 . 0000 0000 |
여기서 서브넷을 26개로 서브넷팅하면 아래 앞부분을 네트워크 주소로 할당할 수 있게 된다.
1010 1100 . 1000 0011 . 1000 0000 . 0000 0000 |
그러므로 서브넷에 IPv4 CIDR block은 아래와 같이 부여할 수 있다.
1010 1100 . 1000 0011 . 1000 0000 . 0000 0000 | 172.131.128.0/26 |
1010 1100 . 1000 0011 . 1000 0000 . 0100 0000 | 172.131.128.64/26 |
1010 1100 . 1000 0011 . 1000 0000 . 1000 0000 | 172.131.128.128/26 |
1010 1100 . 1000 0011 . 1000 0000 . 1100 0000 | 172.131.128.192/26 |
1010 1100 . 1000 0011 . 1000 0001 . 0000 0000 | 172.131.129.0/26 |
1010 1100 . 1000 0011 . 1000 0001 . 0100 0000 | 172.131.129.64/26 |
1010 1100 . 1000 0011 . 1000 0001 . 1000 0000 | 172.131.129.128/26 |
1010 1100 . 1000 0011 . 1000 0001 . 1100 0000 | 172.131.129.192/26 |
... | ... |
그럼 ineg VPC IPv4 주소인 10.0.0.0/16 에서 서브넷 IPv4 CIDR block 범위를 10.0.0.0/20 으로 정한다면,
public subnet 과 private subnet 에 부여할 수 있는 IPv4 CIDR block 은?
10.0.0.0/16 을 2진수로 바꾸면 아래와 같고
IP 주소 | 0000 1010 . 0000 0000 . 0000 0000 . 0000 0000 |
서브넷 마스크 | 1111 1111 . 1111 1111 . 0000 0000 . 0000 0000 |
서브넷은 20개로 서브넷팅하면 아래 앞부분을 네트워크 주소로 할당할 수 있다.
0000 1010 . 0000 0000 . 0000 0000 . 0000 0000 |
그러므로 public subnet 과 private subnet 에 부여할 수 있는 IPv4 CIDR block 은 아래와 같다.
0000 1010 . 0000 0000 . 0000 0000 . 0000 0000 | 10.0.0.0/20 |
0000 1010 . 0000 0000 . 0001 0000 . 0000 0000 | 10.0.16.0/20 |
0000 1010 . 0000 0000 . 0010 0000 . 0000 0000 | 10.0.32.0/20 |
0000 1010 . 0000 0000 . 0100 0000 . 0000 0000 | 10.0.64.0/20 |
0000 1010 . 0000 0000 . 1000 0000 . 0000 0000 | 10.0.128.0/20 |
0000 1010 . 0000 0000 . 1001 0000 . 0000 0000 | 10.0.144.0/20 |
0000 1010 . 0000 0000 . 1010 0000 . 0000 0000 | 10.0.160.0/20 |
... | ... |
'etc.' 카테고리의 다른 글
HTTP 통신? Socket 통신? (0) | 2022.01.06 |
---|---|
DNS? 네임서버? DNS 레코드? (0) | 2021.12.24 |
[MSSQL] IntelliJ DataGrip에서 MSSQL 데이터베이스 접속 (0) | 2021.02.18 |
[MySQL] Workbench 에서 MySQL 연결 (0) | 2021.02.10 |
[IntelliJ] The port was already in use (0) | 2021.02.10 |