2024. 5. 23. 15:58ㆍCS/네트워크
참고 자료 : 널널한 개발자님의 외워서 끝내는 네트워크 핵심이론 - 기초
IP주소와 Net-mask
IP주소는 Host에 대한 식별자이다.
비유를 하자면 대한민국의 행정체계가 있다고 생각하자. 이 행정체계가 네트워크이다. 대한민국 내에는 수많은 개인들이 살고 있다. 이들을 식별하기 위한 주민등록번호가 있는데 각각의 개인을 Host, 식별번호를 IP주소라고 생각하면 된다.
IP주소에는 IPv4와 IPv6가 있으며 이 둘의 차이점은 주소길이에 있다. 여기서는 32bit IPv4에 대해서 설명한다.
IPv4는 32bit 주소체계를 가지고 있기 때문에 2^32승인 대략 약 43억정도의 Host를 식별할 수 있다. 하지만 인터넷 세상에서 모든 Host를 식별하기에는 턱없이 부족한 숫자이다. 이를 해결하기 위해 네트워크를 쪼개어 보다 작은 네트워크로 관리함으로써 네트워크를 조직화하고 관리할 수 있다. 이때 필요한 것이 바로 서브넷 마스크이다.
네트워크의 접속과정을 단순하게 표현해보자. IP주소를 가지고 네트워크에 접속하려고 하면 해당 네트워크에서 같은 네트워크ID인지 확인한다. 그런데 달랑 IP주소만 가지고 가면 IP주소 중 어디까지가 네트워크ID인지를 확인할 수 없다.
그래서 서브넷 마스크 정보도 같이 표기하는 것이다. IP주소에서 네트워크ID의 길이를 나타내는 것이 서브넷 마스크이다.
네트워크ID와 호스트ID를 분리하는 것이라고 생각해도 된다.
cmd의 ipconfig를 입력하면 IP주소와 서브넷 마스크 정보를 얻을 수 있다.
그렇다면 해당 예시를 바탕으로 어떻게 서브넷 마스크를 통해 네트워크ID의 길이를 구할 수 있는지 확인해보자.
IP주소와 서브넷 마스크를 2진법으로 표기하면 아래 그림과 같다.
그리고 각 비트들을 AND연산한다. 이 때 AND연산한 값이 기존의 IP주소와 같은 부분이 바로 네트워크ID가 되는 것이다. 그리고 그 외에 부분은 호스트ID가 된다. 아래 그림에서는 24bit를 네트워크ID로 사용하겠다는 것이며 이것을 클래스 표기법으로는 C클래스가 된다. 만약 16bit를 네트워크ID로 사용하겠다고 서브넷 마스크를 지정하면 255.255.0.0 이렇게 될 것이며 이때는 B클래스이다.
하지만 요즘에는 CIDR을 사용해서 표기한다. CIDR은 Classless Inter-Domain Routing의 약자로 다음과 같이 표기한다.
192.168.35.25/24
여기서 슬래쉬 뒤에 있는 24라는 숫자는 24bit까지 네트워크ID로 사용하겠다는 의미이다. 이렇게 작성하는 것이 가독성이 더 좋고, 최근에는 비트연산을 하지 않고 슬래쉬 뒤의 숫자만큼 잘라 관계연산을 사용하기도 한다.
그 외 호스트ID의 영역을 더 잘라서 네트워크ID로 사용하는 서브넷팅도 있는데 수업 때 자세히 언급하지는 않았다. 참고로 알아두자.
참고자료 : https://hasensprung.tistory.com/11
그렇다면 C Class IP주소 192.168.3.150\26이라는 IP가 있을 때, 네트워크 영역의 범위는 어떻게 되는가?
우선 서브넷 마스크는 C Class IP 주소이기 때문에 다음과 같이 구성된다.
1111 1111 . 1111 1111 . 1111 . 1111 . 0000 0000
그런데 CIDR로 26이라고 되어있기 때문에 뒤에 2비트를 더 사용하겠다는 의미이다.
1111 1111 . 1111 1111 . 1111 . 1111 . 1100 0000
255 . 255 .255 . 192
따라서 192.168.3.128 ~ 192.168.3.191까지 네트워크 주소를 사용할 수 있다는 것이다.
여기서 브로드캐스트주소는 192.168.3.191이 된다.
'CS > 네트워크' 카테고리의 다른 글
L3 ▶ TTL과 단편화 (0) | 2024.05.24 |
---|---|
L3 ▶ 특별한 IP 주소 (Broadcast IP Address, Loop back Address) (0) | 2024.05.24 |
L3 ▶ IPv4 Header 형식 (0) | 2024.05.23 |
✨중요✨ TCP/IP 송수신 구조 (0) | 2024.05.22 |
L3 ▶ IPv4 기본구조와 L3 Packet, Encapsulation과 Decapsulation (0) | 2024.05.22 |