Jelmer Vernooij - Sambajelmer/samba-nllgg2009.pdf · I PC NETWORK PROGRAM 1.0 I MICROSOFT NETWORKS...

Post on 02-Jan-2021

3 views 0 download

Transcript of Jelmer Vernooij - Sambajelmer/samba-nllgg2009.pdf · I PC NETWORK PROGRAM 1.0 I MICROSOFT NETWORKS...

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