Anda di halaman 1dari 35

ECSE-4670: Computer

Communication Networks (CCN)

Network Layer
Shivkumar Kalyanaraman: shivkuma@ecse.rpi.edu
Biplab Sikdar: sikdab@rpi.edu
http://www.ecse.rpi.edu/Homepages/shivkuma

1
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Chapter
Goals

• understand principles behind network


layer services:
– Internetworking concepts
– The network layer
– IP
– routing (path selection)
– how a router works
2
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Overview

• 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.

() Need to specify N mappings when a new


lower layer protocol is added to the list
() When many networks, subset = 0
() Mapping may be asymmetric

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

() Requires changes in lower networks


(eg: protocol type field for IP)

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:

Transport layer: TCP, UDP

Routing protocols IP protocol


•path selection •addressing conventions
•RIP, OSPF, BGP •datagram format
Network •packet handling conventions
layer routing
table ICMP protocol
•error reporting
•router “signaling”

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

– router’s typically have


multiple interfaces
– host may have multiple 223.1.3.1 223.1.3.2
interfaces
– IP addresses associated
with interface, not host,
router 223.1.1.1 = 11011111 00000001 00000001 00000001

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

• Detach each 223.1.1.3


interface from
router, host 223.1.9.2 223.1.7.0

• 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

Interconnected 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2


system consisting
of six networks
12
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP Addresses
given notion of “network”, let’s re-examine IP addresses:

“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

– External routers need to store entries


only for the “network ID”
– Internal routers & hosts use subnet
mask to identify “subnet ID” and route
packets between “subnets” within the
“network”.
– Eg: Mask: 255.255.255.0 => subnet ID =
8 bits with upto 62 hosts/subnet

17
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Subnet Addressing (Continued)

– Route table lookup:


• IF ((Mask[i] & Destination Addr) = =
Destination[i])
Forward to NextHop[i]
– Subnet mask can end on any bit.
– Mask must have contiguous 1s followed
by contiguous zeros. Routers do not
support other types of masks.

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

40.0.0.7 128.1.0.8 192.4.10.9

Destination Mask Next Hop


30.0.0.0 255.0.0.0 40.0.0.7
40.0.0.0 255.0.0.0 Deliver direct
128.1.0.0 255.255.0.0 Deliver direct
192.4.10.0 255.255.255.0 128.1.0.9
19
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP addresses: how to get one?
Hosts (host portion):
• hard-coded by system admin in a file
• DHCP: Dynamic Host Configuration
Protocol: dynamically get address: “plug-and-
play”
– host broadcasts “DHCP discover” msg
– DHCP server responds with “DHCP offer” msg
– host requests IP address: “DHCP request”
msg
– DHCP server sends address: “DHCP ack” msg
20
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
IP addresses: how to get one?
Network (network portion):
• get allocated portion of ISP’s
address space:
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/23


21
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Hierarchical addressing:
route aggregation
Hierarchical addressing allows efficient advertisement of routing
information:

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

ISPs-R-Us has a more specific route to Organization 1


Organization 0
200.23.16.0/23

“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...

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

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

datagram remains 223.1.2.1


223.1.1.2
unchanged, as it travels
223.1.1.4 223.1.2.9
source to destination
B
addr fields of interest here 223.1.2.2
223.1.1.3 223.1.3.27 E

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

• End-to-end data reliability & flow


control (done by TCP or application
layer protocols)
• Sequencing of packets (like TCP)
• Error detection in payload (TCP, UDP
or other transport layers)
• Error reporting (ICMP)

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

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

34
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar
Summary

• Internet architectural principles


• IP addressing and header
• Fragmentation/Reassembly, Path
MTU discovery

35
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar

Anda mungkin juga menyukai