Hoofdstuk 5: Computernetwerken 1. Inleiding 2. Fysische laag 3. Dataverbindingslaag 4. Lokale...
-
Upload
karen-simons -
Category
Documents
-
view
232 -
download
4
Transcript of Hoofdstuk 5: Computernetwerken 1. Inleiding 2. Fysische laag 3. Dataverbindingslaag 4. Lokale...
Hoofdstuk 5: Computernetwerken
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
2
1. Inleiding
mainframmainframee
niet-grafische terminals
1960 ... 1970 ...
3
1. Inleiding (verv.)
1980 ...
PC ofPC of workstationworkstation
serverserver
4
1. Inleiding (verv.)
1.1 Waarom Computernetwerken?
1.2 Componenten in een netwerk
1.3 Netwerkarchitectuur
1.4 OSI-referentiemodel
1.5 Internet model
5
1.1 Waarom Comp.netwerken?
Gemeenschappelijk gebruik hulpmiddelen apparaten (drukker, scanner, supercomputer, …) gegevens (bestand, gegevensbank, …)
Betrouwbaarheid beschikbaarheid reserve computer: taken overnemen reserve kopieën van bestanden, ...
Kostenreductie
Communicatiekanaal
6
1.1 Waarom Comp.netw.? (verv.)
Gemeenschappelijk gebruik hulpmiddelen Betrouwbaarheid beschikbaarheid
Kostenreductie prijs/prestatie: n * prijs(R) < prijs (n * R) dure randapparatuur: print-server, file-server, ... uitbreiden eenvoudiger: extra pc vervangen computer
Communicatiekanaal e-post gewone post bestanden overhalen cassettes, floppies versturen elektronisch berichtenbord, e-krant, ...
7
1.2 Componenten v/e netwerk
Beeld van de gebruiker
Communicatienetwerk
Computernetwerk vs Gedistribueerd systeem
Opbouw van een communicatienetwerk
lange afstand communicatienetwerk
lokaal netwerk
8
Beeld van de gebruiker
S1
S2
S3
S4
A
B
Communicatie-netwerk
9
Beeld van de gebruiker (verv.)
Communicatienetwerk
vergelijk telefoonnetwerk
centrales, kabels, aansluitpunten
telefoontoestellen, faxtoestellen
kanaal met voldoende bandbreedte (3000 Hz)
10
Beeld van de gebruiker (verv.)
Computernetwerk
communicatienetwerk
+ aangesloten systemen (PCs, …)
systemen autonoom + identificeerbaar
vb. Gebruiker A wil op B werken
11
Beeld van de gebruiker (verv.)
Gedistribueerd systeem
computernetwerk
1 virtueel systeem
transparante toegang tot drukker
transparante toegang tot bestand
transparant “werk” verdelen
12
Opbouw v/e comm.netwerk
Lange afstand comm.-netwerk
WAN (Wide Area Network)
onderling verbonden “schakelaars”
verbindingen (coaxiale kabel, glasvezel, …)
bandbreedte =
| hoogste doorgel. freq. - laagste freq. |
routering
13
Lange afstand comm. netwerk
A B
S1 S3
S1 S4 S3
S1 S2 S4 S3
S1
S2
S3
S4
A
B
14
Opbouw v/e comm.netwerk (2)
Lokaal Netwerk LAN (Local Area Network)
binnen 1 gebouw (< 1 km)
geen schakelaars
communicatiebord in PC
bus- of ringnetwerk
routering niet nodig
15
Lokaal Netwerk (LAN)
16
1.3 Netwerkarchitectuur
Communicatie niet eenvoudig betrouwbaar bit-transport bepalen van route opsplitsen in pakketten samenvoegen van pakketten …
Systematische aanpak Protocol + Gelaagde architectuur
17
1.3 Netwerkarchitectuur (verv.)
Protocol “regels”
aard en samenstelling van boodschappen reactie op boodschap
Dienst aan gebruikers van “entiteit” vb. foutvrij transport van pakketten
entiteit
entiteit
18
1.3 Netwerkarchitectuur (verv.)
Gelaagde architectuur
entiteit
entiteit
entiteit
entiteit
protocol 2
protocol 1
Laag 2
Laag 1
die
ns
t
die
ns
t
Logische comm.
19
1.3 Netwerkarchitectuur (verv.)
Gelaagde architectuur
entiteit
entiteit
entiteit
entiteit
protocol 2
protocol 1
Laag 2
Laag 1
die
ns
t
die
ns
t
20
Vb 1: Discuterende Filosofen
Ik vind dat menmensen niet mag
klonen.
taal
FilosoofFilosoof
(Gent)(Gent)
FilosoofFilosoof
(Tokio)(Tokio)
•telefootelefoonn•faxfax•(brief)(brief)
TolkTolkTolkTolk
SecretaresSecretaressese
SecretariSecretariss
telefoonnetwerktelefoonnetwerk
comm. kanaal
21
Vb 2: Comm. ts Processen
Proces A op computer x vraagt aan proces B op computer yom bestand “brief.doc” op te sturen
Proces Proces AA
Proces Proces BB
x ybrief.doc
22
Vb 2: Comm. ts Processen (verv.)
Protocol
AA
x y
BBzend “brief.doc”1200 bytesOKBeste rector, ...
OK
23
Vb 2: Comm. ts Processen (verv.)
Protocol: “dialoog”
Hoe boodschappen overgebracht
belangrijk Transportlaag: comm. ts. processen
identificatie: (machinenaam, procesnaam)
Netwerklaag: transport over netwerk
identificatie: machinenaam
24
Vb 2: Comm. ts Processen (verv.)
Communicatie-Communicatie-netwerknetwerk
ProcessenA B
Transport
Netwerk
ProcessenB C D
Transport
Netwerk
ProcessenB D
Transport
Netwerk
xx yy
zz
25
Vb 2: Comm. ts Processen (verv.)
Proces A
Proces B
zend “brief.doc”
B, AB, A
zend “brief.doc”
Transport-laag op x
Transport-laag op y
zend “brief.doc”
y, By, Bzend “brief.doc”
x, Ax, A
26
Vb 2: Comm. ts Processen (verv.)
Transport-laag op x
Transport-laag op y
Netwerk-laag op x
Netwerk-laag op y
yy xx
B, AB, Ay, xy, x
B, AB, A
B, AB, A B, AB, A
27
Vb 2: Comm. ts Processen (verv.)
B, AB, A
zend “brief.doc”
voorstellen door:voorstellen door:
B, AB, A zend “brief.doc”
28
Vb 2: Comm. ts Processen (verv.)
Proces A
Proces B
zend “brief.doc”
y, y, BBTransport-laag op x
Transport-laag op y
zend “brief.doc”
zend “brief.doc”
x, x, AA
yy xx
Netwerk-laag op x
Netwerk-laag op y
B, AB, A zend ...B, AB, A zend “brief.doc”
y, xy, x B, AB, A zend “brief.doc”
B, AB, A zend “brief.doc”
29
Samenvatting
proces proces gegevensgegevens
proces proces gegevensgegevens
transportransportt
hoofdinghoofding
proces proces gegevensgegevens
transportransportt
hoofdinghoofding
netwerknetwerkhoofdinghoofding
30
1.4 OSI-Referentiemodel
Ontwerp netwerk = complex Decompositie: manieren OSI: Open System Interconnection
open: comm. ts. versch. systemen referentie: raamwerk voor ontw. protocols functionaliteit van elke laag gedefinieerd kan door versch. protocols gerealiseerd
31
1.4 OSI-Referentiemodel (verv.)
7 lagen hoogste vier: ts. aangesloten systemen
S1
S2
S3
S4
x
y
32
1.4 OSI-Referentiemodel (verv.)
N
D
F
N
D
F
systeem x S1 S4 systeem y
protocol applicatielaag
protocol presentatielaag
protocol sessielaag
protocol transportlaag
protocol netw. laag
protocol data. laag
protocol fys. laag
applicatie
presentatie
sessie
transport
netwerk
dataverbinding
fysische
applicatie
presentatie
sessie
transport
netwerk
dataverbinding
fysische
33
1.4 OSI-Referentiemodel (verv.)
Fysische laagversturen van bits over fysische kabel aard van kabel kenmerken van connectoren voorstellen van bits op kabel
Dataverbindingslaagcreatie van foutvrij comm. kanaal herkennen van pakketjes detectie van fouten controle op stroom van pakketjes (flow control)
34
1.4 OSI-Referentiemodel (verv.)
Netwerk laagverkeer van pakketjes door 1/# netwerken 2 soorten diensten:
virtuele verbindingen datagram dienst
routebepaling kostendoorrekening onderling verbinden van netwerken
+ routebepaling doorheen die netwerken
35
1.4 OSI-Referentiemodel (verv.)
Transport laagbetrouwbaar comm. kanaal ts. eindsystemen efficiënt gebruik comm. Netwerken
multiplexing meerdere verbindingen tussen eindsystemen
opdelen in pakketjes + samenvoegen controle op boodschappenstroom (flow control)
36
1.4 OSI-Referentiemodel (verv.)
Sessielaagextra hulpmiddelen voor samenwerking via
betrouwbaar comm. kanaal organisatie van dialoog:
vb. Beurtelings zenden plaatsen van synchronisatiepunten
(voor hervatten van dialoog na fout)
37
1.4 OSI-Referentiemodel (verv.)
Presentatielaagbehoud van betekenis van informatie keuze van voorstelling van gegevens
“op de kabel” ASCII vs EBCDIC 16-bit, 32-bit, … integers met 2-complementvoorst. ...
ev. vercijfering van gegevens(confidentialiteit!)
ev. compressie van gegevens
38
1.4 OSI-Referentiemodel (verv.)
Applicatielaaghoogste laag applicaties, geschreven door eindgebruikers
sturing van robots, elektronisch geldverkeer, … standaard applicaties
elektronische post (X400) overdracht van bestanden (FTAM) deelproblemen: RPC (remote procede call)
39
1.4 OSI-Referentiemodel (verv.)
Belangrijk referentiemodel Niet basis voor praktische protocols Definitie te lang geduurd Ondertussen:
Internet groeiend succes
40
1.5 Internet model
nooit formeel gedefinieerd geleidelijk aan gegroeid slechts 5 lagen
geen sessielaag (toch weinig functionaliteit)
geen presentatielaag( elk appl.protocol moet dit definiëren)
41
1.5 Internet Model (verv.)
applicatie
presentatie
sessie
transport
netwerk
dataverbinding
fysische
Applicatie
transport
netwerk
dataverbinding
fysische
OSI referentiemodel Internet model
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
43
2. Fysische laag
Basisbegrippen Digitale communicatie Modems Schakeltechnieken
44
2.1 Basisbegrippen
Analoog <> digitaal Periodieke signalen
G(t) = ak sin(2kf t) + bk cos(2kf t)
Transmissiemedia Gevlochten koperparen Coaxiale kabels
45
2.2 Digitale Communicatie
Digitaal signaal: 0-en en 1-en
Synchronisatie ts zender & ontvanger ev. speciaal bitpatroon begin/einde
+5V
0V
-5V
0 1 0 1 0 0 0 1 0 1
46
2.2 Digitale Communicatie (verv.)
Vervorming Verzwakking Beperkte bandbreedte
G(t) = ak sin(2kf t) + bk cos(2kf t)
Omgevingsfactoren: ruis
+5V
0V
-5V
47
2.3 Modems
Digitaal signaal over analoog kanaal met beperkte bandbreedte Amplitude Frequentie Fase Combinaties
48
2.4 Schakeltechnieken
Lijnschakelen Boodschapschakelen Pakketschakelen
49
Lijnschakelen
3 Fasen: opzetten van een verbinding
ev. onderhandelen gebruik van de verbinding
slechts kleine vertraging (200.000 km/sec) verbreken van de verbinding
vergelijk telefoonverbinding niet efficiënt voor communicatie tussen
computers
50
Lijnschakelen (verv.)
tijd
opdracht resultaat
niet gebruikt
51
Boodschapschakelen
Verbindingen gemeensch. gebruikt boodschap: schakelaar schakelaar Store-and-forward Grotere vertraging
volledig ontvangen, dan pas verdergestuurd als verbinding vrij
Variabele vertraging
52
Boodschapschakelen (verv.)
53
Pakketschakelen
Boodschap opdelen in pakketjes Afzonderlijk over netwerk verstuurd
eventueel verschillende route Lijn slechts korte tijd bezet Vertragingen zijn variabel
54
Pakketschakelen (verv.)
1
3
24
6
5
1 32
4 65
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
56
3. Dataverbindingslaag
Hoofdopdracht: realiseren v. betrouwbaar kanaal
Beperkingen: mogelijk: verwerkingssnelheid geen voorz. om systemen te synchroniseren
Fysische laag: bits oversturen (onbetrouwbaar)
Fysische Laag Fysische Laag
01010001010100010101
01010010101101010101
57
3. Dataverbindingslaag (verv.)
Inhoud3.1 Taken
3.2 Algoritmen en Protocols
3.3 Protocol 1: Geen fouten, geen stroombeheersing
3.4 Protocol 2: Stroombeheersing, geen fouten
3.5 Protocol 3: Stroombeheersing, fouten mogelijk
3.6 Protocol 4: 1-bit venster protocol
3.7 Uitbreidingen
58
3.1 Taken
M.O.: sommige taken door HW, andere door SW
Afbaken van pakketjes
begin & einde herkennen
vb. bitpatroon: 01111110
kan ook in pakket voorkomen! (0 inlassen na vijf 1-bits)
011111111001010011010
01111110011111011100101001101001111110
59
3.1 Taken (verv.)
Detectie van fouten zender: controlebits toevoegen aan pakket ontvanger: nagaan of correct ontvangen bijvoorbeeld
pariteitsbit: 1-bit fout detecteren (on)even pariteit: # 1-bits in pakket is (on)even
CRC (Cyclic Redundancy Check) fouten van meerdere bits detecteren
indien fout: opnieuw zenden hoofding met volgnummer
duplicaten herkennen (bij heruitzending)
60
3.1 Taken (verv.)
Stroombeheersing flow control snelle zender overspoelt trage ontvanger
ontvanger: expliciete/impliciete toelating om volgend pakket te sturen
Pakket Layout
01111110
01111110
Beginpatroon
Hoofding
Data
Eindpatroon
Controlesom
HHWW
v. Netwerklaag
61
3.2 Algoritmes en protocols
typedef struct {...} data_van_netwerklaag;
typedef struct { int nr: …; /* veld van hoofding */
data_van_netwerklaag data;
} pakket;
void ontvang_van_netwerklaag (data_van_netwerklaag *d);
/* na oproep verwijst d informatie die moet verstuurd worden*/
void geef_aan_netwerklaag (data_van_netwerklaag d);
/* data in ontvangen pakket w. doorgegeven aan netwerklaag */
void verzend_pakket (pakket p);
/* p wordt voor verzending doorgegeven aan fysische laag */
void ontvang_pakket (pakket *p);
/* ontvang pakket p van de fysische laag */
62
3.2 Algoritmes & Protocols (verv.)
1 zender & 1 ontvanger
1-richting communicatie
NWL (zender): onbeperkte hoeveelheid gegevens
NWL (ontvanger): onbeperkte hoev. Bufferruimte
Fysische Laag Fysische Laag
DVL (zender) DVL (ontvanger)
ontvang_van_netwerklontvang_van_netwerklaagaag
verzend_pakketverzend_pakket
geef_aan_netwerklageef_aan_netwerklaagag
ontvang_pakkeontvang_pakkett
63
3.3 Protocol 1: geen fouten, geen stroombeheersing
zendezenderr
ontvangeontvangerr
tijd
tijd
Vertragingts zendenen ontvangen
Zender kan onbeperkt zenden
64
3.3 Protocol 1: geen fouten, geen stroombeheersing (verv.)
Algoritme zender Algoritme ontvanger
data_van_netwerklaag dnl; data_van_netwerklaag dnl;
pakket p; pakket p;
while (true){ while (true){
ontvang_van_netwerklaag(&dnl); ontvang_pakket(&p);
p.info = dnl;geef_aan_netwerklaag(p.info);
verzend_pakket(p); }
}
65
3.3 Protocol 1: geen fouten, geen stroombeheersing (verv.)
Zender kan onbeperkt Zender kan onbeperkt zenden ...zenden ...
66
3.4 Protocol 2: geen fouten, wel stroombeheersing
zendezenderr
ontvangeontvangerr
tijd
tijd
Ontvanger geeft expliciet toestemming voor sturen van volgend pakket
67
3.4 Protocol 2: geen fouten, wel stroombeheersing (verv.)
Algoritme zender Algoritme ontvanger
data_van_netwerklaag dnl; dnl: data_van_netwerklaag;
pakket p, t; pakket p, t;
while (true){ while (true){
ontvang_van_netwerklaag(&dnl); ontvang_pakket(&p);
p.info = dnl; geef_aan_netwerklaag(p.info);
verzend_pakket(p); verzend_pakket(t);
ontvang_pakket(&t); }
}
68
3.5 Protocol 3: fouten mogelijk, stroombeheersing Fouten:
pakket niet ontvangen pakket wordt als foutief herkend
(wordt niet doorgegeven aan Netwerklaag)
stel herkend in procedure ontvang_pakket(de procedure keert niet terug, maar wacht op een volgend -correct- pakket van de fysische laag)
bijgevolg: geen onderscheid tussen beide
69
Algoritme (2) zender Algoritme (2) ontvanger… ...
while (true){ while (true){
ontvang_van_netwerklaag(&dnl); ontvang_pakket(&p);
p.info = dnl; geef_aan_netwerklaag(p.info);
verzend_pakket(p); verzend_pakket(t);
ontvang_pakket(&t); }
}
zenderzender ontvangerontvanger
Impasse!!Impasse!!!!
3.5 Protocol 3: fouten mogelijk, stroombeheersing
70
3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)
zendezenderr
ontvangeontvangerr
wekk
er
P0
P1
P1
P2
P0.info
P1.info
P2.info
71
3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)
zendezenderr
ontvangeontvangerr
wekk
er
P2 P2.info
P2 Duplicaat!Duplicaat!!!!!
Pakketten nummeren
• onderscheid: nieuw heruitzending• 1-bit nummer volstaat
72
3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)
Zender: na zetten van wekker:
2 gebeurtenissen mogelijk wekker loopt af aankomst van een pakket
gebeurtenis wacht_op_gebeurtenis();
geb := wacht_op_gebeurtenis();
{ geb = AANKOMST of geb = WEKKER }
73
3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)
Algoritme zender
data_van_netwerklaag dnl; int volgend_volgnummer; /* 0 of 1 */
pakket p, t; gebeurtenis geb; /*AANKOMST of WEKKER*/
volgend_volgnummer = 0; if (geb == AANKOMST) {
ontvang_van_netwerklaag(&dnl); stop_wekker();
while(true){ ontvang_pakket(&t);
p.nr = volgend_volgnummer; ontvang_van_netwerklaag(&dnl);
p.info = dnl; volgend_volgnummer =
verzend_pakket(p); (volgend_volgnummer + 1) % 2;
start_wekker(); }
geb = wacht_op_gebeurtenis(); }
74
3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)
Algoritme ontvanger
data_van_netwerklaag dnl; int verwacht_volgnummer;
pakket p, t;
verwacht_volgnummer = 0;
while(true){
ontvang_pakket(p);
if (p.nr == verwacht_volgnummer) {
geef_aan_netwerklaag(p.info);
verwacht_volgnummer = (verwacht_volgnummer +1) % 2;
}
verzend_pakket(t); /*steeds nodig, ook als duplicaat ontvangen is */
}
75
3.5 Protocol 3: Corrrect??? (verv.)
zenderzender ontvangerontvanger zenderzender ontvangerontvanger
I0
duplicaat
I4
I1
beschouwd als duplicaat
I00
I11
I11
I20
I31
I40traag!traag!w
ekke
r
info
nr
Legende:Legende:
76
Vensterprotocol
bedoeld voor gegevensverkeer in 2 richtingen
Hier vereenvoudiging
alleen verkeer in 1 richting
Fout in protocol 3:
Zender: Toelating foutief interpreteren
Oplossing: Toelating bevat bevestiging
v. laatst correct ontvangen pakket
(acknowledgement)
3.6 Protocol 4: 1-bit venster protocol
77
3.6 Protocol 4: 1-bit venster protocol (verv.)
Algoritme zender
data_van_netwerklaag dnl; int volgend_nr; /* 0..1 */pakket p, ack; gebeurtenis geb; /*AANKOMST of WEKKER*/
volgend_volgnummer = 0; if (geb == AANKOMST) {ontvang_van_netwerklaag(&dnl); stop_wekker();while(true){ ontvang_pakket(&ack);
p.nr = volgend_nr; if (ack.nr == volgend_nr) {p.info = dnl; ontvang_van_netwerklaag (dnl);verzend_pakket(p); volgend_nr = (volgend_nr + 1) % 2;start_wekker(); }geb = wacht_op_gebeurtenis(); } }
78
Algoritme ontvanger
data_van_netwerklaag dnl; int verwacht_volgnummer; /* 0..1*/pakket p, ack;
verwacht_volgnummer = 0;while(true){
ontvang_pakket(&p);if (p.nr == verwacht_volgnummer) {
geef_aan_netwerklaag(p.info);verwacht_volgnummer = (verwacht_volgnummer + 1) % 2;
}ack.nr = p.nr;verzend_pakket(ack);
}
3.6 Protocol 4: 1-bit venster protocol (verv.)
79
zenderzender ontvangerontvanger zenderzender ontvangerontvanger
I0
duplicaat
I3
I1
I00
I11
I11
I20
I20
I31traag!traag!w
ekke
r3.6 Protocol 4: 1-bit venster protocol (verv.)
0
1
1
0
I2
info
nr
nr
Legende:Legende:
80
3.7 Uitbreidingen
beperkingen protocol 4: als propagatietijd signaal
onefficiënt gebruik van communicatiekanaal bijv. Satellietverbinding
81
3.7 Uitbreidingen (verv.)
36.0
00 k
m
36.0
00 k
m200.000
200.000
km/s
km/s
64.000
64.000
bits/s
bits/s
8000 bits
8000 bits
82
3.7 Uitbreidingen (verv.)
0 ms0 ms 125 125 msms
180 180 msms
360 360 msms
485 485 msms
845 845 msms
83
3.7 Uitbreidingen (verv.)
Onefficiënt gebruik van kanaal: 1 pakket uitzenden: 125 ms, volgende pas na 845 ms = 15% nuttig gebruik van kanaal
Oplossing: zender:
mag meerdere pakketjes sturen bijv. 8 pakketjes zendvenster = 8 (max. 8 niet bevestigde pakketten)
ontvanger: wat als pakket niet correct ontvangen? volgende ook verwerpen?
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
85
4. Lokale netwerken
4.1 Algemene Kenmerken
4.2 Ethernet Fysische Laag Werkingsprincipe (3 Regels) Pakket Layout Diensten
86
4.2 Algemene Kenmerken
Geografisch beperkt gebied Topologie:
geen afzonderlijke schakelaars / wel interfaceborden eenvoudige topologie: ring of bus
Hoge transmissiesnelheden: 10Mbit/s .. 100 Mbit/s Hoge kwaliteit: weinig fouten Gemeenschappelijk gebruikt kanaal
protocol voor toegang tot fysische kanaal alle pakketten door iedereen ontvangen
87
4.1 Algemene Kenmerken (verv.)
ringring
busbus
88
4.1 Algemene Kenmerken (verv.)
Gemeenschappelijk gebruikt kanaal:(vergelijk: kamer met mensen) gelijktijdige toegang mogelijk iedereen ontvangt elk pakket
89
4.1 Algemene Kenmerken (verv.)
Specifieke protocols: in dataverbindingslaag + fysische laag! netwerklaag: leeg (tenzij LANs verbonden)
Dataverbindingslaag LLC: Logical Link Control (gemeensch. LANs)
MAC: Medium Access Control verschillend voor elk soort LAN onbetrouwbaar transport van pakketten
90
4.1 Algemene Kenmerken (verv.)
LLC (vgl. Dataverbindingslaag in WANs) 2 soorten diensten:
virtuele verbinding (perfect kanaal) datagram dienst (geen garantie aflevering v.
pakket) LANs steeds datagram dienst
dataverbindingslaag
fysische laag
LLC
MAC
fysische laag
OSI ModelOSI Model Lokaal NetwerkLokaal Netwerk
91
4.2 Ethernet
IEEE 802.3 Busnetwerk Fysische Kabel (versch. alternatieven)
dunne coaxiale kabel (thin Ethernet)
gevlochten koperparen (twisted pair): meest flexibele bekabeling
dikke coaxiale kabel (thick Ethernet): verouderd
92
4.2 Ethernet Fysische Laag
3 soorten bekabeling:
93
4.2 Ethernet Fysische Laag
Elke computer: interface bord verbinding met coaxiale kabel
94
4.2 Ethernet Fysische Laag (verv.)
Pakket versturen: Signaal plant zich voort naar beide uiteinden
aansluitpunt computersysteemaansluitpunt computersysteemcoaxiale kabelcoaxiale kabel
signaalsignaal
95
4.2 Ethernet Fysische Laag (verv.)
2 Computers gelijktijdig versturen: elektrisch signaal gewijzigd geen van beide pakketten correct herkend BOTSING
(nog niet detecteerbaar door beide systemen)
botsingbotsing
96
4.2 Ethernet Fysische Laag (verv.)
Botsing:
hoort botsinghoort botsing weet nog niet dat weet nog niet dat
botsing opgetreden isbotsing opgetreden is
97
4.2 Ethernet Fysische Laag (verv.)
Enkele cijfers |kabel| = 1000 m 2 PCs nabij de twee uiteinden transmissiesnelheid = 10 Mbit/s |pakket| = 1kByte transmissiesnelheid (signaal) = 200.000 km/s
uitzenden pakket = 800 s bit (andere kant v/d kabel) = 5 s
98
4.2 Ethernet Fysische Laag (verv.)
Worst Case (detectie van botsing)
PC begint te zenden
na > 5 s: alle andere systemen op hoogte
andere PC begint net iets daarvoor te zenden
na > 10 s: eerste zender hoort botsing
(indien hij nog aan het zenden is!!! |pakket| )
99
4.2 Ethernet (verv.)Werkingsprincipe
Vergelijk: ruimte met # mensen geen moderator aanwezig
Stel: computer mag op elk ogenblik beginnen sturen
beide pakketten foutief ontvangen globale verlies = 800 s + 800 s = 1600 s < 18% v/d capaciteit benutten!
tijdtijd
11ee PC begint PC begint versturenversturen 22ee PC begint PC begint
versturenversturen800 800 ss
800 800 ss
100
4.2 Ethernet Werkingsprincipe (verv.)
Regel 1:
Begin pas te versturen als kabel vrij is(computer vangt geen signaal op)
Botsingen niet uitgesloten pas na 5 s signaal aan andere uiteinde
101
4.2 Ethernet (verv.)Werkingsprincipe
Toepassing van regel 1: Computer mag alleen starten indien kabel vrij is
beide pakketten foutief ontvangen globale verlies = 5 s + 800 s = 805 s < 36% v/d capaciteit benutten!
tijdtijd
11ee PC begint PC begint versturenversturen
22ee PC begint versturen PC begint versturen
800 800 ss
800 800 ss
102
4.2 Ethernet Werkingsprincipe (verv.)
Regel 2:
Blijf luisteren tijdens zenden
Stop zodra botsing vastgesteldZend kort stoorsignaal
Bla bla ...
103
4.2 Ethernet (verv.)Werkingsprincipe
Toepassing van regels 1 & 2: Computer mag alleen starten indien kabel vrij is Stop met zenden zodra botsing vastgesteld wordt
geen pakketten ontvangen globale verlies 5 s + 5 s 10 s Verlies (10 s) <<< tijd voor verzenden pakket (800 s)
tijdtijd
11ee PC begint versturen PC begint versturen
22ee PC begint PC begint versturenversturen
5 5 s s + ...+ ...
5 5 s s + ...+ ...
104
4.2 Ethernet Werkingsprincipe (verv.)
Regel 3:
Na botsing: wacht willekeurige tijd herhaalde botsingen: wachttijd neemt toe na 16 mislukkingen: faling melden
105
4.2 Ethernet Werkingsprincipe (verv.)
CSMA/CD MA Multiple Access CS Carrier Sense CD Collision Detect
Eigenschappen:
- belasting vertraging - geen garantie uitsturen- belasting tot 90% (real time systemen!?!) v/d capaciteit nuttig gebruikt - CD (door 2 systemen) indien |pakket| |pakket| 64 bytes
106
4.2 Ethernet (verv.)Pakket Layout
Elke verbindingskaart uniek (wereldwijd) adres = 6 bytes
“broadcast” adres naar alle aangesloten systemen
Hoofding - bestemmeling - afzender - ...Data
Controlesom
107
4.2 Ethernet (verv.)Diensten
MAC + LLC: datagram dienst voor netwerklaag
typedef struct{...} ethernet_adres; /* 6 byte adres */
typedef struct {...} info; /* data van de netwerklaag */
void zend_pakket (ethernet_adres naar, info data);
void ontvang_pakket (ethernet_adres *van, info *data);
108
4.2 Ethernet (verv.)Bekabeling
109
4.2 Ethernet (verv.)Hubs
Centraal opgestelde hubs Twisted pairs vanaf iedere werkplek naar hubs
(lengte < 100m) Gemeenschappelijk kanaal in hub (interne
werking principieel niet belangrijk) Signalen over twisted pair gestandaardiseerd
Resultaat: Eenvoudiger beheer Nieuwe varianten: fast Ethernet, geschakeld
Ethernet
110
4.2 Ethernet (verv.)Fast Ethernet
10 Mbps 100 Mbps 10 Mbps: 10s <> 800 s efficiënte werking 100 Mbps: 10s <> 80 s ??
Reductie lengte kabel: 2,5km 250m 10 Mbps + 1000m 100 Mbps + 100m
10 Mbps: 10s <> 800 s efficiënte werking 100 Mbps: 1s <> 80 s efficiënte werking
111
4.2 Ethernet (verv.)Geschakeld Ethernet
= hub + … bufferruimte voor inkomende pakketten per lijn Botsingvrij transport tussen buffers
= switch Ethernet?
Ja: zelfde standaard voor communicatie over lijnen Neen: werking
Nieuwe probleem: Naar welke buffer een pakket sturen?
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
113
5. Netwerklaag
Dataverbindingslaag: communicatie tussen direct verbonden computersyst.
Netwerklaag: communicatie tussen verwijderde computersystemen
mogelijk maken
5.1 Diensten
5.2 Protocol
5.3 Routering
114
5. Netwerklaag (verv.)
S1
S2
AB
S4
S3
N
D
F
protocol protocol netw. netw. laaglaag
protocol protocol data. laagdata. laag
protocol protocol fys. laagfys. laag
netwerk
dataverb.
fysische
N
D
F
protocol protocol netw. netw. laaglaag
protocol protocol data. laagdata. laag
protocol protocol fys. laagfys. laag
netwerk
dataverb.
fysische
115
5.1 Diensten
2 soorten diensten: virtuele verbinding datagram dienst
geen garantie van aflevering• bijv. door falen van schakelaar
volgorde aflevering kan volgorde verzending• bijv. door volgen van andere route
Elk computersysteem: netwerkadres internationale standaarden
116
5.2 Diensten (verv.)
typedef struct{...} netwerk_adres;
typedef struct{...} info; /* data van de transportlaag */
void zend_pakket (netwerk_adres naar, info data);
void ontvang_pakket (netwerk_adres *van, info *data);
117
5.2 Protocol
Hier: alleen datagram dienst
NWL (Computer A, S1, S3): pakket over bepaalde verbinding sturen
Hoofding - netwerkadres bestemmeling - netwerkadres afzender - protocol transportlaag - ...Data van Transportlaag
118
5.3 Routering
Schakelaar: routeringstabel: per bestemming: uitgaande lijn
AA
BB
S4
S3
DD
FFEE
S1
CC
S2
00 11
2233
00
1122
33
00
1122
33
00
11 2233
nrnr SS11 SS22 SS33 SS44
AA 00 33 33 11BB 11 11 11 33CC 11 00 33 22DD 22 11 00 33EE 33 33 22 11FF 22 22 22 00
119
5.3 Routering (verv.)
AA
BBS4
S3
DD
FFEE
S1
CC
S2
00 11
2233
00
1122
33
00
1122
33
00
11 2233
nrnr SS11 SS22 SS33 SS44
AA 00 33 33 11BB 11 11 11 33CC 11 00 33 22DD 22 11 00 33EE 33 33 22 11FF 22 22 22 00
: A B: : A S1 (1) S2 (1) S3 (1) B
: F C: : F S4 (2) S2 (0) C
: E D: : E S1 (2) S4 (3) S3 (0) D
120
5.3 Routering (verv.)
Statische routering: tabellen ingevuld door netwerkbeheerder pakketten (X): dezelfde route uitvallen/overbelasting lijn/schakelaar
Routeringsprotocol schakelaars wisselen informatie uit (comp.syst.) kost van verbinding berekend
routes berekend
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
122
6. Netwerken verbinden
Niet alle computersystemen op 1 netwerk:
bedrijf: volledige controle over eigen netwerk
toch kunnen communiceren met andere bedrijven
binnen organisatie: verschillende netwerken
vb. KULeuvenNet: elk departement eigen netwerk
Een internet (internetwork)
verbinden van verschillende netwerken
Internet = wereldwijde internet (IP protocol)
123
6. Netwerken verbinden (verv.)
5.1 Adressering
5.2 Diensten en Protocol
5.3 Routering
WAN-1WAN-1
WAN-2WAN-2 WAN-3WAN-3
LAN-1LAN-1
LAN-2LAN-2
R1R1
R2R2
R3
R4R4
R5R5
Schakelaars Schakelaars RiRi(routers)(routers)
124
6.1 Adressering
1 globaal, uniform adresseringsschema Internet:
adres = 32 bits 134.58.39.91 (dotted decimal)
verschillende soorten adressen
Omzetting Internet-adres Lokaal adres vertaaltabellen of vertaalprotocol
Netwerk ComputersysteemNetwerk Computersysteem
125
6.1 Adressering (verv.)
Voorbeelden:
134.58.39.91
134.58.0.0 KULeuvenNet
134.58.39.0 Netwerk van Comp.Wet.
Masker: scheiden van 2 delen van een adres
adres & masker = netwerk-gedeelte
126
6.2 Diensten en Protocol
Internet netwerklaag: alleen datagram dienst protocol = IP (Internet Protocol) 1 soort pakket
hoofding = 20 bytes
mogelijkheid om IP-pakket op te splitsen indien onmogelijk verder te sturen:
foutboodschap naar zender (ander protocol)
127
6.2 Diensten en Protocol (verv.)
Hoofding: (20 bytes):adres-zender 32 bits
adres-bestemmeling 32 bits
identificatie 16 bits
lengte 16 bits (max = 65.535)
protocol transportlaag 8 bits
time-to-live 8 bits (max # te passeren routers)
type-of-service 8 bits (verwachte dienstverlening)
overige … opsplitsing van IP pakket, afz. doorsturen,
later weer samenvoegen
… versie nummer, controle bits (hoofding), ...
128
6.3 Routering
Iedere router: routeringstabel
WAN-1WAN-1
WAN-2WAN-2 WAN-3WAN-3
LAN-1LAN-1
LAN-2LAN-2
R1R1
R2R2
R3
R4R4
R5R5
naarnaar R1R1 R2R2 R3R3 R4R4 R5R5
WAN-1WAN-1 -- -- R2R2 R1R1 R4R4WAN-2WAN-2 R2R2 -- -- R1R1 R3R3WAN-3WAN-3 R4R4 R3R3 -- -- --LAN-1LAN-1 -- R1R1 R4R4 -- R4R4LAN-2LAN-2 R4R4 R3R3 R5R5 R5R5 --
volgende router(op zelfde netwerk)op pad naar bestemm.
vaak verzuimingang: kortere tabel
129
6.3 Routering
WAN-1WAN-1
WAN-2WAN-2 WAN-3WAN-3
LAN-1LAN-1
LAN-2LAN-2
R1R1
R2R2
R3
R4R4
R5R5
naarnaar R1 R1 R2 R2 R3 R3 R4 R4 R5 R5
134.58.1.0134.58.1.0 - - - - 134.58.2.2134.58.2.2 134.58.11.1134.58.11.1
134.58.3.4134.58.3.4134.58.2.0 134.58.2.0 134.58.1.2134.58.1.2 - - - -134.58.11.1134.58.11.1 134.58.3.3134.58.3.3134.58.3.0 134.58.3.0 134.58.11.4134.58.11.4 134.58.2.3134.58.2.3 - - - - - -134.58.11.0 134.58.11.0 - - 134.58.1.1134.58.1.1 134.58.3.4134.58.3.4 - -134.58.3.4134.58.3.4134.58.12.0 134.58.12.0 134.58.11.4134.58.11.4 134.58.2.3134.58.2.3 134.58.3.5134.58.3.5134.58.3.5134.58.3.5 - -
134.58.1.0134.58.1.0
134.58.2.0134.58.2.0 134.58.3.0134.58.3.0
134.58.11.134.58.11.00
134.58.12.134.58.12.00
130
6.3 Routering (verv.)
Internet: ook routeringsprotocols op verschillende niveaus
binnen een AS (autonomous system):kortste pad tussen twee routers berekenen
• volgens metriek tussen AS-en:
ander protocol, eventueel ook beleidsopties• doorheen welk netwerk wel/niet
• mogelijkheid tot manueel uitsluiten van netwerken
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
132
7. Transportlaag
Transportlaag in Internet TCP (Transmission Control Protocol) UDP (Universal Datagram Protocol)
7.1 Adressering
7.2 TCP Protocol en Diensten
7.3 UDP Protocol en Diensten
133
7.1 Adressering
Communicatie-eindpunt van proces:(IP-adres, poortnummer)
TCP / UDP Hoofding: alleen poortnummer IP-adres in IP-hoofding
Standaard Toepassingen: vaste poortnummers
(www-server, 80), (ftp-server, 21), … Andere toepassingen: dyn. aanvragen
134
7.2 TCP Protocol & Diensten
Virtuele verbinding tussen eindpunten(netwerk alleen datagram diensten!)
3 Fasen: opzetten van verbinding gebruik v/d verbinding
vgl. protocols dataverbindingslaag complexer!
• volgorde aankomst van pakketten• 1-bit venster te beperkend op snelheid
byte stroom (elke byte 32-bit volgnummer) verbreken v/d verbinding
TCP hoofding
volgnummer1e byte in pakket
135
7.3 UDP Protocol & Diensten
Datagram dienst tussen eindpunten Datagram dienst van IP
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
137
8. Naamdiensten
IP-adresssen niet gebruiksvriendelijk
leesbare namen
telnet 134.58.42.36
telnet nix.cs.kuleuven.ac.be
8.1 Domeinnamen
8.2 Omzetting Domeinnamen naar IP adressen
138
8.1 Domeinnamen
Internet domeinnamen hiërarchisch gestructureerd
nix.cs.kuleuven.ac.be
landcode (België)
univ. (academic)
K.U.Leuven
dep. computerwetenschappen
naam van het computersysteem
139
8.1 Domeinnamen (verv.)
3 groepen Top Level Domains (TLD) 2-letter landcodes (ISO 3166) generieke namen (gelijkaardige organisaties)
com commerciële organisaties org niet-commerciële organisaties (bv. Vzw) int internationale organisaties (nato, EU, …) net bedrijven die netwerkdiensten aanbieden Nieuwe: info, biz, name, aero, museum,...
namen (organisaties binnen USA) edu universiteiten gov Amerikaanse overheid mil Amerikaanse leger
140
8.1 Domeinnamen (verv.)
Elk TLD: beheerder (toekennen van namen in domein) “be”: dept. Computerwetenschappen tot jan 2000
nu: vzw DNS BE (ispa, agoria, beltug) Elke organisatie met naam:
zelf creatie nieuwe namen in dat domein bijv. kuleuven.ac.be en kulak.ac.be
Hiërarchische naamgeving + delegatie= werkbare structuur
141
8.2 Omzetting Domeinnaam IP Adres
Gegevensbank niet gecentraliseerd (flessehals!) naambeheerder (name server)
omzetting domeinnaam IP-adres hiërarchie van naambeheerders
ieder domein: aparte naambeheerder
142
8.2 Omzetting Domeinnaam IP Adres (verv.)
Naambeheerder cs.kuleuven.ac.be
Machines/subdomeinenMachines/subdomeinen typetype IP-adresIP-adresvan cs.kuleuven.ac.bevan cs.kuleuven.ac.be
nixnix AA 134.58.42.36134.58.42.36
idefixidefix AA 134.58.41.7134.58.41.7
droopydroopy AA 134.58.41.10134.58.41.10
stevinstevin AA 134.58.41.16134.58.41.16
......
A = AddressA = Address
143
8.2 Omzetting Domeinnaam IP Adres (verv.)
Naambeheerder kuleuven.ac.be
Machines/subdomeinenMachines/subdomeinen typetype IP-adresIP-adresvan kuleuven.ac.bevan kuleuven.ac.be
cscs NSNS 134.58.39.1134.58.39.1
esatesat NSNS ……
wwwwww AA ……
......
NS = NameServerNS = NameServer
144
8.2 Omzetting Domeinnaam IP Adres (verv.)
Naambeheerder voor TLD-namen = root-naambeheerder gekend IP-adres alleen verwijzingen naar andere naambeheerders
145
8.2 Omzetting Domeinnaam IP Adres (verv.)
Example : www.cs.vu.nl
Lokale NSLokale NS
(cs.kuleuven.ac.be(cs.kuleuven.ac.be))
www.cs.vu.www.cs.vu.nlnl
Root-NSRoot-NS
NS (nl)NS (nl)
NS (vu.nl)NS (vu.nl)
NS (cs.vu.nl)NS (cs.vu.nl)130.37.24.1130.37.24.111
130.37.24.1130.37.24.111
146
8.2 Omzetting Domeinnaam IP Adres (verv.)
Omslachtig? Naambeheerders: “cache” Gedurende zekere tijd opgezochte namen
opslaan
Kwetsbaar? Naambeheerder kan uitvallen Voor elk domein: meerdere naambeheerders
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
148
9. Toepassingen
E-Mail E-mailadressen E-mail E-mailprogramma’s E-mailservers
World Wide Web URL Componenten Opbouw van pagina’s
149
9.1 E-mail
E-mail adressen
na @: domeinnaam
voor @: loginnaam, Voornaam.Naam, groepsnaam
150
9.1 E-mail (vervolg)
E-mailprogramma’s vaak grafische gebruikersinterface functionaliteit:
ontvangen & lezen van berichten (receive) opstellen & versturen van berichten (send) beantwoorden van berichten (reply) doorsturen van berichten (forward) organiseren van berichten (folder) bijhouden van adressenbestand (addressbook)
vb: Netscape, Exchange, Eudora, pine, elm, ...
151
9.1 E-mail (vervolg)
E-mailprogramma’s: Netscape
152
9.1 E-mail (vervolg)
E-mail hoofding
SleutelWoord: waardeFrom: afzenderTo: bestemmelingCc: kopie naar …Subject: onderwerp dat besproken wordtDate: datum + tijd waarop verstuurd werd...
blanko lijn Boodschap zelf
153
9.1 E-mail (vervolg)
E-mailservers sturen / ontvangen van boodschappen
E-mailprogr.
E-mailserver E-mailserver
E-mailprogr.
POPPOP
SMTPSMTP
IMAPIMAPSMTPSMTP Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
POPPOP Post Office ProtocolPost Office Protocol
IMAPIMAP Internet Mail Access ProtocolInternet Mail Access Protocol
154
9.1 E-mail (vervolg)
E-mailservers Internet: steeds SMTP vinden van andere E-mailserver?
Naambeheerders• domeinnaam: IP-adres waarop E-mailserver draait
Poortnummer = 25
155
9.2 World Wide Web
Zie cursus Informaticawerktuigen
Hypertext URL (Uniform Resource Locator) Browser HTTP (HyperText Transfer Protocol) WebServer HTML (HyperText Markup Language)
156
Hypertekst
Hypertekst… (meer info)…
Een link is ……Meer informatie kan je hier vinden (Engels).
Links … hypertekst…
HypertextHypertext allows a document to …
Computer A Computer B
Hypertekst bevat verwijzingen naar andere documenten
157
URL — Uniform Resource Location
Absoluut of relatief
Absoluut:
http://www.bib.kuleuven.ac.be/bib/deelbib/indexexact.html
http://www.bib.kuleuven.ac.be/bib/deelbib/indexexact.html
protocol computer details (padnaam)
Protocol: http (web-pagina) - mailto (elektronische post) ftp (file transfer protocol) - news (USENET nieuwsgroep) file (loaal bestand) - gopher, wais, shttp, telnet, ...
158
URL (vervolg)
Computer:
DNS-naam (Web-site)
optioneel
//domein.naam:poortnummer
Details:
padnaam
e-mail adres (mailto)
…
URL#naam
#naam: plaats in een pagina (i.p.v. het begin)
159
URL (voorbeelden)
http://www.kuleuven.ac.be/kuleuven/news_nl.html
http://www.demo.com/pub/index.html#TOC
/pub/README
ftp://ftp.simtel.com/simtelnet/win95
telnet://pluto.cs.kuleuven.ac.be
file:/user/rik/IW/practicum1
mailto:[email protected]
news:be.politics
160
Web Browser
Web pagina ophalen + tonen
Populaire Browsers: Netscape Navigator Microsoft Internet Explorer HotJava (Sun) …
HTTP Protocol + ... ftp e-mail news telnet gopher, ...
161
HTTP
Hypertext Transfer Protocol
http://www.netvision.be/nv_jobs/index.html
cliëntdienst-verle-ner
GET /nv_jobs/index.html GET /nv_jobs/index.html HTTP/1.0HTTP/1.0
200200
www.netvision.bewww.netvision.be
162
Web Server
Beheert lokale Web-pagina’s vaak sub-boom van lokaal bestandensysteem
Taken: geen visualisatie!
aanvragen browsers/servers beantwoorden
beveiliging
caching
Meestal boven: Unix of Windows NT
163
HTML — Hypertext Markup Language
Web-pagina om even wat: tekst (ascii), Word-document, rekenblad,
foto, ... browser: visualiseren ! standaard-formaat: HTML
Hypertext tekst met verwijzingen naar andere teksten
Markup: code (instructies) die structuur weergeven van document
Andere formaten: hulp-programma’s of plug-ins of kopiëren
164
HTML (voorbeeld)
<HTML>
<HEAD>
<TITLE>Netwerken</TITLE>
</HEAD>
<BODY>
<H1>Computernetwerken</H1>
<H2>1. Inleiding</H2>
Gedurende de laatste 10 jaar is de computerinfrastructuur in bedrijven <B>grondig</B> gewijzigd. …
<P>In dit hoofdstuk bestuderen we het netwerk, ...
</BODY>
</HTML>