Lecture 9: Ip Variations: Ipv6, Multicast, Anycast
Lecture 9: Ip Variations: Ipv6, Multicast, Anycast
Lecture 9: Ip Variations: Ipv6, Multicast, Anycast
anycast
Reminder: Mid-term on Thursday
• Open book, open notes
• No electronic devices allowed
• Covers all material up to lecture 9 (today)
• Comments on kinds of problems
Overview
• Next generation IP: IPv6
• IP multicast
• IP anycast
• Practical considerations throughout
I think we have a problem
Source
(16 octets, 128 bits)
Destination
(16 octets, 128 bits)
IPv6 Header Fields
• Version, 4 bits: 6 for IPv6
• Class: 8 bits: like TOSS in IPv4
• Flow, 20 bits: identifies a flow
• Length, 16 bits: datagram length
• Next header, 8 bits: more later
• Hop limit, 8 bits: like TTL in IPv4
• Addresses: 128 bits
IPv6 Addresses
• Simplify DHCP and autoconfiguration
• Break 128 bits into 80-bit network and 48-bit
interface
- Many link layers have unique interface addresses (more on
this later in quarter)
- E.g., Ethernet is 48 bits
- Use of 48-bit ID ensures no address collisions, makes DHCP
stateless
v4 Interoperability
• RFC 4291
• Every IPv4 address has an associated IPv6 address
• Simply prefix 32-bit IPv4 address with 96 bits of 0
0000 x 12
IPv4 address
v4 Interoperability, continued
• Two IPv6 endpoints must both have IPv6 stacks
• What about transit network?
• v6 - v6 - v6 (no problem)
• v4 - v4 - v4 (no problem)
• v4 - v6 - v4 (no problem)
• v6 - v4 - v6 (uh-oh)
6-4-6 Example
A D1 IPv4 D2 B
6 4 4 6
IP Tunneling
• Encapsulate an IP packet inside another IP packet
• Makes an end-to-end path look like a single IP hop
IPv4 Header
A D1 IPv4 D2 B
6 4 4 6
Other Tunneling Use: VPN
• Virtual Private Networks
• Use case: two distance corporate offices
- Want to access each other’s internal networks
- Make it looks like they’re the actually one network
src Internet gw a
a
Multicast Approach
• Nodes can join a multicast group
• Denoted by a multicast IP address
• Routers build a routing topology
- Link state vs. distance vector
A R1 R2
R3 R4 R5
C R6 R7
Tree for A as Multicast Source
B
A R1 R2
R3 R4 R5
C R6 R7
Tree for B as Multicast Source
B
A R1 R2
R3 R4 R5
C R6 R7
Practical considerations
• Multicast protocols end up being very complex
• Introduce a lot of router state
• Turned off on most routers
• Used within a domain, not between domains
• How does one handle congestion control?
Anycast
• Communicate with “any” one of a set of nodes
• We’ve seen this with DNS
\$ dig www.google.com
...
;; ANSWER SECTION:
www.google.com. 604799 IN CNAME www.l.google.com.
www.l.google.com. 300 IN A 74.125.19.103
www.l.google.com. 300 IN A 74.125.19.104
www.l.google.com. 300 IN A 74.125.19.147
www.l.google.com. 300 IN A 74.125.19.99
Anycast at IP layer
• DNS allows anycast through name → address
mappings
• Sometimes we need it at layer 3 itself
- Single IP address refers to multiple hosts
- Need to talk to any one of them