Life of a Packet CS 640, 2015-01-22

Similar documents
How do I get to

Communications and Networking

The OSI and TCP/IP Models. Lesson 2

architecture: what the pieces are and how they fit together names and addresses: what's your name and number?

Final for ECE374 05/06/13 Solution!!

Modern snoop lab lite version

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

BASIC ANALYSIS OF TCP/IP NETWORKS

Introduction to Computer Networks

CS101 Lecture 19: Internetworking. What You ll Learn Today

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Layered Architectures and Applications

Transport and Network Layer

Mobile IP Network Layer Lesson 01 OSI (open systems interconnection) Seven Layer Model and Internet Protocol Layers

Introduction to computer networks and Cloud Computing

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Protocols. Packets. What's in an IP packet

Using MIS 3e Chapter 6A Appendix

How the Internet Works? ( TCP/IP, DNS, HKIX )

Network: several computers who can communicate. bus. Main example: Ethernet (1980 today: coaxial cable, twisted pair, 10Mb 1000Gb).

TCP/IP Networking An Example

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing.

Network Layers. CSC358 - Introduction to Computer Networks

Overview of Computer Networks

Outline. CSc 466/566. Computer Security. 18 : Network Security Introduction. Network Topology. Network Topology. Christian Collberg

Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Hands-on Network Traffic Analysis Cyber Defense Boot Camp

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

Technical Support Information Belkin internal use only

First Semester Examinations 2011/12 INTERNET PRINCIPLES

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

Network Security TCP/IP Refresher

Internet Control Protocols Reading: Chapter 3

Configuring Network Address Translation (NAT)

Data Communication I

Ethernet. Ethernet. Network Devices

Network Technologies

Chapter 5. Data Communication And Internet Technology

Architecture and Performance of the Internet

Data Communication Networks and Converged Networks

Networking Test 4 Study Guide

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

The OSI & Internet layering models

How To Understand The Internet Of S (Netware)

CSE 3461 / 5461: Computer Networking & Internet Technologies

20. Switched Local Area Networks

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

Post-Class Quiz: Telecommunication & Network Security Domain

Network Basics GRAPHISOFT. for connecting to a BIM Server (version 1.0)

TCP/IP Protocol Suite. Marshal Miller Chris Chase

THE BCS PROFESSIONAL EXAMINATIONS BCS Level 5 Diploma in IT. October 2009 EXAMINERS' REPORT. Computer Networks

Computer Networking. Definitions. Introduction

Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering

IP address format: Dotted decimal notation:

Computer Networks and the Internet

First Midterm for ECE374 03/24/11 Solution!!

Wave Relay System and General Project Details

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Using SolarWinds Orion for Cisco Assessments

First Midterm for ECE374 02/25/15 Solution!!

LESSON Networking Fundamentals. Understand TCP/IP

>>> SOLUTIONS <<< c) The OSI Reference Model has two additional layers. Where are these layers in the stack and what services do they provide?

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso

Voice over IP. Demonstration 1: VoIP Protocols. Network Environment

Windows 7. Basic Network Connection Setup

Chapter 15: Advanced Networks

Guideline for setting up a functional VPN

Gary Hecht Computer Networking (IP Addressing, Subnet Masks, and Packets)

Based on Computer Networking, 4 th Edition by Kurose and Ross

CITS1231 Web Technologies. Client, Server, the Internet, and the Web

Lab Exercise SSL/TLS. Objective. Requirements. Step 1: Capture a Trace

Internet Guide. Prepared for 55 John Street

Connecting with Computer Science, 2e. Chapter 5 The Internet

Chapter 16 Route Health Injection

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Network setup and troubleshooting

CCNA R&S: Introduction to Networks. Chapter 5: Ethernet

Data Communication Networks

CS 5480/6480: Computer Networks Spring 2012 Homework 1 Solutions Due by 9:00 AM MT on January 31 st 2012

What communication protocols are used to discover Tesira servers on a network?

This sequence diagram was generated with EventStudio System Designer (

Ethernet and IP A slightly less introductory networking class. Drew Saunders Networking Systems Stanford University

Ethereal: Getting Started

Transport Layer Protocols

The exam has 110 possible points, 10 of which are extra credit. There is a Word Bank on Page 8. Pages 7-8 can be removed from the exam.

3.1 TELECOMMUNICATIONS, NETWORKS AND THE INTERNET

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? What s the Internet? What s the Internet?

Transcription:

Life of a Packet CS 640, 2015-01-22 Outline Recap: building blocks Application to application communication Process to process communication Host to host communication Announcements Syllabus Should have received a welcome message on Piazza Read/watch posted materials before class; lots of in class activities Network Building Blocks Layers Internet model has 5 layers Application Transport Network Link Physical Protocols concrete realizations of these layers Nodes and links Nodes bridges, switches, routers, wireless access points, hosts (servers, desktops, laptops, mobile devices, things ) Links wires (copper, optical fiber) or wireless (WiFi, cellular, bluetooth) Addresses domain names, IP addresses, MAC addresses Scenario You want to view the New York Times webpage Web browser running on a laptop connected to the CS department network [Show NYTimes website] NYTimes home page is an HTML file stored on a server in New York City **Draw a picture that shows how the building blocks are put together to enable this scenario Parallel scenario 1

You want a travel brochure for New York City Paper form from NYC Visitors Bureau to request the brochure you want NYC Visitors Bureau has travel brochures they will send Applications Web browser process You provide the URL; browser requests the file(s) and renders the page Requirement : a way to issue a request and receive a response Browser process does not need to know what server holds the file, or how to reach that server Web server process Receives user requests; retrieves files from the file system; sends files to user File may be large requirement : a way to send the file in pieces Server process does not need to know how to reach the client, it just needs to know how to process a request and provide a response Browser and server need some agreement on the structure of the request and response HyperText Transfer Protocol (HTTP) Protocol defines a standard interface for communication, i.e., a standard message format Request includes method (GET), URL (/), host (nytimes.com), and User Agent Reply includes response code (200 OK), content length (193756 bytes), content type (text/html), and data Differentiate meta information (header) from the file (payload) Parallel scenario Form to request brochure is request Brochure is payload; a letter saying brochure is enclosed is the reply header [Show HTTP reply/response in Firebug] Operating System Requirement: a way to determine the path to the server **Who should determine the path? options: web browser/server, operating system, switches/routers Requirement: reliable delivery mechanism **Who should provide this reliable delivery mechanism? options: web browser/server, physical devices, operating system Operating system provides capabilities that are needed by many applications Reliable communication channel Determine next hop to reach destination Resolve human readable server name to numeric server identifier Reliable Communication Channel Formed between two processes One process needs to initiate the channel (client), and one process needs to be waiting for a channel to be initiated (server) requirement: formal setup (and teardown) steps Many different processes on a machine we specifically want to talk to the web server 2

**How do we identify the process we want to talk to? options: process id, executable name, port number Identify a specific process with a port number processes that use the same application protocol usually use a specific port, e.g., port 80 for HTTP **How do we make sure data is not lost? Not reordered? options: acknowledgements, sequence numbers Transmission control protocol (TCP) standard for reliable communication channel TCP setup: three way handshake SYN (synchronize), SYN+ACK (acknowledge), ACK TCP teardown: four way handshake FIN (finish), ACK, FIN, ACK Reliability: sequence number assigned to each byte of data, ACK for the highest number byte you got without having any gaps Retransmit if you don t get an ACK after some amount of time Need to communicate sequence numbers and control messages Add another header called encapsulation Parallel scenario: number each page of the request form and each page of the brochure Operating system provides sockets interface for applications; we ll talk about this next class Now that we have process process communication, we need host to host communication Numeric Addressing How do we identify the host we want to talk to? gave the browser a URL with domain name **What are the advantages of using a domain name for NYTimes server? easy to remember **What are the disadvantages? might want more than one server, could be many names for the same thing ( New York Times, NY Times ), could have multiple languages ( New York, Nueva York ), strings are harder for computers to deal with **Why is it important for everyone to agree on the system we use for identifying a host? Parallel scenario: what would happen if some people addressed letters using street addresses and some people addressed letters using latitude and longitude coordinates? Internet Protocol (IP) addresses common system of numeric addresses Identifies a host and encodes a location (not necessarily physical location) Version 4: 32 = 4.3 billion addresses; not enough Version 6: 2 128 = 3.4x10 38 ; a billion billion IP addresses available for every square mm of the Earth's surface IP addresses are assigned in blocks 128.105.0.0/16 is assigned to CS department 170.149.172.0/22 is NYTimes IP is another header we add remember encapsulation? Put both destination IP address, and source IP address source is needed so server knows who to send reply back to Parallel scenario: put request form or brochure in an envelope, and put destination street address and return address on envelope 3

Domain names are easy to remember, numerical addresses are not Parallel scenario: easy to say you want to contact NYC Tourism Bureau, but postal address is hard to remember Want a service where you can look it up phonebook Domain name system Converts a hostname into a numerical address Hierarchy of servers that provide the service ask DNS server in CS department, campus, ISP, root name server for.com, NYTimes server Next: how do we use the address to get the message to its destination? Forwarding If two hosts are directly connected, then send over physical link Parallel scenario: If you live across the street from the NYC Tourism Bureau, just walk across the street and drop off your envelope (save yourself 49!) Most communicating hosts are at least one hop away Parallel scenario: Your envelope needs to go through at least one post office Each node does not know the full path, only the next hop Parallel scenario: You don t know exactly which post offices will handle your envelope Your postal carrier just knows how to get your envelope to the local post office The local post office just knows how to get your envelope to the regional office Etc. **How do you determine the next hop? send to everyone you re physically connected to, keep some type of mapping Forwarding table A mapping between addresses and next hops Every host, router, and switch has a forwarding table Forwarding table does not contain an entry for every possible address leverage the hierarchical nature of IP addresses Parallel scenario: If your envelope is going to someone in your block, you put it in their mailbox; otherwise you give it to your postal carrier to go the post office Local post office will sort envelopes based on city+state+zip: envelopes going to same neighborhood are given to a carrier for delivery; envelopes going to another neighborhood go to a city wide post office City wide post office also sorts envelopes based on city+state+zip: envelopes going to a neighborhood in the same city each go to a specific local post office; envelopes going to another city each go to a specific city post office 4

Bigger post offices have a larger number of post offices they know about and distribute envelopes to [Show routing table on laptop] There are tools for us to discover the path taken by a packet [Run traceroute on laptop to show full path] Link/Physical Layer Add one more header (Ethernet) with another address (MAC address) skip over this for now OS sends packet through driver to network interface Packets nowadays get copied directly to NIC from memory without the OS needing to copy each byte direct memory access (DMA) NIC encodes and sends packet as an electrical signal 5