1 / 44

6558/G558 DATAKOMMUNIKATION

6558/G558 DATAKOMMUNIKATION. Kapitel 2: Fysisk nivå and datalänksnivå (Physical and Data link). Innehåll. Kodning av bitar med fysiska signaler Inramning Feldetektion (inte felkorrigering!) Glidfönsteralgoritmen (sliding window algorithm). Kodning av bitar.

elia
Télécharger la présentation

6558/G558 DATAKOMMUNIKATION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6558/G558DATAKOMMUNIKATION Kapitel 2: Fysisk nivå and datalänksnivå (Physical and Data link)

  2. Innehåll • Kodning av bitar med fysiska signaler • Inramning • Feldetektion (inte felkorrigering!) • Glidfönsteralgoritmen (sliding window algorithm)

  3. Kodning av bitar • Signaler framskrider i ett fysikaliskt medium • modulering av elektromagnetiska vågor • variera t.ex. spänning • Koding av binärt data i signaler • t.ex. 0 som låg signal och 1 som hög signal • detta kallas Non-Return to Zero (NRZ)

  4. Shannons teorem • Hur många bitar per sekund bps kan man maximalt skicka igenom ett fysikaliskt medium? • Antaganden: • signalen använder frekvenser från f1 till f2 • signalen har styrkan S Watt och bruset N Watt • Claude Shannon: max bps = (f2-f1)log2[ (S+N)/N ]

  5. Kodningsmetoder • Non-Return to Zero Inverted (NRZI) • Övergå från nuvarande signal till den andra för att beteckna 1, hålls kvar vid nuvarande signal för att beteckna 0 • Manchester • Beräkna NRZ och sänd XOR(NRZ,clock) • Används i Ethernet

  6. Kodningsmetoder

  7. Kodningsmetoder • 4B/5B • varje 4-bits sekvens kodas med 5 bitar • välj 5-bitssekvenser som har högst en nolla i början och högst 2 nollor i slutet • Resultat: aldrig fler än 3 konsekutiva nollor • 5-bitskoderna skickas enligt NRZI

  8. Inramning (frames) • Bitsekvenser bryts ner till ramar • Utförs av nätverksadaptorn

  9. Inramningsmetoder • Vaktpostmetoden (sentinel) • Speciella 8-bitars tecken betecknar kända ställen i ramen • exempel på protokoll: BISYNC • potentiellt problem: de speciella tecknen finns i nyttolasten • lösning: escape-karaktär, kallas DLE • sändaren: sätt in en extra DLE framför alla specialtecken SYN, SOH, STX, ETX, DLE i nyttolasten • mottagaren: ta bort DLE och godkänn det följande tecknet utan att tolka det

  10. Inramningsmetoder • Bit stuffing • ramen kantas av ett speciellt bitmönster: 01111110 • ex.: HDLC, SDLC, PPP • potentiellt problem: det speciella mönstret finns i nyttolasten • lösning: bit stuffning • sändaren: sätt in en 0 efter 5 konsekutiva ettor • mottagaren: ta bort nollan om den kommer efter fem ettor

  11. Inramningsmetoder • Räknare (counter) • inkludera nyttolastens längd i headern • problem: räknaren får ett eller flera bitfel • lösning: kontrollsumma CRC • exempel: DDCMP

  12. Feldetektering • I princip en omöjlig uppgift! • Målsättning • tillför så få extra bitar som möjligt i ramen för feldetektering • undersök vilka bitfel som är vanliga och välj en feldetektionsmetod som biter på dessa fel • uppskatta hur ofta och vilka fel som slinker igenom

  13. Bitparitet • 1-dimesionell paritet: • addera en paritetsbit för t.ex. varje byte eller 7 bitar. • 2-dimensionell paritet • upptäcker och korrigerar(!) enbitsfel • upptäcker tvåbitsfel och kan ibland korrigera

  14. Cyclic Redundancy Check CRC • Addera k bitar redundant data till ett meddelande av längd n bitar • typiskt k << n • t.ex k = 32 och n = 12000 (1500 bytes) • Representera n-bitars meddelandet såsom ett polynom av grad n-1 • t.ex. MSG = 10011010 som M(x) = x7+x4+x3+x1 • Välj divisionspolynom C(x) av graden k • t.ex. k=3, C(x) = x3+x2+1

  15. CRC: Principer • Modifiera M(x) så att man sänder ett polynom P(x) som är jämnt delbart med C(x) • skjut M(x) k steg åt vänster: M(x)xk • beräkna resten R(x) = M(x)xk/C(x) • P(x) = M(x)xk + R(x), med egenskapen P(x)/C(x) = 0 • Mottagaren får polynomet P(x)+E(x) • E(x) betyder att bitfel uppstått • Dividera P(x)+E(x) med C(x) och se vad resten blir: • om [P(x)+E(x)]/C(x) <> 0 då har vi säkert bitfel • om [P(x)+E(x)]/C(x) = 0 inga bitfel??? Tyvärr, om E(x)/C(x) = 0 dvs. om felet är delbart med CRC-polynomet upptäcks inte felet!

  16. CRC-division

  17. CRC • Alla enbitsfel kan upptäckas (xk och x0 bör finnas i CRC-polynomet) • Om CRC-polynomet har faktorn (x+1) upptäcks alla fel med udda antal bitar • Burst-fel (konsektuiva bitar är felaktiga) upptäcks finns bursten längd < k bitar • Många burstfel längre än k upptäcks också • t.ex. CRC-32 = x32+x26+x23+x22+x16+x12+x11+x10 +x8+x7+ x5+x4+x2+x+1 (Ethernet)

  18. Internet Checksum • Betrakta bitarna som skall överföras som en sekvens av 16-bitars heltal. • Summera dem enligt ettans komplement • Tag ettans komplement av summan

  19. Kvittering och Timeout

  20. Stop-and-Wait • Problem: att utnyttja länkkapaciteten till fullo • Exempel: • 1.5 Mbps link x 45 ms RTT = 67.5 Kb = 8 KB • ramar med 1 KB innebär 1/8 effektivitet

  21. Glidfönster (Sliding Window) • Tillåter flera utstående ramkvitteringar • Högsta antalet okvitterade ramar kallas ”fönster”

  22. < SWS ─ ■ ■ ■ ■ ■ ■ LAR LFS Sliding Window: sändaren • Beteckna varje ram med en sekvensnummer SeqNum • Upprätthåll tre tillståndsvariabler • send window size SWS • last acknowledgement received LAR • last frame sent LFS • Se till att LFS - LAR <= SWS • Inkrementera LAR när ACK kommer in • Håll SWS stycken ramar i buffern

  23. < ─ RWS ■ ■ ■ ■ ■ ■ LFR LAF Sliding Window: mottagaren • Upprätthåll tre tillståndsvariabler • receive window size RWS • largest acceptable frame LAF • last frame received LFR • Se till att LFA – LFR <= RWS • Ram nr SeqNum inkommer • om LFR < SeqNum <= LFA accepteras ramen • om SeqNum <= LFR eller SeqNum > LFA förkastas ramen • Skicka kumulativa ACKs

  24. Sekvensnumren SeqNum • SeqNum får ändliga värden, och värdena upprepas cykliskt • Antalet olika värden för SeqNum måste vara större än antalet utstående ramar • SWS <= MaxSeqNum-1 är inte tillräckligt • Betrakta ett tre bitars SeqNum, (0,...,7) • Antag SWS = RWS = 7 • sändaren skickar ramarna 0..6 • ramarna kommer fram men ACK tappas bort • sändaren skickar på nytt 0..6 • mottagaren väntar på att 7, 0..6 kommer! • Välj SWS < (MaxSeqNum+1)/2 • SeqNum glider fram inom två SWS/RWS

  25. Nätverkstopologier • Bus (Ethernet) • Token ring (FDDI) • Trådlös (802.11)

  26. Ethernet: översikt • Historia • utvecklad vid Xerox PARC i mitten av 1970-talet • bakgrund i Aloha paketradionätet i Hawaii • standardiserad av Xerox, DEC och Intel 1978 • Nära IEEE 802.3 specifikationen • CSMA/CD • Carrier Sense • Multiple Access • Collision Detection • Ramformat

  27. Ethernet: adresser • Adress • unik, 48 bitar, unicast adress för varje adaptor • exempel: 8:0:e4:b1:2:fe • broadcast: alla är ettor ff:ff:ff:ff:ff:ff • multicast: första biten är 1 • Bandbredd: 10 Mbps, 100 Mbps, 1 Gbps • Kabel: 10Base5, 10BaseT • Accessproblem: distribuerad algoritm som garanterar rättvis åtkomlighet

  28. Ethernet topologier • Kablering: 2500 m, 500m segment, 4 repeaters ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ Repeater Host

  29. Ethernet topologier • Hub-topologi

  30. Ethernet: Sändningsalgoritm • Om kabeln är ledig • skicka genast (detta kallas 1-persistent = skickar med sannolikheten 1 om kabeln är ledig) • skicka högst 1500 bytes data • vänta 9.6 ms mellan ramarna • Om kabeln är upptagen • vänta tills den blir ledig och skicka då genast

  31. Ethernet: kollisioner • Skicka och lyssna samtidigt • Om kollision inträffar • skicka 32 bitar ”jamming” och sluta • minimum ramlängd är 512 bitar = 64 bytes = header + 46 bytes nyttolast (+ preamble) • vänta och försök skicka på nytt enligt exponentiell back-off: • 1 ggn: efter 0 eller 51.2 ms • 2 ggn: efter 0, 51.2 ms, 102.4 ms eller 153.6 ms • n:te ggn: k x 51.2 ms , k <= n slumpmässigt vald • ge upp när n är stort, t.ex. n = 16

  32. Ethernet: kollisioner

  33. Token Ring • 16 Mbps IEEE 802.5 (tidigare IBM ring) • 100 Mbps Fiber Distributed Data Interface FDDI

  34. Token Ring: översikt • Grundläggande princip • ramar cirkulerar i en riktning • en token (speciellt bitmönster) roterar i ringen • den som har token får sända • ta bort de egna ramarna när de kommer runt • noderna får chans till nättillgång i tur och ordning • Ramformat

  35. Token ring: token release • När släpps token ? • släpp token genast då sista biten gått ut (immediate release) • släpp token då sista biten gått runt (delayed release)

  36. Token timing • Token Holding Time THT • övre gräns för hur länge en nod får hålla token • Token Rotation Time TRT • tiden för hur länge det tar för token att gå runt ett varv • TRT <= (Aktiva noder) x THT + RingLatens • Target Token Rotation Time TTRT • överenskommen övre gräns för TRT

  37. Token Timing • Varje nod mäter TRT • om uppmätt TRT > TTRT: sänd inte och ge token vidare • om uppmätt TRT < TTRT: token är tidig och noden får sända om den vill • Två typers nättrafik • synkron: kan alltid sändas då noden får token • asynkron: kan sändas ifall token är tidig

  38. Token Maintenance • Försvunnen token • vid systemstart • bitfel som förstör den cirkulerande token • nod som höll token har kraschat • Generera en ny token • skicka ett tokenförslag med ett bud på TTRT • ta emot tokenförslag, uppdatera TTRT och skicka tokenförslag vidare • om nodens förslag gått runt sätter noden ut en ny token

  39. Trådlösa lokala nätverk • IEEE 802.11 • Bandbredd 1-54 Mbps • Fysiskt medium • spread spectrum teknik (2.4 GHz) • infrarött ljus (räckvidd 10 m)

  40. Spread Spectrum • Princip • sprid signalen över ett bredare spektrum än egentligen nödvändigt • svårare att avlyssna; man hör bara brus • Metod 1: Frekvenshoppning • hoppa pseudoslumpmässigt mellan olika frekvenser • både sändare och mottage har samma slumptalsgenerator och samma startvärde • IEEE 802.11 använder 79 st 1MHz breda frekvensband

  41. Spread Spectrum • Metod 2: direktsekvens (Direct Sequnce) • för varje bit, skicka XOR av den biten och n slumpmässiga bitar • både sändare och mottagare använder samma slumpmässiga bitar • n = 11 inom IEEE 802.11

  42. Kollisioner • Liknar Ethernet • Problem: gömda och exponerade noder

  43. Media Access • Sändare skickar RequestToSend RTS • Mottagare svarar med ClearToSend CTS • Grannarna • hör CTS: är själva tysta • hör RTS men ingen CTS: OK att skicka • Mottagaren kvitterar med ACK • grannarna tysta tills ACK hörs • Kollisioner • ingen kollisionsdetektion • noderna antar att kollision skett om inget CTS hörs • exponentiell back-off

  44. Mobilitet • Ad hoc - nätverk • Accesspunkter • ändlig räckvidd • varje mobil nod associeras till en accesspunkt

More Related