Sistem USB memiliki desain asimetris. Sistem ini terbuat dari host, beberapa port USB hilir, dan beberapa perangkat periferal yang terhubung dalam topologi bintang. Hub USB tambahan dapat disertakan dalam tingkatan, memungkinkan percabangan ke dalam struktur pohon dengan hingga lima tingkat tingkatan.
Host USB dapat memiliki beberapa pengontrol host. Setiap pengontrol host menyediakan satu atau beberapa port USB. Hingga 127 perangkat, termasuk perangkat hub, dapat disambungkan ke satu host controller.
Perangkat USB dihubungkan secara seri melalui hub. Selalu ada satu hub yang dikenal sebagai root hub. Hub root dibangun ke dalam pengontrol host. Ada hub khusus, yang disebut "sharing hub". Hub ini memungkinkan beberapa komputer mengakses perangkat periferal yang sama. Hub ini bekerja dengan mengalihkan akses di antara PC, baik secara manual atau otomatis. Mereka populer di lingkungan kantor kecil. Dalam istilah jaringan, mereka menyatukan daripada memisahkan cabang-cabang.
Perangkat USB fisik dapat memiliki beberapa sub-perangkat logis yang disebut sebagai fungsi perangkat. Satu perangkat dapat menyediakan beberapa fungsi, misalnya, webcam (fungsi perangkat video) dengan mikrofon built-in (fungsi perangkat audio).
Komunikasi perangkat USB didasarkan pada pipa (saluran logis). Pipa adalah koneksi dari pengontrol host ke entitas logis pada perangkat yang dinamai titik akhir. Istilah endpoint kadang-kadang digunakan untuk merujuk ke pipa secara salah. Perangkat USB dapat memiliki hingga 32 pipa aktif, 16 ke pengontrol host dan 16 keluar dari pengontrol.
Setiap endpoint dapat mentransfer data dalam satu arah saja, baik ke dalam atau ke luar perangkat, sehingga setiap pipa bersifat uni-directional. Endpoint dikelompokkan ke dalam antarmuka dan setiap antarmuka diasosiasikan dengan satu fungsi perangkat. Pengecualian untuk ini adalah endpoint zero, yang digunakan untuk konfigurasi perangkat dan yang tidak terkait dengan antarmuka apa pun.
Apabila perangkat USB pertama kali dihubungkan ke host USB, proses enumerasi perangkat USB dimulai. Enumerasi dimulai dengan mengirimkan sinyal reset ke perangkat USB. Kecepatan perangkat USB ditentukan selama sinyal reset. Setelah reset, informasi perangkat USB dibaca oleh host, kemudian perangkat diberi alamat 7-bit yang unik. Jika perangkat didukung oleh host, driver perangkat yang diperlukan untuk berkomunikasi dengan perangkat dimuat dan perangkat disetel ke status yang dikonfigurasi. Jika host USB dihidupkan ulang, proses enumerasi diulangi untuk semua perangkat yang terhubung.
Pengontrol host melakukan polling bus untuk lalu lintas, biasanya dengan cara round-robin, sehingga tidak ada perangkat USB yang dapat mentransfer data apa pun di bus tanpa permintaan eksplisit dari pengontrol host.
Pengontrol tuan rumah
Perangkat keras komputer yang berisi pengontrol host dan hub root memiliki antarmuka untuk programmer. Ini disebut Host Controller Device (HCD) dan ditentukan oleh pelaksana perangkat keras.
Untuk USB 1.0 dan 1.1, ada dua implementasi HCD yang berbeda, Open Host Controller Interface (OHCI) dan Universal Host Controller Interface (UHCI). OHCI dikembangkan oleh Compaq, Microsoft dan National Semiconductor, UHCI oleh Intel.
VIA Technologies melisensikan standar UHCI dari Intel; semua pelaksana chipset lainnya menggunakan OHCI. UHCI lebih mengandalkan perangkat lunak. Ini berarti UHCI sedikit lebih intensif prosesor daripada OHCI tetapi lebih mudah dan lebih murah untuk dibuat. Karena ada dua implementasi yang berbeda, vendor sistem operasi dan vendor perangkat keras perlu mengembangkan dan menguji keduanya. Hal ini meningkatkan biaya.
Spesifikasi USB tidak menentukan antarmuka HCD apa pun dan tidak peduli dengannya. Dengan kata lain, USB mendefinisikan format transfer data melalui port, tetapi bukan sistem yang digunakan perangkat keras USB untuk berkomunikasi dengan komputer yang digunakannya.
Selama fase desain USB 2.0, USB-IF bersikeras bahwa hanya ada satu implementasi. Implementasi HCD USB 2.0 disebut Enhanced Host Controller Interface (EHCI). Hanya EHCI yang dapat mendukung transfer hi-speed (480 Mbit/s). Sebagian besar pengontrol EHCI berbasis PCI memiliki implementasi HCD lain yang disebut 'companion host controller' untuk mendukung Full Speed (12 Mbit/s) dan dapat digunakan untuk perangkat apa pun yang mengklaim sebagai anggota kelas tertentu. Sistem operasi seharusnya mengimplementasikan semua kelas perangkat, sehingga dapat menyediakan driver generik untuk perangkat USB apa pun. Kelas perangkat diputuskan oleh Kelompok Kerja Perangkat dari USB Implementers Forum.
Kelas perangkat USB
Kelas perangkat meliputi:
| Kelas | Penggunaan | Deskripsi | Contoh |
| 00h | Perangkat | Kelas yang tidak ditentukan 0 | (Kelas perangkat tidak ditentukan. Deskriptor antarmuka digunakan untuk menentukan driver yang diperlukan). |
| 01h | Antarmuka | Audio | Speaker, mikrofon, kartu suara |
| 02h | Keduanya | Komunikasi dan Kontrol CDC | Adaptor Ethernet, modem, adaptor port serial |
| 03h | Antarmuka | Perangkat Antarmuka Manusia (HID) | Papan ketik, mouse, joystick |
| 05h | Antarmuka | Perangkat Antarmuka Fisik (PID) | Memaksa umpan balik joystick |
| 06h | Antarmuka | Gambar | Kamera digital (Sebagian besar kamera berfungsi sebagai Mass Storage untuk akses langsung ke media penyimpanan). |
| 07h | Antarmuka | Printer | Printer laser, printer Inkjet |
| 08h | Antarmuka | Penyimpanan Massal | USB flash drive, pembaca kartu memori, pemutar audio digital, drive eksternal |
| 09h | Perangkat | Hub USB | Hub kecepatan penuh, hub kecepatan tinggi |
| 0Ah | Antarmuka | CDC-Data | (Kelas ini digunakan bersama dengan kelas 02h - Komunikasi dan Kontrol CDC). |
| 0Bh | Antarmuka | Kartu Pintar | Pembaca kartu pintar USB |
| 0Dh | Antarmuka | Keamanan Konten | - |
| 0Eh | Antarmuka | Video | Webcam |
| 0Fh | Antarmuka | Perawatan Kesehatan Pribadi | - |
| DCh | Keduanya | Perangkat Diagnostik | Perangkat pengujian kepatuhan USB |
| E0h | Antarmuka | Pengontrol Nirkabel | Adaptor Wi-Fi, adaptor Bluetooth |
| EFh | Keduanya | Lain-lain | Perangkat sinkronisasi ActiveSync dan Palm |
| FEh | Antarmuka | Aplikasi Khusus | Jembatan IrDA |
| FFh | Keduanya | Vendor Spesifik | (Kode kelas ini mengindikasikan bahwa perangkat memerlukan driver khusus vendor). |
Catatan kelas 0: Gunakan informasi kelas dalam Deskriptor Antarmuka. Kelas dasar ini didefinisikan untuk digunakan dalam Deskriptor Perangkat untuk mengindikasikan bahwa informasi kelas harus ditentukan dari Deskriptor Antarmuka di perangkat.