Visual RFC.
ALL RFCs / RFC 4343
Read the RFC ↗
RFC 4343 / DNS NAME COMPARISON

Match ASCII letters without folding every byte

01

DNS, the Domain Name System, compares ordinary name labels without distinguishing uppercase and lowercase ASCII letters. ASCII is a basic character encoding. A label is one component of a name, such as Lab in Lab.Example.

RFC 4343 · § 3EXAMPLE
3 / 3
Match ASCII letters without folding every byteThree separate original-label comparisons: LaB.Example matches lab.example; lab.example differs from lax.example at b/x; one-byte labels hexDD and hexFD remain unequal. Only ASCII uppercase/lowercase pairs gain equivalence, independent of CLASS. No Unicode or locale folding.Separate non-ASCII byte comparisonQuery nameStored name\221.example.\253.example.different name bytesDD ≠ FD; no international case folding
03
Keep non-ASCII byte values distinct.

Separate one-byte labels containing decimal221 (hexDD) and decimal253 (hexFD) do not match. Applying an international or locale-specific case conversion here would change the DNS comparison rule.

Source for this drawing: RFC 4343 · Read RFC section 3 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

Only ASCII letter pairs gain this equivalence; different ordinary letters and other unequal octets remain different.

  • Uppercase ASCII octets 0x41–0x5A MUST match their lowercase partners 0x61–0x7A, and vice versa. An octet also matches itself. Octet means an eight-bit byte.
  • The ASCII comparison rule is not general Unicode or locale-dependent case conversion. For example, byte 0xDD does not match 0xFD, although another character system can interpret them as a letter-case pair.
  • Case folding is one possible implementation, not a required algorithm. This rule applies to original type-0 labels, directly or after a compression pointer is resolved; it is not a rule for every extended label type or arbitrary DNS record data.
DETAILS

Examples are fictional absolute names ending at the root dot. The case-comparison rule is not CLASS-dependent (§3.3). A matching name is not proof that a server, user or application is trusted.

Read the RFC section ↗

All chapters in RFC 4343

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗