Ethernet Basics Rev. 02 - Phoenix Contact
Ethernet Basics Rev. 02 - Phoenix Contact
Ethernet Basics Rev. 02 - Phoenix Contact
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<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.