Chapter 4 Network Layer

Similar documents
Chapter 4: Network Layer, partb

Chapter 4 Network Layer

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

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

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

Chapter 5 Network Layer: The Control Plane

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

Network layer. Network Layer 4-1. application transport network data link physical. network data link physical. network data link physical

Chapter 4 Network Layer. Network Layer 4-1

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 13

CSC 4900 Computer Networks: Routing Algorithms

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

CSC 401 Data and Computer Communications Networks

Module 3 Network Layer CS755! 3-1!

Summary Chapter 4. Smith College, CSC 249 March 2, q IP Addressing. q DHCP dynamic addressing

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

Chapter 4: outline. Network Layer 4-1

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

DATA COMMUNICATOIN NETWORKING

Chapter IV: Network Layer

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

The Internet network layer

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

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

Network Layer: Routing

Computer Networking Introduction

Chapter 4 Network Layer

Master Course Computer Networks IN2097

CSC 8560 Computer Networks: Control Plane

CS 3516: Advanced Computer Networks

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

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

Lecture 4. The Network Layer (cont d)

CSC 4900 Computer Networks: Routing Protocols

Network layer: Overview. Network layer functions Routing IP Forwarding

Chapter 4: Network Layer

CMPE 80N: Introduction to Networking and the Internet. Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 20

Chapter 4: Network Layer

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

Department of Computer Science Southern Illinois University Carbondale

CS 3516: Advanced Computer Networks

Network layer: Overview. Network layer functions Routing IP Forwarding

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

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

COMPUTER NETWORKS CHAP 4 : NETWORK LAYER

DATA COMMUNICATOIN NETWORKING

Network Layer. CMPS 4750/6750: Computer Networks

COMP211 Chapter 5 Network Layer: The Control Plane

Chapter 4 Network Layer

Chapter 4: Network Layer. Chapter 4: Network Layer

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

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

Chapter 4 Network Layer

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

CSCD 330 Network Programming Spring 2018

Chapter 4 Network Layer

Chapter 4 Network Layer

Chapter 4 Network Layer

CSCD 330 Network Programming Spring 2017

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

Chapter 4: Network Layer

UNIT III THE NETWORK LAYER

CSc 450/550 Computer Networks Internet Routing

Chapter 4 Network Layer

Chapter 4 Network Layer

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

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

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

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

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

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 14

Topics for This Week

Network Technology 1 5th - Network Layer. Mario Lombardo -

internet technologies and standards

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

Computer Networks. Instructor: Niklas Carlsson

Routing. Outline. Algorithms Scalability

Chapter 4 Network Layer

CSCE 463/612 Networks and Distributed Processing Spring 2017

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

Lecture 19: Network Layer Routing in the Internet

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

Chapter 4 Network Layer

Computer Networking. Rou1ng Algorithms. Rou1ng Algorithms. Interplay between rou1ng, forwarding. routing algorithm

Interplay between routing, forwarding

KR_4. Strato di rete

Chapter 4 Network Layer. Network Layer 4-1

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

Chapter 4 Network Layer

CSCI Topics: Internet Programming Fall 2008

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

Chapter 4: network layer

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

Chapter 4 Network Layer

Chapter 4 Network Layer

Chapter 4 Network Layer

EECS 3214: Computer Networks Protocols and Applications

Chapter 4 Network Layer

Chapter 4 Network Layer

Transcription:

Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Slides adopted from original ones proided by the textbook authors. Network Layer 4-1

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-2

Router architecture oeriew two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link forwarding tables computed, pushed to input ports routing processor routing, management control plane (software) forwarding data plane (hardware) high-seed switching fabric router input ports router output ports Network Layer 4-3

Switching fabrics transfer packet from input buffer to appropriate output buffer switching rate: rate at which packets can be transfer from inputs to outputs often measured as multiple of input/output line rate N inputs: switching rate N times line rate desirable three types of switching fabrics memory memory bus crossbar Network Layer 4-4

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-5

IP datagram format IP protocol ersion number header length (bytes) type of data max number remaining hops (decremented at each router) upper layer protocol to delier payload to how much oerhead? 20 bytes of TCP 20 bytes of IP = 40 bytes + app layer oerhead er head. len 16-bit identifier time to lie type of serice upper layer 32 bits flgs length fragment offset header checksum 32 bit source IP address 32 bit destination IP address options (if any) data (ariable length, typically a TCP or UDP segment) total datagram length (bytes) for fragmentation/ reassembly e.g. timestamp, record route taken, specify list of routers to isit. Network Layer 4-6

IP fragmentation, reassembly network links hae MTU (max.transfer size) - largest possible link-leel frame different link types, different MTUs large IP datagram diided ( fragmented ) within net one datagram becomes seeral datagrams reassembled only at final destination IP header bits used to identify, order related fragments reassembly fragmentation: in: one large datagram out: 3 smaller datagrams Network Layer 4-7

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-8

IP4 Addressing Classful addressing Fixed subnet/host address length Inflexible CIDR: Classless InterDomain Routing subnet portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in subnet portion of address 9

DHCP: Dynamic Host Configuration Protocol goal: allow host to dynamically obtain its IP address from network serer when it joins network can renew its lease on address in use allows reuse of addresses (only hold address while connected/ on ) support for mobile users who want to join network (more shortly) DHCP oeriew: host broadcasts DHCP discoer msg [optional] DHCP serer responds with DHCP offer msg [optional] host requests IP address: DHCP request msg DHCP serer sends address: DHCP ack msg Network Layer 4-10

NAT: network address translation implementation: NAT router must: outgoing datagrams: replace (source IP address, port #) of eery outgoing datagram to (NAT IP address, new port #)... remote clients/serers will respond using (NAT IP address, new port #) as destination addr remember (in NAT translation table) eery (source IP address, port #) to (NAT IP address, new port #) translation pair incoming datagrams: replace (NAT IP address, new port #) in dest fields of eery incoming datagram with corresponding (source IP address, port #) stored in NAT table Network Layer 4-11

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-12

ICMP: internet control message protocol used by hosts & routers to communicate network-leel information error reporting: unreachable host, network, port, protocol echo request/reply (used by ping) ICMP message: type, code plus first 8 bytes of IP datagram causing error Case study: traceroute implementation source sends series of UDP segments to dest with TTL set to n nth router sends source ICMP messages (type 11, code 0) Network Layer 4-13

IP6 datagram format initial motiation: 32-bit address space soon to be completely allocated. additional motiation: header format helps speed processing/forwarding header changes to facilitate QoS er pri flow label payload len next hdr hop limit source address (128 bits) destination address (128 bits) data 32 bits Network Layer 4-14

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-15

Graph abstraction 5 graph: G = (N,E) u 1 2 x 2 3 1 3 w y 1 5 2 z N = set of routers = { u,, w, x, y, z } E = set of links ={ (u,), (u,x), (,x), (,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Network Layer 4-16

Graph abstraction: costs u 1 2 5 2 x 3 1 3 w y 1 5 2 z c(x,x ) = cost of link (x,x ) e.g., c(w,z) = 5 cost could always be 1, or inersely related to bandwidth, or inersely related to congestion cost of path (x 1, x 2, x 3,, x p ) = c(x 1,x 2 ) + c(x 2,x 3 ) + + c(x p-1,x p ) key question: what is the least-cost path between u and z? routing algorithm: algorithm that finds that least cost path Network Layer 4-17

Routing algorithm classification Q: global or decentralized information? global: all routers hae complete topology, link cost info link state algorithms decentralized: router knows physicallyconnected neighbors, link costs to neighbors iteratie process of computation, exchange of info with neighbors distance ector algorithms Q: static or dynamic? static: routes change slowly oer time dynamic: routes change more quickly periodic update in response to link cost changes Network Layer 4-18

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-19

A Link-State Routing Algorithm Dijkstra s algorithm net topology, link costs known to all nodes accomplished ia link state broadcast all nodes hae same info computes least cost paths from one node ( source ) to all other nodes gies forwarding table for that node iteratie: after k iterations, know least cost path to k dest. s notation: c(x,y): link cost from node x to y; = if not direct neighbors D(): current alue of cost of path from source to dest. p(): predecessor node along path from source to N': set of nodes whose least cost path definitiely known Network Layer 4-20

Dijkstra s algorithm: example D() p() D(w) p(w) D(x) p(x) D(y) p(y) D(z) p(z) Step N' 0 u 7,u 3,u 5,u 1 uw 6,w 5,u 11,w 2 uwx 6,w 11,w 14,x 3 uwx 10, 14,x 4 uwxy 12,y 5 uwxyz notes: construct shortest path tree by tracing predecessor nodes ties can exist (can be broken arbitrarily) u 5 3 x w 4 8 7 3 7 4 9 y z 2 Network Layer 4-21

Dijsktra s Algorithm 1 Initialization: 2 N' = {u} 3 for all nodes 4 if adjacent to u 5 then D() = c(u,) 6 else D() = 7 8 Loop 9 find w not in N' such that D(w) is a minimum 10 add w to N' 11 update D() for all adjacent to w and not in N' : 12 D() = min( D(), D(w) + c(w,) ) 13 /* new cost to is either old cost to or known 14 shortest path cost to w plus cost from w to */ 15 until all nodes in N' Network Layer 4-22

Network Layer 4-23 Dijkstra s algorithm: another example Step 0 1 2 3 4 5 N' u ux uxy uxy uxyw uxywz D(),p() 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y) 2,x D(z),p(z) 4,y 4,y 4,y u y x w z 2 2 1 3 1 1 2 5 3 5

Dijkstra s algorithm: example (2) resulting shortest-path tree from u: w u z x y resulting forwarding table in u: destination x y w z link (u,) (u,x) (u,x) (u,x) (u,x) Network Layer 4-24

Dijkstra s algorithm, discussion algorithm complexity: n nodes each iteration: need to check all nodes, w, not in N n(n+1)/2 comparisons: O(n 2 ) more efficient implementations possible: O(nlogn) oscillations possible: e.g., support link cost equals amount of carried traffic: 1 D A 1 1+e 0 0 0 C e initially e B 1 A 2+e 0 D 0 1+e 1 C B gien these costs, find new routing. resulting in new costs 0 D A 0 2+e 1 0 0 C 1+e B gien these costs, find new routing. resulting in new costs A 2+e 0 D 0 1+e 1 C B gien these costs, find new routing. resulting in new costs 0 Network Layer 4-25

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-26

Distance ector algorithm Bellman-Ford equation (dynamic programming) let d x (y) := cost of least-cost path from x to y then d x (y) = min {c(x,) + d (y) } cost from neighbor to destination y cost to neighbor min taken oer all neighbors of x Network Layer 4-27

Bellman-Ford example u 1 2 5 x 2 3 1 3 w y 1 5 2 z clearly, d (z) = 5, d x (z) = 3, d w (z) = 3 B-F equation says: d u (z) = min { c(u,) + d (z), c(u,x) + d x (z), c(u,w) + d w (z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 node achieing minimum is next hop in shortest path, used in forwarding table Network Layer 4-28

Distance ector algorithm D x (y) = estimate of least cost from x to y x maintains distance ector D x = [D x (y): y є N ] node x: knows cost to each neighbor : c(x,) maintains its neighbors distance ectors. For each neighbor, x maintains D = [D (y): y є N ] Network Layer 4-29

Distance ector algorithm key idea: from time-to-time, each node sends its own distance ector estimate to neighbors when x receies new DV estimate from neighbor, it updates its own DV using B-F equation: D x (y) min {c(x,) + D (y)} for each node y N under minor, natural conditions, the estimate D x (y) conerge to the actual least cost d x (y) Network Layer 4-30

node x table from x y z cost to x y z 0 2 7 D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 from x y z x y z 0 cost to 2 3 2 0 1 7 1 0 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3 node y table from x y z cost to x y z 2 0 1 x 2 y 7 1 z node z table from cost to x y z x y z 7 1 0 time Network Layer 4-31

node x table from x y z node y table from x y z cost to x y z 0 2 7 x y z 2 0 1 D x (y) = min{c(x,y) + D y (y), c(x,z) + D z (y)} = min{2+0, 7+1} = 2 cost to from from x y z x y z x y z 0 cost to 2 cost to x y z 0 2 7 2 0 1 3 2 0 1 7 1 0 7 1 0 from from x y z x y z cost to x y z 0 2 3 2 0 1 3 1 0 cost to x y z 0 2 3 2 0 1 3 1 0 D x (z) = min{c(x,y) + D y (z), c(x,z) + D z (z)} = min{2+1, 7+0} = 3 y 2 1 x 7 z node z table from cost to x y z x y z 7 1 0 from x y z cost to x y z 0 2 7 2 0 1 3 1 0 from x y z cost to x y z 0 2 3 2 0 1 3 1 0 time Network Layer 4-32

Distance ector algorithm iteratie, asynchronous: each local iteration caused by: local link cost change DV update message from neighbor distributed: each node notifies neighbors only when its DV changes neighbors then notify their neighbors if necessary each node: wait for (change in local link cost or msg from neighbor) recompute estimates if DV to any dest has changed, notify neighbors Network Layer 4-33

Distance ector: link cost changes link cost changes: node detects local link cost change updates routing info, recalculates distance ector if DV changes, notify neighbors x 1 4 y 50 1 z good news traels fast t 0 : y detects link-cost change, updates its DV, informs its neighbors. t 1 : z receies update from y, updates its table, computes new least cost to x, sends its neighbors its DV. t 2 : y receies z s update, updates its distance table. y s least costs do not change, so y does not send a message to z. Network Layer 4-34

Distance ector: link cost changes link cost changes: node detects local link cost change bad news traels slow - count to infinity problem! 44 iterations before algorithm stabilizes: see text poisoned reerse: If Z routes through Y to get to X : Z tells Y its (Z s) distance to X is infinite (so Y won t route to X ia Z) 60 x 4 y 50 1 z Network Layer 4-35

Comparison of LS and DV algorithms message complexity LS: with n nodes, E links, O(nE) msgs sent DV: exchange between neighbors only conergence time aries speed of conergence LS: O(n 2 ) algorithm requires O(nE) msgs may hae oscillations DV: conergence time aries may be routing loops count-to-infinity problem robustness: what happens if router malfunctions? LS: node can adertise incorrect link cost each node computes only its own table DV: DV node can adertise incorrect path cost each node s table used by others error propagate thru network Network Layer 4-36

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-37

Hierarchical routing our routing study thus far - idealization all routers identical network flat not true in practice scale: with 600 million destinations: can t store all dest s in routing tables! routing table exchange would swamp links! administratie autonomy internet = network of networks each network admin may want to control routing in its own network Network Layer 4-38

Hierarchical routing aggregate routers into regions, autonomous systems (AS) routers in same AS run same routing protocol intra-as routing protocol routers in different AS can run different intra- AS routing protocol gateway router: at edge of its own AS has link to router in another AS Network Layer 4-39

Interconnected ASes 3c 3a 3b AS3 1a 1c 1d 1b Intra-AS Routing algorithm AS1 Forwarding table Inter-AS Routing algorithm 2a 2c AS2 2b forwarding table configured by both intraand inter-as routing algorithm intra-as sets entries for internal dests inter-as & intra-as sets entries for external dests Network Layer 4-40

Inter-AS tasks suppose router in AS1 receies datagram destined outside of AS1: router should forward packet to gateway router, but which one? AS1 must: 1. learn which dests are reachable through AS2, which through AS3 2. propagate this reachability info to all routers in AS1 job of inter-as routing! 3c other networks 3b 3a AS3 1a AS1 1c 1d 1b 2a AS2 2c 2b other networks Network Layer 4-41

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-42

Intra-AS Routing also known as interior gateway protocols (IGP) most common intra-as routing protocols: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco proprietary) Network Layer 4-43

RIP ( Routing Information Protocol) included in BSD-UNIX distribution in 1982 distance ector algorithm distance metric: # hops (max = 15 hops), each link has cost 1 DVs exchanged with neighbors eery 30 sec in response message (aka adertisement) each adertisement: list of up to 25 destination subnets (in IP addressing sense) from router A to destination subnets: z u A C B D y w x subnet hops u 1 2 w 2 x 3 y 3 z 2 Network Layer 4-44

RIP: example w x y A D B z C routing table in router D destination subnet next router # hops to dest w A 2 y B 2 z B 7 x -- 1..... Network Layer 4-45

RIP: example A-to-D adertisement next hops dest w - 1 x - 1 z C 4.... w x y A D B z C routing table in router D destination subnet next router # hops to dest w A 2 y B 2 A z B 7 5 x -- 1..... Network Layer 4-46

OSPF (Open Shortest Path First) open : publicly aailable uses link state algorithm LS packet dissemination topology map at each node route computation using Dijkstra s algorithm OSPF adertisement carries one entry per neighbor adertisements flooded to entire AS Network Layer 4-47

OSPF adanced features (not in RIP) security: all OSPF messages authenticated (to preent malicious intrusion) ECMP: equal cost multiple 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 ToS; high for real time ToS) integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF hierarchical OSPF in large domains. Network Layer 4-48

Hierarchical OSPF boundary router backbone router area border routers backbone area 3 area 1 area 2 internal routers Network Layer 4-49

Hierarchical OSPF two-leel hierarchy: local area, backbone. link-state adertisements only in 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, adertise to other Area Border routers. backbone routers: run OSPF routing limited to backbone. boundary routers: connect to other AS s. Network Layer 4-50

Internet inter-as routing: BGP BGP (Border Gateway Protocol): the de facto inter-domain routing protocol glue that holds the Internet together BGP proides each AS a means to: ebgp: obtain subnet reachability information from neighboring ASs. ibgp: propagate reachability information to ASinternal routers. determine good routes to other networks based on reachability information and policy. allows subnet to adertise its existence to rest of Internet: I am here Network Layer 4-51

BGP basics BGP session: two BGP routers ( peers ) exchange BGP messages: adertising paths to different destination network prefixes ( path ector protocol) when AS3 adertises a prefix to AS1: AS3 promises it will forward datagrams towards that prefix AS3 can aggregate prefixes in its adertisement other networks 3b 3c AS3 3a 1a AS1 BGP message 1c 1d 1b 2a AS2 2c 2b other networks Network Layer 4-52

BGP basics: distributing path information using ebgp session between 3a and 1c, AS3 sends prefix reachability info to AS1. 1c can then use ibgp do distribute new prefix info to all boundary routers in AS1 1b can then re-adertise new reachability info to AS2 oer 1b-to- 2a ebgp session when router learns of new prefix, it creates entry for prefix in its forwarding table. other networks 3b 3a AS3 1a AS1 1c 1d ebgp session ibgp session 1b 2a AS2 2c 2b other networks Network Layer 4-53

Path attributes and BGP routes adertised prefix includes BGP attributes prefix + attributes = route two important attributes: AS-PATH: contains ASs through which prefix adertisement has passed: e.g., AS 67, AS 17 NEXT-HOP: indicates specific internal-as router to nexthop AS. (may be multiple links from current AS to nexthop-as) gateway router receiing route adertisement uses import policy to accept/decline e.g., neer route through AS x policy-based routing Network Layer 4-54

BGP route selection router may learn about more than 1 route to destination AS, selects route based on: 1. local preference alue attribute: policy decision 2. shortest AS-PATH 3. closest NEXT-HOP router: hot potato routing 4. additional criteria Network Layer 4-55

Example Consider the network shown below. Suppose AS3 and AS2 are running OSPF for their intra-as routing protocol. Suppose AS1 and AS4 are running RIP for their intra-as routing protocol. Suppose E-BGP and I-BGP are used for the inter-as routing protocol. Initially suppose there is no physical link between AS2 and AS4. a. Router 3c learns about prefix x from which routing protocol: OSPF, RIP, E-BGP, or I-BGP? b. How about 3a, 1c, and 1d. 56

Example Referring to the preious network, once router 1d learns about x it will put an entry (x, I) in its forwarding table. a. Will I be equal to I 1 or I 2 for this entry? b. Now suppose that there is a physical link between AS2 and AS4, shown by the dotted line. Suppose router 1d learns that x is accessible ia AS2 as well as ia AS3. Will? c. Now suppose there is another AS, called AS5, which lies on the path between AS2 and AS4. Suppose router 1d learns that x is accessible ia AS2 AS5 AS4 as well as ia AS3 AS4. Will? 57

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-58

Multicast and broadcast Multicast - one to many transmission Special case: broadcast - one to all transmission Solutions to both are similar source duplication is inefficient: duplicate R1 duplicate creation/transmission R1 R2 R2 duplicate R3 R4 R3 R4 source duplication in-network duplication Network Layer 4-59

Broadcast: in-network duplication flooding: when node receies broadcast packet, sends copy to all neighbors problems: cycles & broadcast storm controlled flooding: node only broadcasts pkt if it hasn t broadcast same packet before node keeps track of packet ids already broadacsted or reerse path forwarding (RPF): only forward packet if it arried on shortest path between node and source spanning tree: no redundant packets receied by any node Network Layer 4-60

Broadcast: controlled flooding Node S is the broadcast source. S E A B H C I G F K J D M N L 61

Broadcast: controlled flooding S E A B H C I G F K J D M N L To aoid forwarding the same packet multiple times (forming a loop), each node remembers the receied packet id. - Second copy receied by E from C is discarded - Second copy receied by C from E is discarded as well - Node H receies two copies from two neighbors, and will discard one of them 62

Broadcast: spanning tree first construct a spanning tree nodes then forward/make copies only along spanning tree A A c B c B F E D F E D (a) broadcast initiated at A G G (b) broadcast initiated at D Network Layer 4-63

Broadcast: spanning tree: creation center node each node sends unicast join message to center node message forwarded until it arries at a node already belonging to spanning tree F 1 c A 4 E 3 2 B D 5 G (a) stepwise construction of spanning tree (center: E) F c A E B D (b) constructed spanning tree G Network Layer 4-64

Multicast routing: problem statement goal: find a tree (or trees) connecting routers haing local mcast group members tree: not all paths between routers used shared-tree: same tree used by all group members source-based: different tree from each sender to rcrs legend group member not group member router with a group member router without group member shared tree source-based trees Network Layer 4-65

Approaches for building mcast trees approaches: source-based tree: one tree per source shortest path trees reerse path forwarding group-shared tree: group uses one tree minimal spanning (Steiner) center-based trees we first look at basic approaches, then specific protocols adopting these approaches Network Layer 4-66

Shortest path tree mcast forwarding tree: tree of shortest path routes from source to all receiers Dijkstra s algorithm s: source LEGEND R1 1 2 R4 router with attached group member R3 R2 3 4 R6 6 R7 5 R5 i router with no attached group member link used for forwarding, i indicates order link added by algorithm Network Layer 4-67

Reerse path forwarding rely on router s knowledge of unicast shortest path from it to sender each router has simple forwarding behaior: if (mcast datagram receied on incoming link on shortest path back to center) then flood datagram onto all outgoing links else ignore datagram Network Layer 4-68

Reerse path forwarding: example s: source R2 R1 R4 LEGEND router with attached group member R5 router with no attached group member R3 R6 R7 datagram will be forwarded datagram will not be forwarded result is a source-specific reerse SPT may be a bad choice with asymmetric links Network Layer 4-69

Reerse path forwarding: pruning forwarding tree contains 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 R3 R2 R1 R6 P R4 P R5 R7 LEGEND P router with attached group member router with no attached group member prune message links with multicast forwarding Network Layer 4-70

Center-based trees single deliery tree shared by all one router identified as center of tree to join: edge router sends unicast join-msg addressed to center router join-msg processed by intermediate routers and forwarded towards center join-msg either hits existing tree branch for this center, or arries at center path taken by join-msg becomes new branch of tree for this router Network Layer 4-71

Center-based trees: example suppose R6 chosen as center: LEGEND R1 3 R4 router with attached group member R3 R2 1 R6 2 R5 R7 1 router with no attached group member path order in which join messages generated Network Layer 4-72

Internet Multicasting Routing: DVMRP DVMRP: distance ector multicast routing protocol, RFC1075 flood and prune: reerse path forwarding, sourcebased tree 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 eerywhere ia RPF routers not wanting group: send upstream prune msgs Network Layer 4-73

PIM: Protocol Independent Multicast not dependent on any specific underlying unicast routing algorithm (works with all) two different multicast distribution scenarios : dense: group members densely packed, in close proximity. group membership by routers assumed until explicitly prune flood-and-prune RPF sparse: group members widely dispersed no membership until routers explicitly join center-based approach Network Layer 4-74

Chapter 4: done! 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format, IP4 addressing, ICMP, IP6 4.5 routing algorithms link state, distance ector, hierarchical routing 4.6 routing in the Internet RIP, OSPF, BGP 4.7 broadcast and multicast routing understand principles behind network layer serices: network layer serice models, forwarding ersus routing how a router works, routing (path selection), broadcast, multicast instantiation, implementation in the Internet Network Layer 4-75