KT 장애

이승연·2021년 11월 4일
0

Web/Network

목록 보기
9/10

개요

  • Fail Over 를 처리하기 위한 분산환경에서 “한 Node 가 죽으면 다른 서버들이 받는 부하가 최대 22배가 된다.”
  • 트래픽 내용은 다양하고, 재접속 시도까지 포함됨.
  • 전국규모였기 때문에 가입자 5천만명 정도.
  • 이런 부하량은 설계시 상세하게 예측하며, 네트워크나 서버 (HW, SW) 설계시에도 이를 감안해서 구성함.
  • 대부분의 스타트업은 10만명 모으기 전에 망함. 따라서 이런 경험을 하기란 매우 어려움.
  • 이런 경험이라 함은, 라우팅 테이블을 만지는 것.
  • '시스코 라우팅'
  • 대기업에서 저런 네트워크 작업은, “네트워크팀” 또는 “전산 운영팀”에서 하게 되고 중소기업이나 스타트업은 IDC나 클라우드를 쓰기 때문에 관련 업무를 처리하지 않음.
  • 기본적으로 신규기업용 라우터를 설치하면서 새로운 라우터 경로정보를 입력하게 되는데 'exit'이라는 명령을 빠트리며 BGP 프로토콜(외부 네트워크)에서 교환해야 할 정보가 is-is 프로토콜(내부 네트워크)로 전송되었음.
    • 여기서 외부 내부란 Autonomous Systems(autonomous system (AS) is a large network or group of networks that has a unified routing policy.)의 외부 내부를 뜻한다. 난 이게 LAN인줄 알았는데 LAN이 연결되어 있는 백본을 AS라고 하나보다. 그러니까 lan < AS < Interent 순으로 구성되어 있는것.
  • 통상 1만개 내외의 정보를 교환하는 IS-IS프로토콜에 수십만개의 BGP프로토콜의 정보가 잘못 전송되면서,라우팅 경로에 오류가 발생하게 됨.
    • 오류가 발생했다는 것은, 쓸데없는 정보가 수집되어서 부하가 걸린 건가 아니면 중복되는 데이터 때문에 오류가 발생했다는 건가? 라우팅 테이블에 쓸데없는 정보가 들어있어도 어차피 필요한 주소만 쓰니까 문제 없지 않나?
  • 과기정통부, 케이티(KT) 연결망(네트워크) 장애 원인분석 결과 발표
  • 출처: https://subokim.wordpress.com/2021/10/31/core_point_for_kt_fail_over/

DNS 캐시서버와 라우터

  • DNS 캐시서버에 대한 이야기가 계속 나오는데 실제 문제는 라우팅에 있었다. 디도스 공격 때문에 DNS 캐시서버에 대한 이야기가 나오는 것 같은데, 생각해보니 라우팅이 무엇인지 잘 모르겠어서 찾아봤다.

  • 너무너무 친절하신 분이 써놓은 글을 읽으며 정답을 찾았다(링크)

    DNS 서버와 라우터의 역할에 대해 궁금하셔서 그런 것이리라 생각합니다.
    DNS 서버가 이미 IP를 알고 있고, DNS에 주소를 전달하여, IP주소를 전달받은 후,
    그 IP의 컴퓨터와 통신을 하는 과정에 '왜' 라우터가 필요하냐고 생각하신 것 같습니다.

  • 알고 보니 이 dns서버까지 가려면 여러 네트워크를 통과해야 하는 것이었다. 이거 osi 레이어 공부했을 때 배웠잖아! LAN에서 외부 네트워크망으로 연결할 때 라우터가 필요하다!

  • "이 IP 대역에 연결되어 있는 Router들은 서로 자신이 가지고 있는 LAN 영역의 IP 대역을 방송합니다.
    주변 Router 들이 들을 수 있도록 말이지요. 그렇게 한 다리, 한 다리 건너다보면,
    통신하기 위한 IP 대역의 LAN을 관리하는 Router를 발견하게 됩니다."

    • 이 부분은 이해가 잘 안간다.. 내가 가지고 있는 영역의 ip대역을 방송한다... 주변 라우터가 들을 수 있도록? 그런식으로 한다리 한다리 건너면... 통신하기 위한 ip 대역의 lan을 관리하는 라우터를 발견한다? 누가?

내 생각

  • 이런 일이 내가 실제 하고 싶은 일에 가깝다. 코드를 만져 새로운 것을 만들어 내는 것도 물론 재미있지만 이 모든 것을 떠받치고 있는 시스템을 면밀히 감시하는 일.
  • 보고서에 보면 "KT네트워크 내에 있는 라우터들을 연결하는 IS-IS프로토콜은 잘못된 데이터 전달에 대한 안전장치 없이 전국을 모두 하나로 연결하고 있고,"라고 되어있는데
    • 잘못된 데이터 전달에 대한 안전장치를 어떻게 만드나? 모든 라우터에 "이 데이터는 잘못된 데이터"라는 데이터를 입력해야 하나? 잘 이해가 가지 않는다.
  • "시뮬레이터 및 오류의 확산 방지)또한,네트워크가 차단된 가상 상태에서 오류 여부를 사전에발견하기 위한 가상 테스트베드가 없었고,지역에서 발생한 오류가 전국으로 확산하는것을 차단할 수 있는 시스템도 부재하였다"
    • 이런 큰 회사에서도 테스트베드가 부재하다니, 이 점은 정말 잘못했다고 생각한다.
  • 단기 대책 중 technical fix로 "라우팅 설정오류로 인한 피해를 최소화하기 위해,주요통신사업자가 라우팅 작업을 할 때 한 번에 업데이트되는 경로정보 개수를 일정 수준 이하로 제한 등이 검토될 계획이다"를 제시했다.
    • 한번에 업데이트되는 경로정보의 개수가 일정 수준 이상인 경우 cut을 하는 대책인가?
  • 저 답변을 주신 너무너무 친절한 jachin같은 개발자가 되고 싶다.

0개의 댓글