Communication Networks

Similar documents
CSc 450/550 Computer Networks Internet Routing

PART III. Implementing Inter-Network Relationships with BGP

BGP Routing and BGP Policy. BGP Routing. Agenda. BGP Routing Information Base. L47 - BGP Routing. L47 - BGP Routing

DATA COMMUNICATOIN NETWORKING

Computer Networking Introduction

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4

Chapter 4: outline. Network Layer 4-1

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

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

BGP. Autonomous system (AS) BGP version 4

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

Chapter 4: Network Layer

CS BGP v4. Fall 2014

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal

Chapter IV: Network Layer

COM-208: Computer Networks - Homework 6

Lecture 4: Intradomain Routing. CS 598: Advanced Internetworking Matthew Caesar February 1, 2011

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

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

Border Gateway Protocol (an introduction) Karst Koymans. Tuesday, March 8, 2016

Border Gateway Protocol (an introduction) Karst Koymans. Monday, March 10, 2014

Communication Networks

Graph abstraction: costs. Graph abstraction 10/26/2018. Interplay between routing and forwarding

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

CSCI Topics: Internet Programming Fall 2008

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

Chapter 4: Network Layer, partb

Routing Unicast routing protocols

TELE 301 Network Management

Routing. Jens A Andersson Communication Systems

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure

CS321: Computer Networks Unicast Routing

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

BGP. Border Gateway Protocol (an introduction) Karst Koymans. Informatics Institute University of Amsterdam. (version 17.3, 2017/12/04 13:20:08)

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

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Border Gateway Protocol. Version: Demo

Border Gateway Protocol - BGP

Lecture 3: Packet Forwarding

Inter-Domain Routing: BGP

Internet Routing Basics

Interdomain routing with BGP4 C BGP. A new approach to BGP simulation. (1/2)

Lecture 19: Network Layer Routing in the Internet

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

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

EE 122: Inter-domain routing Border Gateway Protocol (BGP)

Routing part 2. Electrical and Information Technology

FINAL EXAM - SLOT 2 TCP/IP NETWORKING Duration: 90 min. With Solutions

Internet Routing Protocols Lecture 03 Inter-domain Routing

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

CSC 4900 Computer Networks: Routing Protocols

BGP. Border Gateway Protocol A short introduction. Karst Koymans. Informatics Institute University of Amsterdam. (version 18.3, 2018/12/03 13:53:22)

Inter-Autonomous-System Routing: Border Gateway Protocol

internet technologies and standards

Internet Routing : Fundamentals of Computer Networks Bill Nace

CS118 Discussion Week 7. Taqi

Inter-Autonomous-System Routing: Border Gateway Protocol

Introduction to IP Routing. Geoff Huston

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

ETSF10 Internet Protocols Routing on the Internet

Chapter 4 Network Layer

Networked Systems (SAMPLE QUESTIONS), COMPGZ01, May 2016

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

Connecting to a Service Provider Using External BGP

Operation Manual IPv4 Routing H3C S3610&S5510 Series Ethernet Switches. Table of Contents

Lecture 16: Border Gateway Protocol

Routing in the Internet

COMP/ELEC 429 Introduction to Computer Networks

Network layer: Overview. Network layer functions Routing IP Forwarding

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

ETSF10 Internet Protocols Routing on the Internet

Routing Basics. SANOG July, 2017 Gurgaon, INDIA

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

EXAM TCP/IP NETWORKING Duration: 3 hours With Solutions

BGP Attributes and Path Selection

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP)

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

Next Lecture: Interdomain Routing : Computer Networking. Outline. Routing Hierarchies BGP

EXAM TCP/IP NETWORKING Duration: 3 hours

Back to basics J. Addressing is the key! Application (HTTP, DNS, FTP) Application (HTTP, DNS, FTP) Transport. Transport (TCP/UDP) Internet (IPv4/IPv6)

Lecture 13: Traffic Engineering

BGP Diverse Path Using a Diverse-Path Route Reflector

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

An overview of how packets are routed in the Internet

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

ETSF10 Internet Protocols Routing on the Internet

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

Top-Down Network Design

Lecture 18: Border Gateway Protocol

CS 268: Computer Networking. Next Lecture: Interdomain Routing

Lecture 17: Border Gateway Protocol

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics:

Interdomain Routing. Networked Systems (H) Lecture 11

Homework 3 Discussion

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

Interdomain Routing Reading: Sections P&D 4.3.{3,4}

Routing(2) Inter-domain Routing

CSE 473 Introduction to Computer Networks. Exam 2. Your name here: 11/7/2012

Transcription:

Communication Networks Spring 2018 Q&A Session Rüdiger Birkner Tobias Bühler https://comm-net.ethz.ch/ ETH Zürich August 6 2018

Old exam from 2016 3 hours instead of 2.5 Topics which we did not discuss this year Security, SDN,

How do you guide IP packets from a source to the destination?

Essentially, there are three ways to compute valid routing state Intuition Example #1 Use tree-like topologies Spanning-tree #2 Rely on a global network view Link-State SDN #3 Rely on distributed computation Distance-Vector BGP

Essentially, there are three ways to compute valid routing state Intuition Example #1 Use tree-like topologies Spanning-tree #2 Rely on a global network view Link-State SDN #3 Rely on distributed computation Distance-Vector BGP

Distance-vector protocols are based on Bellman-Ford algorithm

Every router maintains a table of all received distance vectors X routing table dest. via Y Z Y 3 11 Z 13 1 U 30 2

Every router maintains a table of all received distance vectors Let dx(y) be the cost of the least-cost path known by x to reach y X routing table dest. via Y Z Y 3 11 Z 13 1 U 30 2

Every router maintains a table of all received distance vectors Let dx(y) be the cost of the least-cost path known by x to reach y until convergence Each node bundles these distances into one message (called a vector) that it repeatedly sends to all its neighbors X routing table dest. via Y Z X vector dest. cost Y 3 11 Z 13 1 U 30 2 Y 3 Z 1 U 2

Every router maintains a table of all received distance vectors Let dx(y) be the cost of the least-cost path known by x to reach y until convergence Each node bundles these distances into one message (called a vector) that it repeatedly sends to all its neighbors Each node updates its distances based on neighbors vectors: dx(y) = min{ c(x,v) + dv(y) } over all neighbors v

Whenever a router uses another one, it will announce it an infinite cost The technique is known as poisoned reverse

Internet routing comes into two flavors: intra- and inter-domain routing inter-domain routing intra-domain routing Find paths between networks Find paths within a network!12

inter-domain routing intra-domain routing Find paths between networks!13

Internet Border Gateway Protocol (BGP)

BGP is the routing protocol glueing the entire Internet together AS20 AS30 AS10 BGP sessions AS40 AS50

BGP announcements carry complete path information instead of distances AS20 AS30 AS10 129.132.0.0/16 Path: 40 AS40 AS50 129.132.0.0/16 Path: 40 129.132.0.0/16 ETH/UNIZH Camp Net

Each AS appends itself to the path when it propagates announcements AS20 AS30 AS10 AS40 AS50 129.132.0.0/16 Path: 10 40 129.132.0.0/16 ETH/UNIZH Camp Net

There are 2 main business relationships today: customer/provider peer/peer many less important ones (siblings, backups, )

These policies are defined by constraining which BGP routes are selected and exported Selection Export which path to use? which path to advertise?

Selection Export which path to use? control outbound traffic which path to advertise?

Business relationships conditions route selection For a destination p, prefer routes coming from customers over peers over route type providers

Selection Export which path to use? which path to advertise? control inbound traffic

Routes coming from peers and providers are only propagated to customers send to customer peer provider customer from peer - - provider - -

On the wire, BGP is a rather simple protocol composed of four basic messages type used to OPEN NOTIFICATION UPDATE establish TCP-based BGP sessions report unusual conditions inform neighbor of a new best route a change in the best route KEEPALIVE inform neighbor that the connection is alive

UPDATE inform neighbor of a new best route a change in the best route

BGP UPDATEs carry an IP prefix together with a set of attributes IP prefix Attributes Describe route properties used in route selection/exportation decisions are either local or global (only seen on ibgp) (seen on ibgp and ebgp)

Attributes Usage NEXT-HOP egress point identification AS-PATH loop avoidance outbound traffic control inbound traffic control LOCAL-PREF outbound traffic control MED inbound traffic control

Prefer routes with higher LOCAL-PREF with shorter AS-PATH length with lower MED learned via ebgp instead of ibgp with lower IGP metric to the next-hop with smaller egress IP address (tie-break)

Each BGP router processes UPDATEs according to a precise pipeline

BGP sessions Adj-RIB-In Adj-RIB-Out BGP sessions Neighbor1 Input filters Attribute Manipulation All acceptable routes Output filters Attribute Manipulation Neighbor1 Input filters Output filters Neighbor2 Attribute Manipulation Attribute Manipulation Neighbor2... BGP Decision Process... Input filters Loc-Rib Output filters Neighborn Attribute Manipulation Best route to each destination Attribute Manipulation Neighborn forwarding entries IP packets IP forwarding table IP packets

routing-table BGP sessions Adj-RIB-In Adj-RIB-Out BGP sessions Neighbor1 Input filters Attribute Manipulation All acceptable routes Output filters Attribute Manipulation Neighbor1 Input filters Output filters Neighbor2 Attribute Manipulation Attribute Manipulation Neighbor2... BGP Decision Process... Input filters Loc-Rib Output filters Neighborn Attribute Manipulation Best route to each destination Attribute Manipulation Neighborn forwarding entries IP packets IP forwarding table IP packets

BGP sessions Adj-RIB-In Adj-RIB-Out BGP sessions route-map IN Neighbor1 Input filters Attribute Manipulation All acceptable routes Output filters Attribute Manipulation Neighbor1 Input filters Output filters Neighbor2 Attribute Manipulation Attribute Manipulation Neighbor2... BGP Decision Process... Input filters Loc-Rib Output filters Neighborn Attribute Manipulation Best route to each destination Attribute Manipulation Neighborn forwarding entries IP packets IP forwarding table IP packets

BGP sessions Adj-RIB-In Adj-RIB-Out BGP sessions Neighbor1 Input filters Attribute Manipulation All acceptable routes Output filters Attribute Manipulation route-map OUT Neighbor1 Input filters Output filters Neighbor2 Attribute Manipulation Attribute Manipulation Neighbor2... BGP Decision Process... Input filters Loc-Rib Output filters Neighborn Attribute Manipulation Best route to each destination Attribute Manipulation Neighborn forwarding entries IP packets IP forwarding table IP packets

Life of a BGP router is made of three consecutive steps while true: receives routes from my neighbors select one best route for each prefix export the best route to my neighbors

An AS is more than just one router AS30 AS20 AS50 AS10 AS40

BGP sessions come in two flavors AS30 AS20 AS50 AS10 AS40

external BGP (ebgp) sessions connect border routers in different ASes ebgp session

internal BGP (ibgp) connect the routers in the same AS ibgp sessions

ibgp sessions are used to disseminate externally-learned routes internally 129.132.0.0/16 Path: 20 129.132.0.0/16 Path: 20 129.132.0.0/16 Path: 20 129.132.0.0/16 Path: 20 129.132.0.0/16 Path: 20

Putting it all together Route A 31.89.0.0/16 Path: 90 11 12 Route B 31.89.0.0/16 Path: 23 51 12 5 10 3 1 3 3 20

Putting it all together Route A 31.89.0.0/16 Path: 90 11 12 Route B 31.89.0.0/16 Path: 23 51 12 5 10 3 1 3 3 20

Putting it all together Route A 31.89.0.0/16 Path: 90 11 12 Route B 31.89.0.0/16 Path: 23 51 12 5 10 3 1 3 3 20

Putting it all together Route A 31.89.0.0/16 Path: 90 11 12 Route B 31.89.0.0/16 Path: 23 51 12 5 10 3 1 3 3 20 31.89.0.0/16 Path: 10 90 11 12 31.89.0.0/16 Path: 10 23 51 12

Assignment 1 - Internet Communication packet link layer protocol packet frame frame sending node adapter adapter receiving node

Assignment 1 - Internet Communication Link Communication medium Wifi Ethernet Fiber and Network adapter

Accessing a website: DNS & HTTP step 1 Open browser and enter the URL www.google.com step 2 Browser invokes DNS to resolve the URL into an IP 216.58.215.238 step 3 Browser creates a HTTP request to retrieve the website GET / HTTP/1.1 Host: www.google.com

Accessing a website: DNS & HTTP What if we do the DNS resolution ourselves? step 1 Perform a DNS lookup for the given URL dig www.google.com step 2 Open browser and enter the IP address 216.58.215.238 step 3 Browser creates a HTTP request to retrieve the website GET / HTTP/1.1 Host: 216.58.215.238

In practice, multiple URLs can be mapped to the same IP name DNS IP address www.vanbever.eu www.routeur.be 188.165.240.60 188.165.240.60 How does a web server receiving an HTTP request know, which website you want to access?

The host field tells the server which website it should serve HTTP request: GET / HTTP/1.1 Host: www.google.com

Anycast, Unicast, Multicast one-to-one-of-many Important, discussed in lecture Used for scalability, load-balancing (e.g. DNS root server) Routing finds shortest-paths Seamless replication But, potential problems for stateful applications

Anycast, Unicast, Multicast 20.0.0.0/24 20.0.0.0/24

Anycast, Unicast, Multicast 20.0.0.0/24 20.0.0.0/24

Anycast, Unicast, Multicast one-to-one Destination address uniquely identifies a single receiver No replication

Anycast, Unicast, Multicast 30.0.0.0/24

Anycast, Unicast, Multicast one-to-many-of-many ( many-to-many-of-many ) Not important for exam E.g. useful to stream the same video to multiple receivers

Anycast, Unicast, Multicast 40.0.0.0/24 40.0.0.0/24 40.0.0.0/24

Assignment 5 - Detective Work Poor choice of IP subnets from our side Indeed, 192.168.0.0/16 is a private subnet space normally not routed in the Internet

Assignment 5 - Detective Work

Assignment 5 - Detective Work Router interface MAC address

Assignment 5 - Detective Work Router interface MAC address Dst 192.168.8.2 does not go over router => internal

Assignment 5 - Detective Work Router interface MAC address Dst 192.168.8.2 does not go over router => internal Dst 192.168.8.1 reaches router and has to be in the same subnet as 192.168.8.2 => 192.168.8.1 is the IP of the router

DHCP (assignment 10 and book chapter 4) Assignment uses 2 packets, book 4 Assignment simplifies the process slightly assumes only one DHCP server The sender recognizes its response based on the transaction ID therefore not a problem that also the response is broadcasted

DHCP (assignment 10 and book chapter 4)

VLAN Access link: part of only one VLAN normally connects hosts with switches (to get access ) Trunk link: can carry traffic for multiple VLANs normally connects switches to other switches or routers The per-vlan spanning tree still spans the entire network even if some of the switches do not have hosts in all VLANs => better optimized paths for hosts in one VLAN => ready for new hosts in the future

VLAN (spanning tree from the slides)

TCP Congestion Window Additive Increase pseudo code from the slides: CWND = CWND + 1/CWND

TCP Congestion Window Additive Increase pseudo code from the slides: CWND = CWND + 1/CWND More precise computation: { CWND(t+1) = CWND(t) + a CWND(t) * b if no congestion detected if congestion detected With a = MSS and b = 1/2 (t = current RTT)

TCP Congestion Window (assignment 8) Question c): how much time elapsed between E and F?

TCP Congestion Window (assignment 8) Question c): how much time elapsed between E and F? CWND 1 2 4 8 9 10 S 4 4 8 8 9 9 10 10 R 5 RTTs 6 RTTs => depends on when F is exactly happening

TCP Congestion Window - diagrams The presented diagrams do not capture all the details, e.g. D timeout E We will make sure that future question precisely define what the marked points represent.

Individual Questions