IPv4&IPv6双重协议栈

IPV4 TCP客户与IPV6服务器之间的通信:
1 启动IPV6服务器,创建套接监听口,绑定通配地址
2 IPV4调用gethostbyname找到该服务器对应的A记录
3 调用connect,向服务器发送一个IPV4的SYN
4 服务器设置标志,表明是IPV4映射的IPV6地址,相应一个IPV4的SYN/ACK
5 所有通信使用IPV4
 
IPV6 TCP客户与IPV4服务器之间通信:
1 创建IPV4监听套接口
2 IPV6客户启动,调用gethostbyname询问IPV6地址
3 调用connect,在相应IPV6套接口地址结构中存放所得的IPV4映射的IPV6。内核检查到这个映射地址,自动向服务器发送IPV4的SYN
4 服务器用IPV4的SYN/ACK相应,连接通过IPV4数据报建立
 
IPV4客户不能调用Connect或sendto指定IPV6的地址,因为在IPV4的sockaddr_in结构里的4字节的in_addr结构中,放不下16字节的v6地址
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值