今天看了一下关于CDP(Cisco Discovery Protocol)思科发现/查找协议的应用,觉得还不错,写下来加深一下印象。
CDP协议是思科的私有协议,工作在数据链路层,主要用于发现直接相连的路由器信息,该协议默认是启用的,可以看到第三层信息。
实验拓扑如下:
R1的s0/0连接R2的s0/0,R1的s0/1连接R3的s0/0
因为是实验环境,所以要配置时钟频率,为了方便,把R1的两个S口均设为了DCE端。基本配置就不写了,就贴一下CDP协议的效果吧。
首先在R1上输入show cdp
R1#show cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds
Sending CDPv2 advertisements is enabled
这里显示CDP计时器的更新时间是60S,保持时间是180S,即如果路由器每60S向邻居发送一次CDP信息,如果60S没有收到相邻路由器的CDP信息,也不会马上删除这条邻居信息,而是要等待180S后仍然没有收到的话,才删除这条信息。
CDP协议的命令主要有以下几个:
show cdp interface
show cdp neighbors
show cdp neighbors detail
show cdp entry *
show cdp entry 主机名
在R1上使用show cdp neighbors
R1#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
R2 Ser 0/0 122 R C2600 Ser 0/0
R3 Ser 0/1 165 R C2600 Ser 0/0
Device ID 表示邻居的主机名
Local Intrfce 表示本地和邻居相连的接口
Holdtme 指的是保持时间还剩下多少秒
Capability 这里显示的是邻居设备类型,R表示是路由器
Platform 设备平台,这里是2600系列
PortID 邻居的接口
即R1通过自己的S0/0口连接了一台主机名为R2的C2600路由器的S0/0口,通过自己的S0/1口连接了一台主机名为R3的C2600路由器的S0/0口。
在R2上使用相同的命令
R2#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
R1 Ser 0/0 167 R C2600 Ser 0/0
这里我们可以看到R2只有R1一个邻居
show cdp neighbors detail/show cdp entry *这两个命令显示的内容其实是一样的,都是显示邻居的详细信息,我贴一下R1上显示的结果
R1#show cdp entry *
Device ID: R2
Entry address(es):
IP address : 10.1.1.2
Platform: cisco C2600, Capabilities: Router
Interface: Serial0/0, Port ID (outgoing port): Serial0/0
Holdtime: 140
Version :
Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-I-M), Version 12.2(28), RELEASE SOFTWARE (fc5)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2005 by cisco Systems, Inc.
Compiled Wed 27-Apr-04 19:01 by miwang
advertisement version: 2
Duplex: full
---------------------------
Device ID: R3
Entry address(es):
IP address : 10.1.2.2
Platform: cisco C2600, Capabilities: Router
Interface: Serial0/1, Port ID (outgoing port): Serial0/0
Holdtime: 122
Version :
Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-I-M), Version 12.2(28), RELEASE SOFTWARE (fc5)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2005 by cisco Systems, Inc.
Compiled Wed 27-Apr-04 19:01 by miwang
advertisement version: 2
Duplex: full
可以看到这里显示了邻居更多详细的信息
show cdp entry 主机名,这个命令比较好理解,就是显示对应主机名的邻居的信息,这里就不再赘述了。
前面说过cdp协议是默认开启的,我们也可以关闭他,命令及显示效果如下
R2(config-if)#no cdp enable
R2(config-if)#end
R2#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
R1 Ser 0/0 159 R C2600 Ser 0/0
这里我们发现,仍然可以看到邻居信息,有R1这样一个邻居,这是前面提到的,保持时间的问题,要等到180S之后,才会将这条邻居信息删除掉,我们可以看到,保持计时还剩下159S,等到了时间再输入命令会发现这条邻居信息被删除掉了
R2#show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
嗯,就写这么写吧,我今天学到的就这么多了。