- Routing이란?
- 네트워크에서 패킷이 올바른 경로로 (혹은 최적의 경로로) 찾아가기 위해서 다양한 방법을 통해 길을 찾아주는 것.
- Routing Protocol의 분류
- Static Routing Protocol
- 말그대로 정적으로 라우팅 경로를 지정해 주는 것
- 구성이 매우 간단하고 엔지니어가 원하는 경로로 패킷을 보낼 수 있다.
- 만약 토폴로지에 문제가 있을 경우 해결할때까지 라우팅이 불가능하다.
- 주로 Stub network에 적용한다.
- Stub Network란 네트워크로 들어가는 길과 나가는 길이 하나인 것을 말하며,
네트워크로 들어갈때는 네트워크 안의 주소로 Static Routing,
네트워크에서 밖으로 빠져나갈때는 Default Static Routing(0.0.0.0/0)을 사용한다. - Static routing의 명령어 형식
- #ip route A.B.C.D [mask] [address or interface] {수동AD값} {permanent}
- #ip route 0.0.0.0 0.0.0.0 [add or int] {AD} {permanent}
- permanent는 상대방 인터페이스가 다운되었을 때도 유지해준다. (미확인)
- Dynamic Routing Protocol
- 동적으로 라우팅 경로를 할당할 수 있게 해주는 프로토콜
- 기본적으로 라우팅 프로토콜을 올리면 알아서 경로를 선택할 수 있도록 해준다.
- RIP,EIGRP,OSPF 와 같은 프로토콜을 말한다.
- IGP vs EGP
- AS [Autonomous System] 이란 일정규모의 한 네트워크를 말하는 것으로 한 관리자에 의해서 관리되는 라우터들의 집단을 말한다. -> 회사 규모나 사이트 규모를 말한다.
- IGP [ Interior Gateway Protocol ]
- AS 안에서 돌아가는 라우팅 프로토콜을 말하며 RIP, EIGRP, OSPF등을 말한다.
- EGP [ Exterior Gateway Protocol ]
- AS 사이를 연결해 주는 라우팅 프로토콜을 말하여, BGP와 같은 프로토콜을 말한다.
- IGP 와 EGP의 예
- 예를들어 A회사에서 B회사로 간다고 쳤을때, IGP->EGP->IGP 를 통해 상대방에게 연결이 된다.
- AS를 쓰는 목적은 A회사에서 안에서 subnet을 하여 세분화 하여 복잡한 네트워크를 가진 네트워크 간 통신이라도 IGP의 Gateway만 알면 된다. 즉, AS내부에서의 통신은 IGP를 통해서, AS간의 통신은 EGP로 통신을 해서 세분화되고 좀 더 효율적인 구성을 위하여 구분되는 것이다.
- Distance Vecter VS Link-State
- Distance Vecter
- 말 그대로 Distance(거리) Vecter(방향) -> 거리와 방향을 사용하는 방식으로 라우터 자신에게서 목적지로 어느 방향이 어느정도 거리인지를 안다고 생각하면 쉽다.
- 주기적인 라우팅 테이블을 교환한다.
- 라우터간 Full-Routing table을 교환한다.
- 자신과 주변만을 참고 하기 때문에 Looping에 빠질 수 있다.
- Link-State
- 말 그대로 Link(링크) State(상태) -> 링크의 상태를 보는 라우팅 프로토콜로 앞의 DV와는 달리 링크의 Bandwidth나 Delay와 같은 링크의 세부정보를 따져서 라우팅을 결정한다.
- 전체적인 Topology를 참고하여 라우팅을 한다. 이 말은 DV는 나침반이라고 볼수 있고, LS는 네비게이션과 같다고 할 수 있다.
- 라우팅 테이블을 교환할 때는 어떠한 토폴로지에 변화가 있을 때 교환한다. 이를 Event-Triggered 방식이라 한다.
- 전체적인 토폴로지를 보고 결정하기 때문에 DV 보다 계산이 많기 때문에 부하가 크다.
- RIP
- Metric = Hop count (몇개의 라우터를 지나는지)
- 최대 Hop count 는 15를 넘어갈 수 없다. 15를 넘어가면 Unreachable로 간주된다.
- 라우팅 테이블을 30초마다 업데이트 하기 때문에 잘못된 정보가 전달되어 Looping이 생기기 쉽다.
- RIP v1 vs RIP v2
- RIP v1은 Classful 한 네트워크만을 광고한다. RIP v2는 VLSM을 지원하여 Classless하게 광고가 가능하다.
- RIP v2는 MD5 인증을 지원하는 것에 비해 RIPv1은 아무런 인증도 지원하지 않는다.
- 패킷을 가로채면 모든 데이터를 볼 수 있다.
- RIP v1은 Broadcast를 사용하여 광고하였으나 RIPv2는 Multicast를 사용하여 광고한다.
- 불필요한 네트워크 트래픽을 줄일 수 있게 하였다.
- EIGRP
- EIGRP는 어떤 라우팅 프로토콜인가?
- Distance Vecter와 같이 거리와 방향을 가지고 라우팅 테이블을 만들어 라우팅을 한다
- Link-State와 같이 Event Triggered 방식으로 업데이트를 진행한다.
- 위의 두 개념이 합쳐 만들어진 것으로 Balanced Hybrid Protocol이라 불린다.
- 이는 IGRP에서 Enhanced 된것으로, 기존에는 Distance Vecter 만을 사용하는 라우팅 프로토콜이었다.
- EIGRP는 메트릭을 bandwith,delay,relability,load,MTU를 사용하여 계산하지만 사실 EIGRP의 metric을 계산하는 공식은
- Metric = 256*((K1*Bandwidth) + (K2*Bandwidth)/(256-load) + (K3*delay)*(K5/(Reliability + K4)))
- 이다. K1의 값을 설정하여 이를 변화시킬 수 있는데 default 값은 K1, K3 만 1이다.
- 그래서 실제적인 Metric은 Bandwidth와 Delay만을 참고한다.
- 라우팅 테이블에 EIGRP가 올라오기 전 행동
- IP EIGRP Neighbor Table에 근처의 Neighbor들을 어느 Interface로 통해 연결될 수 있는지 기록한다.
- IP EIGRP Topology Table에 FD(Feasible Distance)와 AD(Advertised Distance=Reported Distance)를 기록한다.
- FD = 자신을 중심으로 목적지 까지의 Metric
- AD = 자신의 다음 라우터 (next hop) 로부터 목적지까지의 Metric
- IP Routing Table에 Toplogy를 참고하여 경로를 라우팅 테이블에 올린다.
Successor -
1. 부하 분산이 이루어질 경로의 조건은 Feasible Successor 이어야 한다. 보조AD < 메인FD
2. 부하 분산이 이루어질 경로들의 FD 는 Successor FD * varience 보다 값이 작아야한다.
1. 각 AD < Successor FD
- 이것이 되면 Feasible Successor가 된다. -> EIGRP Toplogy에 들어감.
2. Successor FD * varience > Feasible Successor FD
한쪽의 Feasible Successor AD < Successor FD 를 맞추면 반대 방향은 Successor FD가 감소하여
Feasible Successor AD > Successor FD가 되어버려 로드 밸런싱이 안된다.
- OSPF는 전체적인 토폴로지를 생성하는데 Dijkstra Algorithm을 사용한다.
- Link-state DB를 사용하여 모든 토폴로지에 대한 정보를 모은다.
- Shortest Path First [ Dijkstra ] 를 사용하여 최단 우선 경로를 찾는다.
- 그리고 나서 알고리즘으로 찾은 최적의 값을 라우팅 테이블에 등록한다.
- OSPF는 네트워크의 상태를 LSA (Link State Advertisement)를 통해 광고한다.
- OSPF 는 네트워크 AREA 안에서 DR과 BDR을 선출한다.
- DR ( Designated Router ) 는 반장과 같은 개념이다.
- BDR (Backup Designated Router ) 는 백업으로 부반장과 같은 개념이다.
- DR 선출은
- Router Priority ( default = 1 )
- Logical IP Address (Loopback)
- Physical IP Address (흔히 쓰는 IP add)
- OSPF 에서 네트워크는 DR/BDR과 adjacency를 맺어야 한다.
- 여기서 adjacency와 neighbor의 개념이 조금 다른데 이것을 이해해야한다. OSPF에서 Area 안에 있는 네트워크들은 각자 Neighbor을 맺게 되고 DR/BDR과 adjacency를 맺는다.
- COST
- 100,000,000 를 bandwidth로 나눈 값을 사용한다.
- DR 선출시
- OSPF Priority 가 0이면 DR 선출에 참여하지 않는다.
- DR/BDR 이 아닌 라우터를 DROTHER (DR other)이라고 표기하며
- Area의 경계선상의 라우터를 ABR(Area Border Router)
- 바깥 경계선상의 라우터를 ASBR(AS Boundary Router)
- 왠만하면 Hub&Spoke 되는 지점을 DR로 선정하는 것이 좋다.
- Priority는 수동으로 설정할때만 사용한다.
- OSPF는 절대적으로 Area 0 ( Back-bone Area ) 와 연결되어야 한다.
- OSPF 네트워크 토폴로지의 종류
- BMA [ Broadcast Multi Access ]
- 이더넷 환경을 생각하면 된다. LAN에서의 기본 설정이다.
- 자동으로 이웃을 맺는다.
- 같은 서브넷에 있다.
- DR을 가진다.
- NBMA [ Non-broadcast Multi Access ]
- Frame Relay와 같은 환경이며, F/R에서 기본으로 설정된다.
- 정적으로 이웃을 설정해 주어야 한다.
- 같은 서브넷에 있다.
- DR을 가진다.
- Point-to-point
- F/R이 아닌 serial에서 default로 설정된다.
- 자동으로 이웃을 선출한다.
- 분리된 서브넷이다.
- DR이 없다.
- Point-to-multipoint
- F/R에서 적용된다.
- 자동으로 이웃을 결정한다.
- 같은 서브넷이다.
- DR이 없다.