advanced computer networks - cs716 power point slides lecture 25

Upload: taran-aulakh

Post on 14-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    1/264

    11

    CS716

    Advanced Computer Networks

    By Dr. Amir Qayyum

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    2/264

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    3/264

    Review Lecture

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    4/264

    4

    Switched Networks

    Two or more nodesconnected by a link

    Circular nodes(switches) implementthe network

    Squared nodes (hosts)usethe network

    A network can be defined recursively as...

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    5/264

    5

    Switched Networks

    Two or more networks

    connected by one or more

    nodes: internetworks

    Circular nodes (router or

    gateway) interconnectsthe

    networks

    A clouddenotes any type of

    independent network

    A network can be defined recursively as...

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    6/264

    6

    Switching Strategies

    Circuit switching:Carry bit streams

    a. establishes a dedicated

    circuitb. links reserved for use

    by communicationchannel

    c. send/receive bit streamat constant rate

    d. example: originaltelephone network

    Packet switching:

    Store-and-forwardmessages

    a. operates on discreteblocks of data

    b. utilizes resourcesdynamically according

    to traffic demandc. send/receive messages

    at variable rate

    d. example: Internet

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    7/264

    7

    Multiplexing

    Physical links/switches must be shared among users

    (Synchronous) Time-Division Multiplexing (TDM)

    Frequency-Division Multiplexing (FDM)

    L1

    L2

    L3

    R1

    R2

    R3Switch 1 Switch 2

    Multiple flows

    on a single link

    Do you see any problem with TDM / FDM ?

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    8/264

    8

    Statistical Multiplexing

    On-demand time-division, possibly synchronous (ATM)

    Schedule link on a per-packet basis

    Buffer packets in switches that are contendingfor the link

    Packets from different sources interleaved on link

    Do you see any problem ?

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    9/264

    9

    Inter-Process Communication

    Turn host-to-host connectivity into process-to-processcommunication, making the communication meaningful.

    Fill gap between what applications expect and what theunderlying technology provides.

    Abstraction for

    application-level

    communication

    Host

    Host

    Application

    Host

    Application

    Host Host

    Channel

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    10/264

    10

    Abstract Channel Functionality

    What functionality does a channel provide ?

    Smallest set of abstract channel types adequate

    for largest number of applications Where the functionality is implemented ?

    Network as a simple bit-pipe with all high-level

    communication semantics at the hosts

    More intelligent switches allowing hosts to bedumb devices (telephone network)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    11/264

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    12/264

    12

    Performance Metrics

    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

    Note:

    No queuing delay in direct (point-to-point) link Bandwidth irrelevant if size = 1 bit

    Process-to-process latency includes software processing overhead(dominates over shorter distances)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    13/264

    13

    Delay x Bandwidth Product

    Amount of data in flight or in the pipe

    Example: 100ms RTT x 45Mbps BW = 560KB

    This much data must be buffered before the senderresponds to slowdown the request

    Delay

    Bandwidth

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    14/264

    14

    Network Architecture

    The challenge is to fill the gap between hardware

    capabilities and application expectations, and to do

    so while delivering good performance

    Designers cope with this complex task by

    developing a network archi tectureas a guideline

    Layering, protocols, standards

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    15/264

    15

    Layering

    Alternative abstractions at each layer

    Manageable network components

    Modify layers independently

    Hardware

    Host-to-host connectivity

    Application programs

    Request/replychannel

    Message streamchannel

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    16/264

    16

    Protocols

    Building blocks of a network architecture

    Each protocol object has two different interfaces

    service interface: operations on this protocolpeer-to-peer interface: messages exchanged with peer

    Term protocol is overloaded

    Specification of peer-to-peer interface

    Module that implements this interface

    Peer modules are interoperable if both accuratelyfollow the specifications

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    17/264

    17

    Host1 Host2

    Service

    interface

    Peer-to-peer

    interface

    Protocol Interfaces

    High-levelobject

    High-levelobject

    ProtocolProtocol

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    18/264

    18

    Protocol GraphNetwork Architecture

    Collection of protocols and their dependencies Most peer-to-peer communication is indirect

    Peer-to-Peer is direct only at hardware level

    Host 1 Host 2

    File

    application

    Digitallibrary

    application

    Video

    application

    Fileapplication

    Digitallibrary

    application

    Video

    application

    RRP RRPMSP MSP

    HHP HHP

    RRP: Request

    Reply Protocol

    MSP: Message

    Stream Protocol

    HHP: Host-to-

    Host Protocol

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    19/264

    19

    Protocol Machinery

    Multiplexing and Demultiplexing (demux key)

    Encapsulation (header/body) in peer-to-peerinterfaces

    Indirect communication (except at hardware level)

    Each protocol adds a header

    Part of header includes demultiplexing field (e.g., passup to request/reply or to message stream?)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    20/264

    20

    Encapsulation

    Host 1 Host 2

    Applicationprogram

    Applicationprogram

    Data Data

    RRP RRP

    RRP Data

    HHP HHP

    RRP DataHHP

    RRP Data

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    21/264

    21

    Standard Architectures

    Open System Interconnect (OSI) Architecture

    International Standards Organization (ISO)

    International Telecommunications Union (ITU),formerly CCITT

    X dot series: X.25, X.400, X.500

    Primarily a reference model

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    22/264

    22

    OSI Architecture

    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

    Application

    Data formatting

    Connection management

    Process-to-process

    communication channel

    Host-to-host packet

    delivery

    Framing of data bits

    Transmission of raw bits

    User

    level

    OS

    kernel

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    23/264

    23

    Internet Architecture

    TCP/IP Architecture

    Developed with ARPANET and NSFNET

    Internet Engineering Task Force (IETF) Culture: implement, then standardize

    OSI culture: standardize, then implement

    Became popular with release of Berkeley Software

    Distribution (BSD) Unix; i.e. free software Standard suggestions traditionally debated publically

    through Request For Comments (RFCs)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    24/264

    24

    Internet Architecture

    Implementation and design done together

    Hourglass Design (bottleneck is IP)

    Application vs Application Protocol (FTP, HTTP)

    NETnNET2NET1

    IP

    TCP UDP

    FTP HTTP NV TFTP

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    25/264

    25

    Internet Architecture

    Layering is not very strict

    Application

    TCP UDP

    IP

    Network

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    26/264

    26

    Networking in the Internet Age

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    27/264

    27

    Network Application Programming

    Interface (API) Interface that the OS provides to its networking

    subsystem

    Most network protocols are implemented in software All systems implement network protocols as part of the OS

    Each OS is free to define its own network API

    Applications can be ported from one OS to another if APIs

    are similar *IF* application program does not interact with other

    parts of the OS other than the network (file system, fork

    processes, display )

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    28/264

    28

    Protocols and API

    Protocols provide a certain set of

    services API provides a syntaxby which

    those services can be invoked

    Implementation is responsible for

    mapping API syntax onto protocol

    services

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    29/264

    29

    Socket API

    Use sockets as abstract endpoints ofcommunication

    Issues

    Creating & identifying sockets Sending & receiving data

    Mechanisms

    UNIX system calls and library routines

    socket

    process

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    30/264

    30

    Protocol-to-Protocol Interface

    A protocol interacts with a lower levelprotocol like an application interacts with

    underlying network

    Why not using available network APIs forPPI ?

    Inefficiencies built into the socket interface

    Application programmer tolerate them to

    simplify their task

    inefficiency at one level

    Protocol implementers do not tolerate them

    inefficiencies at several layers of protocols

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    31/264

    31

    Protocol-to-Protocol Interface Issues

    Configure Multiple Layers

    Static vs Extensible

    Process Model

    Avoid context switches

    Buffer Model

    Avoid data copies

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    32/264

    32

    Process Model

    (a) (b)Process-per-Protocol Process-per-Message

    inter-process

    communication

    procedure

    call

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    33/264

    33

    Buffer Model

    Buffer Copy Buffer Copy

    Application Process

    Topmost Protocol

    send() deliver()

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    34/264

    34

    Network Programming

    Things to Learn

    Internet protocols (IP, TCP, UDP, )

    Sockets API (Application Programming Interface)

    Why IP and Sockets

    Allows a common name space across most of

    Internet

    IP (Internet Protocol) is standard Reduces number of translations, which incur

    overhead

    Sockets: reasonably simple and elegant Unix

    interface (most servers run Unix)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    35/264

    35

    Socket Programming

    Reading: Stevens 2nd edition, Chapter 1-6

    Sockets API: A transport layer service interface

    Introduced in 1981 by BSD 4.1

    Implemented as library and/orsystem calls

    Similar interfaces to TCP and UDP

    Can also serve as interface to IP (for super-user)

    known as raw sockets Linux also provides interface to MAC layer (for super-

    user) known as data-link sockets

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    36/264

    36

    Client-Server Model

    Asymmetric relationship

    Server/Daemon

    Well-known name Waits for contact

    Process requests, sends

    replies

    Client Initiates contact

    Waits for response

    Server

    Client Client

    Client

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    37/264

    37

    Client-Server Model

    Bidirectional communication channel

    Service models

    Sequential: server processes only one clients requests at

    a time Concurrent: server processes multiple clients requests

    simultaneously

    Hybrid: server maintains multiple connections, butprocesses requests sequentially

    Server and client categories not disjoint

    Server can be client of another server

    Server as client of its own client (peer-to-peerarchitecture)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    38/264

    38

    TCP Connections

    TCP connection setup via 3-way handshake

    J and K are sequence numbers for messages

    Client Server

    SYN J

    SYN K

    ACK J+1

    ACK K+1 Hmmm

    RTT is

    important!

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    39/264

    39

    TCP Connections

    TCP connection teardown (4 steps) (either client

    or server can initiate connection teardown)

    Client Server

    FIN J

    FIN K

    ACK K+1

    ACK J+1

    active close

    passive close

    closes connection

    Hmmm

    Latency

    matters!

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    40/264

    40

    UDP - Aspects of Services

    Unit of transfer is a datagram (variable

    length packet)

    Unreliable, drops packets silently

    No ordering guarantees

    No flow control

    16-bit port space (distinct from TCP ports)

    allows multiple recipients on a single host

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    41/264

    41

    Addresses and Data

    Internet domain names: human readable

    Mnemonic

    Variable Length

    e.g. www.case.edu.pk, www.carepvtltd.com

    (FQDN)

    IP addresses: easily handled by routers/computers

    Fixed Length

    Tied (loosely) to geography

    e.g. 131.126.143.82 or 212.0.0.1

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    42/264

    42

    Endianness

    Machines on Internet have different

    endianness

    Little-endian (Intel, DEC): leastsignificant byte of word stored in lowest

    memory address

    Big-endian (Sun, SGI, HP): mostsignificant byte...

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    43/264

    43

    Socket Address Structures

    Socket address structures (all fields in network byte orderexcept sin_family)

    IP address

    struct in_addr {in_addr_t s_addr; /* 32-bit IP address */

    };

    TCP or UDP address

    struct sockaddr_in {

    short sin_family; /* e.g., AF_INET */

    ushort sin_port; /* TCP / UDP port */

    struct in_addr; /* IP address */

    };

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    44/264

    44

    Address Conversion

    All binary values used and returned by these functionsare network byte ordered

    struct hostent* gethostbyname (const char* hostname);

    translates English host name to IP address (uses DNS)

    struct hostent* gethostbyaddr (const char* addr, size_tlen, int family);

    translates IP address to English host name (not secure)

    int gethostname (char* name, size_t namelen);

    reads hosts name (use with gethostbyname to find localIP)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    45/264

    45

    Address Conversion

    in_addr_t inet_addr (const char* strptr);

    translate dotted-decimal notation to IP address; returns -1on failure, thus cannot handle broadcast value255.255.255.255

    int inet_aton (const char* strptr, struct in_addr inaddr);

    translate dotted-decimal notation to IP address; returns 1 onsuccess, 0 on failure

    char* inet_ntoa (struct in_addr inaddr);

    translate IP address to ASCII dotted-decimal notation (e.g.,128.32.36.37); not thread-safe

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    46/264

    46

    Socket API

    Creating a socket

    int socket(int domain, int type, int

    protocol)

    domain (family) = AF_INET, PF_UNIX,

    AF_OSI

    type = SOCK_STREAM, SOCK_DGRAMprotocol = TCP, UDP, UNSPEC

    return value is a handlefor the newly

    created socket

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    47/264

    47

    Sockets (cont)

    Passive Open (on server)

    int bind(int socket, struct sockaddr *addr, intaddr_len)

    int listen(int socket, int backlog)

    int accept(int socket, struct sockaddr *addr, intaddr_len)

    Active Open (on client)

    int connect(int socket, struct sockaddr *addr,

    int addr_len)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    48/264

    48

    Sockets (cont)

    Sending Messages

    int send(int socket, char *msg, int mlen, int flags)

    Receiving Messages

    int recv(int socket, char *buf, int blen, int flags)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    49/264

    49

    Point-to-Point Links

    Reading: Peterson and Davie, Ch. 2

    OutlineHardware building blocksEncoding

    Framing

    Error Detection

    Reliable transmission Sliding Window Algorithm

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    50/264

    50

    Direct Link Issues in the OSI and

    Hardware/Software Contexts

    Transport

    Network

    Data Link

    Physical

    Session

    Presentation

    Application

    user-level software

    kernel software

    (device drivers)

    reliability

    framing, error detection, MAC

    encodinghardware

    (network adapter)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    51/264

    51

    Hardware Building Blocks

    Nodes

    Hosts: general-purpose computers

    Switches: typically special-purpose hardwareRouters (connecting networks): varies

    Links

    Copperwire with electronic signalingGlass fiber with optical signaling

    Wireless with electromagnetic (radio, infrared,

    microwave) signaling

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    52/264

    52

    Links

    Physical Media

    Twisted pair cable

    Coaxial cable

    Optical fiber

    Space

    Media is used to propagate signals Signals are electromagnetic waves of certain

    frequency, traveling at speed of light

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    53/264

    53

    Signals Over a Link

    Signal is modulated for transmission

    Varying frequency/amplitude/phase to

    receive distinguishable signals

    Binary data (0s and 1s) is encoded in

    a signal

    Make it understandable by the receiving

    host

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    54/264

    54

    Bits Over a Link

    Bit streams may be transmitted both

    ways at a time on a point-to-point link

    Full Duplex

    Sometimes two nodes must alternate

    link usage

    Half Duplex

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    55/264

    55

    Encoding

    Signals propagate over a physical medium

    Modulate electromagnetic waves

    e.g. vary voltage Encode binary data onto signals that propagate

    Signalling component

    Signal

    Bits

    Node NodeAdaptor Adaptor

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    56/264

    56

    Encoding

    Problems with signal transmission

    Attenuation: signal power absorbed by medium

    Dispersion: a discrete signal spreads in space

    Noise: random background signals

    modulator demodulatora string

    of signals

    Digital data

    (a string of

    symbols)

    Digital data

    (a string of

    symbols)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    57/264

    57

    RS-232(-C)

    Communication between computer and

    modem

    Uses two voltage levels (+15V, -15V), abinary voltage encoding

    Data rate limited to 19.2 kbps (RS-232-C)

    raised in later standards

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    58/264

    58

    Binary Voltage Encoding

    NRZ (Non-Return to Zero)

    NRZI (NRZ Inverted) Manchester (used by IEEE 802.3,

    10 Mbps Ethernet)

    4B/5B (8B/10B) in Fast Ethernet

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    59/264

    59

    Non-Return to Zero (NRZ)

    Encode binary data onto signals

    e.g. 0 as low signal and 1 as high signal

    Voltage does not return to zero between bits

    Known as Non-Return to Zero (NRZ)

    Bits

    NRZ

    0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    60/264

    60

    Problem: Consecutive 1s or 0s

    Low signal (0) may be interpreted as no signal

    High signal (1) leads to baseline wander

    Unable to recover clock Senders and receivers clock have to be precisely

    synchronized

    Receiver resynchronizes on each signal transition

    Clock Drift in long periods without transition

    Senders clock

    Receivers clock

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    61/264

    61

    Alternative Encodings

    Non-Return to Zero Inverted (NRZI)

    Make a transition from current signal

    (switch voltage level) to encode/transmit a

    one

    Stay at current signal (maintain voltage

    level) to encode/transmit a zero

    Solves the problem of consecutive ones

    (shifts to 0s)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    62/264

    62

    Alternative Encodings

    Manchester (in IEEE 802.310 Mbps

    Ethernet)

    Split cycle into two parts

    Send high--lowfor 1, low--highfor 0

    Transmit XOR of NRZ encoded data and the

    clock

    Only 50% efficient (1/2 bit per transition)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    63/264

    63

    4B/5B Encoding

    Every 4 consecutive bits of data encoded in a 5-bitcode (symbol)

    4-bit pattern is translated to a 5-bit pattern (not addition)

    5-bit codes selected to have no more than oneleading 0 and no more than two trailing 0s

    00xxx (8 symbols) and xx000 (4 symbols) are illegal

    5 free symbols (non-data)

    Thus, never gets more than three consecutive 0s Resulting 5-bit codes are transmitted using NRZI

    Achieves 80% efficiency

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    64/264

    64

    Binary Voltage Encoding

    Problem: wide frequency range required, implying

    Significant dispersion

    Uneven attenuation

    Prefer to use narrow frequency band (carrierfrequency)

    Types of modulation

    Amplitude Modulation (AM)

    Frequency Modulation (FM)

    Phase/Phase Shift

    Combination of these (e.g. QAM)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    65/264

    65

    Phase Modulation Algorithm

    Send carrier frequency for one period

    Perform phase shift

    Shift value encodes symbol Value in range [0, 360] Multiple values for multiple symbols

    Represent as circle1350 450

    2250 3150

    1800 00

    900

    2700

    8-symbol

    example

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    66/264

    66

    Constellation Pattern for V.32 QAM

    For a given symbol:

    1. Perform phase shift

    2. Change to new

    amplitude 450

    150

    Points in constellation

    diagram

    Chosen to maximize errordetection

    Process called trellis coding

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    67/264

    67

    Bit Rate and Baud Rate

    Bit rate is bits per second

    Baud rate is symbols per second

    If each symbol contains 4 bits then

    data rate is 4 times the baud rate

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    68/264

    68

    What Limits Baud Rate ?

    Baud rates are typically limited by

    electrical signaling properties

    No matter how small the voltage or how

    short the wire, changing voltages takes

    time

    Electronics are slow as compared to optics

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    69/264

    69

    Summary of Encoding

    Problems: attenuation, dispersion, noise

    Digital transmission allows periodic regeneration

    Variety of binary voltage encodingsHigh frequency components limit to short range

    More voltage levels provide higher data rate

    Carrier frequency and modulationAmplitude, frequency, phase, and combination (QAM)

    Nyquist (noiseless) and Shannon (noisy) limits on

    data rates

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    70/264

    70

    Framing

    Breaks continuous stream/sequence of bits into a

    frame and demarcates units of transfer

    Typically implemented by network adaptor

    Adaptor fetches/deposits frames out of or into host memory

    Frames

    BitsAdaptor Adaptor Node BNode A

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    71/264

    71

    Advantages of Framing

    Synchronization recovery

    Consider continuous stream of unframed bytes

    Recall RS-232 start and stop bits Multiplexing of link

    Multiple hosts on shared medium

    Simplifies multiplexing of logical channels

    Efficient error detection

    Frame serves as unit of detection (valid or invalid)

    Error detection overhead scales as log N

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    72/264

    72

    Approaches

    Organized by end of frame detectionmethod

    Approaches to framingSentinel (marker, like C strings)

    Length-based (like Pascal strings)

    Clock-based

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    73/264

    73

    Approaches

    Other aspects of a particularapproach

    Bit-oriented or byte-oriented

    Fixed or variable length

    Data-dependent or data-independentlength

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    74/264

    74

    Framing with Sentinels

    End of frame: special byte or bit pattern

    Choice of end of frame marker

    Valid data byte or bit sequence e.g. 01111110

    Physical signal not used by valid data symbol

    8 16 16 8

    Beginning

    sequenceHeader Body CRC

    Ending

    sequence

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    75/264

    75

    Sentinel Based Approach

    Problem: equal size frames are not possible

    Frame length is data-dependent

    Sentinel based framing examples

    High-Level Data Link Control (HDLC)

    protocol

    Point-to-Point Protocol (PPP)ARPANET IMP-IMP protocol

    IEEE 802.4 (token bus)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    76/264

    76

    Length-based Framing

    Include payload length in header

    e.g., DDCMP (byte-oriented, variable-length)

    e.g. RS-232 (bit-oriented, implicit fixed length)

    Problem: count field corrupted

    Solution: catch when CRC fails

    8 148

    SYN SYN Class Length

    8 42

    Header

    16

    Body CRC

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    77/264

    77

    Clock-based Framing

    Continuous stream offixed-length frames

    Each frame is 125s long (all STS formats) (why?)

    Clocks must remain synchronized

    e.g. SONET: Synchronous Optical NETwork

    Dominated standard for long distance transmission

    Multiplexing of low-speed links onto one high-speed link

    Byte-interleaved multiplexing

    Payload bytes are scrambled (data XOR 127 bit-pattern)

    STS-n (STS1 = 51.84 Mbps)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    78/264

    78

    SONET Frame Format (STS-1)

    Overhead Pay load

    90 columns

    9 rows

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    79/264

    79

    Clock-based Framing

    Problem: how to recover frame

    synchronization

    2-byte synchronization pattern starts eachframe (unlikely to occur in data)

    Wait until pattern appears in same place

    repeatedly

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    80/264

    80

    Clock-based Framing

    Problem: how to maintain clock

    synchronization

    NRZ encoding, data scrambled (XORd)with 127-bit pattern

    Creates transitions

    Also reduces chance of finding false sync

    pattern

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    81/264

    81

    Error Detection

    Validates correctness of each frame

    Errors checked at many levels

    Demodulation of signals into symbols(analog)

    Bit error detection/correction (digital)

    our main focusWithin network adapter (CRC check)

    Within IP layer (IP checksum)

    Possibly within application as well

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    82/264

    82

    Error Detection and Correction

    Possible binary voltage

    encoding symbol

    Neighborhoods and erasure

    region

    +15

    -15

    voltage

    0

    1

    ? (erasure)

    Possible QAM symbol

    Neighborhoods in green

    All other space results in erasure

    Input to digital level: valid symbols or erasures

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    83/264

    83

    Error Detection: How ?

    How to detect error ?

    Add redundant information to a

    frame to determine errors Transmit two complete copies of

    data

    n redundant bits forn-bitmessage

    Error at the same position in two

    copies go undetected

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    84/264

    84

    Error Detection: How ?

    We want only kredundant bits for an

    n-bitmessage, where k < < n

    In Ethernet, 32-bit CRC for 12,000 bits(1500 bytes)

    kbits are derived from the original

    message

    Both the sender and receiver know the

    algorithm

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    85/264

    85

    Hamming Distance (1950 Paper)

    Minimum number of bit flips betweencode words

    2 flips for parity3 flips for voting

    n-bit error detection

    No code word changed into another codeword

    Requires Hamming distance of n+1

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    86/264

    86

    Hamming Distance (1950 Paper)

    n-bit error correction

    N-bit neighborhood: all code words

    within n bit flipsNo overlap between n-bit

    neighborhoods

    Requires Hamming distance of 2n+1

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    87/264

    87

    Digital Error Detection Techniques

    Two-dimensional parity

    Detects up to 3-bit errors

    Good for burst errors

    Internet checksum (used as backup to CRC)Simple addition

    Simple in software

    Cyclic redundancy check (CRC)Powerful mathematics

    Tricky in software, simple in hardware

    Used in network adapter

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    88/264

    88

    Two-Dimensional Parity

    Adding one extra bit to a 7-bit

    code to balance 1s

    extra parity byte for the entire

    frame

    Catches all 1, 2 and 3 bit errors

    and most 4 bit errors

    14 redundant bits for a 42-bit

    message, in the example

    1011110 1

    1101001 0

    0101001 1

    1011111 0

    0110100 1

    0001110 1

    1111011 0

    Parity

    bits

    Parity

    byte

    Data

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    89/264

    89

    Internet Checksum Algorithm

    Not used at the link level but provides same sort offunctionality as CRC and parity

    Idea:

    Add up all words (16-bit integers) that are transmitted Transmit the result (checksum) of that sum

    Receiver performs the same calculation on received dataand compares the result with the received checksum

    If the results do not match, an error is detected 16 redundant bits for a message of any length

    Weak protection, accepted as a last line of defense

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    90/264

    90

    Cyclic Redundancy Check

    Theory

    Based on finite-field (binary-valued)

    arithmetic

    Bit string represented as polynomial

    Coefficients are binary-valued

    Divide bit string polynomial by generatorpolynomial to generate CRC

    Practice

    Bitwise XORs

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    91/264

    91

    Cyclic Redundancy Check

    Add kbits of redundant data to an n-bit message

    Want k

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    92/264

    92

    Cyclic Redundancy Check

    Transmit polynomialP(x) that is evenly divisibleby C(x)

    Shift left kbits, i.e.M(x)xk

    Add remainder ofM(x)xk

    / C(x) intoM(x)xk

    Receiver receives polynomial P(x) + E(x)

    E(x) = 0 implies no errors

    Receiver divides (P(x) +E(x)) by C(x); remainder

    will be zero ONLY if:E(x) was zero (no error), or

    E(x) is exactly divisible by C(x)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    93/264

    93

    Reliable Transmission

    Error-correcting codes are not advanced

    enough to handle the range of bit and burst

    errors

    Corrupt frames generally must be discarded

    A reliable link-level protocol must recover

    from discarded frames

    Goals for reliable transmissionMake channel appear reliable

    Maintain packet order (usually)

    Impose low overhead / allow full use of link

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    94/264

    94

    Reliable Transmission

    Reliability accomplished using

    acknowledgments and timeouts

    ACK is a small control frame

    confirming reception of an earlier frame

    Having no ACK, sender retransmits after

    a timeout

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    95/264

    95

    Reliable Transmission

    Automatic Repeat reQuest (ARQ)

    algorithms

    Stop-and-wait

    Concurrent logical channels

    Sliding window

    Go-back-n, or selective repeat Alternative: Forward Error Correction

    (FEC)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    96/264

    96

    Automatic Repeat reQuest

    Acknowledgement (ACK)Receiver tells sender when frame received

    Cumulative ACK(used by TCP): have

    received specified frame and all previous

    Selective ACK (SACK): specifies set of

    frames received

    Negative ACK (NACKor NAK): receiverrefuses to accept frame now, e. g. when

    out of buffer space

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    97/264

    97

    Automatic Repeat reQuest

    Timeout: sender decides that frame waslost and tries again

    ARQ also called

    Positive Acknowledgement with

    Retransmission (PAR)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    98/264

    98

    Stop-and-Wait

    Send a single frame

    Wait for ACK or timeout

    If ACK received, continue with next frame

    If timeout occurred, send again (and wait) Frame lost in transit; or corrupted and discarded

    Sender Receiver

    Frame 0

    Frame1

    ACK0

    ACK1

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    99/264

    99

    Stop-and-Wait

    Frames delivered reliably and in order Is that enough ?

    No, we need performance, too.

    Problem: keeping the pipe full ?

    Example

    1.5Mbps linkx 45ms RTT = 67.5Kb (~8KB)

    1KB frames implies 182 Kbps (1/8th link utilization)

    Want the sender to transmit 8 frames before waitingfor ACK

    Throughput remains 182 Kbps regardless of the linkbandwidth !!

    Concurrent Logical Channels

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    100/264

    100

    g

    Multiplex several logical channels over a single p-to-p

    physical link (include channel ID in header) Use stop-and-wait for each logical channel

    Maintain three bits ofstate for each logical channel:

    Boolean saying whether channel is currently busySequence number for frames sent on this channel

    Next sequence number to expect on this channel

    ARPANET IMP-IMP supported 8 logical channels

    over each ground link (16 over each satellite link)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    101/264

    101

    Concurrent Logical Channels

    Header for each frame include 3-bit

    channel number and 1-bit sequence

    number

    Same number of bits (4) as the sliding

    window requires to support up to 8

    outstanding frames on the link

    Slidi Wi d

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    102/264

    102

    Sliding Window

    Allow sender to transmit multiple frames beforereceiving an ACK, thereby keeping the pipe full

    Upper bound on outstanding un-ACKed frames

    Also used at the transport layer (by TCP)

    Sender Receiver

    Time

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    103/264

    103

    Sliding Window Concepts

    Considerordered stream of data

    Broken into frames

    Stop-and-Wait

    Window of one frame

    Slides along stream over time

    Sliding window algorithms generalize this notion

    Multiple-frame send window

    Multiple-frame receive window

    time

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    104/264

    104

    Sliding Window - Sender

    Assign sequence number to each frame (SeqNum) Maintain three state variables:

    Send Window Size (SWS)

    Last Acknowledgment Received (LAR)

    Last Frame Sent (LFS) Maintain invariant: LFSLARSWS

    Advance LARwhen ACK arrives

    Buffer up to SWS frames and associate timeouts

    time

    14 1512 1311 19 2017 1816

    LAR=13 LFS=18 SWS

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    105/264

    105

    Sliding Window - Receiver

    Maintain three state variables Receive Window Size (RWS)

    Largest Frame Acceptable (LFA)

    Next Frame Expected (NFE)

    Maintain invariant: LFANFE+1RWS

    Frame SeqNumarrives: IfNFESeqNumLFA accept

    IfSeqNumNFE orSeqNum> LFA discarded

    Send cumulative ACKs

    time

    14 1512 1311 19 2017 1816

    NFE=13 LFA=17 RWS

    Sliding Window Issues

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    106/264

    106

    When a timeout occurs, data in transit decreases

    Pipe is no longer full when packet losses occur

    Problem aggravates with delay in packet loss

    detection

    Early detection of packet losses improvesperformance:

    Negative Acknowledgements (NACKs)

    Duplicate AcknowledgementsSelective Acknowledgements (SACKs)

    Adds complexity but helps keeping the pipe full

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    107/264

    107

    Sliding Window Classification

    Stop-and-wait: SWS=1, RWS=1

    Go-back-N: SWS=N, RWS=1

    Selective repeat: SWS=N, RWS=M

    (usually M = N)

    Selective Repeat

    Go-back-NStop-and-Wait

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    108/264

    108

    Sequence Number Space

    SeqNumfield is finite; sequence numbers wraparound

    Sequence number space must be larger thannumber of outstanding frames (SWS)

    SWS

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    109/264

    109

    Required Sequence Number Space ?

    Assume SWS=RWS (simplest, and typical)

    Sender transmits full SWS

    Two extreme cases at receiver

    None received (waiting for 0SWS 1) All received (waiting for SWS2 SWS1)

    All possible packets must have unique SeqNum

    SWS < (MaxSeqNum+1)/2 or

    SWS+RWS

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    110/264

    110

    Shared Media: Problems

    Problem: demands can conflict, e. g.two hosts send simultaneously

    STDM does not address this problem -

    centralizedSolution is a medium access control

    (MAC) algorithm

    Sh d M di S l ti

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    111/264

    111

    Shared Media: Solutions

    Three solutions (out of many)Carrier Sense Multiple Access with

    Collision Detection (CSMA / CD)

    Send only if medium is idle Stop sending immediately if collision

    detected

    Token Ring/FDDI pass a token around aring; only token holder sends

    Radio / wireless (IEEE 802.11)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    112/264

    112

    History of Ethernet

    Developed by Xerox PARC in mid-1970s

    Roots in Aloha packet-radio network

    Standardized by Xerox/DEC/Intel in 1978 Similar to IEEE 802.3 standard

    IEEE 802.3u standard defines Fast

    Ethernet (100 Mbps)

    New switched Ethernet now popular

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    113/264

    113

    EthernetAlternative Technologies

    Can be constructed from a thinner cable (10Base2)

    rather than 50-ohm coax cable (10Base5)

    Newer technology uses 10BaseT (twisted pair)

    Several point-to-point segments coming out of amultiway repeater called hub

    HubHub

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    114/264

    114

    EthernetMultiple Segments

    Repeaters forward thebroadcast signal on all out

    going segments (10Base5)

    Maximum of 4 repeaters (2500m), 1024 hosts

    Repeater

    Host

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    115/264

    115

    Ethernet Packet Frame

    Preamble allows the receiver to synchronize withsignal

    Frame must contain at least 46 bytes to detect

    collision 802.3 standard substitutes length with type field

    Type field (demux key) is the first thing in data portion

    A device can accept both frames: type > 1500

    Destaddr

    64 48 32

    CRCPreambleSrcaddr

    Type Body

    1648

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    116/264

    116

    Ethernet MACCSMA/CD

    Multiple access

    Nodes send and receive frames over a

    shared link Carrier sense

    Nodes can distinguish between an idle

    and busy link Collision detection

    A node listens as it transmits to detectcollision

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    117/264

    117

    CSMA/CD MAC Algorithm

    If line is idle (no carrier sensed)

    Send immediately

    Upper bound message size of ~1500

    bytes

    Must wait 9.6s between back-to-back frames

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    118/264

    118

    CSMA/CD MAC Algorithm

    If line is busy (carrier sensed)

    Wait until the line becomes idle and

    then transmit immediatelyCalled 1-persistent (special case ofp-

    persistent)

    Ifcollision detectedStop sending data and jam signal

    Try again later

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    119/264

    119

    Constraints on Collision Detection

    In our example, consider

    my-machines message reaches your-machine

    at Tyour-machines message reaches my-machine

    at 2T

    Thus, my-machine must still betransmitting at 2T

    h i i

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    120/264

    120

    Ethernet Min. Frame Size

    RTT on a maximally configured Ethernet of

    2500m, with 4 repeaters is about 51.2 s

    2500m / 2 x 108 m/s = 12.5 s

    2 x 12.5 = 25 us + repeater delays

    51.2 s on 10 Mbps corresponds to 512 bits

    (64 bytes)

    Therefore, the minimum frame length for

    Ethernet is 64 bytes (header + 46 bytes data)

    R t Aft th C lli i

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    121/264

    121

    Retry After the Collision

    How long should a host wait toretry after a collision ?Binary exponential backoff

    Maximum backoff doubles witheach failure (exponential)

    After N failures, pick an N-bit

    number 2N discrete possibilities from 0 tomaximum

    E h F R i

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    122/264

    122

    Ethernet Frame Reception

    Sender handles all access control

    Receiver simply pulls frames from

    network

    Ethernet controller/card

    Sees all framesSelectively passes frames to host

    processor

    Experience With Ethernet

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    123/264

    123

    Experience With Ethernet

    Number ofhosts limited to 200 inpractice, standard allows 1024

    Range much shorter than 2.5 kmlimit in standard

    Round-trip time is typically 5 or 10

    s, not 50s

    T k Ri O i

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    124/264

    124

    Token Ring Overview

    Token Ring network was a candidate to replace

    Ethernet; used in some MAN backbones

    16Mbps IEEE 802.5 (based on earlier 4Mbps IBM ring)

    100Mbps Fiber Distributed Data Interface (FDDI)

    IBM T k Ri IEEE 802 5

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    125/264

    125

    IBM Token RingIEEE 802.5

    Ring is viewed as a single sharedmedium

    Each node is allowed to transmit accordingto some distributed algorithm for mediumaccess

    All nodes see all frames; destination saves

    a copy of frame as it flows past

    The term token indicates the way theaccess to shared channel is managed

    T k i T k Ri

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    126/264

    126

    Token in a Token Ring

    Token is a special bit pattern that rotates

    around the ring

    A node must capture token before

    transmitting

    A node releases token after done transmitting

    Immediate release-token follows last frame(FDDI)

    Delayed releaseafter last frame returns

    to sender

    T k i T k Ri

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    127/264

    127

    Token in a Token Ring

    Remove your frame when it comes

    back around

    Transmit another frame or re-insert

    the token

    Stations get round-robin serviceas the token circulates around the

    ring

    Ph i l P ti

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    128/264

    128

    Physical Properties

    Data rate can be 4 Mbps or16 Mbps

    Encoding of bits uses differential

    Manchester

    Ring may have up to 250 (802.5) or

    260 (IBM) nodes

    Physical medium is twisted pair (IBM

    Token Ring)

    T k Ri MAC

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    129/264

    129

    Token Ring MAC

    Network adaptor contains receiver, transmitter

    and some storage of bits between them

    Token circulates if no station has anything to

    send

    Ring must have enough capacity to store entire

    token

    At least 24 stations with 1-bit storage for 24-bitlong token (if propagation delay is negligible)

    This situation is avoided by designating a

    monitor

    T k Ri MAC

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    130/264

    130

    Token Ring MAC

    Any station that has a data to send can

    seize token

    In 802.5, simply 1 bit in second byte

    token is modified

    First two bytes ofmodified tokenbecome preamble for the next frame

    F F t

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    131/264

    131

    Frame Format

    Illegal Manchester codes in the start andend delimiters

    Frame priority and reservation bits in

    access control byte Demux key in frame control byte

    A and C bits for reliable delivery, in statusbyte

    Body CRCSrcaddr

    Variable48

    Destaddr

    48 32

    Enddelimiter

    8

    Framestatus

    8

    Framecontrol

    8

    Accesscontrol

    8

    Startdelimiter

    8

    Ti d T k Al ith

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    132/264

    132

    Timed Token Algorithm

    Token Holding Time (THT)

    Upper limit on how long a station can

    hold the tokenA node checks before putting each frameon ring that its transmit time would notcause THT to exceed

    Long THT achieves better utilizationwith few senders

    Short THT helps when multiple nodes

    have data to send

    R li bl D li

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    133/264

    133

    Reliable Delivery

    The A and C bit in the packet

    trailer for reliability

    Both bits are initially set to 0

    Destination sets A bit if it sees

    the frame and sets C bit if it

    copies the frame into its adaptor

    Token Ring Packet Priorities

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    134/264

    134

    Token Ring Packet Priorities

    A station willing to send priority n

    packet can set reservation bits to n, if

    this makes it lower in valueIt captures the token when the current

    sender releases it with priority set to n

    Strictpriority scheme: no lower-priority packets get sent when higher

    priority packets are waiting

    Token Maintenance

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    135/264

    135

    Token Maintenance

    Token rings have a designated

    monitor node

    Any station can become the monitoraccording to a well defined procedure

    Monitor is elected when the ring is

    first connected, or when the current

    monitor fails

    Token Maintenance

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    136/264

    136

    Monitor periodically announces itspresence

    Claim token sent by a station seeing

    no monitor

    If the sender receives back the claim

    token, it becomes monitor

    If another station is also contending for

    monitor, some rule defines the monitor

    Fiber Distributed Data Interface

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    137/264

    137

    Fiber Distributed Data Interface

    Similar to 802.5/IBM token rings but runs on fiber Consists of a dual ring: two independent rings that

    transmit data in opposite directions at 100Mbps

    Tolerates a single link break or node failure (self-

    healing ring)

    (a) (b)

    FDDI Physical Properties

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    138/264

    138

    FDDIPhysical Properties

    Variable size buffer (980 bits)

    between input and output

    interfaces (10ns bit time)Not required to fill buffer before

    starting transmission

    Maximum 500 stations, maximum

    2 km distance between any pair of

    stations

    FDDI Physical Properties

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    139/264

    139

    FDDIPhysical Properties

    Total 200 km fiber: dual nature

    implies 100 km cable

    connecting all stations

    Physical media can be coax or

    twisted pair cable

    Uses 4B/5B encoding

    Timed Token Algorithm

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    140/264

    140

    Timed Token Algorithm

    Token Holding Time (THT)

    Upper limit on how long a station can hold

    the token

    Configured to some suitable value

    Token Rotation Time (TRT)

    How long it takes the token to traverse thering (time since a host released the token)

    TRT

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    141/264

    141

    Timed Token Algorithm

    Target Token Rotation Time

    (TTRT)

    agreed-upon or negotiated

    upper bound on TRT

    MAC Algorithm

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    142/264

    142

    MAC Algorithm

    Each node measures TRT

    between successive token

    arrivals

    Ifmeasured-TRT > TTRT

    Token is late

    Can not send data

    FDDI Traffic Classes

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    143/264

    143

    FDDI Traffic Classes

    Synchronous traffic

    Latency sensitiveGets higher priority

    Can always send data

    Bounded Priority Traffic

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    144/264

    144

    Bounded Priority Traffic

    If a node has large amount of

    synchronous data

    It will send regardless of measured TRTTTRT will become meaningless !!!

    Therefore, total synchronous data

    during one token rotation is bounded

    by TTRT

    Token Maintenance

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    145/264

    145

    The procedure when a nodeJoins the ring (startup)

    Suspects a failure

    Claim frame is used in order toGenerate a new Token

    Agree on TTRT (so that an application

    can meet its timing constraints) A node can send a claim frame without

    holding the token

    Frame Format

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    146/264

    146

    4B/5B control symbols for start and end of frame

    Control Field

    1st bit: asynchronous (0) versus synchronous (1) data

    2nd bit: 16-bit (0) versus 48-bit (1) addresses

    Last 6 bits: demux key (includes reserved patterns fortoken and claim frame)

    Status Field

    From receiver back to sender; error in frame

    Recognized address; accepted frame (flow control)

    Body CRCSrcaddr

    Variable48

    Destaddr

    48 32

    End offrame

    8

    Status

    24

    Control

    8

    Start offrame

    8

    Wireless LANs

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    147/264

    147

    IEEE 802.11 standard

    Designed for use in a small area (offices,

    campuses)

    Bandwidth: 1, 2 or 11 MbpsUp to 56Mbps in newer 802.11a standard

    Targets three physical media

    Two spread spectrum radio (2.4GHz freq)One diffused infrared (10m range, 850 nm

    band)

    802.11 MAC: CSMA/CA

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    148/264

    148

    802.11 MAC: CSMA/CA

    Similar to Ethernet

    Defer the transmission until the link

    becomes idleTake back offif collision occurs

    Is it sufficient ?

    All nodes are not always within

    reach of (to hear) each other

    Hidden and Exposed Nodes

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    149/264

    149

    p

    Hidden nodes

    Sender thinks its OK to send when its not (false +ve)

    A-C and B-D are hidden nodes in the figure below

    Exposed nodes

    Sender does not send when its OK to send (falseve) B and C are exposed nodes in the figure below

    A B C D

    Multiple Access with Collision

    A id (MACA)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    150/264

    150

    Avoidance (MACA)

    Sender transmits RequestToSend

    (RTS) frame

    Contains intended time to hold the

    medium

    Receiver replies withClearToSend(CTS) frame

    MACA for Wireless (MACAW)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    151/264

    151

    MACA for Wireless (MACAW)

    Collision detection

    No active collision detection

    Known only if CTS or ACK is

    not received

    Binary exponential back off(BEB) is used in case of

    collision, like in Ethernet

    802.11 - Distribution System

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    152/264

    152

    y

    Nodes roam freely but operatewithin a structure

    Tethered by wired network

    infrastructure (Ethernet ?)

    Each Access Point (AP) services

    nodes in some regionEach mobile node associates itself

    with an AP

    Managing Connectivity/Roaming

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    153/264

    153

    Managing Connectivity/Roaming

    How wireless nodes select Access Point ?

    Scanning (active search for an AP)

    Node sends Probe frame All APs within reach reply with Probe

    Response frame

    Node selects one AP; sends itAssociate

    Request frame

    AP replies withAssociation Response

    New AP informs old AP via wired backbone

    Managing Connectivity

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    154/264

    154

    Managing Connectivity

    Active scanning: when a node join or move Passive scanning: AP periodically sendsBeacon frame, advertising its capabilities

    B

    H

    A

    F

    G

    D

    AP-2

    AP-3AP-1

    EC

    C

    Distribution sy stem

    Frame Format

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    155/264

    155

    Frame Format

    Control field contains three subfields:

    6-bit Type field (data, RTS, CTS, scanning);

    1-bit ToDS; and

    1-bit FromDS

    A single frame contains up to 2312 bytes of data

    Addr4 Pay loadSeqCtrlAddr3Addr2Addr1 CRC

    0 18,4964816 32484848

    Duration

    16

    Control

    16

    ToDS=0, FromDS=0 C A

    ToDS=1, FromDS=1 E AP-3 AP-1 A

    Overview

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    156/264

    156

    Overview

    Also called network interface card (NIC)

    Components (high-level overview)

    Options for use

    Data motion

    Event notification

    Potential performance bottlenecks

    Programming device drivers

    Typical Workstation Architecture

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    157/264

    157

    Typical Workstation Architecture

    CPU

    Cache $

    MemoryI/O bus

    Network

    Adaptormemory

    bus

    Communication ?

    To

    Network

    Typically where data linkfunctionality is implemented

    Components of a Network Adaptor

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    158/264

    158

    Components of a Network Adaptor

    Bus interface communicates with a specific host Bus defines protocol for CPU-adaptor communication

    Link interface speaks correct protocol on network

    Implemented by a chip set, in software or on FPGA

    Buffering between different speed bus and link

    Host

    I/Ob

    us

    Network Adaptor

    Bus

    Interface

    Link

    Interface network

    Host Perspective

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    159/264

    159

    Host Perspective

    Adaptor is ultimately

    programmed by CPU

    Adaptor exports a Control

    Status Register (CSR)

    CSR is readable and writablefrom CPU at some memory

    address

    Data Motion Options for Network

    Ad U

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    160/264

    160

    Adaptor Use

    Transfer frames between adaptorand host memory

    Programmed input/output (PIO)Processor manages itself each

    access (loads/stores)

    Faster than DMA forsmall amountsof data

    Data Motion Options for Network

    Ad t U

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    161/264

    161

    Adaptor Use

    Direct memory access (DMA)

    Adaptor gets buffer descriptor lists

    by host for read/writeProcessor is not involved: free to do

    other things

    Can be faster than memory copythrough CPU

    Start-up cost

    Data Motion

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    162/264

    162

    CPU

    Cache $

    MemoryI/O bus

    Network

    Adaptormemory

    bus

    To

    Network

    Data movement

    path using PIO

    Data movement

    path using DMA

    Network Adaptor: Event Notification

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    163/264

    163

    Hardware interruptsProcessor free to do other things

    Events delivered immediatelyState (register) save/restore

    expensive

    Context switches more

    expensive

    Network Adaptor: Event Notification

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    164/264

    164

    p

    Event polling

    Processor must periodically

    check

    Events wait until next check

    No extra state changes

    Device Drivers

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    165/264

    165

    Operating system routines anchoring

    protocol stack to network hardware

    Initialize device, transmit frames,field interrupts

    Code contains device specific detailsDifficult to read but simple in logic

    Performance Bottlenecks

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    166/264

    166

    Link capacity

    Processor computing power I/O bus bandwidth

    Overhead involved in each bustransfer

    Performance Bottlenecks

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    167/264

    167

    Memory bus bandwidth

    Memory hierarchy with cachelevels

    Memory accesses results in

    multiple memory copies in

    different buffers

    Packet Switches

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    168/264

    168

    A multi-input multi-outputdevice

    Local star topology

    Performance independent of

    connectivity (e.g. adding new host) if switch is

    designed with enough aggregatecapacity

    Maximumdegree < physical network limit

    Forwarding

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    169/264

    169

    g

    Packets arrive at one of the several inputs and

    have to be forwarded/switchedto one of the

    available outputs

    Connectionless and connection-oriented approach todetermine the correct output

    Which way should it go ?

    First challenge:forwarding

    Routing

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    170/264

    170

    g

    Forwarding requires information

    Second

    challenge:

    routing

    How to maintain forwarding information ?

    Contention and Congestion

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    171/264

    171

    g

    If arrival rate for a certain output is greater than

    the output capacity, then contention occurs

    If arrival rate of packets is too high to cause buffer

    overflow, then congestion occurs

    Who

    goesfirst ?

    Any one is

    dropped ?

    Network Layers and Switches

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    172/264

    172

    One or more nodes

    within the network

    User

    level

    OS

    kernel

    host

    switch

    switch

    betweendifferent

    physical

    layers

    Transport

    Network

    Data Link

    Physical

    Session

    Presentation

    Application

    Network

    Data Link

    Physical

    Packet Switching / Forwarding

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    173/264

    173

    Three approaches

    Datagram or connectionless

    approachVirtual circuit or connection-oriented

    approach

    Source routing

    Important notion: unique global

    dd h t

    Datagram Switching / Forwarding

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    174/264

    174

    Every packet contains enough

    information

    Enables switch to decide how to forward it

    Switch translates global address to

    output port

    Maintains forwarding table for translations Each packet forwarded and travels

    independently

    Datagram Switching

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    175/264

    175

    Managing tables in large, complex networks withdynamically changing topologies is a realchallenge for the routingprotocol

    01

    3

    2

    0

    1

    3

    2

    0

    13

    2

    Switch 3

    Host B

    Switch 2

    Host A

    Switch 1

    Host C

    Host D

    Host E

    Host F

    Host G

    Host H

    At switch 1:Dest Port#/Interface

    A 2

    B 1

    C 3

    D 0

    E 1

    Datagram Model

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    176/264

    176

    No round trip time delay waiting forconnection setup

    Host can send data anywhere, anytime as soon as it

    is readySource has no way of knowing if the network is

    capable of delivering a packet or if the destination

    host is even up

    Packets are treated independently

    Possible to route around link and node failures

    dynamically

    Virtual Circuit Switching

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    177/264

    177

    Explicit connection setup (and tear-

    down) phase from source to destination:

    connection-orientedmodelSubsequence packets follow established

    circuit

    Supporting connections in networklayer may be useful for service notions

    VC Tables in VC Switching

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    178/264

    178

    Setup message in signaling process(to create VC table) is forwarded

    like a datagram Acknowledgment of connection

    setup to downstream neighbors to

    complete signalingData transfer phase can start after

    ACK is received

    Signaling in VC Switching

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    179/264

    179

    Setup message isforwarded fromHost A to Host B

    On connectionrequest, eachswitch creates anentry in VC tablewith a VCI for theconnection

    0

    13

    2

    2

    1

    3

    0

    0

    13

    2

    Switch 3

    Host B

    Switch 2

    Switch 1

    Host A

    I/F VCI I/F VCI

    in in out out

    setup B

    setup B

    setup B

    setup B

    2 5 1

    I/F VCI I/F VCI

    in in out out

    2 7 3

    I/F VCI I/F VCI

    in in out out

    3 9 0

    Virtual Circuit Model

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    180/264

    180

    Typically wait full RTT forconnection setup before sending

    first data packetCan not avoid failures dynamically,

    must re-establish connection (old

    one is torn down to free storagespace)

    Source Routing

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    181/264

    181

    Packet header contains sequence

    of address/ports on path from

    source to destinationOne direction per switch: port, next

    switch (absolute)

    Switches read, use, and then discard

    directions

    Data Transfer in Source Routing

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    182/264

    182

    Analogous to

    following

    directions0

    13

    2

    2

    1

    3

    0

    0

    13

    2

    Switch 3

    Host B

    Switch 2

    Switch 1

    Host A

    data 0 1 3

    data 3 0 1

    data 1 3 0

    data 3 0 1

    data 1 0 3

    data 2 3 0 1

    Source Routing Model

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    183/264

    183

    Source host needs to know the

    correct and complete topology of

    the networkChanges must propagate to all hosts

    Packet headers may be large and

    variable in size: the length is

    unpredictable

    Implementation and Performance

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    184/264

    184

    Packet arriving at interface 1 has to go on interface 2

    Point of contention for packets: I/O and memory bus

    CPU

    Main memory

    I/O bus

    Interface 1

    Interface 2

    Interface 3

    Building Extended LANs

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    185/264

    185

    Traditional LANShared medium (e.g. Ethernet)

    Cheap, easy to administer

    Supports broadcast traffic Problem

    Want to scale LAN concept

    Larger geographic area (Greater than O(1 km))

    More hosts (Greater than O(100))

    But retain LAN-like functionality

    Solution: bridges

    Bridges

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    186/264

    186

    Connect two or more LANs with a bridgeTransparently extends a LAN over multiple

    networks

    Accept & forward strategy (in promiscuous

    mode)Level 2 connection (does not add packet header)

    A

    Bridge

    B C

    X Y Z

    Port 1

    Port 2

    Learning Bridges

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    187/264

    187

    Learn table entries based on source addressTimeout entries to allow movement of hosts

    Table is an optimization need not be complete

    Always forward broadcast frames Uses datagram or connectionless forwarding

    A

    Bridge

    B C

    X Y Z

    Port 1

    Port 2

    Host Port

    A 1

    B 1C 1

    X 2

    Y 2

    Z 2

    Learning BridgesA

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    188/264

    188

    Problem

    Redundancy (desirable to handle failures, but )

    Makes extended LAN structure cyclicFrames may cycle forever

    Solution: spanning tree

    B3

    A

    C

    E

    DB2

    B5

    B

    B7 K

    F

    H

    B4

    J

    B1

    B6

    G

    I

    Spanning Tree

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    189/264

    189

    Subset of forwarding possibilities All LANs reachable, but

    Acyclic

    Bridges run a distributed algorithm tocalculate the spanning tree

    Select which bridge actively forward

    Developed by Radia Perlman of DEC

    Now IEEE 802.1 specification

    Reconfigurable algorithm

    Spanning Tree Algorithm

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    190/264

    190

    All designated bridges forward frames

    On all designated ports

    On preferred port (path leading to root)

    B3

    A

    C

    E

    DB2

    B5

    B

    B7 K

    F

    H

    B4

    J

    B1

    B6

    G

    I

    B2

    LAN

    Designated port

    Preferred port

    Designated bridge

    Distributed Spanning Tree Algorithm

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    191/264

    191

    Bridges exchange configuration

    messages

    ID for bridge sending the message

    ID for what the sending bridge

    believes to be root bridge

    Distance (hops) from sending bridge

    to root bridge

    Limitations of Bridges

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    192/264

    192

    Do not scale

    Spanning tree algorithm does not

    scaleBroadcast does not scale

    Do not accommodate heterogeneityOnly supports networks with same

    address formats

    ATM (Asynchronous Transfer Mode)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    193/264

    193

    Common in WANs, can also be usedin LANs

    Competing technology with Ethernet, but

    areas of application only partially overlap

    Connection-oriented packet-

    switched network

    Virtual-circuit routing

    Typically implemented on SONET

    ( th h i l l ibl )

    ATM Signaling

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    194/264

    194

    Connection setup called signaling(standard Q.2931)

    Route discovery, resource resv, QoS, ...

    Send through networkRequest setup circuit

    Send setup frame on setup circuit

    Establish locally

    No intermediate switch involvement

    Requires pre-established virtual path

    Cell Switching (ATM)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    195/264

    195

    Fixed length (53 bytes) frames arecalled cells

    5-byte (header + 1byte CRC8) +

    48-byte payload

    Standard defines 3 layers (5 sublayers)

    Layers interface to physical media andto higher layers (e.g. encapsulating

    variable-length frames)

    Cell Switching (ATM)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    196/264

    196

    2-level connection hierarchyVirtual circuits

    Virtual pathsBundles of virtual circuits

    Travel along common route

    Reduces forwarding

    information

    ATM Cell Format

    User Network Interface (UNI)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    197/264

    197

    User-Network Interface (UNI)

    Host-to-switch format

    GFC: Generic Flow Control (still being defined)

    VCI/VPI: Virtual Circuit/Path Identifier Type: management, congestion control, AAL5 (later)

    CLP: Cell Loss Priority

    HEC: Header Error Check (CRC-8)

    Network-Network Interface (NNI) Switch-to-switch format

    GFC becomes part of VPI field

    GFC VPI VCI Type CLP HEC(CRC-8) payload

    4 16 3 18 384 (48 bytes)8

    Segmentation and Reassembly

    ATM Adaptation Layer (AAL)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    198/264

    198

    ATM Adaptation Layer (AAL) Application to ATM cell mapping

    AAL header contains information for reassembly

    AAL1, AAL2 for applications needing guaranteed rate

    AAL3/4 designed for variable-length packet data

    AAL5 is an alternative standard for packet data

    AAL

    ATM

    AAL

    ATM

    ATM Layers ATM Adaptation Layer (AAL)

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    199/264

    199

    Convergence Sublayer (CS) supportsdifferent application service models

    Segmentation and Reassembly (SAR)supports variable-length frames

    ATM Layer

    Handles virtual circuits, cell headergeneration, flow control

    Physical layer

    Transmission Convergence (TC)handles error detection, framing

    Physical medium dependent (PMD)sublayer handles encoding

    ATM

    AALCS

    SAR

    PHY

    TC

    PMD

    AAL 3/4

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    200/264

    200

    Provides information to allow variable size packetsto be sent in fixed-size ATM cells

    Convergence Sublayer Protocol Data Unit (CS-PDU)

    CPI: Common Part Indicator (version field)

    Btag/Etag:beginning and ending tags (same)

    BAsize: hint on reassembly buffer space to allocate Length: size of whole PDU

    Segmented into cells: header/trailer + 44-byte data

    CPI Btag BAsize payload Pad 0 Etag Length

    8 16 0-24 88 < 64 KB 8 16

    ATM Cell Format for AAL 3/440 4 352 (44 bytes) 62 10 16

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    201/264

    201

    Type (is-start? and is-end? bits)

    BOM (10): Beginning Of Message

    COM (00): Continuation Of Message EOM (01): End Of message

    SSM (11): Single-Segment Message

    SEQ: Sequence Number (forcell loss/reordering)

    MID: multiplexing ID (mux onto virtual circuits)

    Length: number of bytes of PDU in this cell

    ATM header type seq MID payload length CRC-10

    Encapsulation and Segmentation for

    AAL3/4

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    202/264

    202

    44 bytes 44 bytes 44 bytes

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    203/264

    203

    CS-PDU Format

    Pad so trailer always falls at the end of ATM cell

    Length: size of PDU (data only)

    CRC-32 (detects missing or misordered cells)

    Cell Format

    End-of-PDU bit in Type field of ATM header

    0 - 47 2< 64 KB 2 32

    data pad reserved length CRC-32

    Encapsulation and Segmentation for

    AAL 5

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    204/264

    204

    User data

    48 bytes 48 bytes 48 bytes

    ATM header Cell payload

    Padding

    CS-PDUtrailer

    Virtual Paths with ATM

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    205/264

    205

    Two level hierarchy of virtual connection: 8-bitVPI and 16-bit VCI

    Switches in the public network use 8-bit VPI

    Corporate sites use full 24-bit address (VPI + VCI)

    Much less connection-state info in switches

    Virtual path: fat pipe with bundle of virtual circuits

    Public network

    Network BNetwork A

    ATM as a LAN Backbone

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    206/264

    206

    Different from traditional LANs, no native supportfor broadcast or multicast

    E1

    H5

    H6

    H7

    H1E3

    H2

    H4

    H3E2

    ATM linksEthernet link

    Ethernet switch

    ATM switchATM-attachedhost

    Shared Ethernet Emulation with LANE

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    207/264

    207

    All hosts think they are on the same Ethernet

    LANE / Ethernet

    Adaptor Card

    H

    H

    H

    HH

    Ethernet

    Switch

    ATM Switch

    LANE / EthernetAdaptor Card

    H

    H

    H

    H

    H

    EthernetSwitch

    ATM Switch

    ATM / LANE Protocol Layers

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    208/264

    208

    Higher-layer

    protocols

    (IP, ARP, . . .)

    Signalling

    + LANE

    AAL5

    ATM

    PHY

    ATM

    PHY PHY

    Higher-layer

    protocols

    (IP, ARP, . . .)

    Signalling

    + LANE

    AAL5

    ATM

    Host Switch Host

    PHY

    Ethernet-like

    interface

    Clients and Servers in LANE

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    209/264

    209

    LAN Emulation Client (LEC)

    Host, bridge, router or switch

    LAN Emulation Server (LES)

    Maintains clients MAC and

    ATM addressesMaintains ATM address of BUS

    Clients and Servers in LANE

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    210/264

    210

    LAN Emulation Configuration

    Server (LECS)

    High-level network managementwhen LEC starts up

    Reachable by preset VC (recall

    known server port#)Maintains mapping of ATM address

    to LANE type

    Clients and Servers in LANE

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    211/264

    211

    Broadcast and Unknown Server (BUS) Emulates broadcast and multicast; critical to LANE

    Uses point-to-multipoint VC with all clients

    Servers physically located in one or more devices

    H2H1

    BUSLESATM network

    Point-to-point VC

    Point-to-multipoint VCLECS

    LANE Registration

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    212/264

    212

    1. Client contacts LECS on predefinedVC, and sends ATM address to it

    2. LECS returns LAN type, MTU andATM address of LES

    3. Client signals connection to LES, andregisters MAC and ATM addresseswith LES

    4. LES returns ATM address of BUS

    5. Client signals connection to BUS

    6. Bus adds client to point-to-multipointVC

    ATM Network

    LECS

    LES BUS

    H1 H2

    H3

    LANE Circuit Setup

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    213/264

    213

    1. Client (H1) knows destinationMAC address of receiver (H2)

    2. Client (H1) sends 1st packet toBUS

    3. BUS sends address resolutionrequest to LES

    4. LES returns ATM address toclient (H1)

    5. Client (H1) signals connectionto H2 for subsequent packets

    ATM Network

    LECS

    LES BUS

    H1 H2

    H3

    Contention in Switches Some packets destined for same output

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    214/264

    214

    Some packets destined forsame output

    One goes first

    Others delayed or dropped

    Delaying packets requires buffering

    Finite capacity, some packets must still drop

    At inputs

    Increases/adds false contention

    Sometimes necessary

    At outputs

    Can also exert backpressure

    Output BufferingCustomer

  • 7/27/2019 Advanced Computer Networks - CS716 Power Point Slides Lecture 25

    215/264

    215

    1x6 Switch

    x

    a

    Standard check-in lines

    Customer

    service

    trying to check-inyou Mr. X

    writing

    complaintletter

    Mr. A

    waiting to

    claim refund

    of Rs.100

    Input Buffering: Head-of-line