ECE 435 Network Engineering Lecture 11

Similar documents
ECE 435 Network Engineering Lecture 11

Telecommunication Protocols Laboratory Course. Lecture 3

II. Principles of Computer Communications Network and Transport Layer

Chapter 5 (Week 9) The Network Layer ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP BLM431 Computer Networks Dr.

Routing. 4. Mar INF-3190: Switching and Routing

Routing Algorithms. CS158a Chris Pollett Apr 4, 2007.

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

C13b: Routing Problem and Algorithms

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

5.2 Routing Algorithms

Computer Networks. Routing

ECE 435 Network Engineering Lecture 15

Layer 3: Network Layer. 9. Mar INF-3190: Switching and Routing

Fairness Example: high priority for nearby stations Optimality Efficiency overhead

Routing in packet-switching networks

Intra-domain Routing

ECE 333: Introduction to Communication Networks Fall 2001

precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level)

EEC-484/584 Computer Networks

CS4450. Computer Networks: Architecture and Protocols. Lecture 11 Rou+ng: Deep Dive. Spring 2018 Rachit Agarwal

Internetworking Part 1

Unit 3: Dynamic Routing

CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL

ETSF05/ETSF10 Internet Protocols Routing on the Internet

CSE 461 Routing. Routing. Focus: Distance-vector and link-state Shortest path routing Key properties of schemes

ECE 435 Network Engineering Lecture 10

Chapter 4: Network Layer

William Stallings Data and Computer Communications. Chapter 10 Packet Switching

Routing, Routing Algorithms & Protocols

EEC-684/584 Computer Networks

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

CSEP 561 Routing. David Wetherall

Routing in a network

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

ICMP, ARP, RARP, IGMP

CS118 Discussion Week 7. Taqi

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

William Stallings Data and Computer Communications 7 th Edition. Chapter 12 Routing

Alternate Routing Diagram

Computer Networks. Routing Algorithms

CSCE 463/612 Networks and Distributed Processing Spring 2018

Administrivia CSC458 Lecture 4 Bridging LANs and IP. Last Time. This Time -- Switching (a.k.a. Bridging)

Chapter 12. Routing and Routing Protocols 12-1

CSCD 330 Network Programming Spring 2018

Top-Down Network Design

CSCD 330 Network Programming Spring 2017

The Interconnection Structure of. The Internet. EECC694 - Shaaban

CS 138: Communication I. CS 138 V 1 Copyright 2012 Thomas W. Doeppner. All rights reserved.

CSCD58 WINTER 2018 WEEK 6 - NETWORK LAYER PART 1. Brian Harrington. February 13, University of Toronto Scarborough

cs/ee 143 Communication Networks

CEN445 Network Protocols and Algorithms. Chapter 2. Routing Algorithms. Dr. Ridha Ouni

Routing Algorithms McGraw-Hill The McGraw-Hill Companies, Inc., 2001

THE INTERNET PROTOCOL INTERFACES

Routing Outline. EECS 122, Lecture 15

UNIT 2 ROUTING ALGORITHMS

The Internet Protocol

Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.)

Networking and Internetworking 1

This Lecture. BUS Computer Facilities Network Management. Switching Network. Simple Switching Network

CSCE 463/612 Networks and Distributed Processing Spring 2017

(Refer Slide Time: 01:08 to 01:25min)

Topics for This Week

Youki Kadobayashi NAIST

EEC-484/584 Computer Networks

ECE 435 Network Engineering Lecture 14

Networking and Internetworking 1

ECE 650 Systems Programming & Engineering. Spring 2018

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

Lecture 9. Reminder: Homework 3, Programming Project 2 due today. Questions? Thursday, September 22 CS 475 Networks - Lecture 9 1

CompSci 356: Computer Network Architectures. Lecture 7: Switching technologies Chapter 3.1. Xiaowei Yang

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

Chapter 5. The Network Layer. Network Layer Design Isues. Store-and-Forward Packet Switching 10/7/2010. Implementation of Connectionless Service

Chapter 5. The Network Layer

CSC 401 Data and Computer Communications Networks

Data and Computer Communications. Chapter 12 Routing in Switched Networks

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

Network Layer (Routing)

Chapter 5. The Network Layer. CEN Chapter 5 1

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

Address Translation. Map IP addresses into physical addresses destination host next hop router

ECE 435 Network Engineering Lecture 12

Network Layer. For this purpose the network layer should:

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

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

Lecture 2. Computer Networks Models. Network Models 1-1

Extending the LAN. Context. Info 341 Networking and Distributed Applications. Building up the network. How to hook things together. Media NIC 10/18/10

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

COMP/ELEC 429/556 Introduction to Computer Networks

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

EEC-682/782 Computer Networks I

Lecture 19: Network Layer Routing in the Internet

We will discuss about three different static routing algorithms 1. Shortest Path Routing 2. Flooding 3. Flow Based Routing

EXAM TCP/IP NETWORKING Duration: 3 hours With Solutions

EXAM TCP/IP NETWORKING Duration: 3 hours

Copyright 2010, Elsevier Inc. All rights Reserved

Computer Science 425 Distributed Systems CS 425 / ECE 428. Fall 2013

Networking: Network layer

CompSci 356: Computer Network Architectures. Lecture 12: Dynamic routing protocols: Link State Chapter Xiaowei Yang

Network Layer Chapter 5

Jaringan Komputer. Network Layer. Network Layer. Network Layer. Network Layer Design Issues. Store-and-Forward Packet Switching

Transcription:

ECE 435 Network Engineering Lecture 11 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 5 October 2017

Announcements Back from Memsys. Related things: fast memories for network routers. They can t use off the shelf? Memory is 100GB/s, starting to use similar to network protocols Will try to get midterms graded ASAP 1

HW#4 Review maine.edu created? Registrar? 2 December 1988, EDUCAUSE A / AAAA / NS / MX 130.111.218.23 2610:48:100:821::15 (must be on ipv6 capable interface?) nameo.unet.maine.edu / namep ALT4.ASPMX.L.GOOGLE.COM 2

source/destination/size/checksup a9a0 = 43424 35 = 53 (DNS) 2a = 42 bytes yes checksum, DNS (confuse people with protocol?) Why use UDP vs TCP lower latency, lower overhead (no need to handshake), simpler 3

The Network Layer Also the internet protocol layer Get packets from source to destination Transport Layer runs mostly on the endpoint machine, but Network Layer happens along the routers along way Critical, and much more complicated than Link Layer Connectivity, Scalability, and Resource Sharing problems 4

May require multiple hops Control Plane control protocols on how packets processed Routing (find a path) and store (update routing info) Data Plane how to process data packets forwarding transfer from incoming network to outgoing 5

Network Layer Design Issues Should be independent of router tech, should hide topology and num, type of routers Network addreses should be uniform? Need to send packets between any two machines, globally: 1. How to identify a host globally 2. How to connect different networks together 3. How to find a path between two hosts 6

Internetworking Connecting various types of networks (ethernet, 802.11, etc) A group of LANs connected togeter is an inter-network, or Internet 7

Addressing Address at network layer needs to be global Needs to identify its network and the host itself. Hierarchical 8

Connection vs Connectionless Internet: Connectionless Network is unreliable. Connectionless. Send/Receive packet primitives. Packet ordering/flow control by higher level Each packet carry full destination address, as may travel independetly of predecessors Telephony: connection reliable networks 9

Routing and Forwarding Routing: whch routes to use, find shortest path Forwarding: looking up which outgoing line to use Characteristics: simplicity/efficiency, robustness, stability, fairness, optimality Simplicity: packets stored on routers, efficient resource sharing maintain good performance (low delay and packet loss) 10

Robustness: cope with changes w/o requiring all jobs stopped and rebooted Stability: routing eventually converges on an equilibirum Fairness and optimality often conflicting Fairness example? Unicast routing: point to point Multicast routing: one to many or many to many 11

Routing Algorithm Types Nonadaptive: not based on measurement, but computed in advance. Static routing. sysadmin sets them. Do not adapt well if routers fail. Adaptive: change routing decisions to reflect changes in topology and traffic centralized require global information quasi-centralized (?) distributed? hop-by-hop (internet. source routing?) 12

Optimal Route? What do we optimize? Latency? Throughput? Number of hops? Something like ssh might want lowest latency Multimedia might want high bandwidth and low jitter Often a cost is defined based on the desired characteristics, and then this is optimized for 13

Connectionless Packets sometimes called Datagrams Packets injected into network with no prior setup Router responsible for picking how it gets there, routing algorithm Router makes best-effort. Tries to get things there, but if packet gets lost, goes to wrong place, or arrives out of order it doesn t have to do anything about it. 14

Virtual circuit created Connection-Oriented Avoid creating a new route for every packet A route from source to destination created in all routers along the way Each packet carries an ID saying what route it belongs to 15

Tradeoffs Setup: none / required Addressing: full source + dest / short virt circuit num State: no router state / each virt circuit has state routing: startup each packet independent / routing done at router failure: terminated can route around / all virt circuits 16

QoS: difficult / easy if resources allocated in advance congestion: difficult / easy of allocated in advance 17

Optimality Principle If router J is on optimal path from I to K, then optimal path J to K is on same route Set of all optimal routes from all sources to a destination form a tree rooted at desitnation, called a sink tree. Not necessarily unique Tree and not a loop, so packets delivered in finite number of hops Though routers can come and go so things can go wrong 18

(static) Shortest Path Routing Number of hops? Length (in meters?) Transmission delay? 19

(static) Link State Routing Requires global information, routers broadcast the info so all have consistent view Dijkstra Algorithm Form least spanning tree Find lowest cost iteratively Example based on one from Lin/Hwang/Baker 20

A 4 B 1 2 1 C 3 D 1 1 E T=set of known machines, C(X)=cost of X, p(x)=previous hop Iteration T C(B),p(B) C(C),p(C) C(D),p(D) C(E),p(E) 0 A 4,A 1,A 1 AC 3,C 4,C 2,C 2 ACE 3,C 3,E 3 ACEB 3,E 4 ACEBD Iterative algorithm. Start not knowing anything but direct connections. Pick shortest cost and add to set. Update all the link costs. Repeat until all nodes added. 21

Final routing table for A. Path Cost Next A-B 3 C A-C 1 C A-D 3 C A-E 2 C 22

(static) Flooding Every packet sent out on every outgoing line, with a counter (set to the distance) so after so many hops discarded Selective flooding, only floods out the connections going in vaguely the right direction Very robust (can handle if routers droppign out constantly) Flooding alwys chooses shortest path, as it finds all 23

possible paths in parallel 24

(dynamic) Distance Vector Routing Used by ARPANET until 1979 Each router maintains a table (vector) giving best known distance to each destination and line to use to get there First line shows out starting info they all know. Each iteration shows as the info from neighbors is passed on and the routing tables are updated. 25

A 4 B 1 2 1 C 3 D 1 1 E 26

A B C D E D C N D C N D C N D C N D C N 1 B 4 B A 4 A A 1 A B 1 B C 1 C C 1 C C 2 C B 2 B C 3 C D 1 D D 1 D D 3 D E 1 E E 1 E 2 B 3 C A 3 C A 1 A A 4 C A 2 C C 1 C C 2 C B 2 B B 1 B B 2 D D 4 C D 1 D D 2 E C 2 E C 1 C E 2 C E 2 D E 1 E E 1 E D 1 D 3 B 3 C A 3 E C 1 C B 1 B D 3 C C 2 E E 2 C E 1 E 1. Start with what you know 27

2. Send routing table to neighbor 3. Update if find shorter route. This is all happening simultaneously 4. Should convertge on Dijkstra. Looping problems: packets can get stuck in loops. Good news travels fast. A 4 B 7 to 1 2 1 C 3 D 1 1 E Converges in two steps. 28

Bad news travels slowly. A 50 B 1 to inf 8 1 C 3 D 1 1 E A to C line goes down. Have bad timing. C thinks fastest to A is E, E thinks fastest to A is still C. C tells B+E cost to A is inf. E (old) tells C cost to A still 2. C updates with this info, path to A is 3 if go via E E updates path to A is 4 if go via C slowly loop, counting to infinity 29

Solutions to count to infinity Split horizon a router should not tell neighbor back the least cost it just got from that neighbor Poison Reverse instead of not telling back, should say the cost back to itself is infinity These only work for two hop loops. Other options to send additional next hop data, or have a hold down timer that lets things settle before updating info 30

(dynamic) Link State Routing Problems with DVR: did not take delay into account, took too long to converge Each router must: 1. Discover neighbors and learn network address 2. Measure delay or cost of each neighbor 3. Construct a packet telling all it learned 4. Send a packet to all other routers 5. Compute the shortest path to all other routers 31

Learning about neighbors: sends HELLO packet at boot out all links Measure line cost: Send special ECHO paket and measure return. Take into account load? Building link-state packets Distrbiuting Computing new routes 32

Hierarchical Routing At some point not possible for every router to know about every other Split into regions Example? 33