01.12.2014 Views

Ethernet Basics Rev. 02 - Phoenix Contact

Ethernet Basics Rev. 02 - Phoenix Contact

Ethernet Basics Rev. 02 - Phoenix Contact

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!