BNF Format for multicast Protocol URI

<multicast_connection> ::= <inbound_connection> | <outbound_connection>
<inbound_connection> ::= "multicast://" ":" [ <portnumber> ] [ <auto_join> ]
<outbound_connection> ::= "multicast://" <host> ":" <portnumber>
<multicast_permission> ::= "multicast://"[<hostspec>] ":" <portspec>
<host> ::= <host name> | <ipaddr>
<ipaddr> ::= IPv4address | '[' IPv6address ']'
<hostspec> ::= <host> | "*"
<auto_join> ::= "?join="<host>
<portspec> ::= <portnumber> |  <portrange> | "*"
<portnumber> ::= numeric port number
<portrange> ::= <portnumber> "-" | "-" <portnumber> | <portnumber> "-" <portnumber>

Note that, per RFC 3986, protocol schemes are case-insensitive. The above BNF reflects the normalized form.