Application layer,

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

P2P NETWORK

2 OR MORE COMPUTERS OR DEVICES ARE CONNECTED VIA NETWORK AND CAN SHARE RESOURCES WITHOUT HAVING A DEDICATED SERVER EVERY CONNECTED DEVICE CAN ASSUME OF THE ROLE CLIENT OR SERVER DEPENDING ON THE REQUEST

PROTOCOL SERVER FILE NAME FILE TYPE

3 PARTS OF URL

Sockets

A process sends/Receives messages to/from this

Stream

A sequence of characters that flow into or out of a process

HTTP Status 400

Bad Request -- message not understood by the server

UPLOAD

CLIENT TO SERVER

Socket Programming with TCP

Client must contact server Client Contacts Server by: creating TCP socket, specifying IP address, port number of server process Server TCP creates new socket from server process to communicate with that particular client (allows server to talk with multiple clients)

Application Architectures

Client-Server Peer-to-Peer

What are some email protocol ports?

- 25 - 110 - 143

What is a Socket?

- A process is a program running on a host - Processes on the same host - Processes on different hosts

What is Tera Term

- A terminal emulator application

What does Iterative queries do?

- Ask server who to ask next - The complete answer may be returned or a referral provided to another DNS server - All DNS servers must support that kind of query

What does Processes on the same host mean?

- Communicate directly using Process IDs

How does a virtual connection work?

- Emulates a real terminal connected directly to the remote device - Multiple simultaneous sessions to one device are possible

What does Tera Term do?

- Emulates old simple devices called Terminals - Terminals can only be connected over direct serial lines

What are the HTTP request messages?

- Get - Post

What is HTTP

- Hypertext Transfer Protocol

Cookie Components

Cookie header Line of HTTP Response Message Cookie Header Line in the next HTTP Request Message Cookie file kept on user's host, managed by user's browser Back-end Database at website

POP3 download and keep

Copies the message on different clients

P2P NETWORK MODEL

DATA IS ACCESSED FROM A PEER DEVICE WITHOUT THE USE OF DEDICATED SERVER

CLIENT

DEVICE REQUESTING FOR INFORMATION

DELETE

Deletes file specified in the URL field

Why is the Recursive DNS name resolution not scale?

- It will put too much load on Root and TLD servers

What does the A record do?

- Name = Hostname - Value = IPV4 address

What is BIND?

- Open-source DNS server software - The most widely used name server software

What is port 110?

- POP3

What is port 25?

- SMTP

What Protocols does Delivery have?

- SMTP (Simple Mail Transfer Protocol) - HTTP

What does Post do in HTTP request?

- Send data to the server

How do you communicate using sockets?

- Socket = IP Address + Port number

What is part of the DNS security?

- you first get your DHCP address - Second while on the internet a man in the middle attack

STATIC ADDRESSING

NET ADMIN MANUALLY ENTERS IP ADDRESS INFORMATION ON HOSTS

PUT

uploads files in entity body path specified in URL field

Cookies (5)

• As HTTP is stateless, there needs to be a mechanism to store state • Cookies allow state storage on a client • Server sends *Set-cookies: header* - stored locally • When the page is requested again the browser appends a *Cookie:header* • Allow sites to keep track of user (can be used to identify a user)

Difference between SMTP and Mail Access Protocol?

• SMTP: delivery/storage to receiver's server • Mail access protocol: retrieval from server

HTTP (3)

• Web's application layer protocol • Two programs run on different end systems, talk to each other by exchanging HTTP message. • HTTP is "stateless"

How many root servers are out there?

- 13 worldwide

What are the HTTP Response Status code?

- 200 OK - 301 Moved Permanently - 400 Bad Request - 404 Not Found - 505 HTTP Version Not Supported

What is an example of a socket pair?

- 72.163.4.161:80 = Socket for Cisco web server - 143.110.255.120:25 = socket for SAIT mail server

What are the type of DNS records?

- A - AAAA - CNAME - NS - MX

What does Get do in HTTP request?

- Retrieve information from the server

What do Servers have that's permanent?

- Servers are always on - Permanent IP addresses - Respond to requests from clients

What Protocol does FTP use?

- TCP

What is the Port for HTTP?

- TCP port 80

What can Tera Term connect to?

- Telnet on TCP port 23 - SSH on TCP Port 22

What does Telnet mean?

- Terminal Network

How big can the total name be for the DNS to read?

- The total name can be a max 255 characters

What do general purpose virtual terminal emulator do?

- They allow virtual connections to remote devices

How do you connect using a virtual connector?

- They connect using a TCP/IP session

Where is the top level domain in ict.sait.ca?

- Top Level Domain is (ca)

What is TFTP?

- Trivial File Transfer Protocol

What Protocol does TFTP use?

- Uses UDP port 69 for control and data

What does VTY stand for?

- Virtual Connections

Can you have multiple simultaneous sessions to one device are possible?

- Yes

Is TFTP much simpler then FTP?

- Yes

Is HTTP stateless?

- Yes, it maintains no information about past clients requests

What is unique about vlab2.ict.sait.ca?

- it is a FQDN - It is unique in the world

What are the subdomains in ict.sait.ca?

- sait is a subdomain of the ca doamin - ict is a subdomain of the sait.ca domain

What is the Hierarchical Namespace?

.com -> google.com -> mail.google.com

Example: Alice sends e-mail to Bob (6)

1. Alice uses UA to compose message and "to" [email protected] 2. Alice's UA sends message to her mail server; message placed in message queue 3. Client side of SMTP opens TCP connection with Bob's mail server 4. SMTP client sends Alice's message over the TCP connection 5. Bob's mail server places the message in Bob's mailbox 6. Bob invokes his user agent to read message

Examples of Requirements of these network applications: 1. E-mail 2. Web Documents 3. Real-time audio/video 4. Interactive games

1. E-mail. *Data Loss* = No loss; *Bandwidth* = Elastic; *Time-Sensitive* = No 2. Web Documents. *Data Loss* = No loss; *Bandwidth* = Elastic (few kbps); *Time-Sensitive* = No 3. Real-time audio/video. *Data Loss* = Loss-Tolerant; *Bandwidth* = Audio: Few kbps - 1 Mbps, Video: 10 kbps - 5 Mbps; *Time-Sensitive* = Yes: 100s of msec. 4. Interactive game. *Data Loss* = Loss-Tolerant; *Bandwidth* = Few kbps - 10 kbps; *Time-Sensitive* = Yes: 100s of msec.

.COM

A BUSINESS OR INDUSTRY

GET

A CLIENT REQUEST FOR DATA

.ORG

A NON PROFIT ORGANIZATION

DIFFERENT TYPES OF RESOURCE RECORD

A NS AAAA MX

Ecoplexing

A further potential problem with Telnet that makes it very inefficient over WANs is that it was designed for use over asynchronous modem links. The standard method of remotely accessing a host at the time was for a character to be sent to the host and the host to echo it back to the terminal before it was displayed. This method of operation is known as echoplexing.

Client-Server Architecture: Server

Always-on host Permanent IP Address Data centers for scaling

Internet Mail Access Protocol (IMAP)

An alternative protocol for retrieving messages from mail servers is Internet Mail Access Protocol (IMAP) which offers very similar functions to POP3, but also allows users to view message headers and select which messages to download. This is very useful for a dial-up connection where bandwidth is expensive and should not be wasted by downloading spam or other unwanted messages. IMAP also allows messages to be stored in folders on the server, which is particularly important if the user often accesses his email from different machines.

Data encoding

An important function of the application layer is to determine how data is to be encoded for transmission. This may involve the choice of character codes,6 the use of tags to define how data is displayed7 or to define data syntax or semantics.8 Abstract Syntax Notation 1 (ASN.1) has become an important standard for specifying PDU formats at all layers. It is an ISO standard, but it has also been used extensively by the IETF in specifying new Internet based protocols. It can be thought of as a type definition language where data is defined as belonging to either primitive types such as Boolean, Integer or Bitstring, or more complex user-defined types. It is similar to data type declarations in programming languages. ASN.1 is not only used for specifying protocols

SSH

Another way to improve security for remote login type applications is to use Secure Shell (SSH). The functionality of SSH is very similar to Telnet, but user names and passwords are encrypted for transmission from SSH clients to SSH servers.

Hyper-Text Transfer Protocol (HTTP)

Another, and increasingly popular method for sending and receiving email messages is to use the world wide web to access mail services such as Hotmail, making use of the web's Hyper-Text Transfer Protocol (HTTP) rather than using mail protocols. As with IMAP, messages can be organised in folders on the server. Web-based email has the advantage of allowing users to access their email from any machine that supports a web browser, such as a PC in an Internet Café.

Non-Persistent HTTP

At most one object sent over TCP connection and the connection is then closed downloading multiple objects require multiple connections

Multipurpose Internet Mail Extensions (MIME)

Because SMTP was designed only to carry ASCII 7-bit characters, it cannot on its own be used to transfer 8-bit binary data which would be required if an executable file or a formatted text file (such as a Word document) were to be transmitted. When the designers of SMTP realised that users wanted to the ability to send data other than ASCII text, they were faced with two possible solutions. Either they could change the SMTP protocol and update all the clients and servers at the same time, or they could just create a new protocol to allow 8-bit data to be encoded as 7-bit ASCII characters. They chose the latter option, as it only involved upgrading the clients, and they designed a new protocol called Multipurpose Internet Mail Extensions (MIME) which allowed 8-bit data files to be attached to SMTP messages and be transmitted as 7-bit ASCII characters.

HTTP Request Message

Begins with Request line (GET, POST, HEAD commands, then URL, the version) Then has the header lines (header field name and value) Ends with the carriage return to signal the end of the header lines Entity Body then begins

SMB

CLIENT SERVER FILE SHARING PROTOCOL THAT DESCRIBES THE STRUCTURE OF SHARED NETWORK RESOURCES SUCH AS DIRECTORIES, FILES, PRINTERS AND SERIAL PORTS

SWARM

CLIENTS ASK FOR PIECES FROM MULTIPLE USERS AT THE SAME TIME

.CO

COLOMBIA

IPCONFIG DISPLAYDNS

COMMAND THAT DISPLAYS ALL OF THE CAHED DNS ENTRIES

PRESENTATION LAYER FUNCTION

COMPRESSING DATA IN A WAY THAT CAN BE DECOMPRESSED BY THE DESTINATION DEVICE

SESSION LAYER

CREATE AND MINTAINS DIALOGS BETWEEN SOURCE AND DESTINATION APPLICATIONS

Client-Server Architecture: Clients

Communicated with server May be intermittently connected May have dynamic IP Address Do not communicate directly with each other

FTP

DEVELOPED TO ALLOW FOR DATA TRANSFERS BETWEEN A CLIENT AND A SERVER USED TO PUSH AND PULL DATA FRO FTP SERVER

SERVER

DEVICE RESPONDING TO A REQUEST

DNS

DEVICES ARE LABELED WITH IP ADDRESS TO SEND AND RECIEVE DATA OVER NETWORKS DNS WERE CREATED TO CONVERT NUMERIC ADDRESS TO SIMPLE RECOGNIZABLE NAME DEFINES AN AUTOMATED SERVICE THAT MATCHES RESOURCE NAMES WITH THE REQUIRED NUMERIC NETWORK ADDRESS

DHCP MESSAGE FORMAT IPV4

DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPACK

MESSAGE

DNS PROTOCOL COMMUNICATIONS USES A SINGLE FORMAT CALLED A

What Transport Service does an app need?

Data Integrity Timing (low delay) Throughput (min amount) Security (encryption, data integrity)

Data compression

Data compression is often required because bandwidth in wide area networks is a scarce (and hence expensive) resource, and some types of data (such as voice and video) require a large amount of bandwidth, although they use that bandwidth quite inefficiently. Typically voice and video signals (and to some extent also text) contain a large amount of redundant information and can be coded much more efficiently using data compression algorithms. These algorithms can either be lossy,9 where information cannot faithfully be reproduced at the receiver, or they can be lossless,10 where the quality of the information after decompression at the receiver is just as good as it was before it was compressed at the transmitter.

1 File Transfer Protocol (FTP)

File Transfer Protocol (FTP) was also one of the original Internet application protocols. It allows three different types of file (unstructured, structured and random) to be transferred over a network between one host and another using a set of simple commands. File transfers are now quite often carried out using HTTP rather than FTP, but FTP is still used not least when web pages are published to a web server. Most web publishing software uses FTP, although the details of it are hidden from the users and few web designers will be aware that they regularly use FTP.

The fundamental decision that designers of applications must take is which transport service to use. It is the transport service that supports the differing levels of service that might be required.

For internet applications, there is a choice between a reliable service using the Transmission Control Protocol (TCP) or an unreliable or best efforts service using the User Datagram Protocol (UDP). The reliable service uses a complex connection oriented transport protocol, and the unreliable service uses a simple connectionless transport service. The choice of what sort of transport service to use will have a huge effect on what functions are required in the application layer. It may seem strange at first to think that some application developers would prefer to use an unreliable transport service, but there are several reasons why this might be the best choice.

HTTP/1.0 Method Types

GET POST HEAD

HTTP/1.1 Method Types

GET POST HEAD PUT DELETE

HTTP MESSAGE TYPE

GET POST PUT

COMMON GNUTELLA APPLICATION

GTK GNUTELLA WIRESHARE SHAREAZA BEARSHARE

Web Caches (proxy server)

Goal is to satisfy client request without involving origin server Cache acts as both client and server Typically installed by ISP

SESSION LAYER

HANDLES THE EXCHANGE OF INFORMATION TO INITIATE DIALOGS KEEP THEM ACTIVE AND TO RESTART SESSIONS THAT ARE DISRUPTED OR IDLE FOR A LONG PERIOD OF TIME

DNS MESSAGE FORMAT

HEADER QUESTION ANSWER AUTHORITY ADDITONAL

COMMON APPLICATION LAYER PROTOCOL

HTTP FTP TFTP IMAP DNS

HTTP Status 505

HTTP Version Not Supported

Characters of http

HTTP and HTML were studied in a Level 1 unit. You are strongly advised to revise this material, as the remainder of this section on web protocols will assume this knowledge and build upon it. HTTP assumes a client server model for communications. The web browser acts as the client and requests web pages from the web server. The page is referenced by a Uniform Resource Locator (URL) which can be thought of as an application layer address. It defines the protocol to be used, the location of the server and the file to be transferred as well as the transport layer address to be used. A URL has the following structure: protocol://hostname/filename:port number13

Http and security

HTTP has a simple security mechanism that developers can implement to help prevent unauthorised access to web pages. A web page can be set up so that authorisation is required. In this case the web server prompts the client for a user name and password. The server requests a user name and password with a 405 Authorization Required Response and the browser prompts the user for this information. Once the browser has obtained a user name and password it resends the request but this time includes the user name and password in the request header. The server will then check this and if satisfied, will download the page. The browser will cache the user name and password and will automatically include them in any further requests to the server during that browser session.

Socket Programming with UDP

No "connection" between client and server Transmitted data may be lost or received out-of-order

HTTP 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 Non-Persistent HTTP response Time: 2RTT + file transmission time

List 6 Popular Internet Applications with their Application Layer Protocol and Underlying Transport Protocol.

1. *E-Mail* - SMTP - TCP 2. *Remote Terminal Access* - Telnet - TCP 3. *Web* - HTTP - TCP 4. *File Transfer* - FTP - TCP 5. *Streaming Multimedia* - HTTP (e.g. YouTube), RTP - TCP or UDP 6. *Internet Telephony* - SIP, RTP, Proprietary (e.g. Skype) - typically UDP

Addressing

Addressing is often thought of as a function of lower layer protocols, but many application protocols do require their own addressing function as well as having to pass down addresses to be used by lower layer protocols.

The client server model is well suited to using a connectionless transport service. If clients make occasional request to servers, then using a reliable connection-oriented service, such as that provided by TCP, can be very inefficient.

will be necessary to set up a connection and close it down afterwards. This will require a minimum of five packets and the server will have to hold state information in its memory about all the transport connections that are currently active. Communications operate much more efficiently, as do applications, if a connectionless transport service is used. There will only be a need for two packets to be exchanged and the server can minimise memory usage as it does not need to hold any state information about connections. If packets are lost or corrupted the application client simply retransmits its request.

HTTP Connections (2)

• *Non-persistent HTTP* - At most one object is sent over a TCP connection (HTTP/1.0) • *Persistent HTTP* - Multiple objects can be sent over single TCP connection between client and server. (HTTP/1.1)

What services does an application need? (4)

• *Reliable data transfer* = No data loss apps; Loss-tolerant apps • *Bandwidth* (transmission at certain rate) = Bandwidth sensitive, Elastic apps • *Timing* = some apps are time sensitive • *Security* = encryption, data integrity

Two types of HTTP messages

• *Request* = ASCII (human-readable format); request line (GET, POST, HEAD commands); header lines; carriage returns, line feed indicates end of message. • *Response* = status line; header lines; data e.g. requested HTML file

4 components of Cookies

• A cookie header line in the HTTP response message • A cookie header line in the HTTP request message • A cookie file kept on the user's end system and managed by the user's browser - to remember history (as HTTP is stateless) • A back-end database at the web site - to track user and how many times they visit

Port Number (6)

• A numeric value used as an identifier to applications and services on TCP/IP systems. • Can identify receiving process running in the host - One per process on host • 16 bit value • Server port is fixed (well-known) • Client port must be different for each flow • When a developer creates a new network application, the application must be assigned a new port number.

What is a well-known port (2) and 3 examples?

• A port which is known to be used primarily by a single application • Has been assigned by the Internet authorities to that application. • e.g. HTTP: 80; FTP: 21; SMTP: 25

Socket (API) (4)

• Application Programming Interface (API) • Interface between the application layer and the transport layer within a host • Each socket has an: Address; Port • Process sends/receives messages to/from its socket

What happens when a user requests a webpage (clicks on a hyperlink)? (5)

• Browser sends HTTP request messages for the objects in the page to the server • Client initiates TCP connection (creates socket) to server, port 80 • Server receives the requests -Server accepts TCP connection from client • HTTP messages that contain the objects are exchanged between browser (HTTP client) and Web server (HTTP server) • TCP connection closed

Client (5)

• Client sends a request • Uses the services of a server • May be intermittently connected • May have dynamic IP addresses • Do not communicate directly with each other

Transmission Control Protocol (TCP) (3)

• Connection-oriented: setup required between client and server processes • Email (SMTP), web (HTTP), file-transfer (FTP), remote terminal access (Telnet) • No guarantee minimum transmission rate and delay

User Datagram Protocol (UDP) (2)

• Connectionless • Tolerate some loss, but require a minimum rate = Real-time applications e.g., Internet telephony / Video conferencing

User Agent (4)

• Defines the program used by a user to interact with an network application. • Provides the interface between the application-layer protocol and the user. • Web: Web browser (e.g., IE) • Email: mail reader (e.g., outlook)

How to identify a HTTP Address? (3)

• Each connection is uniquely identified using the combination of the client socket and server socket, containing four elements: • Client IP address and port • + server IP address and port

Email over HTTP (4)

• Gmail, yahoo mail etc • Access to email from anywhere • Simply through a web browser • Slow, limited display capabilities

Web Caches (Proxy Server) (4)

• Goal: satisfy client request without involving origin server • Browser sends all HTTP requests to cache • Cache returns object or cache requests object from origin server, then returns object to client • Cache acts as both client and server

What reasons has web caching been deployed in the Internet? (4)

• Improve performance to end users • Reduce load on servers • Reduce bandwidth requirements • Reduce cost

IMAP (2)

• Internet Mail Access Protocol - IMAP4 • Stores email messages on a mail server, but allows the end user to view and manipulate the messages as though they were stored locally on the end user's computing device

Mail Access Protocols (3)

• POP: Post Office Protocol • IMAP: Internet Mail Access Protocol • HTTP

POP (3)

• Post Office Protocol - POP3 • POP3 is a client/server protocol in which e-mail is received and held for you by your Internet server. • Users can check your mail-box on the server and download any mail onto the end user's device when opened

What is meant by 'Stateless' (2)

• Server maintains no information about past client requests • Ask same object twice, resend as don't remember request

In order for a process on one host to send a message to a process on another host, the sending process must identify the receiving process. What kind of information needs to be specified? (2)

• The name or address of the host (*IP Address*) • An identifier that specifies the receiving process in the destination host. (*Port Number*)

E-Mail: SMTP (4)

• Uses TCP to reliably transfer email message from client to server, port 25 • Direct transfer: sending server to receiving server • Three phases of transfer: handshaking (greeting); transfer of messages; closure • Messages must be in 7-bit ASCII

Distinguish Application (4) and Application-Layer Protocol by giving examples (*WEB*)

• Web - allows users to obtain documents from web server on demand *Application* • HTML (Standard documents format) • Web Browsers • Web Servers • Web application-layer protocol *Application-layer protocol* • HTTP (HyperText Transfer Protocol)

Objects (4)

• Web page consists of Objects • Objects can be HTML file, JPEG image, audio file etc • If a page has some text and 3 images, then there are four objects. • Each object is addressable by a URL (Uniform Resource Locator)

Network Management Protocols (SNMP28 and CMIP)

Network management protocols is another area where there was a battle between Internet and ISO standards which was conclusively won by the Internet standards. Yet again the Internet developers chose to launch a simple but effective network management protocol which could be implemented quickly, while the ISO developers created a technically complex protocol that had many more functions and would take a long time to implement and debug.

Self-Scability

New peers bring new service capacity, as well as new service demands

Peer-to-Peer Architecture

No always-on server Arbitrary end systems directly communicate Peers request service from other peers, provide service in return to other peers Peers are intermittently connected and change IP Addresses

HTTP Status 200

OK - request suceeded

Post Office Protocol 3 (POP3)

One protocol that does this is Post Office Protocol 3 (POP3). The protocol has three phases. It has an authentication phase where the user is authenticated by a user name and password; a transaction phase where messages are downloaded from the mail server; and an update phase where the messages on the server will be deleted (if required) after they have been successfully downloaded to the client.

Ordered delivery

Ordered delivery is a function of a reliable transport or network service, but where an application is using an unreliable transport service, PDUs can be received in the wrong order as they can take different routes through the network. Where this happens, the application layer protocol must contain a sequence number field so that the application layer can determine if PDUs arrive out of order. The sequence numbers can also be used to request that lost PDUs are retransmitted, and to reorder them if necessary so that they can be handed in order to the appropriate application process or user agent. To do this the application layer needs to buffer the PDUs received, and therefore a certain amount of memory must be allocated for storing incoming PDUs while earlier PDUs are awaited.

Client Process

Process that initiates communication

Server Process

Process that waits to be contacted

CLIENT SERVER MODEL

THE CLIENT BEGINS THE EXCHANGE BY REQUESTING DATA FROM SERVER WHICH RESPONDS BY SENDING ONE OR MORE STREAMS OF DATA TO TEH CLIENT

APPLICATION

THE UPPER 3 LAYERS OF OSI MODEL DEFINE FUNCTIONS OF THE SINGLE TCP/IP APP LAYER

Inband signaling

Telnet command codes can be embedded in the data stream. To achieve this, a special escape character (FF in Hexadecimal) is required so that the receiver knows to interpret the next character(s) as a command code. Embedding control information like this within data is known as in-band signalling

Telnet not used

Telnet is not commonly used today because of security concerns, but it is still often used by network managers to remotely manage and configure routers. Network managers can make Telnet much more secure by configuring the routers to only accept Telnet sessions from known IP addresses, corresponding to the network management workstations.

Telnet relays

Telnet just relays any characters typed by a user to the remote host, and allows commands to be entered at the remote host as if they came from a local terminal. It then relays any characters sent in response back to the user. These characters will include any user name and password requests, but it should be noted that passwords will be transmitted as plaintext and the protocol therefore is not secure.

Telnet messags consist of

Telnet messages do not have application layer headers. They consist of the characters being typed by the user or sent by the server together with occasional command codes generated by the Telnet client or server.

Telnet

Telnet was one of the original Internet application protocols. It is an example of a virtual terminal protocol that allows users on a character-mode terminal (or more commonly these days on a PC running a terminal emulator) to log into and execute commands on a remote host using a command line interface. It uses a reliable TCP connection.

Application layer and reliable communication

The application layer will often provide reliable communications to the application processes, especially when the application layer makes use of an unreliable transport service. The application layer is the layer of last resort which must correct all the problems that have not been dealt with by the lower layers. The application layer must therefore, unless it is using a reliable transport service, be able to detect the loss, corruption and duplication of messages and be able to recover from these problems. It must also be able to control the flow of data if the receiver or the network cannot handle the rate of data being transmitted.

Connection control

The connection control function is required in all application protocols that make use of a connection-oriented transport service. The application layer must be able to establish connections prior to transmitting data and to close them when there is no more data to be transmitted. The application layer must identify and determine the availability of the application processes which wish to communicate and establish their authority to do so. It must also determine the mode of communication (simplex, half duplex or full duplex). A facility is also required so that connections can be reset or reinitialised to a known state should serious problems be encountered.

Protocol that used by FTP

The protocol actually makes use of two TCP connections: one for control commands and responses, and the other for actual file transfer. The control connection is left open for a whole FTP session, while the data connection is established to transfer a file and closed as soon as the file has been successfully received. This method of control using one connection for control and another for data is called out-of-band signalling as opposed to other protocols such as Telnet and HTTP which use in-band signalling. Because all control information in FTP is passed via the control connection, the data connection does not require any application layer headers and is a simple TCP connection.

Trivial File Transfer Protocol

There are some situations where a complex file transfer protocol is inappropriate. Some network devices, such as low-cost routers, do not have sufficient memory and processing capability to justify the implementation ofsuch a protocol, if it has to sit on top of a complex connection-oriented transport protocol. Also, between two hosts on the same LAN the probability of errors is quite remote and it may be preferable to use a lighter weight file transfer protocol

RTT

Time for a small packet to travel from client and server and back

Addressing Processes

To receive messages, processes must have an identifier which includes both and IP Address and Port Numbers associated with process on host

Connection used for commands

The connection used for commands actually uses the Telnet protocol to transfer commands and responses to the remote host. For security purposes, hosts normally require a user name and password to be entered for all Telnet sessions. But this would hinder general public FTP access to a site, as users would have to pre-register. A convention that developed for public FTP access was for public FTP servers to accept the user name 'anonymous', but not to perform a password check. Instead, anonymous users are expected to enter their email address as the password, so that the host can, if it wants, collect some details on the users of its public FTP service.

application client simply retransmits its request. • If applications are very security conscious, they will not trust the transport service or anything else that was developed or is managed by other partie

The designers of such applications will want to detect and recover from errors within the application itself. In this case, it would be pointless to replicate this functionality in the transport layer and it would be much more efficient to use an unreliable transport protocol.

Authentication (4)

• HTTP has some simple built in authentication • Request as normal - response is 401 (Authorisation required) • Client asks for username and password • Very weak.

Folders (2)

• Most Mail User Agents (MUAs) support folders - Where a folder contains a number of messages • Folders are stored on a Personal Machine/Local machine

Addressing Process (3)

• Sending process must identify the receiving process - use of IP address (32-bit quantity, uniquely identifies the host) • However, many processes can be running on the same host • Identifier includes both IP address and port numbers associated with process on host.

Electronic Mail Major Components (3)

• User agents • Mail servers • Simple mail transfer protocol: SMTP

Distinguish Application (3) and Application-Layer Protocol by giving examples (*EMAIL*)

*Application* • Mail servers • Mail Readers • E-mail application-layer protocol *Application-layer protocol* • SMTP (Simple Mail Transfer Protocol)

Application-Layer Protocol

Defines how an application's processes, running on different end systems, pass messages to each other

Telnet snd terminals

Telnet can support many different terminal types and translate between different character codes, if necessary. It does this by translating to a standard format, known as Network Virtual Terminal (NVT) for transmission acros the nereotks

VT

Virtual Terminal (VT) is the ISO equivalent protocol that offers similar functionality to Telnet, but like many other ISO protocols, it has found it difficult to compete with the protocols designed for use on the Internet.

Network Architecture (3)

• Design of a communications network • Refers to the organisation of the communication process into layers e.g. the five-layer Internet architecture. • How any network of any LAN or WAN is built

Application Architecture (2)

• Designed by an application developer and dictates broad structure of the application • How any application is built e.g. client-server or P2P

Server (5)

• *Server process:* process that waits to be contacted • Server sends a response • Provide a service for others to use • Always-on host • Permanent IP address

Flow control

Applications which do not make use of a reliable transport service will also require an end-to-end flow control mechanism so that the receiver can regulate the flow of data from the transmitter. To do this the application protocol header will require a sequence number and an acknowledgement f ield so that the receiver can acknowledge each PDU transmitted. It can then slow the rate of transmission by not acknowledging PDUs until it is ready to receive some more.

Encapsulation

Data from end users or other applications is encapsulated in an application layer PDU by prefixing the data with an application layer header specific to the application protocol.4

Data encryption

Data is often encrypted between application layer entities to ensure that it cannot be viewed or altered by third parties as it is transmitted across networks.

Interfaces in app layer

For user agents, the interface to the application layer is today likely to be a Graphical User Interface (GUI), such as that provided by the Windows operating system. It could also be a command line interface, as provided by DOS or Unix. Application layers may also provide services to other applications by means of an Application Programming Interface (API), which will provide a set of library functions that can be called from application programs.

User agent

If an application layer entity is providing a service direct to an end user, then the software that provides the interface between the end user and the networked application is described as a user agent.

eal time applications are more tolerant to packet loss than they are to delay. Losses of occasiona

Losses of occasional packets will not make much difference to audio or video transmissions, as losses are relatively infrequent and the applications can interpolate missing data, so that losses can be hidden from users. Delays, however, and particularly variable delays, do cause problems that can be observed by users. They can result in a jerky effect which is quite disconcerting. Using TCP, as we will discover later, does give rise to extremely variable delays, while delays with UDP are less severe and are more consistent.

Network application and client server model

Network applications are often implemented as client server systems. Under the client server model, the client only runs when it is required and initiates a request to the server and the server replies with a response.2 The server will typically handle requests from many clients and will run continuously. Both the user agent (client) and the server run application processes that work together via a network to deliver the application service to the end user.

Security

Security is often an important function of the application layer, as many applications will assume that all networks are insecure, and application layers sometimes prefer to implement security at this level, rather than make use of security functions within the transport and network layers. Schemes are required to authenticate the parties involved in the communication and to prevent any other parties from being able to read or alter the data being transmitted.

Service app layer nature

The precise service offered by the application layer will vary from application to application, but will often involve identification of the communicating partners and the agreement of the responsibility for error recovery, security aspects and data encoding. The application layer is also responsible for negotiating and meeting certain quality of service requirements for reliable data transfer, throughput or for delays. Some applications are loss tolerant while others are loss sensitive. Some applications are bandwidth sensitive

Web protocols (HTTP12 and HTML)

The world wide web, Hypertext Mark-up Language (HTML) and the Hyper-Text Transfer Protocol (HTTP) were all invented by Tim Berners-Lee at CERN in 1989. The world wide web is now the most important and widely used Internet application.

What does DNS Record Types do?

- DNS is a distributed database of Resource Records (RR)

How big can each label have for the DNS to read?

- Each label can be a max of 63 characters

What does Email mean?

- Electronic Mail

What is FTP?

- File Transfer Protocol

What does FTP do?

- Files can be sent-to or copied-from server

What does TFTP do?

- Files can be sent-to or copied-from server

What does Telnet and SSH do?

- General purpose virtual terminal emulator

What are the Top-Level domain (TDL) Servers?

- Generic domains: .com, .org, .net, .etc - Country domains: .ca, .uk, .fr, .etc - Special domains: .arpa

What do HTTP messages do?

- HTTP messages exchange between browser (client) and Web server

What are Authoritative DNS servers?

- Hostname to IP mapping for organizations named hosts - Can be maintained by organization or service provider

What is port 143?

- IMAP

What is the purpose for having DNS?

- IP addresses - Names (www.sait.ca) - DNS maps IP address to names - Distributed Database = No Centralization - Client/Server architecture

What are messages URIs use?

- Identifies Objects such as page, image, text file, sound clip, etc.

What do Clients have that's permanent?

- Initiate communications with server - Dynamic IP addresses - Intermittently connected - Does not communicate (directly) with each other

What does the Local DNS server do?

- Is a recursive server - Does not belong to hierarchy - Cashes any results of interest

What are Major components for Email?

- MUA (Outlook, Thunderbird, Firefox) - Mail servers - Delivery Protocol - Access Protocol

What does the CNAME do?

- Name = Alias name for some "canonical" name - Value = Canonical name

What does the MX do?

- Name = DNS domain name - Value = Name of mail for this domain

What does the NS do?

- Name = Domain (e.g. foo.com) - Value = Hostname of authoritative name server for this domain

What does the AAAA record do?

- Name = Hostname - Value = IPV6 address

What does Scalable mean in a Peer-to-Peer architecture?

- New peers bring new services capacity, as well as new service demands

What does Peer-to-Peer architecture have?

- No always-on server - Scalable - More complex management then Client-Server

What Protocols does Access have?

- POP(Post Office Protocol) - IMAP(Internet Mail Access Protocol) - HTTP (Gmail, Hotmail, Outlook, etc)

What are the different types of DNS queries?

- Recursive - Iterative

What are the two types of HTTP messages

- Request - Response

Output Stream

Is attached to an output source (monitor or socket)

Input Stream

Is attached to some input source for the process (keyboard or socket)

Ecoplexing requirement

It required a full-duplex link, but had the advantage of showing users when noise on the line was corrupting data. It is not well suited to modern packetswitched networks because there is a delay between typing a character and seeing it appear on the screen, and each character will be transmitted to and from the host in a single packet, incurring large protocol overheads. Also, with modern WAN links, the probability of characters being corrupted is quite low. Because of this, it is advisable to turn off the echo function at the remote server and enable a local echo at the client.

IMAP

Keeps all messages in one place: At the server Allows user to organize messages into folders Keeps user state across sessions

APPLICATION LAYER

LAYER CLOSEST TO END USER

MX

MAIL EXCHANGE RECORD

Mime

MIME defines a number of standard data types and sub-types.19 These MIME data types have become a standard in many Internet and other applications. SMTP assumes that mail servers operate continuously and are always available. If they are not available, the messages will be stored and forwarded when the mail server becomes available. Clients, however, are frequently not available, as users do not keep their mail clients running all day and often do not have a permanent connection to the Internet. For this reason SMTP is not well suited for delivering messages to clients. Instead, other protocols were designed to allow clients to connect to servers and request that messages are downloaded. Because these protocols were designed to work over dial-up networks, they also require security mechanisms to ensure that mail is being downloaded by valid users.

User Agent

Mail Reader Composing, editing, reading mail Messages Outlook, Thunderbird, iPhone mail client Outgoing and incoming messages are stored on the server

Mail Servers

Mailbox contains incoming messages Message Queue of outgoing mail messages (to be sent) SMTP Protocol between mail servers to send email messages

Message-Oriented Text Interchange Standard (MOTIS)

Message-Oriented Text Interchange Standard (MOTIS) is an ISO messaging standard. It is based on the ITU-T X.400 Message Handling Service (MHS) standard. This standard, unlike SMTP, is very complex and sophisticated and does many things that SMTP does not do. It has not been very successful and virtually all email today still uses SMTP. MOTIS/X.400 is perhaps too complex and users prefer the simplicity of SMTP, particularly with regard to email addresses. X.400 addresses consist of a set of keywords and values which are much harder to remember and more cumbersome to use than SMTP addresses.20

HTTP Status 301

Moved Permanently

Persistent HTTP

Multiple objects can be sent over a single TCP connection between client and server Server leaves connection open after sending response Takes as little as one RTT for all of the referenced objects

URL

NAMES MOST PEOPLE ASSOCIATE WITH WEB ADDRESSES

How many VTY connections can you have?

- Default is 5 simulations connections designated from 0 - 4 - More can be configured

What is DNS?

- Domain Name System

What does each peer have in Peer-to-Peer?

- Communicates directly with other peers - Requests service from other peers - Provides service to other peers - Intermittently IP addresses - Dynamic IP addresses

How does the Recursive DNS name resolution work?

- Contacted servers become clients and query the next server - Servers must be configured as recursive servers

What does Control is "in-Band" mean?

- Control info is "mixed in" with data

What is "Out-of-Band"?

- Control info separate from data - Client sends commands on TCP port 21 - Data is sent on TCP port 20

What does the Root and TLD Servers do?

- Are in the hierarchy - Are generally not recursive - Reply with referral

What does Recursive queries do?

- Ask server to get the answer for you - The complete answer to the query is returned - DNS servers are not required to support that kind of query

What are Cisco VTY Sessions

- Cisco devices call remote terminal connections "VTY" connections

What does the client the client server architecture have?

- Client - Server

How does Telnet work?

- Commands and data sent as plain text - Lack of security means it is primarily used for testing

How does SSH work?

- Commands and data sent encrypted - Device management sessions use SSH

What does Processes on different hosts mean?

- Communicate using sockets

P2P APPLICATION

ALLOWS DEVICE TO ACT AS BOTH CLIENT AN SERVER WITHIN THE SAME COMMUNICATION. THIS REQUIRE EACH DEVICE TO PROVIDE A USER INTERFACE AND RUN A BACKGROUND SERVICE

NSLOOKUP

ALLOWS USERS TO MANUALLY QUERY THE NAME SERVERS TO RESOLVE A GIVEN HOST NAME

NS

AN AUTHORITATIVE NAME SERVER

A

AN END DEVICE IPV4 ADDRESS

AAAA

AN END DEVICE IPV6 ADDRESS

.AU

AUSTRALIA

DYNAMIC ADDRESSING

AUTOMATES ADDRESSING

DHCP

AUTOMATES THE ASSIGNMEMT OF IPV4 ADDRESSES SUBNET GATEWAYS AND OTHER IPV4 NETWORKING PARAMETERS

Domain Name System (DNS)

Access to directories is required by a number of network functions, as well as by other applications. A directory service called the Domain Name System (DNS) was developed for the Internet to allow applications to use host names, and then for these host names to be translated (or resolved) into network layer addresses. In the early days of the Internet, the mapping between flat host names and network layer addresses was done via a text file that was centrally managed and then distributed to all the hosts on the Internet. This method soon became too unwieldy as the Internet grew in size, and an alternative method using a hierarchical, fully distributed system was devised called the Domain Name System.

GNUTELLA

EACH USER SHARES WHOLE FILES WITH OTHER USERS

COMMON P2P NETWORK APPLICATION

EDONKEY G2 BITTORRENT BITCOIN

PRESENTATION LAYER FUNCTION

ENCRYPTING DATA FOR TRANSMISSION AND DECRYPTING DATA UPON RECIEPT

Mail protocols (SMTP15, MIME16, POP317, IMAP18 and MOTIS

Electronic Mail was also one of the earliest Internet application protocols to be designed. It is a store and forward text messaging protocol supporting mail clients (user agents that send and receive messages) and mail servers that relay messages to each other and to and from mail clients. Email clients have five basic functions: • composition, which allows users to create messages • transfer, which allows users to transfer messages to and from the mail server • reporting, which allows the mail server to indicate such things as a message not having been delivered • displaying, which allows the mail client to display the headers of messages and their contents • disposition, which allows the user to delete messages or store them in folders. Email clients use two different protocols. One for sending messages to the mail server and one for retrieving messages from the mail server.

PRESENTATION LAYER FUNCTION

FORMATTING OR PRESENTING DATA AT THE SOURCE DEVICE INTO A COMPATIBLE FORM FOR RECIEPT BY THE DESTINATION DEVICE

Ftp use

FTP can convert between different character codes. It converts data to the same Network Virtual Terminal (NVT) codes as Telnet for transmission. Unlike HTTP, FTP cannot be a stateless protocol. The FTP server has to remember which connections belong to which FTP users, and also which current working directories each FTP user is using.

HTTP

Hypertext Transfer Protocol Web Application Layer Protocol Client/Server Model Uses TCP Is Stateless

POOL

IN DHCP ADDRESS FROM A CONFIGURED RANGE OF ADDRESSES CALLED _____

SECURE SOCKET LAYER

IN HTTPS DATA STREAM IS ENCRYPTED WITH _____

EMAIL

IS A STORE FORWARD METHOD OF SENDING STORING AND RETRIEVING ELECTRONIC MESSAGES ACROSS NETWORK

APPLICATION LAYER

IT IS THE LAYER THAT PROVIDES THE INTERFACE BETWEEN THE APPLICATIONS USED TO COMMUNICATE AND THE UNDERLYING NETWORK OVER WHICH MESSAGES ARE TRANSMITTED

APPLICATION LAYER PROTOCOL

IT IS USED TO EXCHANGE DATA BETWEEN PROGRAMS RUNNING ON THE SOURCE AND DESTINATION HOSTS

Process

Program running within a host Within the same host, two processes communicate using inter-process communication Processes in different hosts communicate by exchanging messages

QUESTION

QUESTION FOR NAME SERVER

COMMON PRESENTATION LAYER FILE FORMAT

QUICKTIME MPEG GIF JPEG PNG1

AUTHORITY

RECORDS RESOURCE POINTING TOWARD AN AUTHORITY

SMTP

REQUIRES A MESSAGE HEADER AND A MESSAGE BODY. CONNECTS TO PORT 25 TO SEND EMAIL. WHEN SERVER RECIEVES MSG EITHER PLACE MSG IN A LOCAL ACCOUNT OR FRORWARDS MSG TO ANOTHER MAIL SERVER. IF DESTINATION NOT AVAIL, SMTP SPOOLS MSGS AND ATTEMPTS TO SEND IT AGAIN, IF STILL NOT DELIVERED IN A PERIOD OF TIME IT IS RETURNED TO SENDER AS UNDELIVERABLE

ADDITIONAL

RESOURCE RCORDS HOLDING ADDITIONSL INFORMATION

ANSWER

RESOURCE RECORDS ANSWERING THE QUESTION

P2P HYBRID SYSTEM

RESOURCES SHARING IS DECENTRALIZED BUT THE INDEXES THAT POINT TO RESOURCE LOCATIONS ARE STORED IN A CENTRALIZED DIRECTORY

Why Web Caching

Reduces response time for client requests Reduces traffic on an institutions access link Internet is dense with caches

TCP Service

Reliable transport Flow Control Congestion Control Connection-Oriented setup required Does not provide: timing, min throughput, security

DOWNLOAD

SERVER TO CLIENT

DHCP MESSAGE FORMAT IPV6

SOLICIT ADVERTISE INFORMATION REQUEST REPLY

SMB MESSAGES CAN

START AUTHENTICATE AND TERMIANRE SESSIONS CONTROL FILE AND PRINTER ACCESS ALLOW AN APPLICATION TO SEND OR RECIVEVE MASSAGES TO AND FROM ANOTHER DEVICE

Stateless

Server maintains no information about past client requests

Socket Programming Basics

Server must be running before client can send anything Server must have a socket (door) through which it receives and sends segments Socket is locally identified with a port number Client needs to know server IP and socket port number

Services of application layer

Services The application layer is the layer that provides communications functions for a network application to serve an end user or another application program

Simple Mail Transfer Protocol (SMTP)

Simple Mail Transfer Protocol (SMTP) is used to transfer messages from a mail client (user agent) to a mail server (mail transfer agent) and is also used to transfer messages between mail servers. It is a very simple text based protocol. Messages comprise a set of headers and a body. There are two envelope headers which start with MAIL FROM:, used to identify the message originator and RCPT TO:, used to indicate the recipient(s) of the message. Unlike many more modern protocols, each envelope header is transmitted and acknowledged separately, rather than encapsulating the body. The message itself is prefixed by the keyword DATA followed by the text to be transmitted, but this also has its own headers such as FROM:, TO:, SUBJECT: and DATE: from which the envelope addresses are obtained. These headers are followed by a blank line and then the actual text of the message. The body is terminated by a new line with just a full stop on it andthen another new line. All bodies and headers are coded in 7-bit ASCII text. SMTP is not a real-time protocol. Messages are stored at clients and servers and forwarded at regular intervals using reliable TCP connections. SMTP PDUs do not really have application layer headers as normally understood. They consist of keywords followed by some data. SMTP does not offer any guarantees about delivery of messages, although it is quite robust and considered to be reliable.

Network File System (NFS)

Sometimes it will be more efficient to access files remotely rather than to transfer them in their entirety. A popular means of doing this is to use the Network File System (NFS), originally developed by Sun Microsystems for the Unix environment, but which has since been ported to most other commonly used environments. NFS allows physically remote directories to be mounted on local systems, so that the directories and their files appear to be local to the users. All the standard operations that are carried out by the Operating Systems on local directories and files are supported transparently on the remote directories and files. NFS is implemented using an application mechanism called Remote Procedure Calls (RPCs), also developed by Sun, where software that normally calls procedures on the local system can call equivalent procedures on the remote system. RPCs are implemented using a very simple protocol that packs the name of the procedure and any parameters required into a message using a coding system called External Data Representation (XDR). This is sent as a request to the remote system which unpacks it and calls the procedure. It then packs the return value and any other output parameters into a response message to be sent back to the calling system, which then returns these to the original calling process. NFS can use either TCP or UDP for its transport service but, because it is a simple client server application, it is best implemented on top of UDP. NFS is not very secure, but authentication services have been developed that offer improvements in this area. File Transfer Access and Management (FTAM) is the equivalent ISO protocol to FTP. It is not in common use today.

Functions of app layer

The main function of the application layer is to organise the necessary resources to allow an application process on one system to communicate with an application process on another system via a network. The application layer may also synchronise the application processes at both ends so that they can communicate successfully.

Original FTP

The original FTP implementations were command line interfaces for use on Unix hosts, and allowed users to view directories on remote hosts and the f iles they contained, change directories when necessary using Unix commands and then download or upload files between two hosts.24 FTP converts these user commands to standard FTP commands (three or four letter codes) which are sent via the control connection and elicit responses containing a three digit status code followed by some text from the server. Modern FTP implementation uses a graphical user interface where the local and remote directories can be viewed together and files to be transferred can be highlighted and then transferred by clicking an arrow button that indicates the direction of the transfer.

Compression

There are many different complex data compression algorithms used for coding data prior to transmission to conserve network capacity. All of them apart from Huffman Coding are beyond the scope of this syllabus. Huffman Codes use variable length codes for different symbols depending on how frequently they are used. The ASCII character set uses 8-bit codes (including a parity bit) to define all the characters of the alphabet and other characters. But some characters occur much more frequently than others. Huffman Codes allow more frequently used characters to be represented by fewer bits, and less frequently used characters to be represented by more bits. By doing this a significant reduction can be achieved in transmitting a large amount of text. But, if characters are represented by variable length codes there must be a clear method for determining the start and end of the code for each character. Huffman Codes do this in a clever way by coding each character as the path from the root to a leaf of a binary tree called a Huffman Tree. Thus messages can be encoded in an unambiguous way, so that the receiver can always decode the message and knows that when it reaches a leaf node, a character has been received.

Huffman tree

There are many different complex data compression algorithms used for coding data prior to transmission to conserve network capacity. All of them apart from Huffman Coding are beyond the scope of this syllabus. Huffman Codes use variable length codes for different symbols depending on how frequently they are used. The ASCII character set uses 8-bit codes (including a parity bit) to define all the characters of the alphabet and other characters. But some characters occur much more frequently than others. Huffman Codes allow more frequently used characters to be represented by fewer bits, and less frequently used characters to be represented by more bits. By doing this a significant reduction can be achieved in transmitting a large amount of text. But, if characters are represented by variable length codes there must be a clear method for determining the start and end of the code for each character. Huffman Codes do this in a clever way by coding each character as the path from the root to a leaf of a binary tree called a Huffman Tree. Thus messages can be encoded in an unambiguous way, so that the receiver can always decode the message and knows that when it reaches a leaf node, a character has been received.

App-Layer Protocol Defines

Types of Messages Exchanged Message Syntax Message Semantics Rules from when and how Processes send and respond to messages

HTTPS

UESD FOR SECURE COMMUNICATIONS ACROSS THE INTERNET

POST

UPLOADS DATA FILES TO THE WEB SERVER SUCH AS FORM DATA

PUT

UPLOADS RESOURCES OR CONTENT TO THE WEB SERVER SUCH AS AN IMAGE

APPLICATION PRESENTATION SESSION

UPPER 3 LAYERS OF OSI MODEL

TORRENT FILE

USED BY CLIENTS TO LOCATE OTHER USERS WHO HAVE PIECES THEY NEED

IMAP

USED TO RETIRIEVE EMAIL MESSAGES THE MESSAGES ARE MANUALLY KEPT IN THE SERVER UNTIL MANUALLY DELETED

POP

USED TO RETRIEVE MAIL FORM A MAIL SERVER. WITH POP MAIL IS DOWNLOADED FROM SERVER TO THE CLIENT AND THEN DELETED ON THE SERVER. THE SERVER STARTS THE POP SERVICE BY LISTENING TO TCP PORT 110 FOR CLIENT REQUEST WHEN A CLIENT WANT A SERVICE IT SENDS A REQUEST TO ESTABLISH TCP CONNECTION WITH SERVER WHEN CONNECTION IS ESTABLISHED POP SENDS A GREETING THE CLIENT AND THE SERVER NOW EXCHANGE REQUESTS UNTIL CONNECTION IS ABORTED

UDP Service

Unreliable data transfer Does not provide: reliability, flow control, congestion control, timing, throughput, security or connection setup

Electronic Mail Components

User Agents Mail Servers Simple Mail Transfer Protocol: SMTP

POP3 Download and delete

User cannot re-read email if they change the clinet

POP3 Protocol

Uses Authorization Phase and Transaction Phase Is stateless

URL Method

Uses GET Method Input is uploaded in the URL field of Request Line

Electronic Mail: SMTP

Uses TCP to reliably transfer email messages on port 25 Direct Transfer Command/Response Interaction Messages must be in 7-bit ASCI

VTP

Virtual terminal protocols (Telnet,11 SSH and VT)

HTTP

WHEN A URL IS TYPED, THE WEB BROWSER ESTABLISHED A CONNECTION TO A WEB SERVER RUNNING ON THE SERVER USING THESE PROTOCOLS

POST Method

Web page often includes form input input is uploaded to server in the entity body

Error control

Where an application is using an unreliable transport service (or where the application does not trust a reliable transport service), the application must perform its own error detection and recovery. This will require a redundant error checking field in the application protocol header as well as sequence number and acknowledgement fields, so that the application layer can check that all the PDUs have been received and so that retransmission can be requested and PDUs re-ordered if necessary.

Creating a Network App

Write Programs that: Run on different end systems Communicate over the Network No need to write software for network-core devices

Trivial file

disc-less work station, which has to download all its software from a server over a LAN, is a good example of a situation where only a light-weight file transfer protocol is desirable. Trivial File Transfer Protocol (TFTP) is such a protocol. As its name implies, it is extremely simple. It uses UDP as its transport service and provides quite a thin application layer. Each application layer message has to be explicitly acknowledged before another message can be sent. Each TFTP message carrying data contains an application header that includes a sequential block number. The receiver will then acknowledge the receipt of the message with an acknowledgement message that contains the block number. The transmitter will re-transmit a message if an acknowledgement is not received before a timeout expires. Unlike FTP, TFTP only supports file transfer. It does not support any interaction to locate files in directories. The files and the direction of transfer are specified in the command line that is used to call TFTP. TFTP also has no facility for authenticating users. For security purposes, network managers should therefore only allow TFTP traffic to and from known IP addresses. TFTP is often used by network managers to download or upload router configurations and software.


Kaugnay na mga set ng pag-aaral

Chapter 55: Management of Patients With Urinary Disorders Prep-U

View Set

Chapter 11: Biodiversity and Conservation Biology

View Set

Anatomy Exam 1 Review Kahoot questions

View Set

Unit 1 - AP Environmental Science

View Set

Intro to Pharmacology- ATI Quiz Questions

View Set

edapt, health and wellness, chapter 10, family influences on health

View Set

Fundamentals - Archer Review (1/3) - Safety/Infection Control

View Set