Download The Internet Network layer

Document related concepts

CAN bus wikipedia , lookup

AppleTalk wikipedia , lookup

Peering wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Deep packet inspection wikipedia , lookup

IEEE 1355 wikipedia , lookup

Distributed firewall wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Internet protocol suite wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Network tap wikipedia , lookup

Computer network wikipedia , lookup

Wake-on-LAN wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Airborne Networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Routing wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Transcript
Computer Networks
Network layer (Part 2)
1
Network layer (part II)
• Last class
– Network layer functions
• Addressing, security, fragmentation, delivery semantics,
quality of service
• In the middle of talking about routing….
• This class and beyond
– Finish network layer functions (routing)
– Specific implementations
• IP (addressing, security, fragmentation, delivery semantics,
quality of service, routing)
• Network layer devices and implementations
2
NL: DBF (count-to-infinity example)
Link cost changes:
• good news travels fast
• bad news travels slow - “count to infinity”
problem!
• see book for explanation of this example
60
X
4
Y
50
1
Z
algorithm
continues
on!
3
NL: DBF: (count-to-infinity example)
dest
B
C
cost
1
2
dest cost
1
X
A
B
A
C
1
1
1
25
C
dest cost
A
B
2
1
4
NL: DBF: (count-to-infinity example)
C Sends Routes to B
dest
B
C
cost
1
2
dest cost
A
B
A
C
~
1
1
25
C
dest cost
A
B
2
1
5
NL: DBF: (count-to-infinity example)
B Updates Distance to A
dest
B
C
cost
1
2
dest cost
A
B
A
C
3
1
1
25
C
dest cost
A
B
2
1
6
NL: DBF: (count-to-infinity example)
B Sends Routes to C
dest
B
C
dest cost
cost
1
2
A
B
A
C
3
1
1
25
C
dest cost
A
B
4
1
7
NL: DBF: (count-to-infinity example)
C Sends Routes to B
dest
B
C
cost
1
2
dest cost
A
B
A
C
5
1
1
25
C
dest cost
A
B
4
1
8
NL: How are loops caused?
• Observation 1:
– B’s metric increases
• Observation 2:
– C picks B as next hop to A
– But, the implicit path from C to A includes itself!
9
NL: Solutions to looping
• Split horizon
– Do not advertise route to X to an adjacent neighbor if your
route to X goes through that neighbor
– If C routes through B to get to A, C does not advertise (C=>A)
route to B.
• Poisoned reverse
– Advertise an infinite distance route to X to an adjacent
neighbor if your route to X goes through that neighbor
– If C routes through B to get to A, C advertises to B that its
distance to A is infinity
• Works for two node loops
– Does not work for loops with more nodes
10
NL: Split-horizon with poisoned reverse
If Z routes through Y to get to X :
• Z tells Y its (Z’s) distance to X is
infinite (so Y won’t route to X via Z)
• will this completely solve count to
infinity problem?
60
X
4
Y
50
1
Z
algorithm
terminates
11
NL: Solutions to looping
• Example Where Split Horizon
Fails
1
A
B
1
1
C
1
D
• When link breaks, C marks D as
unreachable and reports that to A
and B
• Suppose A learns it first
– A now thinks best path to D is
through B
– A reports D unreachable to B and
a route of cost=3 to C
• C thinks D is reachable through A at
cost 4 and reports that to B
• B reports a cost 5 to A who reports
new cost to C
• etc...
12
NL: Solutions to looping
• Path Holddown
– If metric increases, delay propagating information
– In our example, A and B delay changing and advertising new
routes
– A and B both set route to D to infinity after single step
– Delay too large
• Adversely affects convergence
– Delay too small
• Count-to-infinity more probable
• Route poisoning
– Advertise infinite cost when cost from next hop starts to
increase
13
NL: Solutions to looping
• Path vector
–
–
–
–
–
Select loop-free paths
Each route advertisement carries entire path
If a router sees itself in path, it rejects the route
BGP does it this way
Space proportional to diameter
14
NL: Solutions to looping
• Do solutions completely eliminate loops?
– No! Transient loops are still possible
– Why? Because implicit path information may be stale
– See this in BGP convergence
• Only way to fix this
– Ensure that you have up-to-date information by
explicitly querying
15
NL: Link State vs. Distance Vector
• Network bandwidth
– DV
• send everything you know to your neighbors
• large messages, transfers only to neighbors
– LS
• send info about your neighbors to everyone
• small messages, transfers O(nE)
16
NL: Link State vs. Distance Vector
• Convergence speed:
– LS
• faster – don’t need to process LSPs before forwarding
• single SPT calculation
– DV
• fast with triggered updates
• count-to-infinity problem
• Space requirements:
– LS
• maintains entire topology
– DV
• maintains only neighbor state
• path vector maintains routes proportional to network diameter
17
NL: Link State vs. Distance Vector
• Robustness:
– LS can broadcast incorrect/corrupted LSP
• Can be made robust since sources are aware of alternate
paths
– DV can advertise incorrect paths to all destinations
• Incorrect calculation can spread to entire network
18
NL: DUAL
• Distributed Update Algorithm
– Garcia-Luna-Aceves 1989
– Goal: Avoid transient loops in DV and LS algorithms
– 2 ideas
• A path shorter than current path cannot contain a loop
• Based on diffusing computation (Dijkstra-Scholten 1980)
– Wait until computation completes before changing routes in
response to a new update
– Similar to path-holddown
– 3 kinds of messages
• Update, query, reply
– 2 states for routers
• Active (queries outstanding), passive
19
NL: DUAL
On update
if (lower cost) adopt
else if (higher cost) {
if (from next hop) {
if (any path exists < old length from next hop)
switch path
else
freeze route
send query to all neighbors except next hop
go into active
wait for reply from all neighbors
update route
return to passive
}
send reply to all querying neighbors
}
20
NL: Routing Hierarchies
• Flat routing doesn’t scale
– Each node/router cannot be expected to store routes to every
destination (or destination network)
– 50 million destinations
– Route table exchange would swamp network
• Key observation
– Need less information with increasing distance to destination
• Two radically different approaches for routing
– The area hierarchy
– The landmark hierarchy (discuss in routing alternatives)
21
NL: Areas
• Divide network into areas
–
–
–
–
Areas can have nested sub-areas
No path between two sub-areas of an area can exit that area
Within area, each node has routes to every other node
Outside area
• Each node has routes for other top-level areas only
• Inter-area packets are routed to nearest appropriate border router
• Can result in sub-optimal paths
• Hierarchically address nodes in a network
– Sequentially number top-level areas
– Sub-areas of area are labeled relative to that area
– Nodes are numbered relative to the smallest containing area
22
NL: Landmark Hierarchy
• Details about things nearby and less information about
things far away
• Not defined by arbitrary boundaries
– Thus, not well suited to the real world that does have
administrative boundaries
• Example: My apartment
• MtHood.Portland.USBancorpTower.Oba.KearneyPlaza
• From Beaverton
–
–
–
–
Go towards Mt. Hood
See USBancorpTower before running into Mt.Hood
See Oba before running into USBancorpTower
Reach Oba and route to Kearney Plaza 2 blocks away
• From The Dalles
–
–
–
–
Go towards Mt. Hood, reach it
Go towards Portland, see USBancorpTower
Go towards and reach USBancorpTower
Go towards and reach Oba, route to Kearney Plaza 2 blocks away
23
NL: A Landmark
9
6
5
11
8
7
3
10
4
1
Router 1 is a landmark
of radius 2
2
24
NL: Landmark Overview
• Landmark routers have “height” which determines how
far away they can be seen (visibility)
– Routers within radius n can see a landmark router LMn
• See means that those routers have LMn’s address and
know next hop to reach it.
– Router x as an entry for router y if x is within radius of y
• Distance vector style routing with simple metric
• Routing table: Landmark (LM2(d)), Level(2), Next hop
25
NL: LM Hierarchy Definition
• Each LM i associated with level (i) and radius (ri)
• Every node is an LM0 landmark
• Recursion: some LMi are also LMi+1
– Every LMi sees at least one LMi+1
• Terminating state when all level j LMs are seen
by entire network
26
NL: LM Self-configuration
• Bottom-up hierarchy construction algorithm
– Goal to bound number of children
– Every router is L0 landmark
– All Li landmarks run election to self-promote one or more
Li+1 landmarks
• LM level maps to radius (part of configuration), e.g.:
– LM level 0: radius 2
– LM level 1: radius 4
– LM level 2: radius 8
• Dynamic algorithm to adapt to topology changes –
Efficient hierarchy
27
NL: LM Addresses
• LM(2).LM(1).LM(0)
(C.B.A)
• If destination is more
than two hops away,
will not have
complete routing
information, refer to
LM(1) portion of
address, if not known
then refer to LM(2)
LM0A aka C.B.A
R0
R1
LM1B
LM2C
R2
28
NL: LM Routing
• LM does not imply hierarchical forwarding
• It is NOT a source route
• En route to LM1,packet may encounter router
that is within LM0 radius of destination address
(like longest match)
• Paths may be asymmetric
29
NL: Landmark Routing: Basic Idea
• Source wants to reach
LM0[a], whose address is
c.b.a:
•Source can see LM2[c], so
sends packet towards c
•Entering LM1[b] area, first
router diverts packet to b
•Entering LM0[a] area,
packet delivered to a
• Not shortest path
• Packet may not reach
landmarks
LM0[a]
r1[b]
r0[a]
LM1[b]
LM2[c]
r2[c]
Network Node
Path
Landmark
Radius
30
NL: Landmark Routing: Example
d.d.f
d.i.k
d.i.g
d.d.e
d.i.i
d.d.d
d.d.a
d.i.w
d.d.j
d.d.b
d.i.v
d.d.c
d.d.l
d.d.k
d.i.u
d.n.h
d.n.x
d.n.t
d.n.n
d.n.q
d.n.s
d.n.o
d.n.p
d.n.r
31
NL: Routing Table for Router g
Landmark
Level
Next hop
LM2[d]
LM1[i]
2
1
f
LM0[e]
0
f
LM0[k]
0
k
LM0[f]
0
f
k
d.d.f
Router g
d.i.k
d.i.g
d.d.e
d.i.i
d.d.d
d.d.a
d.i.w
d.d.j
r0 = 2, r1 = 4, r2 = 8 hops
• How to go from d.i.g to
d.n.t? g-f-e-d-u-t
• How does path length
compare to shortest path?
g-k-I-u-t
d.d.b
d.d.c
d.d.l
d.d.k
d.i.u
d.n.h
d.n.x
Router t
d.n.t
d.n.n
d.n.q
d.n.s
d.n.o
d.n.p
d.n.r
32
NL: Demux to upper layer
• Sends payload to the next layer in protocol stack
(usually transport layer)
33
NL: Error detection
• Protection of data and/or header at the network
layer
– Provide extra protection on top of data-link layer and
below transport layer
– End-to-end principle
• Is this necessary?
34
NL: Network layer functions summary
• Each networking layer provides varying degrees of
functionality including….
– security, delivery semantics, quality of service, demux to upper
layer, error detection, fragmentation, addressing, routing
• Next: IP network layer
–
–
–
–
–
–
–
–
IP error detection
IP demux to upper layer
IP security
IP fragmentation
IP delivery semantics
IP quality-of-service
IP addressing
IP routing
35
NL: The Internet Network layer (IP)
Host, router network layer functions:
Transport layer: TCP, UDP
Network
layer
IP protocol
•addressing conventions
•datagram format
•packet handling conventions
Routing protocols
•path selection
•RIP, OSPF, BGP
routing
table
ICMP protocol
•error reporting
•router “signaling”
Link layer
physical layer
36
NL: How is IP Design Standardized?
• IETF
– Voluntary organization
– Meeting every 4 months
– Working groups and email discussions
• “We reject kings, presidents, and voting; we believe in
rough consensus and running code” (Dave Clark 1992)
– Need 2 independent, interoperable implementations for
standard
• IRTF
– End2End
– Reliable Multicast, etc..
37
NL: IP datagram format (RFC 791)
IP protocol version
number (currently 4)
header length
(bytes)
“type” of data
max number
remaining hops
(decremented at
each router)
upper layer protocol
to deliver payload to
32 bits
type of
ver head.
len service
length
fragment
16-bit identifier flgs
offset
time to upper
header
layer
live
checksum
total datagram
length (bytes)
for
fragmentation/
reassembly
32 bit source IP address
32 bit destination IP address
Options (if any) + padding
data
(variable length,
typically a TCP
or UDP segment)
E.g. timestamp,
record route
taken, pecify
list of routers
to visit.
38
NL: IP header
• Version
– Currently at 4, next version 6
• Header length
– Length of header (20 bytes plus options)
• Type of Service
– Typically ignored
– Values
•
•
•
•
3 bits of precedence
1 bit of delay requirements
1 bit of throughput requirements
1 bit of reliability requirements
– Replaced by DiffServ and ECN
• Length
– Length of IP fragment (payload)
39
NL: IP header (cont)
• Identification
– To match up with other fragments
• Flags
– Don’t fragment flag
– More fragments flag
• Fragment offset
– Where this fragment lies in entire IP datagram
– Measured in 8 octet units (11 bit field)
40
NL: IP header (cont)
• Time to live
– Ensure packets exit the network
• Protocol
– Demultiplexing to higher layer protocols
• Header checksum
– Ensures some degree of header integrity
– Relatively weak – 16 bit
• Source IP, Destination IP (32 bit addresses)
• Options
– E.g. Source routing, record route, etc.
– Performance issues
• Poorly supported
41
NL: IP error detection
• IP checksum
– IP has a header checksum, leaves data integrity to
TCP/UDP
– Catch errors within router or bridge that are not
detected by link layer
– Incrementally updated as routers change fields
– http://www.rfc-editor.org/rfc/rfc1141.txt
42
NL: IP demux to upper layer
• http://www.rfc-editor.org/rfc/rfc1700.txt
– Protocol type field
•
•
•
•
•
•
•
•
•
•
•
•
•
1 = ICMP
2 = IGMP
3 = GGP
4 = IP in IP
6 = TCP
8 = EGP
9 = IGP
17 = UDP
29 = ISO-TP4
80 = ISO-IP
88 = IGRP
89 = OSPFIGP
94 = IPIP http://www.rfc-editor.org/rfc/rfc2003.txt
43
NL: IP demux to upper layer
• ICMP: Internet Control Message
Protocol
– Essentially a network-layer
protocol for passing control
messages
– used by hosts, routers, gateways to
communicate network-level
information
• error reporting: unreachable
host, network, port, protocol
• echo request/reply (used by
ping)
– network-layer “above” IP:
• ICMP msgs carried in IP
datagrams
– ICMP message: type, code plus
first 8 bytes of IP datagram
causing error
•
http://www.rfc-editor.org/rfc/rfc792.txt
Type
0
3
3
3
3
3
3
4
Code
0
0
1
2
3
6
7
0
8
9
10
11
12
0
0
0
0
0
description
echo reply (ping)
dest. network unreachable
dest host unreachable
dest protocol unreachable
dest port unreachable
dest network unknown
dest host unknown
source quench (congestion
control - not used)
echo request (ping)
route advertisement
router discovery
TTL expired
bad IP header
44
NL: IP security
• IP originally had no provisions for security
• IPsec
– Retrofit IP network layer with encryption and
authentication
– http://www.rfc-editor.org/rfc/rfc2411.txt
– If time permits, we may cover this at the end of the
course….or someone should do a research paper on
this.
45
NL: IP fragmentation (and reassembly)
• network links have MTU
(max.transfer size) - largest
possible link-level frame.
– different link types,
different MTUs
fragmentation:
in: one large datagram
out: 3 smaller datagrams
• IP packets can be 64KB
–
–
–
–
–
–
large IP datagram divided
(“fragmented”) within net
IP header on each fragment
Intermediate router may
fragment further as needed
one datagram becomes
several datagrams
“reassembled” only at final
destination
IP header bits used to
identify, order related
fragments
reassembly
46
NL: IP fragmentation
length ID fragflag offset
=4000 =x
=0
=0
One large datagram becomes
several smaller datagrams
length ID fragflag offset
=1500 =x
=1
=0
length ID fragflag offset
=1500 =x
=1
=1480
length ID fragflag offset
=1040 =x
=0
=2960
47
NL: IP fragmentation
• Path MTU Discovery in IP
– http://www.rfc-editor.org/rfc/rfc1191.txt
– Hosts dynamically discover minimum MTU of path
– Algorithm:
• Initialize MTU to MTU for first hop
• Send datagrams with Don’t Fragment bit set
• If ICMP “pkt too big” msg, decrease MTU
– What happens if path changes?
• Periodically (>5mins, or >1min after previous increase), increase MTU
– Some routers will return proper MTU
– MTU values cached in routing table
– C. Shannon, D. Moore, k claffy, “Characteristics of
Fragmented IP Traffic on Internet Links” ACM SIGCOMM
Internet Measurement Workshop 2001.
48
NL: IP delivery semantics
• The waist of the hourglass
– Unreliable datagram service
– Out-of-order delivery possible
– Compare to ATM and phone network…
• Unicast mostly
– IP broadcast not forwarded
– IP multicast supported, but not widely used
• If there is time, we will talk about IP multicast….
49
NL: IP quality of service
• IP originally had “type-of-service” (TOS) field to
eventually support quality
– Not used, ignored by most routers
• Then came int-serv (integrated services) and
RSVP signalling
– Per-flow quality of service through end-to-end
support
• Setup and match flows on connection ID
• Per-flow signaling
• Per-flow network resource allocation (*FQ, *RR scheduling
algorithms)
50
NL: IP quality of service
• RSVP
–
–
–
–
http://www.rfc-editor.org/rfc/rfc2205.txt
Provides end-to-end signaling to network elements
General purpose protocol for signaling information
Not used now on a per-flow basis to support int-serv, but being
reused for diff-serv.
• int-serv
– Defines service model (guaranteed, controlled-load)
• http://www.rfc-editor.org/rfc/rfc2210.txt
• http://www.rfc-editor.org/rfc/rfc2211.txt
• http://www.rfc-editor.org/rfc/rfc2212.txt
– Dozens of scheduling algorithms to support these services
• WFQ, W2FQ, STFQ, Virtual Clock, DRR, etc.
• If this class was being given 5 years ago….
51
NL: IP quality of service
• Why did RSVP, int-serv fail?
– Complexity
• Scheduling
• Routing
• Per-flow signaling overhead
– Lack of scalability
• Per-flow state
• Route pinning
– Economics
• Providers with no incentive to deploy
• SLA, end-to-end billing issues
– QoS a weak-link property
• Requires every device on an end-to-end basis to support flow
52
NL: IP quality of service
• Now it’s diff-serv…
–
–
–
–
–
–
–
Use the “type-of-service” bits as a priority marking
http://www.rfc-editor.org/rfc/rfc2474.txt
http://www.rfc-editor.org/rfc/rfc2475.txt
http://www.rfc-editor.org/rfc/rfc2597.txt
http://www.rfc-editor.org/rfc/rfc2598.txt
Core network relatively stateless
AF
• Assured forwarding (drop precedence)
– EF
• Expedited forwarding (strict priority handling)
– If there is time, we may cover IP quality of service more
completely at the end of the class….
53
NL: IP Addressing
• IP address: fixed-length,
32-bit identifier for host,
router interface
• interface: connection
between host, router and
physical link
– router’s typically have
multiple interfaces
– host may have multiple
interfaces
– IP addresses associated with
interface, not host, router
223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
223.1.3.1
223.1.1.1 = 11011111 00000001 00000001 00000001
223
1
1
1
54
NL: IP Addressing
• IP address:
– network part (high order
bits)
– host part (low order bits)
• What’s a network ?
(from IP address
perspective)
– device interfaces with
same network part of IP
address
– can physically reach
each other without
intervening router
223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.9
223.1.3.27
223.1.2.2
LAN
223.1.3.1
223.1.3.2
network consisting of 3 IP networks
(for IP addresses starting with 223,
first 24 bits are network address)
55
NL: IP Addressing
223.1.1.1
223.1.1.2
223.1.1.4
How to find the
networks?
223.1.1.3
• Detach each interface
223.1.7.0
223.1.9.2
from router, host
• create “islands of
isolated networks 223.1.9.1
223.1.7.1
223.1.8.1
223.1.8.0
223.1.2.6
Interconnected
system consisting
of six networks
223.1.2.1
223.1.3.27
223.1.2.2
223.1.3.1
223.1.3.2
56
NL: Initial IP Addressing (1981)
• Classful structure (1981)
• Total IP address size: 4 billion
– Class A: 128 networks, 16M hosts
– Class B: 16K networks, 64K hosts
– Class C: 2M networks, 256 hosts
High Order Bits
0
10
110
Format
7 bits of net, 24 bits of host
14 bits of net, 16 bits of host
21 bits of net, 8 bits of host
Class
A
B
C
57
NL: IP address classes
8
16
Class A 0 Network ID
24
32
Host ID
1.0.0.0 to 127.255.255.255
Class B 10
Network ID
Host ID
128.0.0.0 to 191.255.255.255
Class C 110
Network ID
Host ID
192.0.0.0 to 223.255.255.255
Class D 1110
Multicast Addresses
224.0.0.0 to 239.255.255.255
Class E 1111
Reserved for experiments
58
NL: Special IP Addresses
• 127.0.0.1: local host (a.k.a. the loopback address)
• Private addresses
–
–
–
–
http://www.rfc-editor.org/rfc/rfc1918.txt
Class A: 10.0.0.0 - 10.255.255.255 (10/8 prefix)
Class B: 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
Class C: 192.168.0.0 - 192.168.255.255 (192.168/16
prefix)
• 255.255.255.255
– IP broadcast to local hardware that must not be forwarded
– http://www.rfc-editor.org/rfc/rfc919.txt
– Same as network broadcast if no subnetting
• IP of network broadcast=NetworkID+(all 1’s for HostID)
• 0.0.0.0
– IP address of unassigned host (BOOTP, ARP, DHCP)
59
NL: IP Addressing Problem #1 (1984)
• Subnet addressing
– http://www.rfc-editor.org/rfc/rfc917.txt
– Address problem of inefficient use of address space
– For class B & C networks
• Class A (rarely given out, not many of them given out by IANA)
• Class B = 64k hosts
– Very few LANs have close to 64K hosts
– Electrical/LAN limitations, performance or administrative reasons
– e.g., class B net allocated enough addresses for 64K hosts, even if only 2K
hosts in that network
• Class C = 256 hosts
– Need simple way to get multiple “networks”
• Use bridging, multiple IP networks or split up single network address
ranges (subnet)
• Reduce the total number of addresses that are assigned, but not used
60
NL: Subnetting
• Variable length subnet masks
– Subnet a class B address space into several chunks
Network
Host
Network
Subnet
1111..
..1111
Host
00000000
Mask
61
NL: Subnetting Example
• Assume an organization was assigned address
150.100
• Assume < 100 hosts per subnet
• How many host bits do we need?
– Seven
• What is the network mask?
– 11111111 11111111 11111111 10000000
– 255.255.255.128
62
NL: IP Address Problem #2 (1991)
• Address space depletion
– In danger of running out of classes A and B
– Class A
• Very few in number
• IANA frugal in giving them out
– Class B
• Subnetting only applied to new allocations
• sparsely populated
• people refuse to give it back
– Class C too small for most domains
63
NL: Some Problems
• Solution
– Assign multiple consecutive class C address blocks
– Supernetting
• http://www.rfc-editor.org/rfc/rfc1338.txt
– Later known as Classless Inter-Domain Routing
(CIDR)
• http://www.rfc-editor.org/rfc/rfc1518.txt
• http://www.rfc-editor.org/rfc/rfc1519.txt
64
NL: IP addressing: CIDR
• Original classful addressing
– Use class structure (A, B, C) to determine network ID for
route lookup
• CIDR: Classless InterDomain Routing
– Do not use classes to determine network ID
– network portion of address of arbitrary length
– address format: a.b.c.d/x, where x is # bits in network
portion of address
network
part
host
part
11001000 00010111 00010000 00000000
200.23.16.0/23
65
NL: CIDR
• Assign any range of addresses to network
– Use common part of address as network number
– e.g., addresses 192.4.16.* to 192.4.31.* have the
first 20 bits in common. Thus, we use this as the
network number
– netmask is /20, /xx is valid for almost any xx
– 192.4.16.0/20
• Enables more efficient usage of address space
(and router tables)
• More on how this impacts routing later….
66
NL: IP addressing: How are they allocated?
• Hosts (host portion):
– From organization via static configuration or DHCP
• Network (network portion)
– Organization gets of ISP’s assigned address space
– ISP gets assigned address space from ICANN
ISP's block
11001000 00010111 00010000 00000000
200.23.16.0/20
Organization 0
11001000 00010111 00010000 00000000
200.23.16.0/23
Organization 1
11001000 00010111 00010010 00000000
200.23.18.0/23
Organization 2
...
11001000 00010111 00010100 00000000
…..
….
200.23.20.0/23
….
Organization 7
11001000 00010111 00011110 00000000
200.23.30.0/2367
NL: IP addressing
Q: How does an ISP get block of addresses?
A: ICANN: Internet Corporation for Assigned
Names and Numbers
– allocates addresses
– manages DNS
– assigns domain names, resolves disputes
68