작업자의 실수로 인한 전국적인 네트워크 장애사고
네트워크 안전성 확보를 위한 대책 마련 시급

[월드투데이 이예찬 기자] 지난 25일 오전 11시 16분경부터 약 89분간 발생한 KT 네트워크 장애 사고의 원인이 '라우팅 오류'로 밝혀졌다. 

라우팅 오류란?

이번 사고의 원인은 라우팅 오류로 밝혀졌다. 라우팅 오류는 라우터 간의 전송이 잘못되어 생기는 것이다. 

라우터는 OSI 7계층 중에서 네트워크 계층에 해당하는 기기로 상위 통신망과 하위 통신망을 중계해 주는 기계이다. 가정에서 흔히 쓰는 공유기도 라우터 중 하나이다.

구체적으로 살펴보면 DNS 트래픽 증가에 이어 네트워크 장애가 발생하였고 트래픽을 증가시키는 분산서비스거부공격(DDoS)이 예상되었지만 '라우팅 오류'가 원인으로 파악되었다.

로그기록을 분석한 결과 부산 국사에서 기업 망 라우터 교체 작업 중 작업자가 잘못된 설정 명령을 입력하였고 이후 라우팅 오류로 인해 전국적인 인터넷 네트워크 장애가 발생한 것으로 분석되었다.

인터넷 서비스가 제공될 때, PC · 스마트폰 등 개인의 접속단말은 지역 라우터, 센터 라우터 등을 거쳐 국내외 네트워크로 연결되는데 정상적인 연결을 위해서는 이용자 단말과 접속 대상 IP 주소 사이에 있는 다수의 라우터의 경로 정보가 필요하다.

[KT의 네트워크 구조.사진=과기정통부]
[KT의 네트워크 구조.사진=과기정통부]

라우팅 오류 발생 과정

라우터는 네트워크 경로 정보를 구성하기 위해 최신의 경로 정보를 라우터끼리 교환(업데이트) 하는 프로토콜을 사용하는데, KT 네트워크와 외부 네트워크 경로 구성에는 BGP 프로토콜을 사용하고, KT 내부 네트워크 경로 구성에는 IS-IS 프로토콜을 사용한다.

BGP 프로토콜은 BGP(Boarder Gateway Protocol)의 약자로 외부 라우터와 경로 정보를 주고받는 프로토콜로서, 통상 수십만 개 수준의 경로 정보를 교환하는 프로토콜이다.

IS-IS 프로토콜은 IS-IS(Intermediate System to Intermediate System)의 약자로 내부 라우터 간 경로 정보를 주고받는 프로토콜로서, 통상 1만 개 이하의 경로 정보를 교환한다.

작업자의 작업 내역을 확인한 결과, 사고 발생 라우터에 라우팅 설정 명령어 입력 과정에서 IS-IS 프로토콜 명령어를 마무리하는 부분에서 ‘exit’ 명령어를 누락했으며, 이로 인해, BGP 프로토콜에서 교환해야 할 경로 정보가 IS-IS 프로토콜로 전송되었다.

통상 1만 개 내외의 정보를 교환하는 IS-IS 프로토콜에 수십만 개의 BGP 프로토콜의 정보가 잘못 전송되면서, 라우팅 경로에 오류가 발생하게 되었다.

단순히 코드 한 줄만 다른 기기에 꽂아 작동이 안 되는 정말 기본적인 실수로 밝혀지면서 KT 이용자들의 불만이 폭발했다.

[라우팅 오류 전파 양상. 사진=과기정통부]
[라우팅 오류 전파 양상. 사진=과기정통부]

또한 IS-IS 프로토콜 내의 라우터들은 상호 간의 정보 최신화를 위해 자동으로 데이터를 주고받는데, 부산 지역 라우터에 잘못된 라우팅 경로가 설정된 이후, 다른 지역의 IS-IS 라우터 등에도 잘못된 업데이트 정보가 전달되었다.

KT 네트워크 내에 있는 라우터들을 연결하는 IS-IS 프로토콜은 잘못된 데이터 전달에 대한 안전장치 없이 전국을 모두 하나로 연결하고 있고 결국 한 개 라우터의 잘못된 라우팅 경로 업데이트가 전국의 라우터에 연쇄적으로 일어나서 장애가 전국적으로 확대되었다.

한편 KT가 이번 사고 이전 네 차례의 통신 장애에 무보상으로 일관하면서 KT 이용자들이 다른 통신사로 눈을 돌리고 있는 추세이다.

KT의 약관에는 3시간 이상의 연속 장애 발생 시에만 보상을 하도록 되어있어 약관을 수정하지 않는 이상 이번에도 보상을 받기는 힘들 것으로 예상된다.

저작권자 © 월드투데이 무단전재 및 재배포 금지