开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CCNA系列课程(3)CDP及设备基本操作

简介:
+关注继续查看
福利推荐:阿里云、腾讯云、华为云等大品牌云产品全线2折优惠活动来袭,4核8G云服务器899元/3年,新老用户共享优惠,点击这里立即抢购>>>

第三节课???? CDP及Cisco 设备常规操作
杜飞
2009-06-25
?????? 今天主要介绍一些Cisco设备的自动发现协议:CDP,然后再介绍一下设备的基本操作如接口类型,常见命令等。
首先咱们先来看第一个知识点
Cisco Discovery Protoco
????? Cisco 发现协议是Cisco专有的用来发现邻接点的协议 ,所有的Cisco 产品都支持CDP,不像路由协议那样为所有知道的网络显示下一跳目标端口,CDP只显示直接相连的邻居信息,CDP非常有助于验证一台路由器是否连在它邻居的适当端口。
所以CDP的目的:是获取直接相邻设备的信息?
????? 在这里一定要注意,是只能获取相邻设备的信息,如果是远程设备,中间隔了一个其他设备,也就是跨设备的话,是不能发现的,CDP是不起作用,如果想获取远程设备信息可以使用Telnet的方法。
?????? 一台运行CDP的路由器能够得知与它直接相连的邻居端口和主机名信息。也可以得到一些附加信息,邻居的硬件模式号码及其功能。运行CDP的路由器定时广播带有CDP更新数据的报文。用cdp timer命令设置CDP更新数据时间间隔,缺省值为60秒。我们可以通过在某个端口使用cdp enable 开启cdp功能,但出于安全性的考虑,一般在实际工作中可以禁止CDP功能。
?????? CDP协议是二层协议,所以可以透明于TCP/IP等网络层协议,而不管其他设备运行的是什么协议栈。
???? CDP协议的运行要求物理介绍必须支持SNAP协议
????? 子网络访问协议(SNAP)SubNetwork Access Protocol规范了在IEEE802网络上传输IP数据报的标准方法。也就是说IP数据报可以封装在802.2LLC里,然后在IEEE802网络上发送。
邻居信息
???? CDP运行与IOS10.3以后的Cisco设备上,在邻居发现的功能上CDP可以得到以下信息:
设备主机名?? 地址列表??? 设备能力??? 运行的软件平台?? 接口??
如图所示:
image
其中 Device ID 是指的设备名,如果是路由器就是主机名,如果是交换机这里会显示对方的MAC。
Local Intrfce? 地址列表 这是本地设备的接口,也就是说RB是通过Fas 0/0和RA相连
Holdtme??????? 信息的保留时间
Capability 设备能力又称为角色特征,如路由器还是交换机
Platform?? 平台,也就是设备型号
Port ID?? 对方的接口。
如果想获得对方详细的信息,可以使用命令:show cdp entry *
image
还可以使用show cdp interface 显示接口信息
image
也可以使用 show cdp traffic 显示与对方流量信息,包括发送和接收到的CDP的数量以及出借信息。
在Cisco设备中默认是开启CDP的,那如果关启CDP,我们可以使用命令:no cdp run,那么开启肯定就是 cdp run,在路由接口上关闭或打开CDP,使用 cdp enable 以及no cdp enable,如图所示:
image
以上是有关于CDP的相关介绍,下面咱们来看一下Cisco设备的基本操作,如一些常用命令,提示符,出错信息,帮助等一些比较基础的小知识点,所以咱们的目标也很明确,大家通过这一节的学习:
可以清楚的了解交换机和路由器启动时的显示信息
了解交换机的初始配置信息,完成路由器的初始参数配置
能够熟练的分辨每一种命令模式及在不同的模式之间切换
在不同的用户界面下使用帮助功能并了解出错信息的含义
查看并理解网络设备的基本信息
我们首先来看一下交换机的启动过程
???? 交换机启动的时候首先需要把IOS系统软件放入内存中解压缩并支行。邂逅将startup-configure 文件放入内存中运行,以便将原先保存的配置应用。
观察交换机的指示标(LEDS)
交换机面板的左部有一些指示灯,我们来看一个图:
image
首先大家必须关心的第一个指示灯就是 system status led 叫做系统状态指示灯来表明你的系统是否正常运行,如果是绿色,说明运行正常为,如果是黄色,则说明系统接电,但工作可能不正常,那如果不亮,毫无疑问,电源一定有问题。
第二个指示灯是RPS? 表示的是冗余电源指示灯,一般来说只有核心交换机才会带有冗余电源,因为它要连接重要设备,如果它要是故障就有可能会产生单点故障,所以一定要保证它的正常工作,那么就需要有多个电话,如有的是两个电话,一主一备,当主的坏的,开始启动备用电源,也有的是N+1电源,如两个一起工作,一个作备份等等,情况不一。
第三个指示灯是 port mode led? 表示端口的状态,这是这三个指示灯中理解起来有点小复杂的一个指示指示灯,一般我们都说如果端口状态灯是绿色就是正常的。绿色闪烁我们就说有数据在传输,但这里不一定只是绿色,还可能会有其他颜色。我们来详细看一下:
当交换机启动时,所有端口指示指示灯变绿
每个端口自检完毕,对应的指示灯灭。
如果端口自检失败,对应指示灯为黄色
如果有任何自检失败情况,系统指示灯为黄色
如果自检成功,则指示指示灯熄灭。
下面来看一下端口的常见模式,大家注意了在图中有一个按钮,当你顺序按下这个钮时,当前的端口模式依次为: STAT,UTL,DUPLX,SPEED,这是什么意思,我们来看一个表:
LED模式 端口模式 描述
STAT 端口模式 端口状态,默认模式
UTL 交换机使用率 交换机的带宽使用率
DUPLX 端口双工状态 模式为:半双工/双工
SPEED 端口速率 显示该端口速率为:10M/100M/1000M
image
我们来介绍一下:
STAT(端口状态) 如果不亮,说明没有接线;固定绿色,说明线路正常;闪烁绿色,说明传输数据;绿色或黄色交替,说明线路故障,错误帧影响正常连接,或太多冲突;如果固定黄色,说明有问题,但90%是配置问题,不是线路,应该可以接收管理数据,但不能传输用户数据,有可能是端口被划到不同VLAN,或是该端口被管理关闭等情况。
UTL (带宽使用率)根据交换机具体型号来确定背板带宽的使用率。100M显示绿色则说明背板利用率小于25%;如果100M如果灯绿色仅有一个GBIC端口灯绿则说明背板利用率在25%-50%之间。如果100M灯绿色且有两个灯绿色,则显示背板利用率在50%以上。
DUPLX(半双或或全双工) 不亮就是半双工,绿色就是全双工
SPEED(速率)? 常见的10/100/1000,不亮是10M,绿色是100M,闪烁绿色是1000M,还有1000BASE-X GBIC模块 不亮说明不工作,绿色说明端口工作在1000M。
交换机启动时的显示信息
??? 如果是新交换机第一次启动则会进入到Dialog对话模式进行配置。Dialog模式仅能配置简单的问题,更加复杂的配置必须要在命令行模式下进行。
--- System Configuration Dialog ---
At any point you may enter a question mark '?' for help.
Use ctrl-c to abort configuration dialog at any prompt.
Default settings are in square brackets '[ ]'.
Continue with configuration dialog? [yes/no]: yes
Enter IP address: ip_address
Enter IP netmask: ip_netmask
Would you like to enter a default gateway address? [yes]: yes
IP address of the default gateway: ip_address
Enter a host name: host_name
Enter enable secret: secret_password
Would you like to configure a Telnet password? [yes] yes
Enter Telnet password: telnet_password
Would you like to enable as a cluster command switch? no
Enter cluster name: cls_name
启动成功以后就进入了咱们所说的用户模式:也就是 “ >? ”
在用户模式下所输入的命令是非常有限的,我们可以在用户模式下输入?显示该模式下可以使用的命令:
image
很明显我们在用户模式下不会进行过深的操作,我们必须要继续向前走,那么我们可以在用户模式下输入命令:enable 来进入特权模式如图:
image
那么在特权模式下我们就可以使用比较多的命令了,我们还是通过“?”来显示一下我们在特权模式下可以使用的命令,如图:
image
大家可以看到这里所显示的命令就比用户模式多了,当然如果以前设置过特权模式密码的话,则进行特权模式时必须要输入指定的密码。我们一会将要介绍如何设置特权模式密码。如果希望从特权模式回到用户模式则使用命令:exit
交换机提供了非常丰富的命令行帮助功能以及出错信息提示及历史命令行的保存功能,我们先一下命令行的帮助功能,我们可以使用?或TABLE键来得到丰富的帮助提示,“?”指如果不记得整条命令或者不清楚一个命令的语法,可以使用“?”获得非常人性化的帮助,如我们上面不知道在特权模式下应该使用哪些命令,我们就可以使用“?”,还有就是如果输入了一个命令后,不知道后面的命令是什么,也可以使用“?”获得帮助。还有一个比较重要的功能就是TABLE,这个命令一般是指如果有一个命令,你只记录前面几个字母,后面的字母记不清楚,则可以使用TABLE键补齐。如:
image
我们一定要善于使用“?”和TABLE功能。我们再看一下出错提示功能,如果你对一个命令不熟悉,命令输入错了,我们也可以很方便的通过出错提示功能找出问题所在。如我们故意在特权模式下输入:dufei这很明显是一个不存在的命令,因此显示如下:
image
显示这是一个未知命令或计算机名,或不能找到此计算机地址,表明此命令是不存在的命令。
只是要注意的是:系统如果发现你输入的是一个不存在的命令时,系统会认为是一个计算机名,所以会通过接口向外发DNS查询,这会需要一段时间,所以我们可以将DNS查询的功能关闭以节约时间:使用命令:Switch(config)#no ip domain-lookup 然后再输入错误命令时就直接报错,不会再DNS查询了:
?image
下面来看一个历史命令行(也称为命令行保存区)功能:
如果一个命令过长,不用担心,IOS会在提示符后面加$ 符号表示该命令行被缩进。还可以使用一系列组合键来对命令行进行操作,如:
Ctrl+A 光标移动命令行的开始位置
Ctrl+E 光标移动命令行的结束位置
ESC+B? 光标回移一个单词
ESC+F? 光标下移一个单词
Ctrl+F 光标下移一个字符
Ctrl+B? 光标回移一个字符
Ctrl+D? 删除当前字符
Ctrl+P or 上光标?? 调出最近一次使用过的命令
Ctrl+N or 下光标? 更近使用过的命令(相对于上一条命令来说)
在特权模式下有几个常用的命令大家一定要记住:
show version? 查看版本信息
show? running-config? 查看内存中的配置信息
show interfaces??? 查看端口信息
这三个命令是我们一定要熟悉使用,并且要理解它们的显示信息。这是最最基本的命令。系统注册值的号码等等。
有人说 show version这个命令有什么重要的,就是显示一下版本号,但是你在显示版本号的同时,一些相应的信息我们也能显示出来,如系统正常运行时间,相关的硬件信息,
image
至于#show running-config 命令我们在上一节中,已经有了介绍,在此不再介绍。
我们也可以使用?? show interfaces 来显示某个端口的状态,如图:
?image
我们通过这个命令可以看到很多重要信息,如 fastethernet0/1 is up? 则表明物理接口没有问题,line protocol is up 则表明数据链路层也没有问题,也就是说此端口现在处于正常工作状态。
下面的是它的MAC地址 address is 0007.ecc5.b701,再往下是MTU,带宽等信息,在后面介绍路由器接口状态时,我们会详细介绍。
刚才咱们介绍的几个命令都是在特权模式下使用的,但特权模式一般是作一些查看和调试操作,不能进行具体的配置,所以Cisco设备中还有一个模式叫做配置模式,故明思义就是对设备进行相关配置的界面,那么如果要进入配置模式,必须先进入特权模式,然后再输入命令 configure terminal 或者简写成 conf t 此时提示符成为:
image
那么就可以进行很多全局方面的配置操作,那如果想配置某一个端口还可以进行某个端口配置模式,如:
image
此时所作的配置只适应于一个端口。
我们还可以给我们的设备取一个名称,也称为设置标识,只需要在全局配置模式下使用hostname命令即可,如图:
image
路由器的启动信息
刚才咱们看了交换机的启动和一些基本的操作,下面咱们来看一下路由器的初始启动信息,其实和交换机都是差不多的。在第一次启动时也有一个DIALOG的提示,这个提示是相当繁锁的如图所示:
image
所以我们一般都直接跳过Dialog方式,使用命令行进行操作。
?image
当然如果你想使用dialog方式也可以在特权模式下使用命令 setup,但我想一般很少有人会使用:
image
路由器也有用户模式,特权模式,全局配置模式,端口配置模式,这和交换机一样,下面我就把几种模式之间的转换给大写介绍一下,我们来看一个表:
操作 命令
进行特权模式 enable
退出特权模式 exit或者 disable
进行dialog状态 setup
进行全局配置状态 config terminal
退出全局配置模式 exit 或? end
进入端口模式 interface 端口类型? slot/number
进入线路设置状态 line 类型 slot/number
进入路由设置状态 router protocol
退出局部设置 exit
下面咱们看一下路由器的最基本的操作有哪些?咱们先看几个比较简单hostname、banner motd、descripton
我们先来看第一个hostname
???? 这个命令大家已经不陌生了,我们在前面的交换机部分就已经介绍了这个命令,给设备取名,这个命令也是在实际工作中必须的,也是很重要的一个环节,虽然不能影响设备的运行,但是在以后的日常维护工作中起到了很重要的设备标识作用。在一个网络中的两个设备如果发生hostname重名,不会对网络产生任何影响,只是网络设计时的一个败笔!在给设备取名时一般使用一个有意义的名称。一般是:业务名_物理位置_厂商_设备型号_设备编号
业务名 就是这个工程的名称
物理位置 路由器所在的物理位置
厂商? 路由器的厂家名
设备型名? 这个路由器是什么型号
设备编号? 如果路由器型号相同,那么这是同个型号中的第几个!
Banner? motd
??? 该命令提供了telnet等方式登录时候的提示信息,该信息不会对系统的运行有任何影响,也是对具体的维护工作带来一定的好处。一般建议注明连接此设备时的注意事项,如安全提示等。如图所示:
image
此时你退出,然后再次登录到路由器时就会出现刚才我们所设置的信息。
Description
接口下的描述命令,此命令也同样不会影响系统的正常运行,但是在日常维护工作中起到了很大的作用,如果一个工程结束后事隔多年,你再去维护就不一定知道这个设备的连接情况,所以大家在配置设备时一定要养成一个好的习惯,对你的接口进行description描述。一般建议使用格式:本接口直连对端设备的主机名 对端设备的槽位号? 接口号,如图所示:
image
image
我们在101办公室的路由器上就可以设置描述此路由器的 fastethernet 0/0连接的是102办公室的RB102路由器的 fastethernet 0/0端口。并且通过 show 命令可以查看设置情况。
下面我们来看一下如何设置路由器的密码,我们的路由器配置好以后,为了安全一般会设置上密码,这样没有密码的用户是不可能登录到路由器的。
我们可以为console 设置一个密码,如果你通过console口来连接路由器,这个时候就需要你输入一个密码,命令如下:
Router#conf t
Enter configuration commands, one per line.? End with CNTL/Z.
Router(config)#line console 0
Router(config-line)#login
Router(config-line)#password dufei
Router(config-line)#end
然后我们可以通过 show run 查看,如图所示
image
还可以设置虚拟终端密码,如果有人telnet的话就需要这个密码,如果没有密码是不允许Telnet的。
Router(config)#line vty 0 4
Router(config-line)#login?
Router(config-line)#password dufei
Router(config-line)#
我们测试一下:
image
此时如果有机器再进行telnet时则必须输入口令。
我们还可以设置特权模式密码:
Router(config)#enable password dufei? --- 设置明文密码
image
我们可以通过 enable secret 密码 来设置加密密码:如图:
image?
此时明文密码将不起作用。
我们也可以通过命令: service passwodrd-encryption 将所有口令加密,如图:
image
配置用户名和密码:
在这里我们推荐使用基于用户名加密码和权限的认证方式,这样可以更加有效的管理你的网络设备,那么我们现在来看看Cisco 设备是如何来划分权限的,Cisco 将用户等级总共归纳为16个级别,等级越高,则能够进行的操作就越多。
大部分用户只熟悉两个等级:
用户模式---等级0
特权exec模式---等级15
实事上大多数用户都习惯于直接从0跳到15级进行操作,这是因为管理人员没有针对不同类型的用户进行权限的划分,例如用户可能只需要看一些log资料,或者是刚上任的网络管理人员在没有经验的情况下就拿到了最高权限,而实事上他的工作可能只是监控路由器的线路连通性。
那么我们就可以针对这样不同的用户可以分配不同级别的权限:
Router(config)#user?? dufei?? privilege 10 password dufei
然后可以给此用户加上某个权限,可查看启动配置的权限
Router(config)#privilege exec level 10 show startup-config
但此用户的口令是明文的,则可以使用下面的命令将明文加密:
Router(config)#service password-encryption
我们可以禁止控制台会话自动退出,在登录以后如果长时间没有键入命令则系统会自动将用户的会话关闭,这是为了安全起见,当然,如果不希望会话关闭,可以在特定用户接口下面将超时时间设置为永久,例如如下:
Router(config-line)#exec-timeout? 0 0
如果不希望系统的消息将你正在键入的命令打断,可以重显被打乱的控制台命令:
Router(config-line)#logging synchronous
再往下咱们看一下本节的最后一个知识点
端口如何配置
如果我们希望对某个端口进行配置的话,就必须进行接口配置模式,那么使用的命令是:
Router(config)#interface type number
Router(config)#interface type Slot/port
其中type是该接口的类型包括以下几种:
serial 广域网同步串口
ethernet 以太网口
fastethernet 快速以太网口
token ring 令牌环口
fddi FDDI光口
hssi 高速串口(45M)
loopback 本地虚接口
dialer 拨号虚接口
null 本地黑洞口
async 异步口
atm ATM口
bri ISDN接口
tunnel VPN隧道接口
number 和 slot/port都是指接口的号码:
如果是类似25系列的固定端口设备则仅需要一维命令行表示接口那么在这里就可以直接输入该口的number。
如果是类似26系列的模块化设备,则需要二维命令行,输入该设备的slot(模块槽位号)和port(接口号)
如果是类似75系列的通用接口处理器设备,则需要三维命令行,输入该接口的槽号,模块号,接口号。
但是如果配置的是串口的话,就不得不提的一个命令就是 Clock rate 64000
设置时钟频率,只能在DCE端设置,至于DCE与DTE的区别我们已经在第二讲中作了详细介绍,下面咱们来看一下如何设置DCE设备的时钟频率,命令如下:
Router(config)#interface serial 0
Router(config)#clock rate 64000
可以通过命令 show controller serial 0 来查看一个设备是DCE还是DTE。
image
还有一个命令是 bandwidth 64
Router(config-if)#bandwidth 64 用于设置带宽,但是一定要注意这里的带宽并不是我们通常意义上说的传输带宽,这个带宽只是用来给路由协议计算metric的。
显示接口的配置信息,使用命令:show interface type number
如:
?image
可以显示此接口的当前状态,物理层up,链路层up,硬件地址,IP地址,MTU,BW,DLY,RELY,LOAD,封装等等信息,我们来逐一给大家介绍:
1 接口状态
物理层 up??? 链路层up??? 说明完全正常
物理层up????? 链路down? 说明物理层没有问题,可能因协议或没有DCE设备等。
物理层down? 链路down? 一般是没有接线等原因造成,物理层down,链路层一定down
administrat down?? 链路down 这种down 一般是出于管理目的的手动发出shutdown.
2 接口的硬件地址
Hardware is Lance, address is 0060.70e1.e701 (bia 0060.70e1.e701)
hardware is lance 的意思是:cpu使用的是LANCE控制来实现以太网接口数据传输。
address的意思是该接口的MAC地址。
3 接口网络层地址信息
Internet address is 192.168.0.1/24
4 MTU
mtu 1500 bytes 是指该接口的最大传输单元。以及下面的encapsulation ARPA,Cisco设置在ethernet下的封装默认是ethernetII。最大数据单元:1500bytes,最小不小于64。
5 带宽 延迟 可靠性? 负载?
这几个参数也是很重要的,BW代表带宽 DLY表示接口的延迟 rely 表示接口的可靠性,注意一定是255/255,如果不是一定要找出原因。load 表示接口的负载,一般是1/255,表明负载很小。
6 接口封装
Cisco 设备在ethernet下封装ethernet 2
7 环路设置
loopback not sec 环路只是用于测试。
8 keepalive
用于测试该接口链路是否正常连接。
9 ARP 协议
在ip环境中,ARP类型是arpa
10 last input? output
表示最后一个被接口成功接收的数据包确切时间。
11 队列策略
默认为先入先出算法FIFO
12 队列
Size: 有多少个数据包在队列中
max 队列的最大长度
Drops 因为队列已满而丢失的数据包
flushes 丢包的策略
如果是出方向总是显示有数据包在队列中那是非常正常的,说明在出方向上存在一定的拥塞。而如果在进方向总是显示有数据包在队列中,那么就表示路由器没有足够的处理能力去处理进入的数据包。如果有不断的丢包,那么就可能需要考虑更换更强的路由器了。
13? 五分种内的速率
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
表示5分钟内的平均速率。
14? 输入的数据包和字节
0 packets input, 0 bytes, 0 no buffer
表示路由器接收的无错误分组的总数量。其次,它还表示路由器接收的无错误分组的总字节数。
15 广播
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
表示接口所接收的广播或多播分组的总数量。
Runts????? 表示小于64字节的错误数据包
Giants???? 小于1563字节的错误数据包
throttles 路由器察觉缓冲或处理器过载,将关掉接收器,如果总是出现no buffer和throttles,则需要加内存。
以上就是我们在显示一个接口时所看到的主要信息。
好了,今天的内容就到这儿了,休息,休息一会儿。。。。。。。。。。。。


?本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/169913,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ECS安装Fedora CoreOS操作系统版本34
ECS安装Fedora CoreOS操作系统版本34
82 0
ECS安装Fedora操作系统版本35
ECS安装Fedora操作系统版本35
29 0
工作流容器化的依赖注入!Activiti集成CDI实现工作流的可配置性和可扩展性
本篇文章介绍了工作流集成CDI实现工作流的可配置性和可扩展性。详细说明的CDI的基本设置来配置流程引擎并发布流程。通过基于CDI的流程的执行,实现与流程实例的交互,声明式流程控制,在流程中使用Bean,注入流程变量和接收流程事件的功能。通过这篇文章学习,可以学会Activiti的使用进阶。
91 0
Quartz.NET开源作业调度框架系列(三):IJobExecutionContext 参数传递
在Quartz.NET中可以用JobDataMap进行参数传递。本例用Quartz.NET的任务来定期轮询数据库表,当数据库的条目达到一定的数目后,进行预警。
604 0
【直播回顾】小程序云应用入门实操系列课程第三讲
系列课程大纲: - 云应用的价值 - 云应用的控制介绍 - 云应用的使用一:Node.js 初始化 - 云应用的使用二:用户登录
5992 0
购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证
原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(3)--Idetity,OWIN前后端验证 ? chsakell分享了前端使用AngularJS,后端使用ASP.NET Web API的购物车案例,非常精彩,这里这里记录下对此项目的理解。
1043 0
Windows Phone 8 - 建立App专属联络人资讯(ContactStore)
原文:Windows Phone 8 - 建立App专属联络人资讯(ContactStore) 在WP7的时候介绍了如何操作联络人的功能,例如:。 到了WP8之後增加了一个非常不一样的联络人相关的API:ContactStore,也是该篇文章要介绍的主题。
1006 0
vbs和qtp一些脚本
********************************************************************************************** 用vbs调qtp '编写自动执行指定的QTP脚本的VBS:'利用QTP本身的Quicktest.
909 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载


http://www.vxiaotou.com