Application Layer: functionality and Protocols

27
1 Application Layer: functionality and Protocols Laurent Babout, PhD, DSc Based on Cisco material

description

Application Layer: functionality and Protocols. Laurent Babout, PhD, DSc. Based on Cisco material. 1. Objectives of lecture. Define the application layer as the source and destination of data for communication across networks. - PowerPoint PPT Presentation

Transcript of Application Layer: functionality and Protocols

Page 1: Application Layer: functionality and Protocols

11

Application Layer: functionality and Protocols

Laurent Babout, PhD, DSc

Based on Cisco material

Page 2: Application Layer: functionality and Protocols

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).

Page 3: Application Layer: functionality and Protocols

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

Page 4: Application Layer: functionality and Protocols

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.

Page 5: Application Layer: functionality and Protocols

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 e-mail clients, incorporate functionality of the OSI layers 5, 6 and 7.

Page 6: Application Layer: functionality and Protocols

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

Page 7: Application Layer: functionality and Protocols

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

Page 8: Application Layer: functionality and Protocols

88

The Role of Protocols in Supporting Communication #2

• The client-server model

Page 9: Application Layer: functionality and Protocols

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.

Page 10: Application Layer: functionality and Protocols

1010

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

Page 11: Application Layer: functionality and Protocols

1111

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

Page 12: Application Layer: functionality and Protocols

1212

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)

Page 13: Application Layer: functionality and Protocols

1313

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

Page 14: Application Layer: functionality and Protocols

1414

DNS #2

• Use nslookup to identify IP of DNS

Page 15: Application Layer: functionality and Protocols

1515

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)

Page 16: Application Layer: functionality and Protocols

1616

DNS #4

• Ipconfig/displaydns

5≡ alias (type CNAME)

1≡ end device address (type A)

Page 17: Application Layer: functionality and Protocols

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 TLDs291 country codes

Page 18: Application Layer: functionality and Protocols

1818

HTTP #1• HTTP: HyperText Transfer Protocol (defined in RFC2616)• Web browser application:

– Check 3 parts of address (i.e. http://www.kis.p.lodz.pl/index.html)– 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

http://www.kis.p.lodz.pl

Page 19: Application Layer: functionality and Protocols

19

HTTP #2• You can use web-sniffer.net to view http

request/response and html source code

Page 20: Application Layer: functionality and Protocols

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.

Page 21: Application Layer: functionality and Protocols

2121

SMTP/POP #1• Vocabulary:– POP: Post Office Protocol– SMTP: Simple Mail Transfer Protocol – MUA: Mail User Agent (You when you send/rec an Email)– MTA: Mail Transfer Agent (server receiving or forwarding

emails)– MDA: Mail Delivery Agent

(server delivering Email to client)

Page 22: Application Layer: functionality and Protocols

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

Page 23: Application Layer: functionality and Protocols

23

FTP

• File Transfer Protocol (defined in RFC959)• A 2-connection step for file transfer between

client and server– 1st connection (port 21): control traffic (client

command and server replies)– 2nd connection (port 20): data traffic (created every

time a file is transferred)• Download/upload• Secure FTP: FTPS / SFTP (SSH)

Page 24: Application Layer: functionality and Protocols

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)

Page 25: Application Layer: functionality and Protocols

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

Page 26: Application Layer: functionality and Protocols

2626

Telnet #1• Remote access to server via virtual terminal

(VTY)• One of the oldest Application layer protocols

and services in the TCP/IP suite

Page 27: Application Layer: functionality and Protocols

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

– 1st byte: IAC - Interpret As Command (decimal value: 255)– 2nd 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)