LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 I MPLEMENTATION S TATUS ❍ Distr is freely available from ftp://ftp.eecs.tufts.edu/pub/distr ❍ revision: 2.0.0Alpha (not satisfied with specifications) ❍ handles UNIX files and links (directories easy given time) ❍ considering supporting NT Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 21 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 S CALABLE D ISTRIBUTION A LLOWS ❍ scalable mistakes that disable networks very efficiently ❒ network storms ❒ rapid propogation of human errors ❍ scalable vulnerability to attack ❒ cracking master cracks slaves ❒ can be used for denial-of-service Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 20 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 A T W HAT C OST ? ❍ must create configurations for each kind of host and domain ❍ must manually configure a distribution topology for scalable use ❍ must bootstrap by distributing configuration files and Perl-5, perhaps with RDIST:) Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 19 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 I LLUSION AND R EALITY ✗ illusion: PGP signing provides security ✔ reality: susceptible to replay attacks. ✗ illusion: difficult to write configurations ✔ reality: one basic file per host type ✗ illusion: it’d be easy to auto-configure ✔ reality: very hard problem Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 18 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 U NDERSTANDING I MPORT S CALABILITY import requests c b p e i k f d j a o h l n g responses Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 17 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 I MPLEMENTING S CALABILITY ❍ import.afterSuccess = sub { &some(’export.initiate’); }; clients = [’foo’,’bar’]; follows each successful import with an export! ❍ export.before = sub { &some(’import.initiate’); }; servers = [’foo’,’bar’]; queries servers for the correct versions before exporting to others! Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 16 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 S CALABILITY if you told two friends, and they told two friends... intermediaries c b p e i k f d j a o h l n g slaves master server Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 15 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 S IMPLE H ACKS ❍ import.authentic = \&PGPauthentic; signers = [’Alva L. Couch’]; authenticates each file against detached PGP signature file.sig ❍ import.before = sub { my $file = &some(’import.file’); system(”/usr/bin/ci -m ’distr’ \ $file >/dev/null 2>&1”)/256==0; }; implements local pre-distribution archiving. ❍ can be limited to specific cases by naming! Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 14 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 L OCAL C USTOMIZATION import = sub { # oversimplified to fit! if (&some(’import.authentic’)) { if (&some(’import.before’)) { if (&some(’import.method’)) { &some(’import.afterSuccess’); } else { &some(’import.afterFailure’); }} actually does the import } else { &some(’import.afterDenial’); } }; user ‘hooks’ Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 13 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 U SING D ISTR ❍ distr -scopes mail.sendmail \ -tags export calls distr on a master host to distribute files to a slave host ❍ distr -scopes mail.sendmail \ -tags import calls distr on a slave host to request a file from a master host. Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 12 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 D ISTR ’ S P ROTOCOL client initiates request mail.sendmail.aliases.export.file mail.sendmail.aliases.export.initiate {’success ’ {’tag’ => ’import’, ’scope’ => => ...} ’mail.sendmail.aliases’, {’error’ ’file’ => <embedded file> } => ...} mail.sendmail.aliases.import mail.sendmail.aliases.import.file server responds to request Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 11 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 P ARAMETER -P ASSING ❍ foo.import.file = ’/foo’; is used by method foo.import ❍ bar.import.file = ’/bar’; is used by method bar.import ❍ both these methods are aliases for plain import (through inheritance)! Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 10 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 I NHERITANCE ❍ scope : ‘where’ you are, e.g., mail.sendmail.aliases ❒ ❍ tag : ‘what’ you want, e.g., import ❍ use the first definition you find in the list: ❒ mail.sendmail.aliases.import ❒ mail.sendmail.import ❒ mail.import ❒ import ❍ Perl syntax: &some(’import’) Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 9 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 D ISTR C ONFIGURATION mail.sendmail.aliases { import.file = ’/usr/lib/aliases’; import.afterSuccess = sub { system(”/usr/lib/newaliases \ >/dev/null 2>&1”)/256==0; }; } ❍ attributes can be arbitrary Perl-5 scalars , including function references ❍ missing details ‘filled in’ with inheritance Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 8 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 W HAT ’ S IN A N AME ? ❍ mail.sendmail.aliases is the name of a (distributed) object ❍ mail.sendmail.aliases.import.file = ’/usr/lib/aliases’; specifies the target file . ❍ mail.sendmail.aliases.import is the method for importing that file Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 7 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 D ISTR ❍ hosts are both servers and clients ❒ server distrd : reacts to requests ❒ client distr : makes requests ❍ hosts can be both masters and slaves ❒ master : provider of information ❒ slave : consumer of information ❍ bidirectional : master or slave initiates. ❍ slave machines must agree to updates! Masters can’t force slaves to comply! Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 6 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 T YPICAL A PPROACH (R DIST ) mail:/usr/lib/aliases->(slave) install /etc/mail/aliases special ”/usr/sbin/newaliases” ❍ requires a master server ❍ unidirectional : master-to-slave ❍ platform-specific ❍ master needs root privileges on slave ❍ this doesn’t exactly encourage cooperation between admins! Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 5 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 F ILE D ISTRIBUTION AND H ETEROGENEITY server: provides file /usr/lib/aliases master: may have: distribute: ✔ transmit ✔ archive ✔ different name ✔ transform ✔ journal ✔ different format ✔ authenticate ✔ rollback ✔ different actions /etc/mail/aliases client: receives file: slave: executes: /usr/sbin/newaliases Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 4 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 A N ‘A NARCHIST ’ V IEW ❍ replace a venerable and very mature tool (with a very young and strange one)! ❍ violate (almost all) software engineering and programming language principles! ❍ develop configuration maintenance architecture from the bottom up ! ❍ redefine what is meant by ‘distribution’ (and perhaps even ‘scalable’) Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 3 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 T O GET ALONG , WE NEED : ❍ a common language for referring to things and actions ❍ the ability to interpret that language to make changes for the common good ❍ the ability to limit changes to those agreed upon by both parties Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 2 of 21
LISA-97 Chaos out of Order -or- An Anarchists’ Guide Oct 31, 1997 C HAOS OUT OF O RDER : A S IMPLE , S CALABLE F ILE D ISTRIBUTION F ACILITY FOR “I NTENTIONALLY H ETEROGENEOUS ” N ETWORKS - OR - A N A NARCHISTS ’ G UIDE TO H ETEROGENEOUS N ETWORK C ONFIGURATION M ANAGEMENT Alva L. Couch Assoc. Prof. of EECS, Tufts University Email: couch@eecs.tufts.edu Web: http://www.cs.tufts.edu/~couch/ Alva L. Couch couch@eecs.tufts.edu, http://www.eecs.tufts.edu/~couch Page 1 of 21
Recommend
More recommend