Router의 Best Path 결정
Router는 Routing table을 보고 경로를 경정한다.
만약 Remote network로 가는 목적지가 여러 곳일 경우 Best Path 즉 최적 경로만을 Routing table에 등록한다.
그렇다면 Best Path 결정하는 요소는 무엇일까?
우선 가장 큰 범위인 AD값부터 확인한다.
하나의 Router에 서로 다른 Routing protocol이 구동 중이라고 생각해보자.
이때 구동중인 Routing protocol의 우선 순위를 정해주는 것이 AD 값이다.
일반적으로 AD 값이 낮은 것이 더 높은 우선순위를 점한다.
*cisco Router 기본 AD 값(관리자 임의변경 가능)
Connected : 0
Static : 1
EIGRP(축약): 5
eBGP : 20
EIGRP : 90
IGRP : 100
OSPF : 110
통합 IS-IS : 115
RIP : 120
EIGRP(외부): 170
iBGP : 200
만일 RIP과 OSPF가 같이 구동중이라면? OSPF가 AD값이 10 더 낮으므로 OSPF를 선택한다.
두번째로 Metric 값을 확인한다.
Metric 값은 동일한 Routing protocol에서 그 우선 순위를 비교할 때 사용한다.
만약 RIP을 통해 같은 목적지에 도달하는 두개의 경로가 있다고 가정,
하나는 라우터를 1개 거쳐가는 경로
또 하나는 라우터를 2개 거쳐가는 경로이면
RIP은 라우터를 1개 거쳐가는 경로를 최적 경로로 선택한다.
각 Metric 값은 protocol마다 그 기준이 다르다.
*프로토콜의 metric 값들
RIP -> Hop-count(위에서 봤듯이 거쳐가는 Router의 갯수)
EIGRP -> Badnwidth, Delay, Reilability, Load
OSPF -> cost 사용(vendor마다 조건이 다르다, cisco의 경우 10^8/bandwidth 공식을 사용한다.)
그렇다면 양쪽 경로의 metric 값이 동일한 경우는?
양쪽 경로 모두를 Routing table에 등록하고 두가지 경로 모두를 사용한다. -> Equal-Cost Load-Balancing
라우터 스위칭 방식
앞서 말했듯이 두가지 경로를 모두 사용하는 것을 Equal-Cost Load-Balancing이라 한다.
이때 두가지 경로를 어떤 방식으로 사용할까를 결정하는 것이 라우터 스위칭 방식이다.
대표적으로 3가지 스위칭 방식이 존재한다.
가정: 150.5.0.0/16으로 가는 경로가 f0/1, f0/0이 있으며, 두개의 metric 값이 같다.
1. process switching
-per packet 방식이다.
-분할된 date들을 각각 f0/0과 f0/1을 번갈아가며 사용한다.
-효율적으로 보이지만 매번 Routing table과 ARP table을 확인하여 각각 다른 2계층 헤더를 만들어 전송(MAC주소가 다르므로)한다.
2.fast switching
-per destination 방식
-같은 목적지이면 같은 경로를 사용한다.
-즉, 목적지마다 data들은 하나의 경로만을 사용한다.
-하나의 2계층 헤더를 만드므로 훨씬 간편하다.
3.CEF(Cisco Express Forwarding)
-per destination, source
-출발지, 목적지마다 각각 다른 포트를 사용한다.
-메모리에 있는 Routing table, ARP table이 아닌 cache에 있는 CEF table에 2계층 헤더를 미리 만들어 저장해놓는다.
-메모리가 있는 부분을 control plane이라 하며 CEF table이 저장된 캐시가 있는 부분을 data plane이라한다.
-control plane보다 data plane에서 값을 가져오는 것이 속도가 훨씬 빠르다.
-cisco 전용으로 보이지만 다른 vendor 모두 이름만 다른 비슷한 유형의 switching 방식을 사용한다.
-오늘날 보편적으로 사용하는 router switching 방식이다.
'네트워크 > 네트워크 좀 더 알아보기-라우팅' 카테고리의 다른 글
Path Control (0) | 2019.03.05 |
---|---|
재분배(Redistribution) (0) | 2019.03.04 |
Link state와 OSPF (0) | 2019.02.23 |
Advanced Distance Vector와 Eigrp (0) | 2019.02.19 |
Distance Vector와 RIP (0) | 2019.01.31 |