CSCI 6433 Internet Protocols Class 7
description
Transcript of CSCI 6433 Internet Protocols Class 7
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