준비하는 대학생

[Network] 네트워크 레이어, IP 프로토콜 본문

Network

[Network] 네트워크 레이어, IP 프로토콜

Bangii 2023. 8. 18. 22:27

IP 주소란?

 IP 주소(Internet Protocol address)는 인터넷에서 컴퓨터나 장치를 식별하는 데 사용되는 고유한 주소입니다. 편지를 보낼 때 수신자의 주소를 기록하는 것처럼, 데이터를 전송할 때 해당 데이터가 올바른 위치로 전송되도록 하기 위해 IP 주소를 사용합니다.

IPv4 (인터넷 프로토콜 버전 4)

  • 정의: IPv4는 32비트 주소 체계를 사용하는 IP 주소의 버전입니다.
  • 표기법: IPv4 주소는 네 개의 숫자 블록으로 표시되며 각 블록은 0에서 255 사이의 숫자로 구성됩니다. 예: 192.168.1.1
  • 주소 공간: IPv4는 약 43억 개의 주소 공간을 가집니다. 이렇게 제한된 주소 공간 때문에 주소 부족 문제가 발생하게 되었습니다.

IPv6 (인터넷 프로토콜 버전 6)

  • 정의: IPv6는 IP 주소 부족 문제를 해결하기 위해 개발된 새로운 IP 주소 체계입니다. 이는 128비트 주소 체계를 사용합니다.
  • 표기법: IPv6 주소는 8개의 16진수 그룹으로 표시되며 각 그룹은 4자리의 16진수로 구성됩니다. 예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • 주소 공간: IPv6의 주소 공간은 거의 무한하다고 할 수 있을 정도로 방대합니다. 이로 인해 각 장치에 고유한 IP 주소를 할당하는 것이 가능해졌습니다.

IPv4와 IPv6의 주요 차이점:

  1. 주소 크기: IPv4는 32비트 주소를, IPv6는 128비트 주소를 사용합니다.
  2. 주소 표기법: IPv4는 점으로 구분된 10진수로, IPv6는 콜론으로 구분된 16진수로 표기됩니다.
  3. 보안: IPv6는 기본적으로 IPsec 보안 기능을 내장하고 있습니다.
    (IPsec (Internet Protocol Security): 인터넷 프로토콜(IP) 패킷을 암호화하고 인증하기 위해 설계된 프로토콜 세트)
  4. 헤더 복잡성: IPv6의 헤더는 IPv4보다 간소화되었습니다.

 

Public IP (공용 IP)

  • 정의: Public IP는 전 세계에서 유일한 IP 주소입니다. 외부 네트워크와 통신할 때 사용하는 주소입니다.
  • 사용처: 대부분의 서버, 웹 사이트, ISP(Internet Service Provider)에 의해 사용자에게 할당되는 주소 등이 이에 해당됩니다.
  • 할당: 인터넷 서비스 제공자(ISP)로부터 받게 됩니다.
  • 특징: 외부에서 접근이 가능하므로, 보안상의 위험이 있을 수 있습니다.

Private IP (사설 IP)

  • 정의: Private IP는 특정 네트워크 내에서만 사용되는 IP 주소입니다. 외부와의 통신에는 사용되지 않습니다.
  • 사용처: 대부분의 집이나 사무실 내의 네트워크 장치(컴퓨터, 프린터, 스마트폰 등)에 할당됩니다.
  • 할당: 라우터나 네트워크 관리자에 의해 자동으로 할당받게 됩니다.
  • 특징: 외부에서 직접 접근이 불가능하므로, 상대적으로 안전합니다.

이 두 종류의 IP가 필요한 이유

우리 집의 네트워크를 생각해봅시다. 여러 디바이스가 하나의 라우터를 통해 인터넷에 접속하게 됩니다. 이때 각 디바이스에는 Private IP가 할당되지만, 외부와의 통신은 라우터의 Public IP를 통해 이루어집니다. 즉, 라우터는 여러 개의 Private IP를 하나의 Public IP로 변환하는 역할을 합니다. 이렇게 함으로써 효율적으로 IP 주소를 관리하고, 내부 네트워크를 보호할 수 있습니다.

서브넷이란?

서브넷은 IP 네트워크에서 주소 공간을 여러 개의 작은 네트워크로 분할하는 것을 의미합니다. 이를 통해 네트워크 관리가 간단해지고 트래픽의 효율성이 향상됩니다.

서브넷 마스크란?

서브넷 마스크는 IP 주소와 결합되어 해당 IP 주소가 어느 네트워크에 속하는지를 판별하는 데 도움을 줍니다. 이 마스크는 1과 0으로 이루어진 32비트 숫자로 표현되며, 1은 네트워크 부분을, 0은 호스트 부분을 나타냅니다.

예를 들어, 서브넷 마스크 255.255.255.0은 이진수로 11111111.11111111.11111111.00000000으로 표현됩니다. 이 경우 네트워크 부분은 처음 세 옥텟이고, 마지막 옥텟은 호스트 부분입니다.

왜 서브넷을 사용할까?

  • 효율적인 IP 주소 관리: 큰 네트워크를 여러 개의 작은 네트워크로 분할하여 IP 주소를 효율적으로 할당하고 관리할 수 있습니다.
  • 보안 향상: 서브넷을 사용하여 네트워크를 구분하면 한 네트워크의 문제가 다른 네트워크에 영향을 미치지 않게 할 수 있습니다.
  • 트래픽 관리: 네트워크 세그먼테이션을 통해 트래픽 병목 현상을 줄이고 전체 네트워크 성능을 향상시킬 수 있습니다.

서브넷 계산의 기본 원칙

서브넷 계산의 주요 목표는 주어진 IP 주소 공간을 효율적으로 나누는 것입니다. 여기에는 몇 가지 단계가 포함됩니다:

  1. 필요한 서브넷 수와 호스트 수 결정: 네트워크의 요구에 따라 필요한 서브넷과 각 서브넷에서 필요한 호스트 수를 결정합니다.
  2. 비트로의 변환: 필요한 호스트 수를 기반으로 호스트 비트 수를 계산합니다. 예를 들어, 250대의 호스트가 필요한 경우 8비트 (2^8 = 256) 가 필요합니다. 하지만 네트워크 주소와 브로드캐스트 주소를 고려해야 하므로, 실제 사용 가능한 호스트는 254대입니다.
  3. 서브넷 마스크 결정: 32비트 중에서 사용되지 않는 호스트 비트를 계산하여 서브넷 마스크를 결정합니다. 위의 예에서는 32 - 8 = 24이므로, 서브넷 마스크는 /24 또는 255.255.255.0이 됩니다.

서브넷 범위 계산

서브넷 마스크를 결정한 후에는 각 서브넷의 범위를 계산할 수 있습니다. /24 서브넷 마스크를 사용하는 경우, IP 주소의 마지막 옥텟은 호스트를 위해 사용되므로, 각 서브넷의 범위는 0~255입니다. 따라서 첫 번째 서브넷은 192.168.1.0에서 192.168.1.255까지, 두 번째 서브넷은 192.168.2.0에서 192.168.2.255까지가 됩니다.

라우팅이란 무엇인가?

라우팅은 데이터 패킷이 출발지에서 목적지까지 가장 효율적으로 이동할 수 있는 경로를 결정하는 과정을 의미합니다. 컴퓨터 네트워크에서는 라우터라는 장치를 통해 라우팅이 주로 이루어집니다. 라우터는 들어오는 패킷을 적절한 경로로 전송하여 원하는 목적지에 도달하게 해줍니다.

왜 라우팅이 필요한가?

  1. 대규모 네트워크: 현대의 네트워크는 수천, 수백만의 장치가 연결된 대규모 시스템입니다. 이렇게 복잡한 네트워크에서 각 패킷을 목적지까지 효과적으로 전송하려면 효율적인 경로를 찾아야 합니다.
  2. 동적 환경: 네트워크의 상태는 지속적으로 변경됩니다. 장치의 추가, 장애, 트래픽 변동 등으로 인해 최적의 경로는 계속해서 바뀔 수 있습니다. 라우팅은 이러한 동적 환경에서도 효율적인 데이터 전송을 보장합니다.

라우팅의 원칙

  1. 경로 결정: 라우터는 여러 가능한 경로 중 최적의 경로를 결정하는 알고리즘을 사용합니다. 이는 다양한 요인, 예를 들면 거리, 속도, 비용 등을 기반으로 합니다.
  2. 라우팅 테이블: 라우터는 라우팅 테이블을 가지고 있습니다. 이 테이블에는 각 목적지에 대한 최적의 다음 홉(next hop) 정보가 들어있습니다.
  3. 동적 vs. 정적 라우팅: 정적 라우팅은 관리자가 수동으로 라우팅 경로를 설정하는 방법입니다. 반면, 동적 라우팅은 네트워크 상태의 변화를 자동으로 감지하고 라우팅 테이블을 자동으로 업데이트합니다.

라우팅 프로토콜

라우팅 프로토콜은 라우터 간의 정보 교환을 위한 규약입니다. 대표적인 라우팅 프로토콜로는 OSPF, EIGRP, BGP 등이 있습니다. 각 프로토콜은 특정 환경과 요구 사항에 맞게 설계되었으며, 네트워크의 규모, 구조, 비용 등에 따라 적절한 프로토콜을 선택할 수 있습니다.

라우팅 프로토콜의 필요성

  1. 대규모 네트워크에서의 경로 최적화: 네트워크가 커질수록 가능한 경로는 지수적으로 증가합니다. 라우팅 프로토콜은 이 중 최적의 경로를 선택하여 데이터 전송의 효율성을 높입니다.
  2. 네트워크 상황 변화 대응: 라우터의 고장, 새로운 링크의 추가 등 네트워크의 상황은 계속 변합니다. 라우팅 프로토콜은 이런 변화에 신속하게 대응하여 끊김 없는 데이터 전송을 보장합니다.

주요 라우팅 프로토콜

  1. RIP (Routing Information Protocol)
    • 거리 벡터 라우팅 프로토콜
    • hop count를 기반으로 최단 경로를 선택
    • 간단하나 큰 네트워크에는 적합하지 않음
  2. OSPF (Open Shortest Path First)
    • 링크 상태 라우팅 프로토콜
    • 전체 네트워크의 상황을 고려하여 경로 선택
    • 복잡하나 대규모 네트워크에 적합
  3. EIGRP (Enhanced Interior Gateway Routing Protocol)
    • Cisco에서 개발한 프로토콜
    • 거리 벡터와 링크 상태의 장점을 결합
  4. BGP (Border Gateway Protocol)
    • 네트워크 간의 라우팅을 위한 경로 벡터 프로토콜
    • 인터넷의 기반이 되는 프로토콜

NAT (Network Address Translation)

NAT는 Network Address Translation의 약자로, 사설 IP 주소와 공인 IP 주소 간의 변환을 담당하는 기술입니다. NAT의 주요 기능과 특징은 다음과 같습니다:

  1. 사설 네트워크와 인터넷 연결: 여러 개의 사설 IP 주소를 하나의 공인 IP 주소로 변환하여, 여러 기기가 하나의 공인 IP 주소를 사용해 인터넷에 연결할 수 있게 합니다.
  2. 보안 강화: 내부 네트워크의 IP 주소 정보를 외부로부터 숨기는 역할을 합니다. 이로 인해 외부 공격자가 내부 네트워크 구조를 쉽게 알 수 없습니다.
  3. IP 주소 부족 문제 해결: IPv4 주소 공간의 한계로 인해 발생하는 주소 부족 문제를 NAT를 통해 일부 완화할 수 있습니다.

ICMP (Internet Control Message Protocol)

ICMP는 Internet Control Message Protocol의 약자로, IP 네트워크의 오류 보고 및 진단 기능을 제공하는 프로토콜입니다. ICMP의 주요 기능 및 특징은 다음과 같습니다:

  1. 오류 메시지 전달: 네트워크 상의 장애나 문제점을 알리기 위해 사용됩니다. 예를 들어, 목적지 호스트에 도달할 수 없거나, TTL 값이 0이 되어 패킷이 폐기될 때와 같은 상황에서 ICMP 메시지가 전송됩니다.
  2. 네트워크 진단 도구: ping 및 traceroute와 같은 네트워크 진단 도구들은 ICMP를 기반으로 작동합니다. ping은 호스트 간의 접근 가능성을 테스트하기 위해 ICMP Echo Request 및 Echo Reply 메시지를 사용합니다.

 

Comments