CSCE 463/612 Networks and Distributed Processing Spring 2018

Similar documents
CSCI Topics: Internet Programming Fall 2008

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

Chapter 4: Network Layer

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

DATA COMMUNICATOIN NETWORKING

Chapter 4: outline. Network Layer 4-1

Chapter IV: Network Layer

Broadcast Routing. Multicast. Flooding. In-network duplication. deliver packets from source to all other nodes source duplication is inefficient:

Master Course Computer Networks IN2097

DATA COMMUNICATOIN NETWORKING

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

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

ETSF10 Internet Protocols Routing on the Internet

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

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

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

ETSF10 Internet Protocols Routing on the Internet

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

Multicast Communications

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

Network Layer II. Getting IP addresses. DHCP client-server scenario. DHCP client-server scenario. C compiler. You writing assignment 2

Lecture 19: Network Layer Routing in the Internet

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

Chapter 4: Network Layer, partb

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

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

Routing in the Internet

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

CSC 4900 Computer Networks: Routing Protocols

The Internet network layer

Exercises to Communication Systems

Computer Networking Introduction

Network layer: Overview. Network layer functions Routing IP Forwarding

COMP211 Chapter 5 Network Layer: The Control Plane

Review. Some slides are in courtesy of J. Kurose and K. Ross

Chapter 4 Network Layer

PART III. Implementing Inter-Network Relationships with BGP

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

Lecture 6. TCP/IP Network Layer (4)

What is Multicasting? Multicasting Fundamentals. Unicast Transmission. Agenda. L70 - Multicasting Fundamentals. L70 - Multicasting Fundamentals

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

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

Contents. Overview Multicast = Send to a group of hosts. Overview. Overview. Implementation Issues. Motivation: ISPs charge by bandwidth

Multicast EECS 122: Lecture 16

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

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

CSc 450/550 Computer Networks Internet Routing

DD2490 p IP Multicast routing. Multicast routing. Olof Hagsand KTH CSC

IP Multicast. What is multicast?

ETSF10 Internet Protocols Routing on the Internet

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

Internet inter-as routing: BGP

Chapter 4 Network Layer. Chapter 4: Network Layer. Chapter 4: Network Layer. Chapter goals: understand principles behind network layer services:

Internet Routing : Fundamentals of Computer Networks Bill Nace

Inter-Domain Routing: BGP

Inter-Autonomous-System Routing: Border Gateway Protocol

Chapter 4 Network Layer

Chapter 5 Network Layer: The Control Plane

IP Multicast Technology Overview

Chapter 4: Network Layer. Chapter 4: Network Layer

Chapter 4 Network Layer

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

Inter-Autonomous-System Routing: Border Gateway Protocol

Chapter 4: Network Layer

Multicast routing Draft

Broadcast and Multicast Routing

Why multicast? The concept of multicast Multicast groups Multicast addressing Multicast routing protocols MBONE Multicast applications Conclusions

ITEC310 Computer Networks II

Chapter 4 Network Layer

Computer Networks. Wenzhong Li. Nanjing University

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

Introduction to Communication Networks Spring Unit 16 Global Internetworking

IP Multicast Technology Overview

CMPT 371: Data Communications and Networking. Chapter 4: Network Layer

Multicast Technology White Paper

Multicast. Midterm. EECS 122: Lecture 16. University of California Berkeley. Exam was not meant to be easy

Advanced Networking. Multicast

List of groups known at each router. Router gets those using IGMP. And where they are in use Where members are located. Enhancement to OSPF

CSE 123A Computer Networks

MULTICAST EXTENSIONS TO OSPF (MOSPF)

Multicast overview. Introduction to multicast. Information transmission techniques. Unicast

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

Chapter 4 Network Layer

Network Layer: Routing

Chapter 4 Network Layer

An overview of how packets are routed in the Internet

Multicast Communications. Slide Set were original prepared by Dr. Tatsuya Susa

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

Routing. Jens A Andersson Communication Systems

KR_4. Strato di rete

Routing Unicast routing protocols

CNT Computer and Network Security: BGP Security

Network layer: Overview. Network layer functions Routing IP Forwarding

Why dynamic route? (1)

Multicast service model Host interface Host-router interactions (IGMP) Multicast Routing Distance Vector Link State. Shared tree.

Chapter 4: Network Layer: Part II

All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

GOALS Understand principles behind network layer services: Network layer service models Forwarding versus routing How a router works Routing (path sel

Advanced Networking. Multicast

Transcription:

CSCE 463/612 Networks and Distributed Processing Spring 2018 Network Layer V Dmitri Loguinov Texas A&M University April 17, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross

Chapter 4: Roadmap 4.1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What s inside a router 4.4 IP: Internet Protocol 4.5 Routing algorithms 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing 2

Inter-AS Routing: BGP BGP (Border Gateway Protocol): de facto standard for inter-as (exterior) routing BGP provides each AS a means to: Obtain subnet reachability information from neighboring ASes Propagate the reachability information to all routers internal to the AS Determine good routes to subnets based on reachability information and policy Allows a subnet to advertise its existence to the rest of the Internet: I am here IGRP BGP OSPF BGP IS-IS 3

BGP Basics Pairs of routers (BGP peers) exchange routing info over TCP connections: BGP sessions Note that BGP sessions do not correspond to physical links When AS2 advertises a prefix 128.194/16 to AS1, AS2 is promising it will forward any datagrams destined to that prefix towards the prefix AS2 can aggregate prefixes in its advertisement 3b 3c 3a AS3 1a AS1 1c 1d ebgp session ibgp session 1b 2a AS2 2c 2b 128.194/16 4

Distributing Reachability Info With ebgp session between 2a and 1b, AS2 sends prefix reachability info to AS1 1b can then use ibgp do distribute this to all routers in AS1 1c may (if beneficial to AS1) re-advertise these subnets to AS2 over the 1c-3a ebgp session Internal AS routers combine intra-as data with ibgp broadcasts to set up actual forwarding tables 3c 3a 3b AS3 1a AS1 1c 1d ebgp session ibgp session 1b 2a AS2 2c 2b 5

Path Attributes & BGP Routes When advertising an IP prefix (i.e., subnet), message includes BGP attributes Notation: combination (IP prefix, attributes) = route Two important attributes: 7.2.3.0/24 AS3, AS2, AS1 loop detected AS-PATH: contains ASes through which the advert for the prefix passed (latest AS first) NEXT-HOP: indicates the router that should receive traffic (usually border router of the AS that advertised prefix; multiple values possible) AS1 AS2 7.2.3.0/24 AS1 7.2.3.0/24 AS2, AS1 AS3 6

BGP Route Selection When gateway router receives route advert, it uses an import policy to accept/decline Filters and rules decide allowed/prohibited routes Router may learn about more than one route to some prefix, how does it decide which one is better? Multi-exit discriminator (MED) attribute: policy of foreign AS that assigns different weight to different incoming points Shortest AS-PATH Closest NEXT-HOP router: hot potato routing Local preference attribute: policy decision of accepting AS that assigns different weight to various exit points (only used in ibgp) 7

BGP Examples China China AS2 AS1 NYC NYC Example 1: different MED (lower # means higher priority) for paths into AS1 7.2.3/24: NEXT-HOP= blue, MED = 10 7.2.3/24: NEXT-HOP = red, MED = 50 192.10.3/22: NEXT-HOP= blue, MED = 50 192.10.3/22: NEXT-HOP = red, MED = 10 AS1 AS2 Example 2: hot-potato routing in AS2 (orange routers exit right, yellow left) 8

Customer BGP Policies BGP messages exchanged using TCP on port 179 Application-layer protocol B legend: provider network W A C X customer network A,B,C are provider networks X,W,Y are customer networks X is dual-homed: attached to two networks X does not want to route from B via itself to C.. so X will not advertise to B any routes picked up from C Y 9

Provider BGP Policies B legend: provider network W A C X customer network Y A advertises to B and C the path AW B advertises to X the path BAW Should B advertise to C the path BAW? Not unless B has agreed to route C s traffic! B gets no revenue for routing CBAW since W, A, C are not B s customers B may want to force C to route to W via A ISPs want to route mainly to/from their customers! 10

Chapter 4: Roadmap 4.1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What s inside a router 4.4 IP: Internet Protocol 4.5 Routing algorithms 4.6 Routing in the Internet 4.7 Broadcast and multicast routing 11

Multicast and Broadcast Broadcast: send a packet to all hosts in the network Multicast: send to a certain subset of nodes Unicast: one sender - one receiver duplicate R1 R1 R2 R2 duplicate R3 R4 R3 R4 (a) unicast (5 pkt-links) (b) multicast (3 pkt-links) Example: video distribution to 1M receivers via unicast First link R1-R2 carries each packet 1M times 5 Mbps stream requires a 5-Tbps link! 12

Implementing Broadcast (A) Controlled flooding: routers re-broadcast each received packet only once Must keep a table of all previously received pkts to avoid re-sending of the same data (not scalable) (B) Reverse-path forwarding (RPF): routers re-broadcast only packets received on the interface leading towards the source along their own shortest path Drawbacks of RPF: redundant packets are still transmitted (e.g., C B, B C) and routing must be symmetric F C A E B D reverse path forwarding G 13

Implementing Broadcast 2 (C) Minimum Spanning Tree: a tree subgraph of G that spans all network nodes and has the minimum cost of all such trees Once the tree is built, all data travels along the tree, regardless of the source Kruskal s and Prim s algorithms build MST in O(E loge) time A A C B C B D D F E F E G G broadcast initiated at A broadcast initiated at D 14

Construction of Spanning Trees MST is often impractical due to lack of global knowledge Other spanning trees that approximate MST are used instead (D) Center-Based Spanning Tree: a center node is selected first (various methods exist) All other nodes asynchronously send join requests using unicast routing towards the center until intersection with tree A A C 3 B C B F 1 4 E 2 D 5 F E D G G stepwise construction of spanning tree (E is the center) constructed spanning tree 15

Multicast Routing: Problem Statement Broadcast floods the entire Internet and is expensive; in contrast, multicast involves a subset of routers Applications Video/audio conferencing: participants form a multicast group to generate and consume content (many-to-many) Video-on-demand or pay-per-view: multicast group is formed by one server and many receivers that consume pre-recorded content (one-to-many) Patch distribution: OS provider distributes updates to hosts running its kernel (one-to-many) Live TV: content received from video provider via multiple servers and fed to many receivers (many-to-many) Goal: create a tree between routers to which multicast group members are attached 16

Approaches to Building Mcast Trees (A) Source-based mcast forwarding tree: tree of shortest path routes from source S to all receivers Dijkstra s algorithm when S knows entire topology from some link-state routing algorithm (e.g., MOSPF) (B) Source-specific RPF (default opt-in) Initially flood every router (even if R2, R5, R7 don t want it) S: source R1 R4 LEGEND router with attached group member R2 R5 router with no attached group member R3 R6 R7 datagram will be forwarded datagram will not be 17 forwarded

Approaches to Building Mcast Trees Forwarding tree may contain subtrees with no mcast group members No need to forward datagrams down subtree Prune msgs sent upstream by router with no downstream group members S: source LEGEND R1 R4 router with attached group member R3 R2 R6 P P R7 R5 P router with no attached group member prune message links with multicast forwarding 18

Approaches to Building Mcast Trees (C) Steiner Tree: minimum cost tree connecting all routers with attached group members Problem is NP-complete Even though heuristics exists, not used in practice: Global information about entire network needed Computational complexity Monolithic: rerun whenever a router needs to join/leave (D) Center-Based Tree (CBT) (default opt-out) Single delivery tree shared by all One router identified as center of tree Join messages sent towards center until existing tree is met 19

Internet Multicasting Routing: DVMRP DVMRP: Distance Vector Multicast Routing Protocol, RFC 1075 (1988) Flood and prune (default opt-in): reverse path forwarding (RPF), tree rooted at source RPF tree based on DVMRP s own routing tables constructed by communicating DVMRP routers No assumptions about underlying unicast Initial datagram to mcast group flooded everywhere via RPF IGMP broadcasts proceed between neighbor routers Multicast IP addresses are in 224.0.0.0/4 To join a particular group, use setsockopt with IP_ADD_MEMBERSHIP 20

Tunneling Q: How to connect islands of multicast routers in a sea of unicast routers? physical topology logical topology Mcast datagram encapsulated inside normal (nonmulticast-addressed) datagram Unicast IP datagram sent thru tunnel via regular IP unicast to receiving mcast router Receiving mcast router decapsulates mcast datagrams 21

PIM: Protocol Independent Multicast Dense (default opt-in): Group membership by routers assumed until routers explicitly prune Data-driven construction of mcast tree (e.g., RPF) Bandwidth and nongroup-router processing assumed sufficient Sparse (default opt-out): No membership until routers explicitly join Receiver-driven construction of mcast tree (e.g., center-based) Bandwidth and nongroup-router processing is conservative 22

Multicast Future Wide-area multicast deployment has been traditionally slow, now practically dead Mbone was one such endeavor, worked via tunnels One issue is scalability Flooding all Internet receivers is just insane Opens loopholes for DoS attacks Another is ISP unwillingness to accept multicast traffic Who pays for a single packet being replicated 1M times? Finally, multicast congestion control is hard Mbone had 30-40% loss, which is much more than most applications can tolerate 23