in2210 Computernetwerken: Netwerklaag
De funktie van de netwerklaag - De datalink brengt frames van het ene punt van een transmissiekanaal naar een ander.
- De netwerklaag brengt pakketten van bron naar bestemming.
5. De netwerklaag
Station (host) in2210 Computernetwerken: Netwerklaag
Taken van de netwerklaag
proces
applicatielaag transportlaag netwerklaag datalinklaag fysieke laag
- Routes zo kiezen dat het netwerk gelijkmatig belast wordt. - Pad zoeken indien bron en bestemming in verschillende (gekoppelde) netwerken liggen.
media
- De problemen door verschillen tussen netwerken oplossen. in2210 Computernetwerken: Netwerklaag
5 4 3 2 1
3 22 11
3 22 11
5 4 3 2 1
host
router
router
host
4
5.1 Ontwerpaspecten v.d. netwerklaag
communicerende processen
appl. prot. transp. prot
proces
5 4 3 2 1
3 22 11
3 22 11
5 4 3 2 1
host
router
router
host
in2210 Computernetwerken: Netwerklaag
appl. prot. transp. prot
proces
in2210 Computernetwerken: Netwerklaag
3
Koppelvlak tussen computer en subnetwerk
communicerende processen
– Netwerklaag de laagste laag die zich bezighoudt met transmissie van eind tot eind, zij doet dat echter stapsgewijs. – Transportlaag en applicatielaag doen dat direct van eind to eind.
Koppelvlakken (interfaces )
Koppelvlak tussen transport- en netwerklaag
2
Plaats van de netwerklaag
- Een pad van bron naar bestemming door het subnet zoeken (kennis hebben over de topologie).
proces
Knooppunt (router)
in2210 Computernetwerken: Netwerklaag
1
- De geleverde diensten moeten onafhankelijk zijn van de gebruikte technieken in het subnet - De transportlaag moet afgeschermd zijn voor - het aantal subnetten tussen de eindstations - type van de subnetten - topologie van de subnetten - De netwerkadressen moeten volgens een uniform nummerplan zijn dat zowel LAN’s en WAN’s beslaat
Grens van subnetwerk
in2210 Computernetwerken: Netwerklaag
5
5-1
6
in2210 Computernetwerken: Netwerklaag
Twee soorten diensten Verbindingsloos A
Diensten aan de transportlaag (1) Verbindingsgericht A
B
Verbindingsloos - primitieven: N-data.request (zend pakket) N-data.indication (ontvang pakket) - geen stroombeheersing - geen volgordebewaking - complexiteit zit in de stations (transportlaag), niet in de stations.
B
Bericht 2
3 2
verzonden
1 3
1
ontvangen
2
3 3
1 2
1
in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
7
Verbindingsloze dienst
8
Verbindingsloze primitieven
- Beeld dat de gebruikers (transportentiteiten) hebben van het netwerk: gebruiker gebruiker grens van 1 2 netwerklaag NSAP
N-data.request N-data.indication
Transportlaag
Transportlaag
Netwerklaag
station A
N-data.request
station B
N-data.indication
pakket van 1 naar 2,
pakket van 2 naar 1
in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
9
Diensten aan de transportlaag (2)
Verbindingsgerichte dienst
Verbindingsgericht - Opzetten verbinding - Onderhandelen over kwaliteit en kosten van de dienst (bv. snelle of nauwkeurige bezorging) - full-duplex communicatie - pakketten in volgorde afgeleverd - stroombeheersing tussen zender en ontvanger - naar keuze: gegarandeerde bezorging, bevestiging door subnet,prioriteit. - verbreken van de verbinding na afloop - complexiteit zit in het subnet, niet in de stations in2210 Computernetwerken: Netwerklaag
10
A
B
Verbinding = kanaal met het karakter van een wachtrij (FIFO) in2210 Computernetwerken: Netwerklaag
11
5-2
12
in2210 Computernetwerken: Netwerklaag
Dienstprimitieven verbindingsgericht N-connect .request
N-connect .indication
N-connect .confirm
Transportlaag station A
Interne organisatie van het subnet
N-connect .response
Netwerklaag
N-data .request
N-data .indication N-data .request
N-data .indication N-disconnect .request
- Virtuele circuits (subnet werkt verbindingsgericht) Route door het netwerk wordt bepaald, bufferruimte en transmissiecapaciteit wordt gereserveerd
Transportlaag
- Datagrammen (subnet werkt verbindingsloos) Pakketten worden zomaar verzonden
station B
N-disconnect .indication
in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
13
De twee soorten pakketschakelen Virtuele circuits
voorbeeld: datagrammen
Datagrammen
Let op! Een pakket wordt pas weer uitgezonden als het geheel binnen is.
D
pkt 2 pkt 1 pkt 3 pkt 2
B A - Router tabellen (bijvoorbeeld) - router A router B router D A A A A D B B B B B C B C D C C D D D D D -
pkt 1 pkt 4 pkt 3 pkt 2 pkt 4 pkt 3 pkt 4
in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
15
voorbeeld Virtual Circuits H4 H3
aspect
datagram-subnet
v.c.-subnet
opzetten circuit adressering
vereist elk pakket bevat kort v.c.-nummer
status-informatie over verbinding
niet mogelijk elk pakket bevat geheel bron- en doeladres subnet bevat geen status-informatie
routering
elk pakket apart
effect van fout in knooppunt
slechts verlies van pakketten
congestie beheersing
moeilijk
H1
router A IN UIT H1 1 D 1 H2 1 B 1
router B IN UIT A1D1
B
router D IN UIT A1C1 B1C2
in2210 Computernetwerken: Netwerklaag
16
De twee netwerktechnieken C
D
A
C
pkt 1
pkt 1 pkt 2 pkt 1 pkt 3 pkt 2 pkt 1 pkt 4 pkt 3 pkt 2 pkt 4 pkt 3 pkt 4
H2
14
router C IN UIT D 1 H4 1 D 2 H3 1
in2210 Computernetwerken: Netwerklaag
17
5-3
Elk v.c. vereist tabelruimte in knooppunten route bepaalt bij opzetten van verb. alle v.c.’s door uitgevallen knooppunt worden afgebroken gemakkelijk; voor elk gemaakt v.c. wordt bufferruimte gemaakt 18
in2210 Computernetwerken: Netwerklaag
5.2. Routering Eisen: - Eenvoudig - Correct - Robuust - Stabiel - Rechtvaardig - Optimaal
Robuust <-> stabiel Robuust wil zeggen bestand tegen wijzigingen in de toplogie, uitvallende lijnen etc. Stabiel wil zeggen het algoritme is niet steeds zeer snel na elkaar routes aan het wijzigen Kan tegenstrijdig zijn Robuustheid vraagt snel ingrijpen, dat kan instabiliteit in het netwerk veroorzaken, bijvoorbeeld doorlopend verleggen van routes.
Kan tegenstrijdig zijn
(pakketten kunnen in het ergste geval gaan zwerven door het netwerk of zelfs rondjes afleggen.) in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
19
Rechtvaardig <-> optimaal
Optimaliteitspricipe (1) Het optimaliteitsprincipe - Als J ligt op het optimale pad van I naar K, dan is het optimale pad van J naar K, onderdeel van het optimale pad van I naar K
Optimaliseren naar bijvoorbeeld Kan op zich ook tegenstrijdig zijn - Totale doorvoer - Gemiddelde vertraging - Optimale totale doorvoer kan onrechtvaardig zijn voor sommige gebruikers: A A’ B B’ C C’ X
20
- Een Sink tree van een bestemming X is een verzameling van optimale routes naar X. Hierbij is X de root van de boom.
X’
Voorang geven aan A-A’, B-B’ en C-C’ is goed voor de prestatie van het netwerk als geheel, maar niet voor X-X’. in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
21
Optimaliteitsprincipe (2)
22
5.2.2 Shortest path routing (1) - Doel: kortste paden van een router naar alle andere routers bepalen. - metriek (‘lengtemaat’) te kiezen, b.v. - aantal hops - afstand in km’s - gemiddelde vertraging - kosten
Een netwerk in2210 Computernetwerken: Netwerklaag
Een sinktree voor B (niet uniek)
- Algoritme van Dijkstra in2210 Computernetwerken: Netwerklaag
23
5-4
24
in2210 Computernetwerken: Netwerklaag
Shortest path routing (2)
Shortest path routing (3)
- gaat uit van een graaf, iedere tak heeft een lengte - kies een beginknoop - iedere knoop bevat afstand tot beginknoop - aanvankelijk een tijdelijke waarde - later definitieve waarde - begin bij beginknoop - geeft buurknopen tijdelijke waarde (geef hierbij ook de vorige knoop op de bijbehorende route aan) - knoop met minimale afstand krijgt definitieve waarde - ga verder bij de knoop met de laagste definitieve waarde, etc in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
25
26
5.2.3 Flooding
5.2.4 Distance Vector Routing (1)
- principe: ieder pakket wordt uitgezonden over iedere uitgaande lijn - duplicaten verminderen door
- ook aangeduid als: Bellman-Ford of Ford-Fulkerson, in (vroege) Internet: RIP
- hop count - sequence nummers
- Iedere router bevat een tabel met voor iedere mogelijke bestemming (router) een entry , deze entry bevat:
- variant: selective flooding
- te nemen uitgaande lijn voor die bestemming - geschatte afstand naar die bestemming
- pakketten alleen uitzenden over uitgaande lijnen die ongeveer de goede kant uitgaan
- toepassingen van flooding b.v. -
- Onderhoud van de tabel:
militaire systemen gedistribueerde databases radio netwerken vergelijking met andere algoritmen
in2210 Computernetwerken: Netwerklaag
- iedere router kent de afstand tot zijn buren - Iedere T seconden zendt iedere router zijn volledige tabel naar zijn buren - Een router die zo’n tabel ontvangt, werkt zijn tabel bij en houdt hierbij rekening met de afstand naar de buur van wie hij de tabel ontving in2210 Computernetwerken: Netwerklaag
27
Distance Vector Routing (2)
28
Distance Vector Routing (3)
Count to infinity in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
29
5-5
30
in2210 Computernetwerken: Netwerklaag
Link State Routing (1)
Link state routing (2)
1. Ontdek buren Hello pakket 2. Meet “afstand” naar de buren Echo pakket vraag: wel/geen rekening houden met de load - voor: betere spreiding van verkeer mogelijk - tegen: oscillaties mogelijk 3. maak link-state pakketten, met - bron - sequencenummer - age - lijst van buren plus afstand in2210 Computernetwerken: Netwerklaag
Link-state pakketten in2210 Computernetwerken: Netwerklaag
31
Link State Routing (3)
32
Link State Routing (4)
4. Verstuur de link-state pakketten naar iedere andere router in het netwerk - basis: flooding - iedere router bepaalt op grond van bron en sequencenummer of een link-state pakket wordt doorgestuurd. - mogelijke probleem: - fout in een sequencenummer
- oplossing d.m.v. age
- alle pakketten bevestigen in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
33
Link State Routing (5)
5.2.6 Hierarchische routering (1)
5. Bereken nieuwe route - Dijkstra’s shortest path algoritme - benodigd geheugen - bij n routers met gemiddeld k buren, van orde nk - problemen: - geheugengrootte - rekentijd - falende routers
nodig bij grote aantallen routers - routers verdelen in 2 of meer niveaus - b.v. 2 niveaus, router heeft een tabel met entries
in2210 Computernetwerken: Netwerklaag
34
- voor individuele routers in de eigen regio - voor andere regio’s (een regio staat dan voor de verzameling van alle routers in die regio)
- b.v. 3 niveaus, router heeft tabel met entries voor - individuele routers in eigen regio (niveau 3) - andere regios in eigen niveau 2 gebied - andere niveau 1 gebieden
in2210 Computernetwerken: Netwerklaag
35
5-6
36
in2210 Computernetwerken: Netwerklaag
Hierarchische Routering (2)
5.2.7 Broadcast Routing (1) methodes: - pakket naar iedere individuele bestemming - flooding - multidestination routing - sink tree (of andere spanning tree) - reverse path forwarding: - Als een pakket binnenkomt via de lijn die normaal wordt gebruikt als uitgang naar de bron, dan wordt het pakket doorgegeven aan alle uitgangen behalve die waarover het is binnengekomen
in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
37
Broadcast Routing (2)
a. Een net
b. sink tree
in2210 Computernetwerken: Netwerklaag
38
5.2.8 Multicast Routing (1) - Bij Multicast verzending wordt een bericht naar een groep gestuurd. - groepmanagement nodig: creëren, wijzigen, verwijderen van groepen (geen routeringsprobleem) - Routers moeten op de hoogte zijn , van welke hosts bij welke groepen horen. - Iedere router berekent een spanning tree die alle routers omvat - Bij multicast pakket: - Eerste router raadpleegt zijn spanning tree - “snoeit” alle takken waaraan geen hosts van die groep - multicast pakketten worden langs gesnoeide boom gezonden
c. tree gebouwd met reverse path forwarding
in2210 Computernetwerken: Netwerklaag
39
Multicast Routing (2)
40
5.2.9 Routeren bij mobiele stations 1 IP1 data
bron
IP1 adres RA
TA
3 IP2 IP1 data
4 IP2
IP1
data
2
RA IP1 data
Bestemm. in2210 Computernetwerken: Netwerklaag
TA = thuisagent (home agent) RA = reisagent (foreign agent)
in2210 Computernetwerken: Netwerklaag
41
5-7
42
in2210 Computernetwerken: Netwerklaag
5.2.10 Routering in Ad-hoc netwerken (1)
Routering in Ad-hoc Netwerken (2)
- In ad-hoc netwerken routers ook mobiel, b.v - militaire toepassingen - rampen - topologie verandert voortdurend - AODV (Ad-hoc On-demand Distance Vector) algoritme, - route wordt bepaald als er behoefte aan is.
in2210 Computernetwerken: Netwerklaag
- Netwerk gerepresenteerd door graaf - tak betekent rechtstreekse communicatie mogelijk - iedere node heeft een tabel, met o.a. - bestemming en via welke buur deze te bereiken - als bestemming niet in tabel - broadcast Route Request pakket
in2210 Computernetwerken: Netwerklaag
43
Routering in Ad hoc netwerken (3)
44
Routering in Ad-hoc netwerken (4)
- Bij ontvangst van Route Request pakket - als duplicaat, dan negeren - als recente route bekend: antwoorden anders hopcount verhogen en opnieuw broadcasten, informatie bewaren in reverse routing tabel - Als Route Request bij bestemming, dan Route Reply via reverse routing terug naar aanvragen. tussenliggende stations nemen gegevens ook over.
in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
45
46
Routering in Ad-hoc Netwerken (5) Onderhoud van de tabellen: - periodiek HELLO pakketten - routes die niet meer bestaan (omdat de “buur” niet meer bestaat) worden verwijderd.
Laatste slide voor het tentamen van Computernetwerken I, de rest van de netwerklaag is onderdeel van het tentamen computernetwerken II
in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
47
5-8
48
in2210 Computernetwerken: Netwerklaag
5.3 Congestie (1)
Oorzaken congestie - Aanbod aan pakketten > verwerkingscapac. router - geheugen te klein - processor capaciteit te laag - Aanbod aan pakketten > capac. uitgaande lijnen van een router - Lokale congestie: aantal pakketten naar router > uit router - Subnetcongestie: aantal pakketten naar subnet > uit subnet
Bij congestie stort de capaciteit van het netwerk in als de belasting toeneemt in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
49
Congestie- en stroombeheersing
50
Congestiebeh. zonder terugkoppeling (open loop)
Vaak worden stroombeheersing en congestie met elkaar verward.
Beslissen zonder de toestand in de rest van het netwerk in acht te nemen. - “Ruim” ontwerp; - Wanneer nieuw verkeer aannemen; - Wanneer en welke pakketten weggooien; - Dienstregelingen op diverse plaatsen in het net.
- Stroombeheersing is afstemmen van de snelheid van de zender op de snelheid van de ontvanger - Soms wordt stroombeheersing gebruikt om congestie te bestrijden. - Knooppunten in het netwerk zenden berichten naar zenders om ze te laten stoppen met zenden.
in2210 Computernetwerken: Netwerklaag
in2210 Computernetwerken: Netwerklaag
51
Congestiebeheersing met terugkoppeling (closed loop)
Congestie preventie (open loop) Alle lagen hebben invloed - Data Link laag - flow control policy (windowsize) - retransmissie policy (timer waarde, selective repeat vs. go back n) - Netwerk laag - VC’s of datagrammen (VC’s beter beheersbaar) - packet queueing (input queue en/of output queue) - packet discard policy (wanneer en welke ) - routeringsalgoritme - packet lifetime
- Bewaken van het net op congestie; - Info doorgeven naar de aangrijppunten in het net; - Correctie van de werking van het netwerk om het probleem te verhelpen. - Stabiliteit vaak niet eenvoudig Terugkoppeling mogelijk: - Expliciet: Pakketten met opdrachten naar de bron sturen - Impliciet: De bron lijdt congestie af uit lokale waarnemingen in2210 Computernetwerken: Netwerklaag
52
in2210 Computernetwerken: Netwerklaag
53
5-9
54
in2210 Computernetwerken: Netwerklaag
5.3.3 Congestion control in VC’s (closed loop)
5.3.4 congestion control bij DGs (en VC’s)
Verschillende mogelijkheden: - toegangsbeheersing: bij congestie geen nieuwe VC’s meer toestaan
(Closed loop) - router houdt bezetting uitgaande lijn bij: u - u te bepalen door op vaste intervallen te kijken of de lijn bezet is (f=1) of niet (f=0) - u te berekenen als exponentieel gemiddelde: unieuw = auoud + (1-a)f
- nieuwe VC’s om probleemgebieden heen leiden - contract tussen host en subnet over te de zenden hoeveelheden en Quality of Service (QoS)
in2210 Computernetwerken: Netwerklaag
- als u > drempelwaarde: congestie, dus actie
55
in2210 Computernetwerken: Netwerklaag
acties bij congestie (1)
acties bij congestie (2)
- router zet waarschuwingsbit in header, ontvanger copieert deze in ack bericht, zender zendt minder - router blijft waarschuwingsbits zetten, tot congestie over is - zender kan pas meer gaan zenden als geen enkele router problemen heeft - choke pakketten van router naar afzender - Bij ontvangst van choke pakket zendt zender minder gedurende een vast interval - als na het interval geen choke pakket meer volgt, kan zender de snelheid weer opvoeren
- hop-by-hop choke pakketten - voor lange afstand - hebben ook invloed op de routers die zij passeren - geeft snel verlichting op de plaats van congestie (ten koste van plaatsen eerder op de route)
in2210 Computernetwerken: Netwerklaag
57
in2210 Computernetwerken: Netwerklaag
acties bij congestie (2a) 1
A
B
C
D
A
B
C
- bij file transfer: oud is belangrijker dan jong (“wijn”) - bij multimedia: jong is belangrijker dan oud (“melk”)
choke
3 choke
58
- load shedding : router gooit pakketten weg wanneer hij het niet aankan. - Keuze: oude pakketten of nieuwe pakketten
D choke
choke
56
acties bij congestie (3)
choke
2
- keuze soms alleen te maken door applicatie
choke
4 5
voorbeeld: videocompressie - pakket met compleet frame - pakketten met verschilframes
6 7
!
choke pakket voor bron
in2210 Computernetwerken: Netwerklaag
compleet frame is belangrijker dan verschilframe. Aan te geven door applicatie: markering van pakketten nodig. (b.v. priority)
hop-by-hop choke pakket 59
in2210 Computernetwerken: Netwerklaag
5-10
60
in2210 Computernetwerken: Netwerklaag
acties bij congestion (4)
Jitter Control (1)
- Random Early Detection pakketten weggooien vóór de congestie een feit is.
- Jitter = variatie in delay (transmissietijd + propagatietijd + tijd in routers) - moet laag zijn bij real-time video en audio
- Als de queuelengte een drempel overschrijdt, beginnen met weggooien (random) - verder niets doen - zender krijgt time-out en beschouwt dit als een teken dat er congestie is
- methode: routers verifiëren of pakket op schema is. - bij voorsprong even vertragen - bij achterstand prioriteit geven - effecten van Jitter ook te voorkomen door te bufferen bij de ontvanger
in2210 Computernetwerken: Netwerklaag
61
in2210 Computernetwerken: Netwerklaag
Jitter control (2)
62
5.4 Quality of Service (QoS) - Verschillende applicaties vereisen verschillende QoS, vergelijk b.v. multimedia en file transfer - een flow = stroom van pakketten van een bron naar een bestemming - eisen aan flow bepaald door applicatie, parameters: - betrouwbaarheid - delay - jitter - bandbreedte
in2210 Computernetwerken: Netwerklaag
63
in2210 Computernetwerken: Netwerklaag
Quality of Service (2)
64
Flow Categorieën (ingedeeld naar QoS, zoals gedefinieerd in ATM) - Constante bit rate (b.v telefoon) - Real-time variabele bit rate (b.v. video conferencing) - Non-real-time variabele bit rate (b.v. films via Internet) - Available bit rate (file transfer)
Striktheid van de eisen voor verschillende toepassingen in2210 Computernetwerken: Netwerklaag
65
in2210 Computernetwerken: Netwerklaag
5-11
66
in2210 Computernetwerken: Netwerklaag
5.4.2 Technieken (1)
technieken (2)
1. Overdimensioneren (voorbeeld: telefoon) 2. Buffering vergroot delay, vermindert jitter 3. traffic shaping - het regelen van de verkeersintensiteit (rate) - service level agreement:
4. Lekkende emmer (Leaky Bucket)
- als de klant (zender) zich hieraan houdt, garandeert het net tijdige aflevering
- controleren d.m.v traffic policing - makkelijker bij VC’s dan bij datagrammen in2210 Computernetwerken: Netwerklaag
67
in2210 Computernetwerken: Netwerklaag
68
Technieken (3)
Technieken (4)
- lekkende emmer geschikt als host-netwerk interface - eenvoudig implementeerbaar voor ATM (vaste cel grootte) - bij variabele lengte pakketten, per keer een aantal bytes in plaats van één pakket
5. Token emmer (Token bucket) - genereert iedere T seconde een token - verzenden van pakket kost een token - de token voorraad van een emmer is gelimiteerd - dit maakt het mogelijk de output te starten met een burst, gevolgd door een flow van lagere omvang
25 MB/s gedurende 40 ms
0
Time (msec)
500 25 MB/s gedurende 11 ms
2 MB/s gedurende 500 ms Time (msec)
0
in2210 Computernetwerken: Netwerklaag
2 MB/s gedurende 362 s 0
500 69
500
in2210 Computernetwerken: Netwerklaag
Technieken (5)
Technieken(6)
6. Resourses reserveren - route voor flow nodig, daarop te reserveren: - bandbreedte - geheugenruimte (buffers) - processor capaciteit - als: = processing capaciteit (packets/s) = gemiddeld aanbod (packet/s) 1 1 1 1 1 dan ( =bezettingsgraad) T= = × = ×
7. Toelatingsbeheersing - Router beslist of hij een flow wel of niet accepteert - flow specificatie nodig (set parameters), b.v. (RFC2210 en 2211) - Token bucket rate - Token bucket size - piek data rate - minimum pakket grootte - maximum pakket grootte
µ −λ
µ 1− λ µ
in2210 Computernetwerken: Netwerklaag
µ 1− ρ
71
in2210 Computernetwerken: Netwerklaag
5-12
70
72
in2210 Computernetwerken: Netwerklaag
Technieken (7)
5.4.3 Integrated services
8. packet scheduling - Om te voorkomen dat één flow de router monpoliseert. b.v. fair queueing - per uitvoerlijn meerdere queues (één per flow) - als lijn vrij, op Round-Robin basis pakketten zenden - probleem: flow met grote pakketten, krijgt meer bandbreedte - oplossing: byte voor byte RR simuleren - probleem: sommige servers hebben meer bandbreedte nodig: (b.v video server) - oplossing: weighted fair queueing in2210 Computernetwerken: Netwerklaag
73
- streaming multimedia (b.v. Internet TV) - flow-based algorithms - multicast RSVP (Resource reSerVation Protocol), voor - verschillende zenders - verschillende groepen ontvangers - principe: - vanuit iedere zender bestaat een spanning tree - ontvanger vraagt flow, moet eerst reserveringsbericht sturen. (d.m.v. reverse path forwarding) - pad wordt gereserveerd, waar mogelijk gedeeld. in2210 Computernetwerken: Netwerklaag
Integrated Services (2)
Spanning tree van host 1
74
Integrated Services (3)
host 3 vraagt kanaal naar host 1
Spanning tree van host 2
in2210 Computernetwerken: Netwerklaag
75
host 3 vraagt ook kanaal naar host 2
host 5 vraagt kanaal naar host 1
in2210 Computernetwerken: Netwerklaag
5.4.4 Differentiated services
5.4.5 Label Switching
Eenvoudiger dan flow-based algorithms principe: - Routers binnen één domein kennen een aantal service classes met regels voor doorsturen (forwarding rules) - service class blijkt uit Type-of-service veld in header - gestandaardiseerde service classes: - expedited forwarding - assured forwarding
- Pakket voorzien van een extra label - routing baseren op label (lijkt op VC’s) - namen: label switching, tag switching, MPLS (Multi Protocol Label Switching) - label onafhankelijk van inhoud van de header - headers kunnen betrekking hebben op verschillende protocollen - groepen met hetzelfde label horen bij dezelfde FEC (Forwarding Equivalence Class)
76
- 4 priority classes, 3 discard probabilities in2210 Computernetwerken: Netwerklaag
77
in2210 Computernetwerken: Netwerklaag
5-13
78
in2210 Computernetwerken: Netwerklaag
5.5 internetworking
Vijf soorten relais Indeling naar OSI-laag waarop gekoppeld wordt:
Tokenring
R
R
IBM-WAN
-
CSMA/CD-LAN
R
X.25 WAN
R
Tokenbus
CSMA/CD-LAN
Laag 1 Laag 2 Laag 3 Laag 4 Laag 5
repeater brug router of multiprotocol-router transport gateway applicatie gateway
B B Brug (laag 2)
R Router (laag 3)
Station (DTE, host) in2210 Computernetwerken: Netwerklaag
79
in2210 Computernetwerken: Netwerklaag
Repeater (koppelen op laag 1) 5 4 3 2 1
Brug (koppelen op laag 2) 5 4 3 2 1
1 kabel a
5 4 3 LLC
LLC
5 4 3 LLC
MACa
MACa MACb
MACb
1a
kabel b
in2210 Computernetwerken: Netwerklaag
81
subnet a
82
Multiprotocol-routers (koppelen op laag 3) 5 4
5 4 relais 3a 3b 2a 2b 1a 1b
3a 2a 1a subnet a
subnet b
Koppelt netwerken met een zelfde netwerkprotocol en gedeelde adresruimte. Leest pakketten (N-PDU’s) in, slaat ze op en zendt ze door. in2210 Computernetwerken: Netwerklaag
1b LAN b
in2210 Computernetwerken: Netwerklaag
5 4 3 2b 1b
2a 2b 1a 1b
1b
Koppelt LAN’s. Leest frames (DL-PDU’s) in, slaat ze op en zendt ze door.
Routers (koppelen op laag 3)
3
1a LAN a
Koppelt kabelsegmenten. Leest signalen in, reconstrueert de bits en zendt ze door. Compenseert verzwakking van het signaal bij lange lijn.
5 4 3 2a 1a
80
3b 2b 1b subnet b
Koppelt netwerken met een verschillend netwerkprot. Leest pakketten (N-PDU’s) in, slaat ze op, zet ze om en zendt ze door. (relais: omzetten, adressen vertalen, doorzenden en routeren) 83
in2210 Computernetwerken: Netwerklaag
5-14
84
in2210 Computernetwerken: Netwerklaag
Transport gateway (koppelen op laag 4) 5 4 3a 2a 1a
Applicatie gateway (koppelen op laag 5)
3a 3b
5 4 3b
5 4a 3a
5 4a 4b 3a 3b
5 4b 3b
2a 2b 1a 1b
2b 1b
2a 1a
2a 2b 1a 1b
2b 1b
4
subnet a
subnet b
subnet a
Leest A-PDU’s in, slaat ze op en zendt ze door (evt. na conversie). Bijv. doorgeven van E-post tussen netwerken die niet een gezamenlijk netwerk- of transportprotocol hebben.
Koppelt netwerken die verschillend transportprotocol hebben. Leest T-PDU’s in, slaat ze op en zendt ze door. in2210 Computernetwerken: Netwerklaag
85
subnet b
in2210 Computernetwerken: Netwerklaag
Vormen van internetworking
86
Concatenated VC’s
- Geconcateneerde Virtual Circuits - internet VC bestaat uit aaneenschakeling van subnet VC’s en VC’s via multiprotocol routers (gateways) - werkt het best bij subnetten met ongeveer gelijke eigenschappen - Voor en nadelen als bij subnet VC’s - Verbindingsloos - datagrammen kunnen via verschillende subnetten worden overgebracht - voor en nadelen als bij subnet datagrammen in2210 Computernetwerken: Netwerklaag
87
in2210 Computernetwerken: Netwerklaag
Verbindingsloos internetwerken
88
Tunneling van b.v. een IP-pakket Het IP-pakket wordt getransporteerd over het WAN in een pakket dat hoort bij het protocol van het betreffende WAN. 5 4 IP
IP
LLC MAC
1
3 2a 1 1a
3 3 2a 2b 1a 1b WAN
IP 3 LLC LLC MAC 2b MAC 1b 1 1 ethernet
router
router
router
LLC MAC
ethernet host in2210 Computernetwerken: Netwerklaag
89
5 4 IP
in2210 Computernetwerken: Netwerklaag
5-15
host 90
in2210 Computernetwerken: Netwerklaag
Tunneling van een IP-pakket (PDU-s) IP
IP
L IP
IP L
L IP
3 IP
2 3 IP
2 23 3IP
Internetpakket Kop en staart van LLC+MAC
twee niveaus - Binnen netwerk: Interior gateway protocol netwerk vaak aangeduid als Autonoom Systeem, kan zelf zijn routeringsalgortime kiezen - Tussen netwerken: exterior gateway protocol - iedere multiprotocol router R kan “direct” communiceren met alle routers verbonden met netwerken verbonden met X - internetwerk routing heeft ook te maken met politiek. Verschillende landen, verschillende wetten en regimes.
IP
IP
3 IP
internet routering
3 IP
2 3 IP
2 3 IP
L IP
L IP
3
Kop van netwerkprotocol
2
Kop en staart van DL-prot.
in2210 Computernetwerken: Netwerklaag
91
in2210 Computernetwerken: Netwerklaag
Fragmentatie (1)
92
Fragmentatie (2)
- Fragmentatie nodig wanneeer verschillende netwerken verschillende maximum pakketgrootte hebben. - Gateway splitst te groot pakket in fragmenten - vraag: wanneer reassembleren? - Na passeren van het eerste netwerk (transparante fragmentatie) nadeel: overhead, misschien weer fragmenteren bij volgen netwerk In de eindbestemmings host (niet transparant ) nadeel: iedere host moet kunnen reassembleren in2210 Computernetwerken: Netwerklaag
93
in2210 Computernetwerken: Netwerklaag
Fragmentatie (3)
94
5.6 De netwerk laag in het Internet
Probleem bij reassembleren in de eindhost: -
fragmentnummering, en hoe om te gaan met ontbrekende fragmenten
HOST A 5
- Backbones (ruggegraten) - snelle knooppunten - snelle lijnen (momenteel 155 of 622 Mbit/s en hoger)
HOST B 5.1
5.2
tijd
route door een net met max fragmentsize 512
5.1
retransmissie, route gaat door een net met max fragment 256 5
5.1
- Autonome systemen (AS’s) - Regionale of nationale netwerken - LAN’s
5.3 5.2
5.4
Oplossing: fragmenteren altijd met zelfde fragmentsize, klein genoeg voor ieder netwerk in2210 Computernetwerken: Netwerklaag
5.2 5.1 en 5.2 zijn samen niet het pakket 95
in2210 Computernetwerken: Netwerklaag
5-16
96
in2210 Computernetwerken: Netwerklaag
Internetprotocol (IP)
Internet Protocol versie 4 (IPv4)
IP is het netwerkprotocol op alle routers van de netwerken.
32 bits
Version
5 4 IP 2 1
IP
IP 2 2 1 1 subnet a
2 1
router
host
IP 2 2 1 1 subnet b
2 1
router
router
97
Time to live
in2210 Computernetwerken: Netwerklaag
ongebruikt
99
in2210 Computernetwerken: Netwerklaag
# # netw. hosts 128 16 M
24
A0
- IP adressen meestal weergegeven in 4 groepen van 1 tot 3 decimalen, b.v. 130.161.158.218 - Speciale adressen - alleen nullen, betekent: ’dit netwerk’ of ’deze host’ - alleen enen voor host adres betekent broadcast in het aangegevn netwerk - 127.xx.yy.zz betekent loopback - netwerkadressen worden uitgegeven door het ICANN (Internet Corporation for Assigned Names and Numbers ), deze delegeert weer aan regionale organisaties
16
B 10
16384 64 K 8
2097152 256
28 multicasting
27
E 11110 in2210 Computernetwerken: Netwerklaag
100
IP adressen (2)
5.6.2 IP adressen (1) klasse
D 1110
98
- Security - Geeft aan hoe geheim het bericht is. Wordt in de praktijk genegeerd. - Strict source routing - Geeft het complete te volgen pad - Loose source routing - Geeft een aantal routers die in die volgorde aangedaan moeten worden - Record route - Adres van routers die aangedaan zijn wordt aan het Options veld toegevoegd - Timestamp - Adres + tijdstip van routers die aangedaan zijn wordt toegevoegd
R
in2210 Computernetwerken: Netwerklaag
21
Fragment offset Header checksum
Options veld
Precedence (prioriteit 0 .. 7, 0 normaal 7 besturingspakket)
C 110
Protocol
Options (0 or more words)
Reliability
14
M F
Source address
Delay Throughput
7
Total length D F
Destination address
Type of service veld
T
Type of service
host
in2210 Computernetwerken: Netwerklaag
D
IHL
Identification
5 4 IP 2 1
reserved for future use 101
in2210 Computernetwerken: Netwerklaag
5-17
102
in2210 Computernetwerken: Netwerklaag
IP adressen (3) Subnetting
IP adressen (4)
Binnen een netwerk subnetten te definiëren - alleen intern zichtbaar - subnet gedefinieerd door subnet mask voorbeeld (in hex) tudelft, netwerk adres 130.161 mogelijk subnet mask 255.255.240.00 (alternative notatie: /20) Stel inkomend adres: 130.161.158.218 AND met subnetmask geeft 130.161.9.0
82 A1 FF FF F0 00 82 A1 9E DA 82 A1 90 00
subnet in2210 Computernetwerken: Netwerklaag
103
CIDR = Classless InterDomain Routing - adressen toegewezen in blokken ipv volledige netwerken - netwerk aanduiden met beginadres/k ( /k is subnet mask, k is aantal 1-bits links, gevolgd door 0-bits) - entry in routertable bevat netwerk adres = subnet mask - op te zoeken adres wordt geAND met subnetmask, er is een hit wanneer resultaat klopt met begin adres - meerdere hits bij een inkomend pakket zijn mogelijk, de hit met de grootste waarde van k, is de juiste in2210 Computernetwerken: Netwerklaag
IP adressen (5) NAT
105
company address = 198.60.42.12
in2210 Computernetwerken: Netwerklaag
106
5.6.3 Internet Control Protocollen
IP adressen(7) NAT (vervolg)
- ICMP (Internet Control Message Protocol) - t.b.v rapportage en testen - ARP (Address Resolution Protocol) voor het vinden van Ethernet-adressen bij IP-adres - RARP (Reverse Address Resolution Protocol) - voor het vinden van het Internet-adres bij een Ethernet-adres - BOOTP voor bepalen van IP-adres - DHCP (Dynamic Host Configuration Protocol) voor het krijgen van een IP adres
- vraag: hoe weet NAT box voor welk intern adres een antwoord bestemd is? - oplossing: “misbruik” poortnummerveld in TCP en UDP headers - vervang bij uitgaand pakket sourcepoort door een index in een vertaaltabel. - entry in vertaaltabel bevat oorspronkelijke adres van source en poortnummer - pas ook CRC in TCP of UDP header aan! - Bij ontvangst van een pakket, vertaal naar intern adres met behulp van “poortnummer” en vertaaltabel in2210 Computernetwerken: Netwerklaag
104
IP adressen (6) NAT (vervolg)
NAT = Network Adress Translation - Is oplossing voor gebrek aan IP adressen voor Internet Service Providers. - Idee: - verschillende grote klanten, gebruiken intern ieder dezelfde adresgroepen. (deze groepen zijn voor dit doel aangewezen) - naar buiten (naar de ISP) heeft de klant maar een adres. - bij binnenkomst en verlaten van het klant-netwerk vindt vertaling plaats in NAT-box in2210 Computernetwerken: Netwerklaag
CIDR
107
in2210 Computernetwerken: Netwerklaag
5-18
108
in2210 Computernetwerken: Netwerklaag
Internet Message Control Protocol (ICMP)
Address Resolution Protocol (ARP)
- rapporteert over events in het netwerk - de belangrijkste berichttypen:
in2210 Computernetwerken: Netwerklaag
Bepaalt Ethernet adres bij IP-adres Probleem • Pakket komt in juiste router op grond van IP-adres (32 bits, bepaald door Internet structuur) • Moet via Ethernet adres naar goede machine (48 bits, bepaald door fabrikant Ethernetkaart) Werkwijze • router doet broadcast in LAN: “Wie heeft dit IP-adres?” • Het juiste station meldt zich en geeft zijn Ethernet adres 109
in2210 Computernetwerken: Netwerklaag
Reverse Address Resolution Protocol
DHCP
Starten van een werkstation zonder vaste schijf - Werkstation broadcasts een pakket met Ethernetadres en vraagt om zijn IP-adres - Een server met RARP erop zendt IP-adres naar werkstation
Kan dynamisch IP adressen toewijzen, maakt gebruik van DHCP server en DHCP relay agents
110
Voordeel: - Zelfde memory image in al werkstations op subnet Nadeel: - Broadcast op eigen subnetwerk (allemaal enen) => Elk subnetwerk heeft een server nodig met RARP in2210 Computernetwerken: Netwerklaag
111
in2210 Computernetwerken: Netwerklaag
5.6.4 OSPF (1)
OSPF (2)
OSPF (Open Shortest Path First) is de Interior Gateway Routing protocol standaard voor Internet - werkt binnen een Autonoom Systeem (AS) - AS verdeeld in areas - iedere AS heeft een backbone - iedere area binnen een AS verbonden met de backbone - vier soorten routers - internal routers (binnen een area) - area border routers (tussen areas) - backbone routers (op de backbone) - AS boundary routers (naar andere AS’s in2210 Computernetwerken: Netwerklaag
112
- gebruikt link state routing - op basis van informatie uitwisseling met “adjacent” routers - “adjacent routers omvatten per LAN één “designated” router
113
in2210 Computernetwerken: Netwerklaag
5-19
114
in2210 Computernetwerken: Netwerklaag
OSPF (3)
5.6.5 BGP BGP (Border Gateway Protocol) is de Exterior Gateway Routing Protocol voor Internet - hebben te maken met politiek: Welke AS’s vermijden? Welke AS’s bij voorkeur nemen? argumenten b.v. veiligheid, wetgeving, concurrentie - in feite een distance vector routing algoritme, maar nu wordt niet de “afstand” informatie uitgewisseld, maar volledige routes.
in2210 Computernetwerken: Netwerklaag
115
in2210 Computernetwerken: Netwerklaag
116
5.6.8 Internet Protocol versie 6
Belangrijkste doelen IPv6
In de toekomst:
1. Ondersteunen van miljarden stations 2. Omvang van de routeringstabellen verkleinen 3. Vereenvoudigen van IP om routers sneller te maken 4. Betere beveiliging 5. Meer aandacht voor type dienst (vooral tijdgebonden data) 6. Betere ondersteuning multicasting 7. Mobiliteit zonder verandering van adres 8. Mogelijkheid van ontwikkeling van het protocol in de toekomst 9. Nog jarenlang samengaan van het oude en het nieuwe protocol
- Sterke uitbreiding aangesloten stations - Wellicht elke TV in de toekomst Internet station => Huidige IPv4 gebrek aan adressen - Veel draadloze mobile stations => IPv4, de huidige versie, is daarvoor niet goed uitgerust. in2210 Computernetwerken: Netwerklaag
117
in2210 Computernetwerken: Netwerklaag
Veranderingen t.o.v. IPv4
Vaste IPv6-header
1. Langere adressen
32 bits
2. eenvoudigere header (7 ipv. 13 velden)
Version
Priority
Flow label
Payload length
3. Betere ondersteuning van options (enkele oude standaardvelden zijn nu opties) 4. Beveiliging
Next header
Hop limit
Source address
5. Meer mogelijkheid voor specificeren van de soort dienst (type of service ) in2210 Computernetwerken: Netwerklaag
118
Destination address
119
in2210 Computernetwerken: Netwerklaag
5-20
120