검수요청.png검수요청.png

최단경로 우선 프로토콜

위키원
jingayoun (토론 | 기여)님의 2021년 2월 8일 (월) 17:58 판
이동: 둘러보기, 검색

최단경로 우선 프로토콜 또는 OSPF(Open Shortest Path First)는 IP 라우팅 프로토콜의 한 종류로, 링크 상태 라우팅 프로토콜(Link State Routing Protocol)에 기초하여, 자치시스템(AS) 내부의 라우터들끼리 라우팅 정보를 교환하는 라우팅 프로토콜이다.[1]

개요

규모가 크고 복잡한 TCP/IP 네트워크상에서 RIP(routing information protocol)보다 규모가 큰 네트워크에서도 사용할 수 있다. 1980년대 중반에 RIP 라우팅 프로토콜이 대규모의 이질적인 망에서 라우팅하는 데에 비효율적으로 동작했기 때문에, IETF에서는 SPF 알고리즘을 기초로 하는 IP 라우팅 알고리즘을 개발하게 되었다. IP 네트워킹에서 사용하기 위한 계층구조 동적 라우팅 프로토콜로, 하나의 AS(Autonomous System)안에서 동작하는 링크 스테이트 라우팅 프로토콜이자 대규모 엔터 프라이즈 네트워크에서 가장 널리 사용되는 내부 게이트웨이 프로토콜(Interior Gateway Protocol, IGP)이다. 최단 경로를 선택하기 위해 Dijkstra의 SPF(Shortest Path First) 알고리즘을 사용한다.[2]

특징

내부 게이트웨이 프로토콜에 속하기 때문에 동일 자치 시스템 내에 있는 라우터끼리만 라우팅이 가능하다. 빠른 재수렴(Fast Reconvergence) 및 부분 갱신(Partial Update) 기능을 통해 네트워크가 안정되면 라우팅 갱신 정보가 전달되도록 하는데, 이는 링크 상태가 변화할 때만 라우팅 정보를 전송할 수 있음을 의미한다. 목적지까지의 최적 경로 선택을 위한 라우팅 메트릭으로 비용 값을 사용하고, 네트워크를 영역 단위로 나누어 구분했다. 자치시스템의 내부에 영역(Area) 개념을 두어, 2 레벨 계층적 라우팅을 구현하여, 라우터의 중앙 처리 장치 등의 부담을 줄였다. 각 라우터는 특정 영역에 대한 완전한 링크 상태 데이터베이스(Link State Data Base, LSDB)를 구축한다. 라우터 인터페이스에 접속된 OSPF 네트워크 종류에 따라 동작 방식이 달라진다. VLSM(Variavle Length Subnet Mask) 및 CIDR(Classless InterDomain Routing)을 지원한다.[1] 라우팅 정보 전송시 목적지 네트워크, 라우팅 메트릭 값만 알려주는 RIP, EIGRP, BGP 등 거리벡터 라우팅 프로토콜과는 달리, 최단경로 우선 프로토콜에서는 목적지 네트워크, 라우팅 메트릭 값 외에도 라우팅 정보를 만든 라우터 및 해당 라우팅 정보를 전송하는 라우터를 알려준다.

최단경로 우선 프로토콜 라우터

최단경로 우선 프로토콜 라우터는 정보 교환, 동일한 링크 상태 데이터베이스 유지, 최적 라우팅 테이블 구축 등의 역할을 한다. 이웃 라우터에서 링크 상태, 라우터 정보를 수집, 전달하고, 자신의 링크 산태를 광고한다. 소속 최단경로 우선 프로토콜 영역 내의 모든 라우터는 동일한 링크 상태 데이터베이스를 갖게 되고, SPF 알고리즘을 사용하여 최적 경로를 산출하며, 라우팅 테이블을 구축한다. 최단 경로 우선 프로토콜 라우터가 관리하는 라우팅 테이블에는 이웃 테이블, 링크 상태 데이터베이스, 라우팅 테이블이 있다. 이웃 테이블은 모든 인접 라우터들의 리스트를 관리하고, 링크 상태 데이터베이스는 소속 망에 대한 토폴로지를 관리한다. 링크 상태 데이터베이스를 이용하여 라우팅 테이블이 최적 경로 루트의 리스트를 관리한다.[1]

구성

최단경로 우선 프로토콜의 패킷은 IP헤더와 최단경로 우선 프로토콜 공통 헤더, 최단경로 우선 프로토콜 메시지 본문으로 구성되어있다. 모든 최단 경로 우선 프로토콜 메시지들은 24바이트의 공통 헤더를 갖는데, 여기에는 버전, 타입, 패킷 길이, 발신지 IP 주소, 영역 아이디, 체크섬, 인증타입, 인증에 대한 필드가 있어야 한다. 타입 필드에서는 최단경로 우선 프로토콜 메시지 패킷의 5가지 종류 중 어떤 메시지인지를 표시해주어야 한다. 패킷 길이는 최단경로 우선 프로토콜의 헤더를 포함한 전체 길이가 있어야 하고, 발신지 IP 주소는 최단경로 우선 프로토콜 패킷의 발신지 라우터를 식별하는 ID를 가지고 있어야 한다. 한 자치 시스템 내에서 모든 최단경로 우선 프로토콜은 32비트의 유일한 값을 가져야 하고, 라우터 자신의 로컬 루프백 주소를 많이 사용하여 여의치 않을 경우, 살아있는 인터페이스의 IP 주소 중 가장 숫자가 높은 것을 주요 사용한다. 영역 아이디는 최단경로 우선 프로토콜 패킷을 생성, 발송하는 라우터가 속한 최단경로 우선 프로토콜 영역의 식별 아이디를 가지고 있어야 한다. 체크섬은 16비트의 순환중복검사(Cyclic Redundancy Checking) 계산 방법으로, 뒤의 인증 관련 필드들을 제외한 나머지에 대한 체크섬을 계산한다. 인증 타입 필드에는 인증을 받지 않은 경우 0, 간단한 비밀번호 인증의 경우 1, 메시지 압축(Message Digest, MD)5의 경우 2를 가지고 있어야 하고, 인증 필드는 인증 타입 필드에 따라 달라진다.[3]

헬로 패킷

타입 코드 1번으로, 이웃 관계를 맺기 위해 최단경로 우선 프로토콜 라우터가 부팅 시 송출하는 패킷이다. 최단경로 우선 프로토콜로 설정된 라우터는 우선적으로 헬로 패킷을 사용하여 이웃한 라우터들에게 자신을 알리고, 이웃한 라우터를 파악하여 인접관계를 생성, 유지한다. 지속관계를 유지하고, 인접관계 형성하는데 동의하여야하는 매개변수를 교환하기 위해 헬로 패킷을 사용한다. 또한 헬로 패킷을 사용하여 멀티액세스 네트워크에서 DR 및 BDR 선출을 할 수 있다. 헬로 패킷의 목적지 IP 주소는 멀티캐스트와 유니캐스트 두 가지가 있다. 멀티캐스트주소는 모든 최단경로 우선 프로토콜들이 224.0.0.5 형식의 IP 주소를 사용한다. 브로드캐스트 멀티 액세스 네트워크와 점대점 네트워크 등이 멀티 캐스트 주소를 사용한다. 프레임 릴레이나 비동기전달모드와 같은 비브로드캐스트 멀티 액세스 형태의 네트워크에서는 유니캐스트 IP 주소를 사용한다. 가상화 링크의 경우에도 유니캐스트 IP 주소로 직접 전송을 한다. 최단경로 우선 프로토콜의 헬로 메시지 포맷에는 최단 경로 우선 프로토콜 공통 헤더, 서브넷 마스크, 헬로 인터벌, 옵션, 라우터 우선순위, 데드 인터벌, 지정 라우터의 IP 주소, 백업 라우터의 IP 주소, 이웃 라우터 리스트 등이 있다. 최단경로 우선 프로토콜 공통 헤더는 앞에선 본 공통 헤더를 의미한다. 서브넷 마스크는 32비트로, 헬로 메시지를 보내는 해당 인터페이스의 IP 서브넷 마스크고, 헬로 인터벌은 라우터의 각 인터페이스 종별로 다른 값이 할당 가능한 송출 주기와 브로드캐스트 멀티 액세스 네트워크와 점대점 네트워크는 10초, 비브로드캐스트 멀티 액세스 네트워크는 30초인 기본 주기가 있다. 옵션은 총 8비트로 0 6비트와, E 플래그 1비트, T 플래그 1비트로 구성되어있다. E 플래그가 1로 설정되면, 그 영역은 스텁 영역으로, 외부 정보가 필요 없음을 알리는 것이고, T 플래그는 1로 설정되면 라우터가 다중 메트릭을 지원한다. 라우터 우선순위는 8비트로, 1은 기본값이고, 0일 경우 선출되지 않는다. 이 숫자가 높을수록 DR 및 BDR로 선출된다. 데드 인터벌은 라우터가 죽은 것으로 선언하기까지의 시간으로, 헬로 인터벌의 4배가 기본이고, 해당 라우터로부터 헬로 패킷을 받는 즉시 리셋된다. 브로드캐스트 멀티 액세스 네트워크와 점대점 네트워크는 40초마다, 비브로트캐스트 멀티 액세스 네트워크는 120초마다 리셋된다. 지정된 라우터의 IP주소는 총 32비트로, DR이 지정되지 않으면 0으로 셋팅하고, 백업 라우터의 IP 주소는 BDR이 지정되지 않으면 0으로 셋팅한다. 이웃라우터 리스트는 데드 인터벌 안에 헬로 패킷을 송신한 모든 이웃 라우터들의 IP 주소 목록이다. 이 필드들 중, 헬로 인터벌, 데드 인터벌, 영역 아이디, 서브넷 마스크, 인증 암호 등은 이웃 라우터들과 반드시 서로 같은 값을 공유해야 한다.[4]

데이터베이스 기술 패킷

데이터베이스 기술 패킷(Database Description PAcket, DDP)은 최단경로 우선 프로토콜에서 헬로 패킷에 의해 이웃 라우터 간의 인접 관계를 형성한 후 주고받는 그들의 링크 상태와 관련된 요약 정보 패킷이다. 여기에는 자신의 영역에 대한 망 정보 데이터베이스인 링크 상태 데이터베이스의 간략하고 요약된 내용이 포함된다. 자치시스템 또는 영역에 대한 링크 상태 데이터베이스를 다른 최단경로 루선 프로토콜 라우터에게 전달할 때 주로 사용된다. 데이터베이스 기술 패킷에는 IP 헤더, 최단경로 우선 프로토콜 공통 헤더, 인터페이스 MTU, 옵션, 플래그, 링크 상태 데이터베이스 설명 순서 번호, 다수의 LSA 필드가 있다. 인터페이스 MTU 필드는 2바이트로, 단편화하지 않고 최대로 전송할 수 있는 최대 IP 패킷 크기를 가진다. 옵션 필드는 1바이트로 선택사항이다. 플래그는 1바이트로, 데이터베이스 기술 패킷을 언제 보내는지, 누가 보내는지에 따라 다르다. 0~4 비트는 예약을 의미하고, 5비트는 데이터베이스 기술 패킷을 처음(Initial, I), 보내는 것으로 1로 셋팅된다. 6비트는 데이터베이스 기술 패킷이 더(More, M) 있으면 1로 셋팅한다. 7비트일 경우 데이터베이스 기술 패킷을 보내는 라우터가 마스터이면 1, 슬레이브이면 0으로 셋팅한다. 링크 상태 데이터베이스 설명 순서번호 필드는 링크 상태 데이터베이스 메시지별로 정렬할 수 있도록 하는 순서번호를 가진다.[5]

링크 상태 요구 패킷

링크 상태 요구 패킷(Link State Request Packet, LSU)은 최단경로 우선 프로토콜 라우터가 최신의 링크상태 데이터베이스 정보를 유지할 수 있게 하는, 정보 요구 패킷이다. 상대 라우터가 보낸 데이터베이스 기술 패킷을 보고, 자신에게 없는 네트워크(LSA) 정보가 있기 되면, 보다 상세한 네트워크(LSA) 정보를 요청할 때 쓰인다. 이를 통해 최단경로 우선 프로토콜 영역 내 모든 라우터가 링크 상태 데이터베이스를 동일하게 구축하고, 유지할 수 있게 해준다. 링크 상태 요구 패킷에는 최단경로 우선 프로토콜 공통 헤더, 링크 상태 타입, 링크상태 아이디, 광고 라우터, 다수의 LSA 필드가 있다. 링크상태 타입 필드는 원하는 LSA의 유형을 가지고 있고, 링크 상태 아이디 필드는 LSA 식별을 위한 연결된 라우터나 네트워크의 IP 주소를 갖고 있다. 광고 라우터는 갱신 요청된 LSA를 생성하여야 하는 라우터의 ID를 가지고 있다.[6]

링크 상태 갱신 패킷

링크 상태 갱신 패킷(Link State Update Packet)은 최단경로 우선 프로토콜 동작의 핵심적인 요소로, 각 라우터가 자신의 링크 상태 정보(LSA)를 광고할 때 사용하는 패킷이다. 링크 상태 요구 패킷에 응답함으로써 상대방이 요구한 자신의 라우팅 정보를 상세하게 알려줄 때도 사용한다. 링크 상태 요구 패킷을 수신한 라우터는 라우팅 테이블을 다음과 같이 구분하여 재구축한다. 링크 상태 데이터베이스에 없는 링크 상태 정보를 받으면 링크 상태 데이터베이스에 새로 추가 등록한 뒤, DR에게 LSA를 송출한다. 링크 상태 데이터베이스에 이미 있는 링크 정보 중 내용이 같은 경우, 그냥 무시한다. 링크 상태 데이터베이스에 이미 있는 링크 정보지만, 그 내용이 같지 않다면 링크 상태 데이터베이스에 새로 추가 등록한 뒤, DR에게 LSA를 송출한다. 다수의 링크 상태 요청을 하나로 모아 링크 상태 갱신 패킷에 포함시킨다. 링크 상태 갱신 패킷은 최단경로 우선 프로토콜 공통 헤더와 LSA 수, LSA 일반 헤더, 다수의 LSA에 관한 정보를 담은 필드 등이 있다. 링크 상태 갱신패킷은 서로 다른 몇 개의 LSA들을 포함 가능하게 한다. 몇 개의 LSA에 공통되는 일반 LSA 헤더가 있게 되고, LSA 수 필드에는 링크 상태 갱신 패킷에 포함된 LSA의 수가 있어야 한다.[7]

링크 상태 확인응답 패킷

링크 상태 확인응답 패킷(Link State Acknowledgement)은 링크 상태 갱신 패킷에 대한 응답용 패킷으로써, 여러 LSA 헤더들이 하나의 패킷에 담겨 보내진다. 일반적으로 멀티캐스트에 의해 전송한다. 링크 상태 확인응답 패킷은 최단경로 우선 프로토콜 공통 헤더와 여러 개의 LSA헤더로 구성되어 있다. [8]

최단경로 우선 프로토콜 라우터

[9]

ABR

ASBR

IR

BR

네트워크 종류

[10]

동작 과정

DR 및 BDR 선출

[11]

영역

[12]

백본 영역

스텁 영역

NSSA

사유 확장

  • 완전한 스텁 영역
  • NSSA의 완전한 스텁 영역

트랜짓 영역

비용 값

[13]

관련 용어

링크 상태 라우팅 프로토콜

라우터 아이디

LSA

[2]

RIP

RIP은router interchange protocol의 줄임말로 네트워크 기기간에 경로정보를 교환하고 동적으로 얼마나 빨리 경로 정보를 구성하는지에 대한 라우터 제어 프로토콜이다.

BGP

경로 벡터방식을 사용하여 거리의 경로값이 필요없고, 단순히 네트워크에 연결 가능한 라우터가 무엇인지에 대한 정보를 제공하며, 서로 다른 종류의 자율 시스템에서 동작하는 라우터가 라우팀 정보를 교환할 수 있게 해준다.

자율 시스템

Autonomus System으로 줄여서 AS라고 불리는 자율시스템은 동일한 라우팅 정책으로 하나의 관리자만있는 라우터와 그 통신망들의 집합체이다.운용관리비 절감과 보안을 유지하기 위해서 네트워크를 나눌 때에 용이하다.자율시스템이 여러 모여서 인터넷을 형성한다.

게이트웨이

게이트웨이는 허브,스위치같은 네트워크장비중 하나롷 여러 컴퓨터를 근거리 통신망을 이용해서 대규모 네트워크간 상호접속하기위한 공중통신망이다.단말기같은 소규모에는 필요로 하지 않는다.

활용

로드 밸런싱

논리적 라우터에서 최단경로 우선 프로토콜 구성

[14]

단일 영역에서 최단경로 우선 프로토콜 구성

[15]

전망

링크상태 알고리즘을 사용하여 망을 저하시키지 않는 OSPF프로토콜은 확장성으로인터넷과 같은 대규모의 IP망에서 적용되고 있고,이더넷스위치의 보급으로 역할이 줄어들고 있지만 추후에 외부간의 연결에서는 라우터가 필수적이고 도매인 내의 라우팅 프로토콜로 어떤 프로토콜보다도 주도적일 것이다.

각주

  1. 1.0 1.1 1.2 OSPF Open Shortest Path First OSPF 라우팅 프로토콜〉, 《정보통신기술용어해설》
  2. 2.0 2.1 TIM, 〈OSPF(Open Shortest Path First)〉, 《네이버 블로그》, 2010-06-14
  3. OSPF Message Header, OSPF Packet Header OSPF 메시지 헤더, OSPF 헤더, OSPF 공통 헤더〉, 《정보통신기술용어해설》
  4. OSPF Hello Message, OSPF Hello Protocol, Hello Packet OSPF Hello 메시지, OSPF Hello 프로토콜, Hello 패킷〉, 《정보통신기술용어해설》
  5. DD, DDP Database Description Packet 데이터베이스 기술 패킷〉, 《정보통신기술용어해설》
  6. LST Link State Request Packet, LS Request Packet 링크 상태 요청 패킷, 링크 상태 요구 패킷〉, 《정보통신기술용어해설》
  7. LSU Link State Update, Link State Update Packet 링크 상태 갱신 패킷〉, 《정보통신기술용어해설》
  8. LSAck Link State Acknowledgement 링크 상태 확인응답 패킷〉, 《정보통신기술용어해설》
  9. OSPF Router OSPF 라우터〉, 《정보통신기술용어해설》
  10. OSPF Network, OSPF Link OSPF 네트워크, OSPF 링크〉, 《정보통신기술용어해설》
  11. 피망IT, 〈OSPF(Open Shortest Path First) 개념 (2)〉, 《티스토리》
  12. 피망IT, 〈OSPF(Open Shortest Path First) 개념 (1)〉, 《티스토리》
  13. Nirsa, 〈(Network) 동적 라우팅 OSPF(Open Shortest Path First) 개념 및 설정 방법〉, 《티스토리》, 2020-01-10
  14. 논리적 (분산) 라우터에서 OSPF 구성〉, 《VMware》, 2019-05-31
  15. Henry Benjamin, 〈CCNP Routing Studies: Basic Open Shortest Path First〉, 《Cisco》, 2002-05-24

참고자료

같이 보기


  검수요청.png검수요청.png 이 최단경로 우선 프로토콜 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.