connection oriented networking mpls and atm · mpls ip over mpls “multi-protocol label swapping...
TRANSCRIPT
1
1
Connection Oriented NetworkingMPLS and ATM
ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE
Jean-Yves Le Boudec
Fall 2012
2
Contents
1. Connection Oriented network layer. ATM
2 .MPLS (Multi Protocol Label Switching)
2
3
1. Frame Relay, ATMThere exists a family of data networks which is very different from IP : carrier data networks
MPLS-TP, Frame Relay, ATM, X.25
They use the Connection Oriented Network Layer
They were designed to be an alternative to IPFailed in this goal
Used today inIP backbones of ISPs or at interconnection points
Industrial automation networks, smart grids
4
Connection Oriented Network Layer :Frame Relay, ATM, X.25
Host A
Host B
2 1
2
21
13
Host C
SwitchS1
SwitchS3
SwitchS4
SwitchS2
3
inputconn Idoutputconn Id
3 31 22 21 2
inputconn Idoutputconn Id
1 11 24 31 1
inputconn Idoutputconn Id
1121
4
2
3
5
Connection oriented = similar to telephone. Connections are also called virtual circuits.
The connection oriented network layer uses connections that are known and controlled in all intermediate systems. Every packet carries a connection identifier which is either global (SNA) or local to a link (X.25, Frame Relay, ATM).
The packet forwarding function is simple, based on table lookup.
The control method involvesconnection setup and release(building tables)
connection routing
Connection oriented networks usually implement some mechanisms to control the amount of data sent on one connection, thus limiting losses due to statistical multiplexing. Methods for that are: sliding window protocol, similar to that of TCP (X.25, SNA), and rate control (Frame Relay , ATM).
Connection oriented networks give better control over individual traffic flows and are thus used in public networks where tariffing is a key issue (X.25, Frame Relay). IBM network architectures are also connection oriented (SNA, APPN). ATM is a connection oriented network where emphasis is put on supporting both statistical multiplexing and non- statistical multiplexing. ATM packets have a small, fixed size and are called cells.
6
ATMATM is a connection oriented network architecture
ATM packets (called cells) are small and fixed size (48 bytes of data + 5 bytes of header)
high performance at low cost
designed for very low delay
And for hrdware implementation of switching functions
The ATM connection identifier is called VPI/VCI (Virtual Path Identifier/Virtual Channel Identifier)
Frame relay is the same but with packets of variable size (up to 1500 B payload)
4
7
ATM VPI/VCI switching
in VPI/VCI out VPI/VCI
1 27 2 441 19 16 38
2719
44
38
1
16
1
16
2
ATM cellsheader contains VPI/VCI
8
ATM Adaption Layer
ATM can transport packets of size up to 64 KB
ATM Adaptation Layer segments and re-assembles in ATM end points only
AAL5in ATM adapter
variable length packet
cells
ATM switches
AAL5in ATM adapter
5
9
IP over ATM: Classical IPclassical IP uses ATM as a fast Ethernet
ATMARP finds ATM address
Like a telephone number, similar to IPv6 address --- not a VPI/VCI
InARP finds VPI/VCI
ARP Server(Address Resolution)
ATM
H1 H2
Router Router1. AddressResolution
2. VCC
S
An ATMARP server is used:
-H1 connects to S at boot time, by calling the ATM address of the ATMARP server
- with InARP, S and H1 identify their IP addresses
- when H1 has to send an IP packet to H2, it must find the ATM address of H2. H1 sends an ATMARP request to S. S responds with the ATM address of H2. H1 calls H2. When an ATM connection is established, InARP is used to confirm the IP addresses.
10
Why ATM ?
Simplifies routing in large networksIP needs very large routing tables in the core network
for every packet look up more that 100 000 entries
forwarding from the ISP point of view - just find the egress router
IP routing may ignore the real physical topology ISP can put a router on the edge and use ATM/Frame Relay Virtual Path, switches in the middle
edge router selects the path based on the destination address
route look up done only once in the ISP network
but still scalability problems
Quality of Service ATM can natively provide guaranteed service (allocate different rates to different ATM connections)
Used to share infrastructure (several operators or one network – virtual providers)
Also used to multiplex many users on an access network (cable, wireless)
6
11
2. MPLS
IP over MPLS
“Multi-Protocol Label Swapping” Goal: integrate IP and CO layer in the same concept
“peer model” of integrationUnlike ATM or FR (used as layer 2 by IP)Save one network
MPLS packets have a label added before IP header An MPLS node acts as a combined router / CO intermediate
systemMPLS table combines routing and label swapping
MPLS node• CO switch• IP router
12
MPLS example
in out
a/25 b/37
ad
bc
src dst out
* 129.88/16 b/28* 128.178/15 b/2818/8 129.88/16 b/30
src dst out
* 128.178/15 b/70* 129.88/16 b/70
a b
a b
in out
a/70 b/25d/28 b/25d/30 c/25
in out
a/25 b/77
in out
a/77 b/popc/37 b/pop
a b
a b
ac
b
129.88/16
128.178/15
FEC skipped in LIB
28 129.88.38.1 25 129.88.38.1 77 129.88.38.1 129.88.38.1src= 122.1.2.3
30 129.88.3.3 25 129.88.3.3 129.88.3.3 129.88.3.337src= 18.1.2.3
A
BC
E
FD9
7
8
1 23
4
56
7
13
1. An IP packet arrives, at MPLS node B, with source IP address 18.1.2.3 and destination IP address 129.88.3.3. It arrives from outside the MPLS cloud, as an ordinary IP packet. The combined routing/MPLS table at B says that, for this combination of source and destination address, B should push the label 30 in front of the IP packet and forward the packet to port b.
2. The packet arrives at node C. Since the packet has a label, the nodes looks for it in the table and finds that the label should be swapped to 25 and the packet forwarded to port c.
3. Similar
4. The packet arrives at node F. The table says that a packet arriving on port c with label 37 should be sent to port b and the label should be popped (removed).
5. The packet exits as an ordinary IP packet, without MPLS label.
6. An IP packet arrives, at MPLS node B, with source IP address 122.1.2.3 and destination IP address 129.88.38.1. It arrives from outside the MPLS cloud, as an ordinary IP packet. The combined routing/MPLS table at B says that, for this combination of source and destination address, B should push the label 28 in front of the IP packet and forward the packet to port b.
7. The packet arrives at node C. Since the packet has a label, the nodes looks for it in the table and finds that the label should be swapped to 77 and the packet forwarded to port b.
8. The packet’s label was removed by node F
9. Observe how after node C this packet’s path follows the same as the previous packet’s.
14
MPLS Terminology
LSR (Label Switch Router)Ingress LER (Label Edge Router)
Egress LER (Label Edge Router)
LIB (Label Information Base)
129.88/16
FEC (Forward Equivalence Class)
128.178/15
FEC in out
xxx a/70 b/25yyy c/28 d/25
LSP (Label Switched Path)
ac
bd
src dst out
* 128.178/15 b/7018/8 129.88/16 b/28
FEC - Label Mapping
8
15
Operation of MPLS
ingress LER classifies packets to identify FEC that determines a label; inserts the label (32 bits)
Labels may be stacked on top of labels
LSR switches based on the label if present, else uses IP routingForwarding Equivalence Classes (FEC)
group of IP packets, forwarded in the same manner, over the same path, and with the same forwarding treatment (priority)FEC may correspond to
destination IP subnetsource and destination IP subnet traffic class that LER considers significant
Label Switching tables can be built using a Label Distribution Protocol, which can be implemented as an addition to the routing protocol (e.g. OSPF, IGMP, BGP)
16
Avoid Redistribution with MPLSAS x
AS y
AS z
E-BGP
Alternative to redistribution or running I-BGP in all backbone routers:
Associate MPLS labels to exit points
Example:R2 creates a label switched path to 2.2.2.2At R2: Packets to 18.1/6 are associated with this label R1 runs only IGP and MPLS – no BGP – only very small routing tablesCan be used to provide quality of service
E-BGP
R4
R1
R2
R5 R6
18.1/16 I-BGP
MPLS
IGPMPLS
2.2.2.22.2.20.1
To NEXT-HOP layer-2 addr18.1/16 2.2.2.2 MPLS label 23
RIB and LIB at R2
9
Say what is true:
171 2 3 4 5
20% 20%20%20%20%
1. A
2. B
3. A and B
4. None
5. I don’t know
Solution
18
A. When forwarding a packet a Label Switch Router doeslongest prefix match
B. An MPLS label uniquelyidentifies a label switchedpath in the network
10
19
Facts to remember
There are other, non IP network layers that are connection oriented
With a CO network, there are connections and labelsLabels have only local significance, may be changed at every hop
They are used to carry IP traffic or telephony or to separate services
ATM is used as “super layer 2”
MPLS is similar but is combined at the networking layer
20
IP Multicast
ÉCOLE POLYTECHNIQUEFÉDÉRALE DE LAUSANNE
11
21
Contents
1. Multicast IP
2. Multicast routing protocols
3. Deployment
22
1. Internet (initial) group modelMulticast/group communication
1 n as well as n m
Multicast addresses, IPv4224.0.0.0 to 239.255.255.255
232/8 reserved for SSM (see later)
224/4
Multicast address, IPv6FF00::/8
A multicast address is the logical identifier of a group
No topological information, does not give any information about where the destinations (listeners) are
Routers keep have to keep state information for each multicast address
host 1
194.199.25.100source
host 3
receiver133.121.11.22
host 2
receiver194.199.25.101
multicast group225.1.2.3
12
23
Internet (initial) group model
Open modelany host may belong to a multicast group
no authorization required
host may belong to many different groupsno restriction
source may send a packet to a group no matter if it belongs to the group or not
membership not required
group is dynamic a host may subscribe or leave at any time
host (source/receiver) does not know the identity of group members
Groups may have different scopeuse TTL: LAN (local scope), Campus/admin scoping
24
IP Multicast Principles
hosts subscribe via IGMP join messages sent to routerrouters build distribution tree via multicast routingsources do not know who destinations arepacket multiplication is done by routers
1 S sends packets to multicast address m; there is no member, the data is simply lost at router R5.
2 A joins the multicast address m.3 R1 informs the rest of the network that
m has a member at R1; the multicast routing protocol builds a tree. Data sent by S now reach A.
4 B joins the multicast address m.5 R4 informs the rest of the network that
m has a member at R4; the multicast routing protocol adds branches to the tree. Data sent by S now reach both A and B.
R5R1
R2
R4
A
B
Sto m
1
IGMP: join m
2
4
3
5
5
Multicast routing
13
25
Using Multicast with IPv4 Sockets
Can only use UDP, does not work with TCP
Set TTL carefully
Sending to a multicast address: nothing special to doSame as sending a packet to unicast address
Destination has to join explicitlysupported by socket option
in in.h:struct ip_mreq {struct in_addr imr_multiaddr;
/* IP multicast address of group */struct in_addr imr_interface;
/* local IP address of interface */};
struct ip_mreq mreq;rc = setsockopt(sd, IPPROTO_IP, IP_ADD_MEMBERSHIP,
(void *) &mreq, sizeof(mreq) );
IN_MULTICAST(a) tests whether a is a multicast address
26
Source Specific Multicast (SSM)
The IP multicast model supports many to manynetwork (multicast routing) must find all sources and route from them
A proposed alternative called SSM (Source Specific Multicast) multicast group - a channel identified by:
{@source, @multicast}
single-source model{S, M} and {S’, M} are disjoint
only S can send some traffic to {S, M}
destinations have to find who the sources are, not the networkhost must learn source address out of band (Web page)
n m still possible with many 1 n channelsrequires source selection (host-to-router source and group request)
Include-Source list of IGMPv3
MLD (Multicast Listener Discovery for IPv6), replacement of IGMP for IPv6
IANA assigned 232/8 and FF3X::/96
14
2. Multicast Routing
There are many multicast routing protocols to choose from
What is the job ?For every multicast address, build a shared distribution tree
This is (too) complex
A much simpler situation arises if we support only SSM
27
PIM-SSM
28
JOIN (A, G) announced with IGMP
A
B
D
EF
C
PIM JOIN (A,G)
Channel (A, G) built between source and receiver
15
PIM-SSM
= « Protocol Independent Multicast- Source Specific Multicast »
The « routing protocol » proposed for SSMRouter keeps (S, G) state for each source S and each multicast group address G
Tree is built by using unicast routing tables towards the source
PIM-JOIN messages sent from one router to upstream neighbour
There is no Path Computation algorithm, relies on routing tables built by unicast routing protocols
29
3. Deployment
IP multicast is implemented on research networks (Switch, Geant, etc)
Also used by specific environments (e.g. financial)
Not generally available (yet) to the general public in its general form
SSM multicast deployments are starting
Tunneling can be used to connect a non multicast capable network to a multicast capable one (MBONE)
within a multicast area: native multicast
in a tunnel: muticast packets are encapsulated in unicast IP packets
30
multicast routersmulticast routers
sourcereceiver
encapsulationdst = unicast @R2
decapsulation
R2R1
IP dest=adr_R2 IP dest=mcast payload
original packet
unicast only routers
16
31
There is not only IP Multicast …
Multicast can be performed at application layerOn a network offering no IP multicast support (today’s internet)
Examples: content distribution networks
Source
CDN node 1
CDN node 3
CDN node 4
CDN node 2
Say what is true
321 2 3 4 5 6 7 8 9
11% 11% 11% 11%11%11%11%11%11%
1. A
2. B
3. C
4. A and B
5. A and C
6. B and C
7. All
8. None
9. I don’t know
17
Solution
A. When forwarding a packet an IP router supporting multicast does an exact match for multicast destination addresses
B. When a source sends a multicast packetit must use a multicast source IP address
C. IP routers that support IP multicast must keep state information for multicast flows
33
34
Facts to remember
IP multicast allows to reduce traffic by controlled packet replication
Multicast routers are “stateful”
Initial multicast allows any source to send to a multicast addressRouting is complex
Source specific multicast is simpler to deployApplication layer multicast can be used even without IP multicast
Multicast IP does not work with TCPAd-hoc “reliable multicast” protocols were developed