在网络运行双协议栈的时候,作为网络中的主机或路由器设备在接收数据包和发送数据包的工作方式有哪些?
在网络运行双协议栈的时候,作为网络中的主机或路由器设备在接收数据包和发送数据包的工作方式如下:
接受数据包: 双栈节点与其他类型的多栈节点的工作方式相同。链路层接收到数据段,拆开并检查包头。如果 IPv4/IPv6 包头中的第一个字段,即 IP 数据包的版本号是 4,该数据包就由 IPv4 的协议栈来处理;如果版本号是 6,则由 IPv6 的协议栈处理;如果建立了自动隧道机制,则采用相应的技术将数据包重新整合为 IPv6 数据包,由IPv6 的协议栈来处理。
发送数据包: 由于双栈主机同时支持 IPv4 和 IPv6 两种协议,所以当其在网络中通信时需要根据情况确定使用其中一种协议栈进行通信,这就需要制定双协议栈的工作方式。在网络通信过程中,目的地址作为路由选择的主要参数,因而根据应用程序所使用的目的地址的协议类型对双协议栈的工作方式做出以下约定。
(1)若应用程序使用的目的地址为 IPv4 地址,则使用 IPv4 协议。
(2)若应用程序使用的目的地址为 IPv6 地址,且为本地在线网络,则使用 IPv6协议。
(3)若应用程序使用的目的地址为 IPv4 兼容的 IPv6 地址,且非本地在线网络,则使用 IPv4 协议,此时的 IPv6 将封装在 IPv4 中。
(4)若应用程序使用的目的地址是非 IPv4 兼容的 IPv6 地址,且非本地在线网络,则使用 IPv6 协议,类似约定(2)。
(5)若应用程序使用域名作为目标地址,则先从域名服务器得到相应的 IPv4/IPv6 地址,然后根据地址情况进行相应的处理。
以上内容摘自电子书《互联网协议第六版(IPv6)部署方案及设计》点击https://developer.aliyun.com/ebook/download/7466 下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。