Presentation on theme: "11 Application Layer: functionality and Protocols Laurent Babout, PhD, DSc Based on Cisco material."— Presentation transcript:
11 Application Layer: functionality and Protocols Laurent Babout, PhD, DSc Based on Cisco material
22 Objectives of lecture Define the application layer as the source and destination of data for communication across networks. Explain the role of protocols in supporting communication between server and client processes. Presentation of the features, operation, and use of well-known TCP/IP application layer services (HTTP, DNS, SMTP).
33 Applications – The Interface Between Human and Data Networks #1 Applications provide the means for generating and receiving data that can be transported on the network
44 Applications – The Interface Between Human and Data Networks #2 Layer 7: application layer –Interface application / network –Application layer protocols used to exchange data between programs running on the source and destination hosts.
55 Applications – The Interface Between Human and Data Networks #3 Layer 6: presentation layer –Coding and conversion of Application layer data. –Compression/decompression of the data. –Encryption/decryption of the data. Layer 5: session layer –create and maintain dialogs between source and.destination applications. Most applications, like web browsers or clients, incorporate functionality of the OSI layers 5, 6 and 7.
66 Applications – The Interface Between Human and Data Networks #4 TCP/IP application protocols: –Specify format –Control information necessary for many of the common Internet communication functions Common protocols: DNS, HTTP, SMTP, FTP, telnet
77 The Role of Protocols in Supporting Communication #1 Protocols at layer 7 used for: –Defining processes at either end of the communication –Defining the types of messages –Defining the syntax of messages –Defining the meaning of any informational fields –Defining how message are sent and the expected response –Defining interaction with the next lower layer
88 The Role of Protocols in Supporting Communication #2 The client-server model
99 The Role of Protocols in Supporting Communication #3 Server processes may support multiple client: –The Application layer processes and services rely on support from lower layer functions to successfully manage the multiple conversations.
10 The Role of Protocols in Supporting Communication #4 The peer-to-peer (P2P) model –P2P network –P2P application P2P network –two or more computers are connected via a network and can share resources (such as printers and files) without having a dedicated server –Every connected end device (known as a peer) can function as either a server or a client. –Resource decentralization
11 The Role of Protocols in Supporting Communication #5 P2P application: –Each end device is a client and a server –Application should provide user interface and background service –Hybrid system possible Index server to get location of resource stored on another peer Once P2P connection, no communication with index server
12 Features, Operation, and Use of TCP/IP Application Layer Services Most common layer 7 applications protocols –DNS –HTTP –SMTP/POP –FTP –DSCP –Telnet –… Most TCP/IP protocols defined in RFCs (Request For Comments) of the IETF (Internet Engineering Task Force)
13 DNS #1 Domain Name Service (DNS) and protocol –Match domain name with IP address –Stored on distributed set of DNS servers Protocol (defined in RFC1035): –Use a single format called a message –Message format used for client queries, server response, message error and transfer of resource record info between servers
14 DNS #2 Use nslookup to identify IP of DNS
15 DNS #3 DNS servers store different types of resource record: –A: and end device (IP) address –NS: an authoritative name server –CNAME: the canonical name (or fully qualified name) for an alias –MX - mail exchange record; maps a domain name to a list of mail exchange servers for that domain Use ipconfig/displaydns to display some resource records stored in Microsoft memory cache (DNS client service)
16 DNS #4 Ipconfig/displaydns 5 alias (type CNAME) 1 end device address (type A)
17 Over 350 millions urls nowadays, 4.5 million/month Hierarchical organization –Root server –Top-level domain servers (TLD) –Secondary level domain servers 17 DNS #5 5 unrestricted TLDs 291 country codes
18 HTTP #1 HTTP: HyperText Transfer Protocol (defined in RFC2616) Web browser application: –Check 3 parts of address (i.e. –Check server name to convert kis.p.lodz.pl into numeric address –Send GET request to the server and asks for the file index.html –Deciphers the HTML code sent by the server and formats the page
19 HTTP #2 You can use web-sniffer.net to view http request/response and html source code
20 HTTP #3 HTTP Specifies message types for request/response Three common message types: –GET: request pages from web server –POST: includes data in the message sent to server –PUT: upload resources and content to the web server HTTP not secure. Instead HTTPS which use encryption and authentification. HTPPS specifies additional rules for passing data between the Application Layer to the Transport Layer.
21 SMTP/POP #1 Vocabulary: –POP: Post Office Protocol –SMTP: Simple Mail Transfer Protocol –MUA: Mail User Agent (You when you send/rec an ) –MTA: Mail Transfer Agent (server receiving or forwarding s) –MDA: Mail Delivery Agent (server delivering to client)
22 SMTP/POP #2 POP: typically client/server protocol SMTP: client/server, server/server protocol Some commands specified in SMTP protocol (defined in RFC2821): –HELO - identifies the SMTP client process to the SMTP server process –EHLO - Is a newer version of HELO, which includes services extensions –MAIL FROM - Identifies the sender –RCPT TO - Identifies the recipient –DATA - Identifies the body of the message
23 FTP File Transfer Protocol (defined in RFC959) A 2-connection step for file transfer between client and server –1 st connection (port 21): control traffic (client command and server replies) –2 nd connection (port 20): data traffic (created every time a file is transferred) Download/upload Secure FTP: FTPS / SFTP (SSH)
24 DHCP #1 DHCP: Dynamic Host Configuration Protocol Service Allow device on network to obtain IP address and other information from a server Automatic assignment from pool of addresses: –IP address, –Subnet –Gateway –… Address leased for a given period of time If client system down, address sent back to the pool Home network, DHCP server located at the ISP (Internet Service Provider)
25 DHCP #2 DSCP protocol –Discover: client broadcast packet to identify any available DSCP server –Reply from DSCP server with DSCP offer (lease offer of IP, subnet, gateway, DNS server, duration of the lease) –Request: broadcast packet to identify the explicit server –Server sends ACK to acknowledge the lease finalization See DSCP offer using ipconfig /all
26 Telnet #1 Remote access to server via virtual terminal (VTY) One of the oldest Application layer protocols and services in the TCP/IP suite
27 Telnet #2 Telnet protocol specifies how a VTY session is established and terminated+control commands Defined in the RFC854 in 1983 (IETF) Telnet command made of at least 2 bytes –1 st byte: IAC - Interpret As Command (decimal value: 255) –2 nd byte can be: AYT – Are You There (246) EL – Erase Line (248) IP – Interrupt Process (244) Telnet clients: PuTTy, TeraTerm… Secured version: SSH (authentification, encryption)