Welcome to: Computer Science 457 Networking and the Internet. Fall 2016 Indrajit Ray

Similar documents
Welcome to: Computer Science 457 Networking and the Internet. Fall 2014 Dr. Joseph Gersch

Internet. Organization Addresses TCP/IP Protocol stack Forwarding. 1. Use of a globally unique address space based on Internet Addresses

Review of Important Networking Concepts TCP/IP

Outline : Computer Networking. Objectives. Who s Who? Administrivia. Layering. L-1 Intro to Computer Networks

Computer Networks. Fall 2012 (M 6:15-9:00 in Jbarry 201B) Mirela Damian.

15-744: Computer Networking. L-1 Intro to Computer Networks

TCP/IP Networking Basics

Announcements Computer Networking. What is the Objective of the Internet? Today s Lecture

CS 457 Lecture 11 More IP Networking. Fall 2011

Welcome to CS 340 Introduction to Computer Networking

CE 443: Computer Networks

cs144 Midterm Review Fall 2010

Where we are in the Course

Introduction to Information Science and Technology 2017 Networking II. Sören Schwertfeger 师泽仁

Lecture 2: Internet Structure

Announcements. CS 5565 Network Architecture and Protocols. Outline for today. The Internet: nuts and bolts view. The Internet: nuts and bolts view

ECPE / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

EE 122: IP Forwarding and Transport Protocols

Layering and Addressing CS551. Bill Cheng. Layer Encapsulation. OSI Model: 7 Protocol Layers.

IP Packet Switching. Goals of Todayʼs Lecture. Simple Network: Nodes and a Link. Connectivity Links and nodes Circuit switching Packet switching

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

CS 43: Computer Networks The Link Layer. Kevin Webb Swarthmore College November 28, 2017

CSC 4900 Computer Networks: Introduction

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

Data Networks. Lecture 1: Introduction. September 4, 2008

Network Layer (1) Networked Systems 3 Lecture 8

Lecture 15 Networking Fundamentals. Today s Plan

Review of Important Networking Concepts

Sirindhorn International Institute of Technology Thammasat University

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

CSCI-1680 Network Layer:

CS 204: Advanced Computer Networks

Hands-On IP for TeleCom Technicians Internetworking, TCP/IP, VLANS, Wirelss and more...

Lecture 3: Modulation & Layering"

Distributed Systems /640

ECE 158A: Lecture 7. Fall 2015

Department of Computer and IT Engineering University of Kurdistan. Network Layer. By: Dr. Alireza Abdollahpouri

19: Networking. Networking Hardware. Mark Handley

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

Lecture 8. Basic Internetworking (IP) Outline. Basic Internetworking (IP) Basic Internetworking (IP) Service Model

Basics of datacommunication

Computer Science 425 Distributed Systems CS 425 / ECE 428. Fall 2013

TCP/IP Networking. Training Details. About Training. About Training. What You'll Learn. Training Time : 9 Hours. Capacity : 12

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1

CPSC156a: The Internet Co-Evolution of Technology and Society. Lecture 4: September 16, 2003 Internet Layers and the Web

Class Overview. CSE 123b Communications Software. Some hints. Some hints (2) Administrativa. Course material. Winter 2002

Switching Networks (Fall 2010) EE 586 Communication and. August 27, Lecture 2. (modified by Cheung for EE586; based on K&R original) 1-1

precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level)

This tutorial will help you in understanding IPv4 and its associated terminologies along with appropriate references and examples.

TDTS06 Computer Networks Final Exam: 14:00-18:00, Friday, November 1, 2013

Telecom Systems Chae Y. Lee. Contents. Overview. Issues. Addressing ARP. Adapting Datagram Size Notes

Router Router Microprocessor controlled traffic direction home router DSL modem Computer Enterprise routers Core routers

Introduction to the Internet

EECS 228a Lecture 1 Overview: Networks. Jean Walrand

Computer Networks. 19 December This exam consists of 6 questions with subquestions. Every subquestion counts for 10 points.

CS164 Final Exam Winter 2013

Who is your professor? Course overview, expectations, etc. Simple network basics

CS 332: Computer Networks Introduction

Homework 3 Discussion

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

Introduction COURSE BACKGROUND. Lecture Notes. Today s Lecture. Your Instructor. Syllabus and Calendar Are Online

CSCI Computer Networks

ECE 650 Systems Programming & Engineering. Spring 2018

5105: BHARATHIDASAN ENGINEERING COLLEGE NATTARMPALLI UNIT I FUNDAMENTALS AND LINK LAYER PART A

PLEASE READ CAREFULLY BEFORE YOU START

EEC-484/584 Computer Networks

Introduction to computer networking

Part 1: Introduction. Goal: Review of how the Internet works Overview

How does the Internet Work? The Basics: Getting a Web Page. The Basics: Getting a Web Page. Client-Server model. The Internet: Basics

Student ID: CS457: Computer Networking Date: 3/20/2007 Name:

Communication Networks - 3 general areas: data communications, networking, protocols

CS 428/528 Computer Networks Lecture 01. Yan Wang

CS 3640: Introduction to Networks and Their Applications

PLEASE READ CAREFULLY BEFORE YOU START

CMPE 150 Winter 2009

CSCD 433/533 Advanced Networks

CPSC 441 COMPUTER NETWORKS MIDTERM EXAM

CSCI4211: Introduction to Computer Networks Fall 2017 Homework Assignment 1

Introduction to Information Science and Technology 2017 Networking I. Sören Schwertfeger 师泽仁

Your Name: Your student ID number:

Introduction to Networks

CS4450. Computer Networks: Architecture and Protocols. Lecture 20 Pu+ng ALL the Pieces Together. Spring 2018 Rachit Agarwal

Network Connectivity and Mobility

ITEC 3210 M - Applied Data Communications and Networks. Professor: Younes Benslimane, Ph.D.

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

Protocol Layers & Wireshark TDTS11:COMPUTER NETWORKS AND INTERNET PROTOCOLS

Communication Networks

Defining the Internet

Outline: Connecting Many Computers

Upon successful completion of this course, the student should be competent to complete the following tasks:

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

Computer Networking. Introduction. Quintin jean-noël Grenoble university

Chapter 1. Computer Networks and the Internet

School of Engineering Department of Computer and Communication Engineering Semester: Fall Course: CENG415 Communication Networks

Transcription:

Welcome to: Computer Science 457 Networking and the Internet Fall 2016 Indrajit Ray 1

Administrivia Website: http://www.cs.colostate.edu/~cs457 For both local and remote students Syllabus, Outline, Grading Policies Homework and Projects Available on CANVAS Submit on CANVAS Instructor: Indrajit Ray Office hours: 11:00 am 1:00 am T, R or by appt. Rm 344 CSB Email: indrajit.ray@colostate.edu Teaching Assistant: Subhojeet Mukherjee Office hours: TBA Email: subomuk@cs.colostate.edu Recitation Sections (WF@ CSB 315) Unix/C/Makefile tutorials, Socket programming Homework/Project discussion/solutions 2

Grading and Policies Grading 10% Homework 5% Project 1 10% Project 2 25% Project 3 20% Midterm 1 20% Midterm 2 Grading Policy See grading policy for late homeworks and projects on the website No make-up exams. It is your responsibility to check for conflicts and make arrangements 3

Workload Weekly Reading Assignments Frequent Homework Assignments Some from the book Pen & paper problems, small programming exercises Submissions MUST be typed! Be nice to the TA Exams 2 midterms Course Projects Language: C/C++ ONLY! (no Java or Python or other languages) Projects can be developed on your laptop, but MUST run on Linux Lab machines in the CS department. 4

What About the Book? All the material you need for the exams will be on the slides However, the book is very valuable to clarify concepts and help you with the homework Don t care what edition of the book you have, but make sure you solve the correct homework! It is your responsibility to identify correct homework 5

How to Do Well in this Class Review your C/C++ now! Projects 2 and 3 are not trivial Do all the homework Understand the high-level picture during the lecture. You can review details later on your own, or ask me or the TA After each lecture, ask what you have learned and how it fits with the big picture 6

Cheating Policy Simple cheating policy Anyone caught cheating will FAIL the CLASS! Regardless of what you cheated on, so don t cheat. We know that solutions to the book exercises are on the web don t use those solutions! Plagiarism see definition http://writing.colostate.edu/guides/teaching/plagiarism/ Rule of thumb: if you didn t write it, it s not yours Cut and paste from the Web is plagiarism 99% of the time 7

Questions? 8

Our Focus: the Internet There ARE other networks! Cable, satellite, POTS, sensor nets, etc. Interested in Protocols and Mechanisms Protocol rules and algorithms Investigate mechanism tradeoffs Why this way and not another? First high-level picture, then the details 9

By the End of the Class.. You will have a good understanding of networking concepts You will know UDP/TCP/IP You will understand how key applications of the Internet work 10

Chapter 1: Foundations Networking is a very broad topic How does a wireless card talk to a base station? How does a message get from CSU to Amazon.com? How does an application (web browser, IM, P2P) work? How to do deal with loss, delay, congestion, security? First Goal: Learn Big Picture and Terminology What are network layers? What is a protocol? What are the basic network components? 11

What is a Network? Point-to-Point Multiple Access Wireless 12

Definition of a Network A network can be defined recursively as... Two or more nodes connected by a link, or two or more networks connected via two or more nodes Internet: network of networks 13

Simplest Network

Local Area Network (LAN)

Network of LANs argon.tcpip-lab.edu "Argon" 128.143.137.144 neon.tcpip-lab.edu "Neon" 128.143.71.21 router137.tcpip-lab.edu "Router137" 128.143.137.1 router71.tcpip-lab.edu "Router71" 128.143.71.1 Router Ethernet Network Ethernet Network

Internetworking Internetwork = Collection of networks connected via routers

Internet = Virtual Network

Network Components The network is composed of: Hosts or endpoints (PCs, PDAs, cellphones, laptops, etc.) Routers (specialized machines that route packets) The distinction is often blurred (caches, content servers, etc.) 19

Network Network needs: wires (from the phone or cable company) and maybe some wireless equipment Router(s) a firewall? an ISP to connect to the Internet a network address block (e.g., 192.168.1.xxx) servers 20

An ISP ISP needs: a (big?) block of addresses connections to one or more other ISPs, peerings multiple routers, some at exchange points servers for your users: mail, web, etc. servers for you: monitoring, billing, etc. competent network admins (recommended) an AUP (Acceptable Use Policy) a lawyer 21

Idealized Network Structure Backbones, Tier 1 (national, global) Regional, Tier2 Campus LANs, Business The Internet today looks nothing like this! 22

Some Basic Terms Simple Example: Use web browser to lookup www.cnn.com My Laptop - Running web browser Internet Web Server www.cnn.com My laptop and the web server are both End Systems = Hosts End systems can also include PDAs, sensors, cell phones, and generally any device using the network to communicate End systems are located at the network edge and connected to the network using communication links (wired or wireless) 23

Client/Server Communication Model My Laptop - Running web browser Internet Web Server www.cnn.com End systems may be classified as client, a server, both, or neither. Client - runs some program that requests services: web browser requests a page, email reader requests messages, ftp program requests files, etc. Server - runs some program that listens for requests and provides services. web server, email server, ftp server, etc. Client vs. server depends on what programs the end system is running. 24

What is a Packet? Self-contained set of bits Includes a header and (in most cases) user data or payload Header: needed by the network - contains control information needed to deliver the packet to the destination Payload: can be anything network does not care 25

Example: IP Packet 4-bit 4-bit Header Version Length 8-bit Type of Service (TOS) 16-bit Total Length (Bytes) 16-bit Identification 3-bit Flags 13-bit Fragment Offset 8-bit Time to Live (TTL) 8-bit Protocol 16-bit Header Checksum 20-byte header 32-bit Source IP Address 32-bit Destination IP Address Options (if any) Payload 26

Circuit vs. Packet Switching Circuit switching: Reserve the circuit ahead of time, exclusive use by one connection Like reserving your own lane in the highway, so your lane cannot be used by others. But with networks, the highway has hundreds or thousands of lanes!! Example: Telephone network (POTS) Packet switching: Nothing gets reserved, share the lanes with everyone else Leads to Statistical Multiplexing!! (remember this term) Example: Internet What are the advantages/disadvantages of each? 27

Packet Switching Illustration Interleave packets from different sources Efficient: resources used on demand Accommodates multiple applications, bursty traffic Statistical multiplexing 28

Statistical Multiplexing Gain Problem: Link is 1 Mbps; users require 0.1 mbps when transmitting; users active only 10% of the time. How many users can we support? Answer: Circuit switching: can support 10 users. Packet switching: with 35 users, probability that >=10 are transmitting at the same time = 0.0004. 29

Host Configuration Host configuration needs: 1. a physical network cable or wireless card 2. an IP address 3. a network mask 4. a gateway 5. a DNS server (and other servers) 2-5 often obtained using DHCP (dynamic host configuration protocol) 30

How Do Computers Find Each Other? Computer1 Computer 2 Internet 31

What Are the Different Kinds of Names and Addresses? Have domain name (e.g., www.colostate.edu) Global, human readable name DNS translates name to IP address (e.g. 128.82.103.106) Global, understood by all IP networks Finally, we need local net address e.g., Ethernet (08-00-2c-19-dc-45) Local, works only on a particular type of link 32

Sending a packet from Argon to Neon argon.tcpip-lab.edu "Argon" 128.143.137.144 neon.tcpip-lab.edu "Neon" 128.143.71.21 router137.tcpip-lab.edu "Router137" 128.143.137.1 router71.tcpip-lab.edu "Router71" 128.143.71.1 Router Ethernet Network Ethernet Network

Sending a 128.143.71.21 packet is from not on my Argon local network. to Therefore, I need to send the packet to my default 128.143.71.21 Neon gateway with isaddress on my local 128.143.137.1 network. DNS: ARP: What What The is IP is the address the IP MAC address of Therefore, I can send the packet directly. of address ARP: neon.tcpip-lab.edu? The of MAC 128.143.137.1? address is of 128.143.71.21 128.143.137.1 is 00:e0:f9:23:a8:20 ARP: What is the MAC ARP: address The of MAC 128.143.71.21? address of neon.tcpip-lab.edu 128.143.137.1 is 00:20:af:03:98:28 argon.tcpip-lab.edu "Argon" 128.143.137.144 "Neon" 128.143.71.21 router137.tcpip-lab.edu "Router137" 128.143.137.1 router71.tcpip-lab.edu "Router71" 128.143.71.1 Router frame frame Ethernet Network Ethernet Network

DHCP Simplified Computer 1 Local DHCP server Broadcast: I need an IP address/mask Here you go: 129.82.138.196/24 Here s your gateway: 129.82.138.254/24 Here s your DNS server: 129.82.103.106 35

Finding Ether Address: Address Resolution (ARP) Broadcast: who knows the Ethernet address for 129.82.138.254? (gateway address) Ethernet Broadcast: I do, it is 08-00-2c-19-dc-45 Ethernet 36

Domain Naming System (DNS) Computer 1 Local DNS server What s the IP address for www.colostate.edu? It is 129.82.103.106 37

How Do the Routers Know Where to Send Data? Each router has a forwarding table, which is populated by routing protocols Original Internet: forwarding table was manually updated! Network was small enough Routing protocols update tables based on cost (typically hop count) Exchange tables with neighbors or everyone to build a shortest path tree, then Use neighbor leading to shortest path 38

Programming with Layers Sub-divide the problem Each layer relies on services from layer below Each layer exports services to layer above Interface between layers defines interaction Hides implementation details Layers can change without disturbing other layers Application Application-to-application channels Host-to-host connectivity Link hardware 39

User A Network Layering Teleconferencing Peers Application User B Transport Network Link Host Layering: technique to simplify complex systems Host 40

IP Suite: End Hosts vs. Routers host HTTP HTTP message host HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP IP packet IP Ethernet interface Ethernet interface SONET interface SONET interface Ethernet interface Ethernet interface 41

Layer Encapsulation User A User B Get index.html Connection ID Source/Destination Link Address 42

The Internet Hourglass Design Applications Application protocols Transport protocols Remember this one! Why the narrow waist? [Deering98] Network protocol Link layer protocols (framing, access ctl..) Physical layer (hardware) 43

Designing Protocols What factors should be taken into account when designing protocols? Application requirements can vary widely Network characteristics bandwidth, delay, loss, etc. Link characteristics wired, wireless, copper, optical, etc. 44

Application Requirements vs. Network Service Application may provide input to network Traffic data rate Traffic pattern (bursty or constant bit rate) Traffic target (multipoint or single destination, mobile or fixed) Internet does not accept any of this! Network service delivered to application Delay characteristics Loss characteristics In the Internet applications measure and adapt 45

Email, Reliable File Transfer Loss sensitive Not delay sensitive relative to round trip times Point-to-point Bursty 46

Remote Login Loss sensitive Delay sensitive Subject to interactive constraints Can tolerate up to several hundreds of milliseconds Bursty Point to point 47

Network Audio Relatively low bandwidth Digitized samples, packetized Delay variance sensitive Loss tolerant Possibly multipoint, long duration sessions Natural limit to number of simultaneous senders 48

Network Video High bandwidth Compressed video, bursty Loss tolerance function of compression Delay tolerance a function of interactivity Possibly multipoint Larger number of simultaneous sources 49

Web Transactional traffic Short requests, possibly large responses Loss (bug?) tolerant (hit refresh) Delay sensitive Human interactivity Point-to-point (multipoint is asynchronous) 50

Bandwidth-Delay Product Very important consideration in network design Determines how much data is in transit (and thus cannot be stopped) 51

Examples Link Type Bandwidth Distance RTT BW x Delay Dial-up 56Kb/s 10Km 87 µs 5 bits Wireless Lan 54Mb/s 50m 0.33µs 18 bits Satellite 45 Mb/s 33,000 Km 230 ms 10 Mb Cross-country fiber 10Gb/s 4,000 Km 40 ms 400 Mb 52

What Next? Read Chapter 1 Project 1 will be posted on the web the TA will cover it in recitation along with intro to socket programming and makefiles Homework 1 will be posted on the web 53