session 7. packet switching networkset.engr.iupui.edu/~dskim/classes/ece547/ln-network-ch07.pdf ·...

23
1 Session 7. Packet Switching Networks Dongsoo S. Kim ([email protected]) Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis 7-1 Overview General Layer-3 (Network) Protocols Packet network topology Packet network topology IP network ATM network Datagram and virtual circuits Routing Shortest path algorithms 7-2 Shortest path algorithms Optimal path algorithms Traffic control Congestion control

Upload: others

Post on 04-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

    Session 7.Packet Switching Networks

    Dongsoo S. Kim ([email protected])Electrical and Computer EngineeringIndiana U. Purdue U. Indianapolis

    7-1

    p

    OverviewGeneral Layer-3 (Network) ProtocolsPacket network topologyPacket network topologyIP networkATM networkDatagram and virtual circuitsRoutingShortest path algorithms

    7-2

    Shortest path algorithmsOptimal path algorithmsTraffic controlCongestion control

  • 2

    Network Protocol StackEnd

    systemEnd

    system

    Upper Upper

    Transportlayer

    Networklayer

    Transportlayer

    Networklayer

    Networklayer

    Networklayer

    Upperlayers

    Upperlayers

    Network device(switch, router)

    Network device(switch, router)

    7-3

    Physicallayer

    Physicallayer

    Physicallayer

    Physicallayer

    Data Linklayer

    Data Linklayer

    DLlayer

    DLlayer

    Physicallayer

    Physicallayer

    DLlayer

    DLlayer

    Network Layer FunctionsTransport packet from sending to receiving hosts Network layer protocols in every host, routerTh i f iThree important functions:

    Path determination: route taken by packets from source to destinationRouting algorithms

    Central routing algorithmDistributive algorithm

    Switching: move packets from router’s input to appropriate router outputSwitch architecture

    Shared memory architecture/shared bus architecture

    7-4

    Shared memory architecture/shared bus architectureMultistage switch architecturesInput buffer vs. output buffer

    Call setup: some network architectures require router call setup along path before data flows

    SignalingAdmission control

  • 3

    Network service modelQuestion: What service model of the channel for

    transporting packets from sender to receiver?p g p

    Service modelGuaranteed bandwidth?Preservation of inter-packet timing (no jitter)?Loss-free delivery?In-order delivery?Congestion feedback to

    ??

    7-5

    Congestion feedback to sender?Cost? ? ?IP

    Virtual CircuitsCircuitA source-to-destination path behaves much like telephone circuitcircuit

    Performance-wiseNetwork actions along source-to-destination pathcall setup, teardown for each call before and after data flows

    VirtualNo link is dedicated to the connection not as pure circuit switchingA channel may not dedicate to the connection not as TDM

    Not a Datagram

    7-6

    Each packet carries VC identifier (not destination host OD)Every router on source-destination paths maintain state for each passing connectionLink, router resources (bandwidth, buffers) may be allocated to VC to get circuit-like performance

  • 4

    Virtual Circuits: Signaling Protocols

    Used to setup, maintain teardown VCUsed in ATM frame-relay X 25Used in ATM, frame relay, X.25

    3 Accept call4. Call connected

    5. Data flow begins6. Receive data

    NetworkTransport

    Transport

    7-7

    1. Initiate call2. incoming call

    3. Accept call

    physicalData linkNetwork

    physicalData linkNetwork

    Datagram Networks: the Internet modelNo call setup at network layerRouters: no state about end-to-end connections

    No network-level concept of connection

    Packets typically routed using destination host IDPackets between same source-destination pair may take different paths

    7-8

    1. Send data 2. Receive data

    physicalData linkNetworkTransport

    physicalData linkNetworkTransport

  • 5

    Network Layer Service Models

    TimingOrderLossBandwidth

    Guarantees?ServiceModel

    NetworkArchitecture

    YesYesYesGuaranteedRate

    VBR

    YesYesYesConstantRate

    CBRATM

    NoNoNoNoneBest EffortInternet

    TimingOrderLossBandwidth

    7-9

    NoYesNoNone UBR

    NoYesNoGuaranteed minimum

    ABR

    Datagram or VC network: why?

    InternetData exchange among computers

    ATMDesigned for integration (B ISDN)elastic service

    no strict timing requirement Intelligent end-systems (computers)

    Can adapt, perform control, error recoverySimple inside network, complexity at edge

    (B-ISDN)Telephony

    strict timing, reliability requirementsneed for guaranteed service

    Stream ServiceDelay is OKVariance of delay is critical

    Data communiction

    7-10

    complexity at edgeMany link types

    Different characteristicsUniform service difficult

    Bursty Need bandwidth as much as possible, but not always

    Complication of network device

  • 6

    What Are They?

    Application

    Network

    Transport

    or below

    IPwares AAL

    7-11

    Physical

    Data LinkATM

    Ether

    DSL

    Network Topology

    XX ∩Internet

    Gateway or Border Routerserver switches

    X X

    XX ∩

    router

    High speedbackboneDistributive

    servers AutonomousSystem

    7-12

    hub

    Departmentserver

  • 7

    IP RouterGeneral computer system with two or more IP interfacesinterfacesEach IP packet contains the destination addressThe IP router decides the next router with the dest address

    No previous knowledge on the dest addressNo touch on the IP packet (with a little exception?)

    Routing table

    7-13

    Routing tableList of destination address and port numberTable lookup for each packet, and forward to the port number

    Virtual Circuit SwitchingEstablish a connection (fixed path) before communication

    Set parameters in the switches along the pathBandwidthLoss rateDelay and delay variants

    A physical link can be shared by multiple connectionsAdmission control - whether allow the establishment or not based on the available resources in the network

    All packets for a connection follow the same path

    7-14

    Each packet contains a VCI but not a full destination addressThe overhead caused by the full source and destination address Table lookup with the VCI to find the next-hop port and VCIThe VCI in the packet is translated to the next VCI

  • 8

    VC Switching - Illustration

    Node 1A

    BVCNdVCNd

    OutgoingIncomingNode 3

    1 8Node 1A

    5A331A23335A231A

    VCNdVCNdOutgoingIncoming

    2332VCNdVCNd

    OutgoingIncoming

    314424162176162444317621

    738B135B5B138B73

    VCNdVCNdOutgoingIncoming

    Node 4

    Node 62

    7

    5

    4

    3

    7-15C

    D

    6C34346C

    VCNdVCNdOutgoingIncoming 4355

    322355432332

    542D2D54

    VCNdVCNdOutgoingIncoming

    Node 2 Node 5

    2

    5

    Routing - OverviewFind the best path. But, what is the best?

    Shortest path - minimum number of hopsMinimum end-to-end delayMaximum available bandwidth

    ClassificationStatic or Dynamic (Adaptive)

    Static routing - pre-assigned path, manually configured routing tableGood for small and fixed network topologyDisadvantage for network failure

    Dynamic (adaptive) routing - each router learns the network topology by exchanging information with its neighbors

    7-16

    exchanging information with its neighborsComplication in each router

    Centralized or Distributed routingCentralized routing - a central computer calculates all possible paths and dictates routers in the network

    Flood of routing informationDistributed routing - each router calculates paths with available information

    Inconsistency, loop

  • 9

    Principle of OptimalityPrinciple

    If a node b is on the optimal path from node a to node c,th th ti l th f b t l f ll th ththen the optimal path from b to c also falls the same path

    ExpansionSink-tree

    a b c

    optimal

    Then, optimal

    7-17

    Hierarchical RoutingSize of routing table

    US telephone - 10 billion entriesUS telephone 10 billion entriesIP - 32 bit address (4 billion entries)IPv6 - 128 bit address (256x1036 entries)

    Common prefixProcess only the prefix if they are not in my network

    7-18

    317 - 274 - 4493

    Area code

    Central office identifier

    Port # in CO

  • 10

    Distance Vector RoutingDistributed Bellman-Ford algorithmVariations

    Original ARPANET routing algorithmInternet RIPNovell’s IPXAppleTalk and Cisco routers

    Structure of Routing Table F

    A

    E

    B

    C

    DRoute Info

    Delay NextHopE, 3C, 4A, 8To

    8

    4

    3

    7-19

    530488

    E2326FE02314E

    3047

    591216

    -9DC12CC5BA0A 3

    Distance Vector Routing - continuedHOWTO

    Metric - Number of hops Time delay or something elseMetric Number of hops, Time delay, or something elseEach router know the metrics to the next routerEach router sends its table to each neighbor router periodicallyEach router receives the table of each neighbor and updates its routing table

    Question: What if a link fails?Hey baby, don’t worry.

    C

    BA D

    7-20

    y y, yReally?Counting-to-infinity

    Question: Where is the bandwidth consideration?

    E

  • 11

    Link State RoutingDijkstra’s algorithm for finding the shortest pathEnhancingEnhancing

    Measure the delay or other cost as bandwidthPropagate a new information quickly

    ExampleOSPF

    7-21

    Flooding Forward an incoming packet to all ports except the one the packet was received fromApplication

    When no routing table is availableFor broadcasting

    ProblemsSwamp the network. Packets are multiplicated exponentiallyCirculating packets

    SolutionUse TTL fields

    7-22

    Use TTL fieldsEach router adds an ID to each packet. If the router sees the packet again, then discard it.Each router records an packet ID before flooding. It the router sees the packet again, then discard it.

  • 12

    Hot potato routingDeflecting routingHowtoHowto

    In normal situation, a router forwards packets to a default portIf the default port is busy or congested, forward any other port

    ProblemsOut-of order deliveryNo path via the alternative port

    Advantage

    7-23

    AdvantageVery simple. No routing table is requiredNo buffer required

    Source routingHowto

    A source host knows the complete route to the destinationA source host knows the complete route to the destinationEach packet contains the route information in the headerEach route strips off the label indicating the node and forwards the packet to the next node

    CharacteristicsIn-order guaranteedOverhead of packets

    7-24

    pOverhead in the source host

  • 13

    Optimal routing Based on the queuing modelDelay or cost on a link between node i and j = DDelay or cost on a link between node i and j = Dij

    Minimize the total cost

    FFC

    FFCDT ij

    ijij

    ij +−

    == ∑∑subject to

    ),(

    Minimize

    βα

    7-25

    CFF≤

    and t,requiremen thesatisfying flowdity multicommo a is j

    Useful for network planning

    ATM NetworksPrinciples

    Connection-oriented packet switching (virtual circuit switching)Integration voice data multimediaIntegration - voice, data, multimedia Statistical multiplexingShort fixed-length packets (cells): 53 bytes

    5 bytes ATM header and 48 bytes Payload Why 48 bytes?

    Asynchronous – no global clock pulse or no synchronous frameSwitched Virtual Circuit (SVC)

    Connection-establishing on demand by ATM signalingPermanent Virtual Path, Circuit, or Channel (PVP, PVC)

    Man all set p the connection fo leased lines

    7-26

    Manually set up the connection for leased linesTraffic Descriptor and Quality-of-Service

    Peak cell rateLong-term average cell rateMaximum length of bursty cellsCell delay and cell loss rateCell delay jitter

  • 14

    Virtual Path and Virtual ChannelHierarchical switching to release the load in switches

    A physical link contains 4096 (or 256) VPC’s (VPI)A VPC contains 65536 VCC’s (VCI)A VPC contains 65536 VCC’s (VCI)

    VP segments

    ATMSW ATM

    SW

    ATMDCC

    ATMSW

    ATMSW

    b

    a a

    VP Segment of a

    7-27VP Segment of b

    ATMDCC

    ATMSW

    b

    b

    b

    ATM SW can do either VP or VC switching,but ATM DCC does VP switching only

    Traffic Management and QOSProvide quality-of-service to individual packet thru the series of switches or routersWhat to Provide

    End-to-end delaySum of individual delays

    Jitter experience Variation of packet delayDifference of minimum delay and maximum delay

    Packet loss rate

    The link doesn’t have a control, but the node does.

    7-28

    Caused by faults in equipments, or traffic congestion

    Bandwidth

  • 15

    QueuesFIFO Queue

    A single common buffergThe order of arrival is the order of departureEqual opportunity to every packet – no control of QOSFairness? – a low-volume traffic vs. a high-volume traffic

    Priority QueueA separate buffer to each priority classTransmit packets in a class if all higher queues are emptyFairness in a priority class?

    7-29

    Fairness in a priority class?

    Packetdistributor

    Fist class queue

    Economy class queue

    When high-priority queue empty

    Fair QueueTo provide equal opportunity to access to transmission bandwidth

    Each user has its own logical queueIdeally, the network bandwidth is divided equally among the queuesPractically, it is impossible to divide the bandwidth equally

    Fluid-flow system:both packets served at rate 1/2

    Packet-by-packet system:queue 1 served first at rate 1;then queue 2 served at rate 1.Packet from

    queue 2 waiting

    7-30

    1

    t1 2

    Both packetscomplete serviceat t=2

    0

    1

    t1 2

    Packet from queue 2being served

    Packet fromqueue 1 beingserved

    queue 2 waiting

    0

  • 16

    Approximation of Fair QueueDifficulties

    Large frame sizeLarge frame sizeVariable frame size

    ApproximationWhen a packet arrives at a user queue, the ideal completion time is derived and this number is used as a finish tagAfter completing a packet transmission, pick the next packet to be transmitted with the smallest finish tag

    7-31

    Fair Queue, GeneralizationPacket flow 1

    Packet flo 2

    Approximated bit-levelround robin service

    The actual duration of a given round is proportional to the actual number of buffers (nA).Let R(t) is the number of rounds at time t then

    C bits/second

    Transmission link

    Packet flow 2

    Packet flow n

    Let R(t) is the number of rounds at time t, then

    where C is the capacity

    )()(

    tnC

    dttdR

    A=

  • 17

    Computing Finishing TagNotation:

    F(i k t) = finish time of kth packet that arrives at time t to flowF(i,k,t) = finish time of kth packet that arrives at time t to flow i . P(i,k,t) = size of kth packet that arrives at time t to flow i. R(t) = round number at time t

    Fair Queueing:F(i,k,t) = max{F(i,k-1,t), R(t)} + P(i,k,t)

    W i ht d F i Q iWeighted Fair Queueing:F(i,k,t) = max{F(i,k-1,t), R(t)} + P(i,k,t)/wi

    Buffer 1at t=0

    Buffer 2at t=0

    1

    Fluid-flow system:both packets served at rate 1/2

    Packet from buffer 2 served at rate 1

    2

    2t

    30

    1

    Packet-by-packet fair queueing:buffer 2 served at rate

    Packet from buffer 2 waiting. Finish tag for buffer 2 is 2.

    1

    t1 2

    1Packet from buffer 1 served at rate 1.Finish tag for buffer 1 is 1.

    0 3

  • 18

    Weighted Fair Queueing

    Buffer 1 at t=0, weight is 1

    Fluid-flow system:packet from buffer 1

    Packet-by-packet weighted fair queueing:buffer 2 served first at rate 1;

    weight is 1

    Buffer 2 at t=0,Weight is 3 1

    t1 2

    packet from buffer 1served at rate 1/4;

    Packet from buffer 1 served at rate 1Packet from buffer 2

    served at rate 3/4 0

    Packet frombuffer 1 waiting buffer 2 served first at rate 1;

    then buffer 1 served at rate 11

    t1 2

    Packet from buffer 1 served at rate 1

    Packet frombuffer 2 served at rate 1

    buffer 1 waiting

    0

    Congestion ControlToo many packets try to access the same link (buffer)

    The buffer builds up and eventually becomes fullp yPacket lossRetransmission will make it worse

    StrategiesOpen-loop control

    Prevent congestion from occurring by making sure that the traffic flow generated by the source will not degrade the performance of the network below the specified QoS

    7-36

    Admission controlClosed-loop control

    React to congestion when it is already happening or is about to happen by regulating the traffic flowFeedback information

  • 19

    Open-Loop ControlsRegulate the traffic flow. Once it is accepted, its traffic flow will not overload the networkStrategies

    Admission controlSpecify QoS parameters (or traffic descriptor) before establishing a connection as peak rate, average rate, maximum burst size, maximum delay, loss probability, and delay varianceConnection AC (CAC) systems should know the traffic flow of each source

    PolicingOnce a connection is accepted the system must monitors the traffic flow

    7-37

    Once a connection is accepted, the system must monitors the traffic flow to check whether it violates the initial contract or notLeaky bucket algorithm

    Traffic ShapingReform a traffic flow to another flow

    Leaky BucketCharacteristics

    Irregular incoming packetWater poured

    Constant rate outgoing packetThe overflowed packet is discarded

    Capacity of the bucketDepends on the traffic patternSmoothed traffic needs small bucketBursty traffic requires a large bucket

    Leaky bucket

    Water pouredirregularly

    7-38

    Drain rateBandwidth allocation to the specific connection

    Water drains ata constant rate

  • 20

    Leaky Bucket AlgorithmArrival of a packet at time ta I = nomial inter-arrival time

    L+I = size of the bucketX’ = X - (ta - LCT)

    X’ = 0

    Nonconformingpacket

    Yes

    NoYes

    X’ < 0?

    X’ > L?

    L+I = size of the bucket

    The bucket will drain at a continuous rate of 1 unit per packet time, if it is not empty.

    7-39

    X = X’ + ILCT = ta

    conforming packet

    p

    X = value of the leaky bucket counterX’ = auxiliary variableLCT = last conformance time

    No

    Behavior of Leaky Bucket

    Packetarrival

    Nonconforming

    I

    L+I

    Bucketcontent

    Time

    arrival

    7-40

    I

    Time* * * * * * * **

  • 21

    Dual Leaky BucketPolice the sustainable rate as well as the peak rate

    Tagged or dropped

    Untagged traffic

    Incomingtraffic Leaky bucket 1

    PCR and CDVT

    7-41

    Untagged traffic

    Leaky bucket 2SCR and MBS

    Tagged or dropped

    PCR: Peak Cell RateCDVT: Cell Delay Variation ToleranceSCR: Sustainable Cell RateMBS: Medium Burst Size

    Traffic ShapingFor smoothing abrupt traffic flow Many possible waysy p y

    Eg) application periodically generate 10 Kbit data every second 10 Kbps

    Time0 1 2 3(a)

    i

    50 Kbps(b)

    7-42

    Time0 1 2 3

    Time0 1 2 3

    100 Kbps

    (c)

  • 22

    Leaky Bucket Traffic ShaperDifference in implementation

    Leaky bucket policing – countersLeaky bucket policing countersLeaky bucket traffic shaper - buffer

    Incoming traffic Shaped traffic

    Size N

    7-43

    Packet

    Token Bucket Traffic ShaperToo restricted leaky bucket traffic shaper (constant output rate)Flexibility for variable-rate traffic Tokens arrivey

    Size K

    Tokens arriveperiodically

    Token

    7-44

    Incoming traffic

    Shaped trafficSize N

    Server

    Packet

  • 23

    Closed-Loop ControlUse of feedback informationTCP congestion controlTCP congestion control

    Implicit feedback – timeout

    ATM congestion controlExplicit feedback – OAM message

    7-45

    TCP Congestion ControlA sender maintains the “congestion window”The maximum amount of data that the sender can transmit is the minimum of an advertised window and the congestion windowDynamically adjust the congestion windows

    Congestion15

    20Congestionavoidance

    Congestion occurs

    7-46

    Congestionwindow

    10

    5

    0Round-trip times

    Slowstart

    Threshold