Uploaded by direwolf541

IP Addressing

advertisement
SCS 2205
Computer Networks I
IP Addressing
Communication
-
Communication is happening everywhere
Plants communicate with each other
Immune system
Ant colony
Communication
Our Ancestors used
-
Pigeons
Flags
Light
Sounds
Communication
Still we use those methods
Importance of Communication
- Global Village
Computer Network
- Connection between two or more computers for the purpose of
sharing resources.
OSI Model
There are seven leyers
Each layer has set of protocols
Each layer has specific tasks
Headers
Important
Refresh your knowledge in Computer System - Binary Numbers
IP Addresses
●
Structure of an IP address
●
Classful IP addresses
●
Limitations and problems with classful IP addresses
●
Subnetting
●
CIDR
●
Supernetting
●
NAT
IP Addresses
IP Addresses
What is an IP Address?
●
An IP address is a unique global address for a network interface
●
Exceptions:
●
○
Dynamically assigned IP addresses
○
IP addresses in private networks
An IP address:
- is a 32 bit long identifier
- encodes a network number (network prefix)
and a host number
Network prefix and host number
●
The network prefix identifies a network and the host number identifies a
specific host (actually, interface on the network).
network prefix
●
host number
How do we know how long the network prefix is?
○
Before 1993: The network prefix is implicitly defined (see class-based addressing)
or
○
After 1993: The network prefix is indicated by a netmask.
Dotted Decimal Notation
●
IP addresses are written in a so-called dotted decimal notation
●
Each byte is identified by a decimal number in the range [0..255]:
●
Example:
10000000
1st Byte
= 128
10001111
2nd Byte
= 143
10001001
3rd Byte
= 137
128.143.137.144
10010000
4th Byte
= 144
Select the correct IP addresses
198.168.255.10
198.256.20.45
198.2462.251.26
-198.256.20.10
xxxx xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx
There are four sections and one section is between 0 - 255
Example
●
Example: cs.virginia.edu
128.143
137.144
●
Network address is:
●
Host number is:
●
Netmask is:
●
Prefix or CIDR notation: 128.143.137.144/16
○
128.143.0.0
(or 128.143)
137.144
255.255.0.0
(or ffff0000)
Network prefix is 16 bits long
Classful IP Addresses (Until 1993)
●
When Internet addresses were standardized (early 1980s), the Internet address
space was divided up into classes:
●
○
Class A: Network
prefix is 8 bits long
○
Class B: Network
prefix is 16 bits long
○
Class C: Network
prefix is 24 bits long
Each IP address contained a key which identifies the class:
○
Class A: IP
address starts with “0”
○
Class B: IP
address starts with “10”
○
Class C: IP
address starts with “110”
The old way: Internet Address Classes
The old way: Internet Address Classes
The old way: Internet Address Classes
Problems with Classful IP Addresses
●
By the early 1990s, the original classful address scheme had a number of
problems
○
Flat address space. Routing
tables on the backbone Internet need to have
an entry for each network address. When Class C networks were
widely used, this created a problem. By the 1993, the size of the
routing tables started to outgrow the capacity of routers.
Other problems:
○ Too few network addresses for large networks
■ Class A and Class B addresses were gone
○ Limited flexibility for network addresses:
■ Class A and B addresses are overkill (>64,000 addresses)
■ Class C address is insufficient (requires 40 Class C addresses)
Allocation of Classful Addresses
Special IP Addresses
●
Reserved or (by convention) special addresses:
Loopback interfaces
● all addresses 127.0.0.1-127.255.255.255 are reserved for loopback interfaces
● Most systems use 127.0.0.1 as loopback address
● loopback interface is associated with name “localhost”
IP address of a network
● Host number is set to all zeros, e.g., 128.143.0.0
Broadcast address
● Host number is all ones, e.g., 128.143.255.255
● Broadcast goes to all hosts on the network
● Often ignored due to security concerns
●
Test / Experimental addresses (Private IPs)
Certain address ranges are reserved for “experimental use”. Packets should get dropped if
they contain this destination address (see RFC 1918):
10.0.0.0
- 10.255.255.255
172.16.0.0
- 172.31.255.255
192.168.0.0 - 192.168.255.255
●
Convention (but not a reserved address)
Default gateway has host number set to ‘first’ or ‘last’ number: 192.0.1.1 or 192.0.1.254
Subnetting
●
Problem: Organizations have multiple
networks which are independently
managed
○ Solution 1: Allocate a
separate network address for
each network
■ Difficult to manage
■ From the outside of the
organization, each network
must be addressable.
○ Solution 2: Add another level of
University Network
Engineeri
ng
School
Medical
School
Library
hierarchy to the IP addressing structure
Subnetting
Address assignment with subnetting
● Each part of the organization is allocated a range of IP addresses (subnets
or subnetworks)
● Addresses in each subnet can be administered locally
128.143.0.0/16
University Network
128.143.71.0/24
128.143.136.0/24
Engineeri
ng
School
Medical
School
128.143.56.0/24
Library
128.143.121.0/24
Basic Idea of Subnetting
●
Split the host number portion of an IP address into a
(smaller) host number.
●
Result is a 3-layer hierarchy
network prefix
●
Then:
■
■
■
subnet number and a
host number
subnet
host number
number
Subnets can be freely assigned within the organization
extended network prefix
Internally, subnets are treated as separate networks
Subnet structure is not visible outside the organization
network prefix
Subnetmask
●
Routers and hosts use an extended network prefix (subnetmask) to identify the
start of the host numbers
Advantages of Subnetting
●
●
With subnetting, IP addresses use a 3-layer hierarchy:
○
Network
○
Subnet
○
Host
Reduces router complexity. Since external routers do not know about subnetting,
the complexity of routing tables at external routers is reduced.
●
Note: Length of the subnet mask need not be identical at all subnetworks.
Example: Subnetmask
● 128.143.0.0/16 is the IP address of the network
● 128.143.137.0/24 is the IP address of the subnet
● 128.143.137.144 is the IP address of the host
● 255.255.255.0 is the subnetmask of the host
● When subnetting is used, one generally speaks of a “subnetmask” (instead
of a netmask) and a “subnet” (instead of a network)
● Use of subnetting or length of the subnetmask if decided by the network
administrator
● Consistency of subnetmasks is responsibility of administrator
No Subnetting
●
All hosts think that the other hosts are on the same network
With Subnetting
●
Hosts with same extended network prefix belong to the same network
With Subnetting
●
Different subnetmasks lead to different views of the size of the scope of the
network
CIDR - Classless Interdomain Routing
●
IP backbone routers have one routing table entry for each network address:
○ With subnetting, a backbone router only needs to know one entry for
each Class A, B, or C networks
○ This is acceptable for Class A and Class B networks
■ 27 = 128 Class A networks
■ 214 = 16,384 Class B networks
○
But this is not acceptable for Class C networks
21
■2
●
●
= 2,097,152 Class C networks
In 1993, the size of the routing tables started to outgrow the capacity of routers
Consequence: The Class-based assignment of IP addresses had to be abandoned
CIDR - Classless Interdomain Routing
●
●
Goals:
○
New interpretation of the IP address space
○
Restructure IP address assignments to increase efficiency
○
Permits route aggregation to minimize route table entries
CIDR (Classless Interdomain routing)
○
abandons the notion of classes
○
Key Concept: The length of the network prefix in the IP addresses is kept arbitrary
○
Consequence: Size of the network prefix must be provided with an IP address
CIDR Notation
● CIDR notation of an IP address:
192.0.2.0/18
■ "18" is the prefix length. It states that the first 18 bits are the
network prefix of the address (and 14 bits are available for specific
host addresses)
● CIDR notation can replace the use of subnetmasks (but is more general)
○ IP address 128.143.137.144 and subnetmask 255.255.255.0 becomes
128.143.137.144/24
● CIDR notation allows to drop traling zeros of network addresses:
192.0.2.0/18 can be written as 192.0.2/18
Why do people still talk about
● CIDR eliminates the concept of class A, B, and C networks and replaces it
with a network prefix
● Existing classful network addresses are converted to CIDR addresses:
128.143.0.0 🡪 128.143.0.0/16
● The change has not affected many (previously existing) enterprise
networks
○ Many network administrators (especially on university campuses) have
not noticed the change (and still talk about
(Note: CIDR was introduced with the role-out of BGPv4 as interdomain
routing protocol. )
CIDR address blocks
●
●
CIDR notation can nicely express blocks of addresses
Blocks are used when allocating IP addresses for a company and for routing tables
(route aggregation)
CIDR Block Prefix
/27
/26
/25
/24
/23
/22
/21
/20
/19
/18
/17
/16
/15
/14
/13
32
64
128
256
512
1,024
2,048
4,096
8,192
16,384
32,768
65,536
131,072
262,144
524,288
# of Host Addresses
CIDR and Address assignments
●
Backbone ISPs obtain large block of IP addresses space and then reallocate
portions of their address blocks to their customers.
Example:
● Assume that an ISP owns the address block 206.0.64.0/18, which
represents 16,384 (214) IP addresses
● Suppose a client requires 800 host addresses
● With classful addresses: need to assign a class B address (and waste
~64,700 addresses) or four individual Class Cs (and introducing 4 new
routes into the global Internet routing tables)
●
With CIDR: Assign a /22 block, e.g., 206.0.68.0/22, and allocated a block of
1,024 (210) IP addresses.
Subnetting
Consider a class “C” IP address : 200.10.15.x
Default (subnet) mask (SM): 255.255.255.0
Borrowing 2 bits: SM 255.255.255.192 /26 → 4 subnets @ 62 hosts
Borrowing 3 bits: SM 255.255.255.224 /27 → 8 subnets @ 30 hosts
Borrowing 4 bits: SM 255.255.255.240 /28 → 16 subnets @ 14 hosts
Borrowing 5 bits: SM 255.255.255.248 /29 → 32 subnets @ 6 hosts
Borrowing 6 bits: SM 255.255.255.252 /30 → 64 subnets @ 2 hosts
Ex.
1. Find the SM for 192.168.2.0/24 that specifies 5 bits of sub-netting?
2. Divide the IP address 172.10.0.0/16 into 100 sub-nets
3. What is the network ID of the following: IP=192.234.34.32
SM=255.255.255.240?
4. How SMs are used to determine the network ID?
Another Example
Take the 192.168.1.0 class C network but now we’ll chop it into four
pieces so we get 4 “blocks”:
Another Example
We have the same set of questions to answer:
●
●
●
●
What are the network addresses?
What are the broadcast addresses?
What is the subnet mask?
What are the usable host IP addresses?
The subnet mask is 255.255.255.192
Another Example
●
●
Subnet 1:
○ network address: 192.168.1.0
○ first host: 192.168.1.1
○ last host: 192.168.1.62
○ broadcast address: 192.168.1.63
Subnet 2:
○ network address: 192.168.1.64
○ first host: 192.168.1.65
○ last host: 192.168.1.126
○ broadcast address: 192.168.1.127
Another Example
●
●
Subnet 3:
○ network address: 192.168.1.128
○ first host: 192.168.1.129
○ last host: 192.168.1.190
○ broadcast address: 192.168.1.191
Subnet 4:
○ network address: 192.168.1.192
○ first host: 192.168.1.193
○ last host: 192.168.1.254
○ broadcast address: 192.168.1.255
Variable Length Subnet Mask (VLSM)
In previous subnetting lessons all subnets had a “fixed size”. Each subnet had the same
size. For example we took a class C network 192.168.1.0 and divided it 4 blocks:
Variable Length Subnet Mask (VLSM)
Let’s say I would have the following requirements:
●
●
●
●
One subnet for 12 hosts.
One subnet for 44 hosts.
One subnet for 2 hosts (point-to-point links are a good example where
you only need 2 IP host addresses).
One subnet for 24 hosts.
IP 192.168.1.0
I have 4 subnets so it’s no problem, but I’m still wasting a lot of IP addresses.
If we use a block of 64 for our subnet where I only need 2 IP addresses I’m
throwing 60 IP addresses away (Network IP, Broadcast IP and 2 IP for host
computers. 60 IP wasting).
Variable Length Subnet Mask (VLSM)
What kind of subnets would we need to fit in these hosts? Let’s see:
●
●
●
●
12 hosts, the smallest subnet would be a block of 16.
44 hosts, the smallest subnet would be a block of 64.
2 hosts, the smallest subnet would be a block of 4.
24 hosts, the smallest subnet would be a block of 32.
Variable Length Subnet Mask (VLSM)
Because we have different subnet sizes, we need to calculate the subnet
mask for each subnet. To find the subnet mask you can use this trick:
256 – subnet size = subnet mask
●
●
●
●
Subnet 1: 256 – 64 = 192 so the subnet mask is 255.255.255.192
Subnet 2: 256 – 32 = 224 so the subnet mask is 255.255.255.224
Subnet 3: 256 – 16 = 240 so the subnet mask is 255.255.255.240
Subnet 4: 256 – 4 = 252 so the subnet mask is 255.255.255.252
When using VLSM, make sure you start with the biggest subnet first or you
will have overlapping address space.
Variable Length Subnet Mask (VLSM)
●
●
Subnet 1: (size of 64)
○ network address: 192.168.1.0
○ first host: 192.168.1.1
○ last host: 192.168.1.62
○ broadcast address: 192.168.1.63
Subnet 2: (size of 32)
○ network address: 192.168.1.64
○ first host: 192.168.1.65
○ last host: 192.168.1.94
○ broadcast address: 192.168.1.95
Variable Length Subnet Mask (VLSM)
●
●
Subnet 3: (size of 16)
○
network address: 192.168.1.96
○
first host: 192.168.1.97
○
last host: 192.168.1.110
○
broadcast address: 192.168.1.111
Subnet 4: (size of 4)
○
network address: 192.168.1.112
○
first host: 192.168.1.113
○
last host: 192.168.1.114
○
broadcast address: 192.168.1.115
Variable Length SM (VLSM)
is the process by which we take a major network
address and use different subnet masks at different
points.
A fixed length mask has the advantage of simplicity. It will be
easy for the network staff/users to remember the SM.
However, if we have to keep the subnet mask the same we
encounter severe problems concerning addressing space.
Some useful tips on VLSM:
Use as few different masks as possible
Keep lookup table to figure out the masks for a given subnet
Make sure not to overlap subnets with VLSM
When do we need to use different subnet masks?
Variable Length SM (VLSM)
E1
E2
R
R
Leased Line
Colombo
Head
Office
100 users
Kandy
Branch Office
50 users
Variable Length SM (VLSM)
E1
E2
R
R
Colombo
Head
Office
100 users
Subnet 1
Subnet 2
Kandy
Branch
Office
50 users
Subnet 3
Variable Length SM (VLSM)
E1
100
E2
1 R 1
1
R
1
50
Kandy
Branch Office
50 users
Colombo
Head Office
100 users
No of IP Addresses
Required
100+50+1+1+1+1 = 154
Variable Length SM (VLSM)
For the serial link – needs only 2 IPs
SM – 255.255.255.252
IPs –
200.10.15.5 /30 and 200.10.15.6 /30
For Kandy subnet – needs 51 IPs
SM – 255.255.255.192
IPs –
200.10.15.65 /26 → E2 and
200.10.15.66 /26 to 200.10.15.110 /26 (m/c)
For Colombo subnet – needs 101 IPs
SM – 255.255.255.128
IPs –
200.10.15.129 /25 → E1 and
200.10.15.130 /25 to 200.10.15.230 /25 (m/c)
When can VLSM be used?
VLSM can only be used with a classless routing protocol.
Classless routing protocols: RIP Version 2, OSPF
Colombo
Head Office
100 users
200.10.15.130 –
200.10.15.230/25
E2
200.10.15.65/26
R
200.10.15.6/30
200.10.15.129/25
E1
200.10.15.5/30
Variable Length SM (VLSM)
R
Kandy
Branch Office
50 users
200.10.15.66 –
200.10.15.110 /26
An approach to assigning subnets with VLSMs is documented in RFC 1219.
CIDR and Routing
● So what is IP Address Aggregation? Quite simply, IP Address
Aggregation means that several networks can be spanned by a single
routing entry. Consider the following case:
● Our router needs to route traffic for eight separate networks through
the same gateway (ip address 194.1.1.1):
● ip route 66.100.50.0 255.255.255.224 194.1.1.1
● ip route 66.100.50.32 255.255.255.224 194.1.1.1
● ip route 66.100.50.64 255.255.255.224 194.1.1.1
● ip route 66.100.50.96 255.255.255.224 194.1.1.1
● ip route 66.100.50.128 255.255.255.224 194.1.1.1
● ip route 66.100.50.160 255.255.255.224 194.1.1.1
● ip route 66.100.50.192 255.255.255.224 194.1.1.1
● ip route 66.100.50.224 255.255.255.224 194.1.1.1
○ ip route 66.100.50.0 255.255.255.0 194.1.1.1
Route Summarization (Aggregation)
/18
CIDR and Routing
● Aggregation of routing table entries:
○ 128.142.0.0/16 and 128.143.0.0/16 are represented as
128.142.0.0/15 (142=10001110)
● Longest prefix match: Routing table lookup finds the routing entry
that matches the longest prefix
For example, consider this routing table:
192.168.20.16/28
192.168.0.0/16
● When the address 192.168.20.19 needs to be looked up, both entries
in the routing table "match". That is, both entries contain the looked up
address. In this case, the longest prefix of the candidate routes is
192.168.20.16/28, since its subnet mask (/28) is higher than the other
entry's mask (/16), making the route more specific.
Network Address
Translation (NAT)
60
Private Network
●
Private IP network is an IP network that is not directly connected to the Internet
●
IP addresses in a private network can be assigned arbitrarily.
○
●
Not registered and not guaranteed to be globally unique
Generally, private networks use addresses from the following experimental
address ranges (non-routable addresses):
○ 10.0.0.0 – 10.255.255.255
○ 172.16.0.0 – 172.31.255.255
○ 192.168.0.0 – 192.168.255.255
61
Network Address Translation (NAT)
●
NAT is a router function where IP addresses (and possibly port numbers) of IP
datagrams are replaced at the boundary of a private network
●
NAT is a method that enables hosts on private networks to communicate with
hosts on the Internet
●
NAT is run on routers that connect private networks to the public Internet, to
replace the IP address-port pair of an IP packet with another IP address-port pair.
62
Main uses of NAT
●
Pooling of IP addresses
●
Supporting migration between network service providers
●
IP masquerading
●
Load balancing of servers
63
Pooling of IP addresses
●
Scenario: Corporate network has many hosts but only a small number of public IP
addresses
●
NAT solution:
○
Corporate network is managed with a private address space
○
NAT device, located at the boundary between the corporate network and the public Internet, manages
a pool of public IP addresses
○
When a host from the corporate network sends an IP datagram to a host in the public Internet, the
NAT device picks a public IP address from the address pool, and binds this address to the private
address of the host
64
Pooling of IP addresses
65
Supporting migration between network service
providers
● Scenario: In CIDR, the IP addresses in a corporate network are obtained
from the service provider. Changing the service provider requires changing
all IP addresses in the network.
● NAT solution:
○ Assign private addresses to the hosts of the corporate network
○ NAT device has static address translation entries which bind the
private address of a host to the public address.
○ Migration to a new network service provider merely requires an update
of the NAT device. The migration is not noticeable to the hosts on the
network.
Note:
○ The difference to the use of NAT with IP address pooling is that the
mapping of public and private IP addresses is static.
66
Supporting migration between network service
providers
67
IP masquerading
●
Also called: Network address and port translation (NAPT), port address
translation (PAT).
●
Scenario: Single public IP address is mapped to multiple hosts in a private
network.
●
NAT solution:
○
Assign private addresses to the hosts of the corporate network
○
NAT device modifies the port numbers for outgoing traffic
68
IP masquerading
69
Load balancing of servers
●
Scenario: Balance the load on a set of identical servers, which are accessible
from a single IP address
●
NAT solution:
○
○
○
○
Here, the servers are assigned private addresses
NAT device acts as a proxy for requests to the server from the public network
The NAT device changes the destination IP address of arriving packets to one of the private
addresses for a server
A sensible strategy for balancing the load of the servers is to assign the addresses of the servers in a
round-robin fashion.
70
Load balancing of servers
71
Concerns about NAT
●
Performance:
○
Modifying the IP header by changing the IP address requires that NAT boxes recalculate the IP
header checksum
○
●
Modifying port number requires that NAT boxes recalculate TCP checksum
Fragmentation
○
Care must be taken that a datagram that is fragmented before it reaches the NAT device, is not
assigned a different IP address or different port numbers for each of the fragments.
72
Concerns about NAT
● End-to-end connectivity:
○
NAT destroys universal end-to-end reachability of hosts on the Internet.
○
A host in the public Internet often cannot initiate communication to a host in a private network.
73
End of Lecture
Any Questions?
Download