Copyright © University of Illinois CS 241 Staff1 Introduction to Networking and the Internet.

Slides:



Advertisements
Similar presentations
Protocol layers and Wireshark Rahul Hiran TDTS11:Computer Networks and Internet Protocols 1 Note: T he slides are adapted and modified based on slides.
Advertisements

1 CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Summer Workshop on Cyber Security Computer Networks Security (Part 1) Dr. Hamed Mohsenian-Rad University of California at Riverside and Texas Tech University.
CPSC 441: Intro, UDP1 Transport Layer Instructor: Carey Williamson Office: ICT Class Location:
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Socket Programming.
Kemal AkkayaWireless & Network Security 1 Department of Computer Science Southern Illinois University Carbondale CS591 – Wireless & Network Security Lecture.
Introduction1-1 Introduction to Computer Networks Our goal:  get “feel” and terminology  more depth, detail later in course  approach:  use Internet.
Introduction to Transport Layer. Transport Layer: Motivation A B R1 R2 r Recall that NL is responsible for forwarding a packet from one HOST to another.
Networking Based on the powerpoint presentation of Computer Networking: A Top Down Approach Featuring the Internet, Third Edition, J.F. Kurose and K.W.
Networking Overview February 2, /2/2004 Assignments Due – Homework 0 Due – Reading and Warmup questions Work on Homework 1.
Introduction to the Application Layer Computer Networks Computer Networks Spring 2012 Spring 2012.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
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 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.
Process-to-Process Delivery:
Lecture 1 Internet CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger and Daniel Zappala Lecture 1 Introduction.
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.
CHAPTER 2. Creating a network app write programs that – run on (different) end systems – communicate over network – e.g., web server software communicates.
1 Application Layer Lecture 4 Imran Ahmed University of Management & Technology.
Introduction Protocol “layers” Networks are complex, with many “pieces”:  hosts  routers  links of various media  applications  protocols  hardware,
1 Week 2 Lecture 1 Layers (basics) Dr. Fei Hu. Review last lecture 2.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
1 CS 455/555 Intro to Networks and Communications Client/Server Computing and Socket Programming (2.1, ) Michele Weigle Department of Computer Science.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Services Networking for Home and Small Businesses – Chapter.
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.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
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.
Sockets process sends/receives messages to/from its socket
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.
Introduction1-1 Data Communications and Computer Networks Chapter 1 CS 3830 Lecture 1 Omar Meqdadi Department of Computer Science and Software Engineering.
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.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
1 ECE453 - Introduction to Computer Networks Lecture 1: Introduction.
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)
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,
“Real” Internet delays and routes  What do “real” Internet delay & loss look like?  Traceroute program: provides delay measurement from source to router.
1 Network Architecture Section Network Architecture Challenge –Fill the gap between hardware capabilities and application expectations, and to.
@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.
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.
NWEN 243 Networked Applications Lecture 12: Layer 4 – Transport NWEN 243 © , Kris Bubendorfer.
Computer Networks Dr. Adil Yousif CS Lecture 1.
Slides taken from: Computer Networking by Kurose and Ross
Principles of Network Applications
OSI Protocol Stack Given the post man exemple.
Networking for Home and Small Businesses – Chapter 6
ECE 4400:427/527 - Computer Networks Spring 2017
Networking for Home and Small Businesses – Chapter 6
Chapter 2 Introduction Application Requirements VS. Transport Services
Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge
Process-to-Process Delivery:
Networking for Home and Small Businesses – Chapter 6
Presentation transcript:

Copyright © University of Illinois CS 241 Staff1 Introduction to Networking and the Internet

Announcements Brighten’s office hours cancelled for today  extra hours next week Wade Fagen lecturing on Friday Copyright © University of Illinois CS 241 Staff2

Where are we? Function calls, system calls, threads and processes Copyright © University of Illinois CS 241 Staff3

What’s next? Networked communication and distributed applications Copyright © University of Illinois CS 241 Staff4

Introduction What is the Internet? Network edge What is a protocol? Protocol layers, service models Copyright © University of Illinois CS 241 Staff5

What is the Internet? Communication infrastructure  Enables distributed applications  Web, VoIP, , games, e-commerce, file sharing Communication services  Provided to applications  Reliable data delivery from source to destination  “best effort” (unreliable) data delivery Copyright © University of Illinois CS 241 Staff6 Home network Institutional network Mobile network Global ISP Regional ISP

Network Service Goal  Transfer data between end systems Support For Common Services  Simplify the role of applications  Hide the complexity of the network  Semantics and interface depend on applications Copyright © University of Illinois CS 241 Staff7

Example: Sending a Letter Copyright © University of Illinois CS 241 Staff Bob Postman Logical flow of information Bob’s mailbox Alice Alice’s mailbox 8

Services Unconfirmed service Acknowledged service Copyright © University of Illinois CS 241 Staff9 US Mail RequestIndicate Confirm US Mail RequestIndicate

Copyright © University of Illinois CS 241 Staff10 Host Channel Channels Channel  The abstraction for application-level communication Idea  Turn host-to-host connectivity into process-to-process communication Proc Looks like IPC!

Networked Communication Challenges Networked communication  IPC Problems typically masked by communication channel abstractions  Bit errors (electrical interference)  Packet errors (congestion)  Link/node failures  Message delays  Out-of-order delivery  Eavesdropping Goal  Fill the gap between what applications expect and what the underlying technology provides Copyright © University of Illinois CS 241 Staff11

Network Architecture Networks are complex! Many “pieces”  Hosts  Routers  Links of various media  Applications  Protocols  Hardware, software Question  Is there any hope of organizing structure of network? Copyright © University of Illinois CS 241 Staff12

Copyright © University of Illinois CS 241 Staff13 Abstraction through Layering Abstract system into layers:  Decompose the problem of building a network into manageable components Each layer provides some functionality  Modular design provides flexibility Modify layer independently Allows alternative abstractions Application programs Hardware Host-to-host connectivity Acknowledged serviceUnconfirmed service

Layering Example: Air Travel Layers  Each layer implements a service  Via its own internal-layer actions  Relying on services provided by layer below Copyright © University of Illinois CS 241 Staff14

Why layering? Complexity  Explicit structure allows identification, relationship of complex system’s pieces Modularity  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 Copyright © University of Illinois CS 241 Staff15

Protocol: Language of communication across hosts Defines structure of communication between two instances of a layer (on two hosts) Protocols are defined by  Specific msgs sent  Specific actions taken when msgs received, or other events Protocols define  Format  Order of msgs sent and received among network entities  Actions taken on msg transmission, receipt Copyright © University of Illinois CS 241 Staff16

What is a Protocol? Human protocols  “what’s the time?”  “I have a question”  Introductions Network protocols  Machines rather than humans  All internet communication is governed by protocols Copyright © University of Illinois CS 241 Staff17 Hi Got the time? 2:00 TCP connection request TCP connection response Get time

Network Protocols A protocol implements a communication service that higher-layer objects use to exchange messages  Service interface To objects on the same computer that want to use its communication services  Peer interface To its counterpart on a different machine Peers communicate using the services of lower-level protocols Copyright © University of Illinois CS 241 Staff18

Interfaces Copyright © University of Illinois CS 241 Staff19 baggage (claim) gates/bags (unload) runway landing airplane routing departing airport arriving airport intermediate air traffic sites airplane routing baggage (check) gates/bags (load) runway takeoff airplane routing

Copyright © University of Illinois CS 241 Staff20 Interfaces Host 1Host 2 Service interface Higher- level protocol (TCP) Peer-to-peer interface Lower-level Protocol (IP) Peer-to-peer interface

Copyright © University of Illinois CS 241 Staff21 Layering Concepts Encapsulation  Higher layer protocols create messages and send them via the lower layer protocols  These messages are treated as data by the lower-level protocol  Higher-layer protocol adds its own control information in the form of headers or trailers Multiplexing and Demultiplexing  Use protocol keys in the header to determine correct upper-layer protocol

Application program Application program Copyright © University of Illinois CS 241 Staff22 Encapsulation Application program Reliable Service Host-to-Host DATA UNC HDRDATA Application program Reliable Service Host-to-Host DATA UNC HDRDATA HHP HDR UNC HDRDATA Best effort Service Best effort Service HHP HDR UNC HDRDATA HHP HDR UNC HDRDATA

Copyright © University of Illinois CS 241 Staff23 Internet Protocol Stack Application Physical Transport Data Link Network Application: Application specific protocols Transport: Process-to-process channel Network: Host-to-host packet delivery Data Link: Framing of data bits Physical: Transmission of raw bits

Transport Layer Provide logical communication between application processes running on different hosts Transport protocols run in end systems  Send side Break application messages into segments Pass to network layer  Receive side Reassemble segments into messages Pass to application layer More than one transport protocol available to applications  Internet: TCP and UDP Copyright © University of Illinois CS 241 Staff24 application transport network data link physical application transport network data link physical logical end-end transport

Transport vs. Network Layer Transport layer  Logical communication between processes  Relies on, enhances, network layer services Network layer  Logical communication between hosts Copyright © University of Illinois CS 241 Staff25 Bob Postman Logical flow of information Bob’s mailbox Alice Alice’s mailbox

Copyright © University of Illinois CS 241 Staff26 Internet Architecture Features  No strict layering Application Network IP UDPTCP

Internet Architecture – Hourglass Design Features  Hourglass shape – IP is the focal point Copyright © University of Illinois CS 241 Staff27 FTP TCP ModemMPLS3G wirelessEthernet IP UDP TFTPNVHTTP

Copyright © University of Illinois CS 241 Staff28 Network Applications

Creating a Network Application 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 Copyright © University of Illinois CS 241 Staff29

Client-server Architecture Server  Always-on host  Well-known IP address Clients  Communicate with server  May be intermittently connected  May have dynamic IP addresses  Do not communicate directly with each other Copyright © University of Illinois CS 241 Staff30 client/server

P2P Architecture No always-on server Arbitrary end systems directly communicate Peers are intermittently connected and change IP addresses Highly scalable but difficult to manage Copyright © University of Illinois CS 241 Staff31 peer-peer

Hybrid Client-server and P2P Skype  Voice-over-IP P2P application  Centralized server: finding address of remote party  Client-client connection: direct (not through server) Instant messaging  Chatting between two users is P2P  Centralized service: client presence detection/location  User registers its IP address with central server when it comes online  User contacts central server to find IP addresses of buddies Copyright © University of Illinois CS 241 Staff32

Communicating Processes Inter-process communication  Two processes communicating within same host Networked communication  Two processes communicating between different hosts Client process  Initiates communication Server process  Waits to be contacted Copyright © University of Illinois CS 241 Staff33

Addressing Processes Receiving messages  Process must have identifier  Host device has unique 32-bit IP address Question  Does the IP address of host suffice for identifying the process?  Answer: No, many processes can be running on same host Process Identifier  Include both IP address and port number associated with process on host Example port numbers  HTTP server: 80  Mail server: 25 Copyright © University of Illinois CS 241 Staff34

Sockets Process sends/receives messages to/from its socket  Analogous to a door  Sending process shoves messages out the door  Transport infrastructure on other side of door brings message to socket at receiving process Copyright © University of Illinois CS 241 Staff35 process TCP with buffers, variables socket host or server process TCP with buffers, variables socket host or server Internet

Sockets API  Choice of transport protocol  Ability to set a few parameters Copyright © University of Illinois CS 241 Staff36 process TCP with buffers, variables socket host or server process TCP with buffers, variables socket host or server Internet

Transport Services Data loss  Some applications (e.g., audio) can tolerate some loss  Other apps (e.g., file transfer, telnet) require 100% reliability Timing  Some applications (e.g., IP phones, interactive games) require low delay to be “effective” Throughput  Some applications (e.g., multimedia) have a minimum throughput to be “effective”  other applications (“elastic apps”) make use of whatever throughput they get Security  Encryption, data integrity, … Copyright © University of Illinois CS 241 Staff37

Internet Transport Protocols TCP Connection-oriented  setup required between client and server Reliable transport Flow control  Won’t overwhelm receiver Congestion control  Won’t overwhelm network Does not provide  Timing, throughput guarantees, security UDP Unreliable data transfer Does not provide  Connection setup, reliability, flow control, congestion control, timing, throughput guarantee, or security Question  Why bother? Why is there a UDP? Copyright © University of Illinois CS 241 Staff38