Lecture 14 MPLS Intro to Transport, Reliability, and TCPMulti Protocol Label Switching - MPLSMPLS + IPMPLS core, IP interfaceMPLS use case #1: VPNsMPLS use case #2: Reduced State CoreMPLS use case #3: Traffic EngineeringMPLS MechanismsMPLS DiscussionFurther reading - MPLSPackets over SONETTake Home PointsTransport LayerTransport ProtocolsFunctionality SplitSlide 16UDP: User Datagram Protocol [RFC 768]UDP, cont.UDP ChecksumHigh-Level TCP CharacteristicsTCP HeaderEvolution of TCPTCP Through the 1990sOutlineStop and WaitRecovering from ErrorProblems with Stop and WaitHow to Recognize Resends?How to Keep the Pipe Full?Sliding WindowSender/Receiver StateSequence NumbersWindow Sliding – Common CaseLoss RecoveryGo-Back-N in ActionSelective RepeatSelective Repeat: Sender, Receiver WindowsImportant LessonsNext Lecture1Lecture 14MPLSIntro to Transport, Reliability, and TCP15-441 Networking, Spring 2007As usual, adapted from Srini Seshan and David Anderson, 15-441, Fall ‘062Multi Protocol Label Switching - MPLSSelective combination of VCs + IP»Today: MPLS useful for traffic engineering, reducing core complexity, and VPNsCore idea: Layer 2 carries VC label»Could be ATM (which has its own tag)»Could be a “shim” on top of Ethernet/etc.:»Existing routers could act as MPLS switches just by examining that shim -- no radical re-design. Gets flexibility benefits, though not cell switching advantagesLayer 2 headerLayer 3 (IP) headerLayer 2 headerLayer 3 (IP) headerMPLS label3MPLS + IPMap packet onto Forward Equivalence Class (FEC)»Simple case: longest prefix match of destination address»More complex if QoS of policy routing is usedIn MPLS, a label is associated with the packet when it enters the network and forwarding is based on the label in the network core.»Label is swapped (as ATM VCIs)Potential advantages.»Packet forwarding can be faster»Routing can be based on ingress router and port»Can use more complex routing decisions»Can force packets to followed a pinned route4MPLS core, IP interfaceABR2R1R3R4C1234333111224442DIPIPMPLS tag assignedIPIPMPLS forwarding in coreMPLS tag stripped5MPLS use case #1: VPNsABR2R1R3R4C1234333111224442D10.1.0.0/2410.1.0.0/2410.1.0.0/2410.1.0.0/24MPLS tags can differentiate green VPN from orange VPN.6MPLS use case #2: Reduced State CoreAR2R1R3R4C.EBGPEBGPAR2R1R3R4C1234333111224442EBGPIP CoreMPLS CoreA-> C pktInternal routers must know all C destinationsR1 uses MPLS tunnel to R4. R1 and R4 know routes, but R2 and R3 don’t.7MPLS use case #3: Traffic EngineeringAs discussed earlier -- can pick routes based upon more than just destinationUsed in practice by many ISPs, though certainly not all.8MPLS MechanismsMPLS packet forwarding: implementation of the label is technology specific.»Could be ATM VCI or a short extra “MPLS” headerSupports stacked labels.»Operations can be “swap” (normal label swapping), “push” and “pop” labels.–VERY flexible! Like creating tunnels, but much simpler -- only adds a small label.Label CoS S TTL20 3 189MPLS DiscussionOriginal motivation.»Fast packet forwarding:–Use of ATM hardware–Avoid complex “longest prefix” route lookup–Limitations of routing table sizes»Quality of serviceCurrently mostly used for traffic engineering and network management.»LSPs can be thought of as “programmable links” that can be set up under software control» on top of a simple, static hardware infrastructure10Further reading - MPLSMPLS isn’t in the book - sorry. Juniper has a few good presentations at NANOG (the North American Network Operators Group; a big collection of ISPs):»http://www.nanog.org/mtg-0310/minei.html»http://www.nanog.org/mtg-0402/minei.html»Practical and realistic view of what people are doing _today_ with MPLS.11Packets over SONETSame as statically configured ATM pipes, but pipes are SONET channels.Properties.–Bandwidth management is much less flexible+Much lower transmission overhead (no ATM headers)muxmuxmuxmuxmuxmuxOC-4812Take Home PointsCosts/benefits/goals of virtual circuitsCell switching (ATM)»Fixed-size pkts: Fast hardware»Packet size picked for low voice jitter. Understand trade-offs.»Beware packet shredder effect (drop entire pkt)Tag/label swapping»Basis for most VCs. »Makes label assignment link-local. Understand mechanism.MPLS - IP meets virtual circuits»MPLS tunnels used for VPNs, traffic engineering, reduced core routing table sizes13Transport LayerTransport introductionError recovery & flow control14Transport ProtocolsLowest level end-to-end protocol.»Header generated by sender is interpreted only by the destination»Routers view transport header as part of the payload776655776655TransportTransportIPIPDatalinkDatalinkPhysicalPhysicalTransportTransportIPIPDatalinkDatalinkPhysicalPhysicalIPIProuter2222111115Functionality SplitNetwork provides best-effort deliveryEnd-systems implement many functions»Reliability»In-order delivery»Demultiplexing»Message boundaries»Connection abstraction»Congestion control»…16Transport ProtocolsUDP provides just integrity and demuxTCP adds…»Connection-oriented»Reliable»Ordered»Point-to-point»Byte-stream»Full duplex»Flow and congestion controlled17UDP: User Datagram Protocol [RFC 768]“No frills,” “bare bones” Internet transport protocol“Best effort” service, UDP segments may be:»Lost»Delivered out of order to appConnectionless:»No handshaking between UDP sender, receiver»Each UDP segment handled independently of othersWhy is there a UDP?No connection establishment (which can add delay)Simple: no connection state at sender, receiverSmall headerNo congestion control: UDP can blast away as fast as desired18UDP, cont.Often used for streaming multimedia apps»Loss tolerant»Rate sensitiveOther UDP uses (why?):»DNS, SNMPReliable transfer over UDP»Must be at application layer»Application-specific error recoverySource port # Dest port #32 bitsApplicationdata (message)UDP segment formatLengthChecksumLength, inbytes of UDPsegment,includingheader19UDP ChecksumSender:Treat segment contents as sequence of 16-bit integersChecksum: addition (1’s complement sum) of segment contentsSender puts checksum value into UDP checksum fieldReceiver:Compute checksum of received segmentCheck if computed checksum equals checksum field value:»NO - error detected»YES - no error detectedBut
View Full Document