35
CS 125 - myintro 1 Suppose You Want to Build A Network Potential to… Grow to Global Proportions Support Diverse Applications teleconferencing video-on-demand distributed computing digital libraries any new application, e.g., text messaging, phone,

Suppose You Want to Build A Network - Harvey Mudd College

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 1

Suppose You Want to Build A Network

Potential to… Grow to Global Proportions Support Diverse Applications

teleconferencing video-on-demand distributed computing digital libraries any new application, e.g., text messaging, phone,

Page 2: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 2

Suppose You Want to Build A Network, cont

Potential to… Built from general purpose ideas Not optimized for particular application or technology or company Support Explosive Growth Ease of incorporating new applications Ease of changes to core technologies Ease of supporting new devices Ease of implementation – software & hardware

Page 3: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 3

Suppose You Want to Build A Network

Potential to Support Different Perspectives… User: services applications need, I.e., guarantee that each message sent is delivered without error in ‘reasonable’ time. Designer: cost-effective design, e.g., network resources are efficiently utilized and fairly allocated to different users Providers: system that is easy to administer and manage, eg., faults can be isolated, cost allocation

Page 4: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 4

Suppose You Want to Build A Network

What available technologies would serve as building blocks? What software architecture would you use? How would you incorporate the future? What principles would you enforce? How would you management development?

Page 5: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 5

Start with: Fundamental Requirement

A Computer Network must provide: general, cost-effective, fair, robust, secure, and high performance connectivity among a large diverse set of nodes/users/apps.

Page 6: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 6

Solution: Internetworking •  Abstraction that deals with complexity of multiple

underlying communication technologies tied together in a global network, i.e., no specific network technology

•  Essence of this course – chase Internetworking abstraction – Architecture – Protocols While stressing a set of guiding principles

Page 7: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 7

Solution: The Internet

This Course: Investigate Interneting at all levels in all ways. In particular the Internet Today:

Terms and concepts that you will see throughout the semester

Page 8: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 8

Building Blocks •  Nodes: PC, special-purpose hardware…

–  Hosts, servers…any machine connected to network –  Switches, routers, gateways…any networking device

•  Links: coax cable, optical fiber, twisted pair, avian carrier, … –  point-to-point or –  multiple access

■ ■ ■

(a)

(b)

Page 9: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 9

Switched Networks

–  two or more nodes connected by a link, or

–  two or more networks connected by a node

•  A network can be defined recursively as...

Page 10: Suppose You Want to Build A Network - Harvey Mudd College

The  monolithic  view  

10

1

2

3 4

5

6 7

Client Browser

Web server

THE INTERNET !!!!

Page 11: Suppose You Want to Build A Network - Harvey Mudd College

Why  “Internet”  •  Network  of  networks  •  Standardized  format  and  protocols  for  speaking  between  HETEROGENOUS  networks  

11

Page 12: Suppose You Want to Build A Network - Harvey Mudd College

Why  “Internet”  •  Network  of  networks  •  Standardized  format  and  protocols  for  speaking  between  HETEROGENOUS  networks  

12

Page 13: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 13

Connection Strategies: lowest level

•  Circuit switching: carry bit streams through a known connected network -- setup for each connection –  original telephone network

•  Packet switching: store-and-forward messages, at each hop the next path is pre-determined –  US postal system –  Internet

Page 14: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 14

Node Addressing and Message Routing

•  Address: byte-string that identifies a node –  usually unique, is uniqueness necessary or desired?

•  Routing: –  two processes:

•  process of forwarding messages to the destination node based on its address,

•  process of determining table of forwarding addresses which define next node on path to destination

•  Types of addresses –  unicast: node-specific –  broadcast: all nodes on the network –  multicast: some subset of nodes on the network –  Others? (anycast)

Page 15: Suppose You Want to Build A Network - Harvey Mudd College

A  network  of    “Autonomous  Systems”    

15

3 4

5

7

Client Browser

Web server

6

1

2

•  How do you name? •  How do you find a name?

Page 16: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 16

Traffic Multiplexing •  Time-Division Multiplexing (TDM) •  Frequency-Division Multiplexing (FDM)

L2

L3

R2

R3

L1 R1

Switch 1 Switch 2

Page 17: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 17

Statistical Multiplexing •  On-demand time-division •  Schedule link on a per-packet basis (what is a packet?) •  Packets from different sources interleaved on link •  Buffer packets that are contending for the link •  Buffer (queue) overflow is called congestion

■ ■ ■

Freeways, Leaky Bucket

Page 18: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 18

Inter-Process Communication (IPC)

•  Turn host-to-host connectivity into process-to-process communication.

•  Fill gap between what applications expect and what the underlying technology provides, I.e., order of packets, reliability, etc.

Host

HostHost

Channel

ApplicationHost

ApplicationHost

Page 19: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 19

IPC Abstractions

•  Request/Reply –  distributed file systems –  digital libraries (web)

•  Stream-Based –  video: sequence of frames

•  1/4 NTSC = 352x240 pixels •  (352 x 240 x 24)/8=247.5KB •  30 fps = 7500KBps = 60Mbps

–  video applications •  on-demand video •  video conferencing

Is this all???

Page 20: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 20

What Goes Wrong in the Network? •  Bit-level errors (electrical interference) •  Packet-level errors (congestion, dropped) •  Link and node failures (new path) •  ?? •  Packets are delayed •  Packets are deliver out-of-order •  Third parties eavesdrop •  ?? •  Today’s Internet can barely support apps, yesterday’s

and tomorrow’s Internet have same problem

Page 21: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 21

Protocols?? •  Define a Protocol?? •  Building blocks of a network architecture •  Each protocol object has two different interfaces

–  service interface: operations on this protocol (API) –  peer-to-peer interface: messages exchanged with peer (RFC)

•  Term “protocol” is overloaded –  specification of peer-to-peer interface –  module that implements this interface

Page 22: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 22

Interfaces

Host 1 Host 2

Serviceinterface

Peer-to-peerinterface

High-levelobject

High-levelobject

Protocol Protocol

Page 23: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 23

Layering?? •  Use layering abstraction to hide complexity •  Abstraction naturally leads to layering •  Alternative abstractions at each layer

Hardware

Host-to-host connectivity

Request/replychannel

Message streamchannel

Application programs

Page 24: Suppose You Want to Build A Network - Harvey Mudd College

24

Protocol Machinery •  Protocol Graph

–  most peer-to-peer communication is indirect –  peer-to-peer is direct only at hardware level

The Net

Host 1 Host 2 File

application Digital library

application Video

application File application

Digital library

application Video

application

CS 125 - myintro

Page 25: Suppose You Want to Build A Network - Harvey Mudd College

25

Protocol Machinery (cont) •  Multiplexing and Demultiplexing (demux key) •  Encapsulation (header/body)

Host Host Application

program Application program

RRP Data Data

HHP

RRP

HHP

Application program Application

program

RRP Data RRP Data

HHP RRP Data

CS 125 - myintro

Page 26: Suppose You Want to Build A Network - Harvey Mudd College

Layer  EncapsulaGon  in    

26

Get index.html

Connection ID

Source/Destination

Link Address

User A User B

Link hardware

Host-to-host connectivity

App-to-app channels

Application

Page 27: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 27

Internet Architecture •  Defined by Internet Engineering Task Force (IETF) •  Hourglass Design •  Overload: Application vs Application Protocol (FTP,

HTTP)

■ ■ ■

FTP

TCP UDP

IP

NET 1 NET 2 NET n

HTTP NV TFTP

Hour Glass

Apps Transport Network Link/Data

Page 28: Suppose You Want to Build A Network - Harvey Mudd College

IP  Suite  In  AcGon:    End  Hosts  vs.  Routers  

28

HTTP

TCP

IP

Ethernet interface

HTTP

TCP

IP

Ethernet interface

IP IP

Ethernet interface

Ethernet interface

SONET interface

SONET interface

host host

router router

HTTP message

TCP segment

IP packet IP packet IP packet

Page 29: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 - myintro 29

ISO Architecture

One or more nodeswithin the network

End host

Application

Presentation

Session

Transport

Network

Data link

Physical

Network

Data link

Physical

Network

Data link

Physical

End host

Application

Presentation

Session

Transport

Network

Data link

Physical

Page 30: Suppose You Want to Build A Network - Harvey Mudd College

OSI levels •  Physical – electro-mechanical interface •  Data Link – transmission, framing, error control over link.

Divided into media dependent and independent •  Network – data transfer across network, independent of

media or topology •  Transport – reliability and multiplexing of data •  Session – adds control mechanisms to data exchange, e.g.,

start stop, port numbers •  Presentation – structure and coding (ASCII, little-endian,

big-endian •  Application – User application, e.g., ftp, telnet

CS 125 - myintro 30

Page 31: Suppose You Want to Build A Network - Harvey Mudd College

Internet: Systems Approach We reject kings, presidents, and voting. We believe in rough

consensus and running code… •  Implies doing experimental performance studies •  Do not accept existing artifacts as gospel, but instead strive

to understand the concept that are fundamental to the system. •  Draw on a collection of design principles that have evolved

from experience with computer systems in •  Study successful, working examples: systems cannot be

studied in the abstract •  Look at the big picture •  Build and test, build and test, …. •  Specify and document, specify and document,… CS 125 - myintro 31

Page 32: Suppose You Want to Build A Network - Harvey Mudd College

CS 125 About: •  Principles and concepts •  General purpose computer networks •  Internet Perspective

–  Network software –  Designing and building a protocol system –  Analysis of the Internet –  Network applications.

•  Web page for course •  You will learn

–  Knowledge – How Internet Works –  Insight – Naming, layering, … –  Skill – Network programming, Network analysis

CS 125 - myintro 32

Page 33: Suppose You Want to Build A Network - Harvey Mudd College

Networking  is  Relevant  

33

Page 34: Suppose You Want to Build A Network - Harvey Mudd College

34

Information wants to be free because it has become so cheap to distribute, copy, and recombine... It wants to be expensive because it can be immeasurably valuable to the recipient. (1985)

Page 35: Suppose You Want to Build A Network - Harvey Mudd College

The End

CS 125 - myintro 35