■ OSPF ( Open Shorest Path First )
- Link State 프토로콜
- 1980년대 네트워크의 대규모화 ( RIP의 한계 )
- 현재 가장 많이 사용
- 현재 사용되는 것은 버젼 2
- Classless 라우팅 ( CIDR , VLSM 지원함 )
- Convergence ( 수렴 ) 시간이 빠름
- 라우팅 정보를 서로 모두 교환 -> 전체 정보가 모든 라우터에게 동일하게 존재
- 라우팅 정보 변경시에만 업데이트
- MultiCast를 사용해 정보를 전달
224.0.0.5 => DROTHER 사용
224.0.0.6 => DR , BDR 사용
위의 주소를 목적지로 하여 전송
- SPF 또는 Dijkstra 라는 알고리즘을 이용하여 목적지까지 최적 경로를 계산
- OSPF 는 Area 라는 단위로 구성된다.
특정 Area에서 발생하는 상세한 라우팅 정보가 다른 Area로 전송되지 않아
큰 규모에서도 안정되게 운영할 수 있다.
- 범용
■ OSPF에서의 id 종류 ※암기필수
1) Process ID
라우터 내에서만 존재한다
같은 프로토콜끼리 구별을 하기 위한 목적으로 사용
2) router-id ( eigrp와 동일 )
#router eigrp 100
#eigrp router-id 1.1.1.1
생성 우선순위
1. 위와 같은 명령어르 직접 지정해주는 router-id
2. loopback 주소 중에서 int lo 0 가장 높은 값
3. 라우터에서 설정된 IP 주소 중에서 가장 높은 값 ( 물리적 인터페이스 주소 )
= 다른 라우터끼리 구별용
= 수동으로 입력하는 것이 우선순위가 가장 높음
3) Area ID
OSPF 내에서 영역 구별용
hello 패킷을 보냄 ( 이때 router-id 같이 보냄 )
"나도 OSPF 쓴다" 응답 보냄 ( 단, Area가 같을 때 )
이웃 관계를 맺음
지네들끼리 ( priority ) 값을 비교 ( priority 값이 모두 동일 ( 직접 설정하지 않은 경우 ))
=> router -id를 비교 => 순위를 정한다.
DR , BDR 선출
DR Designated Router 전반적인 정보 관리 ( 모든 라우팅 정보를 취합 ) ex. 반장
BDR Backup DR DR을 모니터링하다가 다운시 DR이 됨 ex. 부반장
DROTHER 그 외
새로운 라우터 추가
DR이 제일 먼저 이 정보를 받음
DR이 다른 라우터들에게 이 정보를 알림
■ 기본 설정
R(config)#router ospf //1~65535 사이의 적당한 값을 설정
//동일 라우터에서 복수개의 OSPF를 동작시킬때 서로를 구분하기 위해 사용
//일반적으로 하나의 라우터에 하나의 프로세스만 사용
R(config-router)#router-id x.x.x.x //거리벡터 방식은 라우팅 정보전송시 목적지네트워크, metric값만 알려주지만
//Link State 방식은 그외에도 해당 라우팅 정보를 만든 라우터와 해당 정보를
//전송하는 라우터가 어느것인지 알려준다.
R(config-router)#network y.y.y.y 0.0.0.0 area 0
//자신과 연결된 네트워크를 다른 라우터에게 광고한다.
//wildcardmask, 마지막에 area를 표시
int lo 0
ip add ~
exit
router ospf 1
net
■ Area
- OSPF는 여러 개의 Area으로 나눠서 설정
- 규모가 작을때는 하나의 Area만 사용하면 된다
- Area가 하나인 경우에는 아무 번호를 사용해도 된다
- 하지만 두 개 이상일 경우 하나는 반드시 0을 사용해야함
- Area 0은 백본 에어리어라고 한다.
■ 패킷
1. Hello Packet
인접 라우터 간 이웃관계를 형성하고 유지하는데 사용
일정 주기 안에 상대방으로부터 이 패킷을 수신받지 못하면 해당 이웃에게
문제가 생긴 걸로 간주하고 이웃관계를 끊는다
= 라우터 ID , Area ID , 인증 암호 , 서브넷마스크 , dead주기
priorty , DR BDR , 이웃 리스트 등을 포함
2. DBD ( Database Description Packet )
OSPF는 네트워크 정보를 LSA ( Link State Advertisement ) 라고 부르는데
자신이 만든 LSA와 이웃에게서 받은 LSA를 DBD에 저장한다.
3. LSR
이웃에게 전송받은 DBD에 자신의 DBD에 정보가 없는 네트워크가 있다면
그 네트워크에 대한 상세정보를 요청할 때 사용
4. LSU ( Link State Update )
LSA를 실어 나를 때
5. LS ACK(Acknowledgment)
신뢰성 확보
DBD LSR LSU 패킷을 수신하면 ACL패킷을 사용해 수신받았음을 알려준다.
<실습> VLSM에서의 OSPF
192.168.100.0
52개 2^6 = 64
255.255.255.11000000(192)
192.168.100.0 (1~62) 63
30개 2^5 = 32
255.255.255.11100000(224)
192.168.100.64 (65~94) 95
12개 2^4 = 16
255.255.255.11110000(240)
192.168.100.96 (97~110) 111
2개 2^2 = 4
255.255.255.252.11111100(252)
192.168.112 (113~114) 115
2개
255.255.255.252.11111100(252)
192.168.116 (117~118) 119
■ OSPF 라우터의 종류
- 백본 라우터 : area 0에 소속된 라우터
- IR : 한 개의 area에만 소속된 라우터
- ABR (Area Border Router) : 두 개 이상의 area에 소속된 경계 라우터
- ASBR (Autonomous System Boundary Router)
다른 라우팅 프로토콜이 설정된 네트워크를 연결하는 AS경계 라우터
■ DR 선출 방법 : 가장 성능이 우수한 장비를 선택
1. 인터페이스에서 ospf priority가 가장 높은 라우터가 DR이 된다.
(다음 순의 라우터가 BDR이 된다)
만약 priority가 0 이면 DR,BDR이 될 수 없다.
(config)#int fa0/0
(config-if)#ip ospf priority 5
2. 모두 동일하면 (위의 명령을 하지 않은 경우) 라우터ID가 높은 것이 DR이 된다.
3. DR BDR이 선출된 후에 더 높은 우선순위의 라우터가 추가되어도 DR은 변하지 않는다.
-> 모든 라우터를 재부팅하거나, (enable상태)#clear ip ospf process -> y 명령어를 사용해 다시 선출
4. DR이 다운되면 BDR이 DR이 되고 BDR은 다시 선출
BDR이 다운되면 BDR만 새로 선출
그 외는 DROTHER
show ip ospf neighbor
ip ospf priority 3
■ 인증
- 이웃 인증 외에도 영역 전체를 인증할 수 있다
- 인증하지 않은 것은 type 0, 평문 인증은 type 1, MD5인증은 type 2라고 한다
1) Area 인증
- 동일한 Area에 소속된 모든 라우터가 OSPF 인증을 하게 하는것
- 동일한 Area에 속한 모든 라우터의 인증방식은 동일해야 함
R(config)#router ospf 1 //라우팅 구성완료 후
R(config-router)#area 1 authentication message-digest
R(config)#int se0/0
R(config-if)#ip ospf message-digest-key <key값> md5 <word> //key값과 word는 이웃 간 일치해야함
ex)R(config-if)#ip ospf message-digest-key 7 md5 cisco
2) 이웃 인증
이웃과 연결된 인터페이스에서 인증방식과 키를 설정하면 됨
R(config)#int se0/1
R(config-if)#ip ospf authentication message-digest
R(config-if)#ip ospf message-digest-key <key값> md5 <word>
ex)R(config-if)#ip ospf message-digest-key 17 md5 cisco