본문 바로가기
홍TV 홍TV

라우팅 프로토콜의 세계, “정적 라우팅 vs 동적 라우팅, 그리고 BGP”

홍TV 읽는 시간 약 7분
4.5
(300)

들어가며

내비게이션 앱을 켜면 실시간 교통 상황을 반영해서 가장 빠른 길을 알아서 찾아준다. 도로가 막히면 다른 길로, 사고가 나면 우회로로 자동으로 바꿔준다. 그런데 사실 이 방식은 인터넷이 먼저 하고 있던 일이다. 라우터라는 장비들이 서로 정보를 주고받으면서 데이터가 지나갈 최적의 경로를 실시간으로 계산하고, 경로 하나가 끊기면 자동으로 다른 길을 찾아 트래픽을 우회시킨다. 이 원리를 이해하면 우리가 스마트폰으로 유튜브 영상 하나를 볼 때 데이터가 얼마나 정교한 계산을 거쳐서 도착하는지 알 수 있다.

이번 글에서는 라우터가 경로를 정하는 두 가지 큰 방식인 정적 라우팅과 동적 라우팅을 비교하고, 동적 라우팅 안에서도 RIP, OSPF, BGP가 각각 어떤 역할을 하는지, 특히 전 세계 인터넷을 하나로 묶는 BGP가 어떻게 동작하는지 정리해본다.

라우팅이란 무엇인가

라우팅은 데이터가 출발지에서 목적지까지 가는 동안 어느 경로를 거칠지 결정하는 과정이다. 집에서 회사까지 가는 길이 여러 개 있는 것처럼, 인터넷에서도 한 서버에서 다른 서버로 가는 경로가 보통 여러 개 존재한다. 라우터는 이 여러 경로 중 어느 쪽으로 데이터를 보낼지 결정하는 장비이고, 그 결정 기준이 되는 표를 라우팅 테이블이라고 부른다.

라우팅 테이블을 채우는 방법은 크게 두 가지다. 관리자가 직접 하나하나 입력하는 정적 라우팅과, 라우터들끼리 자동으로 정보를 주고받아 채우는 동적 라우팅이다.

정적 라우팅, 손으로 그리는 지도

정적 라우팅은 관리자가 이 목적지로 가려면 이 경로를 쓰라고 라우터에 직접 명령어로 입력하는 방식이다. 라우터는 별도로 계산하지 않고 입력된 대로만 움직인다.

장점은 단순함이다. 라우터끼리 정보를 주고받는 과정이 없으니 트래픽도 거의 발생하지 않고, CPU 부담도 적다. 경로가 딱 정해져 있는 소규모 네트워크, 예를 들어 라우터 한두 대로 구성된 지점 사무실 같은 곳에는 정적 라우팅만으로 충분하다.

문제는 규모가 커질 때다. 라우터가 수십, 수백 대가 되고 경로가 자주 바뀌는 환경에서는 매번 사람이 손으로 라우팅 테이블을 고쳐야 한다. 회선 하나가 끊겨도 자동으로 우회하지 못하고 관리자가 알아채고 직접 개입할 때까지 그 구간은 먹통이 된다. 손으로 그린 지도는 상세하고 정확하지만, 도로가 하나 새로 생기거나 없어질 때마다 다시 그려야 하는 셈이다.

routing inline1 정적동적비교

동적 라우팅, 스스로 갱신되는 지도

동적 라우팅은 라우터들이 서로 이런저런 경로 정보를 주고받으면서 라우팅 테이블을 자동으로 채우고 갱신하는 방식이다. 새로운 경로가 생기거나 기존 경로가 끊기면 라우터들이 이 사실을 서로에게 전파하고, 각자 알아서 최적의 경로를 다시 계산한다.

이 동적 라우팅을 구현하는 구체적인 방법이 바로 라우팅 프로토콜이다. 대표적으로 다음 세 가지가 자주 언급된다.

  • RIP(Routing Information Protocol)는 가장 오래되고 단순한 프로토콜로, 목적지까지 거치는 라우터 수(홉 수)만으로 경로를 결정한다. 구현이 간단하지만 큰 네트워크에서는 비효율적이라 요즘은 소규모 환경 외에는 잘 쓰이지 않는다.
  • OSPF(Open Shortest Path First)는 링크 속도나 상태 같은 정보를 종합적으로 고려해서 최단 경로를 계산하는 프로토콜이다. 기업 내부 네트워크나 중대형 조직에서 널리 쓰인다.
  • BGP(Border Gateway Protocol)는 서로 다른 조직이나 회사가 운영하는 네트워크 사이를 연결할 때 쓰는 프로토콜로, 우리가 매일 쓰는 인터넷 그 자체를 지탱하는 핵심 기술이다.

RIP와 OSPF가 한 회사나 한 조직 내부에서 쓰는 프로토콜이라면, BGP는 조직과 조직, 나아가 국가와 국가를 넘나드는 훨씬 큰 규모에서 동작한다는 차이가 있다.

BGP, 전 세계 인터넷을 잇는 프로토콜

인터넷은 사실 하나의 거대한 네트워크가 아니라, 자율 시스템(AS, Autonomous System)이라고 불리는 수많은 개별 네트워크의 집합이다. 통신사, 클라우드 업체, 대학, 대형 기업들이 각자 고유한 AS 번호와 IP 대역을 가지고 자신만의 네트워크를 운영한다.

이 수많은 AS들이 서로 연결되어 하나의 인터넷처럼 동작하게 만드는 것이 바로 BGP다. 각 AS는 BGP를 통해 자신이 어떤 IP 대역을 담당하고 있는지 이웃한 AS에게 광고한다. 그 정보는 다시 이웃의 이웃으로 계속 전파되고, 결국 전 세계 라우터들이 어떤 IP 대역으로 가려면 어느 AS를 거쳐야 하는지 알게 된다.

routing inline2 BGP

예를 들어 한국에서 미국에 있는 어떤 서버로 접속한다고 해보자. 이 요청은 국내 통신사의 AS를 떠나 해저 케이블을 통해 몇 개의 중간 AS를 거치고, 최종적으로 그 서버가 속한 AS에 도착한다. 이 모든 경로 선택이 BGP가 주고받은 광고 정보를 기반으로 이루어진다. 특정 구간에 장애가 생기거나 새로운 회선이 개통되면 BGP는 이 변화를 전 세계에 다시 전파하고, 라우터들은 그에 맞춰 경로를 조정한다. 우리가 흔히 겪는 어떤 사이트가 유독 느리다거나, 특정 지역에서 접속이 안 된다는 문제의 상당수가 이 BGP 경로 문제와 관련이 있다.

어떤 방식을 언제 써야 할까

실무에서는 정적 라우팅과 동적 라우팅을 상황에 맞게 섞어 쓰는 경우가 많다. 작은 지사나 인터넷 회선이 하나뿐인 구간은 정적 라우팅으로 충분히 안정적이고 관리도 단순하다. 반면 라우터가 여러 대이고 경로가 다양하며 이중화가 필요한 본사나 데이터센터급 네트워크라면 OSPF 같은 동적 라우팅 프로토콜을 써야 장애에 자동으로 대응할 수 있다. 그리고 만약 여러 통신사 회선을 동시에 쓰거나 자체 AS 번호를 가지고 인터넷에 직접 연결하는 수준의 조직이라면 BGP까지 다뤄야 하는 영역으로 넘어간다.

마치며

정적 라우팅과 동적 라우팅의 차이는 결국 지도를 누가, 어떻게 갱신하느냐의 차이다. 작은 규모에서는 사람이 손으로 그린 지도로 충분하지만, 네트워크가 커지고 변화가 잦아질수록 스스로 갱신되는 지도가 필요해진다. 그리고 그 갱신되는 지도들이 전 세계 규모로 모이면 BGP라는 하나의 거대한 프로토콜 위에서 오늘날의 인터넷이 돌아가고 있는 것이다. 평소에는 보이지 않지만, 지금 이 글을 읽는 순간에도 데이터는 수많은 라우터와 AS를 거치며 최적의 경로를 찾아가고 있다.

참고

  • Cisco, “라우팅 프로토콜 개요” 공식 문서
  • RFC 4271, Border Gateway Protocol 4 (BGP-4) 표준 문서

이 게시물이 얼마나 유용했나요?

별점을 클릭하여 평가하세요!

평균 평점 4.5 / 5. 투표 수: 300

아직 투표가 없습니다! 첫 번째로 평가해보세요.

홍TV

홍TV
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.