Download presentation
Presentation is loading. Please wait.
1
Lecture 11: LDP, RSVP, RSVP-TE
2
Routing in MPLS Hop-by-hop routing:
IP router learns about the topology of its domain by exchanging information with the other IP routers. It then calculates the next hop IP router for each destination using the shortest path algorithm. This next hop is stored in its FIB. MPLS uses the same next hop information in order to set up an LSP. Explicit routing: LSP that follows an explicit route through a network which might not necessarily correspond to the hop-by-hop path. An explicit route might be set up to satisfy a QoS criterion, such as minimizing the total end-to-end delay and maximizing throughput. Also, explicit routing can be used to provide load-balancing, by forcing some of the traffic to follow different paths through a network, so that the utilization of the network links is as even as possible. Finally, explicit routing can be used to set up MPLS-based tunnels and virtual private networks (VPN).
3
Label Distribution Protocols
LDP: A new signaling protocol. It is used to distribute label bindings for an LSP associated with a FEC. RSVP: Extending of an existing IP control protocol, so that it can carry label bindings.
4
LDP (Label Distribution Protocol)
LDP creates LSP trees rooted at each egress router. The ingress point is at every router running LDP. Two adjacent routers running LDP and become neighbors, they establish an LDP session to exchange label information in order to control the establishment of new LSPs.
5
LDP (IETF RFC 5036 ) LDP is used to establish and maintain label bindings for an LSP associated with a FEC. Two LSRs that use LDP to exchange label bindings are known as LDP peers. LDP provides several LDP messages: Discovery: to announce and maintain the presence of an LSR in the network. Session: in order for two LDP peers to exchange information, they have to first establish an LDP session. The session messages are used to establish, maintain, and terminate LDP sessions between LDP peers. Advertisement: to create, change, and delete label bindings to FECs. Notification: to provide advisory information and to signal error information. LDP runs on top of TCP for reliability, with the exception of the LDP discovery messages that run over UDP.
6
LDP messages Discovery messages (UDP/TCP). Session messages (TCP). Advertisement messages (TCP). Notification messages (TCP).
7
LDP LDP works in downstream-unsolicited way
label distribution always done from downstream to upstream downstream-unsolicited: new route => send new label downstream-on-demand: upstream LSR asks for label
8
Discovery messages Using discovery messages, the LSRs announce their presence in the network. Discovery messages are literally sending “Hello messages” periodically, therefore those message broadcasts over UDP to LDP (port 646).
9
Session messages When an LSR learns about new LSR, it establishes a TCP connection (port 646) and creates an LDP session on top of the TCP connection. The session messages use to establish, maintain, and terminate the sessions between two LDP peers. When the initialization procedure completes successfully, the two routers became LDP peers, and can exchange advertisement messages.
10
Advertisement messages
Advertisement messages create, change, and delete label mappings for Forwarding Equivalence Classes (FECs). Requesting a label or advertising a label mapping to a peer is a decision made by the local router. In general, the router requests a label mapping from a neighboring router when it needs one and advertises a label mapping to a neighboring router when it wants the neighbor to use a label.
11
Sending request/release message
When do we sent Label request message: The LSR routing table doesn’t contain a mapping for a new LDP peer as next-hop. The LSR routing table doesn’t contain a mapping for next-hop with a new FEC that jest received. The LSR routing table doesn’t contain a mapping for next-hop with a FEC that change. When do we sent Label release message: There is no longer needs to map the LSP across the network.
12
LDP Label mapping message:
An LSR uses the message to advertise a mapping (i.e., a binding) of a label to a FEC to its LDP peers. A FEC element could be either a prefix or a full IP address of a destination host The FEC element identifies a set of packets that can be mapped to the corresponding LSP. The message contains the label associated with the FEC.
13
Notification messages
Notification messages provide advisory information and signal error information. LDP sends notification messages to report errors and other events of interest. There are two kinds of LDP notification messages: Fatal errors notification - leads to termination of the LDP session and deleting all the labels which learned through that session. Advisory notifications - carrying information about the LDP session or the status of some previous message received from the peer.
14
… Discovery messages Session messages Advertisement messages
Notification messages
15
RSVP (Resource Reservation Protocol)
RSVP is 4-Layer protocol designed to reserve resources across a network for an integrated services Internet. RSVP used by routers to request or deliver specific levels of quality of service (QoS) for data streams or flows and it’s operation will result in resources reservations along a path.
16
Flowspec RSVP reserves resources for a flow.
For each flow, RSVP identifies the particular QoS it’s required. This QoS specific information is called a flowspec. RSVP passes the flowspec from one LSR to other along the path. Each LSR analyze the flowspec to accept and reserve the resources. A flowspec contains: Service class. Reservation spec - defines the QoS. Traffic spec - describes the data flow.
17
Filterspec filterspec defines the set of packets that shall be affected by a flowspec. A filterspec selects a subset of packets processed by a node according to it’s sender IP / address / port. The RSVP reservation styles: Fixed filter - reserves resources for a specific flow. Shared explicit - reserves resources for several flows. Wildcard filter - reserves resources for a general type of flow.
18
A RSVP reservation request consists of a flowspec and a filterspec and the pair is called a flowdescriptor. The effects at the node of each spec are that while the flowspec sets the parameters of the packet scheduler at a node, the filterspec sets the parameters at the packet classifier.
19
RSVP messages A LER that needs to send a data flow with specific QoS will transmit a RSVP path message that will travel along the network based on IP routing tables. Other LER who is interested to receive that flow, send a corresponding resv message which travel the path backwards to the sender. Each LSR along the path that receives the resv message will: Make a reservation based on the request parameters. If they can’t support it, they send a reject message. Forward the request upstream. Store the nature of the flow, and also police it. RSVP is soft-state, so if nothing is heard for a certain timeout period, the reservation will be cancelled.
20
RSVP - Downstream-on-demand
eth subnet 1 2 eth subnet 1 Massage to: Label request LER- upstream A Label mapping B C Label request Label mapping MPLS domain Label request LER- downstream D E Label mapping F eth subnet 1 2 eth subnet 1
21
RSVP-TE An extension of the RSVP for traffic engineering - an ability to establish sets of LSP tunnels which can be useful during reroute operations or in spreading a traffic trunk over multiple paths. RSVP-TE allows the reservation of resources across the network and can indicate nodes the bandwidth, jitter, maximum burst of a packet streams they want to receive
22
RSVP-Traffic Engineering
is used in MPLS to set up LSPs using either the next hop information in the routing table or an explicit route. RSVP-TE uses downstream-on-demand label allocation to set up an LSP. RSVP-TE enables the reservation of resources along the LSP. For example, bandwidth can be allocated to an LSP using standard RSVP reservations.
23
RSVP - LDP compare
24
Reliability RSVP-TE Unreliable Does not use TCP to exchange messages. LDP Reliable Use TCP to exchange messages. No need to explicitly configure LDP peers, because each LSR actively discovers all other LSRs to which it is connected to.
25
Downstream on-demand / unsolicited
RSVP-TE Downstream-on-demand MPLS devices do not signal a FEC-to-label binding until requested to do. LDP Downstream-unsolicited MPLS devices don’t wait for a request from other device before signaling FEC-to-label bindings. LSR which learns a route sends a binding to all LDPs peer, both upstream and downstream.
26
Soft/Hard-state protocol
RSVP-TE Soft-state protocol The session information is temporarily saved on each LSR and must be refreshed periodically. In case that the session haven’t been refreshed during timeout period - the session detriment. LDP Hard-state protocol After the LSP is established, it is remain in place until it has been explicitly torn down.
27
Traffic-engineering RSVP-TE Used primarily for MPLS applications that require traffic engineering (TE) or quality of service (QoS) capabilities Support best-effort LSPs. LDP Have no traffic-engineering capability and support only best-effort LSPs.
28
IP Routers – internal view
Lecture 12: IP Routers – internal view
33
Unlike standard computer memory (eg
Unlike standard computer memory (eg. RAM) in which the user supplies a memory address and the RAM returns the data word stored at that address, a CAM is designed such that the user supplies a data word and the CAM searches its entire memory to see if that data word is stored anywhere in it. If the data word is found, the CAM returns a list of one or more storage addresses where the word was found Thus, a CAM is the hardware embodiment of what in software terms would be called an associative array.
36
Longest Prefix Match Harder than Exact Match
destination address of arriving packet does not carry information to determine length of longest matching prefix need to search space of all prefix lengths; as well as space of prefixes of given length
37
LPM in IPv4: exact match Use 32 exact match algorithms Network Address
against prefixes of length 1 Network Address Exact match against prefixes of length 2 Priority Encode and pick Port Exact match against prefixes of length 32
38
IP Address Lookup routing tables contain (prefix, next hop) pairs address in packet compared to stored prefixes, starting at left prefix that matches largest number of address bits is desired match packet forwarded to specified next hop routing table next hop prefix 10* 7 01* 5 110* 3 1011* 5 0001* 0101 1* 7 0001 0* 1 * 2 * 3 * 5 * 6 * 4 * 8 * 10 * 9 Problem - large router may have 100,000 prefixes in its list address:
39
Address Lookup Using Tries
next-hop-ptr (if prefix) left-ptr right-ptr Trie node P1 111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4 A 1 B prefixes “spelled” out by following path from root to find best prefix, spell out address in tree last green node marks longest matching prefix Lookup 10111 adding prefix easy 1 C add P5=1110* I P5 D P2 1 1 F E P1 G P3 1 H P4
40
Binary Tries For W-bit prefixes: O(W) lookup,
O(NW) storage, N number of entries (at the worst case for each entry has different prefix, disjoint path in a trie) O(W) update Advantages Simplicity Extensible to wider fields Disadvantages Worst case lookup slow Wastage of storage space in chains
41
Leaf-pushed Binary Trie
Trie node A left-ptr or next-hop right-ptr or next-hop 1 B 1 C D P1 111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4 P2 P1 1 E P2 G P3 P4
42
PATRICIA Patricia tree internal node bit-position left-ptr right-ptr PATRICIA (Practical Algorithm To Retrieve Coded Information in Alphanumeric) A 2 1 B C P1 P2 3 1 E Bitpos 12345 5 P1 111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4 1 F G P3 P4
43
Bitpos 12345 P1 111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4 111* Lookup: follow the key according to the bit position if can not proceed and the node is “filled”: this is the output if can not proceed and the node is not “filled”: lookup failed if can proceed and arrived to a leaf: this is the output
44
Bitpos 12345 P1 111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4 2 1 10* 111* Lookup: follow the key according to the bit position if can not proceed and the node is “filled”: this is the output if can not proceed and the node is not “filled”: lookup failed if can proceed and arrived to a leaf: this is the output
45
Bitpos 12345 P1 111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4 2 1 111* 3 10* 1 1010* Lookup: follow the key according to the bit position if can not proceed and the node is “filled”: this is the output if can not proceed and the node is not “filled”: lookup failed if can proceed and arrived to a leaf: if the leaf corresponds to the prefix, then this is the output
46
Bitpos 12345 P1 111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4 2 1 111* 10* 3 1 5 1 1010* 10101 Lookup: follow the key according to the bit position if can not proceed and the node is “filled”: this is the output if can not proceed and the node is not “filled”: lookup failed if can proceed and arrived to a leaf: this is the output
47
Example: lookup 10111 111* 10* 1010* 10101 P1 111* H1 P2 10* H2 P3
1 111* 3 10* 1 5 1 1010* 10101 Let’s lookup for ‘10111’ … We can't proceed to check from the 5’th bit. Backtrack to bit 3
48
(Example cont.) Inserting Operation
111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4 P5 10111 H5 2 1 111* 3 10* 1 4 1 5 10111 1 10101 1010*
49
PATRICIA W-bit prefixes: O(W2) lookup O(N) storage
O(W) update complexity Advantages decreased storage extensible to wider fields Disadvantages worst case lookup slow backtracking makes implementation complex
50
Path-compressed Tree A C B D E Lookup 10111
1, , 2 A B C 1 10,P2,4 P4 P1 E D 1010,P3,5 P1 111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4 Lookup 10111 bit-position left-ptr right-ptr variable-length bitstring next-hop (if prefix present) Path-compressed tree node structure
51
Path-compressed Tree W-bit prefixes: O(W) lookup, O(N) storage and O(W) update complexity Advantages decreased storage Disadvantages worst case lookup slow
52
Multi-bit Tries Binary trie W Multi-ary trie W/k Depth = W Degree = 2
Stride = 1 bit Depth = W/k Degree = 2k Stride = k bits Multi-ary trie W/k
53
Prefix Expansion with Multi-bit Tries
If stride = k bits, prefix lengths that are not a multiple of k need to be expanded Prefix Expanded prefixes 0* 00*, 01* 11* E.g., k = 2: Maximum number of expanded prefixes corresponding to one non-expanded prefix = 2k-1
54
4-ary Trie (k=2) A four-ary trie node A B C Lookup 10111 P2 D E F P3
next-hop-ptr (if prefix) A ptr00 ptr01 ptr10 ptr11 11 10 B C Lookup 10111 P2 11 10 D E F 10 P3 P11 P12 10 11 H G P41 P42 P1 111* H1 P2 10* H2 P3 1010* H3 P4 10101 H4
55
Prefix Expansion Increases Storage Consumption
replication of next-hop ptr greater number of unused (null) pointers in a node Time ~ W/k Storage ~ NW/k * 2k-1
56
Generalization: Different Strides at Each Trie Level
split split 24-8 split split In future, use cartoons esp. with questions like ‘optional exercise’…
57
Choice of Strides: Controlled Prefix Expansion
Given forwarding table and desired number of memory accesses in worst case (i.e., maximum tree depth, D) A dynamic programming algorithm to compute optimal sequence of strides that minimizes storage requirements: runs in O(W2D) time Advantages Optimal storage under these constraints Disadvantages Updates lead to sub-optimality anyway Hardware implementation difficult
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.