라우터 연결 및 라우팅 프로토콜 실습

최병훈·2024년 9월 30일
post-thumbnail

1. CDP와 LLDP

  • CDP(Cisco Discovery Protocol)
    : 시스코 장비 전용 프로토콜로 자신의 장비와 직접 연결된 시스코 장비들에 대한 정보를 얻기 위해 사용하는 도구

  • LLDP(Link Layer Discovery Protocol)
    : CDP와 유사한 국제 표준 프로토콜

  • CDP는 데이터 링크 계층에서 동작하는 프로토콜

  • CDP 명령이 제공하는 정보
    • 장비 식별자 : 라우터나 스위치에 설정된 호스트 이름
    • 주소 목록 : IP와 데이터링크 계층 주소
    • 포트 식별자 : 로컬 포트와 원격 포트의 이름
    • 성능 목록 : 장비(라우터인지 스위치인지 구분)
    • 플랫폼
  • 명령 시작
    show cdp
    • 세부 명령 확인 : show cdp ?
  • 기본은 활성화지만 비활성화 가능
    • CDP가 활성화 되어 있으면 보안 노출이 쉽게 일어난다.
    • CDP를 이용하면 라우터나 스위치의 상세 정보를 쉽게 얻을 수 있기 때문에 시스코는 기본적으로 비활성화를 권장
    • 장비 전체에서 비활성화 할 때
      no cdp run
    • 인터페이스 별로 비활성화 할 때
      no cdp enable
  • 두 라우터 간 연결

    • GNS3 GUI 창에서 두 라우터의 인터페이스를 연결

    • R1 라우터의 인터페이스에 IP 할당

      • 사용할 인터페이스 : FastEthernet0/0
      • IP 할당 : 192.168.0.1/24
      configure terminal
      interface fa0/0
      ip address 192.168.0.1 255.255.255.0
      no shutdown
      exit
      exit

    • R1 라우터의 인터페이스 IP 할당 확인

      show ip interface brief

    • R2 라우터의 인터페이스에 IP 할당

      • 사용할 인터페이스 : FastEthernet0/1
      • IP 할당 : 192.168.0.2/24
      configure terminal
      interface fa0/1
      ip address 192.168.0.2 255.255.255.0
      no shutdown
      exit
      exit
    • R2 라우터의 인터페이스 IP 할당 확인

      show ip interface brief

  • show cdp neighbors
    • 장비 식별자 (ID)
    • 로컬 인터페이스
    • 홀드 시간 : 이 시간 동안 응답이 없으면 연결이 끊어진 것으로 간주
    • 장비 성능 코드
    • 하드웨어 플랫폼
    • 원격 포트 ID
  • show cdp entry 이름
    • 장비 ID와 IP 주소도 출력
    show cdp entry R2
  • show cdp traffic
    • 전송된 패킷의 수
    • 오류에 관련된 내용
  • show cdp interface
    • 로컬 장비에 관한 인터페이스 상태를 확인

2. 연결 상태를 확인하는 방법

  • ping (Packet Internet Groper)
    : 실행 결과로 성공률과 특정 시스템을 찾고 되돌아오는데 걸리는 최단 시간, 평균 시간, 최상 시간을 리턴
  • traceroute
    : 패킷이 목적지까지 가는데 경유하는 경로를 출력
    IP 패킷의 헤더에서 TTL(Time To Live) 값을 설정하고 목적지 호스트의 유효하지 않은 포트로 패킷을 전송

3. 라우팅 프로토콜

  • 라우팅(Routing)
    : 하나의 네트워크에서 다른 네트워크로 정보를 이동시키기 위해서 경로를 결정하고 트래픽을 전송하는 과정
  • 네트워크 계층에서 이루어지고 이를 담당하는 장비를 Router 라고 합니다.
  • 라우팅 서비스는 네트워크 경로를 평가할 때 네트워크 토폴리지 정보를 사용
  • 네트워크 토폴리지 정보는 네트워크 관리자에 의해 설정될 수 있고 네트워크에서 일어나는 동적인 과정을 통해서 수집될 수도 있습니다.
  • 경로 결정 방법은 위와 동일하게 수동으로 하는 방법과 자동으로 하는 방법 2가지가 존재
    • 수동 : Static Routing
    • 자동 : Dynamic Routing
  • 목적지까지 경로를 찾아서 routing table에 저장을 하는데 하나의 목적지까지 가는 경로는 하나만 저장
  • 경로를 설정할 때는 시간이나 비용 등과 같은 기준이 있는데 이 기준을 메트릭이라고 합니다.
  • 라우팅 과정
    • 목적지 주소 확인
    • 라우팅 정보의 소스 파악 : 목적지로 가는 경로를 라우터가 어디로부터 학습할 수 있는지 파악
    • 경로 탐색
    • 경로 선택
    • 라우팅 정보의 유지 및 검증
    • 패킷 전송
    • 경로 학습
  • 현재 학습된 내용을 확인 : 라우팅 테이블을 확인
    show ip route
  • 메트릭 계산 방법
    : 한가지 정보 또는 여러가지 정보를 같이 이용
    • 대역폭(bandwidth) : 링크의 데이터 전송 속도
    • 지연(delay) : 하나의 패킷이 링크를 따라 발신지에서 목적지까지 이동하는데 소요되는 시간. 지연은 중간에 있는 링크의 대역폭, 각 라우터의 포트에 쌓인 큐, 네트워크 혼잡 정도, 물리적인 거리에 따라 결정
    • 부하(load) : 라우터나 링크와 같은 네트워크 자원의 사용량
    • 신뢰성(reliability) : 네트워크 링크의 오류율
    • 홉 카운트(hop count) : 라우터의 개수
    • 비용(cost) : 네트워크 관리자나 운영체제에 의해 할당되는 값
  • 자율 시스템
    • AS(Autonomous System) : 단일 기관의 관리 및 제어 아래에 있는 네트워크 또는 네트워크의 일부분
    • IGP와 EGP
      • IGP(Interior Gateway Protocol) : 자율 시스템 내에서 동작하는 라우팅 프로토콜
      • EGP(Exterior Gateway Protocol) : 자율 시스템 외부에서 동작하는 라우팅 프로토콜
    • 이렇게 나누는 이유는 비용 문제와 이기종 문제 때문
  • 관리 거리(Administrative Distance)
    • 경로의 신뢰도로 값이 낮을수록 높은 신뢰도를 의미한다.
      • 직접 연결된 인터페이스 : 0
      • 정적 경로 : 1
      • BGP : 20
      • EIGRP : 90
      • OSPF : 110
      • IS-IS : 115
      • RIP : 120
      • 사용 불가 : 255
  • 알고리즘에 따른 분류
    • 거리 벡터 알고리즘
      • 방향과 거리를 기준으로 경로를 선택
      • 일정한 주기를 가지고 자신이 가진 모든 라우팅 정보를 이웃한 라우터에게 전송
      • 변경 내역이 없어도 모든 라우팅 정보를 전송
      • 초창기에는 라우터가 많지 않았기 때문에 이 방식이 별 문제가 없어서 사용
  • 링크 상태 알고리즘
    • 네트워크에 변화가 발생한 경우에만 트리거 업데이트를 하고 주기도 거리 벡터 알고리즘에 비해서 길게 설정(30분 이상)
    • 링크 상태 라우터는 SPF(Shortest Path First) 트리 생성을 위해서 토폴로지 데이터에비스에 Dijkstra 알고리즘을 적용

4. 정적 경로 설정

ip route 목적지네트워크 [서브넷마스크] {주소 | interface} [distance] [permanet]
  • 주소를 설정할 때는 다음 hop의 라우터의 주소를 설정하고 인터페이스를 설정할 때는 현재 라우터에 연결된 인터페이스를 설정해야 합니다.
  • 기본 경로 설정
    • 라우터는 라우팅 과정 중에서 각 패킷의 목적지 IP 주소를 라우터의 라우팅 테이블에서 찾는데 일치하는 경로가 없으면 라우터는 패킷을 폐기
    • 라우터의 모든 경로에 패킷이 일치하지 않으면 폐기되는 패킷이 발생
    • 패킷이 폐기되는 것을 방지하기 위해서 설정하는 것이 기본 경로
    • 이 설정을 하게 되면, 잘 알지 못하는 목적지를 가진 패킷을 버리지 않고 잘 처리할 수 있는 라우터로 보내게 됩니다.
    • 라우팅 테이블의 크기가 작아집니다.
  • 예시
    ip route 0.0.0.0 0.0.0.0 {다음 라우터의 ip | 라우터와 연결된 인터페이스 이름}
  • 정적 라우팅 실습

    • R1에서 설정 : FastEthernet 0/1 에 IP 할당

      configure terminal
      interface fa0/1
      ip address 192.168.1.1 255.255.255.0
      no shutdown
      exit
      exit
    • R2에서 ping 명령을 수행하면 패킷이 도달하지 않음 : 어디로 보내야 할 지 모른다.

      ping 192.168.1.1  
    • R2에서 설정 : 정적 라우팅을 통해 라우팅 테이블에 경로 추가

      • 목적지가 192.168.1.0/24 인 패킷은 192.168.0.1 로 보내라
      configure terminal
      ip route 192.168.1.0 255.255.255.0 192.168.0.1
      exit
      • 정적 라우팅을 할 때는 목적지의 ip를 사용하는 것이 아니고 목적지를 포함하는 네트워크 주소를 입력해야 합니다.
    • R2에서 ping 명령을 통해 다시 확인

      ping 192.168.1.1  

    • 확인 : 라우팅 테이블에 static 라우트가 등록되어있다.

      show ip route

  • default gateway 설정
    • 모르겠으면 패킷을 192.168.0.1 로 보내라
      configure terminal
      ip route 0.0.0.0 0.0.0.0 192.168.0.1

5. RIP

  • 동적 라우팅 알고리즘은 목적지로 가는 경로들 중 최상의 경로를 선택해서 라우팅 테이블에 기록

  • 라우터는 자신이 알고 있는 경로를 광고한다.

  • 인접한 라우터들은 그 정보를 받아서 자신의 라우팅 테이블을 업데이트

  • 거리 벡터 알고리즘을 사용하고 라우팅 메트릭으로 hop count(중간에 있는 라우터의 개수)를 사용

  • 최대 hop count가 15, 16개 이상은 도달 불가능

  • 경로의 비용이 같은 경우 기본적으로는 4개 최대 16개까지 load balancing 을 수행

  • 버전이 2개가 있는데 v1은 classfull 이고, v2는 classless 입니다.
    • v1에서는 네트워크 마스크를 생략해도 되지만 v2는 네트워크 마스크가 필수입니다.
    • classless 가 되면 많은 네트워크를 가질 수도 있지만 라우팅 테이블의 크기를 줄일 수도 있습니다.
      • 라우팅 테이블을 만들 때
        192.168.0.0 255.255.255.0
        192.168.1.0 255.255.255.0
        ->
        192.168.0.0 255.255.254.0
        으로 합칠 수 있다.
  • 과정
    • 전체 설정 모드에서
      router rip
    • 라우터 설정 모드로 진입하게 되는데 여기서 version을 설정
    • RIP을 실행할 인터페이스를 지정합니다.
  • 동적 라우팅 프로토콜을 동작

    • R2에서 현재 설정된 라우팅을 확인

      show ip route

    • 정적 라우팅 제거 및 확인

      configure terminal
      no ip route 192.168.1.0 255.255.255.0 192.168.0.1
      exit
      show ip route

    • R2에서 ping 명령을 통해 확인 -> 실패, 정적 라우팅이 제거되었기 때문

      ping 192.168.1.1  

    • R2에서 작업

      configure terminal
      router rip
      version 2
      network 192.168.0.0
      exit
      exit
    • R1에서 작업

      configure terminal
      router rip
      version 2
      network 192.168.0.0
      network 192.168.1.0
      exit
      exit
    • R2에서 확인

      • RIP 프로토콜을 통해 R2의 라우팅 테이블에 새로운 경로가 추가되었다.
      show ip route

      • RIP 프로토콜을 통해 추가된 경로를 통해 ping 명령이 성공했다.
      ping 192.168.1.1

    • R2에서 프로토콜 확인

      show ip protocols

6. 라우터 4개를 연결해서 라우팅 프로토콜 실습

  • 각 라우터 연결

    • R1 라우터 연결
      configure terminal
      interface fa0/0
      ip address 192.168.0.1 255.255.255.0
      no shutdown
      exit
      exit
      show ip interface brief
    • R2 라우터 연결
    • show cdp neighbors 명령을 통해 2개의 라우터가 연결되었는지 확인

    • ping 명령을 통해서도 확인 가능

      • 192.168.0.1 : R1 라우터의 IP
      ping 192.168.0.1

    • 위의 작업을 반복하여 그림과 같이 나머지 라우터들 연결

  • 위와 같이 라우터를 케이블을 이용해서 연결하고 IP 주소를 설정하면 케이블로 직접 연결되고, 동일한 네트워크 대역에 속하면 통신이 가능
    • 즉, 현재 R1 입장에서, R2의 한 쪽 인터페이스와 R3의 한 쪽 인터페이스까지는 통신이 가능
    • 자신과 직접 연결되어 있지 않거나, 네트워크 대역이 다르면 현재는 통신이 되지 않는다.
    • 통신하기 위해서는 직접 연결되어 있거나, 라우팅 테이블에 찾아갈 수 있는 방법이 존재해야 한다.
  • Static Routing 을 설정
    • R1에서 R2의 반대편 인터페이스에 연결 설정
      • R1 라우터에서 설정
        : 목적지가 192.168.10.0/24 인 패킷은 192.168.0.254 (R2) 로 전달
      configure terminal
      ip route 192.168.10.0 255.255.255.0 192.168.0.254
      exit
    • ping 명령어로 확인
      ping 192.168.10.1
  • Static Route 의 문제

    • 경로가 존재함에도 불구하고 static route가 설정된 경로 중 일부에 장애가 발생하면 통신이 불가능해진다.

    • R2에서 수행

      configure terminal
      interface fa0/1
      shutdown
    • R1에서 수행

      • 연결이 안 된다.
      ping 192.168.20.1
  • Dynamic Routing 을 수행

    • R1에서 작업

      configure terminal
      router rip
      version 2
      network 192.168.0.0
      network 192.168.30.0
    • R2에서 작업

      configure terminal
      router rip
      version 2
      network 192.168.0.0
      network 192.168.10.0
    • R3에서 작업

      configure terminal
      router rip
      version 2
      network 192.168.10.0
      network 192.168.20.0
    • R4에서 작업

      configure terminal
      router rip
      version 2
      network 192.168.20.0
      network 192.168.30.0
    • R1에서 연결 확인

      • 다른 네트워크 대역을 인지하는지 확인
      show ip route

      • ping 명령을 통해 통신이 가능한지 확인
      ping 192.168.10.254

    • R1에서 R3의 192.168.10.254 까지 가는 경로를 확인

      traceroute 192.168.10.254

    • 경로를 확인해서 첫번째 경유지의 IP에 해당하는 인터페이스 찾기

      • 첫번째 경유지가 192.168.0.254 인데, 이 인터페이스는 R2의 fa0/1
    • R2에서 인터페이스를 shutdown

      configure terminal
      interface fa0/1
      shutdown

    • 직후에 R1에서 traceroute

      traceroute 192.168.10.254
      • R2에서 인터페이스 shutdown 한 직후에는 경로를 찾지 못한다.
    • 시간이 조금 지난 후 R1에서 다시 traceroute

      • 라우터가 192.168.10.254 로 가는 다른 경로를 학습했다.
      traceroute 192.168.10.254

  • RIP 해제
configure terminal
no router rip
exit

7. OSPF

  • Open Shortest Path First 는 링크 상태 라우팅 프로토콜

  • Classless 라우팅 프로토콜

  • RIP는 전체 토폴로지에 대하여 알 수 없고, 홉의 개수를 가지고 선택하므로 반드시 속도가 빠르다는 보장을 못합니다.

  • 링크 상태 프로토콜은 속도, CPU, 메모리 등의 성능을 기반으로 라우팅

  • 영역을 나누어서 설정하는 것도 가능

  • 설정을 할 때 서브넷 마스크가 아니라 와일드 카드 마스크를 이용합니다.
    • 와일드 카드 마스크는 서브넷 마스크 반대입니다.
  • 설정 방법
    router ospf 프로세스아이디
    network 네트워크주소 와일드카드마스크 area-id
    • R1에서 설정
      configure terminal
      router ospf 1
      network 192.168.0.0 0.0.0.255 area 0
      network 192.168.30.0 0.0.0.255 area 0
    • R2에서 설정
      configure terminal
      router ospf 1
      network 192.168.0.0 0.0.0.255 area 0
      network 192.168.10.0 0.0.0.255 area 0
    • R3에서 설정
      configure terminal
      router ospf 1
      network 192.168.10.0 0.0.0.255 area 0
      network 192.168.20.0 0.0.0.255 area 0
    • R4에서 설정
      configure terminal
      router ospf 1
      network 192.168.20.0 0.0.0.255 area 0
      network 192.168.30.0 0.0.0.255 area 0
    • R1에서 연결 확인
      show ip route

0개의 댓글