IPv4与IPv6编程-共15张课件.ppt
《IPv4与IPv6编程-共15张课件.ppt》由会员分享,可在线阅读,更多相关《IPv4与IPv6编程-共15张课件.ppt(15页珍藏版)》请在三一办公上搜索。
1、第7章 IPv4和IPv6编程,知识点: IPv4和IPv6服务器的工作原理IPv6如何为IPv4客户端服务IPv6地址测试宏与IPv6套接口选项,第7章 IPv4和IPv6编程知识点:,IPv4客户与IPv6服务器,拥有双重协议栈的主机的一个基本持性是:其上运行的IPv6服务器既能应付IPv4客户,又能应付IPv6客户。这是通过使用IPv4映射的IPv6地址实现的。,IPv4客户与IPv6服务器拥有双重协议栈的主机的一个基本持,IPv4 TCP客户与一个IPv6服务器之间讲行通信的步骤。(1)启动IPv6服务器,创建一个IPv6的监听套接口,我们假定该套接口绑定了通配地址。(2)IPv4客户
2、调用gethostbyname找到一个与该服务器对应的A记录。因为这台服务器主机同时支持IPv4和IPv6,所以它应该既有一个A记录,又有一个AAAA记录,但IPv4的客户只需要一个A记录。(3)客户进程调用connect,客户主机向服务器发送一个IPv4的SYN。(4)服务器主机收到这个发往IPv6监听套接口的IPv4 SYN,置一个标志,表明这个连接使用IPv4映射的IPv6地址,然后响应一个IPv4的SYN/ACK。当这个连接建立后,accept返回给服务器的地址就是这个IPv4映射的IPv6地址。(5)在客户和服务器之间的所有通信使用IPv4数据报。(6)除非服务器明确地去检查这个IP
3、v6地址是不是一个IPv4映射的IPv6地址(使用IN6_IS_ADDR_V4MAPPKD宏),它将不会知道通信的对方是一个IPv4客户。双重协议栈屏蔽了这个细节。同样,IPv4的客户也不知道与之通信的是一个IPv6的服务器。,IPv4 TCP客户与一个IPv6服务器之间讲行通信的步骤。,对于一个IPv6的UDP服务器来说,情形是类似的,只需将每个数据报改变一次地址格式。例如一个IPv6服务器收到从IPv4客户发来的数据报,于是由recvfrom返回的地址将是该客户对IPv4映射的IPv6地址。同时服务器用这个映射的地址调用sendto对客户的请求作出响应。若是IPv6客户,则地址为IPv6地
4、址,而不是映射后的地址。在此UDP服务器问题得到解决。,对于一个IPv6的UDP服务器来说,情形是类似的,只需将每个,下面来看当一个双重协议栈主机接收到数据时的处理,根据接收套接口的类型(TCP或UDP)对一个收到的IPv4或IPv6 数据报进行如图7-2所示的处理。,下面来看当一个双重协议栈主机接收到数据时的处理,根据接收套接,IPv4与IPv6编程-共15张课件,IPv6客户与IPv4服务器,(1)如果IPv4的TCP客户调用connect时或IPv4的UDP客户调用sendto时指定的是一个IPv4地址,不需要作任何特殊处理。(2)如果IPv6的TCP客户调用connect时或IPv6的
5、UDP客户调用sendto时指定的是一个IPv6地址,不需要作任何特殊处理。(3)如果IPv6的TCP客户调用connect时或IPv6的UDP客户调用sendto时指定的是一个IPv4映射的IPv6地址,内核会检测到这个映射地址,并发送一个IPv4数据报,而不是IPv6数据报。(4)IPv4客户不能在调用connect或sendto时指定一个IPv6地址,因为在IPv4的sockaddr_in结构里的4字节的in_addr结构中放不下一个16字节的IPv6地址。通过以上处理,也可以使IPv6客户与IPv4服务器通信,这就达到了从IPv4过渡到IPv6的目的。,IPv6客户与IPv4服务器(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IPv4 IPv6 编程 15 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-1285606.html