OSPF

sujin·2024년 7월 20일
0

인터네트워킹

목록 보기
1/1
post-thumbnail

Intro.

기억속에서 사라졌던 인터네트워킹 관련 기억을 끄집어 내기 위해 총정리를 해야겠다고 생각했다.

인터네트워킹

인터네트워킹이란 네트워크와 네트워크 사이의 연결을 의미한다. 두개 이상의 네트워크를 연결하기 위해 필요한 기술을 의미한다.

1. ospf 개념

⇒ 가장 최적의 루트를 찾기 위한 네트워킹 프로토콜

Open Shortest Path First

소스에서 목적지까지 패킷에 대한 사용 가능한 가장 빠른 경로를 찾기 위해서 설계됨.

1.1 introduntion to ospf(open shortest path first)

<ospf 소개>

RIP : Routing Information Protocol (거리벡터 프로토콜)

홉(네트워크 경로 상의 라우터)의 수를 통해 거리벡터 계산.

⇒ 문제점 : 홉의 수에 의존성이 문제가 됨. 다양한 속도의 다중경로가 있는 대규모 네트워크에서 확장되지 않는다.

ospf : Open Shortest Path First( 링크 상태 라우팅 [map]프로토콜)

⇒ 링크 : 라우터의 인터페이스

링크 상태: 각 라우터는 자신의 직접 연결된 링크의 상태를 인접 라우터들에게 전송합니다. 이를 통해 전체 네트워크의 링크 상태 데이터베이스를 유지한다.

링크는 두개의 라우터를 연결하는 네트워크 세그먼트이거나 단일 라우터에 연결된 이더넷 LAN과 같은 것을 연결하는 network segment.

1-2. OSPF 동작

ospf component

  1. hello packet
  2. Database description
    • <데이터 베이스 설명 패킷 : shortest path mapping 정보를 담은 테이블을 담은 패킷>
      1. Adjancy database [Neighbor table]: 라우터가 각자가 통신하고 있는 모든 인접한 라우터 목록을 적은 database로 이웃테이블을 의미한다.

        ⇒ show ip ospf Neighbor

      2. Link-state database(LSDB)[Topology table] : topology database

        1. topology : 어떠한 설계나 방법론적인 특성 그 자체를 의미한다. (링크 혹은 노드 등을 물리적으로 연결해 놓은 것 혹은 연결방식)
        2. 영역 내의 모든 라우터는 당연히 동일한 토폴로지를 가지고 있으니, 동일한 LSDB를 가짐.
        3. 네트워크의 다른 모든 라우터에 대한 정보를 나타냄.

        ⇒ show ip ospf database

        ⇒shortest path를 설정.

      3. Forwarding Database[Routing table]

        1. shortest path를 기반으로 routing Table을 생성. 인접LSDB에서 알고리즘이 실행될때 생성되는 경로 목록
        2. 각 라우터의 라우팅 테이블을 고유하며 다른 라우터에 패킷을 보내는 방법과 위치에 대한 정보를 포함.

        ⇒ show ip route

        ⇒ 알고리즘 : Dijkstra (다익스트라)알고리즘을 사용 ⇒ short path first algorithm( SPF ) [이전 LSDB를 구성하며 Topology table 을 생성할때 사용되었던 것]

  3. Link-state request packet
  4. Link-state update packet
  5. Link-state acknowledgement(확인) packet

Link-state 목록 5가지

  1. 인접 항목 설정[1. Establish Neighbor Adjacencies]
    • 인접 항목 설정 : 정보를 공유하기 전에 네트워크에서 hello-packet을 보내서 인접한 노드가 있는지 확인한다. 만약 이웃이 존재한다면 neighbor adjacency를 구성한다.
      1. hello packet
      2. establish neighbor adjanency
  2. 링크 상태 광고 교환[2. Exchange Link-State Advertisements]
    • 인접항목이 생성됐다면 라우터들은 해당 정보를 공유하는데 이것을 LSA(퍼즐조각 : link-state advertisement) 공유한다고 한다. ⇒ LSA에는 이웃(직접연결된 라우터)의 상태와 비용이 포함. ⇒ LSA를 수신하는 인접 이웃은 해당 영역의 모든 라우터가 모든 LSA를 가질때까지 (모든 퍼즐조각을 각 라우터들이 가질때까지) flooding(흘러보내기)을 진행한다.
  3. 링크 상태 데이터베이스 구축[3. Build the Link State Database]
    • R1은 토폴로지 테이블을 생성합니다. 토폴로지 테이블 : LSDB를 생성하는 과정은 LSA를 모두 받은 뒤에 table로 각 라우터마다 만드는데, 이때, 모든 링크에 대한 정보들을 포함한다.
  4. SPF 알고리즘 실행[4. Execute the SPF Algorithm]
    • R1은 SPF tree를 generate 생성된 LSDB를 가지고 각 라우터마다 shortest path algorithm을 적용시키고 spf tree를 생성한다.
  5. 최적의 경로 선택 [5. Choose the Best Route]
    • R1의 SPF tree → Routing Table 목적지와 최단 경로, 비용이 각 라우터마다 table로 만들어진다.

ospf에서 cost ⇒ 목적지에 대한 최적의 경로를 결정하는데 사용.

1-4. Network 연결

Sing-Area and Multiarea OSPF

  • 단일영역
    • All routers are in one area. Best practice is to use area 0.
    • <identical (동일한) thing : LSDB>
  • 다중영역
    • All areas must connect to the backbone area (area 0). 모든 영역은 “무조건" backbone area (area 0 )에 연결이 되어서 서로간에 연결이 되어야한다. 이때 area 0으로 연결되는 라우터를 각 영역에서 ABR(Area Border Router)라고 하고 ABRs들이 있게된다.

⇒ multi area에서 area 0 에 직접 연결되는 라우터⇒ ABR(area border router)

1-5. multiarea ospf

다중 영역 ospf를 사용하면 계층적으로 라우팅을 진행할 수 있음.

여전히, 라우팅은 해당되는 영역 안에 있는 라우터끼리만 연결되지만(영역간 라우팅)

데이터베이스 재계산과 같은 프로세서 집약적인 라우팅 작업의 경우 특정 영역내에서 재계산 되는 것의 이점을 볼 수 있다.

⇒ 토폴로지가 만약에 다른 영역에서 변경될 경우, 그 영역에서 SPF 알고리즘을 사용해서 SPF tree를 만들고 routing table을 만드는 작업을 하고 다른 영역에서는 SPF 를 사용하지 않고 바로 routing table만 update 할 수 있게 됨.

⇒ 라우터를 영역으로 배열하면 잠재적으로 큰 데이터베이스를 더 작고 관리하기 쉬운 데이터베이스로 효과적으로 분할할 수 있습니다.(CPU의 부하를 줄이며 데이터베이스를 분할하여 효과적으로 관리)

<효과>

  1. 더 작은 라우팅 테이블 관리 → cpu의 부하를 줄임[**Smaller routing tables]**
  2. 링크 상태 업데이트 오버헤드 감소 → 링크 상태 업데이트시 필요한 메모리나 처리 요구사항이 감소[**Reduced link-state update overhead]**
  3. SPF 계산 빈도 감소 → LSA 플러딩이 영역 경계에서 중지되며 영역 내부에서만 실행됨[**educed frequency of SPF calculations]**

ospfv3

⇒ OSPFv3은 라우팅 정보를 교환하여 IPv6 라우팅 테이블을 원격 접두사로 채웁니다.

⇒ 여기서 접두사란 ? 네트워크 주소를 의미. 접두사 길이는 subnetmask.

OSPFv3은 IPv6 접두사 교환에 해당하는 OSPFv2입니다. IPv6에서 네트워크 주소는 접두사라고 하고 서브넷 마스크는 접두사 길이라고 합니다.

2. OSPF Packet 동작과정

OSPF의 종류(types) 5가지 종류존재

  1. hello packet

    ⇒ 다른 ospf 라우터와의 인접성을 설정하고 유지하는데 사용.

  2. DBD packet(Database Description packet)

    ⇒ LSDB(link-state database)의 축약된 목록이 포함되며 LSDB를 확인하기 위해서 받는 라우터에서사용. 정확한 SPF(short path frist)트리를 구성하려면 영역 내의 모든 링크상태 라우터에서 LSDB가 동일해야함.

  3. LSR(link-state request) 패킷

    ⇒ 수신 라우터는 LSR를 전송해서 DBD항목에 대한 추가 정보를 요청

  4. LSU(link-state update) packet

    ⇒LSR(link-state request)에 응답하고 새 정보(update)를 알리는데 사용. LSU에는 여러 유형의 LSA가 포함되어있음.

    U : 그릇이라고 보면 되고 A : advertisement(광고 : 근접한 정보들을 담고 있는 퍼즐조각)

    LSU에 LSA를 담아서 update가 진행됨.

  5. LSAck(Link-state Acknowledgement packet)

    ⇒ LSU가 수신되면 라우터는 잘 받았다고 LSAck를 전송해서 LSU 수신을 확인할 수 있다.

    2-1. 퀴즈

  6. 송신 라우터의 LSDB의 List가 축약정보를 포함하고 있는 ospf 패킷은 무엇?

    Which of the following OSPF packets contains an abbreviated list of the LSDB of the sending router?

    ⇒ 답 : DBD(DateBase Description packet). type2

  7. new information을 알리기 위해서 사용되는 패킷은?

    Which of the following OSPF packets is used by routers to announce new information?

    ⇒ 답 ) LSU(link-state update) : lsa를 하나이상 포함. type4.

  8. 추가 정보를 요청하기 위해서 사용되는 패킷은?

    Which of the following OSPF packets is used by routers to request more information?

    ⇒ 답 ) LSR(Link-state request packet)

  9. 다른 라우터들과의 이웃관계를 설립하거나 유지하기 위해서 사용되는 패킷은?

    Which of the following OSPF packets is responsible for establishing and maintaining adjacency with other OSPF routers?

    ⇒ 답) hello packet

  10. Lsa에 대한 받음을 확인하기 위해서 사용되는 것은?

    Which of the following OSPF packets is used to confirm receipt of an LSA?

    ⇒ 답) LSAck(link-state acknowledge packet)

  11. 원조 router를 구별하기 위해서 hello packet과 함께 사용되는 것은?

    Which of the following is used with the Hello Packet to uniquely identify the originating router?

0개의 댓글