Network layer: IP addressing, subnets, NAT and IPv6
What the network layer does, how IPv4 addresses and subnets are structured, the unit's own worked subnetting example, NAT, and what actually changes moving to IPv6.
- Explain what the network layer does at the sending and receiving host, and name its three components.
- Define an IPv4 address and what an interface is.
- Compute the subnets, usable host ranges and broadcast addresses for a given IP address and CIDR prefix.
- Explain what NAT does and why it exists.
- List what changed from IPv4 to IPv6, and why the migration is still incomplete.
20 min read
Intuition
The transport layer hands the network layer a segment and a destination address, the same way you would hand the postal service a letter with an address on it. Getting that segment from one host to another, potentially across many networks owned by many different organisations, is the network layer’s job. Addressing is the first piece of that: every interface that can send or receive a datagram needs an address that identifies it uniquely enough for the network to find it.
Mechanism
The network layer, also called the Internet layer, transports a segment from the sending host to the receiving host. At the sender, it encapsulates segments into datagrams and passes them to the link layer. At the receiver, it delivers those segments back up to the transport layer. Every Internet device with a network layer, hosts and routers alike, runs this layer’s protocols. Routers, specifically, examine header fields in every IP datagram passing through them and move each datagram from an input port to an output port, along the path toward its destination.
Mechanism
The network layer has three components. The IP protocol itself defines the fields in a datagram and how end systems and routers act on them: there is exactly one such protocol, and it is the topic of the rest of this page. The routing component determines the path a datagram takes from source to destination, using path-selection algorithms implemented in routing protocols such as OSPF and BGP, or in software-defined networking controllers; these compute the forwarding tables that move packets through the network. The third component, ICMP (Internet Control Message Protocol), reports errors in datagrams and answers requests for network-layer information.
An IP datagram itself has a header and a payload. The header carries fields including the source and
destination IP address, the protocol in use, a time-to-live (TTL) value, a checksum, and a version field that
states whether the datagram is IPv4 or IPv6. The maximum size of a datagram is set by the underlying network’s
Maximum Transmission Unit (MTU), often 1500 bytes for Ethernet; a datagram exceeding it is fragmented into
smaller pieces.
Mechanism
An IPv4 address is a 32-bit identifier associated with each host or router interface, the connection
between that host or router and a physical link. A router typically has multiple interfaces; a host typically
has one or two, for example a wired Ethernet interface and a wireless 802.11 interface. With 32 bits there are
2^32 possible addresses, written in dotted-decimal notation: each of the four bytes written as a decimal
number, separated by dots, for example 223.1.1.1.
Mechanism
A subnet is a set of device interfaces that can reach each other physically without an intervening
router. Detaching every interface from its host or router leaves “islands” of interconnected devices, each
island is one subnet. An IP address has structure to match: a subnet part, the high-order bits shared by
every device in the same subnet, and a host part, the remaining low-order bits that distinguish devices
within it. CIDR (Classless Inter-Domain Routing) notation writes this split explicitly, an address
followed by a slash and the number of bits belonging to the network portion, for example /26.
The lecture material also gives the older, class-based way of dividing up IPv4 space: Class A (0.0.0.0 to
127.255.255.255, default mask 255.0.0.0), Class B (128.0.0.0 to 191.255.255.255, default mask
255.255.0.0), Class C (192.0.0.0 to 223.255.255.255, default mask 255.255.255.0), Class D
(224.0.0.0 to 239.255.255.255, multicast), and Class E (240.0.0.0 to 255.255.255.255, experimental).
CIDR replaced this rigid class-based system in practice, allowing a network to be divided more flexibly than
a fixed class boundary allows, which is exactly what the worked example below does to a Class C address.
Formula
Number of subnets from borrowed bits
- number of bits borrowed from the host portion for subnetting
Formula
Usable hosts per subnet
- number of bits remaining for the host portion
The 2 subtracted are the subnet's own network address and broadcast address.
Worked example
Answer192.168.10.0/26 splits into 4 subnets of 62 usable hosts each, at .0, .64, .128 and .192.
Given: IP address 192.168.10.0, subnet mask 255.255.255.192 (/26 in CIDR notation).
Convert the subnet mask to binary, one octet at a time:
255=11111111,255=11111111,255=11111111,192=11000000. The full mask in binary is11111111.11111111.11111111.11000000.A
/26prefix means 26 bits belong to the network portion, leaving32 - 26 = 6bits for the host portion.Number of subnets: this is a Class C base network (24 network bits by default), so the bits borrowed for subnetting are
26 - 24 = 2. By with : subnets.Hosts per subnet: 6 bits remain for hosts. By with : usable hosts per subnet, after subtracting the subnet’s network address and its broadcast address.
Block size:
256 - 192 = 64. Each subnet therefore spans 64 addresses, and the four subnets are:Subnet 1:
192.168.10.0/26. Network address192.168.10.0; first usable host192.168.10.1; last usable host192.168.10.62; broadcast address192.168.10.63.Subnet 2:
192.168.10.64/26. Network address192.168.10.64; first usable host192.168.10.65; last usable host192.168.10.126; broadcast address192.168.10.127.Subnet 3:
192.168.10.128/26. Network address192.168.10.128; first usable host192.168.10.129; last usable host192.168.10.190; broadcast address192.168.10.191.Subnet 4:
192.168.10.192/26. Network address192.168.10.192; first usable host192.168.10.193; last usable host192.168.10.254; broadcast address192.168.10.255.
Pitfall
The network address and the broadcast address of a subnet are never assignable to a host, which is exactly
why the hosts-per-subnet formula subtracts 2. In the worked example, 192.168.10.128 identifies Subnet 3
itself and 192.168.10.191 is its broadcast address; a host must sit strictly between them, 192.168.10.129
through 192.168.10.190.
Mechanism
NAT (Network Address Translation) exists because IPv4’s roughly four billion addresses are not enough for
every device everyone now owns, phones, laptops, tablets, all online at once. NAT lets all devices in a local
network share a single IPv4 address as far as the outside world is concerned, proposed in 1994 as a response
to that address exhaustion. A NAT-enabled router keeps a translation table mapping each internal device’s
private address and a chosen port number to the one shared public address and a distinct port: for example, a
public address and port of 138.76.29.7, 5007 mapping back to an internal 10.0.0.1, 3345. This also
provides a side benefit: outside devices cannot directly address anything inside the local network, since
they only ever see the single shared public address.
Aside
The source material describes a home network in which “all four interfaces… have the same subnet address”
written as 10.0.0/24. A /24 network address needs all four octets, 10.0.0.0/24, so this is almost
certainly a transcription slip in the extracted material rather than a distinct address worth memorising as
written. The worked NAT translation pair above, 138.76.29.7, 5007 to 10.0.0.1, 3345, is unaffected and
reproduced exactly as given.
Mechanism
IPv6 answers the same address-exhaustion problem NAT works around, by moving from 32-bit to 128-bit addresses, enough for every device on Earth to have a unique public address, removing the need for NAT entirely. Its header is also redesigned: a fixed 40-byte header speeds up router processing, the header checksum and hop-by-hop fragmentation are removed and pushed to the network’s edges instead, and a 20-bit field lets routers identify and prioritise specific traffic flows. IPsec support was built in as a core design requirement from the start, rather than added on afterward. The migration from IPv4 is still not finished; the unit names compatibility, financial return on investment, and the existence of NAT itself as the reasons why.
Mechanism
The IP hourglass is the shape of the whole stack: the Internet has exactly one network-layer protocol, IP, and it must be implemented by every one of the billions of Internet-connected devices. Many application protocols run above it and many link technologies run below it, but everything funnels through this single, narrow waist in the middle.
Exam detail
For any subnetting question, work the same four numbers every time: the block size (256 minus the last
non-zero octet of the mask), the number of subnets ( for borrowed bits), the usable hosts per
subnet ( for remaining host bits), and then the four values per subnet, network address, first
host, last host, broadcast, exactly as laid out in the worked example above.
Aside
Several figures in the source material illustrating interfaces and subnets, dotted-decimal notation, NAT operation, and an IPv4-and-IPv6 dual-stack interface did not survive extraction and cannot be reproduced here. None of the definitions or the worked subnetting example above depend on them.
Recall
A host has the address 192.168.10.200 on the 192.168.10.0/26 network from the worked example. Which subnet is it in, and what is that subnet's broadcast address?
192.168.10.200 falls in Subnet 4, 192.168.10.192/26, which runs from 192.168.10.192 to
192.168.10.255. Its broadcast address is 192.168.10.255.
Recall
- The network layer encapsulates segments into datagrams at the sender and delivers them back up to the transport layer at the receiver, and has three components: IP itself, routing, and ICMP.
- An IPv4 address is a 32-bit identifier per interface; a subnet groups interfaces that can reach each other without a router in between.
- Subnetting math: block size from the mask, subnets from borrowed bits, usable hosts per subnet, then network, first host, last host and broadcast for each block.
- NAT lets a whole local network share one public IPv4 address via a translation table keyed by port.
- IPv6 moves to 128-bit addresses, drops NAT’s reason to exist, simplifies the header, and builds in IPsec, but the migration from IPv4 is still incomplete.
Source
Week 8 slides PDF