CS455 Sylabus

• IPv4 address = a 32 bit binary number that is made up and used to identify a node in the Internet uniquely

 There are 232 = 4,294,967,296 different IPv4 addresses

 IPv6 address = a 128 bit binary number

• Dotted decimal notation:

• An IPv4 addres is often written as 4 groups of decimal numbers:

 ``` xx.xx.xx.xx where each xx is a decimal number ```

Example:

 ``` 170.140.150.1 represents: 170 = 10101010 (binary representation of 170) 140 = 10001100 150 = 10010110 1 = 00000001 170.140.150.1 = 10101010 10001100 10010110 00000001 ```

• An IPv6 addres is often written as 8 groups of 4 hexadecimal digits, separated by ':':

 ``` xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx where each x is a hexadecimal digit ```

The initial zero's are suppressed and 2 or more 0000 groups may be compressed by ::

Example:

 ``` 2001:0db8:0a0b:12f0:0000:0000:0000:0001 is writted as: 2001:db8:a0b:12f0:0:0:0:1 and comprssed to: 2001:db8:a0b:12f0::1 ```

• Assigning IP address to hosts (nodes) --- in theory

• Assigning IP addresses to nodes:

• In theory

 You could assign IP addresses in an arbitrary manner (= without any constraint) to nodes

(As long as 2 different nodes have different IP addresses)

• Problem:

• Since:

 A node in the Internet must know the location of every Internet nodes

The routing table can potentially have:

 232 = 4,294,967,296 entries !!!

That's a lot of memory (especially in 1980 !!!)

• Assigning IP address to hosts (nodes) --- in practice

• In order to reduce the size of the routing table:

 Nodes (= computers and routers) on the same physical network must have the same prefix for IP address

Example:

• Experiment:

 ``` host lab1a: lab1a.mathcs.emory.edu has address 170.140.151.110 lab1b.mathcs.emory.edu has address 170.140.151.111 lab5h.mathcs.emory.edu has address 170.140.151.149 compute.mathcs.emory.edu has address 170.140.150.8 ```

Notice that:

• Every node on the MathCS department network has the prefix:

 ``` 10101010 10001100 10010110 xxxxxxxx (max 255 nodes) 170 140 150 ```

• Fact:

 IP addresses are structured (Not arbitrary)

• The format of an IP address:

where:

• Network ID part:

 identifies a network "domain"

• Host ID part:

 identifies one specific node (host) inside a network domain

• Consequences of the structure of IP addresses

• Consequences of the (imposed) structure of IP addresses:

1. IP routing is based on network IDs

Routing table contains:

 ``` Network ID | Output port ----------------+------------------ Netw Addr 1 | port 1 Netw Addr 2 | port 2 .... | .... ```

(This will reduce the routing table size considerably)

2. All IP hosts on the same IP network must have:

 the same Network ID !!!

This consequence will make mobile IP hosts a tougher problem than it ought to be....