requirements
Download
Skip this Video
Download Presentation
Requirements

Loading in 2 Seconds...

play fullscreen
1 / 35

Requirements - PowerPoint PPT Presentation


  • 52 Views
  • Uploaded on

Requirements. Connectivity Resource Sharing Support for Common Services Performance. Performance Metrics. Bandwidth (throughput) data transmitted per time unit link versus end-to-end notation KB = 2 10 bytes Mbps = 10 6 bits per second Latency (delay)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Requirements' - shoushan-mccoy


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
requirements
Requirements
  • Connectivity
  • Resource Sharing
  • Support for Common Services
  • Performance
performance metrics
Performance Metrics
  • Bandwidth (throughput)
    • data transmitted per time unit
    • link versus end-to-end
    • notation
      • KB = 210 bytes
      • Mbps = 106 bits per second
  • Latency (delay)
    • time to send message from point A to point B
    • one-way versus round-trip time (RTT)
    • components

Latency = Propagation + Transmit + Queue

Propagation = Distance / c

Transmit = Size / Bandwidth

    • Examples of RTT: LAN, Cross-country link, Satellite
delay x bandwidth product
Delay x Bandwidth Product
  • Amount of data “in flight” or “in the pipe”
  • Example: 100ms x 45Mbps = 560KB
  • Why is it important to know Delay x Bandwidth product?
bandwidth versus latency
Bandwidth versus 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 + TransferSize /Bandwidth
  • 1-MB file to 1-Gbps link as 1-KB packet to 1-Mbps link
network architecture
Network Architecture
  • Layering and Protocols
  • ISO Architecture
  • Internet architecture
layering
Layering
  • Use abstractions to hide complexity
  • Abstraction naturally lead to layering
  • Alternative abstractions at each layer
  • Advantages:
  • Solve small problems vs. monolithic software
  • Modularity: easily add new services
  • Drawback:
  • May hide important information

Application programs

Request/reply

Message stream

channel

channel

Host-to-host connectivity

Hardware

protocols
Protocols
  • Building blocks of a network architecture
  • Each protocol object has two different interfaces
    • service interface: operations on this protocol (SAP)
    • peer-to-peer interface: messages exchanged with peer
  • Term “protocol” is overloaded
    • specification of peer-to-peer interface (rules)
    • module that implements this interface
  • Protocol stack: set of consecutive layers
  • Interoperability problems
interfaces
Interfaces

Host1

Host2

Service

High-level

High-level

interface

object

object

Protocol

Protocol

Peer-to-peer

interface

protocol machinery
Protocol Machinery
  • Protocol Graph
    • most peer-to-peer communication is indirect
    • peer-to-peer is direct only at hardware level

Host 2

Host 1

Digital

Digital

Video

Video

File

File

library

library

application

application

application

application

application

application

RRP

MSP

RRP

MSP

HHP

HHP

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

Host 1

Host 2

Application

Application

program

program

Data

Data

RRP

RRP

RRP

Data

RRP

Data

HHP

HHP

HHP

RRP

Data

osi architecture reference model
OSI Architecture:Reference Model

End host

End host

Application

Application

Presentation

Presentation

Session

Session

Transport

Transport

Network

Network

Network

Network

Data link

Data link

Data link

Data link

Physical

Physical

Physical

Physical

One or more nodes

within the network

physical layer
Physical Layer
  • Function: provides a “virtual bit pipe”
  • How: maps bits into electrical/electromagnetic signals appropriate for the channel
  • The physical layer module is called a modem (modulator/demodulator)
  • Important issues:
    • Timing: synchronous, intermittent synchronous, asynchronous (characters)
    • Interfacing the physical layer and DLC (e.g., RS-232, X.21)
data link control layer dlc
Data Link Control Layer (DLC)
  • Receives packets from the network layer and transforms then into bits transmitted by the physical layer. Generally guarantees order and correctness.
  • Mechanisms of the DLC:
    • Framing: header, trailer to separate packets, detect errors…
    • Multiple access schemes: when the link is shared by several nodes there is a need for addressing and controlling the access (this entity is called MAC sublayer)
    • Error detection and retransmission (LLC sublayer)
network layer
Network Layer
  • Provides naming/addressing, routing, flow control, and scheduling/queuing in a multi-hop network
  • Makes decisions based on packet header (e.g., destination address) and module stored information (e.g., routing tables)
  • General comment: each layer looks only at its corresponding header (here packet header)
  • Routing is different on virtual circuit networks than on datagram networks
transport layer
Transport Layer
  • Provides a reliable mechanism to transmit messages between two end-nodes through:
    • Message fragmentation into packets
    • Packets reassembly in original order
    • Retransmission of lost packets
    • End-to-end flow control
    • Congestion control
session layer
Session Layer
  • Was intended to handle the interaction between two end points in setting up a session:
    • multiple connections
    • Service location (e.g., would achieve load sharing)
    • Control of access rights
  • For example, managing an audio and video stream in a teleconferencing application
  • In many networks these functionalities are inexistent or spread over other layers
presentation layer
Presentation Layer
  • Concerned with the format of the data exchanged
  • Provides data encryption, data compression, and code conversion.
application layer
Application Layer
  • What’s left over…
  • Examples:WWW, Email, Telnet, …
internet architecture

FTP

HTTP

NV

TFTP

UDP

TCP

IP

NET

NET

NET

2

1

n

Internet Architecture
  • Defined by Internet Engineering Task Force (IETF)
  • IETF requires working implementations for standard adoption
  • Application vs. Application Protocol (FTP, HTTP)
internet architecture1
Internet Architecture
  • Not quite layered

Application

TCP

UDP

IP

Network

implementing network software
Implementing Network Software
  • Success of the Internet is partially due to:
    • Minimal functionality within the network
    • Most of the functionality running is software over general-purpose computers
  • Simple Application Programming Interface
  • Efficient protocol implementation
application programming interface
Application Programming Interface
  • Each OS can have a special interface exported by the network to the applications developer
  • Most widely used network API is: socket interface
    • Initially developed by the Berkeley Distribution of Unix and today ported to almost all OS
creating a socket
Creating a Socket
  • int socket( int domain, /* PF_INET, PF_UNIX */

int type, /* SOCK_STREAM, SOCK_DGRAM */

int protocol)

active open
Active Open
  • Clients perform an active open operation using the connect routine
  • int connect (int socket, struct sockaddr *address, int addr_len)
passive open
Passive Open
  • Servers perform a passive open
    • bind, listen, accept
  • 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)
sending and receiving data
Sending and Receiving Data
  • Once the connection is established, use send/recv functions to exchange data
  • int send (int socket, char *message, int msg_len, int flags)
  • int recv (int socket, char *buffer, int buf_len, int flags)
closing a socket
Closing a Socket
  • void close (int socket)
client server sockets
Client/Server Sockets
  • Client:
    • socket, connect, (send, recv)*, close
  • Server:
    • socket, bind, listen, (accept, (recv, send)*, close)*
exercise
Exercise
  • Write the simplex-talk client and server programs given in Section 1.3.2 of text
    • Given in C
  • Run a client and server on same machine and test
  • Run client and server on different machines
  • Do Exercises 28, 29, and 30 of text
protocol implementation issues
Protocol Implementation Issues
  • The socket API is an interface between the application and the network subsystem (TCP, UDP, IP, etc.)
  • Could potentially be used as a protocol-to-protocol interface
  • Turns out that the socket interface, while clean, introduces a number of inefficiencies
  • Different protocol-to-protocol interfaces designed
process models
Process Models

Process-per-protocol

Process-per-message

context switches
Context Switches
  • Inefficiency of process-per-protocol model:
    • Too many context switches, as the message is handed from one protocol to the next
  • Context switches become procedure calls in the process-per-message model
    • Sending a message: high-level protocol calls send on the low-level protocol
    • Receiving a message: high-level protocol calls receive on the low-level protocol
protocol to protocol interface
Protocol-to-Protocol Interface
  • The receive operation replaced by deliver
message buffer handling
Message Buffer Handling
  • Copying messages between buffers expensive
  • Shared message abstraction
    • Adding and stripping headers
    • Fragmenting and reassembling messages
other common library routines
Other Common Library Routines
  • Event library: commonly need to schedule an event in the future
    • Examples: timeout, garbage collection
    • A common event & event manager abstraction
  • Map library: For maintaining bindings between identifiers
    • Example: Mapping incoming messages to the connection that will process the message
ad