360 likes | 667 Views
9 주차 . OSPF. 수원과학대학교 정보통신과. 9.1 Link State Algorithm [1]. Distance vector algorithm 과의 차이점 Distance vector algorithm 에서는 이웃 라우터들로부터 그 라우터가 알고 있는 네트워크에 대한 전체 지식을 받아 최단 경로를 찾지만 , link state algorithm 에서는 모든 router 들로부터 그 라우터들이 관장하는 각 링크에 대한 정보를 받아서 전체 네트워크에 대한 지식을 구성하고 이로부터 최단 경로를 판단함 동작 과정
E N D
9주차. OSPF 수원과학대학교 정보통신과
9.1 Link State Algorithm [1] • Distance vector algorithm과의 차이점 • Distance vector algorithm에서는 이웃 라우터들로부터 그 라우터가 알고 있는 네트워크에 대한 전체 지식을 받아 최단 경로를 찾지만, link state algorithm에서는 모든 router들로부터 그 라우터들이 관장하는 각 링크에 대한 정보를 받아서 전체 네트워크에 대한 지식을 구성하고 이로부터 최단 경로를 판단함 • 동작 과정 • Link-State Advertisements • 각 router들이 자신과 직접 연결되어 있는 link의 상태(state)에 대해 정보들 모든 router에게 광고함 • Topological Database 구축 • 각 router들은 수집된 정보를 바탕으로 network topology를 구성 • Shortest Path First (SPF) Tree 구성 • Network topology에 대해 SPF algorithm을 수행하여 목적지 별 최단 경로로 찾음 • 결과는 자신이 root(뿌리)가 되고 목적지가 leaf(잎)가 되는 tree(나무) 모양의 graph(그래프) • Routing table 구축 • 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에 적합함 수원과학대학 정보통신과
링크상태데이터베이스와 딕스트라알고리즘 • 링크상태데이터베이스 (Link Status Database) • 한 지역 내 모든 라우터는 다른 라우터들로부터 수신된 LSA를 바탕으로 링크 상태 데이터베이스를 형성 • OSPF에서는 모든 라우터들이 동일한 링크상태데이터베이스를 갖는다. • 딕스트라(Dijkstra) 알고리즘 • 노드(node)와 호(edge)로 구성된 그래프(graph)로부터 네트워크 두 지점 사이의 최단경로(shortest path) 계산 • 로컬 노드(라우터) – 트리의 루트 – 로부터 시작 • 이 노드에 경비(cost) 0을 할당하고 첫 번째 영구(permanent) 노드로 만든다. • 마지막 영구 노드였던 노드의 이웃(neighbor)을 조사한다(examine). • 각 노드로의 누적(cumulative) 경비를 할당하고(assign) 그것을 임시(tentative) 노드로 만든다. • 임시 노드들의 리스트(list)로부터 • 가장 작은 누적 경비를 가지고 있는 노드를 찾아 영구노드로 만든다. • 한 노드가 여러 방향에서 도달(reach)될 수 있으면 • 가장 작은 누적 경비를 갖는 방향(direction)을 선택(select) • 모든 노드가 영구노드가 될 때까지 3 ~ 5 단계를 반복(repeat)
링크 상태 라우팅의 예 (1) • 링크 상태 라우팅의 비용 (초기 비용) 4 3 Net1 R2 R1 2 1 Net5 Net2 2 2 R4 2 2 1 2 Net3 R3 Net4 R5
링크 상태 라우팅의 예 (2) • 링크 상태 패킷 (LSP: link state packet)
링크 상태 라우팅의 예 (3) • 라우터 R1의 LSP 플러딩 R1 Net1 4 R2 R1 Net5 1 R5 4 3 Net1 R2 R1 2 1 Net5 Net2 2 2 R4 2 2 1 2 Net3 R3 Net4 R5
링크 상태 라우팅의 예 (4) • 라우터 R2의 LSP 플러딩 R2 Net1 3 R1 R2 Net2 2 R3 4 3 Net1 R2 R1 2 1 Net5 Net2 2 2 R4 2 2 1 2 Net3 R3 Net4 R5
링크 상태 라우팅의 예 (5) • 링크 상태 데이터베이스 (link state database) • 각 라우터는 정확히 같은 링크 상태 데이터베이스를 갖는다
링크 상태 라우팅의 예 (6) • 딕스트라 알고리즘 (dijkstra algorithm) • 노드와 호로 구성되는 그래프를 이용하여 네트워크 두 지점 간의 최단 경로를 계산
링크 상태 라우팅의 예 (7) • 최단 경로 계산 - 2 • 최단 경로 계산 - 1 4 4 Net1 R1 Net1 R1 1 1 Net5 Net5 1 3 Net4 R5
링크 상태 라우팅의 예 (8) • 최단 경로 계산 - 3 4 Net1 R1 1 Net5 R4 1 3 5 3 Net4 Net3 R5
링크 상태 라우팅의 예 (8) • 최단 경로 계산 - 3 R2 4 6 4 Net2 Net1 R1 1 Net5 R4 1 3 5 3 Net4 Net3 R5
링크 상태 라우팅의 예 (8) • 최단 경로 계산 - 3 R2 4 6 4 Net2 Net1 R1 1 Net5 R4 1 3 5 5 3 R3 Net4 Net3 R5
링크 상태 라우팅의 예 (14) • 라우팅 표 • 링크 상태 데이터베이스는 모든 라우터에서 같지만 최단 경로 트리와 라우팅 표는 각 라우터마다 다르다 • 라우터 A를 위한 링크 상태 라우팅 표
9.2.1 OSPF의 개요 • Open Shortest Path First Protocol • 표준 라우팅 프로코콜 • 링크 스테이트 라우팅 프로토콜 • RIP와의 비교 • 변화가 생길 때마다 바로 모두에게 전달하므로 Convergence Time이 빠르다. • VLSM 지원 • Network 크기에 대한 제한이 없다 • 네트워크에 변화가 있을때만 Multicast로 전달하므로 대역폭의 활용측면에서 우수 수원과학대학 정보통신과
OSPF의 이웃 사귀기 수원과학대학 정보통신과
Hello 패킷의 내용 • Router ID • Hello/dead intervals* • Neighbors • Area-ID* • DR IP address • BDR IP address • Authentication password* • Stub area flag* • 서로간의 hello packet에 최소한 *로 표시된 것들이 똑같아야 이웃으로 인정해 줌 수원과학대학 정보통신과
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를 재가동해야 반영됨 수원과학대학 정보통신과
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를 일치시키는 것 수원과학대학 정보통신과
DR과 BDR의 선출 • Router Priority와 Router ID에 따라 선출 • Router Priority가 높은 라우터가 우선 선출됨 • Router Priority가 같다면 Router ID가 높은 Router가 선출됨 • OSPF의 Default Router Priority는 “1” • DR과 BDR이 결정된 상태에서 Router Priority가 더 높은 라우터가 등장해도 다시 선출되지는 않음 • 만약 DR이 다운될 경우 BDR이 DR이 되고, BDR에 대한 선거가 실시됨 • Router Priority가 0이면 영원히 DR, BDR의 후보가 못됨 수원과학대학 정보통신과
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 라우터에게 전송. 수원과학대학 정보통신과
OSPF 네트워크 예 Area 1 Area 2 Area border router Area border router Area 0 (backbone) 다른 AS로 Backbone router AS boundary router Autonomous System (AS) 수원과학대학 정보통신과
OSPF는 토폴로지를 고려한다 (1) • 점 대 점 네트워크 (point-to-point network) • 두 라우터 사이를 중간에 어떤 호스트나 라우터 없이 연결하는 네트워크 • 예) T-회선(T-line) • DR과 BDR 선출 안함 • 헬로 메시지 주기 = 10초 점-대-점 네트워크
OSPF는 토폴로지를 고려한다 (2) • 브로드캐스트 네트워크 (broadcast network) • 한 라우터가 보낸 메시지를 다른 모든 라우터가 받아볼 수 있는 네트워크 • 예) 이더넷 • DR과 BDR 선출함 • 헬로 메시지 주기 = 10초
OSPF는 토폴로지를 고려한다 (3) • NBMA 네트워크 • DB과 BDR 선출 함 • 헬로 메시지 주기 = 30초 Flame Relay NBMA (Non Broadcast Multiple Access)
OSPF는 토폴로지를 고려한다 (4) • 점-대-다중점(point-to-multipoint) 네트워크 • DB과 BDR 선출 안함 • 헬로 메시지 주기 = 30초 수원과학대학 정보통신과
9.2.2 OSPF 구성 • OSPF 구성 시 꼭 해주어야 하는 2가지 • 라우터에 OSPF를 enable한다. • OSPF로 운용할 network를 정의해 준다. • OSPF enable • 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에 넣기 • network 150.100.1.0 0.0.0.255 area 0 수원과학대학 정보통신과
간단한 OSPF 구성 연습 e0/0(190.2.2.1/16) s1/1(200.2.2.1/24) s0/0(200.1.1.2/24) [Lab9.1] e0/0(190.1.1.1/16) s0/0(200.2.2.2/24) s1/0(200.1.1.1/24) R3 R1 R2 f0/0(210.1.1.1/24) 수원과학대학 정보통신과
IP 라우팅 프로토콜 보기 가장 높은 IP 주소 OSPF의 Adimistrative Distance는 110 수원과학대학 정보통신과
라우팅 테이블 보기 수원과학대학 정보통신과
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 수원과학대학 정보통신과
OSPF neighbor 보기 Default dead interval = 40초 이므로, 마지막 hello packet을 받은 지 6초가 지났음 State가 FULL이면 neighbor끼리 서로 인식했고, 서로간에 라우팅 테이블 교환이 이루어져 통신이 제대로 수행되고 있다는 것을 의미 수원과학대학 정보통신과
Site Address: 200.200.200.0 / 20 S0/0 204.204.204.205 255.255.255.252 R3 R2 R1 Internet S0/0 S0/1 S0/0 S0/0 S0/1 E0/0 E0/0 R4 F1/0 210.210.210.1 Host 1 Host 499 Host 1 Host 499 Host 1 Host 499 Network 3 Network 2 Network 1 [실습 1] OSPF 구성하기 • 다음처럼 네트워크를 설계하고 네트워크를 동작시켜라. 단, 라우팅 프로토콜로는 OSPF를 사용한다. 수원과학대학 정보통신과