IPv6技术的几个问题?

目录

一、IPv4头部和IPv6头部主要字段有什么区别?

二、IPv6对Qos有啥特别的支持?

三、IPv6地址分类

四、IPv6地址配置方式有哪些

五、介绍NDP(邻居发现)协议常用功能

六、IPv6过渡机制


一、IPv4头部和IPv6头部主要字段有什么区别?

IPv4:报头20字节 2的20次方

TCP:报头20字节

IPv6:报头40字节

IPV4

Type of service: 8bit 服务类型,只有在QOS差分服务要求时,这个字段才起作用;

Total Length16bit 总长度,整个IP数据报的长度,包括首部和数据之和,单位为字节,最长65535,总长度必须不超过最大传输单元MTU。

Identification16bit 标识,主机每发送一个报文,加1,分片重组时会用到该字段;

Flags3bit 标记,

bit 0:保留位,必须为0

bit 1:DF(don't fragmen),能否分片位,0标识可以分片,1标识不能分片

bit 2:MF(more fragment),表示能否该报文为最后一片,0表示最后一片,1代表后面还有

Fragment Offse13bit 分片偏移,每个分片在原分组中的相对位置,接收端根据片偏移最后将报文按顺序攒起来(重组)

Time to live: 8bit,生存时间

Protocol8bit,协议号,标下一层协议是那种协议

Header Checksum 16bit,头部校验和,只检验数据包的首部,不检验数据部分,这次不采用CRC检验码,而采用简单的计算方法。

Source Address32bit,源IP地址,

Destination Address 32bit,目的IP地址,

Options可变,选项字段,最多40字节,IPv4标准报头为20字节。

标准组织定义了5个可选项字段

Padding 可变,填充字段,全填0

IPv6

IPv6基本报头有8个字节,固定大小为40字节,每一个IPv6数据报文都必须包含报头

拓展包头是可选的,只有需要该扩展包头对应的功能时,数据的发送者才会添加相应的拓展包头

Flow Label20bit,流标签,该字段用来表示IP数据包的一个流,当前的标准中没有定义如何管理和处理流标签的细节。

Payload Length16bit,该字段表示有效载荷的长度,有效载荷是指紧跟IPv6基本报头的数据包,包含IPv6扩展报头。

Next Header8bit,下一报头,该字段指明了跟随在IPv6基本报头后的拓展报头的信息类型。

Hop Limit8bit,跳数显示,该字段定义了IPv6数据包所能经过的最大跳数,这个字段和IPv4中的TTL字段非常相似。

Source Address128bit,该字段表示该报文的源地址。

Destination Address128bit,该字段表示报文的目的地址。

Extension Headers拓展报头,IPv6取消了IPv4报头中的选型字段,并引入了多种拓展报文头,在提高处理效率的同时还增强了Ipv6的灵活性,为IPv6提供良好的拓展能力,当超过一种拓展报头被用在同一分组里时,报头必须按照下列顺序出现。

二、IPv6对Qos有啥特别的支持?

IPv6增加了20bit的流标签位(Flow Label)来对流进行分类 2的20次方类

以太网接口MTU是指的出方向,MTU指除了以太网头(二层头)之外,剩下IP+Data 1500字节,IP层传出数据时

如果数据报大于链路MTU,则由IP层进行分片,分片后只在目的端进行重组

MTU针对出方向,单向,一条链路的Pmtu有两个

IP 总长度 16bit ,整个IP数据报的长度包括首部和数据之和,单位为字节,最长65535字节 (2^16-1) 65M

如果是UDP传输,单个IP报文长度需要小于65535字节,在传输过程中如果超过接口的MTU,则被三层进行分片

如果是TCP传输,由于TCP具有MSS,而且TCP有自动对应用数据进行分块的能力,因此如果就应用程序交由TCP封装则无需考虑单个包的大小

目的选项报头;路由报头:在移动中保持通信不中断,就需要有多个目的地址;

SRV6就利用了路由报头

三、IPv6地址分类

链路本地地址(广播域内):

在一个节点启动IPv6协议栈时,节点的每个接口会自动配置一个链路本地地址。该地址专门用来和相同链路上的其他主机通信。

  • 只能在连接到同一本地链路的节点之间使用,广泛应用于邻居发现、无状态地址等。
  • 链路本地地址前缀FE80::/10,将接口ID添加在后面作为地址的低64位。
  • 每一个IPv6接口都必须具备一个链路本地地址

IPv4原来是由:网络位+主机位

IPv6现在是叫:前缀+接口标识

四、IPv6地址配置方式有哪些

EUI-64根据MAC地址生成接口ID

IPv6地址=前缀(64bit)+接口ID(64bit) 48bit(MAC地址)+16bit(FFEE)=64bit

  1. 接口ID通过用MAC计算出来

①将48 bit 的MAC对半劈开,然后插入FFFE=1111 1111 1111 1110

②再从左起第7位,也就是U/L位取反 第7比特取反,如果是1就取0,如果是0就取1

③换算成16进制则是对应的接口ID

为什么第②步要将第7bit取反?

单播MAC地址中,第1个Byte的第7bit是U/L(Universal/Local,也称为G/L,其中G表示Global)位,用于表示MAC地址的唯一性。

  • 如果U/L=0,则该MAC地址是全局管理地址,是由拥有OUI的厂商所分配的MAC地址;
  • 如果U/L=1,则是本地管理地址,是网络管理员基于业务目的自定义的MAC地址。

而在在EUI-64接口ID中,第7bit的含义与MAC地址正好相反,0表示本地管理,1表示全球管理,所以使用EUI-64格式的接口ID,U/L位为1,则地址是全球唯一的,如果为0,则为本地唯一。这就是为什么要反转该位。

换算举例

MACD4-3A-65-09-36-AD

中间插入FFFE: D43A:65FF:FE09:36AD

转换为2进制: 11010100 00111010 :01100101 11111111 :11111110 00001001 : 00110110 10101101

第七比特取反: 11010110 00111010 :01100101 11111111 :11111110 00001001 : 00110110 10101101

五、介绍NDP(邻居发现)协议常用功能

IPv6地址不在使用ARP,也不使用广播方式(IPv6取消了广播)

地址解析在三层完成,针对不同的链路层协议可以采用相同的地址解析协议。

通过ICMPv6(类型135的NS邻居请求及类型136的NA邻居通告报文)来实现地址协议

  • NS报文发送使用组播的方式,报文的地址IPv6地址为被请求的IPv6地址对应的“被请求节点组播地址”报文的目的MAC为组播MAC。
  • 采用组播的方式发送NS消息相比于广播的方式更加高效,也减少了对其他节点的影响和对二层网络的性能压力。
  • 可以使用三层的安全机制(数字签名)避免地址解析攻击

IPv6地址无状态自动配置,简称SLAAC是IPv6的标准功能在RFC2462中定义,

在IPv6中,设备可以通过手工或者动态的方式获取地址,在动态获取地址的方式中,存在DHCPv6及无状态地址自动配置两种方式。

相比于DHCPv6这种动态地址分配技术而言,SLAAC无需部署应用服务,更加轻量。

删除客户端undo ipv6 address auto global 重新配置可以重新产生dhcpv6报文

NS邻居请求 RA路由请求报文

六、IPv6过渡机制

手动隧道和自动隧道的区别?

  • 隧道目标地址获取方式不同,手动隧道是手动指定的,自动隧道是自动从v6报文中获取的

自动隧道中,6 to 4 隧道和ISATAP隧道的区别?

  • 都是将IPv4地址嵌套在IPv6地址中,一个嵌套在前面(前缀),一个嵌套在后面(接口ID)

双栈

IPv6 over IPv4 手动隧道

IPv6 to IPv4 自动隧道

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

里晓山

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

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

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

打赏作者

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

抵扣说明:

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

余额充值