Autosave: 2024-08-30 10:00:03
This commit is contained in:
parent
ee032260c9
commit
a62adabcef
2 changed files with 65 additions and 1 deletions
BIN
.zk/notebook.db
BIN
.zk/notebook.db
Binary file not shown.
|
@ -39,4 +39,68 @@ said to be on the same **subnet**. However each device will have a unique value
|
||||||
for the host octet.
|
for the host octet.
|
||||||
|
|
||||||
(This account is somewhat idealised. The length of the prefix does not always
|
(This account is somewhat idealised. The length of the prefix does not always
|
||||||
align with the octet boundary. For instance )
|
align with the octet boundary. For instance, the prefix could be 25 bits in
|
||||||
|
length, rather than 24. In this case it would "steal" one bit from the host
|
||||||
|
section making it 23 bits in length.)
|
||||||
|
|
||||||
|
## Identifying the network and host groupings
|
||||||
|
|
||||||
|
Given that the network prefix and host identifier do not always stick to set
|
||||||
|
boundaries, we require a way of distinguishing the two values. There are two
|
||||||
|
dominant methods.
|
||||||
|
|
||||||
|
### CIDR notation
|
||||||
|
|
||||||
|
This stands for _Classless Inter-Domain Routing_. An example:
|
||||||
|
|
||||||
|
> 192.168.1.23/24
|
||||||
|
|
||||||
|
The value after the forward slash is the number of bits that specify the network
|
||||||
|
address. In the example, it is the standard 24-bits. Thus 192.168.1.23 stands
|
||||||
|
for the network.
|
||||||
|
|
||||||
|
### Subnet masking
|
||||||
|
|
||||||
|
The subnet mask is another number _in addition to_ the network address. It is a
|
||||||
|
kind of superimposed map on top of the address.
|
||||||
|
|
||||||
|
Here is an example of a subnet mask:
|
||||||
|
|
||||||
|
> 11111111.11111111.11111111.00000000
|
||||||
|
|
||||||
|
The denary form would be as follows (as 255 is the maximal decimal number that
|
||||||
|
can be represented with a single 8-bit number and 0 is the smallest):
|
||||||
|
|
||||||
|
> 255.255.255.0
|
||||||
|
|
||||||
|
In the binary form, the 1 values represent the bits which designate the network
|
||||||
|
address and the 0 values represent the bits that designate the host.
|
||||||
|
|
||||||
|
In the example above this corresonds to the idealised 32-bit/8-bit ratio.
|
||||||
|
|
||||||
|
There is a clever consequence of the subnet mask: if you apply a bitwise AND
|
||||||
|
operator against the IP address and mask (both in their binary form) you can
|
||||||
|
determine whether two addresses are on the same network.
|
||||||
|
|
||||||
|
To compare the IP address 192.168.1.23 against 192.168.1.100 to demonstrate:
|
||||||
|
|
||||||
|
```
|
||||||
|
192.168.1.23;
|
||||||
|
IP: 11000000.10101000.00000001.00010111
|
||||||
|
Mask: 11111111.11111111.11111111.00000000
|
||||||
|
Result: 11000000.10101000.00000001.00000000
|
||||||
|
___________________________________
|
||||||
|
|
||||||
|
192.168.1.100:
|
||||||
|
IP: 11000000.10101000.00000001.00010111
|
||||||
|
Mask: 11111111.11111111.11111111.00000000
|
||||||
|
Result: 11000000.10101000.00000001.00000000
|
||||||
|
```
|
||||||
|
|
||||||
|
After applying the bitwise AND logic we see that the result is identical for
|
||||||
|
both IPs indicating they are on the same network (share the same network
|
||||||
|
prefix), whilst the host value is "masked".
|
||||||
|
|
||||||
|
// Example of not matching
|
||||||
|
|
||||||
|
// Are there masks other than 255.255.255.0?
|
||||||
|
|
Loading…
Add table
Reference in a new issue