本文由小枣君分享,文案:小枣君、漫画:杨洋,来自鲜枣课堂,有少许改动,原文链接见文末。

1、引言

网络编程能力对于即时通讯技术开发者来说是基本功,而计算机网络又是网络编程的理论根基,因而深刻准确地理解计算机网络知识显然能夯实你的即时通讯应用的实践品质。

本文风格延续了社区里的《网络编程懒人入门》、《脑残式网络编程入门》两个系列,没有更多的理论堆砌,通俗而不失内涵,非常适合希望轻松快乐地学习计算机网络知识的网络编程爱好者们阅读,希望能给你带来不一样的网络知识入门视角。

本篇文章将利用简洁生动的文字,配上轻松幽默的漫画,助你从零开始快速建立起对IPv6技术的直观理解,非常适合入门者阅读。

学习交流:

- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM

- 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK

(本文同步发布于:http://www.52im.net/thread-3868-1-1.html

2、系列文章

本文是该系列文章中的第3篇:

  1. 网络编程入门从未如此简单(一):假如你来设计网络,会怎么做?
  2. 网络编程入门从未如此简单(二):假如你来设计TCP协议,会怎么做?
  3. 网络编程入门从未如此简单(三):什么是IPv6?漫画式图文,一篇即懂!》(本文

本文是IPv6的轻松入门文章,希望你能喜欢。

* 推荐阅读:本文作者的另一篇也同样优秀:网络编程懒人入门(十一):一文读懂什么是IPv6,感兴趣的建议一并阅读 。

3、技术背景

随着移动网络的不断建设和普及,加速了我们迈入万物互联时代的步伐。

我们的整个互联网络,正在发生翻天覆地的变化。急剧增加的网络连接数和流量,对网络的承载和传送能力,提出了前所未有的挑战。

除了速率和带宽之外,5G在垂直行业的落地,也要求网络能够提供灵活的差异化定制服务能力。

也就是说,面对不同的行业应用场景,网络需要能够提供套餐式的服务,支持不同的QoS(Quality of Service,服务质量),支持端到端的切片。

4、IP协议

众所周知,我们现在形影不离的互联网,最早诞生于上世纪60年代。它的核心基础,就是大名鼎鼎的IP协议(Internet Protocol,网际互连协议,见《技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)》)。

如果没有IP协议,以及基于它的IP地址,我们就没办法刷剧、网购、吃鸡、聊微信。

说白了,互联网就是一套“快递系统”。IP地址是你的快递地址,而IP协议,则是快递公司的“工作流程和制度”。

所有我们需要传递的信息,包括文字、图片、音频、视频等,都需要被打包成一个个的“快递包裹”,然后经过快递系统的运输,送到最终目的地。

5、第一、第二代“快递系统”:IPv4

互联网诞生后,长期使用的是v4版本的IP协议,也就是大家熟知的IPv4。

我们可以把它理解为第一代快递系统,它为互联网的早期发展奠定了坚实基础。

后来,随着互联网的迅速发展扩张,原始的IPv4系统暴露出了很多的问题,进行了一些技术上的升级改进。尤其是MPLS(Multi-Protocol Label Switching,多协议标签交换)技术的引入,将这个快递系统升级到了第二代。

到了最近这几年,因为前面我们提到的网络挑战,远远超过了第二代快递系统的能力范围。

6、第三代“快递系统”:IPv6

于是,IPv6以及IPv6+,作为第三代快递系统,正式闪亮登场。

IPv6,是v6版本的IP协议。而IPv6+,则是IPv6的升级加强版。

具体来说,IPv6+基于IPv6,实现了更多的创新。

这些创新,既包括以IPv6分段路由、网络切片、随流检测、新型组播和应用感知网络等协议为代表的协议创新,又包括以网络分析、自动调优、网络自愈等网络智能化为代表的技术创新。

凭借这些创新,IPv6+更适合行业用户,更能够有力支撑行业的数字化转型和发展。

接下来,我们仔细看看,IPv6+究竟带来了哪些变化和升级。

7、IPv6优势1:IP地址大幅增加

首先,IPv6最广为人知的优点就是IP地址的大幅增加。具体来说,IPv6的地址数量是IPv4的2的96次方倍(详见《一文读懂什么是IPv6》的第6节内容)。

这么说吧,如果采用IPv6,即便是给地球上的每粒沙子都赋予一个IP地址,都绰绰有余。

传统的IPv4快递系统,邮箱地址不够,快递员往往需要将快速送到门卫处或快递柜,然后再二次派送给用户(在IPv4时代,这就是NAT路由技术啦,详见《NAT详解——详细原理、P2P简介》、《什么是公网IP和内网IP?NAT转换又是什么鬼?》)。

 

在IPv6快速系统下,每个用户都有属于自己的邮箱地址,快递员可以直接将快递送到用户手中。

很显然,这样不仅提升了快递的收发速度,也节省了门卫或快递柜的开支,简化了维护,减少了能耗,降低了成本。

其实,IP地址数量的压力,主要来自物联网场景。因为物的数量远远超过人的数量。而且,物联网的控制,更需要端到端的直达。这样才能有更低的时延,实现更精准的控制。

8、IPv6优势2:“快递包装”的升级

IPv6的第二个重大改进,在于“快递包装”的升级。IPv6的数据报文结构变得更加丰富,里面可以记录更多的内容和信息。

简单来说,就是运输快递的纸箱变得更高级了。

传统的快递系统,包装很简单,我们并不知道里面到底是什么物品。

IPv6的快递系统,纸箱上可以贴更多的标签,标识纸箱里的货物属性,例如重货、易碎品、紧急文件等。系统根据标签,可以快速判断这个快递包裹所需的服务,例如需要加急、需要小心轻放等。

这样一来,快递公司可以根据包裹显示的信息,为不同的客户提供更精细化的服务,采用差异化的收费标准。

快递公司还可以走精品路线,提供专属的快递通道,实现高端用户的资源独享。

IPv6+对数据包属性的精准识别,也可以帮助运营商更好地掌握整个网络中数据业务的流动趋势,更好地调动和分配资源。

例如,从A地到B地的视频大颗粒传输需求很多,那么,就可以建立视频大颗粒业务专线,更好地满足传输需求。

这就好像从A地到B地的海鲜运输需求很多,那快递公司就采购更多的冷链运输车,专门投入到这条线路上,赚取更多的利润。

9、IPv6优势3:升级了“导航能力”

传统快递系统的运输路径,是相对固定和死板的。运输车从起点到终点,经过每一个路口,都由路口指定下一步前进的方向。

而IPv6+的话,通过与SR(Segment Routing,分段路由)技术、SDN(Software Defined Network,软件定义网络)技术进行结合,具有更强的路径选择能力。

快递包裹在出发时,就已经从管理中心获得了从起点到终点的最佳路径。每一次选路,都按照规划进行,可以避开拥堵,也可以避免绕路。

换言之,IPv6+超强的路径编排能力,可以实现数据报文的一跳入云,大幅提升效率。

10、IPv6优势4:降低运维成本

因为网络的管理功能集中,可以更方便地将配置意图转换成脚本,自动部署给各个网络节点。

引入AI之后,更能够对故障现象进行自动分析,更快地找到原因。

甚至说,AI还可以根据对故障模型的学习,主动提前识别网络中潜在的故障风险,实现事故预防。

集中管理+AI管理,大幅降低了网络的维护难度,提升了运维效率,减少了维护成本。

11、IPv6优势5:更安全

IPv6+的安全防御能力相比IPv4有了很大的提升,真正实现了云、网、安一体化防御。

传统网络中,因为大量私网的存在,恶意行为很难溯源。也就是说,很多坏人躲在暗处,发出有问题的包裹,对快递系统造成破坏。

在IPv6+网络中,节点采用公网地址取代私网地址,这就意味着,在快递系统中运输的每一个包裹,都有真实可溯源的寄件人信息。失去了私网的伪装,破坏行为将无所遁形。

升级后的快递包装(数据报文结构),也大幅增加了破坏分子对包裹进行恶意伪造和窃听的难度,增强了包裹的安全性和私密性。

12、写在最后

总而言之,IPv6+是一个高速、高效、灵活、智能的先进“快递系统”。

它可以提供满足千行百业应用需求的差异化服务能力,适配不同行业的业务承载需求,支撑各个行业的数字化转型,助力消费互联网向产业互联网升级,推动整个社会数字经济的发展。

目前,IPv6在我国已经取得了显著的成果。截至今年8月,我国IPv6地址资源储备位居世界第一。IPv6活跃用户数达5.51亿,占我国全部网民数的54.52%。

IPv6+的黄金时代,已然到来!

13、参考资料

[1] TCP/IP详解 卷1 - 第3章 IP:网际协议

[2] 网络编程懒人入门(十一):一文读懂什么是IPv6

[3] IPv6技术详解:基本概念、应用现状、技术实践(上篇)

[4] IPv6技术详解:基本概念、应用现状、技术实践(下篇)

[5] Java对IPv6的支持详解:支持情况、相关API、演示代码等

[6] NAT详解——详细原理、P2P简介

[7] 什么是公网IP和内网IP?NAT转换又是什么鬼?

(本文同步发布于:http://www.52im.net/thread-3868-1-1.html

网络编程入门从未如此简单(三):什么是IPv6?漫画式图文,一篇即懂!的更多相关文章

  1. C#网络编程入门之UDP

    目录: C#网络编程入门系列包括三篇文章: (一)C#网络编程入门之UDP (二)C#网络编程入门之TCP (三)C#网络编程入门之HTTP 一.概述 UDP和TCP是网络通讯常用的两个传输协议,C# ...

  2. C#网络编程入门之TCP

    目录: C#网络编程入门系列包括三篇文章: (一)C#网络编程入门之UDP (二)C#网络编程入门之TCP (三)C#网络编程入门之HTTP 一.概述 UDP和TCP是网络通讯常用的两个传输协议,C# ...

  3. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...

  4. 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手

    .引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道“三次”和“四次”,但是如果问深入一点,他们往往都无法作出准确回答. 本篇文章尝试使用动画图片的方 ...

  5. [转帖]脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手

    脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手   http://www.52im.net/thread-1729-1-1.html     1.引言 网络编程中TCP协议的三次握手和 ...

  6. 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?

    本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...

  7. 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?

    本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言   老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是 ...

  8. 脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.前言 新一代HTTP/2 协议的主要目的是为了提高网页性能(有关HTTP/2的介绍,请见<从HTTP/0.9到HTTP/2:一文读 ...

  9. 脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?

    1.引言 本文接上篇<脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手>,继续脑残式的网络编程知识学习 ^_^. 套接字socket是大多数程序员都非常熟悉的概念,它是计算机 ...

  10. [转帖]脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?

    脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?     http://www.52im.net/thread-1732-1-1.html   1.引言 本文接上篇<脑残式网 ...

随机推荐

  1. 7 个非常实用的 Shell 拿来就用脚本实例!

    前天,在群里看到有一位读者分享了几道 Shell 脚本实例题目,索性看到了,不如来写写巩固下基础知识,如下: 1. 并发从数台机器中获取 hostname,并记录返回信息花费的时长,重定向到一个文件 ...

  2. 网络波动下的救星:ToDesk云电脑性能测试,以赛博朋克2077、巫师3为例

    随着网络技术的不断发展,云电脑作为一种新兴的云端计算机逐渐进入大众视野.对于游戏玩家而言,云电脑不仅解决了高配置电脑价格昂贵的问题,还让玩家在任何网络环境下随时随地享受高性能的游戏体验. 特别是在网络 ...

  3. 深度学习优化器:《Lookahead Optimizer: k steps forward, 1 step back》

    深度学习优化器:<Lookahead Optimizer: k steps forward, 1 step back> 项目地址: https://github.com/michaelrz ...

  4. 5.Kubeadm和二进制方式对比

    Kubeadm方式搭建K8S集群 安装虚拟机,在虚拟机安装Linux操作系统[3台虚拟机] 对操作系统初始化操作 所有节点安装Docker.kubeadm.kubelet.kubectl[包含mast ...

  5. OpenGL编程指南(原书第9版)

    这本书是<OpenGL编程指南(原书第9版)>,也称为<OpenGL Programming Guide: The Official Guide to Learning OpenGL ...

  6. pycharm生成的allure测试报告如何查看本地的index.html文件?

    pycharm生成的allure测试报告应该是通过服务启动查看,但是如果把这个文件保存到本地查看,直接打开页面无内容 可以使用allure-combine工具实现本地正常打开 `from allure ...

  7. TAMAYA

    TAMAYA 挺有意思的维护题. 题面 n个小夫坐成一排,每个小夫有一个真实值vi.小夫们有m场聚会,第i次聚会会在编号为 [li, ri] 的小夫中举办. 聚会之后,这些小夫的真实值会变为他们之中的 ...

  8. 用 300 行代码手写提炼 Spring 核心原理 [2]

    系列文章 用 300 行代码手写提炼 Spring 核心原理 [1] 用 300 行代码手写提炼 Spring 核心原理 [2] 用 300 行代码手写提炼 Spring 核心原理 [3] 上文 中我 ...

  9. php 读取 csv 转数组列表

    我们有个文档需要修改,但是文档列太多,以及数量太大,以至于眼睛看起来很吃力,于是我决定做个简单的转化用脚本读取我想要验证的列的内容是否正确. 于是就产生了一个这样将csv快速的转为数组列表的功能函数 ...

  10. STATA数据统计软件学习记录

    STATA是一个数据统计软件,正如它的名字一样,STATA=statistic+data.STATA软件的功能和matlab类似,也可以用代码实现数据的统计与可视化.但几乎只能进行整行整列的数据处理, ...