Binary & The
Internet Protocol
Introduction
To
understand the Internet
Protocol, we need to learn and understand
Binary. It is very
important to know and understand
Binary because part of
the IP protocol is also
the "Subnetting" section which can only be explained
and understood when an IP
Address is converted to
Binary!
Those who
are experienced in Binary can skim this section
quickly, but do have a look through.
A lot of
people are not aware that computers do not
understand words, pictures and sounds, when we
interact with them by playing a game, reading or
drawing something on the screen. The truth is that
all computers can understand is zeros (0) and ones
(1) !
What we
see on the screen is just an interpretation of what
the computer understands, so the information
displayed is useful and meaningful to us.
Binary:
Bits and
Bytes
Everyone
who uses the Internet would have, at one stage or
another, come across the "Byte"
or "Bit" term, usually
when you're downloading, you get the speed
indication in bytes or KBytes per second. We are
going to see exactly what a
Bit, Byte and
KByte is, so you
understand the terms.
To put it
as simply as possible, a Bit
is the smallest unit/value of
Binary notation. The same way we say 1 cent
is the smallest amount of money you can have , a
Bit is the same thing
but not in cents or dollars, but in
Binary.
A
Bit can have only one
value, either a one (1)
or a zero (0). So If I
gave you a value of zero: 0, then you would say that
is one Bit. If I gave
you two of them: 00, you would say that's two
Bits.
Now, if
you had 8 zeros or ones together:
0110 1010 (I put
a space in between to make it easier for the eyes)
you would say that's 8 Bits
or, one Byte ! Yes that
is correct, 8 Bits are
equal to one Byte.
The
picture below gives you some examples:
It's like
saying, if you have 100 cents, that is equal to one
Dollar. In the same way, 8
Bits (doesn't matter if they are all 1s or 0s
or a mixture of the two) would equal one
Byte.
And to sum
this all up, 1024 Bytes
equal 1 KByte
(Kilobyte). Why 1024
and not 1000 ? Well it's because of the way
Binary works. If you
did the maths, you would find the above correct.
So what's Binary got to do with IP ?
Well, just
as I explained in the introduction, computers
display the zeros and ones in a way that makes the
information useful to us. The
Internet Protocol works a bit like this as
well, where 98% of the time we see it in a decimal
notation, but the computer understands it in binary.
The picture below gives you an example of how a
computer understands an IP
Address:
The above
example shows an IP address in decimal notation,
which we understand more easily, this
IP Address - 192.168.0.1
is then converted to Binary,
which is what the computer understands and you can
see how big the number gets ! It's easier for us to
remember 4 different numbers than 32 zeros or ones !
Now,
keeping in mind what we said earlier about
Bits and
Bytes, have you ever
heard or read people saying that an
IP Address is a 32 Bit address
? It is, and you can now see why:
So to sum
up all the above, we now know what
Binary notation is,
what a Bit,
Byte and
KByte is and how
Binary relates to an IP
Address which is usally represented in its Decimal
notation.
Understanding the conversion between Decimal and
Binary
Now
we're going to look at how the conversion works
between Decimal and Binary. This is an important
step, because you'll probably find yourself in need
of such a conversion when dealing with complex
subnets.
The
conversion is not that hard once you grasp the
concept. The picture below shows an IP Address that
we are going to convert to Binary. Keep in mind that
the method I'm going to show you is the same for all
conversions.
We are
now going to convert the first octec in the
IP Address
192.168.0.1 (Decimal)
to Binary, in other words, we take the "192"
and convert it to Binary and we are not going to
have to do any difficult calculations, just simple
additions:
If you
have read and understood the first section of this
page, you should know that we need
8 bits to create one
octec or, if you like, the 192
number. Each bit takes
a certain value which
never changes, this value is shown in
purple, right above the
bit, we then select the
bits we need in such a
way that the sum of all selected bits gives us the
decimal number we need.
If you
wanted to explain the conversion in mathematical
terms, you would say that each bit is a power of 2
(2^), for example, bit 8
is actually '2^7'
= 128 in decimal,
bit 7 is '2^6
= 64 in decimal,
bit 6 is '2^5'
= 32 in decimal,
bit 5 is '2^4'
= 16 in decimal,
bit 4 is '2^3'
= 8 in decimal,
bit 3 is '2^2'
= 4 in decimal,
bit 2 is '2^1'
= 2 in decimal,
bit 1 is '2^0'
= 1 in decimal.
Note: When calculating
the decimal value of an octec (192 in the example
above), the Bit numbers do NOT represent the
power of two value we
must use in order to get the decimal value. This
means that Bit 1 does
NOT translate to 2^1=1
in decimal.
In our
example, we used the 192.
As you saw, we needed bits 8
and 7 and this gave us
the Binary number of 11000000
which is 192 in
Decimal. You must remember that the values of each
bit never change! For example,
bit 8 always has a decimal value of
128, whereas
bit 1 always takes the
value of 1. Using this
method, you will find it easy to convert
Decimal to
Binary without
the need for complex mathematical calculations.
So
let's have a look at the next octec, which is the
decimal number
168:
Here again
you can see that we needed to choose
bits 8,
6 and
4 (in other words put a
"1" in the bit's
position) in order to get a decimal value of
168. So the Binary
value of 10101000 is
equal to the decimal value of
168.
Let's now
look at all 4 octecs of our IP
Address, in
Binary:
No matter
which way you convert, from
Decimal to Binary or
Binary to Decimal, the same method is used so
you if you understood the above you should be able
to convert either way any Binary or Decimal number.
That just
about does it for this section, you're now ready for
the next section !
|