일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Go
- airflow.cfg
- linux
- 컴퓨터 네트워크
- TIL
- 정리
- PYTHON
- dockerfile
- S3
- 가상환경
- 파이썬
- airflow
- 데이터 파이프라인
- http
- Docker
- sql
- 데이터엔지니어링
- 데이터 엔지니어링
- 운영체제
- 데이터베이스
- 데이터 웨어하우스
- redshift
- 컴퓨터네트워크
- 자료구조
- HADOOP
- Django
- AWS
- 종류
- TCP
- 데브코스
- Today
- Total
홍카나의 공부방
[컴퓨터 네트워크] 5-2. Classless addressing 본문
Classless addressing
- Classful addressing와 다르게 classless에서는 클래스로 주소의 개수를 정형화시키지 않는다.
- Classless addressing에서는 classful addressing의 netid에 해당되는 부분을 prefix, hostid에 해당되는 것을 subfix라고 부른다.
즉, 극단적인 경우로 Prefix의 길이가 0이라면 하나의 블록에 약 43억 개의 주소가 들어있는 것이다.
최소한의 경우로는 이론적으로 하나의 물리네트워크에 최소 4개의 주소가 필요하다.
그래서 2bits면 충분한데 (00, 01, 10, 11)
- 00은 network 주소 ( 네트워크 자체를 지칭하는 주소 )
- 01은 host의 주소
- 10은 라우터 주소
- 11은 broadcast 주소
이렇게 될 것이다.
slash notation으로 나타내면, byte.byte.byte.byte / n 형태로 저장이 될 것이다.
block 알아내기
classless addressing 방식에서 특정 주소가 속한 block을 알아내려고 한다면 network mask를 알아내야 한다.
예시로, 203.8.2.23 이고 /16 이라면 netID가 203.8.0.0/16이라고 알아낼 수 있겠다.
만약 위 주소에서 /24 라면, netID는 203.8.2.0이 될 것이다.
예제 1)
임의의 블럭에 속한 IPv4 주소 하나가 167.199.170.82/27로 알려졌다.
해당 네트워크의 주소 개수를 구하고, 첫 번째 주소와 마지막 주소를 구하라. (단, classless addressing이라고 가정한다.)
1) /n에서 n=27이니, netmask는 1*27 0*5로, 바이트 단위의 십진수로 나타내면 255.255.255.224이다.
2) num of address는 suffix가 32-27 = 5이므로, 2^5 = 32개의 주소가 존재한다.
3) 첫 번째 주소는 Address in binary와 Network mask in binary를 AND시키면 구할 수 있다.
빠르게 구해보면, 해당 블럭의 첫 네트워크 주소는 167.199.170.64고, 마지막 주소는 167.199.170.95이다.
예제 2) - 서브넷팅
특정 ISP가 190.100.0.0/16 주소로 시작하는 블럭을 얻었다고 가정하자. 그리고 ISP가 해당 주소들을 3개의 그룹으로 분배해야 한다.
첫 번째 그룹은 64개의 customers가 있고, 각각 256개의 주소를 요구한다.
두 번째 그룹은 128개의 customers가 있고, 각각 128개의 주소를 요구한다.
세 번째 그룹은 128개의 customers가 있고, 각각 64개의 주소를 요구한다.
subblock을 어떻게 구성해야할까?
group 1: 64 x 256
group 2: 128 x 128 ( same as 64 x 256 )
group 3: 128 x 64 ( same as 32 x 256 )
먼저 group 1에 191.100.0.0/18 부터 191.100.63.255/18까지 주소를 할당한다.
group 2에는 191.100.64.0/18 부터 191.100.127.255/18까지 주소를 할당한다.
group 3에는 191.100.128.0/18 부터 191.100.159.255/18까지 주소를 할당한다.
마스킹을 16에서 18로 늘렸는데, 그룹 내에서 customer마다 각각의 block으로 네트워크를 구분할 필요가 있기 때문이다.
한편 Group 1에서 첫 번째 customer의 주소 공간은 190.100.0.0/24 부터 190.100.0.255/24가 될 것이다.
Group 1의 가장 마지막 customer의 주소 공간은 190.100.63.0/24 부터 190.100.63.255/24가 될 것이다.
Group 2에서 첫 번째 customer의 주소 공간은 190.100.64.0/25부터 190.100.64.127/25가 될 것이다.
Group 2에서 마지막 customer의 주소 공간은 190.100.127.128/25부터 190.100.127.255/25가 될 것이다.
'Computer Network' 카테고리의 다른 글
[컴퓨터 네트워크] 5-4. 사설망과 스머프 공격 (0) | 2023.01.11 |
---|---|
[컴퓨터 네트워크] 5-3. Special Address와 DHCP 응답/요청 (2) | 2023.01.09 |
[컴퓨터 네트워크] 5-1. IPv4의 Classful Addressing (0) | 2022.12.26 |
[컴퓨터 네트워크] 4. Network Layer Services (0) | 2022.12.26 |
[컴퓨터 네트워크] 2-3. Python을 이용한 DNS 질의/응답 (0) | 2022.12.21 |