630 likes | 1.21k Views
Boot 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
E N D
Boot 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
BOOTP Operation BOOTP server BOOTP request • Two modes of operation: Request and Reply. • Request contains client’s 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. BOOTP response BOOTP client
32 bits BOOTP Field Definitions 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 IP UDP header UDP data CRC
Client 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
Server 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
Chicken-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
BOOTP 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.
Dynamic 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
DHCP • 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
IP 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.
DHCP Messages • DHCPDISCOVER • DHCPOFFER • DHCPREQUEST • DHCPACK • DHCPNAK • DHCPDECLINE • DHCPRELEASE • DHCPINFORM
DHCP 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
DHCP 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
Releasing an IP Address DHCP Server B DHCP Server A DHCP Client A DHCP Release
DHCP 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
Lease 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.
Efficiencies • 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.
Operational Tables • The page contains the DHCP fields and the processes that set or reset the fields.
Operational Tables (continued) • The page contains the DHCP fields and the processes that set or reset the fields.
RFCs 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”
Resource 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.
Alternatives • 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 application’s 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.
Where It Will Be Used • RSVP covers the QoS portion of protocols optimized for real-time, streaming, and multimedia issues:RTSP: Real-Time Streaming Protocol–App Layer • RTP: Real-Time Transport Protocols (RFC 1889) • RTCP: Flow/Control Mechanism (RFC 1890) • RSVP: IETF Draft-14 (QoS)
Operation • 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.
Path 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)
RSVP and Routers • Application hostsRSVP interfaces are to an application API and to traffic control. • Router hostsRSVP 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
RSVP 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).
Reservation 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
RSVP Control Reservations Sender Selection Distinct Shared Fixed-Filter (FF) style Shared-Explicit (SE) style Explicit Wildcard-Filter (WF) style Wildcard (None defined)
Disabling 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
Handling 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.
Merging 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.
A Simple Example RSVP Receiver App host (Dest) RSVP SenderApp host (source) • RSVP has two categories of hosts: Senders andReceivers 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
A Simple Example (continued) RSVP Receiver App host (Dest) RSVP SenderApp host (source) • RSVP has two categories of hosts: Senders andReceivers 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
Issues • 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
RSVP 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)
RSVP 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, it’s maintained by using “soft state” in the routers: • Soft state provides graceful support for membership changes and adaptation to routing changes
Conclusion • RSVP is one area addressing QoS issues that are driving forces for future networking requirements: • Web-based everything–wave of the future • Real-time video apps and protocol availability • Integration of voice and data capabilities, availability of multimedia technology, multicast networks–all 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.
Simple Network Management Protocol (SNMP) • Network management is divided into five categories: • Account management • Fault management • Security • Configuration management • Performance
SNMP Elements Management applications Management server SNMP requests/responses MIB Clients
SNMP Manager Management applications Management server • Management apps • Databases • MIB database • Network Element database • Management Application databases • Topology database, History Logs, and Monitor Logs SNMP requests MIB Clients
Agent Management applications Management server • 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. SNMP requests MIB Clients
Management 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
Example MIB Entry Object: IfOperStatus (ifEntry 8) Syntax: INTEGER { 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.
The Protocol of SNMP Management applications • PDU types: • GetRequest • GenNextRequest • GetResponsePDU • SetRequest • Trap PDU Management server SNMP requests/responses MIB Clients
SNMP 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 IP header IP data CRC