LTE IPV6地址配置

ipv6知识点

IPV6地址跟IPV4不同,网络中不需要一个单独的服务器来记录哪个地址分配给了哪个设备。他可以通过SLACC地址配置协议来生成地址。

下文参考如下两篇文章:
https://blog.apnic.net/2019/10/18/how-to-ipv6-neighbor-discovery/
IPv6 Stateless Address Auto-configuration (SLAAC)

IPV6的地址由两部分组成,如下图
IPV6 地址
其中interface ID是根据一些算法算出来的,每次都会不一样。

prefix又分为如下几个类别
prefix
其中linklocal地址和多播地址在LTE的地址配置里需要特别关注。多播地址有如下类别
multicast address

modem如何生成IPV6地址

在Activate default EPS bearer context request 消息里网络会告诉设备一个interface ID

    pdn_addr
      pdn_addr_len = 13 (0xd)
      pdn_type = 3 (0x3) (IPv4v6)
      ipv6_interface_id = 0x000000dbf493f01 (0:d:bf49:3f01)
  1. modem用这个interface id和link local address prefix拼接起来作为源地址(比如 fe80::d:bf49:3f01)给FF02::2这个多播地址发route solicitation (简称为RS)消息。
  2. 链路里所有的router都可以收到这个消息。route然后返回一个route advertisiment(简称为RA)消息将prefix告知设备。RA消息的目的地址为FF02::1, 源地址为router的link local address(比如fe80::cd54:6209:4984:d2ce)。从下图可知RA里还有可能包含MTU,DNS等信息。
  3. 拿到prefix后全局公网IPv6地址就是 prefix+ interface id

上面说的RA和RS都是ICMPV6消息,源地址都必须是link local address,也就是说地址的prefix必须是fe80::/64

AP端如何获取IPV6地址。

AP端通过QMI拨号,modem会将如下详细地址告知AP
在这里插入图片描述
里面包含了prefix,DNS,网关地址。
AP拿到prefix后会根据MAC或者其他方式生成一个新的interface ID,组成一个新的IPV6的地址,然后配置到rmnet_dataX虚拟王卡。

检查地址是否重复 Duplicate Address Detection (DAD)

从上面的介绍可知,modem以及AP都会用 prefix+interface ID的方式来组建IPV6的地址,那如何确保这个地址唯一呢?通过Neighbor Solicitation (NS)

IPV6地址生成后,这个节点就会加入到一个多播群,他会监听发往这个群组的消息,多播群的地址为FF02::1:FFxx:xxxx,其中xx:xxxx是IPV6地址最后的6个十六进制字符。

去重时设备A会往FF02::1:FFxx:xxxx这个地址发送NS消息,消息的起始地址是未指定的(也就是 ::)。NS消息里会包含设备A的实际地址。

  1. 如果链路中设备B和设备A有相同的ipv6地址,则设备B能收到发往FF02::1:FFxx:xxxx这个地址的NS消息,并将其打开,然后在NA里告知这个地址被使用了,这样A会重新生成新的地址
  2. 如果没有收到NA告知重复,那这个地址就可用。

如何获取目的地址的链路地址

发送设备通过DNS可用获知目的地址的IPV6地址,那如何获取目的地址的链路地址呢?通过Neighbor Solicitation (NS)
具体可以参考:Neighbor Solicitation (NS)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yiqingyang2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值