우선 Link State Protocol을 읽을 필요가 있음.
OSPF
Open Shortest Path First
- Link State Routing Protocol
- 내트워크 내부 최단 경로를 계산 --> 효율적인 트래픽 전달.
- 고속 네트워크
- 중~대규모 네트워크에서 최적의 경로 선택을 보장
- AS를 구성하는 내부용 라우팅 프로토콜
특징
- 장점
- 라우터 내에서 process-id를 통해서 구분
- 회선에 따라 지정된 Cost를 사용한다.
10^8/bandwidth(bps) - 빠른 수렴성
- 라우팅 루프의 방지
- 계층적 네트워크 관리
- VLSM및 CIDR 지원
- Auto summary 기능을 사용하지 않음
Auto Summary가 아닌 다른 방식의 효율적인 축약기능 사용.
- 단점
- 설정이 비교적 복잡함.
- CPU및 메모리 자원을 요구함
- LSA Storm이 발생 가능
- 특정 영역에 대한 의존성이 있음.
Process ID
라우터 내부에서 실행되는 OSPF 식별자
- 로컬 라우터에서만 유효하다. --> 네트워크 전체에 영향을 주지 않음.
- 다른 라우터와 일치할 필요가 없음.
OSPF의 경우 Area를 통해서 네트워크를 구조화 하기 때문. - 라우터 내부의 OSPF인스턴스를 구분하는 기능을 함.
- 같은 라우터에서 여러개 설정이 가능.
- 특정 프로토콜 내의 인스턴스/라우터 그룹을 식별하는 역할을 하며 프로토콜 뒤의 숫자로 붙게 됨.
AS Number
도메인 내의 라우터간 라우팅 정보를 공유하는 식별자.
- 같은 AS번호를 가진 라우터끼리만 라우팅 정보 공유
- 같은 네트워크 내에서 도일한 AS번호를 설정해야함.
- 동일 네트워크의 동일 AS를 그룹화
- 네트워크 전체의 AS에서 일관성을 유지할 필요가 있음.
- 특정 프로토콜 내의 인스턴스/라우터 그룹을 식별하는 역할을 하며 프로토콜 뒤의 숫자로 붙게 됨.
OSPF의 계층적 구조
Backbone Area와 그 외의 일반 영역으로 구분됨.
- 영역구분의 필요성
- 네트워크가 커질경우 전체 네트워크를 알 필요 없이 필요한 정보만을 가지고 효율적인 라우팅을 하기 위해 필요.
- 각 영역이 라우팅 정보를 자체적으로 관리하여 네트워크 부하를 줄이며 빠르게 수렴 할 수 있음.
- Area0 (Backbone Area)
- 모든 일반 영역은 Backbone Area를 통해 연결이 되게 됨. 이러한 영역이 없을 경우 영역간의 라우팅이 불가능 하다.
- LSA를 통해 영역 내의 라우팅 정보를 빠르게 교환하고 반영 할 수 있다.
OSPF에서의 라우터 종류 구분
라우터는 동시에 여러 구분에 속할 수 있음. 위치/역할 내부에서도 여러 구분에 속할 수 있음.
위치에 따른 구분
- IR(Internal Router)
- 모든 인터페이스가 특정 Area에만 속한 라우터
- BR(Backbone Router)
- 최소 1개 이상의 인터페이스가 Area 0에 속한 라우터
- ABR(Area Border Router)
- 영역 경계 라우터
- 최소 두개 이상의 Area에 속한 라우터. 그중 하나가 백본영역에 속한다면 BR로도 구분 가능.
- LSDB는 Area단위로 생성되며 Area 단위로 경로를 계산한다. --> ABR을 기준으로 계산.
- Area사이에서 네트워크를 광고(LSA Type 3) --> 경로 정보를 요약하여 전달한다.
- ASRB(Authonomous System Boundary Router)
- OSPF와는 다른 동적 라우팅 프로토콜이 동시에 동작하며 이러한 프로토콜의 정보에 대하여 OSPF로 재분배를 한다.
- 백본 영역의 경우 ospf 모든 정보가 들어오기에 백본영역을 제외한 다른 영역에 ASRB가 존재하는것이 효율적.
- 재분배시 이 정보를 백본 Area에 속한 ABR에게 전달하고(현제 속한 Area ABR이 백본과 연결되지 않을경우 백본과 연결된 ABR이 나올때까지 계속해서 ABR끼리 전달.) 이를 백본 Area에서 처리하여 다시 정보를 전달.
- 다른 영역의 라우터의 경우 여기서 재분배된 정보는 출처(ADV Router)가 해당 Area의 ABR로 인식
역할에 따른 구분
멀티엑세스(Point To Point)네트워크에 접속 된 모든 OSPF 라우터끼리 LSA 교환시 동일 네트워크에서 중복된 LSA및 ACK가 발생하기에 트래픽을 효율적으로 관리하고 연산 과정을 최소화 시키기 위하여 DR과 BDR역할을 통해 이를 해결.
- DR(Disignated Router)
- 모든 LSA를 받아서 전체 네트워크에 Broadcast한다.
- LSDB를 업데이트를 하고 이를 다른 라우터와 동기화 시킨다.
--> 계산은 DR이 수행하게 됨.
- BDR(Backup Disignated Router)
- DR에 문제가 생길 경우 바로 DR의 역할을 수행한다.
- DROTHER
- DR/BDR이 아닌 나머지 라우터
DR / BDR Electin (선출)
DR과 BDR은 같은 세그먼트(Area/Multi Access Network) 내에서 물리적인 연결이 있어야 한다.
선출 순서는 다음과 같은 순서로 이루어진다.
- Priority 값이 높은 라우터.
기본값은 1이며 0일경우 경쟁에서 참여하지 않음.
인터페이스마다 설정한다. - Priority가 같을 경우 같은 세그먼트 내에서 라우터 ID가 높은 라우터
다만 이미 neighbor가 이루어져 선출이 끝난 뒤에는 Reload를 하지 않으면 DR/BDR은 변경되지 않는다.
`clear ip ospf process`를 통해서 라우팅 정보를 초기화 하여 다시 선출과정을 진행 가능.
OSPF 패킷
Hello
Neighbor를 감지하며 관계를 설정하는 패킷.
DBD / DDP (DataBase Description)
라우터간에 LSDB의 요약정보를 교환한다.
LSR(Link State Request)
필요한 LSA정보를 요청. DBD를 통해서 자신이 없는 정보를 확인하여 없을 경우에 해당 패킷을 전송
LSU(Link State Update)
Link State Update정보 전달 패킷. LSR을 수신할 경우에 전송한다.
LSAck(Link State Acknowledgement)
LSU에 대한 응답 패킷. 패킷 흐름이 DBD(guest) --> LSR(host) --> LSU(guest) --> LSAck(host)
OSPF 동작 과정
- Neighbor 형성
- LSA 교환 및 LSDB 구축
- SPF(Dijkstra)을 통해 최적 경로 계산
- 연결상태를 주기적으로 확인
- 네트워크의 변화 발생시 위 과정의 반복을 통해 Topology 갱신
Neighbor 성립 조건
- 고유한 Router ID를 가져야 한다.
Router ID가 중복 될 경우 EIGRP는 Routing 경로의 혼선 발생 가능성만 생기나 OSPF의 경우는 LSDB작성시 Router ID를 사용하므로 OSPF 네트워크 내에서 동일 RID를 가져서는 안된다. - Hello / Dead Interval이 동일해야한다.
- Area ID가 일치해야한다
- Stub Flag가 동일해야한다.
Stub Area의 경우 다른 Area나 라우팅 망에 연결되지 않아야 하므로 해당 Flag가 다르다면 Neighbor관계를 맺지 않는다. - Authentication 설정이 동일해야한다.
- IP의 서브넷이 동일해야한다.
- 네트워크 타입이 동일해야 한다.
Broadcast나 Non-Broadcast등 OSPF네트워크 타입이 일치해야 한다.
OSPF 라우터 State
- Down
- 정보 교환이 없는 상태
- Attempt
- Non-Broadcast Multi-Access(NBMA)네트워크에서 Hello 패킷을 송신해 Neighbor를 찾는 단계
- Init
- Hello 패킷을 수신하였으나 양방향 통신이 안되는 상태
- Two-way
- 양방향 통신이 가능한 상태
- DR/ BDR 선출시 Two-way 상태의 라우터중에서만 선출
- Exstart
- Master / Slave를 결정하고 DBD패킷을 통해 동기화를 준비하는 단계
- Exchange
- LSA헤더를 교환하여 LSDB의 동기화를 돤전 동기화 하는 상태
- Loading
- 부족한 LSA정보를 요청하고 수신하여 DB를 완전 동기화 하는 상태
- Full
- 모든 LSA 정보가 동기화 되어 인접 관계가 완성된 상태
'네트워크 및 서버 > 네트워크' 카테고리의 다른 글
OSPF실습 (1) (0) | 2024.10.30 |
---|---|
OSPF 설정 명령어 (1) + 실습 예제 및 패킷 (0) | 2024.10.30 |
Link State Protocol 정리 (0) | 2024.10.28 |
Distanse Vactor Protocol 정리 (0) | 2024.10.28 |
FHRP(HSRP, VRRP, GLBP) 실습 (0) | 2024.10.23 |