CSCI 6433 Internet Protocols Class 7

Preview:

DESCRIPTION

CSCI 6433 Internet Protocols Class 7. David C. Roberts. Topics. Internet Multicasting MPLS. IP Datagram Messaging. Unicast: datagram from one source device to one recipient device Broadcast: datagram from one source to all recipients on a network - PowerPoint PPT Presentation

Citation preview

1

CSCI 6433Internet Protocols

Class 7

Dave Roberts

TopicsInternet MulticastingMPLS

2

IP Datagram MessagingUnicast: datagram from one

source device to one recipient device

Broadcast: datagram from one source to all recipients on a network

Multicast: datagram from one source to a collection of recipient devices

3

Functions NeededMulticast addressing

◦Class D of IPv4 addressesMulticast group management

◦IGMP—Internet Group Management Protocol

Multicast datagram routing◦Multicast routing protocols are

employed

4

Uses of MulticastDistribute scheduled videosDistributed scheduled Internet

radio or TV stationDistribute price quotes to

customersSend messages within gaming

groupWithin an organization, for audio

and video distribution5

Group ManagementIGMP, Internet Group

Management Protocol, is used to manage groups

6

Multicast addressingARP is designed for unicast onlyARP for multicast would be very

inefficientDirect mapping to data link layer

multicast groups is used23 of the 28 bits in the multicast

group address in Ethernet are used

7

RoutingMulticast routing is complicated!Must create multiple copies of

the datagram for multicastingRouters need special algorithms

to handle these multiple copies with efficiency

Routers must be able to handle datagrams to a multicast group even if the source is not a group member

8

IP MulticastGroup address—each group has a

unique class D address, permanent or temporary

Number of groups—addresses for up to 228 simultaneous multicast groups

Dynamic group membership—host can join, leave a group any time

Hardware—can use hardware multicast

Internetwork forwarding—multicast routers needed to forward multicast between networks

Transmission—any host can send to any group

9

The ConceptMulticast addresses

◦ One IP multicast address per group◦ Addresses useful worldwide

Notification and delivery mechanism◦ Inform routers about groups◦ Transfer multicast packets to hosts

Internetwork forwarding◦ Efficient routing along shortest paths◦ Don’t route to networks with no group

members

10

IP Multicast Addresses

11

Permanent IPv4 Multicast Addresses

12

Permanent IPv6 Multicast Addresses

13

Multicast SemanticsMulticast address only a

destination addressNo ICMP error messages

generated about multicast datagrams

TTL field in an multicast datagram is honored

Question: what happens when I ping a multicast address? Why?

14

Multicast RoutingNot all routers are multicast routersHost does not know which are

multicastHost sends packet using local network

multicast addressMulticast routers listen for all

multicast datagrams, route them appropriately

Host does not have to address multicast datagram to a multicast router

Multicast capability is provided by routers, not hosts

15

Multicast ScopeScope of a multicast group—range of

group members◦ All on same network: scope is restricted to

one network◦ All in same organization: scope limited to

one organization Methods of controlling scope:

◦ TTL controls the range◦ Administrative scoping: routers forbidden

to forward to the restricted space

16

Host Participation

17

Possible levels of participation of a host in multicasting:

For an application to multicast, host must have an API for application to declare intent to join or leave a multicast group. Host must track application participation in groups, remember that it leaves a group when all applications leave.

IGMP—Internet Group Management Protocol IGMP carries group membership informationThought of as a part of IP, like ICMP IGMP is required for all machines that

receive IP multicastPhase 1: host joins a group, sends IGMP

message to multicast address declaring membership

Phase 2: multicast routers poll hosts to determine whether any are still members of each group, stops advertising to other routers after no response to several polls

18

IGMP ImplementationAll communications between hosts and

multicast routers use IGMPEvery 125 seconds, multicast routers poll all

groups for membership information, not just one

Multicast routers on a single network choose just one to do all polling

Hosts don’t all respond to a query at the same time

Each host listens for responses from other hosts in the group, suppresses unnecessary response traffic

Question: Why are hosts listening? What would they not send? 19

Group Membership State

20

IGMP Message Format

21

Special Properties of Multicast Routing1. Multicast routes can change simply

because an application decides to leave or join a group

2. Multicast forwarding requires a router to examine more than the destination address

3. A multicast datagram may originate on a host that is not part of the group, and may be routed across networks with no group members attached

22

Types of Multicast RoutersRendezvous Point (RP): router

configured as root of the distribution tree for a multicast group. Receives join messages and data from senders

Designated Router (DR): one router per LAN that acts on behalf of local hosts with respect to the PIM-SM protocol

23

Two Types of Multicast Trees

24

Multicast Shared Tree Multicast Source Tree

Three Phases—Phase 1RP Tree

Multicast receiver uses IGMP to express interest in joining a group. Local DR sends (*,G) join message to group RP. Join propagates until it reaches a RP or a router that has join (*,G) for that group. Join messages for a tree routed at the RP.

25

Three Phases—Phase 2Register-Stop

When RP receives a register-encapsulated message from S on group G, it initiates an (S,G) join towards S. Join travels hop by hop toward S, sets up (S,G) multicast tree states in routers. Continues until S or a router that has (S,G) tree.Once RP receives (S,G) traffic, it sends Register-Stop message to S’s DR.

26

Three Phases—Phase 3Shortest-Path Tree

Receiver’s DR initiates (S,G) join towards S. Sets up (S,G) state towards S as it travels.Either reaches S’s subnet or a router that has (S,G) state. Receiving DR now receives two copies of each message, sends (S,G) prune toward RPT. Prune propagates to RPT or a router that still needs traffic from S for other receivers.

27

Multicast Routing ParadigmsRPF—reverse path forwarding

◦ Router looks up interface that leads to source address (interface I)

◦ Forwards datagram over all interfaces other than I◦ If datagram arrived other than through I, discard it◦ RPF sends datagrams to networks with no members

TRPF—truncated reverse path forwarding◦ Uses list of multicast groups reachable through

each interface◦ First, RPF is applied◦ Then, interfaces that do not lead to members of the

group are skippedMulticast routing is based on the datagram’s

source and destination addresses28

Consequences of TRPF

29

Consider the case where a multicast datagram headed for host B is sent by host A

Multicast Trees

30

Number of copies received depends on the source

Multicast RoutingTRPF doesn’t forward to network

if it has no members of the groupThus router must know about

group membershipMembership information must be

communicated across the Internet

Multicast design a tradeoff of routing traffic overhead and inefficient data transmission

31

Reverse Path Multicasting Basis:

◦ First priority given to reach all group members rather than avoid retransmission

◦ Presume that multicast routers have a routing table that is correct

◦ Routing should improve performance where possible

Use RPF to send across all networks Use RPM to identify routers that don’t reach

members Cease forwarding to routers that don’t reach

members RPM is called broadcast and prune strategy

32

IPv6 MulticastingIPv6 eliminates broadcastOnly multicast, unicast and

anycast remainOn IPv6, multicast replaces

broadcast for DHCP and ARP and other services that use broadcast on IPv4

First 8 bits are all ones for IPv6 multicast

Autoconfiguration on IPv6 uses multicast to discover if anyone is using chosen IP address, sent to NDP multicast address

33

Types of IPv6 Multicast TrafficThere is typically a “background hum” of multicast traffic on IPv6, of two types:Stack auto-configuration

◦Obtaining information from DHCP server

◦Checking for unique IP address using NDP

P2P traffic between client and server◦Specific to client and server◦May be many of them running

34

Where It’s UsedMulticasting is widely used within

organizations for video and audio distribution

Use on the Internet has begun with Internet radio and television

35

SummaryIP multicasting an abstraction of

hardware multicastingIP multicasting uses class D addressesHosts communicate group

membership to multicast routers using IGMP

IGMP introduces periodic message from a multicast router and a reply for each group

Several protocols have been designed for multicast routing

36

MULTI-PROTOCOL LABEL SWITCHING (MPLS)

37

This is not true!

38

Overview of Label SwitchingIn a traditional IP network:

◦ Each router performs an IP lookup (“routing”), determines a next-hop based on its routing table, and forwards the packet to that next-hop.

◦ Rinse and repeat for every router, each making its own independent routing decisions, until the final destination is reached.

MPLS does “label switching” instead:◦ The first device does a routing lookup, just like before:

But instead of finding a next-hop, it finds the final destination router.

And it finds a pre-determined path from “here” to that final router.

◦ The router applies a “label” (or “shim”) based on this information.

◦ Future routers use the label to route the traffic without needing to perform any additional IP lookups.

◦ At the final destination router the label is removed. And the packet is delivered via normal IP routing.

39

Disadvantages of Table RoutingTakes log2 n probes to find an address

in forwarding table of n entriesArray index lookup can be performed

in one stepSwitching methods use a label from a

packet as in index to a table that tells which action to take

40

More About MPLSMPLS allows packet forwarding

without involving IPEach packet labeled on entry by

ingress router; subsequent routing by those labels only

Egress router removes labels, forwards original packet

Labels determine which Label-Switched Path will be followed

41

How Is MPLS Used?Service providers use MPLS to

improve quality of service, defining LSPs that meet certain service level agreements

Example: service levels for voice, time-sensitive traffic, “best effort” traffic

MPLS supports creation of VPNs (more about VPNs later)

42

Multi-Protocol Label SwitchingData packets are assigned labelsPacket-forwarding decisions made based

on the label, no need to examine the packet

Can create end-to-end circuits across any transport medium with any protocol

Can carry many types of packetsTraffic management is improvedLoss of visibility to IT departmentsPath labels identify virtual links between

distant nodes, not necessarily endpoints43

MPLS RoutersRouters that carry MPLS traffic

are called label switch routers (LSRs)

Entry and exit point routers are called label edge routers (LERs), which push an MPLS label onto a packet and pop it off an outgoing packet

44

Label Switch RouterRouters inside an MPLS network

perform routing based only on the label

When an LSR receives a packet, it uses the label included in the packet header as an index to determine the next hop on the label-switched path and a corresponding label for the packet from a lookup table.

The old label is removed and replaced with the new label before the packet is routed 45

Label Distribution ProtocolOf course there must be a way to

distribute label information to routers

LDP is used to identify routed paths, assign labels to the paths

First, session is established between headend and tailend routers

Then LDP sends UDP Hello messages; target LSR responds, two routers establish an LDP session

46

Label Distribution ProtocolLDP used to distribute labels between

LERs and LSRsLSRs exchange reachability and label

information to build a complete diagram of the MPLS network

Label switch paths are used to create virtual paths through MPLS networks

LER determines forwarding class of a packet, pushes label into MPLS header

LSR looks at topmost label, does a label swap, push or pop to label stack

47

MPLS in the Stack

48

MPLS is called a “layer 2.5” protocol

Understanding MPLSInstead of focusing on

destinations, focus on packet flows

Instead of thinking about forwarding tables that are relatively static, think about a system that can change forwarding tables quickly

Switching technologies like MPLS use the flow abstraction and create forwarding for flows rather than for destinations

49

How It WorksEach packet is prefixed by an MPLS

header, called a label stack with some number of these:◦20-bit label value◦3-bit traffic class field for QoS◦1-bit bottom of stack flag◦8-bit TTL field

Label edge router pushes label, pops at other edge of MPLS network

Label switch router routes based on the label only

50

Use of the Label StackLabel swap

◦ Label is swapped with a new label◦ Packet is forwarded along path of new label

Label push◦ New label pushed on top of existing label◦ Encapsulates packet in another layer of MPLS◦ Commonly used for MPLS VPNs

Label pop◦ Label is removed from packet◦ May reveal an inner label◦ If label is last one, packet leaves MPLS tunnel

At egress router, only original payload remains, so that router must be able to process it

51

Multi-Protocol Label Switching

52

Use of labels to direct forwarding

MPLS Encapsulation

53

Traffic EngineeringCan use MPLS to define full mesh

between two ISPs, can monitor traffic to other ISPs

Can use MPLS to use fastest routes for most critical traffic

54

SummaryIndexing can be used instead of table lookup

to determine routing, saving router timePaths can be defined and engineeredMPLS prepends a header onto each messageLSRs along the route use labels to forward

the datagram without lookupsMPLS was defined to save router time, is less

important today because of faster routersMPLS is mostly used today to provide VPNs

55

Recommended