第 2.2 节RFC 3074 将服务事务 ID (STID) 定义为:
用于负载平衡的各个客户端请求的属性。
然而,第 2 节RFC 2131 将xid
DHCP 数据包的字段定义为:
事务ID,由客户端选择的随机数,由客户端和服务器使用,以关联客户端和服务器之间的消息和响应。
这些似乎是匹配的,直到 RFC 3074 中的这一点第 4 节:
如果存在客户端标识符 [ 来自 RFC 2131] 选项,DHCP 服务器必须使用
ciaddr
该选项作为 STID。如果不存在客户端标识符选项,则必须使用 DHCP 数据包的 hlen 字段作为要散列的数据的长度,并且 chaddr 的内容必须是要散列的数据。最多使用客户端标识符或 chaddr 的前 16 个字节。
这让 STID 和 xid 看起来好像是不同的。那么,STID 的用途是什么?此外,我有一个特定客户端的数据包捕获,该客户端发出了多个发现,但所有发现都具有相同的精确值xid
,根据 RFC 2131(“...一个随机数”),这应该是不合法的 - 字段在什么时候xid
更新?