2022. 8. 17. 15:20ㆍ네트워크
💭IP addressing
- IP address
-> IP는 논리적인 주소.
TCP/IP를 사용하는 네트워크 상에 연결된 장비들에게는 고유의 IP주소가 부여된다.
(주소가 같은 다른 장비가 존재한다면 IP 주소가 서로 충돌)
-> IP address는 네트워크 부분과 호스트 부분으로 구성.
IP address = Network ID + Host ID
ex. 교실 이름과 학생 번호
- IP 주소는 network 부분과 host부분으로 그분
- 하나의 네트워크란 하나의 broadcast domain.
- 하나의 네트워크란 L3장비(Router)를 거치지 않고 통신이 가능한 영역
- 다른 네트워크와 통신하기 위해서는 Router를 거쳐야 한다.
- 동일 네트워크에서는 Network부분은 모두 같고 Host부분이 모두 달라야 한다.
- 이렇게 IP 주소를 Network 부분과 Host 부분으로 구분해주는 역할을 하는 것이 Subnet mask이다.






💭Subnet mask
- 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해서 씌우는 마스크(가면. 새로운 역할 부여)
- 총 네트워크 범위에서 Network field에 '1'을 할당하고 Host field에 '0'을 할당한 값이 Subnet mask.***
- IP 주소와 Subnet mask를 AND 연산하면 Network ID 값을 구할 수 있다.
- 네트워크를 할당 받으면 Host 부분은 사용자 마음대로 사용

ex)
IP address : 210.5.1.7
Subnet mask : 255.255.255.0
Network ID : 210.5.1.0
Broadcast : 210.5.1.255
사용 가능한 IP 주소 : 210.5.1.1 ~ 210.5.1.254
💭Subnet mask
- 2진수로 표현했을 때 맨 왼쪽부터 1이 연속적으로 나와야 한다.
ex.
255.255.255.0 -> subnet mask 사용가능
255.255.255.10 -> subnet mask 사용 불가능
255.255.255.128 -> subnet mask 사용가능
- Prefix : subnet mask의 '1'이 들어간 bit의 숫자
ex.
255.255.255.0. -> /24
255.255.0.0 -> /16
255.0.0.0 -> /8
255.255.255.128 -> /25
ex1) 1.1.1.1 과 1.1.2.1은 같은 네트워크에 속해 있는가? O
1 -> A클래스 -> 첫번째 옥텟이 같아야 같은 네트워크
1.1.1.1 과 1.1.2.1
ex2) 128.13.4.1 과 128.13.5.2은 같은 네트워크에 속해 있는가? O
128 -> B클래스 -> 첫번째 옥텟~ 두번째 옥텟이 같아야 같은 네트워크
128.13.4.1 과 128.13.5.2
💭Subneting
IP Address Class
- 이렇게 Subnet maskf를 각 Class별 default값으로 사용하는 것을 Classful하다고 표현한다.
ex. 한 사무실에서 200대의 pc를 사용할 때 어느 Class의 IP를 배정하는 것이 좋은가?
-> class C가 적당하다. Class A나 Class B는 사용 호스트 수에 비해 IP를 낭비한다.
200개 사용 후 50여개 남음
💭Subneting (****************완전 중요!!)
- subnet mask를 얼마나 적절하게 찾아내느냐가 중요
ex) 하나의 네트워크에 10개의 PC를 사용하는데 Classful한 네트워크를 할당할 경우
(C class가 낭비가 제일 적음)
- Subneting : IP를 효율적으로 낭비 없이 분배하고 Broadcast Domain의 크기를 작게 나눠주는 것
- Classless : Class별 default Subnet mask를 사용하지 않고 적당한 크기의 Subnet mask로 사용자의 상황에 따라 하나의 네트워크를 작게 여러 개로 나눠 사용.
즉, Classful Network를 여러 개의 Network로 나누는 것



Q. Default Subnet mask ?
1) 210.100.100.1 -> 255.255.255.0
2) 150.100.10.20 -> 255.255.0.0
3) 10.1.1.100 -> 255.0.0.0
💭Subneting
- 디폴트 서브넷 마스크 중 호스트 비트를 사용하되, 맨 왼쪽부터 씀
ex1) 172.16.2.160의 경우 디폴트 서브넷 마스크는
255.255.0.0이므로 이를 이진수로 다시 표기하면
1111 1111. 1111 1111. 0000 0000. 0000 0000가 되고, 빨간색으로 표시한 부분이 호스트 비트가 되므로, 호스트 비트의 맨 왼쪽부터 1로 바꿔줌
- 이진수 1이 연속으로 나와야 함
ex) 1111 1111.1111 1111. 1100 1100은 서브넷 마스크가 될 수 없음
ex) 255.255.10.0 -> 1111 1111. 1111 1111. 0000 1010. 0000 0000 (x)
255.255.199.0 -> 1111 1111. 1111 1111. 1100 0111. 0000 0000 (x)
255.255.240.0 -> 1111 1111. 1111 1111. 1111 0000. 0000 0000 (o)
255.255.255.0
.128
.192
.224
.248
.252
.254
.255
이 9개의 숫자 외에는 서브넷 마스크로 올 수 없다.
💭Subneting
- 기존의 호스트 bit로 할당된 bit 중 일부를 Subnet bit로 지정
(즉, host field의 bit를 빌려서 Network를 나눈다.)
ex1) 210.5.7.0/24 Network를 2개의 Network로 Subneting 하시오.
*2^n >= 주어진 Network의 숫자
(Network가 조건일 경우 Host field에서 왼쪽부터 n개 bit를 Network부분으로 계산)
210.5.7.00000000 -> 210.5.7.|0|0000000
------------------------
210.5.7.|0|0000000 -> 210.5.7.0 /25 ~ 210.5.7.127 (0 ~ 127)
210.5.7.|1|0000000 -> 210.5.7.128 /25~ 210.5.7.255 (128 ~ 255)
-> 210.5.7.0 /25 사용 가능한 ip주소 210.5.7.1 /25 ~ 210.5.7.126
-> 210.5.7.128 /25 사용 가능한 ip주소 210.5.7.129 /25 ~ 210.5.7.254
ex2) 210.5.7.0/24 Network를 60개의 Host가 사용하기 적당한 크기의 Network로 Subneting 하시오.
*2^n - 2 >= 주어진 Host의 숫자
(Host가 조건인 경우 Host field에서 오른쪽부터 n개 bit를 잘라서 Network 부분으로 계산)
210.5.7.00000000 -> 210.5.7.|00|000000
----------------------
210.5.7.|00|000000 -> 210.5.7.0/26 (0 ~ 63)
210.5.7.|01|000000 -> 210.5.7.64/26 (64 ~ 127)
210.5.7.|10|000000 -> 210.5.7.128/26 (128 ~ 191)
210.5.7.|1 1|000000 -> 210.5.7.192/26 (192 ~ 255)
210.5.7.0/26 사용 가능한 IP 주소 210.5.7.1 ~ 210.5.7.62
210.5.7.64/26 사용 가능한 IP 주소 210.5.7.65 ~ 210.5.7.126
210.5.7.128/26 사용 가능한 IP 주소 210.5.7.129 ~ 210.5.7.190
210.5.7.192/26 사용 가능한 IP 주소 210.5.7.193 ~ 210.5.7.254
- 각 Subnet의 첫 번째(Host 부분이 전부 0)와 마지막(Host 부분이 전부 1) IP 주소는 사용하지 않는다.
(Network ID와 Broadcast 주소)
- Subneting으로 나눠진 Network는 이제 다른 Network이기 때문에 Router를 통해야만 통신 가능
💭네트워크 id (넷아이디)
- ip와 서브넷 마스크를 and연산하면 ip네트워크 부분을 확인할 수 있다.
이 때 host부분에 모두 0을 채우면 네트워크 아이디라고 하는데, 의미는 대표주소이다.
예) 192.168.0.0은 192.168.0.1 ~ 192.168.0.254를 대표하는 주소이다.
- 장비에 입력하는 ip로는 사용할 수 없고, ip 대역대를 표현하거나 라우팅을 할 때 목적지 ip 대역대를 표현할 때 사용된다.
- 양재1동 양재2동 ~~을 통틀어 양재동으로 부르는 느낌
💭서브넷팅
서브네팅은 크게 2가지로 나뉩니다.
피자조각의 크기 = host 수
피자조각의 개수 = 네트워크 개수
(하나의 브로드캐스트 도메인을 여러개로 나누는 것)

Address | Subnet Mask | Class | Subnet |
172.16.2.10 | 255.255.255.0 | B | 255.255.0.0 |
default 주소 : 172.16.0.0 ~ 172.16.255.255
가용ip 주소 : 172.16.0.1 ~ 172.16.255.254
서브네팅 주소 : 172.16.2.0 ~ 172.16.2.255
가용 ip 주소 : 172.16.2.1 ~ 172.16.2.254
Address | Subnet Mask | Class | Subnet |
10.6.24.30 | 255.255.0.0 | A | 255.0.0.0 |
default 주소 : 10.0.0.0 ~ 10.255.255.255
가용ip 주소 : 10.0.0.1 ~ 10.255.255.254
서브네팅 주소 : 10.6.0.0 ~ 10.6.255.255
가용 ip 주소 : 10.6.0.1 ~ 10.6.255.254
Address | Subnet Mask | Class | Subnet |
172.30.36.12 | 255.255.255.0 | B | 255.255.0.0 |
default 주소 : 172.30.0.0 ~ 172.30.255.255
가용ip 주소 : 172.30.0.1 ~ 172.30.255.254
서브네팅 주소 : 172.30.36.0 ~ 172.30.36.255
가용 ip 주소 : 172.30.36.1 ~ 172.30.36.254
Address | Subnet Mask | Class | Subnet |
201.222.10.60 | 255.255.255.248 | C | 255.255.255.0 |
default 주소 : 201.222.10.0 ~ 201.222.10.255
가용ip 주소 : 201.222.10.1 ~ 201.222.10.254
서브네팅 주소 : 201.222.10.56 ~ 201.222.10.63
가용 ip 주소 : 201.222.10.57 ~ 201.222.10.62
255.255.255.248
248 = 11111000(2) 255.255.255.|11111|000 /29
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 | 1 | 1 |
|00000|000 -> 0 8씩 증가
|00001|000 -> 8
|00010|000 -> 16
|00011|000 -> 24
|00100|000 -> 32
|00101|000 -> 40
|00110|000 -> 48
|00111|000 -> 56 ~ 63
|01000|000 -> 64
Address | Subnet Mask | Class | Subnet |
15.18.192.6 | 255.255.0.0 | A | 255.0.0.0 |
default 주소 : 15.0.0.0 ~ 15.255.255.255
가용ip 주소 : 15.0.0.1 ~ 15.255.255.254
서브네팅 주소 : 15.18.0.0 ~ 15.18.255.255
가용 ip 주소 : 15.18.0.1 ~ 15.18.255.254
Address | Subnet Mask | Class | Subnet |
153.70.100.2 | 255.255.255.192 | B | 255.255.0.0 |
default 주소 : 153.70.0.0 ~ 153.255.255
가용ip 주소 : 153.70.0.1 ~ 153.255.254
서브네팅 주소 : 153.70.100.0 ~ 153.70.100.63
가용 ip 주소 : 153.70.100.1 ~ 153.70.100.62
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 |
255.255.255.|11|000000
|00|000000 -> 0 ~ 63 2가 첫번째 조각 안에 들어감.
|01|000000 -> 64 64씩 증가
|10|000000 -> 128
|11|000000 -> 192
💭Q1. 192.168.0.3 70명 근무(제시된 host)
Tip. 2의 n승 중에서 근접한 수를 찾는다 -> 128
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 |
* 서브넷팅은 서브넷 마스크부터 구해야함.
subnet mask : 255.255.255.128
서브넷팅 주소 : 192.168.0.0 ~ 192.168.0.127
가용 ip 주소 : 192.168.0.1 ~ 192.168.0.126
2^n-2>=70 n=7 2^7 = 128
255.255.255.|0|0000000 ->0 ( 0~127)
255.255.255.|1|0000000 ->128
💭Q2. 192.168.0.3 20명 근무
2^n-2>=20 n=5 2^5 = 32
0~31 32씩 증가 3이 첫번째 조각에 속함
32~63
64
96
subnet mask : 255.255.255.|111|00000
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 |
* 서브넷팅은 서브넷 마스크부터 구해야함.
subnet mask : 255.255.255.224
서브넷팅 주소 : 192.168.0.0 ~ 192.168.0.31
가용 ip 주소 : 192.168.0.1 ~ 192.168.0.30
💭Q3. 192.168.0.3 139명 근무
subnet mask : 255.255.255.0
서브넷팅 주소 : 192.168.0.0 ~ 192.168.0.255
가용 ip 주소 : 192.168.0.1 ~ 192.168.0.254
💭Q4. 10.0.0.3 25명 근무
2^n-2>=25 2^5=32
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 |
255.255.255.0~31
.32
[subnet mask 오답]
255.0.0.224(x) 왼쪽부터 연속적으로 1이 아님
255.224.0.0(x) 너무큼
subnet mask : 255.255.255.224
서브넷팅 주소 : 10.0.0.0 ~ 10.0.0.31
가용 ip 주소 : 10.0.0.1 ~ 10.0.0.30
💭Q5. 192.168.0.3 32명 근무
2^n-2>=32 n=6
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 |
subnet mask : 255.255.255.192
서브넷팅 주소 : 192.168.0.0 ~ 192.168.0.63
가용 ip 주소 : 192.168.0.1 ~ 192.168.0.62
💭Q6. 172.16.0.3 350명 근무
2^n-2>=350 2^9=512
4번째 옥텟에서는 해결이 안되는 유형
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 |
subnet mask : 255.255.|1111111|0.00000000
254
172.16.|0000000|0.00000000 ->172.16.0.0 ~ 172.16.1.255
172.16.|0000001|0.00000000 -> 172.16.2.0
subnet mask : 255.255.254.0
서브넷팅 주소 : 172.16.0.0 ~ 172.16.1.255
가용 ip 주소 : 172.16.0.1 ~ 172.16.1.254
💭Q7. 192.168.0.135 ※제시된 ip 잘 확인하세요! 25명
2^n-2>=25 2^5=32
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 |
subnet mask : 255.255.255.|111|00000
255.255.255.224
192.168.0.|000|00000 0
192.168.0.|001|00000 32
64
96
128 ~ 159
160
subnet mask : 255.255.255.224
서브넷팅 주소 : 192.168.0.128 ~ 192.168.0.159
가용 ip 주소 : 192.168.0.129 ~ 192.168.0.158
💭Q8. 172.16.10.3 3000명 subneting
4096 2048 1024 512 256 | 128 64 32 16 8 4 2 1
1
255.255.|1111|0000.00000000
240
subnet mask : 255.255.240.0
서브넷팅 주소 : 172.16.0.0 ~ 172.16.15.255
가용 ip주소 : 172.16.0.1 ~ 172.16.15.254
💭Q9. 192.18.0.0(/24)
3개의 네트워크로 나누세요!!
2^n >=3
n=2
255.255.255.|11|000000
255.255.255.192
128 64 32 16 8 4 2 1
1 1
192.18.0.0 ~ 192.18.0.63
192.18.0.64 ~ 192.18.0.127
192.18.0.128 ~ 192.18.0.191
192.18.0.192 ~ 192.18.0.255
192.18.0.256
2^n >= 제시된 네트워크 개수 ( n : 1의 개수 )앞에서부터 1이 채워질때마다 2^n개니까 4개로 쪼개질수밖에 없음네트워크 조각을 묻는 문제는 네트워크 서브넷마스크가 무조건 주어짐.
💭Q10. 192.18.0.0(/24) 6개의 네트워크로 나눠보세요
2^n >= 6 2^3=8 n=3
128 64 32 16 8 4 2 1
1 1 1
255.255.255.224
0
32
64
96
128
160
192
224
256