[CISCO 보안 아카데미 1기] 13일차 정리 (재분배, EIGRP, DUAL 알고리즘, SIA, CML 실습)

Jin_Hahha·2024년 7월 10일
0


재분배 기술

라우팅 재분배

  • 대규모 네트워크에서 하나의 라우팅 프로토콜이 아닌 여러 라우팅 프로토콜을 특정 구역마다 할당하는 방식

  • 특정 라우터에 RIP과 EIGRP를 동시에 적용하여 RIP 네트워크와 EIGRP 네트워크 사이에 설치하여 재분배를 해줄 경우, EIGRP 라우터의 라우팅 테이블에는 RIP 네트워크에 대한 경로다 Dex로 표시됨

  • eigrp 구간에서의 명령어

    redistribute rip metric 1 1 1 1 1

    • rip 정보를 받아서 K 상수 값을 전부 1로 설정하여 받겠다는 의미
  • rip 구간에서의 명령어

    redistribute eigrp 1 metric 5

    • eigrp 정보를 받아서 metric 값을 5 상승시켜 설정하겠다는 의미
    • 실제로 2.0 네트워크와 3.0 네트워크, 8.0 네트워크로 가는 metric 값이 6으로 변경

EIGRP

기본 특징

  • Advanced Distance Vector / Hybrid 라우팅 프로토콜
  • Cisco 전용 라우팅 프로토콜
    • 224.0.0.10 멀티캐스트 주소 사용
  • classless 라우팅 프로토콜, 서브넷과 VLSM 지원
  • partial update, 주기적인 업데이트가 아닌 경로에 변화가 있을 경우에만 업데이트 내용 전송
  • 라우팅 테이블에서 D로 표현됨
    • Diffusing update algorithm(DUAL)을 의미
    • 해당 알고리즘을 통해 최적의 경로 선출
  • OSPF 라우팅 프로토콜에 비해 구축이 쉬움

RIP와 다른 특징

  • router rip과 다르게 명령어 끝에 숫자가 붙음

router eigrp {number}

  • 여기서 number는 process ID(AS ID)
  • 하나의 기관을 가리키는 고유 숫자
    • 해당 숫자가 동일해야 라우터 간 연결 활성화

classful / classless

  • EIGRP에서 network 선언을 해줄 때 기존의 RIP와 같이 network 명령어를 입력할 수도 있음 << classful

network {포트에 할당된 IP 전체 주소} {와일드카드 마스크}
ex) network 2.2.2.2 0.0.0.0

  • 해당 ip만을 네트워크에 광고하겠다는 의미

  • 위의 형식으로 명령어를 입력하면 라우터의 리소스를 덜 사용하면서 추후에 있을 이중화에서도 유용하게 사용 가능

이웃 관계

  • hello 패킷을 통해 인접한 라우터끼리 hello message를 주고 받음
  • 동일한 라우팅 프로토콜을 사용하면 이웃(neighbor) 관계 성립
  • 이웃 관계가 맺어지면 토폴로지 테이블을 교환
  • 토폴로지 테이블에서 DUAL 알고리즘을 통해 최적 경로 선출

hello packet 전송 주기

  • 1,544Mbps 보다 낮은 bandwidth일 경우, 60초
  • 1,544Mbps 이상의 bandwidth일 경우, 5초

hold time

  • 각 전송 주기의 3배 이상의 시간이 흐른 후까지 hello packet 수신이 되지 않는다면 hello 패킷 전송 중지 및 이웃 관계를 잠시 끊는 시간을 의미
    • 1,544Mbps 보다 낮은 bandwidth일 경우, 180초
    • 1,544Mbps 이상의 bandwidth일 경우, 15초

EIGRP Router ID

EIGRP Process ID 식별

  • 라우터 식별, 라우터를 특정하기 위해 사용(업데이트를 보낸 라우터 식별)
  • 루프 방지, 경로 업데이트가 동일한 라우터를 통해 반복되지 않도록 함

수동 설정

router eigrp 7
eigrp router-id 1.1.1.1

  • 수동으로 설정하지 않을 경우, loopback interface를 ID로 설정

  • loopback interface가 없을 경우, 라우터에 할당된 IP 주소 중 더 큰 숫자의 IP를 기준으로 자동 설정

    203.230.7.1 / 203.230.8.1이 있을 경우
    203.230.8.1를 router id로 사용

    203.230.8.2 / 203.230.9.1이 있을 경우
    203.230.9.1을 router id로 사용


DUAL Algorithm

경로 발견

  • 새로운 경로가 발견되면 각 경로 비용 계산하여 최적 경로 successor 및 feasible successor 선택
    • successor, 가장 최적의 경로 (라우팅 테이블에 올라가는 경로)
      • 이중화가 되어 있더라도 feasible이 선출되지 않을 경우, successor만 존재할 수 있음
    • feasible successor, successor를 선출하면서 나오는 2순위 경로
      • 일반적으로 successor가 끊어졌을 경우 다음 successor로 사용됨

경로 유지

  • hello 패킷을 통한 주기적 연결 상태 확인

대체 경로

  • feasible successor, 일반적으로 successor가 선출될 경우 자동 선택됨
  • 가끔 feasible successor가 없을 상황에서 successor에 문제가 발생했을 때, 주변 라우터로 새로운 경로가 있는지에 대한 query message 전송

Query 응답

  • Query 응답을 통해 새로운 경로를 받아 업데이트

요점

  • 업데이트를 통해 주변 라우터에 경로에 대한 상태 전송
  • ACK를 기반으로 경로에 대한 정보를 주고 받음


EIGRP 토폴로지 관리

Feasible Distance(FD)

  • 출발지 Router에서 목적지 네트워크꺼자 계산한 EIGRP Metric 값
  • 경로에 할당된 Metric 값을 더하여 계산

Reported Distance(RD)

  • 출발지 next-hop 라우터에서 목적지 네트워크가지 계산한 EIGRP Metric 값
  • 자신과 연결된 경로의 Metric을 제외하고 나머지 경로의 Metric 값을 더하여 계산

Feasible Successor

  • 본인의 RD 값이 Successor의 FD 값보다 작은 경우 Feasible successor로 선택
  • 본인의 RD 값이 Successor의 FD 값과 같거나 큰 경우 Feasible successor로 선택되지 않음
    • Feasible successor가 없으므로 DUAL 알고리즘 재실행

Feasiblity condition

  • Feasible successor가 되기 위한 조건
    • 특정 경로의 RD 값이 Successor의 FD 값보다 작아야 Feasible successor로 선정됨

라우터의 Active 상태

  • Query를 보낸 라우터가 Query에 대한 응답(Query reply)을 기다리는 상태
  • 이중 경로로 Query를 전송했을 때, 한 쪽 경로로만 reply를 받았을 경우 active가 바로 해제되지 않음
    • 모든 경로에서 reply를 받을 경우에 active 해제

EIGRP SIA(Stuck In Active)

  • Query 패킷을 전송한 라우터가 180초까지 라우터의 응답을 기다림
  • 만약 180초가 지났는데 reply가 오지 않는다면 상대 라우터와 연결이 끊어진 것으로 인식하고 SIA 모드 유지

SIA 해결방법

5가지의 대책

  1. 네트워크 토폴로지 확인 후, 문제가 생긴 링크 또는 장치 점검
  2. Query 패킷 응답 시간 연장 (기본 3분보다 길게 설정)

    router eigrp {AS ID}
    timers active time-{minute}

    # reply 시간을 minute분으로 연장
  3. 네트워크가 복잡하여 대역폭이 부족할 수 있으니 충분한 대역폭 확보
  4. 물리적 연결 상태 결함 확인
  5. 쿼리 범위 제한

    network 203.230.7.0 0.0.0.255 / 203.230.7.1 0.0.0.0

  • 크게 도움이 되는 방법들은 아님

EIGRP 패킷

hello packet

  • 가장 기본적으로 전송하는 패킷
  • neighbor를 구성하고 유지하기 위한 패킷
  • 주기적으로 전송
  • 전송 주기의 3배에 해당하는 시간이 지날 때까지 응답을 받지 못하면 neighbor 해제

update packet

  • 경로에 변화가 생겼을 경우 해당 사항을 주변 라우터에 알리기 위해 전송하는 패킷

query packet

  • 경로에 문제가 발생했을 경우, 최적 경로를 찾기 위해 주변 라우터에 전송하는 패킷

reply packet

  • Query packet을 수신한 router가 요청한 라우팅 정보를 전송할 때 사용

ACK packet

  • reply packet 수신 확인용 패킷

EIGRP 테이블

neighbor table

show ip eigrp neighbors

  • 인접성을 맺은 라우터들을 보여주는 테이블

topology table

show ip eigrp topology table
show ip eigrp topology table detail-links

  • neighbor에게서 받은 네트워크 이름과 Metric 정보를 저장하는 테이블

routing table

show ip route

  • 라우터의 라우팅 정보와 경로에 대한 정보를 저장하는 테이블

EIGRP metric

K 상수값

  • K1 = 대역폭, K2 = 로드, K3 = 지연, K4 = 신뢰성, K5 = MTU

EIGRP Metric 계산

  • 대역폭(Bandwidth), 송신지와 수신지 사이의 가장 작은 대역폭
  • 지연(Delay), 경로에 따라 누적되는 인터페이스의 지연

인접성

  • 인접성 조건으로 AS 번호가 반드시 동일해야 함
  • K 상수 값이 동일해야 함

OSPF (basic concept)

  • 다익스트라(Dijkstra) 알고리즘 기반의 최단 경로 계산
  • 각 라우터의 링크 정보를 같은 네트워크 내 모든 라우터에게 전송하기 위해 LSA(Link State Advertisement) 패킷 생성
    • 30분(LSA Refresh Interval)마다 LSA를 통해 링크 상태 업데이트

DR / BDR / DROTHER

  • hello, LSA 패킷을 모두에게 전송하기엔 평소 데이터 전송 과정에서 트래픽이 과도하게 발생하기에 DR, BDR을 선출하여 대표로서 hello packet을 송수신 하도록 설정
  • DROTHER은 일반 라우터를 의미
  • DR은 한 번 선출되면 OSPF 프로세스가 재설정 되지 않는 이상 영구적으로 DR을 유지
    • OSPF 재설정 명령어

      clear ip OSPF *

DR / BDR 선출 기준

  • https://itaeheon.tistory.com/43
    • 선출 기준에 대해 상세한 기준을 설명한 블로그
  • Priority가 높은 것
  • Router-ID가 높은 것

  • 실제 설계 결과, Priority가 1순위 / Router-ID가 2순위로 설정됨

  • LSA 정보를 받아 전체 토폴로지를 구성하는 DB(Database)
  • Tolpology Table과 동일하다고 볼 수 있음
  • LSDB는 모든 라우터가 동일한 정보를 지님

링크 cost

  • 모든 네트워크 링크는 cost 값을 지니고 있음
  • 총 cost 값이 가장 작은 경로를 선택

OSPF의 특징

  • IETF에서 표준화한 개방형 IGP 프로토콜(RFC 2328)
  • 네트워크 토폴로지의 변화가 빠름 (부분 업데이트를 실시)
  • 링크 상태 정보를 최신 상태로 유지하기 위해 업데이트 내용이 없더라도 30분 간격의 Link-State Refresh를 통해 링크 상태 정보를 주기적으로 갱신
  • Area 기반의 계층적 디자인 사용, 인증을 지원
    • 다른 Area여도 직접적으로 연결되어 있으면 full routing 가능
    • 그러나 A Area와 연결된 B Area가 존재하고, B Area와 연결된 C Area까지는 full routing 불가능
      • 이를 해결하기 위해 C Area에 가상의 링크를 생성하여 B와 연결하면 full routing 가능
  • 224.0.0.5와 224.0.0.6의 멀티캐스트 주소 사용

CML 실습_1

토폴로지

설정

  • EIGRP를 기반으로 하는 네트워크 구축
  • neighbor 관계가 잘 맺어졌는지, routing table을 통해 라우터 간 자동 경로 설정이 잘 이루어졌는지 확인할 것

라우터 설정

  • 각 라우터의 설정은 할당 IP만 다를 뿐 거의 비슷하기에 R1의 설정 값만 업로드

MD5


routing table

  • 사진에서 알 수 있듯이, EIGRP로 탐색하고 설정한 경로는 D로 표시됨

neighbor table

  • neighbor 테이블을 보면, R1과 직접적으로 연결되어 hello packet을 주고 받아 neighbor 관계가 성립된 라우터 R4가 등록되어 있음

topology table

  • topology table은 EIGRP를 통해 얻은 모든 ip에 대한 경로 정보와 어느 포트에 할당되어 있는지, successor가 몇 개인가와 FD 값까지 기록

  • 해당 사진은 show ip eigrp {AS ID} topology detail-links를 입력했을 때 출력되는 topology table로, 일반 토폴로지 테이블보다 더 상세한 정보가 기록됨

show ip protocols

  • show ip protocols는 라우터에 사용된 EIGRP 프로토콜에 대한 상세 정보와 라우팅된 네트워크 항목, passive interface, 라우팅 정보 소스 등을 기록

CML 실습_2 (재분배)

토폴로지

  • 교수님께서 임의로 설정하신 토폴로지
  • 좌측 구역은 RIP로 동작하고, 우측 구역은 EIGRP로 동작

목표

  • 라우터의 설정을 다 마치고 각 라우터의 라우팅 테이블을 열람했을 때, 재분배가 일어날 경우 RIP와 EIGRP에서 서로의 경로가 어떻게 표시되는지 알아보기 위함

R1 라우팅 테이블

  • 8.0 대역 네트워크 역시 RIP로 탐색한 것으로 인식

R3 라우팅 테이블

  • EIGRP로 동작하는 R3 라우터에서의 R1-R2 구역의 네트워크는 EIGRP로 탐색했지만, 재분배가 일어났다는 것을 의미하는 EX 표시가 붙어 표시됨

R2 라우팅 테이블

  • R1과 R3 순서로 사진을 살핀 것은 R2의 특이성 때문
  • R2에는 EIGRP와 RIP가 동시에 설정되었고, 사진과 같이 RIP로 등록된 경로 R과 EIGRP로 등록된 경로 D가 공존하는 것을 볼 수 있음
  • R2에는 단순 RIP와 EIGRP 선언만 된 것이 아니라 R1과 R3 사이에서 일어나는 프로토콜의 차이를 매꾸기 위한 재분배 명령어가 추가로 입력됨

  • 위의 명령어를 통해 EIGRP 프로세스에서 RIP 프로세스를 받기 위한 설정으로 K 상수 값을 1로 통일하여 받도록 선언
  • RIP 프로세스에서 EIGRP 프로세스를 받기 위한 설정으로 metric 값을 5 상승시켜 받음으로 기존의 RIP 경로와 차별화하여 설정하도록 선언

R1에서의 debug ip rip

  • R1에서 debug ip rip을 했을 때, 실제로 EIGRP to RIP 설정을 통해 R2에 설정된 루프백 2.0 대역과 R3에 설정된 루프백 3.0, R2-R3 대역인 8.0 대역으로 향하는 metric 값이 5 증가된 것을 확인할 수 있었음

0개의 댓글