Transcript IP Address

IP Address
Sirak Kaewjamnong
1
Three Level of Address
• Host name
– ratree.psu.ac.th
• Internet IP address
– 192.168.100.3
(32 bits address with “dot-decimal” notation)
• Station address : Hardware address assigned to network
interface card, refer to MAC address or Ethernet Address
(48 bits)
– 00:5c:f0:3b:00:4a
2
Converting Host Name to MAC Address
cs05.cs.psu.ac.th
172.28.80.96
00:50:ba:49:9d:b9
Resolve IP address by
Domain Name
System(DNS)
Resolve MAC address by
Address Resolution
Protocol(ARP)
3
IP Address with Router
IP address associated with
172.28.80.15 172.28.80.16
172.28.85.116 172.28.85.120
interface (not machine)
• Each interface has its own IP
address
172.28.85.1
• Machine with more than one
172.28.80.1
192.168.99.39
interface called multi-home
Internet
• Router is multi-homed machine
192.168.98.11
• Multi-homed not to be router 192.168.100.4 192.168.100.3
192.168.100.1
4
Addressing Concept
• Partitions address into 2 fields
* network address
* node address
5
IP Address
32 bits
8,16,24 bits
Network
Host
32 bits
8 bits
8 bits
8 bits
172
28
80
10101100 00011100 01010000
.
.
.
8 bits
96
01100000
6
IP Address Class
32 bits address length, contain 2 parts
• Network identifier
• Host identifier
8
16
Class A 0 Network ID
Class B 10
Class C 110
Class D 1110
Class E 11110
24
32
Host ID
Network ID
Host ID
Network ID
Host ID
Multicast Address
Unused
7
IP Address Class
Initial
Bit
Bit
Class bits net host
A
B
C
D
E
0
10
110
1110
11110
7
14
21
28
27
24
16
8
-
range
address
spaces
usable
0.0.0.0 -127.255.255.255 224 16,677,214
128.0.0.0 -191.255.255.255 216 65,534
192.0.0.0 -223.255.255.255 28 254
224.0.0.0-239.255.255.255
240.0.0.0-247.255.255.255
8
Special Address
• Host ID “all 0s” is reserved to refer to network number
– 192.168.100.0, 158.108.0.0, 18.0.0.0
• Host ID “all 1s” is reserved to broadcast to all hosts on a
specific network
– 192.168.100.255, 158.108.255.255, 18.255.255.255
• Address 0.0.0.0 means “default route”
• Address 127.0.0.0 means “this node” (local loopback).
Message sent to this address will never leave the local host
• Address 255.255.255.255 is reserve to broadcast to every
host on the local network (limited broadcast)
9
Private Address
Reserve for Intranet or private network
• 10.0.0.0 – 10.255.255.255 (1 class A )
• 172.16.0.0 – 172.31.255.255 (16 class B)
• 192.168.0.0 – 192.128.255.255 (256 class C)
10
Problem with Class Assignment
• Class A takes 50 % range
• Class B takes 25 % range
• Class C take 12.5 % range
Class A
Class B
These leads to:
• address wasteful (specially in class A)
• running out of IP address
E
D
C
11
How to assigns IP Address (RFC 1466)
• Class A : no allocations will be made at this time
• Class B: allocations will be restricted. To apply:
– organization presents a subnetting more than32 subnets
– organization more than 4096 hosts
• class C: divided into allocated block to distributed reginal
12
Class C Assignment
• Assignment is based on the subscriber ‘s 24 month projection
according to the criteria:
1.
2.
3.
4.
5.
6.
7.
Requires fewer than 256 addresses : 1 class C network
Requires fewer than 512 addresses : 2 contiguous class C networks
Requires fewer than 1024 addresses : 4 contiguous class C networks
Requires fewer than 2048 addresses : 8 contiguous class C networks
Requires fewer than 4096 addresses : 16 contiguous class C networks
Requires fewer than 8192 addresses : 32 contiguous class C networks
Requires fewer than 16384 addresses : 64 contiguous class C networks
13
Problem with Large Network
• Class B “Flat Network” more than 60,000 hosts
– How to manage?
– Performance?
150.0.0.1 150.0.0.2
...
150.0.255.254
14
Problem with Large Network
• Class B “subdivided network” to smaller group with
router
150.0.1.1
150.0.40.1 150.0.40.2
150.0.1.2
150.0.10.1 150.0.10.2
Router
150.0.200.1 150.0.200.2
15
Subnetwork Benefits
•
•
•
•
Increase the network manager’s control the address space
Easy to allocate the address space
Better network performance
Hide routing structure from remote routers, thus reducing
routes in their routing tables
• Subdivide on IP network number is an important initial task
of network managers
16
How to assign subnet
• Divide host ID into 2 pieces
host ID
Network ID Subnet address Host address
Choose
appropriate
size
• Class B address such as 150.0 might use its third byte to identify
subnet
– subnet1 150.0.1.X X = host address range from 1-254
– subnet2 150.0.200.X
17
Subnet Mask
• 32 bit number, tell router to recognize the subnet field, call
subnet mask
• subnet rule: The bit covering the network and subnet part of
address are set to 1
• Example class B with 24 bits mask
1111 1111 1111 1111 1111 1111 0000 0000
subnet mask = 255.255.255.0
* zero bit are used to mask out the host number resulting the
network address
18
Subnet Mask
Subnet mask 255.255.255.0 for class B tells:
• network has been partition to 254 subnets
150.10.1.X to 150.10.254.X
• logic “and” between IP address with mask yields network address
150.10.1.55
150.10.240.243
and
and
255.255.255.0
255.255.255.0
150.10.1.0
150.10.240.0
19
Subnet Mask Bits
Use contiguous subnet mask
128
1
1
1
1
1
1
1
1
64
0
1
1
1
1
1
1
1
32
0
0
1
1
1
1
1
1
16
0
0
0
1
1
1
1
1
8
0
0
0
0
1
1
1
1
4
0
0
0
0
0
1
1
1
2
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
= 128
= 192
= 224
= 240
= 248
= 252
= 254
= 255
20
Subnet Class B Example
• 255.255.0.0 (0000 0000 0000 0000)
0 subnet with 65534 hosts (default subnet)
• 255.255.192.0 (1100 0000 0000 0000)
2 subnets with 16382 hosts
• 255.255.252.0 (1111 1100 0000 0000)
62 subnets with 1022 hosts
• 255.255.255.0 (1111 1111 0000 0000)
254 subnets with 254 hosts
• 255.255.255.252 (1111 1111 1111 11000)
16382 subnets with 2 hosts
21
Subnet Class C Example
• 255.255.255.0 ( 0000 0000)
0 subnets with 254 hosts (default subnet)
• 255.255.255.192 (1100 0000)
2 subnets with 62 hosts
• 255.255.255.224 (1110 0000)
6 subnets with 30 hosts
• 255.255.255.240 (1111 0000)
14 subnets with 14 hosts
22
Subnet Interpretation
IP Address
158.108.2.71
150.10.25.3
130.122.34.132
200.190.155.66
18.20.15.2
Subnet mask
255.255.255.0
255.255.255.192
255.255255.192
255.255.255.192
255.255.0.0
Interpretation
host 71 on subnet 158.108.2.0
host 3 on subnet 150.10.25.0
host 4 on subnet 130.122.34.128
host 2 on subnet 200.190.155.64
host 15.2 on subnet 18.20.0.0
23
Class B Subnet with Router
Router is used to separate network
Picture from Kasetsart University
24
Subnet Routing
Traffic is route to a host by looking “bit wise AND” results
if dest IP addr & subnet mask = = my IP addr & subnet mask
send packet on local network { dest IP addr is on the same subnet}
else
send packet to router {dest IP address is on difference subnet}
25
Type of Subnet
• Static subnet: all subnets in the subnetted network use the
same subnet mask
– pros: simply to implement, easy to maintain
– cons: wasted address space (consider a network of 4 hosts with
255.255.255.0 wastes 250 IPs)
• Variable Length Subnet : the subnets may use difference
subnet masks
– pros: utilize address space
– cons: required well managment
26
Variable Length Subnet Mask
• General idea of VLSM
– A small subnet with only a few hosts needs a subnet
mask that accommodate only few hosts
– A subnet with many hosts need a subnet mask to
accomdate the large number of hosts
• Network Manager’s responsibility to design and
appropriate VLSM
27
VLSM Sample Case
Picture from Kasetsart university
28
CIDR
Classless Inter-Domain Routing
29
Address Allocation Problem
• Exhaustion of the class B network address space
• The lack of a network class of size which is appropriate for
mid-sizes organization
– class C, with a max of 254 hosts, too small
– While class B, with a max of 65534 hosts, too large
• Allocate block of class C instead and downside is more
routes entry in routing table
30
Routing Table Problems
• Issue multiple block class C addresses (instead single class
B address) solves a running out of class B address
• Introduces problems of routing table
– By default, a routing table contains an entry for every
network
– How large a routing table should be for all class C
networks?
• Growth of routing table in the internet routers beyond the
ability of current software and hardware manage
31
Size of the Routing Table at the core of the Internet
Number of prefixes
140000
120000
100000
80000
60000
40000
20000
0
Aug-87
May-90
Jan-93
Oct-95
Jul-98
Apr-01
Jan-04
Source: http://www.telstra.net/ops/bgptable.html
32
Prefix Length Distribution
70000
60000
Number of
Prefixes
50000
40000
30000
20000
10000
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Prefix Length
Source: Geoff Huston, Oct 2001
33
How to solve
• Topological allocate IP address assignment
• We divide the world into 8 regions (RFC 1466)
Multi regional
192.0.0.0 - 193.255.255.255
Europe
194.0.0.0 - 195.255.255.255
Others
196.0.0.0 - 197.255.255.255
North America
198.0.0.0 - 199.255.255.255
Central/South America 200.0.0.0 - 201.255.255.255
Pacific Rim
202.0.0.0 - 203.255.255.255
Others
204.0.0.0 - 205.255.255.255
Others
206.0.0.0 - 207.255.255.255
IANA Reserved
208.0.0.0 - 223.255.255.255
34
Classless Interdomain Routing
• Class C address’s concept becomes meaningless on these
route between domain, the technique is call Classless
Interdomain Routing or CIDR or Supernet
• Kay concepts is to allocate multiple IP address in the way
that allow summarization into a smaller number of routing
table (route aggregate)
• CIDR is supported by BGP4 and based on route
aggregation
– 16 class C addresses can be summarized to a single routing
entry (router can hold a single route entry for a main trunks
between these areas)
35
Supernetting
• An organization has been allocate a block of class C
address in 2n with contiguous address space
– archive by using bits which belongs to the network address as
hosts bits
– class C example : altering the default class C subnet mask such
that some bit change from 1 to 0
(Super) netmask
4 class C networks appear 11111111 11111111 11111100 00000000
to network outside as a
single network
255.255.252.0
36
Supernetting Sample
• An organization with 4 class C
193.0.32.0 , 193.0.33.0 , 193.0.34.0 , 193.0.35.0
11111111 11111111 11111100 00000000 mask 255.255.252.0
11000001 00000000 00100000 00000000 net 193.0.32.0
11000001 00000000 00100001 00000000 net 193.0.33.0
11000001 00000000 00100010 00000000 net 193.0.34.0
11000001 00000000 00100011 00000000 net 193.0.35.0
Bit wise AND results 193.0.32.0: 11000001 00000000 00100000 00000000
• This organization’s network has changed from 4 net to a
single net with 1,022 hosts
37
The longest Match Supernetting
• Europe has 194.0.0.0 - 195.255.255.255 with mask 254.0.0.0
• A case of one organization (195.0.16.0 - 195.0.36.0 mask
255.255.254.0) needs different routing entry
• datagrams 195.0.20.1 matches both Europe’s and this
organization. How to do?
• Routing mechanism selects the longest mask (255.255.254.0 is
longer than 254.0.0.0), then route to the organization
38
Summary
• Routing decisions are now made based on masking
operations of the entries 32 bits address, hence the term
“classes”
• No existing routes is changed
• CIDR slows down the growth of routing tables (current
130K entries in core routers)
• Short term solution to solve routing problem
• limitation: not all host/router software allows supernet
mask
39
IPv6
40
IPv4’s Limitations
•
•
•
•
Two driving factors : addressing and routing
Addressing : address depletion concerns
– Internet exhaust the IPv4 address space between 2005 and 2011
[RFC1752].
Routing : routing table explosion
– Currently ~120K entries in core router
More factors...
– Opportunity to optimized on many years of deployment
experience
– New features needed : multimedia, security, mobile, etc.. 41
Key Issues
The new protocol MUST
• Support large global internetworks
• A clear way to transition IPv4 based networks
42
What is IPv6?
• IPv6 is short for "Internet Protocol Version 6".
• IPv6 is the "next generation" protocol designed by the IETF to
replace the current version Internet Protocol, IP Version 4
43
IPV6 Key Advantages
•
•
•
•
•
•
•
128 bit fix length IP address
Real time support
Self-configuration of workstations or auto configuration
Security features
Support mobile workstations
Protocol remains the same principle
IPv4 compatibility
44
IPV6 Address Representation
•


Hexadecimal values of the eight 16-bit pieces
x:x:x:x:x:x:x:x
Example
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:417A
Compressed form: "::" indicates multiple groups of 16-bits of zeros.
1080:0:0:0:8:800:200C:417A 1080::8:800:200C:417A
FF01:0:0:0:0:0:0:101
FF01::101
0:0:0:0:0:0:0:1
::1
45
0:0:0:0:0:0:0:0
::
IPV6 Address Representation(cont)
•
Mixed environment of IPv4 and IPv6 address
IPv4-compatible IPv6 address
technique for hosts and routers to dynamically tunnel IPv6
packets over IPv4 routing infrastructure
0:0:0:0:0:0:13.1.68.3 => :: 13.1.68.3
IPv4-mapped IPv6 address
represent the addresses of IPv4-only nodes (those that do not
support IPv6) as IPv6 addresses
IPv4-only IPv6-compatible addresses are sometimes used/shown for
sockets created by an IPv6-enabled daemon, but only binding to an IPv4
address. These addresses are defined with a special prefix of length 96
(a.b.c.d is the IPv4 address):
0:0:0:0:0:FFFF:129.144.52.38/96 => :: FFFF:129.144.52.38/96
http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/x324.html
46
Format Prefix
•
Format Prefix :
– Leading bits indicate specific type of an IPv6 address
– The variable-length field
– Represented by the notation:
IPv6-address/prefix-length
Example : the 60-bit prefix 12AB00000000CD3
12AB:0000:0000:CD30:0000:0000:0000:0000/60
12AB::CD30:0:0:0:0/60
12AB:0:0:CD30::/60
47
Type of Addresses
Three type of addresses
• UNICAST : defines a single interface
A packet sent to a unicast address is delivered to the interface
identified by that address.
• ANYCAST : defines a set of interfaces
A packet sent to an anycast address is delivered
to one of the interfaces
• MULTICAST : defines a set of interfaces
A packet sent to a multicast address is delivered to
all interfaces identified by that address
48
Address Types
• Unspecified address, 0:0:0:0:0:0:0:0 or ::
• Loopback address, 0:0:0:0:0:0:0:1 of ::1
• Global address, 2000::/3 and E000::/3
currently only 2000::/3 is being assigned
• Link local address, FE80::/64
• Site local address, FEC0::/10
49
IPV6 Address Allocation
Allocation
Prefix bit
Prefix
form at
fraction of
address
apace
Reserved
0000 0000
0::/8
1/256
Unassigned
0000 0001
100::/8
1/256
Reserved for NSAP Allocation
Reserved for IPX Allocation
0000 001
0000 010
200::/7
400::/7
1/128
1/128
Unassigned
0000 011
600::/7
1/128
Unassigned
0000 1
800::/5
1/32
Unassigned
0001
1000::4
1/16
Aggregatable Global Unicast Addresses
001
2000::/3
1/8
Unassigned
010
4000::/3
1/8
Unassigned
011
6000::/3
1/8
Unassigned
100
8000::/3
1/8
Unassigned
101
A000::/3
1/8
Unassigned
110
C000::/3
1/8
Unassigned
1110
E000::/4
1/16
Unassigned
1111 0
F000::/5
1/32
Unassigned
1111 10
F800::/6
1/64
Unassigned
1111 110
FC00::/7
1/128
Unassigned
1111 1110 0
FE00::/9
1/512
Link-Local Unicast Addresses
Site-Local Unicast Addresses
Multicast Addresses
1111 1110 10
1111 1110 11
1111 1111
FE80::/10
FEC0::/10
FF00::/8
1/1024
1/1024
1/256
50
Address Registries
Address registries for IPv6 are the same one as for IPv4, ARIN,RIPE
and APNIC.
• Only large network providers will ever obtain addresses directly from the
registries, such as UNINET : one such provider in Thailand
• If a /35 prefix is allocates, the registry internally will reserve a /32.
• The basic unit of assignment to any organization is a /48 prefix
51
Aggregatable Unicast Address
Three level hierarchy:
• Public Topology : providers and
exchanges who provide public Internet
transit services
(P1, P2, P3, P4, X1, X2, P5 and P6)
• Interface Identifier: interfaces on links
x2
X1
P2
S1
• Site Topology : does not provide public
transit service to nodes outside of the
site
(S1, S2, S3, S4, S5 and S6)
P3
P1
P4
S2
P5
S4
S5
P6
S3
S6
52
Aggregatable Unicast Address
3
13
8
FP
TLA ID
RES
24
NLA ID
Public Topology
FP=Format
Prefix= 001
TLA= Top Level Aggregation
RES= Reserved
NLA=Next-Level Aggregation
SLA=Site-Level Aggregation
16
SLA ID
64 bits
Interface ID
Site
Topology
Interface
Identifier
53
Header Comparison
0
15 16
vers hlen
20
bytes
TOS
•
flags
protocol
frag offset
header checksum
source address
destination address
•
options and padding
pay load length
40
bytes
flow label
next header
hop limit
•
source address
Added: (2)
– Traffic class
– flow label
destination address
IPv6
Changed: (3)
– total length=> payload
– protocol => next header
– TTL=> hop limit
IPv4
vers traffic class
Removed (6)
– ID, Flags, frag offset
– TOS, hlen
– header checksum
total length
identification
TTL
31
•
Expanded
– address 32 bits to 128 bits
54
IPv6 Node Configuration
• Ethernet address is an IEEE EUI-48
• Node address is an IEEE EUI-64
• EUI-48 can be converted into an EUI-64 by inserting the bits FF FE between
the 3 rd and 4th octets
EUI-48
EUI-64
00:06:5B:DA:45:AD = 00:06:5B:FF:FE:DA:45:AD
55
Auto configuration
“Plug and play” feature
•
Stateless mode :via ICMP (no server required)
Prefix
4c00::/80
Link Address
00:A0:C9:1E:A5:B6
IPv6 Address
4c00::A0:C9FF:EF1E:A5B6
Router adv.
•
Stateful server mode : via DHCP
00:A0:C9:1E:A5:B6
DHCP
server
DHCP request
DHCP response
4c00::A0:C9FF:FE1E:A5B6
56
Security
•
•
Authentication/Confidential
Authentication:
– MD5 based
•
Confidential :
– payload encryption
– Cipher Block Chaining mode of the Data Encryption Standard (DESCBC)
57
Support Protocols
•
•
•
•
ICMPv6 [RFC1885]
DHCPv6
DNS extensions to support IPv6 [RFC1886]
Routing Protocols
–
–
–
–
–
RIPv6 [RFC2080]
OSPFv6
IDRP
IS-IS
Cisco EIGRP
58
Dual Stack
•
•
Dual stack hosts support both IPv4 and IPv6
Determine stack via DNS
Application
TCP
IPv6 IPv4
Ethernet
IPV6
Dual stack host
IPv4
59
Tunneling: automatic tunneling
•
•
Encapsulate IPv6 packet in IPv4
Rely on IPv4-compatible IPv6 address
IPv6 host
::1.2.3.4
R1
IPv4
Network
2.3.4.5
::2.3.4.5
6 traffic
flow label
payload len
next
hops
src = ::1.2.3.4
(IPv4-compatible IPv6 adr)
dst = ::2.3.4.5
(IPv4-compatible IPv6 adr)
payload
IPv4/6 host
2.3.4.5
R2
2.3.4.5
4 hl TOS
len
frag id
frag ofs
TTL
prot
checksum
src: 1.2.3.4
dst: 2.3.4.5
6 traffic
flow label
4 hl TOS
len
frag id
frag ofs
TTL
prot
checksum
src: 1.2.3.4
dst: 2.3.4.5
6 traffic
flow label
payload len
payload len
next
hops
next
hops
src = ::1.2.3.4
(IPv4-compatible IPv6 adr)
src = ::1.2.3.4
(IPv4-compatible IPv6 adr)
dst = ::2.3.4.5
(IPv4-compatible IPv6 adr)
dest = ::2.3.4.5
(IPv4-compatible IPv6 adr)
payload
payload
60
Tunneling : configured tunneling
•
•
Encapsulate IPv6 packet in IPv4
Rely on IPv6-only address
IPv6 address
(IPv4-compatible
address are
unavailable)
IPv6 host
::1:2:3:4
R1
::2:3:4:5
6 traffic
flow label
payload len
next
src = ::1:2:3:4
(IPv6 adr)
dst = ::2:3:4:5
(IPv6 adr)
payload
hops
IPv6 host
:: 2:3:4:5
IPv4
Network
R2
::2:3:4:5
R2
4 hl TOS
len
frag id
frag ofs
TTL
prot
checksum
src = R1
dst =R2
6 traffic
flow label
payload len
next
src =::1:2:3:4
(IPv6 adr)
hops
6 traffic
flow label
payload len
next
hops
src = ::1:2:3:4
(IPv6 adr)
dst = ::2:3:4:5
(IPv6 adr)
payload
dst = ::2:3:4:5
(IPv6 adr)
payload
61
Header Translation



Full IPv6 system
need to support few IPv4-only systems
rely on
IPv6 host
::1:2:3:4
IPv4-mapped
R1
IPv6 address
::2:3:4:5
IPv4 host
2.3.4.5
IPv6
Network
R2
2.3.4.5
::2.3.4.5
6 traffic
flow label
6 traffic
flow label
payload len
next
payload len
next
src = ::1:2:3:4
(IPv6 adr)
dst = ::2.3.4.5
(IPv6 adr)
payload
hops
src = ::1:2:3:4
(IPv6 adr)
dst = ::2.3.4.5
(IPv6 adr)
hops
4 hl TOS
len
frag id
frag ofs
TTL
prot
checksum
src = R1
dst =R2
payload
payload
62
Migration Steps
1. Upgrade DNS servers to handle IPv6 Address
2. Introduce dual stack systems that support IPv4 and
IPv6
3. Rely on tunnels to connect IPv6 networks separated by
IPv4 networks
4. Remove support for IPv4
5. Rely on header translation for IPv4-only systems
63
Conclusion
•
•
IPv6 will provide for future Internet growth and
enhancement
IPv6 :
– solve the Internet scaling problem
– support large hierarchical address
– provide a flexible transition mechanism
– interoperate with IPv4
– provide a platform for new Internet functionality
64