TDAT2004 - Datakommunikasjon med nettverksprogrammering
Tema 43: RTS og CTS
Torkil Solheim og Tor Skuggevik
1.Innledning
RTS (Request To Send) og CTS (Clear To Send) er en flyt-kontroll mekanisme som blir benyttet av 802.11-nettverksprotokollen. Denne mekanismen sikrer at noder ikke ødelegger for hverandre ved kommunikasjon på et nettverk.
2.Ønsket funksjonalitet
...
3.Virkemåte
Målet med RTS/CTS er å forhindre kollisjoner på nettverket. Et typisk eksempel på dette er et såkalt "hidden-node problem", hvor to eller flere noder kan kommunisere med et felles aksesspunkt men er for langt unna til å kommunisere med hverandre.
Da kan ikke en node vite om aksesspunktet kommuniserer med en annen og dermed har man ingen kontroll på data som kommer til aksesspunktet som fort ender i kollisjoner. Data som kolliderer blir da korrupt og man må prøve kommunikasjonen på nytt,
dette resulterer i stor "overhead". For å forhindre denne belastningen på nettverket finnes det flere løsninger, blant annet å forsterke signalet til nodene, men en bedre og mer generell løsning er bruken av "RTS/CTS-handshake".
Å bruke RTS/CTS vil også resultere i større overhead, så om man ikke har noen skjulte noder på nettverket vil bruken av dette redusere gjennomstrømmingen, men i praksis vil denne reduksjonen være mindre enn den man får ved kollisjoner.
Illustrasjon av "hidden node" problemet: Både A og C kan kommunisere med B, men de kan ikke kommunisere med hverandre. Visst A og C kommuniserer med B samtidig oppstår en kollisjon.
3.Virkemåte
RTS/CTS fungerer ved at en node sender en RTS til mottakernoden, visst mottakernoden er klar til å motta data sender den en CTS tilbake til alle noder i området sitt(alle noder den kan se på nettverket).
Nodene vil da kunne se av CTS'en hvem som kan kommunisere med mottakernoden for hvor lenge og vil dermed vente med å kommunisere i denne perioden.
Når denne perioden er over kan andre noder prøve å kommunisere ved å sende en RTS og prosessen gjentas.
Illustrasjon av kommunikasjon med RTS/CTS: A vil kommunisere med B og sender en RTS, B er klar til å motta og sender tilbake en CTS til alle noder i nærheten. C vet da at A kommuniserer med B i x antall sekunder og vil dermed vente.
RTS-rammen inneholder følgende punkter
Navn | Beskrivelse |
---|---|
Frame control | Bits som blir brukt for å angi at det kommer en RTS-ramme. Rammetypen til RTS har bitsene 1011 |
Duration | Antall millisekunder overføringen trenger |
Receiver Address | Mottaker sin MAC-adresse |
Transmitter Address | Sender sin adresse |
Frame Check Sequence | Sjekksum for å kontrollere at data ikke er korrupt |
CTS-rammen inneholder:
Navn | Beskrivelse |
---|---|
Frame control | Brukt for å spesifiser at rammen er av type CTS. Rammetypen til CTS har bitsene 1100 |
Duration | Perioden aksesseringspunktet kommuniserer med noden |
Reciever Adress | Mottaker sin MAC-adresse |
Frame Check Sequence | Sjekksum for å kontrollere at data ikke er korrupt |
4.Referanser
https://en.wikipedia.org/wiki/Multiple_Access_with_Collision_Avoidance_for_Wireless
https://www.safaribooksonline.com/library/view/80211-wireless-networks/0596100523/ch04.html
...