首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在IPv6中的隧道:

在IPv6中的隧道:
EN

Server Fault用户
提问于 2011-03-06 00:40:44
回答 2查看 220关注 0票数 0

6到4隧道的概念是通过ipv6网络封装和解封装ipv4数据包。封装过程是:

代码语言:javascript
运行
复制
[IPv6 header][Transport Header][Application Protocol data]

=>封装:

代码语言:javascript
运行
复制
[Ip4 Header][IPv6 header][Transport Header][Application Protocol data]

我说的是这个基础设施:

主机A (IPv6) ->路由器R1 (双栈) -> Ipv4网络路由器-> R2 (双栈) ->主机B (Ipv6)数据包。

封装中的Ipv4头,这是哪个Ipv4标头:主机A、路由器R1、路由器R2和主机B?

提前谢谢。

EN

回答 2

Server Fault用户

发布于 2011-03-06 01:06:24

6~4是普通IP上的IP隧道。不管是谁做的隧道都是包的始发者。因为您的主机A没有IPv4连接,所以它不能充当隧道端点。

例如,我有一个路由器(R1) Linux盒,它有6到4条路由,如下所示:

2000::/3 via :192.88.99.1 dev sit0米制1024 mtu 1480 advmss 1420 hoplimit 0

和一条IPv4路线:

默认设置为XXX.YYY.210.1 dev br0

从局域网(例如从主机A)进入到sit0的因特网sit0流量。局域网上的boxen认为他们直接连接到IPv6互联网。sit0的流量封装在以R1为源地址的IPv4数据包中,并注入到连接到IPv4 internet的br0中。

票数 1
EN

Server Fault用户

发布于 2011-03-06 02:49:21

两个路由器R1和R2将进行隧道操作。来自R1的数据包将有一个以R1's IPv4地址为源,R2's IPv4地址为目的地的IPv4报头(R1发送给R2)。返回IPv4数据包时,源地址和目标地址将被反转(R2发送给R1)。主机A和B的IPv6地址将在封装的数据包的标头中传递。通常使用最小的20字节IP4v头,因此隧道上的IPv6 MTU (最大传输单元)最多为1480字节。

封装只是将IPv4头添加到IPv6数据包中,并使用正常的IPv6路由对其进行路由。非封装只是删除IPv4头,并正常路由剩余的IPv6包.IPv6数据包有可能通过两个主机之间的多个隧道。IPv4地址在IPv4中将始终是隧道路由器(源)的地址和隧道端点路由器(目的地)的地址。

编辑:以下文字是为了描述下一段所描述的情况而写的。其他段落提供了额外的背景。

HostA (IPv6)和HostB (IPv4)将无法通信,因为它们没有兼容的堆栈。如果HostB有一个IPv6堆栈,他们就可以通信。

双堆栈主机可以自己进行隧道操作,在这种情况下,它的IPv4地址将被用作它的IPv4端点地址。如果使用NAT,则其路由器的地址将是IPv4端点地址,而数据包位于路由器之间的IPv4网络上。

IPv6没有NAT,所以IPv6地址永远不会被翻译。

对于只与IPv6主机通信的IPv4主机,需要进行协议转换。主机A可以使用一种用于在IPv6中编码IPv4地址的IPv4方案来寻址主机B。路由器R1需要执行协议转换。(尽管我不相信市场上有这样的路由器。)再一次,IPv4在IPv4网络上的端点地址将R1's IPv4地址.有些网络选项在协议转换过程中可能不会被翻译。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/243761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档