INF1040 Oppgavesett 6: Lagring og overføring av data (Kapittel 1.5 1.8) Husk: De viktigste oppgavetypene i oppgavesettet er Tenk selv -oppgavene. Fasitoppgaver Denne seksjonen inneholder innledende oppgaver hvor det finnes fasit bakerst i oppgavesettet. Det er ikke nødvendigvis meningen at du skal gjøre alle disse oppgavene. Gjør gjerne noen oppgaver av hver type, og gå videre hvis du synes det går greit. Gjør flere oppgaver av samme type hvis du synes det er vanskelig og ønsker mer trening. 1. Bruk ASCII-tabell i figur 2-7 i læreboken, samt et ekstra paritetsbit i henhold til odd parity, og finn den binære representasjonen av følgende tekster: (a) God dag (b) 10+10=20 2. Bruk ASCII-tabell i figur 2-7 i læreboken, samt et ekstra paritetsbit i henhold til even parity, og finn den binære representasjonen av følgende tekster: (a) God dag (b) 10+10=20 3. Gitt følgende feilkorrigerende kode: Symbol Kode A 000101 E 001010 G 010110 H 011001 L 100011 R 101100 T 110000 V 111111 1
Bruk denne tabellen til å dekode følgende ord: (a) 110000 100101 100011 001011 (b) 110000 000101 000011 100010 (c) 111001 100101 100011 111111 110001 (d) 000011 000100 010110 001010 001100 (e) 101100 001011 001000 101011 110011 101010 Flervalgsoppgaver I følgende oppgaver er det oppgitt fem alternativer der nøyaktig ett svar er riktig. 4. Hvilke lag i internett protokoll-stakken brukes ved videresending av meldinger? (a) Bare link. (b) Nettverk og link. (c) Transport og link. (d) Transport, nettverk og link. (e) Applikasjon, transport, nettverk og link. 5. Ved sending av en melding over internett, hvilken av følgende oppgaver utføres av transport-laget? (a) Dele opp lange meldinger i mindre enheter (pakker). (b) Tilordne foreløpig adresse til hele meldingen. (c) Tilordne foreløpig adresse til hver enkelt pakke i meldingen. (d) Tilordne endelig adresse til hele meldingen. (e) Sende hver enkelt pakke i meldingen til den angitte adressen. 6. Ved sending av en melding over internett, hvilken av følgende oppgaver utføres av nettverks-laget? (a) Dele opp lange meldinger i mindre enheter (pakker). (b) Tilordne foreløpig adresse til hele meldingen. (c) Tilordne foreløpig adresse til hver enkelt pakke i meldingen. (d) Tilordne endelig adresse til hele meldingen. (e) Sende hver enkelt pakke i meldingen til den angitte adressen. 2
7. Anta at vi skal sende bitmønsteret 10110111 10111110 10001000 under HDLC-protokollen. Hvor mange ganger må vi gjøre bit-stuffing? (a) 0 (b) 1 (c) 2 (d) 3 (e) 4 8. Anta at vi skal sende bitmønsteret 11111111 11111111 under HDLCprotokollen. Hvor mange ganger må vi gjøre bit-stuffing? (a) 0 (b) 1 (c) 2 (d) 3 (e) 4 9. Anta at HDLC-protokollen brukes og at mottakeren har mottatt en 0 og deretter fem 1-er biter. Så kommer en 0. Hva skal mottakeren gjøre da? (a) Kaste 0-biten. (b) Erstatte 0-biten med en 1-er bit. (c) Sette inn en 1-bit før den siste 0-biten. (d) Anta at denne bitsekvensen er (en del av) et flagg. (e) Ikke noe spesielt, bare fortsette å motta biter. 10. Anta at HDLC-protokollen brukes og at mottakeren har mottatt en 0 og deretter fem 1-er biter. Så kommer en 1-er til. Hva skal mottakeren gjøre da? (a) Kaste 1-biten. (b) Erstatte 1-biten med en 0-er bit. (c) Sette inn en 0-bit før den siste 1-biten. (d) Anta at denne bitsekvensen er (en del av) et flagg. (e) Ikke noe spesielt, bare fortsette å motta biter. 3
11. De følgende fem bytene er opprinnelige kodet ved hjelp av odd parity. I hvilken av dem har det garantert skjedd en feil? (a) 00100110 (b) 10001000 (c) 10010010 (d) 11001011 (e) 11001101 12. De følgende fem bytene er opprinnelige kodet ved hjelp av even parity. I hvilken av dem har det garantert skjedd en feil? (a) 00001001 (b) 00111100 (c) 10100011 (d) 10101000 (e) 11001100 13. Anta at data overføres som en åtte biters bytes inkludert en partitetsbit. Hvilken påstand er korrekt? (a) Ved hjelp av paritetsbiten er det mulig å avsløre alle feil i overføringen av byten. (b) Ved hjelp av paritetsbiten er det mulig å avsløre en feil i overføringen av byten, og korrigere denne feilen. (c) Ved hjelp av paritetsbiten er det mulig å avsløre at nøyaktig en bit er feilaktig overført. (d) Ved hjelp av paritetsbiten er det mulig å avsløre at et ulike antall biter er feilaktig overført. (e) Ved hjelp av paritetsbiten er det mulig å avsløre at et like antall biter er feilaktig overført. 14. Gitt en feil-korrigerende koding der Hamming-avstanden mellom ethvert par av bitmønstre er minst fem. Ved bruk av denne koden, hvilken av følgende påstander er korrekt? (a) Kan korrigere inntil en feil, og oppdage inntil tre feil. (b) Kan korrigere inntil en feil, og oppdage inntil fire feil. (c) Kan korrigere inntil to feil, og oppdage inntil to feil. (d) Kan korrigere inntil to feil, og oppdage inntil tre feil. (e) Kan korrigere inntil to feil, og oppdage inntil fire feil. 4
Tenk selv -oppgaver 15. Bit-stuffing i HDLC Anta at vi skal sende bitmønsteret 0101 1111 0101 1111 1100 under HDLCprotokollen. (a) Vis bitmønsteret som sendes over sambandet. (b) Vis at algoritmen som fjerner innsatte 0 er fra det oversendte bitmønsteret virkelig fører til at vi gjenvinner det opprinnelige bitmønsteret. 16. Paritetsbit Gitt følgende fem byter: 00010000 10010101 10100101 11000111 11010111 (a) Anta at disse er kodet med odd parity. i. For hvilke av bytene vet du sikkert at det har skjedd en feil? ii. For hvilke av bytene vet du sikkert at det ikke har skjedd en feil? (b) Anta at disse er kodet med even parity. i. For hvilke av bytene vet du sikkert at det har skjedd en feil? ii. For hvilke av bytene vet du sikkert at det ikke har skjedd en feil? 17. Feilkorrigerende koding (a) Lag en feilkorrigerende koding for symbolene,, og som bruker bitmønstre av lengde åtte og slik at Hamming-avstanden mellom ethvert par av bitmønstre er minst fem. (b) Bruk denne kodingen til å finne den binære representasjonen av de to sekvensene i. ii. (c) Endre tilsammen ni bit i hver av de to sekvensene over. Bruk så kodingen fra oppgave (a) og svar på følgende spørsmål: i. Hvilke av de introduserte feilene er du i stand til å oppdage? ii. Hvilke av de introduserte feilene er du i stand til å korrigere (og få riktig svar)? 18. Signalhastighet og overføringskapasitet Forsinkelser i sambandet skyldes dels begrensninger i signalhastigheten, dels i overføringskapasiteten. Vi er ofte interessert i forholdet a = T p T x 5
der signalforsinkelsen T p er avstand i meter dividert med signalhastighet i m/s (meter per sekund), dvs T p = avstand signalhastighet og kapasitetsforsinkelsen T x er antall biter som skal overføres dividert med overføringskapasiteten i bps (bits per sekund), dvs T x = antall biter kapasitet Hvis a < 1, bidrar overføringskapasiteten mest til forsinkelsen. Hvis a > 1, bidrar signalhastigheten mest til forsinkelsen. Hvis a = 1, bidrar overføringskapasitet og signalhastighet like mye. Anta at vi skal overføre en melding på 1000 biter. Bestem forholdet a for følgende samband, under forutsetning av at signalhastigheten er 200 000 000 m/s i kobberledninger, 300 000 000 m/s i fritt rom: (a) 100 m tvunnet parkabel med overføringskapasitet 10 kbps (dvs 10 000 bps). (b) 10 km koaksialkabel med overføringskapasitet 1 Mbps (dvs 1 000 000 bps). (c) 50 000 km fritt rom (satelittsamband) med overføringskapasitet 10 Mbps (dvs 10 000 000 bps). (d) I tilfelle (c), hvor mange biter vil senderen ha sendt før den første biten når fram til mottakeren? 19. Dataoverføring med sykkel (a) En syklist som sykler 18 km/t har med seg en minnepinne med 1 GB data (dvs 1 10 9 byte med data). For hvilke distanser overfører syklisten dataene fortere enn et datasamband med overføringskapasiteter i. 9600 bps ii. 10 Mbps (b) Anta at syklisten istedenfor har med seg 1 dobbeltsidig tolags DVDplate med 17 GB med data. For hvilke distanser overfører nå syklisten dataene fortere enn et datasamband på i. 9600 bps ii. 10 Mbps (c) Ville det være en god ide å dekke en stor del av dataoverføringsbehovet med raske syklister som transporterer DVD-plater? Hvilke ulemper ser du med denne løsningen? I hvilke situasjoner kunne den være akseptabel, og i hvilke ikke? 6
Prøv selv -oppgaver Ingen Prøv selv -oppgaver denne gang. Programmeringsoppgaver (for deg som tar/har tatt INF1000) Ingen programmeringsoppgaver denne gang. 7
Fasit til fasitoppgaver og flervalgsoppgaver Hvis du finner feil i fasiten er det fint om du gir beskjed om dette ved å sende en mail til ragnhilk@ifi.uio.no 1. Det er ikke angitt i oppgaveteksten om paritetsbitet skal plasseres først eller siste i hver tegn. Plasseres det først (mest signifikante bit), blir den binære representasjonen: (a) 11000111 11101111 01100100 00100000 01100100 01100001 01100111 (b) 00110001 10110000 10101011 00110001 10110000 00111101 00110010 10110000 Plasseres paritetsbitet sist (minst signifikante bit) blir den binære representasjonen: (a) 10001111 11011111 11001000 01000000 11001000 11000010 11001110 (b) 01100010 01100001 01010111 01100010 01100001 01111010 00110010 01100001 2. Plasseres paritetsbitet først (mest signifikante bit), blir den binære representasjonen (a) 01000111 01101111 11100100 10100000 11100100 11100001 11100111 (b) 10110001 00110000 00101011 10110001 00110000 10111101 10110010 00110000 Plasseres paritetsbitet sist (minst signifikante bit) blir den binære representasjonen: (a) 10001110 11011110 11001001 01000001 11001001 11000011 11001111 (b) 01100011 01100000 01010110 01100011 01100000 01111011 00110011 01100000 3. (a) TALE 4. (b) 5. (a) 6. (c) 7. (b) (b) TALL (c) HALVT (d) LAGER (e) REELLE 8
8. (d) 9. (a) 10. (d) 11. (b) 12. (d) 13. (d) 14. (e) 9