Workshops om netværk 1. Intro + netværkslag 2. Transportlag 3. Socket programmering 4. TBA Se evt. www.control.aau.dk/~jens/teaching/itc_2011
Sådan virker Internettet Jens Myrup Pedersen Lektor, jens@es.aau.dk
Overblik Hvordan kan data sendes over et netværk og hvordan kan det nå frem til den rigtige destination? Eksempler: World Wide Web (WWW) og Email 1. Introduktion til Internettet 2. Sådan ser det ud i praksis Demonstration med Wireshark!
Det hele hænger sammen. UMTS Internet ISP?
Forskellige medier forskellige anvendelser samme sprog!
Hvad er en email hvad er en hjemmeside?
Hvordan bliver vores informationer sendt?
To vigtige spørgsmål Hvordan får vi mails, hjemmesider osv. lavet om til et format der kan sendes elektronisk? Indholdet kan være tekst, billeder, lyd, video og meget andet. Hvordan sikrer vi at det vi sender kan finde vej til modtageren? Konkret eksempel: Lad os starte med at se på en email den skal jo kun sendes én vej. Bagefter ser vi nærmere på hvordan man henter en hjemmeside.
Først skridt: Data ene puttes i pakker Emails, websider, musik, film osv. sendes i en eller flere IP-pakker, der er bygget så de kan sendes over Internettet. Det er det samme for næsten alle typer af trafik på Internettet. Sådan ser første del af en IP-pakke ud: Efter denne adresse-information kommer så selve indholdet Bemærk at al information nu skal angives binært, dvs. som 1 er og 0 er. En email fylder tit mere end én pakke.
Meget hurtigt kursus i binære tal! (eksempel på tabel)
Oversættelse til 1 er og 0 er (binært) Eksempel 1: H -> 72 -> 01001000 e -> 101 -> 01100101 j -> 106 -> 01101010 Hej -> 010010000110010101101010 Heldigvis foregår hele oversættelsen automatisk!
7 2 Meget hurtigt kursus i binære tal! 1 ere 10 ere Så i almindeligt 10-tals system er 72 = 2 1 + 7 10 Og 106 = 6 1 + 0 10 + 1 100 I det binære talsystem (2-tal systemet) hedder det ikke 1, 10, 100, 1000 men i stedet 1, 2, 4, 8, 16, 32, 64, 128 (gang med 2 i hvert led). Og det højeste tal er 1! Så hvordan kan vi skrive tallene 72 og 106?
7 2 = (0) Meget hurtigt kursus i binære tal! 106 =
Meget hurtigt kursus i binære tal! 7 2 = (0) 0 106 =
Meget hurtigt kursus i binære tal! 7 2 = (64) 0 1 106 =
Meget hurtigt kursus i binære tal! 7 2 = (64) 0 1 0 106 =
Meget hurtigt kursus i binære tal! 7 2 = (64) 0 1 0 0 106 =
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 106 =
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 =
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 = (0)
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 = (0) 0
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 = (64) 0 1
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 = (96) 0 1 1
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 = (96) 0 1 1 0
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 = (104) 0 1 1 0 1
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 = (104) 0 1 1 0 1 0
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 = (106) 0 1 1 0 1 0 1
Meget hurtigt kursus i binære tal! 7 2 = (72) 0 1 0 0 1 0 0 0 106 = (106) 0 1 1 0 1 0 1 0
Oversættelse til 1 er og 0 er (binært) Så H=01001000 e=01100101 j=01101010 Hej=010010000110010101101010 Bonus-spørgsmål: Hvordan fungerer mon 16-tals systemet? (Hint: Det højeste tal er 15). Her skriver man tallene 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
7 2 = (0) Så prøver vi med 16-tals systemet 4096 256 16 1 106 = 4096 256 16 1
Så prøver vi med 16-tals systemet 7 2 = (0) 0 0 4096 256 16 1 106 = 4096 256 16 1
Så prøver vi med 16-tals systemet 7 2 = (64) 0 0 4 4096 256 16 1 106 = 4096 256 16 1
Så prøver vi med 16-tals systemet 7 2 = (72) 0 0 4 8 -> Dvs. 48 4096 256 16 1 106 = 4096 256 16 1
Så prøver vi med 16-tals systemet 7 2 = (72) 0 0 4 8 -> Dvs. 48 4096 256 16 1 106 = (0) 0 0 4096 256 16 1
Så prøver vi med 16-tals systemet 7 2 = (72) 0 0 4 8 -> Dvs. 48 4096 256 16 1 106 = (96) 0 0 6 4096 256 16 1
Så prøver vi med 16-tals systemet 7 2 = (72) 0 0 4 8 -> Dvs. 48 4096 256 16 1 106 = (106) 0 0 6 10 4096 256 16 1
Så prøver vi med 16-tals systemet 7 2 = (72) 0 0 4 8 -> Dvs. 48 4096 256 16 1 106 = (106) 0 0 6 A -> Dvs. 6A 4096 256 16 1
Bemærk den fine sammenhæng! 72 = 0 1 0 0 1 0 0 0 (binær) 72 = 4 8 (hex) 106 = 0 1 1 0 1 0 1 0 (binær) 106 = 6 A
Bemærk den fine sammenhæng! 72 = 0 1 0 0 1 0 0 0 (binær) 72 = 4 8 (hex) 106 = 0 1 1 0 1 0 1 0 (binær) 106 = 6 A WOW! Hver 4 bit tal kan skrives med ét HEX-tal. Det er smart.
HEX Hej=010010000110010101101010 H=0100 1000 e=0110 0101 j=0110 1010 Hex 10 Bin Hex 10 Bin 0 0 0000 8 8 1000 1 1 0001 9 9 1001 2 2 0010 A 10 1010 Hej = 48 65 6A 3 3 0011 B 11 1011 4 4 0100 C 12 1100 5 5 0101 D 13 1101 6 6 0110 E 14 1110 7 7 0111 F 15 1111
Oversættelse til 1 er og 0 er (binært) Eksempel 2: der er rigtig mange smarte tricks i det her! 16-bit farver: typisk 5 bit for rød, 5 for blå, og 6 for grøn
Oversættelse til 1 er og 0 er (binært) Hhv 1-bit (2 farver), 4-bit (16 farver), 8-bit (256 farver), 24-bit (16,8 mio farver)
00CC00 00CC33 00CC66 00CC99 00CCCC 00CCFF 33CC00 33CC33 33CC66 33CC99 33CCCC 33CCFF 00FF00 00FF33 00FF66 00FF99 00FFCC 00FFFF 33FF00 33FF33 33FF66 33FF99 33FFCC 33FFFF 660000 660033 660066 660099 6600CC 6600FF 990000 990033 990066 990099 9900CC 9900FF 663300 663333 663366 663399 6633CC 6633FF
Nu kan vi sende emailen gennem netværket! De binære signaler kan nu sendes. Trådløst, via kabler eller via fiber/lysleder! Lidt lige som morsesignaler (lange og korte lyde/lys). Men meget meget hurtigere!!!
Lidt mere om kodning...
Nu kan vi sende emailen gennem netværket! 1Mbit/s = 1 million bits per sekund 1Gbit/s = 1 milliard bits per sekund. 1Tbit/s = 1 billion bits per sekund (1 billion = 1 million millioner) Først modem: 300 bit/s Optisk fiber: 30 Tbits/s I forsøg. Det svarer til 720 DVD-film per sekund..
Hvordan finder vores email vej? Mail-systemet er som et slags posthus-system. Del 1: Mailen transporteres fra afsender til afsenders posthus. Del 2: Mailen transporteres fra afsenders til modtagers posthus. Del 3: Mailen transporteres fra modtagers posthus til modtager. Server (S) Server (S) Klient (C) Klient (C)
Og webmail er faktisk helt det samme... Web klient Email klient Web server Email Server
Hvad sker der når vi vil hente en hjemmeside? Vi skriver f.eks. www.google.dk i vores browser. Vi spørger nu vores DNS-server hvor www.google.dk findes altså hvilken IP-adresse siden ligger på. Så sender vi en request/forespørgsel til den adresse, og siger at vi gerne vil have sendt siden (sammen med information om vores IP-adresse og hvilken browser vi bruger). Vi får nu tilsendt siden, evt. i flere omgange. Princippet er helt det samme som med e-mails. IP-adresserne fortæller hvor pakkerne skal hen, og routerne undervejs søger for at de ender det rigtige sted.
Hvad sker der når vi vil hente en hjemmeside? MY COMPUTER DNS Server Hvad er adressen på www.google.com?
Hvad sker der når vi vil hente en hjemmeside? (EKSEMPEL) MY COMPUTER Hvad er adressen på www.google.com? DNS Server Den hedder 130.225.50.23
Hvad sker der når vi vil hente en hjemmeside? (EKSEMPEL) MY COMPUTER Hvad er adressen på www.google.com? DNS Server Den hedder 130.225.50.23 MY COMPUTER 130.225.50.23
Hvad sker der når vi vil hente en hjemmeside? (EKSEMPEL) MY COMPUTER Hvad er adressen på www.google.com? DNS Server Den hedder 130.225.50.23 MY COMPUTER 130.225.50.23 Send mig siden på www.google.com
Hvad sker der når vi vil hente en hjemmeside? (EKSEMPEL) MY COMPUTER Hvad er adressen på www.google.com? DNS Server Den hedder 130.225.50.23 MY COMPUTER 130.225.50.23 Send mig siden på www.google.com Den kommer her!
Sådan findes afsenderens posthus: Alle pakker der kommer ud på Internettet har en sådan IP-adresse sat som destination og alle routerne ved i præcis hvilken retning pakken skal sendes for at komme det rigtige sted hen. Selv om Internettet er stort (mere end 100.000 routere!).
Sådan findes afsenderens posthus:
Bemærk lige at Internettet er pakke-koblet!
Bemærk lige at Internettet er pakke-koblet!
Noget om pakker i pakker...
Eksempel: Ethernet
Eksempel: IP