Vector of IP networks
ip_network()
constructs a vector of IP networks.
is_ip_network()
checks if an object is of class ip_network
.
as_ip_network()
casts an object to ip_network
.
ip_network(...) ## Default S3 method: ip_network(x = character(), strict = TRUE, ...) ## S3 method for class 'ip_address' ip_network(address, prefix_length, strict = TRUE, ...) is_ip_network(x) as_ip_network(x) ## S3 method for class 'character' as_ip_network(x) ## S3 method for class 'ip_interface' as_ip_network(x) ## S3 method for class 'ip_network' as.character(x, ...) ## S3 method for class 'ip_network' format(x, exploded = FALSE, ...)
... |
Included for S3 generic consistency |
x |
|
strict |
If |
address |
An |
prefix_length |
An integer vector |
exploded |
Logical scalar. Should IPv6 addresses display leading zeros?
(default: |
An IP network corresponds to a contiguous range of IP addresses
(also known as an IP block). CIDR notation represents an
IP network as the routing prefix address (which denotes the start
of the range) and the prefix length (which indicates the size of
the range) separated by a forward slash. For example, 192.168.0.0/24
represents addresses from 192.168.0.0
to 192.168.0.255
.
The prefix length indicates the number of bits reserved by the routing prefix. This means that larger prefix lengths indicate smaller networks. The maximum prefix length is 32 for IPv4 and 128 for IPv6. These would correspond to an IP network of a single IP address.
The ip_network()
constructor accepts a character vector of IP networks
in CIDR notation. It checks whether each string is a valid IPv4 or IPv6
network, and converts it to an ip_network
object. If the input is invalid,
a warning is emitted and NA
is stored instead.
An alternative constructor accepts an ip_address
vector and an
integer vector containing the network address and prefix length, respectively.
When casting an ip_network
object back to a character vector using
as.character()
, IPv6 addresses are reduced to their compressed representation.
When comparing and sorting ip_network
vectors, the network address is
compared before the prefix length.
An S3 vector of class ip_network
vignette("ipaddress-classes")
# construct from character vector ip_network(c("192.168.0.0/24", "2001:db8::/48")) # validates inputs and replaces with NA ip_network(c("192.168.0.0/33", "192.168.0.0")) # IP networks should not have any host bits set ip_network("192.168.0.1/22") # but we can mask the host bits if desired ip_network("192.168.0.1/22", strict = FALSE) # construct from address + prefix length ip_network(ip_address("192.168.0.0"), 24L) # construct from address + netmask ip_network(ip_address("192.168.0.0"), prefix_length(ip_address("255.255.255.0"))) # construct from address + hostmask ip_network(ip_address("192.168.0.0"), prefix_length(ip_address("0.0.0.255")))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.