본문 바로가기

피어링,BGP

IX/IXP란?

반응형

피어링을 이야기하면서 IX/IXP를 빼놓을 수가 없습니다. 최근 SKB와 Netflix 간 망 사용료 분쟁이 진행 중이고, 재판이 있는 날이면 관련 기사를 많이 접할 수 있습니다만, 대중에게 친숙한 개념이 아니다 보니 기자분들도 정확한 정보전달에 어려움이 있는 것 같아, 이에 관련된 이야기를 해 볼까 합니다. 

1. Internet eXchange / Internet eXchange Point 개념

과거엔 대장장이가 열심히 칼/낫 등의 공구를 제작하여 식료품과 교환하려면, 기존에는 농민에게 가서 필요한 공구가 없는지 물어보고 마침 농민이 필요한 공구가 있을 경우, 교환을 통해 농산물을 획득할 수 있었습니다. 추가로 축산물이나 어류가 필요하면 어떡할까요? 목장을 들러 물물교환을 시도한 후 다시 어촌을 방문하여 또 다른 교환을 시도해야만 하죠. 그래서 보다 편리한 교환을 위해 시장이 만들어졌고 대장장이, 농민, 어민, 축산민들은 정해진 한 곳에 모여 필요한 교환을 하게 되니 시간을 단축시킬 수 있었습니다. 유사하게 인터넷 트래픽 교환을 위해선 각 BGP기관이 다른 BGP기관과 모두 연결을 해야 하는 데, 공간적 제약이 존재하므로 이 방법은 비효율적입니다. 그리하여 만들어진 인터넷 시장이 IX라고 보시면 되겠습니다. BGP기관이 통신사의 Transit 서비스를 사용하는 방법도 있습니다만 트래픽이 많고 자신의 정책을 수립하여 트래픽을 조절할 필요성이 대두된다면 IX를 이용하게 되겠지요. 통신사들 입장에서도 다른 통신사와 트래픽을 교환해야 하는데, 되도록이면 널리 알려져 있고 중요한 BGP기관이 많은 곳을 선호하게 되는 것은 당연지사입니다.

영문 wiki에서는 아래와 같이 IX/IXP를 설명하고 있습니다.   

Internet exchange points (IXes or IXPs) are common grounds of IP networking, allowing participant Internet service providers (ISPs) to exchange data destined for their respective networks. - wikipedia

< https://en.wikipedia.org/wiki/Internet_exchange_point >

IX/IXP는 인터넷 트래픽 교환을 위해 세워진 접속점 또는 인터넷 교환 지점을 의미합니다. 초기 인터넷에서 사업자/기관 간 트래픽 교환을 위해 4개의 NAP(Network Access Point)을 만들어 사용 것에 뿌리를 두고 있습니다. NAP으로 불리다가 인터넷이 대중화되면서 영향력이 커지며 IX/IXP로 변경되었습니다.(개인적으론 IX가 더 친숙합니다.) NAP이란 단어의 흔적은 남미로 가는 중요한 IX/IXP로 큰 영향력을 보유 중인 NAP of Americas(Miami, USA)에서 찾을 수 있습니다.

IX/IXP에서 BGP를 사용 중인 기관(ISP/CP/OTT/정부기관/기업/연구기관 등)들이 모여서 상호 간의 필요에 따라 연동(피어링)을 하고 인터넷 트래픽을 교환하게 됩니다.

협의로는 L2 Switch/L2 Fabric 만을 지칭하기도 하지만 광의로는 연동할 수 있는 Data Center/Facility를 의미하기도 합니다. 

2. IX/IXP의 구분

L2IX
(Layer2 IX)
- Layer2 기술(ATM, FDDI,근래에는 ethernet switch)을 사용하여, BGP기관들간 연동
- 보안문제에 상대적으로 취약함
- 다른 기관사이의 트래픽으로
  품질에 영향을 받기도함
- Public Peering - 대부분의 IX
- Route Server를
 사용하여 연동할 수도 있음
L3IX
(Layer3 IX)
- BGP기관간 직접연동(Layer3)
- 보안문제에 상대적으로 강함
- 두 기관간 품질확보 용이
- Private Peering에
주로 사용
(Transit처럼 동작)
- 해외 사례를
  찾기 어려움
 

<Fig.1 L2IX와 PNI>

  • BLPA(Bi-lateral Peering Agreement) : 2개의 Peering 주체 간 Peering 협정, L2IX를 통한 public peering, private peering등에 적용.
  • MLPA(Multi-lateral Peering Agreement) : 3개 이상의 Peering 주체 간 Peering협정. L2IX + route server의 조합으로 구성되며 open peering에 많이 사용. 
  • PNI(Private Network Interconnect) : Private Peering. Data Center내에서 연동할 경우엔, cross connect/x-con(광케이블/UTP/동축케이블 등 물리적 연결 매체)를 통한 직접 연결. Cross connect는 입주한 Data Center의 요금정책에 따라 매월 사용요금을 지불.  
  • Data Center / Facility : 인터넷 통신장비와 서버 등을 설치하여 운영하는 전용건물. 

① L2IX : Layer 2 기술에 기반한 IX

L2IX는 Layer2 기술에 기반한 IX로 초기엔 ATM/FDDI/Ethernet 등의 기술을 사용하였으나 현재는 ethernet기술로 통일되어 사용 중인 IX입니다. (VxLAN EVPN 등도 사용 중 이지만 이번글에서는 간단하게 ethernet으로 통일합니다. 네, PC나 notebook에 꽂혀있는 UTP 케이블/LAN 케이블에 사용되는 기술 맞습니다.) 간략하게 설명하면 "BGP를 사용하는 기관들의 라우터/L3 스위치가 중간의 switch를 통해 연동하여 인터넷 트래픽을 교환하는 장소/시설"이라고 이해하시면 됩니다. 

Fig.1의 ⓐL2IX에 AS64512, AS65000, AS65512, AS65534, AS4200000000, AS4200000001, AS4294967293, AS4294967294 (모두 사설 AS번호로 예를 들었습니다.)의 8개 BGP기관이 모여서 연동을 한다고 가정해 보겠습니다.

각각의 기관은 L2 Switch접속 시 고유 IP주소를 할당받고, 다른 BGP기관과의 협의를 통해 자유롭게 BGP 연동을 해서 트래픽을 교환하게 됩니다. 모든 기관과 연동할 필요는 없습니다. 각 BGP기관의 정책에 따라 진행 여부가 결정되는 경우가 많습니다. 아무래도 open peering 정책을 가지고 있는 상대와 진행이 수월하겠죠.

Peering정책은 기존 글을 참고하세요.

2021.08.07 - [피어링,BGP] - 피어링(Peering)과 트랜짓(Transit)이란?

 

피어링(Peering)과 트랜짓(Transit)이란?

인터넷에서 중요한 개념 중의 하나로 피어링(Peering)과 트랜짓(Transit)이 있습니다. 초기 인터넷이 태어난 미국에서 biz model에 대한 개념을 확립하여 현재 전 세계에서 사용되고 있는데, 이 두 가지

2infinity-and-beyond.tistory.com

만약 L2 Switch가 없다면 어떻게 될까요? Fig.1 ⓑ에서처럼 각 BGP 기관은 필요에 따라 PNI(Private Network Interconnect)로 구성해야만 합니다. 규모가 큰 BGP기관은 PNI를 선호하고, 작거나 open peering정책을 선호하는 기관들은 public peering을 선택하는 경향이 있습니다. PNI는 별도 포트와 비용이 수반되므로 트래픽이 일정 규모 이상이어야 대상이 될 수 있습니다. 그리고 BGP 연동 대상이 증가하면 그만큼 비용도 비례하여 증가하게 됩니다. L2 Switch구조에서는 포트의 대역폭을 여유 있게 증속해 놓는 다면 BGP 연동대상이 증가함에 따라 비용도 비례하여 증가하지는 않습니다. 그래서 IX/IXP사업자들은 L2 Switch구조가 저렴하고 합리적인 선택이라고 하지만, BGP기관들은 PNI의 대상을 전제로 전체 비용과 품질을 감안하여 L2 Switch와 PNI의 용량 증설 등의 판단을 하게 됩니다. 

L2IX의 특징 중 L2구조에 따른 보안관점도 한 번 정리해 보죠. L2구조를 기반으로 하므로 대부분의 L2 보안 문제를 가지고 있었습니다. MAC address spoofing(물리 주소 변조), L2 Looping 등의 문제를 가지고 있었지만 Mac filter처럼 보안 문제를 차단하는 기술 적용 등 IX의 노력으로 초기보다는 많이 안정화된 상태입니다.

L2IX는 중간의  L2 Switch를 공유하여 사용하는 구조이므로, Fig.1 ⓐ에서 AS64512와 AS4294967294간 public peering을 맺고 있고, AS645512와 AS4200000000가 public peering을 맺었다고 가정하겠습니다. AS645512→ AS4200000000 로 대규모의 DDOS(분산 서비스 거부 공격)이 발생하여 L2 Switch의 내부 경로를 잠식하면, 이 경로와 관련은 없지만 같은  L2 Switch를 공유하고 있는 AS64512↔ AS4294967294의 인터넷 트래픽도 영향을 받을 수 있습니다. 이런 이유로 품질 관점에서 L2IX보다 PNI를 선호하기도 합니다.   

  • BLPA vs MLPA

BLPA(Bi-lateral Peeing Agreement)와 MLPA(Multi-lateral Peeing Agreement)를 정리하고 넘어가야 하는데, BLPA는 양자 간의 연동 협정, MLPA는 다자간의 연동 협정이라고 이해하시면 됩니다. BLPA는 양자 간 직접 BGP를 연동하는 반면, MLPA는 중간 route server를 두고, 각 BGP기관은 route server와 bgp를 연동한 후, route server에서 수집된 BGP 정보를 모든 연동된 BGP 기관에 다시 전달해 주는 방식을 사용한 다자간의 연동 구성입니다. 여기에서 route server는 마치 transit 관계에서 처럼 다른 BGP기관에 또 다른 BGP기관의 정보를 전달해 주게 됩니다. BLPA의 경우, 매번 연동할 때마다 양측의 설정과 협의가 필요하지만, MLPA의 경우, route server와 연동한 이후엔 매번 다른 BGP기관과 별도로 설정하지 않아도 새로운 BGP기관과 트래픽을 교환할 수 있습니다. MLPA 구조를 사용 중이라면 BGP 정보를 따로 관리하지 않는 이상, 신규 BGP기관이 IX에 연결되어도 기존 BGP기관은 모를 수 있습니다. MLPA의 경우, 예상치 못한 결과가 발생될 수 있고, 보유한 정책과 어긋나는 트래픽 교환이 이루어질 수 있으므로 일정 규모 이상의 ISP에서 선호하는 방식은 아닙니다.

  • US Business model vs EU Business model

IX는 미국과 유럽의 사업모델이 차이를 보이는데, 미국의 경우엔 Data Center를 소유한 기업이 IX도 같이 제공하는 경우가 대부분입니다. 표현이 적절한지 모르겠지만 건물주가 구내매점까지 같이 하는 경우랄까요? Equinix의 Ashburn, San Jose, Miami, Coresite의 Any2Exchange 등이 대표적이죠. 반면 유럽은 Data Center를 소유한 기업과 별도의 기업이나 단체가 IX를 제공하는 것이 일반적입니다. Data Center를 소유한 기업에서도 IX를 제공하기도 하지만 별도의 전문 IX보다는 규모가 작습니다. 건물주가 구내매점을 외부 전문 사업체에 임대한 경우겠네요. 독일의 DE-CIX, 네덜란드의 AMSIX, 영국의 LINX, 유럽 밖으로는 홍콩의 HKIX, 미국 시애틀의 SIX가 유사한 사업모델을 가지고 있습니다. 

<Fig.2 L3IX와 국내IX>

②L3IX : Layer 3로 연동된 IX

L3IX는 중간의 L3 장비(라우터)를 통해 다른 BGP기관의 정보를 전달받아 인터넷 트래픽을 교환하는 IX입니다. L3연동이므로 L2연동보다는 보안성 확보가 상대적으로 용이하지만 BGP특성상 Best 정보만을 전달받으므로 L3IX의 정책에 따라 전달되는 BGP정보가 직접 모든 BGP 기관과 연동했을 경우보다 줄어들게 됩니다. 해외에서는 사례를 찾아보기가 극히 어려운 구조입니다.   

3. 우리나라의 IX

우리나라의 IX를 간략화하여 모델링하면 Fig.2 ⓓ정도로 가능합니다. L3IX는 국내 Tier-1인 KT, LGU+, SKB가 각각 KTIX, DIX(Dacom IX), SKBIX를 제공하고 있고 L2IX로는 KINX(Korea Internet Nuetral eXchange)가 있습니다. 기타 전산원의 KIX 등 몇 개가 더 있지만 국내 Tier-1 3사의 IX가 국내 인터넷 트래픽 상당 부분을 점유하고 있습니다. 과장하면 통신 3사의 IX가 챔피언스리그이고 KINX 포함 다른 IX들은 유로파리그라는 것이 축구를 좋아하시는 분들에게 적당한 비유일지도 모르겠습니다. Fig.2 ⓓ의 AS64512가 국내 연동을 하고 있다고 가정하면 L3IX인 KTIX와 DIX에 연동하고, 추가로 L2IX인 KINX를 통하여 타사업자와 연동을 하거나,  AS4200000000처럼 KTIX, DIX, SKBIX, KINX에 모두 연동하여 트래픽을 처리할 수도 있습니다. 각 기관의 트래픽 양과 트래픽 성격, 정책에 맞게 선택하면 됩니다. KINX에는 국내 기업, MSO와 국내/해외 OTT, CP, CDN, 해외 통신사들이 연결되어 있으므로 해당 기관과 트래픽을 교환하기에 적합한 L2IX이지만 국내 Tier-1의 트래픽을 처리하는 데에는 한계가 있습니다.  KT 자회사에 편입된 HCN, LGU+에 편입된 헬로비젼, SKB에 편입된 티브로드의 영향으로 KINX의 멤버에도 변화의 바람이 불지 관심을 가지고 지켜보면 되겠네요.

<Fig.3 2020 한국인터넷 백서 - 국내 IX별 연동망 회선 연결 구조>

https://www.nia.or.kr/site/nia_kor/ex/bbs/View.do?cbIdx=99871&bcIdx=23250&parentSeq=23250 

 

[NIA 한국지능정보사회진흥원]2020 한국인터넷 백서

정보화로 사회현안을 해결하고 국가미래를 열어가는 세계 최고의 ICT 전문기관 NIA한국지능정보사회진흥원입니다.

www.nia.or.kr

4. 대표적인 Global IX/IXP

지역 도시/주/국가 IX/IXP etc
US Ashburn, VA Equinix  
New York, NY Equinix, NYIIX  
Miami, FL Equinix NAP of Americas 
Chicago, IL Equinix  
Dallas, TX Equinix  
Seattle, WA SIX 인터넷업계 기부를 기반으로 Western Building내에 설립
Bay Area, CA Equinix San Francisco, Palo Alto, Sunnyvale, San Jose등
Los Angeles, CA Any2Exchange One Wilshire - Coresite
EU Frankfurt, DE DE-CIX  
Amsterdam, NL AMSIX  
London, UK LINX  
ASIA Hong Kong, CN HKIX The Chinese University of Hong Kong에서 설립
Tokyo, JP JPNAP  
Singapore, SG SGIX  
S.America São Paulo, BR IX.br  

EU IX/IXP인 DE-CIX와 AMSIX는 다른 도시/다른 국가/대륙으로 확장 중이고, Seattle IX는 특이하게 기부를 통해 확장하여 자리를 잡은 IX입니다.(요금체계도 다른 IX와 다르게 1회성 설치비만 지불하면 되고 매달 지급하는 이용료는 없습니다.) HKIX는 대학에서 시작된 IX로 현재 홍콩을 대표하는 IX의 위상을 지니게 되었습니다. 브라질IX는 최대 트래픽 교환량을 자랑하는 IX로 알려져 있습니다.  

5. He said, she said : SKB & Netflix at SIX

<Fig.4 SIX 물리구성>

지금까지 이야기한 IX정보를 가지고, SKB와 Netflix의 주장을 살펴보겠습니다. PeeringDB와 Seattle IX의 공개된 정보를 사용하여 Fig.4에 SIX에 연동된 SKB와 Netflix의 물리적 구성을 정리해 보았습니다. 2022년 7월의 자료를 기반으로 정리하여 2016년 당시 상황과는 다를 수도 있음을 양해해 주시기 바랍니다. 양사가 정보를 투명하게 공개하지 않는 이상, 현재까지 찾은 정보는 이 정도가 최선인 것 같네요.

2022년 7월 기준, SIX는 Arista Switch로 구성되어 있으며 SKB는 2*100G, Netflix는 2*200G로 SIX에 접속되어 있음. 

  • SKB와 Netflix의 접속점 변경 내역 및 초기 트래픽 인가/인지 내역
  • 2016년 1월 Netflix에서 SIX를 통하여 트래픽 전송 시작
  • 2016년 2월 SKB는 SIX를 통한 트래픽 유입 인지
  • 2018년 5월 Netflix 트래픽 폭증으로 연동지점을 SIX, US → BBIX, 도쿄 JP 변경
  • 2020년 1월 홍콩도 연동지점으로 추가

<Fig.5 SIX 논리구성>

L2IX는 BLPA와 MLPA 중 한 가지 형태를 사용하거나 두 가지 형태를 다 사용할 수 있습니다. 두 가지를 동시에 사용하게 되면 BGP의 Best Path Selection 순서에 따라 BLPA는 주경로로, MLPA는 백업 경로로 사용하게 됩니다. SKB와 Netflix의 관련 기사를 살펴보면 SKB와 Netflix는 MLPA만을 사용하여 SIX에 연동되어 있었던 것으로 판단됩니다. Fig.5에 표시된 것처럼, SKB는 SIX의 route server1/2와 각각 2개씩 BGP session을 설정하였을 가능성이 높습니다. 마찬가지로 Netflix도 SIX의 route server1/2와 각각 2개씩 BGP session을 가지고 있었을 것으로 보입니다. 

<Fig.6 SIX RS 연동 및 트래픽 인가>

Fig.6 ⓐ에서처럼 초기엔 SKB(AS9318)~SIX route server(AS33108) 또는 SIX route server(AS33108) ~ Netflix(AS2906) 가 순서에 상관없이 연동되었을 것이고, 2016년 1월 ⓑ처럼 BGP 연동의 변화, 즉 정책 변화가 발생하자(Netflix에서 한국 서비스를 출시), Seattle OCA(Open Connect Appliance : Netflix의 CDN 서버)는 SIX를 통하여 SKB로 트래픽을 인가하게 되고, 2016년 2월에서야 SKB는 이 사실을 인지하게 되었다는 것이 현재까지 알려진 기사의 내용입니다. 이후의 Seattle → Tokyo, Hong Kong 변경 건에 대한 자세한 내용은 8월의 추가 변론에서 밝혀지게 될 것 같습니다. 

"BGP를 연동하려면 SKB와 Netflix 양쪽에서 설정해야 하기 때문에 SKB가 모를 수가 없다"라는 뉴스 댓글 관련 기사를 읽다가 해당 기사에 조금 보충할 부분이 있는 것 같아, 이번 글에는 IX/IXP, L2IX/L3IX, BLPA/MLPA, public peering, PNI등에 대하여 정리해 보았습니다. 

마지막으로 아래 동영상은 Euro-IX에서 제작한 인터넷의 동작원리를 설명한 자료입니다. 

<euro-ix의 internet="" happens=""></euro-ix의>

 

 

반응형

'피어링,BGP' 카테고리의 다른 글

BGP 정보 확인 - Cisco IOS & Juniper Junos  (0) 2022.07.14
2021년 국내 통신 3사의 Transit, Peering  (2) 2021.08.29
LGU+ 의 Transit, Peering AS  (0) 2021.08.28
SKB의 Transit, Peering AS  (0) 2021.08.22
KT의 Transit, Peering AS  (0) 2021.08.14