The answer NAME field uses marker bits plus a fourteen-bit offset.

highlighted = computed this step

A pointer starts with marker bits

The answer NAME bytes are 0xc00c. The top two bits are 3.

pointer=0xc00c\text{pointer}=0xc00c
Pointer bytesThe answer NAME uses a two-byte compression pointer.Answer NAME pointer16 bits / 2 bytes0xc00cbyte 0byte 11100000000001100markeroffset12marker: 3

Lower bits hold the offset

The lower fourteen bits decode to offset 12.

pointer offset=12\text{pointer offset}=12
Pointer bytesThe answer NAME uses a two-byte compression pointer.Answer NAME pointer16 bits / 2 bytes0xc00cbyte 0byte 11100000000001100markeroffset12marker: 3

Marker three means pointer

Marker value 3 tells the parser this field is a pointer, not a normal label length.

marker=3\text{marker}=3
Pointer bytesThe answer NAME uses a two-byte compression pointer.Answer NAME pointer16 bits / 2 bytes0xc00cbyte 0byte 11100000000001100markeroffset12marker: 3

Summary

The bytes point to offset 12, where the earlier QNAME starts.

target offset=12\text{target offset}=12
Pointer bytesThe answer NAME uses a two-byte compression pointer.Answer NAME pointer16 bits / 2 bytes0xc00cbyte 0byte 11100000000001100markeroffset12marker: 3