TAPS eller Transport Services er en spesifikasjon for et programmeringsgrensesnitt for dataoverføring mellom applikasjoner på internett som er ment å erstatte programmeringsgrensesnittet Berkeley sockets. En av forbedringene over Berkeley sockets er at applikasjonen ikke trenger å låse seg til en bestemt protokoll. I stedet sier utvikleren hva som er viktig, for eksempel hastighet, sikkerhet eller stabilitet, og grensesnittet
velger så en passende protokoll.[1]
Spesifikasjonen benytter asynkron kommunikasjon. I motsetning til Berkeley sockets har den ikke mulighet for blokkering, det vil si å la applikasjonen vente til det har blitt sendt eller mottatt data. Den er i stedet hendelsesdrevet, som betyr at programmereren må implementere kode for tilbakekall for forskjellige hendelser. Siden moderne datamaskiner gjerne har flere nettverksenheter, for eksempel har mobiltelefoner både Wi-Fi og mobildata, og datamaskiner har mulighet for både protokollene IPv4 og IPv6, benytter spesifikasjonen en algoritme kalt Happy Eyeballs for raskt å velge rett enhet.
TAPS ble foreslått som standard i 2022 av Internet Engineering Task Force. Den er implementert i Apples programmeringsgrensesnitt Network.framework, samt noen andre eksperimentelle implementasjoner. Forskere ved Universitetet i Oslo foreslo i 2020 å benytte TAPS-programmeringsgrensesnittet sammen med nettverksarkitekturen RINA.[2]
Referanser
Eksterne lenker