[Network] IPV4

Oayenn·2023년 1월 28일
0

네트워크

목록 보기
3/7
post-thumbnail

네트워크 공부를 시작한 지 얼마 되지 않긴 했지만, 그럼에도 항상 느끼는 것이 있다. 실생활과 매우 밀접한 전공이라는 점!
오늘 공부한 IP가 특히나 그렇다. 종종 들어 익숙해진 개념에 대해 깊숙이 배우니 더 흥미롭다.

🔦 본 포스트는 유튜브 널널한 개발자 강의를 기반으로 함을 알립니다.

1. IP 주소

  • Internet Protocol.
  • Host에 대한 식별자. 사람에 비유하자면 주민등록번호에 해당한다.

IPv4와 IPv6

IP 주소에는 현재 IPv4, IPv6의 두 가지 버전이 있다. 가장 큰 차이는 주소의 길이로, IPv4는 32bit 주소 체계를 사용하며 IPv6는 128bit 주소 체계를 사용한다.
결과적으로 IPv4는 2의 32제곱의 경우의 수를 가지게 된다.

→ 인터넷에 참여할 수 있는 Host의 개수는 약 43억 개가 된다. 그러나, 전 세계의 컴퓨터는 43억 개를 훨씬 능가한다.

🔎 사람들은 대안책으로 어떤 방법을 내놓았을까?


2. IPv4

IP 주소 확인하기

PC에서 cmd 창을 열어 ipconfig 명령어를 입력하면 IP주소를 확인할 수 있다.


IPv4의 구성

'.'으로 구분된 한 마디 내에서 나올 수 있는 수의 범위는 0~255이다. 총 256개이므로 이는 2의 8제곱, 즉 8bit가 된다.
8bit가 네 마디 있으므로 IPv4는 32bit이다(2의 32제곱).

💡 IP주소는 8bit씩 끊어서 표시한다는 점을 기억하자.

IP 주소는 다음과 같이 두 부분으로 나누어 볼 수도 있다.

  • 전자는 Network ID, 후자는 Host ID 라고 부른다.
    정리하자면 IPv4 주소는 Network ID와 Host ID로 나뉘는 것이다.
  • Network ID의 길이는? 24bit
    👉🏻 8bit가 세 마디이므로 24bit이다. 그렇다면 자연스럽게 Host ID의 길이는 32-24=8bit가 된다. 이 때 Network ID의 길이가 얼마인지를 나타내는 것이 Net mask 이다.

3. Subnet mask

ipconfig 명령어를 사용하면 IP 주소 뿐만 아니라 Subnet mask (서브넷 마스크)도 알 수 있다.

본 PC의 서브넷 마스크는 255.255.255.0 으로 확인되었다.

🔎 이 때, 이상한 점을 발견할 수 있다.
IP 주소인 172.30.1.59는 B클래스인데, B클래스의 기본 서브넷 마스크인 255.255.0.0을 사용하지 않고 C클래스의 기본 서브넷 마스크를 사용하고 있다. 이는 서브네팅과 관련이 있다. 서브네팅에 대해 설명한 링크를 첨부하였다.


Network ID

255는 0xFF이고 이진수로는 1111 1111로 표기한다. 따라서 IP 주소의 첫 번째 옥텟과 서브넷 마스크의 첫 옥텟을 논리 AND 연산하면 본래의 IP 주소와 동일한 값이 나온다.

1010 1100
1111 1111
-> 1010 1100

IP 주소의 마지막 옥텟과 서브넷 마스크의 마지막 옥텟을 논리 AND 연산하면 다음과 같이 항상 0이 나오게 된다.

0011 1011
0000 0000
-> 0000 0000

결과적으로, IP 주소와 서브넷 마스크를 논리 AND 연산하면 Network ID를 얻을 수 있다.

172.30.1.59
255.255.255.0
-> 172.30.1.0 = Network ID

💡서브넷 마스크를 172.30.1.59/24 처럼 표기하기도 한다.
/24 라는 표현은 1이 24개가 있다는 뜻이다. 1은 네트워크 영역으로 사용한다는 것이며 0은 호스트 IP로 사용하겠다는 것이다. 즉, 사용자에게 0이 표현된 부분만 호스트 IP를 할당할 수 있게 만들겠다는 의미이다.
-> Host ID가 8bit이며 Network ID가 24bit라는 것을 알 수 있다.



개념 정리

✍🏻 옥텟

  • octet.
  • 컴퓨팅에서 8개의 비트가 한데 모인 것을 말한다. 하나의 십진수는 여덟 자리의 이진수로 표현할 수 있고, 이를 옥텟이라고 부른다. 옥텟은 '.'으로 구분한다. IP 주소는 4개의 옥텟으로 구성되어 있다고 할 수 있다.


Reference

https://limkydev.tistory.com/166
https://limkydev.tistory.com/167
https://limkydev.tistory.com/168

profile
차근차근 쌓아올리기

0개의 댓글