01.12.2014 Views

Ethernet Basics Rev. 02 - Phoenix Contact

Ethernet Basics Rev. 02 - Phoenix Contact

Ethernet Basics Rev. 02 - Phoenix Contact

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Ethernet</strong> <strong>Basics</strong><br />

<strong>Rev</strong>. <strong>02</strong>


Inhoudsopgave<br />

1 Inleiding 1<br />

1.1 Het OSI model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.2 LAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

2 <strong>Ethernet</strong> 5<br />

2.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.2 De fysische implementaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

2.2.1 Implementaties op basis van coax . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2.2.2 Implementaties op basis van twisted pair . . . . . . . . . . . . . . . . . . . 7<br />

2.2.3 Implementaties op basis van fiber . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.2.4 Wireless LAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

2.2.5 Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

2.3 De datalinklaag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.3.2 MAC adres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.3.3 De <strong>Ethernet</strong> dataframe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

2.3.4 CSMA/CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

2.3.5 CSMA/CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

2.4 Structuurelementen voor <strong>Ethernet</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

2.4.1 De hub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

2.4.2 De switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

2.5 IEEE8<strong>02</strong>.1Q tagged frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.6 Power over <strong>Ethernet</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.6.1 PSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

2.6.2 PD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

2.6.3 Alternatief A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

2.6.4 Alternatief B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

2.7 VLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

2.7.1 Voordelen van VLANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

2.7.2 Trunking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

2.7.3 Soorten VLANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

2.8 Netwerkredundantie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

2.8.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

2.8.2 Het Spanning Tree Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

2.8.3 Het Rapid Spanning Tree Protocol . . . . . . . . . . . . . . . . . . . . . . . 30<br />

2.8.4 Bridge Protocol Data Units (BPDUs) . . . . . . . . . . . . . . . . . . . . . . 31<br />

2.8.5 Multiple Spanning Tree Protocol (MSTP) . . . . . . . . . . . . . . . . . . . . 32<br />

2.8.6 Media Redundancy Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . 32


Inhoudsopgave<br />

ii<br />

2.8.7 Parallel Redundancy Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

2.9 Belangrijke aanvullingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

2.9.1 LLDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

2.9.2 IEEE 8<strong>02</strong>.1x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br />

2.9.3 Link aggregation with LACP naar IEEE 8<strong>02</strong>.3ad . . . . . . . . . . . . . . . . 34<br />

2.10Industrial <strong>Ethernet</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

3 TCP/IP 37<br />

3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

3.2 Het Internet Protocol (IP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

3.2.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

3.2.2 Het IP adres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

3.2.3 Routers en subnetmasking . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

3.2.4 Subnetten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

3.2.5 Classless Inter-Domain Routing . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

3.2.6 Voorbeelden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

3.2.7 Het IP pakket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

3.2.8 IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />

3.3 Transmission Control Protocol (TCP) . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

3.3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

3.3.2 End-to-end transportdienst . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br />

3.3.3 Hoe betrouwbaarheid wordt bereikt . . . . . . . . . . . . . . . . . . . . . . 50<br />

3.3.4 Het TCP segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

3.4 UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

3.5 TCP en UDP poorten binnen de automatisering . . . . . . . . . . . . . . . . . . . . 55<br />

3.6 Communicatie over TCP(UDP)/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

3.6.1 Client Server model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br />

3.6.2 Endpoint en Internetsocket . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

3.6.3 Dynamische Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

3.6.4 Ondubbelzinnige communicatie . . . . . . . . . . . . . . . . . . . . . . . . 58<br />

3.6.5 Status van een socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

3.6.6 Verbindingsgerichte en verbindingsloze communicatie . . . . . . . . . . . 60<br />

4 Uitbreidingsprotocollen en netwerkapplicaties 61<br />

4.1 ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

4.1.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

4.1.2 Address Resolution Protocol (ARP) . . . . . . . . . . . . . . . . . . . . . . . 61<br />

4.2 BOOTP en DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

4.2.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

4.2.2 BOOTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br />

4.2.3 DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.2.4 DHCP Relay agent - DHCP option 82 . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.3 ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

4.3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

4.3.2 Internet Control Message Protocol . . . . . . . . . . . . . . . . . . . . . . . 64<br />

4.3.3 ICMP bericht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.3.4 Bereikbaarheid van een host controleren . . . . . . . . . . . . . . . . . . . 66<br />

4.3.5 Een route traceren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br />

4.4 IGMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67


Inhoudsopgave<br />

iii<br />

4.4.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

4.4.2 IGMP berichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

4.4.3 IGMP snooping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

4.4.4 Multicast adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

4.5 GMRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

4.5.1 IEEE 8<strong>02</strong>.1p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

4.5.2 Werking GMRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.6 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.6.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.6.2 De structuur van een hostnaam . . . . . . . . . . . . . . . . . . . . . . . . 71<br />

4.6.3 Werking van het DNS protocol . . . . . . . . . . . . . . . . . . . . . . . . . 71<br />

4.7 SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

4.7.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

4.7.2 SNMP structuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />

4.7.3 De MIB en SMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

4.7.4 SNMP protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

4.8 HTTP en HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

4.8.1 TLS/SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

4.8.2 HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

4.8.3 HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

4.9 Overzicht van enkele andere belangrijke applicaties . . . . . . . . . . . . . . . . 79<br />

4.9.1 FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

4.9.2 TFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

4.9.3 NTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

4.9.4 SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />

4.9.5 CLI (Command Line Interface) . . . . . . . . . . . . . . . . . . . . . . . . . 80<br />

5 De switch 81<br />

5.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />

5.2 Industriële switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

5.2.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

5.2.2 Technische beschrijving van een industriële switch . . . . . . . . . . . . . . 83<br />

6 De router 88<br />

6.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />

6.2 Het routen van berichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88<br />

6.3 Soorten routers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />

6.4 Laag 3 switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br />

6.5 Koppeling van een privé netwerk aan het Internet . . . . . . . . . . . . . . . . . . 90<br />

6.6 IP NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />

6.6.1 NAT: IP masquerading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />

6.6.2 Port Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />

6.7 1:1 NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />

7 De firewall 97<br />

7.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />

7.2 Soorten firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97


Inhoudsopgave<br />

iv<br />

8 VPN 99<br />

8.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

8.2 Internet Protocol Security, IPsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

8.3 VPN implementaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101<br />

9 Automatiseringsnetwerken & Security 103<br />

9.1 Bedrijfsnetwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

9.2 Automatiseringsnetwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104<br />

9.2.1 Automatiseringscel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104<br />

9.2.2 Automatiseringsnetwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104<br />

9.2.3 Koppeling van een automatiseringsnetwerk aan een bedrijfsnetwerk . . . 106<br />

9.3 Noodzaak aan beveiliging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

9.3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

9.3.2 Bewustwording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

9.3.3 Doelstelling van security . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />

9.3.4 Security in de kantoorwereld versus security in de automatiseringswereld 107<br />

9.3.5 Standaardisatie omtrent security in automatiseringsnetwerken . . . . . . . 109<br />

9.3.6 Een veiligheidsprogramma . . . . . . . . . . . . . . . . . . . . . . . . . . . 110<br />

9.4 Security in de praktijk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

9.4.1 Laag 1 security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

9.4.2 Laag 2 security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

9.4.3 Laag 3 security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112


Hoofdstuk 1<br />

Inleiding<br />

1.1 Het OSI model<br />

De International Organization for Standardization (ISO) heeft in 1979 een model ontwikkeld<br />

om structuur en standaardisatie in de wereld van de datacommunicatie en netwerken aan te<br />

brengen. De ISO is de commissie die het Open Systems Interconnection (OSI) referentiemodel<br />

heeft ontwikkeld. Doelstelling van de ISO was een referentiemodel te ontwerpen waarbij<br />

onderlinge communicatie tussen twee systemen , bijv. twee computers, kon plaatsvinden.<br />

Volgens het ISO/OSI model (ook wel het 7-lagenmodel genoemd) kan een systeem A communiceren<br />

met een systeem B (2 systemen van 2 verschillende leveranciers). Tussen deze systemen<br />

kunnen verschillende netwerken aanwezig zijn, zowel openbare netwerken als privé<br />

netwerken.<br />

Een openbaar netwerk is een netwerk dat voor iedereen toegankelijk is, mits wordt voldaan<br />

aan de op dit netwerk geldende voorwaarden. Een privé-netwerk is veelal bedrijfsgebonden.<br />

Figuur 1.1: Het OSI model


Inleiding 2<br />

Het OSI model bestaat uit zeven functionele lagen. Elke laag bezit een aantal gedefinieerde<br />

functies. Hieronder volgt een beperkte opsomming van de verschillende lagen:<br />

FYSIEKE LAAG (laag 1)<br />

Deze laag verzorgt de koppeling met het medium waarover de informatie tussen twee punten<br />

in het netwerk wordt verstuurd: dit betekent dat deze laag voorziet in de mechanische,<br />

elektrische of optische entiteiten die nodig zijn om de fysieke verbinding tot stand te brengen,<br />

te onderhouden en te verbreken.<br />

DATALINKLAAG (laag 2)<br />

De protocollen van laag 2 geven aan hoe de frames uiteindelijk over het netwerk moeten<br />

verstuurd worden. Laag 2 handhaaft een foutdetectie- en correctiemechanisme om er zeker<br />

van te zijn, dat transmissiefouten worden afgehandeld en dat de gegevens aan de andere<br />

zijde juist ontvangen worden.<br />

NETWERKLAAG (laag 3)<br />

Op dit niveau wordt de adressering, dat wil zeggen het vinden van een route door het netwerk<br />

en het voorkomen van opstoppingen binnen het netwerk geregeld. De netwerklaag zorgt<br />

voor het transport van berichten van het ene knooppunt naar het andere op de weg van de<br />

zender naar de uiteindelijke ontvanger.<br />

TRANSPORTLAAG(laag 4)<br />

De transportlaag is verantwoordelijk voor een betrouwbare overdracht van de gegevens.<br />

De transportlaag zorgt voor een logische verbinding tussen de beide eindsystemen van het<br />

netwerk (een logische punt tot punt verbinding). Hierdoor wordt een foutloos datatransport<br />

gerealiseerd, waarbij de gegevens in de goede volgorde aankomen bij de ontvanger.<br />

SESSIELAAG (laag 5)<br />

Hier wordt voorzien in de controlestructuur van de dialoog (sessie) tussen twee applicaties<br />

over het netwerk, alsmede in het opzetten en verbreken van een dergelijke sessie.<br />

PRESENTATIELAAG (laag 6)<br />

De protocollen in laag 6 bepalen hoe data wordt weergegeven: dit is nodig omdat verschillende<br />

computersystemen getallen en tekens verschillend representeren. Deze laag verzorgt<br />

dus onder andere de vertaling van codes, bv. van ASCII naar EBCDIC.<br />

APPLICATIELAAG (laag 7)<br />

Deze laag levert diensten aan de toepassingen die draaien ten behoeve van de gebruikers<br />

op de systemen van het netwerk.<br />

De afspraak bij het referentiemodel is dat het te versturen bericht van de zender deze zeven<br />

lagen doorloopt. Iedere laag van het model voorziet het bericht van een header, startend<br />

vanaf laag 7 en vervolgens afdalend naar laag 1, zie figuur 1.2. In de header staat aangegeven<br />

welke datacommunicatiefuncties moeten worden uitgevoerd.<br />

Voor het functioneren van de communicatieprotocollen wisselt iedere laag informatie uit met<br />

de corresponderende laag aan de andere kant van de verbinding, los van de applicatiedata<br />

die de uiteindelijke gebruikers van de verbinding naar elkaar toesturen. In het OSI model<br />

voegt elke laag een stukje informatie toe (header) aan de gebruikersdata van de verzendende<br />

kant, die er vervolgens aan de ontvangende kant weer door de corresponderende<br />

laag wordt afgepeld. De datalinklaag plaatst meestal niet alleen extra informatie voor de


Inleiding 3<br />

Figuur 1.2: Protocoloverhead in het OSI model<br />

doorgegeven data maar ook erachter. Dat staartstuk bevat een checkcode ten behoeve van<br />

de detectie van mogelijke transportfouten. Alleen de fysieke laag voegt er niets meer aan<br />

toe.<br />

1.2 LAN<br />

Een lokaal netwerk, Local Area Network (LAN), is ontwikkeld om de communicatie tussen<br />

computers, werkstations en randapparatuur in een gebied met zeer beperkte geografische<br />

omvang te verzorgen.<br />

In een LAN zijn de aangesloten stations autonoom, dat wil zeggen dat er geen primaire en<br />

secundaire stations bestaan. Elk station kan een verbinding tot stand brengen, onderhouden<br />

en afbreken met een ander station. De vier onderste lagen van het OSI model vragen voor<br />

een LAN een iets andere benadering ten opzichte van publieke netwerken.<br />

De commissie 8<strong>02</strong> van het Institute for Electrical and Electronic Engineers heeft voor LAN’s<br />

een aantal standaards vastgelegd.<br />

Figuur 1.3: Situering LAN binnen het OSI model


Inleiding 4<br />

Figuur 1.3 toont de invulling van de lagen 1 en 2 in het OSI model door de IEEE8<strong>02</strong> standaard.<br />

Voor het algemene concept voor LAN’s kan de standaard IEEE8<strong>02</strong>.1 worden geraadpleegd.<br />

Binnen de IEEE8<strong>02</strong> commissie zijn momenteel volgende werkgroepen aktief:<br />

• IEEE8<strong>02</strong>.1 Bridging (networking) and Network Management<br />

• IEEE8<strong>02</strong>.2 Logical Link Control<br />

• IEEE8<strong>02</strong>.3 CSMA/CD (<strong>Ethernet</strong>)<br />

• IEEE8<strong>02</strong>.5 Token Ring<br />

• IEEE8<strong>02</strong>.11 Wireless LAN & Mesh (Wi-Fi certification)<br />

• IEEE8<strong>02</strong>.15 Wireless PAN<br />

– IEEE8<strong>02</strong>.15.1 (Bluetooth certification)<br />

– IEEE8<strong>02</strong>.15.4 (ZigBee certification)<br />

• IEEE8<strong>02</strong>.16 Broadband Wireless Access (WiMAX certification)<br />

• IEEE8<strong>02</strong>.16e (Mobile) Broadband Wireless Access<br />

• IEEE8<strong>02</strong>.16.1 Local Multipoint Distribution Service<br />

• IEEE8<strong>02</strong>.17 Resilient packet ring<br />

• IEEE8<strong>02</strong>.18 Radio Regulatory TAG<br />

• IEEE8<strong>02</strong>.19 Coexistence TAG<br />

• IEEE8<strong>02</strong>.20 Mobile Broadband Wireless Access<br />

• IEEE8<strong>02</strong>.21 Media Independent Handoff<br />

• IEEE8<strong>02</strong>.22 Wireless Regional Area Network


Hoofdstuk 2<br />

<strong>Ethernet</strong><br />

2.1 Inleiding<br />

<strong>Ethernet</strong> is de basis van LAN netwerken. De huidige LAN markt kenmerkt zich door een tot<br />

nog toe ongekende mate van standaardisatie op <strong>Ethernet</strong>. Door zijn enorm marktaandeel<br />

verbant <strong>Ethernet</strong>, ondanks enkele nadelen, alle alternatieve technologieën naar de niche.<br />

Een kort historisch overzicht:<br />

• 1980: Digital Equipment Corporation, Intel en Xerox zorgen voor de release van de<br />

eerste <strong>Ethernet</strong> specificatie, version 1.0, onder de naam <strong>Ethernet</strong> Blue Book of DIX<br />

standaard. Het definieert Thick <strong>Ethernet</strong> bij 10Mbps CSMA/CD. De eerste <strong>Ethernet</strong> controllers<br />

gebaseerd op de DIX standaard waren beschikbaar vanaf 1982. De tweede en<br />

finale versie van de DIX standaard, versie 2.0, werd gereleased in november 1982:<br />

<strong>Ethernet</strong> II.<br />

• 1983: The Institute of Electrical and Electronic Engineers (IEEE) brengt de eerste IEEE<br />

standaard voor <strong>Ethernet</strong>technologie. Het werd ontwikkeld door de 8<strong>02</strong>.3 groep van de<br />

IEEE8<strong>02</strong> commissie en dit onder de naam IEEE8<strong>02</strong>.3 Carrier Sense Multiple Acces with<br />

Collision Detection Acces Method and Physical Layer Specifications. IEEE herwerkte<br />

sommige delen van de DIX-standaard vooral wat betreft de definiëring van de framebepaling.<br />

• 1985: IEEE8<strong>02</strong>.3a; definiëring van thin <strong>Ethernet</strong>, cheapernet of 10Base2<br />

• 1987: IEEE8<strong>02</strong>.3d; Fiber Optic Inter Repeater Link (FOIRL) Gebruik van twee fiber optic<br />

kabels om de afstand tussen 10 Mbps repeaters te verlengen tot 1000m.<br />

• 1987: IEEE8<strong>02</strong>.3e; 1Mbps over twisted pair<br />

• 1990: IEEE8<strong>02</strong>.3i; release van de populaire 10Base-T; 10Mbps over UTP categorie 3<br />

• 1993: IEEE8<strong>02</strong>.3j; 10Base-F: afstanden groter dan 2 km over fiber optic<br />

• 1995: IEEE8<strong>02</strong>.3u; 100Base-T en 100Base-F<br />

• 1997: IEEE8<strong>02</strong>.3x: full-duplex <strong>Ethernet</strong><br />

• 1997: IEEE8<strong>02</strong>.3y; 100Base-T2


<strong>Ethernet</strong> 6<br />

• 1998: IEEE8<strong>02</strong>.3z; 1000Base-X standaard; algemeen bekend onder de naam Gigabit<br />

<strong>Ethernet</strong><br />

• 1999: IEEE8<strong>02</strong>.3ab; Gigabit <strong>Ethernet</strong> over twisted pair<br />

• 1999: IEEE8<strong>02</strong>.3ac; 8<strong>02</strong>.1Q: definiëring van de Q-tag met VLAN en prioriteitsinformatie.<br />

• 2003: IEEE8<strong>02</strong>.3af; Power over <strong>Ethernet</strong><br />

• 2006: IEEE8<strong>02</strong>.3an; 10GBase-T<br />

• 2006: IEEE8<strong>02</strong>.3aq; 10GBase-LRM, <strong>Ethernet</strong> over multimode fiber<br />

<strong>Ethernet</strong> is alleen een specificatie van lagen 1 en 2 in het OSI-model. Het is geen volledig<br />

netwerkprotocol maar een subnet waarop andere protocollen kunnen werken zoals bijv. de<br />

TCP/IP suite.<br />

De belangrijkste functies van ETHERNET zijn:<br />

• Invulling van de fysische laag<br />

– het verzenden en ontvangen van seriële bitstromen over het medium.<br />

– het detecteren van botsingen (collisions).<br />

• Invulling van de datalinklaag<br />

– MAC sublayer:<br />

∗ toegangsmechanisme tot het netwerk (CSMA/CD).<br />

∗ opbouw van de dataframes.<br />

– LLC sublayer:<br />

∗ databetrouwbaarheid.<br />

∗ voorzien van datakanalen voor bovenliggende applicaties.<br />

2.2 De fysische implementaties<br />

De belangrijkste implementaties door de jaren heen zijn:<br />

• Thick <strong>Ethernet</strong> (10Base5)<br />

• Thin <strong>Ethernet</strong> (10Base2)<br />

• Broadband <strong>Ethernet</strong> (10Broad36)<br />

• <strong>Ethernet</strong> over twisted pair (10Base-T)<br />

• <strong>Ethernet</strong> over Fiber (10Base-F)<br />

• Fast <strong>Ethernet</strong> (100Base-T / 100Base-F)<br />

• Gigabit <strong>Ethernet</strong> (1000Base-T)<br />

• Wireless <strong>Ethernet</strong>


<strong>Ethernet</strong> 7<br />

2.2.1 Implementaties op basis van coax<br />

Het oorspronkelijke <strong>Ethernet</strong> was ontworpen rond het concept van een bustopologie. De<br />

eerste implementaties van <strong>Ethernet</strong> waren gebaseerd op een dikke gele coaxkabel, thick<br />

<strong>Ethernet</strong> ook 10Base5 genaamd.<br />

Kenmerken van het oorspronkelijke <strong>Ethernet</strong>:<br />

• 10Mbps<br />

• Baseband (basisband transmissie)<br />

• max. 5 x 100 = 500 meter<br />

• max. 100 transceivers per segment<br />

Thick <strong>Ethernet</strong> coaxiale kabels hebben een markering iedere 2.5m om een goede plaatsing<br />

van de 10Base5 transceivers (of MAU’s) te verzekeren. Deze transceivers worden gebruikt<br />

om stations aan het netwerk te koppelen. De transceivers mogen iedere 2.5m geplaatst worden,<br />

dit voorkomt reflecties van de signalen, wat zorgt voor een slechte transmissiekwaliteit.<br />

Deze vorm van implementatie is voorbijgestreefd. Al snel werd de stugge dikke gele coax<br />

vervangen door de zwarte soepeler coax wat leidde tot de implementatie van thin <strong>Ethernet</strong>,<br />

10Base2. De aansluiting van de verschillende stations wordt gerealiseerd door T-vormige<br />

BNC aansluitstukjes waarbij een maximale segmentlengte van ongeveer 200 meter kan toegepast<br />

worden.<br />

Belangrijk bekabelingsdetail dat in veel bustechnologieën vereist is: de afsluitweerstand (terminator)<br />

- een klein, goedkoop apparaatje dat op alle uiteinden van de coax-kabels die een<br />

<strong>Ethernet</strong> vormen, gemonteerd moet worden. Een afsluitweerstand bestaat uit een weerstand<br />

die de centrale ader van de kabel met de afscherming verbindt: als een elektrisch signaal de<br />

afsluitweerstand bereikt, wordt het weggegooid. Voor de correcte werking van een netwerk<br />

is de afsluitweerstand onontbeerlijk omdat het uiteinde van een niet-afgesloten kabel elektrische<br />

signalen reflecteert zoals een spiegel licht terugkaatst. Als een station probeert een<br />

signaal over een niet-afgesloten kabel te versturen, wordt dit signaal door het kabeleinde<br />

teruggekaatst. Wanneer de reflectie het zendende station bereikt, treedt interferentie op.<br />

2.2.2 Implementaties op basis van twisted pair<br />

Het grote probleem bij coax is dat enkel half duplex communicatie kan toegepast worden.<br />

Ook de toegepaste busstructuur is niet ideaal indien bepaalde problemen optreden. Om<br />

de bustopologie te doorbreken is <strong>Ethernet</strong> overgestapt op een topologie waar ook twisted<br />

pair kan gebruikt worden: alle stations zijn verbonden met één of meerdere centrale hubs.<br />

Op deze manier kan een stertopologie uitgewerkt worden. Het netwerk is op deze manier<br />

gemakkelijker uit te breiden, te controleren en is het eenvoudiger om fouten op te sporen.<br />

De maximale segmentlengte tussen een deelnemer en een hub is 100 meter.<br />

De varianten op basis van twisted pair zijn geëvolueerd van 10Base-T (10Mbps) over 100Base-<br />

T (100Mbps) tot 1000Base-T (1000Mbps).


<strong>Ethernet</strong> 8<br />

Figuur 2.1: De MAU voor 10/100Base-T<br />

De MAU, ontwikkeld voor twisted pair, is voorzien van 4 datapinnen: 2 voor te zenden, 2 voor<br />

te ontvangen. Dit is de basis voor full duplex <strong>Ethernet</strong>. In principe is enkel punt tot punt<br />

communicatie mogelijk. Vandaar dat ieder host rechtstreeks moet verbonden worden met<br />

een structuurelement: een hub of een switch.<br />

Fast <strong>Ethernet</strong><br />

De UTP kabel, bv. CAT5 (Category 5) UTP (Unshielded Twisted Pair), ondersteunt snelheden<br />

tot 100Mbps. De kabel bestaat uit 8 draden, geordend in 4 paar. De 4 paren zijn herkenbaar<br />

doordat er steeds 1 volledig gekleurd is en het andere met witte onderbrekingen in dezelfde<br />

kleur. Van de 4 paren worden er in 10/100Base-T slechts 2 gebruikt (paar 2: oranje/wit en<br />

oranje en paar 3: groen/wit en groen).<br />

De IEEE specificatie voor <strong>Ethernet</strong> 10/100Base-T vereist dat het ene gebruikte paar aan pin<br />

1 en pin 2 van de connector wordt aangesloten terwijl het tweede paar aan pin 3 en pin 6<br />

wordt aangesloten. De andere twee niet gebruikte paren zullen aangesloten worden op pin<br />

4 en 5 en op pin 7 en 8.<br />

Tabel 2.1: Pinconfiguratie voor Fast <strong>Ethernet</strong><br />

Pin Kleur Functie<br />

1 groen met wit +TD<br />

2 groen -TD<br />

3 oranje met wit +RD<br />

4 blauw niet gebruikt<br />

5 blauw met wit niet gebruikt<br />

6 oranje -RD<br />

7 bruin met wit niet gebruikt<br />

8 bruin niet gebruikt<br />

Tabel 2.1 toont de pinconfiguratie voor 10/100Base-T. TD staat voor Transmitted Data, RD<br />

staat voor Received Data. Het plus- en minteken geven aan dat het signaal gespiegeld verstuurd<br />

wordt langs twee datalijnen, zie ook figuur 2.2.


<strong>Ethernet</strong> 9<br />

Figuur 2.2: Transmissietechnolgoie voor 10/100Base-T<br />

De straight-through kabel, de rechtdoor kabel ook wel de patchkabel genoemd, is de kabel<br />

die we bekomen als we langs beide zijden van de kabel paar 2 met pin 1 en pin 2 verbinden,<br />

terwijl paar 3 met pin 3 en pin 6 verbonden wordt. Deze kabel kan gebruikt worden voor<br />

verbindingen tussen het patchpanel en de hub/switch, de PC en de hub/switch of de PC en<br />

de muur. Algemeen wordt deze kabel gebruikt voor de verbinding van een structuurelement<br />

en een eindelement.<br />

Een cross-over kabel is nodig om de PC-PC verbindingen tot stand te brengen (verbinding<br />

van twee eindelementen) en om verbindingen tussen hub/switch en een andere hub/switch<br />

te bekomen (verbinding van twee structuur elementen). Om een cross-over kabel te maken<br />

moeten we de gebruikte paren omwisselen. Langs één zijde moet paar 2 met pin 3 en pin 6<br />

verbonden worden terwijl paar 3 met pin 1 en pin 2 moet verbonden worden.<br />

Figuur 2.3: Twisted pair bekabeling, 10/100Base-T<br />

Huidige <strong>Ethernet</strong>poorten ondersteunen autocrossing. Hierdoor wordt automatisch gedetecteerd<br />

welke kabel er gebruikt wordt en zal indien nodig de crossing intern gecorrigeerd worden.<br />

Als uitbreiding op de 10Base-T heeft de IEEE Fast <strong>Ethernet</strong>, 100Base-T gedefinieerd.


<strong>Ethernet</strong> 10<br />

Fast <strong>Ethernet</strong> wordt gekenmerkt door:<br />

• Datatransmissie op een snelheid van 100Mbps<br />

• Full Duplex communicatie<br />

• Switched <strong>Ethernet</strong><br />

In Fast <strong>Ethernet</strong> is er een mechanisme voorzien voor autonegotiation: dit maakt het mogelijk<br />

<strong>Ethernet</strong> interfaces te bouwen welke automatisch omschakelen tussen 10Mbps en 100Mbps.<br />

Bij de 10Base-T standaard wordt iedere databit gecodeerd in één fysische bit. M.a.w. voor<br />

een groep van acht databits worden acht signalen gegenereerd op de kabel. De 10Mbps<br />

datarate betekent een kloksnelheid van 10MHz. Bij iedere klokpuls wordt één enkele bit<br />

verstuurd.<br />

100Base-T gebruikt het zogenaamde 4B/5B schema waarbij elke groep van vier bits gecodeerd<br />

wordt in een 5 bit signaal. Eén enkele bit wordt dus niet exact vertaald in één enkel<br />

signaal op de kabel.<br />

Datastroom: 0111010000100000<br />

4 bitpatroon: 0111 0100 0010 0000<br />

5 bitcode: 01111 01010 10100 11110<br />

De toegepaste kloksnelheid is 125MHz (5/4 x 100). Cat5 kabels zijn gecertificeerd voor een<br />

transmissiesnelheid tot 125 MHz.<br />

Gigabit <strong>Ethernet</strong><br />

Gigabit <strong>Ethernet</strong> streeft een datarate van 1000Mbps na. Indien hiervoor bv. de CAT5 <strong>Ethernet</strong><br />

kabels moeten gebruikt worden is er een probleem gezien deze enkel een kloksnelheid tot<br />

125MHz ondersteunen. Om dit te realiseren moet de technologie aangepast worden.<br />

Vooreerst codeert 1000Base-T twee bits per kloksignaal (00, 01, 10 en 11) en gebruikt hiervoor<br />

vier spanningsniveaus.<br />

Verder gebruikt 1000Base-T alle vier de dataparen van een <strong>Ethernet</strong>kabel. De vier dataparen<br />

worden hierbij bidirectioneel toegepast. Langs alle vier de dataparen wordt data verzonden<br />

of wordt data ontvangen.<br />

Gigabit <strong>Ethernet</strong> gebruikt dus nog steeds de 100Base-T/Cat 5 kloksnelheid van 125MHz. Gezien<br />

bij iedere klokpuls 2 bits verwerkt worden en dit langs vier dataparen wordt een datarate<br />

van 1000Mbps bereikt. Deze modulatietechnologie wordt 4D-PAM5 genoemd en gebruikt actueel<br />

vijf verschillende spanningsniveaus. Het vijfde spanningsniveau wordt gebruikt voor<br />

het errormechanisme. Tabel2.2 toont de Gigabit <strong>Ethernet</strong> pinconfiguratie. BI staat voor bidirectioneel<br />

terwijl DA, DB, DC en DD staan voor data A, data B, data C en data D.


<strong>Ethernet</strong> 11<br />

Tabel 2.2: Pinconfiguratie voor Gigabit <strong>Ethernet</strong><br />

Pin Kleur Functie<br />

1 groen met wit +BI_DA<br />

2 groen -BI_DA<br />

3 oranje met wit +BI_DB<br />

4 blauw -BI_DB<br />

5 blauw met wit +BI_DC<br />

6 oranje -BI_DC<br />

7 bruin met wit +BI_DD<br />

8 bruin -BI_DD<br />

2.2.3 Implementaties op basis van fiber<br />

Om langere segmentafstanden mogelijk te maken werd de glasvezelkabel geïntegreerd als<br />

mogelijke interface. De eerste glasvezelvarianten staan bekend onder de naam 10Base-F en<br />

100Base-F. Er worden telkens gescheiden fibers gebruikt voor het verzenden van data en het<br />

ontvangen van data.<br />

Gigabit <strong>Ethernet</strong> over fiber is ontwikkeld voor de full-duplex mode bij een datarate van<br />

1000Mbps. Er zijn twee verschillende varianten voor Gigabit <strong>Ethernet</strong>: 1000Base-SX en<br />

1000Base-LX.<br />

1000Base-SX gebruikt lichtpulsen met korte golflengte over multimode fiber. 1000Base-LX<br />

gebruikt lichtpulsen met lange golflengte over multimode of single-mode fiber.<br />

Recentelijk is er ook 10Gigabit <strong>Ethernet</strong> over fiber met verschillende varianten.<br />

2.2.4 Wireless LAN<br />

IEEE8<strong>02</strong>.11<br />

Verschillende standaarden voor wireless LAN zijn gedefinieerd door de IEEE in hun beschrijving<br />

IEEE8<strong>02</strong>.11. De radioverbindingen van een Wireless LAN vinden plaats in de 2,4 GHz<br />

frequentieband, de zogenaamde ISM-band (Industrial, Scientific and Medical) of in de 5 GHz<br />

band. Hiervoor zijn geen licenties nodig. Een Wireless LAN gebruikt de zogenaamde spread<br />

spectrum technologie. Deze technologie is specifiek bedoeld voor storingsgevoelige transmissiekanalen.<br />

Dit is belangrijk omdat deze frequentiebanden (vooral de 2,4 GHz) ook door<br />

veel andere apparatuur worden gebruikt waaronder bijv. Bluetooth.<br />

Een draadloos netwerk is over het algemeen een stuk minder snel dan een vast bedraad<br />

netwerk. Een groot voordeel is de flexibiliteit.<br />

Wat de fysische implementatie betreft voorziet de IEEE8<strong>02</strong>.11 de infrastructuurconfiguratie<br />

of de Ad Hoc configuratie.


<strong>Ethernet</strong> 12<br />

Figuur 2.4: Fysische implementatie van WLAN<br />

Infrastructuurconfiguratie is de configuratie waarbij gebruik gemaakt wordt van een wireless<br />

access-point om een draadloos LAN te verbinden met een bekabeld LAN. Het wireless<br />

access-point fungeert als centraal punt voor het routeren van al het draadloze dataverkeer.<br />

Draadloos werkende computers die worden opgenomen in een infrastructuurmodus vormen<br />

een groep die een Basic Service Set (BSS) wordt genoemd. Op een bepaald ogenblik kunnen<br />

maximaal 64 individuele computers in een BSS worden opgenomen. Dit komt doordat de<br />

capaciteit van het wireless access-point beperkt is tot 64 clients. Het hele draadloze netwerk<br />

heeft een unieke SSID (Service Set Identifier), en wordt ook wel gewoon een netwerknaam<br />

genoemd. Deze naam slaat enkel op het draadloze netwerk.<br />

Ad hoc of peer-to-peer heeft betrekking op een draadloze configuratie waarin elke deelnemer<br />

rechtstreeks met de andere communiceert. Een echte organisatie van het netwerk is hier dus<br />

niet mogelijk. Een ad hoc draadloos LAN bestaat uit een groep toestellen, elkeen uitgerust<br />

met een draadloze adapter, die via radiosignalen rechtstreeks met elkaar zijn verbonden en<br />

zo een onafhankelijk draadloos LAN vormen.<br />

WLAN standaarden<br />

Binnen de IEEE8<strong>02</strong>.11 zijn verschillende standaarden gedefinieerd. Deze standaarden gebruiken<br />

verschillende modulatietechnologieën om zo tot verbeterde transmissiesnelheden<br />

te komen. Tabel 2.3 toont een overzicht van de verschillende standaarden.<br />

Tabel 2.3: WLAN standaarden binnen de IEEE8<strong>02</strong>.11<br />

Standaard Frequentieband Datatransmissie<br />

IEEE8<strong>02</strong>.11b 2.4GHz 11Mbps<br />

IEEE8<strong>02</strong>.11g 2.4GHz 54Mbps<br />

IEEE8<strong>02</strong>.11a 5GHz 54Mbps<br />

IEEE8<strong>02</strong>.11h 5GHz 54Mbps<br />

IEEE8<strong>02</strong>.11n 5GHz en/of 2.4GHz 600Mbps


<strong>Ethernet</strong> 13<br />

IEEE8<strong>02</strong>.11b/g<br />

IEEE8<strong>02</strong>.11b/g maakt gebruik van het 72 MHz breed gedeelte van de 2.4 GHz band. Onder<br />

de regels van de FCC worden hierin 11 kanalen van 22MHz breed gedefinieerd. Theoretisch<br />

zou dit betekenen dat de bandbreedte voor deze 11 kanalen 242 Mbps (11x22Mbps) zou<br />

bedragen. In de praktijk moet dit zeer sterk genuanceerd worden aangezien deze kanalen<br />

elkaar grotendeels overlappen. Figuur 2.5 toont dat er slechts drie niet overlappende kanalen<br />

zijn: kanaal 1, kanaal 6 en kanaal 11.<br />

Figuur 2.5: De 2.4GHz band voor WLAN<br />

Voor Europa definieert de ETSI een ietwat ruimere frequentieband met daarin 13 kanalen van<br />

22MHz breed. Daardoor kunnen we in Europa in principe 4 nauwelijks overlappende kanalen<br />

gebruiken, zijnde kanaal 1, 5, 9 en 13.<br />

De IEEE8<strong>02</strong>.11b ondersteunt een maximale snelheid tot 11Mbps. De IEEE8<strong>02</strong>.11g ondersteunt<br />

een maximale snelheid tot 54Mbps. Bij een slechte verbinding of grote afstand tot het<br />

Access Point wordt de snelheid dynamisch teruggeschakeld.<br />

IEEE8<strong>02</strong>.11a/h<br />

IEEE8<strong>02</strong>.11a maakt gebruik van de volledige 5GHz band. Door het toepassen van OFDM<br />

(Orthogonal Frequency Division Multiplexing) worden met de IEEE8<strong>02</strong>.11a maximale (theoretische)<br />

snelheden tot 54Mbps bereikt. Figuur 2.6 toont de verschillende kanalen binnen de<br />

5GHz band. Voor Europa betekent dit dat er over de twee laagste banden van de 5GHZ UNII<br />

band 8 niet-overlappende kanalen van 20MHz breed te gebruiken zijn.


<strong>Ethernet</strong> 14<br />

Figuur 2.6: De 2.4GHz band voor WLAN<br />

Het gebruik van de 5GHz band in Europa kent heel wat beperkingen t.o.v. de VS. Daarom<br />

werd de IEEE8<strong>02</strong>.11a aangepast tot de IEEE8<strong>02</strong>.11h. Twee belangrijke protocollen werden<br />

toegevoegd om uiteindelijk te voldoen aan de Europese regelgeving:<br />

• DCS (Dynamic Channel Selection):het AP gaat automatisch op zoek naar een ander kanaal<br />

indien blijkt dat het kanaal in gebruik genomen wordt door een andere applicatie.<br />

• TPC (Transmit Power Control): er wordt niet meer vermogen uitgestuurd dan nodig,<br />

als twee deelnemers elkaar zien, dan zal het AP het vermogen aanpassen naar het<br />

benodigde niveau<br />

IEEE8<strong>02</strong>.11n<br />

Deze recente standaard maakt gebruik van MIMO (multiple input - multiple output), een<br />

techniek om met behulp van meerdere ontvangst- en zendantennes, data draadloos over<br />

te dragen waarbij een transmissiesnelheid van maximaal 600Mbps bekomen wordt indien 4<br />

kanalen van elk 40MHz gebruikt worden.<br />

2.2.5 Bluetooth<br />

De basistechnologie (twee onderste lagen van het OSI model) is gestandaardiseerd in de<br />

IEEE8<strong>02</strong>.15.1. Aanvullend definieert de Bluetooth SIG (Special Interest Group) verschillende<br />

applicatieprofielen voor ondermeer seriële communicatie en overdracht van <strong>Ethernet</strong> dataframes.<br />

Bluetooth maakt gebruik van de 2,4 GHz licentievrije ISM band. In tegenstelling tot WLAN<br />

wordt de te verzenden data niet gespreid over een bredere frequentieband maar wordt er<br />

FHSS (Frequency Hopping Spread Spectrum) toegepast. Hierbij wordt de 2,4 GHz band opgedeeld<br />

in 79 kanalen van 1 MHz. Figuur 2.7 toont de werking van FHSS. Er worden 1600 hops<br />

per seconde uitgevoerd. Ieder dataframe wordt telkens op een andere frequentie verstuurd.<br />

Zo kunnen verschillende logische kanalen naast elkaar actief zijn.


<strong>Ethernet</strong> 15<br />

Figuur 2.7: FHHS technologie<br />

Een groot voordeel voor het gebruik van Bluetooth in de industrie is de perfecte coexcistentie<br />

met WLAN. Indien er interferentie is op een Bluetooth frequentie omdat een WLAN kanaal<br />

op dezelfde frequentie actief is kan Bluetooth deze frequentie(’s) vermijden. Omdat dit een<br />

veelvoorkomend fenomeen is heeft Bluetooth een automatisch coexistentie mechanimse geïntegreerd:<br />

Adaptive Frequyency Hopping (AFH).<br />

Dit mechnaisme maakt het mogelijk dat Bluetooth bepaalde ’slechte’ frequenties tijdelijk uit<br />

de hopping lijst schrapt. Figuur 2.8 toont hoe er voldoende ruimte is bij een volzette 2,4GHz<br />

band waar drie gescheiden WLAN kanalen actief zijn. Het WLAN kanaal gebruikt een statische<br />

frequentieband, Bluetooth kan zich aanpassen en heeft keuze uit voldoende frequenties om<br />

interferentie te vermijden.<br />

Figuur 2.8: Coëxcistentie van Bluetooth en WLAN


<strong>Ethernet</strong> 16<br />

2.3 De datalinklaag<br />

2.3.1 Inleiding<br />

Voor het verzenden van berichten wordt gebruik gemaakt van packet switching. Packet switching<br />

wordt vooral toegepast bij computer tot computer communicatie. In computernetwerken<br />

wordt niet ononderbroken een willekeurige hoeveelheid data getransporteerd. In plaats<br />

daarvan deelt het netwerksysteem data op in kleine blokken, pakketten, die afzonderlijk<br />

verstuurd worden. Computernetwerken worden om die redenen ook wel packet switching<br />

networks genoemd.<br />

Figuur 2.9: Packet switching<br />

Er zijn twee redenen om voor het gebruik van pakketten te kiezen:<br />

• Zender en ontvanger moeten de transmissie coördineren. In geval van transmissiefouten<br />

kan veel data verloren gaan. Als de data in kleinere blokken is opgedeeld, kunnen<br />

de zender en ontvanger gemakkelijker bepalen welke blokken bij aankomst intact zijn<br />

en welke niet.<br />

• Meerdere computers maken gemeenschappelijk gebruik van onderliggende verbindingen<br />

en hardware. Een netwerk moet ervoor zorgen dat alle computers gelijkwaardige<br />

directe toegang tot een gedeelde communicatiefaciliteit hebben. Een computer kan<br />

een gedeelde resource niet langer in beslag nemen dan voor het versturen van één<br />

pakket nodig is.<br />

2.3.2 MAC adres<br />

Op een gemeenschappelijk overdrachtsmedium van een LAN moet ieder station een uniek<br />

adres hebben. Iedere deelnemer heeft een <strong>Ethernet</strong> adres, een fysiek adres dat eigen is<br />

aan de netwerkkaart: het MAC adres (Medium Acces Control Adress). Iedere fabrikant van<br />

netwerkkaarten geeft iedere kaart een uniek adresnummer mee welke in de ROM van de<br />

kaart opgeslagen wordt.


<strong>Ethernet</strong> 17<br />

Figuur 2.10: Het MAC adres<br />

Het MAC adres bestaat uit 48 bits (6 bytes) en is in twee groepen van drie bytes opgedeeld.<br />

De hoogste 24 bits vormen een fabrikantnummer uitgedeeld door XEROC. Er zijn 41943<strong>02</strong><br />

mogelijke fabrikantnummers. Zo krijgt <strong>Phoenix</strong> <strong>Contact</strong> het fabrikantnummer 00A045h.<br />

De laagste 24 bits vormen een serienummer. Ieder MAC adres moet uniek zijn.<br />

2.3.3 De <strong>Ethernet</strong> dataframe<br />

Een <strong>Ethernet</strong> frame bestaat uit minimaal 46 effectieve databytes en een constant aantal van<br />

26 protocolbytes (overhead). Dit minimum aantal databytes is noodzakelijk omwille van de<br />

definiëring van de slottime.<br />

Figuur 2.11: Opbouw van een <strong>Ethernet</strong> dataframe<br />

In een <strong>Ethernet</strong> dataframe worden volgende velden gedefinieerd:<br />

• Preamble: is een opeenvolging van 56 bits alternerend 1 en 0. Deze bits worden gebruikt<br />

voor synchronisatie en geven iedere deelnemer de tijd om activiteit op de bus<br />

waar te nemen vooraleer de effectieve data eraan komt.<br />

• SFD: de start of frame delimiter (10101011) is de laatste byte van de preamble maakt<br />

de ontvanger duidelijk dat de effectieve data op komst is.<br />

• DA: het destination adres. Het destination MAC adres veld identificeert het station of<br />

de stations welke het bericht moeten ontvangen. Dit veld neemt 6 bytes in beslag. Het<br />

destination adres kan een individueel, een multicast of een broadcast adres zijn. Het<br />

MAC broadcast adres is FF FF FF FF FF FF.<br />

• SA: het source adres. Het source MAC adres veld identificeert het station van welke het<br />

bericht afkomstig is. Dit veld is 6 bytes lang.


<strong>Ethernet</strong> 18<br />

• TYPE: voor het type veld is er een onderscheid tussen <strong>Ethernet</strong> II (DIX standaard) en de<br />

IEEE8<strong>02</strong>.3<br />

Bij <strong>Ethernet</strong> II verwijst het type veld naar het bovenliggend protocol dat gebruik maakt<br />

van een <strong>Ethernet</strong> frame om data te versturen. Xerox kent aan ieder protocol welke voor<br />

<strong>Ethernet</strong> ontwikkeld wordt een code toe van 2 bytes lang. Enkele voorbeelden zijn:<br />

0600h<br />

0800h<br />

0806h<br />

0835h<br />

8100h<br />

XNS<br />

IP (Internet Protocol)<br />

ARP protocol<br />

<strong>Rev</strong>erse ARP protocol<br />

IEEE8<strong>02</strong> 1.q tag frame (VLAN)<br />

De IEEE8<strong>02</strong>.3 definieert het TYPE veld als LENGHT veld om op deze manier het effectief<br />

aantal databytes te mee te sturen.<br />

Xerox gebruikt geen typenummers beneden de 1500 en gezien de maximale lengte van<br />

een dataframe op 1500 ligt is er geen overlapping mogelijk en kunnen beide definities<br />

door elkaar gebruikt worden.<br />

• DATA: het dataveld bevat de te versturen data. Dit dataveld is transparant, wat betekent<br />

dat de inhoud van dit veld volledig vrij is voor <strong>Ethernet</strong>. Alleen de lengte moet<br />

liggen tussen minimum 46 bytes en maximum 1500 bytes.<br />

• PAD: de padding bits zijn willekeurige databits die, indien nodig, extra toegevoegd worden<br />

aan de data om het minimum vereiste aantal van 46 bytes te bereiken.<br />

• FCS: de checksum is een 4-byte CRC waarde gecreëerd en meegestuurd door de zender.<br />

Aan de hand van deze code kan de ontvanger de integriteit van de data nagaan.<br />

2.3.4 CSMA/CD<br />

<strong>Ethernet</strong> gebruikt het CSMA/CD (Carrier Sense Multiple Acces / Collision Detect) protocol.<br />

Met CSMA/CD kunnen twee of meerdere stations een gemeenschappelijk transmissiemedium<br />

gebruiken.Om een dataframe te versturen moet een station wachten voor een ’idle-period’,<br />

het niet actief zijn van de bus waarbij geen enkele deelnemer data aan het versturen is.<br />

Hierbij zal het dan een boodschap versturen dat door alle andere deelnemers gehoord wordt.<br />

Indien een tweede deelnemer terzelfder tijd een bericht zal versturen zal er een botsing<br />

gedetecteerd worden. De deelnemer welke als eerste een botsing detecteert verstuurt een<br />

error frame.<br />

Figuur 2.12: Collisions op een <strong>Ethernet</strong>segment


<strong>Ethernet</strong> 19<br />

Een collision domein is een multisegment configuratie volgens het CSMA/CD protocol waarbij<br />

een collision zal ontstaan wanneer 2 deelnemers op het segment een dataframe op hetzelfde<br />

tijdstip versturen.<br />

Figuur 2.13: CSMA/CD flow<br />

Figuur 2.13 toont de CSMA/CD flow. Een deelnemer welke data wil verzenden zal eerst het<br />

netwerk controleren op een carrier, of de aanwezigheid van een station welke data aan het<br />

versturen is. Indien een actieve carrier gedetecteerd wordt dan wordt het versturen uitgesteld.<br />

Wordt er geen actieve carrier gedetecteerd voor een periode die gelijk of groter is dan de<br />

interframe gap dan kan dit station starten met het verzenden van het bericht. Tijdens het<br />

versturen van het bericht zal de deelnemer het medium blijven controleren of er geen botsing,<br />

collision optreedt. Een netwerkinterface moet dus tegelijkertijd data verzenden en het<br />

medium beluisteren. Indien een collision gedetecteerd wordt dan stopt de deelnemer ogenblikkelijk<br />

met zenden en wordt er een 32-bit jam sequentie verstuurd. Indien de botsing zeer<br />

vroeg gedetecteerd wordt dan zal de frame preamble eerst verder verstuurd worden vooraleer<br />

de jamsequentie verstuurd wordt. Deze jamsequentie is noodzakelijk om er zeker van te<br />

zijn dat de lengte van de botsing voldoende groot is zodat alle deelnemers de botsing konden<br />

waarnemen. Na het versturen van de jamsequentie zal de deelnemer een randomtijd<br />

wachten vooraleer een nieuwe poging te ondernemen: dit proces wordt Backoff genoemd.<br />

Enkele belangrijke aanvullende definities:<br />

• Interframe gap: <strong>Ethernet</strong> deelnemers moeten een minimum periode van geen activiteit<br />

’idle-period’ voorzien tussen de versturing van twee frames. De minimum interframe<br />

gap is 96 bittijden (9,6µs voor de 10Mbps versie, 960ns voor 100Mbps <strong>Ethernet</strong> en 96ns<br />

voor Gigabit <strong>Ethernet</strong>.<br />

• Slottime: deze parameter is gedefinieerd als 512 bittijden voor de 10Mbps en de 100Mbps<br />

versies, en 4096 bittijden voor Gigabit <strong>Ethernet</strong>. De minimum transmissietijd voor een


<strong>Ethernet</strong> 20<br />

volledig dataframe moet minstens één slottijd bedragen. De tijd nodig opdat een botsing<br />

door alle deelnemers wordt waargenomen mag maximaal één slottijd bedragen.<br />

De slottijd is een belangrijke parameter:<br />

– het bepaalt de minimum lengte van een dataframe (64 bytes voor 10Mbps en<br />

100Mbps). Ieder frame korter dan 64 bytes wordt als een collision fragment beschouwd.<br />

– het bepaalt de maximum lengte van een collision domein om op die manier late<br />

collisions te voorkomen.<br />

– het verzekert dat indien een botsing zal plaatsvinden dat het dan binnen de 512<br />

bittijden van de frame transmissietijd zal gebeuren.<br />

2.3.5 CSMA/CA<br />

De CSMA/CD technologie van bedraad <strong>Ethernet</strong> kan niet toegepast worden bij draadloos<br />

<strong>Ethernet</strong>. De standaard beschrijft half-duplex radios, tijdens het zenden van data kan er<br />

niet gecontroleerd worden op eventuele botsingen. Om dit te verhelpen wordt een andere<br />

technologie toegepast namelijk CSMA/CA. In plaats van het detecteren van botsingen zullen<br />

botsingen vermeden worden, CA: collision advoidence.<br />

De kans op botsingen is het grootst juist na een bezet medium. Daarom worden er wachttijden<br />

en een veroveringsfase gedefinieerd. Figuur 2.14 toont enkele belangrijke parameters<br />

omtrent de wachttijden voor de toegang tot het medium. Alle parameters worden gerelateerd<br />

t.o.v. de slottijd (afgeleid van de door het medium veroorzaakte voortplantingsvertraging.<br />

Deze parameters zijn:<br />

• SIFS (Short Interframe Spacing): kortste wachttijd voor mediumtoegang (dus hoogste<br />

prioriteit). Het Acces Point gebruikt voor het versturen van ACK-berichten deze wachttijd.<br />

• PIFS (PCF Interframe Spacing): middelmatige prioriteit, deze tijd wordt gebruikt voor de<br />

pollingacties van een Acces Point.<br />

• DIFS (DCF Interframe Spacing): laagste prioriteit voor mediumtoegang, van toepassing<br />

op normale deelnemers op het draadloos segment.


<strong>Ethernet</strong> 21<br />

Figuur 2.14: CSMA/CA<br />

Indien een host een bericht wenst te versturen moet eerst het medium beluisterd worden.<br />

Indien het medium langer dan een tijd DIFS vrij is kan deze deelnemer het initatief nemen<br />

om een bericht te versturen.<br />

Indien blijkt dat het medium bezet is wordt er gewacht tot de zendende deelnemer klaar is<br />

met zenden. Dan moet er een tijd DIFS gewacht worden. Het Acces Point heeft een hogere<br />

prioriteit en hoeft slecht een tijd SIFS te wachten. Indien na de DIFS tijd het medium nog<br />

steeds vrij is, start de veroveringsfase waarbij bij elke host, welke data wenst te versturen,<br />

een random backoff timer gestart wordt. De deelnemer welke als eerste uitgeteld is, kan het<br />

initiatief nemen om het medium te gebruiken en data te verzenden.<br />

2.4 Structuurelementen voor <strong>Ethernet</strong><br />

2.4.1 De hub<br />

De maximale segmentlengte van een LAN wordt bepaald door het gebruikte medium en het<br />

toegepaste toegangsmechanisme. Om de beperking van de lengte op te heffen werd al<br />

snel gezocht naar methoden om meerdere segmenten na elkaar te koppelen. De eerste en<br />

meest eenvoudige methode hiervoor is het inzetten van een repeater. Een repeater is een<br />

signaalversterker die pakketten transparant doorgeeft, onafhankelijk van de inhoud van het<br />

pakket. Een repeater wordt gebruikt om twee of meer <strong>Ethernet</strong> segmenten onderling met<br />

elkaar te verbinden. Zoals te zien is op de slight vindt een repeater-koppeling volgens de<br />

ISO-OSI-definities plaats op de fysieke laag.


<strong>Ethernet</strong> 22<br />

Figuur 2.15: De repeater volgens het OSI model<br />

Beide segmenten kunnen verschillend van medium zijn. Een segment op basis van 10Base-T<br />

kan met een repeater bijvoorbeeld worden gekoppeld aan een glasvezelsegment. Een andere<br />

belangrijke eigenschap van een koppeling op basis van een repeater is dat niet alleen de<br />

databits worden doorgegeven, maar ook eventuele botsingen en signaalfouten. Netwerksegmenten<br />

die onderling zijn verbonden via een repeater zijn daarom gevoelig voor foutsituaties;<br />

een probleem op één segment plant zich voort over alle andere segmenten. In moderne<br />

lokale netwerken op basis van <strong>Ethernet</strong> worden repeaters hoofdzakelijk gebruikt om segmenten<br />

van verschillende media met elkaar te verbinden. Zo worden backbone-segmenten<br />

uit glasvezelbekabeling altijd via optische repeaters gekoppeld aan afdelingssegmenten van<br />

twisted-pair-bekabeling.<br />

Figuur 2.16: De hub<br />

Een hub is eigenlijk een multiport repeater: het regenereert een inkomend signalen naar alle<br />

andere poorten zoals blijkt uit figuur 2.16. Alle segmenten welke via een hub met elkaar<br />

verbonden zijn een collision domein.<br />

Een hub is verkrijgbaar in veel verschillende uitvoeringen. Deze uitvoeringen verschillen in<br />

het aantal poorten, de typen media die worden ondersteund en de uitbreidbaarheid.<br />

Een belangrijke functionaliteit van de moderne hub wordt gevormd door de mogelijkheden<br />

voor netwerkmanagement. Minimaal is het mogelijk om poorten aan of uit te schakelen en


<strong>Ethernet</strong> 23<br />

te detecteren of er storingen zijn opgetreden. Om deze mogelijkheid beschikbaar te krijgen<br />

is een moderne hub uitgerust met een SNMP agent die wordt aangestuurd vanuit een<br />

managementstation.<br />

2.4.2 De switch<br />

Eén van de mogelijkheden om LAN segmenten met meer intelligentie onderling te koppelen<br />

is het gebruik van een bridge. Een bridge is meer dan alleen een medium voor het doorgeven<br />

van data zoals de repeater. Voordat een pakket via een bridge wordt doorgegeven van het<br />

ene segment naar het andere segment onderzoekt een bridge het MAC-adres en op basis<br />

hiervan vindt al dan niet transport naar het andere segment plaats.<br />

Figuur 2.17: De bridge volgens het OSI model<br />

Een bridge kan zijn uitgerust met meer dan twee netwerkpoorten. In dit geval wordt de term<br />

switch gebruikt. Voor iedere poort wordt softwarematig een MAC adrestabel bijgehouden.<br />

Deze tabel wordt gevuld door op het desbetreffende segment van het netwerk te luisteren<br />

en alle MAC-adressen die op dit segment voorkomen, te kopiëren naar de tabel. Ieder adres<br />

wordt gedurende een beperkte tijd vastgehouden en het wordt weer gewist zodra een bepaalde<br />

tijd, de holdtime, is verstreken. Door deze techniek wordt voorkomen dat niet-actieve<br />

stations worden geadresseerd of dat stations juist niet meer worden herkend.<br />

Figuur 2.18: De switch


<strong>Ethernet</strong> 24<br />

Het koppelen van segmenten van een lokaal netwerk via een switch heeft een aantal voordelen<br />

boven de koppeling met een repeater of hub. Zo wordt bij het gebruik van een switch het<br />

ene segment niet belast met de frames van het andere segment die daar wat betreft adressering<br />

niet thuishoren. De belasting per segment wordt door deze functie van de bridge<br />

gereduceerd. Tevens worden foutsituaties niet door gegeven omdat de switch ook controleert<br />

op een correcte opbouw van het frame. Tot slot wordt door de bridge ook vermeden dat<br />

er botsingen tussen frames worden doorgegeven van het ene segment naar het andere segment.<br />

Iedere poort van een switch sluit dus een collision domein af. Indien iedere deelnemer<br />

rechstreeks op de poort van een switch gekoppeld wordt onstaan er veel collision domeinen,<br />

maar bevat ieder domein slechts één deelnemer en kunnen er geen botsingen ontstaan. In<br />

een verder deel wordt nog dieper ingegaan op de switch.<br />

2.5 IEEE8<strong>02</strong>.1Q tagged frame<br />

De IEEE8<strong>02</strong>.1Q beschrijft 4 extra bytes, opgedeeld in twee extra velden in het <strong>Ethernet</strong> frame<br />

om nieuwe toepassingen mogelijk te maken. Eén van deze toepassingen is VLAN (zie verder<br />

in dit hoofdstuk).<br />

Figuur 2.19: Opbouw van een tagged frame<br />

Beschrijving van de extra velden:<br />

• TYPE(TAG), 2 bytes: krijgt de waarde 8100h om aan te geven dat dit frame een tagged<br />

frame is en dus een extra informatieveld bevat<br />

• VLAN TPID, 2 bytes: VLAN Tag Protocol Identifier<br />

– User priority, 3 bits: de prioriteit van het frame wordt meegegeven, de prioriteitscode<br />

(een getal tussen 0 en 7) staat beschreven in IEEE8<strong>02</strong>.1p.<br />

– CFI: Cononical Format Indicator. De IEEE8<strong>02</strong>.1Q is enkel voor <strong>Ethernet</strong> of Token<br />

Ring ontwikkeld. Deze bit is 0 voor <strong>Ethernet</strong> en 1 voor Token Ring.<br />

– VLAN ID: Identificatie van het VLAN, 4094 mogelijkheden.<br />

FFFFh<br />

0000h<br />

gereserveerd<br />

geen VLAN, frames met prioriteit (Profinet IO)<br />

2.6 Power over <strong>Ethernet</strong><br />

De IEEE8<strong>02</strong>.3af Power over <strong>Ethernet</strong> voorziet sinds juni 2003 de mogelijkheid voor gemeenschappelijke<br />

transmissie van data en voeding over dezelfde <strong>Ethernet</strong> kabel.


<strong>Ethernet</strong> 25<br />

PoE werd ontwikkeld voor WLAN access points, Bluetooth access points, IP telefoons (voice<br />

over IP), IP camera’s, RFID reading units, touch panels, ... . Vroeger werd dit reeds toegepast<br />

via niet genormeerde systemen, de niet gebruikte lijnen van een <strong>Ethernet</strong> kabel werden<br />

gebruikt om 24V of 48V over te brengen.<br />

Via de IEEE8<strong>02</strong>.3af standaard kan de stroom naar devices beperkt en gecontroleerd worden.<br />

Het gebruik van PoE maakt een extra voedingsadapter overbodig. Dit is vooral handig<br />

als het netwerktoestel ingezet moet worden op een plaats waar stroomvoorziening via het<br />

stopcontact moeilijk haalbaar is.<br />

Het protocol definieert twee basiscomponenten. De PSE (Power Sourcing Equipment) en de<br />

PD (Powered Device)<br />

2.6.1 PSE<br />

Het toestel welke voeding voorziet voor PoE wordt een PSE, Power Sourcing Equipment, genoemd.<br />

De spanning voorzien door de PSE is nominaal 48V (tussen de 44V en 57V). Elke<br />

poort van een PSE moet in staat zijn om 350mA te leveren bij 44V (15.4 Watt).<br />

Figuur 2.20: Opbouw van een PSE<br />

Er wordt onderscheid gemaakt tussen 2 types.<br />

• End point PSE: de standaard <strong>Ethernet</strong> switch wordt vervangen door een PoE switch.<br />

• Mid span PSE: dit toestel wordt geplaatst tussen de conventionele switch en de netwerkdeelnemer.<br />

Werkt enkel op alternatief B.


<strong>Ethernet</strong> 26<br />

Figuur 2.21: Gebruik van een Mid span PSE<br />

Figuur 2.21 toont de integratie van een mid span PSE. Er is dus telkens een extra module<br />

nodig om PoE mogelijk te maken.<br />

2.6.2 PD<br />

De netwerkwerkdeelnemer welke zijn voeding krijgt over de <strong>Ethernet</strong> kabel wordt een PD, Powered<br />

Device, genoemd. Om fouten tegen de polariteit tegen te gaan is er een auto-polariteit<br />

circuit ingebouwd in een PD. Een PD moet volgens de norm Alternatief A en Alternatief B ondersteunen.<br />

Volgens de norm moet een PSE minimum 15.4W kunnen leveren en mag een PD maximaal<br />

12.95W verbruiken. Dit verschil wordt gebruikt om de verliezen in de twisted pair kabel te<br />

overbruggen. Een kabel van 100m heeft een weerstand die voor verlies zorgt.<br />

Om toestellen te beschermen tegen onverwachte spanning wordt er tijdens het verbinden<br />

een identificatieproces uitgevoerd:<br />

• Als er niks verbonden is met de PSE is de poort spanningloos<br />

• Een toestel meldt zich aan met een weerstand van 25kΩ.<br />

• De PSE legt een spanning van 10.1 V aan de belasting en meet de stroom. Indien<br />

de gevraagde stroom minder is dan de minimum stroom, dan wordt er geen stroom<br />

geleverd.<br />

• Om de specifieke klasse van 1 tot 3 te bepalen legt de PSE een spanning van 20.5 V<br />

aan de belasting. Na het bepalen van de klasse legt de PSE een spanning van 48V aan<br />

de belasting. Er wordt onderscheid gemaakt tussen de volgende vermogenklassen:<br />

Klasse 0 0,44W tot 12,95W<br />

Klasse 1 0,44W tot 3,84W<br />

Klasse 2 3,84W tot 6,49W<br />

Klasse 3 6,49W tot 12,95W


<strong>Ethernet</strong> 27<br />

2.6.3 Alternatief A<br />

De voeding wordt via de datalijnen overgebracht. De voeding wordt door middel van transformatoren<br />

met middenaftakking aangesloten op de pinnen 1-2 en 3-6 zodat die voor de<br />

datastroom onzichtbaar is. Kan gebruikt worden voor 10/100/1000Base-T.<br />

Figuur 2.22: PoE, alternatief A<br />

2.6.4 Alternatief B<br />

De energie wordt overgedragen via de aders in een UTP kabel die niet gebruikt worden voor<br />

data. De paren 4-5 en 7-8 worden parallel gebruikt, zo kan er meer stroom vloeien.De positieve<br />

kant van de 48 V is aangesloten op pin 4 en 5, de negatieve kant is aangesloten op pin<br />

7 en 8.<br />

Figuur 2.23: PoE, alternatief B<br />

Kan enkel gebruikt worden indien paar 1 en paar 4 ter beschikking zijn (bepaalde industriële<br />

Ethternet kabels bevatten alleen paar 2 en 3) of indien paar 1 en 4 niet gebruikt worden (dus<br />

1000Base-T is niet mogelijk).


<strong>Ethernet</strong> 28<br />

2.7 VLAN<br />

Een VLAN of Virtual Local Area Network is een groep deelnemers in een groter netwerk welke<br />

op een logische manier een apart netwerk vormen. Hierdoor kan op een groter fysisch netwerk<br />

meerdere logische groepen gecreëerd worden. Een VLAN heeft een eigen broadcast<br />

domein. Datapakketten worden enkel binnen een VLAN doorgestuurd. De deelnemers kunnen<br />

fysich ver uit elkaar liggen maar ze moeten zich wel op één en hetzelfde fysisch netwerk<br />

bevinden. Enkele voorbeelden van het indelen van een netwerk:<br />

• Volgens departementen: één VLAN voor Sales, een ander VLAN voor Engineering en<br />

nog een andere VLAN voor Automation.<br />

• Volgens hiërarchie: één VLAN voor directie, een ander VLAN voor managers en nog een<br />

ander voor werknemers<br />

• Volgens gebruik: één VLAN voor gebruikers die e-mail nodig hebben en een ander voor<br />

gebruikers van multimedia<br />

2.7.1 Voordelen van VLANs<br />

Het grootste voordeel van VLANs is de segmentatie van het netwerk. Hierdoor wordt het<br />

netwerk flexibeler dan een traditioneel netwerk. Deze flexibiliteit vertaalt zich in het makkelijk<br />

verplaatsbaar zijn van netwerkdeelnemers. Andere voordelen zijn extra veiligheid en<br />

beperking van de netwerkbelasting.<br />

• Verplaatsbaarheid van apparaten: apparaten kunnen gemakkelijker verplaatst worden<br />

in het netwerk. In een traditioneel netwerk moet bekabeling aangepast worden als<br />

een gebruiker van het ene subnet naar het andere verhuist. Het verhuizen van het<br />

ene VLAN naar het andere brengt geen veranderingen aan de bekabeling met zich<br />

mee. Alleen een instelling op de switch moet gebeuren. Zo kan een station van Sales<br />

verplaatst worden naar aan netwerkaansluiting die toebehoort aan Engineering. De<br />

poort moet ingesteld worden als een lid van de VLAN Engineering maar er moet niet<br />

opnieuw bekabeld worden.<br />

• Extra veiligheid: toestellen van een VLAN kunnen alleen communiceren met toestellen<br />

in hetzelfde VLAN. Als een toestel van VLAN Sales wil communiceren met de VLAN<br />

Automation dan moet deze verbinding ingesteld worden in een router.<br />

• Beperking netwerktraffiek: bij een traditioneel netwerk kunnen broadcasts zorgen voor<br />

een overbelast netwerk. Broadcast berichten komen vaak toe bij apparaten die deze<br />

berichten niet nodig hebben. VLANs beperken deze problematiek omdat een broadcast<br />

berichten uit de ene VLAN niet toekomt in de andere VLAN.<br />

2.7.2 Trunking<br />

Trunking is methode om data van verschillende VLANs tussen twee switches te versturen.<br />

Hiervoor is slechts één poort nodig per apparaat. Er zijn verschillende manieren om aan<br />

trunking te doen.<br />

• ISL: InterSwitch Link, dit is een veel gebruikt propriëtair protocol van Cisco<br />

• IEEE8<strong>02</strong>.1Q: dit is een standaard die ondersteund is door veel fabrikanten van switches.


<strong>Ethernet</strong> 29<br />

Bij trunking wordt er een stukje code toegevoegd (een tag) waarin staat van welke VLAN het<br />

verzonden pakket afkomstig is. Dankzij dit systeem blijven de voordelen van VLANs bewaard.<br />

De VLANs blijven gescheiden zelf als ze zich uitspreiden over verschillende switches. Om toch<br />

dataverkeer tussen de verschillende VLANs te voorzien is er een router nodig.<br />

2.7.3 Soorten VLANs<br />

De verschillende soorten VLANs kunnen ingedeeld worden in twee types: de statische en de<br />

dynamische VLANs.<br />

• Statische VLANs, deze zijn port-based. Afhankelijk van de poort van een switch waarop<br />

een gebruiker zich aansluit behoort hij tot de ene of de andere VLAN.<br />

Voordelen:<br />

– Makkelijk te configureren<br />

– Alles gebeurt in de switch. De gebruiker merkt er weinig van<br />

Nadelen:<br />

– Als een gebruiker zijn PC op de verkeerde poort aansluit is er een herconfiguratie<br />

nodig door de administrator.<br />

– Als een tweede switch aangesloten wordt op een poort die tot een bepaalde VLAN<br />

behoort, dan horen alle computers die men op deze switch aansluit automatisch<br />

tot deze VLAN.<br />

• Dynamische VLANs: zijn niet gebaseerd op de poorten van een switch maar wel op het<br />

adres van de gebruiker of op het gebruikte protocol.<br />

Voordeel: iedereen kan zijn computer op eender welke poort aansluiten en toch tot de<br />

correcte VLAN behoren.<br />

Nadeel: de kostprijs van dit type VLAN ligt hoger omdat er speciale hardware vereist is.


<strong>Ethernet</strong> 30<br />

2.8 Netwerkredundantie<br />

2.8.1 Inleiding<br />

Netwerkredundantie betekent het integreren van hardware en software welke er voor zorgen<br />

dat bij een Single Point of Failure de beschikbaarheid van het netwerk optimaal blijft. Het<br />

communicatiesysteem, het netwerk, is het hart van ieder modern automatiseringsproject.<br />

Om netwerkfouten op te vangen kunnen verschillende protocollen geïntegreerd worden in<br />

de structuur elementen. Er kunnen drie belangrijke groepen onderscheiden worden:<br />

• STP/RSTP: (Rapid) Spanning Tree Protocol. Kan toegepast worden in mesh topologiën,<br />

wordt verder in dit hoofdstuk besproken.<br />

• MRP: Media Redundancy Protocol, enkel voor ringtopologieën.<br />

• PRP: Parallel Redundancy Protocol<br />

2.8.2 Het Spanning Tree Protocol<br />

Het Spanning Tree Protocol (STP) is een open protocol dat beschreven staat in de IEEE8<strong>02</strong>.1d.<br />

Het is een OSI laag-2 protocol dat een gesloten lusvrij LAN garandeert. Het is gebaseerd op<br />

een algoritme ontwikkeld door Radia Perlman (personeelslid van Digital Equipment Corporation).<br />

Spanning tree maakt het mogelijk om een netwerk uit te bouwen waarbij redundante<br />

links geïntegreerd worden. Op deze manier kan een automatisch back-up pad voorzien worden<br />

indien een actieve link om één of andere reden wegvalt zonder gesloten lussen in het<br />

netwerk te creëren.<br />

Om dit protocol toe te passen moeten de gebruikte switches het protocol ondersteunen. De<br />

omschakeltijd van dit protocol is niet echt voldoende voor de industrie. Na een onderbreking<br />

van een segment kan het al gauw 30 tot 50 seconden duren voor het alternatieve pad beschikbaar<br />

komt. Voor sturingen is deze delay onaanvaardbaar en zelfs voor monitoringstoepassingen<br />

is 30 seconden al erg lang. Een voordeel van het STP is dat het niet uitsluitend<br />

gebruikt kan worden voor redundante ringstructuren.<br />

2.8.3 Het Rapid Spanning Tree Protocol<br />

Als antwoord op de tekortkomingen van het spanning tree protocol formuleerde de IEEE in<br />

2001 het rapid spanning tree protocol (RSTP). Het protocol staat beschreven in de IEEE8<strong>02</strong>.1w<br />

standaard. Sinds 2004 is het spanning tree protocol als overbodig beschreven in de IEEE8<strong>02</strong>.1d<br />

en wordt er aangeraden om het RSTP te gebruiken i.p.v. het STP. De IEEE8<strong>02</strong>.1w is dan ook<br />

opgenomen in de 8<strong>02</strong>.1d norm.<br />

De omschakeltijd van het RSTP is lager dan deze van het STP (vandaar de naam), namelijk<br />

1 tot 10 seconden in plaats van 30 tot 50 seconden. Afhankelijk van de toepassing kan deze<br />

omschakeltijd al voldoende snel zijn.


<strong>Ethernet</strong> 31<br />

Figuur 2.24: Mogelijke boomtopologie mbv (R)STP<br />

Figuur 2.24 toont een netwerk met vijf verschillende structuurelementen. Er worden verschillende<br />

redundante verbindingen gecreëerd. Ten gevolge hiervan ontstaan er ontoelaatbare<br />

loops die het netwerk snel in verzadiging zullen brengen. Het RSTP protocol converteert<br />

deze topologie naar een boomstructuur door een aantal poorten af te sluiten. Hierbij wordt<br />

één structuurelement als root geconfigureerd. Vanuit deze root zijn alle andere switches<br />

bereikbaar via één enkel pad. Indien een netwerkfout optreedt wordt een nieuw actief pad<br />

gecreëerd.<br />

Uitbreidingen op RSTP<br />

Om tegemoet te komen aan de noden van de automatisering voorzien heel wat bedrijven<br />

propriëtaire uitbreidingen op het RSTP protocol om zo omschakeltijden beneden de seconde<br />

te bekomen. Op deze manier wordt QoS bekomen voor de redundante opbouw van automatiseringsnetwerken.<br />

Fast Ring Detection is een uitbreiding van <strong>Phoenix</strong> <strong>Contact</strong> op het RSTP. Bij het uitvallen<br />

van een netwerkswitch worden omschakeltijden van 100 ... 500 ms bereikt. Omschakeltijden<br />

van max. 500 ms zijn beschikbaar voor omvangrijke automatiseringsnetwerken met 1000<br />

ingevoerde adrestabellen in de switches. Bij minder eindapparaten in het netwerk zijn deze<br />

tijden korter. Dit protocol is echter enkel te gebruiken bij 10 of 100Mbps<br />

2.8.4 Bridge Protocol Data Units (BPDUs)<br />

Aan de hand van een bepaald algoritme wordt de boomstructuur berekend waarbij er dus één<br />

switch als root wordt geconfigureerd. Iedere switch moet wel alle nodige info bezitten om de<br />

juiste poortregels te kunnen definiëren. Om te verzekeren dat iedere switch voldoende en<br />

de juiste informatie bezit zullen switches onderling informatie uitwisselen. Hiervoor worden<br />

speciale frames gebruikt, de zogenaamde Bridge Protocol Data Units (BPDUs).<br />

Een bridge verstuurt een BPDU waarbij het als SA het uniek MAC van de poort zelf gebruikt<br />

en als DA het STP Multicast adres 01:80:C2:00:00:00.<br />

Er zijn verschillende soorten BPDUs:<br />

• Configuration BPDU (CBPDU), gebruikt voor de berekening van de spanning tree


<strong>Ethernet</strong> 32<br />

• Topology Change Notification BPDU (TCN), gebruikt om veranderingen in het netwerk<br />

aan te kondigen<br />

• Topology Change Notification Acknowledgement (TCA)<br />

Om een network zonder lussen te creëren krijgt elke poort van een switch een bepaalde<br />

status toegewezen De verschillende statussen zijn:<br />

• ROOT: poort die de link vormt naar de root switch<br />

• DESIGNATED: een actieve poort welke een link vormt naar een onderliggende switch in<br />

de boomstructuur.<br />

• ALTERNATE: een poort met een lagere prioriteit, een alternatieve link naar de root<br />

2.8.5 Multiple Spanning Tree Protocol (MSTP)<br />

In een <strong>Ethernet</strong> omgeving waar Virtual LANs toegepast worden kan ook gebruik gemaakt<br />

worden het van Spanning Tree Protocol.<br />

MSTP, oorspronkelijk gedefinieerd in de IEEE 8<strong>02</strong>.1s en later opgenomen in de IEEE 8<strong>02</strong>.1q<br />

editie 2003, definieert een uitbreiding op RSTP in combinatie met Virtual LANs. Het combineert<br />

het beste van PVST (Per-VLAN Spanning Tree) waarbij ieder VLAN zijn eigen spanning<br />

tree definieert en het oorspronkelijk IEEE 8<strong>02</strong>.1q waarbij slechts één spanning tree gecreëerd<br />

wordt voor het volledige netwerk.<br />

Met MSTP worden verschillende VLANs opgedeeld in logische instances (groepen VLANs met<br />

dezelfde spanning-tree topology).<br />

MSTP bundelt alle spanning-tree informatie in één enkele BPDU om zo het aantal BPDU’s te<br />

beperken en is volledig compatibel is met RSTP switches<br />

2.8.6 Media Redundancy Protocol<br />

MRP maakt deel uit van de PROFINET standaard. Bij MRP blokkeert een ringmanager één<br />

poort om zodoende een actieve lijn structuur te bekomen. Bij een netwerkfout valt het netwerk<br />

uiteen in twee geïsoleerde lijnen welke terug aan elkaar gekoppeld worden door de<br />

geblokkeerde poort vrij te geven. Omschakeltijden liggen in de range van 100ms.<br />

2.8.7 Parallel Redundancy Protocol<br />

In contrast met bovenstaande technologieën voorziet PRP bij een netwerkfout geen wijziging<br />

van de actieve topologie. Dit protocol werkt op twee parallele netwerken. Ieder dataframe<br />

wordt over de twee netwerken verstuurt. De ontvangende node verwerkt het bericht dat<br />

eerst aankomt en verwerpt het kopiebericht. PRP zorgt voor het kopiëren en verwerpen van<br />

de berichten. PRP maakt ook het dubbele netwerk onzichtbaar voor de hogere lagen in de<br />

communicatie stack.


<strong>Ethernet</strong> 33<br />

2.9 Belangrijke aanvullingen<br />

2.9.1 LLDP<br />

Het protocol IEEE8<strong>02</strong>.1ab, link layer discovery protocol, is een standaard welke een oplossing<br />

voorziet voor de configuaratieproblemen bij uitgebreide LAN structuren. Het definieert<br />

een standaardmethode voor switches, routers, WLAN Acces Points,... om informatie over<br />

zichzelf te verspreiden naar andere netwerkdeelnemers en om informatie van omliggende<br />

deelnemers te bewaren. LLDP is mogelijke met alle 8<strong>02</strong> media. Het maakt gebruik van de<br />

datalinklaag.<br />

Een switch welke LLDP ondersteunt kan topologiedetectie uitvoeren via andere deelnemers<br />

welke ook LLDP ondersteunen.<br />

Voordelen:<br />

• Verbeterde detectie van netwerkfouten<br />

• Hulpmiddel bij het vervangen van modules<br />

• Betere netwerkconfiguratie en netwerkmanagement<br />

LDDP informatie wordt gebruikt binnen engineeringstools om een netwerktopologie op een<br />

grafische manier te visualiseren.<br />

2.9.2 IEEE 8<strong>02</strong>.1x<br />

IEEE8<strong>02</strong>.1X is een beveiligingsstandaard voor authenticatie op iedere individuele poort van<br />

een switch. De authenticatie vindt plaats nog voor de gebruiker toegang krijgt tot het netwerk.<br />

Het herkenen van een rechthebbende gebruiker gebeurt dus op laag 2 van het OSImodel.<br />

Dit alles kan - afhankelijk van de gebruikte hardware - zowel draadloos als bedraad.<br />

IEEE8<strong>02</strong>.1x maakt gebruik van een protocol om informatie uit te wisselen met een toestel/gebruiker<br />

welke een verzoek tot toegang richt tot een poort. De berichten bevatten<br />

een gebruikersnaam en een paswoord. De switch zal de identificatie niet zelf uitvoeren maar<br />

zal het verzoek op zijn beurt richten tot een RADIUS authentication server op het netwerk.<br />

De server zal het verzoek afhandelen, zal feedback geven aan de switch welke dan de poort<br />

zal openen voor de gebruiker.<br />

Bij de werking van het protocol zijn er drie belangrijke spelers:<br />

• De gebruiker, de client, wordt in het protocol de supplicant genoemd.<br />

• Het access apparaat, de switch of het access-point, is de authenticator.<br />

• Het controlerende toestel, de RADIUS infrastructuur, is een authentication server.


<strong>Ethernet</strong> 34<br />

Figuur 2.25: Drie belangrijke spelers bij de werking van het protocol<br />

De authenticatie voor 8<strong>02</strong>.1X geschiedt met een flexibel authenticatie-mechanisme genaamd<br />

het Extensible Authentication Protocol (EAP), waardoor diverse vormen van authenticatie mogelijk<br />

zijn. Dit maakt het mogelijk door op basis van het type gebruiker een andere vorm van<br />

authenticatie af te dwingen: zowel sterke als zwakke authenticatie. Het is bijvoorbeeld mogelijk<br />

om voor studenten een gebruikersnaam en wachtwoord verplicht te stellen, en voor<br />

medewerkers een certificaat te gebruiken. In de hoofdstukken betreffende security wordt er<br />

dieper ingegaan op dit item.<br />

2.9.3 Link aggregation with LACP naar IEEE 8<strong>02</strong>.3ad<br />

Link aggregation (ook wel trunking genoemd) is een manier om fysieke netwerkverbindingen<br />

is de Engelse benaming voor het samenvoegen van meerdere netwerkverbindingen met het<br />

doel een hogere doorvoersnelheid te behalen. Link aggregatie kan tevens voor een redundante<br />

verbinding zorgen hetgeen fouttolerantie toevoegt aan bedrijfskritische systemen. De<br />

techniek is van toepassing op switches als op netwerkkaarten (NICs).<br />

Link aggregatie is momenteel gestandaardiseerd door in de IEEE 8<strong>02</strong>.3ad standaard. Het<br />

biedt volgende voordelen:<br />

• Hogere beschikbaarheid van de verbindingen<br />

• Capaciteit van een verbinding verhogen<br />

• Betere performantie met de beschikbare hardware<br />

De huidige LAN technologieën voorzien datarates van 10Mbps, 100Mbps en 1000Mbps. Link<br />

Aggregation kan waarden tussenin creëren waar nodig of indien een datarate groter dan<br />

1000Mbps vereist is kan met het groeperen van verschillende 1000Mbps verbindingen een<br />

high-speed verbinding voorzien worden.


<strong>Ethernet</strong> 35<br />

Figuur 2.26: Link aggregatie<br />

Link Aggregation kan op verschillende manieren toegepast worden:<br />

• Verbinding tussen twee switches<br />

• Verbinding tussen switch en eindstation<br />

• Verbinding tussen twee eindstations<br />

Figuur 2.26 toont hoe switches met elkaar verbonden zijn via twee 100 Mbps links. Als<br />

één link wegvalt tussen die twee switches zal de andere link in de link aggregation Group<br />

overnemen.??ink Aggregation is momenteel opgenomen in de IEEE 8<strong>02</strong>.3ad standaard: ’Link<br />

Aggregation allows one or more links to be aggrgated together to form a Link Aggregation<br />

Group, such that a MAC client can treat the Link Aggregation Group as i fit were a single link<br />

(IEEE Standard 8<strong>02</strong>.3, 2000 Edition).??e IEEE8<strong>02</strong>.3ad standaard beschrijft ook het gebruik<br />

van het LACP (Link Aggregation Control Protocol) om op een eenvoudige manier configuratie<br />

informatie uit te wisselen tussen de verschillende systemen. Dit moet een automatische<br />

configuratie alsook een opvolging van alle link aggration groups mogelijk maken. Het uitwisselen<br />

van deze informatie gebeurt aan de hand van LACP frames zoals beschreven in de<br />

standaard.<br />

2.10 Industrial <strong>Ethernet</strong><br />

De laatste jaren wordt <strong>Ethernet</strong> meer en meer gebruikt in een industriële omgeving. Er zijn<br />

grote verschillen tussen de kantooromgeving en de industriële omgeving. Industrieel <strong>Ethernet</strong><br />

verwijst naar het gebruik van industriële producten om te voldoen aan de meer specifieke<br />

eisen van de industriële wereld. In onderstaande tabellen worden enkele belangrijke<br />

aandachtspunten weergegeven.


<strong>Ethernet</strong> 36<br />

Kantooromgeving<br />

Tabel 2.4: Aandachtpunten voor de installatie van <strong>Ethernet</strong><br />

Vaste basisinstallatie in het gebouw<br />

Variabele netwerkverbinding voor werkstations<br />

Kabels liggen in valse vloeren<br />

Voorgemaakte kabels<br />

Industriële omgeving<br />

Systeem-specifieke toepassingen<br />

Verbindingspunten met het netwerk worden<br />

zelden tot nooit gewijzigd<br />

Connectoren die op de werkvloer geassembleerd<br />

kunnen worden<br />

Standaard werkstations op RJ45<br />

RJ45 in de kasten, M12 in het veld<br />

Regelmatig gebruik van fiber optics<br />

Bekabeling bestemd voor gebruik in een<br />

beweegbare kabelgeleiders<br />

Zorgvuldig geïmplementeerde aardingen<br />

Voeding van 230V AC<br />

Voeding met 24V DC of Power over <strong>Ethernet</strong><br />

Stertopologie Regelmatig gebruik van lijntopologie of<br />

ringtopologie<br />

Redundantie is vaak een vereiste<br />

19"schakelkasten (afmetingen van standaard<br />

office serverkasten)<br />

Levensduur van ongeveer 5 jaar<br />

Toestellen met actieve koeling (ventilatoren)<br />

Levensduur van ongeveer 10 jaar<br />

Terminals geschikt voor montage op een<br />

DIN rail<br />

Passieve koeling (geen bewegende onderdelen)<br />

Alarm contact voor error indicatie<br />

Zorgvuldig geïmplementeerde aardingen<br />

Tabel 2.5: Omgevingsinvloeden<br />

Kantooromgeving<br />

Gematigde temperaturen met lage fluctuaties<br />

Bijna geen stof<br />

Geen vochtigheid of water<br />

Bijna geen schokken of trillingen<br />

Laag niveau van EMC<br />

Lage mechanische belasting of gevaar<br />

Geen chemische gevaren<br />

Geen stralingsgevaren<br />

Industriële omgeving<br />

Extreme temperaturen met hoge fluctuaties<br />

Hoge hoeveelheden stof<br />

Vochtigheid of water kan aanwezig zijn<br />

Vibraties of schokken zijn mogelijk<br />

Hoog niveau van EMC<br />

Hoge mechanische belasting of gevaar<br />

Chemische belasting door olie-achtige omgevingen<br />

of agressieve atmosferen<br />

Hoge blootstelling aan UV stralingen in outdoor<br />

omgevingen


Hoofdstuk 3<br />

TCP/IP<br />

3.1 Inleiding<br />

Transmission Control Protocol / Internet Protocol (TCP/IP) is een verzameling van industriële<br />

standaardprotocollen ontworpen voor communicatie over grote netwerken bestaande uit<br />

verschillende netwerksegmenten die gekoppeld worden door routers.<br />

TCP/IP is een protocol gebruikt op Internet, welke de verzameling is van duizenden netwerken,<br />

wereldwijd verspreid, die onderzoekscentra, universiteiten, bibliotheken, bedrijven, individuen,<br />

... met elkaar verbinden.<br />

Internetwerken is echter een heel algemeen begrip. Een internet is niet in grootte beperkt: er<br />

bestaan internetten die een paar netwerken omvatten, maar ook internetten die honderden<br />

netwerken bevatten. Internet met hoofdletter I heeft betrekking tot het wereldwijde Internet,<br />

ook wel het publieke Internet genoemd.<br />

Figuur 3.1: Hoe communiceren over een internet?<br />

De vraag welke dient gesteld te worden is hoe twee verschillende hosts, gekoppeld aan een<br />

verschillend netwerk, op ruime afstand, met elkaar kunnen communiceren? Het antwoord op<br />

deze vraag is tweeledig.<br />

Het eerste deel van het antwoord is een hardware aspect: een internet bestaat uit verschillende<br />

netwerken welke met elkaar verbonden zijn door routers. Een router is een structuurelement<br />

die het verbinden van netwerken als speciale taak heeft. Elke router bezit een processor,<br />

een hoeveelheid geheugen en een afzonderlijke interface voor elk netwerk waarmee<br />

het verbonden is.


TCP/IP 38<br />

Het tweede deel van het antwoord is een software aspect: op iedere host moet een universele<br />

communicatiedienst actief zijn. Hoewel veel softwareprotocollen aangepast zijn voor<br />

internetwerken springt er maar één suite uit, die voor internetwerken verreweg het meest<br />

wordt gebruikt. Deze suite heet kortweg de TCP/IP suite.<br />

De TCP/IP suite kan perfect gesitueerd worden in het OSI model. Om de TCP/IP suite voor<br />

te stellen wordt echter meestal een vereenvoudigd model gebruikt. Een vierlagenmodel, het<br />

DoD (Departement of Defence) model, het ARPANET Reference model of meestal gewoon het<br />

TCP/IP model genoemd.<br />

Figuur 3.2: De TCP/IP suite<br />

Centraal in dit model zijn de internet layer en de transport layer welke verder in dit hoofdstuk<br />

uitgebreid besproken worden. De application layer verzamelt en beschrijft alle protocollen<br />

welke gebruik maken van het TCP/IP protocol. Daaronder behoort bv. het HTTP protocol, het<br />

protocol dat surfen naar een bepaalde webapplicatie mogelijk maakt. Het TCP/IP protocol zal<br />

dan een universele communicatiedienst mogelijk maken opdat de surfopdracht mogelijk zou<br />

zijn over het ganse Internet. De network layer voorziet dan in de communicatie op het lokale<br />

netwerk tussen de host en de router of tussen twee routers onderling.<br />

3.2 Het Internet Protocol (IP)<br />

3.2.1 Inleiding<br />

De belangrijkste kenmerken van het IP protocol zijn:<br />

• Een datapakket routen doorheen het Internet. Iedere host wordt geïdentificeerd door<br />

een 32-bit IP adres.<br />

• Het is een verbindingsloos protocol. Voor het verzenden van verschillende IP pakketten<br />

naar een zelfde doelhost kan ieder pakket een andere route volgen. Er wordt geen<br />

vaste fysische verbinding gecreëerd.


TCP/IP 39<br />

• Er wordt een universeel datapakket opgebouwd bestaande uit een header en een dataveld.<br />

De header bevat ondermeer het adres van de zender en van de bestemming.<br />

Het datapakket is hardware onafhankelijk en wordt op het lokale netwerk nogmaals<br />

ingekapseld vooraleer het kan getranspoteerd worden.<br />

• Het IP protocol controleert niet of de data correct verstuurd is en het voorziet ook geen<br />

bevestigings- of correctiemechanismen: send-it and pray.<br />

• De IP header heeft een lengte van minstens 20 bytes. Bij gebruik van het options-veld<br />

kan de header maximaal 60 bytes zijn. Het creëert een header checksum.<br />

Het Internet Protocol (IP) is van toepassing op het netwerkniveau (laag 3 van het OSI-model).<br />

Deze laag is verantwoordelijk voor het aanbieden en transporteren van informatie over verschillende<br />

netwerken. Om dit te kunnen realiseren is er een uniforme adressering nodig: het<br />

IP adres.<br />

Zolang de informatieoverdracht zich binnen hetzelfde netwerk afspeelt, kan deze functionaliteit<br />

achterwege blijven. De verbinding van verschillende netwerken gebeurt door middel<br />

van routers. Wanneer verschillende netwerken tot een groter geheel gebundeld worden dan<br />

moet ook ieder netwerk herkenbaar zijn door een adres. Ieder netwerk zal dus een uniek<br />

netwerkadres krijgen. Vertrekkend van dit netwerkadres krijgt iedere deelnemer dan ook<br />

nog eens een uniek adresnummer binnen dit netwerkadres. Op dit principe is de uniforme<br />

adressering gebaseerd. Dit adres wordt gedefinieerd op de IP laag, en wordt het IP adres<br />

genoemd.<br />

3.2.2 Het IP adres<br />

Algemeen<br />

Een IP adres bestaat uit 32 bits, 4 bytes, voorgesteld door 4 decimale cijfers gescheiden door<br />

een punt.<br />

Figuur 3.3: Het IP adres<br />

Ieder netwerk wordt voorzien van een naam (Net ID), en iedere netwerkdeelnemer krijgt<br />

binnen dit netwerk een uniek nummer (Host ID). Net ID en Host ID vormen samen het IP<br />

adres. De netwerknaam is dan het IP adres waarbij het Host ID gelijkgesteld wordt aan nul.


TCP/IP 40<br />

Figuur 3.4: Opbouw van het IP adres<br />

Klasse-indeling van IP adressen<br />

IP adressen worden opgesplitst in verschillende klassen. Figuur 3.5 toont een overzicht.<br />

Figuur 3.5: De verschillende klassen binnen IP adressering<br />

Tabel 3.1 toont de kenmerken van de klasse A, B en C. Klasse D is toegevoegd om op een<br />

eenvoudige manier multicast berichten te kunnen versturen. klasse E heeft op dit moment<br />

nog geen functie.<br />

Het onderscheid tussen de klassen A,B en C wordt bepaald door het aantal bytes die deel<br />

uitmaken van het Net ID enderzijds en het aantal bytes die deel uitmaken van de Host ID<br />

anderzijds. De meest beduidende bits in het IP adres bepalen tot welke klasse een IP adres<br />

zal behoren. Tabel 3.1 resumeert alle kenmerken van de drie verschillende klaasen.


TCP/IP 41<br />

Tabel 3.1: Kenmerken van de verschillende klassen<br />

Klasse A Net ID byte 1, eerste bit is altijd 0, (0 x x x x x x x)<br />

126 mogelijke netwerkadressen<br />

Host ID byte 2 + byte 3 + byte 4<br />

16777214 mogelijke hosts per netwerk<br />

Range<br />

1 . n . n . n → 126 . n . n . n<br />

Voorbeeld 90.15.167.2 (netwerknaam 90.0.0.0)<br />

Klasse B Net ID byte 1, eerste bits zijn altijd 1 0, (1 0 x x x x x x) + byte 2<br />

16383 mogelijke netwerkadressen<br />

Host ID byte 3 + byte 4<br />

65534 mogelijke hosts per netwerk<br />

Range<br />

128 . 0 . n . n → 191 . 255 . n . n<br />

Voorbeeld 128.19.205.132 (netwerknaam 128.19.0.0)<br />

Klasse C Net ID byte 1, eerste bits zijn altijd 1 1 0, (1 1 0 x x x x x) + byte 2 + byte 3<br />

2097152 mogelijke netwerkadressen<br />

Host ID byte 4<br />

254 mogelijke hosts per netwerk<br />

Range<br />

192 . 0 . 0 . n → 223 . 255 . 255 . n<br />

Voorbeeld 192.147.25.112 (netwerknaam 192.147.25.0)<br />

Het gebruik van IP adressen wordt door de Internet Assigned Number Authority (IANA) beheerd.<br />

IP adressen voor privé netwerken<br />

Er wordt onderscheid gemaakt tussen publieke netwerken en privé netwerken (bedrijfsnetwerken).<br />

Op het Internet (het geheel van publieke netwerken) moet ieder IP adres uniek zijn.<br />

Bedrijfsnetwerken worden aan het Internet gekoppeld via een router. Om conflicten tussen<br />

privé-netwerken en publieke netwerken te vermijden worden binnen iedere klasse een reeks<br />

IP adressen gedefinieerd welke niet op het Internet gebruikt worden. Deze worden beschreven<br />

in RFC 1597, Reserved Address Space. Een bedrijfsnetwerk krijgt als naam bijvoorkeur<br />

een waarde uit die reeks, zie tabel 3.2 .


TCP/IP 42<br />

Tabel 3.2: IP adressen voor privé netwerken<br />

Klasse A netwerken 10.0.0.0 → 10.255.255.255<br />

Klasse B netwerken 172.16.0.0 → 172.31.255.255<br />

Klasse C netwerken 192.168.0.0 → 192.168.255.255<br />

Speciale IP adressen<br />

Tabel 3.3 geeft een overzicht van de speciale IP adressen<br />

Tabel 3.3: Enkele belangrijke speciale IP adressen<br />

Net ID Host ID Beschrijving<br />

allemaal nullen allemaal nullen IP adres van deze computer, wordt gebruikt<br />

tijdens de opstart<br />

Net ID allemaal nullen Het netwerkadres, identificeert een volledig<br />

netwerk<br />

Net ID allemaal enen Broadcastadres op het netwerk<br />

127 willekeurig IP adres voor het testen van netwerkapplicaties<br />

Er wordt de mogelijkheid voorzien om broadcast berichten te versturen op een netwerk. Een<br />

IP broadcast adres voor een bepaald segment wordt bekomen door alle bits van de host ID op<br />

1 te plaatsen. Het IP adres 131.107.255.255 is een netwerk broadcastadres van het subnet<br />

met als netwerkadres 131.107.0.0 .<br />

3.2.3 Routers en subnetmasking<br />

Figuur 3.6: Werking router


TCP/IP 43<br />

Ondanks het feit dat het Internet in het enkelvoud aangeduid wordt, bestaat het uit een<br />

groot aantal IP netwerken. Iedere ISP (Internet Service Provider) hangt zijn netwerk aan<br />

minimaal één ander netwerk. Doordat ieder netwerk zijn unieke identificatie heeft kan de<br />

informatie van het ene station naar het andere gestuurd worden. Routers zorgen ervoor<br />

dat informatie op de juiste wijze door het Internet gerouteerd wordt. Deze routers houden<br />

zogenaamde routeringstabellen waarin staat waar bepaalde IP adressen zich bevinden. Zodra<br />

een IP pakket binnenkomt, vergelijkt de router het doeladres met zijn routeringstabellen.<br />

Als een overeenkomst gevonden wordt, weet de router op welke poort het desbetreffende<br />

pakket doorgestuurd kan worden.<br />

Om het routeren te vergemakkelijken en om de bestaande klassen nog beter te benutten<br />

werd in 1985 met de RFC 950 de mogelijkheid gegeven om groepen adressen te creëren<br />

binnen een klasse A, B of C. Om binnen een klasse een aantal subnetten te creëren wordt de<br />

prefix (NetID) met enkele bits uitgebreid (een extended network prefix). Met het gebruik van<br />

subnetten verandert er op zich niets aan het IP adres. Voor de routers is het wel belangrijk<br />

om te weten welke bits nu de NetID vormen. De router maakt daarom gebruik van een<br />

subnetmasker. Met dit masker filtert de router het netwerkdeel uit het IP adres.<br />

Hoe wordt het subnetmask opgesteld?<br />

De bits die het netwerkgedeelte voorstellen krijgen de waarde 1<br />

De bits die het hostgedeelte voorstellen krijgen de waarde 0<br />

Daarna volgt de decimale omrekening.<br />

Voorbeeld: een klasse C adres wordt uitgebreid met vier netwerkbits, het subnetmask wordt<br />

dan:<br />

11111111 . 11111111 . 11111111 . 11110000<br />

255 . 255 . 255 . 240<br />

3.2.4 Subnetten<br />

Subnetting is van een gegeven IP adres, meerdere subnetten genereren.<br />

Voorbeeld: een bedrijf werkt met IP adres 172.23.0.0 (klasse B).<br />

Subnetmask is 255.255.0.0 of 1111 1111 1111 1111 0000 0000 0000 0000<br />

Het volledig bedrijf moet opgesplitst worden in 10 verschillende subnetten. Alle subnetten<br />

kunnen via een router aan elkaar gelinkt worden.<br />

Met 4 bits kunnen 16 verschillende combinaties gemaakt worden.<br />

Met 4 bits toe te voegen aan de Net ID kunnen dus de gewenste 10 subnetten gecreëerd<br />

worden.<br />

Subnetmask 1111 1111 1111 1111 1111 0000 0000 0000 of 255 . 255 . 240 . 0<br />

Op die manier kunnen volgende 10 subnetten aangemaakt worden. Tabel 3.4 toont de verschillende<br />

subnetten.


TCP/IP 44<br />

Tabel 3.4: Subnetting en subnetmaskers<br />

BYTE 3 BYTE 3 Subnet Subnetmask<br />

(binaire code) (decimale waarde)<br />

0000 0000 0 172.23.0.0 255.255.240.0<br />

0001 0000 16 172.23.16.0 255.255.240.0<br />

0010 0000 32 172.23.32.0 255.255.240.0<br />

0011 0000 48 172.23.48.0 255.255.240.0<br />

0100 0000 64 172.23.64.0 255.255.240.0<br />

0101 0000 80 172.23.80.0 255.255.240.0<br />

0110 0000 96 172.23.96.0 255.255.240.0<br />

0111 0000 112 172.23.112.0 255.255.240.0<br />

1000 0000 128 172.23.128.0 255.255.240.0<br />

1001 0000 144 172.23.144.0 255.255.240.0<br />

3.2.5 Classless Inter-Domain Routing<br />

Door het succes van Internet dreigt er een tekort aan IP adressen. Het aantal toenemende<br />

netwerken zorgt ook voor een sterk stijgend aantal routes waardoor er ook een probleem<br />

komt voor de globale routeringstabellen.<br />

De oplossing voor dit probleem bestaat uit twee stappen:<br />

• Herstructurering van de IP adressen<br />

• Hiërarchische routestructuur om het routeren efficiënter te maken<br />

CIDR, Classless Inter-Domain Routing is een nieuwe vorm van adressering voor het Internet<br />

welke een efficiënter gebruik van de IP adressen moet opleveren in vergelijking met de<br />

klassen A,B en C. Het volgt rechtstreeks uit het begrip subnetten.<br />

Het Net ID wordt niet meer beperkt tot 8, 16 of 24 bits. Een CIDR adres bevat het 32-bit IP<br />

adres en informatie over het aantal bits welke deel uit maken van het Net ID. In het adres<br />

206.13.01.48/25 betekent het achtervoegsel ’/25’ dat de eerste 25 bits de netwerknaam<br />

bepalen en dat de resterende bits dienen om een bepaalde deelnemer te identificeren op<br />

het netwerk.


TCP/IP 45<br />

Tabel 3.5: Classless Inter-Domain Routing<br />

CIDR code subnetmask binair aantal hosts<br />

/28 255.255.255.240 11111111 11111111 11111111 11110000 16<br />

/27 255.255.255.224 11111111 11111111 11111111 11100000 32<br />

/26 255.255.255.192 11111111 11111111 11111111 11000000 64<br />

/25 255.255.255.128 11111111 11111111 11111111 10000000 128<br />

/24 255.255.255.0 11111111 11111111 11111111 00000000 256<br />

/23 255.255.254.0 11111111 11111111 11111110 00000000 512<br />

/22 255.255.252.0 11111111 11111111 11111100 00000000 1<strong>02</strong>4<br />

/21 255.255.248.0 11111111 11111111 11111000 00000000 2048<br />

/20 255.255.240.0 11111111 11111111 11110000 00000000 4096<br />

/19 255.255.224.0 11111111 11111111 11100000 00000000 8192<br />

/18 255.255.192.0 11111111 11111111 11000000 00000000 16384<br />

/17 255.255.128.0 11111111 11111111 10000000 00000000 32768<br />

/16 255.255.0.0 11111111 11111111 00000000 00000000 65536<br />

/15 255.254.0.0 11111111 11111110 00000000 00000000 131072<br />

/14 255.252.0.0 11111111 11111100 00000000 00000000 262144<br />

/13 255.248.0.0 11111111 11111000 00000000 00000000 524288<br />

De CIDR adressering maakt ook ’route aggregation’ mogelijk. Eén high-level route verwijzing<br />

kan veel lower-level routes in een globale routeringstabel vertegenwoordigen. Op deze manier<br />

kan een volledige hiêrarchische structuur uitgewerkt worden welke te vergelijken is met<br />

de zonale opdeling van de telefoonnummers.<br />

3.2.6 Voorbeelden<br />

• Toon aan dat de server met IP adres 203.125.72.28/28 en de server met IP adres<br />

203.125.72.34/28 niet tot hetzelfde netwerk behoren.<br />

• Het gegeven IP adres van een host is 192.168.100.1<strong>02</strong>/27.<br />

– Toon aan dat deze host behoort tot het netwerk: 192.168.100.96/27.<br />

– Toon aan dat het broadcastadres van dit netwerk 192.168.100.127 is.<br />

– Toon aan dat alle deelnemers op dit netwerk een IP adres hebben welke gelegen<br />

is tussen 192.168.100.97 en 192.168.100.126.<br />

• Een bedrijfsnetwerk is opgebouwd uit verschillende subnetten.<br />

De deelnemers met volgende IP adressen behoren alledrie tot een verschillend subnet:<br />

172.23.136.45, 172.23.139.78 en 172.23.140.197.<br />

De deelnemers met IP adres 172.23.126.120 en 172.23.127.92 behoren wel tot hetzelfde<br />

subnet.<br />

Toon aan dat het CIDR achtervoegsel /23 zal zijn binnen het bedrijfsnetwerk.


TCP/IP 46<br />

3.2.7 Het IP pakket<br />

De te verzenden gegevens worden door de transportlaag aan de internetlaag doorgegeven.<br />

De internetlaag pakt de informatie in het dataveld in en voegt er vervolgens een IP header<br />

aan toe. Het geheel wordt vervolgens aan de netwerklaag doorgegeven voor verdere afhandeling.<br />

Het verzenden van informatie door middel van het IP protocol gebeurt op basis van<br />

IP pakketten.<br />

Figuur 3.7: Het IP pakket<br />

Wanneer een router een IPv4 pakket ontvangt dat te groot is voor het subnet waarop dit<br />

pakket moet verder gestuurd worden dan zal IPv4 op de router dit pakket opsplitsen in kleinere<br />

pakketten welke fitten in de dataframes van het desbetreffende subnet. Wanneer deze<br />

pakketten de finale bestemmeling bereiken zal de IPv4 op de doelhost deze pakketten terug<br />

in de originele volgorde plaatsen. Wanneer een pakket moet opgeslitst worden gebeurt het<br />

volgende;<br />

• Elk pakket krijgt zijn eigen IP header<br />

• Alle opgesplitste berichten welke behoren tot hetzelfde originele bericht krijgen het<br />

originele identification field. De more fragments flag toont aan dat andere fragmenten<br />

volgen. De more fragments flag wordt niet gezet bij het laatste fragment.<br />

• De fragment offset field geeft aan welke de positie is van dit fragment in het totale<br />

bericht.<br />

Om een goed idee te krijgen van de functies van het IP protocol wordt de IP header verder<br />

toegelicht. Figuur 3.8 toont de verschillende velden binnen de IP header. De header bestaat<br />

uit minstens 20 bytes.


TCP/IP 47<br />

Figuur 3.8: De IP header<br />

• Versie (V): veld van 4 bits welke de IP versie weergeeft.<br />

• IHL: veld van 4 bits welke de lengte weergeeft van de header (in bytes)<br />

• Type of service: gereserveerd / prioriteit van de gewenste dienst<br />

• Totale lengte: de totale lengte in bytes van het volledige IP pakket<br />

• Identification: als een IP pakket moet opgedeeld worden dan krijgt ieder pakket een<br />

unieke identificatie zodat aan de ontvangende zijde alle pakketten terug op de juiste<br />

manier kunnen samengevoegd worden.<br />

• Flags: de vlaggen worden gebruikt om de fragmentatie van de pakketten op te volgen<br />

• Fragment offset : wanneer een datapakket opgesplitst wordt dan wordt de positie van<br />

het fragment in het gehele pakket hier in een 8-bit unit.<br />

• Time to live (TTL): telkens als een IP pakket een router passeert wordt deze waarde<br />

verminderd met 1. Indien dit getal nul wordt dan zal de betreffende router dit bericht<br />

verwerpen. Zo wordt voorkomen dat een bericht oneindig lang kan blijven bestaan.<br />

• Protocol: het hoger gelegen protocol wordt hier weergegeven<br />

01h<br />

06h<br />

11h<br />

ICMP<br />

TCP<br />

UDP<br />

• Header Checksum: een controlewaarde voor de IP header. Iedere router zal deze header<br />

checksum herbereken.<br />

• Source IP address: IP adres van de zendende deelnemer<br />

• Destination IP address: IP adres van de ontvangende deelnemer<br />

• Options : andere netwerk informatie kan in de IP header opgenomen worden. Indien de<br />

options data niet eindigt als een 32-bit woord dan wordt de rest opgevuld met padding<br />

zeros.


TCP/IP 48<br />

3.2.8 IPv6<br />

Algemeen<br />

Het meest actuele IP protocol welke in dit hoofdstuk besproken werd heeft versienummer 4<br />

(IPv4). Door het grote succes van het IP protocol dringt zich een nieuwe versie op. Er is een<br />

nakend tekort aan IP-adressen en verder is het ook belangrijk dat nieuwe functionaliteiten<br />

eenvoudig kunnen geïntegreerd worden. Verder moet een nieuwe versie van het IP protocol<br />

een hogere performantie kunnen garanderen<br />

Met de komst van IPv6 is er ook een praktisch probleem: hoe zal het publieke toegankelijke<br />

Internet dat werkt op basis van IPv4, omschakelen naar IPv6? De eenvoudigste manier is<br />

de zogenaamde dual-stack benadering. Daarbij wordt op nodes zowel IPv6 als IPv4 geïmplementeerd.<br />

Deze nodes kunnen zowel IPv4 als IPv6 datagrammen verwerken.<br />

Momenteel toont de automatiseringswereld totaal geen interesse voor de integratie van IPv6.<br />

In wat volgt worden kort enkele voorzieningen van IPv6 aangehaald. Er werden echter zoveel<br />

mogelijk ontwerpvoorzieningen die IPv4 zo succesvol hebben gemaakt gehandhaafd.<br />

IP adres<br />

IPv6 maakt gebruik van IP adressen van 128 bits. Hierdoor ontstaan uitgebreide adresseringsmogelijkheden.<br />

Hexadecimale notatie met dubbele punten, adressen worden 128 bit<br />

lang: 8 groepen van 4 hexadecimale digits<br />

2000:0000:0000:0FED:CBA9:8765:4321<br />

2000::FED:CBA9:8765:4321<br />

IPv4 adressen ::192.32.20.46<br />

De nieuwe adressering moet zorgen voor kleinere routetabellen.<br />

IPv6 header<br />

Figuur 3.9: IPv6 header<br />

De IP header is grondig gewijzigd. Een eenvoudiger basisheader in combinatie met de mogelijkheid<br />

tot integratie van optionele headers moet ervoor zorgen dat de header-processingtijd<br />

voor de router sterk gereduceerd wordt. Een aantal IPv4 velden worden geschrapt of zijn<br />

alleen nog als optie beschikbaar. De velden in de IPv6 header:


TCP/IP 49<br />

• Flow label: een 20-bit identificatienummer om een pakket te onderscheiden in een<br />

datastream<br />

• Hop limit: aantal routers dat een bepaalde pakket kan processen is beperkt<br />

• Next header: definieert het type van de eerste optionele header<br />

• Versieveld: Dit 4-bit veld geeft het IP versienummer aan. Voor IPv6 is dit de waarde 6.<br />

• Payloadlengteveld: dit 16-bit getal is een unsigned integer waarmee het aantal bytes<br />

in het IPv6-datagram wordt aangeduid dat volgt na de standaardheader met een lengte<br />

van 40 bytes.<br />

Omdat de transportlaag (TCP en UDP) en de datalinklaag (vb <strong>Ethernet</strong>) protocollen op het<br />

Internet checksums berekenen, hebben de ontwerpers van IPv6 gemeend dat het berekenen<br />

van checksums op de internetlaag niet langer noodzakelijk is.<br />

3.3 Transmission Control Protocol (TCP)<br />

3.3.1 Inleiding<br />

IP is een verbindingsloos pakketbezorgingsdienst. TCP krijgt dus een moeilijke taak. Gebruik<br />

makend van de onbetrouwbare pakkettendienst van IP moet het aan verschillende toepassingsprogramma’s<br />

een betrouwbare data-afleveringsdienst bieden. Voor veel toepassingen<br />

is het essentieel dat een transportsysteem betrouwbaarheid kan bieden: het systeem moet<br />

garanderen dat data niet verloren gaat, geduplicerd wordt of niet in de juiste volgorde aankomt.<br />

3.3.2 End-to-end transportdienst<br />

Het TCP protocol is er verantwoordelijk voor dat informatie correct over één of meerdere netwerken<br />

wordt verstuurd. De uitwisselingsvorm van TCP staat bekend als connection oriented:<br />

een logische verbinding wordt opgebouwd, gebruikt en daarna terug stopgezet. TCP is dus<br />

een end-to-end protocol. Figuur 3.10 laat zien waarom TCP een end-to-end protocol is. TCP<br />

ziet IP als een mechanisme waarmee TCP op een bepaalde host data kan uitwisselen met TCP<br />

op een host op afstand.


TCP/IP 50<br />

Figuur 3.10: TCP als end-to-end transportprotocol<br />

Vanuit het gezichtspunt van TCP is het hele Internet een communicatiesysteem dat berichten<br />

kan accepteren en afleveren zonder de inhoud ervan te veranderen of te interpreteren.<br />

3.3.3 Hoe betrouwbaarheid wordt bereikt<br />

TCP is dus een bibliotheek van routines welke door applicaties kunnen gebruikt worden wanneer<br />

deze een betrouwbare communicatie met een andere deelnemer, host willen opstarten.<br />

TCP hanteert verschillende technieken om volledige betrouwbaarheid te garanderen.<br />

Herversturen dan datagrammen: als TCP data ontvangt, stuurt het een acknowledgement<br />

naar de zender terug. Telkens wanneer TCP data verstuurt, start het een timer. Indien<br />

de timer afloopt voordat de bevestiging ontvangen werd, verstuurt de zender de data opnieuw,<br />

zie ook figuur 3.11.<br />

Windowmechanisme om de datastroom te regelen. Als een verbinding tot stand is gebracht,<br />

reserveert elk einde van de verbinding een buffer voor de inkomende en uitgaande<br />

data en stuurt de grootte van de buffer naar het andere einde. De beschikbare bufferruimte<br />

op een willekeurig moment wordt window genoemd en de mededeling voor het opgeven van<br />

de grootte wordt window advertisement genoemd. Een ontvanger stuurt bij elke ontvangstbevestiging<br />

een window advertisement. Als de ontvangende toepassing de data zo snel kan<br />

lezen als deze aankomt stuurt de ontvanger met elke bevestiging een positieve window advertisement<br />

mee. Als de zendende kant echter sneller werkt dan de ontvangende kant zal<br />

de binnenkomende data uiteindelijk de buffer van de ontvanger vullen, waardoor op een<br />

bepaald moment de ontvanger een zero window adverteert. Een zender die een zero window<br />

advertisement ontvangt moet het zenden stoppen tot de ontvanger weer een positieve<br />

window advertisement doorstuurt.<br />

Three-way handshake: Om te garanderen dat verbindingen op betrouwbare wijze tot stand<br />

gebracht en beëindigd worden, gebruikt TCP een three-way handshake waarin drie berichten<br />

worden uitgewisseld. TCP gebruikt de term synchronisatiesegment (SYN-segment) voor<br />

berichten in een drievoudige handdruk die voor het opzetten van een verbinding worden<br />

gebruikt, en de term FIN-segment voor het beschrijven van berichten in een drievoudige<br />

handdruk waarmee een verbinding wordt gesloten.


TCP/IP 51<br />

Figuur 3.11: Three-way handshake<br />

3.3.4 Het TCP segment<br />

De te verzenden gegevens worden door de applicatielaag aan de transportlaag doorgegeven.<br />

De transportlaag pakt de informatie in het dataveld in en voegt er vervolgens een TCP<br />

header aan toe. Het geheel wordt vervolgens aan de internetlaag doorgegeven voor verdere<br />

afhandeling. Het verzenden van informatie door middel van het TCP protocol gebeurt op<br />

basis van TCP segmenten.<br />

Figuur 3.12: Three-way handshake


TCP/IP 52<br />

Om een goed idee te krijgen van de functies van het TCP protocol wordt de TCP header verder<br />

toegelicht. Figuur 3.12 toont de verschillende velden binnen de TCP header. De header<br />

bestaat uit 20 bytes.<br />

• Source, Destination Port: voor de verschillende upper-layer applicaties is TCP toegankelijk<br />

via verschillende poortnummers. Ports zijn een uniek 16-bit adres. De combinatie<br />

van een port en een internetadres wordt een socket genoemd, conform de originele definitie<br />

van een socket gedefinieerd door ARPA (1971). Het gebruik van poortnummers<br />

is essentieel bij opbouwen van een communicatie tussen verschillende applicaties. Dit<br />

wordt verder in de hoofdtuk uitgebreider besproken. Verder in deze cursus geeft tabel<br />

3.6 een overzicht van veel gebruikte poorten binnen de automatisering.<br />

• Sequence number: in TCP krijgt iedere byte een nummer. Het sequentienummer is het<br />

nummer van de eerste data-byte in het TCP-segment na de TCP-header.<br />

• Acknowledgement nummer: dit veld bevat het volgende sequentienummer dat verwacht<br />

wordt van de partner.<br />

• Header Length: lengte van de TCP-header in 32-bit woorden<br />

• Code bits: verschillende bits waarmee een aantal statussen kunnen meegegeven worden.<br />

– de RST-bit om de communicatie opnieuw te initialiseren.<br />

– de SYN-bit welke gebruikt wordt om een communicatie te starten<br />

– de FIN-bit welke gebruikt wordt om aan te geven dat een communicatie kan beëindigd<br />

worden.<br />

• Window: het window veld geeft de maximale hoeveelheid databytes aan die verstuurd<br />

kan worden alvorens een bevestiging verstuurd en ontvangen dient te worden.<br />

• Checksum: is een controle waarde van het TCP-pakket<br />

• Urgent Pointer: de waarde geeft aan waar in het dataveld de urgente informatie begint.<br />

Om urgente informatie met een TCP-pakket mee te sturen dient de URG-codebit gezet<br />

te worden.


TCP/IP 53<br />

3.4 UDP<br />

De protocol-suite van het Internet kent ook een verbindingsloos transportprotocol, namelijk<br />

UDP (User Data Protocol). Met UDP kunnen applicaties IP pakketten zenden zonder een<br />

verbinding tot stand te brengen. Veel Client Server applicaties die één aanvraag en één antwoord<br />

hebben gebruiken UDP in plaats van een verbinding te moeten maken en later weer<br />

op te heffen. UDP wordt in RFC 768 beschreven.<br />

UDP is bijna een nul-protocol: de enige diensten die het voorziet is een checksum voor de<br />

data en het multiplexen van applicaties via poortnummers. De UDP header is dan ook een<br />

stuk eenvoudiger dan deze van TCP.<br />

Figuur 3.13: Het UDP segment<br />

Een UDP-segment bestaat uit een header van acht bytes gevolgd door de data.<br />

De header bestaat uit:<br />

• Source port (2 bytes): poortnummer van de zender, is gelijk aan nul indien geen poort<br />

gebruikt wordt.<br />

• Destination port (2 bytes): poort van de applicatie aan welke dit bericht gericht is.<br />

• Lenght (2 bytes): de lengte in bytes van de UDP header en de ingekapselde data.<br />

• Checksum (2 bytes)<br />

Een typisch voorbeeld van UDP is real time audio. Het verloren gaan van datapakketten is<br />

jammer maar heeft geen invloed op het verder functioneren van de applicatie.


TCP/IP 54<br />

Figuur 3.14: Real time audio als toepassing van UDP


TCP/IP 55<br />

3.5 TCP en UDP poorten binnen de automatisering<br />

In deze lijst wordt een overzicht gegeven van enkele veel gebruikte poortnummer binnen de<br />

industriële automatisering.<br />

Tabel 3.6: Veel gebruikte TCP en UDP poortnummers<br />

Applicatie<br />

FTP-data (File Transfer Protocol)<br />

FTP-control (File Transfer Protocol)<br />

SSH (Secure Shell)<br />

Telnet protocol<br />

BOOTP Server<br />

DHCP Server<br />

BOOTP Client<br />

DHCP Client<br />

TFTP (Trivial File Transfer Protocol)<br />

HTTP (Hypertext Transfer Protocol)<br />

NTP (Network Time Protocol)<br />

SNMP (Simple Network Management Protocol)<br />

SNMPTRAP (Simple Network Management<br />

Protocol Trap)<br />

HTTPS (Hypertext Transfer Protocol over<br />

TLS/SSH)<br />

ISAKMP (Internet Security Association And<br />

Key Management Protocol<br />

MODBUS<br />

IPsec NAT traversal<br />

EtherNetIP<br />

ROFINET such as connection establishment<br />

IANA free ports reserved for dynamic<br />

and/or private port (profinet service)<br />

DDI Device Driver Interface (special protocol<br />

used for diagnostic functionality)<br />

SOCOMM Interface (Engineering Channel<br />

used for control communication)<br />

Poortnummer / Protocol<br />

20 / TCP<br />

21 / TCP<br />

22 / TCP,UDP<br />

23 / TCP<br />

67 / UDP<br />

67 / UDP<br />

68 / UDP<br />

68 / UDP<br />

69 / UDP<br />

80 / TCP<br />

123 / UDP<br />

161 / TCP,UDP<br />

162 / TCP,UDP<br />

443 / TCP<br />

500 / UDP<br />

5<strong>02</strong> / TCP; UDP<br />

4500 / UDP<br />

2222 / TCP; UDP<br />

0x8892 (34962) / UDP<br />

0x8893 (34963) / UDP<br />

0x8894 (34964) / UDP<br />

0xC000 - 0xFFFF<br />

1962 / TCP<br />

20547 /TCP


TCP/IP 56<br />

3.6 Communicatie over TCP(UDP)/IP<br />

3.6.1 Client Server model<br />

Een internet (TCP/IP) zorgt voor een algemene communicatie infrastructuur zonder op te<br />

geven welke diensten allemaal kunnen gebruikt worden. TCP/IP verschaft een basiscommunicatiedienst<br />

maar deze protocolsoftware is niet in staat om contact te maken met of contact<br />

te accepteren van een deelnemer op afstand. Daarom moeten bij elke communicatie twee<br />

toepassingsprogramma’s worden gebruikt: de ene toepassing start de communicatie en de<br />

andere accepteert deze.<br />

Eén belangrijk probleem: de protocolsoftware kan op geen enkele manier aan een toepassingsprogramma<br />

vertellen dat er een verzoek tot communicatie is aangekomen. Daarom zal<br />

de communicatie tussen twee deelnemers gebaseerd zijn op een model waarbij de ene toepassing<br />

actief is (interactie aanvragen) terwijl de andere passief is (luisteren en eventueel<br />

accepteren). Dergelijk model wordt momenteel algemeen toegepast bij communicatie tussen<br />

twee verschillende hosts over TCP/IP en wordt het Client Server model genoemd: een<br />

Server applicatie wacht passief op contact terwijl de Client toepassing de communicatie actief<br />

start.<br />

Kenmerken van Client software:<br />

• Is een toepassingsprogramma dat tijdelijk een Client wordt wanneer toegang tot een<br />

computer op afstand nodig is, maar dat ook lokaal berekeningen en bewerkingen uitvoert.<br />

• Wordt direct door de gebruiker gestart en voor slechts één sessie uitgevoerd.<br />

• Draait lokaal op de PC van een gebruiker<br />

• Maakt actief contact met een Server<br />

• Kan indien nodig tot meerdere Servers toegang krijgen, maar maakt actief contact met<br />

één Server tegelijk<br />

• Vereist geen speciale hardware of een geavanceerd besturingssysteem<br />

Kenmerken van Server software:<br />

• Is een speciaal ontworpen toepassingsprogramma, dat één bepaalde dienst levert,<br />

maar verschillende Clients tegelijkertijd kan afhandelen.<br />

• Wordt automatisch geactiveerd wanneer een systeem opstart en blijft actief tijdens vele<br />

sessies<br />

• Draait op een gedeelde computer<br />

• Wacht passief tot willekeurige Clients op afstand contact zoeken<br />

• Vereist soms krachtige hardware en een geavanceerd besturingssysteem (afhankelijk<br />

van de soort toepassing)


TCP/IP 57<br />

Figuur 3.15: Client Server model over TCP/IP<br />

3.6.2 Endpoint en Internetsocket<br />

Figuur 3.15 toont een Client Server communicatie over de TCP/IP stack. Op computersystemen<br />

kunnen tegelijkertijd meerdere Clients en Servers actief zijn. Belangrijk hierbij wordt<br />

dat iedere applicatie eenduidig moet geïdentificeerd worden en dat terwijl de computer waar<br />

meerdere applicaties op draaien slechts één fysieke verbinding heeft met het Internet.<br />

Hiervoor geven transportprotocollen elke communicatiedienst een unieke naam. TCP gebruikt<br />

hiervoor protocolpoortnummers. Aan elke Server wordt een specifiek protocolpoortnummer<br />

toegekend. Via dit poortnummer wacht de Server passief op communicatie. Bij het<br />

versturen van een aanvraag vermeldt de Client het poortnummer van de gewenste dienst.<br />

De TCP software op de computer van de Server gebruikt het destination poortnummer in een<br />

inkomend bericht om te bepalen welke Server de aanvraag moet afhandelen.<br />

Figuur 3.16: Begrippen endpoint en socket<br />

endpoint<br />

Het begrip endpoint kan soms tot verwarring leiden met het begrip socket. De oorspronkelijke<br />

definitie van een socket volgens ARPANET is de combinatie van het IP adres met het


TCP/IP 58<br />

poortnummer. Deze combinatie wordt heden een endpoint genoemd. Een endpoint beschrijft<br />

via welke logische weg een applicatie bereikbaar is via een internet.<br />

Internetsocket<br />

De term socket is heden louter een software term. Een socket zorgt voor het mappen, het<br />

linken van een applicatie aan een endpoint. Zo ontstaat het begrip Internetsocket, ook netwerksocket<br />

genoemd. Een Internetsocket, kortweg socket genoemd, is een bidirectioneel<br />

communicatie endpoint van een proces tot proces verbinding en wordt bepaald door:<br />

• Het protocol<br />

– UDP protocol: datagramsockets of connectionless sockets<br />

– TCP protocol: streamsockets of connection-oriented sockets<br />

– ruw IP pakket (bv ICMP): rawsockets<br />

• Lokaal IP adres<br />

• Lokaal protocolpoortnummer<br />

• Remote IP adres<br />

• Remote protocolpoortnummer<br />

3.6.3 Dynamische Servers<br />

Van een computersysteem waarop meerdere toepassingsprogramma’s tegelijkertijd kunnen<br />

draaien wordt gezegd dat het systeem concurrency ondersteunt. Een programma dat meer<br />

dan één besturingsthread, of kortweg thread, proces of task heeft wordt een concurrent<br />

programma genoemd.<br />

Concurrency is essentieel voor het Client Server interactie model omdat een concurrent Server<br />

tegelijkertijd meerdere Clients van dienst kan zijn zonder dat elke Client moet wachten<br />

tot voorgaande Clients klaar zijn.<br />

De meeste concurrent Servers werken dynamisch. De server creëert voor elke aanvraag<br />

die aankomt een nieuwe thread, een nieuw proces. In principe bestaat een Server uit twee<br />

delen. Een eerste deel dat de aanvragen aanneemt en een nieuwe thread start voor deze<br />

aanvraag. Dit eerste deel wordt de hoofdthread genoemd. Het tweede deel bestaat uit de<br />

code die elke afzonderlijke aanvraag kan afhandelen.<br />

Als een concurrent Server opstart draait alleen de hoofdthread. Komt er een aanvraag binnen<br />

dan produceert de hoofdthread een nieuwe thread die de aanvraag afhandelt. Ondertussen<br />

houdt de hoofdthread de Server actief en wacht op een volgende binnenkomende aanvraag.<br />

3.6.4 Ondubbelzinnige communicatie<br />

Indien van een Server meerdere threads actief zijn is het belangrijk dat de inkomende berichten<br />

van een Client gekoppeld worden aan de juiste thread van de Server.


TCP/IP 59<br />

TCP eist van elke Client dat deze een lokaal protocolnummer kiest dat nog niet aan een dienst<br />

is toegewezen. Elke Client welke een TCP segment verstuurt zal dit lokaal poortnummer in<br />

het source port veld plaatsen. Het protocolpoortnummer van de Server wordt in het destination<br />

port veld geplaatst.<br />

Op de computer van de Server gebruikt TCP de combinatie van de protocolpoortnummers<br />

en de IP adressen om een bepaalde communicatie te identificeren. Op deze manier kunnen<br />

er berichten van meerdere Clients voor dezelfde Server aankomen zonder een probleem te<br />

veroorzaken. Samengevat moet iedere (Internet) socket uniek zijn.<br />

Figuur 3.17: Client Server model over TCP/IP<br />

Figuur 3.17 toont hoe een ondubbelzinnige communicatie tot stand komt wanneer twee<br />

Clients op eenzelfde PC een remote verbinding aangaan met dezelfde Server.<br />

De communicatie tussen Client 1 en de Server wordt gekenmerkt door volgende socket:<br />

• Protocol: TCP<br />

• SP: 4400<br />

• DP: 80<br />

• SA: 172.23.1.101<br />

• DA: 172.23.2.51<br />

De communicatie tussen Client 2 en de Server wordt gekenmerkt door volgende socket:<br />

• Protocol: TCP<br />

• SP: 4444<br />

• DP: 80<br />

• SA: 172.23.1.101<br />

• DA: 172.23.2.51<br />

Het volstaat dat één van de parameters verschillend is om beide verbindingen een unieke<br />

identificatie toe te kennen.


TCP/IP 60<br />

3.6.5 Status van een socket<br />

Een TCP socket kan zich in de status listening bevinden. Wanneer een Server wacht op<br />

een remote Client om een communicatie aan te vragen dan zijn de socketgegevens voor de<br />

Server<br />

• Protocol: TCP<br />

• SP: 80<br />

• DP: 0<br />

• SA: 172.23.1.51<br />

• DA: 0.0.0.0<br />

Een TCP socket kan zich in volgende statussen bevinden<br />

• listening<br />

• established<br />

• Syn-sent<br />

• Syn-Recv<br />

• Fin-wait1<br />

• Fin-wait2<br />

• Time-wait<br />

• Close-wait<br />

• Closed<br />

Een UDP socket kan zich niet in een status established bevinden. Een UDP Server maakt<br />

geen nieuwe threads aan voor iedere andere CLient. Het hoofdproces verwerkt inkomende<br />

datapakketten opeenvolgend via dezelfde lokale UDP socket.<br />

3.6.6 Verbindingsgerichte en verbindingsloze communicatie<br />

Transportprotocollen ondersteunen twee basisvormen van communicatie: verbindingsgericht<br />

(TCP) en verbindingsloos (UDP). Clients en Servers kunnen voor hun communicatie beide<br />

basisvormen gebruiken.<br />

Indien een Client TCP gebruikt voor een verbindingsgerichte communicatie dan moet deze<br />

Client TCP eerst verzoeken om een verbinding met een andere toepassing op te starten. Is<br />

de verbinding tot stand gebracht dan kunnen de twee toepassingen data uitwisselen. Als de<br />

twee toepassingen de communicatie hebben beëindigd, dan wordt de verbinding afgesloten<br />

door TCP.<br />

Het alternatief is een verbindingsloze communicatie waarbij een toepassing op elk moment<br />

een bericht kan versturen naar elke willekeurige bestemming. Een toepassing welke UDP<br />

gebruikt kan een serie berichten versturen waarbij elk bericht naar een andere bestemming<br />

wordt gezonden.


Hoofdstuk 4<br />

Uitbreidingsprotocollen en<br />

netwerkapplicaties<br />

4.1 ARP<br />

4.1.1 Inleiding<br />

Het IP adres is een virtueel adres, het wordt verwerkt door software. Geen enkele LAN hardware<br />

of WAN hardware kan de relatie leggen tussen het NetID van een IP adres en een netwerk<br />

of tussen de HostID van een IP adres en een host. Om een IP pakket te transporteren<br />

moet deze data ingepakt worden in een frame dat door de lokale hardware bij de juiste deelnemer<br />

kan afgeleverd worden. Dit frame moet dan ook de hardware adressen van de zender<br />

en de ontvanger bevatten.<br />

4.1.2 Address Resolution Protocol (ARP)<br />

Wanneer het IP protocol een bericht wenst te versturen over <strong>Ethernet</strong> dan moet naast het<br />

IP adres van de bestemming ook het MAC adres van de bestemming gekend zijn. Hiervoor<br />

bevat de TCP/IP protocol suite een Adress Resolution Protocol (ARP). Het ARP definieert twee<br />

basis berichttypen: een aanvraag en een antwoord. Een aanvraagbericht bevat een IP adres<br />

en verzoekt om het corresponderende hardware adres, het MAC adres. Het antwoord bevat<br />

een IP adres dat met de aanvraag werd meegestuurd en het hardware adres.<br />

Het is natuurlijk hopeloos inefficiënt om voor elk te versturen IP pakket eerst een ARP aanvraag<br />

te sturen. Hiervoor zal het ARP protocol alle bekomen informatie tijdelijk op slaan in<br />

een tabel.<br />

Figuur 4.1: De ARP cache


Uitbreidingsprotocollen en netwerkapplicaties 62<br />

ARP beheert deze tabel als een cache: een kleine tabel met een beperkt aantal bindingen<br />

die telkens overschreven worden of na een periode (enkele minuten) weer gewist worden.<br />

Figuur 4.1 toont hoe met het DOS commando arp -a een actueel overzicht bekomen wordt<br />

van de ARP cache.<br />

Figuur 4.2: ARP respons in Wireshark<br />

Figuur4.2 toont het gebruik van ARP in Wireshark (Wireshark is een packet sniffer en protocol<br />

analyzer, een programma dat gebruikt wordt om gegevens op een computernetwerk op te<br />

vangen en te analyseren).<br />

Het RARP protocol doet net andersom. Het stuurt een request, een aanvraag met een hardware<br />

adres. Hierop komt een reply, een antwoord met het gezochte IP adres.<br />

4.2 BOOTP en DHCP<br />

4.2.1 Inleiding<br />

Tijdens de opstart van een host moeten een aantal zaken geconfigureerd worden vooraleer<br />

deze host aktief kan deelnemen aan het netwerkverkeer. Iedere host moet een IP adres bekomen,<br />

het toegepaste subnetmask, het IP adrers van de defaultgateway (dit is de router<br />

die het lokale netwerk koppelt aan andere netwerken, aan het Internet, ... ) en eventueel<br />

gegevens omtrent de DNS server (zie verder in dit hoofdstuk). Deze gegevens kunnen statisch<br />

vastgelegd worden in een host of deze kunnen dynamisch toegekend worden aan een<br />

host. In dit onderdeel wordt besproken hoe bepaalde gegevens automatisch kunnen geconfigureerd<br />

worden tijdens het opstarten. Het opstartproces staat ook bekend onder de naam<br />

bootstrapping.<br />

4.2.2 BOOTP<br />

Het Bootstrap protocol is toegevoegd aan de TCP/IP suite om een aantal dynamsiche configuratiestappen<br />

tot één stap te combineren. Om configuratieinformatie te bekomen stuurt het<br />

BOOTP protocol een request broadcast bericht uit. Een BOOTP server herkent dit bericht en<br />

retourneert een BOOTP reply bericht met alle nodige informatie naar de aanvragende deelnemer.<br />

BOOTP gebruikt een IP pakket zonder dat de deelnemer reeds een IP adres bevat. Als<br />

doeladres wordt een broadcast adres verstuurd bestaande uit enkel maar ’1’-en en een bron<br />

adres bestaande uit enkel maar ’0’-en. De BOOTP server kan het hardeware adres gebruiken<br />

om een antwoord te versturen.


Uitbreidingsprotocollen en netwerkapplicaties 63<br />

BOOTP vereenvoudigt de configuratie maar blijft het probleem dat een BOOTP server zijn<br />

informatie ophaalt uit een database welke door een beheerder met de hand moet aangepast<br />

worden.<br />

4.2.3 DHCP<br />

Om de configuratie nog meer te automatiseren heeft de IEFT het Dynamic Host Configuratin<br />

Protocol (DHCP) ontwikkeld. DHCP is een protocol welke een host kan bijtreden tot een nieuw<br />

netwerk zonder handmatige inmenging van een beheerder. Figuur 4.3 toont de verschillende<br />

stappen tijdens de automatische configuratie van een host. Het is een Client server protocol.<br />

De client is een nieuwe host welke zal verzoeken om IP gegevens. Per netwerk kunnen één<br />

of meerdere DHCP servers aanwezig zijn welke deze gegevens kunnen toekennen.<br />

Figuur 4.3: Ping commando<br />

Voor een nieuwe host bestaat het DHCP protocol uit vier stappen:<br />

• DHCP discoverbericht: een Client stuurt een UDP bericht via poort 67, verpakt in een IP<br />

pakket om een DHCP server op te sporen. Er wordt een broadcast bestemmingsadres<br />

gebruikt, 255.255.255.255 en als bronadres wordt 0.0.0.0 toegekend.<br />

• DHCP offerbedricht: een DHCP server antwoordt naar de Client. Dit antwoord bevat<br />

een IP adres, een subnetmask en een leasetijd voor het IP adres.<br />

• DHCP requestbericht: de host maakt een keuze uit de verschillende aanbiedingen en<br />

antwoordt naar de gekozen server met een requestbericht welke de configuratieparameters<br />

bevat.<br />

• DHCP ACKbericht: de server antwoordt met een bevestiging.<br />

4.2.4 DHCP Relay agent - DHCP option 82<br />

DHCP Relay agent is een Bootstrap Protocol dat DHCP berichten tussen clients en servers<br />

voor DHCP op verschillende IP netwerken kan doorsturen. M.a.w via een DHCP Relay agent<br />

kan een DHCP server ook een netwerk dienen waar het niet rechtstreeks mee verbonden is.


Uitbreidingsprotocollen en netwerkapplicaties 64<br />

Een DHCP Relay agent luistert via de gekende client poort bootpc (67) naar broadcastberichten<br />

van DHCP clients op het netwerk. Deze berichten worden geconverteerd naar unicastberichten<br />

en worden dan doorgestuurd naar de geconfigureerde DHCP server. Hiervoor zal de<br />

DHCP Relay agent een invulling doen van het giaddr field in deze berichten met zijn eigen IP<br />

adres. De DHCP server kan de reply zodoende sturen als een unicastbericht naar de Relay<br />

agent. De Relay agent zal de replay of via een broadcast bericht of via een unicastbericht<br />

versturen op het netwerk van de client.<br />

DHCP option 82 is een DHCP Relay agent Information optie. Deze optie is ontwikkeld zodat<br />

een DHCP Relay agent netwerk specifieke informatie kan toevoegen aan een bericht welke<br />

hij forward naar een DHCP server. De optie gebruikt hierbij twee bijkomende gegevens:<br />

Circuit ID en Remote ID. Deze informatie moet de DHSP server informatie bezorgen over de<br />

locatie van de host welke de request verstuurt. De info is zeer sterk afhankelijk van de DHSP<br />

Relay agent en zal voor <strong>Ethernet</strong> gebaseerde netwerken bestaan uit MAC adressen van de<br />

poorten op de Relay agent die de link vormen naar de eindhost. Deze informatie kan gebruikt<br />

worden om aan te geven waar een toegekend IP adres zich fysisch in het netwerk bevindt.<br />

Deze informatie kan door de DHSP server ook gebruikt worden bij beslissingen omtrent het<br />

toekennen van een bepaald IP adres.<br />

4.3 ICMP<br />

4.3.1 Inleiding<br />

Bij de IP communicatiedienst kunnen datapakketten verloren gaan, de aflevering ervan sterk<br />

vertraagd worden, of in een verkeerde volgorde worden afgeleverd. IP is geen betrouwbare<br />

communicatiedienst maar probeert fouten te voorkomen en eventuele problemen te rapporteren<br />

wanneer ze optreden. Een eerste voorbeeld van foutdetectie is de header checksum.<br />

Telkens een datapakket wordt ontvangen, wordt de checksum gecontroleerd om er zeker van<br />

te zijn dat de header onbeschadigd is. Indien een controlesomfout wordt vastgesteld wordt<br />

dit bericht onmiddellijk weggegooid. Hierover kan geen melding gebeuren omdat samen met<br />

het bericht ook het bronadres verwijderd is. Andere minder ernstige problemen kunnen wel<br />

gerapporteerd worden.<br />

4.3.2 Internet Control Message Protocol<br />

De TCP/IP protocol suite bevat een protocol, het Internet Control Message Protocol (ICMP),om<br />

foutberichten te verzenden. Op deze manier kan gemeld worden indien een bepaalde netwerkvoorziening<br />

niet beschikbaar is, of dat een bepaalde host of router niet bereikbaar is.<br />

Soms komt een computergebruiker ook direct met het protocol ICMP in aanraking, voornamelijk<br />

bij gebruik van de netwerkdiagnosecommando’s ping en traceroute.<br />

ICMP kent vijf foutberichten en vier informatieve berichten. De vijf ICMP foutberichten zijn:<br />

• Source quench (bron doven), wordt verstuurd door een router indien deze tijdelijk bufferruimte<br />

tekort komt waardoor hij binnenkomende IP pakketten moet weggooien. Dit<br />

bericht wordt verstuurd naar de host die het IP pakket heeft aangemaakt. De zendende<br />

host zal de transmissiesnelheid moeten aanpassen.<br />

• Time exceeded, wordt verstuurd door een router nadat het Time to live veld tot nul<br />

werd verlaagd.


Uitbreidingsprotocollen en netwerkapplicaties 65<br />

• Destination unreachable, wordt verstuurd door een router indien die merkt dat een IP<br />

pakket de bestemming niet kan bereiken. Het foutbericht maakt onderscheid tussen<br />

een situatie waarbij een heel netwerk tijdelijk van het Internet losgekoppeld is (omdat<br />

een bepaalde router niet naar behoren functioneert) en het geval waarin een bepaalde<br />

host tijdelijk offline is.<br />

• Redirect, wordt verstuurd door een router indien die merkt dat het IP pakket eigenlijk<br />

naar een andere router moet verstuurd worden om de uiteindelijke bestemming te<br />

kunnen bereiken.<br />

• Fragmentation required, wordt verstuurd door een router indien deze merkt dat een IP<br />

pakket groter is dan de MTU (Maximum Transmission Unit) van het netwerk waarover<br />

het IP pakket moet verstuurd worden.<br />

ICMP definieert ook vier informatieve berichten:<br />

• Echo request/reply, een echo request kan verstuurd worden naar elke willekeurige host.<br />

Als antwoord wordt een echo reply verstuurd, het antwoord bevat dezelfde adat als het<br />

verzoek.<br />

• Address mask request/reply, een host vertuurt een address mask request wanneer hij<br />

wordt opgestart. Een router antwoord met een bericht dat het juiste subnetmasker<br />

bevat dat op het netwerk gebruikt wordt.<br />

4.3.3 ICMP bericht<br />

Het ICMP protocol is een ondersteunend protocol aan het IP protocol. Het gebruikt dan ook<br />

IP pakketten om de berichten te versturen. Figuur 4.4 toont hoe een ICMP bericht wordt<br />

ingekapseld in een dataframe.<br />

Een ICMP foutbericht wordt altijd geproduceerd als antwoord op een bepaald IP pakket. Het<br />

wordt altijd teruggestuurd naar de bron van het IP pakket.<br />

Figuur 4.4: Inkapseling van een ICMP bericht<br />

De verschillende velden in de ICMP header zijn:<br />

• TYPE:<br />

• Code:<br />

• Checksum:


Uitbreidingsprotocollen en netwerkapplicaties 66<br />

• Identifier:<br />

• Sequence number:<br />

4.3.4 Bereikbaarheid van een host controleren<br />

Veel tools halen informatie over een netwerk op door testberichten te sturen en op ICMP<br />

antwoorden te wachten. Eén van de belangrijkste diagnosetools is het ping programma. Het<br />

ping programma, als DOS commando in te voeren, zendt via ICMP IP pakketten naar een<br />

andere deelnemer om te controleren of deze host via het netwerk bereikbaar is. Het is de<br />

bedoeling dat de doelhost deze pakketjes meteen (als een echo) terugstuurt. Daarnaast<br />

toont het een statische samenvatting van het percentage pakketjes waarop niet gereageerd<br />

is en de reactiesnelheid. Zowel het IP adres of de hostname kunnen gebruik worden.<br />

ping www.google.be<br />

ping 134.16.85.9<br />

Er zijn heel wat opties mogelijk. Een overzicht van alle opties wordt bekomen indien het ping<br />

commando zonder meer wordt ingegeven.<br />

Figuur 4.5: Ping commando<br />

4.3.5 Een route traceren<br />

Is het programma ping alleen bedoeld om na te gaan of een bepaalde host bereikbaar is, dan<br />

zal het commando tracert de route tot een bepaalde host zichtbaar maken. Figuur 4.6 toont<br />

op welke manier een tracert commando alle IP adressen weergeeft van de routers die het<br />

testpakket ontvangen en weer doorsturen.


Uitbreidingsprotocollen en netwerkapplicaties 67<br />

Figuur 4.6: Ping commando<br />

Tracert stuurt eerst een testpakket met een time to live waarde van 1. De eerste router<br />

verlaagt deze waarde tot 0, gooit het bericht weg en stuurt een ICMP Time Exceeded bericht<br />

terug. Hierdoor kan het IP adres van de eerste router weergegeven worden. Vervolgens<br />

wordt een testbericht verstuurd met een time to live waarde van 2. De eerste router verlaagt<br />

deze waarde en stuurt het bericht verder. De tweede router zal de time to live waarde op<br />

0 plaatsen, het bericht weggooien en een ICMP foutbericht terug sturen. Hierdoor is het IP<br />

adres bekend van de tweede router. Deze procedure wordt verder gezet tot de uiteindelijke<br />

host bereikt werd.<br />

4.4 IGMP<br />

4.4.1 Inleiding<br />

IGMP (Internet Group Management Protocol) is het protocol voor IP multicast toepassingen<br />

op TCP/IP netwerken. Deze standaard is gedefinieerd in RFC 1112. Naast een definitie van<br />

adres- en hostuitbreidingen voor de ondersteuning van multicasting door IP hosts, bevat deze<br />

RFC ook een definitie van versie 1 van IGMP. IGMP versie 2 wordt gedefinieerd in RFC 2236.<br />

Beide versies van IGMP bieden een protocol waarmee informatie over het lidmaatschap van<br />

een host van specifieke multicast groepen kan worden uitgewisseld en bijgewerkt.<br />

Multicast berichten worden naar één adres verstuurd (multicast IP adres) maar worden door<br />

meerdere hosts verwerkt. De verzameling van deelnemers die luisteren naar één bepaald<br />

multicast IP adres wordt een multicast groep genoemd. Enkele belangrijke aspecten van<br />

multicasting:<br />

• Het lidmaatschap van een groep is dynamisch: hosts kunnen op elk moment toetreden<br />

tot een groep of een groep verlaten.<br />

• Hosts kunnen zich aansluiten bij multicast groepen door IGMP berichten te versturen<br />

• Er is geen beperking omtrent de grootte van groepen. De verschillende deelnemers<br />

kunnen over meerdere netwerken verspreid zijn op voorwaarde dat de tussenliggende<br />

routers IGMP ondersteunen.


Uitbreidingsprotocollen en netwerkapplicaties 68<br />

• Hosts die niet tot een bepaalde groep behoren kunnen wel IP berichten versturen naar<br />

die groep.<br />

4.4.2 IGMP berichten<br />

IGMP beschrijft hoe de informatie over de lidmaatschapstatus uitgewisseld wordt tussen routers<br />

en de verschillende deelnemers van multicast groepen. Enkele IGMP berichten:<br />

• Hostlidmaatschapsrapport: wordt verzonden als een host lid wordt van een multicast<br />

groep en informeert hiermee alle andere leden van de groep. Een router bewaart deze<br />

rapporten en staat zo in voor het onderhoud van de multicast groep.<br />

• Hostlidmaatschsquery: wordt verstuurd door routers om periodiek te informeren naar<br />

groepsleden in een netwerk. Alle leden van een groep antwoorden opnieuw met een<br />

lidmaatschapsrapport. Routers houden alle informatie bij en zorgen ervoor dat er geen<br />

multicast berichten verstuurd worden op netwerken waar geen leden van de groep zijn.<br />

• Groep verlaten: dit bericht wordt verzonden door een host die als laatste lid van een<br />

groep binnen een bepaald netwerksegment een groep verlaat.<br />

Het IGMP protocol is een ondersteunend protocol aan het IP protocol. Het gebruikt dan ook<br />

IP pakketten om de berichten te versturen. Figuur 4.7 toont hoe een IGMP bericht wordt<br />

ingekapseld in een dataframe.<br />

Figuur 4.7: Inkapseling van een IGMP bericht<br />

4.4.3 IGMP snooping<br />

Een switch welke een lid uit een multicast groep verbindt met een router kan IGMP berichten<br />

lezen en evalueren met behulp van IGMP snooping. IGMP snooping vertaalt multicast IP<br />

adressen in multicast MAC adressen. Een switch kan op deze manier multicast MAC adressen<br />

bewaren in zijn multicast filter tabel. Een switch kan op deze manier multicast berichten<br />

dadelijk naar de juiste poorten versturen en verhinderen dat multicast berichten een netwerk<br />

nodeloos gaan belasten. Dit staat bij switches ook gekend als het dynamische gebruik van<br />

multicasting. Dit in tegenstelling to het statisch gebruik van multicasting waarbij manueel<br />

de groepen in alle switches en voor alle poorten geconfigureerd moeten worden.


Uitbreidingsprotocollen en netwerkapplicaties 69<br />

4.4.4 Multicast adressen<br />

Multicast IP adressen zijn klasse D adressen welke in het bereik 224.0.0.0 tot en met 239.255.255.255<br />

gelegen zijn. Voor privé netwerken wordt het aangeraden om multicast IP adressen in het bereik<br />

239.x.x.x te gebruiken.<br />

De adressen binnen het bereik 224.0.0.1 tot en met 224.0.0.255 worden gereserveerd voor<br />

multicast toepassingen binnen één netwerk. De time to live waarde van dergelijke IP pakketten<br />

wordt op 1 geplaatst zodat dergelijke berichten het netwerk niet kunnen verlaten.<br />

Er worden ook multicast MAC adressen gereserveerd. Alle adressen waarvan de eerste byte<br />

gelijk is aan 01h zijn besschikbaar voor mulitcasting. Adressen welke beginnen met de<br />

waarde 01:00:5E:0 zijn multicast MAC adressen welke gebruikt worden voor IP multicasting.<br />

Figuur 4.8: Omzetting van multicast IP adres naar multicast MAC adres<br />

Deze omzetting vraagt enige aandacht. De meest beduidende bit van de tweede byte behoort<br />

tot de herkenningscode van een multicast adres en wordt zodoende niet meegemapt.<br />

Zo wordt het multicast IP adres 228.30.117.216 omgezet naar het multicast MAC adres<br />

01:00:5E:1E:75:D8. Het multicast IP adres 228.158.117.216 wordt echter ook omgezet naar<br />

het multicast MAC adres 01:00:5E:1E:75:D8.<br />

4.5 GMRP<br />

4.5.1 IEEE 8<strong>02</strong>.1p<br />

Bedrijfsnetwerken worden steeds groter en complexer. Het is essentieel dat het groeiende<br />

netwerkverkeer op een efficiënte manier kan gemanaged worden. Quality of Service is hierbij<br />

een belangrijke tool om te verzekeren dat de meest kritische data op een voorspelbare manier<br />

wordt afgeleverd. Door middel van het IEEE 8<strong>02</strong>.1p protocol kunnen switches netwerkverkeer<br />

prioritair verwerken. Voorspelbaarheid en betrouwbaarheid van het netwerkverkeer<br />

worden hierdoor verbeterd.<br />

IEEE 8<strong>02</strong>.1p definieert een 3 bit-veld binnen een tagged <strong>Ethernet</strong> frame. Het definieert een<br />

prioriteitswaarde tussen 0 en 7 om op deze manier het netwerkverkeer te differentiëren.<br />

De IEEE 8<strong>02</strong>.1P standaard voorziet ook in maatregelen om multicastberichten te filteren opdat<br />

deze zich niet nodeloos zouden verspreiden over laag 2 gebaseerde netwerken. Hieron-


Uitbreidingsprotocollen en netwerkapplicaties 70<br />

der bevindt zich GMRP (GARP Multicast Registration Protocol). GMRP and GARP zijn industriële<br />

protocollen gedefinieerd door de IEEE 8<strong>02</strong>.1P.<br />

4.5.2 Werking GMRP<br />

GMRP verwerkt multicast groepsadressen op laag 2 (MAC layer). GMRP draait zowel op de<br />

switch als bij de hosts. Op de host, GMRP wordt er samen gebruikt met IGMP, worden door<br />

GMRP laag 2 dataframes gecreëerd van de layer 3 IGMP berichten.<br />

Een switch ontvangt zowel de laag 2 GMRP en de laag 3 IGMP berichten. Met de GMRP<br />

berichten zal de switch het dataverkeer beperken in de VLAN groep tot welke de zendende<br />

host zich bevindt. Wanneer de switch de GMRP join message ontvangt zal het de poort<br />

waarop het dit bericht ontvangen heeft toevoegen aan de betreffende multicastgroep. De<br />

switch zal het aanvraagbericht tot lidmaatschap doorsturen naar alle andere deelnemers<br />

in de VLAN, waaronder zich uiteraard ook de multicastbron bevindt. Wanneer de bron een<br />

multicastbericht stuurt naar de groep zal de switch dit bericht enkele doorsturen naar de<br />

leden van deze groep.<br />

De switch zendt periodiek GMRP queries. Indien een deelnemer lid wenst te blijven van een<br />

groep zal hij een antwoord versturen naar de switch. Een deelnemer welke niet langer tot<br />

de groep wil blijven kan een leave bericht versturen of totaal niet antwoorden. Indien de<br />

switch geen antwoordt krijgt of een leave bericht ontvangt van een bepaalde host zal het<br />

deze deelnemer uit de lijst schrappen.<br />

4.6 DNS<br />

4.6.1 Inleiding<br />

Er zijn twee belangrijke manieren om een host op het Internet aan te duiden. Naast het<br />

reeds besproken IP adres is er ook de mogelijkheid om voor een deelnemer een hostnaam,<br />

een symbolische naam, te voorzien die algemeen eenvoudiger te gebruiken is.<br />

Hostnamen, zoals www.google.be (zoekmachine), gaia.cs.umass.edu (computer networks research<br />

Group van de university of Massachusetts, Amherst) zijn beter te onthouden en dus<br />

gebruiksvriendelijker. Een hostnaam geeft echter niet genoeg informatie over de plaats van<br />

die host binnen het Internet. Omdat gebruikers liever de hostnaan toepassen maar TCP/IP<br />

protocollen gebaseerd zijn op IP adressering moet er een koppeling gebeuren tussen hostnamen<br />

en IP adressen. Domain Name System (DNS) zal hier de oplossing bieden. Dr. Paul V.<br />

Mockapetris en Jon Postel zijn de uitvinders van het Domain Name System. In 1983, stelden<br />

zij een DNS achitectuur voor in RFC882 en RFC883.<br />

Samenvattend staat DNS voor:<br />

• Een gedistribueerde database welke geïmplementeerd is in een hiërarchie van DNS<br />

servers<br />

• Een applicatielaagprotocol waarmee hosts en DNS servers kunnen communiceren om<br />

de vertaalslag (het omzetten van een IP adres in een hostnaam en omgekeerd) te maken.


Uitbreidingsprotocollen en netwerkapplicaties 71<br />

De DNS servers zijn vaak Unix machines waarop de Berkeley Internet Name Domain (BIND)-<br />

software of Microsoft DNS software wordt uitgevoerd. Het DNS protocol werkt met UDP en<br />

gebruikt poort 53.<br />

4.6.2 De structuur van een hostnaam<br />

Qua syntaxis bestaat elke hostnaam uit een reeks alfanumerieke segmenten die door punten<br />

gescheiden worden. Domeinnamen hebben een hiërarchische structuur waarbij het meest<br />

significante deel van de naam rechts staat. Het meest links segment is de naam van de<br />

individuele host. Andere segmenten in een domeinnaam identificeren de groep die eigenaar<br />

van de naam is. DNS legt niet vast uit hoeveel segmenten een domeinnaam moet bestaan,<br />

Het DNS geeft waarden voor het meest significante segment. Tabel 4.1 geeft een overzicht<br />

van alle namen<br />

Tabel 4.1: Namen voor het meest significante deel van een domeinnaam<br />

Domeinnaam<br />

com<br />

edu<br />

gov<br />

mil<br />

net<br />

org<br />

int<br />

landcode<br />

Toegewezen aan<br />

commerciële organisatie<br />

opleidingsinstituut<br />

overheidsorgaan<br />

militaire groep<br />

netwerkondersteuningscentrum<br />

andere organisaties<br />

internationale organisatie<br />

een land, be voor België<br />

4.6.3 Werking van het DNS protocol<br />

Inleiding<br />

Wanneer een toepassing (bv. een webbrowser) op de host van een gebruiker een hostnaam<br />

moet vertalen in een IP adres zal deze toepassing de clientcomponent van de DNS aanroepen<br />

met de hostnaam welke vertaald moet worden. De DNS clientcomponent op de host van<br />

de gebruiker neemt het dan over en verzendt een verzoekbericht het netwerk in. Alle DNS<br />

vezoek- en antwoordberichten worden in UDP segmenten naar poort 53 verzonden.<br />

Na een vertraging, die kan variëren van enkele milliseconden tot enkele seconden, ontvangt<br />

de DNS clientcomponent op de host van de gebruiker een DNS antwoordbericht met de gezochte<br />

verwijzing. Deze verwijzing wordt vervolgens doorgegeven aan de toepassing. Op die<br />

manier is DNS, gezien vanuit het perspectief van de toepassing op de host van de gebruiker,<br />

een blackbox die een eenvoudige, ongecompliceerde vertaaldienst levert.<br />

In feite is de dienst die de zwarte doos levert echter erg complex en bestaat uit een groot<br />

aantal DNS servers, verspreid over de wereld, en een applicatielaagprotocol dat bepaalt hoe<br />

de DNS servers en de verzoekende hosts met elkaar communiceren.<br />

Een eenvoudig ontwerp voor DNS zou bestaan uit één DNS server die alle verwijzingen bevat.<br />

In dit gecentraliseerde ontwerp zouden alle clients hun verzoeken slechts naar die ene<br />

DNS server hoeven te verzenden die op zijn beurt alle verzoeken zou behandelen. Hoewel<br />

de eenvoud van dit ontwerp aantrekkelijk is, is deze oplossing ongeschikt voor het huidige<br />

Internet met het enorme (en snel toenemende) aantal hosts.


Uitbreidingsprotocollen en netwerkapplicaties 72<br />

DNS maakt gebruik van een groot aantal, over de hele wereld verspreide, DNS servers in een<br />

hiërarchische structuur. Er is geen enkele DNS server die alle verwijzingen voor alle hosts op<br />

het Internet bevat. De verwijzingen zijn verdeeld over de DNS servers.<br />

In eerste instantie zijn er drie klassen DNS servers:<br />

• Root DNS servers;<br />

• Topleveldomein (TLD) DNS servers;<br />

• Verifiërende DNS servers.<br />

Een gedistribueerde, hiërarchische database<br />

Een DNS client neemt eerst contact op met een van de rootservers, die IP adressen voor<br />

TLD servers voor het Topleveldomein com retourneert. De client neemt vervolgens contact<br />

op met een van deze TLD servers, die het IP adres van een verifiërende server retourneert.<br />

Tenslotte neemt de client contact op met een van de verifiërende servers, die het IP adres<br />

van de hostnaam zal terugsturen.<br />

Root DNS server<br />

Op het Internet zijn er slechts 13 root DNS servers (die aangeduid worden door de letters A<br />

tot en met M), waarvan de meeste in Noord-Amerika zijn opgesteld. Hoewel de 13 root DNS<br />

servers aangeduid worden als één server, bestaat elke server in werkelijkheid uit een cluster<br />

gerepliceerde servers (om redenen van beveiliging en betrouwbaarheid).<br />

Topleveldomein (TLD) server<br />

Deze servers zijn verantwoordelijk voor topleveldomeinen zoals com, org, net, edu en alle<br />

landen topleveldomeinen zoals bijvoorbeeld be, nl, fr, jp,...<br />

Verifiërende DNS server<br />

Elke organisatie met hosts op het Internet die door het publiek benaderbaar zijn (zoals webserver<br />

en Mailserver) is verplicht om DNS gegevens te leveren waarin de namen van deze<br />

hosts aan IP adressen worden gekoppeld. Deze DNS gegevens worden opgeslagen op de verifiërende<br />

DNS server. Een organisatie kan ervoor kiezen om zelf een verifiërende DNS server<br />

met deze gegevens te implementeren; ook kan de organisatie een serviceprovider (Telenet<br />

bijvoorbeeld) inschakelen om deze gegevens tegen betaling op diens verifiërende DNS server<br />

op te slaan. De meeste universiteiten en grote bedrijven implementeren en beheren hun<br />

eigen primaire en secundaire (als back-up) verifiërende DNS server.<br />

De root, TLD-, en verifiërende DNS servers behoren allemaal tot de hiërarchie van DNS servers.<br />

Er is nog een ander belangrijk type DNS servers, die lokale DNS servers worden genoemd.<br />

Een lokale DNS server hoort strikt genomen niet thuis in de hiërarchie van servers<br />

maar is desondanks van vitaal belang voor de DNS structuur. Elke ISP (Internet Service Provider)<br />

heeft een lokale DNS server (ook wel standaard DNS server (default name server)<br />

genoemd). Wanneer een host een verbinding tot stand wil brengen met een ISP, geeft de<br />

ISP aan die host de IP adressen van een of meer van diens lokale DNS server (meestal met<br />

behulp van DHCP).


Uitbreidingsprotocollen en netwerkapplicaties 73<br />

4.7 SNMP<br />

4.7.1 Inleiding<br />

SNMPv1: In 1990 werd in RFC 1157 het SNMP protocol gedefinieerd. SNMP staat voor Simple<br />

Network Management Protocol. Dit protocol beschrijft een gestructureerde manier voor<br />

het bewaken en beheren van een bepaalde netwerkinfrastructuur. Al snel werd dit protocol<br />

op grote schaal geïmplementeerd in commerciële producten en werd dit protocol de facto<br />

standaard voor netwerkbeheer. SNMP is ontworpen om een eenvoudig protocol te zijn.<br />

SNMPv2: Naarmate de ervaringen werd in 1993 een verbeterde versie van SNMP beschreven<br />

in RFC 1441 en RFC 1452 (coëxcistentie tussen v1 en v2) om uiteindelijk de Internet<br />

standaard te worden.<br />

SNMPv3: In 1999 wordt in v3 security toegevoegd aan de vorige versies. De derde versie<br />

van Internet Standard Management Framework (SNMPv3) is afgeleid van en gebaseerd op de<br />

voorgaande versies SNMPv1 en SNMPv2.SNMPv3 is dus SNMPv2 aangevuld met security en<br />

administratie. De belangrijkste eigenschappen van SNMPv3 omvatten:<br />

• security<br />

– authenticatie en privacy<br />

– toegangscontrole<br />

• administratie<br />

– gebruikersnamen en sleutelmanagement<br />

– benamingen van deelnemers<br />

– policies<br />

Op een netwerk zijn heel wat interessante deelnemers aktief welke belangrijke statusinformatie<br />

kunnen bevatten voor het beheer van een netwerk. Dergelijke deelnemers kunnen<br />

hubs, switches, routers, printers of PC’s zijn. Om rechtstreeks door SNMP te worden beheerd<br />

moet een node in staat zijn een SNMP managementproces -een SNMP agent- te draaien. Alle<br />

computers voldoen aan deze eis, evenals veel hubs, switches, routers en randapparaten die<br />

voor netwerkgebruik ontworpen zijn. Elke agent houdt een lokale database bij met variabelen<br />

die zijn toestand en geschiedenis weerspiegelen en zijn werking beïnvloeden.


Uitbreidingsprotocollen en netwerkapplicaties 74<br />

Figuur 4.9: Managers en agents op een netwerk<br />

Het netwerkmanagement wordt gedaan vanuit managementstations: in feite gewone computers<br />

waarop speciale management software loopt. Deze stations bevatten een of meer<br />

processen die via het netwerk met agents communiceren, waarbij ze opdrachten geven en<br />

antwoorden krijgen. In dit opzet bevindt alle intelligentie zich in de managementstations om<br />

de agents zo eenvoudig mogelijk te houden en hun invloed op de apparaten waarop ze lopen<br />

te minimaliseren. Veel managementstations hebben een grafische gebruikersinterface,<br />

zodat de netwerkbeheerder de toestand van het netwerk kan inspecteren en zo nodig actie<br />

kan ondernemen.<br />

4.7.2 SNMP structuur<br />

Het raamwerk van SNMP bestaat uit drie essentiële onderdelen:<br />

• de MIB (Management Information Base (RFC1213)) is de omschrijving van alle varaibelen<br />

een bepaald netwerkelement bevat.<br />

• SMI (Structure of Management Information (RFC 1155)) is de structuur voor het opslaan<br />

van de netwerkinformatie.<br />

• SNMP is het communicatieprotocol tussen de manager en een netwerkdeelnemer (RFC1157).<br />

De meeste bestaande netwerken zijn van gemengd fabrikaat - met hosts van een of meer<br />

fabrikanten, hubs, switches en routers van andere firma’ s en printers van weer andere. Om<br />

het mogelijk te maken dat een management station (eventueel van weer een andere leverancier)<br />

met al deze uiteenlopende componenten praat, moet de aard van de informatie,<br />

die door al deze apparaten wordt bijgehouden strikt gespecificeerd worden. Het heeft geen<br />

zin dat het management station een router vraagt wat zijn frequentie van verloren gegane<br />

pakketten is als de router deze frequentie niet bijhoudt. Daarom beschrijft SNMP de exacte<br />

informatie die elk soort agent moet bijhouden en het formaat waarin de agent deze informatie<br />

moet leveren. Het grootste deel van het SNMP model is de definitie van wie wat moet<br />

bijhouden en hoe deze informatie wordt doorgegeven. In het kort komt het erop neer dat<br />

elk apparaat een of meer variabelen (objecten) bijhoudt die de toestand van het apparaat


Uitbreidingsprotocollen en netwerkapplicaties 75<br />

beschrijven. De verzameling van alle mogelijke objecten in een netwerk staat in een datastructuur<br />

die de MIB (Management Information Base) wordt genoemd.<br />

Het SNMP protocol zelf beschrijft dan hoe de interactie tussen het managementstation en de<br />

agents tot stand komt. Hierbij worden vijf verschillende berichtypen gedefinieerd.<br />

4.7.3 De MIB en SMI<br />

Figuur 4.10: MIB is een database welke alle variabelen bevat voor netwerkmanagement<br />

De verzameling objecten die door SNMP worden beheerd, wordt gedefinieerd in de MIB en<br />

wordt weergegeven in figuur 4.10. Voor het gemak worden deze objecten ingedeeld in verschillende<br />

groepen. Het is de bedoeling dat deze categorieën een basis leveren voor wat een<br />

managementstation moet begrijpen.<br />

• De groep System geeft de manager de gelegenheid erachter te komen hoe het apparaat<br />

heet, wie het heeft gemaakt, welke hardware en software het bevat, waar het zich<br />

bevindt en wat het moet doen. Het tijdstip van de laatste boot wordt ook aangegeven.<br />

• De groep Interfaces gaat over de netwerkadapters. Deze houdt bij hoeveel pakketten<br />

en bytes er door het netwerk worden gezonden en ontvangen, hoeveel er worden<br />

weggegooid, hoeveel broadcasts er zijn en hoe groot de bestaande uitvoer-wachtrij is.<br />

• De groep lP gaat over lP verkeer naar en vanuit de node. Hierin komen vooral veel<br />

tellers voor die bijhouden hoeveel pakketten er om verschillende redenen worden weggegooid.<br />

Er zijn ook statistische gegevens beschikbaar over het fragmenteren en weer<br />

in elkaar zetten van datagrammen. Al deze items zijn vooral voor het beheer van routers<br />

van belang.<br />

• De groep ICMP heeft betrekking op IP foutmeldingen. Er is een teller voor elke ICMP<br />

melding, waarin wordt bijgehouden hoeveel er van dat type zijn gezien.<br />

• De groep TCP registreert het huidige aantal geopende verbindingen, gezonden en ontvangen<br />

segmenten en diverse statistische gegevens over fouten.


Uitbreidingsprotocollen en netwerkapplicaties 76<br />

Figuur 4.11: MIB boomstructuur<br />

• De groep UDP telt het aantal gezonden en ontvangen UDP datagrammen en houdt bij<br />

hoeveel van de ontvangen datagrammen onbestelbaar waren wegens een onbekende<br />

poort of een andere reden.<br />

• De laatste groep is bedoeld om statistische gegevens te verzamelen over de werking<br />

van SNMP zelf: hoeveel berichten er worden gezonden, wat voor berichten het zijn, en<br />

dergelijke.<br />

Iedere variabele, ieder object uit de MIB wordt gekenmerkt door een object identifier (OID)<br />

en zijn type:<br />

• De OID beschrijft een pad in de MIB boomstructuur. Figuur 4.11 laat de structuur zien<br />

van de MIB zoals gebruikt voor SNMP. Het object sysObjectID, welke deel uit maakt van<br />

de groep system is bereikbaar via OID 1.3.6.1.2.1.1.2.0<br />

• Object typen worden opgebouwd mbv de fundamentele typen welke gedefinieerd worden<br />

in de SMI.<br />

Er zijn verschillende MIB’s beschikbaar. Vooreerst zijn er de globale MIB’s beschreven in<br />

RFC’s. Zo is er MIB2 beschreven in RFC1213. Dergelijke MIB’s moeten ondersteund worden<br />

door alle SNMP compatibele toestellen. Anderzijds zijn er ook de fabrikant specifieke MIB<br />

objecten.


Uitbreidingsprotocollen en netwerkapplicaties 77<br />

4.7.4 SNMP protocol<br />

Het normale gebruik van SNMP is dat het managementstation een aanvraag naar een agent<br />

zendt met de vraag om informatie of met de opdracht zijn toestand op een bepaalde manier<br />

bij te werken. In het ideale geval antwoordt de agent alleen met de gevraagde informatie<br />

of bevestigt dat hij zijn toestand heeft bijgewerkt zoals aangevraagd is. SNMP definieert de<br />

verschillende berichten die verstuurd kunnen worden.<br />

Tabel 4.2: SNMP berichten van manager naar agent<br />

Bericht<br />

Get request<br />

Get next request<br />

Get bulk request<br />

Set request<br />

Inform request<br />

Beschrijving<br />

Vraagt de waarde van één of meer variabelen op<br />

Vraagt de variabele na de huidige op<br />

Haalt een grote groep informatie op<br />

Werkt één of meer varaibelen bij<br />

Bericht tussen managers dat lokale MIB beschrijft<br />

In één bepaald geval kan de agent zelf het initiatief nemen om een bericht te versturen en<br />

dit op het moment dat een agent een bepaald kritisch event opmerkt. Managed nodes kunnen<br />

uitvallen en rebooten, netwerksegmenten kunnen uitvallen en weer in bedrijf komen,<br />

enzovoort. Elke relevant event wordt in een MIB module gedefinieerd. Wanneer een agent<br />

merkt dat er een relevant event is geweest, meldt hij dit event onmiddellijk aan alle managementstations<br />

in zijn configuratielijst. Deze melding wordt een SNMP trap genoemd. De<br />

melding zegt meestal alleen dat er één of ander event is opgetreden. Het is dan de taak van<br />

het managementstation requests uit te voeren om de details te achterhalen<br />

Tabel 4.3: SNMP berichten van agent naar manager<br />

Bericht<br />

SNMP trap<br />

Beschrijving<br />

Melding event van agent naar manager<br />

Figuur 4.12 toont dat SNMP berichten gebruik maken van het UDP protocol en welke poorten<br />

hiervoor gebruikt worden;<br />

4.8 HTTP en HTTPS<br />

4.8.1 TLS/SSL<br />

Transport Layer Security (TLS) , de opvolger van Secure Sockets Layer (SSL), is een encryptie<br />

protocol om een veilig datakanaal te creëren op een onbeveiligd netwerk zoals het Internet.<br />

Beide protocollen draaien op een laag onder de applicatieprotocollen zoals http, SMYP, FTP,<br />

en boven het transportprotocol TCP. Ze maken deel uit van de protocolsuite TCP/IP. Een belangrijke<br />

doelstelling is het beveiligen van client/server applicaties.<br />

Langs de verzendende kant zal de TLS laag gegevens van de applicatie versleutelen en doorgeven<br />

aan de juiste TCP poort. Aan de ontvangende zijde leest TLS de gegevens uit de juiste


Uitbreidingsprotocollen en netwerkapplicaties 78<br />

Figuur 4.12: SNMP communicatie<br />

TCP poort, ontsleutelt de gegevens en stuurt deze door naar de toepassing. Het doorsluizen<br />

van de gegevens is de taak van de recordlaag.<br />

Figuur 4.13: SSL TLS laag<br />

TLS voorziet de volgende veiligheden voor client/server applicaties over TCP/IP:<br />

• Authenticatie: een applicatie toestaan om de identiteit van een andere applicatie waarmee<br />

deze communiceert te verifiëren.<br />

• Privacy: gegevens die tussen applicaties worden overgebracht, kunnen niet worden<br />

misbruikt of bekeken.<br />

• Integriteit: applicaties detecteren wanneer gegevens zijn gewijzigd tijdens de transmissie.<br />

De gebruikte technieken zijn gebaseerd op concepten zoals public-key en certificaten (zie<br />

onderdeel security). Indien een applicatie gebruikt maakt van SSL/TLS wordt er eerst een<br />

handshakingprocedure gestart waarbij het versleutelalgoritme en de te gebruiken sleutels<br />

worden afgesproken en waarbij de client de server verifieert. Eens deze procedure voltooid<br />

is zullen alle toepassingsgegevens versleuteld worden. De uitvoering en opvolging van deze<br />

handshakingsprocedure gebeurt door de bovenste deellagen van het protocol. Zie figuur<br />

4.13.


Uitbreidingsprotocollen en netwerkapplicaties 79<br />

4.8.2 HTTP<br />

HTTP, HyperText Transfer Protocol, is het protocol voor de communicatie tussen een webclient<br />

(een webbrowser) en een webserver. Dit protocol wordt niet alleen veel op het World<br />

Wide Web gebruikt, maar ook op lokale netwerken. Het protocol definieert het exacte formaat<br />

van de aanvragen, de requests van een webbrowser aan de server en het formaat van<br />

de antwoorden, responses een webserver daarop kan teruggeven. Elke vraag bevat een URL<br />

die naar een webcomponent of een statisch object zoals een webpagina verwijst.<br />

Het http protocol maakt gebruik van poort 80.<br />

Elke http url begint met ’http://’.<br />

HTTP is onveilig en wordt blootgesteld aan man-in-the-middle aanvallen en afluisterpraktijken.<br />

4.8.3 HTTPS<br />

HTTPS, Hypertext Transfer Protocol Secure, is een uitbreiding op het HTTP protocol met als<br />

doel een veilige uitwisseling van gegevens. Bij gebruik van HTTPS wordt de data versleuteld,<br />

waardoor het voor een buitenstaander moeilijk wordt om de gegevens op te vangen. HTTPS is<br />

dus in principe HTTP waarbij gebruik gemaakt wordt van SSL/TLS om de data te versleutelen<br />

en de server te verifiëren.<br />

Elke url begint met ’https://’.<br />

Hiervoor wordt volgens afspraak poort 443 gebruikt.<br />

4.9 Overzicht van enkele andere belangrijke applicaties<br />

4.9.1 FTP<br />

FTP, File Transfer Protocol is een protocol dat uitwisseling van bestanden tussen verschilllende<br />

hosts vergemakkelijkt. Het staat de overdracht van een willekeurig bestand toe en bevat<br />

een mechanisme waarmee aan bestanden beperkingen ten aanzien van eigenaarschap<br />

en toegangsrechten kunnen verbonden worden. Het protocol verbergt de details van een individueel<br />

computersysteem voor de gebruiker en is dus geschikt voor heterogene situaties.<br />

Het protocol kan een bestand transporteren tussen twee totaal willekeurige systemen.<br />

4.9.2 TFTP<br />

TFTP, Trivial File Transfer Protocol, is een vereenvoudigde versie van FTP die veel gebruikt<br />

wordt om apparatuur zoals routers, switches, ... van firmware en configuraties te voorzien.<br />

4.9.3 NTP<br />

NTP, Network Time Protocol, is een protocol waarmee computers op een netwerk hun interne<br />

klok kunnen gelijkzetten aan die van andere computer. NTP is gebaseerd op de voorspelbaarheid<br />

van de netwerkvertraging. Het computernetwerk wordt hiërarchisch ingedeeld,<br />

waarbij de computer met de nauwkeurigste tijdbron wordt aangeduid met ’stratum 0’. De


Uitbreidingsprotocollen en netwerkapplicaties 80<br />

computersystemen die via NTP daar de tijd van afhalen, zijn per definitie ’stratum 1’. Het<br />

protocol beschikt over enkele intelligente functies. Zo kan een een NTP Client van meerdere<br />

NTP servers gebruik maken, waarbij de NTP Client zelf uitzoekt welke server het beste werkt.<br />

Aan de hand van een aantal beslissingscriteria kiest een NTP Client een server en synchroniseert<br />

zich daar aan. Kleine verschillen in tijd tussen server en client worden door de client<br />

bijgewerkt door de tijdsverwerking op de client computer iets sneller of langzamer te laten<br />

werken. Daardoor kan zonder sprongen in tijd het verschil worden weggewerkt.<br />

4.9.4 SSH<br />

Secure Shell situeert zich in de applicatie laag van het TCP/IP protocol. SSH vervangt oudere<br />

protocollen zoals telnet en rlogin door een beveiligde variant daarvan. Het protocol maakt<br />

gebruik van TCP-poort 22.<br />

SSH maakt het mogelijk om op een veilige manier in te loggen op een andere computer, en<br />

op afstand commando’s op de andere computer uit te voeren via een Shell. De toegepaste<br />

encryptie maakt het voor vreemden moeilijk om de originele commando’s te achterhalen.<br />

Een groot voordeel van SSH is dat ook authenticatie met behulp van een private / public key<br />

mogelijk is. Hierdoor kunnen SSH toepassingen geautomatiseerd gebruikt worden zonder dat<br />

er een wachtwoord in de code hoeft te staan. Ook kan op elk systeem dat de publieke sleutel<br />

kent, aangemeld worden door het gebruik van de geheime sleutel.<br />

4.9.5 CLI (Command Line Interface)<br />

Wanneer een besturingssyteem een Command Line Interface voorziet, dan kan de gebruiker<br />

aan de hand van een regel tekst het systeem één of meerdere opdrachten laten uitvoeren.<br />

Eens de opdracht uitgevoerd krijgt de gebruiker opnieuw de kans om een volgende commandoregel<br />

in te geven. Een commando wordt meestal afgesloten met de -toets.<br />

Gekende CLIs zijn de command.com (DOS) of bash (UNIX). Naast besturingssystemen zijn er<br />

ook andere programma’s die met een CLI kunnen werken. De FTP-client en de Telnet-client<br />

van Microsoft bijvoorbeeld gebruiken een opdrachtregel.<br />

Industriële switches zijn meestal ook configureerbaar via een CLI.


Hoofdstuk 5<br />

De switch<br />

5.1 Algemeen<br />

De switch is de basiscomponent voor de opbouw van een lokaal, op <strong>Ethernet</strong> gebaseerd netwerk.<br />

Met behulp van switches worden de verschillende deelnemers van een LAN op een<br />

intelligente manier met elkaar gekoppeld. Een switch heeft meerdere poorten. Op ieder<br />

poort van een switch kan een host (netwerkdeelnemer) aangesloten worden, of kan de verbinding<br />

gemaakt worden met een andere switch. Op die manier kan een netwerk op een<br />

stervormige manier uitgebouwd worden. Vanaf iedere poort start een netwerksegment, een<br />

collision domein.<br />

Figuur 5.1: De switch is zelflerend uit de inkomende berichten<br />

Voor iedere poort wordt softwarematig een MAC adrestabel bijgehouden. De switch is zelflerend,<br />

deze MAC adrestabel wordt gevuld door op het desbetreffende segment alle inkomende<br />

berichten te bestuderen. Het bronadres van ieder inkomend bericht op een bepaalde poort<br />

wordt gekopieerd naar de tabel. Ieder adres wordt gedurende een beperkte tijd vastgehouden<br />

en het wordt weer gewist zodra een bepaalde tijd, de holdtime, is verstreken. Door deze


De switch 82<br />

techniek wordt voorkomen dat niet-actieve stations worden geadresseerd of dat stations juist<br />

niet meer worden herkend.<br />

Voordat een datapakket via een switch wordt doorgegeven van het ene segment naar het<br />

andere segment onderzoekt een switch het MAC adres en op basis hiervan vindt al dan niet<br />

transport naar het andere segment plaats. Switches werken volgens het store-and-forward<br />

principe.<br />

Een store-and-forward switch zal eerst de volledige dataframe binnennemen, controleren op<br />

fouten en dan via de juiste poort doorsturen. De latency is dus afhankelijk van de berichtgrootte.<br />

Voorafgaand aan een bericht is er de preamble. Tussen de preamble en het <strong>Ethernet</strong> frame<br />

is er een intervaltijd, een interframe gap. Deze tijd is gelijk aan de tijd nodig om 96 bits op<br />

het netwerk te plaatsen. Deze tijd bedraagt voor 100Mbps dus 0,960µs.<br />

De theoretische latency voor een store-and-forward switch om een breicht met minimumlengte<br />

(64 bytes) door te sturen wordt bepaald volgens de formule: TL = TIG (tijd voor interframe<br />

gap) + (64 ∗ 8 ∗ TBT) [µs]<br />

TL = 0,960 + (64 ∗ 8 ∗ 0,01) = 6,08 µs.<br />

De maximum berichtgrootte is 1518 bytes. Dit komt overeen met volgende latency:<br />

TL = 0,960 + (1518 ∗ 8 ∗ 0,01) = 122,4 µs<br />

5.2 Industriële switches<br />

5.2.1 Algemeen<br />

Bij de industriële switches kan een eerste onderscheid gemaakt worden tussen twee verschillende<br />

categorieën:<br />

• non-managed switches<br />

• web-based managed switches<br />

Bij de eerste groep switches kan niets geconfigureerd worden. Voor de algemene werking<br />

van een switch dient ook niets geconfigureerd te worden.<br />

De tweede groep switches kunnen via een webserver geconfigureerd worden.<br />

benadering is ook interessant voor diagnose mogelijkheden van het netwerk.<br />

Dergelijke<br />

Figuur 5.2: De MCS 16 TX


De switch 83<br />

Figuur 5.2 toont de industriële switch FL SFN 8TX Gigabit switch van <strong>Phoenix</strong> <strong>Contact</strong>. Enkele<br />

typisch technische kenmerken van dergelijke switches zijn:<br />

• 10/100/1000 TX, auto negotiation, auto crossing<br />

• Non-managed, geen software configuratie<br />

• montage op DIN-rail, alarm contact, redundante power supply,<br />

• Temperatuursbereik: -25 ◦ C to +60 ◦ C<br />

5.2.2 Technische beschrijving van een industriële switch<br />

Aan de hand van een technische beschrijving van de uit de Factory Line van <strong>Phoenix</strong> <strong>Contact</strong><br />

worden alle mogelijke eigenschappen van een switch besproken.<br />

Figuur 5.3: De SMCS 8GT<br />

SMCS staat voor Smart Managed Compact Switch. Deze switch is conform de IEEE8<strong>02</strong>.3 standaard<br />

opgebouwd en is gemaakt om beheerbare automatiseringsnetwerken op te bouwen<br />

gebaseerd op <strong>Ethernet</strong>. Deze switch is het type met 8 RJ45 poorten om twisted pair kabel<br />

op aan te sluiten. Alle poorten ondersteunen 10/100/1000 Mbps. Alle poorten ondersteunen<br />

autonegotiation en autocrossing.<br />

De switch is naast het gebruik als normale standaard <strong>Ethernet</strong>switch, uitermate geschikt<br />

voor Profinet RT en <strong>Ethernet</strong>/IP toepassingen en ondersteunt de management functies die<br />

hiervoor nodig zijn. De switch ondersteunt IGMP Snooping voor <strong>Ethernet</strong>/IP.<br />

Redundante netwerkstructuren kunnen opgebouwd worden volgens het (Rapid) Spanning<br />

Tree Protocol of volgens Media Redundancy Protocol. Hierdoor wordt een optimale werking<br />

van het netwerk gegarandeerd onafhankelijk van de gebruikte topologie.<br />

Binnen complete netwerksystemen kan informatie uit de switch opgevraagd worden via<br />

SNMP. De configuratie en diagnose kan via een web server en een V.24 (RS232) interface<br />

gebeuren.<br />

De SWITCH SMCS is van het type store-and-forward. Alle datagrammen welke op een poort<br />

de switch bereiken worden eerst opgeslagen in een buffer en gecontroleerd op geldigheid.<br />

Corrupte datapakketten, m.a.w. pakketten welke groter zijn dan 1522 bytes, welke kleiner


De switch 84<br />

zijn dan 64 bytes of pakketten waarbij CRC fouten optreden moeten verwijderd worden. Geldige<br />

datapakketten worden dan ogenblikkelijk doorgestuurd via de juiste poort. De transmissiesnelheid<br />

wordt per poort bepaald door het aangekoppelde netwerksegment.<br />

De switch leert dynamisch alle adressen van de verschillende netwerkdeelnemers door ieder<br />

binnenkomend bericht te evalueren op het source adres. De switch moet tot 8000 adressen<br />

kunnen opslaan in zijn MAC adrestabel met een aging time van 40 seconden (default setting<br />

bij levering). Deze tijd is instelbaar van 10 tot 825 seconden via SNMP of Webbased mangement.<br />

Dit betekent dat alle adressen welke langer dan deze tijd niet meer gebruikt zijn,<br />

automatisch gewist worden uit de MAC-adrestabel.<br />

De switch is voorzien van een alarmcontact. Het alarmcontact is floating en gesloten bij een<br />

correcte werking van de switch. Dit contact volgt de werking van switch en moet geopend<br />

worden bij de hierna beschreven omstandigheden. Bij een heropstart zal de switch een hardware<br />

zelftest uitvoeren. Wanneer een fout gedetecteerd wordt tijdens deze zelftest wordt het<br />

alarmcontact geopend. Tijdens de normale werking zal een watchdog de cyclische uitvoering<br />

van het softwareprogramma opvolgen. Indien deze watchdog niet cyclisch getriggerd wordt<br />

door de software zal het alarmcontact geopend worden.<br />

Verschillende statusleds moeten de gebruiker informeren over de status van de switch. Op<br />

deze manier is een lokale diagnose mogelijk zonder gebruik te moeten maken van bijbehorende<br />

tools.<br />

De SMCS switch ondersteunt autocrossing. Hierdoor moet niet langer meer onderscheid<br />

gemaakt worden tussen een rechtdoorkabel of een gecroste <strong>Ethernet</strong> twisted-pair kabel.<br />

De SMCS ondersteunt autonegotation. Hierdoor moet de switch automatisch de parameters<br />

van een bepaald subnet op iedere poort kunnen detecteren en deze parameters toepassen<br />

op deze RJ45 poort. Deze parameters zijn de toegepaste transmissiesnelheid (10, 100 of<br />

1000 Mbps) en de transmissiemode (half duplex of full duplex). Deze automatische detectie<br />

maakt manuele interventies door de gebruiker overbodig. De functie autonegotation kan via<br />

webbased management geactiveerd of gedeactiveerd worden.<br />

Bij gebruik van twisted pair kabels waar een polariteit verkeerdelijk aangesloten is, meer<br />

bepaald het omwisselen van RD+ en RD-, zal de switch automatisch de polariteit omwisselen.<br />

Deze eigenschap staat bekend onder auto polarity exchange.<br />

De switch controleert op geregelde tijdstippen de aangesloten subnetten op iedere poort.<br />

Het gebruikt hiervoor linktestpulsen zoals beschreven in de IEEE 8<strong>02</strong>.3 standaard om de<br />

geconnecteerde TP/TX kabels te controleren op kortsluiting of onderbreking.<br />

De switch kan op twee verschillende manieren een IP adres bekomen. Via het BootP protocol<br />

of via de seriële V.24 interface. Bij levering is de toekenning van het IP adres ingesteld<br />

op BootP. Configuratiesoftware is beschikbaar om zodoende de switch op een eenvoudige<br />

manier een IP adres te geven. Het mechanisme om een IP adres toe te kennen kan gemanipuleerd<br />

worden via webbased management of de V.24 interface.<br />

Via een MODE knop vooraan op de module kan de switch in smart mode geplaatst wroden.<br />

In smart mode kan de switch in een andere gebruikersmode geplaatst worden zonder de


De switch 85<br />

management interface te moeten gebruiken. Verder is het mogelijk om in smart mode de<br />

switch te resetten naar default settings.<br />

De switch kan als Profinet IO device geconfigureerd worden. Via wabbased management of<br />

in smart mode kan de operating mode op default (normale <strong>Ethernet</strong> switch) of op Profinet IO<br />

geplaatst worden. Wordt de switch als Profinet IO device geconfigureerd, dan kan de switch<br />

opgenomen worden als Profinet IO device in de Profinet engineeringsoftware. Op die manier<br />

is er in de engineeringsoftware per ingang van de switch een byte aan diagnose-informatie<br />

ter beschikking.<br />

De SMCS switch ondersteunt het LLDP-protocol conform de IEEE8<strong>02</strong>.1ab. De switch verstuurt<br />

en ontvangt management- en verbindingsinformatie van naburige toestellen. Op die manier<br />

kunnen netwerkarchitecturen visueel voorgesteld of opgevolgd worden via beschikbare software<br />

tools. Profinet engineeringsoftware maakt hiervan gebruik om netwerkdiagnose visueel<br />

in kaart te brengen.<br />

De switch ondersteunt twee wachtrijen voor prioriteit (traffic classes volgens de IEEE8<strong>02</strong>.1D).<br />

Ontvangen datapakketten worden toegekend aan deze wachtrijen afhankelijk van hun prioriteit.<br />

De prioriteit is aangegeven in de VLAN tag van het <strong>Ethernet</strong> frame. Dit zorgt ervoor<br />

dat data met een hoge prioriteit geen vertraging ondervindt door grote hoeveelheden lage<br />

prioriteitsdata. In geval van een overload wordt data met een lage prioriteit niet meer binnengelezen.<br />

Dit principe wordt gebruikt door o.a. Profinet RT en heet Quality of Service.<br />

Een VLAN tag conform de IEEE8<strong>02</strong>.1Q kan verwerkt worden door de switch. Deze tag bestaat<br />

uit 4 bytes en staat in het <strong>Ethernet</strong> frame tussen het source address en het type veld. In die<br />

4 bytes staan er 3 bits die de prioriteit aangeven. Via de web-interface kunnen verschillende<br />

VLANs per poort op de switch ingesteld worden. Op deze manier kunnen verschillende VLANs<br />

opgebouwd worden binnen een netwerkarchitectuur met dergelijke switches. Binnen één<br />

fysisch netwerk kunnen zodoende verschillende logische netwerken gecreëerd worden.<br />

De switch ondersteunt Spanning Tree Protocol (STP) en Rapid Spanning Tree protocol (RSTP).<br />

STP is beschreven in de IEEE8<strong>02</strong>.1d norm en laat toe om ringstructuren of mesh structuren<br />

te vormen in de topologie van het netwerk. Door de mesh structuren kunnen er meerdere<br />

verbindingspaden bestaan tussen twee toestellen. Om oneindige loops en broadcast storms<br />

tegen te gaan worden enkele verbindingen onderbroken door de switch. In het geval van een<br />

kabelbreuk zal het netwerk na een zekere tijd (20..50s) herstellen door de uitgeschakelde<br />

poorten terug in te schakelen. Uitgeschakdelde poorten kunnen wel nog data ontvangen<br />

maar geen meer verzenden. Alleen ingeschakelde poorten zullen data verzenden.<br />

Het RSTP is een vernieuwde versie van het STP en kan zorgen voor omschakeltijden van 1 tot<br />

10s. Ook het RSTP ondersteunt mesh en ringstructuren. Bij de RSTP configuratie kan RSTP<br />

Fast Ring Detection functie geactiveerd worden. De functie is enkel mogelijk bij 10 of 100<br />

Mbps. Met de Fast Ring Detection funcite kan snellere omschakeltijden bekomen worden.<br />

De SMCS ondersteunt het Media Redundancy Protocol (MRP). Bij een ringtopology wordt bij<br />

een fout een hersteltijd van 200 tot 500ms verzekerd.<br />

Via SNMP (Simple Network Management Protocol) kan het toestel gemonitord worden via<br />

het netwerk. Een SNMP management systeem heeft de mogelijkheid om configuratiedata<br />

van het toestel te lezen en aan te passen en om aan diagnose te doen. Versies 1 en 2c


De switch 86<br />

van SNMP worden ondersteund. De volgende MIBs worden ondersteund: RFC1213, RMON<br />

MIB, bridge MIB, If MIB, Etherlike MIB, Iana-address-family MIB, IANAifType MIB, SNMPv2 MIB,<br />

SNMP-FRAMEWORK MIB, P bridge MIB, Q bridge MIB en de eigen SNMP objecten van <strong>Phoenix</strong><br />

<strong>Contact</strong> (FL-SWITCH-M MIB).<br />

Een lokale verbinding met de switch kan gebeuren via een V.24 interface (RS232). De kabel<br />

wordt bij de PC aangesloten op de COM poort en bij de switch op een mini-DIN socket. Bij<br />

deze lokale verbinding gebeurt de communicatie via een programma zoals HyperTerminal.<br />

Via deze interface kan het IP adres en subnetmask samen met de standaard gateway ingesteld<br />

worden. BootP, gebruikt voor het automatisch toekennen van een IP adres kan in-of<br />

uitgeschakeld worden. De parameters kunnen via deze interface opgeslagen worden, en<br />

het toestel kan opnieuw opgestart worden. Ook het herstellen van de parameters naar hun<br />

standaard defaultinstellingen is mogelijk.<br />

Een volgende interface is de webinterface. Deze interface laat diagnose en configuratie toe<br />

tijdens de opstart, het gebruik, en in het geval van een fout. De webinterface geeft ook<br />

netwerk- en toestelinformatie. Webbased management laat toe op een zeer gekende manier,<br />

op basis van een Internet Explorer, alle informatie van het toestel op te vragen. Technische<br />

data, installatiegegevens, locale diagnosegegevens en alle commando’s voor de seriële<br />

interface zijn op te vragen. Verder kunnen alle configuratieparameters gecontroleerd en aangepast<br />

worden. Hieronder worden IP configuratie, SNMP configuratie, software updates en<br />

paswoorden verstaan. Onder een item ’Switch Station’ kan allerlei diagnose-informatie over<br />

de verschillende poorten en het alarmcontact opgevolgd worden. Iedere poort kan individueel<br />

geactiveerd of gedeactiveerd worden. Per poort kunnen alle transmissieparameters<br />

aangepast worden en kan via webbased management statistische informatie over de data<br />

zelf bevraagd worden. Ook de functie ’Port Mirroring’ kan geactiveerd worden. Met deze<br />

functie is het mogelijk om alle data welke via een bepaalde poort verstuurd moet worden,<br />

ook te versturen via een andere poort. Dit is belangrijk om op deze manier via een netwerksniffer<br />

fouten op te sporen.<br />

De SMCS switch is voorzien van een memory plug, FL MEM PLUG.<br />

Enkele algemene technische en mechanische gegevens:<br />

• De montage van het toestel gebeurt op een DIN rail.<br />

• De isolatieklasse is IP20 (beschermd tegen vaste objecten groter dan 12mm, geen bescherming<br />

tegen water) DIN40050, IEC60529.<br />

• De beschermingsklasse is klasse 3 VDE 0106, IEC60536.<br />

• De voeding gebeurt op 24V DC (18.5V - 30.5V) en kan gebeuren met een sectie van<br />

maximaal 2,5 mm 2 .<br />

• Het is mogelijk om een redundante voeding te voorzien op het toestel.<br />

• De aarding gebeurt via de DIN rail waarop het toestel gemonteerd is.<br />

• Het stroomverbruik bedraagt 600mA (15W).<br />

• Het toestel is 128mm breed, 110mm hoog en 69 mm diep en weegt 650g.<br />

• De werkingstemperatuur gaat van 0 ◦ C tot 55 ◦ C en de opslagtemperatuur (buiten werking)<br />

bedraagt -40 ◦ C tot 85 ◦ C.


De switch 87<br />

• De switch moet kunnen werken en opgeslagen worden in ruimtes met een vochtigheidsgraad<br />

tussen de 10% tot 95% zonder condensatie.<br />

• De luchtdruk zou bij werking 80k Pa tot 108 kPa op 2000m hoogte mogen bedragen en<br />

bij opslag 70 kPa tot 108 kPa op een hoogte van 3000m boven het zeeniveau.


Hoofdstuk 6<br />

De router<br />

6.1 Inleiding<br />

Een router is een apparaat (dat kan een computer zijn), dat twee of meer verschillende computernetwerken<br />

aan elkaar verbindt, bijvoorbeeld internet en een bedrijfsnetwerk. Figuur<br />

6.1 toont dat een router kan gezien worden als een schakelapparaat voor datapakketten dat<br />

actief is op laag 3 van het OSI model.<br />

Figuur 6.1: De router en het OSI model<br />

6.2 Het routen van berichten<br />

Een bericht dat van de ene computer naar een andere computer over een internet moet<br />

verstuurd worden moet door verschillende routers verwerkt worden. Een zender zal het IP<br />

pakket eerst doorsturen naar een eerste router. Hiervoor kapselt de zender het IP pakket<br />

in een frame met een header conform het fysieke netwerk waarop de zender en de router<br />

gekoppeld zijn.


De router 89<br />

Figuur 6.2: Een IP pakket bij de verschillende stappen tijdens de route over een internet<br />

Als het frame de router bereikt zal deze het frame ontmantelen en het IP pakket bestuderen.<br />

De router moet nu weten via welke poort hij het bericht moet verder sturen. Om de juiste<br />

uitgaande poort te kiezen, zoekt de router het bestemmingsadres van het te routeren pakket<br />

op in de routeringstabel. Bij het TCP/IP-protocol bestaat een routeringstabel uit een tabel met<br />

IP-adressen of gegroepeerde IP-adressen (subnet), en het bijbehorende volgende knooppunt<br />

(next-hop). Het volgende knooppunt is doorgaans een andere router, die gekoppeld is via<br />

een van de poorten van de router.<br />

Wanneer het bestemmingsadres routeerbaar is, en dus bestaat in de routeringstabel, zal de<br />

router het bijbehorende volgende knooppunt gebruiken om de uitgaande poort te bepalen.<br />

Het binnenkomende IP-pakket wordt naar de uitgaande poort gestuurd. De router zal het IP<br />

pakket nu opnieuw inkapselen met een header eigen aan het fysieke netwerk waarop beide<br />

routers gekoppeld zijn. Zo toont figuur 6.2 dat een IP pakket telkens wordt ingekapseld in<br />

een frame dat bij het fysieke netwerk past.<br />

Het is duidelijk dat een router voor elke poort een IP adres heeft welke behoort tot de range<br />

van het Net ID waarop de router gekoppeld is. Maar elke poort heeft ook een fysiek hardware<br />

adres overeenstemmend met het protocol van het subnet waarop deze poort van de router<br />

gekoppeld is.<br />

De router bouwt een routeringstabel op door route informatie uit te wisselen met buurrouters.<br />

Zo ontstaat een volledig beeld van alle routes in het IP netwerk. De router zal op basis<br />

van het kortste pad algoritme (Edsger Dijkstra), een routeringstabel opbouwen waarbij het<br />

kortste pad wordt gekozen naar de eindbestemming. In andere bewoording: het knooppunt<br />

dat gekozen wordt, maakt deel uit van het kortste pad. Hiervoor bestaan verschillende routeringsprotocollen.<br />

Een router wordt beschouwd als een uitvoerapparaat. Een datapakket mag normaal maar<br />

door een bepaald aantal routers heen gaan voor het op zijn eindbestemming aankomt, bepaald<br />

door de TTL-waarde (Time to Live) van het pakketje.


De router 90<br />

6.3 Soorten routers<br />

Er bestaan veel verschillende soorten routers. Ze kunnen van elkaar worden onderscheiden<br />

door de vorm die ze hebben, de aansluitingen van de router en allerlei extra functies die in<br />

de router zijn ingebouwd, zoals een modem, firewall of een switch.<br />

Er kan onderscheid gemaakt worden tussen software routers en hardware routers. Met behulp<br />

van software kan een eenvoudige PC, uitgerust met twee netwerkinterfaces als router<br />

functioneren. Een hardware router is een apart toestel. Eigenlijk is het toestel een kleine,<br />

eenvoudige computer welke speciaal is ontwikkeld voor het routeren.<br />

Commerciële routers voor thuisgebruik zijn vaak gecombineerd met een switch, voorzien van<br />

een modem en een wireless AP zodat er maar één toestel nodig is om een privé netwerkje te<br />

koppelen aan het Internet.<br />

Ook zijn er switches met routerfunctionaliteiten op de markt. Vaak wordt voor deze toestellen<br />

de naam laag-3-switch gehanteerd.<br />

Verder in dit hoofdstuk ligt de nadruk op industriële routers. In zijn eenvoudigste vorm is<br />

dergelijke router voorzien van een LAN en een WAN interface. Hiermee kan een industrieel<br />

netwerk gekoppeld worden aan een bedrijfsnetwerk of aan het Internet. De industriële routers<br />

hebben ook allerlei extra functionaliteiten opdat ze als een volwaardige security module<br />

kunnen ingezet worden voor een veilige koppeling van industriële netwerken aan bedrijfsnetwerken.<br />

6.4 Laag 3 switch<br />

Zoals beschreven operen netwerk switches op laag 2 van het OSI model en netwerk routers<br />

op laag 3 van het OSI model. Een laag 3 switch is een performant toestel voor netwerk<br />

routing.<br />

Laag 3 switches verschillen in weinig van standaard netwerk routers. Beide verwerken inkomende<br />

berichten en aan de hand van de adressen opgegeven inde berichten worden dynamische<br />

beslissingen genomen omtrent het verder doorsturen van deze berichten (routeren).<br />

Ze zijn ontstaan in de nood naar routers welke gemakkelijk kunnen ingezet worden in uitgebreide<br />

LAN netwerken zoals bedrijfsintranetten.<br />

Het belangrijkste verschil tussen laag 3 switches en standaard routers is de hardware opbouw.<br />

Bij een laag 3 switch wordt de hardware van een switch gecombineerd met deze van<br />

een router om dus een betere perfomantie te kunnen garanderen bij het routeren in grotere<br />

LAN infrastructuren. Typisch gebruikt voor intranetten zal een laag 3 switch geen WAN poort<br />

bezitten en meestal ook geen typische WAN applicaties ondersteunen.<br />

6.5 Koppeling van een privé netwerk aan het Internet<br />

Een industriële router zal gebruikt worden om een automatiseringsnetwerk te koppelen aan<br />

een bedrijfsnetwerk of aan het Internet. Voor het op <strong>Ethernet</strong> gebaseerde automatiseringsnetwerk<br />

zal een Net ID moeten gekozen worden. Bij voorkeur een Net ID dat voldoet aan de<br />

RFC 1597.


De router 91<br />

Figuur 6.3 toont een voorbeeld. De router zal langs LAN zijde een IP adres bekomen welke<br />

behoort tot de range van het gekozen Net ID. Meestal wordt dit het eerste of het laatste vrije<br />

IP adres van het netwerk. Anderzijds heeft de netwerkinterface langs LAN zijde ook een MAC<br />

adres. De router zal op het netwerk fungeren als default gateway.<br />

Figuur 6.3: Koppeling van een privé netwerk aan het Internet via een router<br />

Via de WAN interface van de router kan het netwerk gekoppeld worden aan het Internet.<br />

Hiervoor krijgt de router, meestal via DHCP, van een ISP (Internet Service Provider) een uniek<br />

IP adres op het Internet.<br />

Ieder toestel op het netwerk kan nu als volgt geconfigureerd worden.<br />

IP adres 172.23.22.14<br />

Subnetmask 255.255.0.0<br />

Default gateway 172.23.0.1<br />

Hierbij krijgt ieder deelnemer een IP adres waarbij de Net ID voor iedere deelnemer gelijk is,<br />

maar het Host ID voor iedere deelnemer uniek is.<br />

Indien een applicatie vanop een PC op het netwerk een communicatie wil opstarten met<br />

een Server op het Internet moet de PC een eerste IP pakket opmaken om verbinding aan<br />

te vragen. Dit IP pakket wordt op het Internet verstuurd via de default gateway. Hiervoor<br />

kapselt de PC het IP pakket in een <strong>Ethernet</strong>frame. Figuur 6.4 toont de gegevens welke nodig<br />

zijn om het <strong>Ethernet</strong>frame op te maken. Het MAC adres van de router wordt via het ARP<br />

protocol bekomen.<br />

Eens het bericht aangekomen bij de router zal deze het IP pakket via de WAN interface doorsturen<br />

naar een andere router op het Internet. Omdat het privé netwerk gescheiden is van<br />

het Internet zal de router het source IP adres van de PC vervangen via door zijn IP adres langs<br />

WAN zijde. Het privé netwerk is enkel via dit externe IP adres van de router bereikbaar via<br />

het Internet.<br />

De server kan nu een antwoord versturen en zal dit antwoord richten aan het externe IP adres<br />

van de router. Er ontstaat nu een probleem want de router moet nu beslissen naar welke PC


De router 92<br />

Figuur 6.4: Koppeling van een privé netwerk aan het Internet via een router<br />

dit bericht moet verstuurd worden. In het antwoord van de Server staan geen gegevens meer<br />

omtrent de orignele zender. Om dit probleem op te lossen werd IP NAT ontwikkeld.<br />

6.6 IP NAT<br />

6.6.1 NAT: IP masquerading<br />

Network Address Translation (NAT) is een protocol dat toelaat om een netwerk met niet geregistreerde<br />

IP adressen (een privé netwerk dat voldoet aan RFC 1597) te koppelen aan het<br />

Internet. Zoals in de vorige paragraaf beschreven, plaatst de router telkens zijn extern IP<br />

adres als source IP adres in elk bericht dat vanuit het privé netwerk op Internet verstuurd<br />

wordt. Alle antwoorden zullen nu gericht zijn aan het externe IP adres van de router.<br />

Het NAT protocol laat toe dat een router het TCP source port veld wijzigt. In een NAT tabel<br />

worden alle nieuwe poortnummers gelinkt aan een intern endpoint. Ieder antwoord vanop<br />

het Internet naar een PC op het privé netwerk zal gericht zijn aan het externe IP adres van<br />

de router maar zal als TCP destination port een poortnummer uit de NAT tabel van de router<br />

bevatten. Op die manier weet de router voor welk endpoint dit bericht bestemd is.<br />

Praktisch gezien is NAT een protocol welke een IP adres van het ene netwerk vertaalt in een<br />

IP adres gekend in een ander netwerk. Het ene netwerk wordt the inside genoemd, het andere<br />

netwerk the outside. Typisch zal een bedrijf zijn locale inside IP adressen vertalen naar<br />

één of meerdere globale outside IP adressen en zal het globale IP adressen van inkomende<br />

berichten terug vertalen naar inside IP adressen. NAT laat dus toe dat een bedrijf slechts<br />

één globaal IP adres gebruikt voor zijn communicatie met de buitenwereld, het Internet. Dit<br />

draagt bij tot het security concept omdat alle uitgaande en inkomende berichten onderworpen<br />

worden aan een vertaling van adressen.<br />

Figuur 6.5 toont de werking van het NAT protocol. Dit is het dynamisch gebruik van het NAT<br />

protocol, wordt daarom soms ook wel dynamisch NAT genoemd.<br />

6.6.2 Port Forwarding<br />

Port forwarding is het statisch gebruik van het NAT protocol. Indien er op het privé netwerk<br />

Servers aanwezig zijn welke rechtstreeks via het Internet bereikbaar moeten zijn kunnen de<br />

endpoints van deze Servers op een statische manier gekoppeld worden aan poortnummers


De router 93<br />

Figuur 6.5: Werking van het NAT protocol: op een PC met IP adres 172.23.22.14 wordt het<br />

http://166.68.45.159: 80 commando gegeven<br />

in de NAT tabel van de router. Om deze server van op het Internet te bereiken moet als<br />

endpoint het externe IP adres van de router gekoppeld worden aan het poortnummer uit de<br />

NAT tabel. De router zal in een inkomend bericht bestemd voor die specifieke Server het<br />

endpoint vertalen naar het correcte endpoint van de Server. Dit is reeds een extra vorm<br />

van security. De excate IP gegevens van de Server moeten niet bekendgemaakt worden<br />

en eventuele hackers hebben ook geen idee over de archtectuur van het netwerk waar die<br />

Servers zich op bevinden. Figuur 6.6 toont welke configuratie er moet gebeuren voor port<br />

forwarding of statisch NAT.


De router 94<br />

Figuur 6.6: Port forwarding<br />

6.7 1:1 NAT<br />

1:1 NAT is protocol waarbij een IP adres vertaald wordt in een ander IP adres zonder de<br />

gebruikte TCP/UDP poorten te wijzigen.<br />

Indien een router langs LAN zijde verbonden is met het netwerk 192.168.1.0/24 en via de<br />

WAN poort verbonden is met het netwerk 10.1.0.0/16 en als extern IP adres 10.1.1.0/16<br />

heeft, dan is met behulp van 1:1 NAT de LAN deelnemer met IP adres 192.168.1.100 via de<br />

WAN zijde bereikbaar via het IP adres 10.1.1.100.<br />

Figuur 6.7: Mapping van het IP adres bij 1:1 NAT<br />

1:1 NAT biedt interessante mogelijkheden voor de automatiseringswereld:<br />

• Verschillende subnetten kunnen aan elkaar gekoppeld worden waarbij op alle subnetten<br />

eenzelfde IP adressering gehanteerd wordt.<br />

• Er hoeven geen bijkomende routes gedefinieerd te worden in het bedrijfsnetwerk.<br />

• Een ARP demon op de mGuard verwerkt de ARP requests vanop het externe netwerk.


De router 95<br />

• Systemen op subnetten kunnen dadelijk aangesproken worden vanuit het bedrijfsnetwerk<br />

door de IP mapping. Bij deze mapping wordt het HOST ID behouden en wordt<br />

enkel het NET ID aangepast.<br />

Figuur 6.8 toont de werking van 1:1 NAT.


De router 96<br />

Figuur 6.8: Principe van 1:1 NAT


Hoofdstuk 7<br />

De firewall<br />

7.1 Inleiding<br />

Een firewall is een applicatie welke datagewijs de toegang regelt tot het netwerk. Een firewall<br />

is ontworpen om al het verkeer te weigeren, behalve het verkeer dat expliciet doorgelaten<br />

mag worden.<br />

Soms bestaat er verwarring tussen een router en een firewall alhoewel er een fundamenteel<br />

verschil is. Een router is een netwerk structuurelement bedoeld om het dataverkeer zo snel<br />

en efficiënt mogelijk door te sturen en dus zeker niet bedoel om dat te blokkeren.<br />

Het gebruik van firewalls moet zeker niet beperkt worden tot Internet verbindingen. Het kan<br />

ook interessant zijn om firewalls in te zetten binnenin internet netwerken om verschillende<br />

delen apart te beveiligen. Firewalls kunnen meestal ook geconfigureerd worden om al het<br />

verkeer in een logboek te registreren en kunnen gecentraliseerde managementfuncties uit<br />

voeren.<br />

7.2 Soorten firewalls<br />

Er zijn twee soorten firewals. Er zijn de software firewalls en de hardware firewalls. Een<br />

software firewall is een firewall die als een programma op een computer geïnstalleerd wordt.<br />

Een hardware firewall is een afzonderlijk apparaat zoals de router met geïntegreerde firewall.<br />

Beide soorten firewalls (sofware- en hardware firewalls) hebben een gelijkaardige werking.<br />

De gebruikte terminologie is op beiden van toepassing.<br />

Ook naar werking bestaan er verschillende soorten firewalls. Het onderscheid wordt gemaakt<br />

op basis van de manier waarop een beslissing genomen wordt om data al dan niet door te<br />

laten.<br />

• Pakket filter: aan de hand van een aantal regels bepaalt de firewall of een IP pakket<br />

wordt doorgelaten of tegengehouden. Dergelijke regels worden opgebouwd aan de<br />

hand van IP adressen, domeinnamen, protocollen (http, ftp, telnet, ...) en poortnummers.<br />

Dergelijke firewalls werken eenvoudig en snel. De pakket filter werkt eigenlijk<br />

als een portier: hij screent eerder oppervlakkig de voorbijkomende berichten. Zo wordt<br />

nagegaan of de berichten binnenkomend zijn (inbound), naar buiten gaan (outbound)


De firewall 98<br />

of op doorreis zijn (route). De opgegeven, maar gemakkelijk te vervalsen (spoofen)<br />

herkomst en de eindbestemming (IP adres en poortnummer) worden gecontroleerd. Er<br />

wordt er in de transportlaag gekeken naar het opgeven type en de aard van het bericht.<br />

Maar wat er werkelijk in het bericht staat wordt niet doorgenomen.<br />

Pakket filter zijn stateless. Ze controleren de herkomst en de bestemming maar kunnen<br />

niet evalueren op verdachte patronen in een bepaalde sessie. Zo kan niet opgemerkt<br />

worden als er plots verdacht veel datapakketten tussen bepaalde applicaties uitgewisseld<br />

worden.<br />

• Stateful inspection: naast de verschillende regels conform een pakket filter kan dergelijke<br />

firewall tussentijdse informatie bijhouden omtrent de toestand van alle connecties<br />

die over de firewall lopen. Stateful Packet Inspection (SPI) betekent dat ieder pakket<br />

vanaf de aanmelding en de daarop volgende handshaking tussen de communicerende<br />

hosts de context ervan onderzoekt. Statefull inspection zal op deze manier gedurende<br />

de volledige sessie nagaan wat er volgens het verbindingsverzoek toegestaan is. Eerst<br />

wordt net als bij een stateless pakket filter nagegaan of de verbinding tussen de bron<br />

en het doel op zich is toegestaan. Zo nee, dan wordt het synchronisatie verzoek verworpen.<br />

Is de verbinding toegestaan dan wordt de informatie uit het eerste datagram dat<br />

de sessie opbouwt (SYN) gedurende de sessie in een state-table database in het geheugen<br />

bewaard. Als er binnen de context van die verbinding iets vreemds gebeurt (een<br />

host verandert plotseling zijn IP adres of onverwacht zijn doelpoort) wordt de sessie<br />

onderbroken.<br />

De meest courante firewalls zijn stateful inspection firewalls.


Hoofdstuk 8<br />

VPN<br />

8.1 Inleiding<br />

Datapakketten worden meestal volledig onbeschermd over het Internet verstuurd. Hierdoor<br />

is er geen:<br />

• geheimhouding van de data (encryptie)<br />

• identiteitsgarantie van de afzender (authentication)<br />

• controle of data al dan niet corrupt is (integriteit)<br />

Een Virtual Private Network (VPN) is een privaat communicatiekanaal welke functioneert als<br />

een koepel boven op een publieke infrastructuur, meestal het Internet. De te verzenden data<br />

via deze dienst wordt zodanig beveiligd dat de integriteit, autorisatie en authenticiteit van<br />

de data gewaarborgd blijft. De eindgebruikers zullen in principe niet merken dat er een VPN<br />

gebruikt wordt. Er zijn verschillende protocollen die deze dienst beschikbaar maken.<br />

8.2 Internet Protocol Security, IPsec<br />

IPsec, Internet Protocol Security, is het meest geïmplementeerde VPN protocol. IPsec maakt<br />

encryptie van de data tussen twee communicatiepartners mogelijk. IPsec kan transparant<br />

geïmplementeerd worden in een netwerkinfrastructuur. IPSec (een acroniem voor Internet<br />

Protocol Security) is een suite van protocollen die er samen voor zorgen dat IP-pakketten beveiligd<br />

over een IP-netwerk verzonden kunnen worden. IP security biedt internetgebruikers<br />

dus de mogelijkheid om op een beveiligde manier data te verzenden. De suite van protocollen<br />

verzorgt daarvoor de volgende diensten, die tijdens het verzenden van een IP datapakket<br />

actief zijn:<br />

• Integriteit: het protocol biedt de garantie dat het verzonden pakket tijdens het transport<br />

niet door derden veranderd is.<br />

• Authenticatie: het protocol legt de identiteit van de communicatiepartijen vast. Tijdens<br />

een beveiligd transport van data moet gegarandeerd worden dat de beoogde partij<br />

voor ontvangst van het datapakket ook daadwerkelijk de partij is, die het ontvangt.<br />

• Ontvangstbevestiging: het protocol toont aan dat wanneer er een transport van gegevens<br />

heeft plaatsgevonden de ontvangende partij dit niet kan ontkennen.


VPN 100<br />

• Confidentialiteit: het protocol zorgt voor de daadwerkelijke beveiliging van de gegevens<br />

en garandeert de afzender dat alleen de ontvangende partij het bericht kan lezen.<br />

Figuur 8.1: Internetwerken<br />

Het protocol wordt vooral ingezet bij het verzenden van informatie via publieke verbindingen<br />

en voorkomt zogenaamde ’Man in the middle attacks’ en ’Spoofing’. Het maakt daarbij gebruik<br />

van het zogenaamde IKE-protocol (Internet Key-Exchange) waarmee de partijen worden<br />

geïdentificeerd die een verbinding tot stand willen brengen. Vervolgens wordt een verbinding<br />

opgebouwd en wordt de te verzenden data door middel van encryptie beveiligd.<br />

Encryptie wordt bij tal van protocollen gebruikt om geheimhouding van data te realiseren. Bij<br />

encryptie zal de data getransformeerd worden naar een onleesbare vorm, de zogenaamde<br />

cyphertekst. Door middel van een sleutel kan de ontvanger dan een omgekeerde transformatie<br />

uitvoeren (decryptie) waardoor de tekst terug leesbaar wordt. De meest performante<br />

encryptietechnieken vandaag de dag zijn 3DES en AES. AES heeft altijd de voorkeur vanwege<br />

haar sterkere crypto eigenschappen t.o.v. 3DES. 3DES is verouderd en mag alleen gebruikt<br />

worden als er geen mogelijkheden zijn om AES te gebruiken.<br />

IPSec ondersteunt beveiliging vanaf de derde laag van het OSI-model, namelijk de netwerklaag.<br />

Hierdoor kan het gebruikt worden door zowel TCP als UDP maar het levert wel overhead<br />

op ten opzichte van bijvoorbeeld SSL dat op hogere OSI-niveaus werkt (en geen UDP kan beveiligen).<br />

De standaard is door het IETF vastgelegd in RFC’s 2401-2412, optioneel voor IPv4<br />

en verplicht bij IPv6.<br />

Het protocol is als volgt opgebouwd:<br />

• Authentication Header (AH): checksumcontrole over het gehele IP-pakket.<br />

• Encapsulating Security Payload (ESP): waakt tegen Man-in-the-middle-aanval aanvallen.<br />

• IP payload compression (IPcomp): compressie op de payload van het IP-pakket voordat<br />

de encryptie plaatsvindt.<br />

• Internet Key Exchange (IKE): assisteert bij het opbouwen van de verbinding door veilig<br />

de sleutels/certificaten over te brengen.


VPN 101<br />

IPsec bestaat in twee varianten:<br />

• Transport: versleutelt de inhoud (payload) van het IP-pakket, maar niet de header. In<br />

deze mode wordt er geen nieuw IP-pakket gemaakt, maar worden de headers (AH of<br />

ESP of allebei) in het IP-pakket gestopt. De bron- en doeladressen blijven ongewijzigd.<br />

• Tunnel: versleutelt zowel de inhoud van het IP-pakket als de header.In deze mode wordt<br />

het complete IP-pakket in een compleet nieuw IP-pakket gestopt. Het IP-pakket heeft<br />

als bron- en doeladres het begin- en eindpunt van de tunnel.<br />

8.3 VPN implementaties<br />

VPN kan op drie verschillende manieren geïmplementeerd worden.<br />

1. Security gateway to Security gateway<br />

Figuur 8.2: Internetwerken<br />

2. Host to security gateway<br />

Figuur 8.3: Internetwerken<br />

3. Host to Host gateway


VPN 1<strong>02</strong><br />

Figuur 8.4: Internetwerken


Hoofdstuk 9<br />

Automatiseringsnetwerken &<br />

Security<br />

9.1 Bedrijfsnetwerk<br />

Een bedrijfsnetwerk is het geheel van servers, computers en systemen om de algemene<br />

werking van het bedrijf op IT-niveau mogelijk te maken. <strong>Ethernet</strong> TCP/IP is al jarenlang de<br />

standaard voor het uitwerken van IT-netwerken in kantoren en bedrijven. Een bedrijfsnetwerk<br />

is in zijn eenvoudigste vorm aan het Internet gekoppeld via een router en een firewall.<br />

Grotere bedrijfsnetwerken voorzien aanvullend een DMZ, dit is een gedeelte van het netwerk<br />

waarbinnen publieke servers staan (mailserver, webserver, DNS server, ...).<br />

Figuur 9.1: Een bedrijfsnetwerk<br />

Een router is in zijn eenvoudigste vorm een toestel dat communicatie tussen twee netwerken<br />

mogelijk maakt. Hier concreet langs de ene kant het bedrijfsnetwerk (LAN), langs de andere<br />

zijde het Internet (WAN). Firewalls worden gebruikt om ongewenste communicatie te blokkeren,<br />

waarbij IP pakketten volgens door de gebruiker vastgelegde regels gefilterd worden.<br />

Zowel inkomende als uitgaande communicatie kan daarbij geblokkeerd worden. De filtercriteria<br />

kunnen IP adressen, poortnummers of bepaalde protocollen zijn die naar keuze kunnen<br />

geblokkeerd of vrijgeven worden.


Automatiseringsnetwerken & Security 104<br />

9.2 Automatiseringsnetwerk<br />

9.2.1 Automatiseringscel<br />

Een automatiseringscel is het geheel van PC’s, dataservers, controllers, IO devices, sensoren<br />

en actoren welke nodig zijn om de verschillende functionaliteiten van een automatiseringsconcept<br />

uit te voeren.<br />

Een automatiseringsproject is het geheel van<br />

• Productielijnen en procesinstallaties<br />

• PLC systemen (Progammeerbare Logic Controllers)<br />

• ESD systemen (Emergency Shut Down and Safaty Controllers)<br />

• DCS systemen (Process and distributed Control Systems)<br />

• SCADA systemen (Supervisory Control and Data Acquisition)<br />

Switches zijn de structuurelementen waarmee een volledige automatiseringscel verder opgebouwd<br />

wordt. Door de combinatie van verschillende topologieën en media wordt een flexibel,<br />

veilig en beheersbaar netwerk op basis van <strong>Ethernet</strong> TCP/IP uitgebouwd op de industriële<br />

werkvloer.<br />

Figuur 9.2: Verschillende topologieën in een automatiseringscel<br />

Belangrijke segmenten worden via switches in een redundante ring met elkaar verbonden. In<br />

bepaalde deelsegmenten worden netwerkdeelnemers in ster verbonden via switches (zoals<br />

in normale IT-netwerken). Waar mogelijk wordt een lijnstructuur toegepast om deelnemers<br />

met elkaar te verbinden. Om een lijnstructuur mogelijk te maken is het noodzakelijk dat alle<br />

IO-devices standaard voorzien zijn van een geïntegreerde switch.<br />

9.2.2 Automatiseringsnetwerk<br />

Een automatiseringsnetwerk bestaat uit één of meerdere automatiseringscellen.<br />

wordt iedere cel gescheiden door een router.<br />

Hierbij


Automatiseringsnetwerken & Security 105<br />

Figuur 9.3: Automatiseringsnetwerk<br />

Bekabeling en connectoren in een automatiseringsnetwerk<br />

De uitbouw en de bekabeling gekend van de kantooromgeving kunnen niet onbeperkt in ruwe<br />

industriële omgevingen toegepast worden.<br />

Kabels, connectoren en infrastructuurelementen moeten afgestemd zijn op de productieomgeving<br />

waar belastingen als vocht, grote temperatuursvariaties, schokken of trillingen kunnen<br />

optreden. Deze onderdelen, connectoren en kabels, moeten voldoen aan de kwaliteitseisen<br />

van de industrie. Dit is de eerste stap naar een betrouwbaar automatiseringsnetwerk.<br />

Het is belangrijk dat alle <strong>Ethernet</strong>kabels op een eenvoudige manier op de werkvloer kunnen<br />

geconfigureerd worden. Het is aanbevolen om eerst de bekabeling uit te voeren en pas<br />

nadien de <strong>Ethernet</strong>connectoren aan te brengen.<br />

Gebruik van switches<br />

Als structuurelementen worden uitsluitend switches gebruikt. De opbouw van het netwerk is<br />

belangrijk om de netwerkbelasting te optimaliseren. Deze mag nooit hoger zijn dan 60% van<br />

de volledige netwerkcapaciteit.<br />

Voor de opbouw van een redundante ringstructuur moeten de switches RSTP ondersteunen.<br />

Voor het beheer en diagnose van het netwerk moeten switches binnen de verschillende automatiseringscellen<br />

volgende protocollen ondersteunen:<br />

• Webbased management, voor een snelle en duidelijke configuratie<br />

• SNMP, voor toesteldiagnose<br />

• LLDP, voor controle en diagnose van de netwerktopologie<br />

• VLAN, voor een gestructureerde opsplitsing van het netwerk


Automatiseringsnetwerken & Security 106<br />

Switches moeten de mogelijkheid bieden om bij verschillende gebeurtenissen SNMP trap<br />

meldingen te versturen of een alarm contact in te schakelen. Voor de eenvoudige configuratie<br />

van nieuwe toestellen wordt een smart memory plug gebruikt. Een andere belangrijke<br />

stap in een beveiligd netwerk is het gebruik van VLAN.<br />

9.2.3 Koppeling van een automatiseringsnetwerk aan een bedrijfsnetwerk<br />

De koppeling van een automatiseringsnetwerk met het bedrijfsnetwerk gebeurt door middel<br />

van een router. Deze router zorgt voor een ideale scheiding tussen de twee netwerken welke<br />

totaal verschillende vereisten hebben. Deze router moet een open doch sterk beveiligde<br />

communicatiestructuur tussen het bedrijfsnetwerk en het automatiseringsnetwerk mogelijk<br />

maken.<br />

9.3 Noodzaak aan beveiliging<br />

9.3.1 Inleiding<br />

Automatiseringsnetwerken zijn tot op heden meestal geïsoleerde netwerken met controllers<br />

en netwerkprotocollen welke gebaseerd zijn op proprietaire protocollen. De productieafdeling<br />

is meestal zelf verantwoordelijk voor de industriële communicatie. Security is zelden een<br />

aandachtspunt.<br />

Moderne automatiseringsprojecten worden gekenmerkt door open systemen en communicatienetwerken<br />

gebaseerd op <strong>Ethernet</strong> TCP/IP. Hierdoor wordt de IT-afdeling medeverantwoordelijk<br />

voor de industriële communicatie. Security wordt een belangrijk aandachtspunt.<br />

Dat Windows en <strong>Ethernet</strong> de productiehallen veroveren is een interessante ontwikkeling.<br />

Maar in toenemende mate wordt duidelijk dat ook virussen en hackers vat krijgen op machineparken<br />

en installaties. Het wordt dus belangrijk om de automatiseringswereld te beschermen<br />

tegen de gevaren die al jaren gekend zijn in de IT-wereld.<br />

9.3.2 Bewustwording<br />

Het bewustzijn en de kennis om het kantoornetwerk te beveiligen is heden ten dage heel<br />

sterk aanwezig. Het is standaard geworden om een firewall te plaatsen tussen het kantoornetwerk<br />

en het Internet aangevuld met een aantal bijkomende beveiligingsmaatregelen.<br />

Hiermee is het kantoornetwerk goed beveiligd.<br />

Op productieniveau is dit bewustzijn en deze kennis nog niet zo sterk aanwezig. Volgende<br />

vragen zijn op de werkvloer dan ook voor de hand liggend:<br />

• Is de productie IT wel zo kwetsbaar dat beveiliging zich opdringt?<br />

• En als het bedrijfsnetwerk goed beveiligd is, kan er toch niets fout gaan?<br />

• Welke niet-geautoriseerde persoon gaat zich nu bezighouden met het hacken van de<br />

productieapparatuur en de fabriek stilleggen?<br />

• Daarenboven draaien er toch binnen de industriële IT totaal andere protocollen op het<br />

systeem dan de gekende Microsoft-protocollen. Hierdoor zijn productienetwerken toch<br />

minder gevoelig voor aanvallen van de buitenwereld?


Automatiseringsnetwerken & Security 107<br />

Dit laatste was vroeger correct, maar er is een evolutie naar het gebruik van open systemen<br />

zoals op Windows gebaseerde software-applicaties en protocollen zoals HTTP, FTP, of DCOM<br />

(gebruikt in OPC) tot op PLC niveau. Deze open systemen zijn virus gevoelig en kunnen<br />

zorgen voor het blokkeren van de PLC.<br />

Enerzijds situeren de problemen op de industriële werkvloer zich zozeer rond het opzettelijk<br />

hacken maar eerder rond toevallige fouten binnen de productie. Bijvoorbeeld kabels die<br />

uitgetrokken of verkeerd ingeplugd worden. Productiestilstand of erger kan het gevolg zijn<br />

van het gebruik van een USB-stick die een virus bevat en welke ingeplugd wordt in een PC<br />

die met een machine verbonden is. Dataverkeer vanuit het kantoornetwerk kan zorgen voor<br />

delays op het productienetwerk.<br />

Anderzijds mag niet uitgesloten worden dat er misbruik kan gemaakt worden van de data<br />

die gehackt wordt. Het bedrijf kan gechanteerd worden om het zo te treffen. Recente studies<br />

tonen een evolutie aan op het gebied van industriële security incidenten. De meer<br />

accidentele gebeurtenissen worden meer en meer aangevuld met externe incidenten zoals<br />

virussen, trojan horses, systeem hacking, sabotage,... . Hackers krijgen meer en meer kennis<br />

van besturingssystemen en SCADA applicaties. Hackers doen het heden minder voor de fun<br />

maar meer en meer in het kader van de georganiseerde misdaad om een bepaald bedrijf te<br />

chanteren.<br />

Beveiligen wordt een must.<br />

9.3.3 Doelstelling van security<br />

De hoofddoelstellingen van security zijn drieledig:<br />

• Betrouwbaarheid (confidentiality): zekerheid dat gegevens niet terecht komen bij derden.<br />

• Juistheid van de gegevens (Integrity): bescherming van de gegevens tegen ongewenste<br />

aanpassingen of tegen het vernietigen ervan.<br />

• Beschikbaarheid (availability): resources zijn beschikbaar en functioneren correct op<br />

het ogenblik dat ze dit moeten doen.<br />

Veiligheid zal dus het voorkomen zijn dat iemand ongewenst in het systeem komt, dat het<br />

systeem ten aller tijden normaal blijft functioneren en dat alle gegevens in het systeem op<br />

een betrouwbare manier kunnen verhandeld worden.<br />

9.3.4 Security in de kantoorwereld versus security in de automatiseringswereld<br />

Inleiding<br />

Door de integratie van open systemen kan de indruk ontstaan dat de security problemen<br />

binnen de productiewereld op te lossen zijn door de aanpak binnen de kantoorwereld over te<br />

nemen. Er zijn echter belangrijke verschillen tussen beide domeinen. De kantoor IT is niet<br />

dezelfde als de productie IT. Er moet nagegaan worden wat er uit de kantoor IT al dan niet kan<br />

gebruikt worden in de productie IT. Er is een standaard in ontwikkeling, de ANSI/ISA99, om<br />

het wat, hoe en waarom van security in de automatiseringswereld volledig te beschrijven.


Automatiseringsnetwerken & Security 108<br />

Hoofddoelstelling security<br />

Vooreerst is er een belangrijk verschil in de hoofddoelstelling van security.<br />

In de kantoorwereld is het hoofddoel van security altijd het op een vertrouwelijke manier<br />

verhandelen van data en gegevens.<br />

In de automatiseringswereld zal het hoofddoel van security altijd de beschikbaarheid van het<br />

productiesysteem zijn.<br />

Netwerkprestaties<br />

Beide domeinen hebben totaal verschillende prestatievereisten.<br />

Een overzicht:<br />

Automatiseringsnetwerk<br />

Real-time<br />

Respons is tijdskritisch<br />

Matige throughput aanvaardbaar<br />

Grote vertraging is een probleem<br />

Kantoornetwerk<br />

Niet real-time<br />

Respons moet betrouwbaar zijn<br />

Hoge throughput gewenst<br />

Grote vertraging en jitter mag<br />

Hierdoor is het belangrijk om de impact van security technologieën op de performantie van<br />

het systeem goed te kunnen inschatten alvorens deze geïmplementeerd worden. Zo wordt<br />

in de kantoorwereld veel encryptie toegepast. Encryptie komt echter de real-time werking<br />

niet ten goede.<br />

Betrouwbaarheid van een netwerk<br />

Ook de vereisten naar betrouwbaarheid zijn voor beide domeinen verschillend.<br />

Een overzicht:<br />

Automatiseringsnetwerk<br />

Continue operaties<br />

Stroomonderbrekingen niet toegelaten<br />

Verondersteld getest voor de implementatie<br />

Formele certificatie is verplicht bij aanpassingen<br />

Kantoornetwerk<br />

Geplande operaties<br />

Onderbrekingen toegelaten<br />

Beta testen ter plaatse toegelaten<br />

Weinig papierwerk bij aanpassingen<br />

Het installeren van een nieuw service pack is hier een mooi voorbeeld van. In de kantoorwereld<br />

is dit een normale zaak, in de industriële wereld is de installatie van een service pack<br />

zeker niet evident en in bepaalde industriële takken niet toegelaten.<br />

Verschillende risico opvatting<br />

Automatiseringsnetwerk<br />

Menselijke veiligheid<br />

Risico impact is verlies van leven, product<br />

of toestel<br />

Fout tolerantie is essentieel<br />

Kantoornetwerk<br />

Data integriteit<br />

Risico impact is verlies van data, bedrijfsoperaties<br />

Heropstart via reboot<br />

Verder zijn er in de automatiseringsnetwerken de kritische reactietijden op menselijke interventies.<br />

Het bedienen van een noodstop bijvoorbeeld kan niet belemmerd worden door<br />

paswoordbeveiligingen.


Automatiseringsnetwerken & Security 109<br />

Verschillende security architectuur<br />

In de kantoor IT zijn de centrale servers de meest kritische toestellen om te beveiligen.<br />

Bij de productie IT is het eindtoestel, zoals de PLC, het meest kritische toestel en niet de<br />

centrale dataserver met de historische data van het proces.<br />

Besluit<br />

De klassieke firewall beschermt tegen hackers, wormvirussen en spyware. Het zijn softwareprogramma’s<br />

die het netwerk of de specifieke computer beschermen tegen de buitenwereld<br />

en enkel vertrouwde boodschappen doorlaten. Eén van de doelen is alle verdachte<br />

programma’s die vanuit de eigen locatie verbinding zoeken met het Internet te blokkeren.<br />

Aanvullend in de kantoor IT zijn er de zogenaamde antivirusprogramma’s, anti-spyware en<br />

anti-adware-programma’s die elk binnenkomend bestand tegenhouden, controleren op de<br />

aanwezigheid van in databases opgeslagen bedreigingen en deze dan clean verklaren of in<br />

quarantaine plaatsen. Ook screenen ze alle opgeroepen files op de aanwezigheid van in de<br />

database opgenomen virussen, spyware en adware. Het principe van deze IT-bescherming<br />

is dat de firewall al het inkomend en uitgaand dataverkeer, alle datafiles, programma’s,...<br />

bekijkt en analyseert. Dergelijke firewalls vertragen het systeem en indien nodig hinderen<br />

ze de werking van het programma.<br />

Om een meer industriële firewall te realiseren, zullen in de eerste plaats technieken gebruikt<br />

worden om geen vertraging op te lopen en toch de veiligheid en betrouwbaarheid van de<br />

data te garanderen. Men kan daarbij gebruik maken van veilige communicatiekanalen tussen<br />

bijvoorbeeld PLC en de bedieningscomputer of dataservers. Om real-time werking te<br />

verzekeren mag er geen vertraging optreden bij het controleren van de data die de firewall<br />

passeert.Er zullen andere technologieen moeten toegepast worden. Een mogelijkheid is om<br />

niet niet de eigenlijke data maar eeder de toegepaste protocollen te controleren.<br />

9.3.5 Standaardisatie omtrent security in automatiseringsnetwerken<br />

Inleiding<br />

ANSI/ISA 99 geeft richtlijnen bij het uitvoeren van een risico-inventarisatie, het opstellen<br />

van een zogenaamd cyber security beleid en het uitvoeren van dat beleid. De standaard is<br />

opgesteld in samenwerking met eindgebruikers, systeemintegratoren en leveranciers. De<br />

ANSI/ISA 99 norm is in volle ontwikkeling. Momenteel zijn er 2 delen beschikbaar.<br />

Figuur 9.4 toont een overzicht van de ISA 99 standaard. Bedoeling is dat deel 1 een raamwerk<br />

wordt rond alle andere delen. Momenteel zijn enkel deel 1 en deel 2.01 beschikbaar.<br />

Deel 1 (ANSI/ISA report TR99.00.01- 2007)<br />

Dit eerste deel heeft als title : ’Security for Industrial Automation and Control Systems’,<br />

de laatste versie dateert van 29 oktober 2007. Het Beschrijft security technologieën welke<br />

heden beschikbaar zijn voor industriële productie en controle systemen. In dit deel worden<br />

technologieën zoals authenticatie en autorisatie, firewalls, VPN,... besproken.<br />

Authenticatie is het proces om gebruikers, toestellen, applicaties, resources positief te kunnen<br />

herkennen. Authenticatie kan gebeuren aan de hand van iets wat gekend is (pincode,


Automatiseringsnetwerken & Security 110<br />

Figuur 9.4: De ANSI/ISA 99 standaard<br />

paswoord,...) , iets wat in bezit is (sleutel, intelligente kaart, dongle,...) iets fysisch (vingerafdruk,...<br />

). Hierbij moet onderscheid gemaakt worden tussen 2 verschillende authenticaties:<br />

user authenticatie en netwerk service authenticatie.<br />

Deel 2 (ANSI/ISA report TR99.00.<strong>02</strong>- 2004)<br />

Oorspronkelijk had het tweede deel als titel : Integrating Electronic Security into the Manufacturing<br />

and Control Systems Environment. Het oorspronkelijke deel 2 en deel 3 worden<br />

nu uiteindelijk samengebracht tot deel 2. Deel 2 zal dan uit twee onderdelen bestaan. Het<br />

eerste deel ISA 99 part 2.01, is klaar en krijgt als titel ’Establishing an Industrial Automation<br />

and Control Systems Security Program’. Bedoeling is de bedrijven te ondersteunen bij het<br />

opstellen van een security management plan. De basis van dergelijk plan is om alle mogelijke<br />

risico’s in kaart te brengen en vervolgens een aantal oplossingen te formuleren. ISA 99<br />

part 2.<strong>02</strong> zal beschrijven hoe dergelijk security plan moet uitgevoerd worden.<br />

Deel 4<br />

In deel 4 zullen de eisen welke gesteld worden aan apparatuur en systemen beschreven<br />

worden opdat deze zouden voldoen aan de ISA 99 standaard.<br />

9.3.6 Een veiligheidsprogramma<br />

Het uitwerken van een veiligheidsplan is meer dan alleen maar aandacht hebben voor technische<br />

oplossingen zoals firewalls en encryptie van data. Verschillende menselijke factoren<br />

kunnen bijdragen tot een succesvolle implementatie van een CSMS (Cyber Security Management<br />

System). Verschillende aandachtspunten welke kunnen leiden tot een succesvolle<br />

integratie:<br />

• Een veiligheidsbeleid moet volledig passen in het bedrijfsbeleid<br />

• Het veiligheidsprogramma moet passen in de bedrijfscultuur


Automatiseringsnetwerken & Security 111<br />

• Ondersteuning en engagement van het bedrijfsmanagement<br />

• Duidelijke budgettering van security management acties<br />

• Scheiden van de functionaliteiten: indien een productieverantwoordelijke ook verantwoordelijk<br />

is voor security dan komt security vaak op de tweede plaats.<br />

• Activiteiten en opleidingen organiseren voor alle werknemers<br />

• Richtlijnen verspreiden onder alle werknemers<br />

•<br />

9.4 Security in de praktijk<br />

Security betekent eigenlijk de machine, de productie of het proces beschermen tegen bepaalde<br />

menselijke activiteiten. Menselijke activiteiten kunnen onbewust of doelbewust ervoor<br />

zorgen dat er productiestilstand gecreëerd wordt.<br />

Om security toe te passen is er niet één regel maar moeten verschillende concepten er toe<br />

leiden dat menselijke fouten geminimaliseerd worden of dat personen met slechte intenties<br />

afgeschrikt worden om misbruik te maken van de beschikbare data.<br />

Security op de werkvloer kan op verschillende niveaus geïntegreerd worden.<br />

9.4.1 Laag 1 security<br />

Een eerste stap in een goed beveiligd netwerk is de mechanische beveiliging van de netwerkkabels.<br />

Safe clips moeten vermijden dat netwerkkabels eenvoudig kunnen verwijderd<br />

worden uit een netwerkpoort. Ook de toegang tot vrije RJ45 poorten van de verschillende<br />

switches moet mechanisch bemoeilijkt worden om de toegang van ongewenste deelnemers<br />

te verhinderen.<br />

Figuur 9.5 toont de mogelijkheid om ongebruikte poorten te blokkeren of om <strong>Ethernet</strong> connectoren<br />

vast te zetten.<br />

Figuur 9.5: Laag 1 security<br />

9.4.2 Laag 2 security<br />

Een tweede stap bij het beveiligen van een netwerk is het gebruik van de beschikbare software<br />

voor het managen van switches.<br />

Switches moeten de mogelijkheid bieden om enkele belangrijke beveiligingen in te stellen:<br />

• Webbased management moet paswoord beveiligd zijn.


Automatiseringsnetwerken & Security 112<br />

• Er moet de mogelijkheid zijn om op basis van IP-adressen verschillende rechten toe te<br />

kennen (read-only of read-write beveiliging).<br />

• Switches moeten de mogelijkheid bieden om verschillende beveiligingen per poort in<br />

te stellen. Zo moet per poort een lijst van toegelaten MAC adressen ingesteld kunnen<br />

worden.<br />

9.4.3 Laag 3 security<br />

De belangrijkste stap bij het beveiligen van een automatiseringsnetwerk is het scheiden van<br />

verschillende segmenten door een security module. Een security module is een router met<br />

volgende mogelijkheden:<br />

• NAT en 1:1 NAT: het toepassen van NAT zorgt reeds voor een vertaling van IP adressen.<br />

Hierdoor is het voor een buitenstaander al moeilijker om de toegepaste IP adressering<br />

op het netwerk te achterhalen.<br />

• Geïntegreerde stateful inspection firewall.<br />

• User firewall: individuele rules voor verschillende gebruikers.<br />

• Ondersteuning van VPN technologie.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!