计算机网络协议分析 第6课 IPV6

第4章 IP

4.3 IP协议的安全问题

ping of death

原理:发送长度超过65535的IP包,目标主机重组分片时会造成缓冲区溢出

实现:MF=0(最后一片),总长度为49,偏移量为0x1FFE;重组后长度为0xFFE*8+(49-20)=65549.

Teardrop

原理:第二个IP分片偏移量小于正常值,使两个分片出现重叠

实现:

  • 分片1:MF=1,片偏移=0,长度为36(不含IP首部)
  • 分片2:MF=0,片偏移=3
  • 偏移字节数 3*8=24<36,造成两个分片重叠

4.4 IPv6数据报

IPv6数据报格式

IPv6数据报=1个基本首部+0个或多个扩展首部+数据
IPv6数据报格式
IPv6数据报全格式
例题一:
IPv6例题
问:此IPv6数据报的总长度为多少字节?
答:因为他为IPv6数据报,其中下一首部为ICMPv6,且下一个首部中没有下一个首部,可算得40+40,共80字节

例题二:
IPv6例题二
问:此ICMPv6数据报的总长度是多少字节?
答:124的长度减去8的分片扩展首部得到总长度为116字节

IPv4 VS IPv6

IPv4的首部长度、总长度换成了载荷长度
IPv4的服务质量换成了通信类,流标签
IPv4的标识、标志、片偏移换成了分片扩展首部
IPv4的协议字段换成了下一个首部
取消了选项、检验和,加上了扩展首部部分

IPv6扩展首部

6种IPv6扩展首部:

  • 逐跳选项(0)
  • 目的地选项(60)
  • 源路由(43)
  • 分片(44)
  • 认证(51)
  • ESP(50)

问题:路由器如何判断 一个IPv6数据报携带了扩展首部?
答:基本首部中“下一个首部”字段的值
几种典型的IPv6数据报

逐跳选项扩展首部(0)

逐跳选项扩展首部

  • 必须紧跟在基本首部的后面,传输路径中所有路由器均要处理它
  • 基本首部中的“下一首部”字段的值=0
  • 作用:
    • 用于发送巨型帧
    • 用于资源预留协议RSVP

巨型帧(Jumbo)

巨型帧

  • 在主干网和高容量网络中,携带巨型帧有更好的性能
  • 巨型帧由逐跳选项扩展首部携带

问:路由器如何判断收到的是一个巨型帧?
答:基本首部中“有效载荷长度”字段值为0,且“下一首部”字段值为0

目的地选项扩展首部(60)

目的地选项扩展首部

  • 包含目的地需要处理的信息,可出现两次:
    • 位于路由扩展首部的前面,目标结点和源路由选择首部中指定的节点对其进行处理
    • 位于上层数据的前面,只有目标节点对其进行处理
  • 前一个扩展首部或基本首部中下一个首部字段的值=60

源路由扩展首部(43)

源路由扩展首部

  • IPv6源主机在该首部中列出IP地址清单,以指定数据报的传输路径
  • 前一个扩展首部或基本首部中下一个首部字段的值=43
  • 路由类型:严格源路由/宽松源路由
  • 跳数:到过目的地还需要的跳数
    实例
    类比IPv4的源路由选项

分片扩展首部(44)

分片扩展首部

  • 当源主机需要发送比PMTU更大的数据报时使用分片扩展手背部
  • 前一个扩展首部或基本首部中,下一个首部字段的值=44
  • 标识、片偏移、M:

问:为什么没有DF位?
答:IPv6路由器不支持分片

链路MTU与PMTU

  • 链路MTU:一条链路上能进行传输的最大传输单元
  • PMTU:源地址和目的地址之间的路径中所有链路MTU中的最小值

最小MTU:576字节(IPv4网络)、1280字节(IPv6网络),超过可能会被丢弃

实例

  • 不可分片部分:基本首部+需中间路由器处理的扩展首部(如逐跳选项扩展首部、源路由选项扩展首部)
  • 可分片部分:只能被目的节点处理的扩展首部(中间路由器不处理)+上层数据

不可分片部分考虑其中的两个字段:有效载荷长度(除基本首部之外其他的扩展首部和数据报中的内容)、下一个首部(指向紧跟在后面的首部)
分片扩展首部:考虑M位

认证扩展首部(51)

认证扩展首部

  • 确保IPv6数据报各部分在传输过程中不被修改(TTL、源路由扩展首部除外),但不对数据加密
  • 前一个扩展首部或基本首部中下一个首部字段的值=51

封装ESP扩展首部(50)

封装ESP扩展首部

  • 位于上层数据的前面,对数据保密
  • 前一个扩展首部或基本首部中“下一个首部”字段的值=50

上一课:第五课IP
下一课:第七课 ICMP

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值