今天小T我给大家演示的是CDP协议的实验,CDP(cisco Discovery protocol)是cisco私有的,专门用来发现邻居的协议。CDP不像路由协议那样为所有知道的网络显示下一跳目标端口,CDP只显示直接相连的邻居信息,CDP非常有助于验证一台路由器是否连在它邻居的适当接口上。简单的讲,通过CDP协议能判断网络设备接口是否根据网络拓扑正确连接了!通过CDP协议,网络设备能够得知与它相连接的邻居端口和主机名信息。也可以得知一些附加信息如:邻居的硬件模式号码及其功能。CDP虽然在网络设备调试中,没什么大的作用,但它在排错的时候,也发挥一下它的功能,而且CDP协议只使用于cisco产品中!
实验拓扑图如下:
IP
的规划如下:
路由器B:fa0/0 10.1.1 .1/24
路由器A:fa0/0 10.1.1 .2/24
fa0/1 172.16.1.1/24
路由器C:fa 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实验,其实cisco的CDP默认就是开启的,不需要我们特意去配置些什么。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 - 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
A Fas 0/0 171 R C1841 Fas 0/0
A#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
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 - 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
A Fas 0/1 125 R C1841 Fas 0/1
现在就上面得一些信息进行分析一下。Device ID指的是邻居的名称,也就是在上面配置的hostname名字,Local Interfce是本地的接口,Holdtme是保持时间,默认是180秒,假如我们把路由器B与A断开,要等Holdtme的数字变成零才会删除掉对方的信息。Capability是现实对方的网络设备是什么设备,R是路由器,在上面的Capability Codes中讲述了字母相对应的意思。Platform是邻居的网络设备的型号。Port ID是对方的端口,通过Port ID和Local 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的调试信息。