1

Section 2.2 of RFC 3074 defines a Service Transaction ID (STID) as:

An attribute of the individual client requests used for load-balancing.

However, section 2 of RFC 2131 defines the xid field of a DHCP packet as:

Transaction ID, a random number chosen by the client, used by the client and server to associate messages and responses between a client and a server.

These seem to match up, until this point in RFC 3074 section 4:

DHCP servers MUST use the Client Identifier [ciaddr from RFC 2131] option as the STID if it is present. If no Client Identifier option is present, the hlen field of the DHCP packet MUST be used as the length of the data to be hashed, and the contents of the chaddr MUST be the data to be hashed. At most the first sixteen bytes of the Client Identifier or chaddr are used.

This makes it seem like the STID and xid are different things. So, what is the purpose of STID? Additionally, I have a packet capture of a specific client issuing multiple discovers but all with the same exact xid, which shouldn't be legal according to RFC 2131 ("...a random number") - at what point does the xid field get updated?

vpseg
  • 23
  • 3
  • I'm looking for an answer for the same question as yourself. If you have managed already to find an answer, I'd appreciate it if you share it here. Thanks. – AhmedWas Aug 17 '22 at 10:30
  • @AhmedWas Sadly I haven't. If you find an answer, please let me know, too! – vpseg Aug 22 '22 at 19:47

0 Answers0