Useful features of the IRC protocol (RFC 1459) for IRC-IoT protocol
Network traffic can be localized within the one IRC
If the IRC channel is created on some
IRC server and all the robots that
entered to this channel are connected only through the same
IRC server, the traffic does not
go beyond this IRC server, even if
this IRC server is a member of a
large IRC network, with many related
among themselves IRC servers.
Total data streams in IRC
network is large enough.
The total volume of information transmitted through
one IRC network is limited by the
size of this network, i.e. the number of participating
IRC servers, the total
bandwidth of all these IRC servers,
the settings of each of these servers, and the current dynamic network configuration,
determined by the needs of its individual participants. In general, the system is
sufficiently scalable, and fits well into the Internet, regardless of the version
of its protocol (IPv4 or IPv6).
One IoT-Bot can be present on multiple channels
: Disconnection, in case of «freezing»
of the code in IoT-Bot
The IRC protocol provides for a special
mechanism, the so-called «Keep Alive», which allows you to
disconnect «hungs» connections.
Each IRC server periodically sends
to each client connected to it (in our case – IoT-Bot), a
special PING command, to which the robot should send a
response: PONG. If there is no answer, the connection is
closed and the client is disconnected from the
: Disconnect from the server if there are too many messages.
With the appropriate server settings, a specific client can not flood the
network with its messages, can't block
the operation of servers and connected robots. However, this function can be a problem
when setting up a large network with a large number of messages, and you may need not only
to configure the server but also to recompile it.
channel mode when it is closed to enter (+i
) invite only mode
Login by invitation (invite
) or by password.
channel mode when it becomes moderated (+m
) moderated mode
Allowing the robot to write in the channel (voice
The ability to send private messages without entering the
If the robots know about each other, for example, they are registered
with each other in their settings, or in their own databases,
they can staynot enter any IRC channel at all, transmitting tie-and-tete
information with a direct private message. If the robots know about each
other, for example, they are registered with each other in their settings,
or in their own databases, they can stay out from any
transmitting information with a direct private message.
For this, one robot must find out the name (NickName)
of another robot. This can be done by receiving messages from the opposite
side, and by mutual authentication.
Also, in the IRC network, there may be a
special service: NickServ, which assigns a specific NickName to a
specific network mask, and also protects the NickName with a password.
Dynamic creation of IRC
channels, registration, and fixing of their owners.
For technical needs, robots can temporarily create technical channels
for small group sessions of data exchange, for example, for auctions, or
publishing important for other information. To do this, IoT-Bot
invites their partners who are not with him in one
IRC channel to a new, "dynamic"
channel, they conduct a communication session there, after which all the
robots leave the channel and it is automatically eliminated. Constant
channels, for example, relating to a house, apartment, or apartment building,
can be registered, so that they can not enter or be controlled by outsiders.
To solve this problem, a special service (ChanServ)
can be created in the IRC network.
Creating IRC channels
registered in this service may require a network mask matching,
and, or knowledge of the corresponding password.
Copyright © 2018, 2019 by Alexey Y. Woronov, All rights reserved.