38、IPv6过渡技术

news2024/10/6 18:12:03

本节内容作为IPv6相关知识的最后一节内容,同时也作为我们本专栏网络层知识的最后一节内容,主要介绍从IPv4地址到IPv6地址过渡的相关技术。在这里我们只学习各类考试中常考的三种技术。


IPv4向IPv6的过渡

在前面的知识中,我们学习到了两种IP地址,一种传统的IP地址(也就是我们常见的以点分十进制表示的IPv4地址),另一种是为了解决IPv4地址数量耗尽问题而开始部署的以冒分十六进制表示的IPv6地址。

根据前面的学习,我们了解到IPv6地址空间巨大,是IP地址发展演进的趋势。可同时,IPv4地址已经长期存在并成熟应用多年,网络上的各类计算机、路由器等设备都是以IPv4地址进行互联互通。互联网的网络规模如此庞大、如此复杂,要把所有网络设备的IP地址改用IPv6绝非易事,不可能在短时间全部替换成IPv6通信。因此,要采用一种IPv4向IPv6平滑过渡的方法,逐步推进,直至IPv6的大规模应用。

IPv4向IPv6平滑过渡的技术,主要包括三种,分别是:双协议栈技术、隧道技术、NAT-PT技术。下面我们就这三种展开学习。


双协议栈

协议栈的概念,我们之前虽没有提到过,但是我们在一开始学习了TCP/IP模型,之后通过学习数据链路层、网络层,知道每个层次都有自己的协议。例如PPP协议、CSMA/CD协议等都是数据链路层的协议,IP协议、ICMP协议、ARP协议等都是网络层的协议。这样按照TCP/IP层次的“协议排列”,就称为协议栈。“栈”是一种计算机数据结构,可以形象地表达出TCP/IP模型的协议组织形式,想深入了解的同学可以看看数据结构中对“栈”的介绍。

理解了协议栈的概念,那么双协议栈也就不难理解了。双协议栈也就是有两个协议栈,这两个协议栈同时装在同一个设备上,也就是这个设备同时具有IPv4和IPv6两种协议栈

现在我们大部分的计算机的网卡上,几乎都有这两种协议栈。以windows 10系统为例,具体查看的方法是:打开控制面板,找到“网络和Internet”,点击“网络和共享中心”,进入界面后在左侧找到“更改适配器选项”,找到自己的网卡,右击选择“属性”,在这个界面中,可以看到如下信息:

这说明,我们的计算机网卡上同时装有IPv4和IPv6两种协议栈,可以同时在IPv4、IPv6两种网络上通信,在和IPv4网络的主机通信时采用IPv4地址,在和IPv6网络中的主机通信时采用IPv6地址。由此也可见,如果网卡本身没有安装TCP/IPv6协议栈的话,就使用不了IPv6地址,只能使用IPv4地址通信。另外,个人宽带想使用IPv6地址通信,要开通ipv6的外网带宽业务,还要在自己的光猫和路由器上做一些其它的设置,以开启IPv6网络访问的功能。

这时候又产生一个新的问题:双协议栈的主机如要访问一个网站,怎么才能知道该网站是否支持IPv6呢?一般情况下,能够支持IPv6访问的网站,都在自己的网站页面上标有“本站已支持IPv6”等字样。如要查询,最简单的方法,是通过一些第三方工具来测试,例如 boce 等在线网站的“IPv6测试”功能即可检测一个网站是否支持IPv6。


隧道技术

第二种过渡的方法是使用隧道技术,这种方法适用于IPv6“孤岛”的情况,也就是说,IPv4网络规模巨大,就像一片海洋,而其中有几个使用IPv6协议栈的主机就像海洋里面一个个小的“孤岛”一样。

比如有两台主机A和B,这两台主机都只有IPv6协议栈,两者之间可以直接用IPv6地址通信的,但关键的问题在于它们之间的网络是IPv4的网络。这样情况下,主机A发送的IPv6的数据包该如何跨越“IPv4的海洋”到达主机B呢?这就是隧道技术产生的问题背景。

“隧道”是一个虚拟的概念,就像日常生活中的火车如何穿越大山一样,要在大山里面挖出一条隧道。那么IPv6的数据包如何穿越IPv4的网络,也是这个道理。这种方法的原理是:当IPv6的数据包进入IPv4网络的时候,就加上IPv4的首部,封装成IPv4的数据包,离开IPv4网络的时候再把加上的首部去掉,还原回IPv6的数据包交给目的主机。这个过程就像是在IPv4网络中“挖出了一条隧道”可以让IPv6数据包“穿越过去”。原理图如下:

 由此可见两个特点:第一,在隧道中传输的时候,整个IPv6的数据包都是作为外面一层IPv4数据包的数据部分存在的,也就是把IPv6数据包封装进了IPv4数据包里面。第二,虽然要通信的两台主机并不是双协议栈的主机,但是必须要求两台同时连接着IPv4和v6网络的边界路由器(如图中展示的两台路由器)具有双协议栈,因为这样才能够完成隧道中封装的整个工作。

另外一个问题是,双协议栈的路由器怎么能够知道IPv4数据包里面封装的数据是一个IPv6的数据包呢?这就要依靠IPv4数据包首部中的“协议”字段的值了,将“协议”字段的值设置为41,就表示其数据部分是一个IPv6的数据包


NAT-PT

通过前面学习NAT技术,我们知道这是一种地址转换技术。在路由器上配置NAT,用于公网和私网IP地址之间的映射和转换。既然NAT技术具有这种地址转换的“翻译”功能,那么能否利用这个功能,用于IPv4和IPv6之间地址的“翻译”呢?这种技术就是NAT-PT。

NAT-PT全称“Network Address Translator - Protocol Translator”,即“带有协议转换器的网络地址翻译”,它的功能就是让IPv6的节点可以和IPv4的节点之间可以互通

NAT-PT的原理和NAT类似,出口路由器上配置一个IPv4地址池,当IPv6的主机发出数据包,经过出口路由器,路由器根据预先配置好的信息,将数据包源地址转换成一个IPv4的地址。和NAT一样,NAT-PT也可以分为“一对一”的转换和“一对多”的转换。同理,一对多的转换被称为NAPT-PT。(如果不知道“一对多”的含义,请参看本专栏中第33节——NAT的内容)

另外需要指明的是,NAT-PT的主要功能是IPv6的节点发起向IPv4的节点的通信,但反过来,IPv4的节点要访问IPv6的节点则比较复杂。NAT-PT的路由器除了要具有IPv4地址池以外,还要有应用层网关的支持,否则不能实现IPv4节点对IPv6节点的访问。(应用层网关是一种防火墙,学习网络安全时会详细介绍)。


以上的内容,就是IPv4向IPv6地址过渡的三种技术,有关IPv6的内容就介绍完了,这也就意味着网络层的内容介绍完了。从下面一节开始,我们学习传输层的相关内容。

参考教材:谢希仁《计算机网络》第八版

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/859640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

R3LIVE项目实战(3) —双目相机与激光雷达 lidar_camera_calib联合标定

目录 3.1 lidar_camera_calib简介 3.2 环境准备 3.3 编译 3.4 运行数据集 (1) 单场景标定 (2) 多场景标定 3.5 使用您自己的传感器设置 3.5.1 采集相机图片和雷达bag数据 3.5.2 使用多场景标定 3.5.3 相机内参获取 3.5.4 运行标定程序 3.5.5 验证结果 源码地址&am…

【LeetCode】买卖股票的最佳时机含冷冻期

买卖股票的最佳时机含冷冻期 题目描述算法分析程序设计 链接: 买卖股票的最佳时机含冷冻期 题目描述 算法分析 程序设计 class Solution { public:int maxProfit(vector<int>& prices) {int n prices.size();//天数vector<vector<int>> dp(n,vector&l…

11.Eclipse 注释模板的说明及设置

1.在eclipse中点击Window——>java——>Code Style——>CodeTemplates——>Comments 2.常用Variable 3. 我的注释模板 ①Files 文件 /** * Title: ${file_name}* Description: ${todo}* author Jeremy* date ${currentDate:date(yyyy-MM-dd hh:mm:ss)} */ ②Typ…

Leetcode-每日一题【剑指 Offer 21. 调整数组顺序使奇数位于偶数前面】

题目 输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有奇数在数组的前半部分&#xff0c;所有偶数在数组的后半部分。 示例&#xff1a; 输入&#xff1a;nums [1,2,3,4]输出&#xff1a;[1,3,2,4] 注&#xff1a;[3,1,2,4] 也是正确的…

如何改造antd-vue的table支持虚拟列表功能

对于超大数据量的接口来说&#xff0c;如果前端直接一股脑的渲染出来&#xff0c;必然会导致渲染超时、操作卡顿、内存爆表、网页奔溃等情况&#xff0c;因此一般的对于大数据量的列表处理&#xff0c;无非就以下几种方式 采取分页的方式&#xff0c;减少每页的数量 比如每页1…

文旅行业苦“黄牛”久矣,消失的门票到底去哪儿了?

今年年初以来&#xff0c;文化与旅游行业强势复苏&#xff0c;明星演唱会、热门景区及文博科技馆成为了“黄牛党”肆虐的重灾区&#xff0c;高价倒卖票、代抢服务等层出不穷&#xff0c;严重扰乱了文旅票务市场秩序。 如何解决黄牛“顽疾”&#xff0c;成为了文旅行业共同关注…

福布斯发布2023云计算100强榜单,全球流程挖掘领导者Celonis排名17

近日&#xff0c;全球流程挖掘领导者Celonis入选福布斯2023 年云计算 100 强榜单&#xff0c;估值130亿美元&#xff0c;排名第17&#xff0c;Celonis已经是连续三年跻身榜单前20名。 本次榜单由福布斯与Bessemer Venture Partners和Salesforce Ventures联合发布&#xff0c;旨…

GPU虚拟化理解包含直通,k8s安装,GPU-manager

什么是VGPU? vGPU&#xff0c;即真正意义上的GPU虚拟化方案&#xff0c;就是将一块GPU卡的计算能力进行切片&#xff0c;分成多个逻辑上虚拟的GPU&#xff0c;以vGPU为单位分配GPU的计算能力&#xff0c; 并将单块GPU卡分配给多台虚拟机使用&#xff0c;使得虚拟机能够运行3D…

【C++】开源:gflags命令行参数解析库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍gflags命令行参数解析库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&…

数字孪生工厂分享交流方案[53页PPT]

导读&#xff1a;原文《》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 《“十四五”智能制造发展规划》-----推动数字孪生、人工智能、5G、大数据、区块链、虚拟现…

Linux操作系统安装Nodejs配置淘宝加速教程教程

文章目录 下载软件包配置环境变量重新加载环境变量使其生效配置淘宝加速 下载软件包 从https://nodejs.cn/download/下载所需软件包&#xff0c;也可以复制链接地址在Linux终端中使用wget命令下载&#xff0c;X86设备使用**Linux 二进制文件 (x64)**版本 使用wget命令下载node…

又一个不可错过的编程大模型来了让你惊呼“码农人生”不虚此行

继Stable Diffusion爆火之后&#xff0c;StabilityAI近期又放大招&#xff0c;推出了号称是革命性的编程大模型StableCode。StableCode是其首款用于编码的LLM生成式AI产品&#xff0c;该产品旨在帮助程序员完成日常工作。目前已发布的版本为StableCode-Completion-Alpha-3B&…

10 年 2023 大目标检测模型总结

对象检测示例 “物体检测是计算机视觉中最令人兴奋和最具挑战性的问题之一&#xff0c;深度学习已成为解决这一问题的有力工具。 — 陈良杰博士 OBJECT检测是计算机视觉中的一项基本任务&#xff0c;涉及识别和定位图像中的对象。深度学习彻底改变了对象检测&#xff0c;可以更…

atx2环境搭建

1. 安装python3.9.16版本 Index of /ftp/python/3.9.16/ 在执行该命令前&#xff0c;建议先清理下brew的缓存 brew cleanup 如遇Python环境报错 Run Configuration Error: Please specify a script name 参考&#xff1a;https://blog.csdn.net/weixin_43919570/article/d…

Redis——通用命令介绍

Redis官方文档 redis官方文档 核心命令 set 将key和value存储到Redis中&#xff0c;key和value都是字符串 set key valueRedis中不区分大小写&#xff0c;字符串类型也不需要添加单引号或者双引号 get 根据key读取value&#xff0c;如果当前key不存在&#xff0c;则返回…

opencv基础58 傅里叶变换cv2.dft()->(图像增强、图像去噪、边缘检测、特征提取、图像压缩和加密)

傅里叶变换 是啥&#xff1f; 傅里叶变换是以法国数学家让-巴蒂斯特约瑟夫傅里叶&#xff08;Jean-Baptiste Joseph Fourier&#xff09;的名字命名的&#xff0c;以纪念他对这一数学工具的贡献。傅里叶生活在18世纪末和19世纪初&#xff0c;他是一位多才多艺的科学家&#xff…

手撕数据结构之栈+例题

目录 一、栈的概念及结构 二、栈的头文件及基本框架 三、接口实现 1、对栈的初始化 2、栈的销毁 3、入栈操作 4、出栈操作 5、判断栈是否为空 6、返回栈顶元素 7、遍历栈 四、有效的括号 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 思路&#xff…

缓存平均的两种算法

引言 线边库存物料的合理性问题是物流仿真中研究的重要问题之一,如果线边库存量过多,则会对生产现场的布局产生负面影响,增加成本,降低效益。 写在前面 仿真分析后对线边Buffer的使用情况进行合理的评估就是一个非常重要的事情。比较关心的参数包括:缓存位最大值…

Kubernetes集群部署(第二篇)

安装flannel Master 节点NotReady 的原因就是因为没有使用任何的网络插件&#xff0c;此时Node 和Master的连接还不正常。目前最流行的Kubernetes 网络插件有Flannel、Calico、Canal、Weave 这里选择使用flannel。 flannel提取链接&#xff1a;https://pan.baidu.com/s/1fLJKh…

GB28181智慧可视化指挥控制系统之执法记录仪设计探讨

什么是智慧可视化指挥控制系统&#xff1f; 智慧可视化指挥控制平台通过4G/5G网络、WIFI实时传输视音频数据至指挥中心&#xff0c;特别是在有突发情况时&#xff0c;可以指定一台执法仪为现场视频监控器&#xff0c;实时传输当前画面到指挥中心&#xff0c;指挥中心工作人员可…