An Introduction to the Identifier-Locator Network Protocol (ILNP)
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 1
Presented by Joel Halpern Material prepared by Saleem N. Bhatti & Ran Atkinson https://ilnp.cs.st-andrews.ac.uk/
An Introduction to the Identifier-Locator Network Protocol (ILNP) - - PowerPoint PPT Presentation
An Introduction to the Identifier-Locator Network Protocol (ILNP) Presented by Joel Halpern Material prepared by Saleem N. Bhatti & Ran Atkinson https://ilnp.cs.st-andrews.ac.uk/ IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 1
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 1
Presented by Joel Halpern Material prepared by Saleem N. Bhatti & Ran Atkinson https://ilnp.cs.st-andrews.ac.uk/
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 2
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 3
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 4
Identifiers should be assigned at birth, never change, and never be re-used. Locators should describe the host's position in the network's topology, and should change whenever the topology changes. Unfortunately neither of the these ideals are met by IPv4 addresses.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 5
We recommended ILNP because we find it to be a clean solution for the architecture. It separates location from identity in a clear, straightforward way that is consistent with the remainder of the Internet architecture and makes both first-class citizens. Unlike the many map-and-encap proposals, there are no complications due to tunneling, indirection, or semantics that shift over the lifetime of a packet's delivery.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 6
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 7
Internet Protocol.
realising the ILNP architectural concepts in the existing Internet Protocol.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 8
saleem@ilnp-test-07:~$ ifconfig eno1 eno1 Link encap:Ethernet HWaddr fc:aa:14:0a:96:5f inet addr:138.251.30.207 Bcast:138.251.30.255 Mask:255.255.255.192 inet6 addr: 2001:630:35::207/64 Scope:Global inet6 addr: fe80::feaa:14ff:fe0a:965f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1262690 errors:0 dropped:0 overruns:0 frame:0 TX packets:1649118 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:458358209 (458.3 MB) TX bytes:339948777 (339.9 MB) Interrupt:20 Memory:f7800000-f7820000 saleem@ilnp-test-07:~$
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 9
IP addresses tied to a single interface.
ILNP FQDN
(RFC1958)
(Node) Identifier
(+ port number)
Locator
(dynamic mapping) Separation J FQDN = fully qualified domain name
Protocol Layer IP Application FQDN or IP address Transport IP address
(+ port number)
Network IP address (Interface) IP address
Entanglement L
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 10
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 11
(same as today's network prefix).
name an interface.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 12
IPsec, site-controlled traffic engineering, etc.
mobility at the network level (example later).
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 13
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 14
NID NID L L
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 15
Application Transport session IP subnetwork Physical interface IP address Application Transport session IP subnetwork Physical interface NID L
IP – fixed lower layer bindings ILNP – dynamic lower layer bindings
fixed binding dynamic binding
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 16
https://ilnp.cs.st-andrews.ac.uk/
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 17
IPv6 address (as in RFC3587 + RFC4291): | 3 | 45 bits | 8/16 bits | 64 bits | +---+---------------------+-----------+----------------------------+ | Unicast Routing Prefix | Interface Identifier | +---+---------------------+-----------+----------------------------+ ILNPv6 I-L vector (as in RFC6741): | 64 bits | 64 bits | +---+---------------------+-----------+----------------------------+ | Locator | Node Identifier (NID) | +---+---------------------+-----------+----------------------------+
same syntax and semantics as IPv6 routing (address) prefix, so IPv6 core routers work as today IPv6 routing (address) prefix same syntax, different semantics these bits only examined and acted upon by end systems
Encoding of L64 and NID values into IPv6 packets
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 18
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 19
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 20
sockets(2) is today in many cases.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 21
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 22
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 23
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 24
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 25
R1 CN site network L3 R3 site network L2 R2 (HA) R Router MN Mobile Node CN Correspondent Node HA Home Agent MN MN MN Emulated WAN Delay Emulated WAN Delay
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 26
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 27 100 200 300 400 500 600 MIPv6 without RO MIPv6 with RO ILNPv6 hard ILNPv6 soft Packet loss (packets) Packet loss of the TCP flow, LAN to LAN handoff 100 200 300 400 500 600 MIPv6 without RO MIPv6 with RO ILNPv6 hard ILNPv6 soft Packet loss (packets) Packet loss of the TCP flow, LAN to WAN handoff 100 200 300 400 500 600 MIPv6 without RO MIPv6 with RO ILNPv6 hard ILNPv6 soft Packet loss (packets) Packet loss of the TCP flow, WAN to LAN handoff 100 200 300 400 500 600 MIPv6 without RO MIPv6 with RO ILNPv6 hard ILNPv6 soft Packet loss (packets) Packet loss of the TCP flow, WAN to WAN handoff
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 28 100 200 300 400 500 600 MIPv6 without RO MIPv6 with RO ILNPv6 hard ILNPv6 soft Number of retransmission (times) The number of retransmission of the TCP flow, LAN to LAN handoff 100 200 300 400 500 600 MIPv6 without RO MIPv6 with RO ILNPv6 hard ILNPv6 soft Number of retransmission (times) The number of retransmission of the TCP flow, LAN to WAN handoff 100 200 300 400 500 600 MIPv6 without RO MIPv6 with RO ILNPv6 hard ILNPv6 soft Number of retransmission (times) The number of retransmission of the TCP flow, WAN to LAN handoff 100 200 300 400 500 600 MIPv6 without RO MIPv6 with RO ILNPv6 hard ILNPv6 soft Number of retransmission (times) The number of retransmission of the TCP flow, WAN to WAN handoff
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 29
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 30
naming across layered system, enabling:
engineering – backwards compatible:
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 31
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 32
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 33
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 34
A = IP address P = port number At X: <TCP: AX, PX, AY, PY> <IP: AX, AY> At Y: <TCP: AY, PY, AX, PX> <IP: AY, AX> X Y Internet L = Locator I = (Node) Identifier P = port number At X: <TCP: IX, PX, IY, PY> <IP: LX, LY> At Y: <TCP: IY, PY, IX, PX> <IP: LY, LX>
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Hdr | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Source IPv6 Address + | | +-
| | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Destination IPv6 Address + | | +-
| | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 35
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Hdr | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Source Locator + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Source Identifier + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Destination Locator + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Destination Identifier + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 36
to another
(prefix) L1, use locator (prefix) L2
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 37 X
L2
X
L1
X
L2
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 38
X Y <IP: L1, LY> <IP: LY, L1> <IP: L2, LY>
locator change triggered
LU (L2) <IP: LY, L2> LU-ACK (L2) Hard handoff (similar to Binding Update for Mobile IPv6) (new L values can be learned from IPv6 router advertisements) potential packet loss
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 39 X
L2
X
L1 L2
X
L1
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 40
X Y <IP: L1, LY> <IP: LY, L1> <IP: L1, LY> <IP: L2, LY>
locator change triggered
LU (L2) <IP: LY, L2> <IP: L2, LY> LU-ACK (L2) Soft handoff (new L values can be learned from IPv6 router advertisements)
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 41
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 42
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 43
host, the IPv6 host will drop the ILNPv6 packet (due to the unrecognized Nonce Destination Option) and (per existing IPv6 specs) send an ICMPv6 message back.
communicate with that IPv6-only host.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 44
hosts on a single /64.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 45
Interface ID also MAY be used to generate an ILNP NID.
required (e.g. for privacy).
IPv6 privacy algorithms and mechanisms. Please also see:
Generation Mechanisms”, RFC-7721, March 2016.
RFC-8065, February 2017
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 46
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 47
More details in:
“Secure & Agile Wide-Area Virtual Machine Mobility”, IEEE MILCOM 2012, Oct 2012 http://dx.doi.org/10.1109/MILCOM.2012.6415716
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 48
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 49
and are hard to deploy, so not the answer here.
subnetwork/routing prefix.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 50
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 51
currently have smaller MAC address tables.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 52
including Cisco, Extreme, Force10, Juniper, HP ...
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 53
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 54
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 55
services without requiring specialised networking features (e.g. no need for large flat networks).
continents) across different routed IP networks, in addition to enabling local-area VM mobility (e.g. within a datacentre).
applications, services, and other capabilities.
that maximise resilience, fault-tolerance, and scalability.
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 56
Mobile IPv6
layer session, so IPsec can be used end-to-end during migration of a VM
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 57
guest VM instances (e.g. via ILNP-aware NAT/NAPT).
application-layer protocol
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 58
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 59
SBR1 [I1, LL ] external link 1, L1 Internet CN [ICN, LCN ] == ACN H1 site network LL A address (IP address) CN correspondent node H host I identifier L locator SBR site border router
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 60
hides changes to Locator values within the site network from the CN.
SBR1 [IV , LL ] external link 1, L1 Internet CN [ICN, LCN ] == ACN H1 site network LL A address (IP address) CN correspondent node H host I identifier L locator V virtual machine image V : (1) [IV , LL ] H2 V : (2)
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 61
SBR1 [IV , LL1 ] external link 1, L1 Internet CN [ICN, LCN ] == ACN H1 site network LL1 A address (IP address) CN correspondent node H host I identifier L locator V virtual machine image Logical inter-router link V : SBR2 external link 2, L2 site network LL2 [IV , LL2 ] H2 V : (1) (2)
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 62
SBR1 [IV , L1 ] external link 1, L1 Internet H1 site network L1 V : SBR2 external link 2, L2 site network L2 [IV , L2 ] H2 V : CN [ICN, LCN ] (1) (2)
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 63
A address (IP address) CN correspondent node H host I identifier L locator V virtual machine image Logical inter-host link
SBR1 [IW , L1 ] external link 1, L1 Internet H1 site network L1 VW : SBR2 external link 2, L2 site network L2 [IX , L2 ] H2 VX : site network L4 [IZ , L4 ] H4 VZ : SBR4 site network L3 [IY , L3 ] H3 VY : SBR3 external link 4, L4 external link 3, L3
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 64
A address (IP address) CN correspondent node H host I identifier L locator V virtual machine image
support
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 65
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 66
IETF102, Montreal, CA. (C) Saleem Bhatti, 21 June 2018. 67