This class defines the API to manipulate the following aspects of the Ipv4 implementation:
Each NetDevice has conceptually a single Ipv4 interface associated with it (the corresponding structure in the Linux Ipv4 implementation is struct in_device). Each interface may have one or more Ipv4 addresses associated with it. Each Ipv4 address may have different subnet mask, scope, etc., so all of this per-address information is stored in an Ipv4InterfaceAddress class (the corresponding structure in Linux is struct in_ifaddr)
Ipv4 attributes such as whether IP forwarding is enabled and disabled are also stored in this class
TO DO: Add API to allow access to the Ipv4 neighbor table