Announcements. CS 5565 Network Architecture and Protocols. Project 2B. Project 2B. Project 2B: Under the hood. Routing Algorithms

Similar documents
Chapter 4: Network Layer

Chapter 4: outline. Network Layer 4-1

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services:

DATA COMMUNICATOIN NETWORKING

CSC 4900 Computer Networks: Routing Protocols

Chapter IV: Network Layer

Computer Networking Introduction

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

CS555, Spring /5/2005. April 12, 2005 No classes attend Senior Design Projects conference. Chapter 4 roadmap. Internet AS Hierarchy

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

CSc 450/550 Computer Networks Internet Routing

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

CSCI Topics: Internet Programming Fall 2008

Routing in the Internet

Chapter 4: Network Layer, partb

Topics for This Week

Chapter 4: Network Layer. TDTS06 Computer networks. Subnets. Subnets. Subnets. IP Addressing: introduction

Inter-AS routing and BGP. Network Layer 4-1

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

Chapter 4: Network Layer

Lecture 19: Network Layer Routing in the Internet

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

Internet rou)ng. V. Arun CS491G: Computer Networking Lab University of MassachuseFs Amherst

Network layer: Overview. Network layer functions Routing IP Forwarding

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Chapter 4 Network Layer

CSCE 463/612 Networks and Distributed Processing Spring 2018

HY 335 Φροντιστήριο 8 ο

Network Routing. Packet Routing, Routing Algorithms, Routers, Router Architecture

PART III. Implementing Inter-Network Relationships with BGP

BGP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

EECS 3214: Computer Networks Protocols and Applications

Network layer. Key Network-Layer Functions. Network service model. Interplay between routing and forwarding. CSE 4213: Computer Networks II

CS 204: BGP. Jiasi Chen Lectures: MWF 12:10-1pm Humanities and Social Sciences

Chapter 4: Network Layer: Part II

CSC 8560 Computer Networks: Control Plane

Course on Computer Communication and Networks. Lecture 7 Network Layer, Chapter 4 (6/e) - Part B (7/e Ch5)

Network layer: Overview. Network layer functions Routing IP Forwarding

CS118 Discussion 1A, Week 7. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

Routing. Jens A Andersson Communication Systems

11/13/2017 Network Layer (SSL) Network-layer functions. Recall the two network-layer functions:

Chapter 4: Network Layer. Chapter 4 Network Layer. Chapter 4: Network Layer. Network layer. Chapter goals:

Routing Unicast routing protocols

Master Course Computer Networks IN2097

Inter-Domain Routing: BGP

Last time. Network layer. Introduction. Virtual circuit vs. datagram details. IP: the Internet Protocol. forwarding vs. routing

Lecture 9. Network Layer (cont d) Network Layer 1-1

Chapter 5 Network Layer: The Control Plane

CS 457 Networking and the Internet. Shortest-Path Problem. Dijkstra s Shortest-Path Algorithm 9/29/16. Fall 2016

Network Layer: Routing

Routing. Outline. Algorithms Scalability

Department of Computer Science Southern Illinois University Carbondale

Network Layer: Routing. Routing. Routing protocol. Graph abstraction for routing algorithms: graph nodes are routers graph edges are physical links

Internet inter-as routing: BGP

Introduction to Communication Networks Spring Unit 16 Global Internetworking

EC441 Fall 2018 Introduction to Computer Networking Chapter 5: Network Layer Control Plane

Computer Networking Introduction

Intra-AS Routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016

Lecture 4. The Network Layer (cont d)

Master Course Computer Networks IN2097

Module 3 Network Layer CS755! 3-1!

COMP211 Chapter 5 Network Layer: The Control Plane

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Routing on the Internet! Hierarchical Routing! The NSFNet 1989! Aggregate routers into regions of autonomous systems (AS)!

CNT Computer and Network Security: BGP Security

Department of Computer and IT Engineering University of Kurdistan. Computer Networks II Border Gateway protocol (BGP) By: Dr. Alireza Abdollahpouri

Chapter 5 Network Layer: The Control Plane

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

Subnets. IP datagram format. The Internet Network layer. IP Fragmentation and Reassembly. IP Fragmentation & Reassembly. IP Addressing: introduction

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

Internet Routing : Fundamentals of Computer Networks Bill Nace

Chapter 4 Network Layer. Network Layer 4-1

Master Course Computer Networks IN2097

Network Layer: Internet Protocol

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Network Layer: Control Plane 5-2

Network Layer: Routing

Telecomunicazioni. Docente: Andrea Baiocchi. DIET - Stanza 107, 1 piano palazzina P. Piga Via Eudossiana 18

Chapter 4 Network Layer

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

Computer Networks. Instructor: Niklas Carlsson

Unit 3: Dynamic Routing

Telecomunicazioni. Docente: Andrea Baiocchi DIET - Stanza 107, 1 piano palazzina P. Piga Via Eudossiana 18

Introduction to Computer Networks

CS118 Discussion Week 7. Taqi

Lecture 12. Introduction to IP Routing. Why introduction? Routing

UNIT III THE NETWORK LAYER

Chapter 4: Network Layer

CSCE 463/612 Networks and Distributed Processing Spring 2018

Lecture 5 The Network Layer part II. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

EECS 122, Lecture 16. Link Costs and Metrics. Traffic-Sensitive Metrics. Traffic-Sensitive Metrics. Static Cost Metrics.

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

Basic Idea. Routing. Example. Routing by the Network

Routing by the Network

Router Architecture Overview

Data Communications & Networks. Session 7 Main Theme Networks: Part II Circuit Switching, Packet Switching, The Network Layer

Transcription:

Announcements CS 5565 Network Architecture and Protocols Lecture 20 Godmar Back Project 2B due in 2 parts: Apr 29 and May 6 Extra Credit Opportunities: Expand simulator (and your implementation) to introduce multiple link failures and link resurrection Additional, requiring reading posted Andersen et al [SIGCOMM 08]: Accountable Internet Protocol (AIP) Casado et al [HotNets 08]: Rethinking Packet Forwarding Hardware 2 Project 2B Project 2B High-level View Suppose node 2 calls inbound RPC Outbound/ Inbound over TCP Simulated link in topology write_msg(/*port=*/2, data) Simulator Overview Simulator calls outbound to n3 read_msg(/*from*/2, /*port*/1, data) Sim 4 Project 2B: Under the hood Uses discrete event simulation Events are: packet received, timer expired, cost change, link failure Virtual time cost change on link connecting n2 and n3 n3 receives msg from n2 on port 1 Routing Algorithms timer on n2 expires, n2 calls write_msg(2,..) 5 1

Roadmap Done Discussed forwarding vs routing Discussed theory behind two major routing algorithms: Link-state routing Distance Vector routing Discuss theory behind hierarchical routing Discuss application in Internet IPv4 addressing Next Routing in the Internet Addressing in IP IP address interfaces, not hosts Sets of interfaces form subnets Subnets share common prefix Route to CIDR-ized subnet addresses a.b.c.d/x Within subnet, reach destination directly 223.1.2.1 223.1.9.1 223.1.1.1 223.1.2.6 223.1.9.2 223.1.8.1 223.1.2.2 223.1.1.2 223.1.1.3 223.1.7.1 223.1.8.2 223.1.3.1 223.1.1.4 223.1.7.2 223.1.3.27 223.1.3.2 7 8 Internet R1 191.23.25.197 PPP Link 1 191.23.25.196/30 191.23.25.198 191.23.25.1 191.23.25.193 R3 PPP Link 2 191.23.25.192/30 R2 191.23.25.194 191.23.25.129 Ethernet LAN 2 120 Machines Subnet address: 191.23.25.0/25 Default gateway: 191.23.25.1 Ethernet LAN 1 60 Machines Subnet address: 191.23.25.128/26 Default gateway: 191.23.25.129 9 Routing Tables in End Systems Typical: local subnets + default gateway ( firsthop router ) Example: route print on Windows XP 128.173.55.90 FastEthernet 192.82.175.230 802.11g wireless Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 128.173.48.1 128.173.55.90 20 0.0.0.0 0.0.0.0 198.82.174.1 198.82.175.230 25 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 128.173.48.0 255.255.248.0 128.173.55.90 128.173.55.90 20 198.82.174.0 255.255.254.0 198.82.175.230 198.82.175.230 25 Default Gateway: 128.173.48.1 10 ICMP: Internet Control Message Protocol Traceroute and ICMP used by hosts & routers to communicate -level information error reporting: unreachable host,, port, protocol echo request/reply (used by ping) -layer above IP: ICMP msgs carried in IP datagrams ICMP message: type, code plus first 8 bytes of IP datagram causing error Type Code description 0 0 echo reply (ping) 3 0 dest. unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header Source sends series of UDP segments to dest First has TTL =1 Second has TTL=2, etc. Unlikely port number When nth datagram arrives to nth router: Router discards datagram And sends to source an ICMP message (type 11, code 0) Message includes name of router& IP address When ICMP message arrives, source calculates RTT Traceroute does this 3 times Stopping criterion UDP segment eventually arrives at destination host Destination returns ICMP port unreachable packet (type 3, code 3) When source gets this ICMP, stops. See also [Heideman 2008] 11 12 2

IP addresses: how to get one? Host gets IP address either hardcoded or via DHCP (Dynamic Host Configuration Protocol) Network gets subnet part of IP address allocated from ISP s address space ISP gets address space assigned by ICANN (Internet Corporation for Assigned Names and Numbers) ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23....... Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 13 Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7. 200.23.30.0/23 Hierarchical Addressing: Route Aggregation Hierarchical addressing allows efficient advertisement of routing information:. Fly-By-Night-ISP ISPs-R-Us beginning 200.23.16.0/20 beginning 199.31.0.0/16 Internet 14 Hierarchical Addressing: More Specific Routes ISPs-R-Us has a more specific route to Organization 1 Organization 0 200.23.16.0/23 Organization 2 200.23.20.0/23 Organization 7. 200.23.30.0/23 Organization 1 200.23.18.0/23. Fly -By-Night-ISP ISPs-R-Us beginning 200.23.16.0/20 beginning 199.31.0.0/16 or 200.23.18.0/23 Internet 15 Intra-AS vs Inter-AS Routing In Internet: Intra-AS known as Interior Gateway Protocols (IGP) Most common Intra-AS routing protocols: RIP: Routing Information Protocol (original protocol, now rarely used) OSPF: Open Shortest Path First IGRP/EIGRP: (Enhanced) Interior Gateway Routing Protocol Inter-AS known as Border Gateway Protocols: BGP4: Only protocol used 16 RIP (Routing Information Protocol) Distance vector algorithm Included in BSD-UNIX Distribution in 1982 Distance metric: # of hops (max = 15 hops) Distance vectors: exchanged among neighbors every 30 sec via Response Message (also called advertisement) Each advertisement: list of up to 25 destination nets within AS destination hops u v u 1 A B w v 2 w 2 x 3 x y 3 z C D z 2 y A s routing table 17 RIP: Example w x y A D B C Routing table in D Destination Network Next Router Num. of hops to dest. w A 2 y B 2 z B 7 x -- 1..... 18 z 3

Dest Next hops w - - x - - z C 4.... RIP: Example Advertisement from A to D w x y A D B C Routing table in D Destination Network Next Router Num. of hops to dest. w A 2 y B 2 z B A 7 5 x -- 1..... z RIP: Link Failure and Recovery If no advertisement heard after 180 sec neighbor/link declared dead routes via neighbor invalidated new advertisements sent to neighbors neighbors in turn send out new advertisements (if tables changed) poison reverse used to prevent ping-pong loops (infinite distance = 16 hops) 19 20 RIP Table processing RIP routing tables managed by application-level process called route-d (daemon) advertisements sent in UDP packets, periodically repeated Transprt (UDP) (IP) link physical routed forwarding table forwarding table routed Transprt (UDP) (IP) link physical 21 EIGRP Cisco proprietary See [Cisco Whitepaper], [Malhotra 2002] Distance Vector Protocol with enhancements Explicit Signaling (HELLO packets) DUAL diffusing update algorithm feasible successor concept guarantees loop freedom Intuition: rather than count to infinity, trigger route recomputation unless another loop-free path is known Optimize this by keeping track of all advertised routes, not just best one 22 OSPF (Open Shortest Path First) open : publicly available protocol (not proprietary) Uses Link State algorithm LS packet dissemination Topology map at each node Route computation using Dijkstra s algorithm OSPF advertisement carries one entry per neighbor router Advertisements have age field to allow for expiration Advertisements disseminated to entire AS (via flooding) Carried in OSPF messages directly over IP (rather than TCP or UDP) 23 OSPF advanced features (not in RIP) Security: all OSPF messages authenticated (to prevent malicious intrusion) Multiple same-cost paths allowed (only one path in RIP) For each link, multiple cost metrics for different TOS (e.g., satellite link cost set low for best effort; high for real time) Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF Hierarchical OSPF in large domains. 24 4

Hierarchical OSPF Hierarchical OSPF Two-level hierarchy: local area, backbone. link-state advertisements only in same area each nodes has detailed area topology; only know direction (shortest path) to nets in other areas. Area border routers: summarize distances to nets in own area, advertise to other Area Border routers. Backbone routers: run OSPF routing limited to backbone. Boundary routers: connect to other AS s. 25 26 Internet Inter-AS routing: BGP BGP (Border Gateway Protocol): the de facto standard BGP provides each AS a means to: 1. Obtain subnet reachability information from neighboring ASs. 2. Propagate the reachability information to all routers internal to the AS. 3. Determine good routes to subnets based on reachability information and policy. Allows a subnet to advertise its existence to rest of the Internet: I am here 27 BGP Basics Pairs of routers (BGP peers) exchange routing info over semi-permanent TCP conctns: BGP sessions Note that BGP sessions do not always correspond to physical links. When AS2 advertises a prefix to AS1, AS2 is promising it will forward any datagrams destined to that prefix towards the prefix. AS2 can aggregate prefixes in its advertisement 3c 3a 3b AS3 1a AS1 1c 1d 1b 2c 2a 2b AS2 ebgp session ibgp session 28 Distributing Reachability Info With ebgp session between 3a and 1c, AS3 sends prefix reachability info to AS1. 1c can then use ibgp do distribute this new prefix reach info to all routers in AS1 1b can then re-advertise the new reach info to AS2 over the 1bto-2a ebgp session When router learns about a new prefix, it creates an entry for the prefix in its forwarding table. 3c 3a 3b AS3 1a AS1 1c 1d 1b 2c 2a 2b AS2 ebgp session ibgp session 29 Path Attributes & BGP Routes When advertising a prefix, advert includes BGP attributes. prefix + attributes = route Two important attributes: AS-PATH: contains the ASs through which the advert for the prefix passed: AS 67 AS 17 NEXT-HOP: Indicates the specific internal-as router to next-hop AS. (There may be multiple links from current AS to next-hop-as.) When gateway router receives route advert, uses import policy to accept/decline. 30 5

BGP Route Selection Router may learn about more than 1 route to some prefix. Router must select route. Elimination rules: 1. Local preference value attribute: policy decision 2. Shortest AS-PATH (like DV routing, except with more information!) 3. Closest NEXT-HOP router: hot potato routing 4. Additional criteria 31 Path Vector Routing in BGP Accomplished via AS-PATH attributes Each node is entire AS! 32 BGP Messages BGP messages exchanged using TCP. BGP messages: OPEN: opens TCP connection to peer and authenticates sender UPDATE: advertises new path (or withdraws old) KEEPALIVE keeps connection alive in absence of UPDATES; also ACKs OPEN request NOTIFICATION: reports errors in previous msg; also used to close connection 33 W A BGP routing policy B C Figure 4.5-BGPnew: a simple BGP scenario A,B,C are provider s X Y legend: X,W,Y are customer (of provider s) X is dual-homed: attached to two s X does not want to route from B via X to C.. so X will not advertise to B a route to C provider customer : 34 W A BGP routing policy (2) B C X Y legend: provider customer : Figure 4.5-BGPnew: a simple BGP scenario A advertises to B the path AW B advertises to X the path BAW Should B advertise to C the path BAW? No way! B gets no revenue for routing CBAW since neither W nor C are B s customers B wants to force C to route to w via A B wants to route only to/from its customers! 35 Relationship between OSPF&BGP OSPF hierarchy is intra-as BGP connects ASs 36 6

Motivation for different Intra/Inter Protocols Policy: Inter-AS: admin wants control over how its traffic routed, who routes through its net. Intra-AS: single admin, so no policy decisions needed Scale: hierarchical routing saves table size, reduced update traffic Performance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance 37 Usage of Routing Protocols EBGP Sessions IGP OSPF EIGRP RIP Total Intra- 1,490 9,624 12,741 156 22,521 Inter- 13,830 1,161 1,342 161 2,664 Sample obtained by reverse-engineering router config files Source David Maltz et al: Routing Design in Operational Networks A Look from the inside, [SIGCOMM 2004] 38 Summary IP Addressing, subnets ICMP RIP OSPF BGP 39 7