Zapouzdření (počítačové sítě)
Zapouzdřování (encapsulation) v počítačových sítích spočívá ve vložení protokolové datové jednotky (Protocol Data Unit - PDU) vyšší vrstvy do protokolové jednotky nižší vrstvy, což umožňuje, aby vyšší vrstva mohla používat služby nižší vrstvy v protokolovém zásobníku a zároveň, aby data vyšší vrstvy mohla být přepravena sítí k protějšku na stejné vrstvě na jiném uzlu.
Zapouzdření je v počítačových sítích způsob realizace modulárního přístupu při vytváření komunikačních protokolů, ve kterém se při popisu jednotlivých funkcí sítě abstrahuje od konkrétní realizace vložením do objektů vyšších vrstev.
Zapouzdřování je charakteristická vlastnost většiny síťových modelů včetně referenčního modelu ISO/OSI a rodiny protokolů TCP/IP.
Protokoly vrstev 3-7 referenčního modelu ISO/OSI obvykle pouze připojují před PDU vyšší vrstvy datovou strukturu nazývanou hlavička (header). Protokoly vrstvy 2 připojují kromě hlavičky i patičku (trailer) na konec PDU vyšší vrstvy, případně vkládají další prvky přímo do PDU (např. stuffing bity u HDLC).
V některých případech nižší vrstva může rozdělovat PDU vyšší vrstvy do několika svých PDU (segmentace, fragmentace), nebo naopak spojovat více PDU do jednoho svého PDU (agregace, blokování).
Přijaté PDU je předáváno od nejnižších vrstev vyšším vrstvám. Každá vrstva kontroluje adresu a zahazuje PDU, které nejsou určeny pro ni. Po vybalení PDU také na základě service access point (SAP) rozhoduje, jakému modulu, procesu nebo aplikaci jej předat. V případě Ethernetu-II je SAP pole Ethertype, v případě IP pole Protocol, v případě TCP a UDP port.
Zapouzdřování v TCP/IP
V rodině protokolů TCP/IP funguje zapouzdřování následujícím způsobem:
- blok dat, který má být odeslán protokolem TCP nebo UDP je předán modulu, který implementuje protokol TCP nebo UDP
- UDP modul přidá před tento blok UDP hlavičku a výsledný datagram předá vrstvě IP; TCP přidá před tento blok TCP hlavičku a výsledný segment předá vrstvě IP
- IP vrstva přidá před datagram IP hlavičku, čímž se vytvoří IP paket, a předá paket ovladači realizujícímu protokol linkové vrstvy
- linková vrstva vytvoří z paketu přidáním hlavičky a patičky rámec, který bude pomocí fyzické vrstvy odeslán do sítě
- přijatý rámec je dekódován jednotlivými vrstvami opačným postupem než byl vytvořen a blok dat je předán vrstvou UDP aplikaci (spolu s informacemi z nižších vrstev)
- DHCP nepatří do síťové vrstvy, ale do aplikační vrstvy