学习计算机网络技术专业如何?

技术 itjs 2020-09-09 16:38 600 0

  高三毕业生报志愿。

  计算机网络就业面广,但是总体需求并不大(相比软件开发)。如果单纯为了就业考虑,还是学习软件工程专业更好一些。

  但是软件开发的同学依然需要学习计算机网络,因为软件产生的数据包需要在底层网络上流淌,而不了解网络的架构,不熟悉网络的性能瓶颈,将严重制约软件的尽情表现。

  计算机网络,很容易入门的一门学科,但是很难精通。随便一个计算机网络的话题,人人都可以写个回答,但是往往真理只有一个。

  相比二层桥接(Bridging)技术,三层路由(Routing)技术有哪些优势与弱势?

  桥接技术,简单易用。不需要任何配置,无需配置任何控制协议。但是容易广播风暴,一次不经意的广播风暴可能使网络瘫痪。为了克服桥接环路,运用生成树技术,将整个二层网络剪裁的如同一棵树。环路是没有了,但是任何两个主机之间的通信只有一条路径可以通信,尽管可能有10条以上物理路径可用。

  广播风暴

  广播风暴产生的根源,在流量到达之前,转发表是空的。因为没有控制协议提前将转发表填充完整。桥没有办法,但是桥知道,不知道不要紧,只要广播出去,大概率可用找到目的地主机,这就是桥接转发的逻辑。

  桥只要使用三层路由协议IS-IS,互相交换主机的MAC表,将转发表填充完整,那么流量到达时,只要查表转发就可以了,而不需要将流量广播到每一个端口。使用这项技术其实有Fabric Path, Trill 技术。

  冗余带宽闲置

  如果将多条物理链路,绑定成一条逻辑链路,用于欺骗生成树。生成树的眼里只有这一条逻辑链路(Ethernet Channel),而不再是多条物理链路,流量可以在这一条逻辑链路自由穿梭。但是不要忘记,这一条逻辑链路,是由多条物理链路组成的,流量其实最终是分摊到多条物理链路上去的。

  但是逻辑链路(Ethernet Channel)也有不足,它要求每一条链路的System ID要相同才可以工作。但是有些接入交换机/服务器上联链路,连接的是不同的交换机(System ID),于是逻辑链路(Ethernet Channel)就无法工作。

  怎么克服这个问题呢?

  其实逻辑非常简单,只要这两个不同的交换机,协商使用相同的“System ID”来欺骗下联的交换机,让下联交换机/服务器误以为上联的交换机是一台交换机,不就万事大吉了?

  有很多解决方案都是采用这种坑蒙拐骗的技术,比如vPC、MLAG技术。

  但是采用这些技术,需要大量的配置,不同的厂商的设备支持的技术不尽相同,这样就会在互联互通上产生了很多挑战。

  如果能把路由技术全面推广到二层,压根不需要什么STP、RSTP、MST、LACP、VPC、MLAG这些奇奇怪怪技术。

  路由技术

  任何两个主机之间无论有多少条路径,都可以充分利用,因为三层路由拥有强大的防止环路的路由协议,比如OSPF,ISIS,而且收敛速度特别快。

  能不能将路由技术全面推广到二层桥接?

  当然可以。

  为何到目前为止依然没有全面推广?

  首先要废止IPv4 ARP,IPv6 ND,交换机端口要与主机之间交换MAC地址表。交换机丢弃广播报文、不再丢弃没有表项的组播报文,丢弃没有表项的单播报文。

  意味着所有的设备都需要升级软件,如果不升级软件,将无法与外界通信,这个工作量比升级到IPv6还要巨大。大家看IPv6有没有大面积普及?并不是IPv6不好,而是工作量巨大。

  目前做法是,用路由技术尽可能挤占桥接技术的空间,使得桥接技术只存活在与主机连接的那一小块区域,其它的区域能用路由技术的,绝不用桥接技术。

  路由技术相比桥接技术,需要大量配置,终于网络工程师可以派上用场了,这是网络工程师大显身手的场合。

  VxLAN技术,其实就是一项用路由技术挤占桥接技术生存空间最好的例子。大家想一想,VxLAN可以扩展二层网络、三层网络,为什么要使用路由技术,而不是拉光纤使用桥接技术呢?

  好处上文已经充分阐述,这里不再重复。另外目前的网络技术相比10多年的技术,更加抽象。用一个形象的词汇“俄罗斯套娃”,一个TCP/IP协议栈的外头,套着另外一个TCP/IP协议栈。而为了更好隔离租户的空间,又使用三层VNI(类似于VRF)技术。而同一个租户内部,又使用二层VNI(等同于VLAN)来区分不同网段,这一个个抽象的技术叠加在一起,网络变得异常非常陌生。

  怎样才能学好这个全新的网络呢?

  学好TCP/IP协议栈,这里没有套娃,就一个小娃娃(Native Mode)

  学好路由交换技术

  学好英文

  学好安全

  加入会员