* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download lecture
Piggybacking (Internet access) wikipedia , lookup
Deep packet inspection wikipedia , lookup
Backpressure routing wikipedia , lookup
Computer network wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Airborne Networking wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Introduction to Computer Networks Routing University of Ilam By: Dr. Mozafar Bag-Mohammadi 1 Outline Routing process Routing Algorithms Scalability 2 Forwarding vs Routing forwarding: to select an output port based on destination address from the lookup table. Minimize the lookup time. routing: process by which the routing table is built. Optimize the calculating paths in case of changing topology. 3 Routing Process Question? How to populate the lookup table? Primary solutions: Build the lookup table Manually? Is it practical? The answer is no. Flooding- Broadcast to all node except the one we have received the packet. Waste the bandwidth Not scale well- Broadcast storm. 4 Overview A Network as a Graph C 1 3 4 6 2 1 B 9 E F 1 D Problem: Find lowest cost, or shortest, path between two nodes The process is distributed and this makes it complicated, I.e, it may create loop. Factors static: topology dynamic: load 5 Distance Vector Each node maintains a set of triples (Destination, Cost, NextHop) Exchange updates with directly connected neighbors periodically ( on the order of several seconds) whenever its table changes (called triggered update) Each update is a list of pairs: (Destination, Cost) Update local table if receive a “better” route smaller cost came from next-hop Refresh existing routes; delete if they time out 6 Example B C A D E F Destination A C D E F G Cost 1 1 2 2 2 3 NextHop A C C A A A G •Distance of other nodes from Node B. •The cost between two nodes has been assumed 1. •All nodes keep a routing table from themselves. 7 The Bellman-Ford Algorithm •Bellman-Ford algorithm solve the distance Vector problem in general case. 1. Set: Xo = ( , , ,…, ). 2. Send updates of components of Xn to neighbors 3. Calculate: Xn+1 = F(Xn) 4. If Xn+1 Xn then go to (2) 5. Stop 8 Bellman-Ford Algorithm Example: Calculate from R8 1 R1 2 R1 4 R6 3 2 4 2 4 R4 2 R3 3 R7 2 1 R2 2 step 2 R8 1 R6 3 4 R4 R5 4 R3 2nd 1 R2 2 R5 2 R7 2 3 3 R8 9 Bellman-Ford Algorithm 6 R1 4 R2 1 1 4 4 R3 5 R1 Result: R4 R7 2 2 3 5 1 R2 R5 4 R6 3 2 4 2 R4 2 R3 R6 R8 4 1 4 3 2 R5 2 step 2 3 2 3rd 6 2 2 R7 3 R8 10 Node Failure F detects that link to G has failed F sets distance to G to infinity and sends update to A A sets distance to G to infinity since it uses F to reach G A receives periodic update from C with 2-hop path to G A sets distance to G to 3 and sends update to F F decides it can reach G in 4 hops via A B C A D E F G 11 Routing Loops link from A to E fails A advertises distance of infinity to E B and C advertise a distance of 2 to E B decides it can reach E in 3 hops; advertises this to A A decides it can read E in 4 hops; advertises this to C C decides that it can reach E in 5 hops… B C A D E F G 12 The count-to-infinity problem 13 Loop-Breaking Heuristics Set infinity to a reasonably small number. For instance, RIP sets to 16 Split horizon: Don’t announce the distance to the node the distance has been gotten from. Split horizon with poison reverse: Instead of not announcing the distance put negative numbers. 14 Link State Strategy send to all nodes (not just neighbors) information about directly connected links (not entire routing table) Link State Packet (LSP) id of the node that created the LSP cost of the link to each directly connected neighbor sequence number (SEQNO) time-to-live (TTL) for this packet 15 Link State (cont.) Reliable flooding store most recent LSP from each node forward LSP to all nodes but one that sent it generate new LSP periodically increment SEQNO start SEQNO at 0 when reboot decrement TTL of each stored LSP discard when TTL=0 16 Route Calculation Dijkstra’s shortest path algorithm Let N denotes set of nodes in the graph l (i, j) denotes non-negative cost (weight) for edge (i, j) s denotes this node M denotes the set of nodes incorporated so far C(n) denotes cost of the path from s to node n M = {s} for each n in N - {s} C(n) = l(s, n) while (N != M) M = M union {w} such that C(w) is the minimum for all w in (N - M) for each n in (N - M) C(n) = MIN(C(n), C (w) + l(w, n )) 17 Shortest Path Routing: Dijkstra Algorithm 18 Metrics Original ARPANET metric measures number of packets enqueued on each link took neither latency or bandwidth into consideration New ARPANET metric stamp each incoming packet with its arrival time (AT) record departure time (DT) when link-level ACK arrives, compute Delay = (DT - AT) + Transmit + Latency if timeout, reset DT to departure time for retransmission link cost = average delay over some time period 19 Measuring Line Cost A subnet in which the East and West parts are connected by two lines. 20 How to Make Routing Scale Flat versus Hierarchical Addresses Inefficient use of Hierarchical Address Space class C with 2 hosts (2/255 = 0.78% efficient) class B with 256 hosts (256/65535 = 0.39% efficient) Still Too Many Networks routing tables do not scale route propagation protocols do not scale 21 Subnetting Add another level to address/routing hierarchy: subnet Subnet masks define variable partition of host part Subnets visible only within site Network number Host number Class B address 1111111111111111111 0000000000000000 Subnet mask (255.255.0.0) Network number Subnet ID Host ID Subnetted address 22 Subnet Example Subnet Net host Subnet mask: 255.255.255.128. Subnet number: 128.96.34.0 128.96.34.15 128.96.34.1 111….1.0xxx….x H1 R1 Subnet mask: 255.255.255.128 Subnet number: 128.96.34.128 128.96.34.130 128.96.34.139 128.96.34.129 H2 R2 H3 128.96.33.14 128.96.33.1 Subnet mask: 255.255.255.0 Subnet number: 128.96.33.0 Forwarding table at router R1 Subnet # 128.96.34.0 128.96.34.128 128.96.33.0 Subnet Mask 255.255.255.128 255.255.255.128 255.255.255.0 Next Hop interface 0 interface 1 R2 23 Forwarding Algorithm D = destination IP address for each entry (SubnetNum, SubnetMask, NextHop) D1 = SubnetMask & D if D1 = SubnetNum if NextHop is an interface deliver datagram directly to D else deliver datagram to NextHop Use a default router if nothing matches Can put multiple subnets on one physical network Subnets not visible from the rest of the Internet 24 Supernetting Assign block of contiguous network numbers to nearby networks Called CIDR: Classless Inter-Domain Routing Represent blocks with a single pair (first_network_address, count) Restrict block sizes to powers of 2 Use a bit mask (CIDR mask) to identify block size All routers must understand CIDR addressing 25 Route Propagation Know a smarter router Autonomous System (AS) hosts know local router local routers know site routers site routers know core router core routers know everything corresponds to an administrative domain examples: University, company, backbone network assign each AS a 16-bit number Two-level route propagation hierarchy interior gateway protocol (each AS selects its own) exterior gateway protocol (Internet-wide standard) 26 Collection of Subnetworks 27 Interior Gateway Protocols RIP: Route Information Protocol developed for XNS distributed with Unix distance-vector algorithm based on hop-count OSPF: Open Shortest Path First recent Internet standard uses link-state algorithm supports load balancing supports authentication 28 EGP: Exterior Gateway Protocol Overview designed for tree-structured Internet concerned with reachability, not optimal routes Protocol messages neighbor acquisition: one router requests that another be its peer; peers exchange reachability information neighbor reachability: one router periodically tests if the another is still reachable; exchange HELLO/ACK messages; uses a k-out-of-n rule routing updates: peers periodically exchange their routing tables (distance-vector) 29 BGP-4: Border Gateway Protocol AS Types stub AS: has a single connection to one other AS multihomed AS: has connections to more than one AS refuses to carry transit traffic transit AS: has connections to more than one AS carries local traffic only carries both transit and local traffic Each AS has: one or more border routers one BGP speaker that advertises: local networks other reachable networks (transit AS only) gives path information 30 BGP Example Speaker for AS2 advertises reachability to P and Q network 128.96, 192.4.153, 192.4.32, and 192.4.3, can be reached directly from AS2 Customer P (AS 4) 128.96 192.4.153 Customer Q (AS 5) 192.4.32 192.4.3 Customer R (AS 6) 192.12.69 Customer S 192.4.54 192.4.23 Regional provider A (AS 2) Backbone network (AS 1) Regional provider B (AS 3) Speaker for backbone advertises (AS 7) networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can be reached along the path (AS1, AS2). Speaker can cancel previously advertised paths 31 IP Version 6 Features 128-bit addresses (classless) multicast real-time service authentication and security autoconfiguration end-to-end fragmentation protocol extensions Header 40-byte “base” header extension headers (fixed order, mostly fixed length) fragmentation source routing authentication and security other options 32 Tunneling 33 Routing for Mobile Hosts 1- finding location of the mobile host 2- hand-off 3- security 34 Routing for Mobile Hosts (2) Packet routing for mobile users. 35 Routing in Ad Hoc Networks Military vehicles on battlefield. A fleet of ships at sea. All moving all the time Emergency works at earthquake. No infrastructure. The infrastructure destroyed. A gathering of people with notebook computers. In an area lacking 802.11. 36 Ad Hoc Networks Two nodes are neighbor if they can communicate directly using their radio. danger of asymmetry, limited bandwidth, low battery life every thing is variable: location, neighbor-ship, IP address, topology when you do not have any information about a destination, you must discover a route for it 37 AODV (Ad hoc On-Demand Distance Vector): Route Discovery A wants to know about I. It broadcasts a ROUTE REQUEST Arrows show possible reverse routes. the request is broadcast until it reaches a node that knows about destination. then it forwarded along reverse path. limited broadcast or ring search 38 Route Maintenance D finds destinations that depend on G (i.e. E, G, I) D finds active neighbors that use G to reach somewhere ( i.e. A, B) D tell them to purge their route that pass through G,. 39