Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping...

17
1 1 Connection Oriented Networking MPLS 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)

Transcript of Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping...

Page 1: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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)

Page 2: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 3: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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)

Page 4: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 5: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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)

Page 6: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 7: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 8: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 9: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 10: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 11: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 12: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 13: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 14: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 15: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 16: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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

Page 17: Connection Oriented Networking MPLS and ATM · MPLS IP over MPLS “Multi-Protocol Label Swapping ... Label Switching tables can be built using a Label Distribution Protocol, which

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