The Internet Assigned Numbers Authority (IANA) delegates large IP blocks to Regional Internet Registries (RIRs) like ARIN, RIPE, and APNIC. These RIRs then allocate smaller blocks to ISPs and organizations. For example:
# Example of IP block allocation hierarchy
IANA -> RIR (ARIN) -> LIR (ISP) -> End User
Without RIRs, we'd face IP conflicts and routing chaos. When ARIN assigns 158.124.0.0/16 to your company, they record this in their WHOIS database. This doesn't automatically make the IPs routable - you need BGP for that.
To advertise your IP block:
- Obtain an Autonomous System Number (ASN)
- Establish BGP sessions with your upstream providers
- Announce your prefix (158.124.0.0/16)
# Sample BGP configuration (Cisco IOS)
router bgp 64512
network 158.124.0.0 mask 255.255.0.0
neighbor 203.0.113.1 remote-as 64500
When you register DNS servers with your registrar, you're creating NS records in the parent zone. For example:
# Example DNS zone delegation
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
ns1.example.com. IN A 158.124.1.1
ns2.example.com. IN A 158.124.1.2
Organizations need public IPs because:
- Private IPs (10.x, 192.168.x) aren't routable on the internet
- Public services require public addressing
- It provides flexibility for future expansion
For your Chicago/NY data centers with 158.124.0.0/16:
# Network design for multi-DC BGP
Chicago:
- 158.124.0.0/24 for web servers
- BGP neighbor with ISP A (AS 64500)
New York:
- 158.124.1.0/24 for databases
- BGP neighbor with ISP B (AS 64501)
For deeper understanding:
- "BGP4: Inter-Domain Routing in the Internet" by John Stewart
- "DNS and BIND" by Cricket Liu
- ARIN's technical documentation
The Internet Assigned Numbers Authority (IANA) delegates IP blocks to Regional Internet Registries (RIRs) like ARIN, RIPE, and APNIC. These RIRs then allocate smaller blocks to ISPs and large organizations. For example:
# ARIN's allocation record sample
inetnum: 158.124.0.0 - 158.124.255.255
netname: EXAMPLE-ORG
descr: Example Corporation
country: US
admin-c: EA123-ARIN
tech-c: TE456-ARIN
mnt-by: MAINT-EXAMPLE-CORP
changed: hostmaster@example.com 20230101
source: ARIN
After receiving IP allocations, organizations must:
- Obtain an Autonomous System Number (ASN)
- Configure BGP sessions with upstream providers
# Sample BGP configuration (Cisco IOS)
router bgp 64512
bgp log-neighbor-changes
network 158.124.0.0 mask 255.255.128.0
neighbor 203.0.113.1 remote-as 701
neighbor 203.0.113.1 description Upstream Provider A
neighbor 198.51.100.1 remote-as 1234
neighbor 198.51.100.1 description Peer Exchange
When registering DNS servers with your registrar, you're creating delegation records in the parent zone. For instance:
; Domain delegation example
example.com. 86400 IN NS ns1.example.com.
example.com. 86400 IN NS ns2.example.com.
ns1.example.com. 3600 IN A 158.124.10.1
ns2.example.com. 3600 IN A 158.124.10.2
For your 158.124.0.0/16 allocation with two data centers:
# Network topology implementation
Chicago DC:
- Allocate 158.124.0.0/24 for public services
- BGP peering with two transit providers
- Anycast DNS on 158.124.0.53
New York DC:
- Allocate 158.124.1.0/24 for public services
- BGP peering with local exchanges
- Secondary DNS on 158.124.1.53
Companies use public IP blocks instead of RFC1918 space because:
- Public services require global reachability
- NAT breaks certain protocols and adds complexity
- Having own space provides routing flexibility
Unused portions of allocations are often reserved for future expansion and to maintain contiguous routing advertisements.