Neredeyse diğer tüm iletişim arabirimi türlerinde olduğu gibi, USB protokol yığını olarak uygulanır. Bu yığın içerisindeki tüm ya da çoklu cihaz tipleri için ortak olan seviyeler, hem uyumluluğu mümkün kılan hem de her cihazın yedek protokol tasarımı yapmasını önleyen USB standartları tarafından tanımlanır. Ayrıca, protokolün her katmanı, bir sonraki katmanın endişelenmeye gerek duymadığı ayrıntıları soyutlar. Bu nedenle, cihaza özel bir katman yazdığınızda, yalnızca A noktasından B noktasına kadar veri alan genel 'gönderme' ve 'alma' işlevlerine sahip olursunuz. bu nasıl olur. Ayrıca, protokol yığını içindeki düşük seviyeler, üstlerindeki katmana ortak bir arabirim gösterdiği sürece uygulamayı değiştirebilir. Bu şekilde, protokol yığınının bir kısmı değiştiğinde yığının geri kalanının mutlaka değişmesi gerekmez.Hangi protokol istifin daha düşük bir seviyesinde kullanılıyor? Genel olarak konuşursak, istifin arkasındaki her bir katman, bir mesaj gönderilirken, bir sonraki en yüksek katman tarafından üretilen kendi yükü alanı içinde üretilen mesajı içerecektir. Bir mesaj alındığında, her bir katman o katmanla ilgili kısmı soyar ve yükünü istifin üstündeki bir sonraki uygun katmana iletir. Bu sadece USB için değil, hemen hemen her iletişim veriyolu için de geçerlidir. Örneğin, TCP / IP / Ethernet yığını muhtemelen bunlardan en yaygın kullanılanıdır. Katmanların verildiği görevler genellikle sorumludur, OSI modeli gibi modellerde açıklanmıştır .
USB'de voltaj durumlarını / zamanlamasını / vb. Tanımlayan fiziksel bir katman protokolü vardır. Telin üzerinde ve nasıl yorumlanmaları gerektiği hakkında. Bu protokolün belli bir cihaza özgü olmayan USB standartlarının bir parçası olması gerektiği açıktır (özellikle de ev sahibi belirli bir USB portuna ne tür bir cihazın takılacağını bilmenin hiçbir yolu olmadığından).
Daha sonra, otobüste kiminle konuşabileceğini açıklamak için kullanılan bir otobüs yönetimi protokolü var. Bu OSI modelinde medya erişim katmanı olarak adlandırılır. USB'de bu katman hemen hemen "cihaz ana bilgisayar tarafından söylendiğinde iletebilir" şeklinde özetlenebilir, bu nedenle USB'de bu katmanda özellikle karmaşık bir protokol yoktur.
Daha sonra, bir veri paketini ve göndericiden alıcıya nasıl yönlendirilmesi gerektiğini açıklayan standart bir protokol var . Bu katmanın aynı zamanda USB standardının da bir parçası olması gerekir, böylece belirli bir aygıt türü aslında ana bilgisayar tarafından bilinmeden önce ne tür bir aygıtın takıldığını keşfetmek için ilk iletişimin gerçekleşmesi gerekir. Bu katmanda belirli bir kimliği olan her cihaza ek olarak, bir uç nokta kimliğinin USB'sinde de bir kavram vardır. Bu, herhangi bir cihazın standart USB yığını tarafından çoklanmış ve ayrılmamış çoklu USB uç noktalarına sahip olmasına izin verir, aynı şekilde soketler standart TCP / IP yığını ile çarpılır ve ayrılmaz. Bir uygulama bu uç noktaların her birini ayrı veri akışları olarak ele alabilir.
Son olarak, cihazın kendisi için tanımlanan protokol var. Aslında, her aygıt üreticisinin yeniden icat etmesi gerekmeyecek şekilde, toplu depolama aygıtları, fareler, klavyeler vb. Gibi yaygın kullanım durumları için USB standardının bir parçası olarak dahil edilen bazı önceden tasarlanmış olanlar olduğunu unutmayın. tekerlek. Ancak, daha karmaşık cihazlar bu katmanda kendi özel protokollerini tasarlamakta özgürdür. Belirli bir aktarım için bu katmanın çıktısı, önceki kattaki bir veri paketinin yükü olarak geçirilir. Yeterli derecede karmaşık cihazlar için, protokolün cihaza özel kısmının kendisinin birden fazla bağımsız katmana bölünebileceğini, ancak daha düşük seviyelerin bunu bilmesi veya ilgilenmesi gerekmediğine dikkat edin. Bilmeleri gereken tek şey, belirli bir bayt grubunu ana bilgisayardan belirli bir cihaz son noktasına veya belirli bir cihaz son noktasından ana bilgisayara geçirmeleri gerektiğidir. Yine, katmanlar arasındaki standart ara yüze sahip olmak kaygıların ayrılmasına izin verir, bu nedenle bir katmanın başka bir katmanın iç işleyişini umursaması gerekmez, ancak yalnızca hemen üstündeki katlardan hemen geçmesi veya alması gereken özel veriler yığını altında.