0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于网络地址和协议转换实现IPv4网络和IPv6网络互连

电子设计 来源:中国新通信 作者:沈鑫剡;伍红兵;俞 2021-06-19 17:12 次阅读

作者:沈鑫剡;伍红兵;俞海英;龙瑞

IPv4 的缺陷和Internet的飞速发展导致IPv6的产生和发展,目前,IPv6网络正从试验性网络逐步走向实际应用,但未来一段时间内,IPv4网络仍然占据主导地位,IPv4网络和IPv6网络并存的局面仍将继续,这样,实现IPv4网络和IPv6网络互连成为IPv6网络走向实际应用的重要步骤。

1、NAT-PT实现互连原理

网络地址和协议转换(NAT-PT)是一种将实现IPv4分组格式和IPv6分组格式之间转换和动态NAT有机结合的地址和协议转换技术,它对IPv6 网络中终端的地址配置没有限制,也不需要对想和IPv4网络通信的终端分配IPv4地址。它和IPv4网络所采用的动态NAT一样,在网络边界的地址和协议转换器设置一组IPv4地址,并以此构成IPv4地址池,当IPv6网络中的某个终端发起和IPv4网络中的终端之间的会话时,由地址和协议转换器为发起会话的终端分配一个IPv4地址,并将该IPv4地址和该终端发起的会话绑定在一起。如果会话是TCP连接,则可用会话两端的源和目的地址、源和目的端口号来标识该会话。在会话存在期间,该IPv4地址一直分配给发起会话的终端,当属于该会话的IPv6分组经过地址和协议转换器进入IPv4网络时,用该 IPv4地址取代IPv6分组的源地址,并完成IPv6分组至IPv4分组的转换。IPv4网络中的终端用该IPv4地址和发起会话的终端通信,当属于该会话的IPv4分组进入地址和协议转换器时,用该IPv4分组的目的地址检索会话表,用会话表中给出的发起会话的终端的IPv6地址取代IPv4分组的目的地址,并完成IPv4分组至IPv6分组的转换。在NAT-PT中,96bit网络前缀可以是任意的网络地址,但必须保证IPv6网络将目的地址和该 96bit网络前缀匹配的IPv6分组路由到网络边界的地址和协议转换器。地址和协议转换器将和96bit网络前缀匹配的目的地址的低32bit作为 IPv4地址。反之,地址和协议转换器在IPv4分组的源地址前加上96bit网络前缀后作为IPv6分组的源地址。

2、单向会话通信过程

下面结合图1详细讨论一下NAT-PT的工作机制。

图1NAT-PT实现网络地址和协议转动过程

在图1中,当终端A发起和终端C的会话时,终端A发送一个以2001::2E0:FCFF:FE00:7为源地址,以2::10.1.1.1为目的地址的IPv6分组,该IPv6分组被IPv6网络路由到路由器R3。

路由器R3在会话表中检索该IPv6分组属于的会话,由于该IPv6分组是发起会话的IPv6分组,会话表中找不到该IPv6分组所属的会话,路由器 R3为终端A分配一个IPv4地址,这里假定是193.1.1.1,同时,在会话表中创建一项,将分配该终端A的IPv4地址和终端A发起的会话绑定在一起,如表1所示。

路由器R3将该IPv6分组转换成IPv4分组,通过IPv4路由表确定的传输路径将IPv4分组转发给下一跳路由器R2。该IPv4分组经过路由器R2转发后到达终端C,完成终端A至终端C的传输过程。

IPv6分组转换成IPv4分组时各字段的转换过程如表2所示,源和目的地址的转换如图2所示。

表1IPv4地址和会话之间的绑定

表3IPv4首部至IPv6首部转换

当终端C向终端A发送数据时,终端C构建一个以10.1.1.1.1为源地址,193.1.1.1为目的地址的IPv4分组,该IPv4分组被IPv4网络路由到路由器R3。

路由器R3用该IPv4分组的目的地址检索会话表,找到对应项,用对应项给出的IPv6地址取代目的地址。

由于为路由器R3配置的网络前缀为2::/96,源地址被转换成2::10.1.1.1。

IPv4分组转换成IPv6分组时各字段的转换过程如表3所示,源和目的地址的转换如图2所示。

图3用DNS应用层网关实现双向会话

终端A后续发送给终端C的IPv6分组,由于在会话表中找到对应项,可以根据对应项中给出的IPv4地址进行源地址转换。在会话存在期间,会话表中给出的地址映射一直保持。一旦会话结束,这种地址映射也随之消除,分配的IPv4地址可以再次分配给其他IPv6网络中的终端。不同类型会话的结束方式不同,有些类型的会话有会话结束过程,有些类型的会话没有明显的会话结束过程,后一种类型的会话用规定时间内一直没有属于该会话的IP分组通过作为该会话的结束条件。

3、双向会话通信过程

和IPv4动态NAT一样,NAT-PT只能用于由IPv6网络中的终端发起会话的应用,如果某个应用需要由IPv4网络中的终端发起会话,NAT-PT是无法实现的,因为,IPv4网络中的终端是无法用某个IPv4地址来绑定IPv6网络中的某个终端的。如果非要实现由IPv4网络中的终端发起的会话,需要采用静态NAT,即在路由器R3配置静态的IPv4地址和IPv6地址之间的映射。在图 3中,如果终端C希望访问IPv6网络中的DNS服务器(IPv6 DNS),就构建以10.1.1.1为源地址,以193.1.1.5为目的地址的IPv4分组,该IPv4分组到达路由器R3后,路由器R3通过配置的静态地址映射,将目的地址转换成2001::2E0:FCFF:FE00:9。但如果对IPv6中的其他终端也采用静态地址映射,需要为所有可能和IPv4 网络通信的终端静态分配IPv4地址,这显然是不可能的。对于图3所示的网络结构,路由器R3不仅是地址和协议转换器,还是DNS应用层网关。DNS用于将完全合格的域名解析成IP地址,如果是IPv6网络,则解析成IPv6地址,如果是IPv4网络,则解析成IPv4地址。DNS服务器给出完全合格的域名和对应的IP地址之间的映射,如终端A 2001::2E0:FCFF:FE00:7。当终端C想发起和终端A之间的会话时,终端C通过终端A的完全合格的域名:终端A解析出终端A对应的 IPv4地址。由于在路由器R3中已经静态配置了IPv6网络中的DNS服务器的IPv6地址:2001::2E0:FCFF:FE00:9和IPv4地址:193.1.1.5之间的映射,终端C向IPv4地址为193.1.1.5的DNS服务器发送请求报文,请求报文被封装成IPv4分组后进入IPv4 网络,被IPv4网络路由到路由器R3。由路由器R3完成IPv4 DNS请求报文至IPv6 DNS请求报文的转换,并将请求报文封装成以2::10.1.1.1为源地址,以2001::2E0:FCFF:FE00:9为目的地址的IPv6分组,通过IPv6网络将该IPv6分组传输到IPv6网络的DNS服务器。IPv6网络的DNS服务器根据完全合格的域名:终端A解析出IPv6地址:2001::2E0:FCFF:FE00:7,并将该地址通过DNS响应报文回送给源地址为2::10.1.1.1的终端(终端C)。响应报文被 IPv6网络路由到路由器R3,由路由器R3在IPv4地址池中选择一个IPv4地址(这里假定是193.1.1.1)分配给终端A,同时在会话表中建立2001::2E0:FCFF:FE00:7和193.1.1.1之间的映射。路由器R3将IPv6 DNS响应报文转换为IPv4 DNS响应报文,并将IPv4 DNS响应报文封装成以10.1.1.1为目的地址的IPv4分组,通过IPv4网络将该IPv4分组传输到终端C,终端C随后用IPv4地址:193.1.1.1和终端A进行通信。需要指出的是,在上述通信过程中,IPv4网络中的终端通过DNS的地址解析过程创建会话,并将地址映射和该会话绑定在一起,所有源地址为2001::2E0:FCFF:FE00:7的IPv6分组或目的地址为193.1.1.1的IPv4分组都属于该会话,按照会话表中给出的地址映射完成地址转换。这种类型的会话只能用规定时间内一直没有属于该会话的IP分组通过作为该会话的结束条件。

IPv4网络中所有终端和服务器对应的IPv6地址是固定的,IPv6网络中的终端可以获取Pv4网络中所有终端和服务器对应的IPv6地址,因此,IPv6网络中的终端可以通过直接给出IPv6地址的方式和IPv4网络中的终端通信。当然,记住完全合格的域名总比记住128bit的IPv6地址容易,因此,IPv6网络中的终端可能通过完全合格的域名(如终端C)发起和IPv4网络中的终端之间的会话。这种情况下,由IPv6终端向IPv4网络的DNS服务器发送DNS请求报文,由路由器R3完成IPv6 DNS请求报文至IPv4 DNS请求报文的转换。当路由器R3接收到IPv4网络中的DNS服务器回送的DNS响应报文时,一方面通过加上网络前缀2::,将解析出的IPv4地址转换成IPv6地址,另一方面完成IPv4 DNS响应报文至IPv6 DNS响应报文的转换。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 转换器
    +关注

    关注

    27

    文章

    8204

    浏览量

    141759
  • 路由器
    +关注

    关注

    22

    文章

    3497

    浏览量

    111339
收藏 人收藏

    评论

    相关推荐

    IPv6地址是什么,IPv6的意思

    IPv6 网络地址IPv4网络地址的转化关系如果四个数字都是零,可以被省略。例如:   2001:0db8:85a3:0000:1319:8a2e:0370:7344等价于   2
    发表于 01-25 16:39

    基于IPv6的Winsock网络编程

    问题。IPv6协议使用了128位数据来表示网络地址,而原有的IPv4仅仅能使用32位地址,128位长的
    发表于 05-08 06:14

    IPv6如何启用和测试/验证功能

    THEXX+NETXX-DIO,我都看到了这个消息。IPv6网络准备就绪的IP:FE80:00:00:万:BAD7:AFF:FE28:B672(或F80::BAD7:AFF:FE28:B672在LWIP构建)我应该能在同一
    发表于 09-26 10:25

    基于ARM的嵌入式设备接入IPv6网络

    引 言  向下一代互联网过渡的进程已经开始。IPv6作为下一代互联网的核心协议,能够提供几乎无限的地址空间,从根本上克服了IPv4地址空间
    发表于 06-18 06:04

    IPv6的特色应用

    IPv4地址的稀缺,家庭网络内容匮乏。例如,当众多的信息家电通过家庭网关连入网络时,IPv4有限的地址
    发表于 07-15 08:18

    基于IPv6的无线传感器网络边界路由器有什么优点?

    基于IPv6的无线传感器网络协议栈适配层的设计。通过数据包分片与重组机制以及报头压缩机制,协议栈适配层实现
    发表于 04-21 08:22

    IPv4网络IPv6网络互连技术对比分析哪个好?

    NAT-PT实现互连原理是什么?NAT-PT的工作机制是怎样的?IPv4网络IPv6网络
    发表于 05-26 07:07

    如何通过网关把嵌入式设备接入IPv6网络

    如何使用交叉编译工具链移植支持IPv6的Linux操作系统?如何通过网关把嵌入式设备接入IPv6网络
    发表于 05-26 07:18

    IPv6相对于IPv4 WinSock的改变是什么?

    IPv6相对于IPv4 WinSock的改变是什么?兼容IPv4IPv6的WinSock网络编程规则是什么?
    发表于 05-31 07:09

    Matter 不能在 IPv4 网络上运行吗?

    Matter是一种基于IPv6的技术。这意味着所有互连物质设备的网络都必须在 IPv6 上?Matter 不能在 IPv4
    发表于 04-17 08:38

    关于解决IPv4网络IPv6网络的共存及互通问题

    目前,业界已达成共识:IPv6技术是当前可行的解决IP地址短缺唯一根本的解决方案。但是由于IPv6IPv4技术不兼容,而且现网中有大量的IPv4
    发表于 05-03 08:36 3.1w次阅读
    关于解决<b class='flag-5'>IPv4</b><b class='flag-5'>网络</b>与<b class='flag-5'>IPv6</b><b class='flag-5'>网络</b>的共存及互通问题

    什么是ipv6 ipv4ipv6的区别

    多到可以为全球的每一粒沙子编一个地址。那么什么是ipv6ipv4ipv6的区别是什么呢,下面我们一起来看看吧。 之前ipv4有一个最大的
    的头像 发表于 09-03 16:03 2.2w次阅读

    IP地址IPV4IPV6的区别

    IPV4互联协议版本4,有版本V4之前就有IPV1 IPV2IPV3,同样有IPV5 IPV6
    发表于 10-26 10:41 502次阅读
    IP<b class='flag-5'>地址</b>:<b class='flag-5'>IPV4</b>和<b class='flag-5'>IPV6</b>的区别

    恒讯科技分析:IPv4IPv6网络速度与配置如何选择?

    IPv6时,需要考虑网络速度和配置等因素。 一、网络速度: IPv4IPv4是互联网上广泛使用的传统
    的头像 发表于 04-03 17:03 171次阅读