CS/네트워크

Forwarding vs Routing / Data Plane, Control Plane

D_Helloper 2023. 2. 23. 08:54

 

라우팅

  • 패킷을 목적지까지 전달하는 빠른 경로를 찾아주는 작업
  • A.B… F는 라우터를 나타내고 라우터를 연결하는 링크에 기록된 숫자는 이 링크를 지나가는데 소요되는 코스트를 의미
  • 코스트란 패킷이 이 링크를 지나가는데 걸리는 시간을 의미
  • C → F 가장 빨리 전달될 수 있는 경로는 C→ B →E → F
  • 하지만 C 라우터에서 모든 경로에 대해서 알고 있는 것이 아니라 인접한 노드 중에서 최적을 찾음

 

  • 이와 같이 라우팅이 이루어 지려면 라우터는 목적지를 찾아가기 위한 최적의 경로를 알고 있어야 하는데, 최적의 경로를 찾아내기 위해서 라우팅 알고리즘 사용
  • 패킷이 도착할 때 마다 라우팅 알고리즘을 실행하는 것이 아니라, 어느 경로가 최적인지를 먼저 구해놔야 함

 

라우팅 알고리즘을 통해 얻은 정보를 정리해 둔 것 ⇒ 라우팅 테이블

 

라우팅 테이블

  • 라우팅 테이블 확인 명령어
  • 네트워크 대상 : 패킷의 최종 대상 ip 주소
  • 네트워크 마스크 : 패킷의 대상 주소에 네트워크 마스크를 AND연산해서 어떤 네트워크 대상으로 갈지 결정
  • 게이트웨이 : 인터페이스를 빠져나간 패킷이 가야할 곳, 자신의 랜카드 주소, 로컬 서브넷의 게이트웨이
  • 인터페이스 : 패킷을 전달할 때 장치가 사용해야 하는 발신 네트워크 인터페이스
  • 매트릭 : 최종 대상까지의 hop수를 의미

 

라우팅 테이블을 참고하여 패킷을 목적지와 가장 가까운 인접 노드(next hop)와 연결된 링크로 내보내는 것을 포워딩 이라고 함

포워딩

  • 라우터의 입력 포트에서 출력 포트로 패킷을 이동시키는 것
  • 라우팅 테이블에서 적절한 인접노드 정보를 찾지 못했으면 해당 패킷을 디폴트 라우터로 보냄
  • 디폴트 라우터는 테이블 정보가 없을 경우(한 번도 가보지 못한 곳이라는 의미) 새로운 길을 찾아주는 곳으로 이해하면 됨

 

Data Plane(제어 평면)

  • 실제 데이터를 forwarding하는 곳이다. local forwarding table을 포함한 부분을 말한다.
  • input port에 들어온 datagram을 output port 어디로 forwarding 해야할 지 결정
  • forwarding에 초점이 맞춰져 있음

Control Plane(제어 평면)

  • 네트워크 리소스를 어떻게 end to end path에 할당할지를 결정하는 부분
  • 출발지부터 도착지까지의 경로를 결정
  • datagram이 router 사이에서 어떻게 routing 되어야 할지를 결정
  • routing에 초점이 맞춰져 있음
전통적인 라우터 구조
  • 이전에는 각 라우터에 라우팅 알고리즘이 들어가고 각 라우터를 제어
  • 라우터간의 소통을 통해 forwading 진행

 

물리적으로 분리된 data plane과 control plane
  • SDN은 remote controller와 각 라우터의 Control Agent(CA)와의 소통을 통해 forwarding table을 구성하고 forwarding 진행
  • 물리적으로 data plane과 control plane이 나뉘어져 있음

 

기존에는 각각의 라우터에서 control 역할과 data 전달 역할을 같이 했지만, SDN 방식은 각각의 라우터는 데이터만 전달할 뿐이고 controller를 통한 제어 역할은 logical-centralized routing controller가 수행

 

SDN(Software-Defined Networking)은 소프트웨어로 네트워크를 구성 및 관리하는 네트워크 기술,

  • 각 라우터의 flow table을 계산하고, 라우터로 flow table을 배포 해준다.

 

위와 같은 SDN 방식은 제어부를 별도의 컴퓨팅 서버로 분리하고, 네트워크 장비는 전송만 담당하도록 만들어 줌

 

 

SDN의 장점

1. 비용 절감

  • 제어부는 여러 네트워크 장비를 제어할 수 있기 때문에 관리가 간소화 되고 운영비용을 절감할 수 있음

 

2. 확장성 및 유연성

  • SDN 또한 일종의 가상화 개념이기에, 하드웨어를 소프트웨어로 대체하기 때문에 물리적인 리소스에 제약받지 않음