590 likes | 858 Views
The Network Layer. Introduction. Route packets through subnet So, it must know the topology of the subnet It should also be able to choose path from it It should do load balancing between routers and communication lines
E N D
Introduction • Route packets through subnet • So, it must know the topology of the subnet • It should also be able to choose path from it • It should do load balancing between routers and communication lines • When source and destination are in different networks, it solves the differences
Store-and-Forward Packet Switching • The packet is stored at router until it has fully arrived so the checksum can be verified. Then it is forwarded to the next router
Services Provided to the Transport Layer • Connectionless Service • packets are injected into the subnet individually and routed independently of each other • Internet • Connection-Oriented Service • a path from the source router to the destination router must be established before any data packets can be sent. This connection is called a VC (virtual circuit) • ATM networks
Routing Algorithms • deciding which output line an incoming packet should be transmitted on • datagram : • decision must be made anew for every arriving data packet • virtual circuits : • decisions are made only when a new virtual circuit is being set up • Also called session routing • Forwarding and Routing
Routing Algorithms • Nonadaptive algorithms • choice of the route to use to get from I to J is computed in advance, off-line, and downloaded to the routers when the network is booted. • This procedure is sometimes called static routing. • Adaptive algorithms • choice of the route to use to get from I to J is computed during transmission. • This procedure is sometimes called dynamic routing.
The Optimality Principle • If router J is on the optimal path from router I to router K, then the optimal path from router J to router K also falls along it • The set of optimal routes from all sources to a given destination forms a tree • This tree has destination as a root and is known as sink tree • All routing algo tries to discover it
Shortest Path Routing • Represent Subnet as a graph where routers are nodes and com lines are edges or links • The metric or weight of an edge is imp • No. of Hops, Physical distance, time to reach the destination are the examples • It can be bandwidth, average traffic, com cost, mean delay, or any combination of it
Dijkstra's Algorithm • Each node is labeled from the source node • Label can be temporary or permanent • The starting node is permanent, nearest node is made permanent & is the next node • All other neighbors are temp’ly labeled
Flooding • Every IC packet is sent to all OG lines • Generates vast numbers of duplicate packets • It is highly robust, useful in military apps • Selective flooding for better throughput
Distance Vector Routing • It operates by maintaining best known distance to each destination and an OG line • These tables are updated by exchanging info with its neighbors • It is also known as distributed Bellman-Ford or Ford-Fulkerson algo • It’s original Arpanet routing algo
The Count-to-Infinity Problem • Consider a linear subnet having A, B, C, D, E nodes, with metric is no of hops • The figure shows two cases, • When A is up • when A is down
Link State Routing • DV used delay metric not considering line BW • The algo take very long time to converge • Each router using LSR must do • Discover the neighbors and their NW addresses • Measure the delay or cost to them • Construct a packet • Send to all neighbors • Compute the shortest path to every other router
1) Learning About The Neighbors • Sending special HELLO packet to each PtoP lines when booted • Names of routers must be globally unique
Learning About The Neighbors (a) Nine routers and a LAN. (b) A graph model of (a).
2) Measuring Line Cost • Delay is used as a metric, so special ECHO packet is sent the RTT is calculated • RTT (round-trip time) is divided by 2 to get the estimate • Whether to consider load or not is crucial • Load Considered : RTT to start when Echo packet is queued • Load Not Considered : when it comes to the front of queue
3) Building LS Packets • The packet contains, ID of sender, seq, age, and list of neighbors with respective delay • One possibility is to do it periodically • Another is to do when some significant like router coming up or going down happens
The Age field • Age is included in every packets and is decremented once per second • When age hits zero, info from that router is discarded • It ensures that no packet gets lost and live forever
4) Distributing Link State Packets • Flooding is used for distributing,seq no is used for checking • Routers keep track of all the source, seq pairs they see • If seq is new it is forwarded
5) Computing New Routes • Once router receives all LSPs, it can construct the whole graph for the subnet • Dijkstra's algorithm now can run locally to construct shortest paths to all possible dest
Routing to Mobile Hosts • Users who never move are known as stationary, they use copper or fiber to communicate • Migratory users are stationary but moving from one fixed site to another • Roaming users are connected to the internet wherever they are
The Registration Process • Periodically each agent broadcasts a packet • Packet contains it’s address • MH registers with FA, giving HA, current DLL address, + some security info • FA contacts MH’s HA and convince him • FA gets ack and inform MH about registration, and add info in routing table
Routing in AdHoc Networks • Hosts are mobile and also routers are mobile in Adhoc networks • Also known as MANET(Mobile AdHoc Networks) • No Fixed topologies, no fixed neighbors etc • AODV(Ad hoc Distance Vector) Routing Algorithm
Congestion Control Algorithms • Defn:- • When too many packets are present in (a part of) the subnet, performance degrades. This situation is called congestion
General Principles of CC • Open Loop attempts to solve it by good design • Once the system is up and running, midcourse corrections are not made. • Closed Loop based on the concept of feedback • Monitor the system to detect congestion • Pass the information elsewhere to take action
General Principles of CC • In Open, act at source or at a destination • In Closed, explicit vs. implicit feedback • In explicit feedback case, the router sends the packets back • In implicit feed back the source deduce it by making local observations • Delay in receiving ack
Open Loop Solution • Minimize congestion in the first place, rather than letting it happen and reacting after the fact • Goal is achieved by using appropriate policies at various layers
Closed loop Solutions • Let Congestion occur first and than control it • Congestion Control in Virtual-Circuit Subnets • Congestion Control in Datagram Subnets • Load Shedding • Jitter Control
Congestion Control in Virtual-Circuit Subnets • Admission control (Don't allow new connection after congestion detection) • once congestion has been signaled, no more virtual circuits are set up until the problem has gone away
Congestion Control in Datagram Subnets • The Warning Bit • Choke Packets • Hop-by-Hop Choke Packets