jelmer vernooij - sambajelmer/samba-nllgg2009.pdf · i pc network program 1.0 i microsoft networks...
TRANSCRIPT
Protocollen Samba Samba Versies “Franky”
Samba Franky
Jelmer Vernooij
Samba Team
June 7, 2009
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Agenda
Protocollen
Samba
Samba VersiesSamba 3Samba 4
“Franky”
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Jelmer Vernooij
I Samba ontwikkelaar en teamlidI Voornamelijk Samba 4
I Mede-auteur en editor van “The Samba HOWTO Collectionand Reference Guide”
I Andere bijdrages aan Free Software, o.a.I BazaarI OpenChangeI Debian/Ubuntu
I Student Informatica
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Wat is CIFS?
I Bestandsdelen in DOS/Windows
I Vrijwel alle onderdelen van Windows die over het netwerkwerken
I “Bestanden en Printers delen voor Microsoft Netwerken”
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Lang, lang geleden...
I 1984: Barry Feigenbau ontwikkelt “BAF”
I IBM, Microsoft, Intel en 3Com breiden het protocol uit enhernoemen het naar “SMB”
I Onderdeel van OS/2 en “Windows for Workgroups”
I Diverse andere uitbreidingen door Microsoft voor Windows 9xen NT (“Domeinen”, RPC, etc)
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
SMB
Dialecten
I PC NETWORK PROGRAM 1.0
I MICROSOFT NETWORKS 1.03
I MICROSOFT NETWORKS 3.0
I LANMAN 1.0
I LM1.2X002
I LANMAN2.1
I NT LM 0.12
I Samba
Extensies
I Mailslots
I “Browsing”I SMB Pipes
I RPCI RAP
I Unicode (UCS-2)
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
SMB
Dialecten
I PC NETWORK PROGRAM 1.0
I MICROSOFT NETWORKS 1.03
I MICROSOFT NETWORKS 3.0
I LANMAN 1.0
I LM1.2X002
I LANMAN2.1
I NT LM 0.12
I Samba
Extensies
I Mailslots
I “Browsing”I SMB Pipes
I RPCI RAP
I Unicode (UCS-2)
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Werkgroepen en domeinen
Domeinen
I Centraal beheer gebruikers en machines
I Geıntroduceerd in Windows NTI Enkele centrale server
I Single point of failureI Bottleneck in grote netwerken
I Voornamelijk geımplementeerd in protocollen bovenop SMB
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Active Directory
Schaalbare directory services gebaseerd op verschillendegestandaardiseerde protocollen:
I DNS
I Kerberos
I DHCP
I LDAP
I CIFS
I cldap
... met Microsoft-specifieke extensies
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Active Directory
Schaalbare directory services gebaseerd op verschillendegestandaardiseerde protocollen:
I DNS
I Kerberos
I DHCP
I LDAP
I CIFS
I cldap
... met Microsoft-specifieke extensies
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Geschiedenis van Samba
I 1991: Gestart door Andrew “tridge” Tridgell
I 1993: “nbserver”
I 1996: Code in CVS
I 1999: Versie 2.0
I 2003: Versie 3.0
I 2008: Versie 3.2
I 2009: Versie 3.3
I 2009: Versie 3.4
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Specificaties
“The only spec I trust is written in C”— Andrew Bartlett
Protocol kennis
I Netwerk analyse
I (gedateerde) standaarden
I Microsoft documentatie
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Specificaties
“The only spec I trust is written in C”— Andrew Bartlett
Protocol kennis
I Netwerk analyse
I (gedateerde) standaarden
I Microsoft documentatie
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Specificaties
“The only spec I trust is written in C”— Andrew Bartlett
Protocol kennis
I Netwerk analyse
I (gedateerde) standaarden
I Microsoft documentatie
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Ontwikkel team
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Samba 3
Samba 3
I Stabiel
I Gebruikt in productie
I Oud ontwerp (gericht op bestandsserver)
I Ondersteuning voor NT4-stijl DC en lid zijn van AD domeinen
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Samba 3
Recente ontwikkelingen
Clustering
I CIFS clustering (“clustering = yes”)
I Goede ondersteuning van locking
I High-Availability bovenop een clustering bestandssysteem
I Geintroduceerd in Samba 3.3
I Bug fixes
I Simpelere configuratie
I Bug fixes
I IPv6 ondersteuning
I Bug fixes
I Performance
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Samba 4
Samba 4
I Gestart in 2004
I “Correcte” implementatie van de verschillende protocollen
I Meer gegenereerde codeI Speelgrond voor experimentele features
I Ondersteuning voor Active Directory Domein ControllersI WMI (WBEM geimplementeerd bovenop DCOM)I Goede DCE/RPC infrastructuur
I Basis voor OpenChange client/server
I Goed getest (code coverage: 50%)
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Samba 4
IDL
I IDL: Interface DescriptionLanguage
I Omschrijft formaat van eenfunctie call in het protocol
I Door compiler omgezet naar(o.a.) C code
IDL Code
NTSTATUS unixinfo GetPWUid ([in,out,ref,range(0,1023)]uint32 *count,[in,size is(*count)] hyperuids[], [out,size is(*count)]unixinfo GetPWUidInfoinfos[*] );
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Samba 4
Integratie met de rest van het systeem
I Grafische tools voor oa:I Beheer gebruikersI Registry
I Correctere (en betrouwbaardere) ondersteuning SMB inNautilus/Konqueror
Summer of Code
I GTK+ frontends voor Samba (2 projecten)
I SWAT (web frontend)
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Samba 4
Samba 4 Release Status
I Alpha releases
I Stabiel, maar incompleet en niet netjes afgewerkt
I Ondersteuning voor AD DC, nog geen replicatieI Incomplete implementatie bestandsserver
I Verschillende (obscure) oude opties niet ondersteund
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Samba 4
Screenshot
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Problemen twee branches — Technisch
I Niet alle functionaliteit beschikbaar in beide versiesI Dubbel werk gedaan door ontwikkelaars
I en niet altijd op dezelfde manier
I Kleine verschillen in configuratie bestandsformaten
Verschillen worden steeds groter
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Problemen twee branches — Technisch
I Niet alle functionaliteit beschikbaar in beide versiesI Dubbel werk gedaan door ontwikkelaars
I en niet altijd op dezelfde manier
I Kleine verschillen in configuratie bestandsformaten
Verschillen worden steeds groter
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Problemen twee branches — Sociaal
I Conflicten over wat de “nieuwste” versie is
I Conflicten over focus van ontwikkelingen
I Niemand wil eigen veranderingen teniet doen en aan deandere branch werken
I Belofte aan gebruikers: versie 4 ondersteunt AD DC
I Geen structuur voor maken beslissingen
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Samenwerking tussen de branches
I Succesvolle Samba 4 projecten worden geimporteerd in Samba3
I O.a.:I DCE/RPC gegenereerde codeI tallocI tdbI ldb
I Divergentie treed opnieuw op
I Samba 4 testsuite wordt gebruikt binnen Samba 3
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
“Franky”
I Ongeveer een jaar geleden gestart
I Twee-maandelijkse bijeenkomsten in Gottingen
I Langzame combinatie van de Samba 3 en Samba 4 codebasesI Infrastructuur om een gecombineerde server te draaien:
I Samba 3 voor bestandsdelenI Samba 4 voor directory services
I Oplossen van kleine verschillen in configuratie bestand syntax
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Franky — Details
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Verdeling protocollen
I SMB/NetBIOS: Samba 3
I DCE/RPC(Users): Samba 4
I DCE/RPC(Printing): Samba 3
I DCE/RPC(Registry): Samba 4
I DCE/RPC(Directory): Samba 4
I LDAP: Samba 4
I Kerberos: Samba 4
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
“Franky“ — Status
Done
I Infrastructuur kan beiden tegelijk compileren
I Samba 4’s smbd hernoemd naar samba
I Integratie tussen Samba 3 en Samba 4 middels named pipes
Nog te doen
I Winbind integratie
I Polijsten
I Weinig veranderingen vereist
I Proof-of-concept
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Gedeelde code
I Samba4 en Samba3 delen code, niet slechts synchronisatieI Groot percentage is nu gedeeld:
I gedeeld: 536,251I gegenereerd: 468,634
I Samba 3: 410,452I Samba 4: 401,692
I Heimdal: 98,398
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Delen van code
Samba4HeimdalCommonAutogen-erated Samba3
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Hoe het had gemoeten...
I Samba 4 had eerder gesloten moeten worden voorexperimentele veranderingen
I Focus van ontwikkeling had altijd op een enkele branchmoeten liggen
I Eerder gemaakte fout (Samba-TNG)
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Status Franky Release
I Samba 3.4 bevat al een hoop uit Samba 4 geimporteerde codeI Samba 3.5: “Franky” release met hybride server
I September?
I Samba 4.0: Volledig gemergde codebases?
Jelmer Vernooij Samba Team
Samba Franky
Protocollen Samba Samba Versies “Franky”
Meer informatie
I Homepage www.samba.org
I Franky status paginahttp://wiki.samba.org/wiki/Franky
I Fantasy pagehttp://wiki.samba.org/index.php/Samba4/Andrew_and_Jelmers_Fantasy_Page
Jelmer Vernooij Samba Team
Samba Franky