首先先说一下我已经理解的 ipv6 的好处:
但是这个第 3 点我不太理解哈,那比如现在一个 ipv6 分组可能是这样:
那这个 ipv6 分组 到达一个路由器或主机,虽然 40 字节头部固定了,但它不还是得去找, 数据部分里是不是 有选项,如果有,是不是还得去看 有几个选项?
就怎么有种 掩耳盗铃的感觉,就是你即使这样划分了,但该做的工作还是没有少呢(也不知道我提问得对不对,我已经尽力描述了 QAQ )(或者说,你只是在头部里去掉了选项,但是 在数据里,还是有的呀,这个长度可变的选项不还是一样成为了负担吗)
1
amiwrong123 OP 我把原文描述加上:ipv6 对选项的删除
![]( https://s3.bmp.ovh/imgs/2021/11/0a303a5d269401d0.jpg) |
2
Tianao 2021-11-06 16:16:19 +08:00 1
「那这个 ipv6 分组 到达一个路由器或主机,虽然 40 字节头部固定了,但它不还是得去找, 数据部分里是不是 有选项,如果有,是不是还得去看 有几个选项?」
除了逐跳扩展头部以外的其它扩展头部,中间路由器是不需要处理的,这点和禁止中途分片异曲同工。 |
3
amiwrong123 OP @Tianao #2
我在 TCP/IP 协议详解书中 找到了你说的 逐跳扩展头部,它说这个选项 是每个经过路由器都要进行处理的。 所以说,即使 ipv6 固定了 40 字节头部,但还是 需要消耗一定功夫 来看是否有这个 逐跳扩展头部的呗。 虽说这个消耗不多了。 |
4
amiwrong123 OP @Tianao #2
如果说只提 第 3 点好处的话,我觉得其实 ipv4 现有的协议也可以马上 固定住头部的嘛。 因为你看,ipv4 也是 前面 20 字节的 肯定有的头部,然后是 可能有的选项,然后是 才是数据。 就是说,不用升级 ipv6 ,也能固定处 头部的呀? |
5
Tianao 2021-11-06 16:38:04 +08:00 1
@amiwrong123 #3 是的,这一改进的核心思路是尽量避免让路由器和主机处理不必要的信息。
|
6
amiwrong123 OP |
7
jaywhen 2021-11-06 17:04:01 +08:00
今天在 v 站多次看到两位的讨论,准备晚上开始看自顶向下了
|
8
amiwrong123 OP @jaywhen #7
哈哈哈,我就是问题太多了,幸好大佬愿意解惑 |
9
Tianao 2021-11-06 17:20:36 +08:00 2
@amiwrong123 #4
1. IPv4 可变长头部中的可选字段需要使用全 0 填充至 4 字节的整数倍,这将带来不必要的传输与端口资源开销。 2. 单一可变长头部相较于定长头部+多个可选的扩展头部,需要更复杂的 /成本更高昂的软件和硬件设计实现,可能涉及到寄存器地址空间、TCAM 资源分配之类的。据我所知,现在市售的商品路由器(交换机)在处理 IPv4 可选头部时是必上送 CPU 的,这将带来更多的计算资源开销、更多的内部总线 /fabric 开销、更大的延迟和抖动(不确定性),但是很多设备在处理 IPv6 的扩展头部时是可以直接在接口板(线卡)上执行转发决策的。题外话,很多设备的内部 fabric 交换走的是定长信元切片,看中的也是定长信元带来的确定性(刚性)。 目前想到这些,欢迎交流。 |
10
amiwrong123 OP @Tianao #9
>单一可变长头部相较于定长头部+多个可选的扩展头部,需要更复杂的 /成本更高昂的软件和硬件设计实现 这一点我大概理解啦,毕竟 ipv4 的头部 上来就是不确定的,怎么想都会需要更多的设计和消耗。谢谢大佬的仔细讲解,不过后面有一些术语太专业没大懂😂,哈哈,看来还需要多学习呀 PS:希望今年能看完 计网自顶向下 |