3. Responsibilities of network layer
âą To control the operations of data
transmission
âą Routing and switching Technologies
âą packet forwarding and sequencing
âą error handling
âą Addressing the creation of logical routers
âą congestion control
4. NETWORK LAYER DESIGN ISSUES:
ï Responsible for delivering packets between endpoints
over multiple links.
ï Network Layer is the lowest layer in the OSI Reference
Model that deals with end-to-end transmission.
ïźStoreâandâForward Packet Switching
ïźrestating the context of network layer protocols
ïźServices Provided to the Transport Layer
ïźImplementation of Connectionless Service
ïźImplementation of ConnectionâOriented Service
ïźComparison of VirtualâCircuit and Datagram Subnets
5. Store-and-forward packet switching:
1)Host H1 is directly connected to one of the ISPâs routers, A, perhaps as a home
computer that is plugged into a DSL modem.
2)In contrast, H2 is on a LAN, which might be an office Ethernet, with a router, F,
owned and operated by the customer.
3)A host with a packet to send transmits it to the nearest router, either on its own LAN
or over a point-to-point link to the ISP.
4)The packet is stored there until it has fully arrived and the link has finished its
processing by verifying the checksum.
5)Then it is forwarded to the next router along the path until it reaches the destination
host, where it is delivered.
6)This mechanism is store-and forward packet switching
7. Packet switching:
Data is divided into small parts (packets)
ïźPackets are transmitted from node to node,
processed and forwarded
ïźAlso known as storeâandâforward switching
ïźTwo connection types
ïźConnectionless: datagram
ïźConnectionâoriented: virtual circuit
Note:
Subnet: Logical subdivision of an IP Network
or Dividing a network into 2 or more networks is called
subnetworking .
8. Services Provided to TransportLayer:
a)The services should be independent of the router technology.
b) The transport layer should be shielded from the number,
type, and topology of the routers present.
c) The network addresses made available to the transport layer
should use a uniform numbering plan, even across LANs and
WANs.
d)Topology of network should be hidden
e)Network layer designers have freedom in writing specs of
services to transport layer
9. ConnectionâOriented or Connectionless?
Two competing camps
Internet community:
connectionless routers job is moving packets
and nothing else subnet isinherently unreliable
hosts should provide error & flow control
Ex:Internet
Telephone companies:
connectionâoriented subnet should provide
reliable service successful experience with
telephone system without connections, QoS is
hard to achieve
Ex:ATM(Asynchronous Transfer Mode)
11. Implementation of Connectionless Service
1)No connection setup
2)Message is broken into packets
3)Called datagram (in analogy with telegram)
4)Each packet is individually routed
5)Routers decides line based on routing table
6)Packets may follow different paths
7)Not guaranteed to arrive in order
12. Implementation of ConnectionâOrientedService:
Path from source to destination must be
established before any data can be sent
ïźConnection is called a VC (virtual circuit)
ïźanalogy with physical circuit in phone system
ïźwhy virtual?
ïźAvoid choosing new route for each packet
ïźSame route used for all packets in connection
ïźEach packet has ID for which VC it belongs to
13.
14. Example:ConnectionâOriented
ïźH1 has established connection 1 with
H2
ïźFirst entry in each routing table
ïźH3 later establishes connection with
H2
If packet with ID 1 comes from H1 Send
it to router C, give it ID 1
If packet with ID 1 comes from H3 Send it to router C,give it ID 2
Why ID2?
11
15. Example: ConnectionâOriented
ïź A can easily know connection 1 packets of H1 from
connection 1 packets of H3
ïź C cannot do this
ïź Thus, A assigns different connection ID to outgoing traffic for
second connection
ïź To avoid conflicts, routers need ability to replace connection
IDs in outgoing packets
ïź This is called label switching
17. TradeâOffs
ïźVC allow packets to contain short ID
ïźdatagram must contain full destination
address
ïźfor short packets, significant overhead
ïźOTOH, VC need table space in routers
ïźDatagram subnet needs entry for every
possible destination
ïźVC subnet just needs an entry for each VC
ïźBut!! VC setup packet have to be routed
ïźsame as datagram
18. Routing Algorithm:
Network Layer Software responsible for deciding which output line an
incoming packed should be transmitted on.
Datagrams:
require computation of decision making tables for each packet
Virtual Circuit:
routing decision are made only when a new virtual circuit is being set up.
Session Routing:
data packets follow the same routing for the entire session.
Certain properties are desirable in a routing algorithm: correctness,
simplicity, robustness, stability, fairness, and efficiency
A routing table can be either static or dynamic.
A static table is one with manual entries. A dynamic table is one that is
updated automatically when there is a change somewhere in the Internet.
A routing protocol is a combination of rules and procedures that lets
routers in the Internet inform each other of changes.
19.
20. Routing vs. Forwarding:
Routing:
Filling and Updating routing tables
Forwarding:
making the decision which routes to use based on routing tables.
Adaptive vs. Non-Adaptive Algorithms.
Non-Adaptive Algorithms:
Routing decision is based on pre-computed measurements or
estimates and do not update the table based on current traffic and
topology
Adaptive Algorithms:
Change their routing decisions to reflect changes in the topology
and traffic.
21. Suppose that there is enough traffic between A and AâČ, between
B and BâČ, and between C and CâČ to saturate the horizontal links.
To maximize the total flow, the X to XâČ traffic should be shut off
altogether. Unfortunately, X and XâČ may not see it that way.
Evidently, some compromise between global efficiency and
fairness to individual connections is needed. This is called
tradeoff between fairness and efficiency.
22. Optimality Principle
If router J is on the optimal path
from router I to router K, then the
optimal path form J to K also falls
along the same (optimal path)
route.
Each portion of a best path is also a
best path; the union of them to a
router is a tree called the sink tree
23.
24. Shortest Path Algorithm
a) Dijkstraâs algorithm computes a sink tree on the graph
b) Each link is assigned a non-negative weight/distance
c) Shortest path is the one with lowest total weight
d) Using weights of 1 gives paths with fewest hops
Algorithm:
a) Start with sink, set distance at other nodes to infinity
b) Relax (i.e., evaluate) distance to adjacent nodes
c) Pick the lowest adjacent distance node, add it to sink
tree
d) Repeat until all nodes are in the sink tree
In multicast routing, each involved router needs to
construct a shortest path tree for each group.
28. Flooding
every incoming packet is sent out on every outgoing line except the
one it arrived on.
generates vast numbers of duplicate packets, in fact, an infinite
number unless some measures are taken to damp the process.
One such measure is to have a hop counter contained in the header
of each packet that is decremented at each hop, with the packet
being discarded when the counter reaches zero.
the hop counter should be initialized to the length of the path
from source to destination.
If the sender does not know how long the path is, it can initialize
the counter to the worst case, namely, the full diameter of the
network.
A variant of flooding called selective flooding partially addresses
these issues by only sending packets to routers in the same direction.
In selective flooding the routers don't send every incoming packet on
every line but only on those lines which are going approximately in the
right direction.
Flooding broadcasts packets, but creates loops in the systems.
29. RPF eliminates the loop in the flooding
process.
Reverse Path forwarding
30. Distance Vector Algorithm
Bellman-Ford Equation (dynamic programming)
Define
dx(y) := cost of least-cost path from x to y
Then
dx(y) = minv{c(x,v) + dv(y)}
where min is taken over all neighbors v of x
x
3-30
v1
v2
v3
y
3
2
6
18
25
20
31. Bellman-Ford example
u
3-31
w
z
2
2
x
1
3
1
1
y 2
5
3
5
v
Clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3
B-F equation says:
du(z) = min {c(u,v) +dv(z),
c(u,x) + dx(z),
c(u,w) + dw(z) }
= min {2+ 5,
1 + 3,
5 + 3} = 4
Node that achieves minimum is next
hop in shortest path â forwarding table
32. 3-32
Distance Vector Algorithm
âą Each node x maintains thefollowing
⥠Its own distance vector Dx = [Dx(y): y $ N ] (N is the set of nodes)
⊠Dx(y) = estimate of least cost from x to y
⥠cost to each neighbor v:c(x,v)
⥠its neighborsÊŒ distance vectors. For each neighbor v, x maintains
Dv = [Dv(y): y $ N ]
âą from time-to-time, each node sends its own distance vector estimate to
neighbors
âą when x receives new DV estimate from neighbor, it updates its own DV
using B-F equation:
âą Under minor, natural conditions, the estimate Dx(y) converge to the
actual least cost dx(y)
Dx(y) â minv{c(x,v) + Dv(y)} for each node y âN
33. Distance Vector Algorithm
Iterative, asynchronous:
each local iteration caused by:
âą local link cost change
âą DV update message from
neighbor
Distributed:
âą each node notifies neighbors
only when its DV changes
⥠neighbors then notify their
neighbors if necessary
Each node:
wait for (change in local link
cost or msg from neighbor)
recompute estimates
if DV to any dest has
changed, notify neighbors
3-33
34. â â â
â â â
from
cost to
x y z
x 0 2 7
y
z
from
from
from
cost to
x y z
cost to
x y z
7 1 0
x â â â
y 2 0 1
z â â â
x â â â
y â â â
z
x 0
y.2
z. 7
0 1
1 0
x z
1
2
7
y
node x
table
node y
table
node z table
cost to
x y z
Dx(y) = min{c(x,y) + Dy(y), c(x,z) +Dz(y)}
= min{2+0 , 7+1} = 2
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) +
Dz(z)}
= min{2+1 , 7+0} = 3
2 3
time
3-34
35. x 0 2 7
y â â â
z â â â
from
cost to
x y z
from
from
from
cost to
from
cost to
â â
cost to
x y z
from
cost to
from
cost to
from
cost to
from
cost to
7 1 0
cost to
x y z
x â â â
y 2 0 1
z â
x â â â
y â â â
z
2 0
7 1
x y z
x 0 2 3
y. 1
z. 0
7 1
x y z
x 0 2 7
y 2 0 1
z 0
x y z
x 0 2 7
y 2 0 1
z 3 1 0
2 0
3 1
x y z
x 0 2 3
y. 1
z. 0
x y z
x 0 2 3
y 2 0 1
z 3 1 0
x y z
x 0 2 3
y 2 0 1
z 3 1 0
x z
1
2
7
y
node x
table
node y
table
node z
table
Dx(y) = min{c(x,y) + Dy(y), c(x,z) +Dz(y)}
= min{2+0 , 7+1} = 2
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) +
Dz(z)}
= min{2+1 , 7+0} = 3
time
3-35
36. Distance Vector Routing
a) Distance Vector Routing uses the Bellman-Ford routing algorithm
b) Distance vector is a distributed routing algorithm
c) Shortest path computation is split across nodes (each router
maintains its own routing table giving the best known distance (and
link to use) to every router in the network).
Algorithm:
a) Each node knows distance of links to its neighbors
b) Each node advertises vector of lowest known distances to all
neighbors
c) Each node uses received vectors to update its own
d) Repeat periodically
37. Steps:
Step-01:
Each router prepares its routing table. By their local knowledge. each router knows
about-
All the routers present in the network
Distance to its neighboring routers
Step-02:
Each router exchanges its distance vector with its neighboring routers.
Each router prepares a new routing table using the distance vectors it has obtained
from its neighbors.
This step is repeated for (n-2) times if there are n routers in the network.
After this, routing tables converge / become stable.
38.
39. Initialization of tables in distance vector routing
In distance vector routing, each node shares its table with
its immediate neighbor periodically (eg every 30s) and when
there is a change.
40. 40
Updating in distance vector routing
Step 1: Add cost (2) to table received from neighbor (C).
Step 2: Compare Modified Table with Old Table (row by row).
If Next node entry is different, select the row with the smaller cost. If tie, keep
the old one.
If Next node entry the same, select the new row value (regardless of whether
new value is smaller or not).
41. Two-node instability â what can happen with distance vector routing
Both A and B know
where X is.
Link between A and X
fails. A updates its
table immediately.
But before A can tell B,
B sends its info to A!
A, using Bâs info, up-
dates its table (error!).
Then A send its table
to B and B updates its
table (more error).
Both routers keep up-
dating tables, event-
ually hitting infinity. In
the meantime, chaos!
42. 42
Two-node instability â what can happen with distance vector routing
Possible Solutions to two-node instability:
1. Define infinity to be a much smaller value, such as 100.
Then it doesnât take too long to become stable. But now
you canât use distance vector routing in large networks.
2. Split Horizon â instead of flooding entire table to each
node, only part of its table is sent. More precisely, if node
B thinks that the optimum router to reach X is via A, then
B does not need to advertise this piece of info to A â the
info has already come from A.
3. Split Horizon and Poison Reverse â Normally, the distance
vector protocol uses a timer. If there is no news about a
route, the node deletes the route from its table. So when A
never hears from B about the route to X, it deletes it.
Instead, Node B still advertises the value for X, but if the
source of info is A, it replaces the distance with infinity,
saying âDo not use this value; what I know about this route
comes from you.â
46. The Count-to-Infinity Problem :
Distance Vector (DV) algorithm has a convergence issue in that it can
converge to a correct routing map slowly because it reacts rapidly to good
news but leisurely to bad news Failures can cause DV to âcount to infinityâ
while seeking a path to an unreachable node.
48. Routing: distance vector
Bad news:
âą A goes down
B receives:
âą Distance ï„ from A
âą Distance 2 from C
New distance from B to A: 3 via C
49. Routing: distance vector
Bad news:
âą A goes down
C still
âą believes its distance to A is 2
âą routes via B
B routes its packets for A via C
LOOP!!!
51. Routing: distance vector
Split horizon hack:
Lie to neighbour about
distance if routing via
neighbour
A B C D E
1 2 3 4 initially
ï„ ï„ lie
ï„ 2 3 4 1 iteration
ï„ ï„ 3 4 2 iterations
ï„ ï„ ï„ 4 3 iterations
Faster not possible!!
52. Routing: distance vector
Split horizon hack:
Hack ïš does not always work
Example:
D goes down
A and B lie to C
A offers to B route to D
B offers to A route to D
Loops again!!!
53. 3-53
Hierarchical Routing
So far we assumed
âą All routers are identical
âą Network is âflatâ
âą These are not true in practice
scale: with 200 million destinations:
âą canÊŒt store all destinations in routing tables!
âą routing table exchange would swamp links!
administrative autonomy
âą internet = network ofnetworks
âą each network admin may want to control routing in its own network
54. 3-54
Hierarchical Routing
âą aggregate routers into regions, autonomous systems (AS)
âą routers in same AS run same routing protocol
⥠intra-AS routing protocol
⥠routers in different AS can run different intra-AS routing protocol
gateway router
⥠at âedgeâ of its own AS
⥠has link to router in another AS
58. Inter-AS tasks
âą suppose router inAS1 receives
datagram destined outsideof
AS1:
⥠router should forward packet to
gateway router, but which one?
AS1 must:
1. learn which destinations are
reachable through AS2,
which through AS3
2. propagate this reachability
info to all routers inAS1
job of inter-AS routing!
AS2
3b
AS3
3c
3a
1c
1a
AS1 1d
1b
2a
2c
2b
other
networks
other
networks
3-58
59. 3-59
Intra-AS Routing
âą also known as Interior Gateway Protocols (IGP)
âą most common Intra-AS routing protocols:
⥠RIP: Routing Information Protocol (open - Internet)
⥠OSPF: Open Shortest Path First (open â Internet)
⥠IGRP: Interior Gateway Routing Protocol(Cisco proprietary)
60. Transport layer: TCP, UDP
Routing protocols IP protocol
âąpath selection âąaddressing conventions
âąRIP, OSPF, BGP âądatagram format
âą packet handling conventions
forwarding
table
ICMP protocol
âą error reporting
âą router âsignalingâ
Link layer
Physical layer
The Internet Network layer
Host, router network layerfunctions:
Network
layer
3-60
61. IP datagram format
ver length
32 bits
data
(variable length,
typically a TCP
or UDP segment)
16-bit identifier
header
checksum
time to
live
32 bit source IPaddress
for
fragmentation /
reassembly
total datagram
length (bytes)
upper layer protocol
to deliver payload to
head.
len
type of
service
IP protocol version
number
header length
(bytes)
âtypeâ of data
max number
remaining hops
(decremented at
each router)
flgs
fragment
offset
upper
layer
32 bit destination IPaddress
Options (if any) E.g. timestamp,
record route
taken, specify
list of routers
to visit.
3-61
62. IP Fragmentation & Reassembly
âą network links have MTU
(maximum transmission unit):
largest possible link-level
frame.
⥠different link types,
different MTUs
âą large IP datagram divided
(âfragmentedâ) within net
⥠one datagram
becomes several
datagrams
⥠âreassembledâ only at final
destination
⥠IP header bits used to
identify, order related
fragments
fragmentation:
in: one large datagram
out: 3 smaller datagrams
3-62
reassembly
63. IP Fragmentation and Reassembly
length
=4000
ID
=x
fragflag
=0
offset
=0
ID
=x
offset
=0
fragflag
=1
length
=1500
length
=1500
ID
=x
fragflag
=1
offset
=185
length
=1040
ID
=x
fragflag
=0
offset
=370
One large datagram becomes
several smaller datagrams
Example
âą 4000 byte datagram
âą MTU = 1500bytes
1480 bytes in
data field
offset =
1480/8
3-63
64. IP Addressing: introduction
âą IP address: 32-bit
identifier for host, router
interface
âą interface: connection
between host/router
and physical link
⥠routerÊŒs typically have
multiple interfaces
⥠host typically has
one interface
⥠IP addresses associated
with each interface
223.1.1.1
223.1.1.3
223.1.2.2
223.1.2.1
223.1.1.2
223.1.1.4 223.1.2.9
223.1.3.2
223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223
3-64
1 1 1
65. Subnets
âą IP address:
⥠subnet part (high
order bits)
⥠host part (low order bits)
âą WhatÊŒs a subnet ?
⥠device interfaces with
same subnet part of IP
address
⥠can physically reach each
other without intervening
router
223.1.1.1
3-65
223.1.1.3
223.1.1.2
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2
223.1.3.1
223.1.3.27
Subnet (223.1.3.0/24)
67. IP addressing: CIDR
CIDR: Classless InterDomain Routing
⥠subnet portion of address of arbitrary length
⥠address format: a.b.c.d/x, where x is # bits in subnet portion of address
11001000 00010111 00010000 00000000
200.23.16.0/23
subnet
part
host
part
3-67
68. 3-68
IP addresses: how to get one?
Q: How does a host get IP address?
âą Static allocation: hard-coded by system admin in a file
âą DHCP: Dynamic Host ConfigurationProtocol:
dynamically get address from as server
⥠âplug-and-playâ
69. 3-69
DHCP: Dynamic Host Configuration Protocol
Goal: allow host to dynamically obtain its IP address
from network server when it joins network
Can renew its lease on address in use
Allows reuse of addresses (only hold address while connected)
Support for mobile users who want to join network
DHCP overview:
⥠host broadcasts âDHCP discoverâ message [optional]
⥠DHCP server responds with âDHCP offerâ message [optional]
⥠host requests IP address: âDHCPrequestâ message
⥠DHCP server sends address: âDHCP ackâ message
70. 3-30
NAT: Network Address Translation
âą Motivation: local network uses just one IP address as far as outside world
is concerned:
⥠range of addresses not needed from ISP: just one IP address for all devices
⥠can change addresses of devices in local network without notifying outside world
⥠can change ISP without changing addresses of devices in local network
⥠devices inside local net not explicitly addressable, visible by outside world (a security plus).
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
local network
(e.g., home network)
10.0.0/24
rest of
Internet
Datagrams with source or
destination in this network
have 10.0.0/24 address for
source, destination (as usual)
All datagrams leaving local
network have same single source NAT IP address:
138.76.29.7,
different source port numbers
71. 3-71
ICMP: Internet Control Message Protocol
âą used by hosts & routers to
communicate network-level
information
⥠error reporting: unreachable host,
network, port, protocol
⥠echo request/reply (usedby ping)
âą network-layer âaboveâ IP:
⥠ICMP messages carried inIP
datagrams
âą ICMP message: type, code plus first 8
bytes of IP datagram causing error
Type Code description
0
3
3
3
3
3
3
4
0
0
1
2
3
6
7
0
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
8 0
9 0
10 0
11 0
12 0
72. 3-72
Traceroute and ICMP
âą Source sends series of UDP segments to destination
⥠first has TTL=1
⥠second has TTL=2,etc.
⥠unlikely port number
âą When nth datagram arrives to nth router:
⥠router discards datagram
⥠and sends to source an ICMP message (type 11, code 0)
⥠ICMP message includes name of router & IP address
âą when ICMP message arrives, source calculates RTT
âątraceroute does this 3times
Stopping criterion
âą UDP segment eventually arrives at destination host
âą destination returns ICMP âport unreachableâ packet (type 3, code 3)
âą when source gets this ICMP, stops.
73. 3-73
IPv6
âą Initial motivation: 32-bit address space soon to be completely allocated.
âą Additional motivation:
⥠header format helps speedprocessing/forwarding
⥠header changes to facilitateQoS
IPv6 datagram format:
⥠fixed-length 40 byte header
⥠no fragmentation allowed
74. IPv6 Header (Cont)
Priority: identify priority among datagrams in flow
Flow Label: identify datagrams in sameâflow.â
(concept ofâflowâ not welldefined).
Next header: identify upper layer protocol for data
ver pri flow label
payload len next hdr hop limit
source address
(128 bits)
32 bits
3-74
75. 3-75
Other Changes from IPv4
âą Checksum: removed entirely to reduce processing time at each hop
âą Options: allowed, but outside of header, indicated by âNext Headerâ field
âą ICMPv6: new version ofICMP
⥠additional message types, e.g. âPacket Too Bigâ
⥠multicast group management functions
76. 3-36
Transition From IPv4 To IPv6
âą Not all routers can be upgraded simultaneous
⥠no âflag daysâ
⥠How will the network operate with mixed IPv4 and IPv6 routers?
âą Tunneling: IPv6 carried as payload in IPv4 datagram among
IPv4 routers
A B E F
tunnel
Logical view:
Physical view:
IPv6
A
IPv6
B
IPv6
E
IPv6
F
IPv6 IPv6 IPv6 IPv6
IPv4 IPv4
Flow: X
Src: A
Dest: F
data
Flow: X
Src:A
Dest: F
data
Src: A
Dest: F
data
Src:B
D
Flo
e
ws
:
X
t:
E Src: A
Dest: F
data
Src:B
D
Flo
e
ws
:
X
t:
E
A-to-B:
IPv6
E-to-F:
IPv6
B-to-C:
IPv6 inside
IPv4
B-to-C:
IPv6 inside
IPv4
77. ICMP
ïŹ Internet Control Message Protocol (ICMP) is a companion protocol to IP.
ïŹ ICMP defines a collection of error messages that are sent back to the
source host whenever a router or host is unable to process an IP datagram
successfully.
ïŹ Examples of error messages:
1. Destination Unreachable: Could be due to link failure or router unable
to
locate destination
2. Time Exceeded: When TTL decrements to 0.
3. ICMP â Redirect: Tells source host that there is a better route to the
destination.
4. ECHO REQUEST: To see if a destination is alive and reachable.
5. ECHO REPY
6. Source Quench: Used to throttle hosts that were sending too many
packets.
78. ARP
ïŹ Address Resolution Protocol (ARP)
An IP address (4-bytes) needs to be mapped into a link-level address (e.g. a
6- bytes Ethernet or MAC address) before a packet encapsulated in a
frame can be delivered to a host on a network (LAN) or to a router on a
LAN that will forward it.
ïŹ A source host on a LAN broadcasts an ARP REQUEST packet with the
IP address of the destination host (âWho owns this IP address?â) and
the destination host replies with an ARP REPLY packet containing its
MAC address. The source host caches the destination MAC address for
future use.
ïŹ Then the source host sends the MAC/Ethernet frame containing the IP
packet to the destination host.
ïŹ To allow mappings to change (e.g. if an Ethernet NIC card breaks or is
replaced) entries in the ARP cache are timed out every 15 minutes.
79. RARP, DHCP
ïŹ Reverse Address Resolution Protocol (RARP)
This answers the reverse question, i.e. given an Ethernet address, what is
the corresponding IP address. Used when booting a diskless workstation
on the LAN.
ïŹ Upon boot-up, RARP allows a workstation to broadcast its Ethernet
address and ask if any one knows its IP address (âDoes anyone know
my IP address?â) The RARP server responds with the IP address of the
workstation.
ïŹ A disadvantage of RARP is that it uses a destination address of all 1s
(limited broadcasting) to reach the RARP server. However, such
broadcasts are not forwarded by routers, so a RARP server is needed
on each LAN in an organization.
ïŹ Once a workstation has its IP address it can contact the file server for
the image of the OS, file serverâs IP address, default routerâs IP address.
Each of these requests is a separate request-reply. This is inefficient.
80. DHCP
ïŹ Dynamic Host Configuration Protocol (DHCP)
An IP address can be automatically assigned to a client host from a pool of IP
addresses. IP addresses assigned automatically are leased for a fixed amount of
time.
ïŹ DHCP allows both manual IP address and automatic assignment and has
replaced both RARP and BOOTP.
ïŹ The DHCP server need not be on the same LAN as the requesting client host.
Since the DHCP server may not be reachable by broadcasting, a DHCP relay
agent is needed on each LAN.