ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE Connection Oriented Networking MPLS and ATM Jean-Yves Le Boudec Fall 0 Contents. Connection Oriented network layer. ATM.MPLS (Multi Protocol Label Switching)
. Frame Relay, ATM There exists a family of data networks which is very different from IP : carrier data networks MPLS-TP, Frame Relay, ATM, X.5 They use the Connection Oriented Network Layer They were designed to be an alternative to IP Failed in this goal Used today in IP backbones of ISPs or at interconnection points Industrial automation networks, smart grids 3 Connection Oriented Network Layer : Frame Relay, ATM, X.5 Host A input conn Id output conn Id 3 3 3 input conn Id output conn Id 4 3 3 input conn Id output conn Id Host C Switch S Switch S Switch S4 4 Switch S3 Host B 4
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.5, Frame Relay, ATM). The packet forwarding function is simple, based on table lookup. The control method involves connection 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.5, 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.5, 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. 5 ATM ATM 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 500 B payload) 6 3
ATM VPI/VCI switching in VPI/VCI out VPI/VCI 7 44 9 6 38 ATM cells header contains VPI/VCI 9 7 6 6 44 38 7 ATM Adaption Layer variable length packet AAL5 in ATM adapter ATM switches AAL5 in ATM adapter cells ATM can transport packets of size up to 64 KB ATM Adaptation Layer segments and re-assembles in ATM end points only 8 4
IP over ATM: Classical IP classical IP uses ATM as a fast Ethernet ATMARP finds ATM address H. VCC ATM H Like a telephone number, similar to IPv6 address --- not a VPI/VCI Router. Address Resolution S Router InARP finds VPI/VCI ARP Server (Address Resolution) An ATMARP server is used: -H connects to S at boot time, by calling the ATM address of the ATMARP server - with InARP, S and H identify their IP addresses - when H has to send an IP packet to H, it must find the ATM address of H. H sends an ATMARP request to S. S responds with the ATM address of H. H calls H. When an ATM connection is established, InARP is used to confirm the IP addresses. 9 Why ATM? Simplifies routing in large networks IP needs very large routing tables in the core network for every packet look up more that 00 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) 0 5
. MPLS IP over MPLS MPLS node CO switch IP router Multi-Protocol Label Swapping Goal: integrate IP and CO layer in the same concept peer model of integration Unlike ATM or FR (used as layer by IP) Save one network MPLS packets have a label added before IP header An MPLS node acts as a combined router / CO intermediate system MPLS table combines routing and label swapping MPLS example src dst out * 8.78/5 b/70 * 9.88/6 b/70 a A 6 src dst out b B * 9.88/6 b/8 * 8.78/5 b/8 8/8 9.88/6 b/30 9 7 in a d a b out a/70 b/5 d/8 b/5 d/30 c/5 C b c 3 in out a/5 b/77 a a D E b b in out a/5 b/37 4 FEC skipped in LIB a c in F 5 8.78/5 b 9.88/6 out 8 a/77 b/pop c/37 b/pop src= 8...3 src=...3 30 9.88.3.3 5 9.88.3.3 37 9.88.3.3 9.88.3.3 8 9.88.38. 5 9.88.38. 77 9.88.38. 9.88.38. 6
. An IP packet arrives, at MPLS node B, with source IP address 8...3 and destination IP address 9.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.. 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 5 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...3 and destination IP address 9.88.38.. 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 8 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. 3 MPLS Terminology Ingress LER (Label Edge Router) LSR (Label Switch Router) Egress LER (Label Edge Router) a c b d 8.78/5 9.88/6 src dst out * 8.78/5 b/70 8/8 9.88/6 b/8 FEC - Label Mapping FEC in out xxx a/70 b/5 yyy c/8 d/5 LSP (Label Switched Path) FEC (Forward Equivalence Class) LIB (Label Information Base) 4 7
Operation of MPLS ingress LER classifies packets to identify FEC that determines a label; inserts the label (3 bits) Labels may be stacked on top of labels LSR switches based on the label if present, else uses IP routing Forwarding 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 subnet source 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) 5 Avoid Redistribution with MPLS R5 E-BGP... R6 AS x..0. IGP 8./6 I-BGP MPLS R AS z Alternative to redistribution or running I-BGP in all backbone routers: Associate MPLS labels to exit points R Example: R creates a label switched path to... At R: Packets to 8./6 are associated with this label R runs only IGP and MPLS no BGP only very small routing tables Can be used to provide quality of service MPLS E-BGP AS y R4 RIB and LIB at R To NEXT-HOP layer- addr 8./6... MPLS label 3 6 8
Say what is true:. A. B 3. A and B 4. None 5. I don t know 0% 0% 0% 0% 0% 3 4 5 7 Solution A. When forwarding a packet a Label Switch Router does longest prefix match B. An MPLS label uniquely identifies a label switched path in the network 8 9
Facts to remember There are other, non IP network layers that are connection oriented With a CO network, there are connections and labels Labels 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 MPLS is similar but is combined at the networking layer 9 ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE IP Multicast 0 0
Contents. Multicast IP. Multicast routing protocols 3. Deployment. Internet (initial) group model Multicast/group communication n as well as n m Multicast addresses, IPv4 4.0.0.0 to 39.55.55.55 3/8 reserved for SSM (see later) 4/4 Multicast address, IPv6 FF00::/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 94.99.5.00 source host multicast group 5...3 host 3 host receiver receiver 33... 94.99.5.0
Internet (initial) group model Open model any host may belong to a multicast group no authorization required host may belong to many different groups no 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 scope use TTL: LAN (local scope), Campus/admin scoping 3 IP Multicast Principles A IGMP: join m B 4 R Multicast routing 3 R4 R R5 hosts subscribe via IGMP join messages sent to router routers build distribution tree via multicast routing sources do not know who destinations are packet multiplication is done by routers 5 5 to m S S sends packets to multicast address m; there is no member, the data is simply lost at router R5. A joins the multicast address m. 3 R informs the rest of the network that m has a member at R; 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. 4
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 do Same as sending a packet to unicast address Destination has to join explicitly supported 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 5 Source Specific Multicast (SSM) The IP multicast model supports many to many network (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 network host must learn source address out of band (Web page) n m still possible with many n channelsrequires source selection (hostto-router source and group request) Include-Source list of IGMPv3 MLD (Multicast Listener Discovery for IPv6), replacement of IGMP for IPv6 IANA assigned 3/8 and FF3X::/96 6 3
. 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 7 PIM-SSM A B Channel (A, G) built between source and receiver C D PIM JOIN (A,G) F E JOIN (A, G) announced with IGMP 8 4
= «Protocol Independent Multicast- Source Specific Multicast» The «routing protocol» proposed for SSM Router 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 PIM-SSM There is no Path Computation algorithm, relies on routing tables built by unicast routing protocols 9 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 source R multicast routers encapsulation dst = unicast @R unicast only routers R receiver decapsulation multicast routers IP dest=adr_r IP dest=mcast payload original packet 30 5
There is not only IP Multicast Multicast can be performed at application layer On a network offering no IP multicast support (today s internet) Examples: content distribution networks Source CDN node CDN node CDN node 4 CDN node 3 3. A. B 3. C 4. A and B 5. A and C 6. B and C 7. All 8. None 9. I don t know Say what is true % % % % % % % % % 3 4 5 6 7 8 9 3 6
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 packet it must use a multicast source IP address C. IP routers that support IP multicast must keep state information for multicast flows 33 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 address Routing is complex Source specific multicast is simpler to deploy Application layer multicast can be used even without IP multicast Multicast IP does not work with TCP Ad-hoc reliable multicast protocols were developed 34 7