Distance vector vs Link state
- 라우팅 프로토콜의 2가지 형태
Distance vector
- 인접한 라우터의 정보에 의존
- 정보를 인접한 라우터에게만 전달
- Convergence : 네트워크에 있는 전체 라우터가 동일한 정보를 갖는 것
Convergence로 발생하는 Distance vector의 문제
- Convergence 되기까지 많은 시간 소요 à routing loop 발생 가능
- Count to infinity 현상 : Router에서 목적지에 대한 Cost를 끝없이 증가시키는 현상
Count to infinity 현상 해결
1. Split horizon
2. Poison reverse
3. Route poisoning
4. Hold down timer
5. Flash update(=triggered update)
Split Horizon
- 내가 이웃에게 받은 정보를 다른 이웃에게 알림. 다른 이웃이 다시 나에게 그 정보를 알려주는 것을 무시
Poison reverse
- 동일한 라우팅 정보를 제공하되 metric을 infinity로 바꾸어 보냄.
Route poisoning
- Poison reverse와는 다른 방법
- Distance vector routing protocl이 어떤 특정 경로가 더 이상 유효하지 않다고 인식하게 될 때
1. Down 된 subnet에 대한 정보를 더 이상 이우 라우터에게 전해주지 않음
2. Down 된 subnet에 대한 정보를 이웃 라우터에게 통보하되, metric을 infinity로 수정해서 보냄.
Link state routing protocol
- 인접한 라우터에게 의존하지 않음
- 인접한 라우터에게 수집된 정보를 바탕으로 자신이 경로와 cost를 판단함.
- 라우터가 네트워크에 대한 변화를 감지하였을 경우 변경된 link에 대한 정보만 인접한 라우터에게 전달
- LSA : 변화된 정보를 전달하는 메세지
- Event-trigger update : 네트워크의 변화 즉시 정보를 전달하는 것
- 보통 hierarchical 하게 디자인 : 하나의 도메인을 여러 개의 논리적인 영역으로 분할하는 것
- 한 영역 내에서 topology 변화가 발생한 경우 LSA를 논리적으로 분할된 영역 내에 있는 라우터들에게만 전송 시킨 후, 변화가 발생한 영역 내에서만 routing table을 재계산
- LSA(변화가 발생했을 때)만 전송하기 때문에 convergence가 빨리 이루어짐
Link state의 단점
1. 많은 메모리 소요 : 더 많은 정보를 저장하고 그 정보를 바탕으로 최상의 경로 선택
2. Initial flooding : 새로운 라우터가 생기면, 그 라우터는 인접한 라우터로부터 네트워크 전체에 대한 정보를 전달 받게 됨 à 네트워크 전체에 대한 정보량이 매우 많아서 라우팅 테이블을 전달받는데 모든 에너지를 소요함.
3. 많은 CPU 성능 소모 : 수집된 전체 정보를 바탕으로 네트워크에 대한 위상인 spanning tree를 그리고 shortest path first로 최상의 경로를 선택하게 되는데 이런 계산 과정이 자주 이루어져서 cpu를 많이 사용하게 됨.
4. Convergence 실패 : 동기화가 모든 네트워크 장비에 대해 정확히 이루어질 수 없을 수도 있음.
Distance Vector |
Link State |
인접한 라우터의 관점으로 전체 네트워크 정보를 얻음
인접한 라우터가 갖고 있는 cost와 인접한 라우터 까지의 cost를 더함
주기적으로 정보를 update 하지 않음
Routing table을 인접한 라우터에게 전달
라우팅 테이블 구성 : 네트워크, 네트워크에 이르는 거리, 거쳐야 하는 게이트웨이 |
각 라우터가 전체 네트워크 상태 판단
자신이 직접 목적지 까지의 cost 계산
변화 즉시 정보를 update 함
변화된 정보만은 다른 라우터들에게 전달
|
Neighbor
- Routing protocol을 교환하는 인접한 라우터
Metric 및 Cost
- Best Path를 결정하는 데, Cost 계산에 영향을 미치는 요소들을 Metric이라고 함.
Administrative Distance
- 같은 목적지에 대해 나갈 수 있는 경로가 여러 개 일 때
- Longest prefix까지 일치하면 보는 정보
- Administrative Distance가 작을 수록 우선
목적지에 대한 경로를 알아낸 경위 |
Administrative Distance |
직접 연결된 Interface |
0 |
Static Route out an interface |
0 |
Static Route to a next-hop |
1 |
EIGRP Summary Route |
5 |
External BGP |
20 |
Internal EIGRP |
90 |
IGRP |
100 |
OSPF |
110 |
IS-IS |
115 |
RIP vs1, vs2 |
120 |
EGP |
140 |
External EIGRP |
170 |
Internal BGP |
200 |
Unknown |
255 |
Load balancing
1. per-destination load balancing
2. Per-packet load balancing
Per-destination load balancing
- 목적지 단위로 load balancing
- 라우터가 목적지 주소를 근거로 하여 packet을 전달하는 것
- 같은 네트워크로 가능 두 가지 경로가 주어졌을 때, 그 네트워크에 있는 목적지 1로 가는 모든 packet은 경로 1로 / 목적지 2로 가는 모든 packet은 경로 2로
Per-packet load balancing
- Packet 단위로 load balancing
'네트워크' 카테고리의 다른 글
layer 7 ~ 5(Application, Presentation, Session ) (0) | 2020.02.24 |
---|---|
OSI 7 layer TCP/IP layer (0) | 2020.02.24 |
네트워크] 라우팅 3 - routing protocol (0) | 2020.01.11 |
네트워크]라우팅 2 (0) | 2020.01.11 |
네트워크]라우팅 1 (0) | 2020.01.11 |