前言

网络工程师这个职业经过了几十年的发展,在行业内其实并没有一个成文的规范与规则。很多培训机构为了商业炒作,单方面地强调“证书高薪论”;而在一些用人单位,面试机构,能“量化”衡量一个网络工程师基础水平的,却又是一些平时“用不着”,但又晦涩难懂的题目。比如臭名昭著的“生成树协议试题”,用明显有“风险”的配置来考你……

其实,对于局域网的设计来说,很多大的集成商已经有了自己的“套路”,而主流的厂商比如思科,华为,H3C也有一些建议的“解决方案”。

本文就以一些“误人子弟”的问题来入手,然后谈谈关于一些拿不准的参数该如何处理。

02实际工作中需要注意哪些问题

其实网络技术这个东西,很多人都有这种感觉,那就是:“学校里面学的,貌似和工作中脱节了。”还有人认为:“现在思科都在退出中国市场了,但是很多培训机构还是在以思科产品为蓝本在讲网络技术。”这两个问题,捷哥其实有专门的看法的。

2.1、是否脱节的问题?

首先,学校里面学的,和实际工作中所遇到的问题,到底有没有“脱节”呢?实际上这个“脱节”现象是有一些的。其实捷哥也不得不说一下,真正经验丰富的网络工程师,基本上都在公司里面担任着重要角色,平时工作很繁忙,所以根本没时间去编写什么教材之类的。真正在后面编写教材,录制视频,并花时间推广的,多半都是没怎么进过机房,上过“战场”的。不过呢,编写教材者因为吃这碗饭,所以也就相对的有更多的精力和时间去研究这些“理论性”的知识点。他们的理论知识相对严谨和丰富,用来充实网络工程师对理论的理解可以,但要是拿到实际工作中,可就不那么回事了。

咱们再拿那个问题来说吧:“有人告诉你,低端交换机STP默认是关闭的,高端交换机STP默认是开启的。”说实话,这种东西一般没人去研究和总结。因为STP这个功能不管是开启还是关闭,这就是一条命令的事情。如果实际工作有需求,你就打一条开启STP的命令,如果实际工作中没有需求,你就在脚本中打关闭STP的命令。所以,这句话我不管是否正确,实际意义真的不大。

一个合格的网络工程师需要什么(续从那些误人子弟)(1)

不过呢,这也并不意味着学校里教的,和实际工作中遇到的,就100%的脱节。

比如说,在学校里面学的网络技术,都是一整套成体系的知识点。如果经过这一套系统教育的网络工程师,在以后的实际工作中,成长速度也相对较快一些。网络工程师如果有了比较丰富的理论支撑,也能够在实际工作中想到很多办法。这个例子也比较多,咱再看看:

先看一下这张图:

一个合格的网络工程师需要什么(续从那些误人子弟)(2)

这张图,让你在两个boundary上进行EIGRP和OSPF的双向重分发,就问你有什么风险?

如果你没有相关的理论知识点进行支撑,那你肯定回答不上来这个问题吧。

但是如果你了解到AD值这个知识点,那你就肯定能回答出这个问题:

在Cisco设备上,OSPF内部路由的AD值是110,外部路由的AD值也是110

EIGRP内部路由的AD值是90,外部路由的AD值是170

于是,当EIGRP区域内,有一条由静态路由重分发进EIGRP的172.16.58.0/27,这条路由在EIGRP区域内传递时,AD值是170。当它从Boundary 1上重分发进OSPF后,路由类型成了OSPF Externel路由,AD值是110。

一个合格的网络工程师需要什么(续从那些误人子弟)(3)

因为Boundary1和Boundary2上,既有EIGRP,又有OSPF。如果我们只看路由在boundary1上进行重分发,就会出现这样一种“冲突”的情况。

一个合格的网络工程师需要什么(续从那些误人子弟)(4)

一个合格的网络工程师需要什么(续从那些误人子弟)(5)

当然,这还只是在boundary1上重分发后会产生的现象。如果boundary1和boundary2上都双向重分发。问题还会更严重。由于boundary2上因为OSPF传来的路由OSPF更小,只会选择从OSPF来的路由,它再把这条路由重分发进EIGRP,然后boundary1也有可能收到这条路由……于是,这就是一个路由环路的风险。

要想解决这个环路问题,首先可以考虑加大OSPF路由的AD值,让它小于EIGRP的AD值。也可以设置Route-TAG,让EIGRP进入OSPF的路由,不会再次进入EIGRP。

或者捷哥再拿一个简单一点的例子来为大家说一下吧:

有人问你:VRRP的组播地址是多少?你可能会觉得,我了解这个组播地址到底干啥啊?

但实际上呢?

一个合格的网络工程师需要什么(续从那些误人子弟)(6)

所以,了解VRRP的组播地址:224.0.0.18,把这个规则插入到ACL中“permit ip any host 224.0.0.2”,就可以保证SVI 118的VRRP能起来了。

所以捷哥的观点就是:理论知识很重要,如果要想当一个优秀的网络工程师,也必须有足够的理论知识来支撑。但是对于目前的一些考试题,怎么出,从哪个方向去考查,这个还有待商榷。

2.2、再学思科还有没有用?

想当初捷哥在备考CCIE的时候,就有不少人在我身边嗡嗡叫。说得最多的就是什么:“思科都已经要退出中国市场了,考CCIE已经没用了。”

当时我是没把这些话当回事,还是把CCIE给考下来了。但是考完了以后,才发现CCIE里面的“营养”可真是够丰富的。

比如,刚刚学习了distribute-list路由过滤的知识以后,就立刻遇到了一个网络割接,当时立刻就知道了IGP的路由过滤该怎么做了,还知道了H3C上相关技术是filter-policy。

还有呢,做EIGRP和OSPF双点双向重分发的时候,引发了路由环路,用Route-TAG就解决了。这个场景在CCIE的LAB考试中,就有100%相同的环境。

一个合格的网络工程师需要什么(续从那些误人子弟)(7)

所以很多时候捷哥都对身边的年轻同行说过:如果你真想在网络行业中有所发展,但是你又没有足够的经济实力去支撑你考一个CCIE,那你完全可以拿着CCIE的LAB考试题来做。只要把这些题目都做会,做熟悉了,你也一样能够从中掌握到实际工作中常见问题的解决方案,还能体会到最标准最规范的技术应用和参数规划。

不过很多人呢,认为CCIE的LAB考试就是用来熟悉Cisco的私有协议和Cisco命令呢……哎,不说了。

很多培训机构出于商业的目的,大吹特吹证书的含金量。但是有含金量的是证书本身吗?

所以有人问我:“考CCIE好还是考HCIE好?”捷哥一般都会毫不犹豫地推荐:CCIE。而且捷哥也不一定会推荐你非得拿一个证书回来,重点会提醒你:好好的体会每一个题目中技术的应用。

只要明白了每一个技术在不同场景的合理应用,剩下的,遇到了一个自己比较“陌生”的设备时,配置命令通过上官网查手册的方式就能获取到,特别是H3C、华为、锐捷这样的国产产品,手册都是中文版的,对于懂理论懂解决的人来说,很容易查到。

03在实际工作中,需要注意那些问题?

3.1、对于似是而非的问题,坚持标准配置

比如在配置一些协议,例如HSRP,VRRP遇到默认值的时候,这个时候到底要不要把默认值的配置也写入脚本?HSRP和VRRP的默认优先级都是100,这个和优先级100相关的配置到底要不要写入到脚本呢?

一个合格的网络工程师需要什么(续从那些误人子弟)(8)

在这里,捷哥给的建议就是:

1、如果你熟悉每一个协议的相关默认值(当然,这不太可能哈),你知道哪个地方的参数是默认值,而且把我得100%准确,你可以不写相关的配置命令行。

比如,你知道HSRP和VRRP的优先级默认值就是100,那你在配置HSRP或者VRRP的优先级时,这条standby 118 priority 100或vrrp vrid 118 priority 100就可以不写了。

比如,你知道以太网接口下,OSPF的网络类型默认就是broadcast,那么你在需要选择DR或者BDR的场合下,就没必要在以太网接口下写ip ospf network broadcast了。

2、如果你不熟悉谁是默认值,那我就建议你把命令“显式”地写上,到时候脚本刷进了配置以后,在设备里即使不显示,那也至少不会出错。

比如,H3C设备的STP默认类型是RSTP、PVST还是MSTP,这个你拿不准。但是你遇到的场合是要求你使用MSTP。那怎么办?这个时候就建议你好好的写着stp enable和stp mode mstp,你写上这样的命令一定能达到目的,管它什么默认值呢?

还有,要指定OSPF的Router-id的时候,你觉得你已经配置了一个Loopback接口了,它准会默认成为OSPF的Router-id啊?但我告诉你:你还必须“显示”地用router-id给它手工一定一次Router-id,就怕有一些设备,在选择Router-id的时候并不是Loopback优先的。

所以,在一些参数你拿不准的时候,与其花时间去与人争论,还不如手动写进去来得保险。

3.2、坚持标准,不随意抬杠

我敢说,要是文章开头的问题,我要拿去质问出题者,一定会受到这样的反问:

“这是个环路问题啊,我就拿来考人家生成树的计算方式,怎么不行了?”

“我那在PT里面试过了,可以收敛的啊,这有什么好说的?”

还有,我也说过,防火墙里面最好不要跑动态路由,结果还真有人在下面冒出这么一些话:

“我们公司的防火墙就跑着OSPF,也没发现什么问题啊。”

实际上我想说的是:目前网络技术发展到现在,在各种企业里面也有很多成功的案例。这些标准都是经过前人多次实践得出的标准,在当前的网络中都是不会出问题的。在这里呢,捷哥建议是多看一些成功的案例,里面使用的技术和相关的场景都是有着很强的可移植性,非常有参考价值。

比如说,生成树的网络结构要每三个设备设计成三角形,这个虽然在业界没有一个明文规定,但这也是一个大家都在默认遵守的规则了:

一个合格的网络工程师需要什么(续从那些误人子弟)(9)

还有,在设计OSPF的时候,一般Loopback 0接口都会被设计为Router-id。在两个三层链路之间,把OSPF的网络类型设置为“P2P”类型,这些都是“潜规则”。

另外,VRRP做互连地址时,掩码长度设置为/29,三层链路做互连地址是,掩码长度设置为/30。不要在核心网络中使用192.168开头的地址,这些都是网络设计者需要注意的问题。只不过这些东西,在很多教材上,并不是那么注意。另外,很多讲师在上课的时候,直接往CLI里面写配置命令,而忽略了对学员编写脚本的培养。这些都是我们在做网络的时候值得注意的问题。

,