IPv4
- 컴퓨터가 네트워크에서 서로를 식별하기 위한 주소
- IPv4는 32비트로 구성된 IP 주소 체계
- 192.168.0.1 같은 IP는 실제로는 32개의 0과 로 구성된 2진수
서브넷마스크와 비트마스킹
- 서브넷 마스크는 IP 주소를 네트워크 영역과 호스트 영역으로 나누는데 사용
- 1로 되어 있는 부분이 네트워크 주소를 의미, 나머지 0은 호스트 식별자를 의미한다.
- 비트마스킹을 통해 네트워크 주소와 브로트 캐스트 주소 등을 계산할 수 있음.
- 하나의 네트워크를 여러 개의 작은 네트워크로 나누기 위해 사용
- 예를 들어, 192.168.1.0/24 서브넷은 192.168.1.1 ~ 192.168.1.254까지 254개의 호스트를 사용할 수 있다.
IP 주소: 192.168.1.10 → 11000000.10101000.00000001.00001010
서브넷 마스크: 255.255.255.0 → 11111111.11111111.11111111.00000000
네트워크 주소: IP & 서브넷 마스크
- 네트워크 전체를 대표하는 주소
11000000.10101000.00000001.00001010 (IP)
AND
11111111.11111111.11111111.00000000 (서브넷 마스크)
=
11000000.10101000.00000001.00000000 → 192.168.1.0 (네트워크 주소)
브로드캐스트 주소
- 브로드캐스트 주소는 네트워크 안의 모든 호스트에게 동시에 메시지를 보낼 때 사용하는 주소
- 같은 네트워크 안의 모든 컴퓨터에게 공지사항이나 DHCP 요청 등을 보낼 떄 필요하다
broadcast = ip | ~subnetMask
DHCP 요청이란?
브로드캐스트 주소에서의 DHCP 요청은 IP 주소를 자동으로 할당받기 위해 클라이언트가 네트워크 상의 모든 장치에 보내는 요청입니다. 이는 클라이언트가 아직 자신에게 할당된 IP 주소가 없기 때문에 특정 장치로 직접 연결할 수 없어 브로드캐스트 방식으로 요청을 보내는 것입니다.
DHCP(Dynamic Host Configuration Protocol) 과정에서 클라이언트는 DHCP Discover 메시지를 브로드캐스트로 전송합니다. 이 메시지는 네트워크에 있는 모든 DHCP 서버가 수신할 수 있으며, 서버는 이에 대해 DHCP Offer로 응답합니다. 이후 클라이언트는 원하는 IP를 요청(DHCP Request)하고, 서버가 이를 승인하면(DHCP Acknowledgment), IP 주소가 할당됩니다.
이 과정이 브로드캐스트를 사용하는 이유는 클라이언트가 초기에는 네트워크 상의 서버 위치를 모르기 때문입니다.
비트마스킹을 사용하는 이유
빠른 계산 | 비트 연산은 CPU에서 가장 빠른 연산 중 하나로, IP 계산에 매우 적합합니다. |
범위 판단 | 어떤 IP가 특정 네트워크에 속하는지 판단할 때, 비트마스킹으로 쉽게 확인할 수 있습니다. |
필터링 | 방화벽, 라우팅, NAT 등에서 주소 필터링이나 범위 지정에 사용됩니다. |
이렇게 네트워크를 나누는 이유는 뭘까?
1. IP 낭비 방지
-> 큰 네트워크를 작은 단위로 나눠서 효율적으로 IP를 할당할 수 있음.
2. 보안/관리 편리
-> 부서마다 네트워크를 나눠 놓으면 트래픽 제어, 접근 통제 등이 쉬워짐.
3. 브로드캐스트 제한
-> 서브넷이 커지면 브로드캐스트 트래픽이 많아져 네트워크가 느려질 수 있음. 서브넷을 나누면 트래픽이 분산됨.
CIDR 표기법
- CIDR(사설망 포함 모든 네트워크에서 사용)은 IP 주소 뒤에 / 숫자를 붙여서 네트워크 부분의 비트 수를 나타내는 방식
- 192.168.1.0/24 → 앞 24비트는 네트워크, 나머지 8비트는 호스트
- 192.168.1.0/28 → 앞 28비트는 네트워크, 뒤 4비트는 호스트
기존의 클래스 기반 네트워크 (Class A/B/C)는 고정된 크기의 네트워크만 가능했다.
- Class C는 항상 /24, 즉 254개의 호스트만 가능
- 그러나 이렇게 하면 IP 낭비가 심하게 된다. -> 따라서 CIDR 방식은 유연하게 서브넷을 나눌 수 있도록 만듦.