IP 프로토콜의 구조적 이해: 주소체계와 패킷 통신

ssini·2024년 12월 17일

IP(Internet Protocol)란

IP란 OSI 모델 3계층인 네트워크 계층에서 동작하는 프로토콜이다.
IP는 주소 체계와 전송 규칙을 맡고 있는데, 여기서 사용되는 주요한 개념으로 IP 주소, 패킷, 라우터가 있다.


IP 주소

IP 주소는 네트워크 상에서 특정 장치(호스트)를 구분하기 위한 고유한 주소이다.
예를 들어, 택배를 보면 집 주소가 없으면 배달을 할 수가 없는 것과 같다고 볼 수 있다.

IP 주소의 2가지 체계

  1. IPv4 (옛날 집주소)
    • 32비트로 이루어져 있다.
    • 8비트씩 총 4부분으로 이루어져 있다. (예. 192.168.0.1)
      • 이때, 8비트 한 묶음을 옥텟이라고 한다.
  2. IPv6 (현재 도로명 주소)
    • 128비트로 이루어져 있다.
    • 약 340조의 IP주소를 생성할 수 있다. (사실상 무한대에 가깝다...)
      • => IPv4의 주소 부족 문제를 해결하기 위해 도입되었다.

IP 주소 분류

IP 주소는 네트워크 부분호스트 부분으로 나뉜다.
이전에는 이런 부분을 클래스풀 방식으로 나누곤 했으나, 현재는 클래스리스 방식인 서브넷 마스크방식을 활용하여 유연하게 구분한다.

  • 223.130.195.0 이라는 IP주소가 있을 시,
    • 앞의 3개의 옥탯을 네트워크 부분이라 부르고,
    • 맨 마지막 1개 옥텟을 호스트 부분이라고 부른다.
    • 맨마지막 옥텟 "0"은 -> 대표 네트워크임을 나타낸다.
    • 호스트는 "1~254"까지로 나타낼 수 있고, "255"는 브로드캐스트 주소임을 나타낸다.
  • 마지막 옥텟은 호스트 부분을 나타낸다더니,,,1~254까지만 나타낸다는 것은 뭔말이냐???
    • 0은 해당 네트워크 주소가 대표 네트워크 주소임을 나타낸다.
    • 223.130.195.x 에 포함된 모든 주소의 대표라고 보면된다. (223.130.195.0 이 대빵임.)
    • 쉽게 말해 223.130.195.0 은 새마을 아파트고, 223.130.195.1~254는 아파트의 호수라고 보면 된다.
  • 그러면 255는 뭐냐???
    • 255는 브로드캐스트 주소로 예약되어 있는 숫자다.
    • 브로드캐스트란 대표 네트워크 하위의 네트워크에게 단체로 데이터를 전송할 때 쓰인다.

서브넷 마스크

위에서 잠깐 언급한 것과 같이 서브넷 마스크는 클래스리스 방식으로 네트워크와 호스트를 유연하게 구분하는 방식이다.

  • IP주소와 같이 32비트로 구성되어 있다.
  • 호스트 주소를 얼마나 정의할지에 따라서 다양하게 구성이 가능하다.
  • 10진수인 IP를 2진수로 변경했을 때, 11111111.11111111.11111111.00000000 <= 대강 이런 형태가 되는데, 1이 연속적으로 표현되는 부분이 네트워크 부분이고, 0으로 연속적으로 표현되는 부분이 호스트 부분이다.
  • 현재에는 해당 표현 방식이 불편하기 때문에 CIDR 표기법으로 표시한다.
    • /24 -> 255.255.255.0 (일반적인 가정용 네트워크)
    • /25 -> 255.255.255.128
    • 표기법 : IP 주소 / 네트워크 비트 수 (예. 223.130.195.200/24)

패킷

IP는 데이터를 목적지로 전달하기 위해 전달할 데이터를 패킷(택배 상자)이라는 단위로 나눈다. 패킷에는 출발지와 도착지(IP 주소)가 포함되어 있어 패킷이 어디에 도착해야 하는지 설정해준다.

  • 데이터를 잘게 쪼갠다. (패킷)
  • 잘게 쪼갠 데이터에 출발지와 도착지 송장을 붙인다.
  • 라우터 (택배 기사)가 도착지(IP주소)에 데이터를 전달한다.
  • 잘게 쪼개진 데이터들은 도착지에서 다시 합쳐진다.

라우터

이전 글에서도 몇번 다뤘으나, 이어지는 개념이기에 개념 정리 겸 다시 한번 등장하는 라우터 이다.
라우터는 OSI 모델 3게층인 네트워크 계층에서 동작하는 장비이다.

  • 라우터는 데이터가 목적지 IP까지 도달하기 위한 최적의 경로를 설정하고 전달해준다.
  • 이러한 행위 자체를 라우팅이라고 한다.
  • 라우팅은 정적 라우팅동적 라우팅 으로 나뉜다.!

0개의 댓글