Network Applications: Overview, Y. Richard Yang 9/10/2013.

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.
CS 268: Lecture 2 (Layering & End-to-End Arguments)
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.
OIS Model TCP/IP Model.
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.
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.
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.
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.
CS 268: Lecture 3 (Layering & End-to-End Arguments)
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
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.
Sockets process sends/receives messages to/from its socket
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.
Taxonomy of Networks; Layered Network Architecture
1 End-user Protocols, Services and QoS. 2 Layering: logical communication application transport network link physical application transport network link.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
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: Overview, Y. Richard Yang 1/27/2016.
Network Applications: DNS Y. Richard Yang 2/1/2016.
Communication Networks NETW 501 Tutorial 2
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.
Introduction to Networks
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Introduction to Networks
Chapter 2 Introduction Application Requirements VS. Transport Services
Process-to-Process Delivery:
Chapter 2: Application layer
Internet and Intranet Protocols and Applications
The Application Layer: SMTP, FTP
Network Applications: Overview,
Process-to-Process Delivery: UDP, TCP
Chapter 2 Application Layer
Presentation transcript:

Network Applications: Overview, Y. Richard Yang 9/10/2013

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 ip 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 2013) 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 Outline r Recap r ISO/OSI Layering and Internet Layering  Application layer overview

24 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

25 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

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 Our focus: 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 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

30 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?

31 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

32 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

33 Transport Architecture

34 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

35 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

36 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

37 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?

38 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 %telnet.mail.yale.edu 110 %openssl s_client –connect pop.gmail.com:995

39 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

40 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

41 Challenge r Spam (Yale)

42 Challenge r Spam (Google)

43 Challenge

44 Discussion: How May Spams Be Detected?

45 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

Optional Slides 46

47 Services Provided by Transport r Transmission control protocol (TCP) m multiplexing/demultiplexing m reliable data transfer m rate control: flow control and congestion control r User data protocol (UDP) m multiplexing/demultiplexing Host A Hello Host B I am ready DATA ACK

Secure Socket Layer: Services r server authentication m authentication through trusted certificate authority (CA): server obtains a certificate from one of the trusted CAs r data encryption and integrity r client authentication (optional)

Details of the Seven ISO/OSI Layers

50 Physical Layer (1) r Service: moves information between two systems connected by a physical link r Interface: specifies how to send a bit r Protocol: coding scheme used to represent a bit, voltage levels, duration of a bit r Examples: coaxial cable, optical fiber links; transmitters, receivers

51 Datalink Layer (2) r Service: m framing, i.e., attach frames separator m send data frames between peers m others: arbitrates the access to common physical media ensures reliable transmission provides flow control r Interface: sends a data unit (packet) to a machine connected to the same physical media r Protocol: layer addresses, implement Medium Access Control (MAC) (e.g., CSMA/CD)…

52 Network Layer (3) r Service: m delivers a packet to a specified destination m performs fragmentation/reassembly of packets m others: packet scheduling buffer management r Interface: sends a packet to a specified destination r Protocol: defines global unique addresses; constructs routing tables; implement packet forwarding; fragments/reassembles packets

53 Data and Control Planes r Data plane: concerned with m packet forwarding m buffer management m packet scheduling r Control Plane: concerned with installing and maintaining the states for the data plane

54 Transport Layer (4) r Service: m provides an in-order, error-free, and flow and congestion controlled end-to-end connection m multiplex/demuliplex packets r Interface: sends a packet to a destination r Protocol: implements reliability, as well as flow and congestion control r Examples: TCP and UDP m TCP: in-order, error free, flow and congestion control

55 Session Layer (5) r Service: m full-duplex m access management, e.g., token control m synchronization, e.g., provide check points for long transfers r Interface: depends on service r Protocols: token management; insert checkpoints, implement roll-back functions

56 Presentation Layer (6) r Service: converts data between various representations r Interface: depends on service r Protocol: defines data formats and rules to convert from one format to another

57 Application Layer (7) r Service: any service provided to end users r Interface: depends on the application r Protocol: depends on the application r Examples: FTP, Telnet, WWW

58 What Transport Service Does an App Need? Data loss r some apps can tolerate some packet losses r other apps require 100% reliable data transfer Timing r some apps require low delay to be “effective” Bandwidth r some apps require minimum amount of bandwidth to be “effective” r other apps make use of whatever bandwidth they get