2020年1月25日,一篇《紫光集团携旗下新华三捐赠火神山医院网络及安全设备,助力武汉抗击疫情》的文章转遍了朋友圈,紫光集团和新华三集团的社会责任感感动了每一位网络工程师和社会大众。
文章提及紫光集团携手旗下新华三,向武汉市卫生健康委员会捐助火神山医院所需的网络通信与信息安全产品设备,包含了核心交换机、汇聚及接入交换机、无线网络(无线控制、无线汇聚、无线接入)、安全防护 (路由器、防火墙、行为管理、堡垒机、日志审计、数据库审计、准入认证设备)等诸多种类,设备总值超过千万,并会负责相关设备的部署、安装、调试等实施工作。
我作为一名网络工程师,每次被亲朋好友问起是做什么工作的,都是答一句,搞网络的;隔行如隔山,一旦有人追问起来,向其他行业的人解释工作内容或者行业内容让人格外头大。
那什么是网络呢?
我现在是这么跟朋友解释的:通俗来讲,现在你窝在家里,家庭上网都会用到路由器。设置家庭路由器的时候绕不开一个WAN口的IP地址设置,或者是PPPoE拨号或者是动态DHCP自动获取。
这里引入了IP地址的概念,是网络中互联互通的一个必要基础。一个最简单的网络可由两台电脑配置上相同网段的IP地址,再加上一根网线来组成。比如配置192.168.1.1和192.168.1.2这两个IP地址,能实现互相访问。两台电脑使用一根网线就能互通,三台电脑就不行了,这时候就有了HUB,相当于是把多根网线集中在一起,配上相同网段的地址就能互相访问了,此时他们共享一个冲突域,此时数据传输不再稳定,可能会出现信号冲突现象。
前面又引入了地址段的概念,一般的IP地址,或者称为IPv4地址,是由4个点分十进制数字组成的,类似于A.B.C.D(192.168.1.1),实际上是由二进制转换而来,每个数字取值范围是0-255,对应二进制的8位,二进制形式类似AAAAAAAA.BBBBBBBB.CCCCCCCC.DDDDDDDD,每位取值0或者1,网段就是掩码,不通长度的掩码有不同数量的主机地址。主机地址的数量N和掩码位数m的关系是:N=2^(32-m)-2。计算的时候会发现一个问题,就是m=32时,N=-1;m=31时,N=0。这两个一般是表示主机地址,不能算做网段。当掩码位数不大于30时,才能称为网段。比如在电脑上配置192.168.1.2时,掩码会自动补全出255.255.255.0,这就是24位掩码,用前面公式算一下,这个网段最多有254个主机。
随着掩码位数的缩短,我们可以发现主机数量越来越大,如果掩码为0,则最多容纳4294967294个主机,将近43亿个,也就是传说中的IPv4地址池上限。当然,实际使用时,因为存在地址保留以及网段划分,实际能使用的地址远小于这个数量,并且前段时间才发了通告,全球IPv4地址已经分配完(嗯,我有幸还租到了几个)。
理论上讲,所有的主机是可以全部在一个网段进行互访的,但是实际上如果使用HUB来实现,设备将不堪重负,严重的信号冲突也将导致通信无法完成。所以就出现了高级一点的设备,交换机。
交换机比HUB高级,因为他性能更强,有专用硬件;如果可管理,那就更高级了。但是普通的二层交换机,性能仍然比较有限,一般几十个主机就是他的上限了,怎么办呢?按照前面说的,划分网段,分完网断之后,不同网段之间互访就要找自己的网关,比如192.168.1.2-192.168.1.254找192.168.1.1,192.168.2.2-192.168.2.254找192.168.2.1等等,在通过网关进行通信,能实现这种功能的交换机一般就是三层交换机了。
细心的小伙伴可能会发现家用路由器还有一个LAN设置和DHCP设置,用来配置下发上网设备的主机地址,一般是192.168.1.1或者192.168.0.1网段,还有个网关地址,不过一般只能配置一个网段。LAN设置相当于一个二层交换机或者弱三层交换机。
如果交换机性能足够高、数量足够大,就能够解决所有主机之间的互访问题,但是无法解决IP地址不够用的问题,所以就需要做IP地址转换,网络上叫做NAT(network address translation),将保留的内网地址转换为公网地址。这也就是为什么几乎家家的电脑或者手机地址都是192.168.1.1网段或者是192.168.0.1网段却能自如上网,没有冲突,但是却不能互访的原因。那什么设备能实现NAT这个功能呢?就是路由器,NAT也是路由器和交换机最主要的区别之一。而家用路由器是具备这个功能的,可以理解为是一款具备无线功能的路由交换一体机。而无线,就是使用标准协议,使终端之间使用天线就能完成用网线完成的工作,大大提升了网络使用的便捷性。
广义的交换机就是一种在通信系统中完成信息交换功能的设备。交换机(英文:Switch,意为"开关")是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。
路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。 路由器是互联网络的枢纽,"交通警察"。路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换机在移动信息的过程中需使用不同的控制信息,所以说两者实现各自功能的方式是不同的。
前面提到了OSI(Open System Interconnection的缩写,意为开放式系统互联)七层模型,OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。结合之前提到的TCP/IP四层模型,对应关系如下图所示:
对应的就不详细展开了,各层面大概能对应的网络设备如下图所示:
交换机和路由器前面已经说过了,再上层的防火墙比路由器多了主要是基于报文流、会话和安全域等的隔离和检测机制,通过访问控制,能实现传输层的攻击防范。而基于一些会话特征,能识别出特定的攻击行为、或者说可以对攻击行为做出防范动作的,就是入侵检测或者入侵防范(IDS/IPS)。再上层,基于流量特征或者流量内容特征,即可实现负载均衡,主要用于CDN网络等大流量场景,所以负载均衡设备有时候也称为应用交付设备ADE。而最上层,基本完全基于数据内容进行识别的就是APM,通过抓取分析报文,可以看出这是打游戏的流量还是看视频的流量,在流量未加密的情况下,甚至可以看到你玩的是什么游戏、追的是什么剧。
以上大概就是对网络概念的一些解释。之前的文章中也有一些分析,如《WireShark抓包报文结构分析》、《通过三种工具看一次HTTP报文交互过程》和《从报文交互看Telnet协议的安全系数》就有相关报文数据传输交互的分析,欢迎大家批评指正!