เช่นเดียวกับอินเทอร์เฟซการสื่อสารประเภทอื่นเกือบทุกชนิด USB ถูกนำมาใช้เป็นสแต็กโปรโตคอล. ระดับภายในสแต็กนี้เป็นเรื่องธรรมดาสำหรับอุปกรณ์ทุกประเภทหรือหลายประเภทที่กำหนดโดยมาตรฐาน USB ของตัวเองซึ่งทั้งสองสามารถใช้งานร่วมกันได้และป้องกันไม่ให้อุปกรณ์แต่ละเครื่องทำการออกแบบโปรโตคอลซ้ำซ้อน ยิ่งกว่านั้นเลเยอร์ของโปรโตคอลแต่ละชั้นจะสรุปรายละเอียดที่เลเยอร์ถัดไปไม่จำเป็นต้องกังวล ดังนั้นเมื่อคุณเขียนเลเยอร์เฉพาะอุปกรณ์คุณเพียงแค่มีฟังก์ชั่น 'ส่ง' และ 'รับ' ทั่วไปที่รับข้อมูลจากปลายทาง A ถึงปลายทาง B คุณในฐานะผู้ออกแบบอุปกรณ์ไม่ต้องสนใจ มันเกิดขึ้นได้อย่างไร นอกจากนี้ระดับที่ต่ำกว่าภายในสแต็กโปรโตคอลสามารถเปลี่ยนการใช้งานได้ตราบใดที่พวกเขาเปิดเผยอินเทอร์เฟซทั่วไปกับเลเยอร์เหนือพวกเขา ด้วยวิธีนี้เมื่อส่วนหนึ่งของโปรโตคอลสแต็คเปลี่ยนส่วนที่เหลือของสแต็คไม่จำเป็นต้องเปลี่ยนซึ่งโปรโตคอลจะถูกใช้ในบางระดับที่ต่ำกว่าของสแต็ค โดยทั่วไปแล้วแต่ละเลเยอร์ที่ต่อเนื่องกันลงไปในสแต็กจะ encapsulate ข้อความที่สร้างโดยเลเยอร์ถัดไปที่สูงที่สุดภายในฟิลด์เพย์โหลดของตนเองเมื่อมีการส่งข้อความ เมื่อได้รับข้อความแต่ละเลเยอร์จะลอกส่วนที่เกี่ยวข้องกับเลเยอร์นั้นและส่งต่อส่วนของข้อมูลไปยังเลเยอร์ที่เหมาะสมถัดไปขึ้นไปบนสแต็ก นี่เป็นความจริงไม่ใช่แค่ USB แต่เกือบทุกบัสการสื่อสาร สแต็ก TCP / IP / Ethernet น่าจะเป็นที่ใช้กันมากที่สุดของเหล่านี้เช่น งานที่ได้รับชั้นมักจะรับผิดชอบในการอธิบายไว้ในรูปแบบเช่นแบบจำลอง OSI
ใน USB มีโพรโทคอลเลเยอร์ทางกายภาพที่กำหนดสถานะแรงดันไฟฟ้า / เวลา / ฯลฯ บนเส้นลวดและวิธีการตีความ เห็นได้ชัดว่าโปรโตคอลนี้จะต้องเป็นส่วนหนึ่งของมาตรฐาน USB ด้วยตนเองไม่ใช่เฉพาะอุปกรณ์ที่กำหนด (โดยเฉพาะอย่างยิ่งเนื่องจากโฮสต์ไม่มีวิธีรู้ว่าอุปกรณ์ชนิดใดที่จะเสียบเข้ากับพอร์ต USB ที่กำหนด)
ถัดไปมีโพรโทคอลการจัดการรถบัสใช้สำหรับอธิบายว่าใครสามารถพูดคุยบนรถเมื่อ สิ่งนี้เรียกว่าเลเยอร์การเข้าถึงสื่อในรูปแบบ OSI ใน USB เลเยอร์นี้สามารถสรุปได้ค่อนข้างมากว่า "อุปกรณ์สามารถส่งสัญญาณเมื่อโฮสต์บอกให้ทำเช่นนั้น" ดังนั้นจึงไม่มีโปรโตคอลที่ซับซ้อนเป็นพิเศษที่เลเยอร์นี้ใน USB
ถัดไปมีโพรโทคอลมาตรฐานสำหรับการอธิบายแพคเก็ตของข้อมูลและวิธีการกำหนดเส้นทางจากผู้ส่งไปยังผู้รับ เลเยอร์นี้ยังต้องเป็นส่วนหนึ่งของมาตรฐาน USB ด้วยดังนั้นการสื่อสารเริ่มต้นเพื่อค้นหาว่าอุปกรณ์ชนิดใดที่เชื่อมต่อสามารถเกิดขึ้นได้ก่อนที่โฮสต์ประเภทอุปกรณ์เฉพาะจะเป็นที่รู้จักจริง นอกจากอุปกรณ์แต่ละเครื่องที่มี ID เฉพาะที่ชั้นนี้แล้วยังมีแนวคิดใน USB ของ endpoint ID สิ่งนี้อนุญาตให้อุปกรณ์ที่กำหนดให้มีจุดปลาย USB หลายจุดซึ่งมัลติเพล็กซ์และดีมัลติเพล็กซ์โดยสแต็ก USB มาตรฐานในลักษณะเดียวกับที่ซ็อกเก็ตมัลติเพล็กซ์และดีมัลติเพล็กซ์โดยสแต็ก TCP / IP มาตรฐาน แอปพลิเคชันสามารถจัดการกับปลายทางแต่ละจุดเหล่านี้เป็นสตรีมข้อมูลแยกกัน
ในที่สุดก็มีโปรโตคอลที่กำหนดไว้สำหรับอุปกรณ์เอง โปรดทราบว่าจริง ๆ แล้วมีบางคนที่ออกแบบไว้ล่วงหน้ารวมอยู่เป็นส่วนหนึ่งของมาตรฐาน USB สำหรับกรณีการใช้งานทั่วไปเช่นอุปกรณ์เก็บข้อมูลขนาดใหญ่, เมาส์, คีย์บอร์ด ฯลฯ เพื่อให้ผู้ผลิตอุปกรณ์ทุกคนไม่จำเป็นต้องคิดค้นใหม่ ล้อ. อย่างไรก็ตามอุปกรณ์ที่ซับซ้อนมากขึ้นมีอิสระในการออกแบบโปรโตคอลที่กำหนดเองได้ที่ชั้นนี้ เอาต์พุตของเลเยอร์นี้สำหรับการส่งที่กำหนดถูกส่งผ่านเป็นส่วนของข้อมูลแพ็คเก็ตที่เลเยอร์ก่อนหน้า โปรดทราบว่าสำหรับอุปกรณ์ที่มีความซับซ้อนเพียงพอส่วนเฉพาะอุปกรณ์ของโพรโทคอลนั้นอาจถูกแบ่งออกเป็นเลเยอร์อิสระหลายชั้น แต่ระดับที่ต่ำกว่าไม่จำเป็นต้องรู้หรือสนใจเกี่ยวกับสิ่งนั้น สิ่งที่พวกเขาต้องรู้คือพวกเขาต้องผ่านชุดไบต์ที่กำหนดจากโฮสต์ไปยังอุปกรณ์ปลายทางเฉพาะหรือจากอุปกรณ์ปลายทางเฉพาะไปยังโฮสต์ อีกครั้งการมีอินเทอร์เฟซมาตรฐานระหว่างเลเยอร์ช่วยให้แยกความกังวลดังนั้นเลเยอร์หนึ่งไม่จำเป็นต้องสนใจเกี่ยวกับการทำงานภายในของเลเยอร์อื่น แต่เฉพาะข้อมูลเฉพาะที่ควรส่งผ่านหรือคาดว่าจะได้รับจากเลเยอร์ด้านบนทันทีหรือ ด้านล่างในสแต็ก