Router Architecture Overview Input Port Functions Input Port ..., Schemes and Mind Maps of Computer Networks

Computer Networks. Lecture 35: Router Architecture, FIFO, RED, ECN. Router Architecture Overview. Two key router functions: ... Advanced design: fragment.

Typology: Schemes and Mind Maps

2022/2023

Uploaded on 05/11/2023

paulina
paulina 🇺🇸

4.4

(13)

240 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Computer Networks!
Lecture'35:'
Router'Architecture,'FIFO,'RED,'ECN'
Router'Architecture'Overview'
Two'key'router'functions:''
1.run'routing'algorithms/protocol'(RIP,'OSPF,'BGP)'
2.forward!packets'from'incoming'to'outgoing'link'
Input'Port'Functions'
Packet'forwarding:'
given'packet'destination,'lookup'
output'port'using'forwarding'table'in'
input'port'memory'
goal:'complete'input'port'processing'
at'“line'speed”'
input'queueing:'if'packets'arrive'
faster'than'forwarding'rate'into'
switch'fabric'
Physical'layer:'
bit-level'reception'
Data'link'layer:'
e.g.,'CRC'
Input'Port'Queueing'
Fabric'slower'than'input'ports'taken'together'
'queueing'may'occur'at'input'queues''
Head-of-the-Line'(HOL)'blocking:'queued''
packet'at'the'front'of'queue'prevents'others''
in'queue'from'moving'forward'
Queueing'delay'and'loss'can'happen'at'input'port'buffer'
pf3
pf4
pf5

Partial preview of the text

Download Router Architecture Overview Input Port Functions Input Port ... and more Schemes and Mind Maps Computer Networks in PDF only on Docsity!

Computer Networks

Lecture 35:

Router Architecture, FIFO, RED, ECN

Router Architecture Overview

Two key router functions:

  1. run routing algorithms/protocol (RIP, OSPF, BGP)
  2. forward packets from incoming to outgoing link

Input Port Functions

Packet forwarding:

  • given packet destination, lookup output port using forwarding table in input port memory
  • goal: complete input port processing at “line speed”
  • input queueing: if packets arrive faster than forwarding rate into switch fabric Physical layer: bit-level reception Data link layer: e.g., CRC

Input Port Queueing

Fabric slower than input ports taken together  queueing may occur at input queues Head-of-the-Line (HOL) blocking: queued packet at the front of queue prevents others in queue from moving forward Queueing delay and loss can happen at input port buffer

Three Types of Switching Fabrics Switching Via Memory

First generation routers:

  • traditional computers, with switching under direct control of CPU
  • packet copied into system’s memory
  • speed limited by memory bandwidth ( 2 bus crossings per datagram) Input Port Output Port Memory System Bus

Switching Via a Bus

Packet transferred from input port

memory to output port memory via

a shared bus

Bus contention: switching speed

limited by bus bandwidth

1 Gbps bus (e.g., Cisco 1900 ):

sufficient speed for access and

enterprise routers (not regional or

backbone)

Switching via Interconnect

Overcome bus bandwidth limitations

Banyan networks and other interconnection nets

initially developed to connect processors in

multiprocessor system

Advanced design: fragment

datagrams into fixed length

cells, switch cells through

the fabric

E.g., Cisco 12000 : switches

Gbps through the interconnect

Queueing Delay

L = packet length (bits)

a = average packet arrival rate

R = link bandwidth (bps)

Traffic intensity ( I ) = La / R

  • I ~ 0 : average queueing delay small
  • I ~ 1 : delays become large
  • I > 1 : more “work” arriving than can be serviced, average delay infinite!

Queue (buffer) preceding a link has finite capacity

  • when packet arrives at full queue, packet is dropped (lost)
  • lost packet may be retransmitted by the previous node, by the source, or not at all

Queue Management

Design issues:

  • scheduling discipline:
    • choose next packet to send on link
    • e.g., FIFO, priority queue, fair queue
  • fairness issue
  • delay bound
  • drop policy:
    • drop tail: drop newly arriving packet
    • drop head: long queued packet may no longer be of use to receiver
    • priority drop: drop on a priority basis
    • random drop: either on overflow or early drop
  • cost of operation

Traditionally: FIFO with drop tail

First In First Out (FIFO)

  • queued packets sent in order of arrival
  • low cost
  • not fair
  • no delay bound

queue packet arrivals packet departures B: buffer size service rate

Problems with Drop-Tail

Traditionally, FIFO with drop tail, however:

  • TCP uses packet drop as congestion signal
  • congestion signal is time delayed in reaching sender
  • problems:
    • drop-tail queuing leads to bursty losses
    • when a link becomes congested many arriving packets encounter a full queue
    • as a result, many flows divide sending rate in half and, many individual flows lose multiple packets
    • growth of cwnd’s across flows can become synchronized
    • unfair to long-RTT connections

Slow Feedback from Drop Tail

Feedback is given only when buffer is completely full

  • even though the buffer has been filling up for a while

Plus, the filling buffer is increasing RTT

  • and RTT variance

May be better to give early feedback

  • get 1-2 largest flows to slow down, not all of them
  • get these flows to slow down before buffer overflows

Early Drop

Early drop:

  • watch the queue and start dropping before the queue is full
  • give time for congestion signal to propagate back to source

Goals:

  • operate router at “knee” capacity: low delay, high throughput
  • keep average queue size low
  • but allow for fluctuations in actual queue size to accommodate bursty traffic and transient congestion Jain et al.

Random Drop

Random drop:

  • observe: flows with more packets in queue have a higher probability of being dropped
  • drop packet randomly if average queue length is above threshold
    • high instantaneous queue length could simply mean transient congestion
    • high average queue length indicates persistent congestion
    • what would be a good way to measure average queue length? Peterson & Davie

Random Early Drop

Random Early Drop:

  • router notices that the queue is getting backlogged
  • and randomly drops packets to signal congestion early
    • drop probability increases as queue length increases
    • if buffer is below some level, don’t drop anything
    • otherwise, set drop probability as function of queue

Implementation:

  • define a minimum (min_th) and a maximum (max_th) queue occupancy thresholds
  • monitor average queue length (aqlen) (^) Peterson & Davie max_th min_th aqlen

Explicit Congestion Notification

Implementation issues:

  • must be supported by both end hosts and routers
  • requires 2 bits in the IP header for forward (router to receiver) direction
    • one for the ECN mark; the other to indicate ECN capability
    • solution: borrow 2 Type-Of-Service bits in IPv 4 header
  • requires another 3 bits in TCP header (the 4 bits after header length that were previously not used) for receiver to signal sender (reverse direction)