강의 PPT - 수원과학대학교 정보통신과

Download Report

Transcript 강의 PPT - 수원과학대학교 정보통신과

9주차. OSPF
수원과학대학교 정보통신과
9.1 Link State Algorithm [1]
Distance vector algorithm과의 차이점


Distance vector algorithm에서는 이웃 라우터들로부터 그 라우터가 알
고 있는 네트워크에 대한 전체 지식을 받아 최단 경로를 찾지만, link
state algorithm에서는 모든 router들로부터 그 라우터들이 관장하는 각
링크에 대한 정보를 받아서 전체 네트워크에 대한 지식을 구성하고 이로
부터 최단 경로를 판단함
동작 과정

1.
Link-State Advertisements

2.
Topological Database 구축

3.

Network topology에 대해 SPF algorithm을 수행하여 목적지 별 최단 경로로
찾음
결과는 자신이 root(뿌리)가 되고 목적지가 leaf(잎)가 되는 tree(나무) 모양
의 graph(그래프)
Routing table 구축

2
각 router들은 수집된 정보를 바탕으로 network topology를 구성
Shortest Path First (SPF) Tree 구성

4.
각 router들이 자신과 직접 연결되어 있는 link의 상태(state)에 대해 정보들
모든 router에게 광고함
SPF tree로부터 routing table 구축
수원과학대학 정보통신과
Link State Algorithm [2]
Link state algorithm의 장점



모든 목적지에 대한 경로를 알고 있기 때문에 중간에 link의 변화가
생겨도 이를 알아내는데 걸리는 시간이 짧음
Routing table의 교환이 자주 발생하지 않고, 교환을 하더라도 변화
가 있는 것만을 교환하므로 traffic 발생이 줄어듦
Link state algorithm의 단점



각 router마다 모든 네트워크 정보를 관리해야 하기 때문에 memory
를 많이 소모함
SPF 계산 등 여러 가지 복잡한 계산을 많이 해야 하므로 CPU의
load가 큼
Link state algorithm은 커다란 network에 설치되는 고용량
router에 적합함

3
수원과학대학 정보통신과
링크상태데이터베이스와 딕스트라알고리즘
링크상태데이터베이스 (Link Status Database)



한 지역 내 모든 라우터는 다른 라우터들로부터 수신된 LSA를 바탕으로
링크 상태 데이터베이스를 형성
OSPF에서는 모든 라우터들이 동일한 링크상태데이터베이스를 갖는다.
딕스트라(Dijkstra) 알고리즘


1.
2.
3.
4.
5.
노드(node)와 호(edge)로 구성된 그래프(graph)로부터 네트워크 두 지점
사이의 최단경로(shortest path) 계산
로컬 노드(라우터) – 트리의 루트 – 로부터 시작
이 노드에 경비(cost) 0을 할당하고 첫 번째 영구(permanent) 노드로 만
든다.
마지막 영구 노드였던 노드의 이웃(neighbor)을 조사한다(examine).
각 노드로의 누적(cumulative) 경비를 할당하고(assign) 그것을 임시
(tentative) 노드로 만든다.
임시 노드들의 리스트(list)로부터
1.
2.
4
6.
가장 작은 누적 경비를 가지고 있는 노드를 찾아 영구노드로 만든다.
한 노드가 여러 방향에서 도달(reach)될 수 있으면
1. 가장 작은 누적 경비를 갖는 방향(direction)을 선택(select)
모든 노드가 영구노드가 될 때까지 3 ~ 5 단계를 반복(repeat)
링크 상태 라우팅의 예 (1)
링크 상태 라우팅의 비용 (초기 비용)

4
R1
3
Net1
2
1
Net5
2
R5
5
R2
Net2
2
Net4
1
R4
2
Net3
2
2
R3
링크 상태 라우팅의 예 (2)
링크 상태 패킷 (LSP: link state packet)

6
Advertiser
Network
Cost
Neighbor
.
.
.
.
.
.
.
.
.
.
.
.
링크 상태 라우팅의 예 (3)
라우터 R1의 LSP 플러딩

R1 Net1 4 R2
R1 Net5 1 R5
4
R1
1
3
Net1
2
Net5
2
R5
7
R2
Net2
2
Net4
1
R4
2
Net3
2
2
R3
링크 상태 라우팅의 예 (4)
라우터 R2의 LSP 플러딩

R2 Net1 3 R1
R2 Net2 2 R3
4
R1
3
Net1
2
1
Net5
2
R5
8
R2
Net2
2
Net4
1
R4
2
Net3
2
2
R3
링크 상태 라우팅의 예 (5)

링크 상태 데이터베이스 (link state database)

9
각 라우터는 정확히 같은 링크 상태 데이터베이스를 갖는다
Advertiser
Network
Cost
Neighbor
R1
R1
R2
R2
R3
R3
R4
R4
R5
R5
Net1
Net5
Net1
Net2
Net2
Net3
Net3
Net4
Net4
Net5
4
1
3
2
2
2
2
1
2
2
R2
R5
R1
R3
R2
R4
R3
R5
R4
R1
링크 상태 라우팅의 예 (6)

딕스트라 알고리즘 (dijkstra algorithm)

10
노드와 호로 구성되는 그래프를 이용하여 네트워크 두 지
점 간의 최단 경로를 계산
링크 상태 라우팅의 예 (7)
최단 경로 계산 - 1

4
R1
Net1
 최단 경로 계산 - 2
4
R1
1
1
Net5
Net5
1
R5
11
3
Net1
Net4
링크 상태 라우팅의 예 (8)

최단 경로 계산 - 3
4
R1
Net1
1
Net5
1
R5
12
3
Net4
3
R4
5
Net3
링크 상태 라우팅의 예 (8)

최단 경로 계산 - 3
4
R1
Net1
4
R2
6
Net2
1
Net5
1
R5
13
3
Net4
3
R4
5
Net3
링크 상태 라우팅의 예 (8)

최단 경로 계산 - 3
4
R1
Net1
4
R2
6
Net2
1
Net5
1
R5
14
3
Net4
3
R4
5
Net3
5
R3
링크 상태 라우팅의 예 (14)

라우팅 표


링크 상태 데이터베이스는 모든 라우터에서 같지만 최단
경로 트리와 라우팅 표는 각 라우터마다 다르다
라우터 A를 위한 링크 상태 라우팅 표
15
Destination
Network
Cost
Next
Router
Net1
4
-
Net2
6
R2
Net3
5
R5
Net4
3
R5
Net5
1
-
9.2.1 OSPF의 개요

Open Shortest Path First Protocol



표준 라우팅 프로코콜
링크 스테이트 라우팅 프로토콜
RIP와의 비교




16
변화가 생길 때마다 바로 모두에게 전달하므로
Convergence Time이 빠르다.
VLSM 지원
Network 크기에 대한 제한이 없다
네트워크에 변화가 있을때만 Multicast로 전달하므로 대역
폭의 활용측면에서 우수
수원과학대학 정보통신과
OSPF의 이웃 사귀기
17
수원과학대학 정보통신과
Hello 패킷의 내용









Router ID
Hello/dead intervals*
Neighbors
Area-ID*
DR IP address
BDR IP address
Authentication password*
Stub area flag*
서로간의 hello packet에 최소한 *로 표시된 것들이 똑같아
야 이웃으로 인정해 줌
18
수원과학대학 정보통신과
Router ID



Router ID는 라우터의 이름 역할
그 라우터의 IP 주소 중 가장 높은 IP 주소를 Router ID 로
사용
예:





fastethernet 0/0 : 190.190.100.1
serial 0/0: 200.200.100.1  Router ID로 선정
문제점: Router ID로 선정된 인터페이스가 자꾸 죽으면
Router ID가 자꾸 바뀌게 된다.
OSPF서는 Loopback(루프백) 인터페이스를 사용하면 IP
주소의 높낮이에 관계없이 무조건 Loopback 주소가
Router ID가 됨 (down 되는 인터페이스가 아니므로)
새로 Loopback 인터페이스를 만들더라도 라우터를 재부
팅하거나 OSPF를 재가동해야 반영됨
19
수원과학대학 정보통신과
DR과 BDR




DR(Designated Router) – 반장 역할
BDR(Backup Designated Router) – 부반장 역할
선거에 의해서 선출
OSPF에 참여한 라우터들은 DR과 BDR에게 Link
State를 알림



모든 라우터들과 Link State를 교환할 경우 발행하는 트래
픽을 줄이고 Link State의 Sync(일치성)를 제대로 관리하
기 위함임
BDR은 DR이 down되면 대신 역할을 수행함
Adjacency – OSPF에서 모든 라우터가 반드시 DR과
BDR, Link State를 일치시키는 것
20
수원과학대학 정보통신과
DR과 BDR의 선출

Router Priority와 Router ID에 따라 선출




DR과 BDR이 결정된 상태에서 Router Priority가 더 높은 라우터가 등
장해도 다시 선출되지는 않음


Router Priority가 높은 라우터가 우선 선출됨
Router Priority가 같다면 Router ID가 높은 Router가 선출됨
OSPF의 Default Router Priority는 “1”
만약 DR이 다운될 경우 BDR이 DR이 되고, BDR에 대한 선거가 실시됨
Router Priority가 0이면 영원히 DR, BDR의 후보가 못됨
21
수원과학대학 정보통신과
OSPF에서 링크 변화 눈치채기






라우터가 새로 켜지거나 새로 OSPF 라우팅이 구성되면 멀티캐스트
주소 224.0.0.5로 Hello Packet을 보낸다.
회신된 Hello Packet을 통해 새로운 라우터는 DR과 BDR의 주소를 알
게 된다.
새 라우터는 자신이 가지고 있는 링크 정보를 LSA(Link-State
Advertisement)에 담아 멀티캐스트 주소 224.0.0.6으로 보내 모든 DR
과 BDR에게 전송. BDR은 LSA가 도착하면 Timer를 세팅하고 DR이
새로운 라우터에게서 받은 이 정보를 다른 OSPF 라우터들에게 재전
송하는 지 기다림(감시)
DR은 새로 받은 LSA를 멀티캐스트 주소 224.0.0.5를 이용해서 모든
OSPF 라우터에게 전송. 새 라우터는 이것을 받아 전송 성공을 확인
만약 DR이 BDR의 타이머가 끝날 때까지 새 LSA정보를 전송하지 않
으면 BDR이 DR이 되고, 헬로 패킷을이용해서 BDR을 새로 선출
만약 링크가 끊어지면 해당 라우터는 즉시 DR에게 알리고, DR은 그
LSA 정보를 모든 OSPF 라우터에게 전송.
22
수원과학대학 정보통신과
OSPF 네트워크 예
Area 1
Area 2
Area border router
Area border router
Area 0
(backbone)
다른 AS로
Backbone router
Autonomous System (AS)
23
수원과학대학 정보통신과
AS boundary router
OSPF는 토폴로지를 고려한다 (1)

점 대 점 네트워크 (point-to-point network)




두 라우터 사이를 중간에 어떤 호스트나 라우터 없이 연결하는 네트워크
예) T-회선(T-line)
DR과 BDR 선출 안함
헬로 메시지 주기 = 10초
점-대-점 네트워크
24
OSPF는 토폴로지를 고려한다 (2)

브로드캐스트 네트워크 (broadcast network)




한 라우터가 보낸 메시지를 다른 모든 라우터가 받아볼 수
있는 네트워크
예) 이더넷
DR과 BDR 선출함
헬로 메시지 주기 = 10초
25
OSPF는 토폴로지를 고려한다 (3)

NBMA 네트워크


DB과 BDR 선출 함
헬로 메시지 주기 = 30초
Flame Relay
NBMA
(Non Broadcast Multiple Access)
26
OSPF는 토폴로지를 고려한다 (4)

점-대-다중점(point-to-multipoint) 네트워크


27
DB과 BDR 선출 안함
헬로 메시지 주기 = 30초
수원과학대학 정보통신과
9.2.2 OSPF 구성

OSPF 구성 시 꼭 해주어야 하는 2가지



OSPF enable



라우터에 OSPF를 enable한다.
OSPF로 운용할 network를 정의해 준다.
Router(config)#router ospf process-id
process-id: 한 라우터에서 OSPF를 여러 개 돌릴 때(비권장) 구별하
기 위한 번호
OSPF network 정의



Router(config-router)#network address wildcard-mask area area-id
wildcard-mask: binary subnet mask에서 0은 1로, 1은 0으로 바꿈
예) network 150.100.1.0(mask: 255.255.255.00)이라는 네트워크를
area 0에 넣기

28
network 150.100.1.0 0.0.0.255 area 0
수원과학대학 정보통신과
간단한 OSPF 구성 연습
e0/0(190.2.2.1/16)
[Lab9.1]
s1/1(200.2.2.1/24)
s0/0(200.2.2.2/24)
s0/0(200.1.1.2/24)
R3
R1
f0/0(210.1.1.1/24)
29
e0/0(190.1.1.1/16)
s1/0(200.1.1.1/24)
수원과학대학 정보통신과
R2
IP 라우팅 프로토콜 보기
가장 높은 IP 주소
OSPF의 Adimistrative Distance는 110
30
수원과학대학 정보통신과
라우팅 테이블 보기
31
수원과학대학 정보통신과
OSPF Interface 보기
• 100,100,000/대역폭으로 계산
• 100,100,100/1,544,000 = 64
• P-t-P에서는 DR 선출이 없음
10초에 한번씩 Hello를 보내고, 4번의 Hello에
도 응답이 없으면 죽었다고 생각
• 100,100,100/10,000,000 = 10
현재 이더넷에 자신밖
에 없으므로 자신이 DR
32
수원과학대학 정보통신과
OSPF neighbor 보기
Default dead interval = 40초 이므로,
마지막 hello packet을 받은 지 6초가 지났음
State가 FULL이면 neighbor끼리 서로 인식했고,
서로간에 라우팅 테이블 교환이 이루어져 통신
이 제대로 수행되고 있다는 것을 의미
33
수원과학대학 정보통신과
[실습 1] OSPF 구성하기
다음처럼 네트워크를 설계하고 네트워크를 동작시켜라. 단, 라우팅 프
로토콜로는 OSPF를 사용한다.

Site Address: 200.200.200.0 / 20
R3
R2
S0/0
S0/0
E0/0
Host 1
Host 499
Network 3
34
R1
S0/1
S0/1
E0/0
Host 1
F1/0
Host 499
Network 2
S0/0
Host 1
Host 499
Network 1
수원과학대학 정보통신과
S0/0
204.204.204.205
255.255.255.252
Internet
R4
210.210.210.1