Introduction Protocol “layers” Networks are complex, with many “pieces”:  hosts  routers  links of various media  applications  protocols  hardware,

Slides:



Advertisements
Similar presentations
Dr. Philip Cannata 1 Computer Networking. Dr. Philip Cannata 2.
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.
Summer Workshop on Cyber Security Computer Networks Security (Part 1) Dr. Hamed Mohsenian-Rad University of California at Riverside and Texas Tech University.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Kemal AkkayaWireless & Network Security 1 Department of Computer Science Southern Illinois University Carbondale CS591 – Wireless & Network Security Lecture.
Networking Based on the powerpoint presentation of Computer Networking: A Top Down Approach Featuring the Internet, Third Edition, J.F. Kurose and K.W.
1 School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture & Protocols Introduction Instructor: Dr. Mohamed Hefeeda.
Lecture 3 Introduction 1-1 Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit.
1 Day 01 - The Internet. 2 Chapter 1 Introduction Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
Introduction to the Application Layer Computer Networks Computer Networks Spring 2012 Spring 2012.
1-1 Internet Overview: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit switching, packet.
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.
Copyright © University of Illinois CS 241 Staff1 Introduction to Networking and the Internet.
Chapter 1 Introduction Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
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.
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.
02220 Distributed Systems: Computer Networking Basics Alessio Di Mauro Xenofon Fafoutis
1 Week 2 Lecture 1 Layers (basics) Dr. Fei Hu. Review last lecture 2.
CS 381 Introduction to computer networks Chapter 1 - Lecture 4 2/10/2015.
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
ECE 4400:427/527 - Computer Networks Spring 2015 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 3: Network Architectures Dr. Nghi.
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,
Introduction 1-1 “Real” Internet delays and routes  What do “real” Internet delay & loss look like?  Traceroute program: provides delay measurement from.
Chapter 3 Transport Layer
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.
Introduction to Computer Networks
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,
Introduction1-1 Chapter 1 Computer Networks and the Internet Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose,
Introduction1-1 Data Communications and Computer Networks Chapter 1 CS 3830 Lecture 1 Omar Meqdadi Department of Computer Science and Software Engineering.
OSI Model Data Communications. 7 layer “research” model ApplicationPresentationSessionTransportNetworkLinkPhysical.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July A.
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 Computer Networks & The Internet Lecture 4 Imran Ahmed University of Management & Technology.
1 ECE453 - Introduction to Computer Networks Lecture 1: Introduction.
Introduction1-1 Chapter 1 Computer Networks and the Internet Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose,
Reference model. Goal: 2 message exchange between application processes.
CS 3830 Day 4 Introduction 1-1. Announcements  No office hour 12pm-1pm today only  Quiz on Friday  Program 1 due on Friday (put in DropBox on S drive)
Introduction 1-1 Chapter 1 Introduction Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on.
1: Introduction1 Protocol “Layers” Networks are complex! r many “pieces”: m hosts m routers m links of various media m applications m protocols m hardware,
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Marina Papatriantafilou – Introduction to computer communication Based on the book Computer Networking: A Top Down Approach, Jim Kurose, Keith Ross, Addison-Wesley.
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.
Application Layer 2-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Chapter 1:Introduction Computer Networking: A Top Down Approach, 4 th edition. Jim Kurose, Keith Ross Advanced Computer Networks.
@Yuan Xue CS 283Computer Networks Spring 2011 Instructor: Yuan Xue.
Introduction and Overview of Network and Telecommunications.
Chapter 7 Application Layer 1 Some of the slides in this chapter are courtesy of Profs. Kurose/Ross and others.
CSEN 404 Introduction to Networks Amr El Mougy Lamia AlBadrawy.
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.
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.
Computer Networks Dr. Adil Yousif CS Lecture 1.
Introduction and Overview of Network and Telecommunications
Introduction to Networks
Day 01 - The Internet.
Network Introduction.
OSI Protocol Stack Given the post man exemple.
Introduction and Overview of Network and Telecommunications (contd.)
Chapter 3 Transport Layer
ECE 4400:427/527 - Computer Networks Spring 2017
Chapter 2 Introduction Application Requirements VS. Transport Services
Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge
Lecture 2 Application Layer
Presentation transcript:

Introduction Protocol “layers” Networks are complex, with many “pieces”:  hosts  routers  links of various media  applications  protocols  hardware, software Question: is there any hope of organizing structure of network? …. or at least our discussion of networks? 1-1

Introduction Organization of air travel  a series of steps ticket (purchase) baggage (check) gates (load) runway takeoff airplane routing ticket (complain) baggage (claim) gates (unload) runway landing airplane routing 1-2

Introduction ticket (purchase) baggage (check) gates (load) runway (takeoff) airplane routing departure airport arrival airport intermediate air-traffic control centers airplane routing ticket (complain) baggage (claim gates (unload) runway (land) airplane routing ticket baggage gate takeoff/landing airplane routing Layering of airline functionality layers: each layer implements a service  via its own internal-layer actions  relying on services provided by layer below 1-3

Introduction Why layering? dealing with complex systems:  explicit structure allows identification, relationship of complex system’s pieces  layered reference model for discussion  modularization eases maintenance, updating of system  change of implementation of layer’s service transparent to rest of system  e.g., change in gate procedure doesn’t affect rest of system  layering considered harmful? 1-4

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, (WiFi), PPP  physical: bits “on the wire” or “in the air” application transport network link physical 1-5

Introduction ISO/OSI reference model  presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machine-specific conventions  session: synchronization, checkpointing, recovery of data exchange  Internet stack “missing” these layers!  these services, if needed, must be implemented in application  needed? application presentation session transport network link physical 1-6

Introduction source application transport network link physical HtHt HnHn M segment HtHt datagram destination application transport network link physical HtHt HnHn HlHl M HtHt HnHn M HtHt M M network link physical link physical HtHt HnHn HlHl M HtHt HnHn M HtHt HnHn M HtHt HnHn HlHl M router switch Encapsulation message M HtHt M HnHn frame 1-7

Application Layer 2-8 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following:  If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!)  If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR All material copyright J.F Kurose and K.W. Ross, All Rights Reserved The course notes are adapted for Bucknell’s CSCI 363 Xiannong Meng Spring 2014

Application Layer 2-9 Chapter 2: outline 2.1 principles of network applications 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 2-10 Some network apps   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 2-11 Creating a network app 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 transport network data link physical

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

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

Application Layer 2-14 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 2-15 Processes communicating 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 clients, servers

Application Layer 2-16 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 Internet controlled by OS controlled by app developer transport application physical link network process transport application physical link network process socket

Application Layer 2-17 Socket examples in C and Python  Socket program example in Python (code/client- server-python)  Python example is used here at this stage because its simplicity, demonstrate the principles  Socket program example in C (code/client-server-c)

Application Layer 2-18 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 timing  some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” 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 security  encryption, data integrity, …

Securing TCP TCP & UDP  no encryption  cleartext passwds sent into socket traverse Internet in cleartext 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 2-19