lecture 18 overview n.
Skip this Video
Loading SlideShow in 5 Seconds..
Lecture 18 Overview PowerPoint Presentation
Download Presentation
Lecture 18 Overview

Lecture 18 Overview

148 Vues Download Presentation
Télécharger la présentation

Lecture 18 Overview

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Lecture 18 Overview

  2. What is network management? • autonomous systems (aka “network”) • 100s or 1000s of interacting hardware/software components • "Network management includes the deployment, integration and coordination of the hardware, software, and human elements to monitor, test, poll, configure, analyze, evaluate, and control the network and element resources to meet the real-time, operational performance, and Quality of Service requirements at a reasonable cost.“ CPE 401/601 Lecture 18 : Network Management

  3. managing entity data data data data data agent agent agent agent Infrastructure for network management managing entity managed devices contain managed objects whose data is gathered into a Management Information Base (MIB) managed device network management protocol managed device managed device managed device CPE 401/601 Lecture 18 : Network Management

  4. Network Management standards SNMP: Simple Network Management Protocol • Internet roots • SGMP: Simple Gateway Monitoring Protocol • started simple • deployed, adopted rapidly • growth: size, complexity • currently: SNMP V3 • de facto network management standard CPE 401/601 Lecture 18 : Network Management

  5. SNMP overview: 4 key parts • Management information base (MIB): • distributed information store of network management data • Structure of Management Information (SMI): • data definition language for MIB objects • SNMP protocol • convey manager<->managed object info, commands • security, administration capabilities • major addition in SNMPv3 CPE 401/601 Lecture 18 : Network Management

  6. Management Information Base Basic Data Types • Purpose: syntax, semantics of management data well-defined, unambiguous • base data types: • straightforward • OBJECT-TYPE • data type, status, semantics of managed object • MODULE-IDENTITY • groups related objects into MIB module CPE 401/601 Lecture 18 : Network Management

  7. MODULE Management Information Base MIB module specified via SMI MODULE-IDENTITY (100 standardized MIBs, more vendor-specific) OBJECT TYPE: OBJECT TYPE: OBJECT TYPE: objects specified via SMI OBJECT-TYPE construct CPE 401/601 Lecture 18 : Network Management

  8. MIB example: UDP module Object ID Name Type Comments UDPInDatagrams Counter32 total # datagrams delivered at this node UDPNoPorts Counter32 # underliverable datagrams no app at portl UDInErrors Counter32 # undeliverable datagrams all other reasons UDPOutDatagrams Counter32 # datagrams sent udpTable SEQUENCE one entry for each port in use by app, gives port # and IP address CPE 401/601 Lecture 18 : Network Management

  9. SNMP Naming • question: how to name every possible standard object (protocol, data, more..) in every possible network standard?? • answer: ISO Object Identifier tree: • hierarchical naming of all objects • each branchpoint has name, number udpInDatagrams UDP MIB2 management ISO ISO-ident. Org. US DoD Internet CPE 401/601 Lecture 18 : Network Management

  10. request managing entity managing entity data data agent agent SNMP protocol • Two ways to convey MIB info, commands: trap msg response Managed device Managed device request/response mode trap mode CPE 401/601 Lecture 18 : Network Management

  11. SNMP protocol: message types Function Message type GetRequest GetNextRequest GetBulkRequest Mgr-to-agent: “get me data” (instance,next in list, block) InformRequest Mgr-to-Mgr: here’s MIB value SetRequest Mgr-to-agent: set MIB value Agent-to-mgr: value, response to Request Response Agent-to-mgr: inform manager of exceptional event Trap CPE 401/601 Lecture 18 : Network Management

  12. SNMP security and administration • encryption: DES-encrypt SNMP message • authentication: compute, send MIC(m,k): • compute hash (MIC) over message (m), secret shared key (k) • protection against playback: use nonce • view-based access control • SNMP entity maintains database of access rights, policies for various users • database itself accessible as managed object! CPE 401/601 Lecture 18 : Network Management

  13. a 00000011 00000001 a 00000001 00000011 The presentation problem • Q: does perfect memory-to-memory copy solve “the communication problem”? • A: not always! struct { char code; int x; } test; test.x = 256; test.code=‘a’ test.code test.x test.code test.x host 2 format host 1 format problem: different data format, storage conventions CPE 401/601 Lecture 18 : Network Management

  14. Presentation problem: potential solutions • Sender learns receiver’s format and translates into receiver’s format. Sender sends. • Sender sends. Receiver learns sender’s format and translate into receiver-local format • Sender translates host-independent format and sends. Receiver translates to receiver-local format. CPE 401/601 Lecture 18 : Network Management

  15. ASN.1: Abstract Syntax Notation 1 • ISO standard X.680 • used extensively in Internet • defined data types, object constructors • like SMI • BER: Basic Encoding Rules • specify how ASN.1-defined data objects to be transmitted • each transmitted object has Type, Length, Value (TLV) encoding CPE 401/601 Lecture 18 : Network Management

  16. TLV Encoding • Idea: transmitted data is self-identifying • T: data type, one of ASN.1-defined types • L: length of data in bytes • V: value of data, encoded according to ASN.1 standard Tag ValueType Boolean Integer Bitstring Octet string Null Object Identifier Real 1 2 3 4 5 6 9 CPE 401/601 Lecture 18 : Network Management

  17. Network Management • network management • extremely important: 80% of network “cost” • ASN.1 for data description • SNMP protocol as a tool for conveying information • Network management: more art than science • what to measure/monitor • how to respond to failures? • alarm correlation/filtering? CPE 401/601 Lecture 18 : Network Management

  18. Lecture 19Hyper Text Transfer Protocol CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger slides are modified from Dave Hollinger

  19. Hyper Text Transfer Protocol • HTTP is the protocol that supports communication between web browsers and web servers. • A “Web Server” is a HTTP server • Most clients/servers today speak version 1.1, but 1.0 is also in use. • RFC 1945 (HTTP 1.0) • RFC 2616 (HTTP 1.1) HTTP

  20. From the RFC • “HTTP is an application-level protocol with the lightness and speed necessary for distributed, hypermedia information systems.” • Transport Independence • The HTTP protocol generally takes place over a TCP connection, • but the protocol itself is not dependent on a specific transport layer. HTTP

  21. HTTP overview • Web’s application layer protocol • client/server model • client: browser that requests, receives, “displays” Web objects • server: Web server sends objects in response to requests HTTP request PC running Explorer HTTP response HTTP request Server running Apache Web server HTTP response Mac running Navigator

  22. Request - Response • HTTP has a simple structure: • client sends a request • server returns a reply • HTTP can support multiple request-reply exchanges over a single TCP connection • The “well known” TCP port for HTTP servers is port 80 • Other ports can be used as well HTTP

  23. HTTP connections • HTTP is “stateless” • server maintains no information about past client requests • Nonpersistent HTTP • At most one object is sent over a TCP connection • Persistent HTTP • Multiple objects can be sent over single TCP connection between client and server

  24. HTTP 1.0+ Request Request-Line Headers . . . • Lines of text (ASCII) • Lines end with CRLF “\r\n” • First line is called “Request-Line” blank line Content... HTTP

  25. Request Line • Method URI HTTP-Version\r\n • The request line contains 3 tokens (words) • space characters “ ” separate the tokens • Newline (\n) seems to work by itself • but the protocol requires CRLF HTTP

  26. HTTP Version Number • Starting with HTTP 1.0 the version number is part of every request • Client tells the server what version it can talk • what options are supported, etc • HTTP 0.9 did not include a version number in a request line • If a server gets a request line with no HTTP version number, it assumes 0.9 • HTTP 0.9 was used for many years HTTP

  27. URI: Universal Resource Identifier • URIs defined in RFC 2396 • Absolute URI: • scheme://hostname[:port]/path • • Relative URI: • /path • /blah/foo No server mentioned HTTP

  28. URI Usage • When dealing with a HTTP 1.1 server, only a path is used (no scheme or hostname) • HTTP 1.1 servers are required to be capable of handling an absolute URI • but there are still some out there that won’t • When dealing with a proxy HTTP server, an absolute URI is used • client has to tell the proxy where to get the document! HTTP

  29. Request Method • The Request Method can be: GET HEAD DELETE PUT POST TRACE OPTIONS • future expansion is supported • GET, HEAD and POST are supported everywhere • HTTP 1.1 servers often support PUT, DELETE, OPTIONS & TRACE HTTP

  30. Methods • GET: retrieve information identified by the URI • Typically used to retrieve an HTML document • HEAD: retrieve meta-information about the URI • used to find out if a document has changed • POST: send information to a URI and retrieve result • used to submit a form HTTP

  31. More Methods • PUT: Store information in location named by URI • DELETE: remove entity identified by URI • TRACE: used to trace HTTP forwarding through proxies, tunnels, etc • OPTIONS: used to determine capabilities of server, or characteristics of a named resource HTTP

  32. The Header Lines • Request Headers provide information to the server about the client • what kind of client • what kind of content will be accepted • who is making the request • Each header line contains • an attribute name followed by a “:” followed by a space and the attribute value • There can be 0 headers (HTTP 1.0) • HTTP 1.1 requires a Host: header HTTP

  33. Example HTTP Headers Accept: text/html Host: From: User-Agent: Mozilla/4.0 Referer: HTTP

  34. End of the Headers • Each header ends with a CRLF ( \r\n ) • The end of the header section is marked with a blank line • just CRLF • For GET and HEAD requests, the end of the headers is the end of the request! HTTP

  35. HTTP request message format

  36. POST • A POST request includes some content (some data) after the headers • after the blank line • There is no format for the data • just raw bytes • A POST request must include a Content-Length line in the headers: • Content-length: 267 HTTP

  37. Example POST Request POST /~mgunes/grades.cgi HTTP/1.1 Accept: */* Host: User-Agent: SecretAgent V2.3 Content-Length: 35 Referer: stuid=6660182722&item=test1&grade=99 HTTP

  38. Example GET Request GET /~mgunes/cpe401/lab3.htm HTTP/1.1 Accept: */* Host: User-Agent: Internet Explorer From: Referer: There is a blank line here! HTTP

  39. HTTP Response Status-Line Headers . . . • ASCII Status Line • Headers Section • Content can be anything • not just text • typically an HTML document or some kind of image blank line Content... HTTP

  40. Response Status Line • HTTP-Version Status-Code Message • Status Code is 3 digit number (for computers) • 1xx Informational • 2xx Success • 3xx Redirection • 4xx Client Error • 5xx Server Error • Message is text (for humans) HTTP

  41. Example Status Lines • HTTP/1.0 200 OK • HTTP/1.0 301 Moved Permanently • HTTP/1.0 400 Bad Request • HTTP/1.0 500 Internal Server Error HTTP

  42. Response Headers • Provide the client with information about the returned entity (document) • what kind of document • how big the document is • how the document is encoded • when the document was last modified • Response headers end with blank line HTTP

  43. Response Header Examples Date: Wed, 30 Mar 2010 12:48:17 EST Server: Apache/1.17 Content-Type: text/html Content-Length: 1756 Content-Encoding: gzip HTTP

  44. Content • Content can be anything • sequence of raw bytes • Content-Length header is required for any response that includes content • Content-Type header also required HTTP

  45. Single Request/Reply • The client sends a complete request • The server sends back the entire reply • The server closes it’s socket • If the client needs another document it must open a new connection This was the default for HTTP 1.0 HTTP

  46. Persistent Connections • HTTP 1.1 supports persistent connections • this is the default • Multiple requests can be handled over a single TCP connection • The Connection: header is used to exchange information about persistence (HTTP/1.1) • 1.0 Clients used a Keep-alive: header HTTP

  47. initiate TCP connection RTT request file time to transmit file RTT file received time time Non-Persistent HTTP: Response time • RTT: time for a small packet to travel from client to server and back • Response time: • one RTT to initiate TCP connection • one RTT for HTTP request and first few bytes of HTTP response to return • file transmission time • total = 2RTT+transmit time

  48. Try it with telnet > telnet 80 GET / HTTP/1.0 HTTP/1.0 200 OK Server: Apache ... Request-line Blank Line (end of headers) Response HTTP

  49. Try it with telnet (persistent) > telnet 80 GET / HTTP/1.1 Host: HTTP/1.0 200 OK Server: Apache ... Required! HTTP

  50. User-server state: cookies • Four components: • 1) cookie header line of HTTP response message • 2) cookie header line in HTTP request message • 3) cookie file kept on user’s host, managed by user’s browser • 4) back-end database at Web site • Cookies and privacy: • cookies permit sites to learn a lot about you • you may supply name and e-mail to sites