diff --git a/lib/ipaddress/ipv4.rb b/lib/ipaddress/ipv4.rb
index a32a4a0ad3a92e0d7443c168f350cff5ecb312ce..38afbb10de9c4be7afe9dc444c8fb9b92f02c160 100644
--- a/lib/ipaddress/ipv4.rb
+++ b/lib/ipaddress/ipv4.rb
@@ -584,6 +584,20 @@ module IPAddress;
        self.class.new("192.168.0.0/16")].any? {|i| i.include? self}
     end
 
+    #
+    # Checks if an IPv4 address objects belongs
+    # to a multicast network RFC3171
+    #
+    # Example:
+    #
+    #   ip = IPAddress "224.0.0.0/4"
+    #   ip.multicast?
+    #     #=> true
+    #    
+    def multicast?
+      [self.class.new("224.0.0.0/4")].any? {|i| i.include? self}
+    end
+
     #
     # Returns the IP address in in-addr.arpa format
     # for DNS lookups