55
1 CSCI 6433 Internet Protocols Class 7 Dave Roberts

CSCI 6433 Internet Protocols Class 7

  • Upload
    onawa

  • View
    43

  • Download
    0

Embed Size (px)

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

Page 1: CSCI 6433 Internet Protocols Class 7

1

CSCI 6433Internet Protocols

Class 7

Dave Roberts

Page 2: CSCI 6433 Internet Protocols Class 7

TopicsInternet MulticastingMPLS

2

Page 3: CSCI 6433 Internet Protocols Class 7

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

Page 4: CSCI 6433 Internet Protocols Class 7

Functions NeededMulticast addressing

◦Class D of IPv4 addressesMulticast group management

◦IGMP—Internet Group Management Protocol

Multicast datagram routing◦Multicast routing protocols are

employed

4

Page 5: CSCI 6433 Internet Protocols Class 7

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

Page 6: CSCI 6433 Internet Protocols Class 7

Group ManagementIGMP, Internet Group

Management Protocol, is used to manage groups

6

Page 7: CSCI 6433 Internet Protocols Class 7

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

Page 8: CSCI 6433 Internet Protocols Class 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

Page 9: CSCI 6433 Internet Protocols Class 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

9

Page 10: CSCI 6433 Internet Protocols Class 7

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

Page 11: CSCI 6433 Internet Protocols Class 7

IP Multicast Addresses

11

Page 12: CSCI 6433 Internet Protocols Class 7

Permanent IPv4 Multicast Addresses

12

Page 13: CSCI 6433 Internet Protocols Class 7

Permanent IPv6 Multicast Addresses

13

Page 14: CSCI 6433 Internet Protocols Class 7

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

Page 15: CSCI 6433 Internet Protocols Class 7

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

Page 16: CSCI 6433 Internet Protocols Class 7

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

Page 17: CSCI 6433 Internet Protocols Class 7

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.

Page 18: CSCI 6433 Internet Protocols Class 7

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

Page 19: CSCI 6433 Internet Protocols Class 7

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

Page 20: CSCI 6433 Internet Protocols Class 7

Group Membership State

20

Page 21: CSCI 6433 Internet Protocols Class 7

IGMP Message Format

21

Page 22: CSCI 6433 Internet Protocols Class 7

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

Page 23: CSCI 6433 Internet Protocols Class 7

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

Page 24: CSCI 6433 Internet Protocols Class 7

Two Types of Multicast Trees

24

Multicast Shared Tree Multicast Source Tree

Page 25: CSCI 6433 Internet Protocols Class 7

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

Page 26: CSCI 6433 Internet Protocols Class 7

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

Page 27: CSCI 6433 Internet Protocols Class 7

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

Page 28: CSCI 6433 Internet Protocols Class 7

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

Page 29: CSCI 6433 Internet Protocols Class 7

Consequences of TRPF

29

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

Page 30: CSCI 6433 Internet Protocols Class 7

Multicast Trees

30

Number of copies received depends on the source

Page 31: CSCI 6433 Internet Protocols Class 7

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

Page 32: CSCI 6433 Internet Protocols Class 7

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

Page 33: CSCI 6433 Internet Protocols Class 7

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

Page 34: CSCI 6433 Internet Protocols Class 7

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

Page 35: CSCI 6433 Internet Protocols Class 7

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

Page 36: CSCI 6433 Internet Protocols Class 7

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

Page 37: CSCI 6433 Internet Protocols Class 7

MULTI-PROTOCOL LABEL SWITCHING (MPLS)

37

Page 38: CSCI 6433 Internet Protocols Class 7

This is not true!

38

Page 39: CSCI 6433 Internet Protocols Class 7

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

Page 40: CSCI 6433 Internet Protocols Class 7

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

Page 41: CSCI 6433 Internet Protocols Class 7

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

Page 42: CSCI 6433 Internet Protocols Class 7

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

Page 43: CSCI 6433 Internet Protocols Class 7

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

Page 44: CSCI 6433 Internet Protocols Class 7

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

Page 45: CSCI 6433 Internet Protocols Class 7

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

Page 46: CSCI 6433 Internet Protocols Class 7

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

Page 47: CSCI 6433 Internet Protocols Class 7

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

Page 48: CSCI 6433 Internet Protocols Class 7

MPLS in the Stack

48

MPLS is called a “layer 2.5” protocol

Page 49: CSCI 6433 Internet Protocols Class 7

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

Page 50: CSCI 6433 Internet Protocols Class 7

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

Page 51: CSCI 6433 Internet Protocols Class 7

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

Page 52: CSCI 6433 Internet Protocols Class 7

Multi-Protocol Label Switching

52

Use of labels to direct forwarding

Page 53: CSCI 6433 Internet Protocols Class 7

MPLS Encapsulation

53

Page 54: CSCI 6433 Internet Protocols Class 7

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

Page 55: CSCI 6433 Internet Protocols Class 7

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