Tall og Format i Internett



Like dokumenter
Alle hele tall g > 1 kan være grunntall i et tallsystem.

Tallsystemer. Tallene x, y, z og u er gitt ved x = 2, y = 2, z = 4 og u = 2. Dermed blir =

Alle hele tall g > 1 kan være grunntall i et tallsystem.

Konvertering mellom tallsystemer

Tallsystemer. Tallene x, y, z og u er gitt ved x = 2, y = 2, z = 4 og u = 2. Dermed blir =

Digital representasjon

Kapittel 5 Nettverkslaget

Diskret matematikk tirsdag 13. oktober 2015

Modulo-regning. hvis a og b ikke er kongruente modulo m.

Potenser og tallsystemer

1.8 Binære tall EKSEMPEL

Potenser og tallsystemer

Mer om representasjon av tall

Oppsummering av Uke 3. MAT1030 Diskret matematikk. Binære tall. Oppsummering av Uke 3

INF1040 Digital representasjon TALL

Løsningsforslag Gruppeoppgaver mars 2003

Resymé: I denne leksjonen blir de viktigste tallsystemer presentert. Det gjelder det binære, heksadesimale og desimale tallsystem.

TALL. Titallsystemet et posisjonssystem. Konvertering: Titallsystemet binære tall. Det binære tallsystemet. Alternativ 1.

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

MAT1030 Forelesning 3

Kapittel 3: Litt om representasjon av tall

Oppsummering: Linjesvitsjing kapasiteten er reservert, og svitsjing skjer etter et fast mønster. Linjesvitsj

Teori og oppgaver om 2-komplement

Høgskolen i Molde Institutt for Informatikk Prøveeksamen 1 in115: Nettverksdrift Svarskisse:

TDT4110 IT Grunnkurs: Kommunikasjon og Nettverk. Læringsmål og pensum. Hva er et nettverk? Mål. Pensum

1990 første prognoser og varsler om at det ikke vil være nok IPv4 adresser til alle som ønsker det 1994 første dokumenter som beskriver NAT en

MAT1030 Forelesning 2

MAT1030 Diskret Matematikk

Norsk informatikkolympiade runde

IT Grunnkurs Nettverk 2 av 4

1 Potenser og tallsystemer

INF1400 Kap 1. Digital representasjon og digitale porter

Kapittel 2 TALL. Tall er kanskje mer enn du tror

BINÆRT TRYLLERI. Be noen tenke på et tall mellom 1 og 31, og deretter peke ut alle rutene som dette tallet er med i (se også baksiden).

Norsk informatikkolympiade runde

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Kort om IPv6 IPv6-header Adresser. IPv6-foredrag. Grunnleggende. Trond Endrestøl. Fagskolen Innlandet. 19. september 2013.

Gjennomgang av kap Kommunikasjonsformer Typer av nettverk Adressering og routing Ytelse Protokoller

Oversikt Kort om IPv6 IPv6-header Adresser. IPv6-foredrag. Grunnleggende. Trond Endrestøl. Fagskolen Innlandet. 18. september 2013.

I Kapittel 2 lærte vi om tall i alternative tallsystemer, i hovedsak om binære tall, oktale tall og heksadesimale tall.

Bakgrunn Adresser. IPv6. Gjesteforelesning ved Høgskolen i Gjøvik i faget IMT2521 Nettverksadministrasjon del 1. Trond Endrestøl. Fagskolen i Gjøvik

INF1040 løsningsforslag oppgavesett 7: Tall og geometrier

Representasjon av tall på datamaskin Kort innføring for MAT-INF1100L

Oppgaver til kapittel 19 - Kryptering og steganografi

Tall. Posisjons-tallsystemer. Representasjon av heltall. Tall positive, negative heltall, flytende tall. Tekst ASCII, UNICODE XML, CSS

Valg av kontaktpersoner/tillitsvalgte. MAT1030 Diskret matematikk. Oppsummering av kapittel 2. Representasjon av hele tall

2EOLJDWRULVNRSSJDYHQU L GDWDNRPPXQLNDVMRQ + VWHQ.,QQOHYHULQJVIULVWRNWREHU *MHQQRPJnVWRUVGDJRNWREHU

Kapittel 10 Tema for videre studier

Nettverkslaget. Fragmentering/framsending Internetworking IP

INF1040 Oppgavesett 1: Tallsystemer og binærtall

Husk å registrer deg på emnets hjemmeside!

Kapittel 3: Litt om representasjon av tall

Posisjonsystemet FRA A TIL Å

Hva består Internett av?

Datateknikk TELE1004-A 14H HiST-AFT-EDT

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2015

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2017

Matematikk for IT, høsten 2016

Opus Systemer AS 2013

Reelle tall på datamaskin

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016

1.2 Posisjonssystemer

1 Potenser og tallsystemer

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall

Programmeringsanvisning

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

Albregtsen og Skagestein: Digital representasjon Løsningsforslag til kapittel 2 Representasjon av tegn og tekster

HiST-AFT-EDT Datateknikk TELE1003-A 13H. Oppgåve 1 [15 % ; digitalteknikk] Side 1 av 10

Detaljerte funksjoner i datanett

EKSAMEN. Emne: Datakommunikasjon. Dato: 30. Nov 2016 Eksamenstid: kl. 9:00 til kl. 13:00

6107 Operativsystemer og nettverk

6107 Operativsystemer og nettverk

INF1040 Oppgavesett 7: Tall og geometrier

1 INTRODUKSJON SAMMENKOBLING AV ET INTERNETTVERK... 2

Adressetyper. IPv6. Gjesteforelesning ved Høgskolen i Gjøvik i faget IMT2521 Nettverksadministrasjon del 2. Trond Endrestøl. Fagskolen i Gjøvik

Norsk informatikkolympiade runde

Internettfrakt. Ketil Danielsen August 23, 2004

6105 Windows Server og datanett

Øvingsforelesning 5. Binær-, oktal-, desimal- og heksidesimaletall, litt mer tallteori og kombinatorikk. TMA4140 Diskret Matematikk

Tall. Ulike klasser tall. Læringsmål tall. To måter å representere tall. De naturlige tallene: N = { 1, 2, 3, }

Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004

Komnett og industriell IKT - høsten 2008 / våren 2009

Allment. Poengserie er en funksjon du finner i Ruter for å slå sammen resultatet i flere turneringer. Det kan eksempelvis dreie seg om:

Tallinjen FRA A TIL Å

Lagene spiller sammen

16 Excel triks det er smart å kunne

Kommunikasjonsnett. Et kommunikasjonsnett er utstyr (maskinvare og programvare) for utveksling av informasjon

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Obligatorisk oppgave nr 2 i datakommunikasjon. Høsten Innleveringsfrist: 04. november 2002 Gjennomgås: 7. november 2002

INF1040 Oppgavesett 14: Kryptering og steganografi

EKSAMEN. Emne: Datakommunikasjon

Digital representasjon

Krav til utskrift for EDImeldt rekommandert brev (REK)

Et 20-tallssystem. Mayaene brukte både fingre og tær; derfor 20. Ordet for 20 var i enkelte mayadialekter også ordet for mann.

in270 Datakommunikasjon, vår 03 forelesningsnotater kap og 7.1/7.2

KONTROLLSTRUKTURER. MAT1030 Diskret matematikk. Kontrollstrukturer. Kontrollstrukturer. Eksempel (Ubegrenset while-løkke)

Forelesning 2. Flere pseudokoder. Representasjoner av tall. Dag Normann januar 2008 KONTROLLSTRUKTURER. Kontrollstrukturer. Kontrollstrukturer

Transkript:

Tall og Format i Internett Ketil Danielsen ketil.danielsen@himolde.no September 7, 2006 Det ble tidligere sagt at de binære tall (0 og 1) er basis i lagring og overføring av informasjon i datasystemer og datanett. Maskinen arbeider med binære tall og IT-fagfolk snakker om desimale tall, av og til heksadesimale eller oktale tall. Dette notatet gir en innføring i digital representasjon med Internettfrakt som utgangspunkt. Verdirom I det desimale tallsystem, titalls-systemet, har vi 10 mulige verdier for et siffer: 0, 1, 2, 3, 4, 5, 6, 7, 8 og 9. Med to siffer har vi 100 mulige verdier : 0-99. Generelt sett: Med k siffer har vi 10 k mulige verdier. Og, enda mer generelt: Hvis det er b mulige tall per siffer, som for eksempel b = 10 i det desimale tallsystem, ja, da er det b k mulige verdier med k siffer. Datamaskiner arbeider med totalls-systemet, der b = 2. De eneste mulige tall er 0 og 1. Én enkelt bit er et sted som kan romme verdiene 0 eller 1 (21 = 2 mulige verdier). To bit kan romme verdiene 00, 01, 10 eller 11 (2 2 = 4 mulige). Tre bit kan romme verdiene 000, 001, 010, 011, 100, 101, 110 eller 111 (2 3 = 8 mulige). Og, k bit kan romme 2 k mulige verdier. Derfor sa vi om Internettfrakt, at med 8 bit Type of Service (TOS) i IP s pakkehode, kunne vi faktisk ha romme 2 8 = 256 ulike verdier. Mer spesifikt ville det være verdiene fra 00000000 til 11111111 i totalls-systemet, eller 0 til 255 i titalls-systemet. Sålangt er lite sagt om hvordan vi regner om et binært tall til et desimalt. Hvorfor blir 11111111 i binær fasong, 255 i desimal fasong, for eksempel? Vi begynner med det enkleste, og antar at vi har en bitposisjon tilgjengelig, at k = 1. Her er 0 2 = 0 10 og 1 2 = 1 10. Med slik subscript (nedtrekt i lavere font) indikeres hvilket tallsystem tallet er vist i. Omregning til desimalt For k = 2 var de mulige verdier 00, 01, 10 og 11. 1 Hvorfor disse skrives desimalt som 0, 1, 2 og 3 er problemet for de fleste som leser dette. 2 Reglene for omreg- 1 Notatet vil tidvis skrive tallsystemets base som subscript til tallet, for eksempel 00 2, 01 2, 10 2 og 11 2. 2 En handsopprekning viste at 5 av 30 hadde arbeidet med totalls-system fra VGS. 1

ning fra et annet tallsystem, til det desimale system (ikke andre veien) er at en tar summen av hvert siffer, etter at sifferet er mulitiplisert med tallsystemets base b opphøyd i p, der p er sifferets posisjon. Dette var tungt sagt, men lettere illustrert. For binære tall er b = 2, for desimale tall er b = 10 (for oktale tall er b = 8 og for heksadesimale tall er b = 16, men disse diskuteres ikke enda). Vi regner om tallet 10 2 fra det binære til det desimale som følger. Det er to siffer i posisjon 0 og 1, henholdsvis. I posisjon 0 (lengst til høyre) står en 0, og i posisjon 1 (nest lengst til høyre står en 1). Den desimale versjon av tallet er da Et litt lengre tall er 11001 som blir 10 2 = 0 2 0 + 1 2 1 = 0 + 2 = 2 10. 11001 2 = 1 2 0 + 0 2 1 + 0 2 2 + 1 2 3 + 1 2 4 = 1 + 0 + 0 + 8 + 16 = 25 10. Det er viktig å kunne potensrekka for 2, med andre ord, hvis en skal drive med mye slik omregning. I relasjon til TOS-feltet: Når en bare har fire bit igjen, etter at de fire første er gitt bort til flagging av kvalitetsønske: Hvilke verdier kan en angi med fire bit hvis en får ha de til et spesielt formål? Laveste verdi er 0000 2 som blir 0 10, høyeste er 1111 2 som blir 15 10, da 1111 2 = 1 2 0 + 1 2 1 + 1 2 2 + 1 2 3 = 1 + 2 + 4 + 8 = 15 10. Tidligere ble det sagt at k = 4 bit ga 2 k = 2 4 = 16 mulige mulige verdier. Vel, disse mulige verdiene er da desimale 0, 1, 2... 14, 15 og ikke rekka fra 1 til 16. Senere vil notatet komme tilbake til hvordan dette feltet faktisk har blitt brukt opp gjennom tidene. I det heksadesimale tallsystem er det 16 mulige verdier som vi konsumerer 4 bit for å representere. I det oktale er det 8 mulige, og vi trenger bare 3 bit til representasjon av hvert oktale tall. I tabellen under kan en ane et system i bitvariasjonene etterhvert som det desimale tallet stiger, 2

desimal binær heksa oktal b = 10 b = 2 b = 16 b = 8 0 00000 0 0 1 00001 1 1 2 00010 2 2 3 00011 3 3 4 00100 4 4 5 00101 5 5 6 00110 6 6 7 00111 7 7 8 01000 8 10 9 01001 9 11 10 01010 A 12 11 01011 B 13 12 01100 C 14 13 01101 D 15 14 01110 E 16 15 01111 F 17 16 10000 10 20 17 10001 11 21... I tabellen er det ikke tatt med innledende null er, men de kunne godt legges til for å sikre at tallene blir like lange. Det endrer ikke verdien og er ikke viktig. Adressefelt I dette avsnittet diskuteres regning med IP-adressene, disse som ble introdusert tidligere som 32 bit og blant annet figurerer i IP-pakkenes felt for avsender og mottaker. Det viktigste med en IP-adresse er at ruterne kan bruke den til sitt viktigste arbeid, nemlig styring av pakker langs en (eller flere) korteste vei(er) mot mottaker (unicast) eller mottakere (multicast). Mottakeren er en innlink i en maskin, og adressen til denne er gitt av den som disponerer det aktuelle adresserommet for den organisasjonen, der maskinen befinner seg. Adresserommet er tildelt av en annen organisasjon lenger opp i hierarkiet for adresseforvaltning i Internettet. Som eksempel om forvaltningen kan nevnes at labnettet har et lite adresserom tildelt av IT-senteret ved skolen. Hver maskin i labnettet har en link inn i Internettet, og denne skal ha egen IP-adresse. Dette er ett av flere adresserom skolen disponerer, og som er gitt til skolen av det nasjonale akademiske nett, Uninett. Og, til sist har Uninett blitt tildelt ett sett med ganske store adresserom til intern fordeling blant norske skoler. Hvis labnettet legges ned kan adresserommet gjenbrukes til dekning av nye lokale behov. Hvis labnettet blir for lite, kan det kompletteres med flere ledige adresserom (hvis det finnes). Og, labnettet kan deles inn i flere undernett, noe som kalles subnetting, og blir sentralt etterhvert i diskusjonen om adressering. 3

Men, hensikten er relasjon til tallsystemer, og da kan en begynne med IPadressenes gruppering inn i fem hovedgrupper: A, B, C, D og E. Labnettet er et rom med sammenhengende adresser, alle er B-adresse som en ser av de tre initielle bit i adressen som er 10. Resten av adressen er 30 bit og er todelt: NettID og vertsid. Ruterne vil videresende en pakke etter hvilken NettID, bortsett fra siste ruter (som ligger i mottakerens nett) som leverer direkte etter mottakeradressens vertsid. klasse prefix type nett nettid hostid A 0 store 7 24 B 10 mellomstore 14 16 C 110 mindre 21 8 D 1110 multicast - - E 1111 eksperimentell - - Labnettet er i dotted decimal notation (DDN) 158.38.74/25, det vil si at de 25 initielle bit er nett, og de syv siste er vertsid. Dette er settingen for hvordan omregning fra desimalt utføres. Omregning fra desimalt Generelt sett (og tungt forklart) er overgangen fra desimalt slik at en skal finne hvilket tall som skal inn i alle sifferposisjoner i det nye tallet. Restverdien utsettes for en heltalls-divisjon med b k inntil en har null i rest. Det siffer som skal inn i posisjon k i det nye tallet er resultatet av heltalls-divisjonen (se illustrasjons-tabell under). En av maskinene er 158.38.74.136, som har binær verdi utledet under. I tabellen vises omregningen av 158, og dette er fra desimal til to-tallssystemet (binær), derfor er b = 2 i divisorkolonnen. Senere skal vi ta overgangen mot oktale (b = 8) og heksadesimale tallsystem (b = 16). 4

posisjon desimal b k = verdi i posisjon k (k) rest 2 k i binærtall 7 158 / 128 = 1-128 6 30 / 64 = 0-0 5 30 / 32 = 0-0 4 30 / 16 = 1-16 3 14 / 8 = 1-6 2 6 / 4 = 1-4 1 2 / 2 = 1-2 0 0 / 1 = 0-0 Merk, at tegnet for heltalls-divisjon er skråtegnet (slash). Resultatet er kun heltallsdelen, og desimalene er utelatt. De første 8 bit av de 32 bit i numerisk IP-adresse blir da: 158 10 = 10011110 2. De tre siste oktettene (8 bit kalles oktett, et annet navn er det mye mer kjente Byte) finner vi ut med en kalkulator, for eksempel calc.exe i Windows: 38 10 = 100110 2 = 00100110 2, 74 10 = 1001010 2 = 01001010 2, og 136 10 = 10001000 2. Tabellen under viser helheten: 158 38 74 136 10011110 00100110 01001010 10001000 Det er de initielle bit som avdekker adressens klasse: 10 betyr klasse B. Hvis vi tar samme 158 og lager oktal representasjon blir gangen: posisjon desimal b k = verdi i posisjon k (k) rest 8 k i oktaltall 2 158 / 64 = 2-128 1 30 / 8 = 3-24 0 6 / 1 = 6-6 Vi sier at 158 10 = 236 8. Tilsist vises at 158 10 = 9C 16. 5

posisjon desimal b k = verdi i posisjon k (k) rest 16 k i heksatall 2 158 / 256 = 0-0 1 158 / 16 = 9-144 0 14 / 1 = C -14 I en aktuell pakkefanger (sniffer) vises avsenderadresse for en utsendt HTTPpakke heksadesimalt: 9e 26 52 59 (store og små bokstaver er likeverdige). Her vil 9e representere 8 bit, der 9 er 1001 og e er 1110. I tabellen under vises hele oversettingen til 2-tallssystemet. Merk, at prefix 0x denne gang er brukt for heksadesimale tall, og er heller ikke uvanlig notasjon: 0x9e 0x26 0x52 0x59 1001 1110 0010 0100 0101 0010 0101 1001 158 38 82 89 En noterer seg at her dreier det seg om en annen maskin med annen IP-adresse enn den som ble eksemplifisert tidligere. Uansett, tilsammen er det 32 bit. Desimal versjon er vist i tredje linje, og merk at en her beveger seg fra totallssystemet til 10-tallssystemet, motsatt av prosedyren over. I tabellen under vises oversettelsen av siste oktett: posisjon verdi i posisjon k b k = (k) i binærtall 2 k 7 0 128 = 0 6 1 64 = 64 5 0 32 = 0 4 1 16 = 16 3 1 8 = 8 2 0 4 = 0 1 0 2 = 0 0 1 1 = 1 = 89 Et datasystem er fullt av adresser av ulike typer og lengder. En annen type adresse som ofte helst vises heksadesimalt, fordi den er lang (48 bit) er hardwareadressen. Ethernet-adresse skrives vanligvis for eksempel 00:b0:d0:20:da:59 som tilsvarer 12 heksadesimale tall, som igjen (fordi ett heksadesimalt tall trenger 4 bit) summerer til 48 bit. Adressen skrives av og til 0x00b0d020da59 uten at det blir lettere av den grunn. Men, det er lettere enn om 2-tallssystemet ble brukt. Varierende definisjon og bruk Hittil har vi brukt TOS-feltet som eksempel i arbeidet med å lære om tall og formater i Internett, og egentlig i datasystemer generelt. Og, det ble sagt at 6

TOS-feltet er et fast sted i IP-pakkens hode, der avsender kan si hvilken kvalitet som ønskes i befraktningen. I dette avsnittet sies litt om posisjonering av bits i et større avsatt felt, altså noe om formatet i et pakkehode. Diskusjonen er basert på RFC3168 som er fra September 2001, og omhandler alternative bruksområder for dette 8-bits felt. I praksis har støtten for TOS-feltet i Internettet vært svært varierende, og egentlig skuffende. Det vil si at uansett hvor mye senderne markerer sine ønsker, er det usikkert om noen internt i nettet egentlig tar hensyn til dette. I den senere tid har andre initiativ til modernisering av IP tatt i bruk TOS-feltet til andre formål, og tatt utgangspunkt i at dagens TOS-bruk er død, og vi må se om vi kan bruke det på andre måter. Det var RFC791 som definerte TOS-feltet, og det ble satt opp et 8-bits felt der bitposisjonene var benevnt b0, b1... b7. I RFC791 var b0-b2 avsatt til presedens, b3-b5 til TOS og b6-b7 udefinert (til fremtidig bruk). I RFC1122 ble b6-b7 tatt med i TOS-gruppen som nå inkluderte b3-b7. I RFC1349 ble siste bit (b7) tatt ut av TOS-gruppen og erklært som MBZ (must be zero); i realiteten avsatt til fremtidige formål. Differentiated Services Midt på 90-tallet begynte eksperimentering med Differentiated Services (DS) som skulle gi ulike klasser ulik betjening i ruterne. I essens ville dette bety at man kunne gi en slags garanti for et minimum av ressurstilgang for en gitt klasse, en forbedring fra det å gi alle samme leveringsforhold. I DS må avsender indikere hvilken trafikkgruppe avsenderen er med i, og b0-b5 i TOS-feltet ble avsatt til noe som kalles DS Code Point, og b6-b7 ble da avsatt til fremtidig bruk. Tidligere definisjon av TOS-feltet var nå lagt bort for godt. Men, dette er en eksperimentell standard, ikke en vedtatt standard. Disse seks bit gir 2 6 = 64 mulige verdier, altså 64 ulike koder. Disse er av Internet Address and Numbering Agency (IANA) gruppert i pools. Et blikk inn i inndelingen er nyttig for å illustrere tallsystemet. Stressindikatorer pool kodeområde bruksområde (viser kun b0-b5) 1 xxxxx0 standardisering (000000-111110) 2 5 = 32 ulike koder 2 xxxx11 eksperiment og lokal bruk (000011-111111) 2 4 = 16 ulike koder 3 xxxx01 eksperiment og lokal bruk, men kan omgjøres til standardisering (000001-111101) 2 4 = 16 ulike koder I et nytt utkast til standard fra IETF er bit 6 og 7 av TOS-feltet angitt som et sted der ruteren kan angi til mottakeren at det er belastningsproblemer, i noe 7

som kalles en Explicit Congestion Notification (ECN). Ønsket fra ruteren er at senderen som skal oversende et bilde, videokonferanse eller annet, reagerer på signalet. b6-b7 betydning 00 endemaskinene forstår ikke ECN (settes av senderen) 01 ECN-transport kapabilitet 1, ECT(1) (settes av senderen) 10 ECN-transport kapabilitet 2, ECT(2) (settes av senderen) 11 CE (Congestion Experienced) (settes av ruteren) Dette demonstrerer hvordan k = 2 bit, nemlig b6 og b7 i TOS-feltet, gir fire mulige verdier. I høyre kolonne vises hva verdien indikerer. Det antas nå at den opprinnelige bruk av TOS-feltet er forgangen, og at en i noen år fremover vil bruke det som nevnt over: 6 bit til DSCP og 2 bit til ECN. Oppgave Som tidligere er det veldig nyttig å gjøre oppgaver for å befeste stoffet. Lag tabell som viser verdirommet for k = 1, 2,..., 8 siffer i alle fire tallsystem. Venstre kolonne viser k, neste kolonne viser laveste og høyeste verdi, tredje kolonne viser antall verdier i verdirommet. Bruk gjerne maskinens kalkulator. Anta at vi satt og skulle planlegge anvendelsen av TOS-feltet. Hvor mange bit var nødvendig for at senderne i TOS-feltet skulle kunne indikere tre ulike graderinger for throughput (leveringskvalitetene ikke viktig, middels viktig eller veldig viktig ). 8