본문 바로가기

네트워크

IP 라우팅 프로토콜 OSPF(open shortest path first)

반응형

▣ OSPF(Open Shortest Path First)

규모가 크고 복잡한 TCP/IP 네트워크에서도 사용할 수 있는 표준 라우팅 프로토콜이며 ,

RIP에 비해 자세한 제어가 가능하고, 관리 정보의 트래픽도 줄일 수 있는 , 

link state 라우팅 알고리즘이다.

 

 

 OSPF의 장점

▷네트워크 대역폭의 활용 ↑
RIP의 경우 매 30초마다 브로드 캐스트가 발생하지만 ,

      ospf는 네트워크에 변화가 있을 때만 정보가 날아가고 , 멀티캐스트이므로 효율적이다.

 

     ▷ 정확한 경로 결정
     RIP는 홉카운트만을 따지지만 , ospf는 많은 관련요소를 합쳐서 경로를 선택하기 때문에

     훨씬 정확한 경로를 선택을 할 수 있다.

 

     ▷VLSM 지원

     RIP1에서 지원하지 않는 VLSM 기능은 OSPF에서 확실히 지원한다.

     이로 인해 IP주소를 효율적으로 사용할 수 있으며 ,

     라우트 서머리제이션(Route summarizstion)을 같이 지원하기 때문에 

     라우팅 경로를 하나로 묶는 기능이 탁월하다. 

     

     ▷네트워크 크기

     RIP는 hop count가 15로 제한되어 있기 때문에 대규모 네트워크 구성에는 적합지 못하다.

     OSPF의 경우는 이런 제한이 없다.

 

 

 

 

 OSPF가 적용되는 Topology

 

 


▷ Broadcast Multiaccess
   네트워크에 두개 이상의 라우터가 연결되는 경우

   모든 라우터들이 정보를 받아볼 수 있는 구조  Ex ) 세그먼트

 

▷ Point-to-Point - 한 쌍의 라우터만 존재하는 경우 Ex ) 전용선


▷ NBMA(non broadcast multi access)
브로드캐스트 멀티액세스와 다르게 브로드 캐스트 기능은 없음.
Ex ) 프레임 릴레이

 

 

 

OSPF 통신 - neighbor(이웃)
ospf 라우터가 주위에 있는 이웃라우터들을 찾아서 자신의 DB안에 저장하는것을 말한다.
이웃을 찾을 때는 멀티캐스트로 Hello 패킷을 보내게 된다.

 

 

OSPF Hello Packet 내용

Router ID
Hello/dead intervals*

Neighbors
Area-ID*
DR IP address
BDR IP address
Authentication password*
Stub area flag*

 

 

Hello Packet 내용에서 *의 의미는
서로간에 라우터에서 별표로 표시된 내용이 같아야 이웃으로 인정된다는 뜻이다.

만약 서로간에 Area-id가 다를 경우 이웃이 될 수 없다.

 

이웃 관계가 형성되면 통신이 시작된다.

 

통신할 때 서로를 식별하기 위해 라우터 ID를 사용하며 , 

그 라우터의 가장 높은 ip주소를  라우터 id로 사용한다.

 

만약 라우터 구성이 다음과 같다고 설정했을 때 라우터 ID는?

eth0
ip 100.100.0.1 255.255.255.0

eth1
ip 150.150.0.1 255.255.255.0
eth2
ip 200.200.0.1 255.255.255.0

 

eth2 200.200.0.1이 된다.

그런데 만약 라우터 ID로 사용된 인터페이스가 잦은 끊김이 발생하면

라우터 ID 가 자꾸 바뀌게 되므로 OSPF 라우터들은 계속 정보를 업데이트 해야할 것이다.

 

따라서 라우터 ID로 사용할 인터페이스는 가장 안정적이어야 한다.


이 때 loopback 주소를 사용하게 된다. 왜냐하면 다운 될 일이 없기 때문이다.

loopback 인터페이스가 있으면 주소의 높낮이 상관없이

무조건 이 주소가 라우터 ID로 설정된다.

 

 

OSPF  -  DR , BDR

DR (Designated Router) - BDR(Backup Designated Router)

 

모든 ospf 라우터들 간에 링크상태를 교환할 경우 생기는 트래픽을 작게하고

빠른 동기화를 위해 DR,BDR에게 링크정보를 업데이트 한다.

한마디로 효율적인 링크상태를 유지하기 위해 사용한다.

 

DR,BDR은 Priority가 높은 순서대로 선출되며,
같은 Priority에서는 라우터 ID가 높은 순으로 선출된다.
 

또 아무리 Priority가 높다고 해도 이미 DR,BDR 선정이 끝난 후에 들어온 라우터는

곧바로 DR이 될 수 없다. 하지만 DR이 다운되면 BDR이 DR이 되고 , 새로운 BDR을 뽑는다.

 

비유를들어서 설명하자면 ,
학교에서 반장선거가 끝났는데 , 새로운 전학생이 왔다고 그 전학생이 반장이 될 수는

없는것과도 같다.  물론 반장이 자리를 비게된다면 부반장이 반장이 되고 , 기회가 생겨 

전학생이 부반장의 자리를 얻을 수 있다. 이런 개념과 유사하다.
 
만약 아예 DR,BDR을 고정시키려면 Priority값을 0으로 주면 된다.

 

 

▶ ospf의 링크변화 단계


1. 라우터가 처음 켜지거나 OSPF 라우팅이 새롭게 구성되면 그 라우터는 멀티캐스트 주소를 이용해서 모든 ospf 라우터들에게 핼로패킷을 전송한다.


2. 헬로패킷을 이용해서 새로운 라우터는 DR과 BDR의 주소를 알게 된다.


3. 새 라우터는 자신이 가지고 있는 링크 정보(LSA--Link State Advertisement)에 담아 모든 DR에게 전송한다.

그리고 BDR은 DR이 제대로 일을 하는지 감시한다.

※ LSA 정보를 업데이트하는것을 LSU(Link-State Update)라고 한다.


4. DR은 새로 받은 LSA 정보를 다른 모든 ospf 라우터들에게 전송한다.


5. 만약 DR이 문제가 생기면 BDR은 DR이 되고 , 헬로패킷을 이용해서 BDR을 새로 선출한다.


6. 만약 링크가 끊어지면 해당 라우터는 그 정보를 즉시 DR에게 알리고 DR은 그 LSA 정보를 다시 모든 OSPF 라우터들에게

전송한다.


 

 

▶OSPF 명령어

▷ (global) router ospf 번호(procees id)
▷ (router) network 네트워크주소 와일드마스크 area 번호(area id)

▷ show ip ospf interface -  ospf 설정 조회

▷ show ip ospf neighbor - 이웃라우터를 보여준다. -- 상태 full = 정상적으로 통신중..

 

 

OSPF는 AREA라는 단위로 나누어져 통신이 일어난다.

AREA-ID가 같으면 그 영역에 있는 OSPF 라우터들끼리만 링크정보를 주고받는다.


AREA의 가장 기본은 백본AREA라 불리는 AREA 0이다.

AREA를 구성할 때는 백본AREA를 중심으로 다른 AREA를 구성하는 것이 일반적이다.

 

Process-ID는 다른 라우터와 꼭 일치시켜줄 필요는 없지만 특별히 다르게 설정할 것이 아니라면 

일치시켜주는 것이 좋다.

 

 

※ 와일드카드 마스크란 서브넷마스크의 이진수 비트를 반전시킨 마스크다.

만약 서브넷마스크가 /24면

   WILDMASK     255.255.255.255

SUBNETMASK  255.255.255. 0

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

WILDMASK =      0 . 0 . 0 . 255

 

 

 

[ 네트워크 구성 예시 ]

 

※ 목적 : OSPF를 설정하여 양쪽 단말과의 통신

 

 

Serial 2 Port -> Module 

 

 

 

[ 라우터 구성 명령어 ]

 

▶ route 1

# (config) router ospf 1

# (config-router) network 172.16.10.0 0.0.0.255 area 0
# (config-router) network 210.210.10.0 0.0.0.3  area 0

 

▶ route 2
# (config) router ospf 1
# (config-router) network 210.210.10.0 0.0.0.3 area 0
# (config-router) network 210.210.20.0 0.0.0.3 area 0

 

▶ route 3

# (config) router ospf 1
# (config-router) network 210.210.20.0 0.0.0.3 area 0
# (config-router) network 172.16.30.0 0.0.0.255 area 0

 

 

[ 라우팅 테이블 조회 - route 1,2,3 ]

 

O       172.16.30.0 [110/129] via 210.210.10.2, 00:00:00, Serial0/3/0
         210.210.10.0/30 is subnetted, 1 subnets
O       210.210.20.0 [110/128] via 210.210.10.2, 00:00:00, Serial0/3/0


O       172.16.10.0 [110/65] via 210.210.10.1, 00:01:17, Serial0/3/0
O       172.16.30.0 [110/65] via 210.210.20.2, 00:01:17, Serial0/3/1

 

O       172.16.10.0 [110/129] via 210.210.20.1, 00:02:20, Serial0/3/0
O       210.210.10.0 [110/128] via 210.210.20.1, 00:02:30, Serial0/3/0
         210.210.20.0/30 is subnetted, 1 subnets 

반응형

'네트워크' 카테고리의 다른 글

웹 방화벽 서비스 Cloudbric  (0) 2017.12.22
Back to Back 구성  (0) 2017.12.07
RIP 프로토콜  (0) 2017.12.03
Static Routing  (0) 2017.11.18
InterVLAN-Routing , Etherchannel  (0) 2017.11.11