Академический Документы
Профессиональный Документы
Культура Документы
Introduction
Types of chats Internet Relay chat
Architecture of IRC
Components
Clients
Operator
Server
Servers
Architecture
[ Server 15 ] [ Server 13 ] [ Server 14] / \ / \ [ Server 11 ] ------ [ Server 1 ] [ Server 12] / \ / / \ / [ Server 2 ] [ Server 3 ] / \ \ / \ \ [ Server 4 ] [ Server 5 ] [ Server 6 ] / | \ / / | \ / / | \____ / / | \ / : [Server 7 ] [ Server 8 ] [ Server 9 ] [ Server 10 ] : [ etc. ] : [ Fig. 1. Format of IRC server network ]
Communication
A 2--/ \
1--\ /
D---4
B----C / \ 3 E Servers: A, B, C, D, E Clients: 1, 2, 3, 4 One-to-one communication One-to-many communication To a List To a Channel To a host/server mask One-to-All communication
Messages Message format in pseudo BNF The BNF representation for this is: <message> ::= [':' <prefix> <SPACE> ] <command> <params> <crlf> <prefix> ::= <servername> | <nick> [ '!' <user> ] [ '@' <host> ] <command> ::= <letter> { <letter> } | <number> <number> <number> <SPACE> ::= ' ' { ' ' } <params> ::= <SPACE> [ ':' <trailing> | <middle> <params> ] <middle> ::= <Any *non-empty* sequence of octets not including SPACE or NUL or CR or LF, the first of which may not be ':'> <trailing> ::= <Any, possibly *empty*, sequence of octets not including NUL or CR or LF> <crlf> ::= CR LF Numeric replies:
Connection Registration
Password message Command:PASSParameters:<password> Nick message Command: NICKParameters: <nickname> [ <hopcount> ] User message Command: USERParameters: <username> <hostname> <servername> <realname :testnick USER guest tolmoon tolsun :Ronnie Reagan Server message Command: SERVERParameters: <servername> <hopcount> <info> Numeric Replies: ERR_ALREADYREGISTRED :tolsun.oulu.fi SERVER csd.bu.edu 5 :BU Central Server ; Server tolsun.oulu.fi is our uplink for csd.bu.edu which is 5 hops away.
Connection Registration
[<Quit message>]
Channel operations
Join message Command: JOINParameters: <channel>{,<channel>} [<key>{,<key>}] Part message Command: PARTParameters: <channel>{,<channel>} Mode message Command: MODE Parameters: <nickname> {[+|-]|i|w|s|o} User modes i - marks a users as invisible; s - marks a user for receipt of server notices; w - user receives wallops; o - operator flag :Angel MODE Angel +i ; Message from Angel to make themselves invisible.
Channel operations
Version message Command: VERSIONParameters: [<server>] Stats message Command: STATSParameters: [<query> [<server>]] STATS m ; check the command usage for the server you are connected to Admin command Command: ADMINParameters: [<server>]
Sending messages
Private messages Command: PRIVMSGParameters: <receiver>{,<receiver>} <text to be sent> Notice Command: NOTICEParameters: <nickname> <text>
Miscellaneous messages
Ping message Command: PINGParameters: <server1> [<server2>] Pong message Command: PONGParameters: <daemon> [<daemon2>]
Programs
Window Client Programs mirc,pirch,wsirc Mac Client Programs ircle,snak UNIX Client Program Irc||
Channel Management
Channel Characteristics Namespace #- Standard channels channel Delay ! Safe channels + - Do not support channel modes & - Local channels Privileged Channel Members INVITE - Invite a client to an invite-only channel (mode +i) KICK - Eject a client from the channel MODE - Change the channel's mode, as well as members privileges PRIVMSG - Sending messages to the channel (mode +n, +m, +v) TOPIC - Change the channel topic in a mode +t channel
Channel Modes
The various modes available for channels are as follows: O - give "channel creator" status; o - give/take channel operator privilege; v - give/take the voice privilege; a - toggle the anonymous channel flag; i - toggle the invite-only channel flag; m - toggle the moderated channel; n - toggle the no messages to channel from clients on the outside; q - toggle the quiet channel flag;
Channel Modes
p - toggle the private channel flag; s - toggle the secret channel flag; r - toggle the server reop channel flag; t - toggle the topic settable by channel operator only flag; k - set/remove the channel key (password); l - set/remove the user limit to channel; b - set/remove ban mask to keep users out; e - set/remove an exception mask to override a ban mask; I - set/remove an invitation mask to automatically override the invite-only flag;
Channel Management
Channel Privacy
Anonymity
CONCLUSION
Thank You