Title: Boot Protocol (BOOTP)
1Boot Protocol (BOOTP)
- RFC 951.
- Updated by RFCs 1395, 1497, 1532, and 1542
- Originated many years ago as a method of booting
diskless workstations on a LAN. - Works as microcode in a PROM.
- Workstation boots a simple operating system.
- Just enough to send out Boot messages to a BOOTP
server - Usually operates in two stages
- First, it gets its IP address
- Next, it uses the TFTP protocol to boot its full
operating image
2BOOTP Operation
BOOTP server
BOOTP request
BOOTP response
BOOTP client
- Two modes of operation Request and Reply.
- Request contains clients hardware address and IP
address if known it may contain a requested
server. Usually contains a name of the file to
use for booting this client. - Response from the server contains answers to the
request.
3BOOTP Field Definitions
32 bits
0
31
Opcode
Hops
Htype
HLEN
xid (4)
secs (2)
flags (2)
ciaddr (4)
yiaddr (4)
300 bytes
siaddr (4)
giaddr (4)
chaddr(16)
sname (64)
file (128)
vend extensions (BOOTP) or options (DHCP)
DA
SA
TF
CRC
UDP data
IP
UDP header
4Client Side (BOOTREQUEST)
Set destination address to 255.255.255.255
secs is set to the number of seconds since client
boot
If known set source IP address to interface
address
ciaddr field set to client IP address
Set port numbers to 67 and 68
If wanted, set requested server name
Set requested boot filename or set to 0 for
default
Set OP field to 1
Set htype to hardware type for interface
Set vend field to magic cookie number
Set xid to random number
Transmit request
5Server Side
If filename not set, client, skip this field
If received UDP port number not set to
67, discard packet
Check and place options according to Vend field
If server name matches or set to 0 process packet
set siaddr IP address to server IP address
If server name not local, then forward
Set port number to 68
If ciaddr field set to 0 and no address
found, discard packet
If ciaddr set, then route back to client
If giaddr set, route back to gateway, change
port to 67
If ciaddr found, set it in yiaddr
If file name set and server does not
have, discard the packet
Otherwise, client is local, transmit packet
6Chicken-or-the-Egg? Dilemma
- If the client does not yet know its IP address,
how does it respond to ARP requests during a
server response? - If the client knows its IP address, this is not a
problem. - Two options
- Simply send the reply set to broadcast
- The server can manually construct the ARP entry
using the fields in the received request
7BOOTP Relay Agents (Or BOOTP Gateway)
- Used when requests and servers are not on the
same network - Separated by a router
- Need some type of agent that can forward these
requests over a router - Router must be aware of this because routers do
not forward messages addressed in broadcast - Router receives a message and resends it as if
the router had sent it - Places its address in the Giaddr field
- Can set the scope field to limit the forwarding
of the request.
8Dynamic Host Configuration Protocol (DHCP)
- DHCP builds on the BOOTP protocol.
- Probably best known for its IP address leasing
capability. - Configured as
- DHCP Client
- DHCP Server
- BOOTP Relay Agent
- Binding
9DHCP
- Provides a transport mechanism for passing
configuration information to requesting hosts. - Configuration information is based on that
specified in RFCs 1112, 1122, and 1123. - DHCP and BOOTP are interoperable.
- DHCP messages are in the same format as BOOTP.
- DHCP is considered to do two things
- IP address allocation
- Delivery of configuration information
- Configuration information is stored in a database
table on the DHCP server - Client specifies which parameters it is looking
for in the Vendor Extensions field of the request
packet
10IP Address Allocation
- Automatic Allocation permanently assigns an IP
address to a station. - Dynamic Allocation assigns an IP address to a
requesting station for specified amount of time. - Manual Allocation preconfigure the server to
give the requesting station the same IP address
every time it requests it.
11DHCP Messages
- DHCPDISCOVER
- DHCPOFFER
- DHCPREQUEST
- DHCPACK
- DHCPNAK
- DHCPDECLINE
- DHCPRELEASE
- DHCPINFORM
12DHCP Operation
DHCP Server B
DHCP Server A
DHCP Client
FFFFFF
DHCP Discover
DHCP A Offer (IP addr)
DHCP B Offer (IP addr)
DHCP Request (A)
DHCP A ACK
13DHCP Responses
DHCP Server B
DHCP Server A
DHCP Client
FFFFFF
DHCP Discover
DHCP A Offer (IP addr)
DHCP B Offer (IP addr)
DHCP Request (A)
DHCP A ACK
14Releasing an IP Address
DHCP Server B
DHCP Server A
DHCP Client
A
DHCP Release
15DHCP Shortcuts
- A client may skip the DHCPDISCOVER if it knows
the server address that it wants to talk to. - Server will respond with a DHCP ACK.
- If the server responds with a DHCPNAK, the client
cannot use the parameters it specified in the
DHCPREQUEST - Restart with DHCPDISCOVER
- DHCPINFORM message can be used by a client to
inform a server that it has an IP address but
would like some parameters. - Reply is in unicast
16Lease Duration
- The length of time that a client has sole use of
an IP address is known as a lease. - Lease duration is negotiated between the client
and the server during the Request/Offer protocol. - There is no synchronization of timers between the
server and a client - A server may grant a smaller time than requested
to the client, but write the original time in its
database. - To extend the lease, the client must request this
of the server - If there is not an extension request, the lease
expires. - Times are based on a 32-bit integer
- Different implementations allow for different
maximum lengths.
17Efficiencies
- Not all parameters are needed
- Extensive use of defaults
- Set according to the Host Requirement RFCs 1122,
1123 - Host assumes the default value for anything not
contained in the DHCPACK message. - DCHP makes use of the Flags field to work around
the chicken-and- the-egg problem of IP address
and ARP responses.
18Operational Tables
- The page contains the DHCP fields and the
processes that set or reset the fields.
19Operational Tables (continued)
- The page contains the DHCP fields and the
processes that set or reset the fields.
20RFCs to be Reviewed
- 951 Bootstrap Protocol (BOOTP)
- 1534 Interoperation between DHCP and BOOTP
- 2131 Dynamic Host Configuration Protocol
(DHCP) - 2132 DHCP and BOOTP Vendor Extensions
21Resource Reservation Protocol (RSVP)
- QoS abilities on most IP networks are usually
about filters, protocol prioritization (fancy
filters), compression, and fat pipes (fast or
gigabit Ethernet). - QoS never seemed like a pressing issue until the
Web. - Cannot continue to simply provide for fatter
pipes. - We must find a way to allow multimedia to work on
the existing infrastructure. - ATM is not an alternative for most
implementations.
22Alternatives
- Ethernet allows us some scaling with three
speeds. - ToS offers different paths based on an
application request. - RSVP is a protocol useful where improved Quality
of Service (QoS) would enhance transmission of an
applications datastream and create higher
reliability of its reception at the receiving
endstation(s). - An example where RSVP would be appropriate would
be an application for streaming video to the
desktop, in a multicast environment, in a routed
infrastructure.
23Where It Will Be Used
- RSVP covers the QoS portion of protocols
optimized for real-time, streaming, and
multimedia issuesRTSP Real-Time Streaming
ProtocolApp Layer - RTP Real-Time Transport Protocols (RFC 1889)
- RTCP Flow/Control Mechanism (RFC 1890)
- RSVP IETF Draft-14 (QoS)
24Operation
- A basic RSVP reservation request (Resv message)
consists of a flowspec and a filter spec that
together are called a flow descriptor. - flowspec defines
- Service class desired (Guaranteed or
Controlled-load) - Reservation requested (Rspec)
- Description of the data flow (Tspec)
- filter spec, with the session specification,
defines the data flow to receive the QoS
defined by the flowspec.
25Path Messages
- Two fundamental RSVP message types Path and
Resv messages. - Path messages describe
- Previous hop IP (RSVP_HOP or PHOP)
- Format of the data to come (Sender Template
w/filter spec) - Traffic characteristics of the datastream (Sender
Tspec) and Adspec (OPWA) - Sent end-to-end from app host sender to app host
receiver, along existing routes, with the same
addressing as data packets. - Path messages store path state in each node along
the way (used by Resv messages)
26RSVP and Routers
- Application hosts RSVP interfaces are to an
application API and to traffic control. - Router hosts RSVP interfaces are to routing and
to traffic control.
RSVP
RSVP
Routing protocol daemon
Appli- cation
RSVP daemon
RSVP daemon
Policy control
Policy control
App host
router
data
data
Packet class- ifier
Packet Sched- uler
Admin control
Packet class- ifier
Packet sched- uler
Admin control
data
Traffic control
27RSVP Requests
- Resv messages reservation requests sent hop by
hop from host receiver(s) to host sender along
the reverse path. - Each RSVP-speaking receiver node forwards a Resv
message to the unicast address of the previous
RSVP hop. - Resv messages create and maintain reservation
state in each node along the path(s).
28Reservation Style
- RSVP uses several reservation styles to fit a
variety of applications within Resv messages - Styles are collective sets of options included in
the Resv request message - One option concerns the treatment of reservations
as distinct or shared - Another option controls the selection of senders,
be that an explicit list or a wildcard
implementation - Wildcard-Filter (WF) style
- Fixed-Filter (FF) style
- Shared- Explicit (SE) style
29RSVP Control
Reservations
Sender Selection
Distinct
Shared
Fixed-Filter (FF) style
Shared-Explicit (SE) style
Explicit
Wildcard-Filter (WF) style
Wildcard
(None defined)
30Disabling a Reservation
- PathTear Received by all receivers downstream
and deletes the path state in each node. - ResvTear deletes the reservation state and
travels upstream towards all senders from its
point of initiation - This message specifies styles and filters
- Flowspecs are ignored
31Handling Errors
- RSVP messages are unreliable.
- Error messages are sent using the PathErr and
ResvErr. - Simplex process that is sent upstream to the
sender that created the error.
32Merging Flowspecs
- RSVP will accommodate transparent operations
through non-RSVP- capable devices or clouds. - One Pass With Advertising (OPWA) is an RSVP
enhancement that may be used to predict
end-to-end QoS. - RSVP will merge reservations as they travel
upstream to optimize network resources. - RSVP uses styles to define specific options
desired by the application.
33A Simple Example
- RSVP has two categories of hosts
- Senders and Receivers
RSVP Receiver App host (Dest)
RSVP SenderApp host (source)
Router
Router
IGMP msg
Path msg
Sender App Host Registers with local RSVP
daemon to establish a sessionand begins to
Xmit RSVP Path msgs to mcast dest addr
ReceiverAppHost Joins mcast group and begins to
recv RSVP Path Msgs
Receiver hosts
IGMP report msg
RSVP Path msg
34A Simple Example (continued)
- RSVP has two categories of hosts
- Senders and Receivers
RSVP Receiver App host (Dest)
RSVP SenderApp host (source)
Router
Resv msg
Router
Path msg
Sender App Host Resv(s) received and host app
instance uses Resv info to setdata flow
tranmission parameters
ReceiverApp host Uses Path msg info to create a
resv request and sends out RSVP Resv msgs hop by
hop back to App Sender source
Receiver Hosts
Receiver Resv msg
RSVP Path msg
35Issues
- Routers have the capability of rejecting a
request and requests can be merged. - Works in areas that are not supporting it.
- To make use of RSVP, applications must be RSVP
aware, and there are few - Apps may be rewritten to use QoS-sensitive APIs
such as WinSock 2 - Existing apps may use RSVP Dialer programs or
toolkits instead - Intranet versus Internet usage.
- Internet ISPs coming up with billing procedures
for clients who desire QoS capabilities
36RSVP Summary
- Resource ReSerVation Protocol (RSVP) is a
protocol used to reserve network resources along
the transmission path(s) of a datastream - The goal being to obtain optimal QoS for that
application instance - RSVP communicates between sending and receiving
hosts with the receivers creating the actual
reservation for the session - Reservations are made by receivers upstream back
towards the sender(s) - The focus of reservations is on Network layer
resources in interconnecting devices (i.e.,
routers, or devices acting as routers)
37RSVP Summary (continued)
- RSVP operates on top of IP, occupying the place
of a Transport protocol and works as an internet
control protocol similar to ICMP. - Supports unicast and multicast protocols
- Designed to accommodate large, heterogeneous
groups of users with dynamic memberships and
topology - RSVP is unidirectional, or only makes
reservations in one direction for data flows. - Once a reservation is made, its maintained by
using soft state in the routers - Soft state provides graceful support for
membership changes and adaptation to routing
changes
38Conclusion
- RSVP is one area addressing QoS issues that are
driving forces for future networking
requirements - Web-based everythingwave of the future
- Real-time video apps and protocol availability
- Integration of voice and data capabilities,
availability of multimedia technology, multicast
networksall only increases the demand for QoS
features - Specifications such as RSVP will only aid in
bridging the gap between Layer 2 and Layer 3 QoS
capabilities. - www.isi.edu/rsvp.
39Simple Network Management Protocol (SNMP)
- Network management is divided into five
categories - Account management
- Fault management
- Security
- Configuration management
- Performance
40SNMP Elements
Management applications
Management server
SNMP requests/responses
MIB
Clients
41SNMP Manager
Management applications
Management server
SNMP requests
- Management apps
- Databases
- MIB database
- Network Element database
- Management Application databases
- Topology database, History Logs, and Monitor Logs
MIB
Clients
42Agent
Management applications
Management server
SNMP requests
- Contained in network elements.
- Interface from the management server to the
client MIB. - Can issue unsolicited responses known as traps.
- Special agent known as the proxy agent.
MIB
Clients
43Management Information Base (MIB)
- Collection of objects that contain specific
information that together form a group. - Structure of Management Information is specified
in RFC 1155. - The objects contain the following
- Syntax
- Access
- Status
- Description
- Index
- DefVal
- Value notation
44Object IfOperStatus (ifEntry 8) Syntax INTE
GER up (1) - ready to pass
packets down(2), testing (3) - in some test
mode Definition The current operational
state of the interface. The testing (3) state
indicates that no operational packets can be
passed. Access Read-only. Status Mandatory
.
Example MIB Entry
45The Protocol of SNMP
Management applications
Management server
SNMP requests/responses
- PDU types
- GetRequest
- GenNextRequest
- GetResponsePDU
- SetRequest
- Trap PDU
MIB
Clients
46SNMP Encapsulation
Name(1) Value(1)
Name(2) Value(2)
Name(n) Value(n)
PDU type Request ID Error status Error index
Variable bindings
Version number
Community string
SNMP PDU
UDP header
UDP data
Source address
Destination address
Type field
CRC
IP data
IP header