netwerk - Departement Computerwetenschappen

advertisement
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
1. Inleiding
1960 ... 1970 ...
mainframe
niet-grafische
terminals
2
1. Inleiding (verv.)
1980 ...
server
PC of
workstation
3
1. Inleiding (verv.)
1.1 Waarom Computernetwerken?
1.2 Componenten in een netwerk
1.3 Netwerkarchitectuur
1.4 OSI-referentiemodel
1.5 Internet model
4
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
5
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, ...

6
1.2 Componenten v/e netwerk

Beeld van de gebruiker
 Communicatienetwerk
 Computernetwerk

vs Gedistribueerd systeem
Opbouw van een communicatienetwerk
 lange
afstand communicatienetwerk
 lokaal
netwerk
7
Beeld van de gebruiker
S4
SCommunicatie1 netwerk
S3
S2
A
B
8
Beeld van de gebruiker (verv.)

Communicatienetwerk
 vergelijk
telefoonnetwerk
 centrales,
kabels, aansluitpunten
 telefoontoestellen,
 kanaal
faxtoestellen
met voldoende bandbreedte (3000 Hz)
9
Beeld van de gebruiker (verv.)

Computernetwerk
 communicatienetwerk
+ aangesloten systemen (PCs, …)
 systemen
 vb.
autonoom + identificeerbaar
Gebruiker A wil op B werken
10
Beeld van de gebruiker (verv.)

Gedistribueerd systeem
 computernetwerk
 1 virtueel systeem
 transparante
toegang tot drukker
 transparante
toegang tot bestand
 transparant
“werk” verdelen
11
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
12
Lange afstand comm. netwerk
S4
S1
S2
AB
S3
S1  S3
A
S1  S4  S3
S1  S2  S4  S3
B
13
Opbouw v/e comm.netwerk (2)

Lokaal Netwerk
 LAN
(Local Area Network)
 binnen
 geen
1 gebouw (< 1 km)
schakelaars
 communicatiebord
 bus-
in PC
of ringnetwerk
 routering
niet nodig
14
Lokaal Netwerk (LAN)
15
1.3 Netwerkarchitectuur

Communicatie niet eenvoudig
 betrouwbaar
bit-transport
 bepalen van route
 opsplitsen in pakketten
 samenvoegen van pakketten
…

Systematische aanpak
 Protocol
+ Gelaagde architectuur
16
1.3 Netwerkarchitectuur (verv.)

Protocol
 “regels”
 aard
en samenstelling van boodschappen
 reactie op boodschap

Dienst
entiteit
entiteit
 aan
gebruikers van “entiteit”
 vb. foutvrij transport van pakketten
17
1.3 Netwerkarchitectuur (verv.)
Gelaagde architectuur
Logische comm.
entiteit
protocol 2
entiteit
Laag 2
dienst
entiteit
dienst

protocol 1
entiteit
Laag 1
18
1.3 Netwerkarchitectuur (verv.)
Gelaagde architectuur
entiteit
protocol 2
entiteit
Laag 2
dienst
entiteit
dienst

protocol 1
entiteit
Laag 1
19
Vb 1: Discuterende Filosofen
Ik vind dat men
mensen niet mag
klonen.
Filosoof
(Gent)
taal
Tolk
•telefoon
•fax
•(brief)
Secretaresse
comm. kanaal
Filosoof
(Tokio)
Tolk
Secretaris
telefoonnetwerk
20
Vb 2: Comm. ts Processen

Proces A op computer x vraagt aan proces B op
computer y
om bestand “brief.doc” op te sturen
Proces A
Proces B
brief.doc
x
y
21
Vb 2: Comm. ts Processen (verv.)

Protocol
A
zend “brief.doc”
B
1200 bytes
OK
Beste rector, ...
OK
x
y
22
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
23
Vb 2: Comm. ts Processen (verv.)
Processen
A
B
Transport
Netwerk
x
y
Communicatienetwerk
Processen
B C D
Transport
Netwerk
Processen
B D
Transport
z
Netwerk
24
Vb 2: Comm. ts Processen (verv.)
Proces A
zend “brief.doc”
Proces B
x, A
y, B
zend “brief.doc”
zend “brief.doc”
zend “brief.doc”
Transportlaag op x
B, A
Transportlaag op y
25
Vb 2: Comm. ts Processen (verv.)
Transportlaag op x
B, A
Transportlaag op y
y
x
B, A
Netwerklaag op x
B, A
y,B,x A
Netwerklaag op y
26
Vb 2: Comm. ts Processen (verv.)
zend “brief.doc”
B, A
voorstellen door:
B, A
zend “brief.doc”
27
Vb 2: Comm. ts Processen (verv.)
Proces A
y, B
zend “brief.doc”
Transportlaag op x
y
zend “brief.doc”
B, A
Netwerklaag op x
B, A
Proces B
zend “brief.doc”
Transportlaag op y
zend “brief.doc”
zend “brief.doc”
y, x B, A
B, A
x, A
zend ...
zend “brief.doc”
x
Netwerklaag op y
28
Samenvatting
proces gegevens
netwerk
hoofding
transport
hoofding
proces gegevens
transport
hoofding
proces gegevens
29
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
30
1.4 OSI-Referentiemodel (verv.)

7 lagen
 hoogste
vier: ts. aangesloten systemen
S4
S1
S2
x
S3
y
31
1.4 OSI-Referentiemodel (verv.)
applicatie
presentatie
sessie
transport
protocol applicatielaag
protocol presentatielaag
protocol sessielaag
applicatie
presentatie
sessie
protocol transportlaag
transport
netwerk
protocol
netw. laag
N
N
netwerk
dataverbinding
protocol
data. laag
D
D
dataverbinding
fysische
protocol
fys. laag
F
F
fysische
S1
S4
systeem y
systeem x
32
1.4 OSI-Referentiemodel (verv.)

Fysische laag
versturen van bits over fysische kabel
aard van kabel
 kenmerken van connectoren
 voorstellen van bits op kabel


Dataverbindingslaag
creatie van foutvrij comm. kanaal
herkennen van pakketjes
 detectie van fouten
 controle op stroom van pakketjes (flow control)

33
1.4 OSI-Referentiemodel (verv.)

Netwerk laag
verkeer van pakketjes door 1/# netwerken
2
soorten diensten:
 virtuele
verbindingen
 datagram dienst
 routebepaling
 kostendoorrekening
 onderling
verbinden van netwerken
+ routebepaling doorheen die netwerken
34
1.4 OSI-Referentiemodel (verv.)

Transport laag
betrouwbaar comm. kanaal ts. eindsystemen
 efficiënt
gebruik comm. Netwerken
 multiplexing
 meerdere
verbindingen tussen eindsystemen
 opdelen
in pakketjes + samenvoegen
 controle op boodschappenstroom (flow control)
35
1.4 OSI-Referentiemodel (verv.)

Sessielaag
extra hulpmiddelen voor samenwerking via
betrouwbaar comm. kanaal

organisatie van dialoog:


vb. Beurtelings zenden
plaatsen van synchronisatiepunten
(voor hervatten van dialoog na fout)
36
1.4 OSI-Referentiemodel (verv.)

Presentatielaag
behoud 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
37
1.4 OSI-Referentiemodel (verv.)

Applicatielaag
hoogste laag

applicaties, geschreven door eindgebruikers


sturing van robots, elektronisch geldverkeer, …
standaard applicaties
elektronische post (X400)
 overdracht van bestanden (FTAM)
 deelproblemen: RPC (remote procede call)

38
1.4 OSI-Referentiemodel (verv.)




Belangrijk referentiemodel
Niet basis voor praktische protocols
Definitie te lang geduurd
Ondertussen:
Internet groeiend succes
39
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)
40
1.5 Internet Model (verv.)
applicatie
Applicatie
presentatie
sessie
transport
transport
netwerk
netwerk
dataverbinding
dataverbinding
fysische
fysische
OSI referentiemodel
Internet model
41
Inhoud

1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
2. Fysische laag




Basisbegrippen
Digitale communicatie
Modems
Schakeltechnieken
43
2.1 Basisbegrippen


Analoog <> digitaal
Periodieke signalen
G(t) =  ak sin(2kf t) +  bk cos(2kf t)

Transmissiemedia
 Gevlochten
koperparen
 Coaxiale kabels
44
2.2 Digitale Communicatie

Digitaal signaal: 0-en en 1-en
+5V
0V
-5V
0

1
0
1
0
0
0
1
Synchronisatie ts zender & ontvanger
 ev.
0
1
speciaal bitpatroon begin/einde
45
2.2 Digitale Communicatie (verv.)

Vervorming
 Verzwakking
 Beperkte
bandbreedte
G(t) =  ak sin(2kf t) +  bk cos(2kf t)
 Omgevingsfactoren:
ruis
+5V
0V
-5V
46
2.3 Modems

Digitaal signaal over analoog kanaal met
beperkte bandbreedte
 Amplitude
 Frequentie
 Fase
 Combinaties
47
2.4 Schakeltechnieken



Lijnschakelen
Boodschapschakelen
Pakketschakelen
48
Lijnschakelen

3 Fasen:
 opzetten
 ev.
van een verbinding
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
49
Lijnschakelen (verv.)
opdracht
resultaat
tijd
50
Boodschapschakelen




Verbindingen gemeensch. gebruikt
boodschap: schakelaar  schakelaar
Store-and-forward
Grotere vertraging
 volledig
ontvangen,
dan pas verdergestuurd als verbinding vrij

Variabele vertraging
51
Boodschapschakelen (verv.)








52
Pakketschakelen


Boodschap opdelen in pakketjes
Afzonderlijk over netwerk verstuurd
 eventueel


verschillende route
Lijn slechts korte tijd bezet
Vertragingen zijn variabel
53
Pakketschakelen (verv.)
1 2 3
4 5 6
3
6
1
5
4
2
54
Inhoud
1. Inleiding

2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
3. Dataverbindingslaag
Fysische laag: bits oversturen (onbetrouwbaar)
0101000101
Fysische Laag


0101010101
Fysische Laag
Hoofdopdracht:
realiseren v. betrouwbaar kanaal
Beperkingen:
mogelijk:  verwerkingssnelheid 
 geen voorz. om systemen te synchroniseren

56
3. Dataverbindingslaag (verv.)
Inhoud
3.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
57
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
58
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)
59
3.1 Taken (verv.)

Stroombeheersing
flow control
  snelle zender overspoelt trage ontvanger

 ontvanger: expliciete/impliciete toelating
om volgend pakket te sturen

Pakket Layout
HW
Beginpatroon
Hoofding
Data
Controlesom
Eindpatroon
01111110
v. Netwerklaag
01111110
60
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 */
61
3.2 Algoritmes & Protocols

(verv.)
1 zender & 1 ontvanger
1-richting communicatie

NWL (zender): onbeperkte hoeveelheid gegevens

NWL (ontvanger): onbeperkte hoev. Bufferruimte
ontvang_van_netwerklaag
geef_aan_netwerklaag
DVL (zender)
verzend_pakket
DVL (ontvanger)
ontvang_pakket
Fysische Laag
Fysische Laag
62
3.3 Protocol 1: geen fouten,
geen stroombeheersing
zender
ontvanger
tijd
Vertraging
ts zenden
en ontvangen
Zender kan
onbeperkt zenden
63
3.3 Protocol 1: geen fouten,
geen stroombeheersing (verv.)
Algoritme zender
Algoritme ontvanger
data_van_netwerklaag dnl;
pakket p;
data_van_netwerklaag dnl;
pakket p;
while (true){
while (true){
ontvang_van_netwerklaag(&dnl);
ontvang_pakket(&p);
p.info = dnl;
geef_aan_netwerklaag(p.info);
verzend_pakket(p);
}
}
64
3.3 Protocol 1: geen fouten,
geen stroombeheersing (verv.)
Zender kan onbeperkt zenden ...
65
3.4 Protocol 2: geen fouten,
wel stroombeheersing
zender
ontvanger
tijd
Ontvanger geeft expliciet
toestemming voor sturen
van volgend pakket
66
3.4 Protocol 2: geen fouten,
wel stroombeheersing (verv.)
Algoritme zender
Algoritme ontvanger
data_van_netwerklaag dnl;
pakket p, t;
dnl: data_van_netwerklaag;
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);
}
}
67
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
68
3.5 Protocol 3: fouten mogelijk,
stroombeheersing
Algoritme (2) zender
Algoritme (2) ontvanger
…
while (true){
ontvang_van_netwerklaag(&dnl);
p.info = dnl;
verzend_pakket(p);
ontvang_pakket(&t);
}
...
while (true){
ontvang_pakket(&p);
geef_aan_netwerklaag(p.info);
verzend_pakket(t);
}
zender
ontvanger
Impasse!!!
69
3.5 Protocol 3: fouten mogelijk,
stroombeheersing (verv.)
zender
ontvanger
P0
P0.info
P1
P1
P2
P1.info
P2.info
70
3.5 Protocol 3: fouten mogelijk,
stroombeheersing (verv.)
zender
ontvanger
P2
P2
P2.info
Duplicaat!!!
Pakketten nummeren
• onderscheid: nieuw  heruitzending
• 1-bit nummer volstaat
71
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 }
72
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;
ontvang_van_netwerklaag(&dnl);
while(true){
p.nr = volgend_volgnummer;
p.info = dnl;
verzend_pakket(p);
start_wekker();
geb = wacht_op_gebeurtenis();
if (geb == AANKOMST) {
stop_wekker();
ontvang_pakket(&t);
ontvang_van_netwerklaag(&dnl);
volgend_volgnummer =
(volgend_volgnummer + 1) % 2;
}
}
73
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 */
}
74
3.5 Protocol 3: Corrrect??? (verv.)
zender
ontvanger
0 I0
zender
ontvanger
I0
1 I3
1 I1
1 I1
beschouwd
als duplicaat
I1
traag!
0 I4
I4
duplicaat
0 I2
Legende:
nr info
75
3.6 Protocol 4: 1-bit venster
protocol

Vensterprotocol


Hier vereenvoudiging


bedoeld voor gegevensverkeer in 2 richtingen
alleen verkeer in 1 richting
Fout in protocol 3:

Zender: Toelating foutief interpreteren

Oplossing: Toelating bevat bevestiging
v. laatst correct ontvangen pakket
(acknowledgement)
76
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;
ontvang_van_netwerklaag(&dnl);
while(true){
p.nr = volgend_nr;
p.info = dnl;
verzend_pakket(p);
start_wekker();
geb = wacht_op_gebeurtenis();
if (geb == AANKOMST) {
stop_wekker();
ontvang_pakket(&ack);
if (ack.nr == volgend_nr) {
ontvang_van_netwerklaag (dnl);
volgend_nr = (volgend_nr + 1) % 2;
}
}
}
77
3.6 Protocol 4: 1-bit venster
protocol (verv.)
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);
}
78
3.6 Protocol 4: 1-bit venster
protocol (verv.)
zender
ontvanger
0 I0
0
1 I1
1 I1
1
0 I2
zender
ontvanger
1
I0
0 I2
I1
I2
0
traag!
1 I3
I3
duplicaat
Legende:
nr info
nr
79
3.7 Uitbreidingen

beperkingen protocol 4:

als propagatietijd signaal 
onefficiënt gebruik van communicatiekanaal

bijv. Satellietverbinding
80
3.7 Uitbreidingen (verv.)
81
3.7 Uitbreidingen (verv.)
0 ms
360 ms
125 ms
485 ms
180 ms
845 ms
82
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?
83
Inhoud
1. Inleiding
2. Fysische laag

3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
4. Lokale netwerken
4.1 Algemene Kenmerken
4.2 Ethernet
 Fysische
Laag
 Werkingsprincipe (3 Regels)
 Pakket Layout
 Diensten
85
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
86
4.1 Algemene Kenmerken (verv.)
bus
ring
87
4.1 Algemene Kenmerken (verv.)

Gemeenschappelijk gebruikt kanaal:
(vergelijk: kamer met mensen)
 gelijktijdige toegang mogelijk
 iedereen ontvangt elk pakket
88
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
89
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
OSI Model
LLC
MAC
fysische laag
Lokaal Netwerk
90
4.2 Ethernet



IEEE 802.3
Busnetwerk
Fysische Kabel (versch. alternatieven)
 dunne
coaxiale kabel (thin Ethernet)
 gevlochten koperparen
flexibele bekabeling
 dikke
(twisted pair):
meest
coaxiale kabel (thick Ethernet): verouderd
91
4.2 Ethernet
Fysische Laag

3 soorten bekabeling:
92
4.2 Ethernet
Fysische Laag

Elke computer: interface bord

verbinding met coaxiale kabel
93
4.2 Ethernet
Fysische Laag (verv.)

Pakket versturen:
 Signaal
coaxiale kabel
plant zich voort naar beide uiteinden
aansluitpunt computersysteem
signaal
94
4.2 Ethernet
Fysische Laag (verv.)

2 Computers gelijktijdig versturen:
elektrisch signaal gewijzigd
 geen van beide pakketten correct herkend
 BOTSING

botsing
(nog niet detecteerbaar door beide systemen)
95
4.2 Ethernet
Fysische Laag (verv.)

Botsing:
hoort botsing
weet nog niet dat
botsing opgetreden is
96
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

97
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| )
98
4.2 Ethernet (verv.)
Werkingsprincipe

Vergelijk:
ruimte met # mensen
 geen moderator aanwezig


Stel: computer mag op elk ogenblik beginnen sturen
1e PC begint versturen
800 s
2e PC begint versturen
800 s
tijd
beide pakketten foutief ontvangen
 globale verlies = 800 s + 800 s = 1600 s
 < 18% v/d capaciteit benutten!

99
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
100
4.2 Ethernet (verv.)
Werkingsprincipe

Toepassing van regel 1:
Computer mag alleen starten indien kabel vrij is
1e PC begint versturen
2e PC begint versturen
800 s
800 s
tijd
beide pakketten foutief ontvangen
 globale verlies = 5 s + 800 s = 805 s
 < 36% v/d capaciteit benutten!

101
4.2 Ethernet
Werkingsprincipe (verv.)

Regel 2:
Blijf
luisteren tijdens zenden
Bla bla ...
 Stop
zodra botsing vastgesteld
Zend kort stoorsignaal
102
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

1e PC begint versturen
5 s + ...
2e PC begint versturen 5 s + ...
tijd
geen pakketten ontvangen
 globale verlies  5 s + 5 s  10 s
 Verlies (10 s) <<< tijd voor verzenden pakket (800 s)

103
4.2 Ethernet
Werkingsprincipe (verv.)

Regel 3:

Na botsing: wacht
willekeurige tijd
herhaalde botsingen: wachttijd neemt toe
 na 16 mislukkingen: faling melden

104
4.2 Ethernet
Werkingsprincipe (verv.)

CSMA/CD
MA
CS
CD

Multiple Access
Carrier Sense
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
105
4.2 Ethernet (verv.)
Pakket Layout

Elke verbindingskaart
 uniek
(wereldwijd) adres = 6 bytes
Hoofding
- bestemmeling
- afzender
- ...
Data
 “broadcast”
 naar
adres
alle aangesloten systemen
Controlesom
106
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);
107
4.2 Ethernet (verv.)
Bekabeling
108
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
109
4.2 Ethernet (verv.)
Fast Ethernet

10 Mbps  100 Mbps
Mbps: 10s <> 800 s  efficiënte werking
 100 Mbps: 10s <> 80 s  ??
 10


Reductie lengte kabel: 2,5km  250m
10 Mbps + 1000m  100 Mbps + 100m
Mbps: 10s <> 800 s  efficiënte werking
 100 Mbps: 1s <> 80 s  efficiënte werking
 10
110
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?
111
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag

4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
5. Netwerklaag
Dataverbindingslaag:

communicatie tussen direct verbonden computersyst.
Netwerklaag:

communicatie tussen verwijderde computersystemen
mogelijk maken
5.1 Diensten
5.2 Protocol
5.3 Routering
113
5. Netwerklaag (verv.)
netwerk
protocol
netw. laag
N
dataverb.
protocol
data. laag
D
fysische
protocol
fys. laag
F
A
S2
S1
N
protocol
netw. laag
netwerk
D
protocol
data. laag
dataverb.
F
protocol
fys. laag
fysische
S3
S4
B
114
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
115
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);
116
5.2 Protocol

Hier: alleen datagram dienst
Hoofding
- netwerkadres bestemmeling
- netwerkadres afzender
- protocol transportlaag
- ...
Data van Transportlaag

NWL (Computer A, S1, S3):
 pakket
over bepaalde verbinding sturen
117
5.3 Routering
Schakelaar:
 routeringstabel:
per bestemming: uitgaande lijn
C
0
0 S 1
1
3 2
3 S2 1
2
3 0
1 2
S4 3
A
E
2
S3
D
1
0
F
B
nr
S1
S2
S3
S4
A
B
C
D
E
F
0
1
1
2
3
2
3
1
0
1
3
2
3
1
3
0
2
2
1
3
2
3
1
0
118
5.3 Routering (verv.)
C
0
A
0 S 1
1
3 2
3 S2 1
2
3 0
1 2
S4 3
E
0
2
S3
D
1
B
F
nr
S1
S2
S3
S4
A
B
C
D
E
F
0
1
1
2
3
2
3
1
0
1
3
2
3
1
3
0
2
2
1
3
2
3
1
0
: 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
119
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
120
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken

5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
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)
122
6. Netwerken verbinden (verv.)
WAN-1
R1
LAN-1
R4
R2
WAN-2
5.1
5.2
5.3
Schakelaars Ri
(routers)
R3
Adressering
Diensten en Protocol
Routering
WAN-3
R5
LAN-2
123
6.1 Adressering


1 globaal, uniform adresseringsschema
Internet:
 adres
= 32 bits
134.58.39.91 (dotted decimal)
 verschillende soorten adressen
Netwerk

Computersysteem
Omzetting Internet-adres  Lokaal adres
 vertaaltabellen
of vertaalprotocol
124
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
125
6.2 Diensten en Protocol
Internet
 netwerklaag:
 protocol
1
alleen datagram dienst
= IP (Internet Protocol)
soort pakket
 hoofding
= 20 bytes
 mogelijkheid
 indien
om IP-pakket op te splitsen
onmogelijk verder te sturen:
 foutboodschap
naar zender (ander protocol)
126
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), ...
127
6.3 Routering

Iedere router:
 routeringstabel
WAN-1
R1
naar
R1
R2
R3
R4
R5
WAN-1
WAN-2
WAN-3
LAN-1
LAN-2
R2
R4
R4
R3
R1
R3
R2
R4
R5
R1
R1
R5
R4
R3
R4
-
LAN-1
R4
R2
WAN-2
volgende router
(op zelfde netwerk)
op pad naar bestemm.
R5
LAN-2
R3
WAN-3
vaak verzuimingang:
kortere tabel
128
6.3 Routering
naar
R1
R2
R3
R4
R5
134.58.1.0
134.58.2.2 134.58.11.1 134.58.3.4
134.58.2.0 134.58.1.2
134.58.11.1 134.58.3.3
134.58.3.0 134.58.11.4 134.58.2.3
134.58.11.0
134.58.1.1 134.58.3.4
134.58.3.4
134.58.12.0 134.58.11.4 134.58.2.3 134.58.3.5 134.58.3.5
R1
WAN-1
134.58.1.0
134.58.11.0
LAN-1
R4
R2
WAN-2
134.58.2.0
R5
LAN-2
R3
WAN-3
134.58.3.0
134.58.12.0
129
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
130
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag

6. Netwerken verbinden: internet
7. Transportlaag
8. Naamdiensten
9. Toepassingen
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
132
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
133
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!
TCP hoofding
• volgorde aankomst van pakketten
• 1-bit venster te beperkend op snelheid volgnummer
 byte
1e byte in pakket
stroom (elke byte 32-bit volgnummer)
 verbreken
v/d verbinding
134
7.3 UDP Protocol & Diensten


Datagram dienst tussen eindpunten
 Datagram dienst van IP
135
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet

7. Transportlaag
8. Naamdiensten
9. Toepassingen
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
137
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
138
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
 gov
 mil

universiteiten
Amerikaanse overheid
Amerikaanse leger
139
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
140
8.2 Omzetting
Domeinnaam  IP Adres

Gegevensbank
 niet
gecentraliseerd (flessehals!)
 naambeheerder (name server)
 omzetting
 hiërarchie
 ieder
domeinnaam IP-adres
van naambeheerders
domein: aparte naambeheerder
141
8.2 Omzetting
Domeinnaam  IP Adres (verv.)
Naambeheerder cs.kuleuven.ac.be
Machines/subdomeinen
van cs.kuleuven.ac.be
type
IP-adres
nix
A
134.58.42.36
idefix
A
134.58.41.7
droopy
A
134.58.41.10
stevin
A
134.58.41.16
...
A = Address
142
8.2 Omzetting
Domeinnaam  IP Adres (verv.)
Naambeheerder kuleuven.ac.be
Machines/subdomeinen
van kuleuven.ac.be
type
IP-adres
cs
NS
134.58.39.1
esat
NS
…
www
A
…
...
NS = NameServer
143
8.2 Omzetting
Domeinnaam  IP Adres (verv.)
Naambeheerder voor TLD-namen
= root-naambeheerder
 gekend IP-adres
 alleen verwijzingen naar andere naambeheerders

144
8.2 Omzetting
Domeinnaam  IP Adres (verv.)
www.cs.vu.nl
130.37.24.11
Example : www.cs.vu.nl
Root-NS
Lokale NS
NS (nl)
(cs.kuleuven.ac.be)
NS (vu.nl)
130.37.24.11
NS (cs.vu.nl)
145
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
146
Inhoud
1. Inleiding
2. Fysische laag
3. Dataverbindingslaag
4. Lokale Netwerken
5. Netwerklaag
6. Netwerken verbinden: internet
7. Transportlaag

8. Naamdiensten
9. Toepassingen
9. Toepassingen

E-Mail
 E-mailadressen
 E-mail
 E-mailprogramma’s
 E-mailservers

World Wide Web
 URL
 Componenten
 Opbouw
van pagina’s
148
9.1 E-mail

E-mail adressen
[email protected]
[email protected]
[email protected]

na @: domeinnaam

voor @: loginnaam, Voornaam.Naam, groepsnaam
149
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, ...
150
9.1 E-mail (vervolg)

E-mailprogramma’s: Netscape
151
9.1 E-mail (vervolg)

E-mail

hoofding

SleutelWoord: waarde
From: afzender
To: bestemmeling
Cc: kopie naar …
Subject: onderwerp dat besproken wordt
Date: datum + tijd waarop verstuurd werd
...
blanko lijn
 Boodschap zelf

152
9.1 E-mail (vervolg)

E-mailservers
 sturen
/ ontvangen van boodschappen
E-mailprogr.
POP
E-mailserver
SMTP
SMTP
Simple Mail Transfer Protocol
POP
Post Office Protocol
IMAP
Internet Mail Access Protocol
E-mailserver
IMAP
E-mailprogr.
153
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
154
9.2 World Wide Web
Zie cursus Informaticawerktuigen






Hypertext
URL (Uniform Resource Locator)
Browser
HTTP (HyperText Transfer Protocol)
WebServer
HTML (HyperText Markup Language)
155
Hypertekst
Computer A
Computer B
Hypertekst
… (meer
…
info)
Een link is …
…
Meer
informatie kan
je hier vinden
(Engels).
Hypertext
Links
…
hypertekst
…
Hypertext
allows a
document to
…
Hypertekst bevat verwijzingen naar andere
documenten
156
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
Protocol:
 http (web-pagina)
 ftp (file transfer protocol)

file
(loaal bestand)
details (padnaam)
- mailto (elektronische post)
- news (USENET nieuwsgroep)
- gopher, wais, shttp, telnet, ...
157
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)
158
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
159
Web Browser

Web pagina ophalen + tonen

Populaire Browsers:
Netscape Navigator
 Microsoft Internet Explorer
 HotJava (Sun)
…


HTTP Protocol + ...





ftp
e-mail
news
telnet
gopher, ...
160
HTTP
Hypertext Transfer Protocol
http://www.netvision.be/nv_jobs/index.html
GET /nv_jobs/index.html HTTP/1.0
cliënt
200
dienstverlener
www.netvision.be
161
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
162
HTML — Hypertext Markup
Language

Web-pagina
om even wat: tekst (ascii), Word-document, rekenblad,
foto, ...
 browser: visualiseren !
 standaard-formaat: HTML


Hypertext


Markup:


tekst met verwijzingen naar andere teksten
code (instructies) die structuur weergeven van document
Andere formaten:

hulp-programma’s of plug-ins of kopiëren
163
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>
164
Download