ECE544: Communication Networks-II, Spring 2006

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 461: IP/ICMP and the Network Layer. Next Topic  Focus:  How do we build large networks?  Introduction to the Network layer  Internetworks  Service.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 11 – February 16, 2010.
1 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
ECE544: Communication Networks-II, Spring 2010 D. Raychaudhuri Lecture 4 Includes teaching materials from L. Peterson.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Spring 2003CS 4611 Internetworking COS 461 Spring 2003.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
15-744: Computer Networking L-5 Intra-Domain Routing.
Chapter 4 IP Routing Professor Rick Han University of Colorado at Boulder
CS Internetworking Slide Set 8. In this set... Addressing Datagram forwarding.
ECE544: Communication Networks-II, Spring 2007 D. Raychaudhuri Lecture 4,5 Includes teaching materials from L. Peterson.
1 ELEN Lecture 13 LAN Bridges Routers, Switches, Gateways Network layer -IP Reading: 6.7,
Spring 2002CS 4611 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
26-Aug-154/598N: Computer Networks Recap SBC UUNET Comcast Sprint End Users Internet First mile problem Last mile problem.
CS 6401 Internet Protocol Outline Introduction to Internet Protocol Header and address formats ICMP Tools.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
1 CS 4396 Computer Networks Lab Dynamic Routing Protocols - II OSPF.
13-Sep-154/598N: Computer Networks Address Translation Map IP addresses into physical addresses –destination host –next hop router Techniques –encode physical.
CS551: Unicast Routing Christos Papadopoulos (
10/13/2015© 2008 Raymond P. Jefferis IIILect 07 1 Internet Protocol.
Spring 2010CS 3321 Chapter 4: Internetworking. Spring 2010CS 3322 Assumptions Data pipe from every machine to every other machine. –Need not be single.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Internet Protocols. ICMP ICMP – Internet Control Message Protocol Each ICMP message is encapsulated in an IP packet – Treated like any other datagram,
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
1 Internetworking: IP Packet Switching Reading: (except Implementation; pp )
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
1 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Homework 4 Out: Fri 2/24/2017 In: Fri 3/10/2017.
CSS432 Routing Textbook Ch3.3
NAT – Network Address Translation
Broadcast Routing Broadcasting: sending a packet to all N receivers
Scaling the Network Chapters 3-4 Part 2
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CPSC 335 Data Communication.
Dynamic Routing Protocols II OSPF
Scaling the Network: The Internet Protocol
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
ICMP ICMP – Internet Control Message Protocol
3. Internetworking (part 3: IP)
Intra-Domain Routing Jacob Strauss September 14, 2006.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Routing.
CS 457 – Lecture 10 Internetworking and IP
Dan LI CS Department, Tsinghua University
Dynamic Routing Protocols part2
Dynamic Routing Protocols II OSPF
Advanced Computer Networks
IP : Internet Protocol Surasak Sanguanpong
Internetworking Outline Best Effort Service Model
CS 3700 Networks and Distributed Systems
ECE544: Communication Networks-II, Spring 2016
Intradomain Routing Outline Introduction to Routing
Overview The Internet (IP) Protocol Datagram format IP fragmentation
CS 3700 Networks and Distributed Systems
2. Fragmentation and Reassembly
Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.) Goal is to use this opportunity.
The University of Adelaide, School of Computer Science
Communication Networks
Introduction to Computer Networks
Scaling the Network: The Internet Protocol
Tree Structured Internet(c. 1990)
EE 122: Intra-domain routing: Distance Vector
Communication Networks
Routing.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Presentation transcript:

ECE544: Communication Networks-II, Spring 2006 D. Raychaudhuri Lecture 5 Includes teaching materials from L. Peterson

Today’s Lecture IP basics Routing principles distance vector (RIP) link state (OSPF)

IP Basics Best Effort Service Model Global Addressing Scheme ARP & DHCP

IP Internet Concatenation of Networks Protocol Stack R1 ETH FDDI IP Network 2 (Ethernet) Network 1 (Ethernet) H6 Network 3 (FDDI) Network 4 (point-to-point) H7 R3 H8 R1 ETH FDDI IP TCP R2 PPP R3 H1 H8

Service Model Connectionless (datagram-based) Best-effort delivery (unreliable service) packets are lost packets are delivered out of order duplicate copies of a packet are delivered packets can be delayed for a long time Datagram format V ersion HLen TOS Length Ident Flags Offset TTL Protocol Checksum SourceAddr DestinationAddr Options (variable) Pad (variable) 4 8 16 19 31 Data

Fragmentation and Reassembly Each network has some MTU Strategy fragment when necessary (MTU < Datagram) try to avoid fragmentation at source host re-fragmentation is possible fragments are self-contained datagrams use CS-PDU (not cells) for ATM delay reassembly until destination host do not recover from lost fragments

Example Ident = x Offset = 0 Start of header Rest of header Rest of header 1400 data bytes Ident = x Offset = 0 Start of header 1 Rest of header 512 data bytes = 512 = 1024 376 data bytes

Global Addresses Properties Dot Notation globally unique hierarchical: network + host Dot Notation 10.3.2.4 128.96.33.81 192.12.69.77 Network Host 7 24 A: 14 16 1 B: 21 8 C:

Datagram Forwarding Strategy Example (R2) Network Number Next Hop every datagram contains destination’s address if directly connected to destination network, then forward to host if not directly connected to destination network, then forward to some router forwarding table maps network number into next hop each host has a default router each router maintains a forwarding table Example (R2) Network Number Next Hop 1 R3 2 R1 3 interface 1 4 interface 0

Address Translation Map IP addresses into physical addresses destination host next hop router Techniques encode physical address in host part of IP address table-based ARP table of IP to physical address bindings broadcast request if IP address not in table target machine responds with its physical address table entries are discarded if not refreshed

ARP Details Request Format Notes HardwareType: type of physical network (e.g., Ethernet) ProtocolType: type of higher layer protocol (e.g., IP) HLEN & PLEN: length of physical and protocol addresses Operation: request or response Source/Target-Physical/Protocol addresses Notes table entries timeout in about 10 minutes update table with source when you are the target update table if already have an entry do not refresh table entries upon reference

ARP Packet Format T argetHardwareAddr (bytes 2 – 5) argetProtocolAddr (bytes 0 3) SourceProtocolAddr (bytes 2 Hardware type = 1 ProtocolT ype = 0x0800 SourceHardwareAddr (bytes 4 argetHardwareAddr (bytes 0 1) SourceProtocolAddr (bytes 0 HLen = 48 PLen = 32 Operation SourceHardwareAddr (bytes 0 8 16 31

ATM ARP ATM ARP for mapping IP<->ATM addr medium is not a broadcast type unlike Ethernet requires servers which maintain ARP tables concept of multiple “logical IP subnets” (LIS)

Dynamic Host Control Protocol (DHCP) DHCP server per network for IP address assignment Static list of IP<->physical addr or dynamic binding from common pool Host boot-up via well-known address 255.255.255.255 DHCP “relay agent” can be used to avoid one server per network

Dynamic Host Control Protocol (DHCP) DHCP packet format (runs over UDP) Operation HType HLen Hops Xid Secs Flag ciaddr yiaddr siaddr giaddr chaddr (16B) ....

Internet Control Message Protocol (ICMP) Echo (ping) Redirect (from router to source host) Destination unreachable (protocol, port, or host) TTL exceeded (so datagrams don’t cycle forever) Checksum failed Reassembly failed Cannot fragment

Routing Basics

Routing Problem Network as a Graph Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

Two main approaches DV: Distance-vector protocols LS: Link state protocols Variations of above methods applied to: Intra-domain routing (small/med networks) RIP, OSPF Inter-domain routing (large/global networks) BGP-4

Distance Vector Protocols Employed in the early Arpanet Distributed next hop computation adaptive Unit of information exchange vector of distances to destinations Distributed Bellman-Ford Algorithm

Distance Vector Each node maintains a set of triples (Destination, Cost, NextHop) Exchange updates directly connected neighbors periodically (on the order of several seconds) whenever 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

Distributed Bellman-Ford Start Conditions: Each router starts with a vector of (zero) distances to all directly attached networks Send step: Each router advertises its current vector to all neighboring routers. Receive step: Upon receiving vectors from each of its neighbors, router computes its own distance to each neighbor. Then, for every network X, router finds that neighbor who is closer to X than to any other neighbor. Router updates its cost to X. After doing this for all X, router goes to send step.

Example - initial distances 1 Distance to node B C Info at node A B C D E 7 A 7 ~ ~ 1 A 8 2 B 7 1 ~ 8 C ~ 1 2 ~ 1 2 D ~ ~ 2 2 D E E 1 8 ~ 2

E receives D’s routes 1 Distance to node B C Info at node A B C D E 7 7 ~ ~ 1 A 8 2 B 7 1 ~ 8 C ~ 1 2 ~ 1 2 D ~ ~ 2 2 D E E 1 8 ~ 2

E updates cost to C 1 Distance to node B C Info at node A B C D E 7 A 7 ~ ~ 1 A 8 2 B 7 1 ~ 8 C ~ 1 2 ~ 1 2 D ~ ~ 2 2 D E E 1 8 4 2

A receives B’s routes 1 Distance to node B C Info at node A B C D E 7 7 ~ ~ 1 A 8 2 B 7 1 ~ 8 C ~ 1 2 ~ 1 2 D ~ ~ 2 2 D E E 1 8 4 2

A updates cost to C 1 Distance to node B C Info at node A B C D E 7 A 7 8 ~ 1 A 8 2 B 7 1 ~ 8 C ~ 1 2 ~ 1 2 D ~ ~ 2 2 D E E 1 8 4 2

A receives E’s routes 1 Distance to node B C Info at node A B C D E 7 7 8 ~ 1 A 8 2 B 7 1 ~ 8 C ~ 1 2 ~ 1 2 D ~ ~ 2 2 D E E 1 8 4 2

A updates cost to C and D 1 Distance to node B C Info at node A B C D 7 A 7 5 3 1 A 8 2 B 7 1 ~ 8 C ~ 1 2 ~ 1 2 D ~ ~ 2 2 D E E 1 8 4 2

Final distances 1 Distance to node B C Info at node A B C D E 7 A 6 5 6 5 3 1 A 8 2 B 6 1 3 5 C 5 1 2 4 1 2 D 3 3 2 2 D E E 1 5 4 2

Final distances after link failure 1 Distance to node B C Info at node A B C D E 7 A 7 8 10 1 A 8 2 B 7 1 3 8 C 8 1 2 9 1 2 D 10 3 2 11 D E E 1 8 9 11

View from a node E’s routing table 1 Next hop B C dest A B D 7 A 1 14 5 B A 8 2 7 8 5 C 6 9 4 D 4 11 2 1 2 D E

The bouncing effect dest cost dest cost 1 A 1 B A B 1 C 1 C 2 25 1 C

C sends routes to B dest cost dest cost A ~ B A B 1 C 1 C 2 25 1 C

B updates distance to A dest cost dest cost A 3 B A B 1 C 1 C 2 25 1 C

B sends routes to C dest cost dest cost A 3 B A B 1 C 1 C 2 25 1 C 4 B 1

C sends routes to B dest cost dest cost A 5 B A B 1 C 1 C 2 25 1 C 4 B 1

How are these loops caused? Observation 1: B’s metric increases Observation 2: C picks B as next hop to A But, the implicit path from C to A includes itself!

Avoiding the Bouncing Effect Select loop-free paths One way of doing this: each route advertisement carries entire path if a router sees itself in path, it rejects the route BGP does it this way Space proportional to diameter Cheng, Riley et al

Computing Implicit Paths To reduce the space requirements propagate for each destination not only the cost but also its predecessor can recursively compute the path space requirements independent of diameter v x z y w u

Distance Vector in Practice RIP and RIP2 uses split-horizon/poison reverse BGP/IDRP propagates entire path path also used for effecting policies

Link State Routing Each node assumed to know state of links to its neighbors Step 1: Each node broadcasts its state to all other nodes Step 2: Each node locally computes shortest paths to all other nodes from global state

Link State Routing: Building blocks Reliable broadcast mechanism flooding sequence number issues Shortest path tree (SPT) algorithm Dijkstra’s SPT algorithm

Link state packets (LSPs) Periodically, each node creates a Link state packet containing: Node ID List of neighbors and link cost Sequence number Time to live (TTL) Node outputs LSP on all its links

Reliable flooding When node i receives LSP from node j: If LSP is the most recent LSP from j that i has seen so far, i saves it in database and forwards a copy on all links except link LSP was received on. Otherwise, discard LSP.

Sequence number space issues Problem: sequence number may wrap around Solution: treat space as circular, continue after wrap around: A is less than B if A<B and B-A < N/2, or A>B and A-B > N/2 N B A Wrap around

Problem: Router Failure A failed router and comes up but does not remember the last sequence number it used before it crashed New LSPs may be ignored if they have lower sequence number

One solution: LSP Aging Nodes periodically decrement age (TTL) of stored LSPs LSPs expire when TTL reaches 0 LSP is re-flooded once TTL = 0 Rebooted router waits until all LSPs have expired Trade-off between frequency of LSPs and router wait after reboot

OSPF Sequencing and Aging 32-bit sequence number field, does not wrap LSP’s compared on basis of sequence number LSP’s purged after about an hour Synchronized expiration of LSPs expired LSP reflooded with age zero On startup, router need not wait can start with lowest sequence number will be informed if its own LSP is in network

SPT algorithm (Dijkstra) for all nodes v if v adjacent to a then D(v) = cost (a, v) else D(v) = infinity Loop find w not in SPT, where D(w) is min add w in SPT for all v adjacent to w and not in SPT D(v) = min (D(v), D(w) + C(w, v)) until all nodes are in SPT

Link State Algorithm Flooding: 1) Periodically distribute link-state advertisement (LSA) to neighbors - LSA contains delays to each neighbor 2) Install received LSA in LS database 3) Re-distribute LSA to all neighbors Path Computation 1) Use Dijkstra’s shortest path algorithm to compute distances to all destinations 2) Install <destination, nexthop> pair in forwarding table

Example 5 3 B C 2 5 1 A 2 F 3 1 2 D E 1 B C D E F

Example 5 3 B C 2 5 1 A 2 F 3 1 2 D E 1 B C D E F

Example 5 3 B C 2 5 1 A 2 F 3 1 2 D E 1 B C D E F

Example 5 3 B C 2 5 1 A 2 F 3 1 2 D E 1 B C D E F

Example 5 3 B C 2 5 1 A 2 F 3 1 2 D E 1 B C D E F

Example 5 3 B C 2 5 1 A 2 F 3 1 2 D E 1 B C D E F

Link State Characteristics With consistent LSDBs, all nodes compute consistent loop-free paths Limited by Dijkstra computation overhead, space requirements Can still have transient loops B 1 1 3 A C Packet from C->A may loop around BDC 5 2 D

Link State in Practice OSPF (Open Shortest Path First Protocol) most commonly used routing protocol in the Internet support for authentication, addl hierarchy, load balancing

OSPF Packets LS Age Options T ype=1 Link state ID Advertising router LS sequence number LS checksum Length Flags Number of links Link ID Link data Link type Num_TOS Metric Optional TOS information More links

Today’s Homework Peterson & Davie, Chap 4 -4.12 -4.13 -4.16 -4.21 Download and browse RIP and OSPF RFC’s Due next Fri (2/17)