Out-of-band data är en logiskt oberoende överföringsväg mellan ett par strömuttag. I datornätverk hänvisar out-of- band-data till data som överförs genom en annan ström än den huvudsakliga (in-band). Denna teknik ger en oberoende kanal från programmerarens synvinkel och låter dig avgränsa data. Fysiskt sänds data utanför bandet över samma kanal som normal data. [1] Termen härrör sannolikt från signaler utanför bandet som används inom telekommunikationsindustrin . [2]
Protokollet Serial Advanced Technology Attachment implementerar data utanför bandet. [3]
TCP implementerar out-of-band data med hjälp av en "urgency indicator" som markerar viss data i den överförda strömmen som out-of-band. Tyvärr begränsar de långvariga inkonsekvenserna mellan RFC 793 och RFC 1122 användbarheten av denna TCP-funktion; Det används dock aktivt av vissa applikationsprotokoll, särskilt Telnet . TCP tillåter endast att en byte med out-of-band data överförs.
Ett exempel på användning av out-of-band-data är också FTP -protokollet . Anta att en klient initierade en överföring av en stor fil till en server och vid något tillfälle bestämde sig för att avbryta överföringen. Filen kan innehålla vilken sekvens av byte som helst, och den extra rubriken i varje applikationslagerpaket minskar prestandan. Därför sänds ett speciellt märkt TCP-paket och dataöverföringen stoppas.
För att skicka ( send) och ta emot ( recv) data utanför bandet på Berkeley-sockets måste flaggbitmasken angesMSG_OOB . Systemanropet polllåter dig övervaka förekomsten av data utanför bandet med hjälp av flaggan POLLPRI. Dessa data kan också tas emot asynkront med hjälp av signalen SIGURG . För att göra detta, ställ in F_SETOWN-flaggan på socketfilens beskrivning med ett systemanrop fcntl.