建一张校园网,让老师和学生用的校园网,这个事开始的晚了一些,但开始了就很好。网络建设总是比较基础的工作,在现在大数据时代来看实在更是信息基础设施,现在也叫新基建,是有规可循的,不大需要创新,但又需要想清楚,想明白,做扎实的一个事儿。写这个算个总结吗,应该不算,因为还没做完,那应该算个记录;也算个介绍,因为真正知道做了什么的人不多,或者说很少,不是为了宣传,是介绍一下情况。
做技术工作是个苦差事,这又看在什么地方做技术工作,在互联网公司研究信息技术,研究的是最前沿的技术,技术是公司的生产力,你做技术工作,就是组织前进的动力,这个可能会让你很快就掉头发;在学校做技术工作不太一样,这个工作也很难,难点不在技术本身,而在讲好技术的故事,让别人很容易听懂并且把技术当做学校的生产力,这个可能会让你熬到掉头发。
这个校园网,是像搭积木一样建设起来的,那就把一块块积木分开来聊。
运营商
给用户提供网络接入服务的供应商叫运营商,国内的三大基础电信运营商就是中国电信、中国联通和中国移动,加上中国教育科研网,一般就是这四个运营商给高校服务。
先说说中国教育科研网,英文名叫"China Education and Reaserch Network",前三个大写首字母连起来再加上Net,就造出来一个新词“CERNET”,有点巧妙地音译成了“赛尔网络”,应该这就是赛尔网络这个名字的由来。中国最早的一批互联网参与者,最早接入国际互联网,中国的第一个TCP/IP全国骨干网。不知道是基于一种什么逻辑,长时间以来,我们这个学校只有教育网一个运营商,这一直是饱受诟病的,也是折磨网管的,不理想的。当然教育网又是必须的,比如我们需要edu.cn域名,需要访问教育网内特定资源,离不开教育网。这些都是常识,但是还是要一遍一遍地讲,让人们知道这些常识。
教育网给学校分配了一定数量的IP地址和一个edu.cn域名。这就可以满足学校的用户和数据中心的需求了。带宽当然是够用就好,教育网费用实在是太昂贵,一般的学校都只能够用就好,在一般的城市费用都是普通运营商的几倍。
另外三个运营商一般统称“基础电信运营商”,近几年拥有“基础电信运营商”执照的运营商又陆续增加了几个,但提起这个主要的还是电信、联通、移动这三家,特别是在二三线城市,想要获得正常的运营商服务,是没有更多的选择的。多个运营商带来的的好处很明显,就近访问,链路冗余,网管的日子就好过的多。
中国电信运营“中国公用计算机互联网”(CHINANET),联通运营“中国联通计算机互联网”(UNINET),移动运营的网络叫的“中国移动互联网”(CMNET),前些年有“北网通,南电信”之类的说法,这些年运营商之间用户体验的差距越来越不明显了,主要得益于两个原因,第一是运营商之间互联互通成本逐渐降低,带宽资源越来越充足,第二是云网融合,用户离业务越来越近。目前学校使用了联通和移动两个运营商,带宽分别是3Gbps和4Gbps,加上教育网,一共是3个运营商,7.5G带宽,现在看是刚好够这大几千人使用的。
有了不同的运营商,我们就可以为用户每一次访问请求挑选最合适的运营商,把数据从这个运营商出口送出去,让用户通过这个运营商建立这次互联网访问的会话,这样,用户每一次不同的网络访问请求就会从不同的运营商接口去往对应的服务器,这样的上网体验是家庭宽带不能比拟的,也有精通网络的“极客”在自己家里买三个运营商的宽带,自己用路由器实现类似的效果。总之在学校里,我们总是认为运营商这个事,1G+1G>2G。
说到这里,要顺便简单介绍三个概念:地址翻译(NAT)、路由选择和域名服务(DNS),这三个概念跟运营商有关系,同样也是理解校园网运行方式的关键。
地址翻译,经常说的NAT (Network Adress Translation),是一种把私网地址翻译成公网地址的技术。为什么IP地址分公网私网呢?这个问题经常有用户弄不明白,简单来说是这样的,互联网最初设计的时候,设计者们认为个IP地址是用不完的。然而,事情没那么简单,40亿个IP地址很快就不够用了。没等到真的不够用那一天,网络设计者们就想好了这么个办法:规划一些IP地址,在互联网上不使用,只给局域网使用,小到家庭网络,大到跨国集团,每个局域网都可以用, 在访问互联网的时候利用翻译技术把众多的私网地址翻译成少数的公网地址。
这样做的好处首先当然是解决了IPv4地址总数不够的问题,一个公网地址通过端口映射可以满足数万条私网地址对外的会话需求,大量内部终端使用少数公网地址就可以访问互联网,付出的代价非常低,翻译的额外开销可以忽略不计;由于做了这样的映射,私网的终端就好像被保护起来了,避免了直接暴露,私网终端不能被公网直接访问,起到了防火墙的作用,相当程度的避免了私网主机被公网攻击,这是地址翻译的另一个好处。
然而,反对的声音也从来没有停止过,这种设计实际上违背了IP协议设计的初衷,多个主机共用同一个公网地址;本来面向无连接的IP协议被迫面向连接,因为基于端口的NAT必须要维护IP和端口的对应关系,带来了新的脆弱性风险;直接修改上层协议报文等等这些不可避免的原罪,甚至某种意义上来讲还凭借一己之力延缓了IPv6的推广进程。
尽管如此,目前为止这个技术还是局域网组网的必选动作,我们每一个校园网的用户特别是搞信息化的人,还是应该有公网和私网概念的,详细内容我们后面也会多次涉及。
地址翻译原本是路由器的基本功能,现在一些带路由功能的防火墙、专门的NAT设备甚至流量调度设备都可以做这个工作。多运营商接入的校园网,一般会把运营商分配给学校的地址段中的公网地址拿出一部分,做成公网映射地址池,给用户用作地址翻译。我们学校也是一样,把联通、移动和教育网分配给学校的公网地址,各拿出一小段,合成一个用户公网地址池给用户上网使用,所以无论学校的用户访问任何互联网网站,从外部看来,我们的用户地址总是这个地址池中的地址。学校有一些付费资源是限定用户访问源地址的,我们只需要把这个地址池范围提供给资源服务商,用户就可以在校内使用对应的资源了。
路由选择是路由器的核心功能。我们知道,校园网用户访问互联网的时候总要尝试连接一个具体的IP地址,这个IP地址就有两种可能,第一,这个IP地址属于学校接入的某一个运营商,比如联通、移动或者教育网;第二,这个IP地址不属于学校接入的任何一个运营商,比如电信、铁通之类的运营商,百度、腾讯、阿里这类的互联网公司的自治域以及国外地址。
这个过程就有点像问路,数据到了校园网出口路由器,就会拿着目的地址向路由器问路,路由器这个时候就会根据手上的路由规则给数据指路,告诉他应该从哪条路走。选路的规则有很多种,比如会告诉去上海的客人走京沪高速,去成都的客人走京藏高速,去美国的客人走机场高速(目的地址路由);也可能会告诉丰台区来客人的走京哈高速,门头沟来客人的走京台高速(源地址路由);主要走一条大路,另外小路备用(浮动路由)又或者是扔鞋,随机走,看运气(等价路由)等等,目的当然是让有限的带宽发挥最大的作用,花了钱买了运营商专线,得榨干他的性能。
还记得前面说过的地址翻译(NAT)吗?决定了选择哪条路,NAT功能就会给他这次请求的源地址翻译成哪个运营商的公网地址,把数据交给运营商,发起一次通信。
域名服务(DNS)是互联网世界的基础服务,作用就是把用户访问的域名,翻译成IP地址告诉用户,用户只需要记住 www.baidu.com 而不用记住 110.242.68.3这样的IP地址。这个服务也是校园网必须提供的基础服务,学校的域名服务主要做两件事:第一,帮助自己的校园网用户翻译域名;第二,帮助全世界的互联网用户翻译自己学校的 edu.cn 域名。
先说第一个功能,校园网的终端把首选DNS服务器地址配置成学校自己的DNS服务器的地址(这里一般指的是DNS服务器的私网地址,比如172.28.53.53),每一次域名解析请求由这个DNS服务器帮助用户向公网DNS服务器请求,得到的结果告诉用户,而不是让用户自己去公网请求解析,这样做有三个好处:
首先,用户离学校自己的DNS服务器距离近,DNS服务的缓存命中率相当高,一般超过90%,换句话说,你访问的网站,10次有9次别人已经访问过了,这个记录在学校的DNS服务器上留着呢,没什么特殊情况的话直接给你就可以用了,完全不用去互联网请求一圈,这个效率非常高。
其次,学校自己的DNS服务器有很多办法,把同一个网站离用户最近,效果最好服务器的IP地址翻译给用户,这个过程用户是感知不到的,而且可以根据实际情况动态调整,内网的用户用一个DNS就可以得到互联网上几个运营商的翻译服务,非常适合多运营商出口的校园网。
最后,有一些只在校内才能访问的网站,必须利用学校自己的DNS服务器才能翻译,别人当然是不能给你翻译了。
学校自建的DNS 服务器的第二个功能是负责向全世界的互联网用户提供学校的 ×××.edu.cn域的域名解析,这个功能需要在互联网上有一个固定的公网地址,开放TCP和UDP的53端口,这个固定的公网地址在教育网备案以后,就可以被上一级的 edu.cn 域名服务器找到了,当互联网上任何人想要访问学校的网站的时候,就会来这里询问对应的IP地址,因为对于这个域名,学校的信息是最权威的,所以这个功能一般叫权威解析。
用户
有了运营商,校园网就连接到了互联网上,另一方面校园网就把学校里的各种“用户”连接起来,把“互联网”送到学校的各个地方。
首先,要编织一张“大网”。
有线网
把光纤铺到各个建筑里,每个建筑里选一个或者几个弱电间,就是经常说的网络机房,一般盖楼的时候这个机房的位置就已经选好了,弱电设计时候就会设计这个网络机房到各个房间的网线,在各个房间设计相应数量的信息点,就是网线插口,有了弱电系统,一个建筑就能使用网络。总之,就是用网线把电脑、打印机、读卡机、摄像头、门禁机这些设备连接到交换机上,再用光纤把各个楼的机房里的小交换机连接到中心机房的大交换机上。当然对于不同的用途,一般都会单独组网,再把一个个的小网络连接起来,比如各个学校可能都有教学专网、一卡通专网、安防专网、消防专网等等。这是个简单的事,只干这些事是没什么难度的,这种工程无论是对学校还是承建公司都是良心活,最难的部分在于坚持高标准。
这里要简单聊一下光纤和网线,总有人对这个存在一些误解。比如“百兆网线、千兆网线、千兆光纤、万兆光纤、超五类网线跑百兆、六类网线跑千兆”这类的说法,经常能够听到,前些年总是试图从物理层特性去给别人讲这些误解,讲了半天别人也似懂非懂,半信半疑,其实仔细想想,就是因为这些东西门槛太低,百度到的信息鱼龙混杂,谁都能说上两句,又很少有人能说的非常清楚,这些误解源于对理论的一知半解,这是在学校搞信息技术经常能遇到的情况。
光纤和网线都是信号传输介质,都是信号传输的“路”,数据传输速率不仅要看路好不好,还要看车快不快,而路本身是不讲速率的,至于千兆、万兆这类的速率,是咱们人为规定的,是约定好的,玻璃纤维和铜导线是不知道咱们的人类的约定的,所以也没有那么简单直接的对应关系。这个领域里,实际上我们更应该关心的是产品质量和施工标准,我们现在的网络应用的性能瓶颈还远远到不了传输介质这个层面。
有了传输介质,再加上网络设备就可以组网了,校园网里的网络设备主要就是交换机了,这东西没什么可聊的,存储转发,简单粗暴,效率极高。现在运营商讲F5G,号称 “千兆入户” ,其实局域网里十多年前就已经千兆入户,千兆到桌面了,就是因为交换机提供了千兆接入能力。要知道我们现在视频网站上观看的最清楚的4K高清视频,需要的端到端带宽也才只有20兆左右而已,所以我们的网卡和交换机接口大部分时间是在休息状态。那就有人会问了,为什么还要千兆网卡,百兆网卡不就够用了吗?因为便宜了嘛,摩尔定律让这两种芯片几乎没有价格差了,然而我们的应用需求短时间还不会追上这个速度,所以基础设施经常会背一些莫名其妙的锅,其实是无从谈起的。
交换机这个东西也分层级,有接入层的、汇聚层的、核心层的,其实是人为定义的一些逻辑层级,本质并没有太大区别,唯独核心交换机在一个局域网里地位特殊,如果园区不大,完全可以把所有的用户网关集中放到核心交换机上来,下面的设备近似可以看成是扁平化的网络结构,管理起来容易,效率也高。
无线网
(每天写一点)