본문 바로가기

Routing&Switching

OSPF 란 무엇인가

- OSPF : Open Shortest Path First의 약자. 라우터 자신의 로컬 링크 정보를 교환하는 링크 상태 프로토콜

- IP Protocol 89번을 사용하며, AD값은 110

- 계층적 영역 구조 : 백본의 역할을 수행하는 영역인 Area 0과 일반 영역으로 구성. 백본영역이 모든 영역의 정보를 수합해 분배하는 방식으로 동작

- 라우팅 루프가 없는 프로토콜 : 거리벡터 프로토콜의 경우 라우팅 업데이트를 라우팅 테이블에 의존하기때문에 라우팅 루프가 발생할 수 있다. 링크상태 프로토콜의 경우, 다른 라우터로부터 링크 정보를 수신, 이를 통해 DB를 구축. 구축한 DB로 부터 독자적으로 생성한 라우팅 테이블을 사용하기에 라우팅 루프 발생하지않음.

- 라우팅 업데이트 시, Authentication(인증)을 지원. 오직 인가된 OSPF 라우터와 라우팅 정보 교환가능

- 외부 라우팅 정보의 루트 태그 지원 : 태그 지원은 다른 라우팅 프로토콜로부터 많은 네트워크 정보가 유입되는 경우 태그 정보를 삽입함으로써, 해당 네트워크 정보에 일괄적으로 라우팅 정책을 적용하기 용이

- OSPF는 EIGRP와 마찬가지로, 네이버를 검색하고, 발견된 네이버와 로컬 링크의 상태 정보를 교환하는 형태로 동작

- 헬로우 패킷을 보내며 네이버 검색

- SPF (Shortest Path First) 라우터를 의미하는 멀티캐스트 주소인, 224.0.0.5를 사용

- OSPF 라우터는 DR로 LSA를 보낼 때 목적지 224.0.0.6으로 보냄. DR은 이 정보를 다른 네이버로 전달하기 위해 네트워크 내의 모든 SPF 라우터를 의미하는 224.0.0.5로 전달 

- 프레임 릴레이나 ATM같은 NBMA (Non-Broadcast Multi-Access) 네트워크처럼 모든 브로드캐스트 계열의 트래픽이 허용되지않는 네트워크는 멀티캐스트 트래픽도 허용되지않아, 유니캐스트로 OSPF 패킷을 전송필요

- router ospf [process-id] : OPSF 프로세스 ID는 로컬 라우터 내에서 라우팅 프로세스를 독립적으로 구분하기 위한 것. EIGRP의 AS번호와 같이 네트워크에 존재하는 모든 라우터가 동일한 프로세스 ID를 사용해야 한다는 제약은 없음 (area으로 관리하는 것으로 판단됨) 

- network 192.168.12.0 0.0.0.255 area 1의 설정은 네트워크를 라우팅에 등록한다는 의미가 아니라, 192.168.12.0/24 네트워크에 속하는 인터페이스에 OSPF를 활성화한다는 의미

 

- 브로드캐스트 네트워크와 NBMA 네트워크같은 다중 접속 네트워크는 간결한 라우팅 정보(LSA) 교환을 위해 DR (Designated Router)를 선출.

- OSPF 헬로우 패킷을 통해 검색된 네이버와 인접(Adjacency)관계를 시도. OSPF는 모든 네이버와 LSA(Link-State Advertisement), 즉, 링크 정보 교환하지않고, 오직 인접(Adjacency)관계를 형성한 네이버와 정보를 공유.

- 동일 영역에 속한 모든 라우터가 동일한 링크 상태 DB를 가짐. 이 DB로부터 각 라우터는 자신을 중심으로 하는 최단거리 트리(Shortest Path Tree)를 계산.

- OSPF 네이버 : 동일 네트워크에 속해있는 OSPF라우터

- 인접(Adjacency) 라우터 : 네이버 중 라우팅 정보, 즉 LSA를 상호 교환하는 OSPF라우터

- 다중 접속 네트워크의 OSPF라우터는 오직 DR/BDR과 LSA를 교환 (헬로우 패킷을 통해 DR/BDR을 선출)

- 네이버 : 정보 공유와 상관없이 OSPF 헬로우 패킷으로 발견된 모든 OSPF라우터

- 인접관계 : 라우팅 정보인 LSA 정보를 직접적으로 상호 교환하는 인접한 라우터

- OSPF 인접관계 형성 과정 : Down => Attempt => Init => 2-way => ExStart => Exchange => Loading => Full

  : 네이버링 단계 (Neighboring Step) : Down => Attempt(Hello) => Init(Hello) => 2-way(Hello)

  : 인접 단계 (Adjacency Step) : ExStart(DBD) => Exchange(DBD/Request) => Loading(Request/Update) => Full

- OSPF 영역 : 백본영역(Area 0), 비백본영역(Non-Backbone Area), 스터브영역(Stub Area), 완전스터브영역(Totally Stubby Area), NSSA (Not-So-Stubby Area)

- OSPF 디폴트 루트설정 : 주로 인터넷 액세스를 위한 디폴트 루트정보를 OSPF로 전파

  : i.e.) 인터넷회선과 연결된 라우터 D에 접속

  : config - ip route 0.0.0.0 0.0.0.0 192.168.45.5

  : config - router ospf 1

  : config -     default-information originate

  : 이렇게 설정하면, OSPF내의 모든 라우터에서 디폴트라우터 설정이 라우터 D로 잡히게된다 

 

- DR/BDR선출 방식

  : 헬로패킷을 통해 DR과 BDR선출

  : 헬로우패킷에 표현되는 우선권 값에 의해 결정. 우선권은 0~255까지 설정가능하며(255가 제일 높은 우선순위), 기본값은 1. (우선권이 0이면 해당 라우터는 DR선출에 참여할 수 있는 자격상실하므로, DR이 되면안되는 라우터는 우선권을 0으로 설정필요)

  : 네트워크상에서 DR/BDR이 한번 선출되면 DR/BDR이 비가용 상태가 돼 네트워크로부터 사라지지않는 한 DR/BDR 경합은 다시 이뤄지지 않는다. (DR이었던 OSPF라우터가 비가용 상태가되어, BDR=>DR, 3순위 OSPF라우터 =>BDR이 되어버리면, 원래 DR이었던 라우터가 다시 복구되더라도, DR/BDR경합은 이뤄지지않으며, 원래 DR이었던 라우터는 DROther로 존재한다.)

  : 라우터 ID를 이용한 OSPF 라우터 간의 DR 자동 선출 방법이 있지만, 권장하지않음. 실제 네트워크에서 성능이 좋은 라우터, 좋지않은 라우터 또는 중요한 위치의 라우터와 그렇지않은 경우 존재하기때문. (실무에서는 DR/BDR역할을 수행할 라우터의 우선권을 높게 설정하고, 그 이외의 라우터는 우선권을 0으로 설정하기도 함) 

  : 아직 궁금한 점. DR/BDR은 영역별로 1개씩 존재? 영역에 상관없이 한개씩 존재? 라우터 마다 계산에 의해 BD/BDR이 각각 존재?

- OSPF 라우터 타입

  : 백본라우터 - 단 하나의 인터페이스라도 백본 영역에 속해있다면 백본라우터

  : 내부라우터 - 라우터 전체가 하나의 영역에 속해 있는 OSPF 라우터

  : ABR (Area Border Router) - 백본 영역과 비백본 영역을 연결하는 역할. 두 개 이상의 영역에 속해있는 라우터

  : ASBR (Autonomous System Boundary Router) - OSPF가 아닌 다른 라우팅 프로토콜의 정보를 OSPF로 재분배하는 라우터

- OSPF 패킷 타입

  : 헬로우 패킷 (Hello Packet) - 네이버를 찾고 유지하는데 사용되며, DR/BDR을 선출하는데 사용. Hello Interval은 반드시 일치해야함.(서로 다르면, 네이버 관계를 맺지않음). Default Dead Interval은 Hello Interval의 4배인 40초. 

  : 데이터베이스 표현 패킷 - 최초에는 마스터/슬레이브 결정을 위해 사용. 이후 데이터베이스 동기화를 위해 사용. DBD패킷의 시퀀스번호를 통해 변화를 판단. (마스터/슬레이브는 DR/BDR, DROther 관계와는 전혀 별개이며, 가장높은 라우터 ID를 가진 네이버를 마스터로 설정)

  : 링크상태 요구 패킷 (Link-State Request Packet) - 새로운 LSA 정보를 요구할때 사용. DBD패킷 수신 후, 자신의 DB와 비교시 DBD시퀀스번호가 다르면 해당 LSA를 LS요구 리스트에 기록하며, 요구 리스트를 LS 요구 패킷에 실어 인접 관계 라우터에 송부

  : 링크상태 업데이트 패킷 (Link-State Update Packet) - 요청받은 LSA를 전달하기 위한 용도로 사용. 

  : 링크상태 확인 패킷 (Link-State Acknowledge Packet) - 업데이트 패킷으로 수신한 LSA에 대한 수신확인을 위한 용도

- OSPF LSA 타입 (타입 1,3,5,7은 네트워크 정보가 포함된 링크정보,  타입 2,4는 특별한 의미의 OSPF 라우터 정보를 알려줌, show ip route ospf를 통해 보여지는 라우팅정보들은 타입 1,3,5,7의 내용을 토대로 보여지는것 같음)

  : 타입 1 라우터 LSA : OSPF 라우터의 로컬 링크 정보를 표현 (show ip ospf database router 172.16.1.1)

  : 타입 2 네트워크 LSA : 다중접속네트워크에 속한 라우터정보를 나타내기위한 LSA (show ip ospf database network)

  : 타입 3 네트워크 요약 LSA : 자신이 속한 로컬 영역정보가 아닌, 다른 영역의 정보를 표현, Inter-Area정보. (show ip ospf database summary 200.4.1.0)

  : 타입 4 ASBR 요약 LSA : 각 영역의 ABR에 의해 생성되고 전달. OSPF 도메인 외부네트워크 정보를 유입하는 라우터이므로, 외부 네트워크 정보에 대한 게이트웨이 역할 수행. (show ip ospf database asbr-summary 172.16.1.4) 

  : 타입 5 AS 외부 LSA : OSPF 도메인 외부에 존재하는 네트워크 정보를 전달. ASBR에 의해 생성. (show ip ospf database external 200.4.0.0)

  : 타입 7 NSSA 외부 LSA : 타입5와 동일한 정보를 가짐. 스터브 영역, NSSA는 타입5에서 금지하고 있으니, 다르게 관리될 필요가 있어 만들어진 LSA. (show ip ospf database nssa-external 200.4.0.0)

 

- OSPF 세부정보확인을 위한 명령어

  : show ip ospf database router : LSA 타입 1인 라우터 LSA의 상세정보

  : show ip ospf database network : LSA 타입 2인 네트워크 LSA의 상세정보

  : show ip ospf database summary : LSA 타입 3인 네트워크 요약 LSA의 상세 정보

  : show ip ospf database asbr-summary : LSA 타입 4인 ASBR 요약 LSA의 상세 정보

  : show ip ospf database external : LSA 타입 5인 외부 LSA의 상세 정보

  : show ip ospf database nssa-external : LSA 타입 7인 NSSA 외부 LSA의 상세 정보

'Routing&Switching' 카테고리의 다른 글

Route Redistribute (RIP - Static)  (0) 2021.09.10
What is SSL / TLS  (0) 2021.08.23
GRE 터널  (0) 2021.08.22
STP (Spanning Tree Protocol) & BDPU  (0) 2021.08.06
IPsec VPN Tunnel 구성  (0) 2021.04.18