2020 年的最后一篇技术科普,我来聊聊 SRv6。
这两年,SRv6 可谓是通信界的 “超级网红”。不管是技术峰会,还是行业论坛,都少不了它的身影。很多大佬甚至声称:“SRv6 是未来网络的灵魂”。
究竟 SRv6 是个什么东东?它真的这么牛掰吗?
表急,且听我从头开始说起——
大家都知道,我们现在喜闻乐见的互联网,是 20 世纪 80 年代诞生并发扬光大的。
互联网的基础是啥?当然是 IP 啊,Internet Protocol(网际互连协议)。
你电脑或手机没有安装 IP 协议,没有分配 IP 地址,就没办法上网,更没办法撩妹、刷剧、玩游戏。
其实说白了,互联网就是一套 “快递系统”。IP 地址就是你的通信地址,IP 协议是快递公司的 “工作流程和制度”。
所有的文字、音频、视频,都被打包成一个个的 “快递包裹”,然后经过快递系统的运输,最终送到目的地。
最早期的 IP 协议,并不成熟。捣鼓了几个版本(version)之后,到了 version 4,总算比较靠谱了,然后开始广泛部署。
这个 version 4,也就是我们一直以来使用的 IPv4。IPv4 地址和 IPv4 协议,通常直接简称为 IP 地址和 IP 协议。
所以说,虽然 IP 协议的版本是 v4,但实际上,我们应该将它称为 “IP 1.0 时代”。
“IP 1.0”奠定了早期互联网的基础。但是,随着互联网的迅速膨胀,它很快暴露出自身的问题。
在 “IP 1.0”的网络里面,每个路由器都是独立对数据包进行路由决策的。也就是说,快递送到每个站点,站点都需要拆开快递盒,看看里面的内容,然后决定送到哪里去。这样一来,整个系统的效率就会非常低下。
▲ 拆快递,看内容,做决定
即便是决定了运送方向,快递员也是采取 “勉力而为”的态度,尽量运送。如果这条线路包裹太多,他拿不下,就直接扔掉。
▲ 拿不下,就扔掉
这样的机制,毫无灵活性和可靠性可言,运送能力也很差。
到了 20 世纪,砖家们对 “IP 1.0”越来越不爽。于是,提出了 MPLS(Multi-Protocol Label Switching,多协议标签交换)。
MPLS,关键在于这个标签 Label。
前面说了,传统的路由网络里面,每个经手的快递站点都需要打开盒子,看看里面的内容,再决定送往哪。
在 MPLS 网络里面,数据被封装在了盒子里,上面贴了标签。每个经手的快递站点,只需要读标签就知道盒子该送到哪。
MPLS 出现之后,迅速风靡了整个 IP 网络,成为主流技术。尤其是面向政企用户,MPLS 提供的稳定可靠服务,帮助运营商赚了不少小钱钱。
以 MPLS 为代表的时代,我们可以称为 “IP 2.0”时代。这个时代,一直持续到现在。
好了,终于轮到 IPv6 和 SRv6 闪亮登场了。
SRv6,简单来理解,其实就是 SR+IPv6。我们先说说 IPv6。
IPv6 大家应该都非常熟悉了,网上介绍它的文章很多。但是,大部分文章都只强调了 IPv6 的地址更长,数量更多。
IPv6 的地址范例:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
其实,如果只站在普通用户上网的角度,采用 “公网 + 私网”的方式,省着点用,我们的网络完全可以再撑个几年,甚至十几年。
所谓私网,其实说白了,就是个 “门卫”技术。
一栋楼,住着很多住户。因为邮箱数量不够,所以,每次快递到了,都只能放在门卫那里。门卫认识每个住户,会进行二次派送。
这就是私网地址的用法,技术上叫做 NAT(Network Address Translation,网络地址转换)。
我们绝大多数的上网设备,不太需要公网地址。因为我们是访问者,是需要找数据的人。真正更需要公网地址的,是产生数据和存放的设备,是被访问者。
而现在不断崛起的物联网设备,就属于被访问者。例如网络摄像头、共享单车、智能水表、智能电表等,它们产生数据,并且接受云端的控制。
物联网设备采用公网 IP 地址,可以更容易实现端到端的 “直达”,便于数据上传和指令下发。
还是以刚才的门卫为例。如果你非常期待这件快递,你会希望快递员直接送到你的手上,而不是送到门卫或丰巢快递柜那边,不是吗?
“门卫技术”有一定的好处(例如安全、节约地址资源),但是,它意味着更大的时延,对门卫更高的要求,以及不必要的能耗和成本。
而 IPv6,直接干掉了门卫,让每个人都实现了 “快递收发自由”,大大简化了网络架构。
虽然 IPv6 大幅增加了 IP 地址数量,但这并不是运营商耗费巨资进行全网升级的原因和动力。或者说,IPv6 的地址数量优点,只占了它全部优点的 30%。它最大的改进,是数据包报文格式的扩容和升级。
换句话说,IPv6 的最大优势,不是邮箱数的增加,而是快递包装盒的改变。
IPv6 的数据包报文格式,比 IPv4 更加 “豪华”。
再继续介绍 IPv6 之前,我们先说说 SR。
SR 的全名叫 Segment Routing,分段路由。它的落地时间,比 IPv6 更早。
大家都知道,整个 IP 网络,如下图所示,就是一段一段的。
对于 SR 网络来说,连接任意两个 SR 节点的一段网络,就叫 Segment。Segment 由一个 Segment ID (SID) 标识。
▲ 注意,并不一定是相邻节点
SR 的核心原理,就是诸葛亮的 “锦囊妙计”。
当一个数据包进入网络的时候,网络会把它要经过的所有链路和节点信息,全部告诉这个数据包。
N 张纸条,排好顺序。每过一地,撕掉一张。等撕完的时候,你也就到终点了。
而传统的 MPLS,是把所有的路径信息,下发给每个节点,然后数据包到了之后,再去问路。
SR 技术可以直接运用在 MPLS 架构上。IPv6 出现后,SR 开始和 IPv6 亲密接触。于是,就有了 SRv6。
SRv6 的基本原理和 SR 是一样的,也是 “锦囊妙计”技术。IPv6 独特的报文结构,可以与 SR 完美搭配。
SRv6 还可以和现在很流行的 SDN 技术相结合。SDN 就是软件定义网络,说白了,整个网络被统一控制起来,集中管理。
SDN 网络
SRv6 的优点都是基于技术的,限于篇幅,改天小枣君详细说明。总之大家记住,它简单高效,而且具备可编程能力。
什么是可编程能力?
简单来说,数据网络就像是计算机硬件,SDN 就是程序,SRv6 就是指令。SDN 借助 SRv6,可以驱动数据网络,按需求进行运作。
图片来自 CISCO
IPv6 这个豪华快递包装盒,可以贴很多的 “标签”,让快递员和快递站可以很方便地知道里面是什么类型的物品。这样一来,非常容易实现对包裹的 “区别对待”。
举个例子来说,如果贴着 “小心轻放”,说明是贵重业务。如果贴着 “加急”,则说明是紧急业务。
对网络来说,时延、带宽、优先级等,都是标签,都可以通过 Label 进行标识。这对业务来说,充满了 “人性化”,更加灵活。
尽管 SRv6 看上去非常美好,但存在一个致命的缺陷,那就是——资源浪费。按数通网络的传统说法,就是开销太大。
你想啊,数据包格式变得那么庞大,报文头变得那么复杂。那么,真正的用户数据,占整个包裹的重量比,不是更小了吗?
▲ SRv6 报文封装格式
快递员累得半死搬个 10 公斤重的快递,其中只有 5 公斤是货,你说这不是扯淡嘛?
作为数据网络的所有者,电信运营商对网络效率非常敏感。他们砸钱扩容网络容量,是为了发送更多的真实货物,而非快递箱。
而且,报文长度太长,对硬件处理芯片的要求也更高,增加了成本和难度。
于是,大家就把注意力放在针对原生 SRv6 的 “头压缩”上。好几家公司提出了自己的 “头压缩”方案,希望将包头尽可能压缩到最小,提升真实货物的占比。
这个,就有点像视频、音频和图片的压缩格式,比拼的就是各自的算法。例如中国移动主推的 G-SRv6,就属于压缩方案之一。
最后我再说说 IPv6 和 SRv6 的商用化进展。
以 IPv6、SRv6 为代表的新 IP 网络,我们可以称之为 “IP 3.0”。
我们国家是世界上推动 IPv6 最积极的国家。原因不仅是因为我们人口多,还因为我们非常重视 5G 和万物互联。我们主推的工业互联网、车联网,还有智慧城市、智慧教育、智慧医疗、智慧矿山等等,全部都需要 IPv6。
传统 IPv4,依赖于 ICANN 的地址分配,总归是受制于人。所以,实现 IPv6,其实也就是为了 “摆脱控制”。
而且,我们国家是网络大国,我们的骨干网规模在全球排名前列。越先进的网络技术,越能提升我们的网络效率,降低网络运行的能耗。
正因为我们着急,所以我们在标准上也很激进。我们国家在 IPv6 标准的制定方面,是和国际标准同步甚至有所领先的。说是中国引领世界,完全不过分。
运营商方面,目前中国移动在标准制定上,冲在最前面。而中国电信,在具体落地上,动作更快一些。
设备商就更不用说了,技术上新,就意味着大量的设备需要替换,业绩又有了新着落,简直美滋滋。
好啦,以上就是 IPv6 和 SRv6 的大概情况。搞懂了这篇文章,你也就知道了这些概念背后的基本逻辑关系。搞懂了逻辑关系,你再去学习具体技术细节,就简单多了。
就算不深入学习技术,至少和小伙伴吹吹牛皮,也是够用了。对不?
本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/527/715.htm]