IPv6系列 - 初学者的10个常见问题

发布者:上海IT外包来源:http://www.lanmon.net点击数:1550

笔者结合自己兄弟和周围同事的烦恼,精心挑选了本文中的10个烦恼来回答。
问题1. IPv4和IPv6仅在地址格式上有所不同吗?
除了不同的地址格式,IPv4和IPv6协议栈也不同。它们在两个世界中在逻辑上完全不同。
以下做法经常遇到四种不同之处:
▷基本通信过程:ND取代ARP,组播替代广播,fe80地址成为标准,ICMP成为通信核心
▷IP配置模式:客户端自动配置IP成为主流并削弱DHCP。
▷DNS域名解析:AAAA记录IPv4 A记录的替换,应用程序的优先级问题(优先级AAAA或A)
▷应用层适应性:AF_INET仅支持套接字编程中的IPv4,AF_INET6仅支持IPv6
问题2. IPv4到IPv6对应用程序是否透明?
错了,有感知,需要修改上层应用程序。
例如,访问fzxiaomange.com时,必须首先解析IPv6地址(AAAA)或IPv4地址(A),因为必须始终选择一行来发送请求。许多框架现在更喜欢IPv6。
注意:如果解析AAAA记录,即使计算机没有可路由的IPv6地址,仍可以尝试通过IPv6请求,从而导致请求失败。
另一个典型示例是程序将与应用程序层中的底层IP地址进行交互。例如,FTP活动模式将与应用程序层中的IPv4地址进行交互。如果IPv6地址实际可用,则可能导致后续连接异常。
无法透明和无意识是IPv4和IPv6之间部分过渡的原因之一。
麻烦3.提供WEB服务,是否需要为每台服务器配置IPv6地址?
现在有一种说法“IPv6地址是无限的,每个服务器都可以分配一个没有NAT的IP地址。”这很容易被误导,如何使用IPv6取决于场景。例如,作者的个人博客fzxiaomange.com,由nginx->
PHP的>
mysql由三台服务器组成。您只需要在nginx上配置IPv6地址,并将AAAA记录添加到DNS以指向L7的IPv6地址。不需要在php或mysql服务器上配置IPv6地址,一旦配置,它就直接暴露内部网。
每个设备配置IPv6,主要适用于客户端和地址要求较高的场景,如物联网设备,移动电话4G和家庭宽带。
此外,IPv6具有NAT,适用于需要访问IPv6网络而不被其他人主动访问的办公室PC和计算机房服务器等场景。
问题4. IPv4和IPv6是否应位于同一网卡上?
是的,您首先需要理解“单栈”和“双栈”这两个词:
从节点的角度来看(一般说明):
▷单栈:表示IPv6节点,即服务器或移动电话,仅IPv6地址,或仅IPv4地址,前者称为“IPv6单栈”或“仅IPv6”,后者称为“ IPv4“单栈”或“仅IPv4”。
▷双栈:表示同时具有IPv6和IPv4地址的IPv6节点
从网卡的角度来看:
▷单栈:表示NIC只有IPv6地址,或只有IPv4地址。
IPv6系列 - 初学者的10个常见问题
单栈
▷双栈:表示网卡同时具有IPv6地址和IPv4地址。
IPv6系列 - 初学者的10个常见问题
双叠
IPv4和IPv6在逻辑上是两个完全脱节的世界。如果终端位于同一物理层,例如同一VLAN,则网卡只能配置IPv6地址和IPv4地址。否则,必须使用IPv6配置一个网卡,使用IPv4配置另一个网卡。因此,关键是要看看网络架构是如何设计的,每个架构都有自己的优缺点。例如,如果您使用相同的网卡,则可以共享带宽,并使用不同的网卡来限制带宽和计费。
麻烦5.我的网卡的地址以fe80开头,我可以在公共网络上使用吗?
IPv6系列 - 初学者的10个常见问题
Win10
IPv6系列 - 初学者的10个常见问题
Centos7
当NIC启动时,它将自动生成链路本地地址,这是fe80:/10的单播地址。链路本地地址用于IP自动配置,邻居发现等。注意事项:
核心:每个链路都有一个“链路本地地址”,这是IPv6协议通信的核心,不应删除。
范围范围:仅在同一层2传播,不会被路由器转发
▷地址:“链接本地地址”算法不统一。一些操作系统将基于mac地址(EUI-64)计算,而其他操作系统将通过随机或其他算法计算。
▷服务:虽然“链路本地地址”可以在第2层进行通信,但它主要用于核心通信和一些网络高级协议。不适用于上层应用程序服务之间的通信。因此,它不能用于公共网络,也不能用于提供外部服务。
问题6.如何配置IPv6地址
公共网络地址和专用网络地址
▷公共网络地址:“全球单播地址”(2000:/3)
私人网络地址:“唯一本地地址”(fc00:/7)
细心的人可能会发现为什么这称为“全球单播地址”,而“唯一本地地址”不称为“唯一本地单播地址”。嗯,它实际上是RFC中定义的缩写:“全球单播地址”,“链路本地IPv6单播地址”。事实上,“全球单播地址”可以称为“全球地址”,但似乎有点尴尬。
自动生成或固定IP
在IPv6中,可以使用固定IP地址自动生成或手动配置任何单播地址。
▷客户:如果我想在不提供外部服务的情况下访问ipv6 Internet,那么我可以使用自动生成而无需使用固定的IP地址。
▷服务器:如果需要提供外部服务,则需要修复IP地址,不能自动生成。
自动配置IP
ipv6中有两种方法:“有状态”和“无状态”
状态:状态由DHCPv6服务器管理,DHCPv6客户端从中获取可用的IP地址。
状态无状态(SLAAC):路由器发送路由器通告(RA)消息,其中包含IPv6地址的前缀信息。当接收到RA分组时,根据前缀信息自动生成一个或多个IP地址。
麻烦7.没有ARP,如何解析MAC地址
ARP协议是IPv4用于解析目标MAC地址的协议。在IPv6中,邻近发现(邻居发现协议,NDP或ND)用于解析地址。ND不是特定协议,而是用于描述多个相关功能的一组抽象协议。涵盖的所有协议均基于ICMPv6。有两种与MAC地址解析相关的消息:
邻居请求(NS):请求解析
Ne Neighbor Advertisement(NA):响应分析
这与ping非常相似:
▷ping:发送icmp的echo请求报文,对等体回应icmp的echo reply报文。
▷地址解析:发送nsmp的icmp报文,对等体响应icmp na报文。
麻烦8. IPv6使用多播而不是广播,需要修改什么
IPv6使用多播而不是广播。多播的特征是它不像广播那样完全泛滥,但是数据包仅发送到已加入多播组的机器。
但是,有一个前提是交换机应该能够识别和维护多播组的信息。主流交换机具有此功能,但默认情况下并非全部启用。对于二层交换机,需要启用MLDv2 Snooping。
顾名思义,交换机将识别发送MLDv2成员报告消息的端口并进行记录。交换机收到组播数据包后,首先会查看其组播地址是否可以在缓存中匹配。
▷匹配成功:只从相应的端口发送数据包
▷比赛失败:它会泛滥,此时与广播没有区别
麻烦9. IPv6真的安全吗?
理想非常好。从设计之初,IPv6就开展了大量的安全设计。 “完整”IPv6在安全性方面至少具有以下三个优势:
▷本机支持的端到端加密
▷安全邻居发现(SEND)
更大更大的地址空间
现实是残酷的,只有第三点发挥作用,更大的地址空间,降低了非法扫描的可能性。第一点和第二点并不是很受欢迎,因为协议本身非常复杂,难以学习,并且不易实现。因此,为了加速IPv6的普及,IETF不再强加安全要求。这也导致IPv6实际上不如预期的那么安全。 IPv6中的地址欺骗,虚假网关等仍然存在于IPv6中。
麻烦10.如何学习IPv6
网上有很多IPv6教程,其中很多都是关于IPv6地址,IP数据包格式和ICMP数据包格式。这使初学者很容易退缩。虽然作者不是专业的网络工作者,但我希望我可以扔砖来吸引玉石。建议的学习步骤如下:1️⃣历史,IPv6的设计理念
2️⃣IPv6地址格式,分类,前缀计算以及与IPv4的比较
3️⃣IP地址,网关路由配置和查看
4️⃣服务器实践,尝试将IPv6添加到您的网站
5️⃣客户端实践,让您的PC访问IPv6 Internet
6️⃣应用层实践,编写一对C/S程序,可以同时支持IPv4和IPv6
7️⃣IPv6通信原理,捕获每个数据包,熟悉ND,DHCPv6等。
8️⃣IPv4与IPv6之间的交换和转换
9️⃣IPv6安全性
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部