第10章Ipv4和Ipv6的交互

在ipv4(32)地址不够用的时候,ipv6的使用(128位)将大大增加 地址的使用范围。但是毕竟还是用从ipv4到ipv6的过度期,这个时间还不知道多久呢,就像windows系统一样,win7 兼容xp 2003 之类的,当使用ipv6的时候还是得兼容ipv4 ,所以得涉及到ipv4和ipv6的交互操作。

关于xp安装双协议栈的(ipv4协议栈和ipv6协议栈)的说明

http://ipv6.jx.edu.cn/ipv6-cfgXP.htm

第一部是ipv6install 在ipv4的xp上就会有ipv4和ipv6双协议栈了

拥有双重协议栈的好处是,当运行ipv6服务器的时候,接受的客户端既可以是ipv4地址的也可以是ipv6地址的内容

ipv4客户端+ipv6服务器

1首先ipv6服务器启动,创建一个ipv6的监听套接字

2 ipv4调用gethostbyname找到一个与服务器相对应的A记录(支持双协议栈)

3 客户进程向服务器connect 发送SYN同步数据包

4 服务器收到ipv4数据报,转化成ipv6数据(ipv4到ipv6的映射)

5 服务器对发来的数据报发送ipv4数据报格式的响应。


这个是ipv4 和 ipv6 数据报进入 协议栈的时候使用的地址,如果ipv4(tcp/udp)的 进入到服务器是ipv6的accept函数的时候,使用的是ipv6地址是经过ipv4地址映射的ipv6地址

ipv6客户与ipv4服务器

1 首先ipv服务器启动

2 客户端ipv6  先调用gethostbyname的获得ipv4(服务器地址)到ipv6的映射,然后填充connect函数的ipv6地址结构,发出去的是ipv4数据报

3服务器发送ipv4 应答包


这个 发送数据,地址转化问题,向前面说的,如果服务器是ipv4地址,客户端是ipv6地址的话,在connect这个ipv4地址的时候,先调用gethostbyname函数获得其对应的ipv6地址,然后connect建立连接,内核是看这个地址是一个映射,发数据报的时候,发送的是ipv4数据报到服务器


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值