복습 위해 5년전 방송기술직 목표로 공부했던 내용 포스팅
IP(Intenet Protocol)
- 인터넷상에서 하나의 host(컴퓨터)를 구분하기 위한 고유 주소(=식별자)
- L3 계층에서 사용
- 라우터간 통신시 IP는 식별자 이다.
- IPv4에서 A ~ E 클래스로 나눠지며, network id, host id 구분되어 관리됨
- IPv4 의 경우 32bit 주소 체계 가짐 (2^32 = 약 43억개)
예) 192.168.174.100 (10진수) -- 8bit * 4 자리
- IPv6의 경우 128bit 주소 체계 가짐 (2^128 = '지구 상에 존재하는 모래알 개수보다 많다')
예) 2004:2ba8:13aa:0011:0000:0000:0000:abaa -- 16bit * 8 자리
IPv4 주소 부족 문제 & 해결 방안
- IPv4의 경우 32bit 로 2^32 = 약 43억개의 주소 표현가능하지만 이는 유한한 수로 전세계를 생각했을 때 주소 고갈과 함께
(고정된) 클래스 주소 체계로 인해 주소 낭비가 문제 야기하였다.
- 이를 해결하기 위해 아래 5가지 해결 방안이 나옴
① DHCP (Dynamic Host Configuration Protocol) 서버
Client(Host, 접속 단말기)의 IP를 DHCP 서버가 동적으로 할당
일반적으로 브로드 캐스트 요청시 같은 네트워크 전역으로 전달되어, 해당 요청이 끝날 때까지 모두 정지하게 된다
이는 곧 네트워크 성능 저하를 일으키기 때문에, 네트워크 구성시 브로드 캐스트를 최소화하는 것이 중요하다
-> 서브넷팅 통해 브로드 캐스트 범위를 최소화 하는 방법이 있다.
② NAT (Network Address Translator)
사설 IP주소와 공인 IP주소로 변환하는 데 사용하는 IP주소 변환기
③ 서브넷팅(Subnetting)
- 같은 network id를 가지는 큰 네트워크를 작은 규모의 여러 서브넷 (subnet = sub network)으로 나누어 사용하는 기술
참고. 서브넷을 통해 얻을 수 있는 효과를 기술하시오.
- host IP 주소 낭비를 막고 효율적인 네트워크 관리 가능
- host IP 주소 일부분을 network 주소로 사용하여 서브넷으로 분할하면 Broadcasting으로 인한 불필요한 트래픽, 네트워크 성능 저하를 감소 시킬 수 있다
④ 슈퍼넷팅(Supernetting)
- 서브넷팅의 반대 개념으로 인터넷의 라우팅 테이블 규모가 증가하는 문제를 해결하기 위해 라우팅 테이블을 최소화하는 것을 목적
- 여러 서브넷을 하나로 모아 host IP 주소의 개수를 늘릴 수 있는 방법
⑤ IPv6
- 128bit의 주소 체계 가짐 (16bit 단위로 8개)
- '지구상의 모래알 개수보다 많은 주소 개수' 가짐 (이하 생략)
서브넷 마스크 (Subnet Mask)
- network id와 host id 구분하기 위한 식별자 ( IPv4, IPv6 둘 다 서브넷 마스크 존재 )
- 서브넷에 할당된 ip 중 일부를 네트워크 id로 사용하여, 더 작은 네트워크로 분할 하는 것을 '서브넷팅'이라 함
- IP주소와 Subnet Mask 를 2진수 bit 단위로 AND 연산 수행해서 network id가 같은지 판별
클래스 표기법
- A클래스 서브넷 마스크 : 255.0.0.0
- B클래스 서브넷 마스크 : 255.255.0.0
- C클래스 서브넷 마스크 : 255.255.255.0
그외
- D 클래스는 시작 비트가 1110 고정이고, E 클래스 시작 비트가 11110 으로 고정이다
- D와 E클래스는 서브넷 마스크가 없으므로 다루지 않음
CIDR 표기법과 주소 범위 정리
클래스 표기법보다 CIDR 표기법으로 나타내는 것이 좀 더 모던해 보인다
예시. C클래스 IP와 서브넷 마스크가 주어졌을 때
위의 예시에서 네트워크에서 호스트 ID는 8bit를 차지하며 2^8 개의 IP 사용가능
이때 2^8개 IP에서 network ip와 broadcast ip 2개를 뺀 나머지 ip 를 host IP로 사용가능하다
(기본적으로 2개를 빼고 사용한다 생각하는게 편함)
아래와 같은 서브넷 마스크가 주어졌을 때 다음과 같이 IP를 구할 수 있다.
- network ip : 192.168.174.0 (서브넷의 첫번째 ip)
- broadcast ip : 192.168.174.255 (서브넷의 마지막 ip)
- host ip : 192.168.174.1 ~ 192.168.174.254
서브넷팅(Subnetting) with 문제
한정된 IP 자원을 효율적으로 관리하기 위해 고안된 기술
현재 C클래스로 총 사용가능한 253개 IP가 있을 때, 사무실에 컴퓨터가 30대 밖에 사용하지 않는 경우 나머지 223개의 IP는 낭비가 될 것이다. 이런 상황에서 서브넷팅은 host IP주소 중 일부를 네트워크 ID로 사용하여 서브넷으로 분리 하여 효율적으로 네트워크 관리할 수 있도록 해준다.
서브넷팅이 네트워크 나누기라면, 슈퍼넷팅은 네트워크 합치기로 생각하면 편한다.
- 서브넷팅은 host ip가 남기 때문에 서브넷을 나눠 다른 곳에서도 ip를 사용하도록 함
- 슈퍼넷팅은 사용가능한 host ip가 부족해 서브넷을 합쳐 사용함
문제1) IP주소가 203.10.24.27, 서브넷 마스크가 255.255.255.240일 때 (소속 서브넷의) 네트워크 주소, 브로드 캐스트 주소, 그리고 호스트 주소 범위를 구하시오
IP주소 203.*이 C클래스 범위이므로, 서브넷 마스크도 C클래스 기준 해석
- 10진수 표기 : 255.255.255.240
- 2진수 표기 : 1111 1111 . 1111 1111 . 1111 1111 . 1111 0000
host ID 영역에서 4bit가 Network ID로 사용되었으므로, 2^4 = 16 개 서브넷이 있고 host IP는 각각 2^4 = 16개 가짐
그리고 각 서브넷이 가질 수 있는 host IP 16개중 네트워크, 브로드 캐스트 IP 제외하고 14개(=16 - 2) 씩 host IP할당 가능
아래와 그림과 같은 형태이고 #2 서브넷에 소속된 IP 주소임을 파악 가능
① 네트워크 주소
- IP주소와 서브넷 마스크를 AND 연산 수행한다
- 203.10.24.16이 주어진 IP가 소속된 서브넷의 네트워크 주소이다
② 브로드 캐스트 주소
- 서브넷 마스크 통해 서브넷별 host IP를 2^4 = 16개를 가진다는 것을 알 수 있었다.
- ①에서 구한 네트워크 주소에서 16번째 IP가 해당 서브넷의 브로드 캐스트 주소이다
답. 203.10.24.31 ( 네트워크 주소 끝자리 16 + 호스트 개수 16 - 1 = 31)
③ 호스트 주소 범위
- 네트워크 주소와 브로드 캐스트 주소 사이의 범위가 실제로 할당 받을 수 있는 호스트 주소 범위이다
답. 203.10.24.17 ~ 203.10.24.30
문제2) IP 주소 192.168.1.0을 가지는 A회사에 177대의 컴퓨터가 있다. 177대 컴퓨터를 1층에 58대, 2층에 59대, 3층에 60대씩 배치할 때 3개의 부서에 대한 서브넷을 구성하려고 한다. 서브넷 분할 후 각 부서의 네트워크 주소, 브로드 캐스트 주소, 라우터 주소, 사용 가능한 호스트 주소 범위를 각각 구하시오.
문제에서 서브넷 마스크가 주어지지 않았지만, IP 주소 앞단을 보고 C클래스인 것을 확인 가능하다
192.168.1.0/24 로 판단하고 서브넷팅 수행한다.
현재 하나의 네트워크에서, 서브넷 3개로 나누려면 host ID 에서 최소 2bit를 Netword ID로 사용해야 한다 (2^2 > 3)
고로 해당 건물의 서브넷 마스크는 255.255.255.192 이고, 각 서브넷별 64개의 IP 주소를 가진다.
① 1층: 58대
- 서브넷 마스크 : 255.255.255.192 (1100 0000)
- 네트워크 주소 : 192.168.1.0 (0000 0000)
- 라우터 주소 : 192.168.1.1
- 사용가능한 host IP 주소 범위 : 192.168.1.2 ~ 192.168.1.62
- 브로드 캐스트 주소 : 192.168.1.63 (0011 1111)
② 2층: 59대
- 서브넷 마스크 : 255.255.255.192 (1100 0000)
- 네트워크 주소 : 192.168.1.64 (0100 0000)
- 라우터 주소 : 192.168.1.65
- 사용가능한 host IP 주소 범위 : 192.168.1.66 ~ 192.168.1.126
- 브로드 캐스트 주소 : 192.168.1.127 (0111 1111)
③ 3층: 60대
- 서브넷 마스크 : 255.255.255.192 (1100 0000)
- 네트워크 주소 : 192.168.1.128 (1000 0000)
- 라우터 주소 : 192.168.1.129
- 사용가능한 host IP 주소 범위 : 192.168.1.130 ~ 192.168.1.190
- 브로드 캐스트 주소 : 192.168.1.191 (1011 11111)
눈치가 빠른 분이라면 각 서브넷별 앞자리 비트가 00, 01, 10, 11 로 변경된다는 것을 파악 가능할 것입니다.
참고. 서브넷의 라우터 주소?
와이파이 공유기/모뎀 같은 물리적인 라우터가 있을 때, 논리적인 라우터 주소에 대해서도 물리적인 라우터(와이파이 공유기)가 라우팅 테이블 관리하여 서브넷간 통신시 라우팅 처리 해준다고 이해
문제3) 공인IP주소 201.222.5.0 (255.255.255.0) 일때 다음 조건에 맞는 서브넷 마스크를 구하시오.
조건1) 총 서브넷 수 : 20개
조건2) 서브넷당 호스트 수 : 5개
- C클래스이고, 문제에서 주어진 서브넷 마스크에서 끝자리가 0으로 보아 하나의 네트워크 상태로 파악됨 (0~255)
- 총 서브넷을 20개로 나누기 위해서는 현재 host id 에서 최소 5bit를 사용해야 서브넷팅 가능하고, 남은 3bit가 서브넷별 host ip 개수를 나타낸다.
서브넷 마스크 (클래스 표기법): 255.255.255.1111 1000
해석해보면 서브넷이 2^5 = 32개로 나눠지고, 서브넷별 host ip는 2^3 = 8개 가짐 (이때 네트워크, 브로드 캐스트 주소 2개 빼면 실질적으로 6개 사용가능)
그러므로.
답. 201.222.5.0/29 또는 255.255.255.248
문제4) IP주소가 128.110.121.32/24 일 때 네트워크 주소와 브로드 캐스트 주소는?
Tip.
- network id를 먼저 구한다.
- 해당 서브넷의 network id는 IP주소와 서브넷 마스크의 AND 연산으로 구할 수 있다.
- 서브넷 마스크를 클래스 표기법으로 나타내면 255.255.255.0 이고, IP주소는 128.*을 봤을 때 B클래스 파악 가능
- 현재 서브넷은 2^8 = 256 분할 되어 있고, 각 서브넷은 2^8 = 256개의 host ip 를 가진다
① 네트워크 주소 -- AND 연산 수행
128.110.121.32
255.255.255.0
-----------------------
128.110.121.0 -- 해당 서브넷의 네트워크 주소
② 브로드 캐스트 주소
서브넷 마스크를 통해 각 서브넷별 host ip를 256개 가질 수 있다는 것을 알기 때문에
해당 서브넷의 브로드 캐스트 주소는 128.110.121.255인 것을 알 수 있다.
문제5) 클래스 B주소를 가지고 서브넷 마스크 255.255.255.240으로 서브넷을 만들 때 서브넷 수와 호스트 수를 구하라.
B클래스의 기본 서브넷 마스크는 255.255.0.0 , 이때 host ip 개수는 2^16 = 65536
① 서브넷 수
B클래스 기본 host id 16bit 중 12개를 network id로 사용했으므로 2^12개의 서브넷이 만들어짐
답. 2^12 = 4096개
② 호스트 수
- 남은 4bit (0부분)가 host id에 해당
- 2^4 = 16개 중 서브넷 별 네트워크 주소와 브로드 캐스트 주소 2개를 뺀 14개가 정답이다
답. 14개
문제6) IP주소가 192.168.1.0/24이고, 1층에 120대, 2층에 60대, 3층에 14대 컴퓨터 설치시 서브넷을 구성하고, 각 층별 서브넷 마스크, 네트워크주소, 브로드 캐스트 주소, 라우터 주소, 그리고 사용가능한 host 주소 범위를 구하시오
우선선적으로 설치하는 컴퓨터 개수가 가장 큰 것부터 서브넷 처리를 하도록 한다.
① 1층의 경우 120대가 필요하므로 최소 host id 의 bit 수는 7bit 가 필요하다 (2^7 = 128)
- 서브넷 마스크 : 255.255.255.128
- 네트워크 주소 : 192.168.1.0
- 라우터 주소 : 192.168.1.1
- 사용가능한 host 주소 범위 : 192.168.1.2 ~ 192.168.1.126
- 브로드 캐스트 주소 : 192.168.1.127
② 2층의 경우 60대만 필요하므로, 현재 ip 절반이 남은 상태에서 한번 더 서브넷팅 수행한다.
- 서브넷 마스크 : 255.255.255.192
- 네트워크 주소 : 192.168.1.128
- 라우터 주소 : 192.168.1.129
- 사용가능한 host 주소 범위 : 192.168.1.130 ~ 192.168.1.190
- 브로드 캐스트 주소 : 192.168.1.191
③ 3층의 경우 14대만 필요한데, 남은 영역은 64개이므로 이것도 서브넷팅 수행한다.
- 서브넷 마스크 : 255.255.255.224
- 네트워크 주소 : 192.168.1.192
- 라우터 주소 : 192.168.1.193
- 사용가능한 host 주소 범위 : 192.168.1.194 ~ 192.168.1.222
- 브로드 캐스트 주소 : 192.168.1.223
참고
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/ipv6Info.jsp
'공부 > CS' 카테고리의 다른 글
[네트워크] 얕게 Wireshark 로 TCP, TLSv1.3 연결 확인해보기 (with ChatGPT) (0) | 2024.05.25 |
---|---|
[네트워크] 대칭키, 비대칭키 그리고 Https (0) | 2021.11.21 |
[네트워크] Http Method 와 Http Status Code (0) | 2021.11.12 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!