Subnetwork

From Wikipedia, the free encyclopedia

A graphic representation of relationships and source of the various variables representing a chunk of /24 subnets
A graphic representation of relationships and source of the various variables representing a chunk of /24 subnets

In computer networks that use the Internet Protocol, a subnetwork or subnet is a range of logical addresses within the address space that is assigned to an organization. The addresses of all nodes in a subnet start with the same binary sequence, which is the subnet's network ID and subnet ID. In IPv4, the subnet is identified by its base address and subnet mask. The CIDR-style prefix notation (e.g., /24) is functionally equivalent to a subnet mask, and generally easier to understand.

For example, suppose a home network consists of computers named Foo and Bar, connected to a router, and then via a cable modem to the Internet. The home network is configured as a subnet. Address 17.76.99.1 is assigned to Foo, and 17.76.99.2 to Bar. The subnet has been configured so that the first three octets of its members' addresses are all the same subnet id, 17.76.99, and this fact is expressed by the subnet mask 255.255.255.0 (binary 11111111 11111111 11111111 00000000) configured in the router. When Foo sends data to amazon.com at 72.21.210.11, the router ANDs the address with the subnet mask, recognizes that the first three octets of the address are not within its subnet, and sends the data over the Internet. When Foo sends data to Bar, however, it determines that the destination lies within the subnet. The data is transmitted by broadcasting within the home network, with each machine being responsible for discarding data that were not addressed to it.

In a large organization, the amount of broadcast data would become unmanageable if every computer received broadcasts from every other computer. For this reason, subnetting can be hierarchical, with the network address space of the organization (and of the network nodes of an autonomous system) partitioned into several subnets. Routers constitute borders between subnets. Communication to and from a subnet is mediated by one specific port of one specific router, at least momentarily. Communication is on a broadcast basis only within the smallest subnet.

A typical subnet is a physical network served by one router, for instance an Ethernet network (consisting of one or several Ethernet segments or local area networks, interconnected by network switches and network bridges) or a Virtual Local Area Network (VLAN). However, subnetting allows the network to be logically divided regardless of the physical layout of a network, since it is possible to divide a physical network into several subnets by configuring different host computers to use different routers.

Subnetting simplifies routing, since each locally connected subnet is typically represented by one row in the routing tables in each connected router. More distant sets of contiguous subnets are more likely to be represented by a row of the routing table that corresponds to the aggregated block.

Subnetting was originally introduced before the introduction of classful network addresses in IPv4, to allow a single larger network to have a number of smaller networks within it, controlled by several routers. Subnetting made Classless Inter-Domain Routing possible.

In order for computers to communicate in a routing domain with one or many subnets, they will all need their own IP address. However, if you need more than one logical block of addresses, subnetting provides the ability to easily divide one IP address range amongst all the hosts in your network. Subnetting is used in IP networks to break up larger network prefixes into a smaller network. Subnetting involves manually calculating the bits of an IP address and taking them from the host side of bits and adding them to the routing prefix side.

Contents

[edit] Network address and logical address

The term network address sometimes refers to logical address, i.e. network layer address such as the IP address, and sometimes to the first address (the base address) of a classful address range to an organization.

Computers and devices that are part of an internetworking network such as the Internet each have a logical address. The network address is unique to each device and can either be dynamically or statically configured. An address allows a device to communicate with other devices connected to a network. The most common network addressing scheme is IPv4. An IPv4 address consists of a 32 bit address written, for human readability, into 4 octets and a subnet mask of like size and notation. In order to facilitate the routing process the address is divided into two pieces: 1) The network prefix length that is significant for routing decisions at that particular topological point, and 2) The remaining bits that make up the host portion of the address. A host address is meaningful only when on the subnet where that host resides. This works much like a postal address where the higher order part of the network prefix (e.g., /18) would represent the city, and the host address (i.e., the remaining six bits) would represent the address of a specific house on that street. The subnet mask or CIDR suffix address is used in conjunction with the network address to determine which part of the address is the network address and which part is the host address.

[edit] Binary subnet masks

While subnet masks are often represented in dot-decimal form, their use becomes clearer in binary. Looking at a network address and a subnet mask in binary, a device can determine which part of the address is the network address and which part is the host address. To do this, it performs a bitwise "AND" operation.

Example

Dot-decimal Address Binary
Full Network Address 192.168.5.10 11000000.10101000.00000101.00001010
Subnet Mask 255.255.255.0 11111111.11111111.11111111.00000000
Network Portion 192.168.5.0 11000000.10101000.00000101.00000000
Host Portion 0.0.0.10 00000000.00000000.00000000.00001010

Subnet masks consist of 32 bits, a block of 1s followed by a block of 0s. The 1s designate that part of the address as being part of the network portion and the 0s designate that part as being part of the host address. Subnet masks do not have to fill a given octet. This allows a classful network to be broken down into subnets. A classful network is a network that has a subnet mask of 255.0.0.0, 255.255.0.0 or 255.255.255.0. Subnet masks can also be expressed in a shorter form, known as Classless Inter-Domain Routing (CIDR) notation, which gives the network number followed by a slash ("/") and the number of 'one' bits in the binary notation of the netmask (i.e. the number of relevant bits in the network number). For example, 192.0.2.96/24 indicates an IP address where the first 24 bits are used as network address (same as 255.255.255.0).

[edit] IPv4 classes

IPv4 addresses are broken down into three parts: the network part, the subnet part (now often considered part of the network part, although originally it was part of the rest part), and the host part. Even though classful networks are obsolete, both classful and classless networks are shown in the following table.

Class Leading bits Start End Default Subnet Mask in dotted decimal
A (CIDR /8) 0 0.0.0.0 127.255.255.255 255.0.0.0
B (CIDR /16) 10 128.0.0.0 191.255.255.255 255.255.0.0
C (CIDR /24) 110 192.0.0.0 223.255.255.255 255.255.255.0
D 1110 224.0.0.0 239.255.255.255
E 1111 240.0.0.0 255.255.255.0

While the 127.0.0.0/8 network is in the Class A area, it is designated for loopback and cannot be assigned to a network.

Class D multicasting

Class E reserved

Subnetting is the process of allocating bits from the host portion as a network portion. The above example shows the bitwise "AND" process being performed on a classful network. The following example shows bits being borrowed to turn a classful network into a subnet.

Subnetting
Subnetting

Example

Dot-decimal Address Binary
Full Network Address 192.168.5.130 11000000.10101000.00000101.10000010
Subnet Mask 255.255.255.192 11111111.11111111.11111111.11000000
Network Portion 192.168.5.128 11000000.10101000.00000101.10000000

In this example two bits were borrowed from the original host portion. This is beneficial because it allows a single network portion to be split into several smaller network portions. By design IPv4 addresses are limited in number and each classful network portion is capable of supporting a finite number of hosts. A /24 suffix, such as a classful C block, for example has space for 254 hosts. If a network were to be split into four parts using a classful suffix, four different /24 addresses would have to be used to serve those networks. Using the subnetting example above, if each subnetwork were to have 62 hosts or less (see below for maths), a single /24 suffix could be split up to service the entire network while wasting the fewest host addresses.

[edit] Subnets and host count

It is possible to determine the number of hosts and subnetworks available for any subnet mask. In the above example two bits were borrowed to create subnetworks. Each bit can take the value 1 or 0, giving 4 possible subnets (22 = 4)

Network Network (binary) Broadcast address
192.168.5.0/26 11000000.10101000.00000101.00000000 192.168.5.63
192.168.5.64/26 11000000.10101000.00000101.01000000 192.168.5.127
192.168.5.128/26 11000000.10101000.00000101.10000000 192.168.5.191
192.168.5.192/26 11000000.10101000.00000101.11000000 192.168.5.255


According to the RFC 950 standard the subnet values consisting of all zeros and all ones are reserved, reducing the number of available subnets by 2. However due to the inefficiencies introduced by this convention it is no longer used on the public Internet, and is only relevant when dealing with legacy equipment that does not understand CIDR. The only reason not to use the all-zeroes subnet is that it is ambiguous when the exact suffix length is not available. All CIDR-compliant routing protocols transmit both length and suffix. See RFC 1878 for a subnetting table with extensive examples.

The remaining bits after the subnet are used for addressing hosts within the subnet. In the above example the subnet mask consists of 26 bits, leaving 6 bits for the address (32 − 26). This allows for 64 possible combinations (26), however the all zeros value and all ones value are reserved for the network ID and broadcast address respectively, leaving 62 addresses.

In general the number of available hosts on a subnet can be calculated using the formula 2n − 2, where n is the number of bits used for the host portion of the address.

RFC 3021 specifies an exception to this rule when dealing with 31 bit subnet masks (i.e. 1 host bit). According to the above rule a 31 bit mask would allow for 21 − 2 = 0 hosts. The RFC makes allowances in this case for certain types of networks (point-to-point) to disregard the network and broadcast address, allowing two host addresses to be allocated.

Possible subnets for a /24 suffix (traditional Class C):

CIDR notation Network Mask Available Networks Available Hosts per network Total usable hosts
/24 255.255.255.0 1 254 254
/25 255.255.255.128 2 126 252
/26 255.255.255.192 4 62 248
/27 255.255.255.224 8 30 240
/28 255.255.255.240 16 14 224
/29 255.255.255.248 32 6 192
/30 255.255.255.252 64 2 128
/31 255.255.255.254 128 2 * 256

* only applicable on point-to-point links

[edit] References

  • RFC 950 Internet Standard Subnetting Procedure
  • RFC 1812 Requirements for IPv4 Routers
  • RFC 917 Utility of subnets of Internet networks
  • RFC 1101 DNS Encodings of Network Names and Other Type
  • RFC 1878 Variable Length Subnet Table For IPv4
  • Blank, Andrew G. TCP/IP Foundations Technology Fundamentals for IT Success. San Francisco, London: Sybex, Copyright 2004.
  • Lammle, Todd. CCNA Cisco Certified Network Associate Study Guide 5th Edition. San Francisco, London: Sybex, Copyright 2005.
  • Groth, David and Toby Skandier. Network + Study Guide, 4th Edition. San Francisco, London: Wiley Publishing, Inc., Copyright 2005.

[edit] See also

[edit] External links