48
IPv6 & Multicast

IPv6 & Multicast

  • Upload
    lew

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

IPv6 & Multicast. Acknowledgement. Figures and texts are from: Steve Deering(Oct. 2001 talk) Peterson & Davie McKeown(Stanford). IPv6. IP Scaling Problems — the View from Late 1991. running out of Class B addresses (near-term) - PowerPoint PPT Presentation

Citation preview

Page 1: IPv6 & Multicast

IPv6 & Multicast

Page 2: IPv6 & Multicast

Acknowledgement

• Figures and texts are from:– Steve Deering(Oct. 2001 talk)– Peterson & Davie– McKeown(Stanford)

Page 3: IPv6 & Multicast

IPv6

Page 4: IPv6 & Multicast

IP Scaling Problems —the View from Late 1991

• running out of Class B addresses (near-term)solution:CIDR (Classless Interdomain Routing) to allow

addresses to be allocated and routed as blocks of anypower-of-two size, not just Class A, B, and C

• running out of routing table space (near-term)solution:provider-based delegation of address blocks, i.e.,

address hierarchy changed from organization:subnet:host to provider:subscriber:subnet:host

Page 5: IPv6 & Multicast

IP Scaling Problems —the View from Late 1991

• running out of all IP addresses (long-term)solution: a new version of IP with bigger

addresses, dubbed IP Next Generation, of IPng

note: this was before the Web!

Page 6: IPv6 & Multicast

What’s Been Happening Since Mid 1994?

• writing protocol specs, arguing about every detail, and progressing through the IETF Standards process– scores of documents, on IPv6 address formats

and routing protocols (unicast & multicast), L2 encapsulations, auto-configuration, DNS changes, header compression, security extensions, IPv4/IPv6 co-existence & transition, MIBS,…(see playground.sun.com/ipv6 for list of documents)

Page 7: IPv6 & Multicast

What’s Been Happening Since Mid 1994?

• implementation by vendors, and interoperability testing

• building deployment testbeds

• shipping products

• deploying production services

Page 8: IPv6 & Multicast

Why IPv6?(Theoretical Reasons)

only compelling reason: more IP addresses!

• for billions of new users (Japan, China, India,…)

• for billions of new devices (mobile phones, cars, appliances,…)

• for always-on access (cable, xDSL, ethernet-to-the-home,…)

• for applications that are difficult, expensive, or impossible to operate through NATs (IP telephony, peer-to-peer gaming, home servers,…)

• to phase out NATs to improve the robustness, security, performance, and manageability of the Internet

Page 9: IPv6 & Multicast

IPv6 Header compared to IPv4 Header

Ver.

Time toLive

Source Address

Total LengthType ofService

HdrLen

Identification FragmentOffsetFlg

Protocol HeaderChecksum

Destination Address

Options...

Ver. TrafficClass

Source Address

Payload Length NextHeader

HopLimit

Destination Address

HdrLen

Identification FragmentOffsetFlg

HeaderChecksum

Options...

shaded fields have no equivalent in theother version

IPv6 header is twice as long (40 bytes) asIPv4 header without options (20 bytes)

Flow LabelFlow Label

Page 10: IPv6 & Multicast

Chapter 4, Figure 32

125– m– n– o– pponm3

SubscriberIDProviderIDRegistryID010 InterfaceIDSubnetID

Page 11: IPv6 & Multicast

IP Address Allocation History 1981 - IPv4 protocol published 1985 ~ 1/16 of total space 1990 ~ 1/8 of total space 1995 ~ 1/4 of total space 2000 ~ 1/2 of total space

• this despite increasingly intense conservation efforts– PPP / DHCP address sharing– CIDR (classless inter-domain routing)– NAT (network address translation)– plus some address reclamation

Page 12: IPv6 & Multicast

IP Address Allocation History

• theoretical limit of 32-bit space: ~4 billion devicespractical limit of 32-bit space: ~250 million devices

Page 13: IPv6 & Multicast

Other Benefits of IPv6

• server-less plug-and-play possible• end-to-end, IP-layer authentication & encryption possible• elimination of “triangle routing” for mobile IP• other minor improvements

NON-benefits:• quality of service (same QoS capabilities as IPv4)

– flow label field in IPv6 header may enable more efficient flow classification by routers, but does not add any new capability

• routing (same routing protocols as IPv4)– except larger address allows more levels of hierarchy

• except customer multihoming is defeating hierarchy

Page 14: IPv6 & Multicast

Why IPv6?(Current Business Reasons)

• demand from particular regions– Asia, EU– technical, geo-political, and business reasons– demand is now

• demand for particular services– cellular wireless (especially 3GPP[2] standards)– Internet gaming (e.g., Sony Playstation 2)

Page 15: IPv6 & Multicast

Why IPv6?(Current Business Reasons)

• potential move to IPv6 by Microsoft?– IPv6 included in Windows XP, but not enabled

by default– to be enabled by default in next major release

of Windows– use is >= 1.5 years away

Page 16: IPv6 & Multicast

IPv4-IPv6 Transition / Co-Existence Techniques

a wide range of techniques have been identified and implemented, basically falling into three categories:

(1) dual-stack techniques, to allow IPv4 and IPv6 to co-exist in the same devices and networks

(2) tunneling techniques, to avoid order dependencies when upgrading hosts, routers, or regions

(3) translation techniques, to allow IPv6-only devices to communicate with IPv4-only devices

expect all of these to be used, in combination

Page 17: IPv6 & Multicast

Standards

• core IPv6 specifications are IETF Draft Standards=> well-tested & stable– IPv6 base spec, ICMPv6, Neighbor Discovery, PMTU

Discovery, IPv6-over-Ethernet, IPv6-over-PPP,...

• other important specs are further behind on the standards track, but in good shape– mobile IPv6, header compression,...– for up-to-date status: playground.sun.com/ipv6

• 3GPP UMTS Release 5 cellular wireless standards mandate IPv6; also being considered by 3GPP2

Page 18: IPv6 & Multicast

Implementations

• most IP stack vendors have an implementation at some stage of completeness– some are shipping supported product today,

e.g., 3Com, *BSD(KAME), Cisco, Compaq, Epilogue, Ericsson/Telebit, IBM, Hitachi, Nortel, Sun, Trumpet, …

– others have beta releases now, supported products “soon”,e.g., HP, Juniper, Linux community, Microsoft, …

– others rumored to be implementing, but status unkown (to me),e.g., Apple, Bull, Mentat, Novell, SGI, …

(see playground.sun.com/ipv6 for most recent status reports)

• good attendance at frequent testing events

Page 19: IPv6 & Multicast

Deployment

• experimental infrastructure: the 6bone– for testing and debugging IPv6 protocols and operations

(see www.6bone.net)

• production infrastructure in support of education and research: the 6ren– CAIRN, Canarie, CERNET, Chunahwa Telecom, Dante,

ESnet, Internet 2, IPFNET, NTT, Renater, Singren, Sprint, SURFnet, vBNS, WIDE,…(see www.6ren.net, www.6tap.net)

• commercial infrastructure– a few ISPs (IIJ, NTT, Telia…) have started or announced

commercial IPv6 service

Page 20: IPv6 & Multicast

Deployment (cont.)

• IPv6 address allocation– 6bone procedure for test address space– regional IP address registries (APNIC, ARIN,

RIPE-NCC)for production address space

• deployment advocacy (a.k.a. marketing)– IPv6 Forum: www.ipv6forum.com

Page 21: IPv6 & Multicast

Much Still To Do

though IPv6 today has all the functional capability of IPv4,

• implementations are not as advanced(e.g., with respect to performance, multicast support, compactness, instrumentation, etc.)

• deployment has only just begun• much work to be done moving application, middleware, and

management software to IPv6• much training work to be done

(application developers, network administrators, sales staff,…)• many of the advanced features of IPv6 still need specification,

implementation, and deployment work

Page 22: IPv6 & Multicast

IPv6 Timeline(A pragmatic projection)

Q1Q1

Q2Q2

Q3Q3

Q4Q4

20072007Q1Q1

Q2Q2

Q3Q3

Q4Q4

20042004Q1Q1

Q2Q2

Q3Q3

Q4Q4

20032003Q1Q1

Q2Q2

Q3Q3

Q4Q4

20002000Q1Q1

Q2Q2

Q3Q3

Q4Q4

20012001Q1Q1

Q2Q2

Q3Q3

Q4Q4

20022002Q1Q1

Q2Q2

Q3Q3

Q4Q4

20052005Q1Q1

Q2Q2

Q3Q3

Q4Q4

20062006

Consumer adoption <= Dur. 5+ yrs.Consumer adoption <= Dur. 5+ yrs. =>=>

Early adopterEarly adopter

Appl. Porting <= Duration 3+ yrs.Appl. Porting <= Duration 3+ yrs. =>=>

Enterprise adopt.Enterprise adopt.<= 3+ <= 3+ yrs. => yrs. =>

adoption <= Dur. 3+ yrs.adoption <= Dur. 3+ yrs. ISPISP =>=>

Page 23: IPv6 & Multicast

Q1Q1

Q2Q2

Q3Q3

Q4Q4

20072007Q1Q1

Q2Q2

Q3Q3

Q4Q4

20042004Q1Q1

Q2Q2

Q3Q3

Q4Q4

20032003Q1Q1

Q2Q2

Q3Q3

Q4Q4

20002000Q1Q1

Q2Q2

Q3Q3

Q4Q4

20012001Q1Q1

Q2Q2

Q3Q3

Q4Q4

20022002Q1Q1

Q2Q2

Q3Q3

Q4Q4

20052005Q1Q1

Q2Q2

Q3Q3

Q4Q4

20062006

IPv6 Timeline(A pragmatic projection)

IPv6 Timeline(A pragmatic projection)

Consumer adoption <= Dur. 5+ yrs.Consumer adoption <= Dur. 5+ yrs. =>=>

Early adopterEarly adopter

Appl. Porting <= Duration 3+ yrs.Appl. Porting <= Duration 3+ yrs. =>=>

Enterprise adopt.Enterprise adopt.<= 3+ <= 3+ yrs. => yrs. =>

adoption <= Dur. 3+ yrs.adoption <= Dur. 3+ yrs. ISPISP =>=>

AsiaAsia

Page 24: IPv6 & Multicast

Q1Q1

Q2Q2

Q3Q3

Q4Q4

20072007Q1Q1

Q2Q2

Q3Q3

Q4Q4

20042004Q1Q1

Q2Q2

Q3Q3

Q4Q4

20032003Q1Q1

Q2Q2

Q3Q3

Q4Q4

20002000Q1Q1

Q2Q2

Q3Q3

Q4Q4

20012001Q1Q1

Q2Q2

Q3Q3

Q4Q4

20022002Q1Q1

Q2Q2

Q3Q3

Q4Q4

20052005Q1Q1

Q2Q2

Q3Q3

Q4Q4

20062006

IPv6 Timeline(A pragmatic projection)

IPv6 Timeline(A pragmatic projection)

Consumer adoption <= Dur. 5+ yrs.Consumer adoption <= Dur. 5+ yrs. =>=>

Early adopterEarly adopter

Appl. Porting <= Duration 3+ yrs.Appl. Porting <= Duration 3+ yrs. =>=>

Enterprise adopt.Enterprise adopt.<= 3+ <= 3+ yrs. => yrs. =>

adoption <= Dur. 3+ yrs.adoption <= Dur. 3+ yrs. ISPISP =>=>

EuropeEuropeAsiaAsia

Page 25: IPv6 & Multicast

Q1Q1

Q2Q2

Q3Q3

Q4Q4

20072007Q1Q1

Q2Q2

Q3Q3

Q4Q4

20042004Q1Q1

Q2Q2

Q3Q3

Q4Q4

20032003Q1Q1

Q2Q2

Q3Q3

Q4Q4

20002000Q1Q1

Q2Q2

Q3Q3

Q4Q4

20012001Q1Q1

Q2Q2

Q3Q3

Q4Q4

20022002Q1Q1

Q2Q2

Q3Q3

Q4Q4

20052005Q1Q1

Q2Q2

Q3Q3

Q4Q4

20062006

AmericasAmericas

IPv6 Timeline(A pragmatic projection)

IPv6 Timeline(A pragmatic projection)

EuropeEuropeAsiaAsia

Consumer adoption <= Dur. 5+ yrs.Consumer adoption <= Dur. 5+ yrs. =>=>

Early adopterEarly adopter

Appl. Porting <= Duration 3+ yrs.Appl. Porting <= Duration 3+ yrs. =>=>

Enterprise adopt.Enterprise adopt.<= 3+ <= 3+ yrs. yrs. => =>

adoption <= Dur. 3+ yrs.adoption <= Dur. 3+ yrs. ISPISP =>=>

Page 26: IPv6 & Multicast

Recent IPv6 “Hot Topics” in the IETF

• multihoming• address selection• address allocation• DNS discovery• 3GPP usage of IPv6• anycast addressing• scoped address architecture• flow-label semantics• API issues

(flow label, traffic class, PMTU discovery, scoping,…)

• enhanced router-to-host info

• site renumbering procedures

• inter-domain multicast routing

• address propagation and AAA issues of different access scenarios

• end-to-end security vs. firewalls

• and, of course, transition /co-existence / interoperabilitywith IPv4(a bewildering array of transition tools and techniques)

Note: this indicates vitality, not incompleteness, of IPv6!

Page 27: IPv6 & Multicast

Conclusion(IPv6)

• if I knew it was going to take so long, I would have let one of the other IPng candidates “win”!

• one shouldn’t expect it to have taken less time, given the nature of the undertaking

• the IETF was unusually far-sighted (lucky?) in starting this work when it did, instead of waiting till the Internet falls apart

• the Internet is now falling apart• IPv6 is ready to put it back together again

Page 28: IPv6 & Multicast

Multicast

Page 29: IPv6 & Multicast

Outline(Multicast)

• Applications that need multicast.• Trees, addressing and forwarding.• Multicast routing

– Link-state

– Distance Vector (DVMRP)

– Protocol Independent Multicast (PIM)

• Some interesting problems…

Page 30: IPv6 & Multicast

Multicast Routing

• Applications that need multicast.

• Trees, addressing and forwarding.

• Multicast routing– Distance Vector (DVMRP)– Protocol Independent Multicast (PIM)

• Some interesting questions…

Page 31: IPv6 & Multicast

Applications that need multicast

• One way, single sender: “one-to-many”– TV– Non-interactive learning– Database update– Information dispersal (e.g. Pointcast)

• Two way, interactive, multiple sender: “many-to-many”– Teleconference– Interactive learning

Page 32: IPv6 & Multicast

Trees, addressing and forwarding

Page 33: IPv6 & Multicast

Multicast Trees

Page 34: IPv6 & Multicast

Multicast Routing

• A multicast tree is a spanning tree with the sender at the root, spanning all the members of the group.

Page 35: IPv6 & Multicast

Multicast Treese.g. a teleconference

Sender/SpeakerMulticast Group (S1,G) S1

Class D

S1

R

Page 36: IPv6 & Multicast

Multicast Trees and Addressing

All members of the group share the same “Class D” Group Address.

An end station may be the member of multiple groups.

An end-station “joins” a multicast group by (periodically) telling its nearest router that it wishes to join (uses IGMP – Internet Group Management Protocol).

Routers maintain “soft-state” indicating which end-stations have subscribed to which groups.

Page 37: IPv6 & Multicast

Multicast Treese.g. a teleconference

Sender/SpeakerMulticast Group (S2,G)

S2

Class D

S2

R

Page 38: IPv6 & Multicast

Multicast Forwarding isSender-specific

R

G S1

S2

2,31,3

12

GroupAddress

SrcAddress

SrcInterface

DstInterface

S2 G

S1 G 1 2 3

2 1

3

Page 39: IPv6 & Multicast

Outline

• Applications that need multicast.

• Trees, addressing and forwarding.

• Some interesting problems…

Page 40: IPv6 & Multicast

Multicast routing

Distance Vector (DVMRP)Protocol Independent Multicast

(PIM)

Page 41: IPv6 & Multicast

Distance-vector MulticastRPB: Reverse-Path Broadcast

• Uses existing unicast shortest path routing table.• If packet arrived through interface that is the

shortest path to the packet’s SA, then forward packet to all interfaces.

• Else drop packet.

Page 42: IPv6 & Multicast

Distance-vector MulticastRPB: Reverse-Path Broadcast

Sender/SpeakerMulticast Group (S1,G) S1

LAN

S1 1

Address PortUnicast

DV RoutingTable

1

23

Shortest Path to Source

Q: Is it shortest path from source?

Page 43: IPv6 & Multicast

Distance-vector MulticastRPB: Reverse-Path Broadcast

Sender/SpeakerMulticast Group (S1,G) S1

LAN

Designated Parent Router:

One parent router picked per LAN (one “closest” to source).

Page 44: IPv6 & Multicast

Distance-vector MulticastRPM: Reverse-Path Multicast

• RPM = RPB + Prune • RPB used when a source starts to send to a new

group address.• Routers that are not interested in a group send

prune messages up the tree towards source.• Prunes sent implicitly by not indicating interest in

a group.• DVMRP works this way.

Page 45: IPv6 & Multicast

Protocol Independent Multicast

• PIM-DM (Dense Mode) uses RPM.• PIM-SM (Sparse Mode) designed to be more

efficient that DVMRP.– Routers explicitly join multicast tree by sending unicast

Join and Prune messages.– Routers join a multicast tree via a RP (rendezvous point)

for each group.– Several RPs per domain (picked in a complex way).– Provides either:

• Shared tree for all senders (default).• Source-specific tree.

Page 46: IPv6 & Multicast

PIM-SM

R2

R1

RP

IGMP Join

Unicast to RP: (*, G)• RP knows R1 has joined• R2 learns to send (*,G) packets to R1

Sender/Source

S

Unicast to R3: (S,G)Source knows to send all G packets to RP.

Source “tunnels” mcast-in-ucast packets to RP.

RP unwraps mcast pkt and forwards to local

tree.

Page 47: IPv6 & Multicast

PIM-SM

R2

R1

RP

Sender/Source

S

Optional Source-specific join to

bypass RP router:Routers along the

way learn new path for (S,G).

Page 48: IPv6 & Multicast

Multicast: Interesting Questions

How to make multicast reliable? How to implement flow-control? How to support/provide different rates for

different end users? How to secure a multicast conversation?

Will multicast become widespread?