44
1 CSCI 6433 Internet Protocols Class 7 Dave Roberts

1 CSCI 6433 Internet Protocols Class 7 Dave Roberts

Embed Size (px)

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

Group ManagementIGMP, Internet Group

Management Protocol, is used to manage groups

5

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

6

RoutingRouting 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

7

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

8

Building BlocksMulticast addressing schemeEffective notification and delivery

mechanismsInternetwork forwarding facility

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

Multicast Forwarding and Routing

23

Dot, X are two different multicast groups

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 skipped

Multicast routing is based on the datagram’s source and destination addresses

24

Consequences of TRPF

25

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

Multicast Trees

26

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

27

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

28

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

29

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

30

MULTI-PROTOCOL LABEL SWITCHING (MPLS)

31

Disadvantages of Table RoutingTakes log2 n probes to find an

address in forwarding table of n entries

Array index can be performed in one step

Switching methods use a label from a packet as in index to a table that gives action to take

32

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 endpoints

33

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

34

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 35

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

36

MPLS in the Stack

37

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

38

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

39

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

40

Multi-Protocol Label Switching

41

Use of labels to direct forwarding

MPLS Encapsulation

42

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

43

SummaryIndexing can be used instead of table

lookup to determine routing, saving router time

Paths 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 routers

MPLS is mostly used today to provide VPNs 44