본문 바로가기
IT기술

CDP(Cisco Discovery Protocol)에 대해 알아보자

by romydady 2024. 5. 27.

CDP 개요

Cisco Discovery Protocol(CDP)은 Cisco 장비 간 네트워크 관리를 용이하게 하기 위해 Cisco에서 개발한 독점 프로토콜입니다. CDP를 사용하면 네트워크 엔지니어가 인접 네트워크 장비에 대한 하드웨어 및 프로토콜 정보를 수집할 수 있습니다. 이를 통해 장비 유형, 소프트웨어 버전, 활성화된 인터페이스(물리적 또는 VLAN), 구성 정보 등 다양한 정보를 확인할 수 있습니다. 이는 네트워크 문제 해결 및 문서화에 매우 유용합니다.

CDP의 주요 기능

  • 인접 Cisco 장비 검색 및 정보 수집
  • 네트워크 토폴로지 파악
  • 문제 해결 및 네트워크 문서화 지원

CDP와 유사한 프로토콜

CDP와 유사한 기능을 하는 프로토콜로는 Foundry Discovery Protocol(FDP), Nortel Discovery Protocol(NDP), Link Layer Topology Discovery(LLTD), Link Layer Discovery Protocol(LLDP) 등이 있습니다.

CDP 활용 시나리오

예를 들어, 새로운 네트워크 관리자로 채용되었는데 이전 관리자의 정보가 없는 경우를 생각해 볼 수 있습니다. 이때 CDP를 활용하면 네트워크 장비 정보를 쉽게 파악할 수 있어 네트워크 맵핑 및 문제 해결에 큰 도움이 됩니다.

CDP 활용 방법

이번 가이드에서는 CDP를 활용하여 인접 장비 정보를 수집하고 네트워크를 맵핑하는 방법을 알아보겠습니다. 다음과 같은 작업을 진행할 것입니다:

  •  CDP 명령어를 사용하여 인접 장비 정보 확인
  •  인접 라우터에 Telnet으로 접속하여 추가 정보 수집

 수집한 정보를 바탕으로 네트워크 토폴로지 작성

CDP 동작 원리

CDP 동작 원리

  • CDP는 기본적으로 시스코 라우터, 스위치 등 모든 지원 장비에서 활성화되어 있습니다.
  • 이 장비들은 직접 연결된 인접 장비로 CDP 메시지 또는 광고를 보내고 받습니다.
  • CDP는 2계층(데이터 링크 계층) 프로토콜이므로 메시지가 라우팅되거나 전달되지 않습니다.
  • 따라서 CDP를 통해 확인할 수 있는 정보는 직접 연결된 인접 장비에 한정됩니다.
  • 인접 장비가 시스코 장비이고 CDP를 실행 중이라면 서로 정보를 교환할 수 있습니다.

CDP 메시지 내용

시스코 장비가 CDP 패킷을 수신하면 인접 장비 정보를 테이블에 구축합니다. 이 CDP 패킷에는 다음과 같은 유용한 정보가 포함됩니다:

  • 장비 유형
  • 하드웨어 플랫폼
  • 하드웨어 기능
  • IOS 버전 번호
  • 호스트 이름
  • CDP 메시지를 생성한 인터페이스
  • 장비의 IP 주소
  • 포트 ID
  • CDP 광고의 유효 시간

CDP 메시지 전송 및 수신

  • CDP 메시지는 기본적으로 60초마다 생성됩니다.
  • 인접 장비가 없어진 경우 180초 후 홀드타임이 만료됩니다.
  • CDP 메시지는 SNAP(Subnetwork Access Protocol) 프레임 유형을 사용하는 멀티캐스트로 전송됩니다.
  • SNAP은 이더넷, 토큰 링, FDDI, ATM, PPP, HDLC, 프레임 릴레이 등의 미디어 유형에서만 지원됩니다.
  • CDP는 Cisco IOS 버전 10.3부터 지원되며, CDP v1과 CDP v2가 있습니다.
  • CDP v1은 단순히 장비 정보를 수집하지만, CDP v2는 더 지능적인 장비 추적 기능을 제공합니다.

CDP는 Cisco 장비 간 직접 연결된 정보를 수집하고 공유하는 데 매우 유용한 프로토콜입니다. 네트워크 관리자는 CDP를 활용하여 네트워크 토폴로지를 파악하고 문제 해결에 활용할 수 있습니다.

CDP 활성화하기

CDP 활성화/비활성화 방법

  • CDP 활성화
    • CDP는 기본적으로 Cisco 장비에서 활성화되어 있습니다.
    • 하지만 필요에 따라 인터페이스별로 CDP를 활성화할 수 있습니다.
    • 인터페이스 구성 모드에서 cdp enable 명령을 사용하면 해당 인터페이스에서 CDP를 활성화할 수 있습니다.
  • CDP 비활성화
    • CDP를 비활성화하려면 인터페이스 구성 모드에서 no cdp enable 명령을 사용합니다.
    • 이렇게 하면 해당 인터페이스에서 CDP가 비활성화됩니다.

예시 구성

예를 들어, 다음과 같은 네트워크 토폴로지가 있다고 가정해 보겠습니다:

  • 라우터 이름: Router_1
  • 직접 연결된 라우터: Router_2, Router_3
  • 직접 연결된 스위치: Switch

이 경우 Router_1에서 다음과 같이 CDP를 구성할 수 있습니다:

Router_1# configure terminal
Router_1(config)# interface serial 0/0
Router_1(config-if)# cdp enable
Router_1(config-if)# interface serial 0/1
Router_1(config-if)# cdp enable
Router_1(config-if)# interface fastethernet 0/0
Router_1(config-if)# cdp enable
Router_1(config-if)# exit
Router_1(config)# exit
Router_1#

 

이렇게 하면 Router_1의 serial 0/0 및 fastethernet 0/0 인터페이스에서 CDP가 활성화됩니다. 필요에 따라 특정 인터페이스에서 no cdp enable 명령을 사용하여 CDP를 비활성화할 수 있습니다.

CDP는 Cisco 장비 간 연결 정보를 파악하는 데 매우 유용한 프로토콜입니다. 네트워크 관리자는 CDP를 활용하여 네트워크 토폴로지를 쉽게 파악하고 문제 해결에 활용할 수 있습니다.

CDP 활성화/비활성화 명령 요약

전역 구성(장비의 전체 인터페이스에 활성화됨)

  • CDP 활성화: cdp run
  • CDP 비활성화: no cdp run

인터페이스 구성(특정 인터페이스에 활성화시킴)

  • CDP 활성화: cdp enable
  • CDP 비활성화: no cdp enable

이렇게 CDP를 전역적으로 또는 인터페이스별로 활성화하거나 비활성화할 수 있습니다.

추가로 CDP에 대해 알아두면 좋은 점은 다음과 같습니다:

  • CDP를 통해 연결된 Cisco 장비의 모델, 펌웨어 버전, IP 주소 등의 정보를 확인할 수 있습니다.
  • 이는 네트워크 문제 해결, 토폴로지 파악, 장비 관리 등에 매우 유용합니다.
  • CDP는 기본적으로 활성화되어 있지만, 필요에 따라 비활성화할 수 있습니다.

이러한 정보는 네트워크 문제 해결, 토폴로지 파악, 장비 관리 등에 매우 유용하게 활용될 수 있습니다.

CDP 타이머 설정

CDP 타이머와 홀드타임 설정

CDP 타이머

  • CDP 타이머는 CDP 광고가 모든 라우터 인터페이스에서 전송되는 시간 간격을 나타냅니다.
  • 기본값은 60초입니다.
  • cdp timer 100 명령을 사용하여 CDP 타이머를 100초로 변경할 수 있습니다.

CDP 홀드타임

  • CDP 홀드타임은 라우터가 이웃 라우터로부터 받은 CDP 정보를 유지하는 시간을 나타냅니다.
  • 이 시간이 지나면 해당 정보가 폐기됩니다.
  • 기본값은 180초입니다.
  • cdp holdtime 200 명령을 사용하여 CDP 홀드타임을 200초로 변경할 수 있습니다.

CDP 타이머 설정 예시

CDP 타이머는 CDP 광고가 전송되는 시간 간격을 설정합니다. 기본값은 60초입니다.

CDP 타이머를 변경하려면 다음과 같은 명령을 사용합니다:

HQ_Router(config)# cdp timer 100

이 명령을 실행하면 CDP 타이머가 100초로 변경됩니다. 즉, 100초마다 CDP 광고가 전송됩니다.

예를 들어, 다음과 같이 CDP 타이머를 설정할 수 있습니다:

  • cdp timer 60: CDP 광고를 60초마다 전송
  • cdp timer 90: CDP 광고를 90초마다 전송
  • cdp timer 120: CDP 광고를 120초마다 전송
반응형

CDP를 통한 정보 수집

CDP(Cisco Discovery Protocol)를 사용하여 직접 연결된 장치에 대한 정보를 수집하는 방법에 대해 자세히 살펴보겠습니다.

CDP 명령어 요약

  1. enable: 특권 EXEC 모드로 전환합니다.
  2. show cdp neighbors: 직접 연결된 장치에 대한 기본 정보를 표시합니다.
  3. show cdp neighbors detail: 직접 연결된 장치에 대한 자세한 정보를 표시합니다.
  4. show cdp entry *: 모든 직접 연결된 장치에 대한 정보를 표시합니다.
  5. show cdp entry * protocols: 직접 연결된 장치의 IP 주소를 표시합니다.
  6. show cdp entry * version: 직접 연결된 장치의 IOS 버전을 표시합니다.

show cdp neighbors 명령어 output 내용

HQ_Router#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
                  D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtime    Capability  Platform  Port ID
HQ_Switch        Fas 0/1           180         T S         WS-C2950  Fas 0/0
LOS_Router       Ser 0/1/0         190         R S I       2801      Ser 0/2/0
NYC_Router       Ser 0/0/1         200         R S I       1841      Ser 0/0/1

이 명령어 output에서 확인할 수 있는 정보는 다음과 같습니다:

  • Device ID: 직접 연결된 장치의 호스트 이름
  • Local Interface: 호스트 라우터(HQ_Router)의 포트 또는 인터페이스
  • Holdtime: 라우터가 정보를 유지하는 시간(CDP 패킷을 더 이상 받지 않으면 이 시간 후 정보 삭제)
  • Capability: 직접 연결된 장치의 유형(라우터, 스위치, 리피터 등)
  • Platform: 직접 연결된 장치의 모델 번호
  • Port ID: 직접 연결된 장치의 포트 또는 인터페이스

show cdp neighbors detail 명령어 output 내용

HQ_Router#show cdp neighbors detail
------------------------
Device ID: HQ_Switch
Entry address(es):
  IP address: 192.168.1.10
Platform: WS-C2950-24, Capabilities: Switch IGMP 
Interface: FastEthernet0/1, Port ID (outgoing port): FastEthernet0/0
Holdtime : 180 sec

Version :
Cisco Internetwork Operating System Software 
IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA8a, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2006 by Cisco Systems, Inc.
Compiled Fri 28-Jul-06 15:12 by antonino

advertisement version: 2
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es):
  IP address: 192.168.1.10

------------------------
Device ID: LOS_Router
Entry address(es):
  IP address: 10.0.0.1
Platform: Cisco 2801, Capabilities: Router Switch IGMP 
Interface: Serial0/1/0, Port ID (outgoing port): Serial0/2/0
Holdtime : 190 sec

Version :
Cisco IOS Software, 2800 Software (C2800NM-ADVIPSERVICESK9-M), Version 12.4(15)T1, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Fri 20-Jul-07 18:23 by pt_team

advertisement version: 2
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es):
  IP address: 10.0.0.1

------------------------
Device ID: NYC_Router
Entry address(es):
  IP address: 172.16.0.1
Platform: Cisco 1841, Capabilities: Router Switch IGMP 
Interface: Serial0/0/1, Port ID (outgoing port): Serial0/0/1
Holdtime : 200 sec

Version :
Cisco IOS Software, 1800 Software (C1800-ADVIPSERVICESK9-M), Version 12.4(15)T1, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Fri 20-Jul-07 18:23 by pt_team

advertisement version: 2
VTP Management Domain: ''
Native VLAN: 1
Duplex: full
Management address(es):
  IP address: 172.16.0.1

이 출력에서 확인할 수 있는 추가 정보는 다음과 같습니다:

  • Device ID: 직접 연결된 장치의 호스트 이름
  • Entry address(es): 직접 연결된 장치의 IP 주소
  • Platform: 직접 연결된 장치의 모델 번호 및 기능
  • Interface: 호스트 라우터(HQ_Router)의 포트 또는 인터페이스
  • Port ID: 직접 연결된 장치의 포트 또는 인터페이스
  • Holdtime: 라우터가 정보를 유지하는 시간
  • Version: 직접 연결된 장치의 IOS 버전

추가 정보

  • show cdp entry * protocols 명령은 직접 연결된 장치의 IP 주소만 표시합니다.
  • show cdp entry * version 명령은 직접 연결된 장치의 IOS 버전만 표시합니다.

이러한 CDP 명령어를 사용하면 네트워크 토폴로지와 장치 정보를 쉽게 파악할 수 있습니다. 이를 통해 네트워크 관리와 문제 해결에 도움이 될 수 있습니다.

 

인터페이스 정보 수집

  • show cdp interface 명령어는 CDP(Cisco Discovery Protocol)를 사용하는 라우터 인터페이스의 상태를 보여줍니다.
  • 이 명령어는 각 인터페이스의 캡슐화 방식, 전송 주기, 홀드타임 등의 정보를 제공합니다.
  • CDP를 비활성화하면 show cdp interface 명령어 출력에서 해당 인터페이스 정보가 사라집니다.

상세 정보

  1. Enable Privileged EXEC Mode
    • 라우터에서 enable 명령어를 실행하여 특권 EXEC 모드로 전환합니다.
    • 필요한 경우 비밀번호를 입력합니다.
  2. 라우터 인터페이스의 CDP 상태 정보 
    • show cdp interface 명령어를 실행하여 CDP 상태를 확인합니다.
    • 명령어 출력 예시:
      HQ_Router#show cdp interface
      FastEthernet0/1 is up, line protocol is up
      Encapsulation ARPA
      Sending CDP packets every 100 seconds
      Holdtime is 180 seconds
      
      Serial0/1/0 is up, line protocol is up
      Encapsulation HDLC
      Sending CDP packets every 100 seconds
      Holdtime is 190 seconds
      
      Serial0/0/1 is up, line protocol is up
      Encapsulation HDLC
      Sending CDP packets every 100 seconds
      Holdtime is 200 seconds
      
    • 이 출력에서 각 인터페이스의 캡슐화 방식, CDP 전송 주기, 홀드타임 등을 확인할 수 있습니다.
  3. 인터페이스에서 CDP 비활성화하기
    • no cdp enable 명령어를 사용하여 특정 인터페이스에서 CDP를 비활성화할 수 있습니다.
    • CDP가 비활성화되면 show cdp interface 명령어 출력에서 해당 인터페이스 정보가 사라집니다.

CDP를 통한 네트워크 토폴로지 문서화

CDP를 이용한 네트워크 토폴로지 파악하기

  • 네트워크 관리자로 새로 채용되었으나 이전 관리자의 정보가 없어 네트워크 토폴로지를 파악해야 하는 상황
  • Cisco Discovery Protocol(CDP)을 활용하여 네트워크 토폴로지를 문서화할 수 있음
  • 주요 단계:
    1. 라우터 또는 스위치의 show running-config 명령어로 인터페이스 IP 주소 확인
    2. show cdp neighbors 명령어로 연결된 장비 유형 파악
    3. show cdp neighbors detail 명령어로 연결된 장비의 IP 주소 확인
  • 이를 통해 전체 네트워크 토폴로지를 문서화할 수 있음

상세 정보

  1. 라우터 또는 스위치의 인터페이스 IP 정보 확인
    • show running-config 명령어를 사용하여 라우터 또는 스위치의 인터페이스 IP 주소를 확인합니다.
    • 이를 통해 라우터 또는 스위치의 기본 정보를 문서화할 수 있습니다.
  2. 연결된 장비의 유형 파악
    • show cdp neighbors 명령어를 사용하여 라우터 또는 스위치에 연결된 장비의 유형을 파악합니다.
    • 이 명령어는 장비 ID, 인터페이스 유형 및 번호, 홀드타임, 기능, 플랫폼, 포트 ID 등의 정보를 제공합니다.
  3. 연결된 장비의 IP 주소 확인
    • show cdp neighbors detail 명령어를 사용하여 연결된 장비의 IP 주소를 확인합니다.
    • 이 명령어는 네트워크 주소, 활성화된 프로토콜, 소프트웨어 버전 등의 추가 정보를 제공합니다.
  4. 네트워크 토폴로지 문서화
    • 위에서 수집한 정보(라우터 또는 스위치의 인터페이스 IP, 연결된 장비 유형 및 IP)를 바탕으로 전체 네트워크 토폴로지를 문서화할 수 있습니다.
    • 이를 통해 네트워크 관리 및 문제 해결에 활용할 수 있습니다.

CDP 보안 이슈

CDP(Cisco Discovery Protocol)는 네트워크 엔지니어에게 유용한 프로토콜이지만, 보안 취약점이 존재합니다. CDP는 장비간 상호 인증 기능이 없고 평문으로 전송되어 공격자가 정보를 탈취하고 취약점을 악용할 수 있습니다. 또한, CDP 스푸핑 공격은 가장 일반적인 CDP 기반 공격 방식으로, 위조된 CDP 패킷을 전송하여 인접 장비측으로 DoS 공격을 수행할 수 있습니다.

  • CDP는 네트워크 장비 간 정보를 공유하는 Cisco 고유의 프로토콜이지만, 보안 취약점이 존재함
  • 2020년 5개의 CDP 취약점이 발견되었으며, 이 중 4개는 원격 코드 실행(RCE), 1개는 서비스 거부(DoS) 취약점임
  • 취약점이 발견된 Cisco 장비에는 IP 전화기, IP 카메라, NX-OS 스위치, Firepower 방화벽, NCS 시스템, IOS XR 라우터 등이 포함됨
  • Cisco는 이 취약점들에 대한 패치를 제공했지만, 대부분의 장비가 자동 업데이트되지 않아 수동 패치가 필요함

CDP 보안 위협

  • CDP 스푸핑 공격
    • 공격자가 위조된 CDP 패킷을 전송하여 네트워크 장비의 이웃 테이블을 오버플로우시키는 DoS 공격
    • 이로 인해 정상적인 트래픽이 차단되고 CLI 접근이 어려워질 수 있음
  • 정보 유출
    • CDP 패킷에는 네트워크 장비의 정보(IOS 버전, 모델 등)가 포함되어 있어 공격자가 이를 탈취할 수 있음
    • 이를 통해 알려진 취약점을 악용한 추가 공격이 가능함

CDP 보안 강화 방안

  • CDP 비활성화
    • CDP가 필요하지 않은 경우 전체 네트워크에서 CDP를 비활성화하는 것이 가장 효과적인 방법
  • Secure CDP 활용
    • Secure CDP 기능을 사용하여 전송되는 TLV 필드를 선택적으로 제한할 수 있음
  • CDP 모니터링
    • CDP 모니터링 도구(Cisco CDP Monitor 등)를 사용하여 네트워크의 CDP 변화를 실시간으로 모니터링하고 알림을 받을 수 있음

CDP와 LLDP 병행 사용

  • CDP와 LLDP는 함께 사용할 수 있으며, 이를 통해 다양한 벤더 장비와의 상호운용성을 높일 수 있음
  • 대부분의 Cisco 장비는 LLDP를 지원하지만 기본적으로 비활성화되어 있음

 

 

반응형

댓글