Message rate limit is per TCP connection, not IP address, however the resulting block is by IP. JOIN/authentication limiting is per IP.
If your bot is going over the 100 in 30 limit even after implementing a proper queuing system you should reach out to support to discuss white-listing which will grant an even higher limit for messages. Using multiple connections to bypass limits could be interpreted as a violation of the developer agreement.