인터넷은 network의 combination으로 이루어져있음.
인터넷이 엄청 커지다보니, 하나의 라우팅 프로토콜로는 모든 라우터들의 라우팅 테이블을 업데이트하기가 어려움.
그래서 인터넷은 AS로 나눠지게 됨!
AS
AS는 Autonomous system의 약자로, 단일 administration의 authority 하위 라우터들이나 네트워크들의 그룹임.
AS내부의 라우팅을 Intra-domain, AS끼리의 라우팅을 Inter-domain이라고 부른다.
저기서 Interdomain에서이 Path vector알고리즘과 BGP에 대해서 물어보는건 모 대기업 부트캠프 CS시험에 서술형으로 나온적이 있었음
AS를 그냥 회사라고 생각하면 편함.
IGP는 회사 내부에서 하는 프로토콜임. 즉 문제가 생기면 회사 내부에서만 문제를 처리하면 됨.
하지만 BGP같은 회사 간 통신 프로토콜에 문제가 생기면 여러개의 회사에 문제가 발생할 수도 있음.
그래서 BGP는 속도보다는 신뢰성에 중점을 둠.
특히 클라우드 컴퓨팅에서 BGP에 대해 묻는 시험이 나왔었음. https://www.itworld.co.kr/news/275629
X에서 A로 가는 링크가 깨진 상황.
그러면 A에서 B로 정보를 업데이트 해줘야하는데, 그 패킷보다 B에서 A로 보내는 패킷이 먼저 도착한 상황!
그러다보니 계속 업데이트가 되면서 무한대까지 반복한다.
이걸 어떻게 해결할까?
1. 무한대를 16으로 설정
2. split-horizon : next가 도착지랑 똑같은 패킷은 보내지 않는다.
3. 2번의 문제는, 모든걸 보내지 않다보니 B가 죽었는지 살았는지를 몰라. 그래서 split-horizon & poison reverse라는 방식이 등장했다. 이건 보내긴 하지만, cost를 무한대로 해서 보낸다.
하지만 위의 방법으로도 해결할 수 없는 상황이 있다!
X와 A사이의 길이 깨졌을 때, A는 테이블을 업데이트 하고, B랑 C한테도 업데이트를 해줘야하는데,
B 업데이트는 성공했지만, C로 가는 패킷의 loss가 발생한 상황.
TCP가 아니고 BGP같은 프로토콜 상황에서 말하는것임.
일단 Two-node에서 발생한 해결책으로 해결하려면 C는 A한테 패킷을 보내지 않음. 왜? 이미 무한대니까
그러면 C는 B한테 보냄. B는 이제 (X, 3, C)가 되고, B입장에서는 C를 통해 갈 수 있다고 알게되는것임.
이제 B는 A한테 (X, 4, B)를 보내고. 또 업데이트되고. 이제 C로 들어오면 빙빙 돌것이다.