포워딩이란? 네트워크 장비가 데이터를 전달하는 과정

    포워딩이란 무엇인가?

    네트워크에서는 수많은 데이터가 여러 장비를 거쳐 목적지까지 이동합니다.

    컴퓨터에서 다른 컴퓨터로 데이터를 보낼 때 데이터가 한 번에 목적지까지 직접 전달되는 것이 아니라 여러 네트워크 장비를 거쳐 이동하는 경우가 많습니다.

    이때 네트워크 장비가 데이터의 목적지를 확인하고 적절한 방향으로 전달하는 과정을 포워딩(Forwarding)이라고 합니다.

    쉽게 말하면 포워딩은 네트워크 장비가 들어온 데이터를 확인한 후 “어느 쪽으로 보내야 하는가?”를 판단하고 다음 장비나 목적지로 전달하는 과정​입니다.

    기본적인 구조는 다음과 같습니다.

    출발지
      ↓
    네트워크 장비
      ↓
    다음 경로
      ↓
    네트워크 장비
      ↓
    목적지

    포워딩과 라우팅은 같은 것일까?

    포워딩과 라우팅은 서로 관련되어 있지만 같은 의미는 아닙니다.

    라우팅(Routing)​은 목적지까지 어떤 경로를 사용할 것인지 결정하는 과정입니다.

    반면 포워딩(Forwarding)​은 결정된 경로를 바탕으로 실제 데이터를 다음 목적지 방향으로 전달하는 과정입니다.

    쉽게 구분하면 다음과 같습니다.

    라우팅
    → 어느 경로로 갈지 결정
    
    포워딩
    → 결정된 경로를 따라 데이터를 전달

    예를 들어 자동차 내비게이션을 생각하면 이해하기 쉽습니다.

    내비게이션이 목적지까지 갈 경로를 계산하는 것이 라우팅이라면, 실제 자동차가 그 경로를 따라 이동하는 것이 포워딩에 가깝습니다.

    네트워크에서 포워딩이 필요한 이유

    인터넷이나 기업 네트워크에는 수많은 장비와 네트워크가 연결되어 있습니다.

    하나의 컴퓨터에서 다른 네트워크에 있는 서버로 데이터를 보내려면 중간에 있는 라우터나 스위치가 데이터를 어디로 전달해야 하는지 판단해야 합니다.

    예를 들어 다음과 같은 네트워크가 있다고 가정해 보겠습니다.

    PC
     ↓
    라우터 A
     ↓
    라우터 B
     ↓
    라우터 C
     ↓
    서버

    PC에서 서버로 데이터가 전송되면 라우터 A는 데이터를 받은 후 다음 목적지인 라우터 B로 전달합니다.

    라우터 B도 같은 방식으로 데이터를 확인하고 라우터 C로 전달합니다.

    이러한 각각의 전달 과정이 포워딩입니다.

    라우터의 포워딩 과정

    라우터는 포워딩을 수행할 때 주로 목적지 IP 주소를 확인합니다.

    예를 들어 다음과 같은 패킷이 라우터에 도착했다고 가정해 보겠습니다.

    출발지 IP
    192.168.10.100
    
    목적지 IP
    10.0.0.50

    라우터는 목적지 IP 주소를 확인한 다음 자신의 라우팅 정보를 참고합니다.

    목적지 네트워크
    10.0.0.0/24
    
    전달 방향
    인터페이스 2

    라우터는 해당 정보를 바탕으로 패킷을 인터페이스 2를 통해 다음 네트워크로 전달합니다.

    포워딩 테이블이란?

    네트워크 장비는 데이터를 어디로 전달할지 판단하기 위해 여러 가지 정보를 사용합니다.

    라우터에서는 이러한 전달에 필요한 정보가 포워딩 테이블(Forwarding Table) 형태로 사용될 수 있습니다.

    간단한 예를 보면 다음과 같습니다.

    목적지 네트워크     전달 인터페이스
    
    192.168.10.0/24     LAN 1
    192.168.20.0/24     LAN 2
    10.0.0.0/24         LAN 3

    라우터가 목적지 IP 주소를 확인했을 때 해당 네트워크에 맞는 항목을 찾아 패킷을 적절한 인터페이스로 전달합니다.

    라우팅 테이블과 포워딩 테이블

    라우팅과 포워딩을 이해하다 보면 라우팅 테이블포워딩 테이블이라는 용어를 만나게 됩니다.

    두 테이블은 밀접한 관계가 있지만 개념적으로 구분할 필요가 있습니다.

    라우팅 테이블은 라우터가 목적지까지 어떤 경로를 사용할지 판단하는 데 필요한 정보를 가지고 있습니다.

    반면 포워딩 테이블은 실제 패킷을 빠르게 어느 인터페이스나 다음 홉으로 전달할지 결정하는 데 사용되는 정보라고 이해할 수 있습니다.

    라우팅 정보
       ↓
    경로 결정
       ↓
    포워딩 정보 구성
       ↓
    패킷 전달

    실제 네트워크 장비에서는 구현 방식에 따라 용어와 테이블 구성이 달라질 수 있지만 기본적인 개념은 이와 같습니다.

    라우터는 어떻게 전달 방향을 결정할까?

    라우터는 패킷의 목적지 IP 주소를 확인하고 자신이 가진 경로 정보와 비교합니다.

    예를 들어 라우터에 다음과 같은 정보가 있다고 가정해 보겠습니다.

    10.0.0.0/8
    10.10.0.0/16
    10.10.10.0/24

    목적지 IP가 10.10.10.50이라면 세 경로 모두 조건에 포함될 수 있습니다.

    이때 라우터는 일반적으로 가장 구체적인 경로, 즉 가장 긴 프리픽스가 일치하는 경로를 선택합니다.

    이를 Longest Prefix Match라고 합니다.

    10.0.0.0/8
           ↓
    10.10.0.0/16
           ↓
    10.10.10.0/24
           ↓
    목적지 10.10.10.50

    이처럼 목적지와 가장 구체적으로 일치하는 경로를 선택하여 포워딩할 수 있습니다.

    다음 홉(Next Hop)이란?

    포워딩 과정에서 자주 등장하는 개념이 다음 홉(Next Hop)​입니다.

    패킷이 최종 목적지까지 한 번에 이동하지 않는 경우 라우터는 패킷을 바로 최종 목적지로 보내는 것이 아니라 다음에 전달할 라우터로 보낼 수 있습니다.

    이때 다음으로 패킷을 전달할 라우터를 다음 홉이라고 합니다.

    PC
     ↓
    라우터 A
     ↓
    라우터 B
     ↓
    라우터 C
     ↓
    서버

    라우터 A 입장에서 다음 홉은 라우터 B입니다.

    라우터 B 입장에서 다음 홉은 라우터 C가 됩니다.

    이처럼 패킷은 여러 개의 홉을 거치면서 목적지까지 전달될 수 있습니다.

    포워딩과 홉의 관계

    홉(Hop)​은 데이터가 네트워크 장비 하나를 거쳐 다음 장비로 이동하는 단위를 이해할 때 사용되는 개념입니다.

    예를 들어 다음과 같은 네트워크가 있다고 가정해 보겠습니다.

    PC
     ↓
    라우터 A
     ↓
    라우터 B
     ↓
    라우터 C
     ↓
    서버

    PC에서 라우터 A로 이동하고, 라우터 A에서 라우터 B로 이동하는 과정처럼 각각의 네트워크 장비를 거치는 과정이 홉과 관련됩니다.

    각 라우터는 패킷을 받은 후 다음 홉으로 전달하는 포워딩 작업을 수행합니다.

    스위치도 포워딩을 할까?

    포워딩은 라우터만 수행하는 것은 아닙니다.

    스위치도 프레임을 전달하는 포워딩 기능을 수행합니다.

    다만 라우터와 스위치가 주로 확인하는 정보가 다릅니다.

    스위치는 일반적으로 MAC 주소를 기반으로 프레임을 어느 포트로 전달할지 결정합니다.

    PC 1
     ↓
    스위치
     ↓
    PC 2

    스위치는 MAC 주소 테이블을 확인하여 목적지 MAC 주소가 연결된 포트를 찾아 프레임을 전달합니다.

    반면 라우터는 주로 목적지 IP 주소를 기준으로 패킷을 어느 네트워크로 전달할지 결정합니다.

    스위치의 포워딩 과정

    스위치에는 MAC 주소 테이블이 있습니다.

    예를 들어 다음과 같은 정보가 저장되어 있다고 가정해 보겠습니다.

    MAC 주소             포트
    
    AA:AA:AA:AA:AA:AA    Port 1
    BB:BB:BB:BB:BB:BB    Port 2
    CC:CC:CC:CC:CC:CC    Port 3

    스위치가 목적지 MAC 주소를 확인한 후 해당 MAC 주소가 연결된 포트로 프레임을 전달합니다.

    프레임 수신
        ↓
    목적지 MAC 확인
        ↓
    MAC 주소 테이블 확인
        ↓
    출력 포트 결정
        ↓
    프레임 전달

    이것도 넓은 의미에서 포워딩 과정이라고 볼 수 있습니다.

    포워딩과 패킷의 관계

    네트워크에서 데이터를 전송할 때 실제로 이동하는 단위를 이해하는 것도 중요합니다.

    IP 네트워크에서는 데이터를 패킷(Packet)​이라고 표현합니다.

    라우터는 패킷의 헤더 정보를 확인하고 목적지에 맞는 경로를 선택한 후 다음 네트워크로 전달합니다.

    패킷
    ┌──────────────────────┐
    │ 출발지 IP             │
    │ 목적지 IP             │
    │ 기타 정보             │
    │ 데이터                │
    └──────────────────────┘
              ↓
           라우터
              ↓
         목적지 확인
              ↓
          다음 홉 전달

    따라서 포워딩은 패킷이 네트워크를 이동하는 과정에서 매우 중요한 역할을 합니다.

    포워딩 과정에서 패킷은 어떻게 바뀔까?

    라우터를 거쳐 패킷이 전달될 때 IP 패킷의 목적지 주소 자체가 최종 목적지까지 계속 유지되는 것이 일반적입니다.

    다만 패킷을 다음 네트워크로 전달하기 위해 각 링크에서 사용되는 데이터 링크 계층의 프레임 정보는 새롭게 구성될 수 있습니다.

    예를 들어 다음과 같은 구조를 생각할 수 있습니다.

    PC
     ↓
    라우터 A
     ↓
    라우터 B
     ↓
    서버

    라우터 A에서 라우터 B로 전달할 때 해당 링크에 맞는 새로운 이더넷 프레임이 만들어질 수 있습니다.

    라우터 B에서도 다음 링크로 전달하기 위해 새로운 프레임으로 캡슐화하여 전송합니다.

    즉, IP 패킷이 여러 네트워크를 이동하는 동안 각 구간의 데이터 링크 계층 정보는 달라질 수 있습니다.

    포워딩과 TTL

    라우터가 패킷을 전달할 때 함께 알아두면 좋은 개념이 TTL(Time To Live)​입니다.

    IP 패킷에는 TTL 값이 포함되어 있으며 라우터를 하나 거칠 때마다 일반적으로 TTL이 1씩 감소합니다.

    출발지
    TTL 64
     ↓
    라우터 A
    TTL 63
     ↓
    라우터 B
    TTL 62
     ↓
    라우터 C
    TTL 61

    TTL은 패킷이 네트워크에서 무한히 순환하는 것을 방지하는 역할을 합니다.

    TTL이 0이 되면 라우터는 해당 패킷을 더 이상 전달하지 않고 폐기합니다.

    이와 관련된 내용은 TTL(Time To Live) 주제에서 자세하게 확인할 수 있습니다.

    포워딩과 라우팅의 차이를 쉽게 이해하기

    포워딩과 라우팅의 차이를 택배 배송에 비유하면 이해하기 쉽습니다.

    택배 시스템이 목적지까지 어떤 물류센터를 거칠지 결정하는 것이 라우팅이라면, 각 물류센터에서 실제 택배를 다음 물류센터로 보내는 것이 포워딩에 해당합니다.

    라우팅
    → 어떤 경로로 갈지 결정
    
    포워딩
    → 실제 데이터를 다음 경로로 전달

    따라서 라우팅과 포워딩은 서로 분리된 개념이지만 네트워크에서 함께 동작합니다.

    포워딩이 중요한 이유

    네트워크에 연결된 장비가 많아질수록 데이터를 정확한 목적지 방향으로 전달하는 기능이 중요해집니다.

    포워딩이 제대로 이루어지지 않으면 패킷이 목적지까지 도달할 수 없습니다.

    특히 인터넷처럼 수많은 네트워크가 연결된 환경에서는 각 라우터가 자신이 알고 있는 경로를 바탕으로 패킷을 다음 홉으로 전달해야 합니다.

    이러한 포워딩 과정이 반복되면서 데이터가 최종 목적지까지 이동하게 됩니다.

    포워딩을 쉽게 이해하는 방법

    포워딩은 교차로에서 차량을 올바른 방향으로 보내주는 과정이라고 생각하면 쉽습니다.

    차량이 목적지까지 가려면 여러 교차로를 지나야 합니다.

    각 교차로에서는 차량이 어디로 가야 하는지 확인하고 다음 도로로 보내줍니다.

    네트워크에서도 비슷합니다.

    데이터
     ↓
    라우터
     ↓
    "어느 방향으로 보내야 하지?"
     ↓
    다음 홉
     ↓
    라우터
     ↓
    "다음은 어디로 보내야 하지?"
     ↓
    목적지

    각 네트워크 장비가 데이터를 다음 목적지 방향으로 전달하는 과정이 바로 포워딩입니다.

    결론

    포워딩(Forwarding)은 네트워크 장비가 데이터의 목적지 정보를 확인하고 적절한 방향으로 전달하는 과정입니다.

    라우터는 주로 목적지 IP 주소와 라우팅 정보를 이용하여 패킷을 다음 홉이나 목적지 네트워크로 전달합니다.

    스위치는 MAC 주소 테이블을 이용하여 목적지 MAC 주소에 해당하는 포트로 프레임을 전달합니다.

    포워딩과 라우팅은 서로 밀접하게 연결되어 있지만 의미는 다릅니다.

    라우팅은 어떤 경로로 데이터를 보낼지 결정하는 과정이고, 포워딩은 결정된 경로를 바탕으로 실제 데이터를 다음 위치로 전달하는 과정입니다.

    또한 패킷이 여러 라우터를 거치는 동안 TTL이 감소하며, 각 네트워크 구간에서는 데이터 링크 계층의 프레임 정보가 새롭게 구성될 수 있습니다.

    결국 포워딩은 네트워크 장비가 데이터를 목적지 방향으로 한 단계씩 전달하여 최종 목적지까지 도달하도록 하는 핵심적인 네트워크 동작이라고 할 수 있습니다.

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다