![]() |
||||||||||||||||||||||||
Hoe werkt IRC?Om dat uit te leggen het volgende voorbeeld: Er is een IRC netwerk dat bestaat uit aan elkaar gekoppelde servers (computers). In dit voorbeeld zijn het er 3 (irc.xs4all.nl +irc.sci.kun.nl + chat.bt.net), maar het kunnen er ook 200 zijn. Zodra shorty inlogt op de server irc.xs4all.nl gebeurt er het volgende: |
||||||||||||||||||||||||
|
||||||||||||||||||||||||
| Shorty is nu ingelogd op irc.xs4all.nl en die server stuurt een kopie van de gegevens van shorty naar alle andere servers in het netwerk. Op elke server kun je nu /whois shorty doen en dan zie je op welke server shorty is ingelogd. De nicknaam shorty kan nu niet meer door iemand anders worden gebruikt. Shorty heeft nog geen /join commando gegeven en "zit" dus niet op een kanaal. Zodra shorty het commando /join #DutchChat doet, gebeurt er het volgende: | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
| Het kanaal #DutchChat is nu opgericht en dat wordt aan
alle servers in het IRC netwerk gemeld. De gegevens van shorty zelf worden gekoppeld aan
dat kanaal omdat hij het /join commando heeft gegeven. Ook die informatie wordt aan alle
servers doorgegeven. Omdat shorty de eerste is die het kanaal joint, krijgt ie vanzelf de
op-status (het @ teken). Ook dat wordt aan alle servers doorgegeven. Nu loggen er nog meer mensen in: King op de server irc.sci.kun.nl en Guppie op de server chat.bt.net. Daarna is de situatie als volgt: |
||||||||||||||||||||||||
|
||||||||||||||||||||||||
| King en Guppie zijn wel ingelogd maar hebben geen kanaal gejoind. Zodra King en Guppie het kanaal #DutchChat joinen (en nadat ze van shorty een opje hebben gekregen) is de situatie als volgt: | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
| Nu kunnen King, Guppie en shorty, naast het chatten via
/msg of /query en een eventuele DCC, ook gewoon "op het kanaal" met elkaar
praten. King opent nu een eigen kanaal, #Majesteit met het commando /join #Majesteit. King doet dat op de server waarop hij zelf is ingelogd (irc.sci.kun.nl dus). Die server geeft alle informatie door aan alle andere servers. Zodra dat is gebeurd, is de situatie als volgt: |
||||||||||||||||||||||||
|
||||||||||||||||||||||||
| Nu gaat er iets fout bij de servers. Door (bijvoorbeeld) een uitgevallen computer raakt de verbinding tussen irc.xs4all.nl en de andere servers verbroken. Dat heet een split. Nadat die split heeft plaatsgevonden is de situatie als volgt: | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
| Het kanaal #Majesteit "verdwijnt" helemaal
van irc.xs4all (omdat er via irc.xs4all niemand had gejoind) maar irc.xs4all
"weet" nog dat dit kanaal er vlak voor de split was. Daarom
"blokkeert" irc.xs4all.nl die kanaalnaam. Er kan via irc.xs4all.nl nu niemand
dat kanaal joinen. King en Guppie zelf "verdwijnen" ook van irc.xs4all omdat zij
daar niet hadden ingelogd. Maar omdat irc.xs4all nog "weet" dat vlak voor de
split er een King en Guppie waren, blokkeert irc.xs4all.nl die twee nicknamen. Shorty
verdwijnt van alle andere servers dan de server waar hij zelf had ingelogd. Maar omdat die
andere servers nog "weten" dat de nicknaam shorty in gebruik was vlak voorde
split, blokkeren zij die nicknaam. Niemand kan die nicknaam nu gebruiken. Als King en shorty prive met elkaar aan het praten waren via /msg of /query, is die verbinding door de split ook verbroken. Waren zij via DCC aan het praten dan blijft die verbinding gewoon bestaan tijdens de split. Zodra de split weer wordt opgeheven (de servers worden weer onderling gekoppeld) zullen alle gegevens over users en kanalen tussen de servers worden uitgewisseld, waardoor uiteindelijk de situatie weer als volgt is: |
||||||||||||||||||||||||
|
||||||||||||||||||||||||
| Uiteraard is dit voorbeeld eenvoudig gehouden, maar als het goed is, begrijp je nu hoe IRC technisch gezien werkt. | ||||||||||||||||||||||||
Als je commentaar hebt op deze pagina, stuur een mail aan shorty, die deze pagina onderhoudt. |
||||||||||||||||||||||||
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
Deze pagina is voor het laatst aangepast op dinsdag 17 juli 2001. |
||||||||||||||||||||||||