Abstract

IPv4 and IPv6 are two SEPERATE forms of IP (Network Layer)

IPv5 is a form developed around the time of ARPAnet which never got standardized and subsequently fell into obscurity, to do with transmission of voice

Addressing

IP addresses encode location of network interface

  • If a host has multiple network interfaces (e.g., Wi-Fi and Ethernet), it will have multiple IP addresses
  • A host can support both IPv4 and IPv6 on each interface
  • A host can have multiple IP addresses of each type assigned to each interface

Note: DNS names are an application concept – not used by the network.

Addressing Problems, and Reachability

*Problem The initial IP design made the assumption that every network interface has a unique IP address. This would make devices uniquely addressable with uniform connectivity. The problem with this is that IPv4 has insufficient addresses for the modern world, and IPv6 is too slow, so NAT is widespread.

*Implication Connectivity becomes difficult:

  • Dual-stack IPv4/IPv6 connection racing: Happy Eyeballs - Parallel Connections
  • NAT traversal for peer-to-peer applications
  • Complication of software development
  • Forces reliance on cloud services and encourages centralization

Conflicting Connections

Solutions:

Happy Eyeballs - Parallel Connections

  • Perform DNS lookups for IPv4 and IPv6 in parallel; start with whichever completes first
  • Call connect() for that address; if not connected within ~100ms, start connect() to next address on the list in parallel, alternating between IPv4 and IPv6
  • Use first connect() that succeeds, drop other successful connections
  • Balances speed to connect vs. network overload by trying all at once in parallel Ex:

More on this at: https://datatracker.ietf.org/doc/rfc8305/

Internet Multimedia Standards

Media: secure RTP, WebRTC data channel

Path discovery and NAT traversal: ICE, STUN, TURN

Session descriptions: SDP

Signaling protocols for different purposes:

  • Announcing multicast sessions: SAP – obsolete
  • Control of streaming media: RTSP
  • Control of interactive conferencing: SIP
  • Control of telepresence: CLUE – not widely used
  • Control of web-based interactive media: JSEP (WebRTC)