School of Computing Science Simon Fraser University

57
1 School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture & CMPT 771/471: Internet Architecture & Protocols Protocols Network Layer Network Layer Instructor: Dr. Mohamed Hefeeda Instructor: Dr. Mohamed Hefeeda

description

School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture & Protocols Network Layer Instructor: Dr. Mohamed Hefeeda. Review of Basic Networking Concepts. Internet structure Protocol layering and encapsulation Internet services and socket programming - PowerPoint PPT Presentation

Transcript of School of Computing Science Simon Fraser University

Page 1: School of Computing Science Simon Fraser University

1

School of Computing Science

Simon Fraser University

CMPT 771/471: Internet Architecture & CMPT 771/471: Internet Architecture & Protocols Protocols

Network LayerNetwork Layer

Instructor: Dr. Mohamed HefeedaInstructor: Dr. Mohamed Hefeeda

Page 2: School of Computing Science Simon Fraser University

2

Review of Basic Networking Concepts

Internet structure Protocol layering and encapsulation Internet services and socket programming Network Layer

Network types: Circuit switching, Packet switching Addressing, Forwarding, Routing

Transport layer Reliability and congestion control TCP, UDP

Link Layer Multiple Access Protocols Ethernet

Page 3: School of Computing Science Simon Fraser University

3

The Network Core

Mesh of interconnected routers

The fundamental question: how is data transferred through net?

circuit switching: dedicated circuit per call: telephone net

packet-switching: data sent thru net in discrete “chunks”

Page 4: School of Computing Science Simon Fraser University

4

Network Core: Circuit Switching

Network resources (e.g., bandwidth) divided into “pieces” using

Frequency division multiplexing (FDM) Time division multiplexing (TDM)

Pieces allocated to “calls” (connections) guaranteed performance

Resource piece idle if not used by owning call no sharing

Connection setup is required Examples

(Traditional) Telephone network

Page 5: School of Computing Science Simon Fraser University

5

Circuit Switching: Dedicated Circuits

Page 6: School of Computing Science Simon Fraser University

6

Network Core: Packet Switching

each end-end data stream divided into packets

packets from different users share network resources

each packet uses full link bandwidth

resources used as needed store and forward: packets

move one hop at a time Node receives complete

packet before forwarding

resource contention: aggregate resource

demand can exceed amount available

congestion: packets queue, wait for link use

Bandwidth division into “pieces”

Dedicated allocation

Resource reservation

Page 7: School of Computing Science Simon Fraser University

7

Packet Switching: Statistical Multiplexing

Sequence of A & B packets does not have fixed pattern, shared on demand statistical multiplexing

In contrast, in TDM each host gets same slot in revolving TDM frame

A

B

C10 Mb/sEthernet

1.5 Mb/s

D E

statistical multiplexing

queue of packetswaiting for output

link

Page 8: School of Computing Science Simon Fraser University

8

Packet Switching: Efficiency

1 Mb/s link each user:

100 kb/s when “active” active 10% of time

circuit-switching: 10 users

packet switching: with 35 users,

probability > 10 active less than 0 .0004

Packet switching allows more users to use network!

N users

1 Mbps link

Q: how did we get value 0.0004?

Page 9: School of Computing Science Simon Fraser University

9

Packet Switching

Advantages no call setup simpler resource sharing (statistical multiplexing)

• better resource utilization • more users or faster transfer (a single user can use

entire bw)• Well suited for bursty traffic (typical in data

networks)

Disadvantages Congestion may occur

• packet delay and loss• need protocols to control congestion and ensure

reliable data transfer

Page 10: School of Computing Science Simon Fraser University

10

Packet Switching: Two Classes

Datagram network Example: The Internet

Virtual-circuit network Examples: ATM (Asynchronous Transfer Mode), frame

relay, X.25

Page 11: School of Computing Science Simon Fraser University

11

Packet-switched Datagram Networks

no call setup at network layer routers: no state about end-to-end connections

no network-level concept of “connection” packets forwarded using destination host address

packets between same source-dest pair may take different paths

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

1. Send data 2. Receive data

Page 12: School of Computing Science Simon Fraser University

12

Packet-switched VC Networks

Source-to-dest path behaves much like telephone circuit performance-wise

connection setup, teardown for each call before data can flow

each packet carries VC identifier (not destination address) every router on source-dest path maintains state for each

passing connection link, router resources (bandwidth, buffers) may be

allocated to VC Examples:

ATM (Asynchronous Transfer Mode), frame relay, X.25

Page 13: School of Computing Science Simon Fraser University

13

VC Networks: Connection Setup

Signaling protocols are used to setup, maintain, and teardown VCs

Note: sometimes used in the backbone network (ISPs) to create semi-permanent circuits/connections

Also with Traffic Engineering (managing links and traffic on them within an ISP)s

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

1. Initiate call 2. incoming call

3. Accept call4. Call connected5. Data flow begins 6. Receive data

Page 14: School of Computing Science Simon Fraser University

14

Network Taxonomy

Telecommunicationnetworks

Circuit-switchednetworks

FDM TDM

Packet-switchednetworks

Networkswith VCs

DatagramNetworks

Page 15: School of Computing Science Simon Fraser University

15

Review of Basic Networking Concepts

Internet structure Protocol layering and encapsulation Internet services and socket programming Network Layer

Network types: Circuit switching, Packet switching Addressing, Forwarding, Routing

Transport layer Reliability and congestion control TCP, UDP

Link Layer Multiple Access Protocols Ethernet

Page 16: School of Computing Science Simon Fraser University

16

Network Layer

Network layer protocols in every host and router

Network layer’s goal transport data from

sending host to receiving host

We focus on datagram networks (Internet)

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Page 17: School of Computing Science Simon Fraser University

17

Network Layer in the Internet

forwardingtable

Host, router network layer functions:

Routing protocols•path selection•RIP, OSPF, BGP

IP protocol•addressing conventions•datagram format•packet handling conventions

ICMP protocol•error reporting•router “signaling”

Transport layer: TCP, UDP

Link layer

physical layer

Networklayer

Page 18: School of Computing Science Simon Fraser University

18

1

23

0111

value in arrivingpacket’s header

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

Routing vs. Forwarding

Routing

determine route taken by packets from source to destination

Routing algorithms, e.g., RIP, OSPF, BGP

Forwarding move packets from

router’s input to appropriate output

use forwarding table populated by routing algorithm

E.g., IP forwarding function

Page 19: School of Computing Science Simon Fraser University

19

IP Datagram Format

ver length

32 bits

data (variable length,typically a TCP

or UDP segment)

16-bit identifier

Internet checksum

time tolive

32 bit source IP address

IP protocol versionnumber

header length (bytes)

max numberremaining hops

(decremented at each router)

forfragmentation/reassembly

total datagramlength (bytes)

upper layer protocolto deliver payload to

head.len

type ofservice

Provides some QoS flgsfragment

offsetupper layer

32 bit destination IP address

Options (if any) E.g. timestamp,record routetaken, specifylist of routers to visit.

IP ver 4.0

Page 20: School of Computing Science Simon Fraser University

20

IP Addressing: Introduction

IP address: 32-bit identifier for each host, router network

interface Represented in Dotted-decimal notation

11011111 00000001 00000001 00000001

223 1 11

223.1.1.1

Page 21: School of Computing Science Simon Fraser University

21

IP Addressing

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 interface: connection between host/router and physical link routers typically have multiple interfaces host typically has one interface Unique IP address associated with each interface

How do we assign IPs?

Divide network into subnets,each has a common ID

Page 22: School of Computing Science Simon Fraser University

22

Subnets223.1.1.0/24

223.1.2.0/24

223.1.3.0/24

Subnet is: a group of devices that can

reach each other without intervening router

identified by high order bits of IP addresses

11011111 00000001 00000001 00000001

223.1.1.0/24

Subnet ID Host ID

/24: # bits in subnet portion of address, subnet mask

Page 23: School of Computing Science Simon Fraser University

23

Subnets

How many subnets?

6 subnets

Recipe: detach each interface

from its host or router, creating isolated networks

Each isolated network is a subnet

223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

Page 24: School of Computing Science Simon Fraser University

24

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

Old Classful Addressing: Subnet length had to be /8 (class A), /16 (class B), /24 (class C)

Why CIDR? Finer control over address allocation reduce waste of

addresses Ex: company with 2000 machines would have to get class B,

wasting 63,000+ addresses

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/23

Page 25: School of Computing Science Simon Fraser University

25

IP Addresses: How to Get One?

Q: How does host get IP address?

hard-coded by system admin in a file WIN: 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 26: School of Computing Science Simon Fraser University

26

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

ISPs get their address space from ICANN

ICANN: Internet Corporation for Assigned Names and Numbers allocates addresses, manages DNS and assigns domain names

Page 27: School of Computing Science Simon Fraser University

27

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 28: School of Computing Science Simon Fraser University

28

Review of Basic Networking Concepts

Internet structure Protocol layering and encapsulation Internet services and socket programming Network Layer

Network types: Circuit switching, Packet switching Addressing, Forwarding, Routing

Transport layer Reliability and congestion control TCP, UDP

Link Layer Multiple Access Protocols Ethernet

Page 29: School of Computing Science Simon Fraser University

29

Graph Abstraction

u

yx

wv

z

2

2

13

1

1

2

53

5

Routing algorithm: find the least-cost path

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)}

cost of link (x1, x2): Metric value, e.g., c(w,z) = 5 could be 1 (typical), or inversely related to bandwidth,

or inversely related to congestion

Page 30: School of Computing Science Simon Fraser University

30

Classification of Routing Algorithms

Global or local information?

Global: all routers have complete topology, link cost info “link state” algorithms

Local: each router knows physically-connected neighbors, link

costs to neighbors “distance vector” algorithms

Page 31: School of Computing Science Simon Fraser University

31

A Link-State Routing Algorithm

Dijkstra’s algorithm

net topology, link costs known to all nodes accomplished via “link state broadcast” all nodes have same info

computes least cost paths from one node (source) to all other nodes

gives forwarding table for that node

Page 32: School of Computing Science Simon Fraser University

32

A Link-State Routing Algorithm

Notation: c(x,y): link cost from node x to y;

c(x,y) = ∞ if not direct neighbors

D(v): current value of cost of path from source to dest. v

p(v): predecessor node along path from source to v

N': set of nodes whose least cost path definitively known

Page 33: School of Computing Science Simon Fraser University

33

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'

Page 34: School of Computing Science Simon Fraser University

34

Dijkstra’s algorithm: example

Step012345

N'u

uxuxy

uxyvuxyvw

uxyvwz

D(v),p(v)2,u2,u2,u

D(w),p(w)5,u4,x3,y3,y

D(x),p(x)1,u

D(y),p(y)∞

2,x

D(z),p(z)∞ ∞

4,y4,y4,y

u

yx

wv

z2

2

13

1

1

2

53

5

Page 35: School of Computing Science Simon Fraser University

35

Dijkstra’s algorithm: example (2)

u

yx

wv

z

Resulting shortest-path tree from u:

vx

y

w

z

(u,v)(u,x)

(u,x)

(u,x)

(u,x)

destination link

Resulting forwarding table in u:

Page 36: School of Computing Science Simon Fraser University

36

Distance Vector Algorithm

Bellman-Ford Equation (dynamic programming)

Define

dx(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

Page 37: School of Computing Science Simon Fraser University

37

Bellman-Ford example

u

yx

wv

z2

2

13

1

1

2

53

5

u has 3 neighbors: v, x, w and

dv(z) = 5, dx(z) = 3, dw(z) = 3

B-F equation says: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

Determine du(z)

Page 38: School of Computing Science Simon Fraser University

38

Distance Vector Algorithm: Idea

Basic idea: Each node periodically sends its own distance vector

estimate to neighbors When a node x receives new DV estimate from

neighbor, it updates its own DV using B-F equation:

Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N

Under minor, natural conditions, the estimate Dx(y) converges to the actual least cost dx(y)

Page 39: School of Computing Science Simon Fraser University

39

Distance Vector Algorithm: Notes

Dx(y) = estimate of least cost from x to y Distance vector: Dx = [Dx(y): y є N ]

Node x knows cost to each neighbor v: c(x,v)

Node x maintains Dx = [Dx(y): y є N ]

Node x also maintains its neighbors’ distance vectors, that is:

x maintains Dv = [Dv(y): y є N ] for every neighbor v

Page 40: School of Computing Science Simon Fraser University

40

Distance Vector Algorithm

Iterative Continues until no more info is

exchanged Each iteration caused by:

• local link cost change • DV update message from neighbor

Asynchronous Nodes do not operate in lockstep

Distributed Each node receives info only from

its directly attached neighbors NO Global info

wait for (change in local link cost or msg from neighbor)

recompute estimates

if DV to any dest has changed, notify neighbors

Each node:

Page 41: School of Computing Science Simon Fraser University

41

x y z

xyz

0 2 7

∞ ∞ ∞∞ ∞ ∞

from

cost to

from

from

x y z

xyz

0 2 3

from

cost tox y z

xyz

0 2 3

from

cost to

x y z

xyz

∞ ∞

∞ ∞ ∞

cost tox y z

xyz

0 2 7

from

cost to

x y z

xyz

0 2 3

from

cost to

x y z

xyz

0 2 3

from

cost tox y z

xyz

0 2 7

from

cost to

x y z

xyz

∞ ∞ ∞7 1 0

cost to

∞2 0 1

∞ ∞ ∞

2 0 17 1 0

2 0 17 1 0

2 0 13 1 0

2 0 13 1 0

2 0 1

3 1 0

2 0 1

3 1 0

time

x z12

7

y

node x table

node y table

node z table

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3

Example

Page 42: School of Computing Science Simon Fraser University

42

Comparison of LS and DV algorithms

Message complexity LS: with n nodes, E links,

O(nE) msgs sent DV: exchange between

neighbors only But send entire table

Speed of Convergence LS: O(n2) algorithm requires

O(nE) msgs may have oscillations

DV: convergence time varies may be routing loops count-to-infinity problem

Robustness: what happens if router malfunctions?

LS: node can advertise incorrect link cost

each node computes only its own table some degree of robustness

DV: node can advertise incorrect path cost

each node’s table used by others error propagates thru network

In The Internet:

LS: OSPF (recent, more features)

DV: RIP (old, small nets)

Page 43: School of Computing Science Simon Fraser University

43

Hierarchical Routing

scale: with 200 million destinations:

can’t store all dest’s in routing tables!

routing table exchange would swamp links!

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

Page 44: School of Computing Science Simon Fraser University

44

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

protocols

Gateway router Direct link to router in another AS, must use same inter-AS

routing protocol

Page 45: School of Computing Science Simon Fraser University

45

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

Intra-ASRouting protocol

Inter-ASRouting protocol

Forwardingtable

3c

Interconnected ASes

Forwarding table is configured by both intra- and inter-AS routing protocols

Intra-AS sets entries for internal destinations

Inter-AS & Intra-As sets entries for external destinations

Page 46: School of Computing Science Simon Fraser University

46

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

3c

Inter-AS tasks

Suppose router in AS1 receives datagram for which dest is outside of AS1

Router should forward packet towards one of the gateway routers, but which one?

AS1 needs:

1. to learn which dests are reachable through AS2 and which through AS3

2. to propagate this reachability info to all routers in AS1

Job of inter-AS routing!

Page 47: School of Computing Science Simon Fraser University

47

Learn from inter-AS protocol that subnet x is reachable via multiple gateways

Use routing infofrom intra-AS

protocol to determine

costs of least-cost paths to each

of the gateways

Hot potato routing:Choose the

gatewaythat has the

smallest least cost

Determine fromforwarding table the interface I that leads

to least-cost gateway.

Example: Choosing among multiple ASes

Now suppose AS1 learns from the inter-AS protocol that subnet x is reachable from AS3 and from AS2

To configure forwarding table, router 1d must determine towards which gateway it should forward packets for dest x

Hot potato routing: send packet towards closest of two routers

Page 48: School of Computing Science Simon Fraser University

48

Internet inter-AS routing: BGP

BGP (Border Gateway Protocol): the de facto standard

BGP provides each AS a means to:1. Obtain subnet reachability information from

neighboring Ases (reachability = AS path)2. Propagate the reachability information to all routers

internal to the AS3. Determine “good” routes to subnets based on

reachability information and policy

BGP allows a subnet to advertise its existence to rest of the Internet: “I am here”

Page 49: School of Computing Science Simon Fraser University

49

BGP basics

Pairs of routers (BGP peers) exchange routing info over semi-permanent TCP connections: BGP sessions

Note: BGP sessions do not correspond to physical links 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

Page 50: School of Computing Science Simon Fraser University

50

Distributing reachability info

With eBGP session between 3a and 1c, AS3 sends prefix reachability info to AS1

1c can then use iBGP to distribute this new prefix reachability info to all routers in AS1

1b can then re-advertise the new reachability info to AS2 over the 1b-to-2a eBGP session

When router learns about a new prefix, it creates an entry for the prefix in its forwarding table.

3b

1d

3a

1c2aAS3

AS1

AS21a

2c

2b

1b

3c

eBGP session

iBGP session

Page 51: School of Computing Science Simon Fraser University

51

Path attributes & BGP routes

When advertising a prefix, advert. includes BGP attributes

prefix + attributes = “route”

Two important attributes: AS-PATH: contains ASes on the path to the prefix NEXT-HOP: Indicates the specific internal-AS router

to next-hop-AS. (There may be multiple links from current AS to next-hop-AS.)

When gateway router receives route advert., it uses import policy to accept/decline

Page 52: School of Computing Science Simon Fraser University

52

BGP messages

BGP messages exchanged using TCP

BGP messages: OPEN: opens TCP connection to peer and authenticates

sender UPDATE: advertises new path (or withdraws old) KEEPALIVE keeps connection alive in absence of

UPDATES; also ACKs OPEN request NOTIFICATION: reports errors in previous msg; also

used to close connection

Page 53: School of Computing Science Simon Fraser University

53

BGP Route Selection

Router may learn about more than 1 route to some prefix. Router must select a route

Elimination rules:1. Local preference value: policy decision

(Routes are assigned values by AS administrator based on import policy)

2. Shortest AS-PATH 3. Closest NEXT-HOP router: hot potato routing4. Additional criteria

Page 54: School of Computing Science Simon Fraser University

54

BGP Routing: Route Advertising

Figure 4.5-BGPnew: a simple BGP scenario

A

B

C

W X

Y

legend:

customer network:

provider network

A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two provider networks

X does not want to route traffic from B to C … so X will not advertise to B its route to C

BGP export policy

Page 55: School of Computing Science Simon Fraser University

55

BGP Routing: Route Advertising (cont’d)

Figure 4.5-BGPnew: a simple BGP scenario

A

B

C

W X

Y

legend:

customer network:

provider network

A advertises to B the path AW B advertises to X (its client) the path BAW

Should B advertise to C the path BAW? No way! B gets no “revenue” for routing CBAW since neither

W nor C are B’s customers

Rule of thumb: a provider wants to route only to/from its customers! (unless there is a mutual peering deal)

Page 56: School of Computing Science Simon Fraser University

56

Why different Intra- and Inter-AS routing ?

Policy: Inter-AS: admin wants control over how its traffic routed,

who routes through its net. Intra-AS: single admin, so no policy decisions needed

Scale: hierarchical routing saves table size, reduces update traffic

Performance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance

Page 57: School of Computing Science Simon Fraser University

57

Unicast, multicast, broadcast

Unicast: one source, one destination E.g., web session

Multicast: one source, multiple destinations Subset of all possible destinations E.g., streaming a hockey game to interested fans

Broadcast: one source, all destinations E.g., broadcasting link state info to ALL routers in a

domain in OSPF protocol

Anycast: multiple possible sources, one destination Sources have same (anycast) address Request is forwarded to appropriate source (Still in research phases)