2 분 소요

❄️ David Malan 교수의 컴퓨터 과학 교양 강좌: CS50을 바탕으로 정리한 내용입니다.


인터넷 프로토콜은 인터넷의 정보들이 어떻게 전송되는지를 정의하기 위한 규칙들입니다.
프로토콜이란, 규칙들의 집합을 말합니다.
인터넷 프로토콜 중 일부는 인터넷 상에 있는 각 장치에 대해 IP 주소를 할당해주는 것과 관련 있습니다.

IP 주소는 인터넷 상의 장치들을 식별할 수 있게끔 해줍니다.
IP(인터넷 프로토콜)는 여러 버전을 거쳐 왔으며, 가장 최근 버전은 IPv6로 기존의 IPv4 프로토콜을 대체하기 위한 것입니다.

IPv4 주소와 IPv6 주소

스크린샷 2023-06-25 오후 3 10 03

IPv4 시스템에서 IP 주소는 마침표로 구분된 4개의 10진수로 구성됩니다.

각 숫자는 0부터 255까지의 10진수입니다. (8bit 공간)
결과적으로 IPv4 주소는 32bit이며, 최대 2^32개의 주소가 존재할 수 있습니다. 이는 약 43억 개의 주소입니다.

그러나 인터넷이 발달하면서, 43억 개의 주소로는 인터넷에 연결하려는 모든 장치들을 더 이상 수용할 수 없게 되었습니다.
그 결과, 사용 가능한 IP 주소를 늘리기 위해 IPv6 표준이 개발되었습니다.

IPv6 시스템에서 IP 주소는 콜론으로 구분된 8개의 숫자로 구성됩니다.

각 숫자는 16bit 숫자입니다.
각 숫자를 10진수로 표현하지 않고, 16bit 숫자를 0000부터 ffff까지의 16진수로 표현했습니다.

각각 16bit 정보를 갖고 있는 8개의 숫자로 구성되므로, 각 IPv6 주소는 128bit를 저장하며,
이는 340 * 10억 * 10억 * 10억 * 10억 개보다도 더 많은 IP 주소를 만들 수 있습니다.

IPv6가 표현할 수 있는 주소는 현재 쓰이는 주소들의 개수보다 훨씬 더 많기 때문에,
많은 IPv6 주소들은 8개의 구성 숫자들 사이에 0들을 포함하고 있습니다.

축약해서 쓰는 경우, IPv6 주소는 16진수 앞에 오는 0들을 생략하고 0이 연속으로 오게되면 그것들을 생략하면서 ::을 씁니다.
예를 들어, IPv6 주소 28aa:0000:0000:0000:0000:0000:0018:a5b2는,
앞의 0들을 생략하고 연속으로 오는 0들을 ::으로 대체하여 28aa::18:a5b2로 축약할 수 있습니다.
축약할 때 각 주소마다 ::은 하나만 있어야 합니다.

사설 IP 주소

인터넷 상의 모든 IP 주소들이 다 접근 가능한 것은 아닙니다.

사설 IP 주소라고 알려진 어떤 주소들은 특정 로컬 네트워크 내에서 사용되도록 따로 떼어놓습니다.

로컬 네트워크에 있는 컴퓨터들은 사설 IP 주소를 이용하여 다른 컴퓨터와 통신할 수 있지만, 이 네트워크 밖에 있는 컴퓨터들이 접근할 수는 없습니다.
보통 사설 IP 주소를 갖는 장치들은 공인 IP 주소를 공유합니다.
이렇게 하면 IPv4 표준에서 필요한 공용 IP 주소의 개수를 줄일 수 있습니다.

10.#.#.#, 172.16.#.# - 172.131.#.#, 192.168.#.#의 형태를 가진 주소들은 사설 IP 주소로 쓰기 위해 따로 떼어놓은 것입니다.

IP 주소 127.0.0.1은 다른 당치에 연결하는 것이 아니라, 사용자가 현재 사용하고 있는 장치에 연결하는 주소입니다.
이러한 이유로, 이 주소를 로컬호스트(localhost)라고 부릅니다.

✍️ 정리

  • IPv4
    • 마침표로 구분된 4개의 숫자
    • 각 숫자는 8bit 정보를 갖는다 -> 4 * 8bit = 32bit
    • 각 숫자는 0 ~ 255의 10진수
    • 최대 2^32개의 IP 주소를 만들 수 있다 (약 43억 개)
  • IPv6
    • 콜론으로 구분된 8개의 숫자
    • 각 숫자는 16bit 정보를 갖는다 -> 8 * 16bit = 128bit
    • 각 숫자는 0000 ~ ffff의 16진수
    • 340 * 10억 * 10억 * 10억 * 10억 개보다도 더 많은 IP 주소를 만들 수 있다


💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기

태그:

카테고리:

업데이트: