BGP 라우팅이란 뭘까?
네트워크 엔지니어가 아니면 일반 컴공과 출신이 네트워크 겉햛기로는 배우기 힘들다.
나도 시스템엔지니어 클라우드엔지니어로 취직을 했지만
회사를 다니면서 VPN이나 전용선을 설정하면서 처음 들어봤었다.
우선 약어와 정확한 뜻을 알아야한다.
BGP(Border Gateway Protocol) 라우팅은 인터넷에서 사용되는 라우팅 프로토콜 중 하나입니다. BGP는 인터넷 서비스 제공업체(ISP) 사이에서 라우팅 정보를 교환하여 인터넷 트래픽을 경로를 결정하는 프로토콜입니다. |
이게 무슨말일까?? 우선 라우팅프로토콜의 전체를 확인하자.
BGP는 다이나믹 라우팅 프로토콜에 외부 인터넷과 통신하는 EGP의 프로토콜이다!
내부에선 좌측의 프로토콜을 쓰고 외부랑 통신할땐 BGP를 쓴다는걸로 이해하면된다.
근데 패킷들은 어떻게 최적의 경로를 아는걸까?
내부환경은 작기때문에 각자에 맞게 프로토콜을 쓰고 위치에 맞게 라우팅을 해준다.
조금더 쉽게 말하자면 우편이나 택배시스템으로 봐도 비슷하다
단지 패킷과 데이터를 옮기는것과 편지와 상품을 옮기는 차이라고 보면된다.
도착지의 주소를 확인하고 최적의 경로로 이동후 도착지로 배달된다.
극단적으로 친구에게 택배를 보내야하는데 옆집이다? 그럼 그냥 바로 주는게 빠르다.
택배를 붙인다고보면 지역 우체국에 전달하고 해당 택배를 상위로 보낸뒤 적절한 지역으로 다시 보낸다.
여기서 각자의 지역 우체국을 위 그림에 AS라고 보면된다.
AS? 이건 또 뭔데
AS(Autonomous System)는 인터넷에서 사용되는 라우팅 시스템에서 자체적으로 관리되는 네트워크 그룹을 의미합니다. AS는 일반적으로 ISP, 대학, 기업 등과 같은 조직에 속한 하나 이상의 IP 주소 블록으로 구성되며, 자체적인 네트워크 구성, 라우팅 정책 및 관리를 수행합니다. |
위 AS 번호는 1~65535까지 사용가능하다.
자체 관리하는 네트워크 그룹 각각의 지역우체국이라고 보면된다
다른 우체국 입장에선 옆 우체국이 어떤 집배원이 배달하는지 관심없다
여기서도 AS가 각자 어떤 프로토콜을 쓰는지는 관심없다.
단 AS가 어떤 주소를 가졌는지는 서로 알 필요가있다. 이 라우팅 정보를 교환하기위해 설계된게 BGP 라우팅이다.
그리고 서로서로 연결된 정보를 계속 공유한다.
위 그림에서 AS1 -> AS5로 갈려고하면
AS2를 거치는것과
AS3 -> AS4를 거치는 방법이다.
단순히 홉수만보면 위가 더 빠를듯하다 보통은 더 빠르지만 실제로 거리나 AS2의 트래픽 유료 트래픽일수도있고 다를수도있다.
이런식으로 계속 정보를 교환하는게 BGP 라우팅이다.
-> 하지만 이점에서 누군가 잘못된 정보를 뿌리면 장애 포인트이다.
자세한건 아래 링크에서 한번 읽어보자
https://www.cloudflare.com/ko-kr/learning/security/glossary/bgp-hijacking/
또 추가적으로 BGP도 IP 처럼 사설 BGP, 외부 BGP가 있다.
192.168.0.0 처럼 AS도 64512 ~ 65534는 사설 AS대역으로 사용한다.
보통 동일 회사내에서 여러개 IDC나 클라우드를 운영한다면 서로 연결을 할때 사용해야한다.
결론적으로는 우리의 패킷은 인프라 엔지니어들에 의해 잘 짜여진 정보로 최적의 통신을 할려고 노력한다.
이와같이 다양한 형태가 있다
다양한 형태는 아래의 MS에서 공부하자.
https://learn.microsoft.com/ko-kr/windows-server/remote/remote-access/bgp/border-gateway-protocol-bgp