Network Applications: Overview, Y. Richard Yang 1/27/2016.

Slides:



Advertisements
Similar presentations
Introduction 2 1: Introduction.
Advertisements

Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
1 Electronic Mail u Three major components: u user agents u mail servers u simple mail transfer protocol: SMTP u User Agent u a.k.a. “mail reader” u composing,
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Layer Aplikasi Risanuri Hidayat. Applications and application-layer protocols Application: communicating, distributed processes –e.g., , Web, P2P.
CPSC 441: FTP & SMTP1 Application Layer: FTP & Instructor: Carey Williamson Office: ICT Class.
Electronic Mail and SMTP
Ftp: File Transfer Protocol  ftp specification: RFC 959 ( file transfer FTP server FTP user interface FTP client local.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
Chapter 30 Electronic Mail Representation & Transfer
Esimerkki: Sähköposti. Lappeenranta University of Technology / JP, PH, AH Electronic Mail Three major components: user agents mail servers simple mail.
Simple Mail Transfer Protocol
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Mail Server Fitri Setyorini. Content SMTP POP3 How mail server works IMAP.
The Application Layer  application and application requirements  sample network applications and protocols  SMTP, POP3  WWW: http1.1  teleconferencing.
Electronic Mail Three major components: SMTP user agents mail servers
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
1: Introduction1 Part I: Introduction Goal: r get context, overview, “feel” of networking r more depth, detail later in course r approach: m descriptive.
2: Application Layer1 Chapter 2 Application Layer These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
Electronic Mail (SMTP, POP, IMAP, MIME)
Process-to-Process Delivery:
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
SMTP, POP3, IMAP.
1 Application Layer Lecture 5 Imran Ahmed University of Management & Technology.
Trying out HTTP (client side) for yourself
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
CSE401N: Computer Networks Lecture-5 Electronic Mail S. M. Hasibul Haque Lecturer Dept. of CSE, BUET.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Intro to Computer Networks Bob Bradley The University of Tennessee at Martin.
Review: –How do we address “a network end-point”? –What services are provided by the Internet? –What is the network logical topology observed by a network.
Application Layer Protocols Simple Mail Transfer Protocol.
Lecturer: Maxim Podlesny Sep CSE 473 File Transfer and Electronic in Internet.
DNS,SMTP,MIME.
Throughput: Internet scenario
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
2: Application Layer1 Reminder r Homework 1 for Wednesday: m Problems #3-5,11,16,18-20 m Half of the problems will be graded r Feel free to send me .
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
File Transfer Protocol (FTP)
1 9/18/2009 Network Applications and Network Programming: + DNS.
Network Applications: Overview, Y. Richard Yang 9/10/2013.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
The Transport Layer application transport network data link physical application transport network data link physical application transport network data.
1 End-user Protocols, Services and QoS. 2 Layering: logical communication application transport network link physical application transport network link.
1 SMTP - Simple Mail Transfer Protocol –RFC 821 POP - Post Office Protocol –RFC 1939 Also: –RFC 822 Standard for the Format of ARPA Internet Text.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
Network Applications 9/14/ Outline  Recap r ISO/OSI Layering and Internet Layering r Application layer overview r Examples.
Network Applications 9/14/ Outline  Recap r ISO/OSI Layering and Internet Layering r Application layer overview r Examples.
Slides based on Carey Williamson’s: FTP & SMTP1 File Transfer Protocol (FTP) r FTP client contacts FTP server at port 21, specifying TCP as transport protocol.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
World Wide Web r Most Web pages consist of: m base HTML page, and m several referenced objects addressed by a URL r URL has two components: host name and.
COMP 431 Internet Services & Protocols
Network Applications: DNS Y. Richard Yang 2/1/2016.
Network Applications 1/19/ Outline  Recap r ISO/OSI Layering and Internet Layering r Application layer overview.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Spring 2006 CPE : Application Layer_ 1 Special Topics in Computer Engineering Application layer: Some of these Slides are Based on Slides.
Network Applications 9/14/ Outline  Recap r ISO/OSI Layering and Internet Layering r Application layer overview.
درس مهندسی اینترنت – مهدی عمادی مهندسی اینترنت برنامه‌نویسی در اینترنت 1 SMTP, FTP.
SMTP - Simple Mail Transfer Protocol POP - Post Office Protocol
Introduction to Networks
Slides taken from: Computer Networking by Kurose and Ross
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Introduction to Networks
Process-to-Process Delivery:
Chapter 2: Application layer
Internet and Intranet Protocols and Applications
The Application Layer: SMTP, FTP
Network Applications: Overview,
Chapter 2 Application Layer
Part II Application Layer.
Presentation transcript:

Network Applications: Overview, Y. Richard Yang 1/27/2016

2 Outline  Admin and recap r ISO/OSI Layering and Internet Layering r Application layer overview r Network applications m

3 Admin r Questions on Assignment One

4 Recap: Summary of the Taxonomy of Communication Networks circuit-switched network communication network switched network broadcast communication packet-switched network datagram network virtual circuit network

5 Recap: Statistical Multiplexing r no reservation: all arrivals into the single link with rate R, the queueing delay + transmission delay: r reservation: each flow uses its own reserved (sub)link with rate R/n, the queueing delay + transmission delay: A simple model to compare bandwidth efficiency of - reservation/dedication (aka circuit-switching) and - no reservation (aka packet switching) setup - a single bottleneck link with rate R - n flows; each flow has an arrival rate of a/n

Recap: Layering r Why layering r reference model r modularization r Concepts r service, interface, and protocol r physical vs logical communication r Key design decision: what functionalities to put in each layer: End-to-end arguements 6

7 Outline r Recap  ISO/OSI Layering and Internet Layering r Application layer overview

8 ISO/OSI Reference Model r Seven layers m lower three layers are hop-by-hop m next four layers are end-to-end (host-to-host) Application Presentation Session Transport Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium

9 Internet Layering r Lower three layers are hop-by-hop r Next two layers are end-to-end Application Transport Network Datalink Physical Application Transport Network Datalink Physical Network Datalink Physical Physical medium

10 Internet Protocol Layers r Five layers m Application: specific network applications ftp, smtp, http, p2p, IP telephony, … m Transport: host-host data transfer tcp (reliable), udp (not reliable) m Network: routing of datagram from source to destination ipv4, ipv6 m Link: data transfer between neighboring network elements ethernet, , cable, DSL, … m Physical: bits “on the wire” cable, wireless, optical fiber application transport network link physical

11 The Hourglass Architecture of the Internet network infrastructure end users IP EthernetCable/DSLWireless TCP UDP Telnet FTPWWW

12 Link Layer (Ethernet) r Services o multiple access control - arbitrate access to shared medium o multiplexing/demultiplexin g - from/to the network layer o error detection r Interface o send frames to a directly reachable peer IP4/6 Ethernet Cable/DSL Wireless TCP UDP Telnet FTPWWW

13 Link Layer: Protocol Header (Ethernet) IP4/6 Ethernet Cable/DSL Wireless TCP UDP Telnet FTPWWW IP4/6 Ethernet Cable/DSL Wireless TCP UDP Telnet FTPWWW IP4 link IP6 IP4 link IP6

14 Network Layer: IP r Services o routing: best-effort to send packets from source to destination o multiplexing/demultiplexing from/to the transport o fragmentation and reassembling: partition a fragment into smaller packets - removed in IPv6 o error detection o certain QoS/CoS o does not provide reliability or reservation  Interface: o send a packet to a (transport-layer) peer at a specified global destination, with certain QoS/CoS IP EthernetCable/DSLWireless TCP UDP SSL Telnet FTPWWW

IP EthernetCable/DSLWireless TCP UDP SSL Telnet FTPWWW IP EthernetCable/DSLWireless TCP UDP SSL Telnet FTPWWW 15 Network Layer: IPv4 Header

16 Services Provided by UDP r A connectionless service r Does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee m why is there a UDP? IP EthernetCable/DSLWireless TCP UDP Telnet FTPWWW

17 Transport Layer: UDP Header IP EthernetCable/DSLWireless TCP UDP Telnet FTP WWW IP EthernetFDDIWireless UDP TCP Telnet FTPWWW

18 Transport Layer: TCP r Services o multiplexing/demultiplexing o reliable transport o between sending and receiving processes o setup required between sender and receiver: a connection- oriented service o flow control: sender won’t overwhelm receiver o congestion control: throttle sender when network overloaded o error detection o does not provide timing, minimum bandwidth guarantees  Interface: o send a packet to a (app-layer) peer IP EthernetFDDIWireless TCP UDP Telnet FTPWWW

19 Transport Layer: TCP Header IP EthernetCable/DSLWireless UDP TCP Telnet FTP WWW IP EthernetFDDIWireless TCP UDP Telnet FTPWWW

Secure Socket Layer Architecture HTTP POP3

SSL Record-Layer Packet Format 20: change_cipher 21: alert 22: handshake 23: application

22 Summary: The Big Picture of the Internet r Hosts and routers: m ~ 1 bil. hosts (July 2015) m autonomous systems organized roughly hierarchical m backbone links at 100 Gbps r Software: m datagram switching with virtual circuit support at backbone m layered network architecture use end-to-end arguments to determine the services provided by each layer m the hourglass architecture of the Internet IP4/6 EthernetCable/DSLWireless TCP UDP Telnet FTPWWW SSL

23 Protocol Formats

24 Outline r Recap r ISO/OSI Layering and Internet Layering  Application layer overview

25 Application Layer: Goals r Conceptual + implementation aspects of network application protocols m client server paradigm m peer to peer paradigm m network app. programming r Learn about applications by examining common applications m smtp/pop m dns m http m content distribution

26 How does an Application Access the Transport Service? API: application programming interface r Defines interface between application and transport layer r Multiple APIs proposed in history m XTI (X/Open Transport Interface), a slight modification of the Transport Layer Interface (TLI) developed by AT&T. r Commonly used: Socket API m sometimes called "Berkeley sockets" acknowledging their heritage from Berkeley Unix m a socket has a network-layer host IP address and a transport- layer local port number e.g., (SMTP) port number 25, web port number 80 m an application process binds to a socket %netstat or lsof m two processes communicate by sending data into socket, reading data out of socket

27 Socket API buffers, states buffers, states transport protocol

28 App. and Trans.: App. Protocols and their Transport Protocols Application remote terminal access Web file transfer Internet telephony remote file server streaming multimedia Application layer protocol smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietary (e.g., Vocaltec) NFS proprietary Underlying transport protocol TCP/SSL TCP TCP/SSL TCP typically UDP TCP or UDP typically UDP but moving to http r An application needs to choose the transport protocol

29 Network Applications vs. Application-layer Protocols Network application: communicating, distributed processes m a process is a program that is running within a host a user agent is a process serving as an interface to the user –web: browser –streaming audio/video: media player m processes communicate by an application-layer protocol e.g., , Web Application-layer protocols m one “piece” of an app m define messages exchanged by apps and actions taken m implementing services by using the service provided by the lower layer, i.e., the transport layer application transport network data link physical application transport network data link physical

30 Client-Server Paradigm Typical network app has two pieces: client and server application transport network data link physical application transport network data link physical Client (C): r initiates contact with server (“speaks first”) r typically requests service from server r for Web, client is implemented in browser; for , in mail reader Server (S): r provides requested service to client r e.g., Web server sends requested Web page; mail server delivers request reply

31 Client-Server Paradigm: Key Questions application transport network data link physical application transport network data link physical request reply Key questions to ask about a C-S application - Is the application extensible? - Is the application scalable? - How does the application handle server failures (being robust)? - How does the application provide security?

32 Electronic Mail Three major components: r User agents r Mail servers r Protocols m Outgoing SMTP m Retrieving POP3: Post Office Protocol [RFC 1939] IMAP: Internet Mail Access Protocol [RFC 1730] user mailbox outgoing message queue mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP POP3 or IMAP SMTP r Still active m 80B s/day m 3.9B active boxes

33 SMTP: Outgoing as a Client- Server Application S: 220 mr1.its.yale.edu C: HELO cyndra.yale.edu S: 250 Hello cyndra.cs.yale.edu, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Date: Wed, 23 Jan :20: (EST) C: From: "Y. R. Yang" C: To: "Y. R. Yang" C: Subject: This is subject C: C: This is the message body! C: Please don’t spoof! C: C:. S: 250 Message accepted for delivery C: QUIT S: 221 mr1.its.yale.edu closing connection

34 Transport Architecture

35 Mail Message Data Format SMTP: protocol for exchanging msgs RFC 822: standard for text message format: r Header lines, e.g., m To: m From: m Subject: r Body m the “message”, ASCII characters only (any problem?) blank line header body

36 Message Format: Multimedia Extensions r MIME: multimedia mail extension, RFC 2045, 2056 r Additional lines in msg header declare MIME content type From: To: Subject: Network map. MIME-Version: 1.0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 base64 encoded data base64 encoded data multimedia data type, subtype, parameter declaration method used to encode data MIME version encoded data

37 Multipart Type: How Attachment Works From: To: Subject: Network map. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Hi, Attached is network topology map Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data

38 Design Review S: 220 mr1.its.yale.edu C: HELO cyndra.yale.edu S: 250 Hello cyndra.cs.yale.edu, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: From: C: To: C: Subject: Network map. C: MIME-Version: 1.0 C: Content-Type: image/jpeg C: Content-Transfer-Encoding: base64 C: C: base64 encoded data..... C: C:......base64 encoded data C: C:. S: 250 Message accepted for delivery C: QUIT S: 221 mr1.its.yale.edu closing connection Why not make the msg headers smtp headers?

39 POP3 Protocol: Mail Retrieval Authorization phase r client commands:  user: declare username  pass: password r server responses m +OK  -ERR Transaction phase, client:  list: list message numbers  retr: retrieve message by number  dele: delete r quit C: list S: S: S:. C: retr 1 S: S:. C: dele 1 C: retr 2 S: S:. C: dele 2 C: quit S: +OK POP3 server signing off S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on %openssl s_client –connect pop.gmail.com:995

40 Evaluation of SMTP/POP/IMAP Key questions to ask about a C-S application - extensible? - scalable? - robust? - security? mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP POP3 or IMAP SMTP

41 Positive r Some nice design features we can learn from the design of the m separate protocols for different functions retrieval (e.g., POP3, IMAP) transmission (SMTP) m simple/basic requests to implement basic control; fine- grain control through ASCII header and message body make the protocol easy to read/debug/extend (analogy with end-to-end layered design?) m status code in response makes message easy to parse

42 Challenge r Spam (Google)

43 Challenge r A large percentage of spam/phish Source:

44 Challenge Source:

45 Discussion: How May Spams Be Detected?

46 Detection Methods Used by GMail r Known phishing scams r Message from unconfirmed sender identity r Message you sent to Spam/similarity to suspicious messages r Administrator-set policies r Empty message content