- TCP/IP 프로토콜을 사용하는 장비들을 구분해주기 위해 만든 것이 바로 IP address.
- IP는 논리적 주소
(주소가 같은 다른 장비가 존재한다면 IP 주소가 서로 충돌)- IP address는 네트워크 부분과 호스트 부분으로 구성.
(IP address = Network ID + Host ID- 하나의 네트워크란 하나의 Broadcast Domain.
- 하나의 네트워크란 L3 장비(Router)를 거치지 않고 통신이 가능한 영역.
- 다른 네트워크와 통신하기 위해서는 Router를 거쳐야 함.
- 동일 네트워크에서는 Network 부분은 모두 같고 Host부분이 모두 달라야 한다.
- IP주소를 Network와 Host부분으로 구분해주는 역할을 해주는 것이 Subnet mask 이다.
IPv4
- 32bit로 구성
- 8bit씩 나눠서 4개의 Octet로 구분 (8bit.8bit.8bit.8bit)
- 각 Octet을 10진수로 변환해서 표현한다.
ex)11000000.10101000.00001100.00000001 -> 192.168.12.1- 사용 가능한 IPv4 주소 = 2^32(4,294,967,296개)(약 49억 9천 개)(0.0.0.0 ~ 255.255.255.255)
- 최근에는 IP주소가 부족해서 IPv6(128bit)라는 새로운 128비트 체계의 무제한 인터넷 프로토콜이 나왔다.
- IP 주소에서 네트워크 ID 부분과 호스트 ID 부분을 구분하여 주는 비트열
- 사람의 얼굴을 가리는 마스크처럼, IP주소에서 호스트 ID 부분을 가리고 네트워크 ID 부분만 추출
Subnet Mask 구조
- 서브넷 마스크는 IP 주소와 동일한 32비트 크기를 가지며, 표기 또한 십진표기법을 이용하여 4개의 옥텟을 점으로 구분하여 표현함
조건 - 0과 1이 번갈아 존재할 수 없음(연속된 1과 연속된 0만이 존재 가능)
반드시 연속된 1이 연속된 0보다 먼저 존재 해야 함- 서브넷 마스크는 IP주소와 "AND연산"을 수행하여, 호스트 ID 부분은 비트 0과 AND연산을 통해 가리고(마스킹), 네트워크 ID 부분은 비트 1과의 AND 연산을 통해 추출함
A클래스의 기본 서브넷 마스크
네트워크 ID : 8비트
호스트 ID : 24비트B클래스의 기본 서브넷 마스크
네트워크 ID : 16비트
호스트 ID : 16비트C클래스의 기본 서브넷 마스크
네트워크 ID : 24비트
호스트 ID : 8비트
32비트의 서브넷 마스크를 모두 표기하는 것 대신에, 네트워크 ID의 길이만을 IP 주소의 끝 부분에 슬래쉬(' / ')와 함께 표기하는 방식