NDP的三个基本功能,我是谁,你在哪,我是不是我

NDP协议是IPv6网络中基础重要的一个协议。NDP协议全称是邻居发现协议。

NDP协议首先解决的一个问题是---我是谁?

NDP中的RS和RA解决了我是谁的问题。

RS报文

当主机刚刚接入网络并被配置自动获取地址后,会发送RS报文请求前缀,前缀网段及网关等信息。

RA报文

路由器接收到RS报文后或者定期发送RA报文,报文中携带前缀、前缀网段及网关信息等信息。注意,这里的前缀等均指全球单播地址前缀,即(2000::之类的)。

主机收到RS报文后,通过EUI-64补齐后64位地址,即可组成一个全球单播IPV6地址。

NDP协议解决的第二个问题是---你在哪?

IPv6中没有了ARP协议,使用了NDP协议中的NS和NA完成了ARP协议的功能。

NS对应ARP请求报文,NA对应ARP应答报文。不过值得一提的是,与ARP在二层半的位置不同,NS和NA是依托于ICMPv6报文完成的。这是纯纯的三层了。在NS和NA报文中是有IPv6报文基本报头的,也就是说需要填充源和目的IPv6地址。我们假设PC1请求PC2

NS报文:源是PC1全球单播地址 目的是PC2请求节点组播地址(是PC2地址对应的组播组)

NS报文中为什么使用请求节点组播地址? 参看链接:

NA报文:源是PC2全球单播地址,目的是PC1全球单播地址。

知道了我是谁,也知道了你在哪,咱俩是不是可以说话了?

非也,还要使用NDP协议确认一下我是我。这简直离谱,我怎么不是我了?其实是为了避免IPv6网络中的地址冲突问题。使用DAD即可解决这个问题。

DAD是一个特殊的RS报文,报文中请求的IPv6即是本机的IPv6地址

由于DAD也是一个三层报文,基本报文头的源是::,也就是空地址,而目的地址是本机(PC1)地址的请求节点组播地址。

如果PC2确实使用了这个地址,此时PC2回复一个特殊的NA报文,由于此时PC1还没有ipv6地址(有的那个也冲突了不能用),所以这个报文的目的地址是FF02::1,所有ipv6节点。源则是当前冲突的这个IPv6地址。给PC1当头一棒。

NDP的三个基本功能

我是谁---RS/RA

你在哪---NS/NA

我是不是我---DAD(NS/NA的特殊用法)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值