'OSPF'에 해당되는 글 1건

  1. 2006.08.07 OSPF의 이해
engineering/Network Eng.2006. 8. 7. 01:10

OSPF (Open Shortest Path First) 는 IETF 에서 개발된 IP Routing Protocol 로 어떤 라우터에서 제공되는 표준 Protocol 이다. 표준제정 작업은1988 년에 시작하여 1991 년에 완료되었다.

/특징



IP Routing Protocol

Interior Gateway Protoco

Distance Vector Routing Protocol

Equal Cost Multi Path Routing Protoco

AS Number 필요여부

불필요

Metric

Bandwidth

Routing Information 의 갱신 주기

변화가 생기면 즉시 전달

Neighbor 설정 관계

Hierachy

Advertising 하는

IP Network Address 형태

Classless (VLSM) 및 Aggregation 된 형태

Advertising 할 IP Network  Address 선언방법

Area 내의 일반 라우터는 직접 연결된 Network  Address 를 선언하고 , Border 라우터는 Area 내의

모든 Network Address 를 선언

OSPF는 다음과 같은 특징을 갖는다.

- 네트웍을 Area 로 구분하여 이것을 계층구조로 구성함으로써 많은 Routing Information의   교환으로 인한 라우터의 성능 저하를 예방하고 대역을 절약할 수 있다.
-Link의 변화가 감지되면 그 Link에 대한 정보만을 즉시 모든 라우터에게 전달하므로   Convergence 가 매우 빨리 이루어지고 해당 Link에 대한 정보만 전달되므로 전체 Routing   Information을 전달될때 대역이 많이 소모되는 문제점을 피할 수 있다.
- VLSM을 지원하므로 IP Address를 효과적으로 할당하여 활용할 수 있다.

또한 Aggregation된 형태로 Routing Information을 전달할 수 있어 라우터의 메모리 절약

및 성능 향상, 그리고 대역을 절약할 수 있다.
-Metric으로 Bandwidth를 이용하므로 IGRP와 마찬가지로 Hop Count에 의한 제한을

받지 않는다.
-Equal Cost Multi Path Routing 을 지원하여 복수개의 Link를 효율적으로 활용할 수 있다.
-Routing Information 전달시 IP Multicast 방법을 이용한다.
-Routing Information 교환시 Authentication 을 지원한다.



가. Area

OSPF에서는 네트웍을 Area라는 단위로 여러개로 나누어 Routing Information을 교환하도록 한다. RIP이나 IGRP를 운영하는 라우터처럼 Area내에 있는 라우터들은 서로 간에 Routing Information을 교환한다. 그러나 Area 1과 Area2 가 있을때 Area 1에 있는 라우터와 Area 2에 있는 라우터간에는 Routing Information을 직접 교환하지 않는다. 이처럼 Routing Information의 교환이 1개의 Area 내에서만 이루어지므로 많은 Routing Information 교환으로 인한 부하를 줄일 수 있다.

OSPF에서 Area들은 위와 같이 Area 0에 모두 접속되어 있는 형태로 구성된다. 개념적으로 다음과 같이 Area 2과 Area 1을  매개체로 Area 0에 연결되는 것은 허용되지 않는다

만약 위 그림과 같이 어쩔 수 없이 Area2가 직접 Area 0에 연결되지 못하는 상황이 발생할 경우에는 논리적으로 Area 2를 Area0로 연결해 주어야 하는데 이러한 Link를 Virtual Link라고 한다. 그리고 Area1을 Area2의 Virtual Link에 대한 Transit Area라고 한다

Area 0는 각 Area로부터 Routing Information을 전달받아 다시 각 Area로 전달하는 역할을 중심 Area로서 Backbone Area라고도 불리며 나머지 Area는 Leaf Area라고도 불린다.

나. 라우터 형태
OSPF에서는 정의하는 라우터의 형태는 다음과 같은 것들이 있다.



라우터의 형태

역   할

Internal Router

Area 내에서만 Routing Information 을 주고 받는 라우터

AreaBorder Router  (ABR)

Leaf Area 와 Backbone Area 를 연결하며

두 Area 간에 Routing Inforamtion 을 전달하는 라우터

AS Boundary Router (ASBR)

다른AS Number 를 네트웍과 접속되어

Routing Information 을 교환하는 라우터

Designated Router (DR)

Backup Designated Router (BDR)



DR은 BDR은 다음과 같이 Broadcast가 지원되는 LAN에서 이용되는 라우터의 형태이다. 만약 다음과 같이 LAN에 여러개의 라우터가 접속되어 있다고 가정하자

만약 RIP이나 IGRP와 같은 Routing Protocol을 운영한다면 모든 라우터는 다음과 같이 서로간에 Routing Information을 교환할 것이다.

이러한 현상은 LAN의 대역을 소모하는 결과를 낳을 것이다. 따라서 어느 특정 라우터를 매개체로 하여 Routing Information을 교환한다면 상대적으로 Routing Information 교환에 따른 부하를 줄일 수 있을 것이다. 이때 특정 라우터를 DR (Designated Router)라고 한다.

그리고 DR에 장애가 발생하는 경우를 대비해 Backup DR이 이용되며 나머지 라우터들은 DR, BDR과 Routing Information을 교환한다.

이러한 DR과 BDR은 운영자가 직접 정해줄수도 있는데 운영자가 정해주지 않을 경우는 라우터간에 Hello message를 주고 받아 DR과 BDR을 자동으로 선정한다

다. Route Summarization
OSPF에서는 VLSM 개념을 지원하며, 이때문에 IP Address를 효과적으로 활용할 수 있는 장점이 있다. 그리고 Part III 10. VLSM과 Aggregation 에서 이야기 하였듯이 여러개의 IP Network Address에 대한 Routing Information을 전달할때 Class 형태로 각각 여러개를 전달하는 것이 아니라 Aggregation된 형태로 전달할 수 있다. OSPF에서는 Aggregation 을 Summarization이라는 표현을 많이 이용한다.



이러한 Route Summarization은 ABR과 ASBR에서 이용된다.



만약 Area 1에 Class B IP Network Address 16개  130.16.0.0 ~ 130.32.0.0가 속해 있다면 Area 1의 ABR은 Area 0로 Routing Information을 넘길때 16개에 대한 경로를 각각 전달하는 것이 아니라 이것을 다음과 같이 Summarization하여 전달한다.

마찬가지로 Area 0 에 있는 Routing Information 이 Area 1 으로 전달될때에서 Summarization 된 형태로 전달된다.



ASBR 에서는 외부 네트웍에 대한 정보를 Summarization 된 형태로 전달한다.

이러한 Router Summarization은 자동으로 이루어지는 것은 아니고 운영자가 Summarization된 형태로 정보가 전달될 수 있도록 라우터를 설정해 주어야 한다.



Summarization된 형태로 Routing Information을 전달하면 라우터의 메모리 절약 및 성능 향상, 그리고 대역을 절약할 수 있다는 점을 이미 언급하였었다.

라. Link State와 LSA

OSPF를 운영하고 있는 라우터는 자신에게 접속된 네트웍에 대한 정보를 다른 라우터에게 전달하는데 이 정보를 Link State라고 한다.



그리고 라우터는 이렇게 모은 Link State Database를 가지고 네트웍에 대한 Tree를 형성하고 Shortest Path First 알고리즘을 이용하여 목적지까지 가장 적은 Cost로 갈 수 있는 경로를 Routing Table에 등록을 한다.

Link State를 전달하는 것을 Link State Advertisement라고 하는데 Link State Routing Protocol의 특징중 하나는 Link State에 변화가 있을 경우 이것을 모든 라우터에게 즉시 전달하는 것이라고 하였다. OSPF는 이러한 특징을 따르는데 이러한 Link State를 전달하는 Message를 LSA라고 하며, 라우터가 LSA를 전달받으면 해당 정보가 자신의 Database에 없을 경우 이것을 자신의 Database에 등록하고 즉시 그 LSA를 다른 라우터들에게 전달한다. 이러한 LSA는 OSPF에 참여하는 모든 라우터에게 전달되는데 이러한 것을 Flooding이라고 하며, Link State Routing Protocol의 특징에서 이야기 한적이 있다.



마. Stub Area

그림에서 라우터C는 외부에 있는 네트웍에 대한 정보를 재분배하여 내부에서 발생한 정보와 함께 Summarization된 형태로 각 Area의 ABR에게 전달할 것이다. 그런데 위 그림과 같이 다른 AS로 갈 수 있는 경로가 1개 뿐일때 외부 네트웍에 대한 모든 경로정보를 갖고 있다는 것은 불필요한 것일수 있다. Default Route는 이런때 필요한 것이다.



OSPF에서 정의된 Stub Area는 ABR이 다른 AS에 있는 외부네트웍에 대한 경로정보를 Internal Router에게 전달하지 않는 Leaf Area를 말한다. ABR은 오직 동일 AS에 있는 정보만을 Internal Router에게 전달할 뿐이다. 이것은 결과적으로 Internal Router의 메모리를 절약해 주는 장점이 있다.



AS내에 있는 네트웍 정보만 1000개인데, 외부에 대한 경로정보가 10000개일 경우 Stub Area라는 것을 설정하면 10000개의 항목 유지에 필요한 메모리를 줄일 수 있다. 대신 ABR은 Default Route 0.0.0.0에 대한 정보를 Internal Router에게 전달하는 것이 바람직하다.

Stub Area에 있는 라우터들은 외부 네트웍에 대한 정보를 받지 않을뿐이지 AS내에 있는 내부 네트웍에 대한 정보는 전달받는데, Internal Router들은 이러한 내부 네트웍에 대한 정보를 전달 받지 않아도 된다. Internal Router들은 다른 Area로 접근할 수 있는 ABR에 대한 정보만 알면 되기 때문이다.



이처럼 외부 네트웍은 물론 내부 다른 Area에 있는 네트웍에 대한 정보마저 전달받지 않는 Area를 Totally Stub Area라고 한다.

Stub Area와 관련해서 주의해야 할점은 해당 Area가 다른 Area에 대한 Virtual Link를 제공하는 Area이면 안된다는 점이다.



그리고 Area 0도 Stub Area로 설정되어서는 안된다는 점이다.

바. Metric
OSPF에서는 Metric으로서 link의 delay, throughput, reliability를 이용한다.



delay를 놓고 생각해 보자. 1.5Mbps 회선이 위성회선, 2개의 6Mbps 회선은 500Km구간 육상케이블이라고 할 경우 위성회선의 delay는 적어도 500msec, 케이블은 기껏해야 50msec 정도 밖에 되지 않는다. RIP에서는 이러한 delay를 고려하지 않고 1.5Mbps 회선만을 고집한다. 그러나 OSPF에서는 6Mbps 회선을 이용하기도 할 것이다.



t  hroughput을 놓고도 생각해 보자. 2개의 6Mbps 회선에 부하가 많지 않다면 1.5Mbps 회선을 이용하는 것보다 6Mbps 회선을 이용하는 것이 짧은 시간에 많은 데이타를 전송할 수 있다. RIP에서는 이러한 throughput을 판단하지 못하고 1.5Mbps 회선만을 고집한다. 그러나 OSPF에서는 6Mbps 회선을 이용하기도 할 것이다.



OSPF의 특징중 하나는 delay, throughput, reliability 의 조합으로 각 Routing Table을 구성하여 서비스 특징에 맞는 경로를 선택할 수 있다는 것이다. 일례로, 급하게 빨리 데이타를 보내야 할 경우는 delay가 가장 낮은 경로를 선택해 줄 수 있다. 이러한 것을 Type Of Service (TOS)라고 하는데 이 기능을 이용하고 싶으면, TOS 기능이 enable 되어 있어야만 한다. 대신 많은 Routing Table을 관리하여야 하므로 메모리(RAM)가 많이 필요할 것이다.



CISCO라우터의 OSPF에서는 TOS가 기본적으로 활성화되어 있는 것은 아니며, TOS가 활성화되어 있지 않을때 Cost를 계산할 때 필요한 Metric으로서 Link의 대역만을 이용한다. Cost를 계산하는 방법은 다음과 같다.

Cost  =  SUM (100,000,000  / 대역)

                 (* 대역의 단위는 bps)

다음과 같이 라우터가 연결되어 있다면 라우터A에서 Network 130.140.0.0에 대한 Cost는 각 Link의 Cost를 모두 합한 값 64+48 이다.

RIP이나 IGRP에서와 같이 OSPF에서도 Routing Information을 재분배하는 경우가 있는데 주의하여야 할 것은 재분배할때 default-metric으로 대역을 선언하는 것이 아니라 계산된 Cost를 선언해 주어야 한다는 점이다.

Cost = Metric = SUM (100,000,000 / 대역)
사. 외부 네트웍에 대한 2개 형태의 Metric

OSPF를 운영하는 라우터는 다른 Routing Protocol에 있는 정보 혹은 Static Route를 OSPF로 재분배할 경우 이 네트웍을 외부네트웍으로 간주하는데 그때 Metric 형태를 지정해 주어야 한다. Metric 형태에는 두 가지가 있는데 첫번째 형태는 E2, 두번째 형태는 E1으로 운영자가 E1 방식으로 지정하지 않는한CISCO 라우터는 E2 형태로 전달한다. RIP이나 IGRP에서는 내부 네트웍에 대한 정보이든 외부 네트웍에 대한 정보이든 Metric은 한가지 형태인 것과 차이가 난다.



그렇다면 E2 Metric과 E1 Metric의 어떤 차이가 있을까? 위 그림에서 외부 네트웍 130.100.0.0이 있을 경우 라우터 C가 130.100.0.0에 대한 정보를 전달할때 E2 형태로 Metric을 전달하면 라우터 A가 갖는 130.100.0.0에 대한 Cost는 50이다. 반면 라우터 C가 E1 형태로 Metric을 전달하면 라우터A가 갖는 130.100.0.0에 대한 Cost는 10+10+50 즉 70이 된다. 즉 E2 Metric은 Area내의 Cost를 무시하고 외부의 Cost만 반영되며, E1 Metric은 외부 Cost는 물론 내부 Cost도 반영된다.

E2 Metric    -----     외부 Cost만

E1 Metric    -----     외부 Cost + 내부 Cost
외부 네트웍에 대한 정보를 재분배할때 내부 Cost가 고려가 되어야 한다면 운영자는 E1 형태의 Metric으로 전달할 수 있도록 하는 것이 바람직하다. 그러나 전체 Cost중에 외부 경로에 대한 Cost가 대부분을 차지할 경우는 E2 형태의 Metric으로 전달하는 것이 바람직하다. 그리고 동일한 목적지에 대해서 E1 Metric을 가진 경로와 E2 Metric을 가진 경로가 있을 수 있는데 OSPF에서는 E1 Metric 이 우선시된다. 그리고 E2 Metric이 동일한 두 경로가 있으면 내부 Cost가 작은 경로가 우선시 된다.



CISCO 라우터에서 OSPF로 재분배된 네트웍에 대한 Cost는 운영자가 지정하지 않으면 BGP4에서로부터 전달되어 온 정보를 제외하고는 20이다. BGP4에서 재분배된 네트웍에 대한 Cost는 1이다.

/OSPF 의 설정

가. OSPF 활성화 및 네트웍 선언
OSPF를 활성화하는 일반적인 방법은 다음과 같다.
Router(config)#  router ospf process-id

Router(config-router)#
network ip-network-address wildcard-mask area area-id

process-id는 OSPF에 대한 번호이다. 일반적으로 같은 AS내에 OSPF 라우터들은 같은 번호를 부여하는데 달라도 상관은 없다. 다만 동일 라우터내에서 여러개의 OSPF를 운영하고자 한다면 다른 번호만을 이용하면 된다.



ip-network-address는 직접 연결된 Interface에 할당된 IP Network Address이다. 그러나 OSPF는 RIP과 IGRP와 달리 VLSM을 지원하므로 Subnet Address를 선언해도 된다. Subnet Address는 wildcard-mask를 활용하면 된다. Subnet Mask를 이용그리고 area-id는 해당 Interface가 어느 Area에 속하는지 명시하는 것이다.

위 그림과 라우터의 Interface에 IP Network Address가 할당되어 있다면 라우터에서 다음과 같이 OSPF를 설정하여야 할 것이다.

Router# sh run

....

!

router ospf 100

network 200.100.1.0 0.0.0.255 area 0

network 200.100.2.3%8 0.0.0.7 area 1

network 200.100.2.64 0.0.0.3 area 2


network 200.100.2.68 0.0.0.3 area 2

process-id 인 100은 임의의 숫자로 AS Number가 아니라는 것을 명심하자. 그리고 /29 에 대한 wildcard-mask가 왜 0.0.0.7인지 생각해 보면 알 수 있을 것이다.



그리고 동일한 Area내의 Interface에 할당된 IP Network Address는 Aggregation된 형태로 표현될 수 있다. 따라서 위의 환경설정은 다음과 같이 나타낼 수 있다.

Router# sh run

.....

!

router ospf 100

network 200.100.1.0 0.0.0.255 area 0

network 200.100.2.3%8 0.0.0.7 area 1

network 200.100.2.64 0.0.0.7 area 2

64는 8의 배수이고 64에서부터 71까지 8개가 연속되어 있으므로 축약이 가능하다.

200.100.2.64/30

200.100.2.68/30

200.100.2.64/29

나. Virtual Link

Area 2는 Area 0에 접속되어 있지 않으므로 Area 0와 Virtual Link를 생성하여야 한다. Virtual Link를 생성하는 방법은 다음과 같다.



Router(config)# area area-id virtual-link router-id



area-id는 Virtual Link를 필요로 하는 Leaf Area와 Area 0 사이에 놓인 Area 번호이고, router-id는 상대측 Router ID로 해당 라우터에서 show ip ospf database라고 입력하면 알 수 있다. 일반적으로 Router ID는 라우터의 Interface에 할당된 IP Address중에서 가장 큰 값의 IP Address로 정해진다.

Router-B# sh ip ospf database

OSPF Router with ID (130.140.1.1) (Process ID 100)

.........



Router-C#
sh ip ospf database

OSPF Router with ID (130.150.1.1) (Process ID 100)

.........

위 그림에서 Virtual Link를 생성하여야 하는데 방법은 다음과 같다.

Router-B# sh run

.........

!

router ospf 100

network .....

area 1 virtual-link 130.150.1.1



Router-C#
sh run

........

!

router ospf 100

network .....

area 1 virtual-link 130.140.1.1





다. Route Summarization
Summarization 하는 방법은 ABR에서 하는 것과 ASBR에서 하는 것이 약간 다르다. ABR에서는 다음과 같은 형태로 Summarization 한다.

Router(config-router)# area area-id range ip-network-address net-mask
area-id는 해당 ip-network-address가 소속된 Area 번호이다. net-mask는 wildcard-mask가 아니라 Subnet Mask 혹은 Supernet Mask이다.



ASBR에서는 다음과 같은 형태로 Summarization 한다.

Router(config-router)# summary-address ip-network-address net-mask
다음과 같은 상황이 있다고 하자. 라우터A와 B는 ABR이고 C는 ASBR이라고 가정하자. 각 Area에는 다음과 같은 IP Network Address가 있다고 하자. 라우터A와 B는 ABR이고 라우터C는 ASBR이다.







Area 0 :  

130.100.1.0/24

130.100.2.0/24

130.100.3.0/24

130.100.4.0/24

130.100.5.0/24

130.100.6.0/24

130.100.7.0/24

Area 1:  

130.100.3%8.0/24

130.100.3%9.0/24

130.100.130.0/24

130.100.131.0/24

130.100.132.0/24

Area 2:  

130.100.192.0/24

130.100.193.0/24

130.100.193.0/24

other network :  

130.3%8.0.0/16

130.3%9.0.0/16

130.130.0.0/16

..........

130.254.0.0/16

130.255.0.0/16



이와 같은 경우 각 라우터는 다음과 같이 설정을 하여야 할 것이다.



Router-A# sh run

!

router ospf 100

network .......

area 2 range 130.100.192.0 255.255.254.0

area 2 range 130.100.193.0 255.255.255.0

area 0 range 130.100.1.0 255.255.255.0

area 0 range 130.100.2.0 255.255.254.0

area 0 range 130.100.4.0 255.255.252.0



Router-B# sh run

!

router ospf 100

network .......

area 1 range 130.100.3%8.0 255.255.252.0

area 1 range 130.100.132.0 255.255.255.0

area 0 range 130.100.1.0 255.255.255.0

area 0 range 130.100.2.0 255.255.254.0

area 0 range 130.100.4.0 255.255.252.0



Router-C# sh run

!

router ospf 100

network .......

summary-address 130.3%8.0.0 255.3%8.0.0

위와 같이 설정하면 라우터A는 Area 0로 2개의 항목만을 전달하고, Area 2로는 3개의 항목만을 전달할 것이다. 라우터B도 라우터A와 비슷하다. 그리고 라우터C는 3%8개의 Class B에 대한 정보를 3%8개 각각 전달하는 것이 아니라 1개로 전달할 수 있다. 이와 같이 Summarization을 보다 효과적으로 하려면 Area 별로 연속된 IP Network Address를 할당하는 것이 바람직하다.



주의하여야 할 것은 ASBR의 OSPF설정에서 외부 네트웍에 대한 정보를 재분배 과정을 통해 OSPF에게 전달해야 한다는 것이다. 재분배 과정이 없으면 외부 정보는 내부로 전달되지 않을 것이다.



또한 외부 네트웍과 연결되는 경로가 1개면 외부 네트웍에 대한 정보를 재분배 과정을 통해 내부로 전달할 필요가 없다는 것이다. Default Route 0.0.0.0/0 만을 전달하면 된다.

라. Stub Area
Stub Area를 설정하는 것은 간단한다. Stub Area의 ABR과 Stub Area내의 모든 Internal Router에서 Stub Area를 선언해 주면 된다. Stub Area를 선언하는 방법은 다음과 같다.



ABR에서

Router(config-router)# area area-id stub

Router(config-router)#
area area-id default-cost cost

Internal Router에서

Router(config-router)# area area-id stub

area-id는 Stub Area의 번호이다. 그리고 ABR은 Default Route 0.0.0.0에 대한 정보를 전달할때 Cost를 함께 전달하는데 이때 default-cost 를 명시하지 않으면 cost는 1이다. 이때 내부 네트웍 경로에 대한 Cost는 default-cost의 영향을 받지 않는다.



Totally Stub Area도 Stub Area를 선언하는 방법과 거의 동일하다.



ABR에서

Router(config-router)# area area-id stub no-summary

Router(config-router)# b area-id
default-cost cost



Internal Router에서

Router(config-router)# area area-id stub

no-summary는 ABR이 갖고 있는 OSPF 영역내의Summarization된 정보를 전달하지 않겠다는 의미이다. 결과적으로 Default Route 0.0.0.0 이외의 어떤 정보도 전달하지 않겠다는 의미이다.



다음의 상황에서 Area 2를 Stub Area와 Totally Stub Area로 각각 설정해 보자. Area 0에는 IP Network Address 130.100.0.0/16, Area 2에는 130.110.0.0/16이 있다고 가정하자.







Router-B# sh run

!

router ospf 100

network 130.100.0.0 0.0.255.255 area 0

network 130.110.0.0 0.0.255.255 area 2

area 2 stub

area 2 stub default-cost 200



Router-A# sh run

!

router ospf 100

network 130.110.0.0 0.0.255.255 area 2

area 2 stub

만약 Area 2를 Totally Sub Area로 설정하고 한다면 라우터B에서 no-summary를 선언해 주면 된다.

Router-B# sh run

!

router ospf 100

network 130.100.0.0 0.0.255.255 area 0

network 130.110.0.0 0.0.255.255 area 2

area 2 stub no-summary

area 2 stub default-cost 200

마. Routing Information의 재분배
RIP 정보와 IGRP 정보를 서로간에 재분배 할 수 있듯이, OSPF와 RIP, IGRP 간에 정보를 재분배 할 수 있다.

다른 Routing Protocol에 의한 정보를IGRP로 재분배하는 방법은 다음과 같다.

Router(config)# router igrp as-number

Router(config-router)#
redistribute
protocol [process-id | as-number]

Router(config-router)# default-metric bandwidth delay reliability load mtu
다른 Routing Protocol에 의한 정보를RIP으로 재분배하는 방법은 다음과 같다.
Router(config)# router rip

Router(config-router)# redistribute protocol [process-id | as-number]

Router(config-router)# default-metric cost
다른 Routing Protocol에 의한 정보를OSPF로 재분배하는 방법도 RIP이나 IGRP로 재분배하는 방법과 거의 동일한데 다음과 같다. 차이점은 Metric 형태가 2개가 있고 Subnetwork에 대한 정보도 전달될 수 있도록 하는 방법이 있다는 것이다
Router(config)# router ospf process-id

Router(config-router)#
redistribute
protocol [process-id | as-number] [metric cost]

[
metric-type number] [subnets]
metric cost는 재분배되는 네트웍경로에 대한 cost를 선언하는 것으로 이것을 선언하지 않으면 기본적으로 0이 된다.



metric-type number 는 외부 경로에 대한 Metric를 전달할때 E1 Metric로 전달할 것인지 E2 Metric으로 전달할 것인지를 결정하는 것으로 metric-type 1선언하지 않으면 E2 Metric으로 재분배된다. 즉 metric-type 2가 선언된 것과 같다.



subnets는 Subnet에 대한 정보가 그대로 전달될 수 있도록 하는 것이다. 만약 130.100.0.0의 Subnet 130.100.1.0/24 이 있을때 subnets를 선언하지 않으면 130.100.1.0/24에 대한 정보대신 130.100.0.0/16에 대한 정보가 전달된다. 그러나 subnets를 선언하면 130.100.1.0/24에 대한 정보가 그대로 전달된다.



다음과 같은 상황을 고려해 보자.

이 경우 ASBR인 라우터A에서는 OSPF와 RIP을 동시에 운영하고, RIP 과 OSPF 정보를 상호간에 재분배하여야 한다.

Router-A# sh run

!

router ospf 100

network 130.100.0.0 0.0.255.255 area 0

redistribute rip metric 200

!

router rip

network 130.110.0.0

redistribute ospf 100

default-metric 1

다음과 같은 상황에서는 어떻게 재분배를 시키는 것이 좋을까?

이 경우에는 라우터 A와 B는 다음과 같이 설정될 수 있다.

Router-A# sh run

!

router ospf 100

network 130.100.0.0 0.0.3%7.255 area X

redistribute rip metric 90 metric-type 1 subnets

!

router rip

network 130.100.0.0

redistribute ospf 100

default-metric 5



Router-B# sh run

!

router ospf 100

network 130.100.0.0 0.0.3%7.255 area X

redistribute rip metric 100 metric-type 1 subnets

!

router rip

network 130.100.0.0

redistribute ospf 100

default-metric 5

metric-type 1을 선언한 이유는 OSPF 영역에 있는 라우터에서 130.100.3%8.0/17로 갈 때 라우터A 혹은 라우터B로 통해 갈 수 있는데 내부 Cost가 반영이 되는 것이 바람직하기 때문이다.





Cost by E1 Metric via A to 130.100.3%8.0/17  =  130

Cost by E1 Metric via B to 130.100.3%8.0/17  =  3%0

----> C는 B 를 선택



Cost by E2 Metric via A to 130.100.3%8.0/17  =  90

Cost by E1 Metric via B to 130.100.3%8.0/17  =  100

----> C는 내부 Cost에 관계없이 A 를 선택

즉 Area X에 임의의 라우터C가 있을 경우 A까지 가는데 E1 Metric에 의한 Cost는 130이고 B까지 가는데 E1 Metric에 의한 Cost는 3%0일 경우 Cost가 적은 B를 통해서 가는 것이 타당하다. 만약 E2 Metric으로 재분배 되었다면 라우터C는 라우터C에서 라우터A까지 가는 Cost가 매우 클지라도 E2 Metric이 작은 경로 A을 선택했을 것이다.



그리고 라우터A와 B에서 subnets를 선언하였는데 이것을 선언하지 않으면 Subnetting된 네트웍은 재분배되지 않는다. 따라서 Subnetwork 130.100.3%8.0/17을 재분배하려면 반드시 subnets를 선언해주어야 한다.





/실습 및 OSPF 동작 확인

우선 다음과 같이 각 Interface에 IP Address를 할당하였다고 가정하자. 아직 OSPF는 활성화하지는 않았다.

라우터 A

Ethernet 1 : 130.100.16.1/21

Ethernet 0 : 130.100.24.1/21

라우터 B

Ethernet 0 : 130.100.24.2/21

Serial 0   : 130.100.44.1/23

Serial 1   : 130.100.46.1/23

라우터C

Serial 0 :   130.100.44.2/23

Serial 1   : 130.100.46.2/23

Ethernet 0 : 130.100.3%8.1/20

라우터D

Ethernet 0 : 130.100.3%8.2/20

Ethernet 1 : 130.100.144.1/20

라우터E

Ethernet 1 : 130.100.144.2/20

가. 라우터 A, B
다음에 라우터A와 라우터B에서 OSPF를 다음과 같이 활성화하여 보자.



Router-A#sh run

!

router ospf 100

network 130.100.16.0 0.0.7.255 area 1

network 130.100.24.0 0.0.7.255 area 1

Router-B# sh run

!

router ospf 100

network 130.100.24.0 0.0.7.255 area 1

network 130.100.44.0 0.0.0.254 area 0

network 130.100.46.0 0.0.0.254 area 0

그리고 라우터A와 B에서 Routing Table을 확인해 보자.

Router-A>sh ip ro

........

130.100.0.0/16 is variably subnetted, 4 subnets, 2 masks

O IA

130.100.46.0/23 [110/74] via 130.100.24.2, 00:01:13, Ethernet0

O IA

130.100.44.0/23 [110/205] via 130.100.24.2, 00:01:34, Ethernet0

C

130.100.16.0/21 is directly connected, Ethernet1

C

130.100.24.0/21 is directly connected, Ethernet0

OSPF에 의해 얻은 정보는 맨 앞에 O 로 표시된다. 그리고 O와 함께 IA가 함께 표시되는데 이것은 다른 Area에 있는 정보라는 것을 나타낸다. 그리고 130.100.46.0/23에서 알 수 있듯이 Subnetwork 정보가 그대로 전달된다는 것을 알 수 있다. 또한 110/74에서 알 수 있듯이 OSPF의 Administrative Distance는 110이며, 라우터A 에서 130.100.46.0/23까지의 Cost는 74임을 알 수 있다. Cost 74는 라우터A의 e0와 라우터 B의 e0를 연결하는 Ethernet에 대한 Cost 10와 라우터B의 s1과 라우터C의 s1을 연결하는 1.544Mbps Serial Line의 Cost 64가 더해진 값이다.

라우터A의 입장에서 130.100.44.0/23에 대한 Cost가 205인 이유는 라우터B의 s0와 라우터C의 s0간의 Serial Line의 대역이 53%K로 선언되었기 때문이다.



라우터B의 Routing Table은 다음과 같다. 130.100.16.0/21은 라우터 B의 e0와 같은 Area 2에 있기 때문에 IA는 표시되지 않았음을 알 수 있다.

Router-B#sh ip ro

.................

130.100.0.0 is variably subnetted, 4 subnets, 2 masks

C

130.100.46.0 255.255.254.0 is directly connected, Serial1

C

130.100.44.0 255.255.254.0 is directly connected, Serial0

O

130.100.16.0 255.255.248.0

[110/20] via 130.100.24.1, 00:01:05, Ethernet0

C

130.100.24.0 255.255.248.0 is directly connected, Ethernet0

Router-B#

나. 라우터 C, D, E
라우터C, D, E를 다음과 같이 설정하자.



Router-C# sh run

!

router ospf 100

network 130.100.44.0 0.0.0.254 area 0

network 130.100.46.0 0.0.0.254 area 0

network 130.100.3%8.0 0.0.15.255 area 2

Router-D# sh run

!

router ospf 100

network 130.100.3%8.0 0.0.15.255 area 2

network 130.100.144.0 0.0.15.255 area 2



Router-E# sh run

!

router ospf 100

network 130.100.144.0 0.0.15.255 area 2

그리고 각 라우터의 Routing Table을 살펴보자



라우터C는 Area 0와 Area 2를 연결하는 ABR로서 Area 1에 있는 네트웍에 대한 정보와 Area 2에 있는 네트웍에 대한 정보를 갖고 있다.

Router-C#sh ip ro ospf

O

130.100.144.0 255.255.240.0

[110/20] via 130.100.3%8.2, 00:02:49, Ethernet0

O IA

130.100.16.0 255.255.248.0

[110/84] via 130.100.46.1, 00:02:49, Serial1

O IA

130.100.24.0 255.255.248.0

[110/74] via 130.100.46.1, 00:02:49, Serial1

라우터D와 Area 2에 있는 라우터로서 Area 0와 Area 1에 있는 네트웍에 대한 정보를 갖고 있다.

Router-D#sh ip ro ospf

O IA

130.100.46.0 255.255.254.0

[110/74] via 130.100.3%8.1, 00:01:15, Ethernet0

O IA

130.100.44.0 255.255.254.0

[110/205] via 130.100.3%8.1, 00:01:15, Ethernet0

O IA

130.100.16.0 255.255.248.0

[110/94] via 130.100.3%8.1, 00:01:15, Ethernet0

O IA

130.100.24.0 255.255.248.0

[110/84] via 130.100.3%8.1, 00:01:15, Ethernet0

라우터E와 Area 2에 있는 라우터로서 Area 0와 Area 1, Area2에 있는 네트웍에 대한 정보를 갖고 있다.

Router-E#sh ip ro ospf

O

130.100.3%8.0/20 [110/20] via 130.100.144.1, 00:00:01, Ethernet1

O IA

130.100.46.0/23 [110/84] via 130.100.144.1, 00:00:01, Ethernet1

O IA

130.100.44.0/23 [110/215] via 130.100.144.1, 00:00:01, Ethernet1

O IA

130.100.16.0/21 [110/104] via 130.100.144.1, 00:00:01, Ethernet1

O IA

130.100.24.0/21 [110/94] via 130.100.144.1, 00:00:01, Ethernet1

다. Route Summarization

각 Area에 있는 각 네트웍들은 다음과 같이 Summarization이 가능하다.

Area 1

Area 0

Area 2

130.100.16.0/21

130.100.24.0/21

130.100.44.0/23

130.100.46.0/23

130.100.3%8.0/20

130.100.144.0/20

130.100.16.0/20

130.100.44.0/22

130.100.3%8.0/19

따라서 ABR인 라우터B와 라우터C에서는 다음과 같이 환경을 설정하면 될 것이다.

Router-E#sh ip ro ospf

O

130.100.3%8.0/20 [110/20] via 130.100.144.1, 00:00:01, Ethernet1

O IA

130.100.46.0/23 [110/84] via 130.100.144.1, 00:00:01, Ethernet1

O IA

130.100.44.0/23 [110/215] via 130.100.144.1, 00:00:01, Ethernet1

O IA

130.100.16.0/21 [110/104] via 130.100.144.1, 00:00:01, Ethernet1

O IA

130.100.24.0/21 [110/94] via 130.100.144.1, 00:00:01, Ethernet1



Router-B# sh run

!

router ospf 100

network 130.100.24.0 0.0.7.255 area 1

network 130.100.44.0 0.0.0.254 area 0

network 130.100.46.0 0.0.0.254 area 0

area 0 range 130.100.44.0 255.255.252.0

area 1 range 130.100.16.0 255.255.240.0



Router-C# sh run

!

router ospf 100



network 130.100.44.0 0.0.0.255 area 0

network 130.100.46.0 0.0.0.255 area 0

network 130.100.3%8.0 0.0.15.255 area 2

area 2 range 130.100.3%8.0 255.255.224.0

area 0 range 130.100.44.0 255.255.252.0

설정 결과 라우터A와 라우터B는 다음과 같이 Summrization된 항목을 전달받는다.

Router-A>sh ip ro ospf

O IA

130.100.3%8.0/19 [110/84] via 130.100.24.2, 00:3%:25, Ethernet0

O IA

130.100.44.0/22 [110/74] via 130.100.24.2, 00:00:30, Ethernet0

Router-E>sh ip ro ospf

O

130.100.3%8.0/20 [110/20] via 130.100.144.1, 00:17:01, Ethernet1

O IA

130.100.44.0/22 [110/84] via 130.100.144.1, 00:04:04, Ethernet1

O IA

130.100.16.0/20 [110/94] via 130.100.144.1, 00:09:06, Ethernet1

라. OSPF 의 동작을 확인하는 주요 명령어
OSPF의 동작을 확인하는 주요 명령어에는 다음과 같은 것들이 있다.
sh ip protocols

sh ip ospf

sh ip ospf interface

sh ip ospf database
다음은 라우터C에서 위 4개의 명령어를 입력한 결과이다.



Router-C>sh ip protocols

Routing Protocol is "
ospf 100
"

Sending updates every 0 seconds

Invalid after 0 seconds, hold down 0, flushed after 0

Outgoing update filter list for all interfaces is not set

Incoming update filter list for all interfaces is not set

Redistributing: ospf 100

Routing for Networks:

130.100.44.0 0.0.0.255

130.100.46.0 0.0.0.255

130.100.3%8.0 0.0.15.255

Routing Information Sources:

Gateway

Distance

Last Update

130.100.3%8.0

110

0:08:46

130.100.144.0

110

0:08:51

130.100.144.1

110

0:08:42

130.100.46.0

110

0:08:42

130.100.46.1

110

0:08:42

130.100.44.0

110

0:08:42

Distance: (default is 110)

ospf 100 이라는 것에서 process-id 가 100이라는 것을 알 수 있다. Sending updates every 0 seconds 에서 OSPF는 Routing Information을 정기적으로 갱신하는 것이 아니라 변화가 생겼을 경우 즉시 갱신한다는 사실을 간접적으로 알 수 있다. default is 110에서 OSPF의 Administrative Distance는 110 임을 알 수 있다.

Router-C>sh ip ospf

Routing Process "ospf 100" with ID 130.100.3%8.1

Supports only single TOS(TOS0) routes

It is an area border router

Summary Link update interval is 0:30:00 and the update due in 0:06:10

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

Number of areas in this router is 2

   Area 2

      Number of interfaces in this area is 1

      Area has no authentication

        SPF algorithm executed 9 times

      Area ranges are

            130.100.3%8.0 255.255.224.0 Active(10)

       Link State Update Interval is 0:30:00 and due in 0:06:10

       Link State Age Interval is 0:20:00 and due in 0:16:10

   Area BACKBONE(0)

       Number of interfaces in this area is 2

       Area has no authentication

       SPF algorithm executed 6 times

       Area ranges are

            130.100.44.0 255.255.252.0 Active(64)

       Link State Update Interval is 0:30:00 and due in 0:05:15

       Link State Age Interval is 0:20:00 and due in 0:15:15

sh ip ospf는 라우터에서 운영되고 있는 OSPF의 일반적인 상황을 알려주는 명령어이다. Router ID, Area 정보등을 알 수 있다. ID 130.100.3%8.1은 Router ID가 130.100.3%8.1이라는 사실을 알려준다. Interface s0 및 s1에 130.100.44.2 및 130.100.46.2가 있지만 130.100.3%8.1이 가장 크므로 그것이 Router ID로 이용되었다. area border router는 이 라우터가 ABR이라는 사실을 알려준다. SPF algorithm executed 9 times에서 Area2에 대한 Routing Table을 생성하기 위한 SPF algorithm이 9번 수행되었다는 사실을 알 수 있다. 그리고 130.100.3%8.0 255.255.224.0로부터 Area 2에 130.100.3%8.0/19가 할당되었다는 사실도 알 수 있다.

Router-C>sh ip ospf interface

Ethernet0 is up, line protocol is up

Internet Address 130.100.3%8.1 255.255.240.0, Area 2

Process ID 100, Router ID 130.100.3%8.1, Network Type BROADCAST,

Cost: 10


Transmit Delay is 1 sec, State DR, Priority 1

Designated Router (ID) 130.100.3%8.1, Interface address 130.100.3%8.1

Backup Designated router (ID) 130.100.144.1, Interface address 130.100.3%8.2

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

Hello due in 0:00:05

Neighbor Count is 1, Adjacent neighbor count is 1

Adjacent with neighbor 130.100.144.1  (Backup Designated Router)

Serial0 is up, line protocol is up

Internet Address 130.100.44.2 255.255.255.0, Area 0

Process ID 100, Router ID 130.100.3%8.1, Network Type POINT_TO_POINT,

Cost: 195


Transmit Delay is 1 sec, State POINT_TO_POINT,

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

Hello due in 0:00:02

Neighbor Count is 1, Adjacent neighbor count is 1

Adjacent with neighbor 130.100.46.1

Serial1 is up, line protocol is up

Internet Address 130.100.46.2 255.255.255.0, Area 0

Process ID 100, Router ID 130.100.3%8.1, Network Type POINT_TO_POINT,Cost: 64

Transmit Delay is 1 sec, State POINT_TO_POINT,

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

Hello due in 0:00:01

Neighbor Count is 1, Adjacent neighbor count is 1

Adjacent with neighbor 130.100.46.1

sh ip ospf interface는 각 Interface와 관계되 내용을 보여주는 것으로 각 Interface가 어떤 Area에 속하는지, Cost가 얼마인지 등을 알 수 있다. 그리고 Interface Ethernet의 경우에는 DR인지 BDR인지를 알려준다.

Router-C>sh ip ospf database

OSPF Router with ID (130.100.3%8.1) (Process ID 100)
/Router Link States (Area 2)

Link ID

ADV Router

Age

Seq#

ChecksumLink coun

130.100.3%8.1

130.100.3%8.1

1400

0x80000003 0x6F36

1

130.100.144.1

130.100.144.1

3%59

0x80000004 0x3842

2

130.100.144.2

130.100.144.2

3%60

0x80000002 0xACB7

1

/Net Link States (Area 2)

Link ID

ADV Router

Age

Seq#

Checksum Link coun

130.100.3%8.1

130.100.3%8.1

1400

0x80000001 0x7B0

130.100.144.1

130.100.144.1

3%59

0x80000001 0x8402

/Summary Net Link States (Area 2)

Link ID

ADV Router

Age

Seq#

Checksum Link coun

130.100.16.0

130.100.3%8.1

768

0x80000002 0xBB06

130.100.44.0

130.100.3%8.1

466

0x80000002 0x5E45

/Router Link States (Area 0)
 

Link ID

ADV Router

Age

Seq#

ChecksumLink coun

130.100.46.1

130.100.46.1

1546

0x80000005 0xF2D7

4

130.100.3%8.1

130.100.3%8.1

1503

0x80000004 0xDDEB

4

/Summary Net Link States (Area 0)
 

Link ID

ADV Router

Age

Seq#

ChecksumLink coun

130.100.16.0

130.100.46.1

771

0x80000002 0x79DA

130.100.3%8.0

130.100.3%8.1

408

0x80000004 0x108F

sh ip ospf database는 각 영역별로 Router Link State, Network Link State, Summary Link State 등에 대한 정보를 알려준다. Router Link State는 해당 영역에 있는 라우터에 대한 정보를 알려주고, Network Link State는 해당 영역에 있는 Network Address에 대한 정보를 알려준다. 그리고 Summary Link State는 다른 영역으로 오는 Summarization된 Network Address 정보를 알려준다.


출처 - http://noc.kreonet.net/index.php

Posted by theYoungman