阅读DET: Enabling Efficient Probing of IPv6 Active Addresses论文

今天阅读一篇和我目前的研究方向完全没有关系的论文, 进行休闲娱乐。

论文的题目是DET: Enabling Efficient Probing of IPv6 Active Addresses。根据标题可以看出, 本文的目标是进行高效的IPv6活跃地址探测。目前对IPv6活跃地址探测的主要方法还是通过生成一些很有可能是活跃的地址来进行探测的方法, 而本文的核心内容之一就是提出了一种新的更好的生成“很有可能是活跃的地址”的方法。

其实, 我更关注本文的另一个核心内容, 一种新的(基于缓存侧信道的?)检测别名前缀(aliased prefix)的方法。所谓别名前缀, 是指该前缀下的所有地址都被配置在了同一台主机上, 该主机会响应对该前缀所有地址的请求。别名前缀对IPv6活跃地址探测的不良影响留做习题, 请读者自行寻找学习相关资料。本文方法的大致流程为: 给定一个待探测的IPv6前缀, 首先从该前缀中以某种随机的方法选取若干地址, 并发送ICMP Echo请求进行地址探测。如果这些请求都获得了响应, 则大致说明该前缀是活跃的。然后, 再向选取的第一个地址发送一个较大的ICMP Echo请求(~1300B)。随后, 立即伪造一个ICMP Packet Too Big (MTU=1280)错误消息, 欺骗被探测者, 让被探测者以为去往探测者的PMTU不超过1280。注意到伪造ICMP错误消息是不需要源地址伪造的。接收到这一Packet Too Big错误消息后, 被探测者会按照PMTU为1280对较大的ICMP Echo响应(~1300B)进行分片后再发出。探测者这时应当能接收到对应的响应的两个分片。最后, 探测者对选取的其他地址同样发送较大的ICMP Echo请求(~1300B), 并统计收到的响应是否被分片。如果收到的响应确实都被分片了, 则说明选取的这些地址都指向同一个主机, 也大概率说明这一前缀都指向同一个主机, 即这是一个别名前缀。这一方法能够工作的原理是, 在收到上述Packet Too Big错误消息后, 被探测者还会将去往探测者的PMTU为1280这一信息缓存下来(生效时间一般约5~10分钟)。之后, 在被探测者需要向探测者发送任何IPv6分组时, 无论被探测者选择使用的源地址如何, 被探测者都会按照该PMTU进行分片(若需要分片), 即PMTU缓存是不考虑源地址的, 只关注目标地址。因此, 探测者就可以通过这一缓存是否存在来确定被探测的地址是否指向同一主机了。

感觉非常有意思。

发表评论?

1 条评论。

  1. 多读文章,开阔视野,启发思路 :-D :-D :-D

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/16618QrCode