handle*with*care:* naming,*layering*and*caching* “broken ...€¦ · essential requirement as in...

39
University of St Andrews Computer Science Handle with Care: Naming, Layering and Caching “Broken” on the Internet 1 (c) Saleem BhaG, 20 Oct 2009 Saleem BhaG University of St Andrews hLp://www.cs.standrews.ac.uk/~saleem/

Upload: others

Post on 30-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Handle  with  Care:  Naming,  Layering  and  Caching  

“Broken”  on  the  Internet  

1  (c)  Saleem  BhaG,  20  Oct  2009  

Saleem  BhaG  University  of  St  Andrews  

hLp://www.cs.st-­‐andrews.ac.uk/~saleem/  

Page 2: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Outline  

•  Today’s  architecture:  – use  of  naming,  layering  and  caching  today.  

•  Problems:  –  the  way  that  n/l/c  are  (mis)used  today.  

•  Impact:  – why  this  is  “broken”  and  the  impact  it  will  have.  

•  No  soluUons  in  this  talk  …  only  quesUons!  

(c)  Saleem  BhaG,  20  Oct  2009   2  

Page 3: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Naming  

(c)  Saleem  BhaG,  20  Oct  2009   3  

Page 4: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Names  

•  My  definiUon  of  a  “name”:  A  set  of  bits  used  to  label  an  object.  The  seman5cs  of  the  name  are  defined  within  the  context  of  use  of  the  object  it  names.  

•  Examples:  –  protocol  name  -­‐  ‘hLp’  –  port  number  –  ‘80’  –  fully  qualified  domain  name  (FQDN)  -­‐  ‘marston.cs.st-­‐andrews.ac.uk’)  

–  IP  address  -­‐  ‘138.251.195.61’    

(c)  Saleem  BhaG,  20  Oct  2009   4  

Page 5: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

URI  [1]  

•  Human-­‐friendly  (?)  names  for  resources:  hLp://www.cs.st-­‐andrews.ac.uk/    hLp://138.251.206.45/    

•  ConvenUons:  hLps://marston.cs.st-­‐andrews.ac.uk/    

•  Protocol  usage  is  explicit  in  the  name,  e.g.:  hLp://www.cs.st-­‐andrews.ac.uk:443/    

(c)  Saleem  BhaG,  20  Oct  2009   5  

Page 6: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

URI  [2]  

•  URIs  can  get  very  complex:  hLp://www.amazon.co.uk/Very-­‐Hungry-­‐Caterpillar-­‐Board-­‐Book/dp/0241003008/ref=sr_1_1?ie=UTF8&s=books&qid=1256025842&sr=8-­‐1    

(c)  Saleem  BhaG,  20  Oct  2009   6  

Page 7: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Middleware  -­‐  CORBA  

•  CORBA  allows  naming  of  IORs:  corbaloc:iiop:[email protected]:3075/NameService  

•  CORBA  allows  naming  of  name  services:  corbaname:blob.glob.org:2809/NameService#x/y/z  

•  IP  addresses  can  also  be  used:  corbaname:10.12.14.16:2809/NameService#x/y/z  

•  NoUce  the  use  of  a  DNS  name  or  IP  address.  

(c)  Saleem  BhaG,  20  Oct  2009   7  

Page 8: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

User  programs  -­‐  Java  API  

•  TCP  Client:  Socket  skt  =  new  Socket("srv.blob.com",  1234);  

•  Can  also  use  an  IP  address:  Socket  skt  =  new  Socket("10.12.14.16",  1234);  

•  NoUce,  once  again,  the  use  of  either  a  DNS  name  or  an  IP  address.  

(c)  Saleem  BhaG,  20  Oct  2009   8  

Page 9: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Layering  –  names  for  networking  

•  FuncUons  required  for  object  names:  –  idenUty  –  locaUon  (“rouUng”,  e.g.  email,  p2p)  –  session  control  –  service  differenUaUon  

(c)  Saleem  BhaG,  20  Oct  2009   9  

Layer   Func+ons  

ApplicaUon   Service,  Session,  “RouUng”  (overlay),  IdenUty  

Transport   IdenUty  

Network   “RouUng”  (global),  LocaUon  

Phy/MAC   IdenUty  

Page 10: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Layering  

(c)  Saleem  BhaG,  20  Oct  2009   10  

Page 11: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Layers  for  architecture  

(c)  Saleem  BhaG,  20  Oct  2009   11  

A  applicaUon    N  network      logical  (peer-­‐to-­‐peer)  communicaUon  P  presentaUon    L  (data)  link      actual  end-­‐to-­‐end  message  path  S  session      Ph  physical  T  transport                PRM  protocol  reference  model  

N  

L  

Ph  

N  

L  

Ph  

N  

L  

Ph  

N  

L  

Ph  

A  

P  

S  

T  

N  

L  

Ph  

A  

P  

S  

T  

N  

L  

Ph  

Page 12: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Models  vs.  Reality  

(c)  Saleem  BhaG,  20  Oct  2009   12  

IP  

A  

P  

S  

T  

N  

L  

Ph  

LLC  

Ph  

MAC  

OSI   IEEE  

DNS  Domain  Name  Service          POP  Post  Office  Protocol  HTTP  HyperText  Transfer  Protocol        RTP  Real-­‐Ume  Transport  Protocol  FTP  File  Transfer  Protocol          SMTP  Simple  Mail  Transfer  Protocol  IP  Internet  Protocol          SNMP  Simple  Network  Management  Protocol  IEEE  InsUtute  of  Electrical  and  Electronic  Engineers      TCP  Transmission  Control  Protocol  LLC  Logical  Link  Control            UDP  User  Datagram  Protocol  MAC  Medium  Access  Control          VT  Virtual  Terminal  NFS  Network  File  System          XDR  eXternal  Data  RepresentaUon  OSI  Open  Systems  InterconnecUon  

UDP  TCP  

FTP  HTTP  

RTP  TELNET  

SMTP  POP   SNMP  DNS  

Internet  

VT  

XDR  

NFS  

Page 13: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Layering  

•  Split  complexity  of  large  problem  across  layers  •  Split  funcUonality  across  layers:  – bit  transmission  and  framing  (phy/MAC)  – global  rouUng  (network)  – end-­‐to-­‐end  communicaUon  (transport)  – session  control  and  service  control  (applicaUon)  

•  Layers  can  operate  independently:  – well-­‐defined  interfaces  between  layers  

•  End-­‐to-­‐end  capability  (c)  Saleem  BhaG,  20  Oct  2009   13  

Page 14: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Name/Object  bindings  

(c)  Saleem  BhaG,  20  Oct  2009   14  

IP  

TCP   UDP  

applicaUons  

Domain  Name  (DN)  

Fully  Qualified  Domain  Name  (FQDN)  (a  human  friendly  string)  or  IP  address  

port  numbers  +  IP  addresses  

(mulUple  services  or  applicaUons)  (16  bit  number)  

IP  address  

(32  bit  number  for  IPv4)  

A  FQDN  is  looked  up  in  a  global  directory  service  (the  Domain  Name  System)  and  a  corresponding  IP  address  is  found.  

Strictly  speaking,  an  IP  address  idenUfies  an  interface  on  a  host  (such  as  an  Ethernet  interface  or  wireless  LAN  interface)  and  not  the  host  itself.  

Page 15: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Interface  names  

(c)  Saleem  BhaG,  20  Oct  2009   15  

Page 16: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Layers  entangled  

(c)  Saleem  BhaG,  20  Oct  2009   16  

Layer   IP  

ApplicaUon   IP  address  or  FQDN  

Transport   IP  address  +  port  no.  

Network   IP  address  

(Interface)   IP  address  

This  is  a  serious  problem  …  

Page 17: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Example:  VM  mulU-­‐homing  

(c)  Saleem  BhaG,  20  Oct  2009   17  

A1,  P1  ?  

Internet  

ISP1  

ISP2  

A1  belongs  to  ISP1  or  ISP2  or  neither?  How  does  the  TCP  connecUon  idenUfy  itself?  (Today,  handled  through  some  hackery  and  proxies  …)  

Page 18: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Example:  VM  migraUon  (mobility)  

(c)  Saleem  BhaG,  20  Oct  2009   18  

A1,  P1  

Internet  

ISP1  

ISP2  

How  does  the  TCP  connecUon  (re-­‐)idenUfy  itself  at  the  new  locaUon?  (Today,  handled  through  some  hackery  and  proxies  …)  

A2,  P2?  

Page 19: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Problems  due  to  naming  today  

•  MulU-­‐homing  •  Mobility  

•  Localised  addressing:  – Network  Address  (Port)  TranslaUon  (NAT/NAPT)  – Network  ‘realms’  (administraUve  boundaries)  

•  Packet-­‐level,  end-­‐to-­‐end  security  •  …    

(c)  Saleem  BhaG,  20  Oct  2009   19  

Page 20: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

The  IP  address  is  “wrong”  [1]  

(c)  Saleem  BhaG,  20  Oct  2009   20  

RFC1958  (1996)  Architectural  Principles  of  the  Internet  hLp://www.ie{.org/rfc/rfc1958.txt    

The key to global connectivity is the inter-networking layer. The!key to exploiting this layer over diverse hardware providing global!connectivity is the "end to end argument".*!

*  J.  H.  Saltzer,  D.  P.  Reed,  D.  D.  Clarke  “End-­‐to-­‐end  arguments  in  system  design”  ACM  TransacUons  on  Computer  Systems  (TOCS)  archive  Volume  2  ,    Issue  4    (November  1984),  Pages:  277  –  288,    ISSN:0734-­‐2071  hLp://portal.acm.org/citaUon.cfm?id=357402    

Avoid any design that requires addresses to be hard coded or!stored on non-volatile storage (except of course where this is an!essential requirement as in a name server or configuration server).!In general, user applications should use names rather than addresses.!

Page 21: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

The  IP  address  is  “wrong”  [2]  

(c)  Saleem  BhaG,  20  Oct  2009   21  

RFC4984  (2007)  Report  from  the  IAB  Workshop  on  RouUng  and  Addressing  hLp://www.ie{.org/rfc/rfc4984.txt    

A refinement to Rekhter's Law, then, is that for the Internet routing!system to scale, an IP address must be assigned in such a way that it!is congruent with the Internet's topology. However, identifiers are!typically assigned based upon organizational (not topological)!structure and have stability as a desirable property, a "natural!incongruence" arises. As a result, it is difficult (if not!impossible) to make a single number space serve both purposes!efficiently.!

Following the logic of the previous paragraphs, workshop participants!concluded that the so-called "locator/identifier overload" of the IP!address semantics is one of the causes of the routing scalability!problem as we see today. Thus, a "split" seems necessary to scale!the routing system, although how to actually architect and implement!such a split was not explored in detail.!

Page 22: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Caching  

(c)  Saleem  BhaG,  20  Oct  2009   22  

Page 23: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Domain  Name  Service  

•  Distributed  name  resoluUon  service  •  Maps  Fully  Qualified  Domain  Names  (FQDNs)  to  DNS  records:  e.g.  FQDN  (www.cs.st-­‐andrews.ac.uk)  to  a  DNS  A  record  (IPv4  Address,  138.251.206.45),    

•  Also  provides  other  administraUve  data  for  specific  services  (a  simple  directory  service):  – Name  Servers  for  a  domain  (NS  records)  – Mail  servers  (MX  records)  –  Jabber  (and  other)  servers  (SRV  records)  – Other  record  types  are  possible  …  

(c)  Saleem  BhaG,  20  Oct  2009   23  

Page 24: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

DNS  System  Architecture  •  Globally  distributed  name  space  •  Globally  distributed  name  servers  each  holding  mappings  for  part  of  the  name  space  

•  TradiUonally,  read-­‐only  for  end  users  •  Enhancements  now  widely  available  to  enable  write  access  for  end  users:  – Secure  DNS  Dynamic  Update  (RFC-­‐3007)  

– DNS  Security  (RFC-­‐4033  to  4035)  also  useful    –  Implemented  in  BIND,  MS  Windows,  MS  Server  

(c)  Saleem  BhaG,  20  Oct  2009   24  

Page 25: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

DNS  Lookup  Sequence  

(c)  Saleem  BhaG,  20  Oct  2009   25  

H1.foo.com  

ns1.foo.com  

DNS  ROOT  Server  

DNS  Server  for  .COM  

ns1.bar.com  

www.bar.com  

(1)  “A”  query  for  www.bar.com  

(2)  “NS”  query  for  .COM  

(3)  “NS”  query  for  BAR.COM  

(4)“A”  query  for  WWW.BAR.COM  

(5)  “A”  response  for  www.bar.com  

(6)  data  using  addr  for  www.bar.com  

DNS  data  flow  app  data  flow  

Page 26: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Dynamic  write  access  to  DNS  

•  Write  access  is  now  available  for  end  users  •  There  is  a  temporal  caching  hierarchy  across  the  spaUal  distribuUon  of  names:  – Different  records  get  cached  for  different  periods  of  Ume,  e.g.  NS  records  and  A  records  

– Maximum  caching  Ume  defined  by  a  Time  To  Live  (TTL)  value  held  in  each  DNS  record.  

•  Could  these  two  features  be  exploited  in  some  sensible  ways?  

(c)  Saleem  BhaG,  20  Oct  2009   26  

Page 27: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

(Non-­‐)EffecUveness  of  DNS  caching  

•  Jung,  J.,  Sit,  E.,  Balakrishnan,  H.,  and  Morris,  R.  2002.  DNS  performance  and  the  effec5veness  of  caching.  IEEE/ACM  Trans.  on  Networking.  Vol.  10,  No.  5  (Oct.  2002),  pp.  589-­‐603.  

•  DNS  caching  is  ineffecUve  for  edge  sites:  –  trace-­‐driven  emulaUon  (no  experiments)  – A  records  could  have  low  TTL  (e.g.  below  1000s)  – such  low  TTL  would  have  low  impact  on  DNS  load  

(c)  Saleem  BhaG,  20  Oct  2009   27  

Page 28: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

DNS  experiments  at  StA  [1]  

•  Experiments  in  Q1/2008  •  Modify  TTL  values  of  records  in  operaUonal  DNS  server  at  School  of  CS,  St  Andrews  – 2  DNS  servers:      BIND  8.2.4  running  on  Linux  – ~400  DNS  clients:  BSD,  Linux,  Mac,  &  Windows  

•  TTL  values  for  successive  7-­‐day  periods  during  normal  semester:  – Changed  DNS  TTL  on  BIND  –   used  TTL  values  1800s,    60s,    30s  

(c)  Saleem  BhaG,  20  Oct  2009   28  

Page 29: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

DNS  experiments  at  StA  [2]  

•  Passive  collecUon  of  packets  via  port  mirror:  –  tcpdump(8)  targeUng    port  53  –  Captured  all  DNS  packets  

•  Results  shown  on  following  slides  are  for:  –   A  record  requests  for  servers  only  during  the  capture  period  

(relevant  to  ILNP,  and  less  ‘noisy’  data)  –  1  second  buckets  

•  Basic  staUsUcs:  –  on  Ume-­‐domain  data  

•  Spectral  analysis  (post-­‐pub  verificaUon  pending!):  –  examinaUon  of  request  rates  

•  Analysis:  home-­‐brew  scripts  using  NumPy  package  

(c)  Saleem  BhaG,  20  Oct  2009   29  

Page 30: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Basic  dataset  meta-­‐data  

(c)  Saleem  BhaG,  20  Oct  2009   30  

Data  set  name  

TTL  [s]  

Dura+on  [s]1  

Total  DNS  packets  captured2  

Number  of  A  record  requests  for  44  servers3  

dns1800   1800   604,740   9,841,469   303,442  

dns60   60   604,739   10,420,760   609,811  

dns30   30   604,800   10,979,131   911,537  

1  from  tcpdump  Umestamps,  rounded  to  nearest  second,  7  days  =  604,800  seconds  2  includes  all  request  and  response  packets  to/from  port  53  (TCP  and  UDP),  including  erroneous  requests  etc  3  servers  that  were  acUve  during  the  3  weeks  of  data  capture  

Page 31: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

dns1800:  A  record  requests  TTL=1800s  

(c)  Saleem  BhaG,  20  Oct  2009   31  

Mean:    0.5  request/s  Std  Dev:  1.17  requests/s  Max:  82  requests/s  

Page 32: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

dns60:  A  record  requests  TTL=60s  

(c)  Saleem  BhaG,  20  Oct  2009   32  

Mean:  1.01  request/s  Std  Dev:  1.29  requests/s  Max:  67  requests/s  

Page 33: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

dns30:  A  record  requests  TTL=30s  

(c)  Saleem  BhaG,  20  Oct  2009   33  

Mean:  1.51  request/s  Std  Dev:  1.54  requests/s  Max:  116  requests/s  

Page 34: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Summary  of  basic  staUsUcs  Data  set  name  

Mean    [request/s]  

Std  Dev  [requests/s]  

Maximum  [requests/s]  

dns1800   0.50   1.17   82  

dns60   1.01   1.29   67  

dns30   1.51   1.54   116  

(c)  Saleem  BhaG,  20  Oct  2009   34  

60  fold  drop  in  TTL  values  results  in  (only)  

3  fold  increase  in  A  record  requests  

Page 35: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

What  is  possible  if  DNS  TTL  were  zero?  •  Dynamic,  frequent,  &  authenUcated  DNS  updates  possible:  

–  Simulated  by  Pappas,  Hailes,  &  Giaffreda,  published  in  LCS  2002  –  Very  useful  for  mobility/mulU-­‐homing  

•  High-­‐speed  load  balancing  and  VM  mgmt  for  data  centres  •  Support  for  mobility  and  mulU-­‐homing:  

–  LocaUon  updates  give  changes  in  connecUvity  •  Help  defend  against  certain  network  aLacks:  

–  DNS  cache  poisoning  for  end-­‐sites  –  DDoS:  fast-­‐cycle  mulU-­‐homing  (i.e.  a  kind  of  “fast-­‐flux”  DNS  for  

defence  rather  than  aLack)  –  Others  possible  …  

•  PotenUal  for  edge-­‐site  based  mulU-­‐path  and  TE  control:  –  mulUple  Locator  values  and  DNS  L  record  preferences  

(c)  Saleem  BhaG,  20  Oct  2009   35  

Page 36: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Who  would  set  DNS  TTLs  so  low?  

•  Real  A  record  values  for  some  servers:  – TTL  =  60  seconds:    www.yahoo.com  

– TTL  =  20  seconds:  content  servers  in  akamai.net  – TTL  =  0  seconds:      www.cs.st-­‐andrews.ac.uk  

•  Note  that  a  site  would  NOT  set  low  TTLs  for:  –  Its  own  NS  records,  which  idenUfy  its  DNS  servers.  – The  A  records  related  to  its  NS  records.  – A  (mobile)  site  can  remote  some  or  all  of  its  authoritaUve  DNS  servers;  some  sites  do  so  today.  

(c)  Saleem  BhaG,  20  Oct  2009   36  

Page 37: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Ongoing  DNS  experiments  at  StA  

•  More  measurements  in  Q1/2009:  – Site  is  now  using  Microso�  AcUve  Directory  for  its  DNS  servers  

– Tuning  of  client-­‐side  OS  and  browser  caches  to  reduce  end-­‐system  caching  effects  on  DNS  data  

•  Q1/2009  experiments:  –   using  TTL  values  of  1800s,  60s,  30s,  15s,  0s  – ~250GB  of  data  collected  so  far  – analysis  in  progress  …  

(c)  Saleem  BhaG,  20  Oct  2009   37  

Page 38: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

OperaUonal  ConsideraUons  

•  Implied  semanUcs  of  TTL  value:  – gotcha:  some  systems  assume  that,  if  network  outage  Ume  >  TTL,  then  service  is  down  

•  PAM2003,  PAM2004,  NETTS2004  papers  by  Wessels  et  al.:  –  hLp://dns.measurement-­‐factory.com/wriUngs/  

•  In  fact,  the  main  site  has  some  very  interesUng  reading,  including:  –  hLp://dns.measurement-­‐factory.com/surveys/200810.html  

(c)  Saleem  BhaG,  20  Oct  2009   38  

Page 39: Handle*with*Care:* Naming,*Layering*and*Caching* “Broken ...€¦ · essential requirement as in a name server or configuration server).! In general, user applications should use

University  of  St  Andrews  Computer  Science  

Summary  and  Conclusion  •  Summary:  – Naming  has  become  ‘unUdy’,  lacking  clear  semanUcs  –  Layering  has  become  entangled  due  to  the  use  of  the  IP  address  in  many  different  layers  

–  Caching  is  not  as  effecUve  as  people  think  it  should  be  •  Conclusion:  – We  need  to  re-­‐think  our  approach  to  the  use  of  names  across  the  layers:  make  the  naming  cleaner  

–  Exploit  new  funcUonality  that  is  possible  through  a  cleaner  approach  to  naming  

(c)  Saleem  BhaG,  20  Oct  2009   39