Virtuella kretsar för nätverk (lager 3) och transport (lager 4)
Detta är den vanligaste tekniken som används för att stödja kommunikation med två datorer över ett nätverk. Transportlagret ansvarar för att upprätta en virtuell krets till destinationsvärden och säkerställer att data levereras tillförlitligt och i ordning. Det typiska transportprotokollet som används för att upprätta virtuella kretsar är TCP (Transmission Control Protocol). I TCP sänder avsändaren datapaket till mottagaren, som vart och ett innehåller ett sekvensnummer. Mottagaren bekräftar varje paket den tar emot, och avsändaren återsänder alla paket som den inte tar emot en bekräftelse för. Dessutom måste mottagaren buffra inkommande paket om de anländer snabbare än den mottagande applikationen kan behandla dem. Transportlagret ger också flödeskontroll, vilket säkerställer att avsändaren inte skickar data snabbare än mottagaren kan bearbeta den. Flödeskontroll kan implementeras med hjälp av olika mekanismer, såsom TCP:s glidande fönsterprotokoll. Var och en av de två enheterna längs en virtuell krets upprättar och hanterar en virtuell kretsförbindelse oberoende.
Ett exempel på två applikationsprocesser som använder virtuella kretsanslutningar för kommunikation visas i figuren nedan, tillsammans med motsvarande protokollrubriker från varje lager på de två enheterna som de kan se ut för två specifika dataenheter som utbyts (vi kallar dem paket 1 och paket 2). De virtuella transportlagrets kretsar stöds med hjälp av tjänsten för virtuella nätverkslagerkretsar som tillhandahålls av internetarbetande enheter på lägre nivå. Nätverkslagret använder routingmekanismer för att vidarebefordra datapaket från den sändande enheten mot den mottagande enheten över nätverk. Avsändaren (värd A1 i figuren) har en virtuell krets till mottagaren (värd A3 i figuren) med ett antal 2. Denna krets kan involvera en sekvens av subnätverk och subnätverksanslutningar, med möjligen flera mellanliggande enheter (B, C och D). Routingmekanismerna i dessa enheter tillåter dem att vidarebefordra data korrekt i samband med en given virtuell krets.
Interlayer Relation with Service Access Points
Varje lager ovanför det fysiska lagret i ett nätverk måste få någon tjänst från lagret under. Entiteterna i ett lager använder en eller flera tjänsteåtkomstpunkter (SAP) av entiteter i lagret nedan för att komma åt tjänsterna nedan för att få åtkomst till tjänsterna för detta eller de lägre lagren.
Tjänster — Vid alla protokolllager kommer en protokollenhet på det övre skiktet att använda en eller flera tjänsteåtkomstpunkter (SAP) av peer-protokollenheter i lagret direkt under den för att erhålla specifika tjänster. Användningen av SAP tillåter tjänsterna som tillhandahålls i ett lager till flera protokollinstanser implementerade i de högre lagren.
Tjänster efterfrågas eller tillhandahålls vanligtvis med hjälp av primitiver – en speciell typ av meddelanden som utbyts mellan enheter i olika protokolllager. I OSI:s modell har primitiver olika namn som återspeglar funktionen de utför, till exempel:
- begäran
- indikation
- svar
- bekräfta
SAP Exempel-TCP och IP
Tjänsterna tillhandahållna av en lager-N-protokollinstans implementeras av protokolldataenheter (PDUs) som levereras av den protokollinstansen till någon av dess peer-protokollinstanser inom samma lager; det vill säga de levereras till dess peer SAPs. På liknande sätt används lager 3 SAP:er av lager 4-protokollenheter för att utbyta lager-4 PDU:er (som vanligtvis innehåller paket med användar- eller applikationsdata). Varje protokollgränssnitt kan ha endast ett begränsat antal primitiva tjänster och ett mycket begränsat antal SAP. Ett exempel är transportlagret SAP i IP:s protokollgränssnitt, som bara innehåller två SAP-primitiver (CONNECT och DATA) och bara en associerad SAP. Som ett resultat måste alla paket som innehåller PDU:er som flyter mellan lager-3- och lager-4-enheter använda denna unika SAP.