Networking and Internetworking 1

Similar documents
Networking and Internetworking 1

Networking and Internetworking

Internet Architecture and Experimentation

Internet Architecture and Experimentation

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

CS3600 SYSTEMS AND NETWORKS

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

CPEG514 Advanced Computer Networks. Atef Abu Salim University of Nizwa Spring 2013/2014

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

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

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

Introduction to computer networking

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

Internetworking Models The OSI Reference Model

Introduction to TCP/IP networking

03 The Internet Model and TCP/IP

Lecture 2. Computer Networks Models. Network Models 1-1

CSCI-GA Operating Systems. Networking. Hubertus Franke

ECE 650 Systems Programming & Engineering. Spring 2018

Chapter 09 Network Protocols

NT1210 Introduction to Networking. Unit 10

CSE 123A Computer Networks

Chapter 2 Communicating Over the Network

CSCD 433/533 Advanced Networks

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Introduction to Networks

Computer Communication & Networks / Data Communication & Computer Networks Week # 03

The Data Link Layer. 32 PART I Networking Basics

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

Chapter 7. Local Area Network Communications Protocols

TSIN02 - Internetworking

Need For Protocol Architecture

Need For Protocol Architecture

UDP, TCP, IP multicast

Peer entities. Protocol Layering. Protocols. Example

Lecture-4. TCP/IP-Overview:

CPS221 Lecture: Layered Network Architecture

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

CSE 461 Midterm Winter 2018

Operating Systems CS 571

Internet 최양희서울대학교컴퓨터공학부. MMlab 1

Outline. Inter-Process Communication. IPC across machines: Problems. CSCI 4061 Introduction to Operating Systems

Chapter 2 Network Models 2.1

Lecture 17 Overview. Last Lecture. Wide Area Networking (2) This Lecture. Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.

Chapter 12. Network Organization and Architecture. Chapter 12 Objectives Introduction Introduction

ECE 650 Systems Programming & Engineering. Spring 2018

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

CS155b: E-Commerce. Lecture 3: Jan 16, How Does the Internet Work? Acknowledgements: S. Bradner and R. Wang

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)

Reti di Calcolatori I

ES623 Networked Embedded Systems

System Programming. Introduction to computer networks

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Chapter 2 Network Architectures A global view

Defining Networks with the OSI Model. Module 2

Agenda. Before we start: Assignment #1. Routing in a wide area network. Protocols more concepts. Internetworking. Congestion control

Chapter 12 Network Protocols

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

cs144 Midterm Review Fall 2010

Lecture (11) OSI layer 4 protocols TCP/UDP protocols

TCP/IP protocol suite

SUBJECT: DATA COMMUNICATION AND NETWORK SEMESTER: V SEMESTER COURSE: BCA SUBJECT TEACHER: Dr.K.Chitra Assistant Professor, Department of Computer

ECE 435 Network Engineering Lecture 11

CSCI Computer Networks

CSC 546: Client/Server Fundamentals. Fall Major client/server protocols

4.0.1 CHAPTER INTRODUCTION

Network Layer (1) Networked Systems 3 Lecture 8

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

Outline. TCP/IP Internet

UNIT IV -- TRANSPORT LAYER

Chapter 2 Network Models 2.1

Network Protocols - Revision

OSI Transport Layer. objectives

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review.

infrared Disadvantage: 1. cannot use for long-range communication or outside a building due to sun s rays.

TCP /IP Fundamentals Mr. Cantu

Distributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017

Chapter -4 OSI Reference Model

CS4700/CS5700 Fundamentals of Computer Networks

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS

The Transmission Control Protocol (TCP)

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

CS164 Final Exam Winter 2013

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11

CMPE 80N: Introduction to Networking and the Internet

Introduction to Open System Interconnection Reference Model

Internet II. CS10 : Beauty and Joy of Computing. cs10.berkeley.edu. !!Senior Lecturer SOE Dan Garcia!!! Garcia UCB!

What is the difference between unicast and multicast? (P# 114)

TSIN02 - Internetworking

Network and Security: Introduction

COMP750. Distributed Systems. Network Overview

Network Model: Each layer has a specific function.

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

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

Transcription:

Networking and Internetworking 1 To do q q Networks and distributed systems Internet architecture xkcd

Internet history Early days ~1960 ARPA sponsored research on computer networking to enable remote sharing Electronic computers were scarce resources Renting an IBM System/360 - $5k/month ($35k/month 2016) 1969 First four ARPANET nodes connected Key decision: use packet switching 2

Internet history Early days From 1975 to 1980s Successful ARPANET ~ 100 nodes ARPA research on packet switching over radio and satellite New LANs connected via gateways TCP/IP conversion in 1983 Autonomous Systems and backbone AS for scalability 3

A bit of history NSF takes over Late 1980s NSF takes over Works on expanding the backbone Encourages development of regional networks Three tiers: backbone, regional, enterprise Enterprises were building TCP/IP networks and wanted to connect But NSF charter prohibited them from using NSFNET 1987 first commercial ISP, many follow shortly 4

A bit of history Commercial operation By 1990 service providers where interconnected Congress lets NSFNET interconnect with commercial networks By 1995, NSFNET was retired No single default backbone anymore Many backbones interconnected trough Network Access Points ~1995 Web Easier to use Internet Million of non-academic users 5

Internet building blocks Basic blocks Node Link Node More hosts? Wires for everyone or routers Routers act as switches routing mgs between nodes Router 6

Packet switching for communication Packet over circuit switching Information sent as self-contained packets, with an address Each routed independently to destination Store and forward Simpler than circuit-switched (in plain old telephone service) Source Host or local network 1 A 1 2 Link 2 B 2 Router 2 C D 1 E 1 2 Destination 7

Packet switching for communication Statistically multiplexing Switches arbitrate between inputs Send from any input that s ready (keep busy) If network is overloaded Short burst: buffer After that Packet drop Sender adjust rate until load matches resources congestion control 8

Networking protocols IPC is based on send/receive messages Message/packet transmission Message: logical unit of information Data transmission is in packets: transmission unit Restricted length: sufficient buffer storage, reduce hogging For communication to work, parties must agree on several things How does the receiver knows it got the last bit of a msg? How longs are integers? 9

Networking protocols Protocols agreed-upon rules and formats Sequence of messages to exchange, their formats Implemented by pair of software modules on each end Typically arranged in layers protocol suite or stack Layering and modularity to handle complexity Up and down the stack As a message is pass down, each layer adds a header (sometimes a trailer) On the receiver side the message is push upward with each layer stripping off and examining their own headers Ethernet header IP header TCP header HTTP header Application data (webpage) An example on the Web 10

Protocol stacks OSI and Internet Open Systems Interconnection model ISO OSI Not used in practice but good for understanding Source Destination 7.Application 6.Presentation 5.Session 4.Transport 3.Network 2.Data 1.Physical Communication medium 11

Lower-level protocols Lower-level protocols, together implementing the basic functions of a computer network Physical deals with (standardizing) mechanical and electrical details Just send bits, how long as there are no errors, all is fine Data link groups bits into frames and ensure they are correctly received Frames include checksums to check correctness Network describes how packet are routed from source to destination Most used network protocol Internet Protocol (IP) For many distributed systems, the lowest-level interface is that of the network layer 12

Transport and higher layers Transport protocols Transfer messages between clients, including breaking them into packets, controlling flow, etc. According to the OSI, three high-level layers Session provides dialog control and synchronization Control to keep track of who is currently talking To insert checkpoints in long transfers Presentation resolves differences in formats among sites Concern with meaning of transferred data to make resolving differences easier Application to meet the specs of a set of standard apps Originally intended to support a collection of standard network applications; now the container for all 13

Routing A packet placed in the network must be forward to its destination as specified in its packet s header A graph theory problem find the lowest-cost path between two nodes Routers decide outgoing interface for each packet Decision is called routing Placing it in the appropriate outgoing interface forwarding Set of links used packet s path For routing, routers must keep information on the configuration and state of the network Update state of links (added, removed, failed router, ) 14

Routing example RIP Routing Information Protocol Highly popular, distributed with BSD Unix Based on distance vector algorithm (Bellman-Ford) Router s routing table A record for each destination Fields: outgoing link, cost (e.g. hop count) A link that is down has an cost Routers send table summary periodically (30s) or when an update from other routers changes its tab If received table shows new or better route, update local one Distance vector router talks only to its neighbors, but tells them everything it has learned 15

Routing example Routing Table for B Routing Table for A To Link Cost A Local 0 B 1 1 C 1 2 D 3 1 E 1 2 Routing Table for D To Link Cost A 3 1 B 3 2 C 6 2 D Local 0 Source A 3 D 6 1 4 E B 5 2 C To Link Cost A 1 1 B Local 0 C 2 1 D 1 2 E 4 1 Routing Table for C To Link Cost A 2 2 B 2 1 E 6 1 Routing Table for E To Link Cost A 4 2 Destination C Local 0 D 5 2 E 5 1 B 4 1 C 5 1 D 6 1 E Local 0 16

A 5 break Details of Internet operation New challenges Addressing Routing Organization 17

Internet protocols Three higher layers è Just one Transport layer provides inter-process communication Transport address = net add + port Two key protocols TCP Transmission Control Protocol connection oriented, reliable stream communication UDP Universal Datagram protocol connectionless, unreliable datagram communication Network protocol provides communication host to host Link layer physically interface with communication medium Application Transport Network Link 18

Internet protocols IP Internet Protocol primary network layer protocol Best effort service unreliable, no guarantees Connection between a host and network is called interface Each interface has an address; format defined by IP; in IPv4 are 32b expressed as four decimals (165.124.180.20) IP addresses often grouped by their prefixes initial set of bits that all addresses in the group have in common e.g. 165.124.0.0/16 all addresses with first 16b equal to 165.124 Interface:165.124.180.20 host network 19

Internet as a set of ASes Internet A collection of separately, usually competing, managed networks Autonomous system (AS) Set of network elements under a single organization s control 1 ISP can operate N ASes; no AS is managed by more than one ISP ASes exchanged traffic at connection points, aka peering or exchange points Connections formed by establishing a link between gateway routers in each AS 20

Routing in the Internet RIP-1, the first routing algorithm used in the Internet A version of the distance-vector algorithm we discussed Slow convergence, potential instability, Floyd & Jacobson s * observation on 30s peak on latency Open Shortest Path First (OSPF), a better option Routers maintain a network map, updated when links change Each router monitor the links to which is connected and initiates a flooding protocol upon change Router talks to everyone, but only tells them what it knows for sure (state of directly connected links) To compute path to destination Each computes best path from it to every destination path with the lowest sum of link weights è routing table *S. Floyd and V. Jacobson, The Synchronization of Periodic Routing Messages, ACM ToN 1994 21

Routing messages needs addresses Challenge of Internet protocol design: naming and addressing scheme and routing Scheme for assigning addresses has to be Universal any host can send packets to any other Use address space efficiently no idea of eventual size 2 32 or ~4 billion addressable hosts sounds like enough?!? Enable flexible routing but addresses themselves shouldn t carry much information for routing Most of the Internet still on IP version 4 (IPv4) 22

Domain names Hard to remember IPs, some mechanism for using symbolic names (and mapping them) Naming for the Internet before 1983 Each computer retrieved HOST.TXT from a computer at SRI Legacy a host file still exist in most modern OS DNS by Paul Mockapetris (1983) Names organized into name spaces Name space partitioned organizationally and geographically A distributed system implements the hierarchical name space Each server holds a partial map of the domain name tree bellow their domain Lots of caching! www.eecs.northwestern.edu? Local DNS 129.105.8.227 23

IP communication model and some fixes IP model Messages may be lost, reo-ordered, corrupted Can you build a reliable, in-order, mostly non-corruption, stream-oriented communication service? Data corruption add checksums Lost data timeout and retry Data out of order Add sequence numbers 24

Internet protocols TCP Basic service a connection A communication channel between two hosts Service is provided to app, process to process Both senders and receivers create end points: sockets Application read to/write from sockets Sockets ID are #s: IP + 16b number local to the host, port Port numbers [0,1023] are well-known ports, reserved for standard services; [1024,49151] registered ports Port Service 13 daytime 22 ssh 1025 NFS 1293 IPSec 25

Internet protocols TCP API provides abstraction of a stream of bytes, hiding Message sizes and destination Lost messages, duplication and ordering Flow control General approach to reliability acknowledgement After sending each segment, source sets timer waiting for ack Congestion avoidance TCP will try to match the speed of the processes reading from/ writing to the stream Implemented by varying number of un-acknowledged packets the sender allows (window size) 26

Internet protocols UDP As TCP, process to process communication But simpler, a transport-level replica of IP UDP datagram is encapsulated inside a IP packet Header includes src & dest port #s, length field and checksum 0 15 16 31 Source port # Destination port # UDP length UDP checksum Data (if any) UDP adds no additional reliability to IP No guarantee of delivery (no acks or retries) Too large messages are truncated on arrival Messages may be drop or delivered out of order No setup costs, no transmission delays above IP 27

The programmers view The TPC/IP stack from a programmers perspective Application TCP Application UDP IP Application services and application-level protocols based on TCP/IP Web HTTP Email SMTP, POP Netnews NNTP File transfer FTP HTTP HTTPS: HTTP over TLS TCP IP HTTP TLS Transport Layer Security 28

Networking issues for distributed systems Early networks designed to meet relatively simple requirements from applications Recent uses and growth è higher demands on performance, scalability, reliability, 29

Networking issues for distributed systems Performance To access resources on a LAN 1,000x to access local memory, but faster than local disk Over the Internet 10-100x >> than a fast local network For Amazon 100ms extra latency ~1% sale loss * Quality of service Higher demands from real-time services >1,000ms Likely mental context switch >10,000ms Task is abandoned <100ms Instant perception 100-300ms Small perceptible delay 300-1000ms Machine is working http://blog.gigaspaces.com/amazon-found-every-100ms-of-latency-cost-them-1-in-sales/ 30

Google/Bing Web search delay experiment Measure the impact of latency on user behavior A/B testing (randomly assigning users to experiment and control group), server-side delays 400ms extra latency, 0.74% fewer searches over time Impact of Post-header Delays Over Time daily searches per user relative to control -1% -0.8% -0.6% -0.4% -0.2% 0% 0.2% -0.44% actual trend -0.22% 200 ms delay 400 ms delay -0.36% -0.74% E. Shurman, J. Brutlag, wk1 wk2 wk3 wk4 wk5 wk6 http://conferences.oreilly.com/velocity/velocity2009/public/schedule/detail/8523 31

Networking issues for distributed systems Scalability The Internet was not designed for expected or current scale, but yet must handle it Reliability Increased dependence èhigher reliability Security Large and more diverse user base + growing dependency èhigher security demands network is first level of defense Mobility Addressing and routing schemes developed before mobile devices; not well suited to it Multicasting Today s Internet use is mostly for content distribution with a 1-to-m and m-to-m communication pattern 32

Summary Distributed systems use different networks for communication Changes in user requirements have placed new demands on the underlying networks At the same time, the characteristics of networks (e.g., performance, reliability, scalability) impact the behavior of and affect the design of distributed systems Next: some operational issues and network principles 33