Routing process 다음과 같이 2개 이상 필요하다.
intra-ISP routing: OSPF
routing among ISPs(inter-ISP routing): BGP
router의 개수가 수천만개가 되기 때문에, routing path를 찾기 쉽지 않고 router 개수가 증가할수록 복잡도가 높다.
현재까지 모든 router는 identical하고 network가 flat하다고 가정하고 공부했지만, 실제는 그렇지 않다.
routing table에 모든 destination을 저장할 수 없다.
-> 따라서 forwarding table에 보통 longest prefix matching 방식으로 동작하고, subnet으로 표현되어 있다.
외부의 간섭 없이 자신의 네트웍을 제어하려는 성향이 있다.
위를 고려하여 routing algorithms을 만든다.
aggregate routers는 autonomous system(AS)(a.k.a domain)으로 알려져 있다.
AS1 에서 AS2로 가는 패킷을 AS1의 라우터 중 하나가 받았을 때, 1c로 보내야 할 지 1d로 보내야 할지 모름 -> inter-AS routing은 모든 라우터들이 수행해야 함
eBGP: exterial: 다른 AS를 통해 접근 정보를 받아옴
iBGP: interial: 같은 AS의 다른 라우터에 접근 정보를 전파한다.
Prefix + Attributes(AS Path, Next hop)
ex: AS2, AS3, X: x는 prefix
policy에 기반해서 짧은 route를 선택한다.
OSPF routing: Open shortest path first
ISP들은 고객들의 네트워크만 전달하고 싶어함.
dual-homes: 두개의 네트웍에 연결된 경우
다음과 같은 순서로 route를 선택할 수 있다.
1. local preference value attribute: policy decision
2. shortest AS-PATH
3. closest NEXT_HOP router: hot potato routing
4. additional criteria
AS를 많이 거치는 경로임에도 불구하고(hop이 더 많음) least intra-domain cost를 선호하는 path(local gateway)를 선택함.
congestion, bandwidth 등을 기반으로 정해서 AS마다 link weights는 숫자는 동일하지만 의미가 다를 수 있다.