A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising:
- receiving, at a first authoritative domain name system (DNS) server, a first DNS query for an address record for a hostname, wherein the first authoritative DNS server is part of a first node of a plurality of nodes of a distributed cloud computing network, wherein each other node of the plurality of nodes includes another authoritative DNS server, wherein the first node is associated with a first IP address prefix, and wherein a second node of the plurality of nodes is associated with a second IP address prefix;
- selecting, at the first authoritative DNS server using a selection algorithm, a first IP address having the first IP address prefix from a plurality of IP addresses to include in an answer to the first DNS query, wherein each of the plurality of IP addresses that have the first IP address prefix are capable of being selected by the first authoritative DNS server to be included in the answer to the first DNS query regardless of the hostname being queried, wherein each of the plurality of IP addresses that have the second IP address prefix are not capable of being selected by the first authoritative DNS server to be included in the answer to the first DNS query, wherein each of a plurality of servers of the distributed cloud computing network are capable of receiving traffic at each of the plurality of IP addresses, wherein none of the plurality of IP addresses identify a particular server of the distributed cloud computing network, wherein each IP address of the plurality of IP address includes a prefix portion and a host portion, and wherein the selection algorithm generates a first random bitstring for the host portion of the selected first IP address, and wherein the selected first IP address is a concatenation of the first IP address prefix with the first random bitstring;
- transmitting a first answer to the first DNS query that includes the selected first IP address;
- receiving, at a first one of the plurality of servers of the distributed cloud computing network from a first client device, a first request for content that is addressed to the selected first IP address;
- determining the hostname based on a Server Name Indication (SNI) field or an HTTP host header field associated with the first request for content and not based on the selected first IP address;
- transmitting the first request to an origin server for the hostname;
- receiving a first response from the origin server responsive to the transmitted first request;
- transmitting the first response to the first client device;
- receiving, at a second authoritative DNS server, a second DNS query for the address record for the hostname, wherein the second authoritative DNS server is part of the second node;
- selecting, at the second authoritative DNS server using the selection algorithm, a second IP address having the second IP address prefix from the plurality of IP addresses to include in an answer to the second DNS query, wherein each of the plurality of IP addresses that have the second IP address prefix are capable of being selected by the second authoritative DNS server to be included in the answer to the second DNS query regardless of the hostname being queried, wherein each of the plurality of IP addresses that have the first IP address prefix are not capable of being selected by the second authoritative DNS server to be included in the answer to the second DNS query, wherein the selection algorithm generates a second random bitstring for the host portion of the selected second IP address, and wherein the selected second IP address is a concatenation of the second IP address prefix with the second random bitstring;
- transmitting a second answer to the second DNS query that includes the selected second IP address;
- receiving, at a second one of the plurality of servers of the distributed cloud computing network from a second client device, a second request for content that is addressed to the selected second IP address;
- determining the hostname based on a Server Name Indication (SNI) field or an HTTP host header field associated with the second request for content and not based on the selected second IP address;
- transmitting the second request to the origin server for the hostname;
- receiving a second response from the origin server responsive to the transmitted second request;
- and
- transmitting the second response to the second client device.