Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdFanny Thys Laatst gewijzigd meer dan 10 jaar geleden
1
SOCS Hoofdstuk 5 Computernetwerken
2
Inhoud 1.Inleiding 2.Fysische Laag 3.Dataverbindingslaag 4.Lokale Netwerken 5.Netwerklaag 6.Netwerken verbinden: internet 7.Transportlaag 8.Naamdiensten 9.Toepassingen
3
3 3. Dataverbindingslaag Hoofdopdracht: realiseren v. betrouwbaar kanaal Beperkingen: Mogelijk: verwerkingssnelheid Geen voorz. om systemen te synchroniseren Fysische laag: bits oversturen (onbetrouwbaar) Fysische Laag 0101000101 0101010101
4
4 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
5
5 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
6
6 3.1 Taken (verv.) Detectie van fouten Zender: controlebits toevoegen aan pakket Ontvanger: nagaan of correct ontvangen Bijvoorbeeld Pariteitsbit (on)even pariteit: # 1-bits in pakket is (on)even 01001011 CRC (Cyclic Redundancy Check) fouten van meerdere bits detecteren Indien fout: opnieuw zenden Duplicaten herkennen (bij heruitzending) Hoofding met volgnummer 1 (oneven) Oneven bit fouten detecteren 010011111 011011111 011011101
7
7 3.1 Taken (verv.) Stroombeheersing Flow control Snelle zender overspoelt trage ontvanger Ontvanger: expliciete/impliciete toelating om volgend pakket te sturen Pakket Layout 01111110 HW Hoofding Data Beginpatroon Eindpatroon Controlesom v. Netwerklaag
8
8 3.2 Algoritmes en protocols typedef struct {... } data_van_netwerklaag; typedef struct { int nr; /* veld van hoofding */ data_van_netwerklaag info; } pakket ; nr Info int data_van_netwerklaag pakket struct java klasse zonder methodes
9
9 3.2 Algoritmes en protocols (verv.) void ontvang_van_netwerklaag (data_van_netwerklaag * dw); /* na oproep bevat *dw informatie die voor netwerklaag moet verstuurd worden */ /* na oproep bevat *dw informatie die voor netwerklaag moet verstuurd worden */ void geef_aan_netwerklaag (data_van_netwerklaag d); /* data in ontvangen pakket wordt doorgegeven aan netwerklaag */ /* data in ontvangen pakket wordt doorgegeven aan netwerklaag */ dw d data_van_netwerklaag
10
10 3.2 Algoritmes en protocols (verv.) void verzend_pakket (pakket p); /* p wordt voor verzending doorgegeven aan fysische laag */ /* p wordt voor verzending doorgegeven aan fysische laag */ void ontvang_pakket (pakket * pw); /* ontvang pakket p van de fysische laag */ /* ontvang pakket p van de fysische laag */ nr Info int data_van_netwerklaag pw p
11
11 3.2 Algoritmes en protocols (verv.) 1 zender & 1 ontvanger 1-richting communicatie NWL (zender): onbeperkte hoeveelheid gegevens NWL (ontvanger): onbeperkte hoev. bufferruimte Fysische Laag DVL (zender)DVL (ontvanger)verzend_pakketgeef_aan_netwerklaag ontvang_van_netwerklaagontvang_pakket
12
12 3.3 Protocol 1: geen fouten, geen stroombeheersing Algoritme zender data_van_netwerklaag dnl; pakket p; while (1) { ontvang_van_netwerklaag(&dnl); p.info = dnl; verzend_pakket(p);} Algoritme ontvanger pakket p; while(1) { ontvang_pakket(&p);geef_aan_netwerklaag(p.info);} nr Info int data_van_netwerklaag pakket
13
13 3.3 Protocol 1: geen fouten, geen stroombeheersing (verv.) zenderontvanger tijd Vertraging ts zenden en ontvangen Zender kan onbeperkt zenden
14
14 3.3 Protocol 1: geen fouten, geen stroombeheersing (verv.) Zender kan onbeperkt zenden...
15
15 3.4 Protocol 2: geen fouten, wel stroombeheersing Algoritme zender data_van_netwerklaag dnl; pakket p, t; while (1) { ontvang_van_netwerklaag(&dnl); p.info = dnl; verzend_pakket(p);ontvang_pakket(&t);} Algoritme ontvanger pakket p, t; while(1) { ontvang_pakket(&p);geef_aan_netwerklaag(p.info);verzend_pakket(t);}, t
16
16 3.4 Protocol 2: geen fouten, wel stroombeheersing (verv.) zenderontvanger tijd Ontvanger geeft expliciet toestemming voor sturen van volgend pakket
17
17 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
18
18 zenderontvanger Impasse!!! Ontvanger (alg. 2)... while(1) { ontvang_pakket(&p);geef_aan_netwerklaag(p.info);verzend_pakket(t);} Zender (alg. 2) … while (1) { ontvang_van_netwerklaag(&dnl); p.info = dnl; verzend_pakket(p);ontvang_pakket(&t);} verzend_pakket(p); ontvang_pakket(&t); ontvang_pakket(&p); 3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)
19
19 3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)zenderontvanger wekker P0P0 P1P1 P1P1 P2P2 P 0. info P 1. info P 2. info
20
20 3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.)zenderontvanger wekker P2P2 P 2. info P2P2Duplicaat!!! Pakketten nummeren onderscheid: nieuw heruitzending 1-bit nummer volstaat
21
21 3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.) Zender: Na zetten van wekker: 2 gebeurtenissen mogelijk Wekker loopt af Aankomst van een pakket int wacht_op_gebeurtenis(); geb = wacht_op_gebeurtenis(); /* geb == AANKOMST of geb == WEKKER */
22
22 ontvang_van_netwerklaag(&dnl); 3.5 Protocol 2: geen fouten, stroombeheersing (verv.) Algoritme Zender data_van_netwerklaag dnl; pakket p, t; ontvang_van_netwerklaag(&dnl); while (1) { p.info = dnl; verzend_pakket(p); ontvang_pakket(&t); ontvang_van_netwerklaag (&dnl); }
23
23 3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.) Algoritme Zender data_van_netwerklaag dnl; pakket p, t; volgend_volgnummer = 0; ontvang_van_netwerklaag(&dnl); while (1) { p.nr = volgend_volgnummer; p.info = dnl; verzend_pakket(p); start_wekker(); geb = wacht_op_gebeurtenis(); int volgend_volgnummer; gebeurtenis geb; if (geb == AANKOMST) { stop_wekker(); ontvang_pakket(&t); ontvang_van_netwerklaag (&dnl); volgend_volgnummer = 1 – volgend_volgnummer; } }
24
24 3.5 Protocol 3: fouten mogelijk, stroombeheersing (verv.) Algoritme ontvanger pakket p, t; verwacht_volgnummer = 0; while(1) { ontvang_pakket(&p); if (p.nr == verwacht_volgnummer) { geef_aan_netwerklaag(p.info); verwacht_volgnummer = 1 - verwacht_volgnummer; } verzend_pakket(t); } int verwacht_volgnummer; /* steeds nodig, ook als duplicaat ontvangen is */
25
25 3.5 Protocol 3: Correct??? (verv.)zenderontvangerzenderontvanger I0 I0 duplicaat I4 I4 I1 I1 beschouwd als duplicaat I0I0 0 I1I1 1 I1I1 1 I2I2 0 I3I3 1 I4I4 0 traag! wekker infonrLegende: traag! Verkeerde interpretatie (van toelating) Afgeleverd aan NWL: I0, I1, I4
26
26 3.6 Protocol 4: 1-bit venster protocol 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)
27
27 3.6 Protocol 4: 1-bit venster protocol (verv.) Algoritme Zender data_van_netwerklaag dnl; pakket p, ack; volgend_volgnummer = 0; ontvang_van_netwerklaag(&dnl); while (1) { p.nr = volgend_volgnummer; p.info = dnl; verzend_pakket(p); start_wekker(); geb = wacht_op_gebeurtenis(); int volgend_volgnummer; gebeurtenis geb; if (geb == AANKOMST) { stop_wekker(); ontvang_pakket(&ack); if (ack.nr == p.nr) { ontvang_van_netwerklaag (&dnl); volgend_volgnummer = 1 – volgend_volgnummer; } } }
28
28 3.6 Protocol 4: 1-bit venster protocol (verv.) Algoritme ontvanger pakket p, ack; int verwacht_volgnummer; verwacht_volgnummer = 0; while(1) { ontvang_pakket(&p); if (p.nr == verwacht_volgnummer) { geef_aan_netwerklaag(p.info); verwacht_volgnummer = 1 - verwacht_volgnummer; } ack.nr = p.nr; verzend_pakket(ack); }
29
29 3.5 Protocol 4: Correct??? (verv.)zenderontvangerzenderontvanger I0 I0 duplicaat I3 I3 I1 I1 I0I0 0 I1I1 1 I1I1 1 I2I2 0 I2I2 0 I3I3 1 traag! wekker infonrLegende: traag! 0 1 10 I2 I2 Afgeleverd aan NWL: I0, I1, I2, I3
30
30 3.7 Uitbreidingen Beperking protocol 4: Als propagatietijd signaal onefficiënt gebruik van communicatiekanaal Bijv. Satellietverbinding
31
31 3.7 Uitbreidingen (verv.) 36.000 km 200.000 km/s 64.000 bits/s 8000 bits
32
32 3.7 Uitbreidingen (verv.) 0 ms 125 ms 180 ms 360 ms 485 ms 845 ms 8000 bits 64.000 bps 36.000 km 200.000 km/s 72.000 km 200.000 km/s
33
33 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?
34
Inhoud 1.Inleiding 2.Fysische Laag 3.Dataverbindingslaag 4.Lokale Netwerken 5.Netwerklaag 6.Netwerken verbinden: internet 7.Transportlaag 8.Naamdiensten 9.Toepassingen
35
35 4. Lokale netwerken 4.1Algemene Kenmerken 4.2Ethernet Fysische Laag Werkingsprincipe (3 Regels) Pakket Layout Diensten
36
36 4.1 Algemene Kenmerken Geografisch beperkt gebied Topologie: Geen afzonderlijke schakelaars / wel interfaceborden Eenvoudige topologie: ring of bus Hoge transmissiesnelheden: 10Mbit/s.. 1Gbit/s Hoge kwaliteit: weinig fouten Gemeenschappelijk gebruikt kanaal Protocol voor toegang tot fysische kanaal Alle pakketten door iedereen ontvangen
37
37 4.1 Algemene Kenmerken (verv.) ring bus
38
38 4.1 Algemene Kenmerken (verv.) Gemeenschappelijk gebruikt kanaal: (vergelijk: kamer met mensen) Gelijktijdige toegang mogelijk Iedereen ontvangt elk pakket
39
39 4.1 Algemene Kenmerken (verv.) Specifieke protocols: In dataverbindingslaag + fysische laag! Netwerklaag: leeg (tenzij LANs verbonden) Dataverbindingslaag + stukje Fys. Laag LLC: Logical Link Control (gemeensch. LANs) MAC: Medium Access Control Verschillend voor elk soort LAN Onbetrouwbaar transport van pakketten
40
40 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 Model Lokaal Netwerk
41
41 4.2 Ethernet IEEE 802.3 Busnetwerk Fysische Kabel (versch. alternatieven) Dunne coaxiale kabel (thin Ethernet) Dikke coaxiale kabel (thick Ethernet) Gevlochten koperparen (UTP) Glasvezel ……
42
42 4.2 Ethernet Fysische Laag Elke computer: interface bord Verbinding met coaxiale kabel
43
43 4.2 Ethernet Fysische Laag (verv.) Pakket versturen: Signaal plant zich voort naar beide uiteinden aansluitpunt computersysteem coaxiale kabel signaal
44
44 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)
45
45 4.2 Ethernet Fysische Laag (verv.) Botsing: hoort botsing weet nog niet dat botsing opgetreden is
46
46 4.2 Ethernet Fysische Laag (verv.) Enkele cijfers | kabel | = 1000 m 2 PCs nabij de twee uiteinden transmissiesnelheid = 10 Mbit/s | pakket | = 1kByte propagatiesnelheid (signaal) = 200.000 km/s uitzenden pakket = bit (andere kant v/d kabel) = 800 s 5 s
47
47 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| )
48
48 4.2 Ethernet (verv.) Werkingsprincipe Vergelijk: Ruimte met # mensen Geen moderator aanwezig Stel: computer mag op elk ogenblik beginnen sturentijd 1 e PC begint versturen 2 e PC begint versturen 800 s Beide pakketten foutief ontvangen Globale verlies = 800 s + 800 s = 1600 s Maximaal < 18% v/d capaciteit benutten!
49
49 4.2 Ethernet Werkingsprincipe (verv.) Regel 1 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
50
50 4.2 Ethernet Werkingsprincipe (verv.) Regel 2 Regel 2: Blijf luisteren tijdens zenden Bla bla... Stop zodra botsing vastgesteld Zend kort stoorsignaal
51
51 4.2 Ethernet Werkingsprincipe (verv.) Regel 3 Regel 3 : Na botsing: wacht willekeurige tijd Herhaalde botsingen: wachttijd neemt toe Na 16 mislukkingen: faling melden
52
52 4.2 Ethernet Werkingsprincipe (verv.) CSMA/CD CSMA/CD MAMultiple AccessGelijktijdige toegang CSCarrier SenseIn gebruik of draaggolf CDCollision DetectBotsingen detecteren Eigenschappen: belasting vertraging belasting tot 90% v/d capaciteit nuttig gebruikt indien |pakket| Geen garantie uitsturen (real time systemen!?!) CD (door 2 systemen) |pakket| 64 bytes
53
53 4.2 Ethernet (verv.) Pakket Layout Elke verbindingskaart uniek (wereldwijd) adres = 6 bytes “broadcast” adres naar alle aangesloten systemen Hoofding - bestemmeling - afzender -... Data Controlesom
54
54 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 */ zend_pakket procedure zend_pakket (ethernet_adres bestemmeling, info data); ontvang_pakket procedure ontvang_pakket (ethernet_adres * afzender, info *data);
55
55 4.2 Ethernet (verv.) Moderne Bekabeling & Hubs Coaxiale kabels verplaatsen = arbeidsintensief Gevlochten koperparen Max lengte: 100 – 150 m + Hub of Switch Sterconfiguratie Hub: Stuurt signaal over alle koperparen Switch: Stuurt signaal over 1 koperpaar Fast Ethernet: 100 Mbps (zelfde pakketlengte) Gigabit Ethernet
56
56 4.2 Ethernet (verv.) Moderne Bekabeling & Hubs HUB
57
57 4.2 Ethernet (verv.) Moderne Bekabeling & Hubs SWITCH Bufferruimte minder botsingen Leert bestemmingen kennen verdersturen over 1 verbinding buffers A B C D naar:A van: C Blablabla Lijn1: A Lijn2: B Lijn3: C
58
58 Cursustekst Hoofdstuk 5: pag. 24 pag. 42
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.