* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download CS412 Introduction to Computer Networking & Telecommunication
Drift plus penalty wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Backpressure routing wikipedia , lookup
Internet protocol suite wikipedia , lookup
Network tap wikipedia , lookup
Distributed firewall wikipedia , lookup
Serial digital interface wikipedia , lookup
Airborne Networking wikipedia , lookup
Computer network wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
TCP congestion control wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Packet switching wikipedia , lookup
Deep packet inspection wikipedia , lookup
Wake-on-LAN wikipedia , lookup
CS412 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer Chi-Cheng Lin, Winona State University Topics Design Issues Routing Algorithms Congestion Control Internetworking 2 Position of network layer 3 Network Layer Design Issues • • • • • Store-and-Forward Packet Switching Services Provided to the Transport Layer Implementation of Connectionless Service Implementation of ConnectionOriented Service Comparison of Virtual-Circuit and Datagram Subnets 4 Store-and-Forward Packet Switching The environment of the network layer protocols. 5 Figure 19.3 Network layer in an internetwork 6 Figure 19.4 Network layer at the source 7 Figure 19.5 Network layer at a router 8 Figure 19.6 Network layer at the destination 9 Services Provided to Transport Layer Designing goals Independent of subnet technology Transport layer shielded from number, type, and topology of subnets Uniform network address numbering Two Types of Services Connectionless Connection-oriented 10 Implementation of Connectionless Service Routing within a diagram subnet. 11 Implementation of Connection-Oriented Service Routing within a virtual-circuit subnet. 12 Comparison of Virtual-Circuit and Datagram Subnets 5-4 13 Routing Algorithms Network layer software Deciding which output line an incoming packet should be transmitted to Datagram: made for each packet VC: made for new VC setup 14 Routing Algorithms Desirable Properties Correctness Simplicity Robustness Stability Fairness Optimality 15 Routing Algorithms - Optimality What to optimize? Minimizing mean packet delay Maximizing total network throughput Problem The above two are in conflicts Compromise Minimizing number of hops a packet must take from source to destination 16 Classes of Routing Algorithm Two major classes Non-adaptive Adaptive 17 Two Major Classes of Routing Algorithm Adaptive Algorithms differ in where to get information, e.g., Locally From adjacent routers From all routers when to change routes, e.g., Every T sec When the load changes When the topology changes what metric used for optimization, e.g., Distance Number of hops Estimated transit time 18 Routing Algorithms to be Studied Static (i.e., nonadaptive) routing Shortest path routing Flooding Dynamic (i.e., adaptive) routing Distance vector routing Link state routing 19 Optimality Principle If router J is on the optimal path from router I to router K, then the optimal path from J to K also falls along the same route. Proof? K I J L 20 Sink Tree Direct consequence of optimality principle Subnet graph Node: router Arc: link The set of optimal routes from all sources to a given destination form a tree rooted at the destination Might not be unique Goal of routing algorithms Discover and use the sink tree for all routers 21 Sink Tree Example Distance metric: number of hops Subnet Sink tree 22 Shortest Path Routing Given a pair of routers, find the shortest path between them Subnet graph Node: router Arc: link Labels of arcs Function of factors Weighting function changed for different criteria 23 Dijkstra's Algorithm Each node labeled with (distance from source, best known path) Initially distance: infinity best known path: unknown Label might change to reflect better paths Node is either tentative or permanent Initially tentative As a path from source to that node discovered, label becomes permanent and never gets changed 24 25 Dijkstra's Algorithm How do we find the path? The algorithm given in the book works from destination to source Why? 26 Flooding Every incoming packet is sent out on every outgoing line except for the input line Problem Large number of packets are generated Solutions Hop counter Avoiding duplicates Selective flooding 27 Flooding - Conclusion Optimal Shortest path is always chosen No other algorithm can produce a shorter delay Robust Not practical in most applications Useful in some applications Military application: robustness Distributed database applications Concurrent update Wireless networks Metric of other routing algorithms 28 Distance Vector Routing Table in each router Giving Best known distance to each destination Which line to use to get there Indexed by each router Each entry contains two parts Preferred outgoing line to use for that destination Estimate of "distance" to go there Best known distance to each destination Updated by exchanging information with neighbors 29 Distance Vector Routing Router Knows "distance" to each neighbor Sends list to each neighbor every T msec Receives lists from neighbors every T msec If neighbor X knows Distance from X to I is XI, and Distance from the router to X is m then delay from router to I via X is (XI + m) Performs calculation for each neighbor to find the best Old table not used in calculation 30 31 Distance Vector Routing Count-to-Infinity Problem Good news spread fast, bad news leisurely Infinity has to be defined 32 Link State Routing A router 1. Discovers its neighbors and learn their network addresses - HELLO 2. Measures the delay or cost to each neighbor - ECHO 3. Constructs a packet telling all it has just learned – link state packet 4. Sends this packet to all other routers – flooding w/ duplicate avoidance 5. Computes the shortest path to every other router – Dijkstra’s algorithm 33 Link State Routing In effect Complete topology and all delays are experimentally measured and distributed to every router Dijkstra's algorithm is applied to find the shortest path 34 Link State Packets 35 Hierarchical Routing Problem Network size grows Routing tables grow Solution Hierarchical routing Idea Routers are divided into "regions" Router knows detail about routing within its region Router knows nothing about internal structure of other region 36 Path length from 1A to 5C? 37 Congestion Control Congestion Too many packets present in the subnet Effects Performance degraded Packet lost 38 Congestion and Network Performance (Could be achieved by congestion control) (Without congestion control) 39 Causes of Congestion Causes Too many packets need an output line queuing Problem: not enough memory packets dropped Solution(?): adding more memory New problem: timeout and retransmit worse Slow processors Low bandwidth lines Congestion tends to feed upon itself and become worse 40 Congestion Control v.s. Flow Control Flow control relates to traffic between two machines, while congestion control is more global Examples No congestion, flow control needed Flow control not needed, congestion Confusion Congestion control might send back "slow down" messages Not an acknowledgement 41 Congestion Control - General Principles Two groups Open loop Closed loop – feedback loop Explicit feedback Implicit feedback Source deduces existence of congestion by making local observation E.g., time needed for acknowledgement to come back 42 Congestion Control - General Principles Closed Loop - Approach Monitor the system to detect when and where congestion occurs Pass this information to places where actions can be taken Adjust system operation to correct the problem 43 Congestion Control Congestion = (Load > Resources) Solutions Increase resources Decrease load 44 Congestion Prevention Policies Policies that affect congestion. 5-26 45 Congestion Control in VC Subnets Admission control Alternative routes Resource reservation Based on negotiated agreement 46 Congestion Control in VC Subnets 47 Choke Packets Used in both VC and datagram subnets Approach Each router monitors output line utilization Threshold for "warning state" A receiving router Checks packet to see if output line in warning state If yes then send a "choke packet" back to source host original packet tagged and forwarded 48 Choke Packet Source, upon receiving a choke packet Reduces traffic by a percentage after receiving choke packet Choke packet referred to same destination is ignored for a fixed time interval After time interval expired, listens If choke packet received then goto the step of reducing traffic else increase traffic 49 Choke Packet Typically First choke packet causes data rate reduced to 50%, then 25%, … Traffic is increased in smaller increments Why? 50 Hop-by-Hop Choke Packets Problem in high speed and long distance slow reaction Solution Hop-by-hop choke packets Buffers needed in routers Effects: Quick relief at the price of more buffers 51 Hop-by-Hop Choke Packets (a) A choke packet that affects only the source. (b) A choke packet that affects each hop it passes through. 52 Load Shedding Discard whatever cannot be handled Which packets to drop? Application-dependent Priorities 53 Load Shedding Strategies Wine or milk Priority Priority classes Coupled with traffic shaping token bucket Packet without token sent with lowest priority Allowing VC set up with exceeding specification Contingent on low priority Header field needed (ATM 1bit) Discard as early as possible! 54 Jitter Control Jitter: variation in packet arrival time Necessary for audio/video transmission Control Delay jitter is bounded by computing expected transit time for each hop along path Packet is checked for behind/ahead schedule Behind: sent out ASAP Ahead: held for a while Usually buffering is used to eliminate jitters 55 Internetworking A collection of interconnected networks. 56 How Networks Differ 57 How Networks Can Be Connected 58 Concatenated Virtual Circuits A sequence of VCs is set up from source through one or more gateways to destination Each gateway maintains tables of information of VCs Best when all networks have roughly the same properties 59 Concatenated Virtual Circuits 60 Connectionless Internetworking Packets are not required to follow same sequence of connections Routing per packet Possibly higher bandwidth than VC Packets might arrive out of order Problems Format Addressing 61 Connectionless Internetworking 62 Tunneling Encapsulating packets of a protocol in the payload of packets of another protocol Useful in Internetworking VPN IPv4 to IPv6 transition … 63 Tunneling 64 Internetwork Routing AS (Autonomous System) Each network in internetwork independent of others Two-Level Routing Interior gateway protocol Exterior gateway protocol Differences between interior and exterior routings International boundaries Cost Quality of service 65 Fragmentation Why maximal packet size Hardware OS Protocols Standards Retransmission reduction Prevention of one packet occupying channel too long 66 Fragmentation Maximum packet size different in different protocol Examples: ATM 48 bytes, IP 65,515 bytes Problem Large size packets want to go through network of smaller packet size Solution: Fragmentation Allowing gateways to break packets into fragments, each as a separate internet packet Problem: Easy to break but difficult to put back together 67 Fragmentation Strategies Transparent fragmentation Nontransparent fragmentation Transparent fragmentation G5 Nontransparent fragmentation 68 Transparent Fragmentation Properties Fragmentation transparent to subsequent networks Same exit gateway in each network Procedure Fragmentation Each fragment is addressed to same exit gateway Fragments are combined at exit gateway 69 Transparent Fragmentation Simple Problems Combination Performance Overhead on repeated assembling 70 Nontransparent Fragmentation Properties Combination done at destination host One or more exit gateway(s) Procedure Fragmentation Each fragment is addressed to exit gateway(s) Fragments are combined at destination host Higher performance in datagram model Problems Every host must be able to reassemble Overhead in packet header 71 Nontransparent Fragmentation Numbering Required for assembly Assembly approach Elementary fragment size defined Fragments of a packet = maximum packet size of another network except for the last one Header fields Packet number Number of first elementary fragment End-of-packet bit 72 73