You are on page 1of 14

Network Design 16.

583/483 Spring 2010

University of Massachusetts Lowell

Network Design 16.583/483


Spring 2010

Class 1
Foundation

Prepared by: Dr. Hani Al-Dayaa (hani_aldayaa@uml.edu)

Lecture Outline
Preface Requirements Connectivity Cost-Effective Resource Sharing Support for Common Services Network Architecture Performance Implementing Network Software Protocol Implementation Issues

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Preface
The VIC Video

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

Requirements
An application programmer
List the services that the application needs.

A Network Designer
List the properties of a cost-effective design.

A network provider
List the characteristics of a system that is easy to administer and manager.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Connectivity
Links: coax cable, optical fiber, Point-to-Point

Multiple-Access

Nodes: computer, specialized hardware,


Hosts Switches

Clouds: Groups of connected nodes (network)

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

Connectivity (contd)
Switched Network: Each node is attached to one ore more point-to-point links.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Connectivity (contd)
Interconnection of Networks: A set of computers indirectly
connected.
A set of independent networks interconnected to form an internetwork (Internet for short). A node that is connected to two or more networks is commonly called a router or gateway.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

Connectivity (contd)
Circuit-Switched: Carry bit streams (e.g. telephone network). Packet-Switched: Store-and-forward messages (e.g.
computer network, Internet).
Nodes send discrete blocks of data (packet or message) to each other. Focus of the textbook.

Address: Byte string that identifies a node. Usually unique. Routing: Process of forwarding messages to the destination
node based on its address.

Types of addresses
Unicast: A specific node on the network Broadcast: All nodes on the network Multicast: A subset of nodes on the network

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Cost-Effective Resource Sharing


Multiplexing: A system resource is shared among multiple
users.
Synchronous Time-Division Multiplexing (STDM): Divide time into
equal intervals. Arbitrate flows over the physical link in a round-robin fashion. Frequency-Based Multiplexing (FBM): Transfer each flow over the physical link at a different frequency.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

Cost-Effective Resource Sharing (contd)


Statistical Multiplexing
On-demand time division. Schedule link on a packet-by-packet basis. Packets from different sources are interleaved on the link. Allocating bandwidth to particular flows is called QoS. Queue (FIFO) packets that are contending for the link. Queue overflow is called congestion.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

10

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Support for Common Services


Application-Level Process Communication
Identify the right set of common application services. Application-level processes communicate over logical channels. Turn host-to-host connectivity into process-to-process communication. Fill gap between what applications expect and what the underlying technology provides.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

11

Support for Common Services (contd)


Reply/Request Channel
File transfer applications (FTP, NFS) Digital library applications (e.g. web) It protects the privacy and integrity of the data that flows over it.

Message Stream Channel


Video-on-demand applications Videoconferencing applications Video is a sequence of frames

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

12

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Support for Common Services (contd)


Reliability: What goes wrong in a network?
Bit-level errors (electrical interference) Packet-level errors (congestion) Link and node failures Messages are delayed. Messages are delivered out of order.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

13

Network Architecture
Layering
Use abstraction to hide complexity Abstraction naturally leads to layering. Alternative abstractions at each layer

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

14

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Network Architecture (contd)


Protocols
Abstract objects that make up the layers of a network systems. Each protocol defines two different interfaces
Service interface to the other objects on the same computer the want to use its communication services. Peer interface to its counterpart (peer) or another machine.

A communication service that it exports locally, along with a set of rules governing the messages that the protocol exchanges with its peer(s) to implement this service.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

15

Network Architecture (contd)


Protocol Graph
Most peer-to-peer communication is indirect. Peer-to-peer communication is direct only at hardware level.

RRP: Request/Reply Protocol MSP: Message Stream Protocol HHP: Host-to-Host Protocol
Network Design 16.583/483 Spring 2010 University of Massachusetts Lowell 16

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Network Architecture (contd)


Protocol Graph (contd)
Encapsulation (header/trailer and body/payload) Multiplexing and Demultiplexing (demux key)

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

17

OSI Architecture
Open Systems Interconnection (OSI)
Partitioning of network functionality into seven layers

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

18

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Internet Architecture
Sometimes called TCP/IP architecture after its two main protocols. Evolved out of experienced with ARPANET. A four-layer model is used instead. Telnet (remote login), SMTP (Simple Mail Transfer Protocol), HTTP (HyperText Transport Protocol)

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

19

Performance
Bandwidth (throughput)
Data transmitted per time unit Single Link vs. End-to-End Channel Notation
MB = 220 bytes Mbps = 106 bits per second

Latency (delay)
Time to send message from point A to point B One-Way vs. Round-Trip Time (RTT) Components
Latency = Propagation + Transmit + Queue Propagation = Distance / SpeedOfLight Transmit = Size / Bandwidth

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

20

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Performance (contd)
Bandwidth vs. Latency
Relative Importance
1 byte: 1ms vs. 100ms dominates 1Mbps vs. 100Mbps 25MB: 1Mbps vs. 100Mbps dominates 1ms vs. 100ms

Infinite Bandwidth
RTT dominates Throughput = TransferSize / TransferTime TransferTime = RTT + 1/Bandwidth x TransferSize

1MB file to 1Gbps link at 1KB to 1Mbps link

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

21

Performance (contd)
Delay x Bandwidth Product
Amount of data in the pipe Example: 100ms x 45Mbps = 550KB

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

22

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Implementing Network Software


Application Programming Interface (API) Create a Socket
int socket (int domain, int type, int protocol)

On Server (Passive Open)


int bind (int socket, struct sockaddr *address, int addr_len) int listen (int socket, int backlog) int accept (int socket, struct sockaddr *address, int *addr_len)

On Client (Active Open)


int connect (int socket, struct sockaddr *address, in addr_len)

Sending/Receiving Messages
int send (int socket, char *message, int msg_len, int flags) Int rcv (int socket, char *buffer, int buf_len, int flags)

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

23

Protocol Implementation Issues


Process Model
Process-Per-Protocol Model
Each protocol is implemented by a separate process.

Process-Per-Message Model
Each protocol is treated as a static piece of code, and the processes are associated with the messages.

The Process-Per-Message model is more efficient than the Process-Per-Protocol model.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

24

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

Protocol Implementation Issues (contd)

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

25

Protocol Implementation Issues (contd)


Message Buffers
Copy incoming/outgoing messages between application buffer and network buffer. Very expensive (time delay)

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

26

University of Massachusetts Lowell

Network Design 16.583/483 Spring 2010

For Next Class


Read Chapter 1 and Chapter 2 in the textbook. Solve Chapter 1 Exercises: 5 and 7.

Network Design 16.583/483 Spring 2010

University of Massachusetts Lowell

27

University of Massachusetts Lowell