Як і майже кожен інший тип комунікаційного інтерфейсу, USB реалізується як стек протоколів. Рівні в межах цього стеку, загальні для всіх або декількох типів пристроїв, визначаються самими стандартами USB, що дозволяє забезпечити сумісність і не дозволяє кожному пристрою робити надлишкову конструкцію протоколу. Крім того, кожен шар протоколу абстрагує деталі, про які не потрібно хвилюватися наступному шару. Таким чином, коли ви фактично пишете специфічний для пристрою шар, у вас просто є загальні функції "відправити" та "отримати", які отримують дані від кінцевої точки А до кінцевої точки В. Вам, як дизайнеру пристрою, не потрібно піклуватися про це як це відбувається Крім того, нижчі рівні в стеку протоколів можуть змінювати реалізацію, якщо вони відкривають загальний інтерфейс для шару над ними. Таким чином, коли одна частина стека протоколів змінюється, решта стека не обов'язково повинна змінюватися.який протокол використовується на деякому нижньому рівні стеку. Взагалі кажучи, кожен наступний рівень внизу стека буде інкапсулювати повідомлення, що створюється наступним найвищим шаром, у межах власного поля корисної навантаження під час надсилання повідомлення. Коли повідомлення отримано, кожен шар відшаровує частину, відповідну цьому шару, і пересилає свою корисну навантаження на наступний відповідний шар вгору на стек. Це стосується не тільки USB, але майже кожної шини зв'язку. Наприклад, стек TCP / IP / Ethernet, мабуть, є найбільш часто використовуваним. Завдання, за які задані шари зазвичай відповідають, описані в таких моделях, як модель OSI .
У USB є протокол фізичного рівня, який визначає стани напруги / терміни / тощо. на дроті та як їх слід тлумачити. Цей протокол, очевидно, повинен бути частиною самих стандартів USB, а не специфічним для певного пристрою (тим більше, що хост не може знати, який тип пристрою повинен бути підключений до даного порту USB.)
Далі, є протокол управління шиною, який використовується для опису того, хто може говорити в шині, коли. Це називається шаром доступу до медіа в моделі OSI. У USB цей шар може бути підсумований так, як "пристрій може передавати, коли хост скаже це зробити", тому на цьому шарі в USB немає особливо складного протоколу.
Далі є стандартний протокол, який описує пакет даних та те, як він повинен бути направлений від відправника до одержувача. Цей шар також повинен бути частиною самого стандарту USB, так що початкове повідомлення про виявлення того, який тип пристрою було приєднано, може відбуватися до того, як хост фактично знає конкретний тип пристрою. На додаток до кожного пристрою, який має певний ідентифікатор на цьому шарі, в USB також існує концепція ідентифікатора кінцевої точки. Це дозволяє будь-якому даному пристрою мати декілька кінцевих точок USB, які мультиплексовані та демультиплексовані за допомогою стандартного стека USB, приблизно так само, як і розетки мультиплексовані та демультиплексовані стандартним стеком TCP / IP. Додаток може розглядати кожну з цих кінцевих точок як окремі потоки даних.
Нарешті, є протокол, визначений для самого пристрою. Зауважте, що насправді є деякі загальноприйняті попередньо розроблені, які входять до стандарту USB для випадків загального користування, такі як пристрої масового зберігання, миші, клавіатури тощо, тому кожному виробнику пристрою не доведеться заново вигадувати колесо. Однак більш складні пристрої вільно розробляють власний користувальницький протокол на цьому шарі. Вихід цього шару для даної передачі передається як корисне навантаження пакета даних на попередньому рівні. Зауважте, що для досить складних пристроїв частина протоколу, що залежить від пристрою, може бути поділена на кілька незалежних шарів, але нижчі рівні не повинні знати про це і не турбуватися про них. Все, що вони повинні знати, - це те, що їм потрібно передати заданий набір байтів від хоста до певної кінцевої точки пристрою або від конкретної кінцевої точки пристрою до хоста. Знову ж таки, наявність стандартного інтерфейсу між шарами дозволяє розділяти проблеми, тому одному шару не потрібно дбати про внутрішню роботу іншого шару, а лише про конкретні дані, які він повинен передати або очікувати отримання від шарів безпосередньо над або під ним у стеці.