540 likes | 667 Views
COM 360. Chapter 9. Applications. Applications. Part network protocol (in the sense that they exchange messages with their peers on other machines) and part traditional application program in the sense that they interact with the windowing system, the file system and the user).
E N D
Chapter 9 Applications
Applications • Part network protocol (in the sense that they exchange messages with their peers on other machines) and part traditional application program in the sense that they interact with the windowing system, the file system and the user). • Emphasized the system approach – the best way to build effective network applications is to understand the building blocks that the network can provide and how those blocks can interact with each other. • Applications might need their own protocols, too.
Traditional Applications • Two most popular World Wide Web and email. • Domain Name System (DNS) – not explicitly invoked by users, but an application that all others depend upon. • Network management – an application for system administrators.
Applications • Most use the request/replyparadigm- users send requests to servers which respond. • Distinguish between application programs and application protocols. • For example, HTTP is a protocol used to retrieve programs from a web server, but there can be many programs to do this (IE, Netscape, Firefox, etc.) and they all use the same protocol.
Application Protocols • SMTP- Simple Mail Transfer Protocol – used to exchange electronic mail. • HTTP – Hypertext Transport Protocol – used to communicate between web browsers and web servers. • DNS Domain Name System- used to query name servers and send responses. • SNMP- Simple Network Management Protocol- used to query (and sometimes modify) the state of remote network nodes.
Application Protocols • Although many protocols are request/reply, they are not all built on top of the RPC transport protocol. Some of them are implemented on top of TCP or UDP. • Most protocols, except DNS, have a companion protocol that specifies the format of the data that can be exchanged. • This is one reason that these protocols are relatively simple.
Application Protocols • SMTPis a protocol for exchanging email and RFC 822 and MIME ( Multipurpose Internet Mail Extensions) define the format of the email messages. • HTTP is a protocol for fetching web pages but the HTML ( HyperText Markup Language) defines the form of the pages. • SNMP is a protocol for querying a network node but MIB ( Management Information Base ) defines the values that can be queried.
Electronic Mail (SMTP,MIME,IMAP) • How does email work? • Distinguish between the user interface ( or mail reader) and the message transfer protocol (SMTP) • Distinguish between the transfer protocol and a companion protocol (RFC 822 and MIME) • RFC 822 defines email messages to have two parts: a header and a body- both in ASCII • MIME augments this to allow the message body to carry different kinds of data – specifies how to convert binary data, such as image files, to ASCII • IMAP – Internet message Access Protocol – an application layer protocol that allows users to retrieve email from a mail server.
Electronic Mail-Message Transfer • SMTP is the protocol used to transfer messages form one host to another. • Users interact with a mail reader, when they compose, file, search and read email. • There is a mail daemon (or process) running on each host, which plays the role of post office. (The mail daemon on most hosts is Unix sendmail.) • Mail readers give the daemon messages they want to send, the daemon uses SMTP running over TCP to transmit the message to the daemon running on another machine, and the daemon puts incoming messages into the user’s mailbox (where user’s mail reader can find it).
Mail Gateways A sequence of mail gateways store and forward email messages. Gateways are similar to IP gateways or routers, except they buffer email on disks and try to transmit for several days.
Mail Reader • User first retrieves messages from his/her mailbox, reads them and replies to them and possibly saves a copy. • User interacts with the mail reader, which reads and writes the file that implements the mailbox. • In other cases, the user accesses the mailbox from a remote machine using another protocol such as the Post Office Protocol (POP) or the Internet Message Access Protocol (IMAP). • IMAP is similar to SMTP in may ways.
Mail Reader and IMAP • IMAP is a client/server protocol running over TCP, where the client (on user’s desktop) issues commands and the mail server (running on the machine with the mailbox) responds. • The exchange begins with the client authenticating and then identifying the mailbox to access.
World Wide Web • Think of the web as a set of cooperating clients and servers, all using the same language: HTTP. • Most are exposed to the web through a graphical interface client program, or a web browser, like Netscape, FireFox, Internet Explorer, or Opera • A web browser has a function that allows a user to open a URL, which provided information about the location of objects on the web. • Most web files contain images and text.
World Wide Web • Request Messages- the first line specifies the operation, the web page it is performed on, and the version of HTTP. Most common are GET and HEAD(fetch status information). See p.653 • Response Messages- The first line begins with version number, a 3 digit code for success, and a text string giving the reason for the response. • Uniform Resource Identifiers-one type is the URL that HTTP uses as addresses. • TCP Connections- now allows client and server to exchange multiple request/response messages.
World Wide Web • Caching- one of the most active areas of Internet research is how to effectively cache a web page. • Caching has many benefits- from client’s perspective, a page retrieved from nearby can be displayed more quickly. • From server’s perspective, having a cache intercept and satisfy a request reduces the load on the server. • Caching can be implemented in many different place. • Cache needs to make sure it is not responding with an out-of-date version of the page.
Name Services (DNS) • Naming service used to map user-friendly addresses into router-friendly addresses. • Namespace-defines the set of possible names. • Flat – not divisible into components • Hierarchical – ( having a tree like-structure) • Resolution mechanism is a procedure that can be invoked with a name and will return a value. • Name server implements a resolution mechanism and can be queried by sending it a message.
Name Services Names translated into addresses, where the numbers 1-5 show the sequence of steps in the process.
DNS • Internet has a well-developed naming system- the domain name system (DNS). • In mid-1980’s DNS was put into place. • It uses a hierarchical namespace and the table of name bindings is distributed throughout the Internet.
Name Servers • The complete domain name hierarchy exists only in the abstract. • How is the domain hierarchy implemented? • First partitioned into sub-trees called zones, corresponding to fundamental units. • Information in each zone is implemented in two or more servers for redundancy. • Each name server is a program that can be accessed over the Internet. Clients send queries to name servers, which respond with the requested information.
Root name server Princeton Cisco ■ ■ ■ name server name server ■ ■ ■ CS EE name server name server Hierarchy of Name Servers
Domain Hierarchy • DNS Implements a domain hierarchical namespace for Internet objects. • DNS names are processed from left to right with the naming components separated with slashes. • There are domains for each country and also the “big six”: .com, .edu, .gov, .mil, .org, .net • These were recently expanded by the addition of new top-level domains such as .biz, coop, info, name, museum, etc.
edu com gov mil org net uk fr ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ princeton mit cisco yahoo nasa nsf arpa navy acm ieee cs ee physics ux01 ux04 Example of A Domain Hierarchy
edu com gov mil org net uk fr princeton mit cisco yahoo nasa nsf arpa navy acm ieee ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ cs ee physics ux01 ux04 Domain Hierarchy Partitioned into Zones
Naming Conventions • Less technical conventions are used to decide the names, for example all US Universities are under the edu domain, while English universities are under the ac (academic) domain of the UK (United Kingdom). • Organizations name their machines according to a set of rules. Host names such as venus, mars, saturn are among the most common. • One site named its machines up, down, cracked and rebooting, which led to confusion when they issued messages such as “up is down” or “rebooting has crashed”.
Name Resolution • How does a client use a server to resolve a domain name? • For example: penguins.cs.princeton.edu • First send a query to the root server, which may respond with a match. If not, it then sends to the IP host server, etc.
Name Resolution in Practice Numbers 1-10 show the sequence of steps in the process.
Network Management (SNMP) • A network is a complex system with suites of protocols running on many nodes. • Even within a single domain there are many routers and hundreds or thousands of hosts, with address translation tables, routing tables, TCP connection states, etc. • These all must be managed- to do this we use the network to manage the network. • SNMP is a specialized reply/request protocol that supports two kinds of request messages: GET and SET.
Network Management (SNMP) • SNMP allows the administrator to interact with a client program that displays information about the network. • SNMP runs on top of TCP • An SNMP server locates the appropriate information and returns it to the client program, which displays it to the user. • How does the client know what piece of information to return? It uses MIB
MIB • MIB- Management Information Base- defines specific pieces of information – MIB variables- that you can retrieve from a network node. • The current version MIB-II organizes variables into 10 groups: system, interfaces, address translation, IP, TCP, UDP, ICMP, EGP, SNMP, and a group for different media • MIB variables are either tables of structures.
Web Services • Most of the applications previously examined involve interactions between a human and a machine. • There is increasing demand for computer-to-computer interaction and these also require protocols. • Many of these applications come from business • Two architectures, called Web Services, have been defined: SOAP and REST
Web Services • SOAP- generates protocols that are customized to each application- sort of a mass customization. It includes a framework for protocols, software tools kits, and modular specifications that can be reused. • REST regards individual web services as WWW resources- identified by URLs and accessed via HTTP. It is the web architecture.
Multimedia Applications • Like the traditional applications, multimedia applications, such as audio conferencing and videoconferencing need their own protocols. • Some of these original protocols came from “MBone tools”- applications such as vat and vic • The Real-time Transport Protocol (RTP) provides many functions to multimedia applications. • They also need a session control protocol – Session Initiation Protocol (SIP) such as for IP telephone calls and VoIP.
Session Directory Displays information extracted from SDP messages.
SIP Proxies Establishing communication through SIP proxies
Overlay Network Overlay network layered on top of a physical network
Overlay Nodes Overlay nodes tunnel through physical nodes.
Trees in Mesh Multicast tree embedded in an overlay mesh.
Triangle inequality Triangle inequality does not necessarily hold in networks.
128 - 0 2 1 objid nodeids Figure 9.23