Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
ILNPv6: enabling new functionality in IPv6 applications
1. ILNPv6: enabling new
functionality in IPv6
applications
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 1
Saleem Bhatti
University of St Andrews, UK
https://ilnp.cs.st-andrews.ac.uk
2. Quick introduction to ILNP
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 2
3. Experimental RFCs (IRTF)
• RFC6740 – RFC6748
• Superset of IPv6:
• RFC6740/1/2/3/4
• (Also extensions to IPv4.)
• Much experimental work at St Andrews:
• https://ilnp.cs.st-andrews.ac.uk
• Code release on Linux getting ever closer J
• (FreeBSD code also in progress.)
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 3
4. Naming Architecture: IP vs ILNP
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
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 4
5. ILNPv6 – Locators and Identifiers
• Locator, 64 bits, L64:
• Topologically significant.
• Names a (sub)network (same as today's network
prefix).
• Used only for routing and forwarding in the core.
• (Node) Identifier, 64 bits, NID:
• Is not topologically significant.
• Names a logical/virtual/physical node, does not
name an interface.
• Upper layer protocols bind only to Identifier.
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 5
6. ILNPv6: L64 Properties
• L64 names an IP Subnetwork.
• L64 is equivalent to an IPv6 Routing Prefix.
• Nodes can change their Locator values
during the lifetime of an ILNP session:
• Enables mobility, multi-homing, NAT, end-to-end
IPsec, site-controlled traffic engineering, etc.
• Multiple Locators can be used
simultaneously:
• Enables network-level soft-handoff for seamless
mobility at the network level, i.e. vertical handoff.
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 6
7. IPv6 addresses and ILNPv6 I-L vectors
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
encode L64 and NID values into IPv6 packets
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 7
8. ILNPv6 challenges
• Backwards compatibility:
• Works on existing network deployments.
• “On the wire” compatibility with IPv6.
• Allows legacy (IPv6) applications to work.
• Works with current C sockets API.
• Incremental deployment:
• End-to-end protocol, deploy as needed.
• Only upgrade the hosts that need to use ILNPv6.
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 8
9. ILNPv6 mobility
for non-mobile aware
IPv6 applications
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 9
10. Performance evaluation
• “IP without IP addresses”, AINTEC 2016
http://dx.doi.org/10.1145/3012695.3012701
ACM Digital Library, Open Access
• ILNPv6 used with unmodified IPv6 binaries:
• without recompilation.
• standard C sockets API.
• User (data) plane performance with TCP:
• hard-handoff and soft-handoff.
• Comparison with Mobile IPv6 (w/ and w/o RO).
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 10
11. Testbed [1]
• Linux kernel v3.9:
• TCP CUBIC, Linux default.
• In-kernel modifications:
• TCP state management (use NIDs).
• IP-level changes for L64 / NID.
• Locator Update (LU) processing.
• Mobility / handoff processing.
• Use of standard iperf2 binary for TCP flows.
• Use of netem for adding delay.
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 11
12. Testbed [2]
R1CN
site
network L3
R3
site
network L2
R2 (HA)
R Router
MN Mobile Node
CN Correspondent Node
HA Home Agent
MN
MN
MNEmulated
WAN Delay
Emulated
WAN Delay
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 12
13. Results – loss (due to handoff)
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 13
0
100
200
300
400
500
600
MIPv6
without RO
MIPv6
with RO
ILNPv6
hard
ILNPv6
soft
Packetloss(packets)
Packet loss of the TCP flow,
LAN to LAN handoff
0
100
200
300
400
500
600
MIPv6
without RO
MIPv6
with RO
ILNPv6
hard
ILNPv6
soft
Packetloss(packets)
Packet loss of the TCP flow,
LAN to WAN handoff
0
100
200
300
400
500
600
MIPv6
without RO
MIPv6
with RO
ILNPv6
hard
ILNPv6
soft
Packetloss(packets)
Packet loss of the TCP flow,
WAN to LAN handoff
0
100
200
300
400
500
600
MIPv6
without RO
MIPv6
with RO
ILNPv6
hard
ILNPv6
soft
Packetloss(packets)
Packet loss of the TCP flow,
WAN to WAN handoff
14. Results – re-tx (due to handoff)
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 14
0
100
200
300
400
500
600
MIPv6
without RO
MIPv6
with RO
ILNPv6
hard
ILNPv6
soft
Numberofretransmission(times)
The number of retransmission of the TCP flow,
LAN to LAN handoff
0
100
200
300
400
500
600
MIPv6
without RO
MIPv6
with RO
ILNPv6
hard
ILNPv6
soft
Numberofretransmission(times)
The number of retransmission of the TCP flow,
LAN to WAN handoff
0
100
200
300
400
500
600
MIPv6
without RO
MIPv6
with RO
ILNPv6
hard
ILNPv6
soft
Numberofretransmission(times)
The number of retransmission of the TCP flow,
WAN to LAN handoff
0
100
200
300
400
500
600
MIPv6
without RO
MIPv6
with RO
ILNPv6
hard
ILNPv6
soft
Numberofretransmission(times)
The number of retransmission of the TCP flow,
WAN to WAN handoff
15. Summary and Conclusions
• ILNPv6 implementation in Linux kernel v3.9:
• internal testbed at St Andrews.
• LAN links and emulated WAN links.
• ILNPv6 used unmodified IPv6 iperf2 binary.
• Compared ILNPv6 with MIPv6:
• ILNPv6 hard-handoff and soft-handoff.
• MIPv6 w/ and w/o RO.
• ILNPv6 has better performance than MIPv6 in terms of loss
and retransmission.
Networkshop46 (26-27 Mar 2018), Liverpool, UK. (C) Saleem Bhatti, 26 Mar 2018. 15