USB is opgezet als een master/slave netwerk in een boom topologie. Dit is niet direct duidelijk omdat de z.g.n. "root" hub altijd in de computer (de controller/master) is ingebouwd. Om een groot draagvlak voor de USB architectuur te creëren is de standaard geoptimaliseerd voor een eenvoudig ontwerp van de "slaves".
De USB-bekabeling is t/m versie 2.0 uitgevoerd als een getwist paar koperaders voor de data plus een 0 en 5 V ader voor de voeding; vanaf versie 3.0 worden 2 extra hoge snelheid paren toegevoegd. De signalering is een bidirectionele seriële zelfklokkende NRZI datastroom.
De controller stuurt het USB-netwerk aan vanuit de "root node" en kan steeds slechts één "end-node" in een apparaat (slave) tegelijk bedienen. Binnen een "end-node" zijn weer meerdere "end-points" beschikbaar voor verschillende taken (instellingen, print-input, scan-output, enz.). De meeste computers hebben meerdere USB-poorten, maar die stammen alle af van dezelfde root node, via de ingebouwde "Root-hub". Als een computer niet voldoende USB-poorten heeft kunnen er extern extra hubs worden toegevoegd, totdat het maximum van 127 nodes is bereikt.
Vanaf de start in 1996 worden er regelmatig hogere snelheden geïntroduceerd, met behoud van compatibiliteit met eerdere versies. Toetsenborden en muizen zijn eenvoudige USB 1.0 apparaten, voor een externe Harddisk is minstens een USB 2.0 verbinding nodig en voor een externe SSD moet dat een Super Speed verbinding zijn.
Versie | Naam | Kleur | Snelheid | Intro |
---|---|---|---|---|
USB 1.0 | Low Speed | wit | 1,5 Mbit/s | 1996 |
USB 1.1 | Full Speed | wit | 12 Mbit/s | 1998 |
USB 2.0 | High Speed | zwart | 480 Mbit/s | 2001 |
USB 3.0 | Super Speed | blauw | 5 Gbit/s | 2011 |
USB 3.1 | Super Speed + | blauw | 10 Gbit/s | 2014 |
USB 3.2 | Super Speed + | blauw? | 20 Gbit/s | 2017 |
USB 4.0 | USB4 40Gbps | type-C | 40 Gbit/s | 2019 |
Bij het opstarten van een computer wordt vanaf de root node een scan uitgevoerd over alle 127 mogelijke adressen om aangesloten apparaten (nodes) te detecteren. Van elke gevonden node worden diverse parameters ingelezen en in een lijst van actieve nodes bewaard. Als de node tot een bekende klasse behoort kan deze met de bijbehorende besturingssoftware (driver) worden verbonden. Als de klasse nog onbekend is, kan m.b.v. de "fabrikant+model"-parameter de juiste software alsnog worden geladen. Ook bij het aansluiten van een USB-object op een werkende computer wordt deze procedure gevolgd. In beginsel kan een USB-object ook op elk moment worden verwijderd en dan uit de lijst gewist. Bij opslag-systemen kan echter een deel van de data nog niet zijn weggeschreven en moet het systeem (b.v. een USB-stick of harddisk) eerst ontkoppeld worden, waarbij de gebufferde data eerst "ge-flushed" (weggeschreven) wordt.