Lecture 2 Application Layer

Slides:



Advertisements
Similar presentations
Introduction 2 1: Introduction.
Advertisements

James 1:5 If any of you lacks wisdom, he should ask God, who gives generously to all without finding fault, and it will be given to him.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Introduction to the Application Layer Computer Networks Computer Networks Spring 2012 Spring 2012.
Dr. Philip Cannata 1 Principles of Network Applications.
Introduction 1 Lecture 5 Application Layer slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering Department.
1: Introduction1 Part I: Introduction Goal: r get context, overview, “feel” of networking r more depth, detail later in course r approach: m descriptive.
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April A note on the use.
Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.
2: Application Layer1 Chapter 2 Application Layer These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
Introduction 1-1 Lecture 3 Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CS3516: These slides.
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.
Introduction Protocol “layers” Networks are complex, with many “pieces”:  hosts  routers  links of various media  applications  protocols  hardware,
RSC Part I: Introduction Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the companion slides to.
Introduction 1-1 Chapter 1 Part 2 Network Core These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
Instructor: Christopher Cole Some slides taken from Kurose & Ross book IT 347: Chapter 1.
Introduction1-1 Course Code:EE/TE533 Instructor: Muddathir Qamar.
CS 3214 Computer Systems Godmar Back Lecture 23. Announcements Project 5 due Dec 8 Exercise 10 handed out Exercise 11 coming before Thanksgiving CS 3214.
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Sockets process sends/receives messages to/from its socket
Chapter 1 Introduction Circuit/Packet Switching Protocols Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley,
RSC Part I: Introduction Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the companion slides to.
Lecture 5: Internetworking: A closer View By Dr. Najla Al-Nabhan Introduction 1-1.
Lecture 4 Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CS3516: These slides are generated from.
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.
SOME HIGHLIGHTS FROM CHAPTER ONE Introduction 1-1.
“Real” Internet delays and routes  What do “real” Internet delay & loss look like?  Traceroute program: provides delay measurement from source to router.
Introduction 1-1 1DT057 Distributed Information Systems Chapter 1 Introduction.
@Yuan Xue CS 283Computer Networks Spring 2011 Instructor: Yuan Xue.
Chapter 7 Application Layer 1 Some of the slides in this chapter are courtesy of Profs. Kurose/Ross and others.
A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their original slides that accompany the.
CS 5565 Network Architecture and Protocols
2017 session 1 TELE3118 Network Technologies
Computer Networks Dr. Adil Yousif CS Lecture 1.
Introduction to Networks
Application Layer Dr. Adil Yousif Lecture 2 CS.
Graciela Perera Introduction Graciela Perera
CS 3214 Computer Systems Networking.
Day 01 - The Internet.
Part 0: Networking Review
Network Introduction.
Chapter 1: Introduction
CS 3214 Computer Systems Lecture 21 Godmar Back.
A Taxonomy of Communication Networks
Chapter 1: roadmap 1.1 what is the Internet? 1.2 network edge
CS4470 Computer Networking Protocols
Principles of Network Applications
CS 3214 Computer Systems Networking.
Introduction and Overview of Network and Telecommunications (contd.)
RSC Part II: Network Layer 1. Basic Concepts
Chapter 2 Application Layer
CSE 3461/5461 Reading: Chapter 1, Kurose and Ross
Lectures Computer networking تمرین 3 نمره. پژوهش عملیاتی 2 نمره.
Chapter 1 Introduction Reading assignment: Chapter 1 of Kurose & Ross
Chapter 2 Introduction Application Requirements VS. Transport Services
Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge
Comp 365 Computer Networks Chapter 1 Part 2 Network Core Fall 2014
Session 3 INST 346 Technologies, Infrastructure and Architecture
Session 2 INST 346 Technologies, Infrastructure and Architecture
How do loss and delay occur?
Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge
CSE 3461/5461 Reading: Chapter 1, Kurose and Ross
ECE 4450:427/527 - Computer Networks Spring 2017
Lecture 1: introduction
Chapter 3 Transport Layer
Comp 410 AOS Packet Switching
Chapter 1 Introduction Computer Networking: A Top Down Approach
Presentation transcript:

Lecture 2 Application Layer Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Prof. Abdul Hameed http://informationtechnology.pk Abdul.hameed@pucit.edu.pk https://www.facebook.com/it4all.pk Introduction

Some highlights from chapter one Introduction

Internet structure: network of networks access ISP Regional ISP IXP Tier 1 ISP Google at center: small # of well-connected large networks “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), national & international coverage “internet exchange points” (IXPs): meeting points of multiple ISPs content provider network (e.g, Google): private network that connects it data centers to Internet, often bypassing tier-1, regional ISPs Introduction

A closer look at network structure: network edge: hosts: clients and servers servers often in data centers mobile network global ISP regional ISP home network institutional access networks, physical media: wired, wireless communication links network core: interconnected routers network of networks Introduction

Two key network-core functions routing: determines source- destination route taken by packets routing algorithms forwarding: move packets from router’s input to appropriate router output routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 1 1 2 3 0111 dest address in arriving packet’s header Network Layer

“Real” Internet delays, routes traceroute: gaia.cs.umass.edu to www.eurecom.fr Do some traceroutes from exotic countries at www.traceroute.org 3 delay measurements from gaia.cs.umass.edu to cs-gw.cs.umass.edu 1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms 2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms 3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms 4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms 5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms 6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms 7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms 8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms 9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms 10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms 11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms 12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms 13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms 14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms 15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms 16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms 17 * * * 18 * * * 19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms trans-oceanic link * means no response (probe lost, router not replying) Introduction

Packet switching and circuit switching packet-switching: hosts break application-layer messages into packets forward packets from one router to the next, across links on path from source to destination each packet transmitted at full link capacity circuit-switching: end-end resources allocated to, reserved for “call” between source & destination: Dedicated resources: no sharing circuit-like (guaranteed) performance Circuit segment idle if not used by call (no sharing) Commonly used in traditional telephone networks Virtual circuits may be used in modern communications Network Layer

Network protocols A network protocol is a set of rules governing the operations of the network. Internet is in layered architecture, each layer has a set of protocols. For example: at transport layer, TCP or UDP, at networking layer, IP, at data link layer, Ethernet or WiFi. Introduction

Internet protocol stack application: supporting network applications FTP, SMTP, HTTP transport: process-process data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements Ethernet, 802.11 (WiFi) physical: bits “on the wire” or “in the air” application transport network link physical Introduction

Encapsulation source destination application transport network link message M application transport network link physical segment Ht M Ht datagram Ht Hn M Hn frame Ht Hn Hl M link physical switch destination network link physical Ht Hn M Ht Hn Hl M M application transport network link physical Ht Hn M Ht M Ht Hn M router Ht Hn Hl M Introduction

FDM versus TDM Example: FDM 4 users frequency time TDM frequency time Two simple multiple access control techniques. Each mobile’s share of the bandwidth is divided into portions for the uplink and the downlink. Also, possibly, out of band signaling. As we will see, used in AMPS, GSM, IS-54/136 Introduction

Chapter 2 Application Layer Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer

Chapter 2: outline 2.1 principles of network applications 2.1.1 client-server model 2.6 P2P applications 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.7 socket programming with UDP and TCP 2.5 DNS Application Layer

Some network apps e-mail web text messaging remote login P2P file sharing multi-user network games streaming stored video (YouTube, Hulu, Netflix) voice over IP (e.g., Skype) real-time video conferencing social networking search … Application Layer

Creating a network app write programs that: application transport network data link physical write programs that: run on (different) end systems communicate over network e.g., web server software communicates with browser software no need to write software for network-core devices network-core devices do not run user applications applications on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical Application Layer

Application architectures possible structure of applications: client-server peer-to-peer (P2P) Application Layer

Client-server architecture always-on host wait for requests from clients permanent IP address server examples: www.bucknell.edu, www.google.com clients: client initiates the communication may be intermittently connected, dynamic (or static) IP do not communicate directly with each other client/server Application Layer

P2P architecture no always-on server arbitrary end systems directly communicate with each other peers request service from other peers, provide service in return to other peers self scalability – new peers bring new service capacity, as well as new service demands example: Skype, text message no server(s) at all? peer-peer Application Layer

Processes communicating clients, servers process: program running within a host within same host, two processes communicate using inter-process communication (defined by OS), e.g., pipe() processes in different hosts communicate by exchanging messages client process: process that initiates communication server process: process that waits to be contacted aside: applications with P2P architectures have client processes & server processes Application Layer

Sockets process sends/receives messages to/from its socket socket analogous to mailbox at your house or LC sending process puts the message in the mailbox sending process relies on transport infrastructure between the sending mailbox and receiving mailbox to deliver message to socket at receiving process application application socket controlled by app developer process process transport transport controlled by OS network network link Internet link physical physical Application Layer

Some client-server examples Client-server in C http://www.eg.bucknell.edu/~cs363/2016-spring/code/client-server-c/ Client-server in Python http://www.eg.bucknell.edu/~cs363/2016-spring/code/client-server-python/ Web client-server in C http://www.eg.bucknell.edu/~cs363/2016-spring/code/web-client-server-c/ Application Layer

What transport service does an app need? data integrity some apps (e.g., file transfer, web transactions) require 100% reliable data transfer other apps (e.g., audio) can tolerate some loss throughput some apps (e.g., multimedia) require minimum amount of throughput to be “effective” other apps (“elastic apps”) make use of whatever throughput they get timing some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” security encryption, data integrity, … Application Layer

Securing TCP TCP & UDP no encryption cleartext passwds sent into socket traverse Internet in cleartext TLS and SSL provides encrypted TCP connection data integrity end-point authentication SSL is at app layer Apps use SSL libraries, which “talk” to TCP SSL socket API cleartext passwds sent into socket traverse Internet encrypted See Chapter 8 Application Layer