Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental...

32
Computer Networks (CS 778) Chapter 1, Foundations – 1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier. 1st step is to identify the constraints and requirements that influence network design.

Transcript of Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental...

Page 1: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

Computer Networks (CS 778)

• Chapter 1, Foundations– 1.1 Requirements

• understanding the fundamental network ideas makes understanding any new protocol easier.

• 1st step is to identify the constraints and requirements that influence network design.

Page 2: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

2

Perspective• It is important to understand the expectations one has of a network depending on your

perspective

• Network users: services that their applications need, e.g., guarantee that each message it sends will be delivered without error within a certain amount of time

• Network designers: cost-effective design e.g., network resources are efficiently utilized and fairly allocated to different users

• Network providers: system that is easy to administer and manage e.g., faults can be easily isolated and it is easy to account for usage

• This section attempts to distill these different perspectives into a high-level introduction to the major considerations that drive network design and, in doing so, identify challenges addressed throughout the book.

Page 3: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

3

1.1.1 Connectivity Building Blocks• A network must provide connectivity among computers.

– a few select machines (private corporate networks).• privacy, security concerns

– potentially all computers in world (e.g., the Internet).• growth concerns (challenge of scalability to arbitrary size)

• Network connectivity occurs at many levelsLink: physical medium directly connecting computers(coax, fiber)

2 computers: point-to-point (pp links) link.

more than 2 computers: multiple-access link.

• limited size (geographically & #nodes) or unlimited (satellite nets)

• Node: a computers (other device?) linked by network.– indirect connections among sets of cooperating nodes possible– (without a complete set of direct physical connections)

Page 4: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

4

StrategiesNode in a set of nodes can be connected to 1 or more links

– Those attached to 2 run software to forward data from 1 to next

• CIRCUIT SWITCHED networks (carry bit streams, e.g., telephony networks)

• circuit-switched net establishes dedicated circuit across a sequence of links, allows source to send a stream of bits.

• PACKET SWITCHED(store-and-forward, vast majority eg, Internet)

– nodes send discrete data blocks (frames/packet/messages)– Use "store and forward" strategy, typically:

• Each nodes receives an entire packet,• stores it in its internal memory,• forwards complete packet to the next node.

Page 5: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

5

Switched Networks

A network = 2 or more nodes connected by links (and a network is the simples internet

An "internet“ consists of 2 or more networks/internets. Signified by links interconnecting clouds. The nodes on these links are called routers or gateways

Nodes can be inside the network (switches, routers, gateways) or outside the network (hosts)

A cloud is used for any type of net (pt-to-pt or multiple access)

A generic internet (connected group of networks) will be in lower case while the currently operational TCP/IP Internet will be indicated in upper case.

internetworking can be recursed to any number of levels.

Page 6: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

6

Addressing and Routing

• Internetworking requires "addressing" so communication can take place.

– Address: identifies a node– Routing: systematic determination of how to forward a message to

destination node, based on its address (unicast assumed here)

• Types of addresses

– unicast: specific node on a network/internet– broadcast: all nodes on a network/internet– multicast: some subset of the nodes on a network/internet

Page 7: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

7

Multiplexing (multiple users sharing a system resource concurrently)

• Cost-effective Resource Sharing• Packet Switching used in computer networks

– In circuit switching, when no data is being sent, "circuit” cannot be used by another source-destination pair).

– Collection of nodes indirectly connected by nesting of neworks, node pairs may send messages concurrently across a link.

• Time-Division Multiplexing (TDM)

– divide time into equal quanta, round-robin among flows.• Frequency-Division Multiplexing (FDM) (transmit flows over different frequencies)

L1

L2

L3

R1

R2

R3Switch 1 Switch 2

Page 8: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

8

Statistical Multiplexing (SM) (in TDM and FDM, if a flow has nothing to send,

resource is wasted over that time or frequency)

SM Time-division, but on demand, not fixed.– Reschedule link on a per-packet basis– Packets of different sources interleaved on link– Buffer packets that are contending for the link– Packet queue processed FIFO/priority– Buffer overflow is called congestion

Physical link shared over time (like TDM) but data transmitted on demand, not during predetermined time slots. Flow gets to transmit without waiting (if it's the only flow with data) and it avoids idle time.

How does SM ensure each flow gets a turn? (Upper bound packet size, rather than arbitrary sized message) - may require "segmentation/reassembly (SAR)

Decision made on packet by packet basis as to which flow sends if >= 1 flow has data, packets are interleaved (usually FIFO, RoundRobin)QoS can be requested (max packet delay, etc.)

– Buffers needed when switch gets packets faster than it can send.– When buffers fill up (switch congested) some packets must be dropped.

Page 9: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

WDM and DWDM

DWDM (Dense Wave Division Multiplexing) uses greater wavelength packing densities to multiplex more optical signals over one fiber.

Passive bandpass filter

Optical fiber

WDM

Page 10: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

10

Inter-Process Communication• One optionOne option: application designers build all functionality into applications.

• Better option: implement "common services", for application designer’s use.

• Challenge for network designers is to identify the right set of services which hide complexity without over-constraining designer. Think of logical process channels as providing communication services: guaranteed message-delivery/correct-ordering & secure communication (no eavesdropping)

• Turn host-to-host connectivity into process-to-process communication.• Fill gap between what apps expect and what underlying technology provides.• Think of the net as more than a delivery system of packets between computers. Think

of it as providing names for sets of applic-processes to communicate over network.

Host HostApplication

Host

Application

Host Host

Channel

Page 11: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

11

IPC AbstractionsRemote File Access - 1 of the earliest application classes (FTP, NFS, …)

Client (request file be sent) Server (honors request) model is used.

remote reading: client sends small "request"; server sends large "file".

remote writing: client sends large "file"; server sends small "ack".

Another class of applications is video over the net (VOD, video-conferencing)

Two types of channels (IPC entities) might be provided for these applications,

Request/Reply (for files) (guarantee delivery, protect privacy/integrity..)

Message-stream (for video)

(order-preserve, privacy/integrity protecting, supporting multicasting.

Page 12: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

12

What Can Go Wrong in the Network?• Bit-level errors

– single bits, burst errors (several consecutive bits)– fairly rare (every 10^6 bits on copper; 10^13 on optical)– there are detection/correction techniques.

• Packet-level errors (e.g., due to congestion and packet dropping?, error?)– (packet lost/discarded due to congested switch or routing error)

• Link and node failures• Messages are delayed• Messages are deliver out-of-order• Third parties eavesdrop

Key problem is to fill in the gap between what applications expect and what underlying technology provides.

Page 13: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

13

Bandwidth• # of bits per second that can be sent.Latency (delay)• Time to send message from point A to point B• Example: 24 ms across this continent on fiber• Sometimes interested in round-trip time (RTT)

– E.g., in Request/Reply mode.

• Components of latencyLatency = Propagation + Transmit + QueuePropagation = Distance / SpeedOfLightTransmit = Size / Bandwidth– amount of time it takes to transmit a unit of data.– delay from when 1st bit of data arrives at dest. of link[channel] until last bit

arrives link[channel] Queue latency (delays in switch and send queues - none for links)

Page 14: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

14

Speed of light 3.0 x 108 meters/second in a vacuum

2.3 x 108 meters/second in a cable 2.0 x 108 meters/second in a fiber– no queuing delays in direct link– bandwidth not relevant if Size = 1 bit– process-to-process latency includes software overhead– software overhead can dominate when Distance is small– Terminology:

• NAME: Deka Hecto Kilo Mega Giga Tera Peta Exa• Power of 10: 1 2 3 6 9 12 15 18• NAME: Deci Centi Milli Micro Nano Pico Femto Atto• Power of 10: -1 -2 -3 -6 -9 -12 -15 -18

• Bandwidth versus Latency (relative importance)

• If you’re sending 1 byte, propagation latency dominates• - Big difference between 1 ms latency and 100 ms• - Bandwidth is immaterial (1 Mbps / 1000 Mbps??)

• If you’re sending 500 MB, bandwidth dominates• - Big difference: at 1 Mbps (500 sec transmit delay) or 1 Gbps (500 msec transmit delay)• - Prop latency is less material (1msec / 100 msec)

Page 15: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

15

Delay x Bandwidth Product• Delay x Bandwidth Product is often useful

– Example: 100ms x 45Mbps ~= 562KB– #bits held by pipe at one time. (Bandwidth ~ # bits/meter)

• Whereas, delay ~ length of pipe in meters (or sec, since speed light is constant

– #bits a source must send before 1st bit appears at dest.

Bandwidth

Delay

Page 16: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

Network Architecture (general blueprint for design/implementation)

• The 2 most common architectures are Open Systems Interconnection (OSI) and Internet.• Layering and Protocols

– When a system gets complex, designers use levels of abstraction• encapsulation that provides an interface for higher layers,• hides details of how the layer is implemented.

• Challenge: identify abstractions that provides useful services and can be easily implemented in the underlying system.

• Services provided at higher layers are implemented in terms of services provided at lower layers.

• E.g., Application Programs layer

– Process-Process layer (AKA channels)– Host-Host layer (links)– Underlying Hardware layer

Page 17: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

17

Layering• Use abstractions to hide complexity

• Abstraction naturally leads to layering

• Can have alternative abstractions at each layer

Types of process-to-process “channels” -->

Page 18: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

Protocol• Provides communication service that higher-layer objects

use to exchange messages.• Protocols have:

– Service-interface used by objects to specify communication services (e.g., request/reply versus message-stream are protocol options for process-to-process channels)

– Peer-interface to protocol’s counterpart (peer) on another machine (Note, except at the hardware level where peers communicate directly over a link, peer-to-peer communication is indirect (each protocol communicates with a peer by passing messages to some lower level protocol...)

Page 19: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

19

Protocols• Net architecture bldg blocks – 2 interfaces:

– service interface: operations on this protocol

– peer-to-peer interface: messages exchanged with peers

Host 1

Protocol

Host 2

Protocol

High-level

object

High-levelobject

Service

interface

Peer-to-peer

interface

Page 20: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

20

Protocol Machinery• Protocol Graph (Represents protocol levels in a hierarchical diagram)• The simple example we have used so far has 4 layers:• Application programs• Process-Process layer (transport); AKA, channels with either Request/Reply or Message Passing protocol• Host-Host layer (data link)3 Protocols:

– RRP = Request/Reply Protocol– MSP = Message Stream Protocol– HHP = Host-to-host Protocol E.g., A File application uses RRP/HHP protocol stack.

Fileapplication

Digitallibrary

applicationVideo

application

RRP MSP

HHP

Host 1

Fileapplication

Digitallibrary

applicationVideo

application

RRP MSP

HHP

Host 2

Page 21: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

21

• Encapsulation (header/body)

– RRP, for example, treats application message asstring of bytes (or bits).

– It doesn’t care what the message is, just where it goes and with what QoS (this info is header info).

– Therefore the payload (body) is "encapsulated".– Encapsulation is repeated at each level (and header info from lower level becomes part of payload for next level).– Multiplexing may occur at each level also.

RRP DataHHP

Applicationprogram

Applicationprogram

Host 1 Host 2

Data

RRP

RRP Data

HHP

Data

RRP

RRP Data

HHP

Page 22: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

22

Standard Architectures (Standards bodies define layers)

• Open Systems Interconnect(OSI) Architecture

– of the International Standards Organization (ISO)• So “OSI ISO architecture”

– International Telecom Union (ITU); formerly CCITT• European

– “X dot” series: X.25, X.400, X.500• IEEE

Page 23: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

23

ISO OSI ArchitectureISO was one of the 1st to formally define aconnectivity standard for computers (OSI)

OSI partitions network functionality into 7 layerswith 1 or more protocols implementing each layer.

Lower 3 implemented on all network nodes(both switches and hosts)

Physical: transmits of raw bits over a physical link

Data Link: collects stream of bits into a larger aggregates (called frames) - makes it a "data link" not just a physical link - Network-adapters (hardware) and device-drivers (software typically involved here. Network: routing among nodes (packet switching) implements host-host link using eg, IP-adr Next 4 layers run on hosts. (Session and Presentation layers are fuzzy and little used!)Transport: implements process-to-process channel using e.g., ( IP-addr, port-# ) - Provides end-end network-independent message transport services to processesSession: ties together different streams in same appl (eg, audio, video, data in a teleconf. Appl)Presentation: resolves data format differences (16/32/64 bit int., etc.)Application: applications (sockets are most common API)

Application

Presentation

Session

Transport

End host

One or more nodes within the network

Network

Data link

Physical

Network

Data link

Physical

Network

Data link

Physical

Application

Presentation

Session

Transport

End host

Network

Data link

Physical

Page 24: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

Internet Architecture (4 layer architecture)• Network layer : a variety of network protocols (e.g., FDDI, Ehternet...)

• Internet Protocol layer: (IP) interconnects multiple net technologies into single logical internetwork

• Transport layer: (TCP=Trans Ctrl Protocol or UDP=User Datagram Protocol)

– provide alternative logical channels to applications• - TCP provides reliable byte-stream channels• - UDP provides unreliable datagram (=message) channels

• Apps: FTP, TFTP (Trivial File Transfer), Telnet (remote login), SMTP (Simple Mail Transfer• ________________________________• Not strict layering: |______________Application______|• |_TCP_|_UDP_|_____ |• |_____IP__________|_____________|• |______________Network__________|

• IETP requirements for a new protocol: Specifications + at least 1 Implementation• Final note: ISO protocols are largely ignored today. It is a good reference architecture, but it is a commercial

failure. Why?• TCP/IP is good, simple, shipped free_with_BSD_since_80s

Page 25: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

25…

FTP HTTP NV TFTP

TCP UDP

IP

NET1 NET2 NETn

Internet Architecture (AKA TCP/IP)• By Internet Engineering Task Force (IETF)• Hourglass Design• Evolved from ARPANET (DARPA funded packet net)

• Different from ISO (reconcilable, but not that informative)

• OS offers APIs (syntax for impl of layers – eg, sockets)

Page 26: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

Reconciling OSI layers with the TCP/IP layers

• Reconciling OSI layers with the TCP/IP layers? (Peterson-Davies say it’s not worthwihile; Other authors attempt it (Tanenbaum):

• Application Application• Presentation -• Session -• Transport Transport (TPC/UDP; packet/frame)• Network Internet (IP)• DataLink Network (aka: host-net)• Physical “

Page 27: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

TCP/IP Model

Page 28: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

In all Reference Models, encapsulate at each layer

Page 29: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

ATM Architecture• While were talking about architecture standards and reconciling them, there

is a 3rd, the ATM architecture.

• ATM is "Connection Oriented”, not connectionless like ISO and the Internet Architectures.– ie, there is a "setup phase” (of a virtual end-to-end connection)– (like the telephone system - "dialing and connecting"), then a– “transmission phase”

• ATM Layers: Apps, e.g., : VOICE VIDEO DATA• | | |• ------------------------------------• | ATM Adaptation Layer (ALL) |• ------------------------------------• | ATM Layer |• ------------------------------------• | Physical Layer |• ------------------------------------

Page 30: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

Physical Layer• Physical Layer: physical interfaces and framing protocols• Several Standards for physical connectivity between devices:

– DS-1 or T1 at 1.54 Mbps– DS-3 or T3 at 45 Mbps– 100 Mbps access using FDDI standard– 155 Mbps access using Fiber Channel standard on multimode fiber

• Synchronous Optical NETwork (SONET) is the predominant physical layer framing standard for optical transmission (nonUS=SDH-Synch Digital Hierarchy)(The name sometimes also refers to a physical connection architecture – I.e., SONET ring)

• LEVEL LINE-RATES• OC-1 51.84 Mbps• OC-3 155.52 Mbps• OC-12 622.08 Mbps• OC-48 2488.32 Mbps

Page 31: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

ATM Layer• Cell structure definition • ----------------------------------------------------------------• GFC| VPI | VCI |PT |CLP| HEC | Info Field (Payload)|• ----------------------------------------------------------------• Bits | 4 | 8 | 16 | 3 | 1 | 8 |• byte |< - - - - - - 5 - - - - - - - - - - ->|< - - - 48 - - - ->|

GFC = Generic Flow Control. (police traffic across user-network interface)• Two levels of addressing:

– VPI Virtual Path Indetifier - size goes to 12 bits for NNIs– VCI = Virtual Circuit Identifier - VPI VCI combo identifies the channel

• PT = Payload Type (for congestion control)– Types = user-info, connection-mgmt-info-(signaling), etc

• CPL = Cell Loss Priority - indicates if cell can be discarded upon congestion• HEC = Header Error Ctrl ( Cyclic Redundancy Check on cell header – indicates bit errors in header portion)

ATM Adaptation Layer• Interface between user application and ATM• Performs segmentation and reassembly into ATM cells• also detects and handles out of order or lost cells

Page 32: Computer Networks (CS 778) Chapter 1, Foundations –1.1 Requirements understanding the fundamental network ideas makes understanding any new protocol easier.

Protocol Implementation Issues

• Process Model– Process-per-protocol model

• Separate process (thread) for each protocol in stack• Much context switching (each move up/down stack results in a

context switch!)– Simple to understand

– Process-per-message model• OS dispatches one process for message

– Message is taken up/down stack by invoked protocol procedures.• No context switching• Much faster• Harder to understand?