LISP Locator Reachability Algorithms Dino Farinacci, Dave Meyer, Darrel Lewis, Vince Fuller, Andrew Partan, Noel Chiappa IETF Stockholm LISP Working Group.

Slides:



Advertisements
Similar presentations
LISP Mobile Node LISP Mobile Node draft-meyer-lisp-mn-00.txt Dino Farinacci, Vince Fuller, Darrel Lewis and David Meyer IETF StockholmHiroshima LISP Working.
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
IETF 72 – July 2008 Vince Fuller, Darrel Lewis, Eliot Lear, Scott Brim, Dave Oran, Noel Chiappa, John Curran, Dino Farinacci, and David Meyer LISP Deployment.
Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
LISP-CONS A Mapping Database Service NANOG 41 David Meyer, Dino Farinacci, Vince Fuller, Darrel Lewis, Scott Brim, Noel Chiappa NANOG 41 October, 2007.
Ver 1,12/09/2012Kode :CIJ 340,Jaringan Komputer Lanjut FASILKOM Routing Protocols and Concepts – Chapter 2 Static Routing CCNA.
Computer Security and Penetration Testing
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
Internet Control Message Protocol (ICMP)
1 CCNA 2 v3.1 Module 9. 2 Basic Router Troubleshooting CCNA 2, Module 9.
NANOG-46 Philadelphia, June 2009 Vince Fuller & Dave Meyer (for the rest of the LISP crew: Noel Chiappa, Dino Farinacci, Darrel Lewis, Andrew Partan, and.
1 CCNA 2 v3.1 Module 8. 2 TCP/IP Suite Error and Control Messages CCNA 2 Module 8.
WXES2106 Network Technology Semester /2005 Chapter 7 TCP/IP Suite Error and Control Messages CCNA2: Module 8, 9.
Class 4 Internet Protocols
Petteri Sirén. Content Preface Locator/ID Separation Protocol (LISP) How LISP works Methods how LISP was studied Test cases Result Summary.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 5: Inter-VLAN Routing Routing And Switching.
CCNA Introduction to Networking 5.0 Rick Graziani Cabrillo College
1 CMPT 471 Networking II ICMP © Janice Regan, 2012.
1 Version 3.1 Module 4 Learning About Other Devices.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Network Layer ICMP and fragmentation.
LISP Tech Talk - Part 3 Deployed Network and Use-Cases Dino Farinacci, Dave Meyer, Darrel Lewis, Vince Fuller, Gregg Schudel February 24, 2010.
March 7, 2005MOBIKE WG, IETF 621 Mobility Protocol Options for IKEv2 (MOPO-IKE) Pasi Eronen.
Exploring the Packet Delivery Process Chapter
Page 19/13/2015 Chapter 8 Some conditions that must be met for host to host communication over an internetwork: a default gateway must be properly configured.
Internet Control Message Protocol (ICMP). Objective l IP and ICMP l Why need ICMP? l ICMP Message Format l ICMP fields l Examples: »Ping »Traceroute.
Distance Vector Routing Protocols W.lilakiatsakun.
M. Menelaou CCNA2 DYNAMIC ROUTING. M. Menelaou DYNAMIC ROUTING Dynamic routing protocols can help simplify the life of a network administrator Routing.
Slide /2009COMM3380 Routing Algorithms Distance Vector Routing Each node knows the distance (=cost) to its directly connected neighbors A node sends.
NAGing about LISP LISP Designers/Implementors: Dave Meyer, Vince Fuller, Darrel Lewis, Eliot Lear, Scott Brim, Dave Oran, Dana Blair, Noel Chiappa, John.
TCP Timers Chia-tai Tsai Introduction The 7 Timers for each Connection Connection-Establishment Timer Establish a new connection.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 2 Module 8 TCP/IP Suite Error and Control Messages.
LISP-Multicast draft-farinacci-lisp-multicast-00.txt Dino Farinacci, Dave Meyer, John Zwiebel, Stig Venaas IETF Dublin - July 2008.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 2 Module 9 Basic Router Troubleshooting.
LISP BOF, IETF Dublin, July, 2008 Vince Fuller (for the LISP crew) LISP+ALT Mapping System.
TCOM 515 IP Routing. Syllabus Objectives IP header IP addresses, classes and subnetting Routing tables Routing decisions Directly connected routes Static.
EID: RLOC: IRTF MobOpts – Quebec City July
RIPE Berlin – May, 2008 Vince Fuller (for Dino, Dave, Darrel, et al) LISP: Intro and Update
1 Internet Control Message Protocol (ICMP) Used to send error and control messages. It is a necessary part of the TCP/IP suite. It is above the IP module.
CCNA 2 Week 9 Router Troubleshooting. Copyright © 2005 University of Bolton Topics Routing Table Overview Network Testing Troubleshooting Router Issues.
LISP Deployment Scenarios Darrel Lewis and Margaret Wasserman IETF 76, Hiroshima, Japan.
IETF/IRTF Chicago - July 2007 Dino Farinacci Dave Meyer Vince Fuller Darrel Lewis LISP Implementation Report.
CS603 Fault Tolerance - Communication April 17, 2002.
More Distributed Garbage Collection DC4 Reference Listing Distributed Mark and Sweep Tracing in Groups.
LISP BOF Update draft-farinacci-lisp-08.txt Dino Farinacci, Dave Meyer, Vince Fuller, Darrel Lewis, Scott Brim, Dave Oran IETF Dublin - July 2008.
Making SIP NAT Friendly Jonathan Rosenberg dynamicsoft.
LISP-CONS A Mapping Database Service IETF/IRTF - July 2007 Dave Meyer Dino Farinacci Vince Fuller Darrel Lewis Scott Brim Noel Chiappa.
LISP Internet Groper (LIG) LISP Internet Groper (LIG) draft-farinacci-lisp-lig-01.txt Dino Farinacci, Vince Fuller, Darrel Lewis and David Meyer IETF Stockholm/Hiroshima.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 6: Static Routing Routing and Switching Essentials.
Separating Location from Identification Dino Farinacci March 3, 2008.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—1-1 BGP Overview Monitoring and Troubleshooting BGP.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
CCNA 2 Router and Routing Basics Module 8 TCP/IP Suite Error and Control Messages.
November 2008 LISP Implementation Team: Vince Fuller, Darrel Lewis, David Meyer, Dino Farinacci, Andrew Partan, John Zwiebel LISP: Practice and Experience.
IDR WG, IETF Dublin, August, 2008 Vince Fuller (for the LISP crew) LISP+ALT Mapping System.
LISP Implementation Report
IETF/IRTF Vancouver - December 2007
Draft-ermagan-lisp-nat-traversal-00 Vina Ermagan, Dino Farinacci, Darrel Lewis, Fabio Maino, Jesper Skriver, Chris White Presenter: Vina Ermagan IETF.
LISP BOF, IETF 72 Dublin, July, 2008 Darrel Lewis (for the LISP crew)
Routing and routing tables
Chapter 2: Static Routing
Chapter 6: Network Layer
Static Routing 1st semester
Internet Control Message Protocol
Static Routing 2nd semester
Computer Networks Protocols
Presentation transcript:

LISP Locator Reachability Algorithms Dino Farinacci, Dave Meyer, Darrel Lewis, Vince Fuller, Andrew Partan, Noel Chiappa IETF Stockholm LISP Working Group July 2009

RLOC Reach Algorithms July 2009 Slide 2 Agenda Problem Statement Observe Data Path Combinations Using TCP Heuristics –“TCP-counts” Using data-plane echoing –“echo-nonces” All in Unison? Implementation Report

RLOC Reach Algorithms July 2009 Slide 3 Problem Statement ITR A needs to know if RLOC B is reachable ITR A needs to know when it can switchover to B’ ITR A cannot depend on a B-prefix route to determine if RLOC B is reachable A’A’ A’A’ A A B’B’ B’B’ B B SD ?

RLOC Reach Algorithms July 2009 Slide 4 Problem Statement When ITR B sends to RLOC A, doesn’t mean that ITR A can reach RLOC B All you know is that RLOC B has not crashed but don’t know the forward-path from A -> B A’A’ A’A’ A A B’B’ B’B’ B B SD ?

RLOC Reach Algorithms July 2009 Slide 5 Problem Statement Loc-reach-bits from ITR B to RLOC A just tells A that RLOC B’ is not down Does not tell you that path from ITR A to RLOC B’ is reachable A’A’ A’A’ A A B’B’ B’B’ B B SD 0x

RLOC Reach Algorithms July 2009 Slide 6 Solution Space Have each ITR probe each ETR for every map-cache entry –Can be done with control messaging –Can be piggybacked with data Use deep-packet-inspection heuristics Can’t use a database for up/down status –Reachability is relative to the source –Up/down status only useful when ETR is down –Up status tells you can test the path Send and pray –Use ICMP Unreachables to tell you path down status –But there is no ICMP mechanism to tell you when back up

RLOC Reach Algorithms July 2009 Slide 7 Dilemma Need to detect quickly when RLOC is down –So you can switchover fast Need to have recent up status for an RLOC –So you can switch to a working path Existence of a route to RLOC doesn’t give you up status –Must use a keepalive mechanism –Should have up status for using RLOC “N times M” control messaging doesn’t scale –Especially if you want to switchover fast –Tradeoff message overhead versus fast convergence

RLOC Reach Algorithms July 2009 Slide 8 Possible Data Paths Totally symmetric –ITR A and B see each other as up due to receipt of data –They could use piggyback keepalives to determine forward- path is up –But if there is no site-sourced data offered to ITRs they have to take a leap of faith the forward-path is up A’A’ A’A’ A A B’B’ B’B’ B B SD

RLOC Reach Algorithms July 2009 Slide 9 Possible Data Paths Source symmetric A’A’ A’A’ A A B’B’ B’B’ B B SD A’A’ A’A’ A A B’B’ B’B’ B B SD Return path symmetric Same case - ITR sends to one RLOC but may only receive from other RLOC

RLOC Reach Algorithms July 2009 Slide 10 Possible Data Paths Totally asymmetric - “the square” –Each xTR only has send *or* receive information –xTRs at a site don’t synchronize state –Piggyback keepalives can’t work –ITR A could request an echo in data-plane but B must reply with a control message –ITR A would have to keepalive with control message to B’ and B’ would reply with a control message A’A’ A’A’ A A B’B’ B’B’ B B SD

RLOC Reach Algorithms July 2009 Slide 11 DPI Mechanism - “TCP-counts” Use a TCP connection setup heuristic –Specifically design for “the square” –ITRs count SYNs-sent and ACKs-sent for all connections –If ACKs are being sent, the return path from B’ to A’ is working *and* therefore path from A to B is working –If SYNs are sent but no ACKs then there is no return traffic –But A -> B could be working when B -> D, D -> B’, B’ -> A’, or A’ -> S is broken, in this case A should not switchover to B’ –This mechanism gives you path up status but not good down status A’A’ A’A’ A A B’B’ B’B’ B B SD SYN SYN/ACK ACK SYN SYN/ACK ACK

RLOC Reach Algorithms July 2009 Slide 12 Piggybacking - Echo Nonce Nonce in data packet –ITR requests ETR to echo nonce back –Request sets E-bit in data packet –Echo from ETR contains ITR’s nonce with E-bit clear –Tests if forward-path is up –Only works when symmetric (bidirectional traffic) between RLOC pairs –Detect down status via timeout of echo-nonce –Can be quicker convergence than control message keepalive as long as data is sent from ITR to ETR A’A’ A’A’ A A B’B’ B’B’ B B SD E=1, nonce: 0x E=0, nonce: 0x

RLOC Reach Algorithms July 2009 Slide 13 LISP Header Format Documented in draft-ietf-lisp-03.txt Piggybacking - Echo Nonce

RLOC Reach Algorithms July 2009 Slide 14 Implementation - “TCP-counts” Cost in memory –2 integers per RLOC per map-cache entry Data-plane counts syns-sent and acks-sent during ITR encapsulation –Unilateral algorithm Every minute control-plane looks at counts –(!loc->syns_sent && !loc->acks_sent) -> RLOC is idle, leave in up state –(!loc->syns_sent && loc->acks_sent) -> RLOC is up, leave in up state –(loc->syns_sent && loc->acks_sent) -> RLOC is up, leave in up state –(loc->syns_sent && !loc->acks_sent) -> RLOC went down, take down If down, bring up if packet received –Not square data path anymore If down, after 3 minutes, bring back up to start counting

RLOC Reach Algorithms July 2009 Slide 15 Implementation - Echo Nonce Cost in memory –6 integers per RLOC per map-cache entry –ITR to ETR direction (ETR is echoing) (1) Next echo-nonce request to send (2) Last remote echo-nonce received (3) Packets receive count while in echo-nonce request state (4) Timestamp when first entering echo-nonce request state –ETR to ITR direction (ITR is echoing) (5) Last remote echo-nonce request received (6) Next echo-nonce to send

RLOC Reach Algorithms July 2009 Slide 16 Implementation - Echo Nonce Handle collision –Both sides could be in echo-nonce request state at the same time –They would never echo each other 2 mechanisms to avoid collision: –Use RLOC addressing as tiebreaker Force higher RLOC address to be in echo-nonce request state After lower RLOC address echos can enter echo-nonce request state –Use nanosecond clock Odd you keep requesting Even you start echoing

RLOC Reach Algorithms July 2009 Slide 17 Every minute enter echo-nonce request state if data received in last minute –Exit when nonce is echoed or one minute has elapsed, former stays up, later take down –If no packets received keep up –Wait for arrival of 10 packets (within the minute interval) before checking if nonce was echoed If nonce sent in request does not match any echoed nonces, take RLOC down When down for 3 minutes, bring up and enter echo- nonce request state If down and receive packet, bring up and enter echo- nonce request state Implementation - Echo Nonce

RLOC Reach Algorithms July 2009 Slide 18 When receiving an echo-nonce request –Within 15 seconds return echo for nonce –Continue returning echo up to 1 minute –Accept request regardless if RLOC is up or down Some good news –Implementation doesn’t do source RLOC lookup in data-plane –Part of statistics processing allows echo-nonce state to be conveyed from data-plane to control-plane Some bad news –Easy to explain at protocol level –Hard to implement due to a lot of control-plane/data-plane interaction Implementation - Echo Nonce

RLOC Reach Algorithms July 2009 Slide 19 All in Unison? Echo-nonce doesn’t make you depend on TCP TCP-counts can help echo-nonce with the asymmetric data paths When one says down and the other says up, keep RLOC up When both say down, take RLOC down even when loc- reach-bits say up - because path is down When loc-reach-bits say down, take RLOC down Conclusion –Loc-reach-bits tell you when hard failure is close to RLOC –Echo-nonce and tcp-counts tell you about path failure

RLOC Reach Algorithms July 2009 Slide 20 Unidirectional Data? When unidirectional data occurs among sites (to one or more ETRs) –ITRs can’t tell if forward-path is up –Echo noncing won’t work –TCP-counts won’t work ITR must send a Map-Request to the RLOC –Used as a control message keepalive –Don’t spec this yet - maintain resistance This will be the default scenario for PTRs –Since it only encapsulates data packets When all priority 1 RLOCs are down and using priority 2 RLOCs –Can send Map-Request to priority 1 RLOCs to test path before using them –Make-before-Break at the expense of control message overhead –Don’t spec this yet - maintain resistance

RLOC Reach Algorithms July 2009 Slide 21 Summary The urge to get this 100% right will cause scalability problems –Resist the urge Will the imperfection will be okay? –We are solving most of the problem With active-active multi-homing life is good –We’ll have symmetric paths A’A’ A’A’ A A B’B’ B’B’ B B SD

RLOC Reach Algorithms July 2009 Slide 22 How to Configure Defaults to neither enabled lisp loc-reach-algorithm {echo-nonce | count-tcp} Debug command debug lisp loc-reach-algorithm Show command show {ip | ipv6} lisp map-cache Supported in release dino-lisp-126

RLOC Reach Algorithms July 2009 Slide 23 Sample Output TCP-counts SYN and ACK counters /16, uptime: 00:06:09, expires: , via static State: complete, last modified: 00:06:09, map-source: local Locator Uptime State Priority/Weight Packets In/Out :06:09 up 1/50 16/17 Last up/down state change: 00:06:09 Last data packet in/out: 00:01:08/00:01:08 Last control packet in/out: never/never Last priority/weight change: never/never TCP-counts loc-reach algorithm: SYNs sent: 9, ACKs sent: :06:09 up 1/50 0/0 Last up/down state change: 00:06:09 Last data packet in/out: never/never Last control packet in/out: never/never Last priority/weight change: never/never TCP-counts loc-reach algorithm: SYNs sent: 2, ACKs sent: 0 RLOC staying up RLOC going down

RLOC Reach Algorithms July 2009 Slide 24 Sample Output When in echo-nonce request state /16, uptime: 00:44:49, expires: , via static State: complete, last modified: 00:44:49, map-source: local Locator Uptime State Priority/Weight Packets In/Out :44:49 up 1/50 0/0 Last state change: 00:44:49 Last data packet in/out: never/never Last control packet in/out: never/never Last priority/weight change: never/never Echo-nonce loc-reach algorithm: Next request nonce to RLOC: 0x0049d55c Last echoed nonce from RLOC: 0x Packets from RLOC in echo-nonce request state: 0 Last request nonce from RLOC: 0x Next echo nonce to RLOC: 0x :44:49 up 2/50 0/0 Last state change: 00:44:49 Last data packet in/out: never/never Last control packet in/out: never/never Last priority/weight change: never/never Echo-nonce loc-reach algorithm: Next request nonce to RLOC: 0x0049fb90 Last echoed nonce from RLOC: 0x Packets from RLOC in echo-nonce request state: 0 Last request nonce from RLOC: 0x Next echo nonce to RLOC: 0x

RLOC Reach Algorithms July 2009 Slide 25 Sample Output When echoing a nonce /16, uptime: 00:56:05, expires: , via static State: complete, last modified: 00:56:05, map-source: local Locator Uptime State Priority/Weight Packets In/Out :56:05 up 1/50 1/2 Last state change: 00:56:05 Last data packet in/out: 00:00:03/00:00:03 Last control packet in/out: never/never Last priority/weight change: never/never Echo-nonce loc-reach algorithm: Next request nonce to RLOC: 0x0049d55c Last echoed nonce from RLOC: 0x Packets from RLOC in echo-nonce request state: 1 Last request nonce from RLOC: 0x00f7aa95 Next echo nonce to RLOC: 0x00f7aa :56:05 up 2/50 0/0 Last state change: 00:56:05 Last data packet in/out: never/never Last control packet in/out: never/never Last priority/weight change: never/never Echo-nonce loc-reach algorithm: Next request nonce to RLOC: 0x0049fb90 Last echoed nonce from RLOC: 0x Packets from RLOC in echo-nonce request state: 0 Last request nonce from RLOC: 0x Next echo nonce to RLOC: 0x

RLOC Reach Algorithms July 2009 Slide 26 Big Question Can control message probing scale? Stay tuned

RLOC Reach Algorithms July 2009 Slide 27