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.
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.