본문 바로가기
I T/Network

OSPF(Open Shortest Path First)

by 루솨 2017. 12. 14.

>> OSPF(Open Shortest Path First) 
 
 - IETF 표준 
 
 - VLSM/CIDR 환경에서 동작한다. 
 
 - 정보전달시 Multicast(224.0.0.5)로 전달한다. 
 
 - Network Topology 변화가 생기면 업데이트 정보를 즉시 전송한다. 
   (Triggered update) 
 
 - Manual Summary(Area Summary)만 지원 지원하다. 
 
 - Equal Loadbalancing 지원(기본 4개, 최대경로 6개) 
 
 - Convergence Time 이 빠르다. (5초 ~ 46초) 
 
 - OSPF는 Area라는 정보를 이용하여 Network를 계층화 한다.  
 
 - 다른 Area와 정보교환이 안 되는 것을 보완하기 위해 ABR, ASBR을 이용하여  
   다른 Area와의 통신을 가능하게 한다. 
 
 - ABR, ASBR을 이용하여 Update 트래픽을 줄여주고 메모리나 CPU의 부담도 
   줄일 수 있다. 
 
 - ABR(Area Boundary Router)  
    ==> 다른 Area의 정보를 교환해주는 Router 
 
 - ASBR(AS Boundary Router)  
    ==> 다른 AS(같은 AS내에서 다른 Protocol) 정보를 교환해주는 Protocol 
 
 - LSAs(Link State Advertisements)  
    ==> OSPF Router에게 자신이 사용하고 있는 인터페이스 정보와 Metric 값이 
        들어 있는 LSAs Packet을 전송하여 자신의 인터페이스 상태를 전달하게 
        된다. 
 
 
   ---------------------------------------- 
  |          LSAs        |  Type |   Code  | 
  |----------------------------------------  
  | Intra (동일한 Area)  |   1   |    O    | 
  |---------------------------------------- 
  | Intra (동일한 Area)  |   2   |    O    | 
  |---------------------------------------- 
  | Inter (다른 Area)    |   3   |    IA   | 
  |---------------------------------------- 
  | Inter (다른 Area)    |   4   |    IA   | 
  |---------------------------------------- 
  | External (다른 AS)   |   5   |    E2   | 
   ---------------------------------------- 
 NAT_simul.pktNAT_simul_dap.pdfOSPF_LAB.pdfOSPF_LAB_dap.txt

 
1) 알고리즘 
 
 - Link state 계열 SPF 알고리즘을 사용한다. 
 
 - SPF(Shortest Path First) 
   --> 최적의 경로를 선택하기 위한 프로토콜 
       Neighbor로 부터 LSAs Packet을 받아 LSDB라는 곳에 기록한 후 LSAs 
       교환이 끝나면 SPF 알고리즘을 이용하여 최적의 경로를 선택하여 
       자신의 라우팅 테이블에 인스톨하게 된다. 
 
 
 
2) OSPF Packet Type 
 
 - Packet Type = Hello(T1) , DBD(T2) , LSR(T3) , LSU(t4) , LSA(T5) 
 
 - Hello 
   --> Multicast(224.0.0.5)로 Packet을 전달, Neighbor를 찾고 Area ID를 
       확인한 후 Router ID로 연결 
 
 - DBD(Database Description) 
   --> 요약 정보를 전달, 인접관계를 형성 
 
 - LSR(Link State Request) 
   --> DBD를 전달 받은 후 보다 상세한 정보(LSAs)를 요청하고자 할 때 사용 
 
 - LSU(Link Update) 
   --> LSR Packet을 받거나 변화가 있을 때 상세한 정보(LSAs)를 보낼 때 사용 
 
 - LSA(Link State Ack) 
   --> DBD, LSR, LSU를 받았을 경우 ACK로 응답 
 
 
 
3) Best Path 
 
 - Metric값이 가장 적은 경로를 선정한다. 
 
 - Metric = 10^8(100000000) / Bandwidth(bps) 
    
    <cost> 
   100Mbps     ==> 100000000 / 100000000 = 1 
   10Mbps      ==> 100000000 / 10000000  = 10 
   2.048Mb(E1) ==> 100000000 / 2048000   = 49(48.8) 
   1.544Mb(T1) ==> 100000000 / 1544000   = 64 
   1Mbps       ==> 100000000 / 1000000   = 100 
   Loopback    ==> 1 
 
 
 
4) Network 유지 
 
 - Hello Packet으로 유지  
  
   Update ==> 10초 
 
   Dead Interval Time(Hold Time) ==> 40초

 
5) A/D(Administrative Distance) ==> 110 
 
 
 
6) OSPF 상태 
 
 - Down 
    ==> 시작 전 
    
 - Init (초기) 
    ==> Hello Packet을 보냈으나 받지 못한 상태 또는 받았으나 보내지 못한 상태 
 
 - 2Way (양방향) 
    ==> 받은 Hello Packet에 대한 응답을 한 상태 
 
 - Exstart(초기교환) 
    ==> DBD Packet을 누가 먼저 전달할 것인가 협상을 시작하여 Maste와 
        Slave를 정하고 Master부터 DBD를 전달하고 전달이 끝나면 Ack로 
        응답을 완료한다. 
 
 - Exchange (교환) 
    ==> 서로에게 필요한 상세한 정보를 교환하기 위하여 LSR로 요청하고 
        LSU로 응답한다. 
        LSU에 LSAs라는 상세한 정보를 담아서 전달 후 Ack로 응답을 완료한다. 
 
 - Loading (동기화) 
    ==> Topology를 만들고 SPF알고리즘을 통하여 최적의 경로를 찾은 후 
        Routing table에 인스톨한다. 
 
 - Full  
    ==> 모든 계산이 끝난 완료상태 
 
 
              <Down> 
  A-----------------------------B 
 
              <Init> 
  Hello------------------------> 
 
              <2Way> 
    <---------------------------Hello 
 
             <Exstart> 
  Slave                         Master 
    <---------------------------DBD 
  LSAck------------------------> 
  DBD--------------------------> 
    <---------------------------LSAck 
     
            <Exchange> 
  LSR--------------------------> 
    <---------------------------LSAck 
    <---------------------------LSU(LSAs) 
  LSAck------------------------> 
 
    <---------------------------LSR 
  LSAck------------------------>

  LSU(LSAs)--------------------> 
    <---------------------------LSAck 
            <Loading> 
             <Full> 
 
 
 - Neighbor를 찾고 Neighbor와 LSDB를 동기화 한다. 
  
 - LSDB로 Topology를 생성한후, SPF알고리즘에 의해 최적의 경로를 선택한다. 
  
 - LSDB는 같은 Area 지역 내에 있는 라우터 정보만 유지한다.