[Network] 4-1. Overview of Network Layer

Park Yeongseo·2025년 4월 16일
0

Network

목록 보기
22/22
post-thumbnail

네트워크 계층은 프로토콜 스택 중 가장 복잡한 계층이다. 네트워크 계층은 데이터 평면(data plane)과 제어 평면(control plane)이라는, 서로 상호작용하는 두 부분으로 나뉠 수 있다.

  • 데이터 평면: 실제 데이터 패킷 전달을 수행
  • 제어 평면: 네트워크 경로 결정(라우팅) 및 정책 설정

호스트 H1에서 H2로 정보를 보낸다고 하자.

  1. H1의 네트워크 계층에서는 전송 계층에서 세그먼트를 받아 데이터그램으로 캡슐해, 가까운 라우터 R1으로 보낸다.
  2. H2는 가까운 라우터 R2로부터 데이터그램을 받아 세그먼트를 추출하고 전송 계층으로 올려 보낸다.

1. Forwarding and Routing: The Data and Control Planes

네트워크 계층에서 하는 일은 간단히 말해, 패킷을 한 호스트에서 다른 호스트로 옮기는 일이다. 이를 위해 필요한 네트워크 계층 기능으로는 두 가지, 포워딩과 라우팅이 있다. 포워딩과 라우팅을 섞어서 말하는 경우도 많지만 여기서는 좀 더 명확하게 구분하도록 한다.

  1. 포워딩(Forwarding)
    • 한 라우터가 인풋 링크로 들어온 패킷을 적절한 아웃풋 링크로 내보내는 것.
    • 수 나노초에 일어나기 때문에, 보통은 하드웨어로 구현된다.
    • 예를 들어 R1은 H1으로부터 받은 패킷을 R2로의 경로 상에 있는 다음 라우터로 포워딩해야 한다.
    • 악의적인 송신자로부터의 패킷이나, 금지된 수신자로의 패킷을 차단하기도 한다.
    • 혹은 패킷을 복사하고 여러 아웃고잉 링크로 보내기도 한다.
  2. 라우팅(Routing)
    • 소스에서 목적지로의 패킷 경로를 결정하는 것.
    • 수 초 정도의 시간이 걸리기 때문에, 보통은 소프트웨어로 구현된다.
    • 이 경로 계산을 위해 쓰이는 알고리즘을 라우팅 알고리즘이라 한다.

네트워크 라우터의 핵심은 각 라우터 안에 있는 포워딩 테이블(forwarding table)이다. 라우터는 자신에게 도착한 패킷 헤더의 필드를 분석하고, 그 값을 포워딩 테이블의 인덱스로 사용한다. 이때 포워딩 테이블의 엔트리에는 패킷이 다음으로 보내져야 할 라우터로 향하는 아웃고잉 링크 인터페이스가 담겨 있다. 그렇다면 이 포워딩 테이블은 어떻게 채울까?

Control Plane: The Traditional Approach

전통적인 방식에서는 한 라우터 안에 제어 평면과 데이터 평면이 모두 포함되어 있다. 즉 각 라우터는 포워딩 기능은 물론, 라우팅을 위한 라우팅 알고리즘도 내장되어 있다. 각 라우터는 다른 라우터와 라우팅 정보를 담은 메시지를 교환하고, 그 정보를 바탕으로 라우팅 알고리즘을 통해 각 테이블을 채운다.

Control Plane: The SDN Approach

전통적 방식에서는 한 라우터에 데이터 평면과 제어 평면이 모두 포함되어 있었다면, SDN(Software-defined Networking) 방식에서 라우터는 데이터 평면만을 담당하고, 제어는 별도의 외부 컨트롤러가 관리한다.

제어 평면을 각 라우터에 분산시키는 전통적인 방식과 달리, 이 방식에서는 제어 평면을 별도의 중앙 집중형 컨트롤러에 두고 라우터는 단순히 이 컨트롤러의 명령에 따라 포워딩만 한다. 이 컨트롤러는 ISP나 그 외 서드 파티가 관리하는 데이터 센터에서 구현되어, 소프트웨어를 기반으로 포워딩 테이블을 구성해 각 라우터에게 뿌려주는 역할을 한다.

2. Network Service Model

네트워크 계층이 어떤 서비스를 제공할 수 있을지에 대해 간략히 알아보자.

  • 전달 보장: 소스에서 보낸 패킷이 반드시 목적지에 도착함을 보장
  • 지연 한도를 가진 전달 보장: 시간 내에 목적지에 도착함을 보장
  • 순서 보장 전달: 원래 전송된 순서대로 목적지에 도착하도록 보장
  • 최소 대역폭 보장: 패킷을 손실 없이, 일정 비트레이트를 보장하며 전달
  • 보안: 네트워크 계층에서 모든 데이터그램을 암/복호화함으로써 전송 계층 세그먼트의 기밀성 제공

단 인터넷 외의 다른 네트워크 구조에서는 다양한 서비스 모델이 구현되어 있지만, 실제 인터넷에서는 하나의 서비스, 최선 노력(Best-effort) 서비스만을 제공한다. 이 서비스에서는

  • 패킷이 보낸 순서로 도착할 것이라는 보장도
  • 지연 시간에 대한 보장도,
  • 최소 대역폭에 대한 보장도,
  • 심지어 도착할 것이라는 보장도

없다. 인터넷에서는 패킷을 최선을 다해 전달하지만, 그 결과를 보장하지 않는다.

profile
블로그 이전 준비 중

0개의 댓글