|
OSPF(Open Shortest Path First)
1. 개요
IETF(Internet Engineering Task Force)에서 개발한 표준 프로토콜인 OSPF는 link-State 프로토콜을 사용하는 SPF(Shortest Path First)라는 알고리즘을 사용 한다. SPF 알고리즘에서는 모든 라우터가 토폴로지에 관한 모든 정보(네트워크 맵)를 완벽히 갖고 있다.
이 OSPF 라우팅 프로토콜은 초기에 나온 RIP 라우팅 프로토콜을 대체하여 보다 복잡하고 정교한 네트워크에 적용되어 사용되고 있다.
2. 특징
⑴ 사용자에 의한 경로의 지정과, 가장 경제적인 경로의 지정, 그리고 복수 경로의 선정등의 기능을 제공하며, 변화의 발생에 관한 정보가 또다른 표준 라우팅 프로토콜인 RIP에 비하여 빨리 전파된다.
⑵ 라우팅 정보를 인접한 라우터에 모두 전송하는 플러딩(Flooding)방식을 사용하 므로 토폴로지에 관한 정보가 전체 네트워크상의 라우터에서 동일하게 유지된다.
⑶ 각 라우터는 자신을 네트워크의 중심점으로 간주하여 최단 경로의 트리를 구성 한다.
⑷ IP주소의 효율적인 할당을 위해서 VLSM(Variable Length Subnet Mask)를 사용 하며, 경로축약을 통해 Area와 VLSM을 결합시킨다.
⑸ 여러 종류의 서비스를 제공하기 위하여 분리된 트리를 사용한다.
⑹ 동일한 비용을 갖는 모든 경로에 트래픽을 분산시켜 전송한다.
⑺ 라우터 ID는 전체 라우터들을 OSPF에서 식별하는데 사용된다. 이러한 식별은 인접된 라우터들의 관계를 설정하는 것과 네트웍에서 구동되는 SPF(Shortest Path First) 알고리 즘의 복사분들 사이에서의 메시지 조정을 위해 중요하다.
⑻ LSA(Link State Advertisement)는 신뢰할 수 있는 메시지인데, Distance vector 프로토콜에서의 라우팅 갱신과 유사한 목적으로 네트웍 위상(Topology) 정보를 전달한다. 그러나 LSA는 물리적 회선의 상태가 변했을 때 구동 된다. LSA는 또한 전체 네트웍 정보를 동기화 시키기 위해서 매 30분마다 발생한다.
라우터가 LSA 정보를 받으면, 전체 위상 데이터베이스에 그 정보가 있는지를 비교하여, 일치하면 30분 타이머를 초기화 시키고, 아니면 데이터베이스를 갱신 하고, 새로운 테이블을 이용하여 SPF 알고리즘을 통해나온 LSA를 모든 네트웍이 동기화 될 때까지 전송한다.
- LSA에는 2가지 종류가 있는데, Router LSA와 Summary LSA가 있다.
Router LSA는 Area를 가진 LSA에 의해 만들어진다. Summary LSA는 ABR에 의해 만들어지며, OSPF 라우팅 알고리즘을 수행하지 않는다.
⑼ OSPF 라우팅 프로토콜에서는 세가지 네트웍 연결 형태가 지원된다.
- Point-to-point : 모든 라우터들이 독립적으로 수행한다.
- Multiaccess : LAN에서 하나의 라우터가 DR(Designated Router)가 되고 다른 모든 라우터들은 Multicast hello를 사용해서 인접 라우터 관계를 이 DR을 통해 배운다. 인접 라우터들은 Multicast OSPF hello 패킷을 사용해서 통신하는데, 라우팅 정보 교환에 따른 트래픽을 줄이고 경로 정보 데이터베 이스를 동기화 시킨다.
-NonbroadcastMultiaccessn:x.25나frame-relay와같은Nonbroadcast Multiaccess 환경에서는 다른 모든 OSPF 라우터와 직접 통신할 수 없다.
이런 경우에는 인접 라우터와의 관계를 일일이 수작업 해주어야 한다.
⑽ OSPF 라우팅 정보에는 2가지 타입이 있다.
- Tyre 1 : Internal과 External Metric 값을 더한다.
- Tyre 2 : Internal Metric 값을 더하지 않는다.
⑾ OSPF는 RIP과 같이 다른 회사의 장비와 상호 호환을 제공하는 표준 프로토콜 이다. 이때Metric계산은 라우팅 프로토콜 마다 서로 다른 방법을 사용할 수 있기 때문에 Cost값을 재 조정하여 경로 설정을 할 수 있다.
⑿ 발신지와 목적지가 동일한 또는 서로 다른 Area에 있는지에 따라 2가지의 서로 다른 OSPF 라우팅을 생성한다.
- Intra-Area 라우팅은 발신지와 목적지가 동일한 Area에 있는 경우
- Inter-Area 라우팅은 발신지와 목적지가 다른 Area에 속할 경우
2. OSPF의 라우팅 계위
OSPF에서는 RIP와 달리 라우팅 알고리즘을 적용하기 위한 계위를 가지고 있다.
가장 큰 계위로서 AS(Autonomous System)가 있는데 이는 공통적인 라우팅 전략을 공유하면서 하나의 관리 체제에 의해 관리되는 망들의 집합으로 정의 된다.
이 AS 는 다시 여러 개의 Area로 나누어지는데, 이는 연속적인 망 및 접속된 시스 템들의 집합으로 표현된다. 하나의 AS내에서 이러한 Area를 연결해주는 망을 백본이라 부르며, 이러한 계위에 따른 라우터의 구분은 다음과 같다.
- IR(Internal Router)-내부 라우터
어떤 한 Area에 속한 망에 직접 접속한 라우터를 말하며, 백본 망에 접속한 라우터도 이 범주에 속한다.
(그림 - 라우터 1, 2, 5, 6, 7, 8, 및 13)
- ABR(Area Border Router)-Area 경계 라우터 Area와 백본 망을 연결시켜주는 라우터를 말하며, 이 라우터는 접속된 Area 에 대한 경로 정보를 요약하여 백본 망에 전달하면 백본 망을 통해 이 정보가 다른 Area경계 라우터에게 분배된다.
(그림 - 라우터 4, 10, 11, 및 12)
- BR(Backbone Router)-백본 라우터 백본 망에 접속한 모든 라우터를 말하며, 여기에는 Area경계 라우터 및 백본 망에 속한 내부 라우터가 포함된다.
(그림 - 라우터 4, 5, 6, 10, 11, 및 12)
- ASBR(Autonomous System Boundary Router)-AS 경계 라우터 다른 AS에 속한 라우터와 경로 정보를 주고 받는 라우터를 말하며, 이러한 경로 정보는 AS외부 경로로서 전 AS에 전달된다.
이러한 AS경계 라우터에 대한 경로는 AS에 속한 모든 라우터에 알려지게 된다.
3. OSPF 경로 선정
효율적으로 경로를 선정할 수 있는 OSPF 인터네트워크를 설계하려면 OSPF 메트릭값조정(Tuning), 지역 간 트래픽 제어(Control), OSPF 인터네트워크에서의 로드 밸런싱등과 같은 사항을 주지해야 한다.
- OSPF 메트릭스 값 조정 (Tuning) : OSPF 메트릭스의 기본 값은 대역폭을 근거 로 산출된다.
- 지역간 트래픽 제어 (Control) : 단 한 대의 지역 경계 라우터만이 존재하는 경우, 그 지역에 속하지 않는 모든 트래픽은 지역 경계 라우터로 송신된다.
여러 대의 지역 경계 라우터가 있는 경우에는
1) 트래픽을 생성한 노드에서 가장 가까이 있는 지역 경계 라우터를 이용해 송신 (트래픽은 가능한 한 빨리 지역을 벗어남)
2) 트래픽의 목적지에서 가장 가까이 있는 경계 라우터를 이용해 송신(트래픽은 가능한한 늦게 지역을 벗어남)등 2가지 중 한가지 방식으로 트패픽이 송신된다.
4. OSPF 경로축약
경로축약기법을 사용하면 2가지 라우팅 정보가 네트워크를 통해 전달된다.
즉 백본이 각 지역에 대한 정보를 얻는 Area-to-Backbone Advertisement, 각 지역 에서 백본과 다른 지역에 대한 정보를 얻는 Backbone-to-Area Advertisement다.
- Area-to-Backbone Advertisement : 적절한 축약을 위해서는OSPF 지역 설계시 다음과 같은 사항을 고려해야 한다.
1) OSPF경로 축약은 지역 경계 라우터에서 수행된다.
2) OSPF는 VLSM을 지원하므로 네트워크/서브넷 어드레스에 대한 임의의 Bit Boundary 축약이 가능하다.
3) OSPF 사용시에는 수작업으로 축약해야 한다.
- Backbone-to-Area Advertisement : 각 지역에는 4가지 형태의 라우팅 정보가 존재한다.
Ⱑ 기본 경로 : 지정된 IP 네트워크를 찾을 수 없는 경우에는 라우터가 기본 경로
에 지정된 목적지로 패킷을 넘긴다.
Ⱒ 지역 내 경로(Intra-areaRouter) : 명확히 지정된 네트워크나 서브네트 경로는
지역 내의 모든 네트워크나 서브네트에 전송한다.
Ⱓ 지역간 경로(Interarea Routes) : 각 지역은 동일한 AS의 네트워크에 대한
명확히 지정된 목적지로 패킷을 넘긴다.
Ⱔ 외부경로(ExternalRoutes) : 서로 다른 AS끼리 라우팅 정보를 교환할 때
교환되는 경로를 외부 경로라 부른다.
한편 지역은 해당 지역에서 사용하는 라우팅 정보에 따라 크게 3가지로 구분한다.
1. Nonstub 지역 : 4가지 형태의 경로를 모두 전송하는 지역. RIP(Routing Infor- mation Protocol)와 OSPF를 둘다 이용하는 ASBR(Autonomous System Border Router)가 설치된 지역이나 지역간을 연결하는 가상링크(Virtual Link)가 설정된 지역은 반드시 Nonstub 지역이어야 한다.
이 지역은 가장 많은 자원이 집중된 지역이다.
2. Stubarea : 외부 경로를 제외한 나머지 3가지 형태의 경로를 전송하는 지역. 단 한 대의 지역경계 라우터가 있는 경우 바람직한 형태의 지역이나 여러 대가 있는 경우에도 채택할 수 있다.
3. 축약을 하지 않은 Stubarea : 이 지역에서는 기본 경로 지역 내 경로만이 전송 된다. 이러한 지역은 백본에 지역을 연결할 때 한 대의 라우터만 사용하는 단 순한 구성인 경우 바람직하다.
5. OSPF 컨버전스
OSPF의 특징 중 가장 매력 있는 점은 형상 변화가 발생하면 매우 신속하게 그 변화에 적응하는 능력이다. 라우팅 컨버전스(Convergence)는 장애 발생 감지와 새로운 경로 모색으로 구성된다.
OSPF 네트워크는 시리얼 라인장애(Serial LOSS), 토큰링 장애, FDDI 장애등과 같은 장애를 발생 즉시감지해 낼 수 있다.
장애가 발생하면 그것을 감지한 라우터는 변경 정보를 포함하는 Link State 지역의 모든 라우터에 송신된다. 이 패킷을 수신한 모든 라우터는 SPF(Shortest Path First) 알고리즘을 이용해 전 경로를 재 계산한다.
OSPF 컨버전스에 영향을 주는 요소는 장애 감지와 경로 재 계산이다. OSPF는 2가지 방식으로 장애를 감지한다. 첫째는 인터페이스의 상태 변화이고 두 번째는 Dead Timer 라 부르는 시간 내에 이웃 라우터로부터 hello 패킷이 수신되지 않는 경우 장애로 판단한다.Dead timer 의 기본값은 브로드캐스트 네트워크의 경우 40 초 비브로드캐스트 네트워크의 경우에는 2분이다. 경로 계산에 걸리는 시간은 지역의 크기 데이터 베이스 내의 경로 개수에 따라 달라진다.
6. OSPF 네트워크 확장성
확장성은 전체 네트워크의 구조와 어드레싱 방식에 의해 좌우된다. 계층 구조의 어드레싱 환경과 정형화된(체계적인) 어드레스 부여가 OSPF 네트워크 확장성을 결정한다.
7. OSPF 보안성
라우팅 프로토콜에 대해서는 OSPF네트워크에 접속된 라우터 제어와 라우터끼리 교환하는 라우팅 정보 제어 등 2가지의 보안 기법을 적용할 수 있다.
OSPF패킷에서는 허가(Authentication)필드를 사용할 수 있으므로, 이필드를 이용 하면 현재 제어하고 있지 않은 호스트나 라우터에서 과실로 인한 OSPF지역에 속해 있는 라우터 간의 라우팅 정보는 같으므로 OSPF네트워크에서는 보안 기능을 제공 하기 위해 라우트 필터(Route filter)를 사용할 수 없다.
8. OSPF의 동작방법
OSPF 라우터는 처음 부팅시, 헬로(Hello)패킷을 주고 받음에 의해 이웃한 라우터를 서로 인식할 수 있게 된다. 이를 통해 어떤 망에 접속된 복수 개의 라우터 중 그 망을 대표하여 그 망에 대한 경로 정보를 생성 및 분배하는 책임을 지는 대표(Designat- ed)라우터를 선정하게 된다. 이 대표 라우터는 새로 인식된 라우터와 경로 정보를 주고 받음에 의해 동기를 맞추게 된다.
OSPF라우터는 자신의 경로 테이블에 대한 정보를 LSA(Link State Advertisement) 라는 자료 구조를 통하여 주기적으로 혹은 라우터의 상태가 변화됐을 때 전송하게 되는데, 이 LSA는 해당 Area의 모든 라우터에게 알려지게된다. 이를 통해 한 Area에 속한 모든 라우터는 같은 정보를 공유하게 되는 것이다.
Area간의 정보 공유는 다음과 같이 수행된다. Area경계 라우터는 AS의 백본 망에 연결되어 있으므로, 다른 Area경계 라우터와 Area에 대한 요약(Summary)정보를 주고 받음으로써 AS의 위상(Topology)과 다른 Area에 대한 정보를 획득할 수 있다.
이를 통해 자신의 Area에 속하지 않은 모든 목적지에 대한 경로를 계산할 수 있고 이를 내부 라우터에게 전송한다. 이를 통해 내부 라우터는 다른 Area에 속하는 목적지로 전송할 때 어느 Area경계 라우터로 패킷을 전송할 지를 결정할 수 있다.
다른 AS에 대한 외부 경로 정보를 알고 있는 AS경계 라우터는 AS를 경유하여 정보를 전송할 수 있으므로 이러한 외부 경로 정보는 스텁(Stub)Area를 제외하고는 전 Area경계 라우터에 의해 Area요약 정보형태로 내부 라우터에게 전송된다. 이와 같은 이유로 다른 AS와 연결하는 AS경계 라우터의 위치는 스텁Area에 속한 라우터를 제외하고는 모두 알려지게 되며 이를 통해 AS외부로 정보를 전송할 수 있게 된다.
OSPF라우터는 위와 같은 방식으로 Area내부, Area외부, AS외부의 경로에 대한 정보를 얻어 위상(Topology)데이타베이스를 구축한다. 이와 같은 위상 데이터베이스에 SPF알고리즘을 적용하여 모든 경로에 대해 자신으로부터의 SPT(Shortest Path Tree)를 계산 하여 이를 경로 테이블에 유지하며 이를 통해 패킷의 중계를 수행한다.
9. OSPF의 향후 전망
OSPF는 비교적 최근에 등장한 링크 상태(Link State)라우팅 알고리즘으로서 라우터 간에 변경된 최소한의 부분만을 교환하므로 망의 효율을 저하시키지 않으며, 라우터의 계위를 설정함에 의해 확장성과 대규모 망에 적용할 수 있는 성질을 가지고 있다.
RIP와 같이 특정 도메인 안에서 적용할 수 있는 도메인내의(Intra-domain)라우팅 프로 토콜로서 RIP가 가지고 있는 여러 단점을 해결하고 있으나, 그 프로토콜 자체가 복잡하 다는 단점도 역시 가지고 있다.
현재 인터넷을 비롯하여 대부분의 대규모 RIP망인 경우, OSPF의 적용은 일반화되어 있고, 기존의 OSPF로 바꾸는 작업도 활발하다. 이더넷 스위치의 보급으로 상대적 으로 라우터의 중요성 및 역할이 많이 줄어들고 있는 상황이지만, 외부와 연결하기 위해서는 어차피 라우터가 필요하고, 이 경우, OSPF는 도메인내의 라우팅 프로토콜 로서 다른 어떤 라우팅 프로토콜보다도 주도적 역할을 수행할 것이다.
※ 참고
라우팅이란 패킷을 목적지에 전달하기 위해서 경로정보를 어느 노드에 전달하는가를 각 드가 판단할 수 있게 하고 그정보에 따라서 패킷을 전달하게 하는 기능을 한다.
라우팅프로토콜이란 라우터들은 패킷을 목적지 까지 전달하기 위해서 인접한 라우터 사 이에서 경로정보를 주고 받는데, 이때의 경로정보를 작성하고 제어하는 프로토콜 AS(Auto-nomous System) : 라우팅을 위해서 자율적으로 관리 할 수 있는 네트워크 그룹과 게이트웨이를 AS라고 한다. AS는 내부 라우팅 구성을 자유롭게 할 수 있고, 모든 AS의 네트워크 정보를 수집하고 다른 AS의 네트워크 정보를 통과 시킬 하나 이상의 게이트웨이를 지정해야 한다.
- IGP(Internal Gateway Protocol) :여러 네트워크 그룹 중에서 같은 그룹 내에서 경로 정보를 교환하여 통신을 하는 라우팅 프로토콜.
ex) RIP, OSPF, IGRP등
- EGP(External Gateway Protocol) : 네트웍이 다른 그룹 사이에서 경로정보를 교환 하여 통신을 하는 프로토콜
ex) BGP등
VLSM(Variable Length Subnet Mask) : 어떤 Class내의 하나의 IP 어드레스를 여러개의 네트워크로 쪼개어 다양한 크기로 사용할 수 있다.
Convergence 시간 : 라우터의 연결이 다운되는 등의 라우터의 변화가 생겼을 때 회복 되는 시간
LSA(Link State Advertisement) :
- distance vector protocol ⇒네트웍크 토폴리지 정보 전송
- physical link 의 상태가 변화할때만 발생
- 매 30분 마다 topological database snychronization 확인하기 위한 수단으로 발생.
LSA가 되기 위한 조건
- point-to-point일 때 (network이)
- virtual link일 때 (network type이)
- 라우터 자체가 DR,BDR일 때
- neighboring router가 BDR,DR일 때
- OSPF의 라우팅 환경은 Area와 AS라는 두가지의 중요한 요소를 가지고 계층적으로 구성된다. Area는 인접한 OSPF 네트워크와 호스트들의 집합이고, 각 Area들은 OSPF Autonomous System에 의해 논리적으로 나누어 진다.
- AS는 OSPF 인터네트워크에서 가장 큰 개체이고, 같은 라우팅 방법을 가지고 있는 네트워크들의 집합이다. 이러한 계층적인 구성은 라우팅 테이블을 감소시켜 트래픽을 줄일 수 있고, 라우팅 경로 선택에 있어서 효과적으로 가장 짧은 경로를 선택할 수 있다.
- OSPF는 Link State방식을 사용하는 인테리어 라우팅 프로토콜이다.
- 라우터는 인접한 라우터로 라우터의 모든 경로정보를 보내는 것이 아니라 각 라우터의 고 유의 접속정보만 흘려 보낸다. 접속정보를 받은 후에 각 라우터는 자신의 라우팅 테이블을 가지고 최적의 경로를 설정한다.
- OSPF는 RIP에 비해 홉수에 제한이 없고, Convergence 시간이 빠르다.
- OSPF는 RIP와 같이 라우팅 정보를 주기적이 아닌 변화가 있을 때에만 갱신함으로써 대역을 효과적으로 사용할 수 있고, 동일한 네트워크 어드레스에서 VLSM(Variable Length Subnet Mask)를 사용하여 한정된 어드레스를 효율적으로 이용할 수 있다.
- 각각의 라우터는 각 인터페이스의 정보를 포함한 접속정보를 생성, 유지하여 한AS내의 모든 라우터에게 접속정보를 전달한다. 그 결과 라우터들은 고유의 데이터베이스를 작성 하여 가지게 된다. 모든 라우터는 최단경로 알고리즘으로 동작하고, 접속정보를 기초로 하여 최단 경로를 설정할 수 있다.
- 새로운 라우터는 multicast 주소 224.0.0.5를 모든 SPF 라우터들에게 hello 메시지를 보냄으로 알려진다. 그리고 DB과 BDR의 주소를 알게된다. 그러면, 새로운 라우터는 224.0.0.6 으로 DB과 BDR에게 LSA를 보낸다. BDR은 타이머를 설정하고 DR에 LSA를 보내기 위해 기다린다. DR은 다른 라우터에게 LSA를 224.0.0.5로 보내고 모든 라우터의 응답을 기다린다. 만약 BDR이 타이머가 종료하기 전에 DR LSA를 전달 받지 못하면, DR 이 되고 BDR을 선출한다. 네트웍이 다운된 것을 DR에게 224.0.0.6으로 보내면 DR은 이 것을 다른 라우터에게 224.0.0.5로 보내고, 다른 라우터들은 인접한 다른 네트웍으로 이 LSA를 보낸다.
- 각 인터페이스에 따른 OSPF 라우팅 테이블의 메트릭 값 계산시 사용되는 기본 Cost값이다.
Interface Line |
Default Cost |
56 Kbps |
1785 |
64 Kbps |
1562 |
T1 (1.554 Mbps) |
65 |
E1 (2.048 Mbps) |
48 |
4 Mbps T/R |
25 |
Ethernet |
10 |
16 Mbps T/R |
6 |
FDDI |
1 |
첫댓글 좋은정보 진심으로 감사합니다. 많은 도움이될것같네여 감사감사 오늘 하루도 화이삼~~