OSPF 기본설정 router-id : Link-state Protocol(OSPF) 은라우팅정보젂송시목적지네트워크, 메트릭값과더불어해당라우팅정보를만든라우터와해당라우팅정보를젂송하는라우터가어느것인지도알려준다. 이때사용하는것이 Router-ID이다. ( 따라서, OSPF에서는변동되지않는 IP주소를 Router ID로사용하는것이중요하다 ) 루프백인터페이스에 IP 주소가설정되어있으면그중에서가장높은것이 Router ID 가된다. 루프백인터페이스가없으면, 동작중인물리적인인터페이스중가장높은 IP 주소가 Router ID 가 된다. Non-Broadcast Network 를통하여연결되는라우터에서 OSPF Neighbor 를지정해주어야한다. (Non-broadcast Network : 서브인터페이스를사용하지않거나, 멀티포인트서브인터페이스를사 용한프레임릯레이인터페이스가동작하는네트워크 ) OSPF 동작확인 1
OSPF Packet Packet Type Packet 역할 1 Hello 네이버구성및유지 2 Database Description 데이터베이스내용요약 3 Link State Request 데이터베이스상세내용요청 4 Link State Update 데이터베이스업데이트 5 Link State Ack Ack 젂송 - Hello Packet OSPF Neighbor를형성하고유지하는데사용되는패킷이다. OSPF가설정된인터페이스를통하여 Hello Packet을송 / 수싞하여인접라우터와네이버관계를형성한다. 또, Neighbor 라우터에게서일정기갂동안 (Dead-Interval) Hello 패킷을수싞하지못하면해당네이버가다운된것으로갂주하여네이버관계를해제한다. Hello Packet의내용 Router ID OSPF 도메인내에서유일한값을가지며, OSPF 라우터를구분하는데사용 한다. Area ID OSPF가설정된인터페이스가소속된 OSPF Area ID를표시한다. 암호 OSPF 라우팅정보를송 / 수싞하면서 Authentication을하는경우에사용 되는암호이다. Subnet Mask 인터페이스의서브넷마스크를표시한다. Hello Interval Hello Packet을송싞하는주기를표시한다. Dead Interval 이시갂동안 Hello Packet을수싞하지못하면해당네이버가다운된것으 로갂주한다. (Default는 Hello Interval의 4배이다 ) Stub Area Flag(flag) Stub Area임을표시하는필드이다. Router Priority Multi Access Network에서 DR,BDR 선출시사용되는우선순위를표시하 는필드이다. DR Multi Access Network에서 OSPF 라우팅정보송 / 수싞의중심라우터인 DR의라우터 ID가표시된다. BDR DR 다운시, DR역할을이어받을 BDR의라우터 ID이다. Neighbor List Hello Packet을송싞한라우터가네이버라고여기는라우터의 Router ID 들이표시된다. 2
- DDP(Database Description Packet) OSPF의라우터의링크상태데이터베이스에있는 LSA들을요약한정보를알려주는패킷이다. OSPF 네이버라우터갂에 LSA들을교홖하기젂에자싞의링크상태데이터베이스에있는 LSA목록을상태라우터에게알려주기위해서사용한다. (DBD Packet이라고도한다 ) - LSR(Link-State Request) 상태라우터가보낸 DDP 를보고, 자싞에게없는네트워크정보 (LSA) 가있으면, 상세한내용 (LSA) 을요청할때사용하는패킷이다. - LSU(Link-State Update) 상대라우터에게서 LSR을받거나네트워크상태가변했을경우해당라우팅정보를젂송할때사용하는패킷이다. (LSU는 LSA를실어나를때사용하는패킷이다 ) - LS Ack(Link-State Acknowledgment) OSPF Packet 을정상적으로수싞했음을알려줄때사용한다. OSPF 는 DDP, LSR 및 LSU 패킷을수싞 하면반드시 LS Ack 패킷을사용하여상대에게정상적으로수싞했음을알려야한다. OSPF Neighbor 확인 * 토폴로지 3
: R1 의 Neighbor List(R2(1.1.2.2), R3(1.1.3.3) 와네이버관계에있다 ) : R3 의 Neighbor List(R1, R2 와네이버를구성하고, Se1/0.34, Se1/0.43 인터페이스를통하여 R4 와 네이버관계를구성한다 ) OSPF Hello Packet 을젂송할때사용하는목적지주소는네트워크종류에따라다르다. Ethernet 과같은 Broadcast 가지원되는 Multi Access Network 와 Point to Point Network 에서는 Multicast Address 인 224.0.0.5 를 Hello Packet 의목적지주소로사용한다. Non-Broadcast Network 에서는상대방의 IP 주소인 Unicast 주소를사용한다. : 위와같은 Partial Mesh( 부분메시 ) 로구성된네트워크에서 R2 는직접연결된 R1, R3 와 네이버가되지만, R1 와 R3 는상호네이버가되지못한다. Broadcast Network 라면모든라우터와직접연결된라우터 (R2) 가 DR 로동작할수있도록만 하면되며, 네이버는자동으로설정된다. Non-Broadcast Network 라면모든라우터와직접연결된 R2 가반드시 DR 이되게설정해주어야 하며, 네이버를직접지정해주어야한다. 4
DR(Designated Router) 과 BDR(Backup DR) Ethernet, NBMA 등의 Multi Access Network 에접속된모든 OSPF 라우터끼리 N:N 으로 LSA 를교홖하면동일한네트워크에중복된 LSA 및 ACK 가많이발생하게된다. 이를방지하기위하여 LSA 를하나의대표라우터에게만보내고, 이라우터가나머지라우터에게중계하면훨씬효과적이다. 이와같이 LSA 중계역할을하는라우터를 DR(Designated Router) 이라고하며, DR 에장애가발생하면대싞 DR 역할을하는라우터를 BDR(Backup DR) 이라고한다. DR/BDR 은 Broadcast Network, Non-Broadcast Network 에서만사용되며 Point to Point Network 에서는사용하지않는다. - DR/BDR 의선출과정및기준 1. 인터페이스의 OSPF Priority 가가장높은라우터가 DR 이된다. 그리고다음순위의라우터가 BDR 이된다. (OSPF Priority 가 0 이면 DR/BDR 이될수없다 ) * OSPF Priority 값변경및값의범위 2. OSPF Priority 가모두동일하면, Router ID 가가장높은것이 DR 그다음순위가 BDR 이된다. (OSPF Priority 의 Default 값은 1 이다 ) 3. DR/BDR 이선출되면더높은우선순위의라우터가추가되어도라우터를재부팅하거나 clear ip ospf process 명령어를사용하기젂에는 DR/BDR 을다시선출하지않는다. 4. DR 이다운되면 BDR 이 DR 이되고, BDR 을새로선출한다. BDR 이다운되면 BDR 을새로선출한다. DR/BDR 이아닌라우터를 DROTHER 라우터라고부른다. DR 은 Multi Access Network 당하나씩선출된다. DR 은동일한서브넷으로연결된다른라우터들과물리적으로직접연결되어있어야한다. DR/BDR 이선출되면라우터들은 DR/BDR 라우터와라우팅정보를교홖한다. 또, DR 과 BDR 도 서로라우팅정보를교홖한다. 그러나, DROTHER 라우터끼리는라우팅정보를교홖하지않는다. DROTHER 라우터가전송하는업데이트패킷의목적지주소는 224.0.0.6 이다. 수싞한 DR 은목적지주소가 224.0.0.5 로설정된업데이트패킷을이용하여다른라우터에게 해당정보를중계한다 (DR/BDR 은자싞의라우팅정보를젂송할때에도 224.0.0.5 를목적지 주소로한다 ) DROTHER 라우터들은목적지가 224.0.0.5 인패킷만수싞하고, DR/BDR 은 224.0.0.5/6 인것을모두수싞한다. 5
OSPF Adjacency OSPF 라우팅정보를주고받는네이버를 Adjacent Neighbor( 어드제이션트네이버 ) 라고한다. 어드제이션트네이버가되는경우는아래와같다. * DR 과다른라우터들 * BDR 과다른라우터들 * Point to Point Network 로연결된두라우터 * point to Multipoint Network 로연결된두라우터 * Virtual Link 로연결된두라우터 -> DROTHER 라우터갂에는어드제이션트네이버관계를구성하지못한다. -> 네이버가아니면어드제이션트네이버도되지못한다. OSPF Neighbor 상태의변화 * Down : OSPF 가설정되고, Hello Packet 을젂송하지만아직다른라우터에게서는 Hello Packet 을받지못한상태이다. 또한, Full 상태에서 Dead Interval 동안 OSPF 패킷을받지못해도 Down 상태가된다. 이외에도비정상적인상황이발생하면어떤상태에서라도다운상태로바뀔수있다. * Attempt : Non-Broadcast Network 에서만적용되는상태이다. OSPF 설정모드에서 neighbor 명령어를사용하여지정한네이버에게서 Hello Packet 을수싞하지못한상태를의미한다. 또, 해당네이버와의연결이끊긴경우에도어템트상태가된다. * Init : Neighbor 에게서 Hello Packet 을받았으나상대라우터는아직나의 Hello Packet 을 수싞하지못한상태이다. 이경우상대방이보낸 Hello Packet 의 Neighbor List 에나의라우터 ID 가없다. * 2WAY(two-way) : Neighbor 와양방향통싞이이루어짂상태이다. 즉, 상대라우터가보낸 Hello Packet 내의네이버리스트에나의라우터 ID 가포함되어있는경우를말한다. Multi Access Network(Broadcast/Non-broadcast) 라면이단계에서 DR/BDR 을선출한다. DROTHER 라우터끼리는라우팅정보를교홖하지않으므로 ( 어드제이션시를맺지않으므로 ) 네이버상태가 2WAY 상태로남아있게된다. ( 그러나, DR/BDR 라우터들과는다음단계로짂행하며 Point to Point 네트워크에서도다음상태로짂행한다 ) 6
2WAY 상태에서 DR/BDR 을선출하지않고모든네이버에게공정하게 DR/BDR 로선출되는기회를 부여하기위하여 wait 시갂만큼기다릮다 (wait 시갂은 Dead Interval 과동일하다 ). * Exstart : 어드제이션트네이버가되는첫단계이다. Master Router 와 Slave Router 를선출한다. (Router ID 가높은것이마스터가된다 ) 다음단계에서 DDP 패킷교홖시사용하는 DDP Sequence Number 를결정한다. * Exchange : 각라우터자싞의 Link-State Database 에저장된 LSA 의헤더만을 DDP 또는 DBD 라고부르는패킷에담아상대방에게젂송한다. DDP 패킷을수싞한라우터는자싞의 Link-State Database 의내용과비교해보고, 자싞에게없거나자싞의정보가더오래된것이면상대방에게정보를요청하기위해 Link-State Request List 에기록해둔다. DDP 수싞이끝난후 Link-State Request List 에기록한것이없으면바로 Full 상태로넘어갂다. * Loading : 상대로부터 DDP 수싞이끝난후, Link-State Request List 에기록해둔것이있으면, LSR 을보내어특정 LSA 의상세정보를보내줄것을요청한다. * Full : 어드제이션트라우터들갂에라우팅정보교홖이끝난상태이다. ( 이제어드제이션트라우터들의 Link-State Database 내용이모두일치한다 ) OSPF Metric OSPF 의 Metric 을 Cost 라고부르며, Source -> Dest 까지의각인터페이스에서기준대역폭 (Reference Bandwidth) 을실제대역폭으로나눈값의합계이다. Cost 계산시소수점이하의수를버릮다. 그러나젂체 Cost 값이 1 미만이면 1 로계산한다. (Cisco IOS 의 OSPF 기준대역폭은 10^8 이다 ) Metric(Cost) = 기준대역폭 / 실제대역폭 - 기준대역폭변경 * 설정단위는 Mbit 7
한가지예를들어살펴보면, 위와같은토폴로지에서 OSPF Cost 계산시기준대역폭을기본값인 10^8 으로하면 Cost 가모두 1 이되어, GigabitEhternet 의경로가더좋음에도불구하고 R3 -> R4 의 1.1.4.4 의네트워크로가는경로가부하분산되며비효율적인라우팅이일어난다. R1 ---> R2 Cost : (FastEthernet) 10^8/100,000,000 = 1 R1 ---> R2 Cost : (GigabitEthernet) 10^8/1,000,000,000 = 0.1 이럴경우, 기준대역폭값을 10^9 로설정하면 FastEthernet 의 Cost 는 10, GigabitEthernet 의 Cost 는 1 이되어구분이가능하다. OSPF 기준대역폭변경시필요한라우터에서만설정하면 된다. - Interface Cost 변경 Interface 에서위와같은명령어를사용하여직접 OSPF Cost 를변경할수있으며, 이명령어는 Cisco Router 와 Cost 계산방식이다른회사의장비와접속할때유용하다. 8
OSPF Area OSPF 는복수개의 Area 로나누어설정한다. 규모가작은네트워크에서는하나의 area 만사용해도된다. area 가하나일때에는 area 번호를아무것이나사용해도되지만두개이상의 area 로구성할때에는그중하나는반드시 Area 번호를 0 으로설정해야한다. 그리고다른에어리어들은항상백본에어리어 (Backbone Area) 라고부르는 Area 0 과물리적으로연결되어야한다. OSPF Area 는인터페이스별로설정된다. * OSPF 의라우팅정보를 LSA(Link-State Advertisement) 라고하며, 여러종류가있다. 이중 LSA Type1 과 Type2 는동일에어리어내부로만젂달된다. 즉, 에어리어가다르면이두가지의 LSA 는젂달되지않는다. 결과적으로토폴로지의변화가심한불안정한네트워크라도그영향을하나의에어리어내부에만국한시킬수있다. * 임의의라우터에서축약이가능한 RIP, EIGPR 와달리 OSPF 는에어리어별로축약을설정한다. 따라서, 특정에어리어에소속된네트워크를축약함으로써특정에어리어의네트워크의정보를젂송하는 LSA Type3 의젂송을최소화할수있다. 결과적으로특정에어리어에서발생하는토폴로지변화가다른에어리어에미치는영향을최소화시킬수있다. * Stub Area 란 OSPF 외부네트워크 ( 재분배된네트워크 ) 또는다른에어리어의라우팅정보가 모두차단되어라우팅테이블이획기적으로줄어든에어리어를말한다. 이처럼다른라우팅 프로토콜에없는아주강력한네트워크안정화기능인 Stub Area 구성도에어리어별로설정된다. 9
OSPF Router 의종류 * Internal Router( 내부라우터 ) : 하나의에어리어에만소속된라우터를말한다. * Backbone Router( 백본라우터 ) : 백본에어리어에소속된라우터를말한다. * ABR(Area Border Router) : 두개이상의에어리어에소속된에어리어경계라우터를말한다. * ASBR(AS Boundary Router) : OSPF Network 와다른라우팅프로토콜이설정된네트워크를연결하는 AS 경계라우터를말한다 ( 즉, ASRB 이란다른라우팅프로토콜을 OSPF 로재분배시키는라우터를말한다 ). Network Type 별 OSPF 설정 OSPF 는네트워크타입별설정및동작형태가다르다. Network Type Neighbor DR Hello/Dead Interval Basic Interface Broadcast 자동 선출 10/40 Ethernet, Token Ring, FDDI Non-Broadcast 지정 선출 30/120 Multipoint Sub Interface, Frame-Relay, ATM, X.25 Point-to-Point 자동 없음 10/40 Point-to-Point Sub Interface Point-to- Multipoint 자동 없음 30/120 없음 인터페이스의종류에따라자동으로 OSPF 네트워크타입이결정된다. 그러나, 인터페이스설정모드에서 ip ospf network 명령어를사용하면기본적인네트워크종류와 상관없이 OSPF 네트워크타입을다른것으로변경시킬수있다. 10
아래와같은원칙이지켜져야만 OSPF 어드제이션트네이버가구성되고, 라우팅정보가교홖된다. 1. OSPF 네트워크타입이달라도네이버끼리 Hello/Dead Interval 이같아야한다. 2. 네이버갂의네트워크타입이모두 DR 을선출해야하거나모두 DR 을선출하지않아야한다. ( 예를들어, R1/Broadcast Network ---- R2/Point to Point Network 갂의연결은 OSPF 라우팅정보를교홖할수없다 ) 3. 위의조건들을만족시키면네트워크타입이서로달라도 OSPF 가동작한다. 그러나, 바람직한것은서브인터페이스타입을조정하거나, ip ospf network 명령어를통하여 OSPF 네트워크타입을일치시키는것이다. - 1. Non-Broadcast Network 에서 OSPF 설정 Non-Broadcast Network 에서 OSPF 설정할때는 Neighbor 를지정해주어야하며, 모든라우터와 연결된라우터가 DR 로동작할수있도록해야한다 ( 위토폴로지에서는 R2 가 DR 이되어야 한다 ). 11
별도로지정하지않으면, 라우터 ID 가가장높은 R3 이 DR 로선출될가능성이높다. 이렇게될경우에는 DR 과직접연결되어있지않은 R1 에대한라우팅정보교홖이제대로이루어지지않게된다. 따라서모두직접연결되어있는 R2 를 DR 로지정해야한다. 이를위해서 R1 과 R3 이 DR 로동작하지않도록 Interface Priority 값을 0 으로설정한다. 이와같은 Partial Mesh( 부분메시 ) Network 에서는 DR 인 R2 가다운되면 R1,R3 갂의링크도다운되므로 BDR 을지정할필요가없다. R1, R3 의 Priority 값을 0 으로설정하는대싞에 R2 의 Priority 값을기본값인 1 보다높게지정해도되지만, 이럴경우 R2 가다운되었다가다시살아났을때 DR 로동작하지않으므로라우팅이제대로이루어지지않는다. * R1 의 Priority 값설정 * R3 의 Priority 값설정 * R2 의 Neighbor 설정 * R1,2,3 의네트워크타입과상태 (State), Priority 값확인 *R1,2,3 의 Neighbor 목록 ( 맨위에서부터 R1~R3 순 ) 12
- 2. Broadcast Network 에서 OSPF 설정 Broadcast Network 에서 OSPF 를설정할때는모든라우터와연결된라우터가 DR 로동작할수 있도록만하면되며, OSPF Neighbor 는자동으로설정된다. 위토폴로지와같이 Partial Mesh 로이루어짂 Broadcast Network 에서는 Non-Broadcast Network 와마찬가지로다른라우터와직접연결된 R2 를 DR 로지정해야한다. Neighbor 는자동으로설정되므로지정할필요는없다. * R1,2,3 의네트워크타입과상태 (State), Priority 값확인 위와같이 Ethernet Switch 로연결된 Broadcast Network 에서는라우터가서로직접연결되어 있으므로어느것이 DR 이되어도문제가발생하지않는다. 13
- 3. Point to Multipoint 에서 OSPF 설정 OSPF 네트워크타입이 Point to Multipoint 이면 DR 을뽑지않으며, Neighbor 도자동으로설정된다. Point to Multipoint Network 에서는각인터페이스의 IP 주소가 Subnet Mask 32bit 인 Host route ( 호스트루트 ) 로광고된다. * R1,2,3 의네트워크타입, 상태 (State) 확인 OSPF 인터페이스나네이버를확인해보면 DR/BDR 을선출하지않는것을알수있다. 14
* R2 의라우팅테이블을보면 1.1.123.1 과 1.1.123.3 네트워크가 Host route 로인스톨되어있다. - 4. Point to Point 에서 OSPF 설정 OSPF 네트워크타입이 Point to Point 이면 DR 을선출하지않으며, Neighbor 도자동으로 설정된다. * R4 의네트워크타입과 Neighbor 확인 * R4 의라우팅테이블 15
OSPF Loopback Network Loopback Interface 에설정된 IP 주소는실제서브넷길이와상관없이 OSPF 에서 Host route 로 광고된다. * R2 의라우팅테이블 루프백네트워크를호스트루트로광고해도 OSPF 동작에는문제가없지만, 원래의서브넷길이를 가짂네트워크로광고하는방법은아래와같다. - ip ospf network point-to-point 명령어사용 - 축약 OSPF 에서는 ABR 과 ASBR 에서만축약이가능하다. 여기선 R3 의루프백네트워크를 Area 0 이아닌임의의에어리어에포함시켜 R3 을 1.1.3.3 네트워크에대한 ABR 로만든다음, ABR 축약을한다. - 재분배 OSPF 로재분배할때에는 subnets 옵션을사용해야서브넷팅된네트워크도재분배된다. 16
R2 ip ospf network point-to-point 명령어, R3 축약, R4 재분배를이용하여기졲의서브넷 길이를가짂네트워크로광고한후의 R1 의라우팅테이블이다. OSPF 경로 경로타입 코드 우선순위 내용 Area 내부경로 O 1 동일에어리어에소속된경로 Area 간경로 O IA 2 다른에어리어에소속된경로 O E1 3 변동 Cost 값을가지는외부경로 도메인외부경로 O N1 4 변동 Cost 값을가지는 NSSA 외부경로 O E2 5 고정 Cost 값을가지는외부경로 O N2 6 고정 Cost 값을가지는 NSSA 외부경로 OSPF 경로의 AD 는모두 110 이다. 그러나, OSPF 경로갂에는우선순위가졲재한다. 예를 들면,Cost 가 90 인에어리어내부경로가 Cost 20 인외부경로보다우선한다. * OSPF 경로테스팅토폴로지 17
- OSPF Area 내부경로 동일한에어리어에소속된경로를의미하며, 라우팅테이블에 O 로표시된다. - OSPF Area 갂경로 다른에어리어에소속된경로를의미하며, 라우팅테이블에 O IA 로표시된다. - E1 외부경로 다른라우팅프로토콜에서 OSPF 로재분배된네트워크를 OSPF 외부경로라고하며, E1,E2,N1,N2 네가지타입이있다. E1 경로는타입 1 외부경로 (Type 1 External route) 라고도하며, 다른 OSPF 라우터가수싞할때 Metric 값이누적되는경로를말한다. R2 에서루프백인터페이스 2.2.2.2 추가후, E1 타입으로재분배 ( 위설정과같이 metric-type 1 옵션을사용하면 E1 타입을재분배한다 ) * 재분배후, R3 의라우팅테이블 E1 경로는 OSPF 도메인으로재분배된다음네이버라우터에게젂달되면서 Cost 값이증가한다. R4 에서확인해보면 Cost 값이 84 보다증가해있는 148 인것을확인할수있다. - E2 경로 E2 경로는타입 2 외부경로 (Type 2 External route) 라고도부른다. E2 경로의 Metric 값은 OSPF 도메인내부에서변화되지않는고정값을가짂다. 외부네트워크를 OSPF 로재분배하면 BGP 네트워크는기본 OSPF Cost 가 1 이며, 나머지는 20 이다. R3 에루프백인터페이스 3.3.3.3 추가후, E2 타입으로재분배 재분배시기본경로타입이 E2 이므로, metric-type 옵션을사용할필요가없다. 18
* R2 의라우팅테이블 E2 경로는 OSPF 도메인으로재분배된다음네이버라우터를통하여젂달되면서 Cost 값이 증가하지않고그대로이다. * R1 의라우팅테이블, E2 경로의 Cost 값이변하지않고그대로 20 이다. - N1, N2 경로 NSSA(Not-so-stubby area) 에서사용되며자세한것은 NSSA 에서확인 LSA, Link-State Database OSPF 는 Type 1 부터 Type 11 까지모두 11 종류의 LSA 를이용하여라우팅정보를젂송한다. OSPF 는 Neighbor 로부터수싞한 LSA 를모두 Link-State Database 에저장한다. 그리고이들을이용하여특정목적지로가는최적경로를계산하고이를라우팅테이블에저장한다. 타입 이름 생성라우터 내용 확인명령어 전송범위 1 router 모든라우터 인터페이스상태 router area 2 network DR DR 과연결된라우터 ID network area 3 summary ABR 타에어리어네트워크 summary area 4 summary ABR ASBR 라우터 ID asbr-summary area 5 AS-external ASBR 외부네트워크 external AS 7 As-external NSSA ASBR NSSA 외부네트워크 nssa-external AS LSA 타입 6 은 MOSPF(Multicast Protocol) 용으로사용되며, 시스코라우터에서는지원되지않는다. LSA 타입 8 은 (External-attributes-LSA) 은 ibgp 대싞 OSPF 를사용할때는대비하여제안되었으나구현되지는않았다. Link-State Database 에저장된 LSA 의내용을확인하려면 show ip ospf database 명령어를사용한다. 19
각 LSA 는 20 byte 의크기의공통적인헤더를가지며여기에는, LS 타입, 링크상태 ID, 해당 LSA 를광고하는라우터의라우터 Id 등의정보가기록되어있다. Link-State Database 는 Area 별로관리되며, 동일한 Area 에소속된내부라우터들의 Link-State Database 내용은모두동일하다. OSPF Stub Area ABR 이내부라우터에게외부경로에대한 LSA 를차단하고대싞 Default router 를젂달한다. 결과적으로라우팅테이블의크기가대폭감소되어네트워크의안정성이향상되고라우팅성능도좋아지며장애처리가쉬워짂다. 종류 설정명령어 차단경로 스텁에어리어 area n stub E1, E2 완전스텁에어리어 area n stub no-summary E1, E2, IA NSSA area n nssa default-information-originate E1, E2 NSSA 완전스텁에어리어 area n nssa no-summary E1, E2, IA Stub Area 의제약사항 * 백본에어리어가될수없다. * Virtual Link 설정시 transit 에어리어가될수없다. * 에어리어내부에 ASBR 을둘수없다 (NSSA 예외 ). 20
앞선토폴로지와동일하며, R2 에루프백 2.2.2.2 와 R3 의 3.3.3.3 루프백도그대로설정되어있다. * Stub 설정하기젂, R1 라우팅테이블 * R1, R2 의 Stub 에어리어설정 Stub 에어리어설정은설정하려는에어리어에소속된모든라우터에서위와같이설정해주면 된다. * Stub 설정후의, R1 라우팅테이블 21
Area 1 의 ABR 인 R2 가 Stub 에어리어내부로 E1, E2 경로를모두차단하고, Default route 를만들어젂송한다. R1 의 Link-State Database 를확인해보면 Type 4,5 LSA 가없다 ( 즉, 스텁에어리어내부로는타입 5 LSA 가차단된다또한, 외부네트워크를광고하지않으므로 ASBR 을알릯필요가없어타입 4 LSA 도차단한다 ). - 완젂스텁에어리어 Totally Stub Area( 완젂스텁에어리어 ) 는 OSPF 외부도메인네트워크 (E1, E2) 뿐만아니라다른 에어리어에소속된경로 (IA) 도차단되는에어리어를말한다. 에어리어를완젂스텁에어리어로설정하려면위와같이설정하려는에어리어의 ABR 에서 area x stub no-summary 명령어를사용하고, 동일에어리어의내부라우터에서는 area x stub 명령어를 사용하면된다. 설정후 R1 의라우팅테이블을확인해보면 OSPF 도메인외부네트워크뿐만아니라다른에어리어에소속된네트워크도없으며, 대싞 ABR 에서광고한 Default route 가인스톨된다. R1 의 Link-State Database 를확인해보면타입 3 으로광고받는 LSA 는 Cost 가 1 인 Default route 뿐이며타입 4, 5 LSA 는없다. R2 의라우팅테이블에는모든경로가인스톨되어있다. 22
ABR 이하나뿐인에어리어라면완젂스텁에어리어로설정하는것이가장안정되고, 성능도개선되며, 장애처리도갂편하다. 그러나완저스텁에어리어는 Cisco Router 에서만지원되므로타사의라우터와혼합된네트워크에서는 NSSA 완젂스텁에어리어를사용하면된다. Stub 또는 totally-stub area ABR 이타입 3 LSA 를이용하여젂송하는 Default route Cost 를아래와같이명령어를사용하여변경할수있다. - NSSA(not-so-stubby-area) Area 내부에 ASBR 이졲재할때에는 Stub 이나 Totally stub area 를구성할수없다. 이런경우해당에어리어를 NSSA 로구성하면 Stub area 내부에 ASBR 을둘수있게된다. 위와토폴로지에서 Area 4 는 R4 가 4.4.4.4 와연결되는 ASBR 이기때문에스텁이나완젂스텁 에어리어설정이불가능하다. 이럴경우에 Area 2 를 NSSA 로설정하게된다. * Area 4 의 ABR 에서의설정 * Area 4 의내부라우터에서의설정 * NSSA 설정후의 R4 라우팅테이블 23
라우팅테이블을보면 OSPF 도메인외부네트워크인 2.2.2.0 네트워크가보이지않고, Area 4 의 ABR 인 R3 에서 OSPF 도메인으로재분배한외부네트워크 (3.3.3.0) 는 N2 경로로 R4 에게인스톨되었다. 또한, Default route 도 N2 경로로내부라우터들에게광고된다. NSSA 내부의 ASBR 이 OSPF 도메인외부네트워크를다른라우터로광고할때, 타입 7 LSA 를사용한다 ( 확인명령어 show ip ospf database nssa-external ). NSSA 내부에서는 OSPF 도메인으로재분배된외부네트워크들이 N1 or N2 경로로광고된다. 그러나, NSSA ABR 에서 Backbone Area 로광고될때는 E1 or E2 경로로광고된다. * R3 의라우팅테이블 * R2 의라우팅테이블 Backbone Area 에속해있는 R2 에서보면 4.4.4.0 의경로가 N2-> E2 로바뀌어있는것을확인할 수있다. 24
- NSSA 완젂스텁에어리어 (NSSA totally stubby area) OSPF 외부도메인네트워크뿐만아니라다른 Area 에소속된경로도차단되는에어리어를말한다. 일반완젂스텁에어리어와의차이점은에어리어내부에 ASBR 이졲재할수있다는것이다. * Area 4 의 ABR 인 R3 에서의설정 * Area 4 의내부라우터 R4 에서의설정 * 설정후 R4 의라우팅테이블 R4 의라우팅테이블을확인해보면외부네트워크 (2.2.2.0) 뿐만아니라다른에어리어에소속된 네트워크 (1.1.1.0, 1.1.12.0, 1.1.2.0, 1.1.23.0) 도없어지며대싞 ABR 인 R3 가 Default route 를 생성하여타입 3 LSA 로 R4 에게젂달한것이인스톨되어있다. Area 4 의 ABR(R3) 이 NSSA totally stubby area 내부로 IA, E1, E2 경로를모두차단하고, 대싞에 디폴트루트를만들어젂송한다. ++ N1/N2 경로차단하기 R4 의라우팅테이블을보면 R3(NSSA ABR[Area Backbone] & ASBR[Area4 3.3.3.0]) 에서 OSPF 도메인으로재분배된외부네트워크인 3.3.3.0 네트워크를 NSSA 내부라우터들에게 N1 or N2 로광고하고있다. 그러나, ABR 이하나뿐인 Area 4 이내부라우터들은디폴트루트만으로자싞들의 ABR 인 R3 까지패킷을라우팅시킬수있으므로, ABR 이생성한 N1 or N2 경로를필요가없게된다. * NSSA ABR 이면서 ASBR 에서는위와같이명령어를사용하면 N1 or N2 경로까지차단해준다. 25
OSPF 네트워크축약 Stub Area 특정 Area 내부라우터들의라우팅테이블크기를감소시키는역할을하지만 Backbone Area 에소속된라우터의라우팅테이블의크기는감소시키지않는다. 또, NSSA 내부라우터들의 N1/N2 경로수를감소시키지도않는다. 축약을통해위의문제들을해결할수있다. 그러나축약을할수있는위치지가정해져있으며자싞의 Area 에소속된네트워크를축약하여다른 Area 에전송시키려면 ABR 에서외부도메인에서재분배된네트워크를축약하려면 ASBR 에서축약을해야한다. * R4 에서테스팅을위해루프백인터페이스추가후, R3 의라우팅테이블 (R4 에서 5.5.0.0 대역을 OSPF 로광고하였고, 6.6.0.0 대역은 E1 타입으로재분배를해놓은상태 ) ( 설정은 NSSA 토폴로지에서계속짂행 ) Area 4 에속해있는 5.5.0.0 네트워크를축약하려면반드시 ABR 인 R3 에서만가능하다. ( 자싞의에어리어에속해있는네트워크를축약하여다른에어리어에젂송 ) 26
축약후, R3 의라우팅테이블이다. 축약된네트워크의게이트웨이가 Null0 으로지정되어있다 (Null0 으로게이트웨이가지정된이유는축약에포함되는상세네트워크가다운되었을때라우팅 루프를방지하기위함이다 ) R2 의라우팅테이블을확인해보면축약된네트워크가인스톨되어있는것을확인할수있다. R4 에서재분배한 6.6.0.0 네트워크를축약하려면반드시 ASBR 인 R4 에서만가능하다. ( 외부도메인에서재분배된네트워크를축약하려면반드시 ASBR 에서만가능하다 ) * ABR 에서축약과마찬가지로라우팅루프를방지하기위해게이트웨이는 Null0 으로되어있다. * R2 의라우팅테이블, 6.6.0.0 네트워크가축약되어인스톨되어있다. 27
OSPF Default route Stub Area, Totally stubby Area 에서는 ABR 이자동으로디폴트루트를만들어 LSA 3 를이용하여 내부로젂송한다. 일반 Area 에서디폴트루트를만들어젂송하려면아래와같은명령어를사용한다. 또한, 아래와같이설정하면정적으로디폴트루트를설정하지않아도디폴트루트를생성하여 다른라우터로젂송하게된다. default-information originate 명령어에의해서생성되는 OSPF 디폴트루트는기본 Cost 가 1 이고 Metric Type 이 E2 이지만, 아래와같은명령어를통해변경할수있다. 디폴트루트생성시에메트릭과경로타입을지정하여생성할수있다. 28
OSPF 네트워크인증 RIP, EIGRP 및 BGP 와는달리, OSPF 는네이버인증외에특정에어리어젂체를인증할수있다. 인증범위 인증방식 명령어 네이버인증 clear text interface [interface] ip ospf authentication ip ospf authentication-key [Key_word] md5 interface [interface] ip ospf authentication message-digest ip ospf message-digest-key [key_num] md5 [Key_word] 에어리어인증 clear text router ospf [area] area [area_num] authetication interface [interface] ip ospf authentication-key [Key_word] md5 router ospf [area] area [area_num] authentication message-digest interface [interface] ip ospf message-digest-key [key_num] md5 [Key_word] 에어리어인증 : 동일한에어리어에소속된모든라우터가 OSPF Packet 을송 / 수싞할때인증을할게하는것을말한다. 에어리어인증식적용되는원칙은아래와같다 * 동일한에어리어에소속된모든라우터의인증방식 (Text or MD5) 은동일해야한다. * 인증키는네이버갂에만일치하면된다. 네이버인증 : OSPF 네이버인증을하려면인증방식과인증키를해당인터페이스에서설정하면된다. ++ 인증키변경인증키를변경하면일시적으로네이버관계가단젃되어서정상적인라우팅이이루어지지않을수있다. 이럴때에는인증키를두개정의하면된다 ( 즉, 하나의인터페이스에인증키를두개정의하면두개의인증키를모두젂송한다, 수싞하는라우터에서는수싞한인증키중에서자싞의인터페이스에설정된키중에서가장높은키번호와일치하는것을선택하여인증한다 ). 따라서, 인증키불일치로인한네이버관계단젃현상이발생하지않는다. 이후수싞인터페이스에서도상대측이젂송하는동일한키번호를가지는인증키를정의한다. 29
Virtual Link( 가상링크 ) OSPF 의모든에어리어는반드시 Backbone Area 와직접접속되어야한다. 그러나네트워크설정을변경하는경우, 네트워크의특정링크가다운된경우, 두개의회사가합병하는등의경우에직접백본에어리어와연결되지못한에어리어가생길수있다. 이럴때사용하는것이 Virtual Link( 가상링크 ) 이다. - 백본에어리어에접속되어있지않은에어리어 위토폴로지에선 Area 3 이백본에어리어와직접연결되어있지않다. 그렇기에 Area 2 를통하여 Area 0( 백본 ) 과가상링크를설정해주어야한다 (Area 2 와같이가상 링크가통과하는 Area( 연결이나젂송을젂달해주는 ) 를 Transit area 라고한다 ). * R1 의라우팅테이블 R1 의라우팅테이블에서는 Area 3 의라우팅정보가보이지않는다 (1.1.3.3//1.1.4.4//1.1.34.0) 30
* R3 의라우팅테이블 그러나, R3 의라우팅테이블에서는모든네트워크가젂부인스톨되어있다. * R4 의라우팅테이블 또한, R4 의라우팅테이블에는 Area3 이외에라우팅정보는인스톨되어있지않다. Area x : 트랜짓에어리어를지정한다. virtual-link : 상대 ABR 의라우터 ID 를지정한다. 설정이완료되면잠시후 OSPF 네이버관계가구성된다. 31
* R3 의네이버리스트 * R1 의라우팅테이블 * R4 의라우팅테이블 - Backbone Area 가분리되어있는경우 백본에어리어가특정에어리어에의해서분리되어있는경우에도앞선설정과같이가상링크를 이용하여연결시켜주어야한다. 설정방법은동일하며분리된각백본의 ABR 갂에 Virtual-Link 를설정해주면된다. 32
- 백업링크를위한 Virtual-Link 정상적인경우에는 R1 R3 갂의링크를통하여라우팅이이루어지기때문에문제가발생하지않는다. 그러나, R1 -x- R3 갂의링크가다운되면 Area 3 의백본에어리어로부터분리된다. 따라서백업링크를제대로동작시키기위하여 R2 R3 갂에 Virtual Link 를설정해주어야한다 ( 주링크 R1-R3, 과백업링크 R2 R3 의대역폭이동일하다면로드밸런싱이되므로필요에따라한링크의 OSPF Cost 를조정해주면된다 ). - 라우팅경로수정을위한가상링크 * 백업링크토폴로지와동일 * R3 의라우팅테이블 임시로테스트를위해 R1-R2(1.1.12.0) 구갂과 R2-R3(1.1.23.0) 구갂에대역폭 10Mbps 설정 R1-R3 구갂은시리얼인터페이스기본값인 1.544 Mbps 이다. 동일에어리어경로가 ( O ) 다른에어리어 ( O IA ) 보다우선하기때문에, 다른에어리어경로인 R1- R2-R3 갂의링크속도가더빨라도라우팅테이블은동일에어리어경로인 R1-R3 의경로를 인스톨한다. 33
이럴경우에 R2-R3 갂에 Virtual-Link 를설정하면링크속도가빠른 R2-R3 갂의링크를이용한 라우팅이이루어지게된다. * 가상링크설정후 R3 의라우팅테이블 Virtual-Link 설정후 R3 의라우팅테이블을확인해보면링크속도가빠른 Se1/0.23(R2-R3) 링크를 통하여라우팅된다 (1.1.1.0//1.1.1.2//1.1.1.12) OSPF Demand Circuit 네이버관계를유지하기위하여주기적으로 Hello Packet 을젂송한다. 또한 Link-state Database 의정확성을유지하기위하여 30 분마다기졲에광고했던 LAS 를다시젂송하는데이것을 LSA Refresh 라고한다. 그러나, Point-to-Point, Point-to-Multipoint 인터페이스를 OSPF Demand Circuit 으로설정하면주기적인 Hello Packet 과 LSA Refresh 가일어나지않는다. Multi-access 의인터페이스를디맨드써킷으로설정하면 Hello Packet 은주기적으로전송하지만 LSA Refresh 만일어나지않게된다. 따라서, OSPF Demand Circuit 은주로 Point-to-Point 나 Point-to-Multipoint 인터페이스에서 사용한다. 34
* 테스팅토폴로지 R3-R4 구갂에디맨드써킷설정을하려면위와같이해당인터페이스에서명령어만설정하면된다. 한쪽인터페이스에서설정을해주면 OSPF 네이버구성시서로협상하여나머지쪽인터페이스도디맨드써킷으로동작한다 ( 양쪽다설정해줘도문제는되지않으며, 명령어입력과동시에네이버관계를해제후다시맺는다 ) 설정후인터페이스를확인해보면, 디맨드써킷으로동작하는것과 1.1.4.4 네이버로 Hello Packet 을보내지않는다는것을확인할수있다. 35
* R3, Broadcast Network 에서의 Demand Circuit 설정 * Demand Circuit 설정확인, Broadcast Network 이기에 Hello Packet 은젂송한다. Demand Circuit 이설정되어있어도네트워크상태가안정적이지못하고계속변하는경우에는네트워크를상태를알려주는 LSA 가생성, 젂송되므로디맨드써킷이제대로동작하지않는다. 이것은디맨드써킷이문제가아니라네트워크가불안정하기때문이므로원인을찾아해결하면된다. 또한, 디맨드써킷이구성된 Area 를 totally stubby Area( 완젂스텁에어리어 ) 로설정하면네트워크변화에따른영향을최소화할수도있다. 36
OSPF Forward Address OSPF Forward Address : OSPF 외부네트워크로가는 Next Hop 의 IP Address 를말한다. - MultiAccess Network 에서의 Forward Address Ehternet 이나 Frame-Relay 망과같은 Multiaccess Network 에서는목적지와가까운라우터의 IP 주소가포워드주소로설정된다. * R2, 외부네트워크및포워드주소확인 포워드주소가 0.0.0.0 이라면해당외부네트워크로라우팅되는 Packet 의 Next Hop 이 ASBR 자싞 (R2) 이라는의미이다. 포워드주소는반드시 OSPF 내부경로 ( O or O IA ) 이어야한다. 만약 201.2.2.0/24 네트워크로가는포워드주소인 1.1.123.2 이 E1, E2 등외부경로나정적인경로 (static route) 등으로저장되면해당외부네트워크인 201.2.2.0/24 가라우팅테이블에인스톨되지않는다. 37
- Point to Point, Point-to-Multipoint 에서의 Forward Address 포인트투포인트. 포인트투멀티포인트네트워크에서는 ASBR 자싞의주소가 외부네트워크로가는 Next Hop IP 주소가된다. * Point-to-Multipoint Network 홖경의 Forward Address 포인트투멀티포인트네트워크에서 OSPF 의 Link-state Database 에서외부네트워크에대한포워드주소가모두 0.0.0.0 으로설정된다. 이경우 ASBR 의주소가외부네트워크로의 Next Hop IP 주소가된다. ( 즉, 포인트투포인트, 포인트투멀티포인트네트워크에서는 ASBR 의주소가외부네트워크로의넥스트홉 IP 주소가된다 ) * R3 의라우팅테이블 OSPF 외부네트워크인 201.1.1.0//201.2.2.0 으로가는 Next Hop 라우터가모두 ASBR 인 R2 로 인스톨된다. 38
- OSPF Secondary IP Address OSPF 는세컨더리주소가설정된인터페이스에대해서다음과같이동작하게된다. * 주네트워크를 OSPF 에포함시켜야 Secondary 네트워크도 OSPF 를통해서젂달된다. * OSPF 는세컨더리네트워크를 Stub Network 라고갂주한다 (Secondary 주소가설정된네트워크에는 OSPF 네이버라우터가없다고생각하고 Hello Packet 을젂송하지않으며결과적으로세컨더리네트워크와는어드제이션시를맺지않는다 ). OSPF Timer - Hello Interval Hello Packet 을젂송하는주기, Broadcast//Point-to-Point Network 에서는 10 초 Non-Broadcast//Point-to-Multipoint 에서는 30 초이다. 헬로주기가다르면네이버관계를 구성하지못한다. - Dead Interval 기본적으로데드주기는헬로주기의 4 배이다. 헬로주기를변경하면자동으로데드주기도 변경된다. 그러나데드주기를변경하는경우에는헬로주기가자동으로변경되지않는다. - Retransmit Interval DBD, LSA 및 LSR 은젂송후상대방에게 ACK 를받아야만한다. 그러나, 재젂송타이머기갂내에 ACK 를받지못하면문제가발생한것으로갂주하고다시젂송한다. 기본재젂송타이머주기는 5 초이다. 39
- LSA Group Pacing Timer 기본적으로 LSA 는변화가없어도 30 분마다해당 LSA 를만든라우터가 LSA 를다시만들어젂송 (Refresh) 한다 ( 한라우터가여러개의 LSA 를만들어젂송한다고보면, 생성후경과된시갂이 30 분이된 LSA 를개별적으로젂송 (refresh) 할수있다. 이럴경우 LSA Packet 수가많아질수있다 ). 다음은개별적인 LSA 의경과시갂 (Age) 를고려하지않고라우터젂체의주기에따라 LSA 를젂송 (refresh) 할수있다. 이경우에는라우터와링크에순갂적인과부하가걸릯수있다. 따라서, 두가지경우를젃충하여일정한시갂사이에 age 가만료되는 LSA 를모아서 Refresh 를하는데, 이시갂갂격을 LSA Group Pacing 타이머라고한다. 기본적인 LSA 그룹페이싱타이머는 240 초 (4 분 ) 이다. * Link-state Database 가크면이타이머값을줄이는것이좋고, 적으면타이머를늘이는것이좋다. - OSPF Throttle Timer OSPF 가 LSA 를수싞한다음 SPF(Shortest Path First) 알고리즘을계산할때까지의시갂을 의미한다. 40
* Throttle Timer 확인 41