lecture03: network layer and routing
DESCRIPTION
Routing in layer-two networks IP addressing Routing algorithms Intra-domain and inter-domain routing Unicast and multicast routing. Lecture03: Network layer and Routing. Routing in layer-two networks IP addressing Routing algorithms Intra-domain and inter-domain routing - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/1.jpg)
3-1
Lecture03: Network layer and Routing Routing in layer-two networks
IP addressing
Routing algorithms
Intra-domain and inter-domain routing
Unicast and multicast routing
![Page 2: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/2.jpg)
3-2
Lecture03: Network layer and Routing Routing in layer-two networks
IP addressing
Routing algorithms
Intra-domain and inter-domain routing
Unicast and multicast routing
![Page 3: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/3.jpg)
Routing vs. Forwarding
Routing: control plane Computing paths the packets will follow Routers talking amongst themselves Creating the forwarding tables
Forwarding: data plane Directing a data packet to an outgoing link Using the forwarding tables
3
![Page 4: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/4.jpg)
Link layer routing: Spanning Tree
One tree that reaches every node Single path between each pair of nodes No loops, so can support broadcast easily But, paths are long, and some links not used
4
![Page 5: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/5.jpg)
Link layer host discovery: learn and flood
When a frame arrives Associate address with
the incoming interface
When the frame has an unfamiliar destination Forward out all
interfaces
5
A
B
C
D
Switch learns how to reach A.
A
B
C
D
When in doubt, shout!
Used in Ethernet LANs
![Page 6: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/6.jpg)
3-6
Network layer routing
delivers segments from sending to receiving host
network layer protocols in every host, every router
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical network
data linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
![Page 7: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/7.jpg)
3-7
Datagram networks
routers: no state about end-to-end connections
packets forwarded using destination host address
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1. Send data 2. Receive data
![Page 8: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/8.jpg)
3-8
Lecture03: Network layer and Routing Routing in layer-two networks
IP addressing
Routing algorithms
Intra-domain and inter-domain routing
Unicast and multicast routing
![Page 9: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/9.jpg)
Forwarding table
Destination Address Range Link Interface
11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111
11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111
11001000 00010111 00011000 00000000 through 2 11001000 00010111 00011111 11111111
otherwise 3
4 billion possible entries
3-9
![Page 10: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/10.jpg)
4-10
IP Addressing: introduction IP address: 32-bit
identifier for host, router interface
interface: connection between host/router and physical link router’s typically have
multiple interfaces host typically has one
interface IP addresses associated
with each interface
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
![Page 11: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/11.jpg)
4-11
Subnets IP address:
subnet part (high order bits)
host part (low order bits)
What’s a subnet ? device interfaces
with same subnet part of IP address
can physically reach each other without intervening router
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
network consisting of 3 subnets
subnet
![Page 12: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/12.jpg)
4-12
Subnets 223.1.1.0/24223.1.2.0/24
223.1.3.0/24
Recipe To determine the
subnets, detach each interface from its host or router, creating islands of isolated networks. Each isolated network is called a subnet. Subnet mask: /24
![Page 13: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/13.jpg)
Network LayerSSL (8/09)
4-13
IP addressing: CIDR
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
11001000 00010111 00010000 00000000
subnetpart
hostpart
200.23.16.0/23
![Page 14: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/14.jpg)
Network LayerSSL (8/09)
4-14
IP addresses: how to get one?
Q: How does network get subnet part of IP addr?
A: gets allocated portion of its provider ISP’s address space
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
![Page 15: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/15.jpg)
Network LayerSSL (8/09)
4-15
IP addresses: how to get one?
Q: How does host get IP address?
hard-coded by system admin in a file Wintel: control-panel->network->configuration ->tcp/ip->properties UNIX: /etc/rc.config
DHCP: Dynamic Host Configuration Protocol: dynamically get address from a server “plug-and-play”
![Page 16: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/16.jpg)
Network LayerSSL (8/09)
4-16
IP addressing: how to get one? (cont.)
ICANN (Internet Corporation for Assigned Names and Numbers)/IANA (Internet Assigned
Numbers Authority) allocates addresses manages DNS assigns domain names, resolves disputes
Regional, national, and local Internet registries, and ISPs End-user organization can be assigned IP address
space from one of the above
![Page 17: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/17.jpg)
Hierarchical addressing: route aggregation
“Send me anythingwith addresses beginning 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us“Send me anythingwith addresses beginning 199.31.0.0/16”
200.23.20.0/23Organization 2
...
...
Hierarchical addressing allows efficient advertisement of routing information:
![Page 18: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/18.jpg)
Hierarchical addressing: more specific routesISPs-R-Us has a more specific route to Organization 1 - this is the reason for longest prefix match.
“Send me anythingwith addresses beginning 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us“Send me anythingwith addresses beginning 199.31.0.0/16or 200.23.18.0/23”
200.23.20.0/23Organization 2
...
...
![Page 19: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/19.jpg)
Rapid growth of forwarding table size due to address fragmentation from
Multi-homing
reliability
load balancing
![Page 20: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/20.jpg)
Network LayerSSL (8/09)
4-20
NAT: Network Address Translation
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
local network(e.g., home network)
10.0.0/24
rest ofInternet
Datagrams with source or destination in this networkhave 10.0.0/24 address for
source, destination (as usual)
All datagrams leaving localnetwork have same single source
NAT IP address: 138.76.29.7,different source port numbers
![Page 21: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/21.jpg)
Network LayerSSL (8/09)
4-21
NAT: Network Address Translation
Motivation: local network uses just one IP address as far as outside world is concerned: just one IP address needed for all devices can change addresses of devices in local network
without notifying outside world can change ISP without changing addresses of
devices in local network devices inside local net not explicitly
addressable, visible by outside world (a security plus).
![Page 22: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/22.jpg)
Network LayerSSL (8/09)
4-22
NAT: Network Address Translation
10.0.0.1
10.0.0.2
10.0.0.3
S: 10.0.0.1, 3345D: 128.119.40.186, 80
1
10.0.0.4
138.76.29.7
1: host 10.0.0.1 sends datagram to 128.119.40.186, 80
NAT translation tableWAN side addr LAN side addr
138.76.29.7, 5001 10.0.0.1, 3345…… ……
S: 128.119.40.186, 80 D: 10.0.0.1, 3345
4
S: 138.76.29.7, 5001D: 128.119.40.186, 80
2
2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table
S: 128.119.40.186, 80 D: 138.76.29.7, 5001
3
3: Reply arrives dest. address: 138.76.29.7, 5001
4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345
![Page 23: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/23.jpg)
Network LayerSSL (8/09)
4-23
NAT: Network Address Translation
16-bit port-number field: 60,000 simultaneous connections with a
single IP address! NAT is controversial:
routers should only process up to layer 3• violates end-to-end argument
NAT possibility must be taken into account by app designers, eg, IPsec, P2P applications
address shortage should instead be solved by IPv6
![Page 24: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/24.jpg)
Network LayerSSL (8/09)
4-24
NAT traversal problem client wants to connect to
server with address 10.0.0.1 server address 10.0.0.1
local to LAN (client can’t use it as destination addr)
only one externally visible IP address: 138.76.29.7
solution 1: statically configure NAT to forward incoming connection requests at given port to server e.g., (123.76.29.7, port
2500) always forwarded to 10.0.0.1 port 2500
10.0.0.1
10.0.0.4
NAT router
138.76.29.7
Client?
![Page 25: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/25.jpg)
Network LayerSSL (8/09)
4-25
NAT traversal problem solution 2: Universal Plug and
Play (UPnP) Internet Gateway Device (IGD) Protocol.
For UPnP compatible host and NAT, allows host behind NAT to: learn public IP address
(138.76.29.7) and choose a public port number
add/remove private-to-public port mapping (with lease time)
host can advertise its public IP address and public port number to outside
10.0.0.1
10.0.0.4
NAT router
138.76.29.7
IGD
![Page 26: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/26.jpg)
Network LayerSSL (8/09)
4-26
NAT traversal problem solution 3: relaying (used in Skype)
client behind NAT establishes connection to relay
external client connects to relay relay bridges packets between to connections
138.76.29.7
Client
10.0.0.1
NAT router
1. connection torelay initiatedby host behind NAT
2. connection torelay initiatedby client
3. relaying established
![Page 27: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/27.jpg)
Network LayerSSL (8/09)
4-27
Router Architecture Overview
Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link
![Page 28: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/28.jpg)
Network LayerSSL (8/09)
4-28
Input Port Functions
Decentralized switching: given datagram dest., lookup output
port using forwarding table in input port memory
goal: complete input port processing at “line speed”
queueing: if datagrams arrive faster than forwarding rate into switch fabric
Physical layer:bit-level reception
Data link layer:e.g., Ethernetsee chapter 5
![Page 29: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/29.jpg)
Network LayerSSL (8/09)
4-29
Output Ports
Buffering required when datagrams arrive from fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
* correction: ‘encapsulation’ instead of ‘decapsulation’ in figure
![Page 30: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/30.jpg)
3-30
Lecture03: Network layer and Routing Routing in layer-two networks
IP addressing
Routing algorithms
Intra-domain and inter-domain routing
Unicast and multicast routing
![Page 31: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/31.jpg)
u
yx
wv
z2
2
13
1
1
2
53
5
Graph: G = (N,E)
N = set of routers = { u, v, w, x, y, z }
E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
Graph abstraction
Remark: Graph abstraction is useful in other network contexts
Example: P2P, where N is set of peers and E is set of TCP connections
![Page 32: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/32.jpg)
Graph abstraction: costs
u
yx
wv
z2
2
13
1
1
2
53
5 • c(x,x’) = cost of link (x,x’)
- e.g., c(w,z) = 5
• cost could be 1, or inversely related to bandwidth,or inversely related to congestion
Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)
Question: What’s the least-cost path between u and z ?
Routing algorithm tries to find least-cost path
3-32
![Page 33: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/33.jpg)
Routing Algorithm classification
Global or decentralized information?
Global info: all routers have complete topology, link cost info “link state” algorithms
Decentralized info: router knows physically-connected neighbors, link
costs to neighbors “distance vector” algorithms
3-33
![Page 34: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/34.jpg)
A Link-State Routing Algorithm
net topology, link costs known to all nodes accomplished via “link state broadcast” all nodes have same info
Dijkstra’s algorithm computes least cost paths from one node
(“source”) to all other nodes in a graph gives forwarding table for that node
3-34
![Page 35: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/35.jpg)
Link State Broadcast
Flooding algorithm Source node of “link
state” sends packet to all neighbors
Intermediate node resends to neighbors except where packet arrived
Many duplicates!
A
ED
CB
F
3-35
![Page 36: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/36.jpg)
Dijsktra’s Algorithm
1 Initialization: 2 N' = {u} 3 for all nodes v 4 if v adjacent to u 5 then D(v) = c(u,v) 6 else D(v) = ∞ 7 8 Loop 9 find w not in N' such that D(w) is a minimum 10 add w to N' 11 update D(v) for all v adjacent to w and not in N' : 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N'
3-36
![Page 37: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/37.jpg)
Link State: Shortest-Path Tree Shortest-path tree
from u Forwarding table at
u
37
32
2
1
14
1
4
5
3
u
v
w
x
y
z
s
t
v (u,v)w (u,w)x (u,w)y (u,v)z (u,v)
link
s (u,w)t (u,w)
3-37
![Page 38: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/38.jpg)
Distance Vector Algorithm basis
Bellman-Ford Equation (dynamic programming)
Definedx(y) := cost of least-cost path from x to y
Then
dx(y) = min {c(x,v) + dv(y) }
where min is taken over all neighbors v of x
v
3-38
![Page 39: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/39.jpg)
Bellman-Ford example
u
yx
wv
z2
2
13
1
1
2
53
5Clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3
du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4
The node that achieves minimum is nexthop in shortest path ➜ forwarding table
B-F equation says:
3-39
![Page 40: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/40.jpg)
Distance vector algorithm (2)
Basic idea: Each node periodically sends its own DV
estimate to neighbors When a node x receives new DV estimate from
a neighbor, it updates its own DV using B-F equation:
Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N
Update forwarding table with the v that achieves least cost to y
Eventually, assuming that link costs do not change, the estimate Dx(y) converges to the actual least cost dx(y) for all x, y
3-40
![Page 41: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/41.jpg)
Source Routing
Similar to end-to-end signaling But the data packet carries the hops in the
path End-host control
Tell the end host the topology Let the end host select the end-to-end path
Variations of source routing Strict: specify every hop Loose: specify intermediate points
41
Used in IP source routing (but almost always disabled)
3-41
![Page 42: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/42.jpg)
Hierarchical Routing
scale: with 200 million destinations:
can’t store all dest’s in routing tables!
routing table exchange would cause too much traffic
administrative autonomy
internet = network of networks
each network admin may want to control routing in its own network
Our routing study thus far - idealization all routers identical network “flat”… not true in practice
3-42
![Page 43: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/43.jpg)
Hierarchical Routing
aggregate routers into regions, “autonomous systems” (AS)
routers in same AS run same routing protocol “intra-AS” routing protocol routers in different ASes can run different intra-AS
routing protocol
3-43
![Page 44: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/44.jpg)
3-44
Lecture03: Network layer and Routing Routing in layer-two networks
IP addressing
Routing algorithms
Intra-domain and inter-domain routing
Unicast and multicast routing
![Page 45: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/45.jpg)
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Interconnected ASs
forwarding table configured by both intra- and inter-AS routing protocols intra-AS protocol sets
entries for internal dests
inter-AS & intra-As protocols set entries for external dests
3-45
![Page 46: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/46.jpg)
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) – distance vector
EIGRP (Cisco) – distance vector with “loop-freedom”
3-46
![Page 47: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/47.jpg)
RIP ( Routing Information Protocol)
distance vector algorithm included in BSD-UNIX Distribution in 1982 distance metric: # of hops (max = 15 hops)
DC
BA
u v
w
x
yz
destination hops u 1 v 2 w 2 x 3 y 3 z 2
From router A to subnets:
3-47
![Page 48: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/48.jpg)
OSPF “advanced” features (not in RIP)
security: all OSPF messages authenticated (to prevent malicious intrusion)
multiple same-cost paths allowed (only one path in RIP)
integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology
data base as OSPF hierarchical OSPF in large domains.
3-48
![Page 49: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/49.jpg)
OSPF (Open Shortest Path First)
uses Link State algorithm LS packet dissemination topology map at each node route computation using Dijkstra’s algorithm
OSPF advertisement carries one entry per neighbor router
advertisements disseminated to entire AS (via flooding) carried in OSPF messages directly over IP (rather than
TCP or UDP)
3-49
![Page 50: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/50.jpg)
Internet inter-AS routing: BGP
BGP (Border Gateway Protocol): the de facto standard
allows subnet to advertise its existence to rest of Internet: “I am here”
BGP provides each AS a means to:1. obtain subnet reachability information from
neighboring ASes.2. propagate reachability information to all
AS-internal routers.3. determine “good” routes to subnets based
on reachability information and policy.
3-50
![Page 51: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/51.jpg)
BGP basics
When AS2 advertises a prefix 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
1d
3a
1c2aAS3
AS1
AS21a
2c
2b
1b
3c
eBGP session
iBGP session
3-51
![Page 52: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/52.jpg)
Distributing reachability info using eBGP session between 3a and 1c, AS3 sends prefix
reachability info to AS1. 1c can then use iBGP to distribute new prefix info to all
routers in AS1 1b can then re-advertise new reachability info to AS2
over 1b-to-2a eBGP session when router learns of new prefix, it creates entry for
prefix in its forwarding table.
3b
1d
3a
1c2aAS3
AS1
AS21a
2c
2b
1b
3ceBGP session
iBGP session
3-52
![Page 53: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/53.jpg)
Path attributes & BGP routes
advertised prefix includes BGP attributes. prefix + attributes = “route”
two important attributes: AS-PATH: contains ASes through which prefix
advertisement has passed: e.g, AS 67, AS 17 NEXT-HOP: the router interface (IP address)
that begins the AS path - there may be multiple links from current AS to next-hop-AS
when gateway router receives route advertisement, uses import policy to accept/decline.
3-53
![Page 54: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/54.jpg)
BGP route selection
router may learn about more than 1 route to some prefix. Router must select route.
elimination rules:1. local preference value attribute: policy
decision2. shortest AS-PATH 3. closest NEXT-HOP router: hot potato
routing4. additional criteria …
3-54
![Page 55: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/55.jpg)
BGP routing policy
A,B,C are provider networks X,W,Y are customers (of provider networks) X is dual-homed: attached to two networks
X does not want to route from B via X to C .. so X will not advertise to B a route to C
A
B
C
W X
Y
legend:
customer network:
provider network
3-55
![Page 56: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/56.jpg)
BGP routing policy (2)
A advertises path AW to B B advertises path BAW to X Should B advertise path BAW to C ?
No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers
B wants to force C to route to W via A B wants to route only to/from its customers!
A
B
C
W X
Y
legend:
customer network:
provider network
3-56
![Page 57: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/57.jpg)
Why different Intra- and Inter-AS routing ?
Policy: Inter-AS: admin wants control over how its traffic is
routed, who routes through its net. Intra-AS: single admin, so no policy decisions
needed
Scale: hierarchical routing saves table size, reduces
update trafficPerformance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance
3-57
![Page 58: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/58.jpg)
Trade off among routing protocols Spanning tree routing
Minimizing # of routing links, not shortest path OSPF (Link-state)
Shortest path, require global knowledge RIP (Distance Vector)
Shortest path, distributed, msgs/time to converge BGP (Path Vector)
Enforce policy, prefix announcement, not shortest-path
Source routing No routing table on routers, increases packet overhead,
exposes network to hosts
3-58
![Page 59: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/59.jpg)
3-59
Lecture03: Network layer and Routing Routing in layer-two networks
IP addressing
Routing algorithms
Intra-domain and inter-domain routing
Unicast and multicast routing
![Page 60: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/60.jpg)
Network LayerSSL (8/09)
4-60
Multicast multiple unicasts
source duplication as well as in-network duplication network-supported multicast
address indirection – multicast group address group management protocol – identify subset of
routers with multicast recipients
![Page 61: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/61.jpg)
Multicast Routing: Problem Statement Goal: find a tree (or trees) connecting
routers having local mcast group members tree: not all paths between routers used source-based: different tree from each sender to rcvrs shared-tree: same tree used by all group members
Shared tree Source-based trees
![Page 62: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/62.jpg)
Approaches for building mcast treesApproaches: source-based tree: one tree per source
shortest path trees reverse 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
![Page 63: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/63.jpg)
Shortest Path Tree
mcast forwarding tree: tree of shortest path routes from source to all receivers Dijkstra’s algorithm
R1
R2
R3
R4
R5
R6 R7
21
6
3 4
5
i
router with attachedgroup member
router with no attachedgroup member
link used for forwarding,i indicates order linkadded by algorithm
LEGENDS: source
![Page 64: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/64.jpg)
Reverse Path Forwarding
if (mcast datagram received on incoming link on shortest path back to center)
then flood datagram onto all outgoing links else ignore datagram
rely on router’s knowledge of unicast shortest path from it to sender
each router has simple forwarding behavior:
![Page 65: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/65.jpg)
Reverse Path Forwarding: example
• result is a source-specific reverse SPT– may be a bad choice with asymmetric links
R1
R2
R3
R4
R5
R6 R7
router with attachedgroup member
router with no attachedgroup member
datagram will be forwarded
LEGENDS: source
datagram will not be forwarded
![Page 66: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/66.jpg)
Reverse 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
R1
R2
R3
R4
R5
R6 R7
router with attachedgroup member
router with no attachedgroup member
prune message
LEGENDS: source
links with multicastforwarding
P
P
P
![Page 67: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/67.jpg)
Center-based trees
single delivery 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 arrives at center
path taken by join-msg becomes new branch of tree for this router
![Page 68: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/68.jpg)
Shared-Tree: Steiner Tree
Steiner Tree: minimum cost tree connecting all routers with attached group members
problem is NP-complete excellent heuristics exists not used in practice:
computational complexity information about entire network needed monolithic: rerun whenever a router needs
to join/leave
![Page 69: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/69.jpg)
Center-based trees: an example
Suppose R6 chosen as center:
R1
R2
R3
R4
R5
R6 R7
router with attachedgroup member
router with no attachedgroup member
path order in which join messages generated
LEGEND
21
3
1
![Page 70: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/70.jpg)
Trade off in multicast
Reduces # of messages in network
Need some logic on routers! Saying this group message should be
forwarded to which (one or more) outgoing ports
Network LayerSSL (8/09)
4-70
![Page 71: Lecture03: Network layer and Routing](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681351d550346895d9c7adc/html5/thumbnails/71.jpg)
Network LayerSSL (8/09)
4-71
End of Lecture03