Professional Documents
Culture Documents
Routing Algorithms
Objective: Route packets from source to destination. At a given node, it decides which output line an incoming packet should be sent. Desirable properties: Correctness, simplicity, robustness, stability, fairness, and optimality. Goals: Maximize network throughput and minimize mean packet delay Optimality principle
Flow-based Routing
Assuming that the capacity (Cij) and flow (Fij) along all the links in a network are known, path with a shortest delay can be determined. T = 1/(mC-L) where C is capacity in bps, L is arrival of packets/sec, 1/m is the average number of bits per packet. By trying out different possible paths, minimal routing can
be determined
Routing algorithms
Link State Routing: Replaced distance vector routing. Steps: Each router must (1) Discover its neighbors and learn their network addresses. (2) Measure the delay or cost to each of its neighbors. (3) Construct a packet telling all it has learned. (4) Send this packet to all other routers. (5) Compare the shortest path to every other router.
Traffic shaping: Open loop method: To force packets to be sent at more predictable rate and reducing the effect of bursty traffic. Traffic shaping vs. sliding window protocol Agreement between traffic carrier and user Traffic policing Leaky bucket and token bucket algorithms
CONGESTION CONTROL ALGORITHMS (Contd.) Leaky bucket: (1) A fixed capacity bucket (2) The output from the bucket is at a constant rate (3) When bucket overflows, information is lost. It can be thought of a single server queue with finite buffer and constant service time. Assuming constant packet (or cell sizes as in in ATM), it can be implemented as finite queue of buffers with one packet being serviced at each tick and put on the network.
Input: 0-2 msec: 1500 MB/sec; 100-102 msec: 1500 MB/sec; 200-202 msec: 1500 MB/sec; Output: 0-50 msec: 60 M/sec; 100-150 msec: 60 MB/sec; .
What should be the capacity of the leaky bucket to avoid loss? The burst cannot be held and hence there will be an overflow. How much is lost? During the burst, data inflow is at the rate of 1.5 MB/msec and the outflow is at the rate of 0.6 MB/msec. So accumulation is at the rate of 0.9 MB/msec. So at the end of 2 msec, there will be an accumulation of 1.8 MB. This is the minimum leaky bucket capacity to avoid buffer overflow and hence data loss.
Token bucket example: Bucket capacity = 1 Mbytes Token arrival rate = 2 Mbytes/sec Network capacity: 10 Mbytes/sec Application produces 0.5 Mbyte burst every 250 msec. For 3 seconds Initially, output can be at the rate of 10 Mbytes/sec. But how long does this prevail? X seconds 1 + 2X = 10X; 8X = 1; X = 1/8 sec =125 milliseconds. During this time, it can transmit 1.25 Mbytes. But the burst size is not that much. So this will continue until the 0.5 Mbytes is sent. This takes 0.05 seconds or 50 milliseconds Output: 0-50 msec: 10 Mbytes/sec 50-250 msec: None By the time the next burst arrives, how many tokens will be accumulated? 2*200/1000 = 0.4 Mbytes of tokens How long with the next burst last? 0.4 + 2X = 10 X; X = 0.4/8= 50 msec. Output: 250-300msec: 10 Mbytes/sec This will continue for 3 seconds.
INTERNETWORKING
Deals with connecting subnets of different type Networks may differ in : service offered, protoocls, addressing, multicasting, packet size, QoS, error handling, flow control, congestion control, security, parameters (e.g., timeouts), accounting Concatenated virtual circuits: Several VCs are set up and connected Connectionless internetworking Tunneling (Multiprotocol router) Internetwork routing---interior gateway protocol and exterior gateway protocol Fragmentation---transparent, nontransparent Firewalls: Two routers + application gateway(s)
ATM cell: 5-byte header + 48-byte payload Interfaces: ATM-ATM (NNI); UserNetwork (UNI) NNI: VPI+VCI+PTI+CLP+HEC UNI: GFC (not used)+VPI+VCI+PTI+HEC AAL might use some of the 48-byte payload