ECSE-4670: Computer Communication Networks (CCN)
ECSE-4670: Computer Communication Networks (CCN)
Network Layer
Shivkumar Kalyanaraman: [email protected]
Biplab Sikdar: [email protected]
http://www.ecse.rpi.edu/Homepages/shivkuma
1
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Chapter
Goals
• Internetworking
• network layer services
• IP
• routing principle: path selection
• hierarchical routing
• Internet routing protocols reliable transfer
– intra-domain
– inter-domain
• what’s inside a router?
3
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
The Internetworking Problem
• Two nodes communicating across a
“network of networks”…
– How to transport packets through
this heterogeneous mass ?
A B
C lo u d
C lo u d
C lo u d
4
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
The Internetworking Problem
• Problems: heterogeneity and scaling
• Heterogeneity:
– How to interconnect a large number of
disparate networks ? (lower layers)
– How to support a wide variety of applications
? (upper layers)
• Scaling:
– How to support a large number of end-nodes
and applications in this interconnected
network ?
5
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Heterogeneity: Solutions
• Translation (eg: bridges): specify a
separate mapping between every pair of
protocols
(+) No software changes in networks required.
6
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Heterogeneity: Solutions
– Overlay model: Define a new protocol (IP)
and map all networks to IP
(+) Require only one mapping (IP -> new
protocol) when a new protocol is added
(+) Global address space can be created
for universal addressibility and scaling
7
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Heterogeneity: Solutions
() IP has to be necessarily simple else
mapping will be hard.
– Even in its current form mapping
IP to ATM has proven to be really
hard.
– Basis for “best-effort” forwarding
() Protocol mapping infrastructure
needed: address hierarchy, address
resolution, fragmentation
8
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
The Internet Network layer
Host, router network layer functions:
Link layer
physical layer
9
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP Addressing: introduction
• IP address: 32-bit
223.1.1.1
identifier for host,
router interface 223.1.2.1
223.1.1.2
• interface: connection 223.1.1.4 223.1.2.9
between host, router 223.1.2.2
and physical link 223.1.1.3 223.1.3.27
223 1 1 1
10
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP Addressing - 1
• IP address:
223.1.1.1
– network part (high order
bits) 223.1.2.1
223.1.1.2
– host part (low order bits) 223.1.1.4 223.1.2.9
• What’s a network ?
223.1.2.2
(from IP address 223.1.1.3 223.1.3.27
perspective)
– device interfaces with LAN
same network part of IP
223.1.3.1 223.1.3.2
address
– can physically reach
each other without
intervening router network consisting of 3 IP networks
(for IP addresses starting with 223,
first 24 bits are network address)
11
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP Addressing - 2
How to find the
networks? 223.1.1.1 223.1.1.2
223.1.1.4
• create
“islands of
223.1.9.1 223.1.7.1
isolated 223.1.8.1 223.1.8.0
networks 223.1.2.6 223.1.3.27
“class-full” addressing:
class
1.0.0.0 to
A 0 network host 127.255.255.255
B network 128.0.0.0 to
10 host
191.255.255.255
192.0.0.0 to
C 110 network host
223.255.255.255
224.0.0.0 to
D 1110 multicast address
239.255.255.255
32 bits
13
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Some Special IP Addresses
• All-0s This computer
• All-1s All hosts on this net (limited
broadcast: don’t forward out of this net)
• All-0 host suffix Network Address (‘0’
means ‘this’)
• All-1 host suffix All hosts on the
destination net (directed broadcast).
• 127.*.*.* Loopback through IP layer
14
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP addressing: CIDR - 1
• classful addressing:
– inefficient use of address space,
address space exhaustion
– e.g., class B net allocated enough
addresses for 65K hosts, even if only
2K hosts in that network
15
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP addressing: CIDR - 2
• CIDR: Classless InterDomain
Routing
– network portion of address of arbitrary
length
– address format: a.b.c.d/x, where x is #
bits in network portion of address
network host
part part
11001000 00010111 00010000 00000000
200.23.16.0/23
16
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Subnet Addressing
17
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Subnet Addressing (Continued)
18
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Route Table Lookup: Example
30.0.0.7 40.0.0.8 128.1.0.9
30.0.0.0
30.0.0.0 40.0.0.0
40.0.0.0 128.1.0.0
128.1.0.0 192.4.0.0
192.4.0.0
Organization 0
200.23.16.0/23
Organization 1
“Send me anything
200.23.18.0/23 with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
beginning
199.31.0.0/16”
22
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Hierarchical addressing:
more specific routes
“Send me anything
with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
Organization 1 beginning 199.31.0.0/16
or 200.23.18.0/23”
200.23.18.0/23
23
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP addressing: the last word...
24
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Getting a datagram
from source to dest. - 1
routing table in A
Dest. Net. next router Nhops
223.1.1 1
223.1.2 223.1.1.4 2
IP datagram: 223.1.3 223.1.1.4 2
misc source dest
data
fields IP addr IP addr A 223.1.1.1
223.1.3.1 223.1.3.2
25
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Getting a datagram
from source to dest. - 2
misc Dest. Net. next router Nhops
data
fields 223.1.1.1 223.1.1.3
223.1.1 1
223.1.2 223.1.1.4 2
Starting at A, given IP 223.1.3 223.1.1.4 2
datagram addressed to B:
look up net. address of B A 223.1.1.1
find B is on same net. as A
link layer will send datagram 223.1.2.1
223.1.1.2
directly to B inside link-layer
223.1.1.4 223.1.2.9
frame
B
B and A are directly 223.1.3.27
223.1.2.2
E
223.1.1.3
connected
223.1.3.1 223.1.3.2
26
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Getting a datagram
from source to dest. - 3
misc Dest. Net. next router Nhops
data
fields 223.1.1.1 223.1.2.2
223.1.1 1
223.1.2 223.1.1.4 2
Starting at A, dest. E:
223.1.3 223.1.1.4 2
look up network address of E
E on different network
A 223.1.1.1
A, E not directly
attached 223.1.1.2
223.1.2.1
routing table: next hop router to 223.1.1.4 223.1.2.9
E is 223.1.1.4 B
link layer sends datagram to 223.1.2.2
223.1.1.3 223.1.3.27 E
router 223.1.1.4 inside link-layer
frame 223.1.3.1 223.1.3.2
datagram arrives at 223.1.1.4
continued…..
27
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Getting a datagram
from source to dest. – 4
Dest. next
misc network router Nhops interface
data
fields 223.1.1.1 223.1.2.2
223.1.1 - 1 223.1.1.4
Arriving at 223.1.4, 223.1.2 - 1 223.1.2.9
223.1.3 - 1 223.1.3.27
destined for 223.1.2.2
look up network address of E
A 223.1.1.1
E on same network as router’s
interface 223.1.2.9 223.1.2.1
223.1.1.2
router, E directly 223.1.1.4 223.1.2.9
attached B
223.1.2.2
link layer sends datagram to 223.1.1.3 223.1.3.27 E
223.1.2.2 inside link-layer frame
223.1.3.1 223.1.3.2
via interface 223.1.2.9
datagram arrives at 223.1.2.2!!!
(hooray!)
28
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP Features
• Connectionless service
• Addressing
• Data forwarding
• Fragmentation and reassembly
• Supports variable size datagrams
• Best-effort delivery
• Provides only “Send” and “Delivery” services.
Error and control messages generated by
Internet Control Message Protocol (ICMP)
29
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
What IP does NOT provide
30
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
What IP does NOT provide
(Continued)
• Setting up route tables (RIP, OSPF,
BGP etc)
• Connection setup (it is
connectionless)
• Address/Name resolution (ARP,
RARP, DNS)
• Configuration (BOOTP, DHCP)
• Multicast (IGMP, MBONE)
31
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP datagram format
IP protocol version 32 bits
number total datagram
header length length (bytes)
ver head. type of length
(bytes) len service for
“type” of data fragment fragmentation/
16-bit identifier flgs
offset reassembly
max number time to upper Internet
remaining hops live layer checksum
(decremented at
32 bit source IP address
each router)
32 bit destination IP address
upper layer protocol
to deliver payload to Options (if any) E.g. timestamp,
record route
data taken, pecify
(variable length, list of routers
typically a TCP to visit.
or UDP segment)
32
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP Fragmentation & Reassembly - 1
• network links have MTU
(max.transfer size) -
largest possible link-level
frame. fragmentation:
– different link types, in: one large datagram
different MTUs out: 3 smaller datagrams
• large IP datagram divided
(“fragmented”) within net
– one datagram becomes
reassembly
several datagrams
– “reassembled” only at
final destination
– IP header bits used to
identify, order related
fragments
33
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP Fragmentation and Reassembly - 2
34
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Summary
35
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar