IP 주소
네트워크 주소와 호스트 주소
IP 주소는 네트워크 주소와 호스트 주소로 이루어짐
- 네트워크 주소: 호스트가 속한 특정 네트워크를 식별
- 호스트 주소: 네트워크 내에서 특정 호스트를 식별
IP 주소 구분 범위
네트워크 주소와 호스트 주소를 구분하는 범위는 유동적
적당한 범위를 지정해서 호스트가 사용할 IP 주소를 할당해야 하는데, 이를 위해 필요한 것이 IP 주소의 클래스(class)
- 호스트 주소 공간을 크게 할당하면 호스트가 할당하지 않은 다수의 IP 주소가 낭비될 수 있음
- 반대로 호스트 주소 공간을 작게 할당하면 호스트가 사용할 IP 주소가 부족할 수 있음
클래스풀 주소 체계
- 클래스풀 주소 체계(classful addressing): 클래스를 기반으로 IP 주소를 관리하는 주소 체계
- 클래스(class): 네트워크 크기에 따라 IP 주소를 분류하는 기준
- 클래스를 이용하여 필요한 호스트 IP 주소에 따라 네트워크 크기를 유동적으로 조정하여, 네트워크 주소와 호스트 주소의 구획을 나눔
- 클래스는 A클래스, B클래스, C클래스, D클래스, E클래스가 있음
- D,E 클래스는 멀티캐스트 및 특수 목적을 위해 예약된 클래스
- 실질적으로 사용되는 것은 A,B,C 클래스
A 클래스
- 네트워크 주소는 비트 0으로 시작하고, 1옥텟으로 구성, 2^7(128)개 가질 수 있음
- 호스트 주소는 3옥텟으로 구성, 2^24(16777216)개 가질 수 있음
- IP 주소의 최소값 0.0.0.0, 최대값 127.255.255.255
- 처음 옥텟 주소가 0~127인 경우 A 클래스
- B,C 클래스에 비해 할당 가능한 호스트 주소의 수가 많음
B 클래스
- 네트워크 주소는 비트 10으로 시작하고, 2옥텟으로 구성, 2^14(16,384)개 가질 수 있음
- 호스트 주소는 2옥텟으로 구성, 2^16(65,534)개 가질 수 있음
- IP 주소의 최소값 128.0.0.0, 최대값 191.255.255.255
- 처음 옥텟 주소가 128~191인 경우 B클래스
C 클래스
- 네트워크 주소는 비트 110으로 시작하고, 3옥텟으로 구성, 2^21(2,097,152)개 가질 수 있음
- 호스트 주소는 1옥텟으로 구성, 2^8(256)개 가질 수 있음
- IP 주소의 최소값 192.0.0.0, 최대값 223.255.255.255
- 처음 옥텟 주소가 192~223인 경우 C클래스 주소
사용 가능한 IP주소
호스트의 주소 공간을 모두 사용할 수 있는 것은 아님, 실제 호스트가 사용 가능한 IP 주소는 2개를 제외한 주소
- 호스트 주소가 전부 0인 IP 주소는 해당 네트워크 자체를 의미하는 네트워크 주소로 사용
- 호스트 주소가 전부 1인 IP주소는 브로드캐스트를 위한 주소로 사용
할당 가능한 네트워크와 호스트의 수
클래스풀 주소 체계의 문제점
클래스풀 주소 체계를 이용하면, 클래스별 네트워크의 크기가 고정되어 있기 때문에 다수의 IP 주소가 낭비될 수 있다는 문제가 있음
- 300개의 호스트를 동일 네트워크로 구성한다고 할 때, C클래스 주소에서 할당 가능한 IP주소는 254개이므로 B클래스 주소를 사용해야 되는데, B클래스 네트워크에 할당 가능한 호스트 IP 주소는 65,534개로 6만개 이상의 IP주소가 낭비됨
클래스리스 주소 체계
- 클래스리스 주소 체계(classless addressing): 클래스 개념 없이 서브넷 마스크를 활용하여 네트워크 주소와 호스트 주소를 구분하는 IP 주소 체계
- 오늘날에 주로 사용되는 방식
- IP 주소 낭비 문제를 해결
서브넷 마스크
IP 주소에서 네트워크 주소와 호스트 주소를 구분하는 비트열
- IP 주소에서 네트워크 주소는 1, 호스트 주소는 0으로 표기하여 구분
- 서브네팅(subnetting): 서브넷 마스크를 활용하여 클래스를 원하는 크기로 쪼개 사용하는 것
A,B,C 클래스의 기본 서브넷 마스크는 다음과 같음
- A 클래스: 255.0.0.0(11111111.00000000.00000000.00000000)
- B 클래스: 255.255.0.0(11111111.11111111.00000000.00000000)
- C 클래스: 255.255.255.0(11111111.11111111.11111111.00000000)
서브네팅: 비트 AND 연산
IP 주소와 서브넷 마스크를 비트 AND 연산하여, 네트워크 주소와 호스트 주소를 구분 지음
서브넷 마크 표기: CIDR 표기법
서브넷 마스크를 표기하는 방법은 두 가지
- 서브넷 마스크를 ‘255.255.255.0’과 같이 10진수로 직접 표현
- [IP주소]/[서브넷 마스크상의 1의 개수] 형식으로 표기
CIDR 표기법: [IP주소]/[서브넷 마스크상의 1의 개수] 형식으로 표기하는 방식
- 예시로 C 클래스의 기본 서브넷 마스크는 11111111.11111111.11111111.00000000으로 1이 총 24개이므로, [IP주소]/24로 표기
참고:
혼자 공부하는 네트워크 - 예스24
혼자 해도 충분하다!1:1 과외하듯 배우는 네트워크 자습서『혼자 공부하는 네트워크』는 개발자의 필수 지식인 네트워크를 기본부터 제대로 학습할 수 있도록 돕는 입문서이다. 다수의 네트워
www.yes24.com
https://lailael-dev.tistory.com/entry/혼자-공부하는-네트워크-Chapter-3-2-IP-주소
'CS > Network' 카테고리의 다른 글
[Network] 라우팅 (0) | 2024.11.07 |
---|---|
[Network] 공인/사설 IP 주소, 동적/정적 할당, DHCP (0) | 2024.11.04 |
[Network] IP, IPv4, IPv6, ARP (0) | 2024.10.31 |
[Network] 스위치 (0) | 2024.10.29 |
[Network] 허브 (1) | 2024.10.28 |