Routing Protocol 5

 ## OSPF(Open Shortest Path First) ##


 - OSPF는 Link-State 계열의 Routing Protocol이다.
   다익스트라(SPF) 알고리즘을 사용한다.

 - OSPF의 경우 IP Protocol 번호 89번을 사용한다.
 - Multicast 방식으로 정보를 교환한다.
    -> 224.0.0.5(All-OSPF-Router) / 224.0.0.6(DR, BDR 수신)

 - AD는 110 / Metric은 Cost 사용.
   Cost는 벤더(장비 제조사)마다 다르게 구현이 가능하다.
   Cisco Device의 경우 [10^8/Bandwidth(bps)] 공식을 사용.
    => 각 link(interface) 마다 Cost 값이 계산되어 있고, 해당 Cost값을 더한 것이 Metric이 된다.

--------------------------------------------------------------------------------------------------------------------------

** OSPF Packet **


 1. Hello


  => 인접 OSPF Device와 Hello 메시지를 교환하여 네이버 관계를 형성하고 유지(keepalive)한
       다.

  => OSPF의 경우 다음 조건이 일치해야만 Neighbor 관계를 형성한다.
      => Area ID / Authentication(인증) / Subnet mask / Stub Flag /
         Hello와 Dead interval ... (p21 *정보)

  => OSPF의 경우 다음과 같이 neighbor를 구분한다.
      -> 일반 Neighbor => 위의 조건이 일치하는 경우 일반 Neighbor 관계를 형성한다. Hello 메시
          지는 주기적으로 교환하지만 실제 LSA 정보는 교환하지 않는다. (Two-way 상태)

      -> adjacent Neighbor => 일반 Neighbor 관계에서 아래 조건이 일치할 경우 'adjacent neighbor'
          관계를 형성한다. Hello 메시지 뿐 아니라 LSA 정보도 교환한다. (Full 상태)
 
  1) Point-to-Point 네트워크(PPP/HDLC)로 연결된 Router.
  2) DR과 DROTHER Router
  3) BDR과 DROTHER Router
  4) Virtual-link로 연결된 Router
  이 조건 중 하나라도 일치하면 adjacent Neighbor


 2. DBD(Database Description)


  => Link-State에서 data의 요약정보

 3. LSR(Link-State Request)


  => 세부정보를 요청

 4. LSU(Link-State Update)


  => 세부정보를 Update

 5. LSAck


  => 확인 Ack신호
--------------------------------------------------------------------------------------------------------------------------

 ** OSPF Network Type **


 - Network-Type은 topology(구성도)의 연결 형태가 아니라 L2 Protocol에 의해서 결정된다.
 - OSPF의 경우 Network-Type에 따라 동작방식과 설정방식의 차이가 존재한다.

[1. Point-to-Point]


 => PPP / HDLC
 => Hello : 10초 / Dead : 40초
 => DR/BDR을 선출하지 않는다.
 => Neighbor 자동 형성

[2. BMA(Broadcast Multi Access)]


 => LAN Switch가 연결된 구간(Ethernet/Token ring/FDDI)
 => Hello : 10초 / Dead : 40초
 => DR/BDR을 선출한다.
 => Neighbor 자동 형성

[3. NBMA(Non-Broadcast Multi Access)]


 => WAN Switch가 연결된 구간(x.25/Frame-relay/ATM)
 => Hello : 30초 / Dead : 120초
 => DR/BDR을 선출한다.
 => Neighbor 수동 설정

[4. Point-to-Multipoint]


 => 관리자가 명령어로 지정.
 => Hello : 30초 / Dead : 120초
 => DR/BDR을 선출하지 않는다.
 => Neighbor 자동 형성
--------------------------------------------------------------------------------------------------------------------------

 ** DR(Designated Router)/BDR(Backup DR) **


 - OSPF의 경우 Switch를 사용하는 Multi Access 환경에서 1:1로 중복된 정보를 교환하지 않고,
   DR과 BDR을 선출하여 중복되는 정보 교환을 최소화한다.

 - DROTHER는 서로 직접 LSA를 교환하지 않고, DR을 통해서 서로의 LSA를 교환하게 된다.
   (일반 Neighbor 관계)

 - DR 선출 조건은 다음과 같다.
   1) OSPF Priority가 가장 높은 Router가 선출
      (Multi access 환경에서 기본값은 1이고 관리자가 0-255 사이에서 변경이 가능.)

   2) 모든 Router의 OSPF Priority 값이 동일할 경우에는 Router-ID의 숫자가 더 높은 Router가
       선출된다.
  
 - [show ip ospf neighbor] 명령어로 상대방 장비의 역할을 확인가능.
   [show ip ospf interface <인터페이스 이름>] 명령어로 자신의 역할 확인이 가능하다.

 - Point-to-Point 네트워크의 경우 DR과 BDR을 선출하지 않는다.
   OSPF Priority 값도 0으로 설정되어 있다.
--------------------------------------------------------------------------------------------------------------------------

** Router-ID **


 - OSPF의 경우 Link-State로 모든 router가 전체 Topology 정보를 저장한다. 이를 위해 모든
   Router는 고유한 식별자인 router-id가 필요하다.

 - Router-ID는 IPv4 주소 형태를 갖는다.
   하지만 형태만 IPv4일 뿐 실제 IP 주소와 아무런 관련이 없다.

 - 인접 OSPF Router와 동일한 Router-ID를 사용하면 안된다.
   만약 Router-ID가 서로 동일한 경우 OSPF Neighbor 관계를 형성할 수 없다.

 - Router-ID를 설정하는 방식은 다음과 같이 2가지 방식이 있다.
  1. 관리자가 [router-id x.x.x.x] 명령어를 사용하여 수동으로 지정하는 방법.
 
  2. 만약 관리자가 수동으로 router-id를 지정하지 않았을 경우에는 다음과 같은 방법으로 자동
      결정된다.
     1) 가상 interface의 IP 주소 중 숫자가 가장 큰 IP로 결정.
     2) 가상 interface가 없는 경우, 물리 interface의 IP 주소 중 숫자가 가장 큰 IP로 결정.

 - OSPF가 동작 중인 장비의 router-ID를 변경하려면 router-id 명령어를 입력하고, 장비를 재부
   팅하거나 OSPF Process를 재시작해야 변경된다.
   [clear ip ospf process] -> [y]
--------------------------------------------------------------------------------------------------------------------------

** OSPF Single Area Configuration **


 - Router의 숫자가 많지 않고, 정책 등의 특별한 목적이 없는 경우에는 sigle area로 구성한다.
  single area로 구성시 area-ID는 관리자가 임의적으로 지정하면 된다.

 - Process-ID의 경우 하나의 router에서 다수의 OSPF를 구동시 이를 식별하기 위한 목적이다.
   즉, 인접 router와 Process-ID가 다르거나 동일한 경우에도 영향을 받지 않는다.
   관리자가 임의적으로 설정한다. (1 - 65,535)

 - verify -
 show run | section router ospf
 show ip protocols
 show ip ospf neighbor
 show ip ospf database <옵션>
 show ip route
  
============================================================================================================

** OSPF Multi Area **


<ALL>
conf t
no router ospf 1
<R2 / R3 (ABR : Area Border Router)>
router ospf 1
 router-id 2.2.2.2
 network 1.1.100.18 0.0.0.0 area 0
 network 1.1.2.2 0.0.0.0 area 0
 network 1.1.100.6 0.0.0.0 area 1

R5(ASBR)에서,
 => 설정 후 Routing Tableㅇ르 확인하면 동일 Routing Protocol 안에서만 정보가 교환된다.
    즉, 기본적으로 서로 다른 Routing Protocol 사이에서는 정보가 교환되지 않는다.

 => 이 경우 관리자가 양쪽 Routing protocol의 정보를 모두 알고 있는 ASBR(R5)에서
      'Redistribution'를 설정하면 정보 교환이 가능하다.


 ** Redistribution **


 - Redistribution 설정시 사용되는 옵션은 Routing Protocol마다 다르다.
   1) 다른 Routing Protocol --> OSPF : subnets
   2) 다른 Routing Protocol --> RIP  : metric (임의의 hop-count)
   3) 다른 Routing Protocol --> EIGRP: metric (임의의 B/W, DLY, 신뢰성, Load, MTU)
<R5>
conf t
router ospf 1
redistribute rip subnets
!
router rip
redistribute ospf 1 metric

============================================================================================================

 ** LSA 와 LSDB **


 - Link-State 라우팅 프로토콜은 OSPF의 경우 모든 Device가 자신의 Link(=interface) 상태를
   LSA라는 정보로 생성 하여 다른 OSPF Deice와 교환한다.

   이를 수신한 Device는 자신의 Link-State Database(LSDB)에 해당 정보를 추가한 후 SPF 알고
   리즘을 사용하여 Loop없는 최단 경로를 구해 Routing Table에 등록한다.

   (즉, 모든 OSPF Device는 전체 Topology(구성도)를 이해한다.)

   하지만 대형망의 경우 너무 많은 수의 Device가 LSA를 교환하게 되면 LSDB의 크기가 너무
   커진다는 문제가 발생 할 수 있다. 또한 망에 변화가 발생시 모든 Device에게 해당 LSA가 전
  송되고, 이를 수신한 Device들은 다시 SPF 계산을 수행해야 하기 때문에 CPU에 부담이 될 수
   있다.
    => 이를 해결하기 위해서 Area라는 개념을 도입하였다.

 - LSA Type은 1-11까지, 실제 IPv4에서 사용되는 Type은 1-7 이다.

 1) LSA Type 1 (router)


  => [show ip ospf database router] 명령어
  => 모든 OSPF Router가 생성하는 정보로 자신과 연결된 Link의 상세 정보를 담고있다.
  => 동일 Area 안에서 전파되고, 다른 Area에는 전파되지 않는다.
  => 동일 Area에 포함된 모든 OSPF Router는 모두 동일한 정보를 갖는다.

 2) LSA Type 2 (network)


  => [show ip ospf database network] 명령어.
  => DR이 생성하는 정보로 DR과 연결된 Router의 list를 의미한다.
  => 동일 Area 안에서 전파되고, 다른 Area에는 전파되지 않는다.
  => 동일 Area의 장비들을 모두 같은 정보를 갖는다.

 3) LSA Type 3 (summary)


  => [show ip ospf database summary] 명령어
  => ABR 이 생성하는 정보로 다른 Area의 간략한 정보이다.
  => LSA Type 1/2의 경우 다른 Area로 전달되지 않는 대신에 ABR이 간략한 정보로 정리하여
       Type 3을 다른 Area에게 전달하다.

 4) LSA Type 4 (ASBR-summary)


  => [show ip ospf database asbr-summary] 명령어
  => ABR이 생성하는 정보로 다른 Area에 위치한 ASBR의 정보이다.

 5) LSA Type 5 (External)


  => [show ip ospf database external] 명령어
  => ASBR이 생성하는 정보로 OSPF에 재분배 된 외부 network 정보를 의미한다.

 6) LSA Type 6 (MOSPF)


  => Cisco Device에서는 사용하지 않는 LSA Type
  => Unicast Routing Protocol이 아니라 Multicast Routing Protocol에서 사용되는 정보이다.

 7) LSA Type 7 (NSSA-External)


  => [show ip ospf database nssa-external] 명령어
  => 특정 Area를 NSSA로 구성했을 때 확인 가능한 정보이다.
--------------------------------------------------------------------------------------------------------------------------

 ** OSPF Summary **


 - RIP/EIGRP와 다르게 OSPF의 경우 Summary는 ABR과 ASBR에서만 가능하다. 즉 다른 Area
  에서 정보가 건너오거나 재분배를 수행하는 경우에 가능하다.

   특정 Area 안에서 Summary를 수행할 수 없는 이유는 동일 Area의 모든 Router는 LSA Type
   1/2를 교환하여 세부적인 정보를 알고 있기 때문이다.

<R2 - ABR>
conf t
router ospf 1
area 1 range 200.100.20.0 255.255.252.0

<R5 - ASBR)
conf t
router ospf 1
 summary-address 200.100.24.0 255.255.252.0
--------------------------------------------------------------------------------------------------------------------------

 ** Default-Route 생성 **


<R1>
ip route 0.0.0.0 0.0.0.0 loopback 0
router ospf 1
default-information originate

 => 위와 같이 명령어를 입력할 경우 반드시 해당 Router의 routing table에 Default-route 정보가
      존재해야 한다.

<R1>
conf t
no ip route 0.0.0.0 0.0.0.0 loopback 0
router ospf 1
 default-information originate always (항상 default 경로가 있든 없든 보내라)
--------------------------------------------------------------------------------------------------------------------------

 ** Stub Area **


<R9>
conf t
int lo 2
 ip add 150.10.1.1 255.255.255.0
 ip add 150.10.2.1 255.255.255.0 sec
 ip add 150.10.3.1 255.255.255.0 sec
 ip add 150.10.4.1 255.255.255.0 sec
!

router rip
 net 150.10.0.0
!

<R5>
conf t
router ospf 1
 no summary-address 200.100.24.0 255.255.252.0
!

 - OSPF의 경우 Stub Area라는 기능을 사용하여 말단 Area의 부하를 줄일 수 있다.

1) Stub Area


 -> Stub ARea의 경계 라우터인 ABR이 Stub Area 내부로 LSA Type 5(O E1/E2), 즉 재분배된 정
     보를 광고하지 않는다.

 -> 대신 Default-route(0.0.0.0/0) 광고해서 외부와 도달성을 유지시켜준다.

<R2/R6/R7>
conf t
router ospf 1
 area 1 stub
!

2) Totally Stub


 -> Stub ARea의 경계 라우터인 ABR이 Stub Area 내부로 LSA Type 5(O E1/E2) 뿐 아니라 LSA
     Type 3(O IA) 정보도 광고하지 않는다.

 -> 대신 Default-route(0.0.0.0/0) 광고해서 외부와 도달성을 유지시켜준다.
 -> 명령어는 Stub 설정과 거의 동일하다. 차이점은 ABR에서 [no-summary] 옵션을 추가한다.

<R2 - ABR>
conf t
router ospf 1
 area 1 stub no-summary
!

<R6/R7>
conf t
router ospf 1
 area 1 stub
!

 - 다음과 같은 경우에는 Stub Area를 사용할 수 없다.

   -> Backbone Area(Area 0)의 경우 Stub 설정 X.
   -> Transit Area의 경우 Stub 설정 X.
   -> ASBR이 위치한, 즉 재분배를 수행하는 Router가 있는 Area의 경우 Stub 설정 X.

3) NSSA(Not-So-Stubby-Area)


   => ASBR이 위치한 area의 경우에도 Stub Area와 같은 효과를 얻을 수 있다.

4) Totally NSSA


   => ASBR이 위치한 area의 경우에도 Totally stub과 같은 효과를 얻을 수 있다.
--------------------------------------------------------------------------------------------------------------------------

 ** Virtual-Link **


<R5/R9>
conf t
no router rip
<R5>
router ospf 1
 net 1.1.100.33 0.0.0.0 area 3
!
<R9>
router ospf 1
 router-id 9.9.9.9
 net 1.1.9.9  0.0.0.0 area 3
 net 1.1.100.34 0.0.0.0 area 3
<R3 - Area 0의 ABR>
conf t
router ospf 1
 area 2 virtual-link 5.5.5.5
<R5 >
conf t
router ospf 1
 area 2 virtual-link 3.3.3.3
--------------------------------------------------------------------------------------------------------------------------

 ** Loopback prefix 문제 **


 - OSPF의 경우 기본적으로 Loopback 정보를 Host Route(/32)로 광고한다. 만약 관리자가 입력
   된 Network 대역으로 광고를 원하는 경우에는 다음과 같이 입력하면 된다.
<ALL>
conf t
int lo 0
 ip ospf network point-to-point
!
do copy run start
--------------------------------------------------------------------------------------------------------------------------

<실습>

 
 
위와 같은 그림으로 네트워크 대역을 나눠서 구현한다.
왼쪽부터 OSPF (AREA1 / 0 / 2) 오른쪽 상단에는 RIPv2 Routing Protocol을 설정한다.


댓글

이 블로그의 인기 게시물

TCP/IP Model(= DoD Model)과 OSI 7 Layer Model 1

Spanning Tree Protocol(STP) 1

Inter Vlan / SVI