Network and Programming Systems
For each of these three terminals, I had three different sets of user commands. So if I was talking online with someone at S.D.C. and I wanted to talk to someone I knew at Berkeley or M.I.T. about this, I had to get up from the S.D.C. terminal, go over and log into the other terminal and get in touch with them...
I said, oh man, it's obvious what to do: If you have these three terminals, there ought to be one terminal that goes anywhere you want to go where you have interactive computing. That idea is the ARPAnet.
Robert Taylor. An Internet Pioneer Ponders the Next Revolution. The New York Times. 20 XII 1999.
What is a protocol?
The problem:
- How to send data to a device in a network.
- How to send data to a specific device in a network.
The binary notation is unwieldy, so the dotted decimal representation is usually used:
- 4 single-byte dot-separated segments, and
- each byte is represented as a single decimal number in the domain.
How many computers can be addressed.
- network part: 11000000 01110000 (2B)
- computer part: 01001100 00000011 (2B)
A network address is a special IP address whose computer part is zeroed (consists only of zeroes). This is the address that represents the network, without reference to any computers in the network.
Examples:
- assuming 2B network part, 2B computer part:
150.254.0.0 → 1001011011111110000000000000000
- assuming 3B network part, 1B computer part:
192.168.1.0 → 11000000101010000000000100000000
- assuming 30b network part, 2b computer part:
10.0.1.12 → 0000101000000000000000100001100
A broadcast address* is a special IP address whose computer part consists only of ones. This address represents all the computers in the network. For instance, a message sent to a broadcast address will be received by all the computers in the network.
Examples:
- assuming 2B network part, 2B computer part:
150.254.255.255 → 10010110111111101111111111111111
- assuming 3B network part, 1B computer part:
192.168.1.255 → 11000000101010000000000111111111
- assuming 30b network part, 2b computer part:
10.0.1.15 → 0000101000000000000000100001111
The information about where the division lies between the network part and the computer part can be denoted as a mask consisting of some sequence of 1-s followed by some sequence of 0-s. A functional IP address should always contain this information.
- 150.254.255.255/16
- 192.168.1.255/24
- 10.0.1.15/30
In shortened notation /n indicates that the network part is n-bits long.
This represents a mask.
- 150.254.255.255/16 → 10010110111111101111111111111111 11111111111111110000000000000000 → 150.254.255.255 255.255.0.0
The mask can "hide" the computer address in an IP address and derive the network address. This is done by AND-ing the IP address with its mask.
For example:
Computer address: 150.150.10.10/16
Mask (from /16): 255.255.0.0
Binary representation: 10010110100101100000101000001010 11111111111111110000000000000000
Network address: 10010110100101100000101000001010 AND 11111111111111110000000000000000 = 10010110100101100000000000000000
Dotted decimal represenation of the network address: 150.150.0.0/16
How many computers can there be in a network?
Remember that the broadcast address and the network address are "taken."
Example:
- Network: 150.150.0.0/16
10010110 10010110 00000000 00000000 | 150.150.0.0 | network address |
10010110 10010110 00000000 00000001 | 150.150.0.1 | address of computer no 1 |
10010110 10010110 00000000 00000010 | 150.150.0.2 | address of computer no 2 |
... | ... | |
10010110 10010110 11111111 11111110 | 150.150.255.254 | address of last computer in the network |
10010110 10010110 11111111 11111111 | 150.150.255.255 | broadcast address |
- address range: 150.150.0.1--150.150.255.254
- the number of computers that can be addressed in this network: 2^{16} - 2
Addressing in the Internet needs to meet two requirements:
- unique network address -- public address registration: regional institutions controlled by IANA regulate assigning IP networks:
- ICANN / IANA
- RIPE, etc.
- unique computer address within network -- job of the network administrator
- A class - big networks, most significant bit 0, min. mask /8
- B class - medium, most significant bits 10, min.mask /16
- C class - small, most significant bits 110, min. mask /24
- D class - multicast, 1110
- E class - reserved (now given away)
Since its discontinuation, remnants of classful network concepts remain in practice only in limited scope in the default configuration parameters of some network software and hardware components (e.g., default subnet mask).
Motivation:
- Not all addresses need to be unique
- Small allocation space of IPv4
- Network Address Translation (NAT)
Private address: no registration, not routable in the Internet.
- 10.0.0.0/8 (old class A)
- 172.16.0.0/12 (old class B)
- 192.168.0.0/16 (old class C)
Space | Forward |
---|---|
Right, Down, Page Down | Next slide |
Left, Up, Page Up | Previous slide |
P | Open presenter console |
H | Toggle this help |