◈ OSPF (Open Shortest Path First)
► 대규모 망에서 사용
► 설정 방법이 어려움
► 네트워크 자원 소모 (but 요즘 장비가 좋아서 큰 문제가 되지 않음)
► IP 패킷에서 프로토콜 번호 89번 사용하여 라우팅 정보 전송.
► 안정되고 다양한 기능
► RFC 2328
► IP 패킷에서 프로토콜 번호 89번 사용하여 라우팅 정보 전송.
► 안정되고 다양한 기능
► RFC 2328
◈ OSPF 용어
► Adjancent neighbor : 라우팅 정보를 교환하는 네이버
► LSA(Link State Advertisement) : OSPF 에서의 라우팅 정보
► Process ID : 라우터에서 복수개의 OSPF 프로세스 동작 시, 상호 구분하기 위한 목적
► LSA(Link State Advertisement) : OSPF 에서의 라우팅 정보
► Process ID : 라우터에서 복수개의 OSPF 프로세스 동작 시, 상호 구분하기 위한 목적
변동되지 않는 IP주소로 사용해야함
► Router ID : LSA 전송 시 포함. 변동되지 않는 주소로 해주어야 함(Ex. Loopback),
► Router ID : LSA 전송 시 포함. 변동되지 않는 주소로 해주어야 함(Ex. Loopback),
미설정 시 현 IP중 가장 높은 IP로 선정.
OSPF 설정 시, IP가 설정된 인터페이스가 없으면, Router ID를 가질 수 없어서 에러 발생.
라우터 ID는 한 번 결정되면, 라우터를 재부팅하거나,
clear ip ospf process를 사용하여 리셋전까지 유지.
◈ OSPF 라우팅 테이블 생성 및 유지 과정
OSPF 설정 시, IP가 설정된 인터페이스가 없으면, Router ID를 가질 수 없어서 에러 발생.
라우터 ID는 한 번 결정되면, 라우터를 재부팅하거나,
clear ip ospf process를 사용하여 리셋전까지 유지.
◈ OSPF 라우팅 테이블 생성 및 유지 과정
► Hello 패킷을 이용한 네이버와 Adjancent 네이버 관계 구성
► Adjancent 라우터끼리 라우팅 정보(LSA)를 교환. 전송 받은 LSA는 Link State Database에 저장.
► LSA교환 후, SPF알고리즘을 이용 최적경로 계산하여 라우팅 테이블 작성.
► 이후 주기적 Hello 패킷을 이용 상태 유지. Topology 변경 시 동일 방법으로 재구성.
► Adjancent 라우터끼리 라우팅 정보(LSA)를 교환. 전송 받은 LSA는 Link State Database에 저장.
► LSA교환 후, SPF알고리즘을 이용 최적경로 계산하여 라우팅 테이블 작성.
► 이후 주기적 Hello 패킷을 이용 상태 유지. Topology 변경 시 동일 방법으로 재구성.
◈ 네트워크 타입
► Interface 종류에 따라서 다음과 같이 OSPF 네트워크 타입이 결정.
▪ 포인트 투 논브로캐스트
▪ 브로드캐스트
▪ 포인트 투 포인트
▪ 포인트 투 멀티포인트
▪ 논브로캐스트
◈ OSPF 패킷 (p324)
► Hello 패킷 : 네이버 관계를 형성 및 유지, 미 수신시에 네이버 관계 해제.
▪ 네이버 구성 및 유지
▪ 목적지 주소 : Broadcast 네트워크(224.0.0.5) / NonBroadcast 네트워크(상대방 IP:Unicast)
▪ 라우터 ID : OSPF 라우터를 구분. (OSPF 도메인 내 유일한 값)
▪ 목적지 주소 : Broadcast 네트워크(224.0.0.5) / NonBroadcast 네트워크(상대방 IP:Unicast)
▪ 라우터 ID : OSPF 라우터를 구분. (OSPF 도메인 내 유일한 값)
▪ Area ID : OSPF가 설정된 interface가 소속된 ospf Area ID.
▪ 암호 : 네이버 간에는 라우팅 정보 송수신을 위해서 같은 인증방식과 암호로 인증해야 함.
▪ 서브넷 마스크 : 인터페이스의 서브넷 마스크 표시
▪ Hello 주기 : Broadcast 네트워크와 Point-to-Point 네트워크에서는 10초 / NBMA에서는 30초
▪ Stub Area Flag
▪ Router Priority : DR, BDR 선출 시 사용되는 우선 순위
▪ Dead 주기 : Hello 패킷을 수신하지 못할 시에 네이버 다운으로 간주하는 시간 : Hello의 4배
▪ DR : Designated Router의 Router ID가 표시
▪ BDR : Backup DR 라우터 ID
▪ Neighbor List : Hello 패킷을 송신한 라우터가 네이버라고 여기는 라우터의 Router ID를 표시
► DDP / DBD (Database Description Packet)
▪ LSA (Link State Advertisement) : OSPF의 네트워크 정보
▪ 자신이 만든 LSA와 네이버에게 받은 LSA를 Link State Database에 저장.
▪ DDP는 Link State Database에 있는 LSA들을 요약한 정보를 알려주는 패킷.
자기의 패킷과 비교
► LSR (Link State Request)
▪ 네이버에게 받은 DDP를 확인 후, 자신에게 없는 네트워크 정보(LSA)가 있으면 상세내용(LSA)을 요청할 때
사용하는 패킷.
▪ 데이터베이스 상세 내용 요청
► LSU (Link State Update)
▪ 네이버 라우터에게서 LSR을 받거나 네트워크 상태가 변했을 때, 해당 라우팅 정보를 전송할 때 사용
▪ LSA를 실어나를 때 사용하는 패킷.
▪ 데이터베이스 업데이트
세부 정보 전송
► LS ACK (Link State Ack)
▪ OSPF 패킷을 정상적으로 수신했음을 알려주는 것. DDP, LSR, LSU 수신 시, 이 패킷으로 수신에 대한 응답을 함.
전송받은 정보 확인
전송받은 정보 확인
◈ 네이버 조건
► Area 번호, 암호, Subnet Mask 길이, Hello/Dead 주기, Stub Area 표시.
► 네이버는 물리적으로 연결된 경우에만 네이버 관계를 형성한다.
► Area 번호, 암호, Subnet Mask 길이, Hello/Dead 주기, Stub Area 표시.
► 네이버는 물리적으로 연결된 경우에만 네이버 관계를 형성한다.
◈ DR, BDR
► 멀티 액세스 네트워크에서 필요 : 중복된 LSA/ACK 패킷을 예방함.
- Point to Point 네트워크에서는 DR, BDR 선출 안 함.
- Point to Point 네트워크에서는 DR, BDR 선출 안 함.
► DR (Designated Router)
- LSA를 중계하는 역할
- 반드시 물리적으로 다른 라우터와 연결되어 있어야 함.
- LSA를 중계하는 역할
- 반드시 물리적으로 다른 라우터와 연결되어 있어야 함.
► Broadcast 와 NBMA에서만 선출하며, Point-to-Point 네트워크에서는 사용 안함.
► DR/BDR 선출 기준:
▪ OSPF Priority : 0~255 ( default : 1 , DR선출제외 : 0) [우선순위가 더 큰 쪽이 DR로 선출]
▪ Router ID : Priority가 동일할 경우 Router ID가 높은 쪽이 DR로 선출
▪ BR이 선출되면, clear ip ospf process 명령어를 실행하기 전까지는
► DR/BDR 선출 기준:
▪ OSPF Priority : 0~255 ( default : 1 , DR선출제외 : 0) [우선순위가 더 큰 쪽이 DR로 선출]
▪ Router ID : Priority가 동일할 경우 Router ID가 높은 쪽이 DR로 선출
▪ BR이 선출되면, clear ip ospf process 명령어를 실행하기 전까지는
순위가 높은 라우터가 추가되어도 DR, BDR유지
► DROther : DR, BDR이 아닌 라우터
► DR과 BDR은 각 Broadcast 네트워크, NBMA네트워크에서 각 네트워크 당 하나씩 DR이 선출된다.
► 224.0.0.5 : DR과 BDR이 DROther 에게 중계할 때 사용하는 주소
► 224.0.0.6 : DROther이 DR과 BDR에게 업데이트 내용 전송하는 주소
► DR/BDR은 224.0.0.5/6 모두 수신.
► DROther은 224.0.0.5 만 수신
► DROther : DR, BDR이 아닌 라우터
► DR과 BDR은 각 Broadcast 네트워크, NBMA네트워크에서 각 네트워크 당 하나씩 DR이 선출된다.
► 224.0.0.5 : DR과 BDR이 DROther 에게 중계할 때 사용하는 주소
► 224.0.0.6 : DROther이 DR과 BDR에게 업데이트 내용 전송하는 주소
► DR/BDR은 224.0.0.5/6 모두 수신.
► DROther은 224.0.0.5 만 수신
◈ Neighbor
- 물리적으로 직접 연결된 라우터 중에 Hello Packet를 수신하고 Hello Packet에 포함된 Neighbor List에 자신의
Router ID가 포함되어 있는 라우터.
◈ OSPF Adjacent Neighbor(p334)
- OSPF 라우팅 정보를 주고받는 네이버
► DR과 다른 라우터들
- 물리적으로 직접 연결된 라우터 중에 Hello Packet를 수신하고 Hello Packet에 포함된 Neighbor List에 자신의
Router ID가 포함되어 있는 라우터.
◈ OSPF Adjacent Neighbor(p334)
- OSPF 라우팅 정보를 주고받는 네이버
► DR과 다른 라우터들
► BDR과 다른 라우터들
► Point-to-Point 네트워크로 연결된 두 라우터
► Point-to-Multi Point 네트워크로 연결된 라우터들
► 가상링크 (Virtual link)로 연결된 두 라우터
▪ DROther 라우터 간에는 어드제이션 네이버가 되지 못함.
◈ OSPF 네이버 상태
► down 상태
▪ OSPF 설정 후, Hello 패킷은 전송하지만 Hello 패킷을 전송받지 못한 상태
▪ full 상태에서 dead interval 동안 OSPF 패킷을 전송받지 못하거나, 장비의 문제로 인해서 발생할 수 있음.
► attempt 상태
▪ OSPF 설정 후, Hello 패킷은 전송하지만 Hello 패킷을 전송받지 못한 상태
▪ full 상태에서 dead interval 동안 OSPF 패킷을 전송받지 못하거나, 장비의 문제로 인해서 발생할 수 있음.
► attempt 상태
▪ 네이버를 인위적으로 맺은 라우터 간에 헬로패킷을 받지 못한 상태(down상태와 같음)- NBMA 네트워크에서만 적용
► init 상태
▪ 네이버에게서 Hello 패킷을 받았으나, 네이버는 나의 Hello 패킷을 수신하지 않은 상태
▪ 이 때 받은 Hello 패킷 안의 네이버 List에는 나의 Router-ID가 존재하지 않는다
.
▪ 이 때 받은 Hello 패킷 안의 네이버 List에는 나의 Router-ID가 존재하지 않는다
.
► two-way 상태
▪ 네이버 간의 서로 Hello 패킷을 받은 상태.
▪ 이 상태에서 BR, BDR 선출 (wait time을 거친 후 선출-40/120초) - Broadcast / NBMA 네트워크에서만 해당
- 현업에서는 이러한 wait time 때문에 BR, BDR을 선출하지 않는 네트워크 타입으로 해야 한다.
▪ DROther 간에는 Two-way 상태 유지. (라우팅 정보를 교환하지 않고 어드제이션시 네이버를 맺지 않음)
▪ Two-way 상태에서는 DR과 BDR의 선출을 위해서 wait시간만큼(dead주기와 동일) 기다린 후, DR과 BDR선출
▪ Two-way 상태에서는 DR과 BDR의 선출을 위해서 wait시간만큼(dead주기와 동일) 기다린 후, DR과 BDR선출
► exstart 상태
▪ Master 라우터와 Slave 라우터 선출
▪ DDP(Database Description Packet) 패킷 교환 시 사용하는 DDP 패킷의 순서번호(Sequence Number)를 결정한다.
▪ Master 라우터와 Slave 라우터 선출
▪ DDP(Database Description Packet) 패킷 교환 시 사용하는 DDP 패킷의 순서번호(Sequence Number)를 결정한다.
► exchange 상태
▪ Link State Database에 저장된 LSA의 Header만을 DDP(or DBD) 패킷에 담아 상대방에게 전송
▪ DDP 패킷을 수신한 라우터는 자신의 Link State Database와 비교하여
받은 패킷이 Update된 것이면, Link State request List기록
▪ DDP 수신이 끝난 후 Link State request List를 확인하고 기록해 둔 것이 없으면 Full상태,
기록한게 있으면 Loading상태로 전환
► loading 상태
▪ LSR을 보내어 특정 LSA의 상세 정보를 보내줄 것을 요청.
▪ 요청을 받은 라우터는 LSA의 상세정보를 LSU에 담아 전송
► full 상태
▪ 어드제이션트 라우터들 간의 라우팅 정보 교환이 끝난 상태.
▪ 어드제이션트 라우터들 간의 Link State Database가 모두 일치
▪ Link State Database에 저장된 LSA의 Header만을 DDP(or DBD) 패킷에 담아 상대방에게 전송
▪ DDP 패킷을 수신한 라우터는 자신의 Link State Database와 비교하여
받은 패킷이 Update된 것이면, Link State request List기록
▪ DDP 수신이 끝난 후 Link State request List를 확인하고 기록해 둔 것이 없으면 Full상태,
기록한게 있으면 Loading상태로 전환
► loading 상태
▪ LSR을 보내어 특정 LSA의 상세 정보를 보내줄 것을 요청.
▪ 요청을 받은 라우터는 LSA의 상세정보를 LSU에 담아 전송
► full 상태
▪ 어드제이션트 라우터들 간의 라우팅 정보 교환이 끝난 상태.
▪ 어드제이션트 라우터들 간의 Link State Database가 모두 일치
▪ debug ip ospf adj : OSPF 정상적으로 동작하지 않을 시에 사용하는 debug.
◈ OSPF Metric
▪ 기준 bandwidth : 10^8
▪ Metric 값 = 기준 Metric / 회선Bandwidth
▪ 회선 Bandwidth가 100M 이상은 Metric가 동일하게 나오므로, 기준 값을 변경해서 사용.
- Router(config-router)# auto-cost reference-bandwidth [1 -4294967 Mbit]
▪ Interface Cost변경 : 다른 벤더의 장비 연결 시 주로 사용. (Metric 값의 계산 방법이 다를 경우)
- Router(config-if)# ip ospf cost [1-65535]
◈ OSPF AREA
► OSPF는 네트워크를 복수개의 Area로 나누어서 설정
► 규모가 작은 네트워크에서는 하나의 Area만 사용
► 규모가 큰 네트워크에서는 복수개의 Area를 사용하는 데, 이들은 항상 Backbone Area에 물리적으로
► 규모가 작은 네트워크에서는 하나의 Area만 사용
► 규모가 큰 네트워크에서는 복수개의 Area를 사용하는 데, 이들은 항상 Backbone Area에 물리적으로
직접 연결되어야 한다.
► OSPF의 라우팅 정보를 LSA라 하는데, 이 중 type 1과 type2는 동일 Area로만 전달 된다.
► Area 별 축약이 가능하다. (LSA type3은 특정 에어리어의 네트워크 정보를 전송하는 데, 이것의 전송을 줄일 수 있다)
► Stub Area는 OSPF 외부 네트워크(재분배된 네트워크)or
► OSPF의 라우팅 정보를 LSA라 하는데, 이 중 type 1과 type2는 동일 Area로만 전달 된다.
► Area 별 축약이 가능하다. (LSA type3은 특정 에어리어의 네트워크 정보를 전송하는 데, 이것의 전송을 줄일 수 있다)
► Stub Area는 OSPF 외부 네트워크(재분배된 네트워크)or
다른 Area의 라우팅 정보가 모두 차단되어 라우팅 테이블이 줄어든 Area.
► OSPF Area는 인터페이스별로 설정.
► OSPF Area는 인터페이스별로 설정.
► OSPF Area는 1개 사용 시에는 Area 번호가 상관없지만 2개 이상 사용 시
반드시 백본 Area(Area 0 고정)을 포함해야 한다
◈ OSPF 라우터의 종류
► 백본 라우터
▪ 백본 Area에 속한 라우터
▪ 백본 Area에 속한 라우터
► 내부 라우터
▪ 하나의 Area에만 속한 라우터
► ABR
▪ 두 개 이상의 Area에 소속된 Area 경계 라우터.
► ASBR
▪ OSPF 네트워크와 다른 라우팅 프로토콜이 설정된 네트워크를 연결하는 AS 경계 라우터
▪ 다른 라우팅 프로토콜을 OSPF로 재분배 시키는 라우터
► ABR
▪ 두 개 이상의 Area에 소속된 Area 경계 라우터.
► ASBR
▪ OSPF 네트워크와 다른 라우팅 프로토콜이 설정된 네트워크를 연결하는 AS 경계 라우터
▪ 다른 라우팅 프로토콜을 OSPF로 재분배 시키는 라우터