Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record...

16

Transcript of Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record...

Page 1: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives
Page 2: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

Zaid Ali Kahn Senior Director, Infrastructure Engineering

LinkedIn

IPv6@LinkedIn

Page 3: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

3

Why does IPv6 matter @LinkedIn?

IPv4 is running out

• IANA exhausted free /8 pool Feb 2011

• APNIC final /8

• ARIN free pool depleted

IPv6 performs better

• Strong data for mobile users

• Continued high growth with mobile carriers

Larger datacenters

• RFC1918 exhaustion

Page 4: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

4

LinkedIn IPv6 launch

Edge services Launched September 8th 2014

One year of work to transition

Multiple testing of site with real user traffic

Zero site outage

Page 5: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

IPv6-enable the edge

Internal elements stay IPv4

members can communicate over IPv6

app

front

end

user’s

browser

app

back

end

ATS

proxies

v6 to v4v6 v4 v4

IPv6 members

ATS initiates a new v4 connection to the application

Incoming v6 connection terminates here

Application’s v4 reply terminates here at ATS

ATS replies to user over v6

Page 6: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

6

0.00%

2.00%

4.00%

6.00%

8.00%

10.00%

12.00%

14.00%

Jul-14

Aug-1

4

Sep-1

4

Oct-

14

Nov-1

4

Dec-1

4

Jan-1

5

Feb-1

5

Mar-

15

Apr-

15

May-1

5

Jun-1

5

Jul-15

Aug-1

5

Sep-1

5

Oct-

15

Nov-1

5

Dec-1

5

Jan-1

6

Feb-1

6

Mar-

16

Apr-

16

May-1

6

Jun-1

6

Jul-16

Aug-1

6

Sep-1

6

Oct-

16

IPv6 growth at LinkedIn

Page 7: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

7

IPv6 global heatmap

Page 8: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

Most browsers support RUM

Navigation timing API

• Browsers record performance timers

for each payload.

Mobile end-end control

• Client/Server control gives full

visibility

• Light weight beacon

8

Deeper Measuring of IPv6RUM – Real User Monitoring

Page 9: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

9

Mobile Performance (USA)

15

26

17

3

0 25 50 75 100

ATT

SPRINT

T-Mobile

Verizon

Page 10: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

10

IPv6/IPv4 timeout

Higher network request time means higher TCP timeouts

yielding in higher page download load times.

IPv4 network request 4.6% timeout

IPv6 network request 1.6% timeout

Page 11: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

11

IPv6 inside the datacenter

Page 12: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

12

Datacenters RFC1918 /8 exhaustion

0

50

100

150

200

250

300

2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018

/16

Page 13: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

13

Plan/Key Steps

• Dual stack latest datacenter in Oregon (2016)

• Dual stack remaining datacenters (2016-2017)

• Application stack migrates to support IPv6

• New datacenters in 2017 IPv6 only

• Turn off IPv4 by 2018

Page 14: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

14

Future work

• IETF draft: draft-ali-ipv6rtr-reqs-00

• “Requirements for IPv6 Routers”

• YANG [RFC7223] [RFC7224] [RFC7277] [RFC7317]

• Netconf [RFC6241] / Restconf [I-D.ietf-netconf-restconf]• Zero Touch Provisioning [I-D.ietf-dhc-rfc3315bis]

• SLAAC [RFC7217] [RFC7527]

• Telemetry• Router handling of IPv6 addresses

• MTU/Jumbo Frames

• Active discussions, please join and contribute!

Page 15: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

15

Page 16: Zaid Ali Kahn - PTC · Most browsers support RUM Navigation timing API • Browsers record performance timers for each payload. Mobile end-end control • Client/Server control gives

©2014 LinkedIn Corporation. All Rights Reserved.