Title: CS221: IPv6
1Routing, Addressing, and Naming Switching in
the Internet
Christophe Jelger Post-doctoral
researcher Christophe.Jelger_at_unibas.ch
2Today's lecture
- MPLS MultiProtocol Label Switching.
- Metropolitan Ethernet.
- The Spanning Tree Protocol (SPT) for Ethernet
networks.
3MPLS MultiProtocol Label Switching (1)
- What is it all about?
- The Internet grew from circuit-switched
(telephone) networks to packet switched networks. - Telcos were offering leased lines to
inter-connect networks located at different
locations (e.g. the world-wide branches of a
large company). - Circuit-switching was very well known and
provided a clear separation of services with
different levels of quality. - Circuit-switching was offering a higher level of
control in the core of the ISPs' networks. - Technologies like ATM were offering virtual
circuits and a relatively high level of traffic
enginneering capabilities. - With the growth of IP, telcos/ISPs needed a new
technology to provide this kind of services in an
IP-friendly manner.
4MPLS MultiProtocol Label Switching (2)
- History MPLS was hence initially designed to
- Provide a more IP-friendly data-carrying
technology than ATM. - Running IP over ATM was complex, and ATM small
cells (53 bytes) were becoming an overhead when
carrying potentially large IP packets. - Allow the creation of simple high-speed "IP
switches". - At that time, IP forwarding was not entirely
feasible in hardware (because of the
longest-prefix-match forwarding scheme). - No longer an issue in modern routers, although
"switching is still faster than routing". - Create a "shim" 2.5 layer to unify data-carrying
technologies. - MPLS used over existing ATM and FrameRelay
infrastructures. - IP used directly over MPLS.
5MPLS MultiProtocol Label Switching (3)
- What is the goal of MPLS today?
- ISPs need to separate/isolate different kinds of
traffic (IP, voice, video, business-critical
applications, etc) in their core network(s). In
practice, MPLS is used to provide - Virtual Private Networks (VPNs).
- Quality of Services (e.g. guaranteed bandwidth
between some points in the network). - Traffic Enginnering (e.g. load balance traffic
over all links of a network). - To do this, MPLS introduces the notion of FEC
Forwarding Equivalence Class. - A FEC is a group of IP packets which are
forwarded in the same manner inside an MPLS
network. - In practice, a classifier inspects each IP packet
entering an MPLS network and decides to which
FEC it belongs.
6MPLS MultiProtocol Label Switching (4)
- How does it work?
- MPLS uses label switching to forward packets.
- Fowarding is based on "exact match" this is much
faster than IP's longest-prefix match. - A label is a short (4 bytes) locally-significant
identifier used to identify a Forwarding
Equivalence Class (FEC). MPLS labels have the
following format - label value 20 bits, unstructured (flat)
- exp 3 bits, currently used as Class of Service
(CoS) field - S bit "bottom of stack" indicator (when labels
are stacked) - Time To Live 8 bits.
label value
exp
S
TTL
32 bits
7MPLS MultiProtocol Label Switching (5)
- The forwarding of packets inside an MPLS network.
- Labels are used to identify Label-Switched Paths
(LSPs). - The mapping between IP packets FECs and LSPs is
done by Label Switched Routers (LSRs) at the
edges of the MPLS network.
13 ? pop, oif1
Packets for 10.1.2.3.0/24 (blue) 10.1.2.4.0/24
(red)
Forwarding is based on label
1
13
Ingress LSR
subnet 10.1.3.0/24
1
Egress LSR
17
1
21
2
44
subnet 10.1.2.0/24
Assigns each IP packet to the appropriate FEC and
adds appropriate label to IP packet
17 ? swap(13), oif1 21 ? swap(44), oif2
1
subnet 10.1.4.0/24
44 ? pop, oif1
10.1.3.0/24 ? push(17), oif1 10.1.4.0/24 ?
push(21), oif1
8MPLS MultiProtocol Label Switching (6)
- The forwarding of packets inside an MPLS network.
- FECs can be encasulated inside other FECs we end
up with stacks of labels. This is useful to
create "trunks" and reduce state in the core MPLS
network.
Packets for 10.1.2.3.0/24 (blue) 10.1.2.4.0/24
(red)
13 ? pop, oif1
Forwarding is based on label
1
17
13
subnet 10.1.3.0/24
1
17
11
17
6
1
1
21
6
2
21
11
21
44
6 ? swap(11), oif1
11 ? pop 17 ? swap(13), oif1 21 ? swap(44), oif2
1
17 ? push(6), oif1 21 ? push(6), oif1
subnet 10.1.4.0/24
44 ? pop, oif1
9MPLS MultiProtocol Label Switching (7)
- The distribution of labels.
- For each hop, the label is chosen by the
downstream LSR and passed to the upstream LSR.
Hence labels are distributed "against the flow of
packets". - The distribution of labels can be done "in
collaboration" with an intra-domain routing
protocol like OSPF or IS-IS. - There are currently 2 protocols to distribute
labels - LDP Label Distribution Protocol.
- RSVP-TE Resource reSerVation Protocol for
Traffic Engineering.
10MPLS MultiProtocol Label Switching (8)
- The distribution of labels.
- A simplified example.
The LSR chooses a label
13 ? pop, oif1
Request PATH 10.1.3.0/24
Reply RESV label 13
Reply RESV label 17
Request PATH 10.1.3.0/24
1
Ingress LSR
subnet 10.1.3.0/24
1
Egress LSR
1
2
subnet 10.1.2.0/24
17 ? swap(13), oif1
1
The LSR chooses a label
10.1.3.0/24 ? push(17), oif1
subnet 10.1.4.0/24
11MPLS MultiProtocol Label Switching (9)
- MPLS in the Internet today.
- MPLS is used extensively by most ISPs. An
extended version called GMPLS (Generalized MPLS)
is also used to setup LSPs over optical fiber
technologies (SONET/SDH and DWDM). - With "Metro Ethernet" networks, MPLS is used to
provide "pseudowires" between Ethernet switched
networks. - MPLS is still evolving the IETF mpls working
group is very active, with many internet drafts
still active and various mechanisms still being
standardized (e.g. lsp-ping, security, network
management, etc).
12Metro/Carrier Ethernet (1)
- According to some studies, 95 of today's
Internet traffic starts and ends as Ethernet
(end-sites are using Ethernet networks). - In the mean time, ISPs/carriers used everything
but Ethernet in their backbone networks. - Ethernet is becoming extremely cheap with very
high data rates. - In contrast, data carrying technologies
(SONET/SDH, MPLS) are relatively expensive. - 10 Gb/s already there, 40 Gb/s and 100 Gb/s are
on their way. - However, Ethernet is too "dumb" for carriers.
- Backbone networks require advanced services like
QoS, network management, traffic engineering, etc.
13Metro/Carrier Ethernet (2)
- Metro/Carrier Ethernet is a set of technologies
and products. - The terms "metro" and "carrier" are more or less
used to describe the same technologies. However
"metro" is targeted more at customers networks,
while "carrier" is targeted more at ISPs. - Many manufacturers, standards, and deployment
styles. - Common denominator is Ethernet for example, one
typical obejctive is to inter-connect Ethernet
VLANs via a backbone network (e.g. to
inter-connect the networks located at different
branches of a large organization).
14Metro/Carrier Ethernet (3)
- Metro/Carrier Ethernet some protocols.
- IEEE 802.1Q tunneling, or "tag stacking", or
"QinQ". - Very similar to MPLS labeling and label stacking,
but with Ethernet VLAN tagging technologies the
goal is to inter-connect customers' VLANs without
any "collision of VLAN ids/tags".
Image from http//www.cisco.com/warp/public/cc/pd
/si/casi/ca6000/prodlit/65met_wp.htm
15Metro/Carrier Ethernet (4)
- Metro/Carrier Ethernet some protocols.
- IEEE 802.1Q tunneling, or "tag stacking", or
"QinQ". - Also known as 802.1ad or "Provider bridges".
CPE Customer Premises Equipment
PE Provider Edge
Image from http//www.cisco.com/warp/public/cc/pd
/si/casi/ca6000/prodlit/65met_wp.htm
16Metro/Carrier Ethernet (5)
- Metro/Carrier Ethernet scalability.
- QinQ is limited to 4094 tags/customers, and there
is a scalability issue with the size of
forwarding tables. - To remediate this, new standards have been
defined - IEEE 802.1ah or "Backbone Provider Bridges" or
"MAC-in-MAC". - Introduces encapsulation techniques of Ethernet
in Ethernet. - IEEE 802.1Qay-TE a carrier grade extension of
802.1ah with traffic engineering, MPLS
compatibility, deterministic delivery. - HVLAN proposed extension to introduce
hierarchical VLAN tagging with a CIDR-style "bast
match" forwarding. - Sound like re-inventing the wheel?
- New variants (with new names) of MPLS, IP, SONET,
ATM?
17Metro/Carrier Ethernet (6)
- Currently an extremely active area.
- Plenty standards on their way.
- IETF vs. IEEE battle.
- Vendors battle with competing technologies and
protocols. - Development seems to be fully driven by the
market (and not always by technical advances). - ISPs want to save cost to extend their
infrastructures. - Customers want to pay less.
- Vendors want to sell new equipments.
- Network deployments is really becoming "à la
carte" - e.g. MPLS over Ethernet? Eth. over MPLS? Eth.
over MPLS over Eth.? - A palette of technologies, costs, and services.
Not clear who wins
18The spanning tree protocol (SPT).
- A spanning tree of a graph is a sub-graph that
contains all the vertices (nodes) and is a tree. - Note that a given graph usually have multiple
spanning trees.
19The spanning tree protocol (2).
- In a bridged Ethernet network, the main objective
of STP is to prevent loops in a topology with
redundant paths. - How? Redundant links are de-activated (for
forwarding). - One goal is to prevent the "broadcast storm
problem".
Broadcast loop
Loop is prevented
A
A
ARP REQ B?
ARP REQ B?
B
B
Ethernet switch.
20The spanning tree protocol (3).
- Another goal is to prevent duplicate frames to be
received.
A
data sent to B
B
Duplicate frame is received!
Ethernet switch.
21The spanning tree protocol (4).
- Loops also generate inconsistent and unstable
states. - e.g. a switch learns on which port a machine is
connected by looking at the source MAC address of
Ethernet frames.
Switch learns A is on right port
Switch learns A is on left port
A
data sent to B
B
Ethernet switch.
- Also note Ethernet frames have no TTL !
- i.e. they can potentially re-circulate forever!
22The spanning tree protocol (5).
- Centralized algorithms are not desirable in
practice but are interesting to study the
problem. - E.g. Kruskal, Prim, Boruvka, and Dijkstra
algorithms. - Challenges for distributed algorithms
- To converge (!) only one active spanning tree
during steady-state. - To converge rapidly after topology change (Rapid
STP). - Should remain simple for low-cost implementation.
- Very old and well studied algorithm.
- For Ethernet, it is standardized today by IEEE
802.1D (1990). - Since 2004, RSTP replaces STP in the standard.
23The spanning tree protocol (6).
- Basic operation of STP All switches
participating in STP gather information on other
switches in the network through an exchange of
data messages. - These messages are bridge protocol data units
(BPDUs). This exchange of messages results in the
following - The election of a unique root switch.
- The election of a designated switch for every
switched LAN segment. - The removal of loops in the switched network by
placing redundant switch ports in a backup state. - The root switch is the logical center of the
spanning-tree topology. All paths that are not
needed to reach the root switch from anywhere in
the switched network are placed in backup mode.
24The spanning tree protocol (7).
- Electing a root bridge.
- Each switch has a MAC address and a configurable
priority number both of these numbers make up
the Bridge Identification or BID. - The BID is used to elect a root bridge based upon
the lowest priority number if this is a tie then
the numerically lowest MAC address wins. - Upon startup all bridges send BPDUs. Once found,
only the root bridge sends BPDUs (e.g. every 2
seconds). - Typical forwarding algo Forward a BPDU if and
only if BID lt my_BID.Stop sending my own BPDUs
if I see BPDUs with BID lt my_BID.
25The spanning tree protocol (8).
26The spanning tree protocol (9).
- Finding shortest paths to the root bridge.
- Each bridge must keep one and only one active
link to the root bridge. - Link with lowest cost is kept as root link (root
port). - Redundant links are blocked.
- Shortest path is based on cumulative link cost.
- Link costs are based on the speed of the link.
27The spanning tree protocol (10).
Root port
Root port
28The spanning tree protocol (11).
- Electing a designated port for each segment.
- Port announcing lowest cost is elected as
designated port for segment.
Root port
Root port
29The spanning tree protocol (12).
- After convergence is reached there is
- One spanning tree per Ethernet network.
- One root bridge.
- One root port per non-root bridge.
- One designated port per segment.
- All other ports are blocked.
- Note that it's possible to have one spanning tree
per Ethernet VLAN.
30The spanning tree protocol (13).
- In 2004 STP is replaced in the standard by Rapid
STP. - Convergence of STP takes up to 50 seconds.
- Detection of lost BPDUs 20 seconds (root
bridge lost). - Listening phase (no data forwarding) 15
seconds. - Learning phase (no data forwarding) 15 seconds.
- Changes introduced by RSTP are
- All bridges periodically generate BPDUs costs
are updated more rapidly. - Links are point-to-point, edge-type, shared
failures are detected more rapidly (e.g. non
bridge-to-bridge ports are ignored). - Network convergence is up to 15 seconds.
31The rapid spanning tree protocol (14).
32Thank you
Questions?