- OSFP(Open Shortest Path First)
: 복잡한 AS에 적합한 성능을 지원하기 위해 개발된 새로운 내부 라우팅 프로토콜
: 최단 경로 우선 or 링크 상태라는 알고리즘을 사용, 인터네트워크의 토폴로지와 상태에 대한 정보를 관리하는 데이터베이스를 갖도록 함
: 기본적인 데이터 구조는 링크 상태 데이터베이스 link-state database (LSDB)임
: 인터네트워크가 변경되면 라우터는 상태 정보에 대한 갱신 메시지를 전송해 각 라우터가 네트워크로 최적 경로를 다시 계산하도록 함
: 기능이 간단하고 제한된 RIP와는 다르게 성능이 뛰어남
- OSFP 기본 토폴로지
: 라우터는 전체 AS의 토폴로지 정보를 저장하는 링크 상태 데이터베이스를 가짐
: 라우터와 네트워크 사이나 두 라우터 간의 링크는 LSDB의 한 항목으로 저장
: OSFP 기본 토폴로지를 사용할땐 AS내에 있는 모든 라우터는 동등함
: LSDB의 정보를 사용해 AS 내에 네트워크 라우 간의 접속에 대한 그림을 그림
아래는 OSPF AS의 LSDB 이다
목적라우터/ 네트워크 |
출발 라우터 | 출발 네트워크 | ||||||
RA | RB | RC | RD | N1 | N2 | N3 | N4 | |
RA | 0 | 0 | ||||||
RB | ● | 0 | 0 | |||||
RC | ● | 0 | 0 | |||||
RD | 0 | 0 | ||||||
N1 | ● | |||||||
N2 | ● | ● | ● | |||||
N3 | ● | ● | ● | |||||
N4 | ● |
: 라우터 RA는 네트워크 N1과 네트워크 N2에 연결되어 있음
: 라우터 RB는 라우터 RC는 네트워크 N2와 네트워크 N3에 연결되어 있음
: 라우터 RD는 네트워크 N3과 네트워크 N4에 연결되어 있음
: '●' 은 특정 라우터에서 다른 라우터나 네트워크로 데이터그램을 보내기 위한 비용이 들어감
: 같은 AS에 있는 경계 라우터끼리 통신할때 주로 OSPF을 이용하고
: 다른 AS 에 있는 라우터와 통신할땐 외부 라우팅 프로토콜(BGP)을 사용함
- OSPF 계층 토폴로지
- OSPF 영역
: 큰 인터네트워크를 잘 제어하고 관리할 수 있도록 OSPF에서는 큰 AS가 계층 구조를 가질 수 있음
: 계층 구조에서는 연결된 라우터와 네트워크를 영역으로 묶고 영역은 논리적 백본(backbone)을 사용하여 연결
: 계층 토폴로지를 사용하는 AS에서 라우터는 더 이상 동등하지 않음
: 두 단계 계층에서 낮은 계층은 영역 내의 연결을 뜻하고, 높은 계층은 영역을 연결하는 계층으로 백본이라고 불리며 영역 0 이라고 함
: 라우터는 자신이 연결된 방식에 따라 역할이 달라짐
- 내부 라우터
: 한 영역 내에 있는 라우터에만 연결됨
: 한 영역에 대한 LSDB만 가지며 외부 영역에 대해 전혀 알지 못함
- 영역 경계 라우터
: 하나 이상의 영역에 연결된 라우터
: 자신이 속한 각 영역에 대한 LSDB를 관리하고 백본에도 참여함
- 백본 라우터
: OSPF 백본에 참여하는 라우터
: 백본 라우터는 모든 영역 경계 라우터를 포함함
: 계층 토폴로지 AS 에서 라우팅은 장비의 위치에 따라 둘 중 한 방식으로 실행됨
- 출발지와 목적지가 같은 영역일때 : 그 영역에 있는 네트워크와 라우터를 통해 라우팅 함
- 출발지와 목적지가 다른 영역일때 : 데이터그램은 먼저 출발지 영역에 있는 영역 경계 라우터로 향하고, 영역 경계 라우터는 목적지 영역에 있는 영역 경계 라우터에게 전달하기 위해 백본을 사용함
: 위 예제에서 라우터 RA와 RD는 내부 라우터, RB와 RC는 영역 경계 라우터 => 인터네트워크에서 백본(Area 0)을 이룸
: 라우터 RA, RB, RC는 Area 1에 대한 LSDB를 관리하고 라우터 RB, RC, RD는 Area 2에 대한 LSDB를 관리함
: 라우터 RB, RC는 백본에 대한 LSDB를 따로 관리함
: 영역 경계 라우터인 RB, RC이외에는 백본 라우터가 없음
: 계층 토폴로지를 사용하면 복잡해짐 -> 큰 AS에서는 모든 라우터를 동등하게 만드는것보단 훨씬 나음
: 계층 토폴로지는 복잡하기 때문에 주의깊은 설계, 특히 백본에 대한 설계가 필요함
- SPF 트리를 사용한 OSPF 경로 결정
- SPF(Shortest Path First tree) 트리
: AS 내에 있는 네트워크로 가기 위한 경로를 결정하기 위해 라우터는 LSDB의 정보로 최단 경로 우선 트리를 만듬
: SPF 트리는 LSDB와 동일한 정보를 가지고 있지만 계산을 하고 있는 라우터 관점으로 전환시켜 라우터가 다른 네트워크로 가는 다양한 경로 비용을 계산함
- OSPF 경로 결정
목적라우터/ 네트워크 |
출발 라우터 | 출발 네트워크 | ||||||
RA | RB | RC | RD | N1 | N2 | N3 | N4 | |
RA | 0 | 0 | ||||||
RB | 5 | 0 | 0 | |||||
RC | 5 | 0 | 0 | |||||
RD | 0 | 0 | ||||||
N1 | 2 | |||||||
N2 | 3 | 4 | 3 | |||||
N3 | 5 | 6 | 1 | |||||
N4 | 4 |
: 위 그림 예제를 참조해 OSPF LSDB 비용을 적어놈
- 라우터 RC 입장에서 SPF를 만들기
#1 : 라우터 RC는 LSDB를 통해 자신과 직접 연결된 장비와의 비용을 알아냄
#2 : #1 단계에서 발견한 라우터나 네트워크에 연결된 모든 라우터나 네트워크의 비용을 가지고 SPF 트리를 만듬
#3 : 트리를 계속 만들어가는 과정을 보여줌, 라우터 RC에서 네트워크 N1으로 가는 비용이 5이고 네트워크 N4로 가는 비용이 10임을 알게 됨