네트워크 기초 - IP (Internet Protocol)

김명주·2025년 1월 4일

네트워크 계층?

물리 계층과 데이터링크 계층은 LAN에 국한된 통신을 한다(MAC 주소를 기반으로 통신).
반면에 네트워크 계층은 LAN을 넘어서기 위한 계층이다. 네트워크 간의 패킷을 교환할 수 있게끔 해주는 계층이 바로 네트워크 계층이다(네트워크 간의 통신이 가능).
네트워크 간의 통신이 가능하려면 라우팅이 되어야 한다. 라우팅이란 패킷을 목적지까지 최적의 경로로 찾아가는 것을 의미한다. 이를 가능하게 해주는 장비가 바로 라우터다.
그리고 네트워크 계층은 단편화가 이루어지는 계층이다. 단편화란 파일이나 데이터를 보낼때 패킷으로 쪼개지는 과정을 의미한다. 단편화는 IP 라는 프로토콜을 통해 행해진다.

  • 네트워크 계층은 네트워크 간의 통신이 가능하게 하는 계층
  • 네트워크 간의 통신이 가능하려면 라우팅이 되어야 하는데, 라우팅을 가능하게 해주는 장비가 바로 라우터
    • 라우팅이란 패킷을 목적지까지 최적의 경로로 찾아가는 것.
  • 단편화가 이루어지는 계층.
    • IP라는 프로토콜을 통해 단편화가 이루어진다.
    • 단편화란 파일이나 데이터를 보낼 때 패킷으로 쪼개지는 과정.
  • 네트워크 간의 통신은 기본적으로 IP 주소를 통해 수행 됨.

데이터링크 계층의 MAC 주소도 있는데?

  • MAC 주소는 도달 경로를 파악하기 어려움. 이로 인해 라우팅이 어렵다.

    • MAC 주소는 호스트한테 할당된 주민번호 같은 것. 주민번호를 가지고 택배를 송신하기 어렵다.
  • 임의의 네트워크에 속한 호스트의 MAC 주소를 기억하기 어려움.

    • MAC 주소는 일반적으로 고유한 주소. 모든 호스트들의 MAC 주소를 하나의 컴퓨터가 기억하기는 어렵다.
  • 그렇기에 실제 통신 시에는 IP 주소와 MAC 주소를 둘다 사용하고, 기본적으로 IP 주소가 먼저 활용된다.

    • MAC 주소는 수신인(물리 주소), IP 주소는 발신 주소 혹은 수신 주소인 셈(논리 주소).
    • IP 주소는 직접 할당 할 수도 있고, DHCP라는 특정 프로토콜을 이용해서 자동으로 할당 될 수도 있다.
    • 그렇기에 IP 주소는 MAC 주소에 비해 비교적 할당이 자유롭다.

IP의 두가지 주요 기능

IP 주소 지정

  • IP 주소를 이용해서 수신지와 송신지를 특정지을 수 있다.

단편화

  • 패킷의 크기를 작게 쪼개는 것. 크기는 MTU(Maximum Transmission Unit) 이하로 유지. 일반적으로 사이즈는 1500.
  • MTU 크기 이하로 단편화된 패킷들은 목적지에서 재조합.
  • MTU 크기에 따라 성능이 달라질 수 있다.
    • MTU 크기가 작게 설정되면 전송률이 보장된다. 단 쪼개고 재조합 하는 과정에서 오버헤드가 들 수있다.
    • MTU 크기가 쪼개고 재조합 하는 과정에서의 오버헤드는 줄어들 수 있다. 단 한번에 보내는 데이터 크기가 크니 그만큼 전송 과정에서 문제가 발생할 수 있다.

IPv4의 헤더

  • 송신지 IP 주소, 목적지 IP 주소
    • 송신지 IP 주소와 목적지 IP 주소가 명시된다. (주소 지정 기능)
  • 식별자, 플래그, 단편화 오프셋
    • 단편화에서 주로 사용되는 헤더 정보들이다.

    • 식별자 : 패킷에 할당된 번호(재조합 시 사용)

      • 데이터가 패킷들로 쪼개질 때 어떤 데이터에서 쪼개져 나온 것인지 구별하기 위해 동일한 식별자를 공유하고 있다.
    • 플래그 : 부가 정보(미사용, Don't Fragment, More Fragment 비트)

      • 플래그는 기본적으로 3비트로 이루어져 있다.
    • 단편화 오프셋 : 단편화되기 전 데이터가 얼마나 떨어져 있는가

  • TTL, 프로토콜
    • TTL(Time To Live) : 패킷의 수명이다. 라우터를 거칠 때마다 1씩 감소한다.
      • TTL 값이 있는 이유는 순환이 생길 수 있기 때문이다.
      • TTL 값이 없으면 패킷이 무한히 순환할 수 있기 때문이다.
    • 프로토콜 : 상위 계층의 프로토콜이다.

IPv4 주소

  • 4바이트 (32비트)로 표현 가능
  • 한 옥텟은 0~255 범위의 네 개의 십진수로 표기
  • 이론적으로 할당 가능한 주소의 개수는 2^32개 -> 넉넉한 양이 아니라 IP 주소가 고갈 될 수도 있다.

IPv6 주소

  • IPv4의 주소 부족 문제를 해결하기 위해 등장
  • 16바이트(128비트)로 표현 가능
  • 이론적으로 할당 가능한 주소의 개수는 2^128개 -> 사실상 무한
  • 더 단순한 헤더
    • 홉 제한 : TTL. 패킷의 수명이다.
    • 다음 헤더 : 확장 헤더를 가리키는 필드다. IPv6는 확장 헤더라는 추가 헤더를 가질 수 있다. 이는 고정되지 않은 추가되는 헤더다.

profile
개발자를 향해 달리는 사람

0개의 댓글