CSE 677: Introduction to Computer Networking. Application Layer. Presentation H. Domain Name System DNS

Similar documents
2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

Networking Applications

Applications and Services. DNS (Domain Name System)

Chapter 26 Remote Logging, Electronic Mail, 26.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Electronic Mail

File Transfer Protocol (FTP) Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Fall 2007, TAIWAN

Chapter 2 Application Layer. Lecture 5 FTP, Mail. Computer Networking: A Top Down Approach

APPLICATION LAYER: TELNET, . By Nidhi Jindal

1 Introduction: Network Applications

Remote login (Telnet):

FTP and . Computer Networks. FTP: the file transfer protocol

FTP: the file transfer protocol

CS43: Computer Networks . Kevin Webb Swarthmore College September 24, 2015

DATA COMMUNICATOIN NETWORKING

The Application Layer. CS158a Chris Pollett May 9, 2007.

Protocolo FTP. FTP: Active Mode. FTP: Active Mode. FTP: Active Mode. FTP: the file transfer protocol. Separate control, data connections

Remote Logging. Tanveer Brohi(14cs28)

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP - Message Format. The Client/Server model is used:

The Application Layer: DNS

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:

FILE TRANSFER PROTOCOL INTRODUCTION TO FTP, THE INTERNET'S STANDARD FILE TRANSFER PROTOCOL

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

Internet Technology 2/13/2013

TOE2-IP FTP Server Demo Reference Design Manual Rev1.0 9-Jan-15

What really is a Service?

Domain Name System (DNS)

CPSC Network Programming. , FTP, and NAT.

Introduction to Computer Networks

CSCI-1680 SMTP Chen Avin

Lecture 28: Internet Protocols

Application-layer Protocols

Device Log Export ENGLISH

Chakchai So-In, Ph.D.

Collax Mail Server. Howto. This howto describes the setup of a Collax server as mail server.

IBM i. Networking . Version 7.2

EXPLORER. TFT Filter CONFIGURATION

SME- Mail to SMS & MMS Gateway with NowSMS Quick Start Guide

Chapter 11. User Datagram Protocol (UDP)

Forouzan: Chapter 17. Domain Name System (DNS)

OCS Training Workshop LAB14. Setup

Chapter 25 Domain Name System Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

Internet Security [1] VU Engin Kirda

Transport and Network Layer

File Transfer Protocol (FTP) & SSH

Application Example: WWW. Communication in the WWW. WWW, HTML, URL and HTTP. Loading of Web Pages. The Client/Server model is used in the WWW

Objectives of Lecture. Network Architecture. Protocols. Contents

19 Domain Name System (DNS)

Transport Layer Protocols

This sequence diagram was generated with EventStudio System Designer (

Appendix. Web Command Error Codes. Web Command Error Codes

Using over FleetBroadband

Computer Networks - CS132/EECS148 - Spring

. MIME is the protocol that was devised to allow non-ascii encoded content in an and attached files to an .

FTP protocol (File Transfer Protocol)

Internet Services. Sadiq M. Sait, Ph.D

Wireshark DNS. Introduction. nslookup

Issue 2EN. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Integrated Migration Tool

How do I get to

How do I load balance FTP on NetScaler?

FTP: the file transfer protocol

Table of Contents. Electronic mail. History of (2) History of (1) history. Basic concepts. Aka (or according to Knuth)

Internet Concepts. What is a Network?

1 Data information is sent onto the network cable using which of the following? A Communication protocol B Data packet

Implementing MDaemon as an Security Gateway to Exchange Server

Monitoring and Troubleshooting Microsoft Exchange Server 2007 (5051A) Course length: 2 days

Network Services. SMTP, Internet Message Format. Johann Oberleitner SS 2006

Networking Test 4 Study Guide

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

U.S. Department of Education 1998 Electronic Access Conferences

Fundamentals of UNIX Lab Networking Commands (Estimated time: 45 min.)

Transferring Your Internet Services

The exam has 110 possible points, 10 of which are extra credit. There is a Word Bank on Page 8. Pages 7-8 can be removed from the exam.

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

Mail Programs. Manual

Ethernet. Ethernet. Network Devices

FTP e TFTP. File transfer protocols PSA1

Quick Scan Features Setup Guide

Introduction to LAN/WAN. Application Layer (Part II)

Quick Scan Features Setup Guide. Scan to Setup. See also: System Administration Guide: Contains details about setup.

, SNMP, Securing the Web: SSL

MailStore Server 5.0 Documentation

Using Avaya Aura Messaging

Protocols and Architecture. Protocol Architecture.

Parallels Plesk Panel

Teldat Router. DNS Client

Configuring your client to connect to your Exchange mailbox

File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Transcription:

CSE 677: Introduction to Computer Networking Application Layer Presentation H Study: 22.1, 23.1 Kannan Srinivasan 11-01-2012 Domain Name System DNS To identify a remote computer, TCP/IP protocols use the IP address, which uniquely identifies the connection of a host to the Internet. However, people prefer to use names instead of numeric addresses. Therefore, we need a system that can map a name to and address (or an address to a name) One solution would be to store all Name/IPaddress pairs in a single computer and allow access to this centralized information to every computer that needs mapping. But this would create huge amount on the Internet the whole system will stop if the central computer is down DNS uses approach where this huge amount of information is divided into smaller parts and each part is stored in a different computer. The host that needs mapping can contact its closest computer holding the needed information. g. babic Presentation H 2 1

Mapping the Host Name to an IP Address Assume that a user wants to use a file transfer client to access the corresponding file transfer server running on a remote host. The following steps map the remote host name to an IP address: 1. The user passes the host name to the file transfer client, 2. The file transfer client passes the host name to its name resolver, i.e. its (local) DNS client, 3. Each computer has to learn (usually at its booting time) the IP address of one DNS server. The DNS client sends a message to a DNS server with the remote host name, 4. The DNS server responds with IP address of the desired file transfer server, 5. The DNS client passes the IP address to the file transfer client, 6. The file transfer client now can use the received IP address to access the file transfer server. g. babic Presentation H 3 DNS in the Internet To be unambiguous, the names assigned to the computers must be carefully selected form a name space with complete control over the binding between names and IP addresses. The Internet uses a hierarchical name space, where each name is made of several parts. The first part can define the nature of organization, the second part can define the name of organization, the third part can define departments in the organization, and so on. In the Internet, the domain name space is divided into: 1. Generic domains define registered hosts according to their generic behavior, e.g. com, edu, gov, org. 2. Country domains use two-character country abbreviations, e.g. us for United States. 3. Inverse domains are used to map an address to a name. g. babic Presentation H 4 2

Portion of Internet Domain Tree Figure 23.1 g. babic Presentation H 5 Recursive and Iterative Resolution Recursive Resolution: The client (resolver) can ask for recursive answer from a server, meaning the resolver expects the server to supply the final answer. If the server is the authority for the name, it checks database and responds. If the server is not the authority, it sends the request to another server and waits for the response. If this server is authority, it response; otherwise, it sends the query to yet another server. Interactive Resolution: If the client does not ask for a recursive answer, the mapping can be done iteratively. If the server is an authority for the name, it sends the answer. If it is not, it returns to the client the IP address of the server that it thinks can resolve the query. The client is responsible for repeating the query to this second server. If the newly addressed server can resolve the problem, it answers the query with the IP address; otherwise, it returns the IP address of a new server to the client and now the client must repeat the query to the third server, and so on. g. babic Presentation H 6 3

Recursive Resolution Figure 23.3 g. babic Presentation H 7 DNS Protocol DNS can use either UDP or TCP. In both cases the well known port used by the server is port 53. UDP is used when the size of the response message is less than 512 bytes because most UDP packages don t support more than 512 bytes (and this is a most usual case), while a TCP connection has to be used when response message is longer. In Unix and Windows, the nslookup utility can be used to retrieve IPaddress/Name mapping. E.g. the command: >nslookup cse.ohio-state.edu produces the following respose: Server: cse.ohio-state.edu Addresses: 164.107.112.224, 164.107.114.11, 164.107.114.70 g. babic Presentation H 8 4

File Transfer Protocol - FTP File Transfer Protocol (FTP) is the standard protocol provided by TCP/IP for copying a file from one host to another. Although it may seems simple, there are many issues to resolve, e.g. two systems may have different ways to represent text and data or two systems may have different directory structure. FTP establishes two TCP connections between hosts; one is used for data transfer, the other for control information (commands and responses). This separation makes FTP more efficient. The control connection uses very simple rules of communication, since we need only a transfer of a line of command or a line of response at a time. The data connection, on the other hand, needs more complex rules due to the variety of data types transferred. Well known port 21 is used for the control connection and port 20 is used for the data connection. g. babic Presentation H 9 The Control Connection The control connection remains connected during the entire interactive FTP session. The data connection is opened and then closed for each file transferred. It opens each time when commands that involve transferring files are used, and it closes when the file is transferred. Thus, while the control connection is open, the data connection can be opened and closed multiple times if several files are transferred. The control connection is created in the same way as any other application program: 1. The server issues a passive open on the well-known port 21 and waits for a client. 2. The client uses an ephemeral port and issues an active open, i.e. initiates TCP connection with the server. For control connection, FTP uses simple 7-bit NVT ASCII character set (NVT Network Virtual Terminal). g. babic Presentation H 10 5

One command is sent at a time and response follows. Each line is terminated with a two-character sequence (carriage return and line feed). Examples of commands: RETR file_name(s) retrieve file(s); files are transferred from server to client STOR file_name(s) store file(s); file(s) are transferred from client to server CWD directory_name change to another directory LIST directory_name list subdirectories and files PASS user_password password USER user_id user information PORT port_id client chooses port TYPE x defines file type STRU x defines data organization QUIT logout of the system g. babic The Control Connection: Commands Presentation H 11 The Control Connection: Responses Every FTP command generates at least one response. A response has two parts: a three digit number followed by text. The number part defines the code, while text part defines needed parameters or extra explanations. Examples of response codes with description: 220: Service ready 225: Data connection open 250: Requested file action OK 200: Command OK 331: User name OK; password needed 230: User login OK 226: Closing data connection 500: Syntax error 425: Cannot open data connection 221: Service closing g. babic Presentation H 12 6

The Data Connection The following steps show how FTP creates a data connection: 1. The client, not the server, issues a passive open using an ephemeral port. This has to be done by client because it is the client that issues commands for transferring files 2. The client sends this port number to the server using PORT command 3. The server receives the port number and issues an active open using the well-known port 20 and the received ephemeral port number Before file transfer starts over the data connection, the client must define: file type: A (ASCII file), E (EBCDIC) file or I (image file) data structure: F (no structure; default), R (record structure) or P (page structure) transmission mode: stream mode, block mode, or compressed mode g. babic Presentation H 13 Example of Using FTP for Retrieving File Client Server 220 (service ready) After TCP conn. estab. USER kannan 331 (user name OK) PASS xxxxx 230 (user login OK) PORT 1333 225 (data connection open) TYPE F 200 (command OK) STRU I 200 (command OK) RETR /usr/class/cis677/lab3new/lab3.demo 250 (requested file action OK) data transfer from server; messages sent through data connection 226 (closing data connection) QUIT 221 (service closing) g. babic Presentation H 14 7

Electronic Mail Electronic mail allows users to exchange messages, but its nature is quite different from other applications. In application such as FTP, the server program is running all the time waiting for request from a client and when the request arrives, the server provides the services. Thus, there is a request and a response. In the case of electronic mail, situation is different. First, e-mail is in general a one-way transaction. When A sends e-mail to B, A may expect a response, although it is not mandatory. B may or may not respond, and if B does respond, it is another one-way transaction. Also, it is neither feasible nor logical to expect for an intended recipient to be on-line all the time. This means that for electronic mail the idea of client/server programming should be implemented in another way: using some intermediate servers. g. babic Presentation H 15 Simple Mail Transfer Protocol Simple Mail Transfer Protocol (SMTP) can deliver only simple text messages and it is limited to transfer of messages between sender and receiver. Thus, its main function is to transfer messages and the rest of mail handling is beyond scope of SMTP and may differ between systems. E-mail message is created by user agent program (UA), and it consists of an envelope and a message: the envelope includes the sender and receiver addresses the message contains the header (it defines recipient s address, the subject and some other info) and the body (it contains actual information to be read by recipient) Example of command-driven UA program: mail, pine and elm. Examples of GUI based UA program: Outlook and Eudora. Then an e-mail message is transferred by SMTP client to SMTP server sender. g. babic Presentation H 16 8

SMTP Mail Flow Envelope Envelope Envelope Envelope message Figure 22.1 with additions in red g. babic Presentation H 17 SMTP Sender SMTP uses information written on envelope of mail, and does not look at contents of header and message body, except it requires usage of 7-bit VNT ASCII code (and certain log information). SMTP sender takes a message from its queue and transmits it to the proper destination server (SMTP receiver) or servers (if a message has multiple receivers) over one or more TCP connections (multiple senders may be active if multiple receivers) to port 25, when delivery complete, sender deletes destination from list for that message and when all destinations processed, message is deleted optimization: if a message destined for multiple users on a given host send it only once and delivery to users handled at the destination server optimization: if multiple messages ready for given server, a single TCP connection can be used and thus saves overhead of setting up and dropping connection g. babic Presentation H 18 9

SMTP Receiver SMTP server receiver accepts arriving message, places in user mailbox or copies to outgoing queue for forwarding SMTP server receiver must: verify local mail destinations deal with errors SMTP server sender is responsible for message until SMTP server receiver confirm complete transfer, which only indicates that e-mail message has arrived at the server, not user SMTP system mostly does direct transfer from SMTP sender to SMTP receiver It may also go through intermediate SMTP servers via forwarding capability target user may have moved sender can specify route g. babic Presentation H 19 The Common E-Mail Architecture Email client (e.g. laptop) Email client (e.g. laptop) UA user agent MTA Client LAN/WAN LAN/WAN MAA Client UA User agent MTA Message Transfer Agent MTA Server MAA Server MAA Message Access Agent Boxes MTA Client SMTP Sender Internet MTA Server SMTP Receiver Some websites (Hotmail, Yahoo and Google) provide web-based mail and that e-mail architecture is somewhat different from one above. g. babic Presentation H 20 10

Message Access Agent: POP and IMAP The first and second stage of mail delivery uses SMTP, but it is not appropriate for the last stage SMPT is a push protocol, since it pushes the message from the client to the server The third stage needs a pull protocol, since the client must pull messages from the server. Internet MTA client SMTP SMTP SMTP SMTP POP3 or sender receiver IMAP4 MAA client Currently two message access protocols are available: Post Office Protocol, version 3 (POP3) and Internet Mail Access Protocol, version 4 (IMAP4) g. babic Presentation H 21 Multi-purpose Internet Mail Extension SMTP has limitations: can not transmit executables can not transmit text including international characters (e.g. â, å, ä, è, é, ê, ë) servers may reject mail over certain size ASCII to EBCDIC translation not standard Multi-purpose Internet Mail Extension (MIME) can deliver other types of data: voice, images, video clips UA Non-ASCII MIME 7-bit NVT ASCII E-mail System 7-bit NVT ASCII Non-ASCII MIME UA g. babic Presentation H 22 11