当前位置: 首页 > news >正文

山东网站制作设计/seo在线优化技术

山东网站制作设计,seo在线优化技术,做网站用什么云服务器,网网站开发设计本节内容作为IPv6相关知识的最后一节内容,同时也作为我们本专栏网络层知识的最后一节内容,主要介绍从IPv4地址到IPv6地址过渡的相关技术。在这里我们只学习各类考试中常考的三种技术。 IPv4向IPv6的过渡 在前面的知识中,我们学习到了两种IP地…

本节内容作为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的内容就介绍完了,这也就意味着网络层的内容介绍完了。从下面一节开始,我们学习传输层的相关内容。

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

相关文章:

38、IPv6过渡技术

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

HMMER-序列分析软件介绍

HMMER是一个软件包,它提供了制作蛋白质和DNA序列域家族概率模型的工具,称为轮廓隐马尔可夫模型、轮廓HMM或仅轮廓,并使用这些轮廓来注释新序列、搜索序列数据库以寻找其他同源物,以及进行深度多重序列比对。HMMER是已知蛋白质和DN…...

【项目学习1】如何将java对象转化为XML字符串

如何将java对象转化为XML字符串 将java对象转化为XML字符串,可以使用Java的XML操作库JAXB,具体操作步骤如下: 主要分为以下几步: 1、创建JAXBContext对象,用于映射Java类和XML。 JAXBContext jaxbContext JAXBConte…...

nginx负载均衡

负载均衡:反向代理来实现 正向代理的配置方法。 1、NGINX的七层代理和四层代理: 七层是最常用的反向代理方式,只能配置在nginx配置文件的http模块。而且配置方法名称:upstream 模块,不能写在server中,也…...

【毕业项目】自主设计HTTP

博客介绍:运用之前学过的各种知识 自己独立做出一个HTTP服务器 自主设计WEB服务器 背景目标描述技术特点项目定位开发环境WWW介绍 网络协议栈介绍网络协议栈整体网络协议栈细节与http相关的重要协议 HTTP背景知识补充特点uri & url & urn网址url HTTP请求和…...

关于安卓jar包修改并且重新发布

背景: 对于某些jar包,其内部是存在bug的,解决的方法无外乎就有以下几种方法: (1)通过反射,修改其赋值逻辑 (2)通过继承,重写其方法 (3&#xff0…...

Java课题笔记~ AspectJ 对 AOP 的实现(掌握)

AspectJ 对 AOP 的实现(掌握) 对于 AOP 这种编程思想,很多框架都进行了实现。Spring 就是其中之一,可以完成面向切面编程。然而,AspectJ 也实现了 AOP 的功能,且其实现方式更为简捷,使用更为方便,而且还支…...

npm 报错 cb() never called!

不知道有没有跟我一样的情况,在使用npm i的时候一直报错:cb() never called! 换了很多个node版本,还是不行,无法解决这个问题 百度也只是让降低node版本请缓存,gpt给出的解决方案也是同样的 但是缓存清过很多次了&a…...

finally有什么作用以及常用场景

在Java中,finally是一个关键字,用于定义一个代码块,该代码块中的代码无论是否发生异常都会被执行。finally块通常用于确保在程序执行过程中资源的释放和清理。 使用场景: 1. 资源释放:finally块经常用于释放打开的资…...

Python web实战之Django URL路由详解

概要 技术栈:Python、Django、Web开发、URL路由 Django是一种流行的Web应用程序框架,它采用了与其他主流框架类似的URL路由机制。URL路由是指将传入的URL请求映射到相应的视图函数或处理程序的过程。 什么是URL路由? URL路由是Web开发中非常…...

10-数据结构-队列(C语言)

队列 目录 目录 队列 一、队列基础知识 二、队列的基本操作 1.顺序存储 ​编辑 (1)顺序存储 (2)初始化及队空队满 (3)入队 (4)出队 (5)打印队列 &…...

面试之快速学习C++11 - 右值 移动构造 std::move

C11右值引用 字面意思,以引用传递的方式使用c右值左值和右值,左值是lvalue loactor value 存储在内存中,有明确存储地址的数据, 右值rvalue read value , 指的是那些可以提供数据值的数据(不一定可以寻址,…...

vue实现5*5宫格当鼠标滑过选中的正方形背景颜色统一变色

vue实现5*5宫格当鼠标滑过选中的正方形背景颜色统一变色 1、实现的效果 2、完整代码展示 <template><div id"app" mouseleave"handleMouseLeave({row: 0, col: 0 })"><div v-for"rowItem in squareNumber" :key"rowItem…...

2023-08-09 LeetCode每日一题(整数的各位积和之差)

2023-08-09每日一题 一、题目编号 1281. 整数的各位积和之差二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数 n&#xff0c;请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例1&#xff1a; 示例2&#xff1a; 提示&#xff1a; 1 …...

EditPlus连接Linux系统远程操作文件

EditPlus是一套功能强大的文本编辑器&#xff01; 1.File ->FTP->FTP Settings&#xff1b; 2.Add->Description->FTP server->Username->Password->Subdirectory->Advanced Options 注意&#xff1a;这里的Subdirectory设置的是以后上传文件的默认…...

JVM 垃圾回收

垃圾回收算法 标记-清除算法&#xff08;Mark and Sweep&#xff09; 标记-清除算法分为两个阶段。在标记阶段&#xff0c;垃圾收集器会标记所有活动对象&#xff1b;在清除阶段&#xff0c;垃圾收集器会清除所有未标记的对象。标记-清除算法存在的问题是会产生内存碎片&#…...

编程中的宝藏:二分查找

二分查找 假设你需要在电话簿中找到一个以字母 “K” 开头的名字&#xff08;虽然现在谁还在用电话簿呢&#xff01;&#xff09;。你可以从头开始翻页&#xff0c;直到进入以 “K” 打头的部分。然而&#xff0c;更明智的方法是从中间开始&#xff0c;因为你知道以 “K” 打头…...

计算机网络 数据链路层

...

如何维护自己的电脑

目录 1、关于电脑选择的建议 1.1、价格预算 1.2、明确需求 1.3、电脑配置 1.4、分辨率 1.5、续航能力 1.6、品牌选择 1.7、用户评测 1.8、各个电商平台对比 1.9、最后决策 2、我的选择 3、电脑保养 3.1 外部清洁 3.2 安装软件 3.3 优化操作系统 3.4 维护硬件设…...

智能优化算法——哈里鹰算法(Matlab实现)

目录 1 算法简介 2 算法数学模型 2.1.全局探索阶段 2.2 过渡阶段 2.3.局部开采阶段 3 求解步骤与程序框图 3.1 步骤 3.2 程序框图 4 matlab代码及结果 4.1 代码 4.2 结果 1 算法简介 哈里斯鹰算法(Harris Hawks Optimization&#xff0c;HHO)&#xff0c;是由Ali As…...

【深度学习】多粒度、多尺度、多源融合和多模态融合的区别

多粒度&#xff08;multiresolution&#xff09;和多尺度&#xff08;multiscale&#xff09; 多粒度&#xff08;multiresolution&#xff09;和多尺度&#xff08;multiscale&#xff09;都是指在不同的空间或时间尺度上对数据或信号进行分析和处理。其中 多尺度&#xff1…...

利用SCCM进行横向移动

01SCCM介绍 SCCM全名为System Center Configuration Manager&#xff0c;从版本1910开始&#xff0c;微软官方将其从Microsoft System Center产品移除&#xff0c;重新命名为Microsoft Endpoint Configuration Manager&#xff08;ConfigMgr&#xff09;&#xff0c;其可帮助 …...

Nginx 负载均衡

Nginx 负载均衡 负载均衡由反向代理来实现的 其中反向代理分为七层代理和四层代理&#xff0c;一般常用的是七层代理&#xff0c;接下来分别介绍一些 NGINX 七层代理 七层是最常用的反向代理方式&#xff0c;只能配置在Nginx配置文件的http模块。 配置方法名称&#xff1a;…...

Java课题笔记~ ServletConfig

概念&#xff1a;代表整个web应用&#xff0c;可以和程序的容器(服务器)来通信 <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://java.sun.com/xml/ns/javaee"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…...

oracle的异常处理

oracle提供了预定义例外、非预定义例外和自定义例外三种类型。其中&#xff1a; l预定义例外用于处理常见的oracle错误&#xff1b; l非预定义例外用于处理预定义所不能处理的oracle错误&#xff1b; l自定义例外处理与oracle错误无关的其他情况。 Oracle代码编写过程中&am…...

【MySQL】MySQL数据类型

文章目录 一、数据类型的分类二、tinyint类型2.1 创建有符号数值2.2 创建无符号数值 三、bit类型三、浮点类型3.1 float3.2 decimal类型 四、字符串类型4.1 char类型4.2 varchar类型 五、日期和时间类型六、枚举和集合类型6.1 enum的枚举值和set的位图结构6.2 查询集合find_in_…...

【数据结构与算法】十大经典排序算法-希尔排序

&#x1f31f;个人博客&#xff1a;www.hellocode.top &#x1f3f0;Java知识导航&#xff1a;Java-Navigate &#x1f525;CSDN&#xff1a;HelloCode. &#x1f31e;知乎&#xff1a;HelloCode &#x1f334;掘金&#xff1a;HelloCode ⚡如有问题&#xff0c;欢迎指正&#…...

docker 常用命令

1. 搜索并下载镜像 docker search bundlefusion # 搜索docker pull jhljx/bundlefusion # 将远程仓库文件下载到本地2. 用镜像创建容器 docker run -it --namebundlefusion colec777/bundlefusion-cu11.4-cudagl:v8 /bin/bash # 创建并运行 exit # 退出终端 sudo docker cont…...

uniapp微信小程序中打开腾讯地图获取用户位置信息

实现的效果 第一步&#xff1a;首先登录微信公众平台 , 需要用到AppID 第二步&#xff1a; 注册登录腾讯位置服务 注册需要手机号和邮箱确认&#xff0c;然后创建应用 创建后点击添加key 添加后会生成key&#xff0c;后面会用到这个key 第三步&#xff1a; 登录微信公众平台&a…...

嵌入式领域:人才供需失衡,发展潜力巨大

嵌入式技术正快速发展&#xff0c;ARM处理器、嵌入式操作系统、LINUX等技术助力嵌入式领域崛起。然而&#xff0c;行业新颖且门槛高&#xff0c;缺乏专业指导。因此&#xff0c;嵌入式人才稀缺&#xff0c;身价水涨船高。 未来几年&#xff0c;嵌入式系统将在信息化、智能化、…...