今天小T我给大家演示的是CDP协议的实验,CDPcisco Discovery protocol)是cisco私有的,专门用来发现邻居的协议。CDP不像路由协议那样为所有知道的网络显示下一跳目标端口,CDP只显示直接相连的邻居信息,CDP非常有助于验证一台路由器是否连在它邻居的适当接口上。简单的讲,通过CDP协议能判断网络设备接口是否根据网络拓扑正确连接了!通过CDP协议,网络设备能够得知与它相连接的邻居端口和主机名信息。也可以得知一些附加信息如:邻居的硬件模式号码及其功能。CDP虽然在网络设备调试中,没什么大的作用,但它在排错的时候,也发挥一下它的功能,而且CDP协议只使用于cisco产品中!<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

实验拓扑图如下:

IP 的规划如下:

路由器Bfa0/0 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />10.1.1.1/24

路由器Afa0/0 10.1.1.2/24

          fa0/1 172.16.1.1/24

路由器Cfa 0/1 172.16.1.2/24

 

网络连通性是由静态路由解决的,三台路由器的配置代码如下:

路由器B

 

hostname B

interface FastEthernet0/0

 ip address 10.1.1.2 255.255.255.0

 

ip route 0.0.0.0 0.0.0.0 10.1.1.1

路由器A

hostname A

interface FastEthernet0/0

 ip address 10.1.1.1 255.255.255.0

interface FastEthernet0/1

 ip address 172.16.1.1 255.255.255.0

 

路由器C

hostname C

interface FastEthernet0/1

 ip address 172.16.1.2 255.255.255.0

ip route 0.0.0.0 0.0.0.0 172.16.1.1

 

现在开始的我们的CDP实验,其实ciscoCDP默认就是开启的,不需要我们特意去配置些什么。cdp enable是在接口模式下开启cpd,如果你想让一个特定的接口开启cpd而其他接口不开启cpd的时候,就用这条命令(注:先要关闭全局默认的CDP,再搞接口开启)。;cdp run在全局模式下配置,这条命令一旦敲上去,所有接口都会开启CDP功能,这条命令是cisco默认开启的。关闭CDP命令就是在这两条语句前加个“no”!

我们用show cdp neighbors来查看三台路由器的通过CDP协议学到了那些邻居信息。显示结果如下:

B#show cd neighbors

Capability Codes: R - Router, T - TransBridge, B - SourceRouteBridge

                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone

Device ID    Local Intrfce   Holdtme    Capability   Platform    Port ID

A            Fas 0/0          171            R       C1841       Fas 0/0

 

A#show cdp neighbors

Capability Codes: R - Router, T - TransBridge, B - SourceRouteBridge

                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone

Device ID    Local Intrfce   Holdtme    Capability   Platform    Port ID

B            Fas 0/0          135            R       C2600       Fas 0/0

C            Fas 0/1          142            R       C2800       Fas 0/1

 

C#show cdp neighbors

Capability Codes: R - Router, T - TransBridge, B - SourceRouteBridge

                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone

Device ID    Local Intrfce   Holdtme    Capability   Platform    Port ID

A            Fas 0/1          125            R       C1841       Fas 0/1

 

现在就上面得一些信息进行分析一下。Device ID指的是邻居的名称,也就是在上面配置的hostname名字,Local Interfce是本地的接口,Holdtme是保持时间,默认是180秒,假如我们把路由器BA断开,要等Holdtme的数字变成零才会删除掉对方的信息。Capability是现实对方的网络设备是什么设备,R是路由器,在上面的Capability Codes中讲述了字母相对应的意思。Platform是邻居的网络设备的型号。Port ID是对方的端口,通过Port IDLocal Interfce的信息,我们就能知道这台设备的哪个接口与对方的哪个接口连接了。在实际的网络排错中,我们排错的开始第一步是,检查物理连接是否断了,是否接错了接口。通过CDP协议,我们就不必跑到设备面前一个一个的排查了!

关于CDP的其他命令,我就不多讲了,给他家大致的描述一下。Cdp timer:本命令设置路由器发送CDP更新数据的间隔,缺省设置为60秒,全局模式下配置。clear cdp table:用于清除路由器的CDP表,而一旦清除,在用show cdp neighbor命令不会显示任何信息,直到从一台相邻的路由器收到一CDP更新数据包,特权模式下配置。Show cdp interface:本命令显示各端口的CDP状态,是特权级别可执行命令。show cdp traffic:本命令将显示路由器已发送和接受了多少CDP报文,也显示收到了多少错误的CDP报文,运行在特权模式。debug cdp [packets][ip][adjacency][events]:cdp的调试信息。