인터넷 피어링은 두 IP 네트워크 간의 연결입니다.

피어링이 맺어지게 되면 우리 네트워크에서 발생한 트래픽의 목적지가 피어 네트워크를 통해 접근할 수 있는 곳이라면, 인터넷이 아닌 피어 네트워크를 통해 트래픽이 흐르게 되죠.

왜 인터넷이 아닌 피어링이냐구요? 더 빠르게 트래픽을 처리할 수 있어서 입니다.

피어링은 두 네트워크 간에 라우팅 정보를 교환하는 BGP(Border Gateway Protocol)를 사용하여 구성되며, ASN(Autonomous System Number)으로 정의됩니다.

네트워크 연결 양쪽의 BGP 구성에 따라 이 연결이 '피어링(Peering)'인지 '트랜짓(Transit)' 유형인지가 결정됩니다.

대규모 기업 네트워크에서 피어링은 아래와 같은 목적을 이룰 수 있게 합니다.

  1. 네트워크 전송 비용 최적화
  2. 목적지까지의 네트워크 연결 간소화
  3. 네트워크 성능 최적화
  4. 네트워크 보안 강화

네트워크 피어링의 동작 방식

네트워크 피어링은 A 네트워크의 장비 X가 피어 B 네트워크의 장비 Y와 직접 트래픽을 교환할 수 있도록 하는 방식으로 동작합니다.

그래서 피어링을 사용하면 인터넷에 도달하는 방식을 보다 직접적으로 제어할 수 있습니다.

예를 들어볼게요.

기업 온프레미스 데이터센터에 있는 애플리케이션이 퍼블릭 클라우드에서 데이터를 다운로드해야 할 때가 있습니다. 당연히 이 애플리케이션은 인터넷을 통해 클라우드의 데이터를 다운로드할 수 있습니다.

그러나 온프레미스 데이터센터와 퍼블릭 클라우드 간 네트워크 피어링을 맺게되면, 인터넷을 사용하지 않으면서도 피어링을 통해 데이터를 직접 빠르고 안전하게 다운로드할 수 있습니다.

2가지 인터커넥션 유형 : 피어링 vs 트랜짓

인터넷 피어링에 대해 조금 더 거시적으로 보자면, 피어링은 인터커넥션의 한가지 유형입니다.

  • 트랜짓 (Transit)
    트랜짓은 인터커넥션을 통해 통신망이 거대한 A 네트워크(ISP, Telco, Carrier)가 상대적으로 통신망이 작은 B 네트워크(기업, CP, 지역 ISP, MSO/SO)에게 글로벌 인터넷에 대한 연결성을 제공하는 것을 뜻합니다.

    대부분의 트랜짓 관계에는 비용💵이 따릅니다. 그래서 통신망이 더 작은 B 네트워크는 인터넷 트래픽을 송수신하기 위해 A 네트워크에게 그 비용을 지불합니다.

  • 피어링 (Peering)
    피어링은 인터커넥션을 통해 A 네트워크와 B 네트워크의 내부에서 시작되거나 종료되는 트래픽만 흐르게 합니다. (가입자가 많은 Tier 1 ISP는, 가입자들도 ISP의 네트워크 내부로 인식합니다)

    역사적으로 피어링은 A 네트워크나 B 네트워크나 모든 피어링 당사자 간 비용을 지불하지 않고, 상호 연결을 통해 상호 이익이 기대될 때 피어링이 맺어졌습니다.

2가지 피어링 유형 : Public 피어링 vs Private 피어링

트랜짓과 피어링 중에서 피어링을 조금 더 자세히 살펴보면, 두 가지 유형의 피어링 연결이 있습니다.

  • Public 피어링
    Public 피어링은 IXP(Internet eXchange Provider)를 통해 이뤄집니다. (국내 IXP는 KINX가 있죠)
    Public 피어링에 사용되는 BGP 연결은 라우트 서버나 개별 ASN에 대한 양방향 세션을 통해 이뤄집니다.

    A 네트워크가 Public 피어링을 사용하면 IXP의 IX 네트워크에 1개의 인터커넥션 링크를 연결함으로써 다른 Public 피어링 참가자인 B, C, D 모든 네트워크와 피어링을 맺는 효과를 얻을 수 있습니다.

  • Private 피어링
    Private 피어링은 A 네트워크와 B 네트워크가 전용 IP 연결을 통해 트래픽을 직접 교환하기로 합의하는 것입니다. 그래서 Private 피어링은 서로 대량의 네트워크 트래픽을 자주 교환해야 할 때 선호됩니다.
    피어링에 수반되는 전용 IP 연결은 A 네트워크와 B 네트워크가 물리적으로 연결될 수 있는 Colocation 데이터센터나 PoP(Point-of-Presence)에서 서로의 광 통신망을 직접 연결하여 생성됩니다.
    그리고 공통된 물리적 위치가 없는 네트워크 간에는 광 통신사의 Dark fiber를 이용하거나 제 3자의 네트워크를 통한 Virtual 인터커넥션을 통해서도 Private 피어링을 맺을 수 있습니다.

피어링 설정 방법

우선 IP 네트워크 간 피어링을 맺기 위해서는 두 피어 모두 ASN과 공인 IP 대역을 소유하고 있어야 합니다.
그럼 양쪽의 ASN 간 라우팅 정보를 교환할 수 있도록 BGP 프로토콜을 사용하여 인터커넥션을 구성하며, 이 때 양쪽의 BGP 구성에 따라 이 상호 연결성이 피어링인지 트랜짓인지 결정하게 됩니다.

그래서 기업 네트워크 피어링 담당자는 기업의 IP 네트워크가 인터넷에 연결되는 방식을 모두 관리해야 합니다. 혹시 피어링 담당자 분들이 계시다면 kentik의 피어링 가이드 "The Peering Coordinators’ Handbook: Foundations of the Peering Trade"을 참고하시는 걸 추천해드려요.

다시 본론으로 돌아와서, BGP는 라우팅 경로를 교환하는 프로토콜로써 논리적인 연결성만을 제공합니다. 그래서 실질적으로 이 BGP 프로토콜이 교환될 수 있는 네트워크 연결이 필요하죠.

이 피어링을 위한 네트워크 연결은 보통 아래와 같은 방법으로 이뤄집니다.

  • IXP, 클라우드 또는 IDC 내에 있는 기업 네트워크의 PoP을 통해서
  • IXP, 클라우드 또는 상대 피어와 직접 광 통신망 연결을 통해서
  • 인터넷을 사용하되 상대 피어에게 연결할 수 있는 ISP의 가상 네트워크 경로를 통해서

피어링 기회 확인과 협상

피어링의 첫 단계는 피어링을 통해 상호 이익을 얻을 수 있는 피어링 타겟을 찾는 것 입니다.

예를 들어, A ISP가 B ISP의 네트워크와 대량의 네트워크 트래픽을 송수신하고 있다고 판단하면 비용을 절감하면서도 네트워크 성능을 개선하기 위해 서로 피어링하기로 결정할 수 있습니다. (KT, LG U+, SKB)

그럼 A ISP는 누구와 얼마만큼의 네트워크 트래픽을 송수신하고 있는지 어떻게 알 수 있을까요?
이럴 때 사용되는 것이 Flow 기술입니다. (Netflow, sflow, IPFIX, VPC Flowlog 등)
Flow에 대해서는 추후 다른 아티클에서 깊게 분석하여 이야기하고자 합니다.

위에서 언급한 Flow, BGP 등 트래픽 분석을 통해 피어링 타겟을 확인하면,
다음 단계는 해당 파트너의 피어링 정책을 이해하고 피어링이 가능한지 평가하는 것입니다.

피어링 정책

피어링 정책(Peering policy)이란 네트워크 피어링에 대한 태도를 인터넷에 공표하는 것 입니다.

  • Open - 가능한 모든 네트워크에서 모든 피어와 피어링합니다.
  • Selective - 피어링을 선호하지만, 상호 이익을 정의하는 일련의 요구 사항이 있습니다.
  • Restrictive - 피어링은 하지만, 새로운 피어를 찾지 않으며 일반적으로 모든 요청을 거부합니다.

Open 피어링 정책을 사용하는 피어링 타겟은 언제 어디서든 연락하고 피어링에 동의하기만 하면 됩니다.
Selective 피어링 정책을 사용하는 피어링 타겟의 경우에도 마찬가지이지만, 상호 이익의 요건이 충족된다는 것을 증명해야 하는 경우가 많습니다.

위와 같이 피어링에 대한 합의가 이루어지면, Private 피어링의 경우, 네트워크 교차 연결(Cross-connect)을 구성한 후 네트워크 트래픽이 흐르도록 BGP 세션을 구성하고 동작시켜야 합니다.

피어링을 해야하는 이유

인터넷을 통한 트래픽 라우팅에 비해 피어링은 아래와 같은 이점들을 가져다 줍니다.

  • 보안 (Security)
    피어링이 모든 유형의 네트워크 위협을 방지하지는 못하지만,
    데이터 Sniffing이나 인터넷 기반 공격의 위험을 줄일 수 있습니다.

  • 성능 (Performance)
    피어링은 직접적인 네트워크 연결이므로 Latency나 Bandwidth는 피어링 당사자 둘에 의해서만 제어됩니다. 따라서 인터넷을 통해 라우팅할 때보다 성능이 더 좋은 경우가 많으며 ISP 고객들은 피어링을 통해 더 나은 디지털 경험을 누릴 수 있습니다.

  • 안정성 (Reliability)
    피어링 네트워크는 ISP의 인프라에 대한 DDoS 공격과 같은 문제로 인해 중단되지 않으므로 더 안정적일 수 있습니다.

  • 비용 절감 (Cost effective)
    피어링은 트래픽을 트랜짓 ISP를 통해 전송하는 대신 다이렉트로 연결된 네트워크 경로를 통해 송수신합니다.
    피어링을 구현하려면 초기에 상당한 투자가 필요할 수 있지만, 기업이 인터넷을 통해 데이터를 전송하기 위해 높은 단위 비용을 ISP에 지불해야 하는 경우, 피어링을 통해 지속적으로 운영 비용을 절감할 수 있습니다.

  • 통제성 (Control)
    고객에게 중요한 서비스를 제공하는 네트워크에 피어링을 맺게 되면, 서비스 품질에 대한 통제력을 높일 수 있습니다. 지속적으로 안정적인 네트워크 트래픽을 보장해야하는 경우, 네트워킹 성능을 통제할 수 있어야 합니다. (ex. Netflix, Zoom, YouTube 등)

피어링을 사용해야 할 때

위와 같이 피어링은 많은 Benefit을 제공하지만, 설정하거나 관리하기가 쉽지 않습니다.

그렇다면 피어링이 우리 기업의 네트워크에 꼭 필요한 건지 어떻게 결정해야 할까요?
그리고 피어링 타겟을 선정하고 그 중에서 누구와 파트너 관계를 맺을지 어떻게 결정할 수 있을까요?

간단하고 분명한 대답은 재정적인 측면에서 결정하셔야 된다는 것입니다. 💵

일반적으로 네트워크 피어링에 참여하는 것이 기존의 네트워크 구조보다 더 비용 효율적이라고 판단될 때 기업은 피어링을 사용해야 합니다.

마치며

읽어주셔서 감사합니다.

네트워킹 기술과 시장에 대한 소통, 언제나 환영합니다! 🙌
Coffee chat 신청하기
메모 남겨주시면 간단한 커피챗을 통해 저희 팀의 경험을 공유해드릴게요 😊

에어키는 네트워크 옵저버빌리티 플랫폼, kentik의 파트너로 활동하고 있습니다.
문의처 - 에어키 MSP팀 김상휘 프로 (shkim0730@airquay.com, +82-10-2914-9400)

이 글은 kentik의 kentipedia 문서의 번역/수정본이며 오역이 있을 수 있습니다. (출처)

profile
에어키 MSP팀에서 네트워킹, 보안, 옵저버빌리티를 지원하고 있습니다 :)

0개의 댓글