一、为什么会有IPV6
1、32bit的ipv4地址资源紧张
2、ipv4的性能问题
3、ipv6具有更高的安全性
二、IPV6报文解析
话不多说,直接抓个包分析下
以太头上个文章已经介绍过了,这里不做赘述
直接看ipV6头部信息
version:对应ip版本 这里是0110 就是6
traffic class:区分服务,区分流的优先级
flow label:流标签,标记特定的报文,路由器可以根据标签来统一处理
payload length:净荷长度
net header:下一个头,这边下一个是icmp报文
hop limit:类似于ipv4里面的ttl吧
三、邻居发现
我们都知道IPV4 ping的话需要arp协议来获取mac信息,ipv6不用arp,用的是邻居发现
这里先说一个简单的邻居请求NS和邻居通告NA
比如云主机A要ping云主机B
云主机A先发一个NS,当云主机B收到请求后,回复一个NA给云主机A,其他主机收到信息后,发现不是请求自己的则丢弃,具体下面抓包说
邻居发现都是基于ICMPV6来实现
NS请求,源地址是主机A的地址,目的地址是主机B所在的组播地址,type=135,DMAC为组播mac
target address为B的ip地址
PS:下一章会谈到组播地址和组播MAC是如何推算的
当B接收到NS请求后,发现target address是自己,于是回应NA消息
当A收到B返回的NA后,维护了自己邻居表信息,下一次就可以直接访问B了