1
IP Address
Sirak Kaewjamnong
2
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 assi gned to network interface card, refer to
MAC address or Ethernet Address 48(bi t s)–00503004
3
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)
4
IP Address with Router
IP address associated with interface (not machine)
• Each interface has its own IP address
• Machine with more than one interface called multi-home
• Router is multi-homed machine
• Multi-homed not to be router
172.28.80.15172.28.80.16172.28.85.116172.28.85.120
172.28.85.1172.28.80.1
192.168.100.3192.168.100.4
192.168.100.1
192.168.99.39
192.168.98.11
Internet
5
Addressing Concept
• Partitions address into 2 fields* network address* node address
6
IP Address
Network Host
32 bits
8,16,24 bits
8 bits 8 bits 8 bits 8 bits
32 bits
172 28 80 96. . .10101100000111000101000001100000
7
IP Address Class
32 bits address length, contain 2 parts
• Network identifier• Host identifier
Class A8 16 24 32
Host IDNetwork ID0
Multicast Address1110
Unused11110
Host IDNetwork ID110
Host IDNetwork ID10Class B
Class C
Class DClass E
8
IP Address Class
A 0 7 24 0.0.0.0 -127.255.255.255 224 16,677,214
B 10 14 16 128.0.0.0 -191.255.255.255 216 65,534
C 110 21 8 192.0.0.0 -223.255.255.255 28 254
D 1110 28 - 224.0.0.0-239.255.255.255
E 11110 27 - 240.0.0.0-247.255.255.255
ClassInitial bits
Bit net
Bithost range address
spacesusable
9
Special Address• Host ID 0“all s” is reserved to refer to network
number– 1921681000 15810800. . . , . . . ,18000. . .
• Host ID “ 1 ”all s is reserved to bbbbbbbbb bb bbb b osts on a specific network
– 192168100255 1581082. . . , . . 55255 18255255255. , . . .
• Address 0.0.0.0 means “defaultroute”• mmmmm 127000 “this node” (local loopb
ack). Message sent to this address will never lea ve the local host
• 255255255255Address . . . is reser ve t o broadcast to every host on the local n
etwork (limited broadcast)
10
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)
11
Problem with Class Assignment
• Class A takes 50 % range
• Class B takes 25 % range
• Class C take 12.5 % range
These leads to:• address wasteful
(specially in class A)• running out of IP address
Class AClass B
CD
E
12
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
13
Class C Assignment • Assignment is based on the subscriber ‘s 24 month
projection according to the criteria:1. Requires fewer than 256 addresses : 1 class C
network2. Requires fewer than 512 addresses : 2 contiguous
class C networks3. Requires fewer than 1024 addresses : 4 contiguous
class C networks4. Requires fewer than 2048 addresses : 8 contiguous
class C networks5. Requires fewer than 4096 addresses : 16 contiguous
class C networks6. Requires fewer than 8192 addresses : 32 contiguous
class C networks7. Requires fewer than 16384 addresses : 64 contiguous
class C networks
14
Problem with Large Network
•Class B “Flat Network” more than 60,000 hosts–How to manage?–Performance?...150.0.0.1150.0.0.2 150.0.255.254
15
Problem with Large Network
•Class B “subdivided network” to smaller group with router
150.0.10.1150.0.10.2
150.0.40.1150.0.40.2
150.0.200.1150.0.200.2
150.0.1.1150.0.1.2
Router
16
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
17
How to assign subnet• Divide host ID into 2 pieces
• 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
Network IDSubnet addressHost address
host ID
Choose
appropriate size
18
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 mask1111 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
19
Subnet Mask 2552552550Subnet mask . . . for c
m mmmmmm:• 254network has been partition to subnets
150101 15010254. . .X to . . .X• mmmm mmm mm mmmmmmm m mmm m mmm mmmmmm “ ”
mmmm mmm mmmmmmm15010155. . .15010240243
mmm mmm2552552550. . .2552552550. . .15010. .10 15010. .2400
20
Subnet Mask Bits
Use contiguous subnet mask 128 64 32 16 8 4 2 1 1 0 0 0 0 0 0 0 =
128 1 1 0 0 0 0 0 0 =
192 1 1 1 0 0 0 0 0 = 224 1 1 1 1 0 0 0 0 = 240 1 1 1 1 1 0 0 0 = 248 1 1 1 1 1 1 0 0 = 252 1 1 1 1 1 1 1 0 = 254 1 1 1 1 1 1 1 1 = 255
21
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
22
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
23
Subnet Interpretation
IP Address Subnet mask Interpretation158.108.2.71 255.255.255.0 host 71 on subnet
158.108.2.0150.10.25.3 255.255.255.192 host 3 on subnet
150.10.25.0130.122.34.132 255.255255.192 host 4 on
subnet 130.122.34.128200.190.155.66 255.255.255.192 host 2 on
subnet 200.190.155.6418.20.15.2 255.255.0.0 host 15.2 on subnet
18.20.0.0
24
Class B Subnet with Router Router is used to separate
network
Picture from Kasetsart University
25
Subnet Routing
Trafficisr out e t o a host by l ooki ng “bi t wi se AND”r esult s
if dest IP addr & subnet mask = = my IP addr & subnet mask
send packet on local network { dest IP addr is on the sa me subnet}
else
send packet to router {dest IP address is on difference subnet}
26
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
27
Variable Length Subnet Mask• General idea of VLSM
– A small subnet with only a few host s needs a subnet mask that accom
modate only few hosts– A subnet with many hosts need a s
ubnet mask to accomdate the larg e number of hosts
• Network Manager’s responsibility to design and appropriate VLSM
28
VLSM Sample Case
Picture from Kasetsart university
29
CIDRClassless Inter-Domain Routing
30
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
31
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
32
Size of the Routing Table at the core of the Internet
Source: http://www.telstra.net/ops/bgptable.html
0
20000
40000
60000
80000
100000
120000
140000
Aug-87 May-90 J an-93 Oct-95 J ul-98 Apr-01 J an-04
Num
ber
of
prefi
xes
33
Prefix Length Distribution
0
10000
20000
30000
40000
50000
60000
70000
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
Nu
mb
er o
f P
refi
xes
Source: Geoff Huston, Oct 2001
34
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.255Europe 194.0.0.0 - 195.255.255.255Others 196.0.0.0 - 197.255.255.255North America 198.0.0.0 - 199.255.255.255Central/South America200.0.0.0 - 201.255.255.255Pacific Rim 202.0.0.0 - 203.255.255.255Others 204.0.0.0 - 205.255.255.255Others 206.0.0.0 - 207.255.255.255IANA Reserved 208.0.0.0 - 223.255.255.255
35
Classless Interdomain Routing• Class C address’s concept becomes mea
ningless on these route between domai n, the technique is call Classless Interd
omain Routing or CIDR or Supernet• Kay concepts is to allocate multiple IP ad
dress in the way that allow summarizatio n into a smaller number of routing table (
route aggregate)• CIDR is supported by BGP4 and based o
n route aggregation– 16 class C addresses can be summarized
m mmmmmm mmmmmmm mmmmm mmmmmmm mmm mmmm m m( ingle route entry for a main trunks between
thesear eas)
36
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 011111111 11111111 11111100 00000000
255.255.252.0
(Super) netmask4 class C networks appearto network outside as a single network
37
Supernetting Sample
• An organization with 4 class C193.0.32.0 , 193.0.33.0 , 193.0.34.0 , 193.0.35.011111111 11111111 11111100 00000000 mask 255.255.252.011000001 00000000 00100000 00000000 net 193.0.32.011000001 00000000 00100001 00000000 net 193.0.33.011000001 00000000 00100010 00000000 net 193.0.34.0 11000001 00000000 00100011 00000000 net 193.0.35.0Bit 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
38
The longest Match Supernetting• - 194000 1952Europe has . . . .
55255255 254. . with mask . 000. .
• - mmmm(195.0.16.0 195.0.36.0 255.255.254.0)m mmmmmmmmm mmmmmmm mmmmm
• m mmmmmm m1 950201
othEurope’sandt hi s or gani zat i on. Howt o do?• mmmm mmmmm mm (255.255.254.0 254.0.0.0),
t he or gani zat i on
39
Summary
• Routing decisions are now made base d 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
40
IPv6
41
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..
42
Key Issues
The new protocol MUST• Support large global internetworks• A clear way to transition IPv4
based networks
43
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
44
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
45
IPV6 Address Representation
• Hexadecimal values of the eight 16-bit piecesx:x:x:x:x:x:x:x
ExampleFEDC:BA98:7654:3210:FEDC:BA98:7654:32101080: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
0:0:0:0:0:0:0:0 ::
46
IPV6 Address Representation(cont)• Mixed environment of IPv4 and IPv6
addressIPv4-compatible IPv6 address
technique for hosts and routers to dynamically tunnel IPv6packets over IPv4 routing infrastructure
0:0:0:0:0:0:13.1.68.3 => :: 13.1.68.3
http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/x324.html
represent the addresses of IPv4-only nodes (those that do not support IPv6) as IPv6 addressesIPv4-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):
IPv4-mapped IPv6 address
0:0:0:0:0:FFFF:129.144.52.38/96 => :: FFFF:129.144.52.38/96
47
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
12AB:0000:0000:CD30:0000:0000:0000:0000/60
12AB::CD30:0:0:0:0/60
12AB:0:0:CD30::/60
Example : the 60-bit prefix 12AB00000000CD3
48
Type of AddressesThree type of addresses• UNICAST : defines a single interfaceA packet sent to a unicast address is delivered to
the interface identified by that address.• ANYCAST : defines a set of interfacesA packet sent to an anycast address is delivered to one of the interfaces• MULTICAST : defines a set of interfacesA packet sent to a multicast address is delivered to all interfaces identified by that address
49
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::/3currently only 2000::/3 is being assigned
• Link local address, FE80::/64• Site local address, FEC0::/10
50
IPV6 Address AllocationAllocation Prefix bit Prefix
formatfraction ofaddressapace
Reserved 0000 0000 0::/8 1/256Unassigned 0000 0001 100::/8 1/256
Reserved for NSAP Allocation 0000 001 200::/7 1/128Reserved for IPX Allocation 0000 010 400::/7 1/128Unassigned 0000 011 600::/7 1/128Unassigned 0000 1 800::/5 1/32Unassigned 0001 1000::4 1/16
Aggregatable Global Unicast Addresses 001 2000::/3 1/8Unassigned 010 4000::/3 1/8Unassigned 011 6000::/3 1/8Unassigned 100 8000::/3 1/8Unassigned 101 A000::/3 1/8Unassigned 110 C000::/3 1/8Unassigned 1110 E000::/4 1/16Unassigned 1111 0 F000::/5 1/32Unassigned 1111 10 F800::/6 1/64Unassigned 1111 110 FC00::/7 1/128Unassigned 1111 1110 0 FE00::/9 1/512
Link-Local Unicast Addresses 1111 1110 10 FE80::/10 1/1024Site-Local Unicast Addresses 1111 1110 11 FEC0::/10 1/1024Multicast Addresses 1111 1111 FF00::/8 1/256
51
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
52
Aggregatable Unicast AddressThree level hierarchy:• Public Topology : providers
and exchanges who provide public Internet transit services
(P1, P2, P3, P4, X1, X2, P5 and P6)
• Site Topology : does not
provide public transit service to nodes outside of the site
(S1, S2, S3, S4, S5 and S6) • Interface Identifier: interfaces
on links
X1
P1
P2
P3
P4
x2
P5 P6S1 S2 S3
S4 S5 S6
53
Aggregatable Unicast Address
FP TLA ID RES NLA ID SLA ID Interface ID
3 13 8 24 16 64 bits
Public Topology Site
Topology Interface
IdentifierTLA= Top Level AggregationRES= ReservedNLA=Next-Level AggregationSLA=Site-Level Aggregation
FP=Format Prefix= 001
54
Header Comparison• Removed (6)
– ID, Flags, frag offset
– TOS, hlen
– header checksum
• Changed: (3)– total length=> payload
– protocol => next header
– TTL=> hop limit
• Added: (2)– Traffic class
– flow label
• Expanded– address 32 bits to 128 bits
vers hlen TOS total length
identification flags frag offset
TTL protocol header checksum
source address
destination address
options and padding
0 15 16 31
20bytes
vers traffic class flow label
pay load length next header hop limit
source address
destination address
40bytes
IPv4
IPv6
55
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
56
Auto configuration
“Plug and play” feature• Stateless mode :via ICMP (no server required)
• Stateful server mode : via DHCP
Prefix4c00::/80
Link Address00:A0:C9:1E:A5:B6
IPv6 Address4c00::A0:C9FF:EF1E:A5B6
Router adv.
DHCP request
DHCP response
00:A0:C9:1E:A5:B6
4c00::A0:C9FF:FE1E:A5B6
DHCPserver
57
Security
• Authentication/Confidential• Authentication:
– MD5 based• Confidential :
– payload encryption– Cipher Block Chaining mode of the
Data Encryption Standard (DES-CBC)
58
Support Protocols
• ICMPv6 [RFC1885]• DHCPv6• DNS extensions to support IPv6
[RFC1886]• Routing Protocols
– RIPv6 [RFC2080]– OSPFv6– IDRP – IS-IS– Cisco EIGRP
59
Dual Stack
• Dual stack hosts support both IPv4 and IPv6
• Determine stack via DNS
IPV6 IPv4Dual stack host
Application
TCP
IPv6 IPv4
Ethernet
60
Tunneling: automatic tunneling• Encapsulate IPv6 packet in IPv4• Rely on IPv4-compatible IPv6 address
IPv6 host IPv4/6 hostIPv4 Network::1.2.3.4 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
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 next hops
src = ::1.2.3.4 (IPv4-compatible IPv6 adr)
dst = ::2.3.4.5 (IPv4-compatible IPv6 adr)
payload
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 next hops
src = ::1.2.3.4 (IPv4-compatible IPv6 adr)
dest = ::2.3.4.5 (IPv4-compatible IPv6 adr)
payload
::2.3.4.5 2.3.4.5 2.3.4.5
R1 R2
61
Tunneling : configured tunneling• Encapsulate IPv6 packet in IPv4• Rely on IPv6-only address
IPv6 host IPv6 hostIPv4 Network::1:2:3:4 :: 2:3:4:5
6 traffic flow label
payload len next hops
src = ::1:2:3:4 (IPv6 adr)
dst = ::2:3:4:5 (IPv6 adr)
payload
4 hl TOS len
frag id frag ofs
TTL prot checksum
src = R1
dst =R2
6 traffic flow label
payload len next hops
src =::1:2:3:4 (IPv6 adr)
dst = ::2:3:4:5 (IPv6 adr)
payload
::2:3:4:5 R2 ::2:3:4:5
R1 R2
6 traffic flow label
payload len next hops
src = ::1:2:3:4 (IPv6 adr)
dst = ::2:3:4:5 (IPv6 adr)
payload
IPv6 address(IPv4-compatible address are unavailable)
62
Header Translation Full IPv6 system need to support few IPv4-only systems rely on
IPv4-mapped IPv6 address
IPv6 host IPv4 hostIPv6 Network::1:2:3:4 2.3.4.5
6 traffic flow label
payload len next hops
src = ::1:2:3:4 (IPv6 adr)
dst = ::2.3.4.5 (IPv6 adr)
payload
4 hl TOS len
frag id frag ofs
TTL prot checksum
src = R1
dst =R2 payload
::2:3:4:5 ::2.3.4.5 2.3.4.5
R1 R2
6 traffic flow label
payload len next hops
src = ::1:2:3:4 (IPv6 adr)
dst = ::2.3.4.5 (IPv6 adr)
payload
63
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 IPv45. Rely on header translation for IPv4-
only systems
64
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