Multicast IP Addresses

From Wikitech
Jump to navigation Jump to search
Wikimedia infrastructure

Data centres and PoPs

Networking


HTTP Caching

MediaWiki

Media

Logs

List of known Multicast address assignments within WMF's networks

This list is definitely not exhaustive. We should make an effort to find other existing multicast IPs already in use and flesh out this table!

IP Address Use Notes
239.128.0.112 HTCP for cache_text (e.g. Wikis and services) UDP port 4827
239.128.0.113 HTCP for cache_upload UDP port 4827
239.128.0.114 HTCP for cache_maps (vhtcpd on cache_upload subscribes to this address) UDP port 4827
239.128.0.115 HTCP for cache_misc (vhtcpd on cache_text subscribes to this address) UDP port 4827
239.239.239.0-255 multicast tftp on installserver(s) whole range 0-255 in last octet

Notes about address collisions

While it's obvious that we shouldn't re-use the same exact IP address for two different purposes, there are network performance reasons to go a bit further than that. At Layer 2 (Ethernet), multicast addressing for IPv4 only has 23 bits of address space. Those 23 bits are taken from the least-significant 23 bits of the IPv4 Multicast address. In pragmatic terms, this means the first octet is irrelevant at Layer 2 (224.x.x.x == 225.x.x.x == ... 239.x.x.x), as well as the first bit of the next octet (239.0.1.1 == 239.128.1.1, 239.1.1.1 == 239.129.1.1, etc...). The aliased traffic won't reach layer 3 and beyond, but will be sent to all ethernet interfaces subscribed to aliased addresses. Therefore we should try to avoid using aliased addresses above (they should all differ in the lower 23 bits).

The same basic things apply for IPv6 multicast, but IPv6 gets 32 bits of L2 address space, which map to the least-significant 32 bits of the IPv6 Multicast address.

In both cases, we should probably also watch out for aliasing with well-known multicast addresses used for standard network functions...

See also: Multicast Address