107
-1- 정철윤 010-9750-1239 ([email protected] ) 양경택 010-3485-1516 ([email protected])

IP Routing-01

Embed Size (px)

DESCRIPTION

IP Routing-01

Citation preview

Page 1: IP Routing-01

- 1 -

정철윤 010-9750-1239 ([email protected])

양경택 010-3485-1516 ([email protected])

Page 2: IP Routing-01

- 2 -

차 례

제 1장. Routing Protocol 개요

1. Routing Protocol의 기본이론 --------------- 4

2. Static Route ------------------------------ 16

제 2장. RIP 실습

1. RIP의 기본적인 이론 ---------------------- 20

2. RIP의 Basic Configuration ---------------- 23

3. Verify RIP -------------------------------- 24

4. RIP의 고급 Configuration ----------------- 27

5. RIP Version 2 ---------------------------- 30

6. Redistribution/Filtering ----------------- 33

7. RIP 종합실습 ----------------------------- 36

제 3장. OSPF 실습

1. OSPF의 기본적인 이론 --------------------- 38

2. OSPF Basic Configuration ----------------- 49

3. OSPF Virtual-Link ------------------------ 51

4. Verify OSPF ------------------------------- 54

5. OSPF Area Configuration ------------------ 59

6. OSPF Redistribution ---------------------- 65

7. OSPF Filtering --------------------------- 70

8. OSPF Route Summarization ----------------- 73

9. OSPF Default-information ----------------- 78

10. OSPF 종합실습 --------------------------- 80

Page 3: IP Routing-01

- 3 -

제 4장. IS-IS 실습

1. IS-IS의 기본적인 이론 -------------------- 82

2. IS-IS의 Basic Configuration -------------- 91

3. Verify IS-IS ------------------------------ 96

4. Optimizing IS-IS ------------------------- 98

5. IS-IS Default Route Configuration ------- 101

6. IS-IS Redistribution -------------------- 102

7. IS-IS Summarization --------------------- 104

8. IS-IS Route Leaking --------------------- 105

9. IS-IS 종합실습 -------------------------- 106

제 5장. BGP 실습

1. BGP의 개요 ------------------------------ 108

2. BGP Basic Configuration ----------------- 116

3. Advertise BGP Routes -------------------- 127

4. Verify BGP ------------------------------- 132

5. BGP Synchronization --------------------- 135

6. BGP Backdoor ---------------------------- 136

7. 대규모 Network에서의 IBGP --------------- 138

8. BGP Best Path 계산법 -------------------- 145

9. BGP Attribute --------------------------- 147

10. BGP Aggregation ------------------------ 165

11. BGP Routing Filtering ------------------ 169

12. BGP Route Dampening -------------------- 177

13. BGP 종합실습 --------------------------- 180

제 6장. 부록

1. Access-list ----------------------------- 182

2. Route-map ------------------------------- 189

3. Regular Expression ---------------------- 193

4. Password Recovery ------------------------ 197

5. HSRP ------------------------------------- 198

Page 4: IP Routing-01

- 4 -

제 1 장. Routing Protocol개요

1.1 Routing Protocol의 기본이론

1.2 Static Route

Page 5: IP Routing-01

- 5 -

Router란?

트래픽을 전달해 주는 장치

여러 개의 Port를 가지고 있다.

특정 목적지로 가는 여러 경로중 어떠한 경로를

이용할것인지를 결정해야 함.

특정 프로그램을 운용하고 있음.

- Routing Protocol을 사용함.

1.1 Routing Protocol의 기본 이론

Router는 인터넷의 가장 기본적인 시스템이다.

Router는 traffic을 전달하는 장치에 불과하다. 하지만 여러 개의 Port를 가지고 있기 때문에, 각

Port마다 서로 다른 목적지가 존재한다. 이러한 목적지를 가기 위해서는 Router에 그 목적지에

대한 정보를 가지고 있어야만 traffic을 전달할 수 있다. 만일 목적지에 대한 정보가 없다면

traffic을 전달할 수가 없다. 따라서 Router는 목적지로 traffic을 전달하기 위해 특정 program을

운용하게 되는데, 그것이 바로 routing protocol이다. 이 routing protocol에 의해 해당하는 목적

지로 보내기 위해 해당 port로 traffic을 보내는 것이다.

Page 6: IP Routing-01

- 6 -

1.1 Routing Protocol의 기본 이론

Routing이란 무엇인가?

10.1.1.0/24172.16.1.0/24

Routing을 하기위해서 Router는 아래의 항목을 수행해야한다.

목적지의 Address를 알아야 한다.

목적지 정보에 대한 Source를 알아야 한다.

목적지로 향하기 위한 경로를 찾아야 한다.

목적지까지의 가장 좋은 경로를 결정해야 한다.

Routing 정보를 유지하고 관리해야 한다.

Routing이란 어떠한 장소에서 다른 장소까지 트래픽을 전달하는 과정을 말한다.

트래픽을 Routing하기 위해서 Router는 다음과 같은 항목을 수행해야 한다.

목적지 address를 알아야 한다. - Routing 될 트래픽의 목적지가 어디인지를

알아야 한다.

목적지 정보에 대한 Source를 알아야 한다. - 어떠한 Router가 자신에게 목

적지로 갈 수 있게 정보를 알려주었는지에 대해 알아야 한다. 이는 뒤에 자주 거

론될 Next-hop을 말한다.

목적지로 향하기 위한 경로를 찾아야 한다. - 목적지로 가기 위한 가능한 경

로를 모두 찾아내야 한다.

목적지까지의 가장 좋은 경로(Best Route)를 결정해야 한다. - 이는 목적지

까지의 여러 경로가 있을 경우, 어떠한 경로가 가장 좋은 경로인지를 결정하는 것

이다.

Routing정보를 유지하고 관리해야 한다. - 목적지까지의 경로에 대한 정보를

가장 최근의 것으로 갱신, 관리를 해야한다.

Page 7: IP Routing-01

- 7 -

1.1 Routing Protocol의 기본 이론

Routing Protocol

Routing Protocol

- Routed Protocol(IP, IPX등)의 정보를 알려주기 위한 Protocol이다.

- 여러 Router사이에서 Routing Table을 유지하고, 경로를 결정하기 위해 사용된다.

Dynamic Routing Protocol

- Distance Vector Protocol

: RIP, IGRP, BGP 등

- Link-State Protocol

: OSPF, IS-IS 등

Static Route

Routing Protocol은 이웃하는 Router들과 Routing 정보를 전달하기 위한 규칙을 정의한

Protocol이다. 이는 IP, IPX등과 같은 Routed Protocol의 정보를 알려주기 위한 Protocol이다.

Routing Protocol은 목적지 Network까지 트래픽을 전달하기 위해 Network Layer의 Address 정

보를 전파하기 위한 Network Layer (Layer 3) protocol이다.

Routing Protocol의 종류는 크게 ‘Dynamic Routing Protocol’과 ‘Static Routing Protocol’로 나

눈다.

Dynamic Routing Protocol은 관리자가 Route를 결정하기 위한 Routing Protocol을 설정한 후

Router 스스로가 동적(Dynamic)으로 Routing 정보를 수집하고 관리하는 Protocol을 의미한다.

이는 새로운 topology에 대한 정보가 발견되면 Routing process에 의해 자동으로update를 수행

한다. 이 Dynamic Routing Protocol은 다시 ‘Distance Vector Protocol’과 ‘Link-State Protocol’로 나눈다.

반면에 Static Route는 관리자가 Network에 대한 정보를 수동으로 입력하는 것을 말한다. 관리

자는 새로운 topology가 발견될 때마다 수동으로 update를 해야하는 단점이 있다.

Page 8: IP Routing-01

- 8 -

1.1 Routing Protocol의 기본 이론

Routing Metric

Hop Count – router hop의 수, 적은 Hop을 우선

BandWidth – Link의 속도, 높은 bandwidth를 우선

Load – Link의 사용량, 낮은 사용량을 우선

Delay – Packet을 Routing시키는데 걸리는 시간, 낮은 delay를 우선

Reliability – Link의 Error등으로 부터의 안정성, 높은 Reliability를

우선

Cost – 설정된 metric, 낮은 cost를 우선

Routing protocol의 중요한 관점은 모든 destination network으로 가는 best path을 선택하여

loop-free topology를 제공하는 것이다. Router는 metric이라는 것을 각 경로에 metric이라는

것을 network와 같이 전달한다. 각 metric값과 metric type은 routing protocol에 따라 다르다.

예를 들어, RIP은 hop count를 metric으로 사용하고 OSPF는 cost라는 것을 metric으로 사용한

다. Router는 같은 목적지에 대해 여러 개의 경로가 존재하는 경우에 이 metric을 사용한다. 모

든 routing protocol에 대한 metric은 관리자가 변경관리 할 수 있고, 그로 인해 Router가 traffic

을 forwarding 할 때 경로선택에 영향을 줄 수 있다.

다음은 metric으로 사용되는 요소들이다.

Hop count : Router의 hop수를 metric으로 사용한다. Hop의 수가 적을수록 좋은 경로로

사용된다.

Bandwidth : link의 bandwidth를 계산하여 metric으로 사용한다. Bandwidth가 높을수록

좋은 경로로 사용된다.

Load : link상의 traffic의 양을 반영시킨 metric이다. Load가 적을수록 좋은 경로로

사용된다.

Delay : 경로를 지나는데 걸리는 시간을 계산하여 반영시킨 metric이다. Delay가 낮을수록

좋은 경로로 사용된다.

Reliability : link의 fail될 가능성을 계산하여 metric에 반영시킨다. Reliability가 높을수록

좋은 경로로 사용된다.

Cost : routing protocol의 의해 설정된 metric이다. 낮은 cost가 좋은 경로로 사용된다.

각 routing protocol은 자신에게만 사용되는 metric이 있기 때문에 각 routing protocol에서 어떠

한 metric을 사용하는지에 대해 알아봐야 한다.

Page 9: IP Routing-01

- 9 -

1.1 Routing Protocol의 기본 이론

Administrative Distance

255Unknown route

Unreachable

200Internal BGP

170External EIGRP

120RIPv1 & RIPv2

115IS-IS

110OSPF

100IGRP

90EIGRP

20External BGP

1Static route to a next-hop

0Connected Interface

Static route pointing to an Interface

Administrative DistanceRoute Source/Type

Router에 한 개 이상의 routing protocol이 존재할 수 있다. 실제로 각 Router에는 여러 개의

routing protocol이 존재한다. Router는 다른 router에서 받은 routing정보를 각 routing

protocol단위로 따로 관리한다. 특정 목적지에 대한 routing정보가 여러 routing protocol을 통

해 얻게 되었을 경우에 router가 어떠한 routing protocol에서 얻은 정보를 사용하는지를 결정하

는 역할을 하는 것이 바로 administrative distance이다.

이것은 각 vendor들이 각각의 routing protocol의 신뢰도를 근거로 산출하여 사용을 하는데

Cisco는 위와 같이 사용한다.

Administrative distance가 낮을수록 더욱 신뢰할 수 있는 protocol로 사용한다. 그리고 각

protocol마다 이 distance를 변경할 수 있다.

Page 10: IP Routing-01

- 10 -

1.1 Routing Protocol의 기본 이론

Distance Vector Protocol

R1 R2 R3 R4

RoutingTable

RoutingTable

RoutingTable

RoutingTable

Bellman-Ford Protocol

느린 Convergence Time

Classful Routing Protocol

RIP, IGRP, BGP

Distance Vector Routing Protocol은 이웃 Router에게 자신의 Routing Table의

Copy를 주기적으로 전달하는 Algorithm을 사용한다.

각 Router는 자신에게 직접 연결된 Router로 부터 Routing Table을 수신한다.

위의 그림에서 예를 들면 R2는 R1에게 정보를 수신한다. R2는 distance vector

metric을 더한 후 (hop count와 같은 metric), 그것을 다시 자신의 이웃 Router에

게 전달한다. 이러한 과정이 직접 연결된 모든 Router사이에서 모든 방향으로

발생된다. 이를 일명 ‘routing by rumor’라고 소문에 의한 routing이라 한다.

이와 같은 방법에서 수행되는 알고리즘은 internetwork topology정보의

database를 유지하기 위해 network의 거리를 계산한다. 이러한 Distance

Vector 알고리즘은 Router가 internetwork의 정확한 topology를 알지 못한다는

단점이 발생된다.

이러한 Distance Vector Protocol로 대표적인 protocol로 RIP와 IGRP가 있다.

BGP는 Vector Protocol이지만 이는 정확히 말해 Path Vector Protocol이라 한다.

Page 11: IP Routing-01

- 11 -

• Distance Vector Routing Protocol

R1 R2 R3 R4

RoutingTable

RoutingTable

RoutingTable

RoutingTable

Routing Table이란?

- 자신이 가지고 있는 해당 Protocol의 Network정보 중 Candidate

정보를 제외하고 Best정보만의 집합체

이웃하는 Router에게 자신의 Routing Table의 Copy를 주기적으로 전달한다.

1.1 Routing Protocol의 기본 이론

Distance Vector Protocol

Distance vector protocol이 어떻게 동작하는 지를 살펴보자.

1. 특정 시간간격에서, router는 각 interface로 자신의 routing table전체를 broadcast한다. 이때

split horizon등 여러 종류의 filtering이 된 route는 포함하지 않는다.

2. 각 주변 router는 update를 수신한 후, 자신의 routing table과 수신한 정보를 비교한다. 더 좋

은 metric을 가진 route를 받은 경우에는 자신의 forwarding table에 저장한다.

3. router는 이렇게 만들어진 새로운 routing table을 모든 인접 router에게 전파한다. 이 과정을

network의 모든 router들이 반복 실행한다.

4. Router는 자신의 routing table을 주기적으로(periodic) update한다. 예를 들어, RIP의 경우

30초단위로 update를 수행한다.

Page 12: IP Routing-01

- 12 -

• Link-State Routing Protocol

자신의 Link의 정보(Network, bandwidth등)를

Update

Network의 Full Topology의 정보를 가짐

Hierarchical Area구조를 하고 있음

빠른 Convergence Time

Classless Routing(VLSM)을 수행

OSPF, IS-IS

1.1 Routing Protocol의 기본 이론

Link-State Protocol

Routing protocol의 다른 하나는 link-state protocol이다. Distance vector protocol은 Bellman

과 Ford, Fulkerson의 algorithm을 기초로 만들어졌는데, link-state는 E.W. Dijkstra algorithm을

기초로 만들어 졌다.

이 link-state는 distance vector와는 다른 형태로 동작한다.

Link-state의 특징은 다음과 같다.

1. 모든 link−state protocol은 VLSM을 지원한다. 이는 routing update에 subnet mask를

포함하기 때문이다.

2. Update를 LSA로 하기 때문에 database에 완전한 형태의 topology를 그리는 정보를

가진다.

3. 완전한 형태의 topology의 정보를 보관, 관리하기 위해 Memory와 CPU부하가 많기

때문에 이를 최소화 하기 위해 Hierarchical Area구조를 하고 있다.

4. LSA를 update하기 때문에 routing table을 계산한 후 다시 update하는 distance vector

protocol에 비해 convergence time이 빠르다.

5. link-state에 해당하는 protocol로는 OSPF와 IS-IS가 있다.

Page 13: IP Routing-01

- 13 -

1.1 Routing Protocol의 기본 이론

Link-State Protocol

R4

R3

R2

R1

Link-State Packets

TopologicalDatabase

SPFAlgorithm

Shortest Path First Tree

RoutingTable

최초의 Flooding을 한 후에, 작은 Triggered Link-State Update를 서로 전달함.

Link-State Routing Protocol은 SPF(Shortest Path First) 알고리즘이라고도 하는데, 이는 완전

한 Topology정보의 Database를 유지하는 Protocol이다. Link-State Protocol은 직접 연결된

Router만이 아니라 원거리의 다른 Router들과 어떻게 연결되어 있는지, 또한 그 Router들의 완전

한 정보를 유지 및 관리한다.

이 Link-State Protocol은 큰 Network에서 사용이 되는데, 그 이유는 다음과 같다.

Topology의 변경된 정보만을 Update한다.

Rouing 변경의 범위를 제한하기 위해 계층적 Area구조를 사용한다.

Classless addressing을 사용한다.

Routing Update에 Subnet Mask를 같이 보낸다.

Summarization을 지원한다.

이러한 Link-State의 가장 대표적인 Protocol은 OSPF와 IS-IS가 있다.

Page 14: IP Routing-01

- 14 -

R4

R3

R2

R1

Link-State PacketsR1

R2

R3

R4

R1

R4

R2

R3

R1R2

R3

R4

모든 Router가 Full Topology의 정보를 가짐

이러한 정보는 Database로 표현됨

SPF 를 수행함 Dijksra Algorithm

1.1 Routing Protocol의 기본 이론

Link-State Protocol

Link-state protocol은 다음과 같이 동작한다.

1. Router는 자신의 주변 router와 adjacency관계를 만든다.

2. 각 router는 neighbor에게 LSA(OSPF경우) 또는 LSP(ISIS경우)를 보낸다. 하나의 LSA는 각

route의 여러 정보, 즉, network, 특정 interface에 해당되는 cost와 neighbor에 대한 정보를 가

지고 있다. 특정 LSA를 수신한 router는 자신의 database에 copy를 한 후, 바로 다른 neighbor

에게 그 LSA를 전달한다.

3. 그 database를 link-state database라고 하는데, 모든 link-state protocol은 이 database를

반드시 가지고 있다. 이 database에는 network의 완전한 형태의 이미지를 가지고 있다. Router

는 Dijkstra algorithm을 이용하여 각 network에 대한 shortest path를 계산한 후, 자신의 routing

table에 등록시킨다.

Page 15: IP Routing-01

- 15 -

R1R2

R3

R4

Topology가 Database로 표현됨

Database는 Memory와 CPU자원을 소모함

Router가 많아지면?

Database가 커져 Memory와 CPU자원을많이 소모함

Database를 줄이기 위해 Area로 나누어관리함

1.1 Routing Protocol의 기본 이론

Link-State Protocol

Link-state protocol은 모두 hierarchical area구조를 하고 있다. 왜 link-state protocol은 area

구조를 해야하는가?

Link-state protocol은 network의 완전한 topology를 database에 보관하고 있다. Network이 커

지면 커질수록 database를 사용하는 memory가 커지게 되고, 또한 Dijkstra algorithm으로

shortest path를 계산하는데 이때 사용되는 CPU의 사용량도 많아지게 된다. 따라서 이러한

database의 사용이 link-state protocol의 최대 약점이 되게 된다. database의 양을 줄여 이러

한 약점을 보완하기 위해 불가피하게 사용되는 구조이다.

Page 16: IP Routing-01

- 16 -

Area 분리하여 자원의 소모를 최소화한다.

Area 1 Area 2

Area 3 Area 4

1.1 Routing Protocol의 기본 이론

Link-State Protocol

위의 그림과 같이 대규모 network를 한꺼번에 관리하는 것을 피하고 area로 나누어 관리하게 되

면 소모되는 memory와 CPU등의 자원의 소모를 최소화 할 수 있게 된다.

각 area별로 각각의 완전한 topology를 database에 보관하여 계산하고, 다른 area의 정보는

area당 단 하나의 LSA로 표현하기 때문에 자원의 사용을 최소화할 수 있다.

Page 17: IP Routing-01

- 17 -

Static Route

목적지에 대한 Routing정보를 Router에게 관리자가 직접 설정함.

변화가 있을 경우 변경된 정보에 관해 별도의 설정이 필요함

R1 R2192.168.12.1

192.168.12.2

200.2.2.0/24

Stub Network

Internet

1.2 Static Route

Static Route는 목적지로 packet을 전달하기 위한 경로를 관리자가 직접 정의하는 것을 말한다.

관리자가 정의한 Route는 매우 정확하게 설정하여야 한다. 하지만 많은 Network을 다룰 경우 정

확한 설정이 힘들어 진다. 따라서 Static Route는 모든 Routing 될수 없는 packet을 보내기 위한

‘gateway of last resort’라는 마지막 수단의 설정을 하는 경우에 유용하다. Static Route는 일반

적으로 위의 그림과 같은 Stub Network에서 사용된다. Stub Network이란 그 Network을 나가거

나 들어오는 Point가 단 한 개만 존재하는 Network를 말한다.

Page 18: IP Routing-01

- 18 -

1.2 Static Route

Static Route 실습

R1 R2192.168.12.1

192.168.12.2

200.2.2.0/24

Stub Network

ip route 200.2.2.0 255.255.255.0 192.168.12.2

위의 설정은 단방향에 대한 설정이다.

양방향 통신이 이루어지려면 반대의 방향에 대한 설정도 반드시 이루어져야 한다.

Command

ip route prefix mask {ip-address | interface-type interface-number [ip-address]} [distance]

[name] [permanent]

Internet

Static Route를 설정하려면, ‘ip route’ command를 사용한다. 다음은 명령어의 parameter에 대

한 설명이다.

prefix : 목적지 Network을 의미한다.

mask : Subnet mask

address : next-hop인 router의 IP Address

interface : packet을 보내는 outgoing interface

distance : administrative distance를 설정. 이것은 목적지의 정보가 여러 Routing Protocol에서

동시에 알려줄 경우 Best 정보를 판단하기 위한 근거로 사용된다. 또한 floating static routing을

이용하는 경우에 사용된다.

permanent : 해당 interface가 shut down이 되더라도 항상 Routing Table에 등록시키고자 할 때

사용된다.

R1

ip route 200.2.2.0 255.255.255.0 192.168.12.2

R1#show ip route static

S 200.2.2.0/24 [1/0] via 192.168.12.2

Page 19: IP Routing-01

- 19 -

Default Route 실습

R1 R2192.168.12.1

192.168.12.2

200.2.2.0/24

Stub Network

ip route 0.0.0.0 0.0.0.0 192.168.12.1

이 설정은 Stub Network가 모든 목적지에 대해 R1으로 보낸다는 것을 나타낸다.

Internet

1.2 Static Route

Default Route는 특별한 Type의 Static Route이다. Default Route는 다른 Network으로 가기 위

한 Point가 단 하나만이 존재하는 경우, 또는 Router가 Routing정보를 저장하여 Routing Table을

관리하기에 충분치 못한 경우에 사용이 된다.

위의 그림에서 R2는 Internet으로 가는 Point가 R1의 Link하나만이 존재한다. 따라서 모든

Network의 정보를 받지 않아도 모든 packet을 R1으로 보내면 R1을 통해서 Internet으로 access

할 수 있다.

R2

ip route 0.0.0.0 0.0.0.0 192.168.12.1

R2#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

Gateway of last resort is 192.168.12.1 to network 0.0.0.0 Default정보가 주어지면 항상 등록된다.

C 192.168.12.0/24 is directly connected, Serial0

C 200.2.2.0/24 is directly connected, Ethernet0

S* 0.0.0.0/0 [1/0] via 192.168.12.1 Default Route가 Static으로 보인다.

Page 20: IP Routing-01

- 20 -

제 2장. RIP 실습

2.1 RIP의 기본적인 이론

2.2 RIP Basic Configuration

2.3 Verify RIP

2.4 RIP 고급 Configuration

2.5 RIP Version 2

2.6 Redistribution/Filtering

2.7 RIP의 종합실습

Page 21: IP Routing-01

- 21 -

2.1 RIP의 기본적인 이론

RIP는 대표적인 Distance Vector Protocol이다.

UDP port 520을 사용한다.

Classful Routing으로 동작한다.(RIP-1 Only)

Metric으로 Hop Count를 사용한다.

최대 Hop Count는 15이다.

소규모 네트워크에서 사용한다.

여러 경로를 가지는 경우 최적의 경로설정이 이루어 지지 않을 수 있다.

Periodic Update를 수행한다.

Convergence Time이 많이 걸린다.

RIP의 특징

RIP는 대표적인 Distance Vector Protocol이다. RIP는 UDP port 520으로 동작을 하는데,

source port와 destination port 모두 520을 사용한다. 또한 Classful Routing update를 수행한

다. 이는 RIP Update packet에 Subnet Field가 존재하지 않아 원래의 IP의 Class만을 인식하기

때문이다. 그러나 RIP-2가 등장하면서 이러한 Classless Routing을 수행할 수 있게 되었다.

RIP는 metric으로 Hop Count를 사용한다. 각 Router 는 자신의 neighbor에게 update를 하기

전에 자신 내부의 distance (hop 1)을 추가하여 전달한다. 이러한 Hop Count의 최대값은 15이

다. 만일 Hop Count가 16이상이 되면 inaccessible route로 인식하여 routing정보를 버리게 된

다. 따라서 이러한 Hop Count로 인해 대규모 Network에서는 사용되지 않고, 소규모 Network에

서 사용이 된다. 또한 metric으로 Hop Count를 사용하므로 최적의 경로설정이 이루어 지지 않

을 수 있다. 또한 Update를 주기적으로 수행한다. 이로 인해 Convergence Time이 많이 걸리는

단점이 있다.

Page 22: IP Routing-01

- 22 -

Routing Loop

R1 R2 R3

R1 : Net A - Hop(1)

Net A

(1)

R1 : Net A - Hop(4)(7)

R2 : Net A - Hop(2)(2)

R3 : Net A - Hop(3)(6)

(4)

X

R1 : Net A(X)(5)

Routing Loop 방지법

Count-to-InfinitySplit HorizonsPoison ReverseHolddown CountersTriggered Updates

2.1 RIP의 기본적인 이론

RIP와 같은 Distance Vector Protocol은 각 router가 Network의 완전한 topology를 가지고 있지

못한다. Router는 neighbor가 주는 Update정보에 의존해야 하기 때문에 Convergence가 느린

단점이 있다. 그리고 Network가 불안정한 상태가 되면 Update가 자주 일어나 Routing Loop가

발생하게 된다.

위의 그림은 Routing Loop가 일어나는 과정을 나타낸 것이다.

R1이 Net A를 Hop Count 1로 R2에게 보낸다. 이 R2는 이 Net A를 Hop count 2로 R3로 보내고

R1으로도 보낸다. R3는 R2에게서 받은 Net A정보를 Hop count 3으로 변경하여 R2로 보낸다.

이 순간에 R1의 Net A가 Down이 발생했다. R1은 R2에게 Net A가 Down되었다고 보낸다. R2

가 이 사실을 R3에게 알려주기 위해 Net A(X)를 R3로 보내는 순간 R3의 Net A-Hop(3)를 받았다

면 R2는 Net A가 R3쪽에 있다고 생각한다. 따라서 R2는 Net A를 Hop(4)로 해서 R1과 R3에게

보낸다. R3은 R2가 보낸 이 정보로 인해 계속적으로 Net A가 R2에서 들어온다고 생각하고, R2

역시 R3쪽에 Net A가 존재한다고 생각한다. Routing Loop는 이렇게 발생한다. 이를 극복하는

방법은 count-to-infinity, split-horizon, poison reverse, holddown과 triggered updates가 있

다.

Page 23: IP Routing-01

- 23 -

Routing Loop 방지법

Count-to-Infinity Problem

Hop Count를 15로 제한하여 Loop를 방지한다.

Split Horizons

특정 Interface에서 받은 Route정보를 그 Interface로 다시 보내지 않는다.

Poison Reverse

Route정보를 받은 Interface로 보낼 때 metric을 ’16(Infinity)’로 보낸다.

Holddown Counters

일정 시간이 경과한 후에 새로운 Update를 받는다.

2.1 RIP의 기본적인 이론

Count-to-Infinity Problem - RIP는 최대 Hop count가 15이다. 15 Hop이 넘는 어떠한 목적

지도 도달할 수 없다. 이 Hop의 제한으로 Count-to-infinity의 문제는 방지할 수 있지만,

Network의 크기에 제한을 둔다.

Split Horizons - 이 규칙은 Router가 특정 Interface에서 받은 Update정보를 다시 그

Interface로는 보내지 않는다는 것이다. Router interface에 split horizon이 enable되면 Router

는 특정 Route를 수신한 Interface를 기록하고, 그 Interface로 Route정보를 전파하지 않는다.

그러나 이 Split Horizon은 Frame-Relay와 ATM등 Non Broadcast Multiple Access(NBMA)에서

는 Routing정보를 받지 못하는 문제를 발생시킬 수 있다.

Poison Reverse - Poison Reverse는 Split Horizon과 유사하다. Split Horizon은 Update를

보낸 Neighbor로는 그 Update를 다시 보내지 않는다는 것이다. 그러나 Poison Reverse는 그

Neighbor로 Update를 다시 보내기는 하지만 metric을 ’16(infinity)’하게 하여 보내게 된다. 그래

서 Neighbor가 비록 그 Update를 다시 수신하더라도 inaccessible한 route의 정보를 받기 때문

에 Routing Loop가 발생되지 않는다.

Holddown Counters - Holddown timer는 특정 Route가 routing table에서 사라진 후 일정 시

간을 그 Route에 대한 update를 수신하지 않고 기다린 후 새로운 Routing정보를 수신하게 하는

것이다.

Page 24: IP Routing-01

- 24 -

2.2 RIP의 Basic Configuration

(예시)

R1#config t

R1(config)#router rip

R1(config-router)#network 192.168.12.0

R1(config-router)#network 200.1.1.0

Command

router rip

network network-number

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.1.1/24 E0:200.4.4.4/24

Enable RIP

Router에 RIP Process를 Enable한다.

R1

router rip RIP process를 enable한다.

network 192.168.12.0 RIP로 route정보를 보낼 Network지정함.

network 200.1.1.0

R2

router rip

network 192.168.12.0

network 192.168.23.0

R3

router rip

network 192.168.23.0

network 192.168.34.0

R4

router rip

network 192.168.34.0

Page 25: IP Routing-01

- 25 -

2.3 Verify RIP

Show ip protocol

router#show ip protocolsRouting Protocol is "rip"Sending updates every 30 seconds, next due in 29 secondsInvalid after 180 seconds, hold down 180, flushed after 240Outgoing update filter list for all interfaces is Distribut list (if any)Incoming update filter list for all interfaces isDefault redistribution metric is 2 Redistributing: rip, eigrp 2001 Default version control: send version 1, receive any versionInterface Send Recv Key−chainEthernet0/0 1 1 2 …생략…

모든 Routing Protocol의 정보를 보여줌

각종 Timer, Metric과 Routing Update의 정보를 보여줌

router#show ip protocols

Routing Protocol is "rip" <-- Routing Protocol Type

Sending updates every 30 seconds, next due in 29 seconds

Invalid after 180 seconds, hold down 180, flushed after 240 <-- Timer information

Outgoing update filter list for all interfaces is Distribut list (if any)

Incoming update filter list for all interfaces is

Default redistribution metric is 2 <-- Default metric

Redistributing: rip, eigrp 2001 <-- Redistrution is on

Default version control: send version 1, receive any version

Interface Send Recv Key−chain

Ethernet0/0 1 1 2 <-- RIP Versions running

Routing for Networks: Networks participating in RIP

128.200.0.0

Passive Interface(s):

Ethernet0/1 <-- Network listening to RIP

Routing Information Sources:

Gateway Distance Last Update

128.200.1.1 120 00:00:07 <-- RIP Neighbors

Distance: (default is 120) <-- Administrative Distance

Page 26: IP Routing-01

- 26 -

R4#sh ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area. . . 중 략 . . .

Gateway of last resort is not set

R 192.168.12.0/24 [120/2] via 192.168.34.3, 00:00:04, Serial0C 200.4.4.0/24 is directly connected, Ethernet0R 200.1.1.0/24 [120/3] via 192.168.34.3, 00:00:04, Serial0C 192.168.4.0/24 is directly connected, Loopback0R 192.168.23.0/24 [120/1] via 192.168.34.3, 00:00:04, Serial0C 192.168.34.0/24 is directly connected, Serial0

Show ip route

2.3 Verify RIP

RIP는 config하고 troubleshoot하는데 간단한 protocol이다. ‘show ip route’command로

Router의 Routing Table을 확인할 수 있다.

위는 R4에서의 Routing Table을 나타낸 것이다.

위 Network중에서 ‘192.168.12.0/24’ ’200.1.1.0/24’ ’192.168.23.0/24’가 RIP protocol로

dynamic하게 알게 된 Network이다.

R 192.168.12.0/24 [120/2] via 192.168.34.3, 00:00:04, Serial0

‘R’ - RIP로 배운 정보라고 표시함

192.168.12.0/24 - 목적지 Network

[120/2] - ‘120’은 RIP의 administrative distance이다. 이것은 이 Network정보가 둘 이상의

routing protocol로 알게 되었을 때 선택을 하기 위해 정해둔 것이다.

‘2’는 metric으로 Hop Count를 표시하는 것이다. 이 Network이 2 Hop을 건너서 있다는 것을 알

려준다.

‘via 192.168.34.3’ - 이 Network이 가기 위한 Next Hop 192.168.34.3이라는 것을 알려준다.

Page 27: IP Routing-01

- 27 -

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.1.1/24 E0:200.4.4.4/24

R1#debug ip ripRIP protocol debugging is onR1#3w1d: RIP: sending request on Serial0 to 255.255.255.2553w1d: RIP: sending request on Ethernet0 to 255.255.255.2553w1d: RIP: received v1 update from 192.168.12.2 on Serial03w1d: 192.168.23.0 in 1 hops3w1d: 192.168.34.0 in 2 hops3w1d: 200.4.4.0 metric 4R1#. . . 중 략 . . .3w1d: RIP: sending v1 flash update to 255.255.255.255 via Serial0 (192.168.12.1)3w1d: RIP: build flash update entriesR1#3w1d: RIP: sending v1 update to 255.255.255.255 via Serial0 (192.168.12.1)3w1d: RIP: build update entries3w1d: network 200.1.1.0 metric 1

Debug ip rip

2.3 Verify RIP

‘debug ip rip’ command를 사용하여 routing update가 되는 것을 확인할 수 있다. 위의 내용이

R1에서 ‘debug ip rip’를 실행한 output을 보여준다. 위의 예시를 살펴보면 R2에서

‘192.168.23.0’ ‘192.168.34.0’ ‘200.4.4.0’를 수신한다. 그러나 serial 0로 보내는 update에는

‘200.1.1.0/24’만 보내주고 있다. 이것은 ‘split horizon’이 동작되고 있음을 보여준다. ‘split

horizon’은 특정 interface로 수신된 route정보는 그 interface로 다시 보내지 않는다.

Page 28: IP Routing-01

- 28 -

2.4 RIP의 고급 Configuration

Passive Interface

E0 S0Passive Interface Serial0

Routing Update Routing UpdateX

(예시)

R1#config t

R1(config)#router rip

R1(config-router)#passive-interface s0

Command

passive-interface interface

RIP Router가 특정 Interface로 Routing Update는 수신하기는 하지만

보내지는 않게 하는 명령

Passive interface는 Router가 특정 interface로 routing update를 보내지 않게 하는 명령이다.

하지만 그 interface로 들어오는 update는 계속적으로 수신한다.

이 설정을 R1에서 S0로 update를 하지 않게 ‘passive-interface s0’를 설정해보자.

설정을 한 후 ‘debug ip rip’로 모니터를 해보자.

R1

R1#debug ip rip

10w5d: RIP: received v1 update from 192.168.12.2 on Serial0 Passive를 설정한 interface에서 update를 10w5d:

192.168.23.0 in 1 hops 수신한다.

10w5d: 192.168.34.0 in 2 hops

R1#

10w5d: RIP: sending v1 flash update to 255.255.255.255 via Ethernet0 (200.1.1.1)

10w5d: RIP: build flash update entries

10w5d: network 192.168.23.0 metric 2

10w5d: network 192.168.34.0 metric 3

R1#

10w5d: RIP: received v1 update from 192.168.12.2 on Serial0

10w5d: 192.168.23.0 in 1 hops

10w5d: 192.168.34.0 in 2 hops

R1#

10w5d: RIP: sending v1 update to 255.255.255.255 via Ethernet0 (200.1.1.1) Passive를 설정한 interface인

10w5d: RIP: build update entries Serial0로 update하지 않는다.

10w5d: network 192.168.23.0 metric 2

10w5d: network 192.168.34.0 metric 3

Page 29: IP Routing-01

- 29 -

2.4 RIP의 고급 Configuration

Broadcast Update VS Unicast Update

Broadcast Update

Routing Update

Routing Update

Destination:255.255.255.255

Destination:255.255.255.255

R1

R2

R3

Non-RIP Router

Routing UpdateDestination:255.255.255.255

Unicast Update

Routing Update

Routing Update

Destination:192.168.12.3

Destination:192.168.12.3

R1

R2

R3

Non-RIP Router

R1은 Ethernet에서 단지 R3으로만 Routing update를 하기를 원한다고 하자. RIP가 기본적으로

broadcast protocol이기 때문에 Ethernet의 Router를 비롯하여 LAN의 모든 장비들이 update를

할 것이다. 위의 그림에서 R1은 routing update를 수행할 때 목적지 IP를 broadcast IP인

255.255.255.255로 하여 전파한다. 따라서 Ethernet에 있는 Non_RIP Router인 R2로도 routing

update가 이루어 진다. 그러나 Unicast update를 수행할 경우에는 목적지 IP를 broadcast IP가

아닌 Unicast IP인 192.168.12.3으로 update를 수행하기 때문에 Non-RIP Router인 R2는

routing update를 받지 않고, 192.168.12.3의 IP를 가진 R3만이 routing update를 받게 된다.

Page 30: IP Routing-01

- 30 -

2.4 RIP의 고급 Configuration

Unicast Update의 configuration

Unicast Update

Routing Update

Routing Update

Destination:192.168.12.3

Destination:192.168.12.3

R1

R2

R3

Non-RIP Router

‘passive-interface’와 ‘neighbor’ command의 조합으로 사용된다.

Command

passive-interface interface

neighbor ip-address

Unicast update는 ‘passive-interface’와 ‘neighbor’ command의 조합으로 이루어 진다. Unicast

update를 수행할 interface에 passive-interface를 설정하여 broadcast update가 되는 것을 막고,

neighbor command로 unicast update를 수행한다. 만일 passive-interface를 설정하지 않을 경우에

는 broadcast와 unicast update가 동시에 일어난다.

R1

router rip

passive-interface Ethernet0

network 192.168.12.0

network 200.1.1.0

neighbor 192.168.12.3

R1#debug ip rip

10w5d: RIP: sending v1 update to 255.255.255.255 via Ethernet1 (200.1.1.1) default로 broadcast

10w5d: RIP: build update entries update를 수행한다.

10w5d: network 192.168.12.0 metric 1

10w5d: network 192.168.23.0 metric 2

10w5d: network 192.168.34.0 metric 3

10w5d: RIP: sending v1 update to 192.168.12.3 via Ethernet0 (192.168.12.1) Unicast update를 10w5d: RIP: build update entries 수행한다.

10w5d: network 200.1.1.0 metric 1

Page 31: IP Routing-01

- 31 -

2.5 RIP Version 2

RIP Version 2 Configuration

RIP Version 2의 특징

VLSM의 지원

- Classless Routing이 가능함

각 Route entry에 Next-hop의 정보를 가진다.

External route tag을 지원한다.

Multicast Update를 수행한다.

MD5 authentication을 지원한다.

RIP-2의 가장 큰 발전은 VLSM의 지원이다. 이로 인해 Classless Routing이 가능해져, Classful

Routing의 단점을 극복하였다. 이는 RIP-2의 Update packet에 Subnet Field가 생겨서 가능해

진 것이다. 대부분의 RIP-2의 동작원리와 각 timer는 RIP-1과 동일하다. 그러나 RIP-1이 모든

host를 대상으로 하는 broadcast update를 하는 것에 반해, RIP-2는 ‘224.0.0.9’라는 multicast

address를 사용하여 multicast update를 수행한다. 또한 update시 각 Route entry에 next-hop

의 정보를 표시해주고, External route를 표시할 수 있는 tag를 지원한다. 그리고 MD5

authentication을 지원해 Routing 정보의 보안성을 확보하였다.

Page 32: IP Routing-01

- 32 -

RIP Version 2 Configuration

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.1.1/24 E0:200.4.4.4/24

Ver 1 Ver 1 Ver 1Ver 2Ver 2

예제

R1-R2간에 RIP-2만 동작하게 하고 R2-R3-R4간에는 RIP-1만동작하게 하라.

Command

version {1 | 2}

ip rip send version [1] [2]

ip rip receive version [1] [2]

2.5 RIP Version 2

R1

interface Serial0

ip address 192.168.12.1 255.255.255.0

ip rip send version 2 RIP-2로 R2에게 update한다.

ip rip receive version 2 R2에게 RIP-2 update를 수신한다.

!

router rip

version 2 RIP-2를 enable한다. default로 RIP-1과 RIP-2가 동시에 동작한다.

network 192.168.12.0

network 200.1.1.0

R2

interface Serial0

ip address 192.168.12.2 255.255.255.0

ip rip send version 2 RIP-2로 R2에게 update한다.

ip rip receive version 2 R2에게 RIP-2 update를 수신한다.

!

interface Serial1

ip address 192.168.23.2 255.255.255.0

ip rip send version 1 RIP-1만 R3에게 update한다.

ip rip receive version 1 R3에게 RIP-1 update를 수신한다.(생략가능)

Page 33: IP Routing-01

- 33 -

!

router rip

version 2 RIP-2를 enable한다. default로 RIP-1과 RIP-2가 동시에 동작한다.

network 192.168.12.0

network 192.168.23.0

R2#debug ip rip

10w5d: RIP: received v2 update from 192.168.12.1 on Serial0 R1에게 RIP-2로

10w5d: 200.1.1.0/24 via 0.0.0.0 in 1 hops update를 받는다.

10w5d: RIP: received v1 update from 192.168.23.3 on Serial1

10w5d: 192.168.34.0 in 1 hops

10w5d: RIP: sending v2 update to 224.0.0.9 via Serial0 (192.168.12.2) Multicast update

10w5d: RIP: build update entries 를 수행한다.

10w5d: 192.168.23.0/24 via 0.0.0.0, metric 1, tag 0 Next-hop과 route tag의

10w5d: 192.168.34.0/24 via 0.0.0.0, metric 2, tag 0 정보를 보여준다.

10w5d: RIP: sending v1 update to 255.255.255.255 via Serial1 (192.168.23.2) R3에게 10w5d: RIP: build update entries Broadcast update를 한다.

10w5d: network 192.168.12.0 metric 1

10w5d: network 200.1.1.0 metric 2

Page 34: IP Routing-01

- 34 -

2.6 Redistribution, Filtering

Redistribution

R1 R2R10

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24E0:200.1.1.1/24E1:200.10.10.10/24

E0:200.1.1.10/24

Not RIP

Command

Redistribute protocol {metric} {route-map}

protocol : bgp, egp, igrp, isis, ospf, static [ip], connected, and rip

R1#config tR1(config)#ip route 200.10.10.0 255.255.255.0 200.1.1.10

Redistribution(재분배)란 다른 Routing Protocol의 정보를

해당 Routing Protocol의 정보로 변환하여 전달하는 행위

Redistribution(재분배)란 다른 routing protocol의 Network의 정보를 자신의 Network정보로 변환하는 것을

일컫는다. 여기에서는 static, ospf, isis, bgp등의 다른 protocol로 알게된 Network의 정보를 RIP의 정보로

변환하여 RIP domain으로 전파시키는 것을 말한다.

‘redistribute’ command를 사용하는데, protocol은 재분배를 할 Routing protocol을 의미하며, metric은 재

분배되는 Network을 RIP domain에 전파시킬 때 적용되는 RIP metric을 설정한다. ‘route-map’은 추가적

인 route control을 수행할 때 사용이 된다.

위의 그림에서 R1은 Static route정보인 ‘200.10.10.0/24’를 가지고 있다. 이것은 RIP의 정보가 아니기 때문

에 RIP domain으로 전파되지 않는다. 따라서 이 static route를 RIP domain으로 전파하려면 재분배를 하여

야 한다.

R1

router rip

redistribute static metric 3 static route를 metric 3으로 재분배를 한다. metric 3은 이 Network가 RIP

network 192.168.12.0 domian 으로 전파될 때 Hop Count를 ‘3’으로 전파가 된다.

network 200.1.1.0

!

ip route 200.10.10.0 255.255.255.0 200.1.1.10

R2

R2#sh ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

. . . 중 략 . . .

C 133.1.23.0 is directly connected, Ethernet0

R 200.10.10.0/24 [120/3] via 192.168.12.1, 00:00:07, Serial0 R1의 static route가 RIP로 metric ‘3’으로

C 192.168.2.0/24 is directly connected, Loopback0 수신되었다. R3은 Hop이 1이 증가되어

‘4’가 되었다.

Page 35: IP Routing-01

- 35 -

2.6 Redistribution, Filtering

Filtering

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.1.1/24 E0:200.4.4.4/24

X 200.4.4.0/24

Filtering은 어떠한 Network의 정보를 Update하지 않거나수신하지 않게 하는 것

예제

R4는 200.4.4.0/24를 R3에게 advertise하고 있다. 그러나 R3은 R1과 R2가200.4.4.0/24의 정보를 받지 않기를 원한다. 이를 만족하게 설정하라.

Command

distribute-list {access-list-number | access-list-name} out

[interface-name | routing-process | autonomous-system-number]

Filtering은 보안상 혹은 정책상 특정 Network의 정보를 advertise하지 않거나 수신하지 않게 하

는 것이다. 위의 예제에서 R4가 ‘200.4.4.0/24’의 정보를 R3에게 advertise하고 있다. 그러나

R3은 보안상의 이유로 R1과 R2가 ‘200.4.4.0/24’로의 접근을 금지시키기를 원한다. 이를 충족

시키기 위해서는 비록 R4가 ‘200.4.4.0/24’의 정보를 RIP domain으로 전파하였지만(R3은 알아

야 하므로) R3이 이 Network의 정보를 R1과 R2로 알려주지 않으면 R1과 R2는 ‘200.4.4.0/24’Network로 접근을 하지 못할 것이다.

‘distribute-list’ command는 access-list에 지정된 Network정보만을 보내거나 받게 할 수 있다.

R3

router rip

network 192.168.23.0

network 192.168.34.0

distribute-list 1 out Serial0 access-list 1을 Serial 0에 outbound로 적용시킨다.

!

access-list 1 deny 200.4.4.0 0.0.0.255 200.4.4.0/24의 정보를 보내지 않는다.

access-list 1 permit any 이외의 모든 정보는 보낸다.

Page 36: IP Routing-01

- 36 -

2.6 Redistribution, Filtering

RIP Default Routing

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.1.1/24

INTERNET

0.0.0.0/0

R3#config tR3(config)#ip route 0.0.0.0 0.0.0.0 192.168.23.4

* R4가 INTERNET Gateway일 때, R3에서 Default-Static을 설정하면 RIP정보로 R2와 R1으로 Default정보를 RIP으로 전달해 준다.

Default route는 인터넷에 연결될 때는 반드시 필요하다. 만일 default route가 없다면 router는

자신의 routing table에 모든 network의 정보가 필요하게 된다. Default route는 최후의 수단

(gateway of last resort)으로 사용된다. Router가 어떠한 packet에 대해 자신의 routing table에

서 match되는 것을 찾지 못할 경우에 최후의 수단으로 그 packet을 forwarding하게 된다.

Cisco router는 항상 classful route lookup을 수행한다. 이는 Cisco router에 ‘ip classless’명령

을 설정하지 않았다면 default route를 최후의 수단으로 packet을 forwarding하지 않는다는 것을

의미한다. 그러나 최근(IOS 11.3)이후에는 ‘ip classless’명령이 default설정되어 있기 때문에 관

계는 없지만, 이전 버전의 router를 접하는 경우에는 이 내용을 인지해야 한다.

RIP으로 default routing을 설정할 때 수행되는 단계를 알아보자.

Step 1. default network을 정의한다. 이것을 수행하기 위해서는 두 가지 방법이 있다. 첫째, 앞

에서 배운 default static을 설정한다. 이렇게 default static이 설정되게 되면 재분배없이 default

route는 RIP network으로 자동으로 전파된다. 둘째, ‘default-network x.x.x.x’의 명령으로

default route를 설정할 수 있다.

Step 2. router에 ‘ip classless’명령을 확인한다. 앞에서도 언급했듯이 ‘ip classless’가 설정되지

않았다면 router는 routing table의 ‘the gateway of last resort’으로 traffic을 forwarding하지 않

을 것이다.

Page 37: IP Routing-01

- 37 -

2.7 RIP 종합실습

R1

R4 R3

R2S0

130.1.12.0/24

192.168.23.0/24

192.168.34.0/24

200.1.1.0/24

172.16.4.0/24

Static : 200.4.1.0/24200.4.2.0/24200.4.3.0/24

S0

S1

S0

S1S0

E0

E0

.1 .2

.2

.3

.3.4.4

1. R1의 E0 ‘200.1.1.0/24’가 R4에게, 또한 R4의 E0 ‘172.16.4.0/24’가 R1에게 전달 되도록 하여

라.

hint) RIP Process Enable

2. R1의 Ethernet에는 RIP Update Packet을 보내지 않게 설정하라.

hint) Passive Interface

3. R4와 R3사이에는 Broadcast Update를 하지 않고, Unicast Update를 하도록 설정하라.

hint) neighbor설정

4. R4에서 Static Route를 재분배를 하되 1 Hop까지만 advertise되게 하고, 2 Hop건너서는 가지

못하게 하라. 즉, 이들 Static Route가 R3까지만 가게 하고 R1과 R2까지 가지 못하게 하라.

hint) 재분배할 때, metric 설정

5. R1과 R2사이에는 RIP-2만 동작하게 하라.

6. R2가 R3에게 R1의 E0 ‘200.1.1.0/24’의 정보를 보내지 않게 설정하라.

Page 38: IP Routing-01

- 38 -

제 3장. OSPF 실습

3.1 OSPF의 기본적인 이론

3.2 OSPF의 Basic Configuration

3.3 OSPF의 Virtual-Link

3.4 Verify OSPF

3.5 OSPF Area Configuration

3.6 OSPF Redistribution

3.7 OSPF Filtering

3.8 OSPF Route Summarization

3.9 OSPF Default-Information

3.10 OSPF 종합실습

Page 39: IP Routing-01

- 39 -

3.1 OSPF의 기본적인 이론

Fast Convergence

VLSM과 Supernetting, Summarization을 지원

효율적이고 신뢰성있는 Routing Updates

Type 1 과 Type II(MD5) authentication을 지원

OSPF external route의 route tagging 지원

Fully Classless Routing Protocol

Split-horizon 문제가 없다.

OSPF의 특징

OSPF는 Distance Vector protocol에 비해 많이 진보된 protocol이다.

Fast Convergence - OSPF는 Link의 정보를 update하기 때문에 Network의 완전한 topology를 형

성하고 있다. 이런 이유가 OSPF의 Convergence를 빠르게 할 수 있다.

VLSM과 Supernetting, Summarization 지원 - OSPF는 address의 효율적 활용과 합리적인 routing

을 위해 summarization과 VLSM을 사용한다.

효율적이고 신뢰성있는 Routing Update - OSPF는 routing update를 위해 multicast를 하는데, 이

를 통해 OSPF는 Non-OSPF Router나 다른 장비에게 영향을 미치지 않는다. 또한 OSPF는 update를

할 때 항상 ‘acknowledge’를 하기 때문에 신뢰성있는 update를 수행한다.

Type I과 Type II(MD5) Authentication을 지원 - OSPF는 보안성있는 routing 교환을 위해 Type I

clear-text password와 Type II MD5 authentication을 지원한다.

OSPF external route의 route tagging지원 - OSPF domain으로 재분배되는 external route에 대해

tagging을 지원하므로 routing policy적용등 효율적인 Routing 관리를 할 수 있다.

Fully Classless Routing Protocol - OSPF는 완전한 Classless Routing을 지원하므로 Classful

Routing의 문제를 극복할 수 있다.

Split-horizon문제 - 더 이상의 Split-horizon의 문제는 존재하지 않는다.

Page 40: IP Routing-01

- 40 -

3.1 OSPF의 기본적인 이론

OSPF의 Packet Type

Hello Packet

: Neighbor를 발견하고, DR/BDR 관계를 형성할 때 사용됨

Database Description Packet

: Adjacency가 establish될 때 사용됨.

Link-state Request Packet

: 특정 LSA를 요구할 때 사용

Link-state Update Packet

: 특정 LSA를 요구하는 Neighbor로 완전한 LSA를 보내기 위해 사용됨

Link-state Acknowledge Packet

: Link-state Update Packet의 수신을 확인할 때

OSPF에서 사용되는 Packet Type은 다음과 같다.

Hello Packet – Neighbor를 발견하고, 서로간의 Neighbor관계를 형성할 때 사용되며 DR/BDR을

선출하는데도 사용된다.

Database description – 이것은 DBD Packet이라 하는데 Adjacency가 establish될 때 사용되는

데 master/slave를 선출하는데 사용된다. 주된 목적은 Database를 originate하는 Router가 특정한

또는 모든 LSA를 표현하기 위해서 사용된다. 그리고 LSA를 수신하는 Router가 자신의 LSA와 비교

할 때 사용된다. 대개 Database를 교환하는 과정에서 사용된다.

Link-state Request Packet – Database의 부분이 누락되거나 만료되었을 경우, 특정 LSA를 요구

할 때 사용된다.

Link-state Update Packet – Link Request Packet으로 특정 LSA를 요구하는 Neigbor로 완전한

LSA를 보내기 위해 사용된다. 여러 개의 LSA가 한 개의 packet에 포함되고, Flood된 LSA는 LSA

acknowledgment packet으로 acknowledge한다. 만일 acknowledge되지 않았다면 다시 전송한다.

Link-state Acknowledge Packet – 여러 개의 LSA가 하나의 LSA Acknowledgement Packet으로

acknowledge될 수 있다. 이 packet으로 신뢰성있는 update를 수행할 수 있다. 또한 multicast로

acknowledge를 보낼 수 있다. Acknowledge하는 Router가 DR일 경우에는 224.0.0.5(all SPF

routers), 그렇지 않을 경우 224.0.0.6(dr/bdr)으로 multicast한다.

Page 41: IP Routing-01

- 41 -

3.1 OSPF의 기본적인 이론

OSPF의 Network Type

Point-to-Point Networks

: DR/BDR Election을 수행하지 않는다.

Broadcast Networks

: DR/BDR Election을 수행한다.

NBMA Networks

: DR/BDR Election을 수행한다.

Point-to-Multipoint Networks

: DR/BDR Election을 수행하지 않는다.

Virtual links

: Area0가 확장된 Network에서 보이는 Special한 Network Type이다.

Point-to-Point network : HDLC network나 PPP, point-to-point subinterface를 가진 Frame

Relay network을 예로 들 수 있다. Link-state와 hello는 224.0.0.5의 address로 multicast된다. 이

network에서는 DR과 BDR의 선출과정은 없다. 이 network는 Cisco전용 network type으로 RFC에

의해 정의되어 있지 않다.

Broadcast network : Ethernet과 Token Ring, FDD I network가 대표적인 예이다. Hello는

224.0.0.5의 address를 사용하고 DR/BDR을 선출하게 된다. 이 network의 DR/BDR이 아닌 다른

router들은 224.0.0.6의 address로 link-state를 보낸다. 단지 DR/BDR만이 이러한 224.0.0.6에 대

한 update를 수신하게 된다. 이 DR/BDR은 다른 router에게 224.0.0.5의 address로 link-state를

내려준다.

NBMA network : NBMA network type은 Frame Relay 또는 multipoint interface들과 X.25

network에서 사용된다. 이러한 type의 network에서는 이들 network에서는 broadcast가 허용되지

않기 때문에 broadcast의 부류인 multicast packet은 모든 neighbor에게 forward되지 않는다. 따

라서, 이 network에서는 OSPF neighbor를 관리자가 직접 설정해야 한다. DR/BDR이 선출되고, 모

든 OSPF packet은 muticast가 되지 않고 unicast가 된다. 이 network에서 hub & spoke network

을 하는 경우 hub router가 DR/BDR이 되게 하는 것이 바람직하다.

Point-to-Multipoint : 이 network type은 설정으로 정의된다. 이 network type에서, Router는 다

수의 point-to-point의 집합체로 인식한다. 따라서 DR/BDR의 선출은 없고, OSPF packet을

multicast 된다.

Virtual link : virtual link는 area 0를 확장하기 위해 사용되는 특별한 network type이다.

Page 42: IP Routing-01

- 42 -

3.1 OSPF의 기본적인 이론

OSPF의 DR/BDRDR BDR

LSALSALSA LSA LSA LSA

Multiaccess Network에서 Routing Update를 합리적으로 수행함

Multiaccess Network에 존재하는 Router들이 일관된 Link-State 정보를

유지하도록 관리함

DR이 down되었을 경우를 대비해 Backup DR(BDR)을 사용함

Network에 새로운 Router가 연결되면 DR/BDR만 adjacency를 형성함

DR은 224.0.0.6의 Multicast IP로 Link-state를 수신하고, 224.0.0.5로

정보를 보낸다.

Ethernet과 같은 Multiaccess Network에서는 모든 Router가 서로 Link-state정보를 보내는 것이

아주 비효율적이고 복잡할 수 있다. 따라서 모든 Router가 서로 adjacency를 형성하는 것 역시

비효율적이다. 그래서 OSPF에서는 Designated Router (DR)이라는 Router를 선출하고, 이 DR

이 down되었을 경우에 대비해 Backup DR (BDR)도 선출한다. 이 DR은 각종 OSPF Packet을

수신할 경우에 224.0.0.6의 IP로 수신하고, 또한 224.0.0.5의 IP로 packet을 보낸다. 그러나

BDR은 224.0.0.6의 IP로 packet을 수신만 하고 보내지는 않는다. DR/BDR을 두는 것은 여러가

지 장점이 있다.

1. Flooding되는 Link-state관리를 통해 Routing Update를 합리적으로 수행한다.

2. DR이 모든 LSA를 관리하기 때문에 Multiaccess Network에 존재하는 모든 Router들이 일관된

Link-state정보를 가지게 된다.

3. 장애발생 시 복구를 빠르게 수행할 수 있다. 모든 Router들이 BDR과도 adjacency를 형성하

고 있기 때문에 DR이 down되면 BDR이 최소한의 시간으로 DR의 역할을 수행할 수 있다.

DR과 BDR이 선출되면 Network에 있는 모든 Router는 DR/BDR과 adjacency를 형성하게 된다.

또한 Network에 새로운 Router가 연결되면, 이 Router는 단지 DR/BDR과 adjacency를 형성한다.

DR/BDR의 선출은 Router의 Hello Packet을 보내면서 선출을 한다. 이 Hello packet에 Router

Priority값으로 DR을 결정한다. 만일 이 Priority값이 동일하다면 가장 높은 Router ID를 가진Router가 DR이 된다. Priority가 ‘0’이면 DR/BDR 선출에 참여하지 않는다는 것을 의미한다. 또

한 OSPF에서는 Router ID가 아주 중요하다. 이 Router ID란 한마디로 Router의 이름을 정하는

것이다. 이 Router ID는 DR 선출과정에서 사용이 되고, 또한 뒤에서 설명할 Virtual Link를 형성

하는데도 아주 중요한 요소로 작용한다. 이 Router ID는 Router의 Interface에 설정된 IP의 가장

높은 IP address가 사용되지만 만일 Loopback interface가 존재한다면 이 Loopback Interface

의 IP address가 Router ID로 사용이 된다. 또한 특정 command로 Router ID를 Manual하게 설

정할 수도 있다.

Page 43: IP Routing-01

- 43 -

OSPF의 Router ID(RID)

OSPF Router ID의 역할

RID의 선택은 router의 highest IP를 선택하며, Loopback interface가 존재할 경우는 Loopback IP를 사용한다.

DR/BDR 선출시 사용됨- priority 설정시 priority를 우선함.

Virtual link 설정시 Router ID를 사용함.

Routing 정보를 재분배할 경우 사용되는 경우도 있다.

Command

router-id ip-address

3.1 OSPF의 기본적인 이론

OSPF에서 Router ID는 중요하다. 이 Router ID를 자세히 알아보자.

RID는 Router Interface에 설정된 IP address를 사용한다. 여러 IP address중 가장 높은 IP

address를 사용하는데, 만일 Physical Interface가 아닌 Logical Interface인 Loopback Interface

가 존재하는 경우에는 이 Loopback Interface를 사용한다. 이 RID의 사용은 우선 Multiaccess

Network에서 DR과 BDR을 선출할 때 사용이 된다. 그리고 RID의 중요성을 가장 많이 실감하는

경우는 Virtual Link를 설정할 때이다. OSPF에서는 모든 area가 backbone area인 Area 0에 연

결되어야만 한다. 그러나 Topology상의 문제로 특정 area가 Area 0에 연결되지 못하는 경우가

발생된다. 이때 사용되는 것이 Virtual Link인데, 이를 설정하기 위해서 RID가 사용이 된다. 또한

BGP등 다른 routing protocol을 재분배하는 경우 RID가 일치 되어야 하는 경우가 있다.

RID는 Router의 Interface중 Highest IP address를 사용하고, Loopback IP address를 사용하지

만 관리자가 static하게 설정할 수 있다.

R1

router ospf 1

router-id 192.168.1.1

R2

router ospf 1

router-id 192.168.2.2

Page 44: IP Routing-01

- 44 -

OSPF의 Adjacency State

Down – Neighbor에게서 dead interval동안에 Hello를 받지 못한 상태

Attempt – Interface가 Active가 되었을 때 발생

Init – Hello를 수신하였지만, 2-Way관계를 확립하지 못했을 때 발생

2-way – 쌍방향 통신이 확립되었을 때 발생

ExStart – Master/Slave관계를 확립하는 상태

Laoding – Request Packet을 보낸 상태

Full – 모든 LSP동기가 완성된 상태

3.1 OSPF의 기본적인 이론

Down— 이것은 dead time interval동안에 neighbor로부터 어떠한 hello로 받지 않은 상태,

즉 neighbor의 초기상태이다.

Attempt— 이 state는 Ethernet과 같은 NBMA network에서만 존재하는 state인데,

‘neighbor’ command로 설정된 neighbor에게서 나타나게 된다. Interface가 active가 될

때 또는 router가 DR, BDR일 때, ATTEMPT state가 된다.

Init— neighbor로부터 hello packet을 수신하였는데 Two-Way communication이

확립되지 않은 상태를 의미한다.

Two Way— neighbor가 보낸 hello packet의 ‘neighbor field’에 자신의 router ID가

보이면 이 state가 된다. 이것은 양방향 통신(bidirectional conversation)이 확립된 것을

의미하며, DR과 BDR선출이 할수 있게 한다.

ExStart— master/slave 관계를 맺게 되고, DBD packet을 교환하기 위해 준비하는 단계

이다. 가장 높은 interface address를 가진 neighbor가 master가 된다.

Exchange— 이 state에서 router는 DBD packet을 neighbor에게 보내게 된다. 이 DBD

packet은 link-state database를 완전하게 표현하는 packet이기 때문에 이 state이후에

link-state database 는 동기(synchronization)되게 된다. 동기가 된 후, 두 종류의 마지막

state가 된다.

- Loading : DBD packet을 참고로 부족한 database가 존재하는 경우, link-state

request packet을 보내게 된다. 이 상태를 Loading상태이다.

- Full : neighbor와의 완전한 상태를 의미한다.

Page 45: IP Routing-01

- 45 -

OSPF의 Area Type

Backbone area (Area 0) - 모든 traffic이 통과하는 Area

Non-backbone area - 보통의 OSPF Area

Stub area - External정보를 받지 않는 Area

Totally stubby area - External 정보와 Internal 정보 모두 받지 않는 Area

Not-so-stubby area (NSSA) - AS내에 External정보를 가지는 Stub Area

3.1 OSPF의 기본적인 이론

OSPF는 비교적 대규모 Network을 다루기 위한 protocol이다. 하지만 Network이 커지면 커질수

록 Link-state database가 커지고 CPU의 자원을 많이 소모하게 된다. 이러한 Link-state의 정

보의 flooding과 database의 동기화를 조절하기 위해 OSPF는 area라는 개념을 사용한다. Area

는 OSPF Router가 관리해야 하는 Link-state정보와 database의 크기를 줄이기 때문에 CPU의

자원을 많이 소모하지 않게 한다. OSPF는 Area를 5가지 area로 구분한다.

Backbone area (Area 0) - 모든 트래픽은 backbone area를 통해 전달되어야 한다.

Nonbackbone area는 상호간에 직접 트래픽을 교환할 수 없다. 따라서 모든 area는 Area 0에

연결되어야만 한다. 그리고 Backbone Area는 분리되어서는 안된다. 만일 분리되었다면 반드시

virtual link를 사용하여 연속되어 있는 것으로 인식시켜야 한다.

Non-backbone area - Area 0를 제외한 보통의 area이다. LSA type 7을 제외한 모든 LSA가

이 area에 flood된다.

Stub area - External route로 향하는 Point가 단 한 개만 존재한다면 External의 정보를 받을

필요가 없을 것이다. 단지 default정보만이 있다면 external route로 향할 수 있을 것이다. 따라

서 External Route가 advertise되지 않고 external 정보인 LSA Type 5를 만들지 않는 area를 말

한다.

Totally Stubby area - External route와 Internal route 둘다 advertise되지 않는다. 다시 말해

서 LSA Type 3, 4, 5가 block되고 default route ‘0.0.0.0’만이 advertise된다.

Not-so-stubby area (NSSA) - Stub area에서 재분배가 일어나면 전혀 새로운 area인 Not-

so-stubby area가 된다. NSSA에 주입된 External route정보는 LSA Type 5가 아닌 LSA Type 7

로 전파가 된다

Page 46: IP Routing-01

- 46 -

OSPF의 Router Type

Internal Router

: 모든 Interface가 같은 Area에 속해있는 Router

Area Border Router (ABR)

: Backbone Area와 한 개 이상의 다른 Area를 연결하는 Router

Backbone Router

: 최소한 한 개 이상의 Interface가 Backbone Area에 연결되어 있는 Router

Autonomous System Boundary Router (ASBR)

: External Route를 재분배하는 Router

R1 R3 R5 R6

Area 0 Area 2 RIPArea 1

OSPF

R4R2

ABR/BR ABR/BR

Internal BR Internal Router

ASBR

3.1 OSPF의 기본적인 이론

앞의 Area Type처럼 OSPF는 계층적 구조를 하고 있다. 그리고 어떠한 Area에 위치하는가에 따

라 OSPF Router Type역시 분류된다.

Internal Router - Router의 모든 Interface가 같은 Area에 속해있는 Router를 말한다. 따라서

모든 Internal Router 같은 SPF database를 가진다. 위에서 R4가 이에 해당한다.

Area Border Router (ABR) - ABR은 Backbone area에 한 개 또는 그 이상의 area를 연결하는

Router를 말한다. 이 ABR은 모든 LSA를 Backbone area로 forwarding 시킨다. ABR은 최소한

한 개 이상의 Interface가 Backbone area에 속해 있기 때문에 Area0와 분리된 다른 area의 SPF

database를 가지고 있다. R1과 R3이 ABR이다.

Backbone Router - 최소한 한 개 이상의 Interface가 Backbone area에 존재하는 Router이다.

모든 Interface가 Area 0 에 속해있는 Router는 Internal Backbone Router라고 한다. R1, R2,R3

가 여기에 해당한다.

Autonomous System Boundary Router (ASBR) - 다른 protocol의 Network정보를 OSPF로

재분배를 수행하는 Router를 말한다. 위의 그림에서 R5는 OSPF와 RIP를 같이 운용하고 있다.

이 RIP route를 OSPF로 재분배를 하면 R5가 ASBR이 된다.

이들 Router Type은 고정되어 있는 것이 아니다. 다시 말해서 Router는 여러 개의 Router Type

을 가질 수 있다. 예를 들어 ABR은 Backbone Router이기도 하다.

Page 47: IP Routing-01

- 47 -

OSPF의 LSA Type

Router LSA (Type 1)

- 한 Area의 Router와 Link에 대한 정보를 나타냄

Network LSA (Type 2)

- 특정 Network에 연결된 Router의 정보를 표시함

Summary LSA for ABR (Type 3)

- 다른 Area에 있는 Router로 Internal Network를 advertise하기위해 사용됨

Summary LSA for ASBR (Type 4)

- ASBR의 정보를 알려주기 위해 사용됨

Autonomous System External LSA (Type 5)

- OSPF로 재분배된 Route를 advertise하기 위해 사용됨

NSSA External LSA (Type 7)

- NSSA에서 재분배된 External Route를 표시하기 위해 사용됨

3.1 OSPF의 기본적인 이론

LSA는 OSPF database를 만들기 위해 사용되는 것이다. OSPF는 OSPF domain의 특정 부분마

다 사용하는 LSA Type을 지정하였다. 그 LSA Type마다 사용되는 목적이 다르다. LSA의 Type

과 용도를 알아보자.

Router LSA (Type 1) - Area의 각 Router는 Router LSA (Type 1)을 만든다. 이 LSA는

Router의 Interface의 상태와 Cost를 표시한다. Area의 모든 Link를 하나의 Router LSA에 표시

한다. 그리고 이 Router LSA는 그 Router가 속한 그 Area에만 flood된다. Routing Table에 ‘O’로 표시된다.

Network LSA (Type 2) - Network Link는 LSA Type 2로 advertise된다. Ethernet과 같이 한

대 이상의 Router가 연결된 Multi-access Network에는 DR이 존재하는데, 이 DR이 Network

LSA를 만들어 advertise한다. 이 LSA는 또한 DR 자신 뿐만 아니라 Network에 연결된 모든

Router를 표시한다. Routing Table에 ‘O’로 표시된다.

Summary LSA for ABR (Type 3) - 이 LSA는 자신의 area 외부의 정보 (즉, interarea정보)를

advertise하기 위해 사용되나, area외부정보라 함은 OSPF domain내로 제한된다. 한 area에 대

한 summary정보를 다른 area로 flood하거나 받을때 사용이 된다. ABR이 이 LSA를 생성한다.

이 LSA로 얻은 Route가 Routing Table에 등록될 때 ‘O IA’로 표시가 된다.

Summary LSA for ASBR (Type 4) - Type 4 LSA는 ASBR의 정보를 알려주기 위해 사용된다.

External Network으로 가기 위한 경로를 찾는 Router는 Next-hop을 찾기 위해 LSA Type 4를 사

용한다.

Autonomous System External LSA (Type 5) - 이 LSA는 OSPF로 재분배된 External의 정보를

advertise하기 위해 사용된다. 이 LSA는 Stub, Totally Stubby와 NSSA area를 제외한

Page 48: IP Routing-01

- 48 -

모든 Area로 전파된다. 이 LSA로 알려진 route는 Routing Table에 ‘O E1’ 또는 ‘O E2’로 표시된다.

NSSA External LSA (Type 7) - 이 LSA는 Not-so-stubby area에서 External Route가 재분배될 때

만들어 진다. 이 LSA는 NSSA area 전체에 flood된다. 그러나 NSSA의 ABR에서 Backbone area로

보내어 질때는 LSA Type 5로 변환시킨 후 전파한다. 이 LSA로 알려진 route는 Routing Table에 ‘O

N1’또는 ‘O N2’로 표시된다.

Page 49: IP Routing-01

- 49 -

OSPF의 Path Type

(O) Intra-area path/routes

(O IA) Interarea path/routes

(O E1) External Type 1 path/routes

(O E2) External Type 2 path/routes

(O N1) OSPF NSSA type 1

(O N2) OSPF NSSA type 2

3.1 OSPF의 기본적인 이론

(O) Intra−area paths/routes— 같은 OSPF area내에 있는 network이다.

(O IA) Interarea paths/routes— 서로 다른 OSPF area에 있는 network이지만, 같은 OSPF

domain에 있는 network이다.

(O E1) External Type 1 paths/routes— 이것은 External Route가 OSPF로 재분배된 network를

의미한다. Type 1은 external metric과 이 network을 알려주는 ASBR로 가는 경로의 metric을

더한 것을 말한다.

(O E2) External Type 2 paths/routes— 위의 것과 동일하지만 ASBR로 가는 경로의 metric을 배

제한 것을 의미한다. 이것은 default type이다.

(O N1) OSPF NSSA type 1— External route가 OSPF NSSA area로 재분배 된 경우인데, 이것도

위의 것과 마찬가지로 그 network을 알려주는 router까지의 metric을 더한 것을 말한다.

(O N2) OSPF NSSA type 2— External route가 OSPF NSSA area로 재분배 된 경우인데, 그

network을 알려주는 router까지의 metric을 배제한 것이다. NSSA area로 network이 분배가 되

면 default로 같은 type이다.

Page 50: IP Routing-01

- 50 -

3.2 OSPF의 Basic Configuration

Commandrouter ospf process-id

OSPF process를 enable함

process-id : 내부적으로 OSPF process를 식별하기 위한 ID. AS번호가 아님

network address wildcard-mask area area-id

OSPF로 전파시킬 Interface를 지정시키기 위해 사용됨

예시

R2#config t

R2(config)#router ospf 1

R2(config-router)#network 192.168.12.0 0.0.0.255 area 0

R2(config-router)#network 192.168.23.0 0.0.0.255 area 2

S0:192.168.12.2/24R1

S0:192.168.12.1/24 S1:192.168.23.2/24E0:200.1.1.1/24

Area 0 Area 2Area 1

R2 R3S0:192.168.23.3/24

L0:192.168. 3.3/24L0:192.168. 2.2/24L0:192.168. 1.1/24

OSPF를 Router에 enable시키기 위해서는 ‘router ospf’ command를 사용한다. ‘process-id’는Router내부적으로 OSPF process를 식별하기 위한 번호이다. 또한 Interface를 OSPF domain

에 적용시키기 위해 ‘network area’ command를 사용한다. 특이한 점은 mask를 wild-mask를

사용한다는 점이다. 이 wild-mask는 일반적인 mask의 표현을 역으로 표시한다. 예를 들면

255.255.255.192는 0.0.0.63으로 표시된다. ‘area’는 해당 interface가 속하는 area를 지칭한다.

R1

router ospf 1 OSPF process를 enable함

network 192.168.12.0 0.0.0.255 area 0 S0를 area 0로 설정함

network 200.1.1.0 0.0.0.255 area 1 E0를 area 1로 설정함

R2

router ospf 1

network 192.168.12.0 0.0.0.255 area 0

network 192.168.23.0 0.0.0.255 area 2

R3

router ospf 1

network 192.168.23.0 0.0.0.255 area 2

Page 51: IP Routing-01

- 51 -

3.2 OSPF의 Basic Configuration

예제

R1이 DR이 되게 하고, R2는 R1이 Down되었을 때 DR이 되게 설정하라.

R3은 어떠한 경우에도 DR/BDR이 되지 않게 하라.

DR Election

E0:192.168.12.1/24

Area 0

L0:192.168. 3.3/24

L0:192.168. 2.2/24

L0:192.168. 1.1/24

R1

R2

R3E0:192.168.12.3/24

E0:192.168.12.2/24

DR

BDR

Command

ip ospf priority number

number : priority를 나타내는 정수. 0 ~255

OSPF는 Ethernet과 같은 Multiaccess Network에서는 DR/BDR을 선출하여 합리적인 Link State

update를 수행한다고 설명하였다. 기본적으로 OSPF는 Hello를 주고 받으면서 Hello packet내

의 ‘Priority’나 ‘Router ID’로 DR/BDR을 선출한다. 위의 예제를 살펴보자.

R1이 DR이 되게 하고, R2는 R1이 Down되었을 때 DR이 되게 하라는 의미는 R1은 DR이 되게 하

고, R2는 BDR이 되게 하라는 의미이다.

Default configuration으로는 위의 area 0에서 DR은 R3이 될 것이고, R2가 BDR이 될 것이다.

왜냐하면 defaut priority는 R1, R2, R3가 똑같다. 하지만 Router ID가 R3이 ‘192.168.3.3’으로

가장 높다. Router ID는 Loopback Interface가 존재할 경우에는 Loopback Interface의 ip

address가 Router ID가 된다. 따라서 R3이 DR이 되고, R2가 BDR이 된다.

R1이 DR이 되게 하려면 priority를 가장 높게 주면 되고, R2가 BDR이 되려면 R1보다 낮은

priority를 주면 된다. Priority가 ‘0’일 경우는 DR/BDR 선출에 참여하지 않겠다는 것을 암시적으

로 말한다. 따라서 R3가 어떠한 경우에도 DR/BDR이 되지 않게 하려면 priority를 ‘0’로 설정하면

된다.

R1

Interface Ethernet0

ip address 192.168.12.1 255.255.255.0

ip ospf priority 255

R3

Interface Ethernet0

ip address 192.168.12.3 255.255.255.0

ip ospf priority 0

Page 52: IP Routing-01

- 52 -

3.3 OSPF의 Virtual-Link

R1 R2 R3 R4

Area 0 Area 2 Area 3Area 1

Virtual-Link

모든 Area는 Backbone Area에 연결되어야 한다.Area 0를 확장하는 경우에 Virtual Link를 설정한다.Area 0에 연결되는 Link가 없는 Area를 가상으로 Backbone에 연결시킨

다.Area 0가 분리된 경우에도 Virtual Link가 사용된다.

OSPF Virtual LinkCase 1

Case 2

Area 0 Area 2 Area 0Area 1

Virtual-Link

R1 R2 R3 R4 R5

Area 3

OSPF에서 모든 area는 Backbone area인 Area 0에 반드시 연결되어야 한다. 만일 특정 area가

Area 0에 연결되지 않았다면 Virtual Link로 Area 0에 연결시킨다. 위의 그림에서 Case 1은 Area

3이 Area 0에 연결되지 않았다. 이 경우 Area 3은 Link State를 Update하지 못한다. 따라서

Area 2를 통해서 Area 3를 Area 0에 Virtual Link를 만들어 연결시킨다.

이제 Case 2를 보자.

Case 2에는 Area 0가 두 개가 있다. OSPF는 Backbone area는 반드시 한 개만 존재해야 한다.

따라서 두 개의 Area 0를 Virtual Link로 연결해 하나의 Backbone Area로 만든다.

Virtual Link는 Topology의 제약으로 인해 Backbone Area가 분리되거나 확장이 필요한 경우에

사용이 된다.

Page 53: IP Routing-01

- 53 -

3.3 OSPF의 Virtual-Link 설정

예제

Area 3이 Area 0에 연결되지 않았다. 그로인해 Area 3의 Link State정보가

다른 Area로 advertise되지 않는다. 이를 해결하라.

Command

area area-id virtual-link router-id

area-id : virtual-link가 통과하는 area

router-id : virtual-link를 맺는 Neighbor의 Router ID

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.1.1/24 E0:200.4.4.4/24

Area 0 Area 2 Area 3Area 1

Virtual-Link

L0:192.168.1.1/24 L0:192.168.2.2/24 L0:192.168.3.3/24 L0:192.168.4.4/24

Transit Area

OSPF Virtual-Link 설정 절차

1. Area 0의 ABR인 R2의 RID를 확인한다.

R2

R2#show ip ospf

Routing Process "ospf 1" with ID 192.168.2.2

Supports only single TOS(TOS0) routes

Supports opaque LSA

. . . 생 략 . . .

2. Virtual Link가 필요한 Area 3의 ABR인 R3의 RID를 확인한다.

R3

R3#show ip ospf

Routing Process "ospf 1" with ID 192.168.3.3

Supports only single TOS(TOS0) routes

Supports opaque LSA

. . . 생 략 . . .

3. Virtual Link의 설정을 한다.

Page 54: IP Routing-01

- 54 -

R2

router ospf 1

area 2 virtual-link 192.168.3.3 area 2를 통해 R3 RID인 192.168.3.3으로 Virtual Link로

network 192.168.12.0 0.0.0.255 area 0 연결한다.

network 192.168.23.0 0.0.0.255 area 2

R3

router ospf 1

area 2 virtual-link 192.168.2.2 area 2를 통해 R2 RID인 192.168.2.2으로 Virtual Link로

network 192.168.23.0 0.0.0.255 area 2 연결한다.

network 192.168.34.0 0.0.0.255 area 3

4. Virtual Link의 상태를 확인한다.

R2

R2#show ip ospf virtual-links

Virtual Link OSPF_VL0 to router 192.168.3.3 is up

Run as demand circuit

DoNotAge LSA allowed.

. . . 생 략 . . .

R3

R3#show ip ospf virtual-links

Virtual Link OSPF_VL1 to router 192.168.2.2 is up

Run as demand circuit

DoNotAge LSA allowed.

. . . 생 략 . . .

5. Routing table을 확인한다.

R2

R2#show ip route ospf

200.4.4.0/32 is subnetted, 1 subnets

O IA 200.4.4.4 [110/129] via 192.168.23.3, 00:05:20, Serial1 Area 3의 Network이

O IA 200.1.1.0/24 [110/65] via 192.168.12.1, 00:05:20, Serial0 보인다.

O IA 192.168.34.0/24 [110/128] via 192.168.23.3, 00:05:20, Serial1

Page 55: IP Routing-01

- 55 -

3.4 Verify OSPF

show ip ospf neighbors

모든 OSPF Neighbor의 상태를 확인하기 위한 Command

R1#show ip ospf neighbors

Neighbor ID Pri State Dead Time Address Interface

192.168.2.2 1 FULL/BDR 00:00:37 192.168.12.2 Ethernet0

192.168.3.3 1 FULL/ − 00:01:57 192.168.13.3 Serial1

192.168.4.4 1 FULL/ − 00:01:52 192.168.14.4 Serial2

192.168.5.5 1 FULL/ − 00:00:35 192.168.15.5 Serial3

R1#

이 command는 OSPF의 동작상태를 확인하는데 가장 유용한 command 중 하나이다. 이

command는 모든 OSPF Neighbor의 상태를 보여준다. 또한 Neighbor가 DR인지 BDR인지, 아

니면 DROTHER인지를 나타내어 준다. ‘show ip ospf neighbor detail’로 각 Neighbor에 대한 보

다 상세한 정보를 보여준다. 상세한 정보는 OSPF Timer와 각종 부가적인 정보 또한 DR과 BDR

이 어떤 Router인지 나타내어 준다. 만일 이 command를 입력시 아무 정보도 보여주지 않는 것

은 command를 입력했을 당시에 어떠한 hello도 수신되지 않았다는 것을 의미한다.

Neighbor ID - Neighbor의 Router ID를 표시한다.

Pri - Neighbor의 priority를 나타낸다.

State - Neighbor의 상태와 Neighbor가 DR인지 BDR인지, DROTHER인지를 나타낸다. 보

통 일반적인 상태는 ‘2-way’와 ‘FULL’이다. 만일 다른 상태라면 어떠한 문제가 있다는 것을 의미

한다.

Dead Time - 이 시간이 경과될 때까지 Neighbor로부터 Hello를 수신하지 못하면 Neighbor

가 down(dead)되었다고 인식한다.

Address - Neighbor의 Interface에 setting된 ip address이다.

Interface - Neighbor의 Hello가 수신된 Interface를 나타낸다.

Page 56: IP Routing-01

- 56 -

show ip ospf database

전체적인 OSPF database를 각 Area마다 각각의 Link State로 보여준다.

john#show ip ospf database

OSPF Router with ID (192.168.250.250) (Process ID 7)

Router Link States (Area 0)Link ID ADV Router Age Seq# Checksum Link count192.168.250.9 192.168.250.9 450 0x80000033 0x1370 1192.168.250.250 192.168.250.250 334 0x8000002A 0xD0DA 1

Net Link States (Area 0)Link ID ADV Router Age Seq# Checksum172.16.9.5 192.168.250.250 334 0x80000024 0xC14

Summary Net Link States (Area 0)

Link ID ADV Router Age Seq# Checksum172.16.1.1 192.168.250.250 1592 0x8000000B 0x9242172.16.1.5 192.168.250.250 1850 0x8000000B 0xE729172.16.1.6 192.168.250.250 1592 0x8000000B 0x606F172.16.2.4 192.168.250.250 1850 0x8000000B 0x577C172.16.3.0 192.168.250.250 845 0x8000000B 0xC20B172.16.5.0 192.168.250.250 1592 0x8000000B 0xD4F2172.16.10.0 192.168.250.250 1594 0x8000000B 0x7356

3.4 Verify OSPF

‘show ip ospf database’는 OSPF database를 각 Area마다 각각의 Link State별로 보여준다.

Link State는 Type 1, Type 2로 명시하지 않고 Router Link State와 같이 문자로 나타내어 준다.

Database는 Link State를 advertise한 router를 나타내기 위해 Router ID를 사용한다.

ADV Router - 이 LSA를 advertise하는 Router를 나타낸다.

Age - Link State의 max age를 나타낸다.

Seq#와 Checksum - Link State의 무결성을 확인하기 위해 사용된다.

Page 57: IP Routing-01

- 57 -

show ip ospf interface

R1#show ip ospf interface

Ethernet0 is up, line protocol is up

Internet Address 192.168.12.1/24, Area 10

Process ID 7, Router ID 192.168.1.1, Network Type BROADCAST, Cost: 10

Transmit Delay is 1 sec, State DR, Priority 1

Designated Router (ID) 192.168.2.2, Interface address 192.168.12.2

No backup designated router on this network

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

Hello due in 00:00:06

Index 2/2, flood queue length 0

Next 0x0(0)/0x0(0)

Last flood scan length is 0, maximum is 0

Last flood scan time is 0 msec, maximum is 0 msec

Neighbor Count is 0, Adjacent neighbor count is 0

Suppress hello for 0 neighbor(s)

R1#

잘못된 network선언과 wildmask를 확인할때 이 명령을 사용하자!

3.4 Verify OSPF

OSPF의 일반적으로 발생되는 문제는 정확하지 않은 network선언과 wildcard mask이다. OSPF

parameter가 각 interface에 대해 정확하게 설정되었는지를 확인하는 가장 좋은 방법이 ‘show ip

ospf interface’이다. 여기에서 중요한 field는 ‘network type’과 ‘area’, ‘process ID’, ‘timer’, ‘neighbor’와 ‘adjacency count’이다. 또한 여기에는 DR/BDR router를 나타내고 있고, ‘priority’를 알려준다.

Page 58: IP Routing-01

- 58 -

show ip ospf

R1#show ip ospf

Routing Process "ospf 1" with ID 192.168.1.1

Supports only single TOS(TOS0) routes

Supports opaque LSA

It is an area border router

SPF schedule delay 5 secs, Hold time between two SPFs 10 secs

Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs

…생략…External flood list length 0

Area BACKBONE(0)

Number of interfaces in this area is 1

Area has no authentication

SPF algorithm executed 11 times

Area ranges are

Number of LSA 10. Checksum Sum 0x5A54A

Number of opaque link LSA 0. Checksum Sum 0x0

…생략…

RID와 OSPF Area를 확인 할 때 사용하자!

3.4 Verify OSPF

이 명령은 OSPF area와 area type, authentication, SPF counter, redistribution, LSA timer정보

등 OSPF의 포괄적인 정보를 알려준다.

Page 59: IP Routing-01

- 59 -

기타 명령어

Debug ip ospf adj / Debug ip ospf events

: OSPF의 동작을 보여준다. Debug명령은 사용시 주의를 필요로 한다.

log-adjacency-changes : adjacency에 변화가 발생시 log에 기록한다.

show log

Clear ip ospf process : 모든 OSPF neighbor와 database를 reset한다.

show ip route

3.4 Verify OSPF

debug ip ospf adj 와 debug ip ospf events

이 두 debug 명령의 out-put이 상당히 많이 발생될 수가 있기 때문에 꼭 필요한 상황이 발생될

경우에만 사용하는 것을 권장한다.

이 debug명령은 너무 광범위하기 때문에 일반적으로 OSPF에서 아래와 같은 문제가 발생될 경

우에 사용하는 것을 권장한다.

Mismatched subnet mask ·

Mismatched hello/dead interval ·

Mismatched authentication key ·

Mismatched area IDs and area types

log−adjacency−changes 와 show log

Cisco에서는 OSPF adjacency 의 변화가 발생되는 것을 log에 남기기 위한 명령을 제공해 준다.

이 명령은 특별한 debug를 사용하지 않고 adjacency의 문제를 알려주는데 사용된다. 명령어는

다음과 같이 설정하면 된다.

router(config)#router ospf 7

router(config−router)#log−adjacency−changes

clear ip ospf process

이 명령은 OSPF neighbor와 RID, SPF database를 clear하여 다시 생성하게 하는 명령어인데,

Cisco IOS 12.0부터 가능한 명령어이다. 이 명령은 마치 router가 재부팅된 것처럼 OSPF의

process를 완전히 초기화시킨다.

Page 60: IP Routing-01

- 60 -

3.5 OSPF Area Configuration

Stub Area에는 Exteranl 정보가 존재하지 않는다.

Stub Area의 ABR은 Stub Area로 External정보 대신 Default 정보를 보내준다.

예제

Area 34를 Stub Area로 설정하라.

Command

area area-id stub

area-id : stub area로 설정할 Area의 번호

Stub Area

Stub Area

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.1.1/24 E0:200.4.4.4/24

Area 0 Area 34Area 1 L0:192.168.1.1/24 L0:192.168.2.2/24 L0:192.168.3.3/24 L0:192.168.4.4/24

Static Route : 200.10.10.0/24200.10.11.0/24

Stub Area

XO

External Route

Inter-Area Route

특정 Area에 External route로 향하는 Point가 단 한 개만 존재한다면 External의 정보를 받을 필

요가 없을 것이다. 단지 default정보만이 있다면 external route로 향할 수 있을 것이다. 따라서

External Route가 advertise되지 않고 External 정보인 LSA Type 5를 만들지 않는 area를 말한다.

이 area로 설정이 되면 External Route정보대신 default정보인 0.0.0.0이 advertise된다. 그러나

Stub area는 약간의 다른 제약이 존재한다.

- Stub area를 transit area로 하는 virtual link를 만들 수 없다.

- Stub area내의 모든 라우터는 ‘stub’라는 설정을 하지 않으면 Adjacency를 형성하지

못한다.

- Stub area에서는 External route 혹은 LSA Type 5가 존재하지 않기 때문에, Stub area

내의 어떠한 Router도 ASBR이 될 수 없다. 다시 말하면, Stub area에서는 재분배를 할

수 없다.

- External 정보를 받지 못하기 때문에 LSA Type 4와 Type 5는 block된다. 따라서 Stub

area내에는 LSA Type 1, 2, 3만 flood된다.

R1에서 Static Route가 존재하고 이 Route는 OSPF로 재분배되고 있다. 따라서 Area 34가 Stub

Area가 되면 이 Static Route의 정보를 받지 못할 것이다.

Area 34를 Stub area로 설정하기 위해서는 이 Area의 모든 Router에 ‘area stub’ command를

설정해야 한다.

Stub Area로 설정하기 전에 R4의 OSPF database의 External정보를 확인해보자

Page 61: IP Routing-01

- 61 -

R4#show ip ospf database

OSPF Router with ID (192.168.4.4) (Process ID 1)

. . . 중 략 . . .

Type-5 AS External Link States

Link ID ADV Router Age Seq# Checksum Tag

200.10.10.0 192.168.1.1 1002 0x80000001 0xB5A2 0 R1의 Static정보가 External 정보로 보인다.

200.10.11.0 192.168.1.1 1003 0x80000001 0xAAAC 0

Area 34의 모든 Router에 ‘area stub’ command를 설정한다.

R3

router ospf 1

area 34 stub Area 34를 Stub로 설정함

network 192.168.23.0 0.0.0.255 area 0

network 192.168.34.0 0.0.0.255 area 34

R4

router ospf 1

area 34 stub Area 34를 Stub로 설정함

network 192.168.34.0 0.0.0.255 area 34

network 200.4.4.0 0.0.0.255 area 34

Area 34가 Stub Area인지 확인한다.

R4

R4#show ip ospf

Routing Process "ospf 1" with ID 192.168.4.4

. . . 중 략 . . .

Area 34

Number of interfaces in this area is 2

It is a stub area

Area has no authentication

OSPF database를 확인한다.

R4#show ip ospf data

. . . 중 략 . . .

Summary Net Link States (Area 34)

Link ID ADV Router Age Seq# Checksum

0.0.0.0 192.168.3.3 234 0x80000001 0x7E50 External정보 대신 default정보가 생김

192.168.12.0 192.168.3.3 234 0x80000004 0x3D99

Page 62: IP Routing-01

- 62 -

Stub Area에는 Exteranl 정보 및 Inter-area의 정보도 존재하지 않는다.

Stub Area의 ABR은 Stub Area로 External/Inter-area정보 대신

Default 정보를 보내준다.

예제

Area 34를 Totally Stubby Area로 설정하라.

Command

area area-id stub no-summary

area-id : stub area로 설정할 Area의 번호

Totally Stubby Area

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.1.1/24 E0:200.4.4.4/24

Area 0 Area 34Area 1 L0:192.168.1.1/24 L0:192.168.2.2/24 L0:192.168.3.3/24 L0:192.168.4.4/24

Static Route : 200.10.10.0/24200.10.11.0/24

Totally Stubby Area

XX

External Route

Inter-Area Route

3.5 OSPF Area Configuration

Totally Stubby Area에는 External route와 Internal route 둘다 advertise되지 않는다. Stub Area

가 LSA Type 4, 5가 Block되어 External의 정보를 받지 않는것에 더하여, Inter-area의 정보인

LSA Type 3인 Summary Link State정보를 받지 않기 때문에 AS내부의 Internal Route에 대한 정

보 역시 받지 못한다. 따라서 LSA Type 3, 4, 5가 block되고 default route ‘0.0.0.0’만이

advertise된다.

Totally Stubby Area의 설정은 Stub Area와 유사하다. 다른 area의 정보는 ABR이 전달해 준다.

따라서 Stub area와 기본적인 설정법은 같다. 다만 ABR이 LSA Type 3인 Summary Link State

를 area내로 보내지 않게 하면 된다. 따라서 Stub Area의 ABR에서 ‘area stub’ command에

‘no-summary’를 입력해 주면 된다.

R3

router ospf 1

area 34 stub no-summary Stub Area인 Area 34에 Summary LSA를 보내지 않게 설정한다.

network 192.168.23.0 0.0.0.255 area 0

network 192.168.34.0 0.0.0.255 area 34

R4

router ospf 1

area 34 stub 일반적인 Stub Area설정과 동일하다.

Page 63: IP Routing-01

- 63 -

network 192.168.34.0 0.0.0.255 area 34

network 200.4.4.0 0.0.0.255 area 34

R4#show ip route ospf

O*IA 0.0.0.0/0 [110/65] via 192.168.34.3, 00:09:56, Serial0

R4#show ip ospf database

OSPF Router with ID (192.168.4.4) (Process ID 1)

Router Link States (Area 34)

Link ID ADV Router Age Seq# Checksum Link count

192.168.3.3 192.168.3.3 617 0x80000016 0x4ED7 2

192.168.4.4 192.168.4.4 48 0x80000016 0x201E 3

Summary Net Link States (Area 34) Summary LSA에 Default 정보만

존재한다.

Link ID ADV Router Age Seq# Checksum

0.0.0.0 192.168.3.3 618 0x80000010 0x605F

Page 64: IP Routing-01

- 64 -

Stub Area에서 External정보를 만드는 Area

Stub Area의 ABR은 LSA Type 7을 LSA Type 5로 변환시킨다.

예제

Area 34를 Not-So-Stubby Area로 설정하라.

Command

area area-id nssa

area-id : NSSA로 설정할 Area의 번호

Not-so-Stubby Area

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.1.1/24 E0:200.4.4.4/24

Area 0 Area 34Area 1 L0:192.168.1.1/24 L0:192.168.2.2/24 L0:192.168.3.3/24 L0:192.168.4.4/24

Static Route : 200.40.10.0/24200.40.11.0/24

Not-So-Stubby Area

XO

External Route

Inter-Area Route

3.5 OSPF Area Configuration

Stub Area에서는 재분배가 일어날 수 가 없다고 설명했다. 그러나 만일 Stub Area에서 재분배가

일어난다면 어떨까? Stub Area에서 재분배가 일어나면 전혀 새로운 Area인 Not-so-Stubby

Area가 된다. NSSA에 주입된 External Route정보는 LSA Type 5가 아닌 LSA Type 7로 전파가

된다. 그러나 Area 0로 이 External Route가 전파될 때에는 NSSA의 ABR이 이 LSA Type 7의

External route를 LSA Type 5의 External Route로 변환시켜 전파한다. 따라서 NSSA이외의 다른

Area에서는 LSA Type 7은 전파되지 않는다.

R3

router ospf 1

area 34 nssa Area 34를 NSSA로 설정한다.

network 192.168.23.0 0.0.0.255 area 0

network 192.168.34.0 0.0.0.255 area 34

R4

router ospf 1

area 34 nssa Area 34를 NSSA로 설정한다.

redistribute static Static Route를 OSPF로 재분배한다.

network 192.168.34.0 0.0.0.255 area 34

network 200.4.4.0 0.0.0.255 area 34

!

ip route 200.40.10.0 255.255.255.0 Null0

ip route 200.40.11.0 255.255.255.0 Null0

Page 65: IP Routing-01

- 65 -

R3에서 Routing Table을 확인한다. NSSA의 Route가 N2로 표시된다.

R3#show ip route ospf

O 192.168.12.0/24 [110/128] via 192.168.23.2, 00:09:32, Serial0

200.4.4.0/32 is subnetted, 1 subnets

O 200.4.4.4 [110/65] via 192.168.34.4, 00:05:01, Serial1

O IA 200.1.1.0/24 [110/129] via 192.168.23.2, 00:05:01, Serial0

O N2 200.40.10.0/24 [110/20] via 192.168.34.4, 00:05:01, Serial1

O E2 200.10.10.0/24 [110/20] via 192.168.23.2, 00:05:01, Serial0

O N2 200.40.11.0/24 [110/20] via 192.168.34.4, 00:05:01, Serial1

O E2 200.10.11.0/24 [110/20] via 192.168.23.2, 00:05:01, Serial0

R4의 OSPF Database를 확인한다. Type 7이 존재하는 것을 확인한다.

R4#show ip ospf database

OSPF Router with ID (192.168.4.4) (Process ID 1)

Router Link States (Area 34)

. . . 중 략 . . .

Type-7 AS External Link States (Area 34) NSSA에서 External정보가

LSA Type 7로 나타난다.

Link ID ADV Router Age Seq# Checksum Tag

200.40.10.0 192.168.4.4 350 0x80000001 0xCD87 0

200.40.11.0 192.168.4.4 350 0x80000001 0xC291 0

R2의 OSPF Database를 확인한다. Type 7이 NSSA의 ABR인 R3에 의해 Type 5로 변환되었다.

R2#show ip ospf database

OSPF Router with ID (192.168.2.2) (Process ID 1)

. . . 중 략 . . .

Type-5 AS External Link States NSSA밖에서는 LSA Type 5로 나타난다.

NSSA의 ABR에서 Type 5로 변환된다.

Link ID ADV Router Age Seq# Checksum Tag

200.10.10.0 192.168.1.1 911 0x80000025 0x6DC6 0

200.10.11.0 192.168.1.1 911 0x80000025 0x62D0 0

200.40.10.0 192.168.3.3 369 0x80000001 0x6FF1 0

200.40.11.0 192.168.3.3 370 0x80000001 0x64FB 0

Page 66: IP Routing-01

- 66 -

3.6 OSPF Redistribution

Redistribution

재분배 : 어떠한 다른 Protocol에서 유입되는 정보를 해당 Protocol에 맞게

재해석하는 과정.

OSPF External Route의 Metric

Metric-Type 1 : External 정보가 OSPF 도메인 내로 유입 시, OSPF 정보와

동일하게 Metric을 계산하는 방식

Metric-Type 2 : External 정보가 OSPF 도메인 내로 유입 시, OSPF의 Metric을

계산하지 않는 방식 (Default)

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.0.1/24 E0:200.4.0.4/24

Area 0 Area 34Area 1

Static Route : 200.40.10.0/24200.40.11.0/24

Redistribution이란 어떤 다른 Routing Protocol을 통해 유입되는 Routing정보를 특정 Routing

Protocol에 맞게 재해석되는 과정이라 할 수 있다. 다시 말해서 특정 Protocol로 통해 얻게 된

Routing 정보는 Metric체계등 여러 요소가 다르기 때문에 다른 Protocol에서는 사용될 수 없다.

따라서 이러한 정보를 해당 Protocol의 정보에 맞게 변환시키는 과정을 재분배라 한다. OSPF에

서 RIP, ISIS와 Static등의 정보를 OSPF domain으로 주입시키기 위해 OSPF화 하는 과정을 말한

다.

OSPF에서 External Route를 재분배를 하는 데 Metric Type을 두 가지 두었다. 이것은 External

정보를 OSPF domain으로 유입될 때 Metric을 어떻게 정하는가에 따라 다르게 적용한다.

Metric-Type 1 - External Route가 OSPF로 재분배될 때, 이 External Route에 대한 Metric

계산법이 OSPF Internal Route와 동일하게 적용을 하기 위한 Type이다.

Metric-Type 2 - External Route가 OSPF로 재분배될 때, 이 External Route에 대해서는 각

Link마다 OSPF의 Metric을 계산하지 않는다. 따라서 이 External Route의 Metric은 OSPF

domain에 유입된 후에는 변하지 않는다.

Page 67: IP Routing-01

- 67 -

Metric-Type 1

예제

R4의 Static정보를 OSPF도메인 내로 재분배를 하여라.

단, 이 정보의 Metric이 각 Router에서 모두 다르게 나타나도록 설정하라.

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.0.1/24 E0:200.4.0.4/24

Area 0 Area 34Area 1Static Route : 200.40.10.0/24

200.40.11.0/24

Command

redistribute protocol [metric metric-value] [metric-type type-value] [subnets]

metric : External Route가 OSPF로 유입될 때 최초로 주어지는 Metric. default 20

subnets : 이 keyword를 사용하지 않으면, subnet되지 않은 route만 재분배됨

3.6 OSPF Redistribution

예제에서 조건은 R4의 Static Route가 재분배가 될 때, 그 Route에 대해 metric이 각 Router에서

모두 다르게 나타나게 하라고 했다. OSPF Metric-type 1은 External Route에 대한 Metric을 다

른 Internal Route와 마찬가지로 똑같은 metric 산출법에 따라 적용이 된다. 따라서 위의 예제는

Metric-type 1으로 재분배를 실행하라는 것을 의미한다.

위의 command에서 ‘subnets’이라는 keyword를 입력하지 않으면, 재분배가 될 때 Subnet되지

않은 즉, Major Class Route만 재분배한다는 것이다. 따라서 Subnet된 Route를 재분배하려면

반드시 ‘subnet’ keyword를 입력하여야 한다.

아래 R3, R2, R1의 Routing을 살펴보면 200.40.0.0/24와 200.40.1.0/24의 Metric이 84, 148,

212로 모두 다른 것을 알 수 있다. 이 Metric은 기본적으로 External Route가 OSPF로 유입될 때

default Metric이 ’20’이고 각 T1 Link에 해당하는 Metric이 64로 20에서 각 Router마다 64가 증

가되는 것을 알 수 있다.

예) 20, 20+64=84, 20+64+64=148, 20+64+64+64=212

R4

router ospf 1

redistribute static metric-type 1 subnets Static Route를 Subnet된 route까지

network 192.168.34.0 0.0.0.255 area 34 Metric Type 1으로 재분배를 한다.

!

ip route 200.40.0.0 255.255.255.0 Null0

ip route 200.40.1.0 255.255.255.0 Null0

Page 68: IP Routing-01

- 68 -

R3

R3#show ip route ospf

O 192.168.12.0/24 [110/128] via 192.168.23.2, 01:50:06, Serial0

O E1 200.40.0.0/24 [110/84] via 192.168.34.4, 00:02:37, Serial1

O IA 200.1.1.0/24 [110/129] via 192.168.23.2, 00:03:14, Serial0

O E1 200.40.1.0/24 [110/84] via 192.168.34.4, 00:02:37, Serial1

O E2 200.10.10.0/24 [110/20] via 192.168.23.2, 00:03:15, Serial0

O E2 200.10.11.0/24 [110/20] via 192.168.23.2, 00:03:15, Serial0

R2

R2#show ip route ospf

O E1 200.40.0.0/24 [110/148] via 192.168.23.3, 00:02:58, Serial1

O IA 200.1.1.0/24 [110/65] via 192.168.12.1, 00:03:31, Serial0

O E1 200.40.1.0/24 [110/148] via 192.168.23.3, 00:02:58, Serial1

O IA 192.168.34.0/24 [110/128] via 192.168.23.3, 00:03:31, Serial1

O E2 200.10.10.0/24 [110/20] via 192.168.12.1, 00:03:31, Serial0

O E2 200.10.11.0/24 [110/20] via 192.168.12.1, 00:03:31, Serial0

R1

R1#show ip route ospf

O E1 200.40.0.0/24 [110/212] via 192.168.12.2, 00:03:20, Serial1

O E1 200.40.1.0/24 [110/212] via 192.168.12.2, 00:03:20, Serial1

O 192.168.23.0/24 [110/128] via 192.168.12.2, 02:21:45, Serial1

O IA 192.168.34.0/24 [110/192] via 192.168.12.2, 00:03:52, Serial1

Page 69: IP Routing-01

- 69 -

Metric-Type 2Metric-Type 2

예제

R4의 Static정보를 OSPF도메인 내로 재분배를 하여라.

단, 이 정보의 Metric이 각 Router에서 모두 20으로 보이게 하라.

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.0.1/24 E0:200.4.0.4/24

Area 0 Area 34Area 1Static Route : 200.40.10.0/24

200.40.11.0/24

Command

redistribute protocol [metric metric-value] [metric-type type-value] [subnets]

metric : External Route가 OSPF로 유입될 때 최초로 주어지는 Metric. default 20

subnets : 이 keyword를 사용하지 않으면, subnet되지 않은 route만 재분배됨

3.6 OSPF Redistribution

예제에서 조건은 R4의 Static Route가 재분배가 될 때, 그 Route에 대해 metric이 각 Router에서

모두 20으로 나타나게 하라고 했다. OSPF Metric-type 2는 External Route에 대한 Metric을

OSPF metric 산출법에 적용시키지 안는다는 것이다. 따라서 위의 예제는 Metric-type 2으로 재

분배를 실행하라는 것을 의미한다.

위의 command에서 ‘subnets’이라는 keyword를 입력하지 않으면, 재분배가 될 때 Subnet되지

않은 Route만을 재분배한다는 것이다. 따라서 Subnet된 Route를 재분배하려면 반드시 ‘subnet’keyword를 입력하여야 한다.

아래 R3, R2, R1의 Routing을 살펴보면 200.40.0.0/24와 200.40.1.0/24의 Metric이 모두 20인

것을 볼 수 있다. 따라서 각 Router를 통과할 때 Metric이 전혀 증가되지 않았다는 것을 알 수 있

다. 이 metric-type 2는 OSPF에서 default이고, 또한 ‘metric’ keyword또한 default가 20이므로

이 예제에서는 ‘metric’과 ‘metric-type’의 keyword는 설정하지 않아도 위의 예제를 만족하게 된

다.

R4

router ospf 1

redistribute static subnets Static을 재분배하는데, metric과 metric-type은

network 192.168.34.0 0.0.0.255 area 34 default로 ’20’과 ‘2’가 적용된다.

!

ip route 200.40.0.0 255.255.255.0 Null0

ip route 200.40.1.0 255.255.255.0 Null0

Page 70: IP Routing-01

- 70 -

R3

R3#show ip route ospf

O 192.168.12.0/24 [110/128] via 192.168.23.2, 03:00:04, Serial0

O E2 200.40.0.0/24 [110/20] via 192.168.34.4, 00:01:37, Serial1

O IA 200.1.1.0/24 [110/129] via 192.168.23.2, 00:01:37, Serial0

O E2 200.40.1.0/24 [110/20] via 192.168.34.4, 00:01:37, Serial1

O E2 200.10.10.0/24 [110/20] via 192.168.23.2, 00:01:37, Serial0

O E2 200.10.11.0/24 [110/20] via 192.168.23.2, 00:01:37, Serial0

R2

R2#show ip route ospf

O E2 200.40.0.0/24 [110/20] via 192.168.23.3, 00:01:53, Serial1

O IA 200.1.1.0/24 [110/65] via 192.168.12.1, 00:01:53, Serial0

O E2 200.40.1.0/24 [110/20] via 192.168.23.3, 00:01:53, Serial1

O IA 192.168.34.0/24 [110/128] via 192.168.23.3, 00:01:53, Serial1

O E2 200.10.10.0/24 [110/20] via 192.168.12.1, 00:01:53, Serial0

O E2 200.10.11.0/24 [110/20] via 192.168.12.1, 00:01:53, Serial0

R1

R1#show ip route ospf

O E2 200.40.0.0/24 [110/20] via 192.168.12.2, 00:02:11, Serial1

O E2 200.40.1.0/24 [110/20] via 192.168.12.2, 00:02:11, Serial1

O 192.168.23.0/24 [110/128] via 192.168.12.2, 03:31:40, Serial1

O IA 192.168.34.0/24 [110/192] via 192.168.12.2, 00:02:11, Serial1

Page 71: IP Routing-01

- 71 -

3.7 OSPF Filtering

OSPF Filtering

특정 Route를 Filter하기 위해서는 2가지 방법이 있다.

Distribute-list : 일반적으로 사용하는 것을 권장하지 않는다.

Route-map : 특정 External Route만 Redistribute를 할 때 사용된다.

cf. Link-State Protocol에서는 완전한 Filtering은 LSA를 Filter하는 것이다.

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.0.1/24 E0:200.4.0.4/24

Area 0 Area 34Area 1

Static Route : 200.40.10.0/24200.40.11.0/24

O E2 200.40.10.0/24 - 재분배200.40.11.0/24 - 재분배XRoute-Map사용

Distribute-list사용200.4.0.0/24를 Routing Table에

등록시키지 않는다.

OSPF에서 Filtering을 수행하는 방법에는 두 가지 방법이 있다. ‘distribute-list’와 ‘route-map’으로 Filtering을 할 수 있는 데, 이 두 가지 방법을 알아보자.

Distribute-list - 이 Filtering을 하고자 하는 특정 Route를 Access-list로 지정하고, 이것을

적용하는 것이다. 이 command는 특정 Route를 filter하는 것이지, LSA를 filter하는 것은 아니다.

따라서 distribute-list는 inbound로만 적용이 가능하다. 하지만 이 방법을 사용하는 것은 권장되

지 않는다. 그 이유를 예를 들어 알아보자. 위 그림에서 R2에서 Filtering을 하였으나 그 Route

에 대해서 R1과 R3의 Routing Table에는 존재하기 때문에 R2가 Black hole이 되어 버린다. 이

는 LSA자체를 filter하는 것이 아니기 때문에 발생되는 문제이다. 따라서 사용을 권장하지 않는

다.

Route-map - 이 방법은 일반적으로 External Route를 재분배하는 경우에 사용된다. 특정

Route에 대해서만 재분배하는 경우 이 Route-map을 사용하며, 또한 재분배를 할 때 각종

Metric과 metric-type등 각종 value를 서로 다르게 지정하는 경우에도 사용이 된다.

Link-State는 각 Router가 neighbor의 link의 정보를 모아서 자신의 Routing table을 만들기 때

문에 Routing Table을 만들지 못하게 하기 위해서는 상대방의 link의 정보를 차단하는 방법밖에

는 없다.

Page 72: IP Routing-01

- 72 -

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.0.1/24 E0:200.4.0.4/24

Area 0 Area 34Area 1

Static Route : 200.40. 0.0/24200.40. 1.0/24200.40. 2.0/24

OSPF Filtering

예제

R4에 Static Route ‘200.40.0.0/24’와 ‘200.40.1.0/24’ ‘200.40.2.0/24’가 있다.

이 Static Route중 ‘200.40.0.0/24’는 metric-type 1로하고, ‘200.40.1.0/24’는metric-type 2로 재분배를 하라. 또한 200.40.2.0/24는 재분배가 되지 않게 하여라.

Command

redistribute protocol [route-map map-tag]

distribute-list {access-list-number | access-list-name} in [type number]

3.7 OSPF Filtering

1번 예제는 재분배의 문제이다. R4에 세 개의 Static Route가 존재한다. 그 중 ‘200.40. 0.0/24’는 metric-type 1로 하고, ‘200.40. 1.0/24’는 metric-type 2로 설정하고, ‘200.40. 2.0/24’는 재

분배가 되지 않게 하라고 했다. 여기에서 각 Route에 대한 value조정과 filtering을 동시에 설정

해야 하므로 ‘Route-map’을 설정해야 한다. 따라서 다음과 같이 설정한다.

R4

router ospf 1

redistribute static subnets route-map Set_Filter

network 192.168.34.0 0.0.0.255 area 34

network 200.4.0.0 0.0.0.255 area 34

!

access-list 1 permit 200.40.0.0 0.0.0.255

access-list 2 permit 200.40.1.0 0.0.0.255

!

route-map Set_Filter permit 10

match ip address 1

set metric-type type-1

!

route-map Set_Filter permit 20

match ip address 2

(set metric-type type-2)(생략)

!

(route-map Set_Filter deny 30)(생략된 config)

Page 73: IP Routing-01

- 73 -

R3에서 Routing Table을 확인한다.

R3#show ip route ospf

O 192.168.12.0/24 [110/128] via 192.168.23.2, 00:02:00, Serial0

O 200.4.0.0/24 [110/65] via 192.168.34.4, 00:00:04, Serial1

O E1 200.40.0.0/24 [110/84] via 192.168.34.4, 00:02:00, Serial1 metric-type 1

O IA 200.1.1.0/24 [110/129] via 192.168.23.2, 00:02:00, Serial0

O E2 200.40.1.0/24 [110/20] via 192.168.34.4, 00:02:00, Serial1 metric-type 2

200.40.2.0/24는 route-map에 의해 filtering되었다.

Page 74: IP Routing-01

- 74 -

3.8 OSPF Route Summarization

1. Route Summarization의 용도는 무엇인가?

여러 개의 network 정보를 하나의 큰 network 정보로 advertise하여

update의 수를 줄이는 기법

2. Summarization의 종류

OSPF 도메인 내의 Area의 network를 summarization하는 경우

Non-OSPF network를 summarization하는 경우

Summarization의 목적

a-1 Network

a-2 Network

a-3 Network

a-4 Network

A Network

연속된 여러 개의 Network 단일 Network

Summarization은 여러 개의 Network를 하나의 advertisement로 하여 Routing Table을 줄이고

OSPF의 scalability와 운용성을 향상시킨다.

OSPF는 두 가지의 Summarization의 형태가 있다.

첫번째, 다른 Routing Protocol로 부터 OSPF로 재분배되는 Route를 Summary하는 방법이다.

두번째 방법으로는 Area를 Summary하여 다른 Area로 보내주는 방법이다.

Summarization의 주의해야 할 점이 있는데, Area 0는 Summary할 수 없다. 모든 Summary정보

는 Area 0로 flooding되고, Area 0에서 빠져 나간다. 따라서 Area 0는 Summary될 수 없다.

Page 75: IP Routing-01

- 75 -

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.0.1/24 E0:200.4.0.4/24200.4.1.4/24.

Area 0 Area 34Area 1

OSPF Network Summarization

예제

R4의 E0의 200.4.0.0/24와 200.4.1.0/24를 200.4.0.0/23으로 advertise하게 하라.ABR에서 수행

Command

area area-id range <ip-address> <mask>

area-id : summary를 할 Route를 가지고 있는 Area

특정 Area의 정보를 Summary 하는 경우이다.

Area의 정보를 Summary하기 위해서는 그 Area의 ABR에서 설정한다.

Area 34의 ABR

3.8 OSPF Route Summarization

OSPF domain의 Internal Route에 대한 Summary는 특정 Route가 존재하는 Area의 ABR에서 수

행된다. 또한 Area 0의 Route는 Summary될 수 없다. 따라서 위의 그림에서 R4의 E0의 정보를

Summary 해야 하므로 R4에서 Summary를 하는 것이 아니라, Area 34의 ABR인 R3에서

Summary를 해야한다. 또한 OSPF에서는 Internal Route와 External Route를 Summary하는

command가 서로 다르다. 따라서 Summary하고자 하는 Route가 Internal Route인지 External

Route인지를 먼저 확인해야 한다.

위의 그림에서는 R4의 E0의 200.4.0.0/24와 200.4.1.0/24가 OSPF내의 IP이므로 ‘area range’command로 설정을 해야 한다.

R3

router ospf 1

area 34 range 200.4.0.0 255.255.254.0 Area 34의 ABR인 R3이 ‘area range’

network 192.168.23.0 0.0.0.255 area 0 command로 Summary를 수행한다.

network 192.168.34.0 0.0.0.255 area 34

R4 R4에서는 Summary를 수행하지 않는다.

router ospf 1

network 192.168.34.0 0.0.0.255 area 34

network 200.4.0.0 0.0.0.255 area 34

network 200.4.1.0 0.0.0.255 area 34

Page 76: IP Routing-01

- 76 -

R2 R2에서 Summary정보로 보인다.

R2#show ip route ospf

O IA 200.1.1.0/24 [110/65] via 192.168.12.1, 00:05:27, Serial0

O IA 192.168.34.0/24 [110/128] via 192.168.23.3, 00:05:25, Serial1

O E2 200.10.10.0/24 [110/20] via 192.168.12.1, 00:05:27, Serial0

O E2 200.10.11.0/24 [110/20] via 192.168.12.1, 00:05:27, Serial0

O IA 200.4.0.0/23 [110/129] via 192.168.23.3, 00:01:29, Serial1

Page 77: IP Routing-01

- 77 -

Non-OSPF Network Summarization

External Route를 Summary하는 경우

External Route를 Summary하기 위해서는 ASBR에서 설정한다.

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.0.1/24 E0:200.4.0.4/24

Area 0 Area 34Area 1

Static Route : 200.40.10.0/24200.40.11.0/24

예제

R4의 Static Route 200.40.0.0/24와 200.40.1.0/24를 200.40.0.0/23으로 advertise하게 하라.ASBR에서 수행

Command

summary-address {{address mask} | { prefix mask}}

3.8 OSPF Route Summarization

OSPF는 Summary를 할 Route가 Internal Route인지 External Route인지에 따라 Summary를 하

는 Router가 다르고 command가 다르다. Internal Route를 Summary하기 위해서는 ABR에서

‘area range’ command를 사용한다고 했다. 그러나 External Route의 경우는 ASBR에서

‘summary-address’ command를 사용한다. 즉 재분배가 이루어진 Router에서 Summary를 한

다는 것이다.

위의 그림에서 R4는 Static Route가 있다. 이 Static Route를 OSPF Domain으로 재분배가 이루

어지면 R4는 ASBR이 된다. 따라서 이 Static Route를 summary를 하고자 한다면 R4에서

‘summary-address’ command를 사용하면 된다.

R4

router ospf 1

summary-address 200.40.0.0 255.255.254.0 External Route를 Summary한다.

redistribute static subnets Static을 재분배를 한다. R4가 ASBR이 되었다.

network 192.168.34.0 0.0.0.255 area 34

R4#show ip route ospf summary된 정보가 Null0로 보인다. 새로 만들어진 정보이다.

O IA 192.168.12.0/24 [110/192] via 192.168.34.3, 00:02:37, Serial0

O IA 200.1.1.0/24 [110/193] via 192.168.34.3, 00:02:37, Serial0

O IA 192.168.23.0/24 [110/128] via 192.168.34.3, 00:02:37, Serial0

O E2 200.10.10.0/24 [110/20] via 192.168.34.3, 00:02:37, Serial0

O E2 200.10.11.0/24 [110/20] via 192.168.34.3, 00:02:37, Serial0

O 200.40.0.0/23 is a summary, 00:00:52, Null0

Page 78: IP Routing-01

- 78 -

R2 R2에서 R4의 External Route가 200.40.0.0/23으로 Summary되어 보인다.

R2#show ip route ospf

O IA 200.1.1.0/24 [110/65] via 192.168.12.1, 00:02:53, Serial0

O IA 192.168.34.0/24 [110/128] via 192.168.23.3, 00:02:53, Serial1

O E2 200.10.10.0/24 [110/20] via 192.168.12.1, 00:02:53, Serial0

O E2 200.10.11.0/24 [110/20] via 192.168.12.1, 00:02:53, Serial0

O E2 200.40.0.0/23 [110/20] via 192.168.23.3, 00:01:08, Serial1

Page 79: IP Routing-01

- 79 -

3.9 OSPF Default-Information

OSPF 내에 Default 정보를 전달하는 방법은 2가지가 있다.

R1에 Default 정보가 존재할 경우, OSPF내의 모든 Router로Default 정보를 전파한다.

R1에 Default 정보의 유무와 상관없이 항상 OSPF내의 모든 Router로

Default 정보를 전파한다.

R1 R2 R3 R4

S0:192.168.12.1/24

S0:192.168.12.2/24

S1:192.168.23.2/24

S0:192.168.23.3/24

S1:192.168.34.3/24

S0:192.168.34.4/24

E0:200.1.0.1/24 E0:200.4.0.4/24

Area 0 Area 34Area 1

Default Route 0.0.0.0/0

INTERNET

Command

default-information originate [always] [metric metric-value] [metric-type type-value]

위의 그림과 같이 R1이 Internet에 연결되는 Point가 있다고 하자. 이 OSPF의 모든 Router는

Internet으로 access하려면 R1으로 통해서 갈수 있다. 따라서 Internet의 Network정보를 받지

않더라도 default정보만으로 Internet을 access 할 수 있다.

OSPF에서는 default정보를 전달하는 방법은 두가지가 있다.

Default정보가 반드시 존재해야지만 OSPF domain으로 Default정보를 전달하는 경우

Default정보가 없더라도 항상 Defualt정보를 OSPF domain으로 전달하는 경우

1. Default정보가 반드시 존재해야하는 경우

R1

router ospf 1

network 192.168.12.0 0.0.0.255 area 0

network 200.1.1.0 0.0.0.255 area 1

default-information originate Default정보를 발생시킴

!

ip route 0.0.0.0 0.0.0.0 Serial1 default route

R2에서 Routing Table확인 Default정보를 OSPF로 알게 되었다.

R2#sh ip route ospf

O E1 200.40.0.0/24 [110/148] via 192.168.23.3, 00:06:48, Serial1

O IA 200.1.1.0/24 [110/65] via 192.168.12.1, 00:06:48, Serial0

Page 80: IP Routing-01

- 80 -

O E2 200.40.1.0/24 [110/20] via 192.168.23.3, 00:06:48, Serial1

O IA 192.168.34.0/24 [110/128] via 192.168.23.3, 00:06:48, Serial1

O*E2 0.0.0.0/0 [110/1] via 192.168.12.1, 00:00:59, Serial0

R1에서 Default route 제거

R1(config)#no ip route 0.0.0.0 0.0.0.0 Serial1

R2의 Routing Table확인 R1의 Default정보가 사라지자 OSPF정보도 없어졌다.

R2#sh ip route ospf

O E1 200.40.0.0/24 [110/148] via 192.168.23.3, 00:06:48, Serial1

O IA 200.1.1.0/24 [110/65] via 192.168.12.1, 00:06:48, Serial0

O E2 200.40.1.0/24 [110/20] via 192.168.23.3, 00:06:48, Serial1

O IA 192.168.34.0/24 [110/128] via 192.168.23.3, 00:06:48, Serial1

2. Default 정보의 유무와 상관없는 설정

R1

router ospf 1

network 192.168.12.0 0.0.0.255 area 0

network 200.1.1.0 0.0.0.255 area 1

default-information originate always 항상 Default정보를 발생시킨다.

R2의 Routing Table확인 Default정보를 OSPF정보로 알게 되었다.

R2#sh ip route ospf

O E1 200.40.0.0/24 [110/148] via 192.168.23.3, 00:06:48, Serial1

O IA 200.1.1.0/24 [110/65] via 192.168.12.1, 00:06:48, Serial0

O E2 200.40.1.0/24 [110/20] via 192.168.23.3, 00:06:48, Serial1

O IA 192.168.34.0/24 [110/128] via 192.168.23.3, 00:06:48, Serial1

O*E2 0.0.0.0/0 [110/1] via 192.168.12.1, 00:00:59, Serial0

R1에서 Default route 제거

R1(config)#no ip route 0.0.0.0 0.0.0.0 Serial1

R2의 Routing Table확인 R1의 Default의 유무와 상관없이 OSPF정보로 알고 있다.

R2#sh ip route ospf

O E1 200.40.0.0/24 [110/148] via 192.168.23.3, 00:06:48, Serial1

O IA 200.1.1.0/24 [110/65] via 192.168.12.1, 00:06:48, Serial0

O E2 200.40.1.0/24 [110/20] via 192.168.23.3, 00:06:48, Serial1

O IA 192.168.34.0/24 [110/128] via 192.168.23.3, 00:06:48, Serial1

O*E2 0.0.0.0/0 [110/1] via 192.168.12.1, 00:00:59, Serial0

Page 81: IP Routing-01

- 81 -

3.10 OSPF의 종합실습

R1

R4 R3

R2S0

192.168.12.0/24

192.168.23.0/24

192.168.34.0/24

200.1.1.0/24

172.16.4.0/24

Static : 200.4.0.0/24200.4.1.0/24200.4.2.0/24200.4.3.0/24

S0

E0

E0

S1S0

E0

E0

.1 .2

.2

.3

.3.4.4

Area 0

Area 1Area 3

Area 2

172.16.5.0/24

E1

Loopback IPR1 L0 : 192.168.1.1/24R2 L0 : 192.168.2.2/24R3 L0 : 192.168.3.3/24R4 L0 : 192.168.4.4/24

Default Route

1. 위 그림의 Area번호를 이용하여 OSPF를 구성하시오.

2. Area 0의 R2와 R3에서 R2가 DR이 되게 설정하라. hint) Priority

3. Area 3의 ‘200.1.1.0/24’가 모든 Router에서 보이게 하라. hint) Virtual Link

4. R4의 E0 ‘172.16.4.0/24’와 E1 ‘172.16.5.0/24’가 다른 Area에서 하나의 Route로 보이게 하라.

hint) Area Route Summarization

5. R4에 Static Route가 있다. ‘200.4.1.0/24’를 제외한 모든 Static을 재분배하여라. 단,

‘200.4.0.0/24’는 Cost(metric)이 모든 Router에서 다르게 보이게 하여라.

hint) Route-map이용

6. R4에서 재분배된 Static Route중 ‘200.4.2.0/24’와 ‘200.4.3.0/24’가 다른 Router에서 하나의

Route로 보이게 설정하라.

hint) External Route Summarization

7. R1에 Default Route가 있다. 이 Default Route를 모든 Router에게 advertise하여라. 단, R1에

서 이 Default Route가 사라지더라도 변함없이 Default Route를 advertise하게 설정하라.

Page 82: IP Routing-01

- 82 -

제 4장. IS-IS 실습

4.1 IS-IS의 기본적인 이론

4.2 IS-IS의 Basic Configuration

4.3 Verify IS-IS

4.4 Optimizing IS-IS

4.5 IS-IS Default Route Configuration

4.6 IS-IS Redistribution

4.7 IS-IS Summarization

4.8 IS-IS Route Leaking

4.9 IS-IS 종합실습

Page 83: IP Routing-01

- 83 -

4.1 IS-IS 기본이론

IS-IS Routing Protocol

IS-IS는 intradomain Routing을 위한 Link-State Protocol이다.

주로 대형 ISP에서 많이 사용된다.

- 빠른 Convergence

- 매우 안정적인 Protocol

두 개의 Level의 Routing 계층화

- Area내의 Routing (Level 1)

- Area간의 Routing (Level 2)

Dijkstra의 Shortest Path First Algorithm을 사용한다.

IS-IS는 Intradomain routing을 위한 Link-state Protocol이다. IS-IS에서는 두

개의 Routing 계층으로 되어있다.

Area 내의 Routing (Level 1)

Area 간의 Routing (Level 2)

IS-IS를 운용중인 Router는 IS-IS를 운용하는 다른 Router와 adjacency를 형성

하고 Routing정보를 Link-State Packet(LSP)에 담아서 교환하게 된다. 각

Router는 Level 1과 Level 2의 Link-state Database를 각각 별도로 수집하게 된

다. Level 1Link-state database는 Local Area의 topology정보를 표현하고, 반

대로 Level 2는 InterArea에 연결된 정보를 표현하게 된다. 또한 OSPF와 마찬가

지로 OSPF의 SPF algorithm인 Dijkstra Shortest Path First Algorithm로 각

Level마다 별도로 사용된다.

Page 84: IP Routing-01

- 84 -

4.1 IS-IS 기본이론

IS-IS Area

L1

L1-L2

L1-L2 L1-L2

L1L1

Area 49.0002 Area 49.0003

Area 49.0001

Level 1Area

Level 1Area

Level 1Area

Level 2Backbone

IS-IS domain내의 모든 IS-IS Router는 적어도 한 개의 IS-IS Area에 속해 있다. 각 IS-IS node

는 ‘Network Service Access Point(NSAP)’이라는 유일한 node address가 가진다. 이 NSAP에

는 각 node의 area를 정의하는 area 식별자가 존재한다. 위의 그림에서는 49.001, 49.002,

49.003의 area식별자를 가진 세개의 Area가 있다. 이들 Area는 모두 backbone에 연결되어 있

다. 위의 그림에서 보는 것과 같이 각 Area의 경계는 다른 Area와의 경계위에 존재한다. 각 IS-

IS의 Area는 interarea의 routing 정보는 단지 backbone 안에만 있도록 하는 것을 의미하는 Stub

가 될 것이다.

Page 85: IP Routing-01

- 85 -

4.1 IS-IS 기본이론

IS-IS Area Vs OSPF Area

R2-ABRR1-Backbone R3-Internal

Area 0 Area 1OSPF Area

Totally Stubby

R2-L1/L2R1-L1 R3-L1/L2

Area 49.0000 Area 49.0001IS-IS Area

Totally Stubby

OSPF는 Border Router는 Router(ABR)내부 있다.

각 Link는 하나의 Area에 속한다. 즉, Area 경계가 Router이다.

IS-IS의 Border Router는 Link에 존재한다.

- 각 IS-IS Router는 정확하게 한 개의 Area에 속한다.

- IS-IS는 Backbone을 확장할 때 더 많은 유연성을 가진다.

OSPF는 다른 모든 Area가 물리적으로 Area 0에 연결되어야 하는 Backbone Area 중심이기 때

문에 어떤 경우 많은 제약이 따를 수 있다. 이러한 Type의 계층적 구조를 사용할 때는

Backbone으로 들어가는 Network을 Summary하기 위해 연속적인 IP addressing이 필요하다.

앞의 OSPF Summarization을 설명할 때 말한 것과 같이 Network를 Summary할 경우 Backbone

Area로 Summary를 보내도록 설정하는 것이기 때문이다. 따라서 이러한 OSPF의 계층적 구조는

Backbone에서 전달하는 정보의 양을 감소시킨다.

IS-IS는 L1과 L2/L1L2 Router를 가지는 계층적인 구조를 하고 Area의 경계가 Link위에 있다. 그

러나 상당히 작은 LSP가 사용이 된다. 그러므로 하나의 Area에 많은 라우터가 존재하게 할 수

있다. 이러한 이유가 IS-IS가 OSPF보다 더 scalable하게 한다. 또한 IS-IS는 Backbone을 확장

하는데 더 많은 유연성을 가진다. OSPF와는 다르게 IS-IS는 간단하게 L2/L1L2 Router만 연결

하면 Backbone을 확장할 수 있다.

Page 86: IP Routing-01

- 86 -

4.1 IS-IS 기본이론

IS-IS Operation

IS-IS로 설정된 모든 Interface로 Hello를 전송한다.

동일한 Link에 인증방식, IS-Type 및 MTU Size가 같으면 Neighbor로

성립된다.

자신의 모든 정보를 하나의 LSP에 담아서 전송한다.

모든 Adjacency에게 LSP를 전송한다.

수신한 LSP를 Link-State Database에 저장한다.

Dijkstra SPF를 이용하여 최적의 Routing Table을 만든다.

IS-IS의 동작은 다음과 같다.

1. Neighbor를 찾아서 Adjacency를 맺기 위해 IS-IS가 설정된 모든 Interface로 Hello packet을

전송한다.

2. Broadcast Network과 Point-to-Point Network별로 약간의 차이가 있지만, 동일한 Link에 인

증방식, IS-Type 및 MTU Size가 같으면 Neighbor가 된다.

3. IS-IS가 설정된 Interface등 자신의 모든 정보를 하나의 LSP로 만든다.

4. 동일한 LSP를 수신한 Interface를 제외한 모든 Adjacency Neighbor에게 LSP정보를 전송한다.

5. 수신한LSP를 Link-state Database에 저장하다.

6. Router는 Dijkstra의 SPF 일고리즘을 이용하여 계산하고 SPT (Short Path Tree)를 만든 후 최

종적으로 Routing Table을 만든다.

Page 87: IP Routing-01

- 87 -

4.1 IS-IS 기본이론

IS-IS Adjacency

연결된 Link의 Type에 따라 구분함

Point-to-Point Link에 의한 Adjacency

Broadcast Link에 의한 Adjacency

Adjacency를 형성하기 위해 Hello를 사용함.

ES-IS

- end-system hello (ESH)와 intermediate system hello (ISH)가 사용됨

IS-IS

- intermediate system-to-intermediate system hello (IIH)가 사용됨

Adjacency의 종류

ES-IS Adjacency

IS-IS Adjacency

IS-IS는 Link-state protocol이기 때문에 최적의 Route를 계산하기 위해 Topology의 완전한 형

태를 database로 관리한다. IS-IS를 운용하는 Router의 기능은 Neighbor Router를 찾고,

Adjacency를 맺고, routing을 관리하는 것이다. 두 Router사이의 Adjacency를 맺는 type은 서

로 연결된 Link의 Type에 의해 결정된다.

Point-to-Point Link에 의한 Adjacency

Broadcast Link에 의한 Adjacency

이러한 Link사이의 Adjacency를 형성하고 관리하기 위해서는 특별한 packet이 사용되는데, 이것

이 ‘hello’이다. Router는 Point-to-Point 또는 Broadcast Link에서 ES-IS와 IS-IS adjacency를

형성한다. ES-IS는 IP Routing에는 필요는 없지만, Point-to-Point Link에서의 IS-IS

adjacency 형성은 ES-IS adjacency 탐색에 의존한다. 그러므로 Cisco IOS는 단지 IP Routing

의 사용을 위해 IS-IS를 enable해도 ES-IS protocol이 enable된다. ES-IS는 end-system

hello(ESH)와 intermediate-system hello(ISH)를 사용하고, IS-IS는 intermediate system-to-

intermediate system hello(IIH)를 사용한다.

Page 88: IP Routing-01

- 88 -

4.1 IS-IS 기본이론

IS-IS Adjacency

IS-IS Hello의 종류

Point-to-Point IIH

- Point-to-point Link에서 사용

Level 1 LAN IIH

- Braodcast Link에서 Level 1 adjacency를 위해 사용

Level 2 LAN IIH

- Broadcast Link에서 Level 2 adjacency를 위해 사용

DIS

PSN

DIS

Broadcast Link의 Pseudonode

Routin정보를 교환하기 위해, ES-IS adjacency관계를 초월하여 IS-IS adjacency를 형성해야 한

다. 그러나 ES-IS adjacency는 point-to-point link에서 IIH advertisement를 보내기 위해 필요

하지만, 이것이 궁극적으로 IS-IS adjacency를 형성할 수 있게 한다.

Point-to-point Link에서 IS-IS adjacency를 형성하고 유지하기 위해서 Broadcast Link와 약간

다르다. 따라서 IIH역시 Broadcast Link에서 사용되는 IIH와 다르다. 따라서 IIH는 세가지 종류

가 있다.

Point-to-point IIH

Level 1 LAN IIH : MAC 01-80-C2-00-00-14(AllL1ISs)

Level 2 LAN IIH : MAC 01-80-C2-00-00-15(AllL2ISs)

Point-to-point IIH와 LAN IIH는 header에 약간 차이가 있다. Point-to-point IIH는 local circuit

ID를 가지고 있지만, priority information이 없다. LAN IIH는 LAN ID와 priority information을 가

지고 있다.

LAN에서의 adjacency를 알아보자.

Multiaccess link (broadcast LANs 등) 에서는 신뢰성있는 update와 database 동기화를 위한 많

은 자원이 요구된다. OSPF의 DR설정도 이러한 것과 같은 맥락이다. 따라서 이러한 것을 줄이

기 위해 IS-IS에서는 ‘pseudonodes(PSN)’라는 virtual node를 생성한다.

Multipoint link의 Router들에서 선출된 Designated Router가 PSN역할을 한다. 이런

Designated Router는 ISO에서는 ‘Designated Intermediate System(DIS)’라 부른다. DIS의 선

출은 LAN의 IIH에 있는 Interface Priority로 결정하지만, Priority가 동일하다면 MAC address가

가장 높은 Router가 DIS가 된다. OSPF의 DR과 마찬가지로 DIS의 역할은 IS-IS link-state

database의 동기화를 담당한다. 그러나 모든 Router는 PSN과 DIS 둘다 adjacency를 형성한다.

Page 89: IP Routing-01

- 89 -

4.1 IS-IS 기본이론

IS-IS NSAP Address

Area ID

1~13 bytes

20 bytes maximum

SysID NSEL

6 bytes 1 byte

Area identifier (AreaID)

- Router가 속하는 IS-IS Area를 정의한다.

System identifier (SysID)

- IS-IS Router에 대한 식별자

N-selector (NSEL)

- Application 식별자와 유사하다.

- Routing Layer에 대해서는 항상 all-zero (0x00)을 사용한다.

CLNS NSAP format은 ISO 10589에 정의되어 있지만, IP Routing에 대해서는 RFC 1195에 접목

되었다. 위의 그림이 IP Routing에 대해서 사용되는 NSAP format을 나타내는 것이다.

NSAP address는 크게 세가지 요소로 나누어 진다.

Area identifier (AreaID) - 이것은 Router가 속하는 IS-IS area를 정의한다.

System identifier (SysID) - 이것은 특정 area내 또는 Level 2 backbone내에서 IS-IS

Router에 대한 식별자를 나타낸다. 이 ID는 유일한 ID이다.

N-selector (NSEL) - 이것은 application identifier와 유사한 것이다. 이것은 IS-IS Packet

이 Network Layer위의 상위 Layer로 가는 Point를 정해주는 데 사용이 된다. Router에서

Routing Layer에서 사용될 때는 항상 all-zero(0x00)을 사용한다.

최대 NSAP의 길이는 160bits(20Bytes)으로 IP의 32bits보다 더 길다. NSEL은 1byte의 길이를

사용한다. SysID는 variable length로 ISO 10589에 의해 정의되어 있다. 그러나 Cisco는 US

GOSIP 표준안을 따르고 있어서 고정길이 6 bytes를 사용하고 있다. AreaID는 variable-length

로 1~13 byte로 사용된다. 이 AreaID는 AFI를 첫 Byte로 사용하는데 이것은 ISO addressing

authority등을 명시하는데 사용되는데, IP Routing에 대해서는 Local을 의미하는 ’49’를 대부분

사용한다. 따라서 IP Routing에 대해서 AreaID는 ’49.xxxx’와 같이 시작하면 된다.

Page 90: IP Routing-01

- 90 -

4.1 IS-IS 기본이론

IS-IS Packet의 종류

Level 2 partial SNP

Level 1 partial SNP

Level 2 complete SNP

Level 1 complete SNP

Sequence Number Packet

(SNP)

Level 2 LSP

Level 1 LSPLink-State Packet

(LSP)

Point-to-Point Hello

LAN Level 2 Hello

LAN Level 1 Hello

Hello Packet

(IIH)

IS-IS packet에는 세가지 종류가 있다.

Hello Packets(IIHs) : Adjacency를 형성하고 유지하는데 사용된다.

Link-State Packets(LSPs) : Routing 정보를 제공하는데 사용된다.

Sequence Number Packets(SNPs) : LSP를 제공하는 것을 조절하는데 사용된다.

위의 세가지 종류의 IS-IS Packet중에 SNP가 가장 특별한 Packet이다. 이 SNP는 CSNP와

PSNP로 나누어 진다. SNP의 역할은 Link-State Database를 동기화하는 mechanism을 제공한

다.

OSPF와 마찬가지로 IS-IS도 Ethernet과 같은 Multiaccess Network에서는 모든 IS-IS packet은

multicast한다.

Page 91: IP Routing-01

- 91 -

4.1 IS-IS 기본이론

IS-IS Flooding and Synchronization

LSPR1.00-00SEQ#1

R1

PSNPR1.00-00SEQ#1

R2

LSPR1.00-00SEQ#1

R1

LSPR1.00-00SEQ#1

R1

PSNPR1.00-00SEQ#1

R4

CSNPR1.00R2.00R3.00R4.00

R2

R4

R3R2 (DIS)R1

IS-IS Packet중에서 Sequence Number Packet이 특별한 Packet이라고 하였다. 여기에서는

SNP를 이용하여 동기화를 하는 과정을 살펴보고, 또한 IS-IS의 Flooding을 이해해보자.

위의 그림에서 R1과 R2사이에는 Point-to-Point로 연결되어 있다. 또한 R2는 R3과 R4와 함께

Broadcast LAN에 연결되어 있다. 이 그림으로 Point-to-Point 와 LAN 에서의 LSP Flooding을

살펴볼 수 있다.

IS-IS는 신뢰성있는 LSP Flooding을 위해 Point-to-Point 에서 PSNP로 acknowledge를 해야

한다. 그러나 Broadcast Network에서는 LSP수신에 대해acknowledge를 하지 않는다.

Broadcast Network에서 Database동기화를 위해 DIS가 알려진 모든 LSP의 summary를 CSNP

에 담아 수행한다. CSNP에 있는 정보중 어떤 LSP를 가지지 못한 Router는 PSNP를 이용하여

그 정보의 LSP를 요구하게 된다.

위의 그림에서 R1은 LSP(R1.00-00)을 Point-to-Point로 연결된 R2로 advertise를 한다. R2는

이것을 PSNP로 acknowledge를 한다. R2는 이것을 자신의 database에 저장한 후 LAN에 있는

R3와 R4로 flooding을 한다. 만일 R4가 R2가 보낸 R1.00-00을 수신하지 못했다고 가정하자.

R3과 R4는 이 R1.00-00에 대한 acknowledge를 하지 않는다. CSNP Timer가 경과한 후, 이

LAN의 DIS인 R2는 자신이 알고 있는 LSP의 summary를 CSNP로 advertise한다. R4가 R2가 보

낸 R1.00-00을 수신하지 못했기 때문에, R4는 수신된 summary로 부터 R1.00-00의 LSP를 수

신하지 못한 것을 알게 되고 R2에게 PSNP로 완전한 LSP를 요구한다. R2는 LAN으로 R1.00-00

을 다시 Multicast한다.

Page 92: IP Routing-01

- 92 -

4.2 IS-IS Basic Configuration

IS-IS Configuration 절차

Step 1 : Area를 정의하고, Router에 대해 Addressing 계획을 준비하고,

또한 Interface를 결정한다.

Step 2 : Router에서 IS-IS를 Enable한다.

Step 3 : NET을 설정한다.

Step 4 : Interface에 IS-IS를 Enable한다.

R2-L1/L2R1-L1 R3-L1/L2

Area 49.0000 Area 49.0001IS-IS Area

NET 49.0000.1921.6800.1001.00

NET 49.0000.1921.6800.2002.00

NET 49.0001.1921.6800.3003.00

S0 E0 E0S0

IS-IS를 설정하기 전에 Area와 addressing 계획을 미리 계획해야 한다. 그것을 마치고 난 후

Router에 IP Routing을 하기 위해 IS-IS를 Enable한다. 이때 정해둔 AreaID등을 이용하여 NET

을 설정한다. 그리고 Interface에 IS-IS를 Enable을 한다. 그리고 여러가지 IS-IS process

Tunning을 하기 위한 추가적인 command를 사용한다.

Page 93: IP Routing-01

- 93 -

4.2 IS-IS Basic Configuration

Enable IS-IS

R1 R2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24Area 49.0012

L0:192.168.2.2/24

NET : 49.0012.1921.6800.1001.00 NET : 49.0012.1921.6800.2002.00

IS-IS Routing Protocol을 Enable한다.

NET을 설정한다.

- SysID는 Loopback IP Address를 변형시켜 사용한다.

EX) Loopback IP Address : 192.168.2.2

192.168.002.002

1921.6800.2002 MAC Address대신 사용함Command

router isis area-tag

area-tag : 여러 개의 IS-IS process를 구동시킬 때 사용된다.

net network-entity-title

‘router isis’ command는 Router에 IS-IS Process를 구동시키는 데 사용된다. 또한 area-tag는

여러 개의 IS-IS process운용시 구별하기 위해 사용된다. 또한 Router에 IS-IS를 enable하면 자

동으로 ‘clns routing’이 configuration에 올라간다. 그러나 IP Routing으로만 사용되는 경우에는

‘no clns routing’을 하여도 무방하다.

IS-IS process를 enable한 후에 Router는 ‘net’ command로 NET을 설정하여야 한다. 비록 IS-

IS가 IP Routing에 대해서만 사용된다 하더라도 NET설정은 반드시 해야 한다. NET은 AreaID와

SysID, NSEL로 구성된다. SysID는 1~13 Byte를 사용하지만 Cisco Router에서는 6 Bytes로 고

정된 길이로 사용된다. 이 SysID는 MAC Address가 사용되지만, 일반적으로 Loopback

Address를 변형시켜 사용되는 것이 권장된다.

R1

!

router isis Router에 IS-IS Process를 enable한다.

net 49.0012.1921.6800.1001.00 NET을 설정한다.

! Area ID : 49.0012 SysID : 1921.6800.1001

NSEL : 00

R2

!

router isis

net 49.0012.1921.6800.2002.00

!

Page 94: IP Routing-01

- 94 -

4.2 IS-IS Basic Configuration

Enable IS-IS

R1 R2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24Area 49.0012

L0:192.168.2.2/24

NET : 49.0012.1921.6800.1001.00 NET : 49.0012.1921.6800.2002.00

IS-IS Routing Process에 Interface를 적용시킨다.

설정된 Router는 IP-Only L1/L2 Router로 동작한다.

Command

ip router isis area-tag

area-tag : 여러 개의 IS-IS process를 구동시킬 때 사용된다.

Interface를 IS-IS Routing에 참여시키기 위해서 ‘ip router isis’ command를 사용한다. 만일 IS-

IS process가 여러 개가 운용된다면 area-tag를 사용한다. area-tag가 없다면 tag의 값은 ‘0’이다. 단 한 개의 IS-IS process가 운용된다면, tag는 필요없다.

이렇게 설정이 되면 두 개의 Router는 서로 adjacency를 맺게 된다. IS-IS를 설정하게 되면 이

Router는 default 설정으로 L1/L2 Router로 동작한다. 따라서 L1 database와 L2 database 두

개를 가지게 된다. 즉, 각 Router는 L1/L2 Router로 동작한다는 것이다.

R1

interface Serial0

ip address 192.168.12.1 255.255.255.0

ip router isis Interface를 IS-IS process에 참여시킨다.

!

router isis

net 49.0012.1921.6800.1001.00

R2

interface Serial0

ip address 192.168.12.2 255.255.255.0

ip router isis

!

router isis

net 49.0012.1921.6800.2002.00

Page 95: IP Routing-01

- 95 -

4.2 IS-IS Basic Configuration

Enable IS-IS

예제

위의 Topology를 만족하도록 R1, R2, R3와 R4의 설정을 하라.

R1 R2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24Area 49.0012

L0:192.168.2.2/24

NET : 49.0012.1921.6800.1001.00 NET : 49.0012.1921.6800.2002.00

R4 R3E0:192.168.34.4/24

E0:192.168.34.3/24

L0:192.168.4.4/24Area 49.0034

L0:192.168.3.3/24

NET : 49.0034.1921.6800.4004.00 NET : 49.0034.1921.6800.3003.00

S0:192.168.23.3/24

S1:192.168.23.2/24

R1

interface Serial0

ip address 192.168.12.1 255.255.255.0

ip router isis

!

router isis

net 49.0012.1921.6800.1001.00

R2

interface Serial0

ip address 192.168.12.2 255.255.255.0

ip router isis

!

interface Serial1

ip address 192.168.23.2 255.255.255.0

ip router isis

!

router isis

net 49.0012.1921.6800.2002.00

R3

interface Ethernet0

ip address 192.168.34.3 255.255.255.0

ip router isis

!

Page 96: IP Routing-01

- 96 -

interface Serial0

ip address 192.168.23.3 255.255.255.0

ip router isis

!

router isis

net 49.0034.1921.6800.3003.00

R4

interface Ethernet0

ip address 192.168.34.4 255.255.255.0

ip router isis

!

router isis

net 49.0034.1921.6800.4004.00

Page 97: IP Routing-01

- 97 -

4.3 Verify IS-IS

show clns protocol

- Protocol상태의 Summary를 보여준다.

show clns neighbors [detail]

- Neighbor에 대한 adjacency 상태의 정보를 보여준다.

show clns interface

- Interface에 관계되는 IS-IS Routing 정보를 보여준다.

show isis topology

- Level 1과 Level 2 Topology에서 IS-IS 노드에 대한 경로의 정보를

보여준다.

show isis database

- Level-1과 Level-2 Database에 있는 LSP를 보여준다.

Cisco Router에서 IS-IS의 적당한 설정과 동작상태를 확인하기 위한 유용한 명령어가 있다.

show clns protocol - Protocol의 상태의 요약을 보여준다.

R2#show clns protocol

IS-IS Router: <Null Tag>

System Id: 1921.6800.2002.00 IS-Type: level-1-2

Manual area address(es):

49.0012

Routing for area address(es):

49.0012

Interfaces supported by IS-IS:

Serial1 - IP

Serial0 - IP

Redistribute:

static (on by default)

Distance for L2 CLNS routes: 110

RRR level: none

Generate narrow metrics: level-1-2

Accept narrow metrics: level-1-2

Generate wide metrics: none

Accept wide metrics: none

Page 98: IP Routing-01

- 98 -

show clns neighbor [detail] - end-system(ES)와 intermediate-system(IS) neighbor를 보여준다.

R2#show clns neighbors

System Id Interface SNPA State Holdtime Type Protocol

R3 Se1 *HDLC* Up 28 L2 IS-IS

R1 Se0 *HDLC* Up 23 L1L2 IS-IS

show clns interface - 각 Interface에 관계되는 IS-IS Routing 정보를 보여준다.

R2#show clns interface serial 0

Serial0 is up, line protocol is up

Checksums enabled, MTU 1500, Encapsulation HDLC

ERPDUs enabled, min. interval 10 msec.

CLNS fast switching enabled

CLNS SSE switching disabled

DEC compatibility mode OFF for this interface

Next ESH/ISH in 38 seconds

Routing Protocol: IS-IS

Circuit Type: level-1-2

Interface number 0x0, local circuit ID 0x100

Level-1 Metric: 10, Priority: 64, Circuit ID: R2.00

Number of active level-1 adjacencies: 1

Level-2 Metric: 10, Priority: 64, Circuit ID: R2.00

Number of active level-2 adjacencies: 1

Next IS-IS Hello in 2 seconds

show isis topology - 모든 area에 있는 연결된 모든 Router를 보여준다.

R2#show isis topology

IS-IS paths to level-1 routers

System Id Metric Next-Hop Interface SNPA

R1 10 R1 Se0 *HDLC*

R2 --

IS-IS paths to level-2 routers

System Id Metric Next-Hop Interface SNPA

R1 10 R1 Se0 *HDLC*

R2 --

R3 10 R3 Se1 *HDLC*

R4 20 R3 Se1 *HDLC*

show isis database - IS-IS Link-state database를 보여준다.

R2#show isis database

IS-IS Level-1 Link State Database:

LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL

R1.00-00 0x00000010 0x5E26 1153 1/0/0

R2.00-00 * 0x0000000F 0xD38C 1117 1/0/0

IS-IS Level-2 Link State Database:

LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL

R1.00-00 0x00000010 0xB2B7 1040 0/0/0

R2.00-00 * 0x0000000F 0x07F4 1088 0/0/0

R3.00-00 0x00000008 0x8EFB 449 0/0/0

R4.00-00 0x00000008 0xD603 1159 0/0/0

Page 99: IP Routing-01

- 99 -

4.4 Optimizing IS-IS

IS-IS Router Level 변경

R1 R2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24Area 49.0012

L0:192.168.2.2/24

R4 R3E0:192.168.34.4/24

E0:192.168.34.3/24

L0:192.168.4.4/24Area 49.0034

L0:192.168.3.3/24

S0:192.168.23.3/24

S1:192.168.23.2/24

L1-Only L1/L2

L1/L2L1-Only

Commandis-type {level-1 | level-1-2 | level-2-only}

IS-IS Level을 Router 전체적으로 적용하고자 할 경우에 사용한다.

예제R1과 R4에 L1-Only를 적용하여라.

IS-IS를 사용하는 Router는 default로 L1/L2 로 동작한다. 그래서 Router는 L1과 L2 hello를 보

내고, L1과 L2 Link-state database를 유지 및 관리한다. 따라서 Router는 사용하는 Level에 대

해서만 관리가 된다면 memory와 bandwidth를 최소한으로 사용할 것이다.

이 command는 Router 전체에 특정 IS-IS Level을 지정할 수 있다.

R1

router isis

net 49.0012.1921.6800.1001.00

is-type level-1 Router전체적으로 L1을 적용한다.

R1#show isis database IS-IS Level-1의 database만 보인다.

Level-2는 더 이상 사용하지 않는다.

IS-IS Level-1 Link State Database:

LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL

R1.00-00 * 0x00000015 0x4A3F 1170 0/0/0

R2.00-00 0x00000014 0xC991 1168 1/0/0

R1#

R4

router isis

net 49.0034.1921.6800.4004.00

is-type level-1

Page 100: IP Routing-01

- 100 -

IS-IS Interface Level 변경

R1 R2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24Area 49.0012

L0:192.168.2.2/24

R4 R3E0:192.168.34.4/24

E0:192.168.34.3/24

L0:192.168.4.4/24Area 49.0034

L0:192.168.3.3/24

S0:192.168.23.3/24

S1:192.168.23.2/24

L1-Only L1/L2

L1-OnlyL1-Only

Commandisis circuit-type {level-1 | level-1-2 | level-2-only}

IS-IS Level을 Interface에 국한되게 적용하고자 하는 경우에 사용된다.

예제R2의 S0에 L1-Only를, S1에 L2-Only를 설정하고 확인하라.

L2-Only

4.4 Optimizing IS-IS

비록 Router가 L1/L2 Router로 동작하더라도, 모든 Interface가 두 Type의 adjacency를 맺을 필

요는 없다. 만일 특정 Interface가 L1 Router에 연결이 되었다면 그 Interface에는 L2의 Hello를

보낼 필요가 없다. 따라서 특정 Interface에 특정 IS-IS Level을 정하여 불필요한 Level의 hello

를 보내지 않게 하기 위한 설정이다.

R2

interface Serial0

ip address 192.168.12.2 255.255.255.0

ip router isis

isis circuit-type level-1

!

interface Serial1

ip address 192.168.23.2 255.255.255.0

ip router isis

isis circuit-type level-2-only

R2#show clns interface

Serial0 is up, line protocol is up

. . . 중 략 . . .

Circuit Type: level-1

Interface number 0x0, local circuit ID 0x100

Level-1 Metric: 10, Priority: 64, Circuit ID: R2.00

. . . 중 략 . . .

Serial1 is up, line protocol is up

. . . 중 략 . . .

Circuit Type: level-2

Interface number 0x1, local circuit ID 0x101

Level-2 Metric: 10, Priority: 64, Circuit ID: R2.01

. . . 중 략 . . .

Page 101: IP Routing-01

- 101 -

IS-IS Metric 변경

R1 R2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24Area 49.0012

L0:192.168.2.2/24

Commandisis metric default-metric {level-1 | level-2}

Interface에 대한 Metric을 설정할 때 사용한다. Default는 10이다.

Metric은 1 ~ 63 범위에서 설정 가능하다.

cf) KORNET은 현재 metric-style wide로 운용중이다.

예제

R2의 Serial0의 Metric을 40으로 변경하여라.

4.4 Optimizing IS-IS

다른 IP protocol과는 다르게 IS-IS는 Link에 대한 Metric을 정할때 Link의 Speed나 Bandwidth

의 계산을 하지 않는다. 모든 Interface는 모두 10으로 정해 있다. 따라서 여러 Type과 Speed를

가진 Link로 된 Network에서는 부적절한 Routing의 결과를 초래할 수도 있다. Metric은 같은

Interface에 L1과 L2 별도로 다른 값을 적용할 수 있다.

R2

interface Serial1

ip address 192.168.23.2 255.255.255.0

ip router isis

isis circuit-type level-2-only

isis metric 40

R2#show clns interface serial 0

Serial0 is up, line protocol is up

. . . 중 략 . . .

Routing Protocol: IS-IS

Circuit Type: level-1

Interface number 0x0, local circuit ID 0x100

Level-1 Metric: 40, Priority: 64, Circuit ID: R2.00

Number of active level-1 adjacencies: 1

Next IS-IS Hello in 5 seconds

Page 102: IP Routing-01

- 102 -

4.5 IS-IS Default Route Configuration

Default-Information: 0.0.0.0/0

R1 L1/L2 R2 L2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24

Area 49.0012

L0:192.168.2.2/24

R3 L2

Area 49.0034

L0:192.168.3.3/24

S0:192.168.23.3/24

S1:192.168.23.2/24

Level 1 Area는 Stub이다.

Level 1-only Router는 Level 1-2 Router에게 Defaut-Route를 받는다.

Level 2 Router는 자동으로 Default route를 가지지는 않는다.

IS-IS Backbone으로 Default route를 advertise하기 위해 사용된다.

예제

R1에 default route가 있다. 이 defaut route를 R2와 R3에게 전달하라.

Command

default-information originate [route-map map-name]

Level 1 area는 Stub이고 Level 1-only Router는 속해있는 Area에서 가장 가까운 Level 1-2

Router에게서 defaut route를 자동으로 받는다. 그러나 IS-IS backbone은 IS-IS domain내에서

모든 Route에 대해서 알고 있다고 생각되어지기 때문에 자동으로 default route를 가지지는 않는

다. IS-IS backbone으로 default route를 advertise하기 위해 OSPF와 마찬가지로 ‘default-

information originate’ command를 사용한다.

R1

router isis

default-information originate L2 Router에게 default route정보를 전해준다.

net 49.0012.1921.6800.1001.00

!

ip route 0.0.0.0 0.0.0.0 200.1.0.2

R2

R2#show ip route isis

i L2 192.168.34.0/24 [115/50] via 192.168.23.3, Serial1

i*L2 0.0.0.0/0 [115/40] via 192.168.12.1, Serial0 R1에게서 default route를 받는다.

R3

R3#show ip route isis

i L2 192.168.12.0/24 [115/50] via 192.168.23.2, Serial0

i*L2 0.0.0.0/0 [115/50] via 192.168.23.2, Serial0 R1의 default route를 R2에게 받는다.

Page 103: IP Routing-01

- 103 -

4.6 IS-IS Redistribution

Route Redistribution

다른 Protocol에 의한 External route를 IS-IS domain으로 주입시키는 것.

RFC 1195는 Level 2 Routing 환경에서만 재분배가 가능함.

Cisco IOS는 Level 1에서도 재분배를 가능하게 함.

Static Network: 200.200.0.0/24200.200.1.0/24

R1 L1/L2 R2 L1/L2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24

Area 49.0012

L0:192.168.2.2/24

R3 L2

Area 49.0034

L0:192.168.3.3/24

S0:192.168.23.3/24

S1:192.168.23.2/24

예제

R1에 Static Route가 있다. 이 Static route를 Level 2로 R2와 R3에게 전달하라.

Command

redistribute protocol {level-1 | level-1-2 | level-2} [metric-type type-value]

External route를 IS-IS domain으로 주입시키는 것을 redistribute(재분배)라고 한다. RFC 1195

는 단지 Level 2 Routing환경에서만 재분배를 허용하였다. 그러나 Cisco IOS는 Level 1으로도

재분배가 되도록 하였다. IS-IS에서도 다른 Routing Protocol과 마찬가지로 ‘redistribute’command를 사용한다. 그러나 IS-IS에서는 ‘redistribute source ip options’형태로 사용된다.

재분배가 IP routing에 관계되는 것이라는 것을 명시하는 것을 의미하기 때문에 ‘ip’ keyword가

필요하다는 것이 다른 Protocol과 다른 점이라 할 수 있다.

Default 설정으로 metric-type internal이 External Route에 대해 적용되고, 어떤 Level도 명시하

지 않는다면 단지 Level 2 환경으로 External 정보가 주입된다.

R1

router isis

redistribute static ip Static Route를 IS-IS로 재분배한다. default로 Level-2로

net 49.0012.1921.6800.1001.00 재분배한다.

!

ip route 200.1.0.0 255.255.255.0 Null0

ip route 200.1.1.0 255.255.255.0 Null0

뒷면 계속

Page 104: IP Routing-01

- 104 -

R2#show isis database level-2 detail R1.00-00

IS-IS Level-2 LSP R1.00-00

LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL

R1.00-00 0x0000000F 0xBF9B 1058 0/0/0

Area Address: 49.0012

NLPID: 0xCC

Hostname: R1

IP Address: 192.168.12.1

Metric: 10 IS R2.00

Metric: 10 IP 192.168.12.0 255.255.255.0

Metric: 0 IP-External 200.1.0.0 255.255.255.0 External의 정보가 Level 2의

Metric: 0 IP-External 200.1.1.0 255.255.255.0 database에 존재한다.

R2#show ip route isis

i L2 200.1.0.0/24 [115/40] via 192.168.12.1, Serial0

i L2 200.1.1.0/24 [115/40] via 192.168.12.1, Serial0

i L2 192.168.34.0/24 [115/50] via 192.168.23.3, Serial1

Page 105: IP Routing-01

- 105 -

4.7 IS-IS Summarization

여러 개의 IP Prefix를 하나의 Prefix로 줄여 advertise함.

Static Network: 200.1.0.0/24200.1.1.0/24

R1 L1/L2 R2 L1/L2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24

Area 49.0012

L0:192.168.2.2/24

R3 L2

Area 49.0034

L0:192.168.3.3/24

S0:192.168.23.3/24

S1:192.168.23.2/24

예제

R1에 Static Route ‘200.1.0.0/24’와 ‘200.1.1.0/24’를 재분해 하였다.

이 Static route를 ‘200.1.0.0/23’으로 Summary하여 R2에게 advertise하게 하라.

Command

summary-address address mask {level-1 | level-1-2 | level-2}

Summary Route : 200.1.0.0/23

IS-IS Router는 Level 1, Level 2와 Level 1-2로 IP Route를 Summary할 수 있다. default 설정

으로 summary route는 Level 2로 보내어 진다.

R1

router isis

summary-address 200.1.0.0 255.255.254.0 200.1.0.0/24, 200.1.1.0/24를

redistribute static ip 200.1.0.0/23으로 summary한다.

net 49.0012.1921.6800.1001.00

!

ip route 200.1.0.0 255.255.255.0 Null0

ip route 200.1.1.0 255.255.255.0 Null0

R2#show isis database level-2 detail R1.00-00

IS-IS Level-2 LSP R1.00-00

. . . 중 략 . . .

Metric: 10 IP 192.168.12.0 255.255.255.0

Metric: 0 IP-External 200.1.0.0 255.255.254.0 Summary route정보만 가진다.

R2#show ip route isis

i L2 192.168.34.0/24 [115/50] via 192.168.23.3, Serial1

i L2 200.1.0.0/23 [115/40] via 192.168.12.1, Serial0

Page 106: IP Routing-01

- 106 -

4.8 IS-IS Route Leaking

R1 R2S0:192.168.12.1/24

S0:192.168.12.2/24

L0:192.168.1.1/24Area 49.0012

L0:192.168.2.2/24

R4 R3E0:192.168.34.4/24

E0:192.168.34.3/24

L0:192.168.4.4/24Area 49.0034

L0:192.168.3.3/24

S0:192.168.23.3/24

S1:192.168.23.2/24

L1-Only L1/L2

L1-OnlyL1-Only L2-Only

Level 1 Area는 기본적으로 Stub이다.

Level 1 Area에게 Inter-area정보를 주는 것을 말한다.

예제Area 49.0034는 L1으로 Stub이다. 따라서 R4는 R1의 Routing정보를Defaul route로 받고 있다. 이 Inter-area Route를 받도록 설정하여라.

Commandredistribute isis ip {level-1 | level-2} into {level-1 | level-2} [distribute-list access-list-number]

Route Leaking의 목적은 Level 1 Router가 Inter-area Routing을 적절히 결정하기 위해 IS-IS

Level 1 area로 Inter-area Route를 전달하는 것이다.

R4

R4#show ip route isis

i L1 192.168.23.0/24 [115/20] via 192.168.34.3, Serial0

i*L1 0.0.0.0/0 [115/10] via 192.168.34.3, Serial0 Inter-area의 정보를 받지 않는다.

R3

router isis

redistribute isis ip level-2 into level-1 distribute-list 100 Level 2의 route를 Level 1

net 49.0034.1921.6800.3003.00 으로 주입시킨다.

!

access-list 100 permit ip 200.1.0.0 0.0.254.255 any

R4

R4#show ip route isis

i L1 192.168.23.0/24 [115/20] via 192.168.34.3, Serial0

i*L1 0.0.0.0/0 [115/10] via 192.168.34.3, Serial0

i ia 200.1.0.0/23 [115/188] via 192.168.34.3, Serial0 Inter-area정보가 유입되었다.

Page 107: IP Routing-01

- 107 -

4.9 IS-IS 종합실습

R1

R4 R3

R2S0

130.1.12.0/24

192.168.23.0/24

192.168.34.0/24

200.1.1.0/24

172.16.4.0/24

Static : 200.4.1.0/24200.4.2.0/24200.4.3.0/24

S0

S1

S0

S1S0

E0

E0

.1 .2

.2

.3

.3.4.4

Loopback IPR1 L0 : 192.168.1.1/24R2 L0 : 192.168.2.2/24R3 L0 : 192.168.3.3/24R4 L0 : 192.168.4.4/24

Area 49.0012

Area 49.0003Area 49.0004

Default Route

172.16.5.0/24

E1

1. 각 Router에 IS-IS를 Enable을 하라. 단, NET설정시 Loopback IP를 이용하라.

2. R1을 Level 1으로만 동작하게 하라.

3. R2의 Serial0는 Level-1으로 동작하게 하라.

4. R4의 Static Route중 ‘200.4.2.0/24’만 IS-IS로 재분배하여라.

5. R4의 E0 ‘172.16.4.0/24’와 E1 ‘172.16.5.0/24’를 하나의 Route로 보이게 하여라.

6. R1은 Level 1으로 운용되고 있기 때문에 타 Area의 정보를 받지 않고 Default 정보를 받는다.

이 Defaut정보 대신 Interarea정보를 받게 하여라.

hint) Route Leaking