Introduction to Computer Networks

Slides:



Advertisements
Similar presentations
CSCI-1680 Network Layer: Intra-domain Routing Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Advertisements

CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 12 – February 18, 2010.
Courtesy: Nick McKeown, Stanford
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
Spring 2003CS 4611 Routing Outline Algorithms Scalability.
1 ELEN 602 Lecture 19 Routing. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing table –routing:
Routing.
Spring 2002CS 4611 Routing Outline Algorithms Scalability.
Inter-domain Routing Outline Border Gateway Protocol.
Dr. John P. Abraham Professor University of Texas Pan American Internet Routing and Routing Protocols.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Dynamic Routing Protocols  Function(s) of Dynamic Routing Protocols: – Dynamically share information between routers (Discover remote networks). – Automatically.
13-Sep-154/598N: Computer Networks Address Translation Map IP addresses into physical addresses –destination host –next hop router Techniques –encode physical.
1 Routing Outline Algorithms Scalability. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing.
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
Introduction to BGP.
1 Introduction to Computer Networks Ilam University By: Dr. Mozafar Bag-Mohammadi Routing.
Routing and Routing Protocols Routing Protocols Overview.
CS 3700 Networks and Distributed Systems Inter Domain Routing (It’s all about the Money) Revised 8/20/15.
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts.
1 Introduction to Computer Networks University of Ilam By: Dr. Mozafar Bag-Mohammadi Routing.
Routing in the Internet The Global Internet consists of Autonomous Systems (AS) interconnected with eachother: Stub AS: small corporation Multihomed AS:
Border Gateway Protocol (BGP) W.lilakiatsakun. BGP Basics (1) BGP is the protocol which is used to make core routing decisions on the Internet It involves.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
1 Introduction to Computer Networks University of Ilam By: Dr. Mozafar Bag-Mohammadi Routing.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
23-Dec-154/598N: Computer Networks Overview 4.2: Routing Forwarding vs Routing –forwarding: to select an output port based on destination address and routing.
An internet is a combination of networks connected by routers. When a datagram goes from a source to a destination, it will probably pass through many.
Spring 2010CS 3321 Interdomain Routing. Spring 2010CS 3322 How to Make Routing Scale Flat versus Hierarchical Addresses Inefficient use of Hierarchical.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Spring 2006CS 3321 Interdomain Routing. Spring 2006CS 3322 How to Make Routing Scale Flat versus Hierarchical Addresses Inefficient use of Hierarchical.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Spring 2008CPE Computer Networks1 Routing: Part II Outline Algorithms Scalability Reading: Section 4.3.
Inter-domain Routing Outline Border Gateway Protocol.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
1 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
TRANSPORT LAYER BY, Parthasarathy.g.
Chapter 4: Network Layer
Working at a Small-to-Medium Business or ISP – Chapter 6
CS 3700 Networks and Distributed Systems
Computer Networks Routing Algorithms.
Dynamic Routing Protocols II OSPF
BGP 1. BGP Overview 2. Multihoming 3. Configuring BGP.
Dynamic Routing Protocols part2
CS 3700 Networks and Distributed Systems
Routing Protocols (RIP, OSPF, BGP)
Routing BY, P.B.SHANMATHI.
Border Gateway Protocol
Routing Information Protocol (RIP)
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Chapter 4: Network Layer
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Routing.
Chapter 5: Dynamic Routing
Dynamic Routing Protocols part2
Dynamic Routing Protocols II OSPF
Intradomain Routing Outline Introduction to Routing
Inter-domain Routing Outline Homework #3 solutions
Chapter 4: Network Layer
Chapter 4: Network Layer
Chapter 4: Network Layer
Working at a Small-to-Medium Business or ISP – Chapter 6
Routing Outline Algorithms Scalability Spring 2003 CS 332.
Computer Networks Protocols
Routing.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Presentation transcript:

Introduction to Computer Networks Routing University of Ilam By: Dr. Mozafar Bag-Mohammadi

Routing Process Primary solutions: 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 Does not scale well.

Overview Network as a Graph 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

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

Example Destination Cost NextHop Distance of other nodes from Node B. A 1 A C 1 C D 2 C E 2 A F 2 A G 3 A Distance of other nodes from Node B. The cost between two nodes has been assumed 1. All nodes keep a routing table from themselves.

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

Bellman-Ford Algorithm Example: Calculate from R8 R5 R3 R7 R8 R6 R4 R2 R1 1 4 2 3 R3 R2 R5 R7 R4 R6 R8 R1 1 4 2 3 2nd step

Bellman-Ford Algorithm 1 4 2 3 6 4 6 2 3rd step Result: R8 R6 R4 R2 R1 R3 R5 1 4 2 3 5 4 5 2 R7

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

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…

The count-to-infinity problem

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.

Link State Strategy Link State Packet (LSP) 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

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

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 ))

Shortest Path Routing: Dijkstra Algorithm

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

Subnet Example Subnet 111….1.0xxx….x Net host Subnet mask: 255.255.255.128. Subnet number: 128.96.34.0 128.96.34.15 128.96.34.1 H1 R1 128.96.34.130 Subnet mask: 255.255.255.128 Subnet number: 128.96.34.128 128.96.34.129 128.96.34.139 R2 H2 128.96.33.1 128.96.33.14 Subnet mask: 255.255.255.0 Subnet number: 128.96.33.0 H3 111….1.0xxx….x Net host Forwarding table at router R1 Subnet # Subnet Mask Next Hop 128.96.34.0 255.255.255.128 interface 0 128.96.34.128 255.255.255.128 interface 1 128.96.33.0 255.255.255.0 R2

Supernetting (first_network_address, count) 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

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 Autonomous System (AS) 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)

Architecture of Routing Protocols Interior Gateway Protocols (IGP) : inside autonomous systems Exterior Gateway Protocols (EGP) : between autonomous systems AS 701 UUNet OSPF, IS-IS, RIP, EIGRP, ... BGP IGP Metric Based EGP Policy Based EGP IGP IGP EGP AT&T Common Backbone AT&T Research AS 6431 AS 7018

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

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)

The Most Common Routing Protocols BGP RIP Cisco proprietary TCP UDP OSPF IS-IS EIGRP IP (and ICMP) This slide illustrates the Routing Protocol Encapsulation BGP : TCP port number 179. RIP : UDP port number 520. OSPF : IP protocol number 89. One reason why routing protocols are not more well-known is that they run on routers and do not provide services directly to end-user applications. These protocols are however VERY familiar to network administrators. They keep the network connected! LANS generally deal with OSPF or RIP. ISPs and backbone network providers deal with BGP. In fact, they devote considerable resources to the care and feeding of BGP. Routing protocols exchange network reachability information between routers.

BGP-4 BGP = Border Gateway Protocol Is a Policy-Based routing protocol Is the de facto EGP of today’s global Internet Relatively simple protocol, but configuration is complex and the entire world can see, and be impacted by, your mistakes. 1989 : BGP-1 [RFC 1105] Replacement for EGP (1984, RFC 904) 1990 : BGP-2 [RFC 1163] 1991 : BGP-3 [RFC 1267] 1995 : BGP-4 [RFC 1771] Support for Classless Interdomain Routing (CIDR) Is complex like OSPF. But much more scary. If you screw up, the whole interet will know! ISPs and NSP employ many network engineers provide care and feeding of BGP.

BGP-4: Border Gateway Protocol AS Types stub AS: has a single connection to one other AS carries local traffic only multihomed AS: has connections to more than one AS refuses to carry transit traffic transit AS: has connections to more than one AS 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

Policy-Based vs. Distance-Based Routing? Host 1 Minimizing “hop count” can violate commercial relationships that constrain inter- domain routing. Cust1 YES NO ISP1 ISP3 Host 2 ISP2 Cust3 Cust2

Why not minimize “AS hop count”? YES National ISP1 National ISP2 NO Regional ISP3 Regional ISP2 Regional ISP1 Cust3 Cust2 Cust3

BGP Operations Simplified AS1 AS2 Establish Peering on TCP port 179 BGP Peers Exchange All Routes BGP speaking routers exchange information with their BGP peers. Peers are configured by network engineer. While connection is ALIVE exchange route UPDATE messages Exchange Incremental Updates

Two Types of BGP Neighbor Relationships External Neighbor (eBGP) in a different Autonomous Systems Internal Neighbor (iBGP) in the same Autonomous System AS1 eBGP eBGP presents a unified policy face to the outside world. eBGP peers must share the same physical medium. iBGP is needed to ensure that all border routers synchronize and present a consistent story to the outside world. They do not have to share physical media, but do have to be fully meshed, so an IGP is assumed. iBGP Physical Connection AS2 Logical (TCP) Connection

Four Types of BGP Messages Open : Establish a peering session. Keep Alive : Handshake at regular intervals. Notification : Shuts down a peering session. Update : Announcing new routes or withdrawing previously announced routes. announcement = Network prefix + attributes

AS Path Attribute (cont.) BGP at AS YYY will never accept a route whose AS Path contains YYY. This avoids interdomain routing loops. AS702 UUnet 10.22.0.0/16 AS Path = 1 333 702 877 Don’t Accept!

Local Preference Attribute Used only in iBGP to prefer a point of exit Frank’s Upstream Provider AS 4 13.13.0.0/16 AS Path = 4 1 Loc pref = 80 13.13.0.0/16 AS Path = 3 1 Loc pref = 90 Frank’s Internet Barn Frank’s Local Competition AS 3 13.13.0.0/16 AS Path = 2 1 Loc pref = 100 Frank’s Customer AS 2 Customer of Frank’s Customer Higher Local Preference Values are more preferred AS 1 13.13.0.0/16

IP Version 6 Features Header 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 other options

Tunneling

Routing for Mobile Hosts 1- finding location of the mobile host 2- hand-off 3- security

Routing for Mobile Hosts (2) Packet routing for mobile users.