2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet...

44
Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Transcript of 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet...

Page 1: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Routing on the Internet

2013, Part 2, Lecture 1.2Jens Andersson (Kaan Bür)

ETSF10 – Internet Protocols

Page 2: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Routing on the Internet

• Unicast routing protocols (part 2)[ed.5 ch.20.3]

• Multicast routing, IGMP[ed.5 ch.21.1-5]

• NAT & Firewalls[ed.5 ch.18.4.5 & 32.4]

2013-10-29 2ETSF05/ETSF10 - Internet Protocols

Page 3: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Internet Hierarchy

2013-10-29 ETSF05/ETSF10 - Internet Protocols 3

Page 4: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Hierarchical Routing

• aggregate routers into “autonomous systems”

• routers in same AS run same routing protocol– “intra-AS”

• routers in different AS can run different intra-AS routing protocol

• special routers in AS– run intra-AS routing

protocol with all other routers in AS

• also responsible for routing to destinations outside AS– run inter-AS routing

protocol with other gateway routers

Border Gateway Routers

2013-10-29 4ETSF05/ETSF10 - Internet Protocols

Page 5: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Autonomous Systems

• Inter-AS border (exterior gateway) routers– R1– R2– R3– R4

2013-10-29 ETSF05/ETSF10 - Internet Protocols 5

Page 6: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Why different Intra- & 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: saves table size, reduced update traffic

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

2013-10-29 6ETSF05/ETSF10 - Internet Protocols

Page 7: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Internet Inter-AS routing: BGP

• Border Gateway Protocol: de facto standard• Path Vector protocol:

– Similar to Distance Vector– Border gateways broadcast to peers (not

necessarily neighbours) entire path (sequence of AS) to destination

– BGP routes to networks (AS), not individual hosts

2013-10-29 7ETSF05/ETSF10 - Internet Protocols

Page 8: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Path Vector Messages

• Same principle as distance vector routing

2013-10-29 8ETSF05/ETSF10 - Internet Protocols

Page 9: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Network Next Router Path

N01 R01 AS62, AS23, AS67

N02 R05 AS67, AS22, AS05, AS89

N03 R06 AS67, AS89, AS09, AS34

N03 R12 AS62, AS02, AS34

Path Vector Routing TableAS = Autonomous System = Organisation

Network id “next hop”“Metric”

Most valid of many ATTRIBUTES

2013-10-29 9ETSF05/ETSF10 - Internet Protocols

Page 10: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

BGP Router Operations

• Receiving and filtering route advertisements from directly attached neighbour(s)

• Route selection– To route to destination X, which path (of several

advertised) will be taken?

• Sending route advertisements to neighbours

2013-10-29 10ETSF05/ETSF10 - Internet Protocols

Page 11: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

BGP Router Operations

11

Establish session onTCP port 179

Exchange allactive routes

Exchange incrementalupdates

AS1

AS2

While connection is ALIVE exchangeroute UPDATE messages

BGP session

2013-10-29 ETSF05/ETSF10 - Internet Protocols

Page 12: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

eBGP Operation

2013-10-29 ETSF05/ETSF10 - Internet Protocols 12

Page 13: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

eBGP combined with iBGP

2013-10-29 ETSF05/ETSF10 - Internet Protocols 13

Page 14: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Forwarding Table

OSPFDomain

RIPDomain

BGP

OS kernel

OSPF Process

OSPF Routing tables

RIP Process

RIP Routing tables

BGP Process

BGP Routing tables

Forwarding Table Manager

Static routing table

Routing Tables and Forwarding Table

2013-10-29 15ETSF05/ETSF10 - Internet Protocols

Page 15: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Multicast: One-to-many Routing

Unicast• Routers forward multiple

unicast datagrams

Multicast• Routers (red) duplicate and

forward multicast datagrams

2013-10-29 21ETSF05/ETSF10 - Internet Protocols

Page 16: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Source and Group Addresses

2013-10-29 22ETSF05/ETSF10 - Internet Protocols

Page 17: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Joining a Multicast Group

• Local: host informs local multicast router– IGMP (Internet Group Management Protocol)

• Wide area: local router interacts with other routers to build forwarding tree and receive multicast data flow– MOSPF, DVMRP, PIM-DM– CBT, PIM-SM

2013-10-29 23

IGMPIGMP

IGMP

wide-areamulticast

routing

ETSF05/ETSF10 - Internet Protocols

Page 18: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Multicast Routing Protocols

• Shortest path trees, again!

• In unicast routing– One path (on tree) used at a time

• In multicast routing– Whole tree used each time– Each source needs a tree

2013-10-29 24ETSF05/ETSF10 - Internet Protocols

Page 19: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Source-Based Tree

• One tree per source (at each router)• One source per group• High complexity, high efficiency

2013-10-29 25

R1

S1

R2

S2

R4

R3

ETSF05/ETSF10 - Internet Protocols

Page 20: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Group-Shared Tree

• One tree per group (at one router)• Shared by multiple sources in group• Lower complexity, lower efficiency

2013-10-29 26

R1

S1

R2

S2

R4

R3

Rendezvous PointETSF05/ETSF10 - Internet Protocols

Page 21: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Reverse Path Forwarding

2013-10-29 ETSF05/ETSF10 - Internet Protocols 27

Source address routing!

Page 22: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Classification of Algorithms

2013-10-29 ETSF05/ETSF10 - Internet Protocols 28

Page 23: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

PIM

• Independent from unicast protocol• Uses available routing info for path lookups• Two modes:

– Sparse Mode– Dense Mode

2013-10-29 29ETSF05/ETSF10 - Internet Protocols

Page 24: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

PIM-SM

• Relatively few members assumed• Trees are built on demand (when needed)

– Group-shared trees with rendezvous points

• Methods for tree construction– Grafting– Pruning

• Can switch from group-shared to source-based if more efficient

2013-10-29 30ETSF05/ETSF10 - Internet Protocols

Page 25: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

PIM-DM

• All hosts assumed to be members• Build source-based tree from source• Routers without members prune tree• Grafting used to add new members

2013-10-29 31ETSF05/ETSF10 - Internet Protocols

Page 26: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Example Topology

2013-10-29 32

g g

s

g

ETSF05/ETSF10 - Internet Protocols

Page 27: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Truncated Broadcast

2013-10-29 33

g g

s

g

ETSF05/ETSF10 - Internet Protocols

Page 28: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Pruning

2013-10-29 34

g g

s

prune (s,g)

prune (s,g)

g

ETSF05/ETSF10 - Internet Protocols

Page 29: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Steady State after Pruning

2013-10-29 35

g g

s

g

g

ETSF05/ETSF10 - Internet Protocols

Page 30: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

graft (s,g)

graft (s,g)

Grafting on New Receivers

2013-10-29 36

g g

s

g

greport (g)

ETSF05/ETSF10 - Internet Protocols

Page 31: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Steady State after Grafting

2013-10-29 37

g g

s

g

g

ETSF05/ETSF10 - Internet Protocols

Page 32: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Logical Tunnelling

• Very few Internet routers can multicast– How to connect them?

2013-10-29 38ETSF05/ETSF10 - Internet Protocols

Page 33: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Multicast Backbone (MBONE)

• Encapsulation

2013-10-29 39ETSF05/ETSF10 - Internet Protocols

Page 34: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Internet Group Management Protocol

• IGMP, runs on top of IP• Not a multicast protocol

– Complementary– Runs in the leaves of the network

• Manages group membership– Provides multicast router with info

2013-10-29 40ETSF05/ETSF10 - Internet Protocols

Page 35: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

IGMP Message Format

2013-10-29 41ETSF05/ETSF10 - Internet Protocols

Page 36: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

IGMP Operation

• Only one router distributes packets in a group– Other routers may be serving their networks

2013-10-29 42ETSF05/ETSF10 - Internet Protocols

Page 37: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Joining a Group

• Request to router– Forwarded if first for a group

2013-10-29 43

0x16

ETSF05/ETSF10 - Internet Protocols

Page 38: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

No Response

Leaving a Group

2013-10-29 44ETSF05/ETSF10 - Internet Protocols

Page 39: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

No Response

IGMP General Query

2013-10-29 45ETSF05/ETSF10 - Internet Protocols

Page 40: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

NAT - Network Address Translation

• Sharing of routable addresses (scarseresource)

• Adds some security …

2013-10-29 ETSF05/ETSF10 - Internet Protocols 46

Page 41: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

NAT (network address only)

• Change source address on outgoing packets• Add address pair to active translations table• Only one internal address per destination

2013-10-29 ETSF05/ETSF10 - Internet Protocols 47

Pool of global addresses

Page 42: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

NAT extended

• Add transport layer port

• Normally initiated from inside• Port forwarding: Setup static entry in table

2013-10-29 ETSF05/ETSF10 - Internet Protocols 48

Alternative: Externalsource address200.24.5.8 goes here

Alternative: External source port goes here

Page 43: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Firewalls: Filtering• Accept or reject

2013-10-29 ETSF05/ETSF10 - Internet Protocols 49

Page 44: 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) · 2013-10-22 · Routing on the Internet 2013, Part 2, Lecture 1.2 Jens Andersson (Kaan Bür) ETSF10 – Internet Protocols

Proxy Firewall

• Filter on message content• Application gateway acts as proxy for http

server

2013-10-29 ETSF05/ETSF10 - Internet Protocols 50