이 글은 go언어를 활용한 네트워크 프로그래밍을 기반으로 작성되었습니다


라우팅 프로토콜

전 글에서의 라우팅을 살펴보면 라우팅이라는 것은 굉장히 간단해보일 수도 있다.
하지만 실제 라우팅 절차는 각각의 패킷이 물리적인 매체를 통과하거나 네트워크가 중단되더라도 문제없이 목적지까지 도착하기 위해 많은 프로토콜들이 조화롭게 동작한 걸과물이다.

라우팅 프로토콜은 노드 간의 최상의 결로를 결정하는 자체적인 기준을 가지고 있다.

  • 일부 프로토콜은 홉 카운트를 기반으로 경로의 효율성의 결정한다.
  • 일부는 대역폭을 사용한다.
  • 때로는 더 효울적인 경로 선택을 위해 더 복잡한 방법을 사용할 수도 있다.

라우팅 프로토콜은 패킷이 자율 시스템 내부로 라우팅되는지, 혹은 외부로 라우팅되는지에 따라 내부 라우팅 프로토콜인지 외부 라우팅 프로토콜인지 결정된다.

자율 시스템이란 하나 이상의 네트워크를 관리하는 조직이다.


ISP

자율 시스템의 한 예로 ISP가 존재한다. RFC 1930에 요약된 대로 각 자율 시스템에는 자율 시스템 번호(ASN)이 할당된다. 이 ASN은 외부 라우팅 프로토콜을 이용하여 다른 자율 시스템에게 ISP 네트워크 정보를 브로드캐스팅 하는 데 사용된다.

외부 라우팅 프로토콜은 자율 시스템 간에 데이터를 라우팅한다. 이 책에서는 BGP라는 라우팅 프로토콜을 다룬다.

Border Gateway Protocol로 모든 ASN이 할당된 ISP들을 묶어 주는 인터넷의 핵심적인 프로토콜이다.


BGP: 경계 게이트웨이 프로토콜

경계 게이트웨이 프로토콜은 ASN에 할당된 ISP가 라우팅 정보를 교환할 수 있도록 합니다.

BGP는 ISP들이 서로 신뢰한다는 전제로 동작한다.

즉, 어떤 ISP에서 특정 네트워크를 관리하고 해당 네트워크에 예정된 모든 트래픽을 전송해야 한다고 하면 다른 ISP들은 이 요청을 신뢰하고 그에 따라 트래픽을 전송한다. 그래서 BGP가 잘못 구성되어 어떠한 경로에 누수가 있는 경우, 전 세계적으로 네트워크가 중단될 수 있다.

BGP는 DDoS 공격을 완화하는데 아주 중요한 역할을 한다. DDos 공격에서 악의적인 행위자는 공격 대상자를 압박하여 모든 네트워크 대역폭을 소비할 목적으로 수천개의 좀비 노드에서 공격 대상 노드로 트래픽을 발생시킨다. DDoS를 전문적으로 방어하는 단체들은 BGP를 사용하여 공격 대상 노드를 대상으로 하는 모든 트래픽을 AS 네트워크로 재라우팅하고, 정상적인 트래픽에서 악의적인 트래픽을 필터링하고, 필터링된 정상적인 트래픽만을 서비스를 사용할 수 있도록 한다.


0개의 댓글