일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 백명석님
- #docker compose
- intellij favorites
- git
- @TransactionalEventListener
- aws
- 원격 브랜 삭제
- 마이크로 서비스
- multipart테스트
- ksqldb
- vue.js
- 리눅스
- 친절한 SQL 튜닝
- CompletableFuture
- ksql
- intellij 즐겨찾기
- 리팩토링 2판
- java
- Linux
- @Transactional Propagation
- Stream
- IntelliJ
- JPA
- intellij 핵심 단축키
- javascript case
- Spring Cloud Netflix
- HandlerMethodArgumentResolver
- 자바 ORM 표준 JPA 프로그래밍 정리
- 자바 ORM 표준 JPA 프로그래밍
- findTopBy
- Today
- Total
시그마 삽질==six 시그마
서브넷마스크와 서브넷 본문
1. 서브넷 마스크 (default subnet mask)
1) 정의
TCP/IP 프로토콜에서 IP를 네트워크 부분과 호스트 부분을 구분하는 것 == LAN 크기를 정해주는 용도
서브넷 마스크는 이진수로 1과0의 조합으로 32bit로 구성되 있음.
(1은 연속적으로 나와야함, 1로 구성된 부분이 네트워크 부분임)
2진수를 10진수로 변환시 클래스에따라 255.x.x.x 가됨
32bit의 ip주소에 서브넷마스크 and 연산하면 네트워크 정보 걸러낼수 있음
동일 네트워크는 라우터 없이 통신 가능
ip=네트워크+호스트
주의: 기본 서브넷 마스크는 서브넷팅을 안한 classful한 개념임
동일한 ip대역과 동일한 서브넷 마스크를 가지고 있으면 LAN이다!
LAN이란 ARP Request가 닿는 모든 범위
참고로
A클래스는 32자리중 앞자리수가 0으로 시작 ,B클래스는 10으로, C클래스는 110으로 시작함
사설IP대역
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
11001001.00110010.00000001.01011001 -> 201.50.1.89 (클래스 C ip주소)
11111111.11111111.11111111.00000000 ->(C클래스 디폴트 서브넷 마스크)
------------------------------------------------------------------------------------
11001001.00110010.00000001.00000000 -> 201.50.1.0 (red처리된 부분이 네트워크 부분)
2. 서브넷
1) 정의
A subnetwork or subnet is a logical subdivision of an IP network.[1]:1,16 The practice of dividing a network into two or more networks is called subnetting.
-https://en.wikipedia.org/wiki/Subnetwork-
서브넷은 네트워크의 논리적인 분할임
(기존 클래스 A,B,C 방식에서의 ) IP를 (더) 나누는 과정을 서브넷팅이라고 함
서브넷팅은 현재의 네트워크부분을 더 쪼개는게 아니라 호스트 부분을 뺏어서 네트워크 부분으로 변경한후 분할하는것
즉 서브넷팅을 통해 호스트부분 일부를 네트워크 부분으로 변경함(ip주소 체계가 2단계서-> 3단계로변함)
서브넷팅 전 ip=네트워크+호스트
서브넷팅 후 ip=네트워크+ 서브네트워크+호스트
2) 서브네팅 목적
(1) 원활한 통신을 위해: 네트워크에 호스트 많을시 브로드캐스팅이 힘듬. 패킷전송느려지고 성능저하발생
(2) ip주소 절감: 네트워크를 적절히 구분지어주기에 ip주소의 남용을 방지. 절약가능
예시)
요기를 참고 했습니다.
현재 네트워크 210.240.3.0
디폴트 서브넷마스크 255.255.255.0==11111111.11111111.11111111.00000000
현재 4번째 옥텟에서 bold처리한 부분이 네트워크 부분이고 마지막 0 이 8개인 호스트부분이라
2^8-2= 최대 254개의 호스트ip를 사용할수 있음.
문제 :
서브넷 요구조건
서브넷당 호스트수(pc대) 6개 이상, 총서브넷 수 20개이상을 만들어라
->네트워크를 20개이상 만들려면 디폴트 서브넷 마스크를 변경해야함.
->네트워크가 포함하는 pc대수가 중요: pc대수는 클라이언트, 호스트수라고함
->호스트 부분이 6대를 포함할 수 있어야함.
->서브넷이 20개는 나와야함.
총 서브넷 20개이상 나오려면 2^5승은해야 20개이상 나옴 2^4승은 16밖에 안되서.(2 ^ 승=20 되면됨)
즉 네트워크가 기준일때는 왼쪽을 기준으로 해서 20개가 포함된 bit만큼을 네트워크로 할당하고 나머지 비트로 호스트를 구성하면됨.
즉,서브넷 마스크 11111111.11111111.11111111.00000000
4번째 옥텟 8개 bit중 왼쪽 5개가 네트워크 비트로 사용하면됨 (원래 호스트부분이었던 8비트중 5비트를 뺏었감)
같은 얘기지만 반대로 서브넷당 호스트 5개 이상은 2^x -2 = 5개 인데 그 x승수가 3은 되야 5개이상 나옴.
즉 호스트가 기준일때는 오른쪽을 기준으로 해서 5개가 포함된 bit만큼을 호스트로 할당하고 나머지 비트로 네트워크를 구성하면됨.
즉,서브넷 마스크 11111111.11111111.11111111.00000000
4번째 옥텟 8개 bit중 오른쪽 3개가 호스트 비트로 사용하면됨
최종적으로 서브넷마스크가
255.255.255.0 == 11111111.11111111.11111111.0000000 에서
255.255.255. 248 == 11111111.11111111.11111111. 11111000 이렇게 변경 되야함
그렇다면 4번째 옥텟 bold처리된 부분에서
11111 부분이 서브네트워크가 될거고
000 부분이 호스트가 될텐데
각각 해당 자리수만큼 경우의 수 따져서 ip주소를 만들어주면됨
000은 2^3승 즉 8이니 고정된 크기인 8개(2^3승)씩 호스트를 증가시키면됨.
달리 말해서 서브네트워크 부분인 11111 의 경우의 수를 따져보면
이진수 ->십진수
첫번째 00000 000 -> 0
두번째 00001 000 -> 8
세번째 00010 000 -> 16
네번째 00011 000 -> 24
.
.
.
32번째 11111 000 --> 248
이렇게 서브네트워크를 구성해주면됨
그럼 ip를
210.240.3.0 ~210.240.3.7
210.240.3.8 ~210.240.3.15
.
.
이렇게 구성해야되는거로 착각하기 쉬우나 하기와 같은 이유로 각 서브넷별로 2개씩은 제외됨.
서브넷 네트워크 주소: 호스트 부분을 전부 0으로 만든경우.동일네트워크로 라우터 없이 통신가능
서브넷의 브로드 캐스트 주소: 호스트 부분을 전부 1로 만든 경우
고로 호스트에 부여가능한 주소: 네트워크 주소+1~ 브로드캐스트 주소 -1 를 고려하면
210.240.3.0(255.255.255. 248) 210.240.3.1 ~ 210.240.3.6
210.240.3.8(255.255.255. 248) 210.240.3.9 ~ 210.240.3.14
210.240.3.16(255.255.255. 248) 210.240.3.17 ~ 210.240.3.22
210.240.3.24(255.255.255. 248) 210.240.3.25 ~ 210.240.3.30
.
.
.
210.240.3.224(255.255.255. 248) 210.240.3.225 ~ 210.240.3.230
210.240.3.232(255.255.255. 248) 210.240.3.233 ~ 210.240.3.238
210.240.3.240(255.255.255. 248) 210.240.3.241 ~ 210.240.3.246
210.240.3.248(255.255.255. 248) 210.240.3.249 ~ 210.240.3.254
총32개 서브넷이 다음과 같은 호스트를 가진다.
3. 사이더 (Classless Inter-Domain Routing,CIDR)
Classless Inter-Domain Routing (CIDR /ˈsaɪdər, ˈsɪ-/) is a method for allocating IP addresses and IP routing. The Internet Engineering Task Force introduced CIDR in 1993 to replace the previous addressing architecture of classful network design in the Internet. Its goal was to slow the growth of routing tables on routers across the Internet, and to help slow the rapid exhaustion of IPv4 addresses.
If you have been in IT for any amount of time, you have probably seen the “/” slash following an IP address with a number after it. Such as: 192.168.1.1/24. This /24 shows us that 24 bits are dedicated to the network. Remember bits and Bytes? We are back to those again! So, if 24 bits (3 Bytes) are dedicated to the network, we get 8 bits (or 1 Byte) dedicated for hosts. If we have 8 bits to use for hosts, that means we can have any number of hosts up to 2^7.
-https://linuxacademy.com/guide/14449-guide-to-subnettingpart-2-networks-and-basic-subnetting/-
1) 정의
네트워크과 호스트를 쉽게 구분짓기 위한 표기법이며 suffix에 네트워크의 비트 수를 표시해줌.
classless하게 ip를 효율적 관리
prefix/suffix
prefix: ip address
suffix : the number of bits of the prefix (Subnet Mask에서 왼쪽부터 하나씩 증가하는 1의 숫자)
suffix인 서브넷 마스크를 이용해 동일 네트워크 그룹을 표시하는 기법
suffix Length /8, /16, 24/ 는 각각 A class, B class, C class
suffix Length가 의미하는 것은 오른쪽 Binary(이진수) Subnet Mask에서 왼쪽부터 하나씩 증가하는 1의 숫자를 나타냄
Binary Subnet Mask에서 1에 해당하는 network bit를 라고 하고, 0에 해당하는 host bit임.
suffix Length가 작다면 host 수가 많아짐.
suffix Length /32(Subnet mask 255.255.255.255)는 network가 아니라 특정 host IP 1개를 의미.
suffix Length /30은 양쪽 Router Interface에 1개씩 2개 IP만 할당하면 되기때문에 Router와 Router간의 Point to Point Interface에서 주로 많이 사용됨.
Network IP Address와 Broadcast IP address
Host 할당 가능한 IP 수 = 사용 가능한 IP 수 - 2
broadcast IP: subnet의 마지막 IP(Host bit가 모두 1인 IP)
Network IP : subnet의 첫번째 IP(host bit가 모두 0인 IP)
Prefix Length | Subnet Mask (Decimal) |
Subnet Mask (Binary) |
사용 가능한 IP 수 |
Host 할당 가능한 IP 수 | Remak |
/1 | 128.0.0.0 | 1000 0000 0000 0000 0000 0000 0000 0000 | 2147483648 | 2147483646 | |
/2 | 192.0.0.0 | 1100 0000 0000 0000 0000 0000 0000 0000 | 1073741824 | 1073741822 | |
/3 | 224.0.0.0 | 1110 0000 0000 0000 0000 0000 0000 0000 | 536870912 | 536870910 | |
/4 | 240.0.0.0 | 1111 0000 0000 0000 0000 0000 0000 0000 | 268435456 | 268435454 | |
/5 | 248.0.0.0 | 1111 1000 0000 0000 0000 0000 0000 0000 | 134217728 | 134217726 | |
/6 | 252.0.0.0 | 1111 1100 0000 0000 0000 0000 0000 0000 | 67108864 | 67108862 | |
/7 | 254.0.0.0 | 1111 1110 0000 0000 0000 0000 0000 0000 | 33554432 | 33554430 | |
/8 | 255.0.0.0 | 1111 1111 0000 0000 0000 0000 0000 0000 | 16777216 | 16777214 | A class |
/9 | 255.128.0.0 | 1111 1111 1000 0000 0000 0000 0000 0000 | 8388608 | 8388606 | |
/10 | 255.192.0.0 | 1111 1111 1100 0000 0000 0000 0000 0000 | 4194304 | 4194302 | |
/11 | 255.224.0.0 | 1111 1111 1110 0000 0000 0000 0000 0000 | 2097152 | 2097150 | |
/12 | 255.240.0.0 | 1111 1111 1111 0000 0000 0000 0000 0000 | 1048576 | 1048574 | |
/13 | 255.248.0.0 | 1111 1111 1111 1000 0000 0000 0000 0000 | 524288 | 524286 | |
/14 | 255.252.0.0 | 1111 1111 1111 1100 0000 0000 0000 0000 | 262144 | 262142 | |
/15 | 255.254.0.0 | 1111 1111 1111 1110 0000 0000 0000 0000 | 131072 | 131070 | |
/16 | 255.255.0.0 | 1111 1111 1111 1111 0000 0000 0000 0000 | 65536 | 65534 | B class |
/17 | 255.255.128.0 | 1111 1111 1111 1111 1000 0000 0000 0000 | 32768 | 32766 | |
/18 | 255.255.192.0 | 1111 1111 1111 1111 1100 0000 0000 0000 | 16384 | 16382 | |
/19 | 255.255.224.0 | 1111 1111 1111 1111 1110 0000 0000 0000 | 8192 | 8190 | |
/20 | 255.255.240.0 | 1111 1111 1111 1111 1111 0000 0000 0000 | 4096 | 4094 | |
/21 | 255.255.248.0 | 1111 1111 1111 1111 1111 1000 0000 0000 | 2048 | 2046 | |
/22 | 255.255.252.0 | 1111 1111 1111 1111 1111 1100 0000 0000 | 1024 | 1022 | |
/23 | 255.255.254.0 | 1111 1111 1111 1111 1111 1110 0000 0000 | 512 | 510 | |
/24 | 255.255.255.0 | 1111 1111 1111 1111 1111 1111 0000 0000 | 256 | 254 | C class |
/25 | 255.255.255.128 | 1111 1111 1111 1111 1111 1111 1000 0000 | 128 | 126 | |
/26 | 255.255.255.192 | 1111 1111 1111 1111 1111 1111 1100 0000 | 64 | 62 | |
/27 | 255.255.255.224 | 1111 1111 1111 1111 1111 1111 1110 0000 | 32 | 30 | |
/28 | 255.255.255.240 | 1111 1111 1111 1111 1111 1111 1111 0000 | 16 | 14 | |
/29 | 255.255.255.248 | 1111 1111 1111 1111 1111 1111 1111 1000 | 8 | 6 | |
/30 | 255.255.255.252 | 1111 1111 1111 1111 1111 1111 1111 1100 | 4 | 2 | 최소 LAN, Router간 연결에 사용 |
/31 | 255.255.255.254 | 1111 1111 1111 1111 1111 1111 1111 1110 | 2 | 0 | |
/32 | 255.255.255.255 | 1111 1111 1111 1111 1111 1111 1111 1111 | 1 | 0 | Host |
출처 : https://blog.naver.com/goduck2/220142854627
VLSM
https://travislife.tistory.com/54
2) 서브네팅(Subnetting) 및 CIDR(슈퍼넷팅) 주요 차이점
-서브네팅 : 더 큰 네트워크 주소에서 여러 작은 네트워크 주소로 나누는 기법. 호스트 비트는 서브넷 아이디에 사용되어지기위해 전환됨.
- 슈퍼넷팅 (CIDR) :여러 ip network를 공통의 네트워크 prefix로 묶는 과정(여러 서브넷을 가져 와서 하나의 더 큰 서브넷으로 통합함). 묶어서 관리하기에 라우팅테이블이 간결해짐. (효율적인 네트워크를 위해서 라우팅 테이블을 최적화).네트워크 비트는 호스트 아이디로써 사용되어지기 위해 전환됨
본래의 Classful한 network 크기보다 더 작은 단위의 network로 나누는 것을 subnetting이라고 하고, 더 큰 단위의 network로 합치는 것을 supernetting
Subnetting vs Supernetting
Subnetting is the process of dividing an IP network in to sub divisions called subnets. Computers belonging to a sub network have a common group of most-significant bits in their IP addresses. So, this would break the IP address in to two parts (logically), as the network prefix and the rest field. Supernetting is the process of combining several sub networks, which have a common Classless Inter-Domain Routing (CIDR) routing prefix. Suppernetting is also called route aggregation or route summarization.
-참조:
https://www.differencebetween.com/difference-between-subnetting-and-vs-supernetting
What is the Difference between Subnetting and Supernetting?
Subnetting is the process of dividing an IP network in to sub divisions called subnets whereas, Supernetting is the process of combining several IP networks with a common network prefix. Supernetting will reduce the number of entries in a routing table and also will simplify the routing process. In subnetting, host ID bits (for IP addresses from a single network ID) are borrowed to be used as a subnet ID, while in supernetting, bits from the network ID are borrowed to be used as the host ID.
-참조:https://www.differencebetween.com/difference-between-subnetting-and-vs-supernetting
3) 예시 (출처 :https://en.wikipedia.org/wiki/Supernetwork)
각 50 개 지역에서 150 개의 회계 서비스를 운영하는 회사는 각 사무실마다 회사 본사에 대한 프레임 릴레이 링크로 연결된 라우터를 가지고 있습니다. 수퍼 네팅을 사용하지 않으면 지정된 라우터의 라우팅 테이블이 각 50 개 지구 또는 7500 개의 서로 다른 네트워크에서 150 개의 라우터를 처리해야 할 수 있습니다. 그러나 계층 적 어드레싱 시스템이 수퍼 네팅으로 구현되는 경우 각 지구에는 상호 연결 지점으로 중앙 사이트가 있습니다. 각 경로는 다른 지구에 광고되기 전에 요약됩니다. 각 라우터는 이제 자체 서브넷과 다른 49 개의 요약 된 경로 만 인식합니다.
라우터에서 요약 경로를 결정하려면 모든 주소와 일치하는 최상위 비트 수를 인식해야합니다. 요약 경로는 다음과 같이 계산됩니다. 라우터의 라우팅 테이블에는 다음과 같은 네트워크가 있습니다.
192.168.98.0
192.168.99.0
192.168.100.0
192.168.101.0
192.168.102.0
192.168.105.0
먼저 주소가 이진 형식으로 변환되어 목록으로 정렬됩니다.
주소 | 1 옥텟 | 2 옥텟 | 3 옥텟 | 4 옥텟 |
192.168.98.0 | 11000000 | 10101000 | 0110 0010 | 00000000 |
192.168.99.0 | 11000000 | 10101000 | 0110 0011 | 00000000 |
192.168.100.0 | 11000000 | 10101000 | 0110 0100 | 00000000 |
192.168.101.0 | 11000000 | 10101000 | 0110 0101 | 00000000 |
192.168.102.0 | 11000000 | 10101000 | 0110 0110 | 00000000 |
192.168.105.0 | 11000000 | 10101000 | 0110 1001 | 00000000 |
둘째, 공통 자릿수 패턴이 끝나는 비트가 위치합니다. 이 공통 비트는 빨간색으로 표시됩니다. 마지막으로, 공통 비트의 수가 계산됩니다. 아래 그림과 같이 나머지 비트를 0으로 설정하면 요약 경로를 찾을 수 있습니다. 슬래시 다음에 공통 비트 수가옵니다.
1옥텟 | 2옥텟 | 3옥텟 | 4옥텟 | 주소 | 넷마스크 |
11000000 | 10101000 | 0110 0000 | 00000000 | 192.168.96.0 | / 20 |
요약 된 경로는 192.168.96.0/20입니다. 서브넷 마스크는 255.255.240.0입니다.
이 요약 경로에는 요약 그룹에없는 네트워크, 즉 192.168.96.0, 192.168.97.0, 192.168.103.0, 192.168.104.0, 192.168.106.0, 192.168.107.0, 192.168.108.0, 192.168.109.0, 192.168도 포함됩니다. 110.0 및 192.168.111.0. 누락 된 네트워크 접두사가이 경로 외부에 존재하지 않도록해야합니다.
서브넷팅과 슈퍼네팅에대한 자세한 내용은 요기를 참조하자
network address- Network address is first address in the network
broadcast address-Broadcast address is the last address in the network,
https://www.calculator.net/ip-subnet-calculator.html
IP Address: 169.254.0.0
Network Address: 169.254.0.0
Usable Host IP Range: 169.254.0.1 - 169.254.0.2
Broadcast Address: 169.254.0.3
Total Number of Hosts: 4
Number of Usable Hosts: 2
Subnet Mask: 255.255.255.252
Wildcard Mask: 0.0.0.3
Binary Subnet Mask: 11111111.11111111.11111111.11111100
IP Class: C
CIDR Notation: /30
IP Type: Public
Short: 169.254.0.0 /30
Binary ID: 10101001111111100000000000000000
Integer ID: 2851995648
Hex ID: 0xa9fe0000
in-addr.arpa: 0.0.254.169.in-addr.arpa
IPv4 Mapped Address: ::ffff:a9fe.00
6to4 Prefix: 2002:a9fe.00::/48
모든 네트워크에는 네트워크 및 브로드 캐스트 주소 지정에 사용되는 두 개의 주소가 있음. 이러한 주소는 노드 주소 지정에 사용불가
따라서 네트워크에 4 개의 주소가있는 경우 2 개의 노드가 정의 될 수 있음
유일한 예외는 라우팅 테이블에서 노드 로컬 IP 주소를 정의하는 데 사용되는 32 비트 마스크가있는 네트워크 (하나의 주소 만있는 네트워크).
'프로그래밍 > 네트워크 기본' 카테고리의 다른 글
NAT 와 NAPT (0) | 2020.03.29 |
---|---|
ARP : 목적지의 MAC 주소를 알기위한 방법 (0) | 2020.03.29 |
OSI 7 Layer 캡슐화 & 역캡슐화(OSI encapsulation and decapsulation) (0) | 2020.03.29 |